mirror of
https://github.com/phuoc-ng/csslayout.git
synced 2025-08-06 06:07:33 +02:00
Add close button
This commit is contained in:
@@ -8,6 +8,7 @@ enum Pattern {
|
|||||||
Card = 'Card',
|
Card = 'Card',
|
||||||
Centering = 'Centering',
|
Centering = 'Centering',
|
||||||
CircularNavigation = 'Circular navigation',
|
CircularNavigation = 'Circular navigation',
|
||||||
|
CloseButton = 'Close button',
|
||||||
CookieBanner = 'Cookie banner',
|
CookieBanner = 'Cookie banner',
|
||||||
CornerRibbon = 'Corner ribbon',
|
CornerRibbon = 'Corner ribbon',
|
||||||
CustomCheckboxButton = 'Custom checkbox button',
|
CustomCheckboxButton = 'Custom checkbox button',
|
||||||
|
@@ -108,6 +108,7 @@ const ExplorePage = () => {
|
|||||||
|
|
||||||
<div style={{ display: 'flex', flexWrap: 'wrap', justifyContent: 'center', padding: '32px' }}>
|
<div style={{ display: 'flex', flexWrap: 'wrap', justifyContent: 'center', padding: '32px' }}>
|
||||||
<CoverCard pattern={Pattern.ButtonWithIcon} />
|
<CoverCard pattern={Pattern.ButtonWithIcon} />
|
||||||
|
<CoverCard pattern={Pattern.CloseButton} />
|
||||||
<CoverCard pattern={Pattern.CustomCheckboxButton} />
|
<CoverCard pattern={Pattern.CustomCheckboxButton} />
|
||||||
<CoverCard pattern={Pattern.CustomRadioButton} />
|
<CoverCard pattern={Pattern.CustomRadioButton} />
|
||||||
<CoverCard pattern={Pattern.FloatingLabel} />
|
<CoverCard pattern={Pattern.FloatingLabel} />
|
||||||
|
@@ -170,7 +170,7 @@ const HomePage = () => {
|
|||||||
marginBottom: '16px',
|
marginBottom: '16px',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
62 patterns
|
63 patterns
|
||||||
</div>
|
</div>
|
||||||
<Link
|
<Link
|
||||||
to="/patterns"
|
to="/patterns"
|
||||||
|
56
client/patterns/close-button/Cover.tsx
Normal file
56
client/patterns/close-button/Cover.tsx
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
import Frame from '../../placeholders/Frame';
|
||||||
|
|
||||||
|
const Cover: React.FC<{}> = () => {
|
||||||
|
return (
|
||||||
|
<Frame>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
alignItems: 'center',
|
||||||
|
display: 'flex',
|
||||||
|
flexDirection: 'column',
|
||||||
|
height: '100%',
|
||||||
|
justifyContent: 'center',
|
||||||
|
padding: '8px',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
style={{
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
borderColor: 'transparent',
|
||||||
|
cursor: 'pointer',
|
||||||
|
height: '32px',
|
||||||
|
position: 'relative',
|
||||||
|
width: '32px',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
backgroundColor: 'rgba(0, 0, 0, 0.3)',
|
||||||
|
height: '1px',
|
||||||
|
left: 0,
|
||||||
|
position: 'absolute',
|
||||||
|
top: '50%',
|
||||||
|
transform: 'translate(0%, -50%) rotate(45deg)',
|
||||||
|
width: '100%',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
backgroundColor: 'rgba(0, 0, 0, 0.3)',
|
||||||
|
height: '100%',
|
||||||
|
left: '50%',
|
||||||
|
position: 'absolute',
|
||||||
|
top: 0,
|
||||||
|
transform: 'translate(-50%, 0%) rotate(45deg)',
|
||||||
|
width: '1px',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</Frame>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Cover;
|
114
client/patterns/close-button/Details.tsx
Normal file
114
client/patterns/close-button/Details.tsx
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
import RelatedPatterns from '../../components/RelatedPatterns';
|
||||||
|
import Pattern from '../../constants/Pattern';
|
||||||
|
import DetailsLayout from '../../layouts/DetailsLayout';
|
||||||
|
import BrowserFrame from '../../placeholders/BrowserFrame';
|
||||||
|
|
||||||
|
const Details: React.FC<{}> = () => {
|
||||||
|
return (
|
||||||
|
<DetailsLayout title="Close button">
|
||||||
|
<div style={{ padding: '64px 32px' }}>
|
||||||
|
<BrowserFrame
|
||||||
|
content={(
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
alignItems: 'center',
|
||||||
|
display: 'flex',
|
||||||
|
flexDirection: 'column',
|
||||||
|
height: '100%',
|
||||||
|
justifyContent: 'center',
|
||||||
|
padding: '8px',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<button
|
||||||
|
style={{
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
borderColor: 'transparent',
|
||||||
|
cursor: 'pointer',
|
||||||
|
height: '32px',
|
||||||
|
position: 'relative',
|
||||||
|
width: '32px',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
backgroundColor: 'rgba(0, 0, 0, 0.3)',
|
||||||
|
height: '1px',
|
||||||
|
left: 0,
|
||||||
|
position: 'absolute',
|
||||||
|
top: '50%',
|
||||||
|
transform: 'translate(0%, -50%) rotate(45deg)',
|
||||||
|
width: '100%',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
backgroundColor: 'rgba(0, 0, 0, 0.3)',
|
||||||
|
height: '100%',
|
||||||
|
left: '50%',
|
||||||
|
position: 'absolute',
|
||||||
|
top: 0,
|
||||||
|
transform: 'translate(-50%, 0%) rotate(45deg)',
|
||||||
|
width: '1px',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
source={`
|
||||||
|
<button style="
|
||||||
|
/* Reset */
|
||||||
|
background-color: transparent;
|
||||||
|
border-color: transparent;
|
||||||
|
|
||||||
|
/* Cursor */
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
/* Size */
|
||||||
|
height: 32px;
|
||||||
|
width: 32px;
|
||||||
|
|
||||||
|
/* Used to position the inner */
|
||||||
|
position: relative;
|
||||||
|
">
|
||||||
|
<div style="
|
||||||
|
/* Background color */
|
||||||
|
background-color: rgba(0, 0, 0, 0.3);
|
||||||
|
|
||||||
|
/* Position */
|
||||||
|
left: 0px;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(0%, -50%) rotate(45deg);
|
||||||
|
|
||||||
|
/* Size */
|
||||||
|
height: 1px;
|
||||||
|
width: 100%;
|
||||||
|
" />
|
||||||
|
|
||||||
|
<div style="
|
||||||
|
/* Background color */
|
||||||
|
background-color: rgba(0, 0, 0, 0.3);
|
||||||
|
|
||||||
|
/* Position */
|
||||||
|
left: 50%;
|
||||||
|
position: absolute;
|
||||||
|
top: 0px;
|
||||||
|
transform: translate(-50%, 0%) rotate(45deg);
|
||||||
|
|
||||||
|
/* Size */
|
||||||
|
height: 100%;
|
||||||
|
width: 1px;
|
||||||
|
" />
|
||||||
|
</button>
|
||||||
|
`}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<RelatedPatterns patterns={[Pattern.Modal, Pattern.Notification]} />
|
||||||
|
</DetailsLayout>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Details;
|
@@ -14,6 +14,7 @@
|
|||||||
<url><loc>https://csslayout.io/patterns/card</loc></url>
|
<url><loc>https://csslayout.io/patterns/card</loc></url>
|
||||||
<url><loc>https://csslayout.io/patterns/centering</loc></url>
|
<url><loc>https://csslayout.io/patterns/centering</loc></url>
|
||||||
<url><loc>https://csslayout.io/patterns/circular-navigation</loc></url>
|
<url><loc>https://csslayout.io/patterns/circular-navigation</loc></url>
|
||||||
|
<url><loc>https://csslayout.io/patterns/close-button</loc></url>
|
||||||
<url><loc>https://csslayout.io/patterns/cookie-banner</loc></url>
|
<url><loc>https://csslayout.io/patterns/cookie-banner</loc></url>
|
||||||
<url><loc>https://csslayout.io/patterns/corner-ribbon</loc></url>
|
<url><loc>https://csslayout.io/patterns/corner-ribbon</loc></url>
|
||||||
<url><loc>https://csslayout.io/patterns/custom-checkbox-button</loc></url>
|
<url><loc>https://csslayout.io/patterns/custom-checkbox-button</loc></url>
|
||||||
|
Reference in New Issue
Block a user