@shohojdhara/atomix 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -28
- package/dist/atomix.css +1500 -241
- package/dist/atomix.min.css +6 -6
- package/dist/index.d.ts +1052 -194
- package/dist/index.esm.js +12201 -6066
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +5481 -2827
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/themes/boomdevs.css +1500 -301
- package/dist/themes/boomdevs.min.css +60 -8
- package/dist/themes/esrar.css +1500 -241
- package/dist/themes/esrar.min.css +6 -6
- package/dist/themes/mashroom.css +1496 -237
- package/dist/themes/mashroom.min.css +8 -8
- package/dist/themes/shaj-default.css +1451 -192
- package/dist/themes/shaj-default.min.css +6 -6
- package/package.json +66 -15
- package/src/components/Accordion/Accordion.stories.tsx +137 -0
- package/src/components/Accordion/Accordion.tsx +33 -3
- package/src/components/AtomixGlass/AtomixGlass.stories.tsx +3011 -0
- package/src/components/AtomixGlass/AtomixGlass.test.tsx +199 -0
- package/src/components/AtomixGlass/AtomixGlass.tsx +1281 -0
- package/src/components/AtomixGlass/AtomixGlassComprehensivePreview.stories.tsx +1369 -0
- package/src/components/AtomixGlass/README.md +134 -0
- package/src/components/AtomixGlass/index.ts +10 -0
- package/src/components/AtomixGlass/shader-utils.ts +140 -0
- package/src/components/AtomixGlass/utils.ts +8 -0
- package/src/components/Badge/Badge.stories.tsx +169 -0
- package/src/components/Badge/Badge.tsx +27 -2
- package/src/components/Button/Button.stories.tsx +345 -0
- package/src/components/Button/Button.tsx +35 -3
- package/src/components/Button/README.md +216 -0
- package/src/components/Callout/Callout.stories.tsx +813 -78
- package/src/components/Callout/Callout.test.tsx +368 -0
- package/src/components/Callout/Callout.tsx +26 -7
- package/src/components/Callout/README.md +409 -0
- package/src/components/Card/Card.stories.tsx +140 -0
- package/src/components/Card/Card.tsx +19 -3
- package/src/components/DatePicker/DatePicker copy.tsx +551 -0
- package/src/components/DatePicker/DatePicker.stories.tsx +188 -0
- package/src/components/DatePicker/DatePicker.tsx +379 -332
- package/src/components/DatePicker/readme.md +110 -1
- package/src/components/DatePicker/types.ts +8 -0
- package/src/components/Dropdown/Dropdown.stories.tsx +145 -0
- package/src/components/Dropdown/Dropdown.tsx +34 -5
- package/src/components/Footer/Footer.stories.tsx +388 -0
- package/src/components/Footer/Footer.tsx +197 -0
- package/src/components/Footer/FooterLink.tsx +72 -0
- package/src/components/Footer/FooterSection.tsx +87 -0
- package/src/components/Footer/FooterSocialLink.tsx +117 -0
- package/src/components/Footer/README.md +261 -0
- package/src/components/Footer/index.ts +13 -0
- package/src/components/Form/Checkbox.stories.tsx +101 -0
- package/src/components/Form/Checkbox.tsx +26 -2
- package/src/components/Form/Input.stories.tsx +124 -0
- package/src/components/Form/Input.tsx +36 -7
- package/src/components/Form/Radio.stories.tsx +139 -0
- package/src/components/Form/Radio.tsx +26 -2
- package/src/components/Form/Select.stories.tsx +110 -0
- package/src/components/Form/Select.tsx +26 -2
- package/src/components/Form/Textarea.stories.tsx +104 -0
- package/src/components/Form/Textarea.tsx +36 -7
- package/src/components/Hero/Hero.stories.tsx +54 -1
- package/src/components/Hero/Hero.tsx +70 -11
- package/src/components/Modal/Modal.stories.tsx +235 -0
- package/src/components/Modal/Modal.tsx +64 -35
- package/src/components/Pagination/Pagination.stories.tsx +101 -0
- package/src/components/Pagination/Pagination.tsx +25 -1
- package/src/components/Popover/Popover.stories.tsx +94 -0
- package/src/components/Popover/Popover.tsx +30 -4
- package/src/components/Rating/Rating.stories.tsx +112 -0
- package/src/components/Rating/Rating.tsx +25 -1
- package/src/components/SectionIntro/SectionIntro.tsx +9 -11
- package/src/components/Slider/Slider.stories.tsx +634 -50
- package/src/components/Slider/Slider.tsx +5 -3
- package/src/components/Steps/Steps.stories.tsx +119 -0
- package/src/components/Steps/Steps.tsx +32 -1
- package/src/components/Tab/Tab.stories.tsx +88 -0
- package/src/components/Tab/Tab.tsx +32 -1
- package/src/components/Toggle/Toggle.stories.tsx +92 -0
- package/src/components/Toggle/Toggle.tsx +32 -1
- package/src/components/Tooltip/Tooltip.stories.tsx +131 -0
- package/src/components/Tooltip/Tooltip.tsx +43 -7
- package/src/components/VideoPlayer/VideoPlayer.stories.tsx +1002 -196
- package/src/components/VideoPlayer/VideoPlayer.tsx +161 -4
- package/src/components/index.ts +14 -0
- package/src/layouts/Grid/Grid.stories.tsx +226 -159
- package/src/lib/composables/index.ts +4 -0
- package/src/lib/composables/useAtomixGlass.ts +71 -0
- package/src/lib/composables/useButton.ts +3 -1
- package/src/lib/composables/useCallout.ts +4 -1
- package/src/lib/composables/useFooter.ts +85 -0
- package/src/lib/composables/useGlassContainer.ts +168 -0
- package/src/lib/composables/useSlider.ts +191 -4
- package/src/lib/constants/components.ts +173 -0
- package/src/lib/types/components.ts +622 -0
- package/src/lib/utils/displacement-generator.ts +86 -0
- package/src/styles/01-settings/_index.scss +1 -0
- package/src/styles/01-settings/_settings.accordion.scss +20 -19
- package/src/styles/01-settings/_settings.animations.scss +5 -5
- package/src/styles/01-settings/_settings.avatar-group.scss +1 -1
- package/src/styles/01-settings/_settings.avatar.scss +17 -18
- package/src/styles/01-settings/_settings.background.scss +10 -0
- package/src/styles/01-settings/_settings.badge.scss +1 -1
- package/src/styles/01-settings/_settings.breadcrumb.scss +8 -2
- package/src/styles/01-settings/_settings.callout.scss +7 -7
- package/src/styles/01-settings/_settings.card.scss +2 -2
- package/src/styles/01-settings/_settings.chart.scss +7 -7
- package/src/styles/01-settings/_settings.checkbox-group.scss +5 -2
- package/src/styles/01-settings/_settings.checkbox.scss +10 -4
- package/src/styles/01-settings/_settings.countdown.scss +6 -4
- package/src/styles/01-settings/_settings.dropdown.scss +9 -7
- package/src/styles/01-settings/_settings.edge-panel.scss +3 -2
- package/src/styles/01-settings/_settings.footer.scss +125 -0
- package/src/styles/01-settings/_settings.form-group.scss +3 -1
- package/src/styles/01-settings/_settings.form.scss +4 -2
- package/src/styles/01-settings/_settings.hero.scss +9 -7
- package/src/styles/01-settings/_settings.input.scss +9 -7
- package/src/styles/01-settings/_settings.list-group.scss +4 -2
- package/src/styles/01-settings/_settings.list.scss +4 -2
- package/src/styles/01-settings/_settings.menu.scss +10 -8
- package/src/styles/01-settings/_settings.messages.scss +19 -17
- package/src/styles/01-settings/_settings.modal.scss +6 -4
- package/src/styles/01-settings/_settings.nav.scss +6 -4
- package/src/styles/01-settings/_settings.navbar.scss +8 -5
- package/src/styles/01-settings/_settings.pagination.scss +5 -3
- package/src/styles/01-settings/_settings.popover.scss +6 -4
- package/src/styles/01-settings/_settings.rating.scss +5 -3
- package/src/styles/01-settings/_settings.river.scss +8 -6
- package/src/styles/01-settings/_settings.sectionintro.scss +8 -6
- package/src/styles/01-settings/_settings.select.scss +7 -5
- package/src/styles/01-settings/_settings.side-menu.scss +15 -13
- package/src/styles/01-settings/_settings.spacing.scss +4 -0
- package/src/styles/01-settings/_settings.steps.scss +7 -5
- package/src/styles/01-settings/_settings.tabs.scss +7 -5
- package/src/styles/01-settings/_settings.testimonials.scss +6 -4
- package/src/styles/01-settings/_settings.toggle.scss +3 -1
- package/src/styles/01-settings/_settings.tooltip.scss +5 -3
- package/src/styles/01-settings/_settings.upload.scss +22 -20
- package/src/styles/02-tools/_tools.animations.scss +19 -0
- package/src/styles/02-tools/_tools.background.scss +87 -0
- package/src/styles/02-tools/_tools.glass.scss +1 -0
- package/src/styles/02-tools/_tools.rem.scss +18 -5
- package/src/styles/02-tools/_tools.utility-api.scss +32 -26
- package/src/styles/03-generic/_generic.root.scss +15 -2
- package/src/styles/04-elements/_elements.body.scss +6 -0
- package/src/styles/06-components/_components.accordion.scss +24 -4
- package/src/styles/06-components/_components.atomix-glass.scss +0 -0
- package/src/styles/06-components/_components.avatar-group.scss +2 -1
- package/src/styles/06-components/_components.avatar.scss +2 -1
- package/src/styles/06-components/_components.badge.scss +36 -1
- package/src/styles/06-components/_components.breadcrumb.scss +2 -1
- package/src/styles/06-components/_components.button.scss +14 -3
- package/src/styles/06-components/_components.callout.scss +44 -4
- package/src/styles/06-components/_components.card.scss +21 -2
- package/src/styles/06-components/_components.chart.scss +3 -2
- package/src/styles/06-components/_components.checkbox.scss +2 -1
- package/src/styles/06-components/_components.color-mode-toggle.scss +3 -2
- package/src/styles/06-components/_components.countdown.scss +2 -1
- package/src/styles/06-components/_components.data-table.scss +7 -6
- package/src/styles/06-components/_components.datepicker.scss +20 -1
- package/src/styles/06-components/_components.dropdown.scss +11 -4
- package/src/styles/06-components/_components.edge-panel.scss +4 -3
- package/src/styles/06-components/_components.footer.scss +825 -0
- package/src/styles/06-components/_components.form-group.scss +1 -0
- package/src/styles/06-components/_components.hero.scss +4 -4
- package/src/styles/06-components/_components.image-gallery.scss +1 -0
- package/src/styles/06-components/_components.input.scss +33 -2
- package/src/styles/06-components/_components.list-group.scss +3 -2
- package/src/styles/06-components/_components.list.scss +2 -1
- package/src/styles/06-components/_components.menu.scss +5 -4
- package/src/styles/06-components/_components.messages.scss +8 -7
- package/src/styles/06-components/_components.modal.scss +3 -2
- package/src/styles/06-components/_components.nav.scss +6 -5
- package/src/styles/06-components/_components.navbar.scss +4 -3
- package/src/styles/06-components/_components.pagination.scss +2 -1
- package/src/styles/06-components/_components.photoviewer.scss +4 -3
- package/src/styles/06-components/_components.popover.scss +3 -2
- package/src/styles/06-components/_components.product-review.scss +3 -2
- package/src/styles/06-components/_components.progress.scss +3 -2
- package/src/styles/06-components/_components.river.scss +3 -2
- package/src/styles/06-components/_components.sectionintro.scss +2 -1
- package/src/styles/06-components/_components.select.scss +5 -4
- package/src/styles/06-components/_components.side-menu.scss +8 -7
- package/src/styles/06-components/_components.skeleton.scss +3 -2
- package/src/styles/06-components/_components.slider.scss +7 -6
- package/src/styles/06-components/_components.spinner.scss +1 -0
- package/src/styles/06-components/_components.steps.scss +3 -2
- package/src/styles/06-components/_components.tabs.scss +4 -3
- package/src/styles/06-components/_components.testimonials.scss +2 -1
- package/src/styles/06-components/_components.todo.scss +3 -2
- package/src/styles/06-components/_components.toggle.scss +5 -4
- package/src/styles/06-components/_components.tooltip.scss +3 -2
- package/src/styles/06-components/_components.upload.scss +4 -3
- package/src/styles/06-components/_components.video-player.scss +50 -27
- package/src/styles/06-components/_index.scss +2 -0
- package/src/styles/99-utilities/_utilities.glass-fixes.scss +48 -0
- package/dist/themes/yabai.css +0 -13711
- package/dist/themes/yabai.min.css +0 -189
|
@@ -4,6 +4,9 @@ import { Container } from './Container';
|
|
|
4
4
|
import { Grid } from './Grid';
|
|
5
5
|
import { GridCol } from './GridCol';
|
|
6
6
|
import { Row } from './Row';
|
|
7
|
+
import { Button } from '../../components/Button';
|
|
8
|
+
import { Card } from '../../components/Card';
|
|
9
|
+
import { Callout } from '../../components/Callout';
|
|
7
10
|
|
|
8
11
|
const meta: Meta<typeof Grid> = {
|
|
9
12
|
title: 'Layouts/Grid',
|
|
@@ -19,7 +22,7 @@ const meta: Meta<typeof Grid> = {
|
|
|
19
22
|
},
|
|
20
23
|
decorators: [
|
|
21
24
|
Story => (
|
|
22
|
-
<div
|
|
25
|
+
<div className="u-p-4">
|
|
23
26
|
<Story />
|
|
24
27
|
</div>
|
|
25
28
|
),
|
|
@@ -29,46 +32,54 @@ const meta: Meta<typeof Grid> = {
|
|
|
29
32
|
export default meta;
|
|
30
33
|
type Story = StoryObj<typeof Grid>;
|
|
31
34
|
|
|
32
|
-
// Modern demo components with better visual hierarchy
|
|
35
|
+
// Modern demo components with better visual hierarchy using Atomix components
|
|
33
36
|
const DemoCard: React.FC<{
|
|
34
37
|
children: React.ReactNode;
|
|
35
38
|
variant?: 'primary' | 'secondary' | 'accent';
|
|
36
39
|
height?: 'auto' | 'sm' | 'md' | 'lg';
|
|
37
40
|
}> = ({ children, variant = 'primary', height = 'auto' }) => {
|
|
38
41
|
const heightStyles = {
|
|
39
|
-
auto:
|
|
40
|
-
sm: '
|
|
41
|
-
md: '
|
|
42
|
-
lg: '
|
|
42
|
+
auto: undefined,
|
|
43
|
+
sm: '80px',
|
|
44
|
+
md: '120px',
|
|
45
|
+
lg: '160px',
|
|
43
46
|
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const variantTextClasses = {
|
|
50
|
-
primary: 'u-text-brand-emphasis',
|
|
51
|
-
secondary: 'u-text-success-emphasis',
|
|
52
|
-
accent: 'u-text-info-emphasis',
|
|
47
|
+
|
|
48
|
+
const variantMap = {
|
|
49
|
+
primary: { cardVariant: 'default' as const, badgeVariant: 'primary' as const },
|
|
50
|
+
secondary: { cardVariant: 'success' as const, badgeVariant: 'success' as const },
|
|
51
|
+
accent: { cardVariant: 'info' as const, badgeVariant: 'info' as const },
|
|
53
52
|
};
|
|
54
53
|
|
|
54
|
+
const { cardVariant, badgeVariant } = variantMap[variant];
|
|
55
|
+
|
|
55
56
|
return (
|
|
56
|
-
<
|
|
57
|
-
className={`u-
|
|
58
|
-
|
|
57
|
+
<Card
|
|
58
|
+
className={`u-h-100 ${variant === 'primary' ? 'u-bg-brand-subtle' : ''} ${
|
|
59
|
+
variant === 'secondary' ? 'u-bg-success-subtle' : ''
|
|
60
|
+
} ${variant === 'accent' ? 'u-bg-info-subtle' : ''}`}
|
|
59
61
|
>
|
|
60
|
-
<div
|
|
61
|
-
|
|
62
|
+
<div
|
|
63
|
+
className="u-d-flex u-flex-column u-h-100"
|
|
64
|
+
style={{ minHeight: heightStyles[height] }}
|
|
65
|
+
>
|
|
66
|
+
<div className="u-flex-grow-1 u-d-flex u-align-items-center u-justify-content-center">
|
|
67
|
+
<div className="u-text-center">{children}</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</Card>
|
|
62
71
|
);
|
|
63
72
|
};
|
|
64
73
|
|
|
65
74
|
const CodeSnippet: React.FC<{ children: React.ReactNode }> = ({ children }) => (
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
<Card className="u-mb-4">
|
|
76
|
+
<pre
|
|
77
|
+
className="u-bg-dark u-text-light u-p-3 u-rounded u-fs-sm u-fw-normal u-overflow-auto"
|
|
78
|
+
style={{ fontFamily: 'monospace' }}
|
|
79
|
+
>
|
|
80
|
+
{children}
|
|
81
|
+
</pre>
|
|
82
|
+
</Card>
|
|
72
83
|
);
|
|
73
84
|
|
|
74
85
|
/**
|
|
@@ -80,12 +91,22 @@ const CodeSnippet: React.FC<{ children: React.ReactNode }> = ({ children }) => (
|
|
|
80
91
|
export const GettingStarted: Story = {
|
|
81
92
|
render: () => (
|
|
82
93
|
<div className="u-mb-8">
|
|
83
|
-
<
|
|
84
|
-
|
|
94
|
+
<div className="u-mb-6">
|
|
95
|
+
<h1 className="u-mb-3 u-text-brand-emphasis">Grid System</h1>
|
|
96
|
+
<p className="u-mb-4 u-text-secondary-emphasis u-fs-lg">
|
|
97
|
+
A responsive 12-column grid system for creating flexible layouts.
|
|
98
|
+
</p>
|
|
99
|
+
<Callout variant="info" className="u-mb-4">
|
|
100
|
+
Resize your browser window to see how the columns adapt to different screen sizes.
|
|
101
|
+
</Callout>
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
<h2 className="u-mb-4 u-text-brand-emphasis u-border-bottom u-pb-2">Basic Grid Layout</h2>
|
|
105
|
+
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
85
106
|
Equal columns that stack on mobile and expand on larger screens:
|
|
86
107
|
</p>
|
|
87
108
|
|
|
88
|
-
<Grid className="u-mb-
|
|
109
|
+
<Grid className="u-mb-4">
|
|
89
110
|
<GridCol xs={12} md={4}>
|
|
90
111
|
<DemoCard>Column 1</DemoCard>
|
|
91
112
|
</GridCol>
|
|
@@ -99,19 +120,19 @@ export const GettingStarted: Story = {
|
|
|
99
120
|
|
|
100
121
|
<CodeSnippet>
|
|
101
122
|
{`<Grid>
|
|
102
|
-
<GridCol xs={12} md={4}>
|
|
103
|
-
<GridCol xs={12} md={4}>
|
|
104
|
-
<GridCol xs={12} md={4}>
|
|
123
|
+
<GridCol xs={12} md={4}>Column 1</GridCol>
|
|
124
|
+
<GridCol xs={12} md={4}>Column 2</GridCol>
|
|
125
|
+
<GridCol xs={12} md={4}>Column 3</GridCol>
|
|
105
126
|
</Grid>`}
|
|
106
127
|
</CodeSnippet>
|
|
107
128
|
|
|
108
|
-
<div className="u-mt-
|
|
109
|
-
<h3 className="u-mb-
|
|
129
|
+
<div className="u-mt-6">
|
|
130
|
+
<h3 className="u-mb-4 u-text-brand-emphasis">Responsive Behavior</h3>
|
|
110
131
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
111
132
|
Columns automatically adjust at different screen sizes:
|
|
112
133
|
</p>
|
|
113
134
|
|
|
114
|
-
<Grid className="u-mb-
|
|
135
|
+
<Grid className="u-mb-4">
|
|
115
136
|
<GridCol xs={12} sm={6} md={4} lg={3}>
|
|
116
137
|
<DemoCard variant="secondary">
|
|
117
138
|
<div>Mobile: Full width</div>
|
|
@@ -149,66 +170,90 @@ export const GettingStarted: Story = {
|
|
|
149
170
|
export const LayoutPatterns: Story = {
|
|
150
171
|
render: () => (
|
|
151
172
|
<div className="u-mb-8">
|
|
152
|
-
<
|
|
173
|
+
<h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Common Layout Patterns</h1>
|
|
153
174
|
|
|
154
175
|
{/* Sidebar Layout */}
|
|
155
176
|
<div className="u-mb-8">
|
|
156
|
-
<
|
|
157
|
-
<p className="u-mb-4">
|
|
177
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Sidebar Layout</h2>
|
|
178
|
+
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
179
|
+
Perfect for dashboards and admin interfaces:
|
|
180
|
+
</p>
|
|
158
181
|
|
|
159
|
-
<Grid className="u-mb-
|
|
182
|
+
<Grid className="u-mb-4">
|
|
160
183
|
<GridCol xs={12} md={3}>
|
|
161
184
|
<DemoCard variant="accent" height="lg">
|
|
162
|
-
<div>Sidebar</div>
|
|
163
|
-
<div className="u-fs-sm ">Navigation, filters, etc.</div>
|
|
185
|
+
<div className="u-fs-lg u-fw-bold">Sidebar</div>
|
|
186
|
+
<div className="u-fs-sm u-mt-2">Navigation, filters, etc.</div>
|
|
164
187
|
</DemoCard>
|
|
165
188
|
</GridCol>
|
|
166
189
|
<GridCol xs={12} md={9}>
|
|
167
190
|
<DemoCard height="lg">
|
|
168
|
-
<div>Main Content</div>
|
|
169
|
-
<div className="u-fs-sm">Primary content area</div>
|
|
191
|
+
<div className="u-fs-lg u-fw-bold">Main Content</div>
|
|
192
|
+
<div className="u-fs-sm u-mt-2">Primary content area</div>
|
|
170
193
|
</DemoCard>
|
|
171
194
|
</GridCol>
|
|
172
195
|
</Grid>
|
|
196
|
+
|
|
197
|
+
<Card className="u-mb-6">
|
|
198
|
+
<div className="u-d-flex u-flex-wrap u-gap-2">
|
|
199
|
+
<Button variant="primary">Save Changes</Button>
|
|
200
|
+
<Button variant="secondary">Cancel</Button>
|
|
201
|
+
</div>
|
|
202
|
+
</Card>
|
|
173
203
|
</div>
|
|
174
204
|
|
|
175
205
|
{/* Hero + Features */}
|
|
176
206
|
<div className="u-mb-8">
|
|
177
|
-
<
|
|
178
|
-
<p className="u-mb-4 ">
|
|
207
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Hero + Features</h2>
|
|
208
|
+
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
209
|
+
Landing page layout with hero section and feature cards:
|
|
210
|
+
</p>
|
|
179
211
|
|
|
180
212
|
<Grid className="u-mb-4">
|
|
181
213
|
<GridCol xs={12}>
|
|
182
214
|
<DemoCard variant="accent" height="md">
|
|
183
|
-
<div>Hero Section</div>
|
|
184
|
-
<div className="u-fs-sm">Full-width banner</div>
|
|
215
|
+
<div className="u-fs-lg u-fw-bold">Hero Section</div>
|
|
216
|
+
<div className="u-fs-sm u-mt-2">Full-width banner</div>
|
|
185
217
|
</DemoCard>
|
|
186
218
|
</GridCol>
|
|
187
219
|
</Grid>
|
|
188
220
|
|
|
189
|
-
<Grid className="u-mb-
|
|
221
|
+
<Grid className="u-mb-4">
|
|
190
222
|
<GridCol xs={12} sm={6} lg={4}>
|
|
191
|
-
<DemoCard variant="secondary">
|
|
223
|
+
<DemoCard variant="secondary">
|
|
224
|
+
<div className="u-fs-md u-fw-bold">Feature 1</div>
|
|
225
|
+
<div className="u-fs-sm u-mt-2">Description of feature 1</div>
|
|
226
|
+
</DemoCard>
|
|
192
227
|
</GridCol>
|
|
193
228
|
<GridCol xs={12} sm={6} lg={4}>
|
|
194
|
-
<DemoCard variant="secondary">
|
|
229
|
+
<DemoCard variant="secondary">
|
|
230
|
+
<div className="u-fs-md u-fw-bold">Feature 2</div>
|
|
231
|
+
<div className="u-fs-sm u-mt-2">Description of feature 2</div>
|
|
232
|
+
</DemoCard>
|
|
195
233
|
</GridCol>
|
|
196
234
|
<GridCol xs={12} sm={12} lg={4}>
|
|
197
|
-
<DemoCard variant="secondary">
|
|
235
|
+
<DemoCard variant="secondary">
|
|
236
|
+
<div className="u-fs-md u-fw-bold">Feature 3</div>
|
|
237
|
+
<div className="u-fs-sm u-mt-2">Description of feature 3</div>
|
|
238
|
+
</DemoCard>
|
|
198
239
|
</GridCol>
|
|
199
240
|
</Grid>
|
|
200
241
|
</div>
|
|
201
242
|
|
|
202
243
|
{/* Article Layout */}
|
|
203
244
|
<div className="u-mb-8">
|
|
204
|
-
<
|
|
205
|
-
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
245
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Article Layout</h2>
|
|
246
|
+
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
247
|
+
Centered content with optional sidebar:
|
|
248
|
+
</p>
|
|
206
249
|
|
|
207
|
-
<Grid className="u-mb-
|
|
250
|
+
<Grid className="u-mb-4">
|
|
208
251
|
<GridCol xs={12} md={8} offsetMd={2}>
|
|
209
252
|
<DemoCard height="lg">
|
|
210
|
-
<div>Article Content</div>
|
|
211
|
-
<div className="u-fs-sm u-text-secondary-emphasis">
|
|
253
|
+
<div className="u-fs-lg u-fw-bold">Article Content</div>
|
|
254
|
+
<div className="u-fs-sm u-text-secondary-emphasis u-mt-2">
|
|
255
|
+
Centered, readable width
|
|
256
|
+
</div>
|
|
212
257
|
</DemoCard>
|
|
213
258
|
</GridCol>
|
|
214
259
|
</Grid>
|
|
@@ -225,12 +270,14 @@ export const LayoutPatterns: Story = {
|
|
|
225
270
|
export const ColumnSizing: Story = {
|
|
226
271
|
render: () => (
|
|
227
272
|
<div className="u-mb-8">
|
|
228
|
-
<
|
|
273
|
+
<h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Column Sizing Options</h1>
|
|
229
274
|
|
|
230
275
|
{/* Fixed Sizes */}
|
|
231
276
|
<div className="u-mb-8">
|
|
232
|
-
<
|
|
233
|
-
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
277
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Fixed Column Sizes</h2>
|
|
278
|
+
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
279
|
+
Specify exact column widths (1-12):
|
|
280
|
+
</p>
|
|
234
281
|
|
|
235
282
|
<Grid className="u-mb-4">
|
|
236
283
|
<GridCol xs={2}>
|
|
@@ -250,7 +297,7 @@ export const ColumnSizing: Story = {
|
|
|
250
297
|
</GridCol>
|
|
251
298
|
</Grid>
|
|
252
299
|
|
|
253
|
-
<Grid className="u-mb-
|
|
300
|
+
<Grid className="u-mb-4">
|
|
254
301
|
<GridCol xs={6}>
|
|
255
302
|
<DemoCard variant="secondary">6 cols</DemoCard>
|
|
256
303
|
</GridCol>
|
|
@@ -262,7 +309,7 @@ export const ColumnSizing: Story = {
|
|
|
262
309
|
|
|
263
310
|
{/* Auto Sizing */}
|
|
264
311
|
<div className="u-mb-8">
|
|
265
|
-
<
|
|
312
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Auto-Sizing Columns</h2>
|
|
266
313
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
267
314
|
Columns that automatically size based on content:
|
|
268
315
|
</p>
|
|
@@ -279,7 +326,7 @@ export const ColumnSizing: Story = {
|
|
|
279
326
|
</GridCol>
|
|
280
327
|
</Grid>
|
|
281
328
|
|
|
282
|
-
<Grid className="u-mb-
|
|
329
|
+
<Grid className="u-mb-4">
|
|
283
330
|
<GridCol xs={4}>
|
|
284
331
|
<DemoCard variant="secondary">Fixed (4 cols)</DemoCard>
|
|
285
332
|
</GridCol>
|
|
@@ -294,28 +341,28 @@ export const ColumnSizing: Story = {
|
|
|
294
341
|
|
|
295
342
|
{/* Mixed Sizes */}
|
|
296
343
|
<div className="u-mb-8">
|
|
297
|
-
<
|
|
344
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Mixed Sizing</h2>
|
|
298
345
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
299
346
|
Combine fixed and auto sizing for flexible layouts:
|
|
300
347
|
</p>
|
|
301
348
|
|
|
302
|
-
<Grid className="u-mb-
|
|
349
|
+
<Grid className="u-mb-4">
|
|
303
350
|
<GridCol xs={12} sm={6} md={4} lg="auto">
|
|
304
351
|
<DemoCard variant="secondary">
|
|
305
352
|
<div>Responsive</div>
|
|
306
|
-
<div className="u-fs-sm">xs=12, sm=6, md=4, lg=auto</div>
|
|
353
|
+
<div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=auto</div>
|
|
307
354
|
</DemoCard>
|
|
308
355
|
</GridCol>
|
|
309
356
|
<GridCol xs={12} sm={6} md={4} lg="auto">
|
|
310
357
|
<DemoCard variant="secondary">
|
|
311
358
|
<div>Responsive</div>
|
|
312
|
-
<div className="u-fs-sm">xs=12, sm=6, md=4, lg=auto</div>
|
|
359
|
+
<div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=auto</div>
|
|
313
360
|
</DemoCard>
|
|
314
361
|
</GridCol>
|
|
315
362
|
<GridCol xs={12} sm={12} md={4} lg="auto">
|
|
316
363
|
<DemoCard variant="secondary">
|
|
317
364
|
<div>Responsive</div>
|
|
318
|
-
<div className="u-fs-sm">xs=12, sm=12, md=4, lg=auto</div>
|
|
365
|
+
<div className="u-fs-sm u-mt-2">xs=12, sm=12, md=4, lg=auto</div>
|
|
319
366
|
</DemoCard>
|
|
320
367
|
</GridCol>
|
|
321
368
|
</Grid>
|
|
@@ -332,12 +379,14 @@ export const ColumnSizing: Story = {
|
|
|
332
379
|
export const ColumnOffsets: Story = {
|
|
333
380
|
render: () => (
|
|
334
381
|
<div className="u-mb-8">
|
|
335
|
-
<
|
|
382
|
+
<h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Column Offsets</h1>
|
|
336
383
|
|
|
337
384
|
{/* Basic Offsets */}
|
|
338
385
|
<div className="u-mb-8">
|
|
339
|
-
<
|
|
340
|
-
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
386
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Basic Offsets</h2>
|
|
387
|
+
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
388
|
+
Push columns to the right using offsets:
|
|
389
|
+
</p>
|
|
341
390
|
|
|
342
391
|
<Grid className="u-mb-4">
|
|
343
392
|
<GridCol xs={4}>
|
|
@@ -348,7 +397,7 @@ export const ColumnOffsets: Story = {
|
|
|
348
397
|
</GridCol>
|
|
349
398
|
</Grid>
|
|
350
399
|
|
|
351
|
-
<Grid className="u-mb-
|
|
400
|
+
<Grid className="u-mb-4">
|
|
352
401
|
<GridCol xs={3} offsetXs={3}>
|
|
353
402
|
<DemoCard variant="secondary">3 cols, offset 3</DemoCard>
|
|
354
403
|
</GridCol>
|
|
@@ -360,8 +409,10 @@ export const ColumnOffsets: Story = {
|
|
|
360
409
|
|
|
361
410
|
{/* Centering */}
|
|
362
411
|
<div className="u-mb-8">
|
|
363
|
-
<
|
|
364
|
-
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
412
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Centering Content</h2>
|
|
413
|
+
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
414
|
+
Center columns using equal offsets:
|
|
415
|
+
</p>
|
|
365
416
|
|
|
366
417
|
<Grid className="u-mb-4">
|
|
367
418
|
<GridCol xs={6} offsetXs={3}>
|
|
@@ -369,7 +420,7 @@ export const ColumnOffsets: Story = {
|
|
|
369
420
|
</GridCol>
|
|
370
421
|
</Grid>
|
|
371
422
|
|
|
372
|
-
<Grid className="u-mb-
|
|
423
|
+
<Grid className="u-mb-4">
|
|
373
424
|
<GridCol xs={8} offsetXs={2}>
|
|
374
425
|
<DemoCard variant="accent">Centered (8 cols, offset 2)</DemoCard>
|
|
375
426
|
</GridCol>
|
|
@@ -378,16 +429,16 @@ export const ColumnOffsets: Story = {
|
|
|
378
429
|
|
|
379
430
|
{/* Responsive Offsets */}
|
|
380
431
|
<div className="u-mb-8">
|
|
381
|
-
<
|
|
432
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Responsive Offsets</h2>
|
|
382
433
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
383
434
|
Different offsets at different screen sizes:
|
|
384
435
|
</p>
|
|
385
436
|
|
|
386
|
-
<Grid className="u-mb-
|
|
437
|
+
<Grid className="u-mb-4">
|
|
387
438
|
<GridCol xs={12} sm={6} offsetSm={3} md={4} offsetMd={4} lg={3} offsetLg={3}>
|
|
388
439
|
<DemoCard variant="secondary">
|
|
389
|
-
<div>Responsive Offsets</div>
|
|
390
|
-
<div className="u-fs-sm">Changes at each breakpoint</div>
|
|
440
|
+
<div className="u-fs-md u-fw-bold">Responsive Offsets</div>
|
|
441
|
+
<div className="u-fs-sm u-mt-2">Changes at each breakpoint</div>
|
|
391
442
|
</DemoCard>
|
|
392
443
|
</GridCol>
|
|
393
444
|
</Grid>
|
|
@@ -404,45 +455,55 @@ export const ColumnOffsets: Story = {
|
|
|
404
455
|
export const Containers: Story = {
|
|
405
456
|
render: () => (
|
|
406
457
|
<div className="u-mb-8">
|
|
407
|
-
<
|
|
458
|
+
<h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Container Types</h1>
|
|
408
459
|
|
|
409
460
|
{/* Default Container */}
|
|
410
461
|
<div className="u-mb-8">
|
|
411
|
-
<
|
|
462
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Default Container</h2>
|
|
412
463
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
413
464
|
Responsive container with max-width at each breakpoint:
|
|
414
465
|
</p>
|
|
415
466
|
|
|
416
|
-
<Container className="u-mb-
|
|
467
|
+
<Container className="u-mb-4">
|
|
417
468
|
<DemoCard variant="accent" height="md">
|
|
418
|
-
<div>Default Container</div>
|
|
419
|
-
<div className="u-fs-sm u-text-secondary-emphasis
|
|
469
|
+
<div className="u-fs-lg u-fw-bold">Default Container</div>
|
|
470
|
+
<div className="u-fs-sm u-text-secondary-emphasis u-mt-2">
|
|
471
|
+
Responsive max-width, centered
|
|
472
|
+
</div>
|
|
420
473
|
</DemoCard>
|
|
421
474
|
</Container>
|
|
422
475
|
</div>
|
|
423
476
|
|
|
424
477
|
{/* Fluid Container */}
|
|
425
478
|
<div className="u-mb-8">
|
|
426
|
-
<
|
|
479
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Fluid Container</h2>
|
|
427
480
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
428
481
|
Full-width container that spans the entire viewport:
|
|
429
482
|
</p>
|
|
430
483
|
|
|
431
|
-
<Container type="fluid" className="u-mb-
|
|
484
|
+
<Container type="fluid" className="u-mb-4">
|
|
432
485
|
<DemoCard variant="secondary" height="md">
|
|
433
|
-
<div>Fluid Container</div>
|
|
434
|
-
<div className="u-fs-sm u-text-secondary-emphasis">
|
|
486
|
+
<div className="u-fs-lg u-fw-bold">Fluid Container</div>
|
|
487
|
+
<div className="u-fs-sm u-text-secondary-emphasis u-mt-2">
|
|
488
|
+
Full viewport width
|
|
489
|
+
</div>
|
|
435
490
|
</DemoCard>
|
|
436
491
|
</Container>
|
|
437
492
|
</div>
|
|
438
493
|
|
|
439
494
|
{/* Breakpoint Containers */}
|
|
440
495
|
<div className="u-mb-8">
|
|
441
|
-
<
|
|
496
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Breakpoint Containers</h2>
|
|
442
497
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
443
498
|
Containers with max-width at specific breakpoints:
|
|
444
499
|
</p>
|
|
445
500
|
|
|
501
|
+
<div className="u-mb-4">
|
|
502
|
+
<Callout variant="info" className="u-mb-4">
|
|
503
|
+
Each container below has a different max-width based on its type.
|
|
504
|
+
</Callout>
|
|
505
|
+
</div>
|
|
506
|
+
|
|
446
507
|
<Container type="sm" className="u-mb-4">
|
|
447
508
|
<DemoCard variant="secondary">Small Container (max-width: sm)</DemoCard>
|
|
448
509
|
</Container>
|
|
@@ -458,12 +519,12 @@ export const Containers: Story = {
|
|
|
458
519
|
|
|
459
520
|
{/* Container with Grid */}
|
|
460
521
|
<div className="u-mb-8">
|
|
461
|
-
<
|
|
522
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Container with Grid</h2>
|
|
462
523
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
463
524
|
Combine containers with grids for structured layouts:
|
|
464
525
|
</p>
|
|
465
526
|
|
|
466
|
-
<Container className="u-mb-
|
|
527
|
+
<Container className="u-mb-4">
|
|
467
528
|
<Grid>
|
|
468
529
|
<GridCol xs={12} md={4}>
|
|
469
530
|
<DemoCard>Column 1</DemoCard>
|
|
@@ -489,18 +550,18 @@ export const Containers: Story = {
|
|
|
489
550
|
export const AlignmentAndSpacing: Story = {
|
|
490
551
|
render: () => (
|
|
491
552
|
<div className="u-mb-8">
|
|
492
|
-
<
|
|
553
|
+
<h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Alignment & Spacing</h1>
|
|
493
554
|
|
|
494
555
|
{/* Horizontal Alignment */}
|
|
495
556
|
<div className="u-mb-8">
|
|
496
|
-
<
|
|
557
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Horizontal Alignment</h2>
|
|
497
558
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
498
559
|
Control how columns are distributed horizontally:
|
|
499
560
|
</p>
|
|
500
561
|
|
|
501
|
-
<div className="u-mb-
|
|
502
|
-
<
|
|
503
|
-
<Row justifyContent="start" className="u-mb-4">
|
|
562
|
+
<div className="u-mb-6">
|
|
563
|
+
<h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">justify-content="start"</h3>
|
|
564
|
+
<Row justifyContent="start" className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
|
|
504
565
|
<GridCol xs={3}>
|
|
505
566
|
<DemoCard variant="secondary">Col 1</DemoCard>
|
|
506
567
|
</GridCol>
|
|
@@ -510,9 +571,9 @@ export const AlignmentAndSpacing: Story = {
|
|
|
510
571
|
</Row>
|
|
511
572
|
</div>
|
|
512
573
|
|
|
513
|
-
<div className="u-mb-
|
|
514
|
-
<
|
|
515
|
-
<Row justifyContent="center" className="u-mb-4">
|
|
574
|
+
<div className="u-mb-6">
|
|
575
|
+
<h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">justify-content="center"</h3>
|
|
576
|
+
<Row justifyContent="center" className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
|
|
516
577
|
<GridCol xs={3}>
|
|
517
578
|
<DemoCard variant="secondary">Col 1</DemoCard>
|
|
518
579
|
</GridCol>
|
|
@@ -522,11 +583,11 @@ export const AlignmentAndSpacing: Story = {
|
|
|
522
583
|
</Row>
|
|
523
584
|
</div>
|
|
524
585
|
|
|
525
|
-
<div className="u-mb-
|
|
526
|
-
<
|
|
586
|
+
<div className="u-mb-6">
|
|
587
|
+
<h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">
|
|
527
588
|
justify-content="between"
|
|
528
|
-
</
|
|
529
|
-
<Row justifyContent="between" className="u-mb-4">
|
|
589
|
+
</h3>
|
|
590
|
+
<Row justifyContent="between" className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
|
|
530
591
|
<GridCol xs={3}>
|
|
531
592
|
<DemoCard variant="secondary">Col 1</DemoCard>
|
|
532
593
|
</GridCol>
|
|
@@ -537,8 +598,8 @@ export const AlignmentAndSpacing: Story = {
|
|
|
537
598
|
</div>
|
|
538
599
|
|
|
539
600
|
<div className="u-mb-6">
|
|
540
|
-
<
|
|
541
|
-
<Row justifyContent="around" className="u-mb-4">
|
|
601
|
+
<h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">justify-content="around"</h3>
|
|
602
|
+
<Row justifyContent="around" className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
|
|
542
603
|
<GridCol xs={3}>
|
|
543
604
|
<DemoCard variant="secondary">Col 1</DemoCard>
|
|
544
605
|
</GridCol>
|
|
@@ -551,17 +612,17 @@ export const AlignmentAndSpacing: Story = {
|
|
|
551
612
|
|
|
552
613
|
{/* Vertical Alignment */}
|
|
553
614
|
<div className="u-mb-8">
|
|
554
|
-
<
|
|
615
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Vertical Alignment</h2>
|
|
555
616
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
556
617
|
Control how columns align vertically when they have different heights:
|
|
557
618
|
</p>
|
|
558
619
|
|
|
559
|
-
<div className="u-mb-
|
|
560
|
-
<
|
|
620
|
+
<div className="u-mb-6">
|
|
621
|
+
<h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">align-items="start"</h3>
|
|
561
622
|
<Row
|
|
562
623
|
alignItems="start"
|
|
563
|
-
className="u-mb-4 u-bg-brand-subtle"
|
|
564
|
-
style={{ minHeight: '
|
|
624
|
+
className="u-mb-4 u-bg-brand-subtle u-rounded u-p-3"
|
|
625
|
+
style={{ minHeight: '180px' }}
|
|
565
626
|
>
|
|
566
627
|
<GridCol xs={4}>
|
|
567
628
|
<DemoCard height="sm">Short</DemoCard>
|
|
@@ -575,12 +636,12 @@ export const AlignmentAndSpacing: Story = {
|
|
|
575
636
|
</Row>
|
|
576
637
|
</div>
|
|
577
638
|
|
|
578
|
-
<div className="u-mb-
|
|
579
|
-
<
|
|
639
|
+
<div className="u-mb-6">
|
|
640
|
+
<h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">align-items="center"</h3>
|
|
580
641
|
<Row
|
|
581
642
|
alignItems="center"
|
|
582
|
-
className="u-mb-4 u-bg-brand-subtle"
|
|
583
|
-
style={{ minHeight: '
|
|
643
|
+
className="u-mb-4 u-bg-brand-subtle u-rounded u-p-3"
|
|
644
|
+
style={{ minHeight: '180px' }}
|
|
584
645
|
>
|
|
585
646
|
<GridCol xs={4}>
|
|
586
647
|
<DemoCard height="sm">Short</DemoCard>
|
|
@@ -595,8 +656,12 @@ export const AlignmentAndSpacing: Story = {
|
|
|
595
656
|
</div>
|
|
596
657
|
|
|
597
658
|
<div className="u-mb-6">
|
|
598
|
-
<
|
|
599
|
-
<Row
|
|
659
|
+
<h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">align-items="end"</h3>
|
|
660
|
+
<Row
|
|
661
|
+
alignItems="end"
|
|
662
|
+
className="u-mb-4 u-bg-brand-subtle u-rounded u-p-3"
|
|
663
|
+
style={{ minHeight: '180px' }}
|
|
664
|
+
>
|
|
600
665
|
<GridCol xs={4}>
|
|
601
666
|
<DemoCard height="sm">Short</DemoCard>
|
|
602
667
|
</GridCol>
|
|
@@ -612,12 +677,14 @@ export const AlignmentAndSpacing: Story = {
|
|
|
612
677
|
|
|
613
678
|
{/* No Gutters */}
|
|
614
679
|
<div className="u-mb-8">
|
|
615
|
-
<
|
|
616
|
-
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
680
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">No Gutters</h2>
|
|
681
|
+
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
682
|
+
Remove spacing between columns:
|
|
683
|
+
</p>
|
|
617
684
|
|
|
618
|
-
<div className="u-mb-
|
|
619
|
-
<
|
|
620
|
-
<Row className="u-mb-4">
|
|
685
|
+
<div className="u-mb-6">
|
|
686
|
+
<h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">With gutters (default)</h3>
|
|
687
|
+
<Row className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
|
|
621
688
|
<GridCol xs={4}>
|
|
622
689
|
<DemoCard variant="secondary">Column 1</DemoCard>
|
|
623
690
|
</GridCol>
|
|
@@ -631,8 +698,8 @@ export const AlignmentAndSpacing: Story = {
|
|
|
631
698
|
</div>
|
|
632
699
|
|
|
633
700
|
<div className="u-mb-6">
|
|
634
|
-
<
|
|
635
|
-
<Row noGutters className="u-mb-4">
|
|
701
|
+
<h3 className="u-mb-3 u-text-secondary-emphasis u-fw-medium">No gutters</h3>
|
|
702
|
+
<Row noGutters className="u-mb-4 u-p-3 u-bg-brand-subtle u-rounded">
|
|
636
703
|
<GridCol xs={4}>
|
|
637
704
|
<DemoCard variant="accent">Column 1</DemoCard>
|
|
638
705
|
</GridCol>
|
|
@@ -657,16 +724,16 @@ export const AlignmentAndSpacing: Story = {
|
|
|
657
724
|
export const NestedGrids: Story = {
|
|
658
725
|
render: () => (
|
|
659
726
|
<div className="u-mb-8">
|
|
660
|
-
<
|
|
727
|
+
<h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Nested Grids</h1>
|
|
661
728
|
<p className="u-mb-6 u-text-secondary-emphasis">
|
|
662
729
|
Create complex layouts by nesting grids within columns. Each nested grid starts fresh with
|
|
663
730
|
12 columns.
|
|
664
731
|
</p>
|
|
665
732
|
|
|
666
|
-
<Grid>
|
|
733
|
+
<Grid className="u-mb-6">
|
|
667
734
|
<GridCol xs={12} md={6}>
|
|
668
|
-
<
|
|
669
|
-
<
|
|
735
|
+
<Card className="u-mb-4 u-bg-info-subtle">
|
|
736
|
+
<h3 className="u-mb-4 u-text-info-emphasis">Left Section</h3>
|
|
670
737
|
<Grid>
|
|
671
738
|
<GridCol xs={12} className="u-mb-4">
|
|
672
739
|
<DemoCard variant="secondary">Nested Full Width</DemoCard>
|
|
@@ -678,12 +745,12 @@ export const NestedGrids: Story = {
|
|
|
678
745
|
<DemoCard variant="secondary">Nested 1/2</DemoCard>
|
|
679
746
|
</GridCol>
|
|
680
747
|
</Grid>
|
|
681
|
-
</
|
|
748
|
+
</Card>
|
|
682
749
|
</GridCol>
|
|
683
750
|
|
|
684
751
|
<GridCol xs={12} md={6}>
|
|
685
|
-
<
|
|
686
|
-
<
|
|
752
|
+
<Card className="u-mb-4 u-bg-success-subtle">
|
|
753
|
+
<h3 className="u-mb-4 u-text-success-emphasis">Right Section</h3>
|
|
687
754
|
<Grid>
|
|
688
755
|
<GridCol xs={4}>
|
|
689
756
|
<DemoCard variant="accent">1/3</DemoCard>
|
|
@@ -695,20 +762,20 @@ export const NestedGrids: Story = {
|
|
|
695
762
|
<DemoCard variant="accent">1/3</DemoCard>
|
|
696
763
|
</GridCol>
|
|
697
764
|
</Grid>
|
|
698
|
-
</
|
|
765
|
+
</Card>
|
|
699
766
|
</GridCol>
|
|
700
767
|
</Grid>
|
|
701
768
|
|
|
702
769
|
<div className="u-mt-8">
|
|
703
|
-
<
|
|
770
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Complex Nested Example</h2>
|
|
704
771
|
<p className="u-mb-4 u-text-brand-emphasis">
|
|
705
772
|
Dashboard-style layout with multiple levels of nesting:
|
|
706
773
|
</p>
|
|
707
774
|
|
|
708
775
|
<Grid>
|
|
709
776
|
<GridCol xs={12}>
|
|
710
|
-
<
|
|
711
|
-
<
|
|
777
|
+
<Card className="u-mb-4 u-bg-warning-subtle">
|
|
778
|
+
<h3 className="u-mb-4 u-text-warning-emphasis">Header</h3>
|
|
712
779
|
<Grid>
|
|
713
780
|
<GridCol xs={12} sm={6} md={8}>
|
|
714
781
|
<DemoCard variant="secondary">Logo & Navigation</DemoCard>
|
|
@@ -717,12 +784,12 @@ export const NestedGrids: Story = {
|
|
|
717
784
|
<DemoCard variant="secondary">User Actions</DemoCard>
|
|
718
785
|
</GridCol>
|
|
719
786
|
</Grid>
|
|
720
|
-
</
|
|
787
|
+
</Card>
|
|
721
788
|
</GridCol>
|
|
722
789
|
|
|
723
790
|
<GridCol xs={12} md={3}>
|
|
724
|
-
<
|
|
725
|
-
<
|
|
791
|
+
<Card className="u-mb-4 u-bg-info-subtle">
|
|
792
|
+
<h3 className="u-mb-4 u-text-info-emphasis">Sidebar</h3>
|
|
726
793
|
<Grid>
|
|
727
794
|
<GridCol xs={12} className="u-mb-2">
|
|
728
795
|
<DemoCard variant="accent" height="sm">
|
|
@@ -740,12 +807,12 @@ export const NestedGrids: Story = {
|
|
|
740
807
|
</DemoCard>
|
|
741
808
|
</GridCol>
|
|
742
809
|
</Grid>
|
|
743
|
-
</
|
|
810
|
+
</Card>
|
|
744
811
|
</GridCol>
|
|
745
812
|
|
|
746
813
|
<GridCol xs={12} md={9}>
|
|
747
|
-
<
|
|
748
|
-
<
|
|
814
|
+
<Card className="u-bg-success-subtle">
|
|
815
|
+
<h3 className="u-mb-4 u-text-success-emphasis">Main Content</h3>
|
|
749
816
|
<Grid>
|
|
750
817
|
<GridCol xs={12} className="u-mb-4">
|
|
751
818
|
<DemoCard height="sm">Content Header</DemoCard>
|
|
@@ -760,7 +827,7 @@ export const NestedGrids: Story = {
|
|
|
760
827
|
<DemoCard variant="secondary">Widget 3</DemoCard>
|
|
761
828
|
</GridCol>
|
|
762
829
|
</Grid>
|
|
763
|
-
</
|
|
830
|
+
</Card>
|
|
764
831
|
</GridCol>
|
|
765
832
|
</Grid>
|
|
766
833
|
</div>
|
|
@@ -776,36 +843,36 @@ export const NestedGrids: Story = {
|
|
|
776
843
|
export const BreakpointReference: Story = {
|
|
777
844
|
render: () => (
|
|
778
845
|
<div className="u-mb-8">
|
|
779
|
-
<
|
|
846
|
+
<h1 className="u-mb-6 u-text-brand-emphasis u-border-bottom u-pb-2">Breakpoint Reference</h1>
|
|
780
847
|
<p className="u-mb-6 u-text-secondary-emphasis">
|
|
781
848
|
The grid system uses these breakpoints. Resize your browser to see how columns adapt.
|
|
782
849
|
</p>
|
|
783
850
|
|
|
784
|
-
<
|
|
785
|
-
<
|
|
851
|
+
<Card className="u-mb-6">
|
|
852
|
+
<h3 className="u-mb-4 u-text-brand-emphasis">Breakpoint Sizes</h3>
|
|
786
853
|
<ul className="u-text-secondary-emphasis">
|
|
787
|
-
<li>
|
|
854
|
+
<li className="u-mb-2">
|
|
788
855
|
<strong>xs:</strong> 0px and up (all devices)
|
|
789
856
|
</li>
|
|
790
|
-
<li>
|
|
857
|
+
<li className="u-mb-2">
|
|
791
858
|
<strong>sm:</strong> 576px and up (tablets)
|
|
792
859
|
</li>
|
|
793
|
-
<li>
|
|
860
|
+
<li className="u-mb-2">
|
|
794
861
|
<strong>md:</strong> 768px and up (small laptops)
|
|
795
862
|
</li>
|
|
796
|
-
<li>
|
|
863
|
+
<li className="u-mb-2">
|
|
797
864
|
<strong>lg:</strong> 992px and up (large laptops)
|
|
798
865
|
</li>
|
|
799
|
-
<li>
|
|
866
|
+
<li className="u-mb-2">
|
|
800
867
|
<strong>xl:</strong> 1200px and up (desktops)
|
|
801
868
|
</li>
|
|
802
869
|
<li>
|
|
803
870
|
<strong>xxl:</strong> 1440px and up (large desktops)
|
|
804
871
|
</li>
|
|
805
872
|
</ul>
|
|
806
|
-
</
|
|
873
|
+
</Card>
|
|
807
874
|
|
|
808
|
-
<
|
|
875
|
+
<h2 className="u-mb-4 u-text-brand-emphasis">Responsive Behavior Demo</h2>
|
|
809
876
|
<p className="u-mb-4 u-text-secondary-emphasis">
|
|
810
877
|
These columns show different layouts at each breakpoint:
|
|
811
878
|
</p>
|
|
@@ -814,48 +881,48 @@ export const BreakpointReference: Story = {
|
|
|
814
881
|
<GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
|
|
815
882
|
<DemoCard variant="secondary">
|
|
816
883
|
<div className="u-fw-bold">Column 1</div>
|
|
817
|
-
<div className="u-fs-sm">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
884
|
+
<div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
818
885
|
</DemoCard>
|
|
819
886
|
</GridCol>
|
|
820
887
|
<GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
|
|
821
888
|
<DemoCard variant="secondary">
|
|
822
889
|
<div className="u-fw-bold">Column 2</div>
|
|
823
|
-
<div className="u-fs-sm">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
890
|
+
<div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
824
891
|
</DemoCard>
|
|
825
892
|
</GridCol>
|
|
826
893
|
<GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
|
|
827
894
|
<DemoCard variant="secondary">
|
|
828
895
|
<div className="u-fw-bold">Column 3</div>
|
|
829
|
-
<div className="u-fs-sm">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
896
|
+
<div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
830
897
|
</DemoCard>
|
|
831
898
|
</GridCol>
|
|
832
899
|
<GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
|
|
833
900
|
<DemoCard variant="secondary">
|
|
834
901
|
<div className="u-fw-bold">Column 4</div>
|
|
835
|
-
<div className="u-fs-sm">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
902
|
+
<div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
836
903
|
</DemoCard>
|
|
837
904
|
</GridCol>
|
|
838
905
|
<GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
|
|
839
906
|
<DemoCard variant="secondary">
|
|
840
907
|
<div className="u-fw-bold">Column 5</div>
|
|
841
|
-
<div className="u-fs-sm">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
908
|
+
<div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
842
909
|
</DemoCard>
|
|
843
910
|
</GridCol>
|
|
844
911
|
<GridCol xs={12} sm={6} md={4} lg={3} xl={2}>
|
|
845
912
|
<DemoCard variant="secondary">
|
|
846
913
|
<div className="u-fw-bold">Column 6</div>
|
|
847
|
-
<div className="u-fs-sm">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
914
|
+
<div className="u-fs-sm u-mt-2">xs=12, sm=6, md=4, lg=3, xl=2</div>
|
|
848
915
|
</DemoCard>
|
|
849
916
|
</GridCol>
|
|
850
917
|
</Grid>
|
|
851
918
|
|
|
852
|
-
<
|
|
853
|
-
<
|
|
919
|
+
<Card>
|
|
920
|
+
<h3 className="u-mb-3 u-text-brand-emphasis">Current Breakpoint</h3>
|
|
854
921
|
<p className="u-text-secondary-emphasis u-mb-0">
|
|
855
922
|
Resize your browser window to see how the columns above adapt to different screen sizes.
|
|
856
923
|
The grid system automatically adjusts the layout based on the available space.
|
|
857
924
|
</p>
|
|
858
|
-
</
|
|
925
|
+
</Card>
|
|
859
926
|
</div>
|
|
860
927
|
),
|
|
861
928
|
};
|