@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.
- package/README.md +19 -0
- package/dist/atomix.css +1266 -1412
- package/dist/atomix.min.css +3 -3
- package/dist/index.d.ts +1232 -876
- package/dist/index.esm.js +16212 -26364
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +15652 -22298
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/themes/applemix.css +15008 -0
- package/dist/themes/applemix.min.css +72 -0
- package/dist/themes/boomdevs.css +1266 -1413
- package/dist/themes/boomdevs.min.css +3 -3
- package/dist/themes/esrar.css +1267 -1413
- package/dist/themes/esrar.min.css +3 -3
- package/dist/themes/flashtrade.css +15159 -0
- package/dist/themes/flashtrade.min.css +86 -0
- package/dist/themes/mashroom.css +1264 -1410
- package/dist/themes/mashroom.min.css +5 -5
- package/dist/themes/shaj-default.css +1266 -1412
- package/dist/themes/shaj-default.min.css +3 -3
- package/package.json +6 -17
- package/src/components/Accordion/Accordion.stories.tsx +4 -26
- package/src/components/Accordion/Accordion.tsx +21 -12
- package/src/components/AtomixGlass/AtomixGlass.test.tsx +106 -72
- package/src/components/AtomixGlass/AtomixGlass.tsx +487 -1215
- package/src/components/AtomixGlass/AtomixGlassContainer.tsx +400 -0
- package/src/components/AtomixGlass/GlassFilter.tsx +156 -0
- package/src/components/AtomixGlass/README.md +124 -2
- package/src/components/AtomixGlass/atomixGLass.old.tsx +1266 -0
- package/src/components/AtomixGlass/glass-utils.ts +263 -0
- package/src/components/AtomixGlass/shader-utils.ts +404 -236
- package/src/components/AtomixGlass/{AtomixGlass.stories.tsx → stories/AtomixGlass.stories.tsx} +55 -35
- package/src/components/AtomixGlass/stories/Examples.stories.tsx +57 -89
- package/src/components/AtomixGlass/stories/Modes.stories.tsx +149 -149
- package/src/components/AtomixGlass/stories/Playground.stories.tsx +95 -32
- package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +0 -2
- package/src/components/AtomixGlass/stories/shared-components.tsx +9 -18
- package/src/components/AtomixGlass/utils.ts +3 -3
- package/src/components/Avatar/Avatar.tsx +3 -0
- package/src/components/Avatar/AvatarGroup.tsx +2 -1
- package/src/components/Badge/Badge.stories.tsx +74 -54
- package/src/components/Badge/Badge.tsx +8 -12
- package/src/components/Breadcrumb/Breadcrumb.tsx +23 -4
- package/src/components/Button/Button.tsx +3 -5
- package/src/components/Callout/Callout.stories.tsx +86 -35
- package/src/components/Callout/Callout.tsx +4 -0
- package/src/components/Card/Card.stories.tsx +89 -85
- package/src/components/Card/Card.tsx +15 -4
- package/src/components/Card/ElevationCard.tsx +2 -0
- package/src/components/Chart/AnimatedChart.tsx +179 -156
- package/src/components/Chart/AreaChart.tsx +123 -12
- package/src/components/Chart/BarChart.tsx +91 -100
- package/src/components/Chart/BaseChart.tsx +80 -0
- package/src/components/Chart/BubbleChart.tsx +114 -290
- package/src/components/Chart/CandlestickChart.tsx +282 -622
- package/src/components/Chart/Chart.stories.tsx +576 -179
- package/src/components/Chart/Chart.tsx +374 -75
- package/src/components/Chart/ChartRenderer.tsx +371 -220
- package/src/components/Chart/ChartToolbar.tsx +372 -61
- package/src/components/Chart/ChartTooltip.tsx +33 -18
- package/src/components/Chart/DonutChart.tsx +172 -254
- package/src/components/Chart/FunnelChart.tsx +169 -240
- package/src/components/Chart/GaugeChart.tsx +224 -392
- package/src/components/Chart/HeatmapChart.tsx +302 -440
- package/src/components/Chart/LineChart.tsx +148 -103
- package/src/components/Chart/MultiAxisChart.tsx +267 -395
- package/src/components/Chart/PieChart.tsx +114 -64
- package/src/components/Chart/RadarChart.tsx +202 -218
- package/src/components/Chart/ScatterChart.tsx +111 -97
- package/src/components/Chart/TreemapChart.tsx +147 -222
- package/src/components/Chart/WaterfallChart.tsx +253 -291
- package/src/components/Chart/index.ts +11 -9
- package/src/components/Chart/types.ts +85 -9
- package/src/components/Chart/utils.ts +66 -0
- package/src/components/ColorModeToggle/ColorModeToggle.tsx +6 -3
- package/src/components/Countdown/Countdown.tsx +4 -0
- package/src/components/DataTable/DataTable.tsx +2 -1
- package/src/components/DatePicker/DatePicker.stories.tsx +0 -11
- package/src/components/DatePicker/DatePicker.tsx +3 -9
- package/src/components/DatePicker/types.ts +5 -0
- package/src/components/Dropdown/Dropdown.stories.tsx +32 -25
- package/src/components/Dropdown/Dropdown.tsx +26 -28
- package/src/components/EdgePanel/EdgePanel.stories.tsx +13 -15
- package/src/components/EdgePanel/EdgePanel.tsx +20 -5
- package/src/components/Footer/Footer.stories.tsx +187 -60
- package/src/components/Footer/Footer.test.tsx +134 -0
- package/src/components/Footer/Footer.tsx +133 -34
- package/src/components/Footer/FooterLink.tsx +1 -1
- package/src/components/Footer/FooterSection.tsx +53 -36
- package/src/components/Footer/FooterSocialLink.tsx +32 -29
- package/src/components/Footer/README.md +82 -3
- package/src/components/Footer/index.ts +1 -1
- package/src/components/Form/Checkbox.stories.tsx +13 -5
- package/src/components/Form/Checkbox.tsx +3 -6
- package/src/components/Form/Form.stories.tsx +10 -3
- package/src/components/Form/Form.tsx +2 -0
- package/src/components/Form/FormGroup.tsx +2 -1
- package/src/components/Form/Input.stories.tsx +12 -11
- package/src/components/Form/Input.tsx +97 -95
- package/src/components/Form/Radio.stories.tsx +22 -7
- package/src/components/Form/Radio.tsx +3 -6
- package/src/components/Form/Select.stories.tsx +21 -6
- package/src/components/Form/Select.tsx +3 -5
- package/src/components/Form/Textarea.stories.tsx +13 -11
- package/src/components/Form/Textarea.tsx +88 -86
- package/src/components/Hero/Hero.stories.tsx +2 -3
- package/src/components/Hero/Hero.tsx +5 -6
- package/src/components/Icon/Icon.tsx +12 -1
- package/src/components/List/List.tsx +2 -1
- package/src/components/List/ListGroup.tsx +2 -1
- package/src/components/Messages/Messages.tsx +3 -2
- package/src/components/Modal/Modal.stories.tsx +48 -34
- package/src/components/Modal/Modal.tsx +19 -23
- package/src/components/Navigation/Menu/MegaMenu.tsx +2 -2
- package/src/components/Navigation/Menu/Menu.tsx +2 -2
- package/src/components/Navigation/Nav/Nav.tsx +6 -1
- package/src/components/Navigation/Nav/NavDropdown.tsx +10 -1
- package/src/components/Navigation/Navbar/Navbar.tsx +4 -1
- package/src/components/Navigation/SideMenu/SideMenu.tsx +3 -2
- package/src/components/Pagination/Pagination.stories.tsx +13 -6
- package/src/components/Pagination/Pagination.tsx +7 -6
- package/src/components/PhotoViewer/PhotoViewer.tsx +2 -1
- package/src/components/Popover/Popover.stories.tsx +32 -24
- package/src/components/Popover/Popover.tsx +4 -1
- package/src/components/ProductReview/ProductReview.tsx +8 -2
- package/src/components/Progress/Progress.tsx +2 -1
- package/src/components/Rating/Rating.stories.tsx +11 -6
- package/src/components/Rating/Rating.tsx +3 -5
- package/src/components/River/River.tsx +5 -5
- package/src/components/SectionIntro/SectionIntro.tsx +8 -2
- package/src/components/Slider/Slider.stories.tsx +4 -4
- package/src/components/Slider/Slider.tsx +4 -3
- package/src/components/Spinner/Spinner.tsx +2 -1
- package/src/components/Steps/Steps.stories.tsx +5 -4
- package/src/components/Steps/Steps.tsx +8 -5
- package/src/components/Tab/Tab.stories.tsx +4 -3
- package/src/components/Tab/Tab.tsx +8 -6
- package/src/components/Testimonial/Testimonial.tsx +8 -2
- package/src/components/Todo/Todo.tsx +2 -1
- package/src/components/Toggle/Toggle.stories.tsx +5 -4
- package/src/components/Toggle/Toggle.tsx +8 -5
- package/src/components/Tooltip/Tooltip.stories.tsx +40 -30
- package/src/components/Tooltip/Tooltip.tsx +9 -2
- package/src/components/Upload/Upload.stories.tsx +252 -0
- package/src/components/Upload/Upload.tsx +92 -53
- package/src/components/VideoPlayer/VideoPlayer.tsx +3 -1
- package/src/components/index.ts +0 -4
- package/src/layouts/Grid/Grid.stories.tsx +10 -23
- package/src/layouts/Grid/Grid.tsx +20 -1
- package/src/layouts/Grid/GridCol.tsx +76 -48
- package/src/lib/composables/useAtomixGlass.ts +861 -44
- package/src/lib/composables/useBarChart.ts +13 -6
- package/src/lib/composables/useChart.ts +17 -13
- package/src/lib/composables/useChartExport.ts +19 -78
- package/src/lib/composables/useChartToolbar.ts +0 -1
- package/src/lib/composables/useEdgePanel.ts +111 -103
- package/src/lib/composables/useFooter.ts +3 -3
- package/src/lib/composables/useGlassContainer.ts +16 -7
- package/src/lib/composables/useLineChart.ts +8 -1
- package/src/lib/composables/useRiver.ts +5 -0
- package/src/lib/composables/useSlider.ts +62 -24
- package/src/lib/composables/useVideoPlayer.ts +60 -63
- package/src/lib/constants/components.ts +146 -32
- package/src/lib/types/components.ts +258 -10
- package/src/lib/utils/displacement-generator.ts +55 -49
- package/src/lib/utils/icons.ts +1 -1
- package/src/lib/utils/index.ts +16 -10
- package/src/styles/01-settings/_settings.accordion.scss +19 -19
- package/src/styles/01-settings/_settings.animations.scss +5 -5
- package/src/styles/01-settings/_settings.avatar-group.scss +1 -1
- package/src/styles/01-settings/_settings.avatar.scss +17 -17
- package/src/styles/01-settings/_settings.background.scss +1 -4
- package/src/styles/01-settings/_settings.badge.scss +1 -1
- package/src/styles/01-settings/_settings.breadcrumb.scss +1 -1
- package/src/styles/01-settings/_settings.card.scss +1 -1
- package/src/styles/01-settings/_settings.chart.scss +65 -2
- package/src/styles/01-settings/_settings.dropdown.scss +1 -1
- package/src/styles/01-settings/_settings.footer.scss +35 -42
- package/src/styles/01-settings/_settings.input.scss +1 -1
- package/src/styles/01-settings/_settings.list.scss +1 -1
- package/src/styles/01-settings/_settings.rating.scss +1 -1
- package/src/styles/01-settings/_settings.tabs.scss +1 -1
- package/src/styles/01-settings/_settings.upload.scss +6 -5
- package/src/styles/02-tools/_tools.animations.scss +4 -5
- package/src/styles/02-tools/_tools.background.scss +1 -13
- package/src/styles/02-tools/_tools.glass.scss +0 -1
- package/src/styles/02-tools/_tools.utility-api.scss +42 -34
- package/src/styles/03-generic/_generic.root.scss +1 -4
- package/src/styles/04-elements/_elements.body.scss +0 -1
- package/src/styles/06-components/_components.atomix-glass.scss +216 -39
- package/src/styles/06-components/_components.badge.scss +6 -8
- package/src/styles/06-components/_components.button.scss +8 -3
- package/src/styles/06-components/_components.card.scss +2 -14
- package/src/styles/06-components/_components.chart.scss +969 -1449
- package/src/styles/06-components/_components.dropdown.scss +19 -7
- package/src/styles/06-components/_components.edge-panel.scss +4 -2
- package/src/styles/06-components/_components.footer.scss +166 -85
- package/src/styles/06-components/_components.input.scss +8 -9
- package/src/styles/06-components/_components.list.scss +1 -0
- package/src/styles/06-components/_components.modal.scss +5 -3
- package/src/styles/06-components/_components.skeleton.scss +8 -6
- package/src/styles/06-components/_components.upload.scss +219 -4
- package/src/styles/06-components/old.chart.styles.scss +1 -30
- package/src/styles/99-utilities/_utilities.opacity.scss +1 -1
- package/src/styles/99-utilities/_utilities.scss +1 -1
- package/src/components/Chart/AdvancedChart.tsx +0 -624
- package/src/components/Chart/LineChartNew.tsx +0 -167
- package/src/components/Chart/RealTimeChart.tsx +0 -436
- 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=
|
|
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
|
-
|
|
189
|
-
|
|
190
|
-
|
|
188
|
+
<Grid>
|
|
189
|
+
{modes.map(mode => {
|
|
190
|
+
const isSelected = selectedMode === mode.id;
|
|
191
191
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
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
|
-
|
|
214
|
-
|
|
215
|
-
|
|
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
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
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
|
-
|
|
240
|
-
|
|
241
|
-
borderRadius: '
|
|
224
|
+
width: '64px',
|
|
225
|
+
height: '64px',
|
|
226
|
+
borderRadius: '18px',
|
|
242
227
|
background: mode.gradient,
|
|
243
|
-
|
|
244
|
-
|
|
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
|
-
|
|
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
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
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
|
-
{/*
|
|
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
|
-
|
|
332
|
+
flexWrap: 'wrap',
|
|
280
333
|
gap: '8px',
|
|
281
|
-
marginBottom: '20px',
|
|
282
334
|
}}
|
|
283
335
|
>
|
|
284
|
-
{mode.
|
|
285
|
-
<
|
|
286
|
-
key={
|
|
336
|
+
{Object.entries(mode.settings).map(([key, value]) => (
|
|
337
|
+
<span
|
|
338
|
+
key={key}
|
|
287
339
|
style={{
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
color: 'rgba(255, 255, 255, 0.
|
|
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
|
-
|
|
296
|
-
|
|
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
|
-
</
|
|
353
|
-
</
|
|
354
|
-
|
|
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=
|
|
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<
|
|
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
|
-
|
|
511
|
+
{/* Control Panel */}
|
|
512
512
|
|
|
513
|
-
<AtomixGlass blurAmount={10} elasticity={0} displacementScale={20} padding=
|
|
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={{
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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">
|
|
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={{
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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={{
|
|
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
|
|
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
|
|
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">
|
|
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">
|
|
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">
|
|
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>
|
|
@@ -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
|
-
|
|
193
|
-
{
|
|
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 = ({
|
|
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 (
|