@shohojdhara/atomix 0.2.4 → 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 (211) hide show
  1. package/README.md +19 -0
  2. package/dist/atomix.css +1266 -1412
  3. package/dist/atomix.min.css +3 -3
  4. package/dist/index.d.ts +1232 -876
  5. package/dist/index.esm.js +16212 -26364
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +15652 -22298
  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 +1266 -1413
  14. package/dist/themes/boomdevs.min.css +3 -3
  15. package/dist/themes/esrar.css +1267 -1413
  16. package/dist/themes/esrar.min.css +3 -3
  17. package/dist/themes/flashtrade.css +15159 -0
  18. package/dist/themes/flashtrade.min.css +86 -0
  19. package/dist/themes/mashroom.css +1264 -1410
  20. package/dist/themes/mashroom.min.css +5 -5
  21. package/dist/themes/shaj-default.css +1266 -1412
  22. package/dist/themes/shaj-default.min.css +3 -3
  23. package/package.json +6 -17
  24. package/src/components/Accordion/Accordion.stories.tsx +4 -26
  25. package/src/components/Accordion/Accordion.tsx +21 -12
  26. package/src/components/AtomixGlass/AtomixGlass.test.tsx +106 -72
  27. package/src/components/AtomixGlass/AtomixGlass.tsx +487 -1215
  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 +404 -236
  34. package/src/components/AtomixGlass/{AtomixGlass.stories.tsx → stories/AtomixGlass.stories.tsx} +55 -35
  35. package/src/components/AtomixGlass/stories/Examples.stories.tsx +57 -89
  36. package/src/components/AtomixGlass/stories/Modes.stories.tsx +149 -149
  37. package/src/components/AtomixGlass/stories/Playground.stories.tsx +95 -32
  38. package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +0 -2
  39. package/src/components/AtomixGlass/stories/shared-components.tsx +9 -18
  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 +74 -54
  44. package/src/components/Badge/Badge.tsx +8 -12
  45. package/src/components/Breadcrumb/Breadcrumb.tsx +23 -4
  46. package/src/components/Button/Button.tsx +3 -5
  47. package/src/components/Callout/Callout.stories.tsx +86 -35
  48. package/src/components/Callout/Callout.tsx +4 -0
  49. package/src/components/Card/Card.stories.tsx +89 -85
  50. package/src/components/Card/Card.tsx +15 -4
  51. package/src/components/Card/ElevationCard.tsx +2 -0
  52. package/src/components/Chart/AnimatedChart.tsx +179 -156
  53. package/src/components/Chart/AreaChart.tsx +123 -12
  54. package/src/components/Chart/BarChart.tsx +91 -100
  55. package/src/components/Chart/BaseChart.tsx +80 -0
  56. package/src/components/Chart/BubbleChart.tsx +114 -290
  57. package/src/components/Chart/CandlestickChart.tsx +282 -622
  58. package/src/components/Chart/Chart.stories.tsx +576 -179
  59. package/src/components/Chart/Chart.tsx +374 -75
  60. package/src/components/Chart/ChartRenderer.tsx +371 -220
  61. package/src/components/Chart/ChartToolbar.tsx +372 -61
  62. package/src/components/Chart/ChartTooltip.tsx +33 -18
  63. package/src/components/Chart/DonutChart.tsx +172 -254
  64. package/src/components/Chart/FunnelChart.tsx +169 -240
  65. package/src/components/Chart/GaugeChart.tsx +224 -392
  66. package/src/components/Chart/HeatmapChart.tsx +302 -440
  67. package/src/components/Chart/LineChart.tsx +148 -103
  68. package/src/components/Chart/MultiAxisChart.tsx +267 -395
  69. package/src/components/Chart/PieChart.tsx +114 -64
  70. package/src/components/Chart/RadarChart.tsx +202 -218
  71. package/src/components/Chart/ScatterChart.tsx +111 -97
  72. package/src/components/Chart/TreemapChart.tsx +147 -222
  73. package/src/components/Chart/WaterfallChart.tsx +253 -291
  74. package/src/components/Chart/index.ts +11 -9
  75. package/src/components/Chart/types.ts +85 -9
  76. package/src/components/Chart/utils.ts +66 -0
  77. package/src/components/ColorModeToggle/ColorModeToggle.tsx +6 -3
  78. package/src/components/Countdown/Countdown.tsx +4 -0
  79. package/src/components/DataTable/DataTable.tsx +2 -1
  80. package/src/components/DatePicker/DatePicker.stories.tsx +0 -11
  81. package/src/components/DatePicker/DatePicker.tsx +3 -9
  82. package/src/components/DatePicker/types.ts +5 -0
  83. package/src/components/Dropdown/Dropdown.stories.tsx +32 -25
  84. package/src/components/Dropdown/Dropdown.tsx +26 -28
  85. package/src/components/EdgePanel/EdgePanel.stories.tsx +13 -15
  86. package/src/components/EdgePanel/EdgePanel.tsx +20 -5
  87. package/src/components/Footer/Footer.stories.tsx +187 -60
  88. package/src/components/Footer/Footer.test.tsx +134 -0
  89. package/src/components/Footer/Footer.tsx +133 -34
  90. package/src/components/Footer/FooterLink.tsx +1 -1
  91. package/src/components/Footer/FooterSection.tsx +53 -36
  92. package/src/components/Footer/FooterSocialLink.tsx +32 -29
  93. package/src/components/Footer/README.md +82 -3
  94. package/src/components/Footer/index.ts +1 -1
  95. package/src/components/Form/Checkbox.stories.tsx +13 -5
  96. package/src/components/Form/Checkbox.tsx +3 -6
  97. package/src/components/Form/Form.stories.tsx +10 -3
  98. package/src/components/Form/Form.tsx +2 -0
  99. package/src/components/Form/FormGroup.tsx +2 -1
  100. package/src/components/Form/Input.stories.tsx +12 -11
  101. package/src/components/Form/Input.tsx +97 -95
  102. package/src/components/Form/Radio.stories.tsx +22 -7
  103. package/src/components/Form/Radio.tsx +3 -6
  104. package/src/components/Form/Select.stories.tsx +21 -6
  105. package/src/components/Form/Select.tsx +3 -5
  106. package/src/components/Form/Textarea.stories.tsx +13 -11
  107. package/src/components/Form/Textarea.tsx +88 -86
  108. package/src/components/Hero/Hero.stories.tsx +2 -3
  109. package/src/components/Hero/Hero.tsx +5 -6
  110. package/src/components/Icon/Icon.tsx +12 -1
  111. package/src/components/List/List.tsx +2 -1
  112. package/src/components/List/ListGroup.tsx +2 -1
  113. package/src/components/Messages/Messages.tsx +3 -2
  114. package/src/components/Modal/Modal.stories.tsx +48 -34
  115. package/src/components/Modal/Modal.tsx +19 -23
  116. package/src/components/Navigation/Menu/MegaMenu.tsx +2 -2
  117. package/src/components/Navigation/Menu/Menu.tsx +2 -2
  118. package/src/components/Navigation/Nav/Nav.tsx +6 -1
  119. package/src/components/Navigation/Nav/NavDropdown.tsx +10 -1
  120. package/src/components/Navigation/Navbar/Navbar.tsx +4 -1
  121. package/src/components/Navigation/SideMenu/SideMenu.tsx +3 -2
  122. package/src/components/Pagination/Pagination.stories.tsx +13 -6
  123. package/src/components/Pagination/Pagination.tsx +7 -6
  124. package/src/components/PhotoViewer/PhotoViewer.tsx +2 -1
  125. package/src/components/Popover/Popover.stories.tsx +32 -24
  126. package/src/components/Popover/Popover.tsx +4 -1
  127. package/src/components/ProductReview/ProductReview.tsx +8 -2
  128. package/src/components/Progress/Progress.tsx +2 -1
  129. package/src/components/Rating/Rating.stories.tsx +11 -6
  130. package/src/components/Rating/Rating.tsx +3 -5
  131. package/src/components/River/River.tsx +5 -5
  132. package/src/components/SectionIntro/SectionIntro.tsx +8 -2
  133. package/src/components/Slider/Slider.stories.tsx +4 -4
  134. package/src/components/Slider/Slider.tsx +4 -3
  135. package/src/components/Spinner/Spinner.tsx +2 -1
  136. package/src/components/Steps/Steps.stories.tsx +5 -4
  137. package/src/components/Steps/Steps.tsx +8 -5
  138. package/src/components/Tab/Tab.stories.tsx +4 -3
  139. package/src/components/Tab/Tab.tsx +8 -6
  140. package/src/components/Testimonial/Testimonial.tsx +8 -2
  141. package/src/components/Todo/Todo.tsx +2 -1
  142. package/src/components/Toggle/Toggle.stories.tsx +5 -4
  143. package/src/components/Toggle/Toggle.tsx +8 -5
  144. package/src/components/Tooltip/Tooltip.stories.tsx +40 -30
  145. package/src/components/Tooltip/Tooltip.tsx +9 -2
  146. package/src/components/Upload/Upload.stories.tsx +252 -0
  147. package/src/components/Upload/Upload.tsx +92 -53
  148. package/src/components/VideoPlayer/VideoPlayer.tsx +3 -1
  149. package/src/components/index.ts +0 -4
  150. package/src/layouts/Grid/Grid.stories.tsx +10 -23
  151. package/src/layouts/Grid/Grid.tsx +20 -1
  152. package/src/layouts/Grid/GridCol.tsx +76 -48
  153. package/src/lib/composables/useAtomixGlass.ts +861 -44
  154. package/src/lib/composables/useBarChart.ts +13 -6
  155. package/src/lib/composables/useChart.ts +17 -13
  156. package/src/lib/composables/useChartExport.ts +19 -78
  157. package/src/lib/composables/useChartToolbar.ts +0 -1
  158. package/src/lib/composables/useEdgePanel.ts +111 -103
  159. package/src/lib/composables/useFooter.ts +3 -3
  160. package/src/lib/composables/useGlassContainer.ts +16 -7
  161. package/src/lib/composables/useLineChart.ts +8 -1
  162. package/src/lib/composables/useRiver.ts +5 -0
  163. package/src/lib/composables/useSlider.ts +62 -24
  164. package/src/lib/composables/useVideoPlayer.ts +60 -63
  165. package/src/lib/constants/components.ts +146 -32
  166. package/src/lib/types/components.ts +258 -10
  167. package/src/lib/utils/displacement-generator.ts +55 -49
  168. package/src/lib/utils/icons.ts +1 -1
  169. package/src/lib/utils/index.ts +16 -10
  170. package/src/styles/01-settings/_settings.accordion.scss +19 -19
  171. package/src/styles/01-settings/_settings.animations.scss +5 -5
  172. package/src/styles/01-settings/_settings.avatar-group.scss +1 -1
  173. package/src/styles/01-settings/_settings.avatar.scss +17 -17
  174. package/src/styles/01-settings/_settings.background.scss +1 -4
  175. package/src/styles/01-settings/_settings.badge.scss +1 -1
  176. package/src/styles/01-settings/_settings.breadcrumb.scss +1 -1
  177. package/src/styles/01-settings/_settings.card.scss +1 -1
  178. package/src/styles/01-settings/_settings.chart.scss +65 -2
  179. package/src/styles/01-settings/_settings.dropdown.scss +1 -1
  180. package/src/styles/01-settings/_settings.footer.scss +35 -42
  181. package/src/styles/01-settings/_settings.input.scss +1 -1
  182. package/src/styles/01-settings/_settings.list.scss +1 -1
  183. package/src/styles/01-settings/_settings.rating.scss +1 -1
  184. package/src/styles/01-settings/_settings.tabs.scss +1 -1
  185. package/src/styles/01-settings/_settings.upload.scss +6 -5
  186. package/src/styles/02-tools/_tools.animations.scss +4 -5
  187. package/src/styles/02-tools/_tools.background.scss +1 -13
  188. package/src/styles/02-tools/_tools.glass.scss +0 -1
  189. package/src/styles/02-tools/_tools.utility-api.scss +42 -34
  190. package/src/styles/03-generic/_generic.root.scss +1 -4
  191. package/src/styles/04-elements/_elements.body.scss +0 -1
  192. package/src/styles/06-components/_components.atomix-glass.scss +216 -39
  193. package/src/styles/06-components/_components.badge.scss +6 -8
  194. package/src/styles/06-components/_components.button.scss +8 -3
  195. package/src/styles/06-components/_components.card.scss +2 -14
  196. package/src/styles/06-components/_components.chart.scss +969 -1449
  197. package/src/styles/06-components/_components.dropdown.scss +19 -7
  198. package/src/styles/06-components/_components.edge-panel.scss +4 -2
  199. package/src/styles/06-components/_components.footer.scss +166 -85
  200. package/src/styles/06-components/_components.input.scss +8 -9
  201. package/src/styles/06-components/_components.list.scss +1 -0
  202. package/src/styles/06-components/_components.modal.scss +5 -3
  203. package/src/styles/06-components/_components.skeleton.scss +8 -6
  204. package/src/styles/06-components/_components.upload.scss +219 -4
  205. package/src/styles/06-components/old.chart.styles.scss +1 -30
  206. package/src/styles/99-utilities/_utilities.opacity.scss +1 -1
  207. package/src/styles/99-utilities/_utilities.scss +1 -1
  208. package/src/components/Chart/AdvancedChart.tsx +0 -624
  209. package/src/components/Chart/LineChartNew.tsx +0 -167
  210. package/src/components/Chart/RealTimeChart.tsx +0 -436
  211. package/src/components/DatePicker/DatePicker copy.tsx +0 -551
@@ -152,7 +152,7 @@ export const ModeGallery: Story = {
152
152
  saturation={130}
153
153
  cornerRadius={20}
154
154
  elasticity={0.12}
155
- className='u-mb-4 d-inline-block'
155
+ className="u-mb-4 d-inline-block"
156
156
  >
157
157
  Four Rendering Modes
158
158
  </AtomixGlass>
@@ -185,176 +185,176 @@ export const ModeGallery: Story = {
185
185
 
186
186
  {/* Modes Grid */}
187
187
  <Container>
188
- <Grid>
189
- {modes.map(mode => {
190
- const isSelected = selectedMode === mode.id;
188
+ <Grid>
189
+ {modes.map(mode => {
190
+ const isSelected = selectedMode === mode.id;
191
191
 
192
- return (
193
- <GridCol xs={12} md={6} className='u-mb-4'>
194
- <AtomixGlass
195
- key={mode.id}
196
- mode={mode.id as any}
197
- displacementScale={mode.settings.displacementScale}
198
- blurAmount={mode.settings.blurAmount}
199
- saturation={mode.settings.saturation}
200
- aberrationIntensity={mode.settings.aberrationIntensity}
201
- shaderVariant={mode.id === 'shader' ? 'premiumGlass' : undefined}
202
- elasticity={0}
203
- cornerRadius={24}
204
- onClick={() => setSelectedMode(isSelected ? null : mode.id)}
205
- style={{
206
- cursor: 'pointer',
207
- transition: 'all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)',
208
- transform: isSelected ? 'scale(1.03)' : 'scale(1)',
209
- }}
210
- >
211
- <div
192
+ return (
193
+ <GridCol xs={12} md={6} className="u-mb-4">
194
+ <AtomixGlass
195
+ key={mode.id}
196
+ mode={mode.id as any}
197
+ displacementScale={mode.settings.displacementScale}
198
+ blurAmount={mode.settings.blurAmount}
199
+ saturation={mode.settings.saturation}
200
+ aberrationIntensity={mode.settings.aberrationIntensity}
201
+ shaderVariant={mode.id === 'shader' ? 'premiumGlass' : undefined}
202
+ elasticity={0}
203
+ cornerRadius={24}
204
+ onClick={() => setSelectedMode(isSelected ? null : mode.id)}
212
205
  style={{
213
- padding: '32px 28px',
214
- minHeight: '420px',
215
- display: 'flex',
216
- flexDirection: 'column',
217
- transition: 'all 0.3s ease',
206
+ cursor: 'pointer',
207
+ transition: 'all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)',
208
+ transform: isSelected ? 'scale(1.03)' : 'scale(1)',
218
209
  }}
219
210
  >
220
- {/* Icon and Badge */}
221
- <div style={{ marginBottom: '24px' }}>
222
- <div
223
- style={{
224
- width: '64px',
225
- height: '64px',
226
- borderRadius: '18px',
227
- background: mode.gradient,
228
- display: 'flex',
229
- alignItems: 'center',
230
- justifyContent: 'center',
231
- fontSize: '32px',
232
- marginBottom: '16px',
233
- boxShadow: '0 8px 24px rgba(0,0,0,0.25)',
234
- position: 'relative',
235
- }}
236
- >
211
+ <div
212
+ style={{
213
+ padding: '32px 28px',
214
+ minHeight: '420px',
215
+ display: 'flex',
216
+ flexDirection: 'column',
217
+ transition: 'all 0.3s ease',
218
+ }}
219
+ >
220
+ {/* Icon and Badge */}
221
+ <div style={{ marginBottom: '24px' }}>
237
222
  <div
238
223
  style={{
239
- position: 'absolute',
240
- inset: '-3px',
241
- borderRadius: '20px',
224
+ width: '64px',
225
+ height: '64px',
226
+ borderRadius: '18px',
242
227
  background: mode.gradient,
243
- opacity: 0.4,
244
- filter: 'blur(10px)',
228
+ display: 'flex',
229
+ alignItems: 'center',
230
+ justifyContent: 'center',
231
+ fontSize: '32px',
232
+ marginBottom: '16px',
233
+ boxShadow: '0 8px 24px rgba(0,0,0,0.25)',
234
+ position: 'relative',
245
235
  }}
246
- />
247
- <span style={{ position: 'relative', zIndex: 1 }}>{mode.icon}</span>
236
+ >
237
+ <div
238
+ style={{
239
+ position: 'absolute',
240
+ inset: '-3px',
241
+ borderRadius: '20px',
242
+ background: mode.gradient,
243
+ opacity: 0.4,
244
+ filter: 'blur(10px)',
245
+ }}
246
+ />
247
+ <span style={{ position: 'relative', zIndex: 1 }}>{mode.icon}</span>
248
+ </div>
248
249
  </div>
249
- </div>
250
250
 
251
- {/* Content */}
252
- <div style={{ flex: 1 }}>
253
- <h3
254
- style={{
255
- margin: '0 0 12px 0',
256
- fontSize: '26px',
257
- fontWeight: 600,
258
- color: '#fff',
259
- letterSpacing: '-0.5px',
260
- }}
261
- >
262
- {mode.name}
263
- </h3>
264
- <p
265
- style={{
266
- margin: '0 0 20px 0',
267
- fontSize: '14px',
268
- lineHeight: 1.6,
269
- color: 'rgba(255, 255, 255, 0.8)',
270
- }}
271
- >
272
- {mode.description}
273
- </p>
251
+ {/* Content */}
252
+ <div style={{ flex: 1 }}>
253
+ <h3
254
+ style={{
255
+ margin: '0 0 12px 0',
256
+ fontSize: '26px',
257
+ fontWeight: 600,
258
+ color: '#fff',
259
+ letterSpacing: '-0.5px',
260
+ }}
261
+ >
262
+ {mode.name}
263
+ </h3>
264
+ <p
265
+ style={{
266
+ margin: '0 0 20px 0',
267
+ fontSize: '14px',
268
+ lineHeight: 1.6,
269
+ color: 'rgba(255, 255, 255, 0.8)',
270
+ }}
271
+ >
272
+ {mode.description}
273
+ </p>
274
+
275
+ {/* Features List */}
276
+ <div
277
+ style={{
278
+ display: 'flex',
279
+ flexDirection: 'column',
280
+ gap: '8px',
281
+ marginBottom: '20px',
282
+ }}
283
+ >
284
+ {mode.features.map((feature, idx) => (
285
+ <div
286
+ key={idx}
287
+ style={{
288
+ display: 'flex',
289
+ alignItems: 'center',
290
+ gap: '8px',
291
+ fontSize: '13px',
292
+ color: 'rgba(255, 255, 255, 0.75)',
293
+ }}
294
+ >
295
+ <div
296
+ style={{
297
+ width: '4px',
298
+ height: '4px',
299
+ borderRadius: '50%',
300
+ background: mode.gradient,
301
+ }}
302
+ />
303
+ {feature}
304
+ </div>
305
+ ))}
306
+ </div>
307
+
308
+ {/* Use Case */}
309
+ <div
310
+ style={{
311
+ padding: '12px 16px',
312
+ borderRadius: '12px',
313
+ background: 'rgba(255, 255, 255, 0.08)',
314
+ border: '1px solid rgba(255, 255, 255, 0.1)',
315
+ fontSize: '12px',
316
+ lineHeight: 1.5,
317
+ color: 'rgba(255, 255, 255, 0.7)',
318
+ marginTop: 'auto',
319
+ }}
320
+ >
321
+ <strong style={{ color: '#fff' }}>Use Case:</strong> {mode.useCase}
322
+ </div>
323
+ </div>
274
324
 
275
- {/* Features List */}
325
+ {/* Settings Info */}
276
326
  <div
277
327
  style={{
328
+ marginTop: '20px',
329
+ paddingTop: '16px',
330
+ borderTop: '1px solid rgba(255, 255, 255, 0.1)',
278
331
  display: 'flex',
279
- flexDirection: 'column',
332
+ flexWrap: 'wrap',
280
333
  gap: '8px',
281
- marginBottom: '20px',
282
334
  }}
283
335
  >
284
- {mode.features.map((feature, idx) => (
285
- <div
286
- key={idx}
336
+ {Object.entries(mode.settings).map(([key, value]) => (
337
+ <span
338
+ key={key}
287
339
  style={{
288
- display: 'flex',
289
- alignItems: 'center',
290
- gap: '8px',
291
- fontSize: '13px',
292
- color: 'rgba(255, 255, 255, 0.75)',
340
+ padding: '4px 10px',
341
+ fontSize: '11px',
342
+ borderRadius: '8px',
343
+ background: 'rgba(0, 0, 0, 0.2)',
344
+ color: 'rgba(255, 255, 255, 0.6)',
345
+ fontFamily: 'monospace',
293
346
  }}
294
347
  >
295
- <div
296
- style={{
297
- width: '4px',
298
- height: '4px',
299
- borderRadius: '50%',
300
- background: mode.gradient,
301
- }}
302
- />
303
- {feature}
304
- </div>
348
+ {key.replace(/([A-Z])/g, ' $1').trim()}: {value}
349
+ </span>
305
350
  ))}
306
351
  </div>
307
-
308
- {/* Use Case */}
309
- <div
310
- style={{
311
- padding: '12px 16px',
312
- borderRadius: '12px',
313
- background: 'rgba(255, 255, 255, 0.08)',
314
- border: '1px solid rgba(255, 255, 255, 0.1)',
315
- fontSize: '12px',
316
- lineHeight: 1.5,
317
- color: 'rgba(255, 255, 255, 0.7)',
318
- marginTop: 'auto',
319
- }}
320
- >
321
- <strong style={{ color: '#fff' }}>Use Case:</strong> {mode.useCase}
322
- </div>
323
- </div>
324
-
325
- {/* Settings Info */}
326
- <div
327
- style={{
328
- marginTop: '20px',
329
- paddingTop: '16px',
330
- borderTop: '1px solid rgba(255, 255, 255, 0.1)',
331
- display: 'flex',
332
- flexWrap: 'wrap',
333
- gap: '8px',
334
- }}
335
- >
336
- {Object.entries(mode.settings).map(([key, value]) => (
337
- <span
338
- key={key}
339
- style={{
340
- padding: '4px 10px',
341
- fontSize: '11px',
342
- borderRadius: '8px',
343
- background: 'rgba(0, 0, 0, 0.2)',
344
- color: 'rgba(255, 255, 255, 0.6)',
345
- fontFamily: 'monospace',
346
- }}
347
- >
348
- {key.replace(/([A-Z])/g, ' $1').trim()}: {value}
349
- </span>
350
- ))}
351
352
  </div>
352
- </div>
353
- </AtomixGlass>
354
- </GridCol>
355
- );
356
- })}
357
- </Grid>
353
+ </AtomixGlass>
354
+ </GridCol>
355
+ );
356
+ })}
357
+ </Grid>
358
358
  </Container>
359
359
 
360
360
  {/* Info Card */}
@@ -365,7 +365,7 @@ export const ModeGallery: Story = {
365
365
  saturation={130}
366
366
  cornerRadius={20}
367
367
  elasticity={0.12}
368
- className='u-mt-8'
368
+ className="u-mt-8"
369
369
  >
370
370
  <div
371
371
  style={{
@@ -238,7 +238,7 @@ const BackgroundWrapper = ({
238
238
  }: BackgroundWrapperProps) => {
239
239
  return (
240
240
  <div
241
- className={`atomix-glass-background ${className}`}
241
+ className={`c-atomix-glass-background ${className}`}
242
242
  style={{
243
243
  width,
244
244
  minHeight: height,
@@ -315,9 +315,9 @@ export const Playground: Story = {
315
315
  'standard'
316
316
  );
317
317
  // eslint-disable-next-line react-hooks/rules-of-hooks
318
- const [selectedShader, setSelectedShader] = useState<'liquidGlass' | 'plasma' | 'waves' | 'noise'>(
319
- 'liquidGlass'
320
- );
318
+ const [selectedShader, setSelectedShader] = useState<
319
+ 'liquidGlass' | 'plasma' | 'waves' | 'noise'
320
+ >('liquidGlass');
321
321
  // eslint-disable-next-line react-hooks/rules-of-hooks
322
322
  const [showCode, setShowCode] = useState(false);
323
323
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -500,7 +500,7 @@ export const Playground: Story = {
500
500
  'https://images.unsplash.com/photo-1653443688877-ff1d74f1e4a0?ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&q=80&w=987',
501
501
  'https://images.unsplash.com/photo-1495164678535-ecbd76d9fa7d?ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&q=80&w=2669',
502
502
  'https://images.unsplash.com/photo-1742502575383-b908da0fb3ba?ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&q=80&w=2673',
503
- 'https://images.unsplash.com/photo-1627057075078-26c7caf11dc2?ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&q=80&w=2674'
503
+ 'https://images.unsplash.com/photo-1627057075078-26c7caf11dc2?ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&q=80&w=2674',
504
504
  ];
505
505
 
506
506
  return (
@@ -508,9 +508,9 @@ export const Playground: Story = {
508
508
  <div className="o-container">
509
509
  <div className="o-grid">
510
510
  <div className="o-grid__col o-grid__col--4">
511
- {/* Control Panel */}
511
+ {/* Control Panel */}
512
512
 
513
- <AtomixGlass blurAmount={10} elasticity={0} displacementScale={20} padding='20px'>
513
+ <AtomixGlass blurAmount={10} elasticity={0} displacementScale={20} padding="20px">
514
514
  <div
515
515
  style={{
516
516
  height: '90vh',
@@ -827,7 +827,7 @@ export const Playground: Story = {
827
827
  display: 'flex',
828
828
  alignItems: 'center',
829
829
  justifyContent: 'center',
830
- padding: '3rem'
830
+ padding: '3rem',
831
831
  }}
832
832
  >
833
833
  {showCode ? (
@@ -925,19 +925,41 @@ export const Playground: Story = {
925
925
  {/* Current Configuration */}
926
926
  <div
927
927
  className="u-p-4 u-rounded"
928
- style={{ background: 'rgba(255,255,255,0.08)', border: '1px solid rgba(255,255,255,0.15)' }}
928
+ style={{
929
+ background: 'rgba(255,255,255,0.08)',
930
+ border: '1px solid rgba(255,255,255,0.15)',
931
+ }}
929
932
  >
930
- <div className="u-mb-3 u-fw-semibold u-fs-sm" style={{ color: '#7AFFD7' }}>
933
+ <div
934
+ className="u-mb-3 u-fw-semibold u-fs-sm"
935
+ style={{ color: '#7AFFD7' }}
936
+ >
931
937
  📊 Current Configuration
932
938
  </div>
933
- <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr 1fr 1fr 1fr 1fr', gap: '0.75rem' }}>
939
+ <div
940
+ style={{
941
+ display: 'grid',
942
+ gridTemplateColumns: '1fr 1fr 1fr 1fr 1fr 1fr',
943
+ gap: '0.75rem',
944
+ }}
945
+ >
934
946
  <div>
935
947
  <div className="u-fs-xs u-opacity-70">Mode</div>
936
- <div className="u-fw-semibold" style={{ textTransform: 'capitalize' }}>{selectedMode}</div>
948
+ <div
949
+ className="u-fw-semibold"
950
+ style={{ textTransform: 'capitalize' }}
951
+ >
952
+ {selectedMode}
953
+ </div>
937
954
  </div>
938
955
  <div>
939
956
  <div className="u-fs-xs u-opacity-70">Shader</div>
940
- <div className="u-fw-semibold" style={{ textTransform: 'capitalize' }}>{selectedShader}</div>
957
+ <div
958
+ className="u-fw-semibold"
959
+ style={{ textTransform: 'capitalize' }}
960
+ >
961
+ {selectedShader}
962
+ </div>
941
963
  </div>
942
964
  <div>
943
965
  <div className="u-fs-xs u-opacity-70">Displacement</div>
@@ -945,7 +967,9 @@ export const Playground: Story = {
945
967
  </div>
946
968
  <div>
947
969
  <div className="u-fs-xs u-opacity-70">Aberration</div>
948
- <div className="u-fw-semibold">{settings.aberrationIntensity.toFixed(1)}</div>
970
+ <div className="u-fw-semibold">
971
+ {settings.aberrationIntensity.toFixed(1)}
972
+ </div>
949
973
  </div>
950
974
  <div>
951
975
  <div className="u-fs-xs u-opacity-70">Blur</div>
@@ -958,14 +982,18 @@ export const Playground: Story = {
958
982
  </div>
959
983
  </div>
960
984
 
961
-
962
-
963
985
  {/* Visual Characteristics */}
964
986
  <div
965
987
  className="u-p-4 u-rounded"
966
- style={{ background: 'rgba(255,255,255,0.08)', border: '1px solid rgba(255,255,255,0.15)' }}
988
+ style={{
989
+ background: 'rgba(255,255,255,0.08)',
990
+ border: '1px solid rgba(255,255,255,0.15)',
991
+ }}
967
992
  >
968
- <div className="u-mb-3 u-fw-semibold u-fs-sm" style={{ color: '#7AFFD7' }}>
993
+ <div
994
+ className="u-mb-3 u-fw-semibold u-fs-sm"
995
+ style={{ color: '#7AFFD7' }}
996
+ >
969
997
  🎨 Visual Characteristics
970
998
  </div>
971
999
  <div style={{ display: 'flex', flexWrap: 'wrap', gap: '0.5rem' }}>
@@ -973,9 +1001,13 @@ export const Playground: Story = {
973
1001
  style={{
974
1002
  padding: '4px 12px',
975
1003
  borderRadius: '12px',
976
- background: settings.enableLiquidBlur ? 'rgba(122, 255, 215, 0.2)' : 'rgba(255,255,255,0.1)',
1004
+ background: settings.enableLiquidBlur
1005
+ ? 'rgba(122, 255, 215, 0.2)'
1006
+ : 'rgba(255,255,255,0.1)',
977
1007
  fontSize: '0.75rem',
978
- border: settings.enableLiquidBlur ? '1px solid #7AFFD7' : '1px solid transparent',
1008
+ border: settings.enableLiquidBlur
1009
+ ? '1px solid #7AFFD7'
1010
+ : '1px solid transparent',
979
1011
  }}
980
1012
  >
981
1013
  {settings.enableLiquidBlur ? '✓' : '○'} Liquid Blur
@@ -984,9 +1016,13 @@ export const Playground: Story = {
984
1016
  style={{
985
1017
  padding: '4px 12px',
986
1018
  borderRadius: '12px',
987
- background: settings.enableBorderEffect ? 'rgba(122, 255, 215, 0.2)' : 'rgba(255,255,255,0.1)',
1019
+ background: settings.enableBorderEffect
1020
+ ? 'rgba(122, 255, 215, 0.2)'
1021
+ : 'rgba(255,255,255,0.1)',
988
1022
  fontSize: '0.75rem',
989
- border: settings.enableBorderEffect ? '1px solid #7AFFD7' : '1px solid transparent',
1023
+ border: settings.enableBorderEffect
1024
+ ? '1px solid #7AFFD7'
1025
+ : '1px solid transparent',
990
1026
  }}
991
1027
  >
992
1028
  {settings.enableBorderEffect ? '✓' : '○'} Border Effect
@@ -995,9 +1031,13 @@ export const Playground: Story = {
995
1031
  style={{
996
1032
  padding: '4px 12px',
997
1033
  borderRadius: '12px',
998
- background: settings.reducedMotion ? 'rgba(239, 68, 68, 0.2)' : 'rgba(255,255,255,0.1)',
1034
+ background: settings.reducedMotion
1035
+ ? 'rgba(239, 68, 68, 0.2)'
1036
+ : 'rgba(255,255,255,0.1)',
999
1037
  fontSize: '0.75rem',
1000
- border: settings.reducedMotion ? '1px solid #EF4444' : '1px solid transparent',
1038
+ border: settings.reducedMotion
1039
+ ? '1px solid #EF4444'
1040
+ : '1px solid transparent',
1001
1041
  }}
1002
1042
  >
1003
1043
  {settings.reducedMotion ? '✓' : '○'} Reduced Motion
@@ -1006,9 +1046,13 @@ export const Playground: Story = {
1006
1046
  style={{
1007
1047
  padding: '4px 12px',
1008
1048
  borderRadius: '12px',
1009
- background: settings.highContrast ? 'rgba(245, 158, 11, 0.2)' : 'rgba(255,255,255,0.1)',
1049
+ background: settings.highContrast
1050
+ ? 'rgba(245, 158, 11, 0.2)'
1051
+ : 'rgba(255,255,255,0.1)',
1010
1052
  fontSize: '0.75rem',
1011
- border: settings.highContrast ? '1px solid #F59E0B' : '1px solid transparent',
1053
+ border: settings.highContrast
1054
+ ? '1px solid #F59E0B'
1055
+ : '1px solid transparent',
1012
1056
  }}
1013
1057
  >
1014
1058
  {settings.highContrast ? '✓' : '○'} High Contrast
@@ -1019,27 +1063,46 @@ export const Playground: Story = {
1019
1063
  {/* Quick Stats */}
1020
1064
  <div
1021
1065
  className="u-p-4 u-rounded"
1022
- style={{ background: 'rgba(255,255,255,0.08)', border: '1px solid rgba(255,255,255,0.15)' }}
1066
+ style={{
1067
+ background: 'rgba(255,255,255,0.08)',
1068
+ border: '1px solid rgba(255,255,255,0.15)',
1069
+ }}
1023
1070
  >
1024
- <div className="u-mb-3 u-fw-semibold u-fs-sm" style={{ color: '#7AFFD7' }}>
1071
+ <div
1072
+ className="u-mb-3 u-fw-semibold u-fs-sm"
1073
+ style={{ color: '#7AFFD7' }}
1074
+ >
1025
1075
  📈 Quick Stats
1026
1076
  </div>
1027
- <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr 1fr 1fr', gap: '0.75rem', fontSize: '0.875rem' }}>
1077
+ <div
1078
+ style={{
1079
+ display: 'grid',
1080
+ gridTemplateColumns: '1fr 1fr 1fr 1fr',
1081
+ gap: '0.75rem',
1082
+ fontSize: '0.875rem',
1083
+ }}
1084
+ >
1028
1085
  <div>
1029
1086
  <span className="u-opacity-70">Saturation:</span>
1030
1087
  <span className="u-fw-semibold u-ml-2">{settings.saturation}%</span>
1031
1088
  </div>
1032
1089
  <div>
1033
1090
  <span className="u-opacity-70">Radius:</span>
1034
- <span className="u-fw-semibold u-ml-2">{settings.cornerRadius}px</span>
1091
+ <span className="u-fw-semibold u-ml-2">
1092
+ {settings.cornerRadius}px
1093
+ </span>
1035
1094
  </div>
1036
1095
  <div>
1037
1096
  <span className="u-opacity-70">Background:</span>
1038
- <span className="u-fw-semibold u-ml-2">{backgroundIndex + 1}/{backgrounds.length}</span>
1097
+ <span className="u-fw-semibold u-ml-2">
1098
+ {backgroundIndex + 1}/{backgrounds.length}
1099
+ </span>
1039
1100
  </div>
1040
1101
  <div>
1041
1102
  <span className="u-opacity-70">Effects:</span>
1042
- <span className="u-fw-semibold u-ml-2">{settings.disableEffects ? 'Disabled' : 'Enabled'}</span>
1103
+ <span className="u-fw-semibold u-ml-2">
1104
+ {settings.disableEffects ? 'Disabled' : 'Enabled'}
1105
+ </span>
1043
1106
  </div>
1044
1107
  </div>
1045
1108
  </div>
@@ -31,8 +31,6 @@ const meta: Meta<typeof AtomixGlass> = {
31
31
  export default meta;
32
32
  type Story = StoryObj<typeof AtomixGlass>;
33
33
 
34
-
35
-
36
34
  /**
37
35
  * Liquid Glass Variant
38
36
  *
@@ -169,7 +169,7 @@ export const BackgroundWrapper = ({
169
169
 
170
170
  return (
171
171
  <div
172
- className={`atomix-glass-background ${className}`}
172
+ className={`c-atomix-glass-background ${className}`}
173
173
  style={{
174
174
  position: 'relative',
175
175
  height: height,
@@ -189,22 +189,8 @@ export const BackgroundWrapper = ({
189
189
  ...style,
190
190
  }}
191
191
  >
192
- {/* Overlay for better contrast and visual appeal */}
193
- {finalOverlayOpacity > 0 && (
194
- <div
195
- style={{
196
- position: 'absolute',
197
- top: 0,
198
- left: 0,
199
- right: 0,
200
- bottom: 0,
201
- background: finalOverlayColor,
202
- opacity: finalOverlayOpacity,
203
- }}
204
- />
205
- )}
206
-
207
- {children}
192
+
193
+ {children}
208
194
  </div>
209
195
  );
210
196
  };
@@ -215,7 +201,11 @@ export const BackgroundWrapper = ({
215
201
  * A container that provides mouse tracking and interactive background effects
216
202
  * for enhanced storytelling and demonstration purposes.
217
203
  */
218
- export const StoryContainer = ({ children, style = {}, interactive = false }: StoryContainerProps) => {
204
+ export const StoryContainer = ({
205
+ children,
206
+ style = {},
207
+ interactive = false,
208
+ }: StoryContainerProps) => {
219
209
  const containerRef = useRef<HTMLDivElement>(null);
220
210
  const [backgroundPosition, setBackgroundPosition] = useState({ x: 0, y: 0 });
221
211
 
@@ -244,6 +234,7 @@ export const StoryContainer = ({ children, style = {}, interactive = false }: St
244
234
  currentRef.removeEventListener('mousemove', handleMouseMove);
245
235
  };
246
236
  }
237
+ return undefined;
247
238
  }, [handleMouseMove, interactive]);
248
239
 
249
240
  return (