@shohojdhara/atomix 0.3.14 → 0.3.15
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/CHANGELOG.md +20 -0
- package/build-tools/EXAMPLES.md +372 -0
- package/build-tools/README.md +242 -0
- package/build-tools/__tests__/error-handler.test.js +230 -0
- package/build-tools/__tests__/index.test.js +141 -0
- package/build-tools/__tests__/rollup-plugin.test.js +194 -0
- package/build-tools/__tests__/utils.test.js +161 -0
- package/build-tools/__tests__/vite-plugin.test.js +129 -0
- package/build-tools/__tests__/webpack-loader.test.js +190 -0
- package/build-tools/error-handler.js +308 -0
- package/build-tools/index.d.ts +43 -0
- package/build-tools/index.js +88 -0
- package/build-tools/package.json +67 -0
- package/build-tools/rollup-plugin.js +236 -0
- package/build-tools/types.d.ts +163 -0
- package/build-tools/utils.js +203 -0
- package/build-tools/vite-plugin.js +161 -0
- package/build-tools/webpack-loader.js +123 -0
- package/dist/atomix.css +203 -90
- package/dist/atomix.css.map +1 -1
- package/dist/atomix.min.css +3 -3
- package/dist/atomix.min.css.map +1 -1
- package/dist/build-tools/EXAMPLES.md +372 -0
- package/dist/build-tools/README.md +242 -0
- package/dist/build-tools/__tests__/error-handler.test.js +230 -0
- package/dist/build-tools/__tests__/index.test.js +141 -0
- package/dist/build-tools/__tests__/rollup-plugin.test.js +194 -0
- package/dist/build-tools/__tests__/utils.test.js +161 -0
- package/dist/build-tools/__tests__/vite-plugin.test.js +129 -0
- package/dist/build-tools/__tests__/webpack-loader.test.js +190 -0
- package/dist/build-tools/error-handler.js +308 -0
- package/dist/build-tools/index.d.ts +43 -0
- package/dist/build-tools/index.js +88 -0
- package/dist/build-tools/package.json +67 -0
- package/dist/build-tools/rollup-plugin.js +236 -0
- package/dist/build-tools/types.d.ts +163 -0
- package/dist/build-tools/utils.js +203 -0
- package/dist/build-tools/vite-plugin.js +161 -0
- package/dist/build-tools/webpack-loader.js +123 -0
- package/dist/charts.d.ts +1 -1
- package/dist/charts.js +86 -57
- package/dist/charts.js.map +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.js +136 -112
- package/dist/core.js.map +1 -1
- package/dist/forms.d.ts +2 -5
- package/dist/forms.js +140 -128
- package/dist/forms.js.map +1 -1
- package/dist/heavy.d.ts +1 -1
- package/dist/heavy.js +136 -112
- package/dist/heavy.js.map +1 -1
- package/dist/index.d.ts +9 -61
- package/dist/index.esm.js +237 -286
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +250 -299
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +23 -8
- package/scripts/atomix-cli.js +170 -73
- package/scripts/cli/__tests__/README.md +81 -0
- package/scripts/cli/__tests__/basic.test.js +115 -0
- package/scripts/cli/__tests__/component-generator.test.js +332 -0
- package/scripts/cli/__tests__/integration.test.js +327 -0
- package/scripts/cli/__tests__/test-setup.js +133 -0
- package/scripts/cli/__tests__/token-manager.test.js +251 -0
- package/scripts/cli/__tests__/utils.test.js +161 -0
- package/scripts/cli/component-generator.js +253 -299
- package/scripts/cli/dependency-checker.js +355 -0
- package/scripts/cli/interactive-init.js +46 -5
- package/scripts/cli/template-manager.js +0 -2
- package/scripts/cli/templates/common-templates.js +636 -0
- package/scripts/cli/templates/composable-templates.js +148 -126
- package/scripts/cli/templates/index.js +23 -16
- package/scripts/cli/templates/project-templates.js +151 -23
- package/scripts/cli/templates/react-templates.js +280 -210
- package/scripts/cli/templates/scss-templates.js +90 -91
- package/scripts/cli/templates/testing-templates.js +206 -27
- package/scripts/cli/templates/testing-utils.js +278 -0
- package/scripts/cli/templates/types-templates.js +70 -56
- package/scripts/cli/theme-bridge.js +8 -2
- package/scripts/cli/token-manager.js +318 -206
- package/scripts/cli/utils.js +0 -1
- package/src/components/Accordion/Accordion.stories.tsx +369 -870
- package/src/components/AtomixGlass/AtomixGlass.tsx +80 -39
- package/src/components/AtomixGlass/AtomixGlassContainer.tsx +103 -81
- package/src/components/AtomixGlass/__snapshots__/AtomixGlass.test.tsx.snap +8 -7
- package/src/components/AtomixGlass/glass-utils.ts +2 -2
- package/src/components/AtomixGlass/shader-utils.ts +5 -0
- package/src/components/AtomixGlass/stories/Customization.stories.tsx +131 -0
- package/src/components/AtomixGlass/stories/Examples.stories.tsx +2957 -2853
- package/src/components/AtomixGlass/stories/Modes.stories.tsx +1 -1
- package/src/components/AtomixGlass/stories/Overview.stories.tsx +348 -0
- package/src/components/AtomixGlass/stories/Performance.stories.tsx +103 -0
- package/src/components/AtomixGlass/stories/Playground.stories.tsx +50 -35
- package/src/components/AtomixGlass/stories/{ShaderVariants.stories.tsx → Shaders.stories.tsx} +1 -1
- package/src/components/AtomixGlass/stories/shared-components.tsx +90 -190
- package/src/components/Avatar/Avatar.stories.tsx +213 -1
- package/src/components/Badge/Badge.stories.tsx +121 -362
- package/src/components/Block/Block.stories.tsx +21 -12
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +141 -23
- package/src/components/Button/Button.stories.tsx +463 -1126
- package/src/components/Button/Button.test.tsx +107 -0
- package/src/components/Button/Button.tsx +46 -50
- package/src/components/Button/ButtonGroup.stories.tsx +373 -217
- package/src/components/Callout/Callout.stories.tsx +289 -634
- package/src/components/Card/Card.stories.tsx +248 -68
- package/src/components/Chart/Chart.stories.tsx +150 -8
- package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +151 -69
- package/src/components/Countdown/Countdown.stories.tsx +115 -8
- package/src/components/DataTable/DataTable.stories.tsx +346 -146
- package/src/components/DatePicker/DatePicker.stories.tsx +325 -1066
- package/src/components/Dropdown/Dropdown.stories.tsx +153 -33
- package/src/components/EdgePanel/EdgePanel.stories.tsx +230 -21
- package/src/components/Footer/Footer.stories.tsx +392 -328
- package/src/components/Form/Checkbox.stories.tsx +140 -6
- package/src/components/Form/Checkbox.test.tsx +63 -0
- package/src/components/Form/Checkbox.tsx +87 -51
- package/src/components/Form/Form.stories.tsx +119 -20
- package/src/components/Form/FormGroup.stories.tsx +127 -4
- package/src/components/Form/Radio.stories.tsx +140 -5
- package/src/components/Form/Select.stories.tsx +140 -8
- package/src/components/Form/Textarea.stories.tsx +149 -6
- package/src/components/Hero/Hero.stories.tsx +333 -32
- package/src/components/List/List.stories.tsx +141 -3
- package/src/components/Modal/Modal.stories.tsx +181 -42
- package/src/components/Popover/Popover.stories.tsx +448 -98
- package/src/components/Progress/Progress.stories.tsx +167 -5
- package/src/components/River/River.stories.tsx +1 -1
- package/src/components/SectionIntro/SectionIntro.stories.tsx +240 -48
- package/src/components/Spinner/Spinner.stories.tsx +102 -8
- package/src/components/Steps/Steps.stories.tsx +172 -43
- package/src/components/Tabs/Tabs.stories.tsx +136 -10
- package/src/components/Testimonial/Testimonial.stories.tsx +120 -3
- package/src/components/Todo/Todo.stories.tsx +198 -9
- package/src/components/Toggle/Toggle.stories.tsx +126 -39
- package/src/components/Tooltip/Tooltip.stories.tsx +194 -104
- package/src/components/Upload/Upload.stories.tsx +113 -24
- package/src/lib/README.md +2 -2
- package/src/lib/__tests__/theme-tools.test.ts +193 -0
- package/src/lib/composables/index.ts +2 -2
- package/src/lib/composables/useAtomixGlass.ts +28 -56
- package/src/lib/composables/useChartExport.ts +2 -7
- package/src/lib/composables/useDataTable.ts +46 -29
- package/src/lib/constants/components.ts +9 -32
- package/src/lib/theme/devtools/CLI.ts +1 -1
- package/src/lib/types/components.ts +1 -1
- package/src/lib/utils/__tests__/csv.test.ts +45 -0
- package/src/lib/utils/csv.ts +17 -0
- package/src/lib/utils/dataTableExport.ts +1 -10
- package/src/styles/01-settings/_index.scss +2 -1
- package/src/styles/01-settings/_settings.accordion.scss +28 -7
- package/src/styles/01-settings/_settings.colors.scss +11 -11
- package/src/styles/01-settings/_settings.typography.scss +5 -5
- package/src/styles/02-tools/_tools.utility-api.scss +14 -0
- package/src/styles/06-components/_components.accordion.scss +56 -14
- package/src/styles/06-components/_components.checkbox.scss +23 -17
- package/src/styles/99-utilities/_index.scss +2 -0
- package/src/styles/99-utilities/_utilities.scss +3 -1
- package/src/styles/99-utilities/_utilities.text-gradient.scss +45 -0
- package/themes/dark-complementary/README.md +98 -0
- package/themes/dark-complementary/index.scss +158 -0
- package/themes/default-light/README.md +81 -0
- package/themes/default-light/index.scss +154 -0
- package/themes/high-contrast/README.md +105 -0
- package/themes/high-contrast/index.scss +172 -0
- package/themes/test-theme/README.md +38 -0
- package/themes/test-theme/index.scss +47 -0
- package/scripts/cli/templates-original-backup.js +0 -1655
- package/scripts/cli/templates_backup.js +0 -684
- package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +0 -1438
- package/src/lib/composables/useButton.ts +0 -93
- package/src/lib/composables/useCheckbox.ts +0 -70
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { fn } from '@storybook/test';
|
|
2
3
|
import { Grid } from '../../layouts/Grid/Grid';
|
|
3
4
|
import GridCol from '../../layouts/Grid/GridCol';
|
|
4
5
|
import { Button } from '../Button/Button';
|
|
5
6
|
import { Card } from '../Card/Card';
|
|
6
7
|
import { Block } from './Block';
|
|
7
8
|
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// META CONFIGURATION
|
|
11
|
+
// ============================================================================
|
|
12
|
+
|
|
8
13
|
const meta = {
|
|
9
14
|
title: 'Components/Block',
|
|
10
15
|
component: Block,
|
|
@@ -43,8 +48,12 @@ const meta = {
|
|
|
43
48
|
export default meta;
|
|
44
49
|
type Story = StoryObj<typeof meta>;
|
|
45
50
|
|
|
51
|
+
// ============================================================================
|
|
52
|
+
// STORY IMPLEMENTATIONS
|
|
53
|
+
// ============================================================================
|
|
54
|
+
|
|
46
55
|
// Basic usage
|
|
47
|
-
export const
|
|
56
|
+
export const BasicUsage: Story = {
|
|
48
57
|
args: {
|
|
49
58
|
children: (
|
|
50
59
|
<div>
|
|
@@ -100,7 +109,7 @@ export const HeroSection: Story = {
|
|
|
100
109
|
<div className="u-text-center">
|
|
101
110
|
<h1>Welcome to Our Platform</h1>
|
|
102
111
|
<p>Experience the power of modern web development with our comprehensive design system.</p>
|
|
103
|
-
<Button size="lg" variant="secondary">
|
|
112
|
+
<Button size="lg" variant="secondary" onClick={fn()}>
|
|
104
113
|
Get Started
|
|
105
114
|
</Button>
|
|
106
115
|
</div>
|
|
@@ -169,7 +178,7 @@ export const ArticleLayout: Story = {
|
|
|
169
178
|
<Block spacing="md" container={{ type: 'sm' }} background="secondary">
|
|
170
179
|
<h3>Ready to get started?</h3>
|
|
171
180
|
<p>Join thousands of developers building with our design system.</p>
|
|
172
|
-
<Button variant="primary">Start Building</Button>
|
|
181
|
+
<Button variant="primary" onClick={fn()}>Start Building</Button>
|
|
173
182
|
</Block>
|
|
174
183
|
</div>
|
|
175
184
|
),
|
|
@@ -292,10 +301,10 @@ export const ContentPreview: Story = {
|
|
|
292
301
|
A comprehensive design system with reusable components and consistent design patterns
|
|
293
302
|
</p>
|
|
294
303
|
<div className="u-mb-4">
|
|
295
|
-
<Button size="lg" variant="secondary" className="u-me-2">
|
|
304
|
+
<Button size="lg" variant="secondary" className="u-me-2" onClick={fn()}>
|
|
296
305
|
Get Started
|
|
297
306
|
</Button>
|
|
298
|
-
<Button size="lg" variant="invert" className="u-ms-2">
|
|
307
|
+
<Button size="lg" variant="invert" className="u-ms-2" onClick={fn()}>
|
|
299
308
|
Learn More
|
|
300
309
|
</Button>
|
|
301
310
|
</div>
|
|
@@ -311,10 +320,10 @@ export const ContentPreview: Story = {
|
|
|
311
320
|
text="Multiple variants and sizes for all use cases"
|
|
312
321
|
actions={
|
|
313
322
|
<div>
|
|
314
|
-
<Button variant="primary" size="sm" className="u-me-1">
|
|
323
|
+
<Button variant="primary" size="sm" className="u-me-1" onClick={fn()}>
|
|
315
324
|
Primary
|
|
316
325
|
</Button>
|
|
317
|
-
<Button variant="secondary" size="sm">
|
|
326
|
+
<Button variant="secondary" size="sm" onClick={fn()}>
|
|
318
327
|
Secondary
|
|
319
328
|
</Button>
|
|
320
329
|
</div>
|
|
@@ -325,14 +334,14 @@ export const ContentPreview: Story = {
|
|
|
325
334
|
<Card
|
|
326
335
|
title="Cards"
|
|
327
336
|
text="Flexible content containers with multiple options"
|
|
328
|
-
actions={<Button variant="primary">View Details</Button>}
|
|
337
|
+
actions={<Button variant="primary" onClick={fn()}>View Details</Button>}
|
|
329
338
|
/>
|
|
330
339
|
</GridCol>
|
|
331
340
|
<GridCol xs={12} md={6} lg={4}>
|
|
332
341
|
<Card
|
|
333
342
|
title="Blocks"
|
|
334
343
|
text="Layout containers with consistent spacing and backgrounds"
|
|
335
|
-
actions={<Button variant="primary">Learn More</Button>}
|
|
344
|
+
actions={<Button variant="primary" onClick={fn()}>Learn More</Button>}
|
|
336
345
|
/>
|
|
337
346
|
</GridCol>
|
|
338
347
|
</Grid>
|
|
@@ -378,10 +387,10 @@ export const ContentPreview: Story = {
|
|
|
378
387
|
Join thousands of developers and designers building with Atomix Design System
|
|
379
388
|
</p>
|
|
380
389
|
<div>
|
|
381
|
-
<Button size="lg" variant="primary" className="u-me-2">
|
|
390
|
+
<Button size="lg" variant="primary" className="u-me-2" onClick={fn()}>
|
|
382
391
|
Documentation
|
|
383
392
|
</Button>
|
|
384
|
-
<Button size="lg" variant="secondary" className="u-ms-2">
|
|
393
|
+
<Button size="lg" variant="secondary" className="u-ms-2" onClick={fn()}>
|
|
385
394
|
Examples
|
|
386
395
|
</Button>
|
|
387
396
|
</div>
|
|
@@ -389,4 +398,4 @@ export const ContentPreview: Story = {
|
|
|
389
398
|
</Block>
|
|
390
399
|
</div>
|
|
391
400
|
),
|
|
392
|
-
};
|
|
401
|
+
};
|
|
@@ -1,33 +1,78 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { fn } from '@storybook/test';
|
|
2
3
|
import { Icon } from '../Icon';
|
|
3
4
|
import { Breadcrumb } from './Breadcrumb';
|
|
4
5
|
|
|
5
|
-
const meta = {
|
|
6
|
+
const meta: Meta<typeof Breadcrumb> = {
|
|
6
7
|
title: 'Components/Breadcrumb',
|
|
7
8
|
component: Breadcrumb,
|
|
8
9
|
parameters: {
|
|
9
|
-
layout: '
|
|
10
|
+
layout: 'padded',
|
|
10
11
|
docs: {
|
|
11
12
|
description: {
|
|
12
|
-
component:
|
|
13
|
-
|
|
13
|
+
component: `
|
|
14
|
+
# Breadcrumb Component
|
|
15
|
+
|
|
16
|
+
The Breadcrumb component provides navigation context by showing the current page location within a site hierarchy. It helps users understand where they are and provides quick navigation to parent pages. Breadcrumbs support custom dividers, icons, and are fully accessible.
|
|
17
|
+
|
|
18
|
+
## Features
|
|
19
|
+
- Clear hierarchical navigation
|
|
20
|
+
- Support for custom dividers
|
|
21
|
+
- Icon integration
|
|
22
|
+
- Keyboard navigation support
|
|
23
|
+
- Full accessibility compliance
|
|
24
|
+
- Responsive design
|
|
25
|
+
|
|
26
|
+
## Accessibility
|
|
27
|
+
- Semantic navigation landmark with aria-label
|
|
28
|
+
- Proper heading order
|
|
29
|
+
- Keyboard navigation support (Tab, Enter, Space)
|
|
30
|
+
- Screen reader friendly markup
|
|
31
|
+
`,
|
|
14
32
|
},
|
|
15
33
|
},
|
|
16
34
|
},
|
|
17
35
|
tags: ['autodocs'],
|
|
18
36
|
argTypes: {
|
|
19
|
-
items: {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
37
|
+
items: {
|
|
38
|
+
control: 'object',
|
|
39
|
+
description: 'Array of breadcrumb items with label, href, and optional properties',
|
|
40
|
+
table: {
|
|
41
|
+
type: { summary: 'BreadcrumbItem[]' },
|
|
42
|
+
defaultValue: { summary: '[]' },
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
divider: {
|
|
46
|
+
control: 'text',
|
|
47
|
+
description: 'Custom divider character or component between breadcrumb items',
|
|
48
|
+
table: {
|
|
49
|
+
type: { summary: 'string | ReactNode' },
|
|
50
|
+
defaultValue: { summary: '>' },
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
className: {
|
|
54
|
+
control: 'text',
|
|
55
|
+
description: 'Additional CSS classes',
|
|
56
|
+
table: {
|
|
57
|
+
type: { summary: 'string' },
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
'aria-label': {
|
|
61
|
+
control: 'text',
|
|
62
|
+
description: 'Label for the navigation landmark',
|
|
63
|
+
table: {
|
|
64
|
+
type: { summary: 'string' },
|
|
65
|
+
defaultValue: { summary: 'Breadcrumb' },
|
|
66
|
+
},
|
|
67
|
+
},
|
|
23
68
|
},
|
|
24
69
|
} satisfies Meta<typeof Breadcrumb>;
|
|
25
70
|
|
|
26
71
|
export default meta;
|
|
27
72
|
type Story = StoryObj<typeof meta>;
|
|
28
73
|
|
|
29
|
-
//
|
|
30
|
-
export const
|
|
74
|
+
// Basic Breadcrumb
|
|
75
|
+
export const BasicUsage: Story = {
|
|
31
76
|
args: {
|
|
32
77
|
items: [
|
|
33
78
|
{ label: 'Home', href: '/' },
|
|
@@ -36,6 +81,13 @@ export const Default: Story = {
|
|
|
36
81
|
{ label: 'Product Name', active: true },
|
|
37
82
|
],
|
|
38
83
|
},
|
|
84
|
+
parameters: {
|
|
85
|
+
docs: {
|
|
86
|
+
description: {
|
|
87
|
+
story: 'Simple breadcrumb with basic text links showing site hierarchy.',
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
},
|
|
39
91
|
};
|
|
40
92
|
|
|
41
93
|
// Breadcrumb with Icons
|
|
@@ -64,10 +116,17 @@ export const WithIcons: Story = {
|
|
|
64
116
|
},
|
|
65
117
|
],
|
|
66
118
|
},
|
|
119
|
+
parameters: {
|
|
120
|
+
docs: {
|
|
121
|
+
description: {
|
|
122
|
+
story: 'Breadcrumb with icons for each item to enhance visual recognition.',
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
},
|
|
67
126
|
};
|
|
68
127
|
|
|
69
128
|
// Breadcrumb with Custom Divider
|
|
70
|
-
export const
|
|
129
|
+
export const WithCustomDivider: Story = {
|
|
71
130
|
args: {
|
|
72
131
|
items: [
|
|
73
132
|
{ label: 'Home', href: '/' },
|
|
@@ -77,6 +136,13 @@ export const CustomDivider: Story = {
|
|
|
77
136
|
],
|
|
78
137
|
divider: '/',
|
|
79
138
|
},
|
|
139
|
+
parameters: {
|
|
140
|
+
docs: {
|
|
141
|
+
description: {
|
|
142
|
+
story: 'Breadcrumb with custom divider character instead of the default arrow.',
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
},
|
|
80
146
|
};
|
|
81
147
|
|
|
82
148
|
// Breadcrumb with Click Handlers
|
|
@@ -86,28 +152,80 @@ export const WithClickHandlers: Story = {
|
|
|
86
152
|
{
|
|
87
153
|
label: 'Home',
|
|
88
154
|
href: '/',
|
|
89
|
-
onClick:
|
|
90
|
-
e.preventDefault();
|
|
91
|
-
alert('Home clicked');
|
|
92
|
-
},
|
|
155
|
+
onClick: fn(),
|
|
93
156
|
},
|
|
94
157
|
{
|
|
95
158
|
label: 'Products',
|
|
96
159
|
href: '/products',
|
|
97
|
-
onClick:
|
|
98
|
-
e.preventDefault();
|
|
99
|
-
alert('Products clicked');
|
|
100
|
-
},
|
|
160
|
+
onClick: fn(),
|
|
101
161
|
},
|
|
102
162
|
{
|
|
103
163
|
label: 'Category',
|
|
104
164
|
href: '/products/category',
|
|
105
|
-
onClick:
|
|
106
|
-
e.preventDefault();
|
|
107
|
-
alert('Category clicked');
|
|
108
|
-
},
|
|
165
|
+
onClick: fn(),
|
|
109
166
|
},
|
|
110
167
|
{ label: 'Product Name', active: true },
|
|
111
168
|
],
|
|
112
169
|
},
|
|
170
|
+
parameters: {
|
|
171
|
+
docs: {
|
|
172
|
+
description: {
|
|
173
|
+
story: 'Breadcrumb with click handlers to demonstrate client-side navigation.',
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
// Breadcrumb with Mixed Interactions
|
|
180
|
+
export const WithMixedInteractions: Story = {
|
|
181
|
+
args: {
|
|
182
|
+
items: [
|
|
183
|
+
{ label: 'Home', href: '/' },
|
|
184
|
+
{
|
|
185
|
+
label: 'Products',
|
|
186
|
+
onClick: fn(),
|
|
187
|
+
// Simulating client-side navigation
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
label: 'Category',
|
|
191
|
+
href: '/products/category',
|
|
192
|
+
icon: <Icon name="Folder" size="sm" />,
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
label: 'Product Name',
|
|
196
|
+
active: true,
|
|
197
|
+
icon: <Icon name="Tag" size="sm" />,
|
|
198
|
+
},
|
|
199
|
+
],
|
|
200
|
+
divider: '|',
|
|
201
|
+
},
|
|
202
|
+
parameters: {
|
|
203
|
+
docs: {
|
|
204
|
+
description: {
|
|
205
|
+
story: 'Breadcrumb combining both traditional link navigation and client-side interactions.',
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
},
|
|
113
209
|
};
|
|
210
|
+
|
|
211
|
+
// Long Breadcrumb Path
|
|
212
|
+
export const LongBreadcrumbPath: Story = {
|
|
213
|
+
args: {
|
|
214
|
+
items: [
|
|
215
|
+
{ label: 'Home', href: '/' },
|
|
216
|
+
{ label: 'Products', href: '/products' },
|
|
217
|
+
{ label: 'Electronics', href: '/products/electronics' },
|
|
218
|
+
{ label: 'Computers', href: '/products/electronics/computers' },
|
|
219
|
+
{ label: 'Laptops', href: '/products/electronics/computers/laptops' },
|
|
220
|
+
{ label: 'Gaming Laptops', href: '/products/electronics/computers/laptops/gaming' },
|
|
221
|
+
{ label: 'Current Product', active: true },
|
|
222
|
+
],
|
|
223
|
+
},
|
|
224
|
+
parameters: {
|
|
225
|
+
docs: {
|
|
226
|
+
description: {
|
|
227
|
+
story: 'Long breadcrumb path demonstrating responsive behavior with many levels.',
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
};
|