@shohojdhara/atomix 0.3.5 → 0.3.7

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.
Files changed (182) hide show
  1. package/README.md +101 -199
  2. package/atomix.config.ts +241 -0
  3. package/dist/atomix.css +260 -179
  4. package/dist/atomix.css.map +1 -1
  5. package/dist/atomix.min.css +250 -179
  6. package/dist/atomix.min.css.map +1 -1
  7. package/dist/charts.js +69 -166
  8. package/dist/charts.js.map +1 -1
  9. package/dist/core.js +184 -263
  10. package/dist/core.js.map +1 -1
  11. package/dist/forms.js +55 -131
  12. package/dist/forms.js.map +1 -1
  13. package/dist/heavy.js +184 -263
  14. package/dist/heavy.js.map +1 -1
  15. package/dist/index.d.ts +1831 -1657
  16. package/dist/index.esm.js +4497 -4318
  17. package/dist/index.esm.js.map +1 -1
  18. package/dist/index.js +4510 -4328
  19. package/dist/index.js.map +1 -1
  20. package/dist/index.min.js +1 -1
  21. package/dist/index.min.js.map +1 -1
  22. package/dist/theme.d.ts +1431 -1472
  23. package/dist/theme.js +4175 -4138
  24. package/dist/theme.js.map +1 -1
  25. package/package.json +6 -20
  26. package/src/components/Accordion/Accordion.stories.tsx +50 -17
  27. package/src/components/AtomixGlass/AtomixGlass.tsx +128 -322
  28. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +12 -5
  29. package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +1 -32
  30. package/src/components/AtomixGlass/stories/Examples.stories.tsx +2 -2
  31. package/src/components/AtomixGlass/stories/shared-components.tsx +0 -31
  32. package/src/components/Avatar/Avatar.stories.tsx +7 -0
  33. package/src/components/Badge/Badge.stories.tsx +91 -13
  34. package/src/components/Block/Block.stories.tsx +7 -23
  35. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +7 -0
  36. package/src/components/Button/Button.stories.tsx +141 -22
  37. package/src/components/Button/Button.tsx +85 -167
  38. package/src/components/Button/ButtonGroup.stories.tsx +315 -0
  39. package/src/components/Button/ButtonGroup.tsx +67 -0
  40. package/src/components/Button/index.ts +2 -0
  41. package/src/components/Callout/Callout.stories.tsx +8 -6
  42. package/src/components/Card/Card.stories.tsx +82 -28
  43. package/src/components/Chart/AnimatedChart.tsx +0 -1
  44. package/src/components/Chart/AreaChart.tsx +0 -1
  45. package/src/components/Chart/BarChart.tsx +0 -1
  46. package/src/components/Chart/BubbleChart.tsx +0 -1
  47. package/src/components/Chart/CandlestickChart.tsx +0 -1
  48. package/src/components/Chart/Chart.stories.tsx +5 -7
  49. package/src/components/Chart/Chart.tsx +0 -16
  50. package/src/components/Chart/ChartRenderer.tsx +1 -1
  51. package/src/components/Chart/DonutChart.tsx +0 -1
  52. package/src/components/Chart/FunnelChart.tsx +0 -1
  53. package/src/components/Chart/GaugeChart.tsx +0 -1
  54. package/src/components/Chart/HeatmapChart.tsx +0 -1
  55. package/src/components/Chart/LineChart.tsx +0 -1
  56. package/src/components/Chart/MultiAxisChart.tsx +0 -1
  57. package/src/components/Chart/PieChart.tsx +0 -1
  58. package/src/components/Chart/RadarChart.tsx +0 -1
  59. package/src/components/Chart/ScatterChart.tsx +0 -1
  60. package/src/components/Chart/WaterfallChart.tsx +0 -1
  61. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +7 -0
  62. package/src/components/DataTable/DataTable.stories.tsx +23 -16
  63. package/src/components/DatePicker/DatePicker.stories.tsx +27 -19
  64. package/src/components/Dropdown/Dropdown.stories.tsx +11 -19
  65. package/src/components/EdgePanel/EdgePanel.stories.tsx +1 -0
  66. package/src/components/Footer/Footer.stories.tsx +8 -6
  67. package/src/components/Footer/FooterLink.tsx +9 -2
  68. package/src/components/Form/Checkbox.stories.tsx +7 -0
  69. package/src/components/Form/Form.stories.tsx +7 -0
  70. package/src/components/Form/FormGroup.stories.tsx +9 -1
  71. package/src/components/Form/Input.stories.tsx +69 -16
  72. package/src/components/Form/Radio.stories.tsx +9 -1
  73. package/src/components/Form/Select.stories.tsx +9 -1
  74. package/src/components/Form/Textarea.stories.tsx +10 -2
  75. package/src/components/Hero/Hero.stories.tsx +7 -0
  76. package/src/components/List/List.stories.tsx +7 -0
  77. package/src/components/Messages/Messages.stories.tsx +8 -7
  78. package/src/components/Modal/Modal.stories.tsx +17 -6
  79. package/src/components/Navigation/Menu/Menu.stories.tsx +7 -0
  80. package/src/components/Navigation/Nav/Nav.stories.tsx +7 -0
  81. package/src/components/Navigation/Navbar/Navbar.stories.tsx +1 -0
  82. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +1 -1
  83. package/src/components/Pagination/Pagination.stories.tsx +188 -111
  84. package/src/components/Pagination/Pagination.tsx +83 -3
  85. package/src/components/PhotoViewer/PhotoViewer.stories.tsx +10 -5
  86. package/src/components/Popover/Popover.stories.tsx +191 -115
  87. package/src/components/ProductReview/ProductReview.stories.tsx +80 -58
  88. package/src/components/Progress/Progress.stories.tsx +79 -49
  89. package/src/components/Rating/Rating.stories.tsx +109 -84
  90. package/src/components/River/River.stories.tsx +194 -114
  91. package/src/components/SectionIntro/SectionIntro.stories.tsx +19 -9
  92. package/src/components/Slider/Slider.stories.tsx +7 -0
  93. package/src/components/Spinner/Spinner.stories.tsx +15 -11
  94. package/src/components/Steps/Steps.stories.tsx +132 -98
  95. package/src/components/Tabs/Tabs.stories.tsx +163 -112
  96. package/src/components/Testimonial/Testimonial.stories.tsx +114 -68
  97. package/src/components/Todo/Todo.stories.tsx +38 -12
  98. package/src/components/Toggle/Toggle.stories.tsx +61 -28
  99. package/src/components/Tooltip/Tooltip.stories.tsx +318 -200
  100. package/src/components/Upload/Upload.stories.tsx +122 -84
  101. package/src/components/VideoPlayer/VideoPlayer.stories.tsx +7 -24
  102. package/src/components/index.ts +1 -0
  103. package/src/lib/composables/useAtomixGlass.ts +9 -10
  104. package/src/lib/composables/useNavbar.ts +0 -10
  105. package/src/lib/config/loader.ts +4 -4
  106. package/src/lib/constants/components.ts +17 -0
  107. package/src/lib/hooks/useComponentCustomization.ts +1 -1
  108. package/src/lib/hooks/usePerformanceMonitor.ts +1 -1
  109. package/src/lib/hooks/useThemeTokens.ts +105 -0
  110. package/src/lib/theme/README.md +174 -0
  111. package/src/lib/theme/adapters/index.ts +31 -0
  112. package/src/lib/theme/adapters/themeAdapter.ts +287 -0
  113. package/src/lib/theme/config/__tests__/configLoader.test.ts +207 -0
  114. package/src/lib/theme/config/configLoader.ts +95 -0
  115. package/src/lib/theme/config/loader.ts +37 -54
  116. package/src/lib/theme/config/types.ts +2 -2
  117. package/src/lib/theme/config/validator.ts +15 -91
  118. package/src/lib/theme/{constants.ts → constants/constants.ts} +1 -19
  119. package/src/lib/theme/constants/index.ts +8 -0
  120. package/src/lib/theme/core/ThemeRegistry.ts +75 -266
  121. package/src/lib/theme/core/__tests__/createTheme.test.ts +132 -0
  122. package/src/lib/theme/core/composeTheme.ts +105 -0
  123. package/src/lib/theme/core/createTheme.ts +108 -0
  124. package/src/lib/theme/{createTheme.ts → core/createThemeObject.ts} +12 -8
  125. package/src/lib/theme/core/index.ts +19 -19
  126. package/src/lib/theme/devtools/Comparator.tsx +346 -22
  127. package/src/lib/theme/devtools/IMPROVEMENTS.md +139 -38
  128. package/src/lib/theme/devtools/Inspector.tsx +335 -51
  129. package/src/lib/theme/devtools/LiveEditor.tsx +478 -107
  130. package/src/lib/theme/devtools/Preview.tsx +471 -221
  131. package/src/lib/theme/{core → devtools}/ThemeValidator.ts +1 -1
  132. package/src/lib/theme/devtools/index.ts +14 -4
  133. package/src/lib/theme/devtools/useHistory.ts +130 -0
  134. package/src/lib/theme/{errors.ts → errors/errors.ts} +1 -1
  135. package/src/lib/theme/errors/index.ts +12 -0
  136. package/src/lib/theme/generators/cssFile.ts +79 -0
  137. package/src/lib/theme/generators/generateCSS.ts +89 -0
  138. package/src/lib/theme/generators/generateCSSNested.ts +130 -0
  139. package/src/lib/theme/{generateCSSVariables.ts → generators/generateCSSVariables.ts} +3 -13
  140. package/src/lib/theme/generators/index.ts +25 -0
  141. package/src/lib/theme/i18n/rtl.ts +5 -6
  142. package/src/lib/theme/index.ts +149 -19
  143. package/src/lib/theme/runtime/ThemeApplicator.ts +53 -112
  144. package/src/lib/theme/{ThemeContext.tsx → runtime/ThemeContext.tsx} +1 -1
  145. package/src/lib/theme/runtime/ThemeErrorBoundary.tsx +5 -5
  146. package/src/lib/theme/runtime/ThemeProvider.tsx +266 -282
  147. package/src/lib/theme/runtime/index.ts +2 -2
  148. package/src/lib/theme/runtime/useTheme.ts +1 -2
  149. package/src/lib/theme/runtime/useThemeTokens.ts +131 -0
  150. package/src/lib/theme/test/testTheme.ts +385 -0
  151. package/src/lib/theme/tokens/index.ts +12 -0
  152. package/src/lib/theme/tokens/tokens.ts +721 -0
  153. package/src/lib/theme/types.ts +6 -42
  154. package/src/lib/theme/utils/componentTheming.ts +132 -0
  155. package/src/lib/theme/{utils.ts → utils/domUtils.ts} +2 -2
  156. package/src/lib/theme/utils/index.ts +11 -0
  157. package/src/lib/theme/utils/injectCSS.ts +90 -0
  158. package/src/lib/theme/utils/naming.ts +100 -0
  159. package/src/lib/theme/utils/themeHelpers.ts +78 -0
  160. package/src/lib/theme/{themeUtils.ts → utils/themeUtils.ts} +7 -7
  161. package/src/lib/theme-tools.ts +7 -8
  162. package/src/lib/types/components.ts +40 -130
  163. package/src/lib/utils/componentUtils.ts +2 -2
  164. package/src/lib/utils/memoryMonitor.ts +3 -3
  165. package/src/lib/utils/themeNaming.ts +135 -0
  166. package/src/styles/01-settings/_settings.design-tokens.scss +4 -1
  167. package/src/styles/02-tools/_tools.button.scss +66 -79
  168. package/src/styles/06-components/_components.atomix-glass.scss +13 -3
  169. package/src/styles/06-components/_components.pagination.scss +88 -0
  170. package/scripts/sync-theme-config.js +0 -309
  171. package/src/lib/theme/composeTheme.ts +0 -370
  172. package/src/lib/theme/core/ThemeCache.ts +0 -283
  173. package/src/lib/theme/core/ThemeEngine.test.ts +0 -146
  174. package/src/lib/theme/core/ThemeEngine.ts +0 -665
  175. package/src/lib/theme/createThemeFromConfig.ts +0 -132
  176. package/src/lib/theme/devtools/CLI.ts +0 -364
  177. package/src/lib/theme/runtime/ThemeManager.test.ts +0 -192
  178. package/src/lib/theme/runtime/ThemeManager.ts +0 -446
  179. package/src/styles/03-generic/_generated-root.css +0 -26
  180. package/src/themes/README.md +0 -442
  181. package/src/themes/themes.config.js +0 -68
  182. /package/src/lib/theme/{cssVariableMapper.ts → adapters/cssVariableMapper.ts} +0 -0
@@ -10,7 +10,14 @@ const meta = {
10
10
  component: Slider,
11
11
  parameters: {
12
12
  layout: 'padded',
13
+ docs: {
14
+ description: {
15
+ component:
16
+ 'The Slider component provides a carousel/slideshow interface for displaying multiple items in a scrollable container. It supports horizontal and vertical orientations, navigation controls, pagination, autoplay, and various transition effects. Sliders are ideal for showcasing images, cards, testimonials, or any collection of content.',
17
+ },
18
+ },
13
19
  },
20
+ tags: ['autodocs'],
14
21
  argTypes: {
15
22
  slides: { control: 'object' },
16
23
  slidesToShow: { control: { type: 'number', min: 1, max: 5 } },
@@ -1,21 +1,30 @@
1
+ import React from 'react';
1
2
  import type { Meta, StoryObj } from '@storybook/react';
2
3
  import { Spinner } from './Spinner';
4
+ import { THEME_COLORS, SIZES } from '../../lib/constants/components';
3
5
 
4
6
  const meta = {
5
7
  title: 'Components/Spinner',
6
8
  component: Spinner,
7
9
  parameters: {
8
10
  layout: 'centered',
11
+ docs: {
12
+ description: {
13
+ component:
14
+ 'The Spinner component provides visual feedback during loading states. It displays an animated loading indicator that can be customized with different variants and sizes. Use spinners to indicate that content is being loaded or processed.',
15
+ },
16
+ },
9
17
  },
18
+ tags: ['autodocs'],
10
19
  argTypes: {
11
20
  variant: {
12
21
  control: { type: 'select' },
13
- options: ['primary', 'secondary', 'success', 'info', 'warning', 'error', 'light', 'dark'],
22
+ options: THEME_COLORS,
14
23
  description: 'The color variant of the spinner',
15
24
  },
16
25
  size: {
17
26
  control: { type: 'select' },
18
- options: ['sm', 'md', 'lg'],
27
+ options: SIZES,
19
28
  description: 'The size of the spinner',
20
29
  },
21
30
  fullscreen: {
@@ -26,7 +35,7 @@ const meta = {
26
35
  } satisfies Meta<typeof Spinner>;
27
36
 
28
37
  export default meta;
29
- type Story = StoryObj<typeof Spinner>;
38
+ type Story = StoryObj<typeof meta>;
30
39
 
31
40
  // Default Spinner
32
41
  export const Default: Story = {
@@ -52,14 +61,9 @@ export const Sizes: Story = {
52
61
  export const ColorVariants: Story = {
53
62
  render: () => (
54
63
  <div className="u-d-flex u-flex-wrap u-gap-3 u-align-items-center">
55
- <Spinner variant="primary" />
56
- <Spinner variant="secondary" />
57
- <Spinner variant="success" />
58
- <Spinner variant="info" />
59
- <Spinner variant="warning" />
60
- <Spinner variant="error" />
61
- <Spinner variant="light" />
62
- <Spinner variant="dark" />
64
+ {THEME_COLORS.map(color => (
65
+ <Spinner key={color} variant={color} />
66
+ ))}
63
67
  </div>
64
68
  ),
65
69
  };
@@ -1,19 +1,29 @@
1
1
  import React from 'react';
2
- import { StoryFn, Meta } from '@storybook/react';
3
- import { fn } from '@storybook/test';
2
+ import type { Meta, StoryObj } from '@storybook/react';
4
3
  import { Steps } from './Steps';
5
- import type { StepsProps } from './Steps';
6
4
 
7
- export default {
5
+ const meta = {
8
6
  title: 'Components/Steps',
9
7
  component: Steps,
8
+ parameters: {
9
+ layout: 'padded',
10
+ docs: {
11
+ description: {
12
+ component:
13
+ 'The Steps component displays a sequence of steps in a process or workflow. It provides visual progress indication and can be displayed horizontally or vertically. Steps are ideal for multi-step forms, onboarding flows, or any process that requires clear progress visualization.',
14
+ },
15
+ },
16
+ },
17
+ tags: ['autodocs'],
10
18
  argTypes: {
11
19
  activeIndex: {
12
20
  control: { type: 'number' },
21
+ description: 'The index of the currently active step',
13
22
  defaultValue: 1,
14
23
  },
15
24
  vertical: {
16
25
  control: { type: 'boolean' },
26
+ description: 'Whether to display steps vertically',
17
27
  defaultValue: false,
18
28
  },
19
29
  glass: {
@@ -21,103 +31,124 @@ export default {
21
31
  description: 'Enable glass morphism effect',
22
32
  },
23
33
  },
24
- } as Meta<typeof Steps>;
34
+ } satisfies Meta<typeof Steps>;
25
35
 
26
- const Template: StoryFn<typeof Steps> = args => (
27
- <div style={{ padding: '30px' }}>
28
- <Steps {...args} />
29
- </div>
30
- );
36
+ export default meta;
37
+ type Story = StoryObj<typeof meta>;
31
38
 
32
39
  // Default horizontal steps
33
- export const Default = Template.bind({});
34
- Default.args = {
35
- items: [
36
- { number: 1, text: 'Step 1' },
37
- { number: 2, text: 'Step 2' },
38
- { number: 3, text: 'Step 3' },
39
- { number: 4, text: 'Step 4' },
40
- { number: 5, text: 'Step 5' },
41
- ],
42
- activeIndex: 1,
43
- vertical: false,
40
+ export const Default: Story = {
41
+ render: args => (
42
+ <div style={{ padding: '30px' }}>
43
+ <Steps {...args} />
44
+ </div>
45
+ ),
46
+ args: {
47
+ items: [
48
+ { number: 1, text: 'Step 1' },
49
+ { number: 2, text: 'Step 2' },
50
+ { number: 3, text: 'Step 3' },
51
+ { number: 4, text: 'Step 4' },
52
+ { number: 5, text: 'Step 5' },
53
+ ],
54
+ activeIndex: 1,
55
+ vertical: false,
56
+ },
44
57
  };
45
58
 
46
59
  // Vertical steps
47
- export const Vertical = Template.bind({});
48
- Vertical.args = {
49
- items: [
50
- { number: 1, text: 'Step 1' },
51
- { number: 2, text: 'Step 2' },
52
- { number: 3, text: 'Step 3' },
53
- { number: 4, text: 'Step 4' },
54
- { number: 5, text: 'Step 5' },
55
- ],
56
- activeIndex: 1,
57
- vertical: true,
60
+ export const Vertical: Story = {
61
+ render: args => (
62
+ <div style={{ padding: '30px' }}>
63
+ <Steps {...args} />
64
+ </div>
65
+ ),
66
+ args: {
67
+ items: [
68
+ { number: 1, text: 'Step 1' },
69
+ { number: 2, text: 'Step 2' },
70
+ { number: 3, text: 'Step 3' },
71
+ { number: 4, text: 'Step 4' },
72
+ { number: 5, text: 'Step 5' },
73
+ ],
74
+ activeIndex: 1,
75
+ vertical: true,
76
+ },
58
77
  };
59
78
 
60
79
  // Steps with custom content
61
- export const WithCustomContent = Template.bind({});
62
- WithCustomContent.args = {
63
- items: [
64
- {
65
- number: 1,
66
- text: 'Registration',
67
- content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Create your account</p>,
68
- },
69
- {
70
- number: 2,
71
- text: 'Personal Info',
72
- content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Tell us about yourself</p>,
73
- },
74
- {
75
- number: 3,
76
- text: 'Preferences',
77
- content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Select your preferences</p>,
78
- },
79
- {
80
- number: 4,
81
- text: 'Payment',
82
- content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Add payment information</p>,
83
- },
84
- {
85
- number: 5,
86
- text: 'Confirmation',
87
- content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Complete your signup</p>,
88
- },
89
- ],
90
- activeIndex: 1,
91
- vertical: false,
80
+ export const WithCustomContent: Story = {
81
+ render: args => (
82
+ <div style={{ padding: '30px' }}>
83
+ <Steps {...args} />
84
+ </div>
85
+ ),
86
+ args: {
87
+ items: [
88
+ {
89
+ number: 1,
90
+ text: 'Registration',
91
+ content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Create your account</p>,
92
+ },
93
+ {
94
+ number: 2,
95
+ text: 'Personal Info',
96
+ content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Tell us about yourself</p>,
97
+ },
98
+ {
99
+ number: 3,
100
+ text: 'Preferences',
101
+ content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Select your preferences</p>,
102
+ },
103
+ {
104
+ number: 4,
105
+ text: 'Payment',
106
+ content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Add payment information</p>,
107
+ },
108
+ {
109
+ number: 5,
110
+ text: 'Confirmation',
111
+ content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Complete your signup</p>,
112
+ },
113
+ ],
114
+ activeIndex: 1,
115
+ vertical: false,
116
+ },
92
117
  };
93
118
 
94
119
  // Steps with custom icons instead of numbers
95
- export const WithIcons = Template.bind({});
96
- WithIcons.args = {
97
- items: [
98
- {
99
- number: <i className="icon-lux-user" style={{ fontSize: '16px' }}></i>,
100
- text: 'Account',
101
- },
102
- {
103
- number: <i className="icon-lux-settings" style={{ fontSize: '16px' }}></i>,
104
- text: 'Settings',
105
- },
106
- {
107
- number: <i className="icon-lux-calendar" style={{ fontSize: '16px' }}></i>,
108
- text: 'Schedule',
109
- },
110
- {
111
- number: <i className="icon-lux-card" style={{ fontSize: '16px' }}></i>,
112
- text: 'Payment',
113
- },
114
- {
115
- number: <i className="icon-lux-check" style={{ fontSize: '16px' }}></i>,
116
- text: 'Complete',
117
- },
118
- ],
119
- activeIndex: 1,
120
- vertical: false,
120
+ export const WithIcons: Story = {
121
+ render: args => (
122
+ <div style={{ padding: '30px' }}>
123
+ <Steps {...args} />
124
+ </div>
125
+ ),
126
+ args: {
127
+ items: [
128
+ {
129
+ number: <i className="icon-lux-user" style={{ fontSize: '16px' }}></i>,
130
+ text: 'Account',
131
+ },
132
+ {
133
+ number: <i className="icon-lux-settings" style={{ fontSize: '16px' }}></i>,
134
+ text: 'Settings',
135
+ },
136
+ {
137
+ number: <i className="icon-lux-calendar" style={{ fontSize: '16px' }}></i>,
138
+ text: 'Schedule',
139
+ },
140
+ {
141
+ number: <i className="icon-lux-card" style={{ fontSize: '16px' }}></i>,
142
+ text: 'Payment',
143
+ },
144
+ {
145
+ number: <i className="icon-lux-check" style={{ fontSize: '16px' }}></i>,
146
+ text: 'Complete',
147
+ },
148
+ ],
149
+ activeIndex: 1,
150
+ vertical: false,
151
+ },
121
152
  };
122
153
 
123
154
  // Interactive steps with buttons for navigation
@@ -155,13 +186,16 @@ const InteractiveSteps: React.FC = () => {
155
186
  );
156
187
  };
157
188
 
158
- export const Interactive: StoryFn<typeof Steps> = () => (
159
- <div style={{ padding: '30px' }}>
160
- <InteractiveSteps />
161
- </div>
162
- );
189
+ export const Interactive: Story = {
190
+ args: {} as any,
191
+ render: () => (
192
+ <div style={{ padding: '30px' }}>
193
+ <InteractiveSteps />
194
+ </div>
195
+ ),
196
+ };
163
197
 
164
- export const Glass = {
198
+ export const Glass: Story = {
165
199
  args: {
166
200
  items: [
167
201
  { number: 1, text: 'Glass Step 1' },
@@ -193,7 +227,7 @@ export const Glass = {
193
227
  ),
194
228
  };
195
229
 
196
- export const GlassVertical = {
230
+ export const GlassVertical: Story = {
197
231
  args: {
198
232
  items: [
199
233
  { number: 1, text: 'Glass Step 1' },
@@ -228,7 +262,7 @@ export const GlassVertical = {
228
262
  ),
229
263
  };
230
264
 
231
- export const GlassCustom = {
265
+ export const GlassCustom: Story = {
232
266
  args: {
233
267
  items: [
234
268
  { number: 1, text: 'Custom Glass Step 1' },
@@ -245,7 +279,7 @@ export const GlassCustom = {
245
279
  saturation: 200,
246
280
  aberrationIntensity: 0.8,
247
281
  cornerRadius: 12,
248
- },
282
+ } as any,
249
283
  },
250
284
  render: (args: any) => (
251
285
  <div