@shohojdhara/atomix 0.5.0 → 0.5.2

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 (168) hide show
  1. package/atomix.config.ts +12 -0
  2. package/build-tools/webpack-loader.js +5 -4
  3. package/dist/atomix.css +230 -83
  4. package/dist/atomix.css.map +1 -1
  5. package/dist/atomix.min.css +1 -1
  6. package/dist/atomix.min.css.map +1 -1
  7. package/dist/build-tools/webpack-loader.js +5 -4
  8. package/dist/charts.d.ts +24 -23
  9. package/dist/charts.js +271 -369
  10. package/dist/charts.js.map +1 -1
  11. package/dist/config.d.ts +624 -0
  12. package/dist/config.js +59 -0
  13. package/dist/config.js.map +1 -0
  14. package/dist/core.d.ts +3 -2
  15. package/dist/core.js +342 -382
  16. package/dist/core.js.map +1 -1
  17. package/dist/forms.d.ts +4 -6
  18. package/dist/forms.js +233 -334
  19. package/dist/forms.js.map +1 -1
  20. package/dist/heavy.d.ts +11 -2
  21. package/dist/heavy.js +406 -445
  22. package/dist/heavy.js.map +1 -1
  23. package/dist/index.d.ts +109 -65
  24. package/dist/index.esm.js +654 -748
  25. package/dist/index.esm.js.map +1 -1
  26. package/dist/index.js +621 -717
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.min.js +1 -1
  29. package/dist/index.min.js.map +1 -1
  30. package/dist/layout.js +59 -60
  31. package/dist/layout.js.map +1 -1
  32. package/dist/theme.js +4 -4
  33. package/dist/theme.js.map +1 -1
  34. package/package.json +24 -9
  35. package/scripts/atomix-cli.js +15 -1
  36. package/scripts/cli/__tests__/complexity-utils.test.js +24 -0
  37. package/scripts/cli/__tests__/detector.test.js +50 -0
  38. package/scripts/cli/__tests__/template-engine.test.js +23 -0
  39. package/scripts/cli/__tests__/test-setup.js +1 -133
  40. package/scripts/cli/commands/doctor.js +15 -3
  41. package/scripts/cli/commands/generate.js +113 -51
  42. package/scripts/cli/internal/ai-engine.js +30 -10
  43. package/scripts/cli/internal/complexity-utils.js +60 -0
  44. package/scripts/cli/internal/component-validator.js +49 -16
  45. package/scripts/cli/internal/generator.js +89 -36
  46. package/scripts/cli/internal/hook-generator.js +5 -2
  47. package/scripts/cli/internal/itcss-generator.js +16 -12
  48. package/scripts/cli/templates/next-templates.js +81 -30
  49. package/scripts/cli/templates/storybook-templates.js +12 -2
  50. package/scripts/cli/utils/detector.js +45 -7
  51. package/scripts/cli/utils/diagnostics.js +78 -0
  52. package/scripts/cli/utils/telemetry.js +13 -0
  53. package/src/components/Accordion/Accordion.stories.tsx +4 -0
  54. package/src/components/AtomixGlass/AtomixGlass.tsx +188 -128
  55. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +63 -91
  56. package/src/components/AtomixGlass/PerformanceDashboard.tsx +153 -201
  57. package/src/components/AtomixGlass/__snapshots__/AtomixGlass.test.tsx.snap +9 -6
  58. package/src/components/AtomixGlass/glass-utils.ts +51 -1
  59. package/src/components/AtomixGlass/stories/AnimationFeatures.stories.tsx +52 -46
  60. package/src/components/AtomixGlass/stories/Examples.stories.tsx +573 -236
  61. package/src/components/AtomixGlass/stories/Playground.stories.tsx +88 -41
  62. package/src/components/AtomixGlass/stories/argTypes.ts +19 -19
  63. package/src/components/AtomixGlass/stories/shared-components.tsx +7 -12
  64. package/src/components/AtomixGlass/stories/types.ts +3 -3
  65. package/src/components/Button/Button.tsx +114 -57
  66. package/src/components/Callout/Callout.tsx +4 -4
  67. package/src/components/Chart/ChartRenderer.tsx +1 -1
  68. package/src/components/Chart/DonutChart.tsx +11 -8
  69. package/src/components/EdgePanel/EdgePanel.tsx +119 -115
  70. package/src/components/Form/Select.tsx +4 -4
  71. package/src/components/List/List.tsx +4 -4
  72. package/src/components/Navigation/SideMenu/SideMenu.tsx +6 -6
  73. package/src/components/PhotoViewer/PhotoViewerImage.tsx +1 -1
  74. package/src/components/ProductReview/ProductReview.tsx +4 -2
  75. package/src/components/Rating/Rating.tsx +4 -2
  76. package/src/components/SectionIntro/SectionIntro.tsx +4 -2
  77. package/src/components/Steps/Steps.tsx +1 -1
  78. package/src/components/Tabs/Tabs.tsx +5 -5
  79. package/src/components/Testimonial/Testimonial.tsx +4 -2
  80. package/src/components/VideoPlayer/VideoPlayer.tsx +4 -2
  81. package/src/layouts/CssGrid/CssGrid.stories.tsx +464 -0
  82. package/src/layouts/CssGrid/CssGrid.tsx +215 -0
  83. package/src/layouts/CssGrid/index.ts +8 -0
  84. package/src/layouts/CssGrid/scripts/CssGrid.js +284 -0
  85. package/src/layouts/CssGrid/scripts/index.js +43 -0
  86. package/src/layouts/Grid/scripts/Container.js +139 -0
  87. package/src/layouts/Grid/scripts/Grid.js +184 -0
  88. package/src/layouts/Grid/scripts/GridCol.js +273 -0
  89. package/src/layouts/Grid/scripts/Row.js +154 -0
  90. package/src/layouts/Grid/scripts/index.js +48 -0
  91. package/src/layouts/MasonryGrid/MasonryGrid.tsx +71 -59
  92. package/src/lib/composables/atomix-glass/useGlassSize.ts +1 -1
  93. package/src/lib/composables/useAccordion.ts +5 -5
  94. package/src/lib/composables/useAtomixGlass.ts +111 -74
  95. package/src/lib/composables/useAtomixGlassStyles.ts +0 -2
  96. package/src/lib/composables/useBarChart.ts +2 -2
  97. package/src/lib/composables/useChart.ts +3 -2
  98. package/src/lib/composables/useChartToolbar.ts +48 -66
  99. package/src/lib/composables/useDataTable.ts +1 -1
  100. package/src/lib/composables/useDatePicker.ts +2 -2
  101. package/src/lib/composables/useEdgePanel.ts +45 -54
  102. package/src/lib/composables/useHeroBackgroundSlider.ts +5 -5
  103. package/src/lib/composables/usePhotoViewer.ts +2 -3
  104. package/src/lib/composables/usePieChart.ts +1 -1
  105. package/src/lib/composables/usePopover.ts +151 -139
  106. package/src/lib/composables/useSideMenu.ts +28 -41
  107. package/src/lib/composables/useSlider.ts +2 -6
  108. package/src/lib/composables/useTooltip.ts +2 -2
  109. package/src/lib/config/index.ts +39 -0
  110. package/src/lib/constants/components.ts +1 -0
  111. package/src/lib/theme/devtools/Comparator.tsx +1 -1
  112. package/src/lib/theme/devtools/Inspector.tsx +1 -1
  113. package/src/lib/theme/devtools/LiveEditor.tsx +1 -1
  114. package/src/lib/theme/runtime/ThemeProvider.tsx +1 -1
  115. package/src/lib/types/components.ts +1 -0
  116. package/src/styles/01-settings/_index.scss +1 -0
  117. package/src/styles/01-settings/_settings.atomix-glass.scss +174 -0
  118. package/src/styles/01-settings/_settings.masonry-grid.scss +42 -6
  119. package/src/styles/02-tools/_tools.glass.scss +6 -0
  120. package/src/styles/05-objects/_objects.masonry-grid.scss +162 -24
  121. package/src/styles/06-components/_components.atomix-glass.scss +160 -99
  122. package/scripts/cli/__tests__/README.md +0 -81
  123. package/scripts/cli/__tests__/basic.test.js +0 -116
  124. package/scripts/cli/__tests__/clean.test.js +0 -278
  125. package/scripts/cli/__tests__/component-generator.test.js +0 -332
  126. package/scripts/cli/__tests__/component-validator.test.js +0 -433
  127. package/scripts/cli/__tests__/generator.test.js +0 -613
  128. package/scripts/cli/__tests__/glass-motion.test.js +0 -256
  129. package/scripts/cli/__tests__/integration.test.js +0 -938
  130. package/scripts/cli/__tests__/migrate.test.js +0 -74
  131. package/scripts/cli/__tests__/security.test.js +0 -206
  132. package/scripts/cli/__tests__/theme-bridge.test.js +0 -507
  133. package/scripts/cli/__tests__/token-manager.test.js +0 -251
  134. package/scripts/cli/__tests__/token-provider.test.js +0 -361
  135. package/scripts/cli/__tests__/utils.test.js +0 -165
  136. package/src/components/AtomixGlass/stories/AnimationTests.stories.tsx +0 -95
  137. package/src/components/AtomixGlass/stories/CardExamples.stories.tsx +0 -212
  138. package/src/components/AtomixGlass/stories/Customization.stories.tsx +0 -131
  139. package/src/components/AtomixGlass/stories/DashboardExamples.stories.tsx +0 -348
  140. package/src/components/AtomixGlass/stories/EcommerceExamples.stories.tsx +0 -410
  141. package/src/components/AtomixGlass/stories/FormExamples.stories.tsx +0 -436
  142. package/src/components/AtomixGlass/stories/HeroExamples.stories.tsx +0 -264
  143. package/src/components/AtomixGlass/stories/InteractivePlayground.stories.tsx +0 -247
  144. package/src/components/AtomixGlass/stories/MobileUIExamples.stories.tsx +0 -418
  145. package/src/components/AtomixGlass/stories/ModalExamples.stories.tsx +0 -402
  146. package/src/components/AtomixGlass/stories/Modes.stories.tsx +0 -1082
  147. package/src/components/AtomixGlass/stories/Overview.stories.tsx +0 -497
  148. package/src/components/AtomixGlass/stories/Performance.stories.tsx +0 -103
  149. package/src/components/AtomixGlass/stories/PresetGallery.stories.tsx +0 -335
  150. package/src/components/AtomixGlass/stories/Shaders.stories.tsx +0 -395
  151. package/src/components/AtomixGlass/stories/WidgetExamples.stories.tsx +0 -441
  152. package/src/components/TypedButton/TypedButton.stories.tsx +0 -59
  153. package/src/components/TypedButton/TypedButton.tsx +0 -39
  154. package/src/components/TypedButton/index.ts +0 -2
  155. package/src/lib/composables/useBreadcrumb.ts +0 -81
  156. package/src/lib/composables/useChartInteractions.ts +0 -123
  157. package/src/lib/composables/useChartPerformance.ts +0 -347
  158. package/src/lib/composables/useDropdown.ts +0 -338
  159. package/src/lib/composables/useModal.ts +0 -110
  160. package/src/lib/composables/useTypedButton.ts +0 -66
  161. package/src/lib/hooks/usePerformanceMonitor.ts +0 -148
  162. package/src/lib/utils/displacement-generator.ts +0 -92
  163. package/src/lib/utils/memoryMonitor.ts +0 -191
  164. package/src/styles/01-settings/_settings.testtypecheck.scss +0 -53
  165. package/src/styles/01-settings/_settings.typedbutton.scss +0 -53
  166. package/src/styles/06-components/_components.testbutton.scss +0 -212
  167. package/src/styles/06-components/_components.testtypecheck.scss +0 -212
  168. package/src/styles/06-components/_components.typedbutton.scss +0 -212
@@ -1,335 +0,0 @@
1
- /**
2
- * PresetGallery.stories.tsx
3
- *
4
- * Gallery of pre-configured AtomixGlass presets for common use cases.
5
- * Provides quick starting points for different glass effects and styles.
6
- *
7
- * @package Atomix
8
- * @component AtomixGlass
9
- */
10
- import React from 'react';
11
- import { Meta, StoryObj } from '@storybook/react';
12
- import AtomixGlass from '../AtomixGlass';
13
- import { BackgroundWrapper, backgroundImages, StoryErrorBoundary } from './shared-components';
14
- import { baseArgTypes } from './argTypes';
15
-
16
- import { Button } from '../../Button/Button';
17
- import { Badge } from '../../Badge';
18
-
19
- const meta: Meta<typeof AtomixGlass> = {
20
- title: 'Components/AtomixGlass/Preset Gallery',
21
- component: AtomixGlass,
22
- parameters: {
23
- layout: 'centered',
24
- docs: {
25
- description: {
26
- component:
27
- 'Curated collection of pre-configured AtomixGlass presets for common design scenarios. Each preset is optimized for specific use cases and can be customized further.',
28
- },
29
- },
30
- },
31
- tags: ['autodocs'],
32
- argTypes: baseArgTypes,
33
- };
34
-
35
- export default meta;
36
- type Story = StoryObj<typeof AtomixGlass>;
37
-
38
- /**
39
- * Crystal Clear Preset
40
- *
41
- * Minimal glass effect with subtle distortion - perfect for clean, modern interfaces.
42
- */
43
- export const CrystalClear: Story = {
44
- render: () => (
45
- <StoryErrorBoundary>
46
- <BackgroundWrapper backgroundImage={backgroundImages[2]}>
47
- <div style={{ maxWidth: '500px' }}>
48
- <AtomixGlass
49
- displacementScale={40}
50
- blurAmount={0.75}
51
- saturation={120}
52
- aberrationIntensity={1.5}
53
- borderRadius={20}
54
- mode="standard"
55
- padding="40px"
56
- >
57
- <div className="u-text-center u-text-white">
58
- <Badge variant="secondary" className="u-mb-3">Crystal Clear</Badge>
59
- <h2 className="u-mt-0 u-text-2xl u-font-bold u-mb-2">
60
- Minimal Glass Effect
61
- </h2>
62
- <p className="u-text-sm u-opacity-90 u-mb-4" style={{ lineHeight: 1.6 }}>
63
- Clean and subtle glass morphism with minimal distortion. Perfect for
64
- modern, minimalist interfaces that need just a touch of depth.
65
- </p>
66
- <div className="u-flex u-gap-2 u-justify-center" style={{ gap: '8px' }}>
67
- <Button glass size="sm" variant="primary">Primary</Button>
68
- <Button glass size="sm" variant="outline-light">Secondary</Button>
69
- </div>
70
- </div>
71
- </AtomixGlass>
72
- </div>
73
- </BackgroundWrapper>
74
- </StoryErrorBoundary>
75
- ),
76
- parameters: {
77
- docs: {
78
- description: {
79
- story:
80
- 'Minimal preset with low displacement (40), moderate blur (0.75), and subtle aberration (1.5) for clean interfaces.',
81
- },
82
- },
83
- },
84
- };
85
-
86
- /**
87
- * Frosted Glass Preset
88
- *
89
- * Classic frosted glass effect with strong blur - ideal for cards and modals.
90
- */
91
- export const FrostedGlass: Story = {
92
- render: () => (
93
- <StoryErrorBoundary>
94
- <BackgroundWrapper backgroundImage={backgroundImages[6]} overlay overlayOpacity={0.3}>
95
- <div style={{ maxWidth: '500px' }}>
96
- <AtomixGlass
97
- displacementScale={60}
98
- blurAmount={2}
99
- saturation={130}
100
- aberrationIntensity={2}
101
- borderRadius={24}
102
- mode="standard"
103
- padding="40px"
104
- >
105
- <div className="u-text-center u-text-white">
106
- <Badge variant="primary" className="u-mb-3">Frosted Glass</Badge>
107
- <h2 className="u-mt-0 u-text-2xl u-font-bold u-mb-2">
108
- Classic Frosted Effect
109
- </h2>
110
- <p className="u-text-sm u-opacity-90 u-mb-4" style={{ lineHeight: 1.6 }}>
111
- Strong blur creates a pronounced frosted glass appearance. Excellent
112
- for cards, modals, and overlays that need to stand out.
113
- </p>
114
- <div
115
- style={{
116
- display: 'grid',
117
- gridTemplateColumns: 'repeat(2, 1fr)',
118
- gap: '16px',
119
- marginTop: '24px',
120
- }}
121
- >
122
- {[
123
- { label: 'Blur', value: '2.0' },
124
- { label: 'Displacement', value: '60' },
125
- { label: 'Saturation', value: '130%' },
126
- { label: 'Aberration', value: '2.0' },
127
- ].map((stat, index) => (
128
- <div
129
- key={index}
130
- style={{
131
- background: 'rgba(255,255,255,0.1)',
132
- padding: '12px',
133
- borderRadius: '12px',
134
- }}
135
- >
136
- <p className="u-m-0 u-text-xs u-opacity-70">{stat.label}</p>
137
- <p className="u-m-0 u-text-lg u-font-bold">{stat.value}</p>
138
- </div>
139
- ))}
140
- </div>
141
- </div>
142
- </AtomixGlass>
143
- </div>
144
- </BackgroundWrapper>
145
- </StoryErrorBoundary>
146
- ),
147
- parameters: {
148
- docs: {
149
- description: {
150
- story:
151
- 'Classic frosted glass preset with high blur (2.0), moderate displacement (60), and balanced saturation (130%).',
152
- },
153
- },
154
- },
155
- };
156
-
157
- /**
158
- * Liquid Chrome Preset
159
- *
160
- * High-distortion metallic liquid effect using shader mode.
161
- */
162
- export const LiquidChrome: Story = {
163
- render: () => (
164
- <StoryErrorBoundary>
165
- <BackgroundWrapper backgroundImage={backgroundImages[0]} overlay overlayOpacity={0.4}>
166
- <div style={{ maxWidth: '500px' }}>
167
- <AtomixGlass
168
- displacementScale={90}
169
- blurAmount={1.5}
170
- saturation={180}
171
- aberrationIntensity={3}
172
- borderRadius={28}
173
- mode="shader"
174
- shaderVariant="liquidGlass"
175
- padding="40px"
176
- >
177
- <div className="u-text-center u-text-white">
178
- <Badge variant="success" className="u-mb-3">Liquid Chrome</Badge>
179
- <h2 className="u-mt-0 u-text-2xl u-font-bold u-mb-2">
180
- Metallic Liquid Effect
181
- </h2>
182
- <p className="u-text-sm u-opacity-90 u-mb-4" style={{ lineHeight: 1.6 }}>
183
- High-displacement shader-based effect creating a flowing, metallic
184
- liquid appearance. Perfect for premium, eye-catching designs.
185
- </p>
186
-
187
- <div
188
- style={{
189
- background: 'linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05))',
190
- padding: '20px',
191
- borderRadius: '16px',
192
- marginTop: '24px',
193
- }}
194
- >
195
- <p className="u-m-0 u-text-xs u-font-semibold u-mb-2">Best For:</p>
196
- <ul
197
- className="u-m-0 u-text-sm u-opacity-90"
198
- style={{ textAlign: 'left', paddingLeft: '20px' }}
199
- >
200
- <li>Premium product showcases</li>
201
- <li>Hero sections</li>
202
- <li>Feature highlights</li>
203
- <li>Landing page focal points</li>
204
- </ul>
205
- </div>
206
- </div>
207
- </AtomixGlass>
208
- </div>
209
- </BackgroundWrapper>
210
- </StoryErrorBoundary>
211
- ),
212
- parameters: {
213
- docs: {
214
- description: {
215
- story:
216
- 'Premium liquid chrome preset using shader mode with high displacement (90), elevated saturation (180%), and strong aberration (3).',
217
- },
218
- },
219
- },
220
- };
221
-
222
- /**
223
- * Apple Fluid Preset
224
- *
225
- * Apple-inspired fluid glass effect with organic movement.
226
- */
227
- export const AppleFluid: Story = {
228
- render: () => (
229
- <StoryErrorBoundary>
230
- <BackgroundWrapper backgroundImage={backgroundImages[4]} overlay overlayOpacity={0.3}>
231
- <div style={{ maxWidth: '500px' }}>
232
- <AtomixGlass
233
- displacementScale={75}
234
- blurAmount={1}
235
- saturation={150}
236
- aberrationIntensity={2.5}
237
- borderRadius={26}
238
- mode="shader"
239
- shaderVariant="appleFluid"
240
- padding="40px"
241
- >
242
- <div className="u-text-center u-text-white">
243
- <Badge variant="outline-light" className="u-mb-3">Apple Fluid</Badge>
244
- <h2 className="u-mt-0 u-text-2xl u-font-bold u-mb-2">
245
- Organic Fluid Motion
246
- </h2>
247
- <p className="u-text-sm u-opacity-90 u-mb-4" style={{ lineHeight: 1.6 }}>
248
- Inspired by Apple's fluid design language. Creates smooth, organic
249
- glass distortions that feel alive and dynamic.
250
- </p>
251
-
252
- <div className="u-flex u-gap-2 u-justify-center u-flex-wrap" style={{ gap: '8px' }}>
253
- <Badge variant="secondary">Balanced</Badge>
254
- <Badge variant="secondary">Organic</Badge>
255
- <Badge variant="secondary">Dynamic</Badge>
256
- </div>
257
-
258
- <Button glass size="lg" variant="primary" className="u-mt-4">
259
- Explore Preset
260
- </Button>
261
- </div>
262
- </AtomixGlass>
263
- </div>
264
- </BackgroundWrapper>
265
- </StoryErrorBoundary>
266
- ),
267
- parameters: {
268
- docs: {
269
- description: {
270
- story:
271
- 'Apple-inspired fluid preset with shader mode, balanced displacement (75), and enhanced saturation (150%) for organic effects.',
272
- },
273
- },
274
- },
275
- };
276
-
277
- /**
278
- * Performance Mode Preset
279
- *
280
- * Optimized for mobile devices with reduced effects for better performance.
281
- */
282
- export const PerformanceMode: Story = {
283
- render: () => (
284
- <StoryErrorBoundary>
285
- <BackgroundWrapper backgroundImage={backgroundImages[1]}>
286
- <div style={{ maxWidth: '500px' }}>
287
- <AtomixGlass
288
- displacementScale={50}
289
- blurAmount={0}
290
- saturation={120}
291
- aberrationIntensity={1.5}
292
- borderRadius={20}
293
- mode="standard"
294
- devicePreset="performance"
295
- disableResponsiveBreakpoints={false}
296
- padding="40px"
297
- >
298
- <div className="u-text-center u-text-white">
299
- <Badge variant="success" className="u-mb-3">Performance Mode</Badge>
300
- <h2 className="u-mt-0 u-text-2xl u-font-bold u-mb-2">
301
- Mobile Optimized
302
- </h2>
303
- <p className="u-text-sm u-opacity-90 u-mb-4" style={{ lineHeight: 1.6 }}>
304
- Reduced effects for optimal performance on mobile devices. Maintains
305
- the glass aesthetic while minimizing GPU load.
306
- </p>
307
-
308
- <div
309
- style={{
310
- background: 'rgba(34, 197, 94, 0.15)',
311
- border: '1px solid rgba(34, 197, 94, 0.3)',
312
- padding: '16px',
313
- borderRadius: '12px',
314
- marginTop: '20px',
315
- }}
316
- >
317
- <p className="u-m-0 u-text-xs u-font-semibold" style={{ color: '#86efac' }}>
318
- ✓ Optimized for 60 FPS on mobile
319
- </p>
320
- </div>
321
- </div>
322
- </AtomixGlass>
323
- </div>
324
- </BackgroundWrapper>
325
- </StoryErrorBoundary>
326
- ),
327
- parameters: {
328
- docs: {
329
- description: {
330
- story:
331
- 'Performance-optimized preset with zero blur, low displacement (50), and reduced saturation (120%) for mobile devices.',
332
- },
333
- },
334
- },
335
- };