@shohojdhara/atomix 0.2.3 → 0.2.5

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 (225) hide show
  1. package/README.md +19 -0
  2. package/dist/atomix.css +1703 -1544
  3. package/dist/atomix.min.css +4 -4
  4. package/dist/index.d.ts +1465 -963
  5. package/dist/index.esm.js +16289 -25908
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +15650 -21780
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.js +1 -1
  10. package/dist/index.min.js.map +1 -1
  11. package/dist/themes/applemix.css +15008 -0
  12. package/dist/themes/applemix.min.css +72 -0
  13. package/dist/themes/boomdevs.css +1608 -1450
  14. package/dist/themes/boomdevs.min.css +5 -5
  15. package/dist/themes/esrar.css +1702 -1543
  16. package/dist/themes/esrar.min.css +4 -4
  17. package/dist/themes/flashtrade.css +15159 -0
  18. package/dist/themes/flashtrade.min.css +86 -0
  19. package/dist/themes/mashroom.css +1699 -1540
  20. package/dist/themes/mashroom.min.css +7 -7
  21. package/dist/themes/shaj-default.css +1693 -1534
  22. package/dist/themes/shaj-default.min.css +4 -4
  23. package/package.json +6 -17
  24. package/src/components/Accordion/Accordion.stories.tsx +662 -21
  25. package/src/components/Accordion/Accordion.tsx +21 -14
  26. package/src/components/AtomixGlass/AtomixGlass.test.tsx +106 -72
  27. package/src/components/AtomixGlass/AtomixGlass.tsx +529 -1195
  28. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +400 -0
  29. package/src/components/AtomixGlass/GlassFilter.tsx +156 -0
  30. package/src/components/AtomixGlass/README.md +124 -2
  31. package/src/components/AtomixGlass/atomixGLass.old.tsx +1266 -0
  32. package/src/components/AtomixGlass/glass-utils.ts +263 -0
  33. package/src/components/AtomixGlass/shader-utils.ts +792 -68
  34. package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +1250 -0
  35. package/src/components/AtomixGlass/stories/Examples.stories.tsx +5768 -0
  36. package/src/components/AtomixGlass/stories/Modes.stories.tsx +1065 -0
  37. package/src/components/AtomixGlass/stories/Playground.stories.tsx +1129 -0
  38. package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +395 -0
  39. package/src/components/AtomixGlass/stories/shared-components.tsx +301 -0
  40. package/src/components/AtomixGlass/utils.ts +3 -3
  41. package/src/components/Avatar/Avatar.tsx +3 -0
  42. package/src/components/Avatar/AvatarGroup.tsx +2 -1
  43. package/src/components/Badge/Badge.stories.tsx +76 -55
  44. package/src/components/Badge/Badge.tsx +12 -14
  45. package/src/components/Breadcrumb/Breadcrumb.tsx +23 -4
  46. package/src/components/Button/Button.stories.tsx +501 -20
  47. package/src/components/Button/Button.tsx +5 -8
  48. package/src/components/Callout/Callout.stories.tsx +86 -35
  49. package/src/components/Callout/Callout.tsx +31 -9
  50. package/src/components/Card/Card.stories.tsx +565 -2
  51. package/src/components/Card/Card.tsx +15 -4
  52. package/src/components/Card/ElevationCard.tsx +2 -0
  53. package/src/components/Chart/AnimatedChart.tsx +179 -156
  54. package/src/components/Chart/AreaChart.tsx +123 -12
  55. package/src/components/Chart/BarChart.tsx +91 -100
  56. package/src/components/Chart/BaseChart.tsx +80 -0
  57. package/src/components/Chart/BubbleChart.tsx +114 -290
  58. package/src/components/Chart/CandlestickChart.tsx +282 -622
  59. package/src/components/Chart/Chart.stories.tsx +576 -179
  60. package/src/components/Chart/Chart.tsx +374 -75
  61. package/src/components/Chart/ChartRenderer.tsx +371 -220
  62. package/src/components/Chart/ChartToolbar.tsx +372 -61
  63. package/src/components/Chart/ChartTooltip.tsx +33 -18
  64. package/src/components/Chart/DonutChart.tsx +172 -254
  65. package/src/components/Chart/FunnelChart.tsx +169 -240
  66. package/src/components/Chart/GaugeChart.tsx +224 -392
  67. package/src/components/Chart/HeatmapChart.tsx +302 -440
  68. package/src/components/Chart/LineChart.tsx +148 -103
  69. package/src/components/Chart/MultiAxisChart.tsx +267 -395
  70. package/src/components/Chart/PieChart.tsx +114 -64
  71. package/src/components/Chart/RadarChart.tsx +202 -218
  72. package/src/components/Chart/ScatterChart.tsx +111 -97
  73. package/src/components/Chart/TreemapChart.tsx +147 -222
  74. package/src/components/Chart/WaterfallChart.tsx +253 -291
  75. package/src/components/Chart/index.ts +11 -9
  76. package/src/components/Chart/types.ts +85 -9
  77. package/src/components/Chart/utils.ts +66 -0
  78. package/src/components/ColorModeToggle/ColorModeToggle.tsx +6 -3
  79. package/src/components/Countdown/Countdown.tsx +4 -0
  80. package/src/components/DataTable/DataTable.tsx +2 -1
  81. package/src/components/DatePicker/DatePicker.stories.tsx +689 -12
  82. package/src/components/DatePicker/DatePicker.tsx +3 -9
  83. package/src/components/DatePicker/types.ts +5 -0
  84. package/src/components/Dropdown/Dropdown.stories.tsx +32 -25
  85. package/src/components/Dropdown/Dropdown.tsx +26 -28
  86. package/src/components/EdgePanel/EdgePanel.stories.tsx +473 -2
  87. package/src/components/EdgePanel/EdgePanel.tsx +101 -13
  88. package/src/components/Footer/Footer.stories.tsx +187 -60
  89. package/src/components/Footer/Footer.test.tsx +134 -0
  90. package/src/components/Footer/Footer.tsx +133 -34
  91. package/src/components/Footer/FooterLink.tsx +1 -1
  92. package/src/components/Footer/FooterSection.tsx +53 -36
  93. package/src/components/Footer/FooterSocialLink.tsx +32 -29
  94. package/src/components/Footer/README.md +82 -3
  95. package/src/components/Footer/index.ts +1 -1
  96. package/src/components/Form/Checkbox.stories.tsx +13 -5
  97. package/src/components/Form/Checkbox.tsx +3 -6
  98. package/src/components/Form/Form.stories.tsx +10 -3
  99. package/src/components/Form/Form.tsx +2 -0
  100. package/src/components/Form/FormGroup.tsx +2 -1
  101. package/src/components/Form/Input.stories.tsx +12 -11
  102. package/src/components/Form/Input.tsx +97 -95
  103. package/src/components/Form/Radio.stories.tsx +22 -7
  104. package/src/components/Form/Radio.tsx +3 -6
  105. package/src/components/Form/Select.stories.tsx +21 -6
  106. package/src/components/Form/Select.tsx +3 -5
  107. package/src/components/Form/Textarea.stories.tsx +13 -11
  108. package/src/components/Form/Textarea.tsx +88 -86
  109. package/src/components/Hero/Hero.stories.tsx +2 -3
  110. package/src/components/Hero/Hero.tsx +5 -6
  111. package/src/components/Icon/Icon.tsx +12 -1
  112. package/src/components/List/List.tsx +2 -1
  113. package/src/components/List/ListGroup.tsx +2 -1
  114. package/src/components/Messages/Messages.stories.tsx +113 -0
  115. package/src/components/Messages/Messages.tsx +52 -9
  116. package/src/components/Modal/Modal.stories.tsx +48 -32
  117. package/src/components/Modal/Modal.tsx +19 -24
  118. package/src/components/Navigation/Menu/MegaMenu.tsx +2 -2
  119. package/src/components/Navigation/Menu/Menu.tsx +2 -2
  120. package/src/components/Navigation/Nav/Nav.stories.tsx +469 -0
  121. package/src/components/Navigation/Nav/Nav.tsx +22 -4
  122. package/src/components/Navigation/Nav/NavDropdown.tsx +10 -1
  123. package/src/components/Navigation/Navbar/Navbar.stories.tsx +413 -0
  124. package/src/components/Navigation/Navbar/Navbar.tsx +70 -29
  125. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +340 -0
  126. package/src/components/Navigation/SideMenu/SideMenu.tsx +29 -2
  127. package/src/components/Pagination/Pagination.stories.tsx +13 -6
  128. package/src/components/Pagination/Pagination.tsx +7 -6
  129. package/src/components/PhotoViewer/PhotoViewer.tsx +2 -1
  130. package/src/components/Popover/Popover.stories.tsx +32 -24
  131. package/src/components/Popover/Popover.tsx +4 -1
  132. package/src/components/ProductReview/ProductReview.tsx +8 -2
  133. package/src/components/Progress/Progress.tsx +19 -3
  134. package/src/components/Rating/Rating.stories.tsx +11 -6
  135. package/src/components/Rating/Rating.tsx +3 -5
  136. package/src/components/River/River.tsx +5 -5
  137. package/src/components/SectionIntro/SectionIntro.tsx +8 -2
  138. package/src/components/Slider/Slider.stories.tsx +4 -4
  139. package/src/components/Slider/Slider.tsx +4 -3
  140. package/src/components/Spinner/Spinner.tsx +19 -3
  141. package/src/components/Steps/Steps.stories.tsx +5 -4
  142. package/src/components/Steps/Steps.tsx +8 -5
  143. package/src/components/Tab/Tab.stories.tsx +4 -3
  144. package/src/components/Tab/Tab.tsx +8 -6
  145. package/src/components/Testimonial/Testimonial.tsx +8 -2
  146. package/src/components/Todo/Todo.tsx +2 -1
  147. package/src/components/Toggle/Toggle.stories.tsx +5 -4
  148. package/src/components/Toggle/Toggle.tsx +8 -5
  149. package/src/components/Tooltip/Tooltip.stories.tsx +40 -30
  150. package/src/components/Tooltip/Tooltip.tsx +9 -2
  151. package/src/components/Upload/Upload.stories.tsx +252 -0
  152. package/src/components/Upload/Upload.tsx +92 -53
  153. package/src/components/VideoPlayer/VideoPlayer.tsx +3 -1
  154. package/src/components/index.ts +0 -4
  155. package/src/layouts/Grid/Grid.stories.tsx +10 -23
  156. package/src/layouts/Grid/Grid.tsx +20 -1
  157. package/src/layouts/Grid/GridCol.tsx +76 -48
  158. package/src/lib/composables/useAtomixGlass.ts +861 -44
  159. package/src/lib/composables/useBarChart.ts +21 -4
  160. package/src/lib/composables/useChart.ts +227 -370
  161. package/src/lib/composables/useChartExport.ts +19 -78
  162. package/src/lib/composables/useChartToolbar.ts +11 -21
  163. package/src/lib/composables/useEdgePanel.ts +125 -71
  164. package/src/lib/composables/useFooter.ts +3 -3
  165. package/src/lib/composables/useGlassContainer.ts +16 -7
  166. package/src/lib/composables/useLineChart.ts +11 -2
  167. package/src/lib/composables/usePieChart.ts +4 -14
  168. package/src/lib/composables/useRiver.ts +5 -0
  169. package/src/lib/composables/useSlider.ts +62 -24
  170. package/src/lib/composables/useVideoPlayer.ts +60 -63
  171. package/src/lib/constants/components.ts +147 -32
  172. package/src/lib/types/components.ts +355 -25
  173. package/src/lib/utils/displacement-generator.ts +55 -49
  174. package/src/lib/utils/icons.ts +1 -1
  175. package/src/lib/utils/index.ts +16 -10
  176. package/src/styles/01-settings/_settings.accordion.scss +19 -19
  177. package/src/styles/01-settings/_settings.animations.scss +5 -5
  178. package/src/styles/01-settings/_settings.avatar-group.scss +1 -1
  179. package/src/styles/01-settings/_settings.avatar.scss +17 -17
  180. package/src/styles/01-settings/_settings.background.scss +0 -3
  181. package/src/styles/01-settings/_settings.badge.scss +1 -1
  182. package/src/styles/01-settings/_settings.breadcrumb.scss +1 -1
  183. package/src/styles/01-settings/_settings.card.scss +1 -1
  184. package/src/styles/01-settings/_settings.chart.scss +65 -2
  185. package/src/styles/01-settings/_settings.dropdown.scss +1 -1
  186. package/src/styles/01-settings/_settings.edge-panel.scss +1 -1
  187. package/src/styles/01-settings/_settings.footer.scss +35 -42
  188. package/src/styles/01-settings/_settings.input.scss +1 -1
  189. package/src/styles/01-settings/_settings.list.scss +1 -1
  190. package/src/styles/01-settings/_settings.rating.scss +1 -1
  191. package/src/styles/01-settings/_settings.tabs.scss +1 -1
  192. package/src/styles/01-settings/_settings.upload.scss +6 -5
  193. package/src/styles/02-tools/_tools.animations.scss +4 -5
  194. package/src/styles/02-tools/_tools.background.scss +1 -13
  195. package/src/styles/02-tools/_tools.glass.scss +0 -1
  196. package/src/styles/02-tools/_tools.utility-api.scss +91 -48
  197. package/src/styles/03-generic/_generic.root.scss +1 -4
  198. package/src/styles/04-elements/_elements.body.scss +0 -1
  199. package/src/styles/06-components/_components.atomix-glass.scss +249 -0
  200. package/src/styles/06-components/_components.badge.scss +8 -23
  201. package/src/styles/06-components/_components.button.scss +8 -3
  202. package/src/styles/06-components/_components.callout.scss +10 -5
  203. package/src/styles/06-components/_components.card.scss +2 -14
  204. package/src/styles/06-components/_components.chart.scss +969 -1449
  205. package/src/styles/06-components/_components.dropdown.scss +19 -7
  206. package/src/styles/06-components/_components.edge-panel.scss +103 -0
  207. package/src/styles/06-components/_components.footer.scss +166 -85
  208. package/src/styles/06-components/_components.input.scss +8 -9
  209. package/src/styles/06-components/_components.list.scss +1 -0
  210. package/src/styles/06-components/_components.messages.scss +176 -0
  211. package/src/styles/06-components/_components.modal.scss +16 -4
  212. package/src/styles/06-components/_components.navbar.scss +12 -1
  213. package/src/styles/06-components/_components.side-menu.scss +5 -0
  214. package/src/styles/06-components/_components.skeleton.scss +8 -6
  215. package/src/styles/06-components/_components.upload.scss +219 -4
  216. package/src/styles/06-components/old.chart.styles.scss +1 -30
  217. package/src/styles/99-utilities/_index.scss +1 -0
  218. package/src/styles/99-utilities/_utilities.glass-fixes.scss +1 -0
  219. package/src/styles/99-utilities/_utilities.scss +1 -1
  220. package/src/components/AtomixGlass/AtomixGlass.stories.tsx +0 -3011
  221. package/src/components/AtomixGlass/AtomixGlassComprehensivePreview.stories.tsx +0 -1369
  222. package/src/components/Chart/AdvancedChart.tsx +0 -624
  223. package/src/components/Chart/LineChartNew.tsx +0 -167
  224. package/src/components/Chart/RealTimeChart.tsx +0 -436
  225. package/src/components/DatePicker/DatePicker copy.tsx +0 -551
@@ -122,7 +122,7 @@ export const WithGlassEffect: Story = {
122
122
  placeItems: 'center',
123
123
  }}
124
124
  >
125
- <Card {...args} styles={{ ['--atomix-card-width' as string]: '300px' }} />
125
+ <Card {...args} style={{ ['--atomix-card-width' as string]: '300px' }} />
126
126
  </div>
127
127
  ),
128
128
  args: {
@@ -168,11 +168,12 @@ export const WithCustomGlassEffect: Story = {
168
168
  displacementScale: 60,
169
169
  aberrationIntensity: 2"
170
170
  glass={{
171
- blurAmount: 0,
171
+ blurAmount: 2,
172
172
  saturation: 160,
173
173
  displacementScale: 60,
174
174
  aberrationIntensity: 2,
175
175
  mode: 'standard',
176
+ overLight: false,
176
177
  }}
177
178
  />
178
179
  </GridCol>
@@ -190,6 +191,7 @@ export const WithCustomGlassEffect: Story = {
190
191
  displacementScale: 60,
191
192
  aberrationIntensity: 2,
192
193
  mode: 'polar',
194
+ overLight: false,
193
195
  }}
194
196
  />
195
197
  </GridCol>
@@ -243,3 +245,564 @@ export const WithCustomGlassEffect: Story = {
243
245
  ),
244
246
  },
245
247
  };
248
+
249
+ // Glass Mode Variants - Standard
250
+ export const GlassModeStandard: Story = {
251
+ render: args => (
252
+ <div
253
+ style={{
254
+ backgroundImage: 'url(https://images.unsplash.com/photo-1518837695005-2083093ee35b?w=1920)',
255
+ backgroundSize: 'cover',
256
+ backgroundPosition: 'center',
257
+ height: '95vh',
258
+ width: '95vw',
259
+ padding: '3rem',
260
+ borderRadius: '12px',
261
+ display: 'flex',
262
+ flexDirection: 'column',
263
+ alignItems: 'center',
264
+ justifyContent: 'center',
265
+ gap: '2rem',
266
+ }}
267
+ >
268
+ <div style={{ textAlign: 'center', color: 'white', textShadow: '0 2px 4px rgba(0,0,0,0.5)' }}>
269
+ <h3 style={{ fontSize: '1.5rem', marginBottom: '0.5rem' }}>Standard Glass Mode</h3>
270
+ <p style={{ fontSize: '0.875rem', opacity: 0.9 }}>
271
+ Classic glass morphism with blur and displacement
272
+ </p>
273
+ </div>
274
+ <div className="u-w-50">
275
+ <Card
276
+ title="Standard Glass Card"
277
+ text="This card uses the standard glass mode with classic blur and displacement effects."
278
+ image="https://images.unsplash.com/photo-1518837695005-2083093ee35b?w=800"
279
+ imageAlt="Standard glass"
280
+ glass={{
281
+ mode: 'standard',
282
+ displacementScale: 60,
283
+ blurAmount: 2,
284
+ saturation: 160,
285
+ aberrationIntensity: 2,
286
+ elasticity: 0,
287
+ }}
288
+ actions={
289
+ <React.Fragment>
290
+ <button className="c-btn c-btn--primary c-btn--sm">Learn More</button>
291
+ <button className="c-btn c-btn--secondary c-btn--sm">Details</button>
292
+ </React.Fragment>
293
+ }
294
+ />
295
+ </div>
296
+ </div>
297
+ ),
298
+ };
299
+
300
+ // Glass Mode Variants - Polar
301
+ export const GlassModePolar: Story = {
302
+ render: args => (
303
+ <div
304
+ style={{
305
+ backgroundImage: 'url(https://images.unsplash.com/photo-1557683316-973673baf926?w=1920)',
306
+ backgroundSize: 'cover',
307
+ backgroundPosition: 'center',
308
+ height: '95vh',
309
+ width: '95vw',
310
+ padding: '3rem',
311
+ borderRadius: '12px',
312
+ display: 'flex',
313
+ flexDirection: 'column',
314
+ alignItems: 'center',
315
+ justifyContent: 'center',
316
+ gap: '2rem',
317
+ }}
318
+ >
319
+ <div style={{ textAlign: 'center', color: 'white', textShadow: '0 2px 4px rgba(0,0,0,0.5)' }}>
320
+ <h3 style={{ fontSize: '1.5rem', marginBottom: '0.5rem' }}>Polar Glass Mode</h3>
321
+ <p style={{ fontSize: '0.875rem', opacity: 0.9 }}>Radial distortion effect from center</p>
322
+ </div>
323
+ <div className="u-w-50">
324
+ <Card
325
+ title="Polar Glass Card"
326
+ text="This card uses the polar glass mode with radial distortion effects emanating from the center."
327
+ image="https://images.unsplash.com/photo-1557683316-973673baf926?w=800"
328
+ imageAlt="Polar glass"
329
+ glass={{
330
+ mode: 'polar',
331
+ displacementScale: 80,
332
+ blurAmount: 1.5,
333
+ saturation: 180,
334
+ aberrationIntensity: 3,
335
+ elasticity: 0,
336
+ }}
337
+ actions={
338
+ <React.Fragment>
339
+ <button className="c-btn c-btn--primary c-btn--sm">Learn More</button>
340
+ <button className="c-btn c-btn--secondary c-btn--sm">Details</button>
341
+ </React.Fragment>
342
+ }
343
+ />
344
+ </div>
345
+ </div>
346
+ ),
347
+ };
348
+
349
+ // Glass Mode Variants - Prominent
350
+ export const GlassModeProminent: Story = {
351
+ render: args => (
352
+ <div
353
+ style={{
354
+ backgroundImage: 'url(https://images.unsplash.com/photo-1579546929518-9e396f3cc809?w=1920)',
355
+ backgroundSize: 'cover',
356
+ backgroundPosition: 'center',
357
+ height: '95vh',
358
+ width: '95vw',
359
+ padding: '3rem',
360
+ borderRadius: '12px',
361
+ display: 'flex',
362
+ flexDirection: 'column',
363
+ alignItems: 'center',
364
+ justifyContent: 'center',
365
+ gap: '2rem',
366
+ }}
367
+ >
368
+ <div style={{ textAlign: 'center', color: 'white', textShadow: '0 2px 4px rgba(0,0,0,0.5)' }}>
369
+ <h3 style={{ fontSize: '1.5rem', marginBottom: '0.5rem' }}>Prominent Glass Mode</h3>
370
+ <p style={{ fontSize: '0.875rem', opacity: 0.9 }}>Enhanced distortion with maximum depth</p>
371
+ </div>
372
+ <div className="u-w-50">
373
+ <Card
374
+ title="Prominent Glass Card"
375
+ text="This card uses the prominent glass mode with enhanced distortion and maximum visual depth."
376
+ image="https://images.unsplash.com/photo-1579546929518-9e396f3cc809?w=800"
377
+ imageAlt="Prominent glass"
378
+ glass={{
379
+ mode: 'prominent',
380
+ displacementScale: 100,
381
+ blurAmount: 2.5,
382
+ saturation: 200,
383
+ aberrationIntensity: 4,
384
+ elasticity: 0,
385
+ }}
386
+ actions={
387
+ <React.Fragment>
388
+ <button className="c-btn c-btn--primary c-btn--sm">Learn More</button>
389
+ <button className="c-btn c-btn--secondary c-btn--sm">Details</button>
390
+ </React.Fragment>
391
+ }
392
+ />
393
+ </div>
394
+ </div>
395
+ ),
396
+ };
397
+
398
+ // Glass Mode Variants - Shader
399
+ export const GlassModeShader: Story = {
400
+ render: args => (
401
+ <div
402
+ style={{
403
+ backgroundImage: 'url(https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=1920)',
404
+ backgroundSize: 'cover',
405
+ backgroundPosition: 'center',
406
+ height: '95vh',
407
+ width: '95vw',
408
+ padding: '3rem',
409
+ borderRadius: '12px',
410
+ display: 'flex',
411
+ flexDirection: 'column',
412
+ alignItems: 'center',
413
+ justifyContent: 'center',
414
+ gap: '2rem',
415
+ }}
416
+ >
417
+ <div style={{ textAlign: 'center', color: 'white', textShadow: '0 2px 4px rgba(0,0,0,0.5)' }}>
418
+ <h3 style={{ fontSize: '1.5rem', marginBottom: '0.5rem' }}>Shader Glass Mode</h3>
419
+ <p style={{ fontSize: '0.875rem', opacity: 0.9 }}>GPU-accelerated liquid glass effect</p>
420
+ </div>
421
+ <div className="u-w-50">
422
+ <Card
423
+ title="Shader Glass Card"
424
+ text="This card uses the shader glass mode with GPU-accelerated liquid glass effects."
425
+ image="https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=800"
426
+ imageAlt="Shader glass"
427
+ glass={{
428
+ mode: 'shader',
429
+ shaderVariant: 'liquidGlass',
430
+ displacementScale: 70,
431
+ blurAmount: 1.8,
432
+ saturation: 170,
433
+ elasticity: 0,
434
+ }}
435
+ actions={
436
+ <React.Fragment>
437
+ <button className="c-btn c-btn--primary c-btn--sm">Learn More</button>
438
+ <button className="c-btn c-btn--secondary c-btn--sm">Details</button>
439
+ </React.Fragment>
440
+ }
441
+ />
442
+ </div>
443
+ </div>
444
+ ),
445
+ };
446
+
447
+ // All Glass Modes Comparison
448
+ export const AllGlassModesComparison: Story = {
449
+ render: () => (
450
+ <div
451
+ style={{
452
+ backgroundImage: 'url(https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920)',
453
+ backgroundSize: 'cover',
454
+ backgroundPosition: 'center',
455
+ padding: '3rem',
456
+ borderRadius: '12px',
457
+ minHeight: '95vh',
458
+ overflow: 'auto',
459
+ }}
460
+ >
461
+ <Container>
462
+ <h2
463
+ style={{
464
+ textAlign: 'center',
465
+ color: 'white',
466
+ marginBottom: '3rem',
467
+ fontSize: '2rem',
468
+ textShadow: '0 2px 8px rgba(0,0,0,0.5)',
469
+ }}
470
+ >
471
+ Glass Mode Cards Comparison
472
+ </h2>
473
+
474
+ <Grid alignItems="stretch">
475
+ <GridCol sm={6} lg={3} className="u-mb-4">
476
+ <Card
477
+ title="Standard Glass"
478
+ text="Classic blur and displacement effects for a refined glass appearance."
479
+ image="https://images.unsplash.com/photo-1518837695005-2083093ee35b?w=400"
480
+ imageAlt="Standard"
481
+ glass={{
482
+ mode: 'standard',
483
+ displacementScale: 60,
484
+ blurAmount: 2,
485
+ saturation: 160,
486
+ aberrationIntensity: 2,
487
+ }}
488
+ actions={<button className="c-btn c-btn--primary c-btn--sm">View</button>}
489
+ />
490
+ </GridCol>
491
+
492
+ <GridCol sm={6} lg={3} className="u-mb-4">
493
+ <Card
494
+ title="Polar Glass"
495
+ text="Radial distortion effects emanating from the center point."
496
+ image="https://images.unsplash.com/photo-1557683316-973673baf926?w=400"
497
+ imageAlt="Polar"
498
+ glass={{
499
+ mode: 'polar',
500
+ displacementScale: 80,
501
+ blurAmount: 1.5,
502
+ saturation: 180,
503
+ aberrationIntensity: 3,
504
+ }}
505
+ actions={<button className="c-btn c-btn--secondary c-btn--sm">View</button>}
506
+ />
507
+ </GridCol>
508
+
509
+ <GridCol sm={6} lg={3} className="u-mb-4">
510
+ <Card
511
+ title="Prominent Glass"
512
+ text="Enhanced distortion with maximum depth and visual impact."
513
+ image="https://images.unsplash.com/photo-1579546929518-9e396f3cc809?w=400"
514
+ imageAlt="Prominent"
515
+ glass={{
516
+ mode: 'prominent',
517
+ displacementScale: 100,
518
+ blurAmount: 2.5,
519
+ saturation: 200,
520
+ aberrationIntensity: 4,
521
+ }}
522
+ actions={<button className="c-btn c-btn--success c-btn--sm">View</button>}
523
+ />
524
+ </GridCol>
525
+
526
+ <GridCol sm={6} lg={3} className="u-mb-4">
527
+ <Card
528
+ title="Shader Glass"
529
+ text="GPU-accelerated liquid glass with smooth animations."
530
+ image="https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=400"
531
+ imageAlt="Shader"
532
+ glass={{
533
+ mode: 'shader',
534
+ shaderVariant: 'liquidGlass',
535
+ displacementScale: 70,
536
+ blurAmount: 1.8,
537
+ saturation: 170,
538
+ }}
539
+ actions={<button className="c-btn c-btn--info c-btn--sm">View</button>}
540
+ />
541
+ </GridCol>
542
+ </Grid>
543
+ </Container>
544
+ </div>
545
+ ),
546
+ };
547
+
548
+ // Glass Card Gallery
549
+ export const GlassCardGallery: Story = {
550
+ render: () => (
551
+ <div
552
+ style={{
553
+ backgroundImage: 'url(https://images.unsplash.com/photo-1519681393784-d120267933ba?w=1920)',
554
+ backgroundSize: 'cover',
555
+ backgroundPosition: 'center',
556
+ padding: '3rem',
557
+ borderRadius: '12px',
558
+ minHeight: '95vh',
559
+ minWidth: '95vw',
560
+ overflow: 'auto',
561
+ }}
562
+ >
563
+ <Container>
564
+ <h2
565
+ style={{
566
+ textAlign: 'center',
567
+ color: 'white',
568
+ marginBottom: '3rem',
569
+ fontSize: '2rem',
570
+ textShadow: '0 2px 8px rgba(0,0,0,0.5)',
571
+ }}
572
+ >
573
+ Glass Card Gallery
574
+ </h2>
575
+
576
+ <Grid alignItems="stretch">
577
+ <GridCol sm={6} lg={4} className="u-mb-4">
578
+ <Card
579
+ title="Nature Photography"
580
+ text="Explore breathtaking landscapes and natural wonders from around the world."
581
+ image="https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600"
582
+ imageAlt="Nature"
583
+ glass={true}
584
+ actions={
585
+ <React.Fragment>
586
+ <button className="c-btn c-btn--primary c-btn--sm">Explore</button>
587
+ <button className="c-btn c-btn--outline-primary c-btn--sm">Save</button>
588
+ </React.Fragment>
589
+ }
590
+ />
591
+ </GridCol>
592
+
593
+ <GridCol sm={6} lg={4} className="u-mb-4">
594
+ <Card
595
+ title="Urban Architecture"
596
+ text="Discover modern architectural designs and city landscapes."
597
+ image="https://images.unsplash.com/photo-1480714378408-67cf0d13bc1b?w=600"
598
+ imageAlt="Architecture"
599
+ glass={true}
600
+ actions={
601
+ <React.Fragment>
602
+ <button className="c-btn c-btn--secondary c-btn--sm">Explore</button>
603
+ <button className="c-btn c-btn--outline-secondary c-btn--sm">Save</button>
604
+ </React.Fragment>
605
+ }
606
+ />
607
+ </GridCol>
608
+
609
+ <GridCol sm={6} lg={4} className="u-mb-4">
610
+ <Card
611
+ title="Abstract Art"
612
+ text="Experience vibrant colors and unique artistic expressions."
613
+ image="https://images.unsplash.com/photo-1557672172-298e090bd0f1?w=600"
614
+ imageAlt="Abstract"
615
+ glass={true}
616
+ actions={
617
+ <React.Fragment>
618
+ <button className="c-btn c-btn--success c-btn--sm">Explore</button>
619
+ <button className="c-btn c-btn--outline-success c-btn--sm">Save</button>
620
+ </React.Fragment>
621
+ }
622
+ />
623
+ </GridCol>
624
+
625
+ <GridCol sm={6} lg={4} className="u-mb-4">
626
+ <Card
627
+ title="Ocean Views"
628
+ text="Dive into serene ocean scenes and coastal beauty."
629
+ image="https://images.unsplash.com/photo-1505142468610-359e7d316be0?w=600"
630
+ imageAlt="Ocean"
631
+ glass={{
632
+ mode: 'polar',
633
+ displacementScale: 70,
634
+ blurAmount: 2,
635
+ }}
636
+ actions={
637
+ <React.Fragment>
638
+ <button className="c-btn c-btn--info c-btn--sm">Explore</button>
639
+ <button className="c-btn c-btn--outline-info c-btn--sm">Save</button>
640
+ </React.Fragment>
641
+ }
642
+ />
643
+ </GridCol>
644
+
645
+ <GridCol sm={6} lg={4} className="u-mb-4">
646
+ <Card
647
+ title="Mountain Peaks"
648
+ text="Scale the heights with stunning mountain photography."
649
+ image="https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600"
650
+ imageAlt="Mountains"
651
+ glass={{
652
+ mode: 'prominent',
653
+ displacementScale: 90,
654
+ }}
655
+ actions={
656
+ <React.Fragment>
657
+ <button className="c-btn c-btn--warning c-btn--sm">Explore</button>
658
+ <button className="c-btn c-btn--outline-warning c-btn--sm">Save</button>
659
+ </React.Fragment>
660
+ }
661
+ />
662
+ </GridCol>
663
+
664
+ <GridCol sm={6} lg={4} className="u-mb-4">
665
+ <Card
666
+ title="Night Sky"
667
+ text="Gaze at the stars and celestial wonders above."
668
+ image="https://images.unsplash.com/photo-1419242902214-272b3f66ee7a?w=600"
669
+ imageAlt="Night Sky"
670
+ glass={{
671
+ mode: 'shader',
672
+ shaderVariant: 'liquidGlass',
673
+ }}
674
+ actions={
675
+ <React.Fragment>
676
+ <button className="c-btn c-btn--dark c-btn--sm">Explore</button>
677
+ <button className="c-btn c-btn--outline-dark c-btn--sm">Save</button>
678
+ </React.Fragment>
679
+ }
680
+ />
681
+ </GridCol>
682
+ </Grid>
683
+ </Container>
684
+ </div>
685
+ ),
686
+ };
687
+
688
+ // Glass Card Layouts
689
+ export const GlassCardLayouts: Story = {
690
+ render: () => (
691
+ <div
692
+ style={{
693
+ backgroundImage: 'url(https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?w=1920)',
694
+ backgroundSize: 'cover',
695
+ backgroundPosition: 'center',
696
+ padding: '3rem',
697
+ borderRadius: '12px',
698
+ minHeight: '95vh',
699
+ minWidth: '95vw',
700
+ overflow: 'auto',
701
+ }}
702
+ >
703
+ <Container>
704
+ <h2
705
+ style={{
706
+ textAlign: 'center',
707
+ color: 'white',
708
+ marginBottom: '3rem',
709
+ fontSize: '2rem',
710
+ textShadow: '0 2px 8px rgba(0,0,0,0.5)',
711
+ }}
712
+ >
713
+ Glass Card Layouts
714
+ </h2>
715
+
716
+ <div style={{ display: 'flex', gap: '2rem' }}>
717
+ {/* Standard Layout */}
718
+ <div className="u-w-50">
719
+ <h3
720
+ style={{
721
+ color: 'white',
722
+ marginBottom: '1rem',
723
+ textShadow: '0 2px 4px rgba(0,0,0,0.5)',
724
+ }}
725
+ >
726
+ Standard Layout
727
+ </h3>
728
+ <Card
729
+ title="Standard Glass Card"
730
+ text="This is a standard glass card with vertical layout."
731
+ image="https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?w=800"
732
+ imageAlt="Standard"
733
+ glass={true}
734
+ actions={
735
+ <React.Fragment>
736
+ <button className="c-btn c-btn--primary c-btn--sm">Action</button>
737
+ <button className="c-btn c-btn--outline-primary c-btn--sm">Cancel</button>
738
+ </React.Fragment>
739
+ }
740
+ />
741
+ </div>
742
+
743
+ {/* Row Layout */}
744
+ <div className="u-w-50">
745
+ <h3
746
+ style={{
747
+ color: 'white',
748
+ marginBottom: '1rem',
749
+ textShadow: '0 2px 4px rgba(0,0,0,0.5)',
750
+ }}
751
+ >
752
+ Row Layout
753
+ </h3>
754
+ <Card
755
+ title="Row Glass Card"
756
+ text="This is a row glass card with horizontal layout."
757
+ image="https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800"
758
+ imageAlt="Row"
759
+ row={true}
760
+ glass={{
761
+ mode: 'polar',
762
+ displacementScale: 60,
763
+ elasticity: 0,
764
+ }}
765
+ actions={
766
+ <React.Fragment>
767
+ <button className="c-btn c-btn--secondary c-btn--sm">Action</button>
768
+ <button className="c-btn c-btn--outline-secondary c-btn--sm">Cancel</button>
769
+ </React.Fragment>
770
+ }
771
+ />
772
+ </div>
773
+
774
+ {/* Flat Layout */}
775
+ <div className="u-w-50">
776
+ <h3
777
+ style={{
778
+ color: 'white',
779
+ marginBottom: '1rem',
780
+ textShadow: '0 2px 4px rgba(0,0,0,0.5)',
781
+ }}
782
+ >
783
+ Flat Layout
784
+ </h3>
785
+ <Card
786
+ title="Flat Glass Card"
787
+ text="This is a flat glass card with edge-to-edge image."
788
+ image="https://images.unsplash.com/photo-1519681393784-d120267933ba?w=800"
789
+ imageAlt="Flat"
790
+ flat={true}
791
+ glass={{
792
+ mode: 'shader',
793
+ shaderVariant: 'liquidGlass',
794
+ elasticity: 0,
795
+ }}
796
+ actions={
797
+ <React.Fragment>
798
+ <button className="c-btn c-btn--success c-btn--sm">Action</button>
799
+ <button className="c-btn c-btn--outline-success c-btn--sm">Cancel</button>
800
+ </React.Fragment>
801
+ }
802
+ />
803
+ </div>
804
+ </div>
805
+ </Container>
806
+ </div>
807
+ ),
808
+ };
@@ -20,7 +20,7 @@ export const Card = forwardRef<HTMLDivElement, CardProps>(
20
20
  className = '',
21
21
  children,
22
22
  onClick,
23
- styles,
23
+ style,
24
24
  glass,
25
25
  ...rest
26
26
  },
@@ -35,7 +35,7 @@ export const Card = forwardRef<HTMLDivElement, CardProps>(
35
35
  ]
36
36
  .filter(Boolean)
37
37
  .join(' ');
38
-
38
+
39
39
  const cardContent = (
40
40
  <>
41
41
  {(image || icon || header) && (
@@ -66,12 +66,23 @@ export const Card = forwardRef<HTMLDivElement, CardProps>(
66
66
  if (glass) {
67
67
  const glassProps = glass === true ? {} : glass;
68
68
  return (
69
- <div ref={ref} className={cardClasses + ' c-card--glass'} onClick={onClick} {...rest} style={{ ...styles}}><AtomixGlass {...{...glassProps, cornerRadius: 10}}><div className="c-card__glass-content">{cardContent}</div></AtomixGlass></div>
69
+ <AtomixGlass {...{ ...glassProps, elasticity: 0 }}>
70
+ {' '}
71
+ <div
72
+ ref={ref}
73
+ className={cardClasses + ' c-card--glass'}
74
+ onClick={onClick}
75
+ {...rest}
76
+ style={{ ...style }}
77
+ >
78
+ {cardContent}
79
+ </div>
80
+ </AtomixGlass>
70
81
  );
71
82
  }
72
83
 
73
84
  return (
74
- <div ref={ref} className={cardClasses} onClick={onClick} {...rest} style={{ ...styles}}>
85
+ <div ref={ref} className={cardClasses} onClick={onClick} {...rest} style={{ ...style }}>
75
86
  {cardContent}
76
87
  </div>
77
88
  );
@@ -6,6 +6,7 @@ import { ElevationCardProps } from '../../lib/types/components';
6
6
  export const ElevationCard: React.FC<ElevationCardProps> = ({
7
7
  elevationClass = 'is-elevated',
8
8
  className = '',
9
+ style,
9
10
  children,
10
11
  onClick,
11
12
  ...props
@@ -24,6 +25,7 @@ export const ElevationCard: React.FC<ElevationCardProps> = ({
24
25
  <div
25
26
  className={`${className} ${cardProps.className}`}
26
27
  ref={cardProps.ref}
28
+ style={style}
27
29
  tabIndex={cardProps.tabIndex}
28
30
  role={cardProps.role}
29
31
  onMouseEnter={cardProps.onMouseEnter}