@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,348 +0,0 @@
1
- /**
2
- * DashboardExamples.stories.tsx
3
- *
4
- * Dashboard UI components and widgets using AtomixGlass.
5
- * Perfect for analytics, stats cards, and data visualization interfaces.
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 { Badge } from '../../Badge';
17
- import { Icon } from '../../Icon/Icon';
18
-
19
- const meta: Meta<typeof AtomixGlass> = {
20
- title: 'Components/AtomixGlass/Examples/Dashboard Examples',
21
- component: AtomixGlass,
22
- parameters: {
23
- layout: 'fullscreen',
24
- docs: {
25
- description: {
26
- component:
27
- 'Dashboard UI examples demonstrating AtomixGlass for analytics, statistics, and data visualization interfaces.',
28
- },
29
- },
30
- },
31
- tags: ['!autodocs'],
32
- argTypes: {
33
- ...baseArgTypes,
34
- children: { control: false },
35
- },
36
- };
37
-
38
- export default meta;
39
- type Story = StoryObj<typeof AtomixGlass>;
40
-
41
- /**
42
- * Analytics Dashboard
43
- *
44
- * Complete dashboard layout with multiple stats cards and metrics.
45
- */
46
- export const AnalyticsDashboard: Story = {
47
- render: () => (
48
- <StoryErrorBoundary>
49
- <BackgroundWrapper backgroundImage={backgroundImages[5]} overlay overlayOpacity={0.4}>
50
- <div style={{ padding: '40px 24px', minHeight: '100vh' }}>
51
- <div className="u-mb-5 u-text-white">
52
- <h1 className="u-m-0 u-text-3xl u-font-bold">Analytics Overview</h1>
53
- <p className="u-mt-1 u-opacity-80">Track your performance metrics</p>
54
- </div>
55
-
56
- {/* Stats Grid */}
57
- <div
58
- style={{
59
- display: 'grid',
60
- gridTemplateColumns: 'repeat(auto-fit, minmax(280px, 1fr))',
61
- gap: '24px',
62
- marginBottom: '32px',
63
- }}
64
- >
65
- {/* Revenue Card */}
66
- <AtomixGlass
67
- displacementScale={60}
68
- blurAmount={0.5}
69
- saturation={130}
70
- borderRadius={20}
71
- mode="standard"
72
- padding="28px"
73
- >
74
- <div className="u-text-white">
75
- <div className="u-flex u-items-center u-justify-between u-mb-3">
76
- <div
77
- style={{
78
- width: '48px',
79
- height: '48px',
80
- borderRadius: '12px',
81
- background: 'rgba(99, 102, 241, 0.2)',
82
- display: 'flex',
83
- alignItems: 'center',
84
- justifyContent: 'center',
85
- fontSize: '24px',
86
- }}
87
- aria-hidden="true"
88
- >
89
- 💰
90
- </div>
91
- <Badge variant="success">+12.5%</Badge>
92
- </div>
93
- <p className="u-text-sm u-opacity-80 u-mb-1">Total Revenue</p>
94
- <h3 className="u-mt-0 u-text-3xl u-font-bold u-mb-2">$48,295</h3>
95
- <p className="u-text-xs u-opacity-70">Compared to $42,890 last month</p>
96
- </div>
97
- </AtomixGlass>
98
-
99
- {/* Users Card */}
100
- <AtomixGlass
101
- displacementScale={60}
102
- blurAmount={0.5}
103
- saturation={130}
104
- borderRadius={20}
105
- mode="standard"
106
- padding="28px"
107
- >
108
- <div className="u-text-white">
109
- <div className="u-flex u-items-center u-justify-between u-mb-3">
110
- <div
111
- style={{
112
- width: '48px',
113
- height: '48px',
114
- borderRadius: '12px',
115
- background: 'rgba(168, 85, 247, 0.2)',
116
- display: 'flex',
117
- alignItems: 'center',
118
- justifyContent: 'center',
119
- fontSize: '24px',
120
- }}
121
- aria-hidden="true"
122
- >
123
- 👥
124
- </div>
125
- <Badge variant="success">+8.2%</Badge>
126
- </div>
127
- <p className="u-text-sm u-opacity-80 u-mb-1">Active Users</p>
128
- <h3 className="u-mt-0 u-text-3xl u-font-bold u-mb-2">12,847</h3>
129
- <p className="u-text-xs u-opacity-70">1,234 users online now</p>
130
- </div>
131
- </AtomixGlass>
132
-
133
- {/* Orders Card */}
134
- <AtomixGlass
135
- displacementScale={60}
136
- blurAmount={0.5}
137
- saturation={130}
138
- borderRadius={20}
139
- mode="standard"
140
- padding="28px"
141
- >
142
- <div className="u-text-white">
143
- <div className="u-flex u-items-center u-justify-between u-mb-3">
144
- <div
145
- style={{
146
- width: '48px',
147
- height: '48px',
148
- borderRadius: '12px',
149
- background: 'rgba(236, 72, 153, 0.2)',
150
- display: 'flex',
151
- alignItems: 'center',
152
- justifyContent: 'center',
153
- fontSize: '24px',
154
- }}
155
- aria-hidden="true"
156
- >
157
- 📦
158
- </div>
159
- <Badge variant="danger">-3.1%</Badge>
160
- </div>
161
- <p className="u-text-sm u-opacity-80 u-mb-1">Total Orders</p>
162
- <h3 className="u-mt-0 u-text-3xl u-font-bold u-mb-2">1,429</h3>
163
- <p className="u-text-xs u-opacity-70">Compared to 1,475 last month</p>
164
- </div>
165
- </AtomixGlass>
166
-
167
- {/* Conversion Card */}
168
- <AtomixGlass
169
- displacementScale={60}
170
- blurAmount={0.5}
171
- saturation={130}
172
- borderRadius={20}
173
- mode="standard"
174
- padding="28px"
175
- >
176
- <div className="u-text-white">
177
- <div className="u-flex u-items-center u-justify-between u-mb-3">
178
- <div
179
- style={{
180
- width: '48px',
181
- height: '48px',
182
- borderRadius: '12px',
183
- background: 'rgba(251, 191, 36, 0.2)',
184
- display: 'flex',
185
- alignItems: 'center',
186
- justifyContent: 'center',
187
- fontSize: '24px',
188
- }}
189
- aria-hidden="true"
190
- >
191
- 📈
192
- </div>
193
- <Badge variant="success">+4.3%</Badge>
194
- </div>
195
- <p className="u-text-sm u-opacity-80 u-mb-1">Conversion Rate</p>
196
- <h3 className="u-mt-0 u-text-3xl u-font-bold u-mb-2">3.24%</h3>
197
- <p className="u-text-xs u-opacity-70">Industry average: 2.86%</p>
198
- </div>
199
- </AtomixGlass>
200
- </div>
201
-
202
- {/* Recent Activity Section */}
203
- <AtomixGlass
204
- displacementScale={65}
205
- blurAmount={0.6}
206
- saturation={135}
207
- borderRadius={20}
208
- mode="standard"
209
- >
210
- <div className="u-text-white" style={{ padding: '28px' }}>
211
- <h2 className="u-mt-0 u-text-xl u-font-bold u-mb-4">Recent Activity</h2>
212
-
213
- <div className="u-divide-y" style={{ borderColor: 'rgba(255,255,255,0.1)' }}>
214
- {[
215
- { action: 'New order received', time: '2 minutes ago', icon: '🛒', color: 'rgba(99, 102, 241, 0.2)' },
216
- { action: 'Payment processed', time: '15 minutes ago', icon: '💳', color: 'rgba(34, 197, 94, 0.2)' },
217
- { action: 'User registered', time: '1 hour ago', icon: '👤', color: 'rgba(168, 85, 247, 0.2)' },
218
- { action: 'Product updated', time: '3 hours ago', icon: '✏️', color: 'rgba(251, 191, 36, 0.2)' },
219
- ].map((item, index) => (
220
- <div key={index} className="u-py-3 u-flex u-items-center u-gap-3">
221
- <div
222
- style={{
223
- width: '40px',
224
- height: '40px',
225
- borderRadius: '10px',
226
- background: item.color,
227
- display: 'flex',
228
- alignItems: 'center',
229
- justifyContent: 'center',
230
- fontSize: '20px',
231
- flexShrink: 0,
232
- }}
233
- aria-hidden="true"
234
- >
235
- {item.icon}
236
- </div>
237
- <div className="u-flex-1">
238
- <p className="u-m-0 u-font-medium">{item.action}</p>
239
- <p className="u-m-0 u-text-xs u-opacity-70">{item.time}</p>
240
- </div>
241
- </div>
242
- ))}
243
- </div>
244
- </div>
245
- </AtomixGlass>
246
- </div>
247
- </BackgroundWrapper>
248
- </StoryErrorBoundary>
249
- ),
250
- parameters: {
251
- docs: {
252
- description: {
253
- story:
254
- 'Complete analytics dashboard with stats cards, trend indicators, and recent activity feed.',
255
- },
256
- },
257
- },
258
- };
259
-
260
- /**
261
- * Weather Widget
262
- *
263
- * Compact weather information card with forecast.
264
- */
265
- export const WeatherWidget: Story = {
266
- render: () => (
267
- <StoryErrorBoundary>
268
- <BackgroundWrapper backgroundImage={backgroundImages[4]} overlay overlayOpacity={0.3}>
269
- <div style={{ maxWidth: '340px' }}>
270
- <AtomixGlass
271
- displacementScale={70}
272
- blurAmount={0.75}
273
- saturation={140}
274
- borderRadius={24}
275
- mode="standard"
276
- padding="32px"
277
- >
278
- <div className="u-text-center u-text-white">
279
- <div
280
- style={{
281
- fontSize: '64px',
282
- margin: '0 auto 16px',
283
- filter: 'drop-shadow(0 4px 8px rgba(0,0,0,0.2))',
284
- }}
285
- aria-hidden="true"
286
- >
287
-
288
- </div>
289
-
290
- <h2 className="u-m-0 u-text-5xl u-font-bold" style={{ fontSize: '56px' }}>
291
- 72°F
292
- </h2>
293
- <p className="u-m-0 u-text-lg u-opacity-90 u-mb-4">Partly Cloudy</p>
294
-
295
- <div
296
- style={{
297
- display: 'grid',
298
- gridTemplateColumns: 'repeat(3, 1fr)',
299
- gap: '16px',
300
- padding: '20px 0',
301
- borderTop: '1px solid rgba(255,255,255,0.1)',
302
- borderBottom: '1px solid rgba(255,255,255,0.1)',
303
- marginBottom: '20px',
304
- }}
305
- >
306
- <div>
307
- <p className="u-m-0 u-text-xs u-opacity-70">Wind</p>
308
- <p className="u-m-0 u-font-semibold">12 mph</p>
309
- </div>
310
- <div>
311
- <p className="u-m-0 u-text-xs u-opacity-70">Humidity</p>
312
- <p className="u-m-0 u-font-semibold">45%</p>
313
- </div>
314
- <div>
315
- <p className="u-m-0 u-text-xs u-opacity-70">UV Index</p>
316
- <p className="u-m-0 u-font-semibold">Moderate</p>
317
- </div>
318
- </div>
319
-
320
- {/* 3-Day Forecast */}
321
- <div className="u-flex u-justify-between u-gap-2">
322
- {[
323
- { day: 'Thu', temp: '74°', icon: '☀️' },
324
- { day: 'Fri', temp: '71°', icon: '🌧️' },
325
- { day: 'Sat', temp: '69°', icon: '⛈️' },
326
- ].map((forecast, index) => (
327
- <div key={index} className="u-text-center">
328
- <p className="u-m-0 u-text-sm u-opacity-80">{forecast.day}</p>
329
- <div style={{ fontSize: '24px', margin: '8px 0' }}>{forecast.icon}</div>
330
- <p className="u-m-0 u-font-semibold">{forecast.temp}</p>
331
- </div>
332
- ))}
333
- </div>
334
- </div>
335
- </AtomixGlass>
336
- </div>
337
- </BackgroundWrapper>
338
- </StoryErrorBoundary>
339
- ),
340
- parameters: {
341
- docs: {
342
- description: {
343
- story:
344
- 'Weather widget displaying current conditions, detailed metrics, and 3-day forecast.',
345
- },
346
- },
347
- },
348
- };