@shohojdhara/atomix 0.2.1 → 0.2.3
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 +1 -28
- package/dist/atomix.css +1500 -241
- package/dist/atomix.min.css +6 -6
- package/dist/index.d.ts +1052 -194
- package/dist/index.esm.js +12201 -6066
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +5481 -2827
- 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/boomdevs.css +1500 -301
- package/dist/themes/boomdevs.min.css +60 -8
- package/dist/themes/esrar.css +1500 -241
- package/dist/themes/esrar.min.css +6 -6
- package/dist/themes/mashroom.css +1496 -237
- package/dist/themes/mashroom.min.css +8 -8
- package/dist/themes/shaj-default.css +1451 -192
- package/dist/themes/shaj-default.min.css +6 -6
- package/package.json +66 -15
- package/src/components/Accordion/Accordion.stories.tsx +137 -0
- package/src/components/Accordion/Accordion.tsx +33 -3
- package/src/components/AtomixGlass/AtomixGlass.stories.tsx +3011 -0
- package/src/components/AtomixGlass/AtomixGlass.test.tsx +199 -0
- package/src/components/AtomixGlass/AtomixGlass.tsx +1281 -0
- package/src/components/AtomixGlass/AtomixGlassComprehensivePreview.stories.tsx +1369 -0
- package/src/components/AtomixGlass/README.md +134 -0
- package/src/components/AtomixGlass/index.ts +10 -0
- package/src/components/AtomixGlass/shader-utils.ts +140 -0
- package/src/components/AtomixGlass/utils.ts +8 -0
- package/src/components/Badge/Badge.stories.tsx +169 -0
- package/src/components/Badge/Badge.tsx +27 -2
- package/src/components/Button/Button.stories.tsx +345 -0
- package/src/components/Button/Button.tsx +35 -3
- package/src/components/Button/README.md +216 -0
- package/src/components/Callout/Callout.stories.tsx +813 -78
- package/src/components/Callout/Callout.test.tsx +368 -0
- package/src/components/Callout/Callout.tsx +26 -7
- package/src/components/Callout/README.md +409 -0
- package/src/components/Card/Card.stories.tsx +140 -0
- package/src/components/Card/Card.tsx +19 -3
- package/src/components/DatePicker/DatePicker copy.tsx +551 -0
- package/src/components/DatePicker/DatePicker.stories.tsx +188 -0
- package/src/components/DatePicker/DatePicker.tsx +379 -332
- package/src/components/DatePicker/readme.md +110 -1
- package/src/components/DatePicker/types.ts +8 -0
- package/src/components/Dropdown/Dropdown.stories.tsx +145 -0
- package/src/components/Dropdown/Dropdown.tsx +34 -5
- package/src/components/Footer/Footer.stories.tsx +388 -0
- package/src/components/Footer/Footer.tsx +197 -0
- package/src/components/Footer/FooterLink.tsx +72 -0
- package/src/components/Footer/FooterSection.tsx +87 -0
- package/src/components/Footer/FooterSocialLink.tsx +117 -0
- package/src/components/Footer/README.md +261 -0
- package/src/components/Footer/index.ts +13 -0
- package/src/components/Form/Checkbox.stories.tsx +101 -0
- package/src/components/Form/Checkbox.tsx +26 -2
- package/src/components/Form/Input.stories.tsx +124 -0
- package/src/components/Form/Input.tsx +36 -7
- package/src/components/Form/Radio.stories.tsx +139 -0
- package/src/components/Form/Radio.tsx +26 -2
- package/src/components/Form/Select.stories.tsx +110 -0
- package/src/components/Form/Select.tsx +26 -2
- package/src/components/Form/Textarea.stories.tsx +104 -0
- package/src/components/Form/Textarea.tsx +36 -7
- package/src/components/Hero/Hero.stories.tsx +54 -1
- package/src/components/Hero/Hero.tsx +70 -11
- package/src/components/Modal/Modal.stories.tsx +235 -0
- package/src/components/Modal/Modal.tsx +64 -35
- package/src/components/Pagination/Pagination.stories.tsx +101 -0
- package/src/components/Pagination/Pagination.tsx +25 -1
- package/src/components/Popover/Popover.stories.tsx +94 -0
- package/src/components/Popover/Popover.tsx +30 -4
- package/src/components/Rating/Rating.stories.tsx +112 -0
- package/src/components/Rating/Rating.tsx +25 -1
- package/src/components/SectionIntro/SectionIntro.tsx +9 -11
- package/src/components/Slider/Slider.stories.tsx +634 -50
- package/src/components/Slider/Slider.tsx +5 -3
- package/src/components/Steps/Steps.stories.tsx +119 -0
- package/src/components/Steps/Steps.tsx +32 -1
- package/src/components/Tab/Tab.stories.tsx +88 -0
- package/src/components/Tab/Tab.tsx +32 -1
- package/src/components/Toggle/Toggle.stories.tsx +92 -0
- package/src/components/Toggle/Toggle.tsx +32 -1
- package/src/components/Tooltip/Tooltip.stories.tsx +131 -0
- package/src/components/Tooltip/Tooltip.tsx +43 -7
- package/src/components/VideoPlayer/VideoPlayer.stories.tsx +1002 -196
- package/src/components/VideoPlayer/VideoPlayer.tsx +161 -4
- package/src/components/index.ts +14 -0
- package/src/layouts/Grid/Grid.stories.tsx +226 -159
- package/src/lib/composables/index.ts +4 -0
- package/src/lib/composables/useAtomixGlass.ts +71 -0
- package/src/lib/composables/useButton.ts +3 -1
- package/src/lib/composables/useCallout.ts +4 -1
- package/src/lib/composables/useFooter.ts +85 -0
- package/src/lib/composables/useGlassContainer.ts +168 -0
- package/src/lib/composables/useSlider.ts +191 -4
- package/src/lib/constants/components.ts +173 -0
- package/src/lib/types/components.ts +622 -0
- package/src/lib/utils/displacement-generator.ts +86 -0
- package/src/styles/01-settings/_index.scss +1 -0
- package/src/styles/01-settings/_settings.accordion.scss +20 -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 -18
- package/src/styles/01-settings/_settings.background.scss +10 -0
- package/src/styles/01-settings/_settings.badge.scss +1 -1
- package/src/styles/01-settings/_settings.breadcrumb.scss +8 -2
- package/src/styles/01-settings/_settings.callout.scss +7 -7
- package/src/styles/01-settings/_settings.card.scss +2 -2
- package/src/styles/01-settings/_settings.chart.scss +7 -7
- package/src/styles/01-settings/_settings.checkbox-group.scss +5 -2
- package/src/styles/01-settings/_settings.checkbox.scss +10 -4
- package/src/styles/01-settings/_settings.countdown.scss +6 -4
- package/src/styles/01-settings/_settings.dropdown.scss +9 -7
- package/src/styles/01-settings/_settings.edge-panel.scss +3 -2
- package/src/styles/01-settings/_settings.footer.scss +125 -0
- package/src/styles/01-settings/_settings.form-group.scss +3 -1
- package/src/styles/01-settings/_settings.form.scss +4 -2
- package/src/styles/01-settings/_settings.hero.scss +9 -7
- package/src/styles/01-settings/_settings.input.scss +9 -7
- package/src/styles/01-settings/_settings.list-group.scss +4 -2
- package/src/styles/01-settings/_settings.list.scss +4 -2
- package/src/styles/01-settings/_settings.menu.scss +10 -8
- package/src/styles/01-settings/_settings.messages.scss +19 -17
- package/src/styles/01-settings/_settings.modal.scss +6 -4
- package/src/styles/01-settings/_settings.nav.scss +6 -4
- package/src/styles/01-settings/_settings.navbar.scss +8 -5
- package/src/styles/01-settings/_settings.pagination.scss +5 -3
- package/src/styles/01-settings/_settings.popover.scss +6 -4
- package/src/styles/01-settings/_settings.rating.scss +5 -3
- package/src/styles/01-settings/_settings.river.scss +8 -6
- package/src/styles/01-settings/_settings.sectionintro.scss +8 -6
- package/src/styles/01-settings/_settings.select.scss +7 -5
- package/src/styles/01-settings/_settings.side-menu.scss +15 -13
- package/src/styles/01-settings/_settings.spacing.scss +4 -0
- package/src/styles/01-settings/_settings.steps.scss +7 -5
- package/src/styles/01-settings/_settings.tabs.scss +7 -5
- package/src/styles/01-settings/_settings.testimonials.scss +6 -4
- package/src/styles/01-settings/_settings.toggle.scss +3 -1
- package/src/styles/01-settings/_settings.tooltip.scss +5 -3
- package/src/styles/01-settings/_settings.upload.scss +22 -20
- package/src/styles/02-tools/_tools.animations.scss +19 -0
- package/src/styles/02-tools/_tools.background.scss +87 -0
- package/src/styles/02-tools/_tools.glass.scss +1 -0
- package/src/styles/02-tools/_tools.rem.scss +18 -5
- package/src/styles/02-tools/_tools.utility-api.scss +32 -26
- package/src/styles/03-generic/_generic.root.scss +15 -2
- package/src/styles/04-elements/_elements.body.scss +6 -0
- package/src/styles/06-components/_components.accordion.scss +24 -4
- package/src/styles/06-components/_components.atomix-glass.scss +0 -0
- package/src/styles/06-components/_components.avatar-group.scss +2 -1
- package/src/styles/06-components/_components.avatar.scss +2 -1
- package/src/styles/06-components/_components.badge.scss +36 -1
- package/src/styles/06-components/_components.breadcrumb.scss +2 -1
- package/src/styles/06-components/_components.button.scss +14 -3
- package/src/styles/06-components/_components.callout.scss +44 -4
- package/src/styles/06-components/_components.card.scss +21 -2
- package/src/styles/06-components/_components.chart.scss +3 -2
- package/src/styles/06-components/_components.checkbox.scss +2 -1
- package/src/styles/06-components/_components.color-mode-toggle.scss +3 -2
- package/src/styles/06-components/_components.countdown.scss +2 -1
- package/src/styles/06-components/_components.data-table.scss +7 -6
- package/src/styles/06-components/_components.datepicker.scss +20 -1
- package/src/styles/06-components/_components.dropdown.scss +11 -4
- package/src/styles/06-components/_components.edge-panel.scss +4 -3
- package/src/styles/06-components/_components.footer.scss +825 -0
- package/src/styles/06-components/_components.form-group.scss +1 -0
- package/src/styles/06-components/_components.hero.scss +4 -4
- package/src/styles/06-components/_components.image-gallery.scss +1 -0
- package/src/styles/06-components/_components.input.scss +33 -2
- package/src/styles/06-components/_components.list-group.scss +3 -2
- package/src/styles/06-components/_components.list.scss +2 -1
- package/src/styles/06-components/_components.menu.scss +5 -4
- package/src/styles/06-components/_components.messages.scss +8 -7
- package/src/styles/06-components/_components.modal.scss +3 -2
- package/src/styles/06-components/_components.nav.scss +6 -5
- package/src/styles/06-components/_components.navbar.scss +4 -3
- package/src/styles/06-components/_components.pagination.scss +2 -1
- package/src/styles/06-components/_components.photoviewer.scss +4 -3
- package/src/styles/06-components/_components.popover.scss +3 -2
- package/src/styles/06-components/_components.product-review.scss +3 -2
- package/src/styles/06-components/_components.progress.scss +3 -2
- package/src/styles/06-components/_components.river.scss +3 -2
- package/src/styles/06-components/_components.sectionintro.scss +2 -1
- package/src/styles/06-components/_components.select.scss +5 -4
- package/src/styles/06-components/_components.side-menu.scss +8 -7
- package/src/styles/06-components/_components.skeleton.scss +3 -2
- package/src/styles/06-components/_components.slider.scss +7 -6
- package/src/styles/06-components/_components.spinner.scss +1 -0
- package/src/styles/06-components/_components.steps.scss +3 -2
- package/src/styles/06-components/_components.tabs.scss +4 -3
- package/src/styles/06-components/_components.testimonials.scss +2 -1
- package/src/styles/06-components/_components.todo.scss +3 -2
- package/src/styles/06-components/_components.toggle.scss +5 -4
- package/src/styles/06-components/_components.tooltip.scss +3 -2
- package/src/styles/06-components/_components.upload.scss +4 -3
- package/src/styles/06-components/_components.video-player.scss +50 -27
- package/src/styles/06-components/_index.scss +2 -0
- package/src/styles/99-utilities/_utilities.glass-fixes.scss +48 -0
- package/dist/themes/yabai.css +0 -13711
- package/dist/themes/yabai.min.css +0 -189
|
@@ -1,4 +1,47 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { AtomixGlass } from '../../components/AtomixGlass/AtomixGlass';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* AtomixGlass component props interface
|
|
6
|
+
*/
|
|
7
|
+
export interface AtomixGlassProps {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
displacementScale?: number;
|
|
10
|
+
blurAmount?: number;
|
|
11
|
+
saturation?: number;
|
|
12
|
+
aberrationIntensity?: number;
|
|
13
|
+
elasticity?: number;
|
|
14
|
+
cornerRadius?: number;
|
|
15
|
+
globalMousePos?: { x: number; y: number };
|
|
16
|
+
mouseOffset?: { x: number; y: number };
|
|
17
|
+
mouseContainer?: React.RefObject<HTMLElement | null> | null;
|
|
18
|
+
className?: string;
|
|
19
|
+
padding?: string;
|
|
20
|
+
style?: React.CSSProperties;
|
|
21
|
+
overLight?: boolean;
|
|
22
|
+
mode?: 'standard' | 'polar' | 'prominent' | 'shader';
|
|
23
|
+
onClick?: () => void;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Accessibility props
|
|
27
|
+
*/
|
|
28
|
+
'aria-label'?: string;
|
|
29
|
+
'aria-describedby'?: string;
|
|
30
|
+
role?: string;
|
|
31
|
+
tabIndex?: number;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Performance and accessibility options
|
|
35
|
+
*/
|
|
36
|
+
reducedMotion?: boolean;
|
|
37
|
+
highContrast?: boolean;
|
|
38
|
+
disableEffects?: boolean;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Performance monitoring
|
|
42
|
+
*/
|
|
43
|
+
enablePerformanceMonitoring?: boolean;
|
|
44
|
+
}
|
|
2
45
|
|
|
3
46
|
/**
|
|
4
47
|
* Common component size options
|
|
@@ -58,6 +101,11 @@ export interface BaseComponentProps {
|
|
|
58
101
|
* Component disabled state
|
|
59
102
|
*/
|
|
60
103
|
disabled?: boolean;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Component children
|
|
107
|
+
*/
|
|
108
|
+
children?: ReactNode;
|
|
61
109
|
}
|
|
62
110
|
|
|
63
111
|
/**
|
|
@@ -168,6 +216,12 @@ export interface ButtonProps extends BaseComponentProps {
|
|
|
168
216
|
* Make button fully rounded (pill shape)
|
|
169
217
|
*/
|
|
170
218
|
rounded?: boolean;
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Glass morphism effect for the button
|
|
222
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
223
|
+
*/
|
|
224
|
+
glass?: AtomixGlassProps | boolean;
|
|
171
225
|
}
|
|
172
226
|
|
|
173
227
|
/**
|
|
@@ -193,6 +247,12 @@ export interface BadgeProps extends BaseComponentProps {
|
|
|
193
247
|
* Optional icon
|
|
194
248
|
*/
|
|
195
249
|
icon?: ReactNode;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Glass morphism effect for the badge
|
|
253
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
254
|
+
*/
|
|
255
|
+
glass?: AtomixGlassProps | boolean;
|
|
196
256
|
}
|
|
197
257
|
|
|
198
258
|
/**
|
|
@@ -238,8 +298,15 @@ export interface CalloutProps extends BaseComponentProps {
|
|
|
238
298
|
* Display as toast notification
|
|
239
299
|
*/
|
|
240
300
|
toast?: boolean;
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Glass morphism effect for the callout
|
|
304
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
305
|
+
*/
|
|
306
|
+
glass?: AtomixGlassProps | boolean;
|
|
241
307
|
}
|
|
242
308
|
|
|
309
|
+
|
|
243
310
|
/**
|
|
244
311
|
* Accordion component properties
|
|
245
312
|
*/
|
|
@@ -268,6 +335,12 @@ export interface AccordionProps extends BaseComponentProps {
|
|
|
268
335
|
* Custom icon for the accordion
|
|
269
336
|
*/
|
|
270
337
|
icon?: ReactNode;
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Glass morphism effect for the accordion
|
|
341
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
342
|
+
*/
|
|
343
|
+
glass?: AtomixGlassProps | boolean;
|
|
271
344
|
}
|
|
272
345
|
|
|
273
346
|
/**
|
|
@@ -383,6 +456,11 @@ export interface HeroProps extends BaseComponentProps {
|
|
|
383
456
|
*/
|
|
384
457
|
videoBackground?: string;
|
|
385
458
|
|
|
459
|
+
/**
|
|
460
|
+
* Glass effect properties for content container
|
|
461
|
+
*/
|
|
462
|
+
glass?: AtomixGlassProps | boolean;
|
|
463
|
+
|
|
386
464
|
/**
|
|
387
465
|
* Video background options
|
|
388
466
|
*/
|
|
@@ -407,6 +485,11 @@ export interface HeroProps extends BaseComponentProps {
|
|
|
407
485
|
*/
|
|
408
486
|
posterUrl?: string;
|
|
409
487
|
};
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* Component children
|
|
491
|
+
*/
|
|
492
|
+
children?: ReactNode;
|
|
410
493
|
}
|
|
411
494
|
|
|
412
495
|
/**
|
|
@@ -1022,6 +1105,12 @@ export interface PaginationProps extends BaseComponentProps {
|
|
|
1022
1105
|
* Accessible label for the navigation element
|
|
1023
1106
|
*/
|
|
1024
1107
|
ariaLabel?: string;
|
|
1108
|
+
|
|
1109
|
+
/**
|
|
1110
|
+
* Glass morphism effect for the pagination component
|
|
1111
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
1112
|
+
*/
|
|
1113
|
+
glass?: AtomixGlassProps | boolean;
|
|
1025
1114
|
}
|
|
1026
1115
|
|
|
1027
1116
|
/**
|
|
@@ -1302,6 +1391,11 @@ export interface InputProps extends BaseComponentProps {
|
|
|
1302
1391
|
* ID of element that describes this input
|
|
1303
1392
|
*/
|
|
1304
1393
|
ariaDescribedBy?: string;
|
|
1394
|
+
|
|
1395
|
+
/**
|
|
1396
|
+
* Glass morphism effect
|
|
1397
|
+
*/
|
|
1398
|
+
glass?: boolean | Omit<React.ComponentProps<typeof AtomixGlass>, 'children'>;
|
|
1305
1399
|
}
|
|
1306
1400
|
|
|
1307
1401
|
/**
|
|
@@ -1402,6 +1496,12 @@ export interface SelectProps extends BaseComponentProps {
|
|
|
1402
1496
|
* ID of element that describes this select
|
|
1403
1497
|
*/
|
|
1404
1498
|
ariaDescribedBy?: string;
|
|
1499
|
+
|
|
1500
|
+
/**
|
|
1501
|
+
* Glass morphism effect for the select
|
|
1502
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
1503
|
+
*/
|
|
1504
|
+
glass?: AtomixGlassProps | boolean;
|
|
1405
1505
|
}
|
|
1406
1506
|
|
|
1407
1507
|
/**
|
|
@@ -1467,6 +1567,12 @@ export interface CheckboxProps extends BaseComponentProps {
|
|
|
1467
1567
|
* ID of element that describes this checkbox
|
|
1468
1568
|
*/
|
|
1469
1569
|
ariaDescribedBy?: string;
|
|
1570
|
+
|
|
1571
|
+
/**
|
|
1572
|
+
* Glass morphism effect for the checkbox
|
|
1573
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
1574
|
+
*/
|
|
1575
|
+
glass?: AtomixGlassProps | boolean;
|
|
1470
1576
|
}
|
|
1471
1577
|
|
|
1472
1578
|
/**
|
|
@@ -1527,6 +1633,12 @@ export interface RadioProps extends BaseComponentProps {
|
|
|
1527
1633
|
* ID of element that describes this radio
|
|
1528
1634
|
*/
|
|
1529
1635
|
ariaDescribedBy?: string;
|
|
1636
|
+
|
|
1637
|
+
/**
|
|
1638
|
+
* Glass morphism effect for the radio button
|
|
1639
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
1640
|
+
*/
|
|
1641
|
+
glass?: AtomixGlassProps | boolean;
|
|
1530
1642
|
}
|
|
1531
1643
|
|
|
1532
1644
|
/**
|
|
@@ -1632,6 +1744,11 @@ export interface TextareaProps extends BaseComponentProps {
|
|
|
1632
1744
|
* ID of element that describes this textarea
|
|
1633
1745
|
*/
|
|
1634
1746
|
ariaDescribedBy?: string;
|
|
1747
|
+
|
|
1748
|
+
/**
|
|
1749
|
+
* Glass morphism effect
|
|
1750
|
+
*/
|
|
1751
|
+
glass?: boolean | Omit<React.ComponentProps<typeof AtomixGlass>, 'children'>;
|
|
1635
1752
|
}
|
|
1636
1753
|
|
|
1637
1754
|
/**
|
|
@@ -1762,6 +1879,12 @@ export interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, '
|
|
|
1762
1879
|
* Content for the modal footer
|
|
1763
1880
|
*/
|
|
1764
1881
|
footer?: React.ReactNode;
|
|
1882
|
+
|
|
1883
|
+
/**
|
|
1884
|
+
* Glass morphism effect for the modal
|
|
1885
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
1886
|
+
*/
|
|
1887
|
+
glass?: AtomixGlassProps | boolean;
|
|
1765
1888
|
}
|
|
1766
1889
|
|
|
1767
1890
|
/**
|
|
@@ -2014,6 +2137,12 @@ export interface PopoverProps {
|
|
|
2014
2137
|
* Children content (removed in favor of using PopoverTrigger)
|
|
2015
2138
|
*/
|
|
2016
2139
|
children?: ReactNode;
|
|
2140
|
+
|
|
2141
|
+
/**
|
|
2142
|
+
* Glass morphism effect for the popover
|
|
2143
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
2144
|
+
*/
|
|
2145
|
+
glass?: AtomixGlassProps | boolean;
|
|
2017
2146
|
}
|
|
2018
2147
|
|
|
2019
2148
|
/**
|
|
@@ -2107,6 +2236,12 @@ export interface DropdownProps extends BaseComponentProps {
|
|
|
2107
2236
|
* Optional ID for the dropdown
|
|
2108
2237
|
*/
|
|
2109
2238
|
id?: string;
|
|
2239
|
+
|
|
2240
|
+
/**
|
|
2241
|
+
* Glass morphism effect for the dropdown menu
|
|
2242
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
2243
|
+
*/
|
|
2244
|
+
glass?: AtomixGlassProps | boolean;
|
|
2110
2245
|
}
|
|
2111
2246
|
|
|
2112
2247
|
/**
|
|
@@ -2257,6 +2392,12 @@ export interface RatingProps extends BaseComponentProps {
|
|
|
2257
2392
|
* Whether to use the vanilla JS implementation
|
|
2258
2393
|
*/
|
|
2259
2394
|
useVanillaJS?: boolean;
|
|
2395
|
+
|
|
2396
|
+
/**
|
|
2397
|
+
* Glass morphism effect for the rating component
|
|
2398
|
+
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
2399
|
+
*/
|
|
2400
|
+
glass?: AtomixGlassProps | boolean;
|
|
2260
2401
|
}
|
|
2261
2402
|
|
|
2262
2403
|
/**
|
|
@@ -2387,6 +2528,36 @@ export interface VideoPlayerProps extends BaseComponentProps {
|
|
|
2387
2528
|
*/
|
|
2388
2529
|
ambientMode?: boolean;
|
|
2389
2530
|
|
|
2531
|
+
/**
|
|
2532
|
+
* Glass morphism variant configuration
|
|
2533
|
+
* - true: Enable with default settings
|
|
2534
|
+
* - false/undefined: Disable glass effect
|
|
2535
|
+
* - object: Custom glass configuration
|
|
2536
|
+
*/
|
|
2537
|
+
glass?:
|
|
2538
|
+
| boolean
|
|
2539
|
+
| {
|
|
2540
|
+
displacementScale?: number;
|
|
2541
|
+
blurAmount?: number;
|
|
2542
|
+
saturation?: number;
|
|
2543
|
+
aberrationIntensity?: number;
|
|
2544
|
+
elasticity?: number;
|
|
2545
|
+
cornerRadius?: number;
|
|
2546
|
+
mode?: 'standard' | 'polar' | 'prominent' | 'shader';
|
|
2547
|
+
overLight?: boolean;
|
|
2548
|
+
};
|
|
2549
|
+
|
|
2550
|
+
/**
|
|
2551
|
+
* Glass overlay opacity (0-1) when glass variant is enabled
|
|
2552
|
+
* @default 0.3
|
|
2553
|
+
*/
|
|
2554
|
+
glassOpacity?: number;
|
|
2555
|
+
|
|
2556
|
+
/**
|
|
2557
|
+
* Custom content to display over the glass layer
|
|
2558
|
+
*/
|
|
2559
|
+
glassContent?: React.ReactNode;
|
|
2560
|
+
|
|
2390
2561
|
/**
|
|
2391
2562
|
* Play event handler
|
|
2392
2563
|
*/
|
|
@@ -2548,11 +2719,28 @@ export interface CardProps extends BaseComponentProps {
|
|
|
2548
2719
|
*/
|
|
2549
2720
|
active?: boolean;
|
|
2550
2721
|
|
|
2722
|
+
/**
|
|
2723
|
+
* Applies a glass morphism effect to the card.
|
|
2724
|
+
* Can be a boolean to enable with default settings, or an object with `AtomixGlassProps` to customize the effect.
|
|
2725
|
+
*/
|
|
2726
|
+
glass?: boolean | Omit<React.ComponentProps<typeof AtomixGlass>, 'children'>;
|
|
2727
|
+
|
|
2728
|
+
cardAppearance?: boolean;
|
|
2551
2729
|
/**
|
|
2552
2730
|
* Card content (body)
|
|
2553
2731
|
*/
|
|
2554
2732
|
children?: ReactNode;
|
|
2555
2733
|
|
|
2734
|
+
/**
|
|
2735
|
+
* Card styles
|
|
2736
|
+
*/
|
|
2737
|
+
styles?: React.CSSProperties;
|
|
2738
|
+
|
|
2739
|
+
/**
|
|
2740
|
+
* Card className
|
|
2741
|
+
*/
|
|
2742
|
+
className?: string;
|
|
2743
|
+
|
|
2556
2744
|
/**
|
|
2557
2745
|
* Optional click handler
|
|
2558
2746
|
*/
|
|
@@ -4748,3 +4936,437 @@ export interface CodeBlockProps extends BaseComponentProps {
|
|
|
4748
4936
|
*/
|
|
4749
4937
|
showToolbar?: boolean;
|
|
4750
4938
|
}
|
|
4939
|
+
|
|
4940
|
+
// ============================================================================
|
|
4941
|
+
// FOOTER COMPONENT TYPES
|
|
4942
|
+
// ============================================================================
|
|
4943
|
+
|
|
4944
|
+
/**
|
|
4945
|
+
* Footer layout options
|
|
4946
|
+
*/
|
|
4947
|
+
export type FooterLayout = 'columns' | 'centered' | 'minimal' | 'stacked';
|
|
4948
|
+
|
|
4949
|
+
/**
|
|
4950
|
+
* Social media platform types
|
|
4951
|
+
*/
|
|
4952
|
+
export type SocialPlatform =
|
|
4953
|
+
| 'facebook'
|
|
4954
|
+
| 'twitter'
|
|
4955
|
+
| 'instagram'
|
|
4956
|
+
| 'linkedin'
|
|
4957
|
+
| 'youtube'
|
|
4958
|
+
| 'github'
|
|
4959
|
+
| 'discord'
|
|
4960
|
+
| 'tiktok'
|
|
4961
|
+
| 'pinterest'
|
|
4962
|
+
| 'snapchat'
|
|
4963
|
+
| 'whatsapp'
|
|
4964
|
+
| 'telegram'
|
|
4965
|
+
| 'reddit'
|
|
4966
|
+
| 'twitch'
|
|
4967
|
+
| 'spotify'
|
|
4968
|
+
| 'dribbble'
|
|
4969
|
+
| 'behance'
|
|
4970
|
+
| 'medium'
|
|
4971
|
+
| 'dev'
|
|
4972
|
+
| 'codepen'
|
|
4973
|
+
| 'custom';
|
|
4974
|
+
|
|
4975
|
+
/**
|
|
4976
|
+
* Social link configuration
|
|
4977
|
+
*/
|
|
4978
|
+
export interface SocialLink {
|
|
4979
|
+
/**
|
|
4980
|
+
* Social media platform
|
|
4981
|
+
*/
|
|
4982
|
+
platform: SocialPlatform;
|
|
4983
|
+
|
|
4984
|
+
/**
|
|
4985
|
+
* URL to the social media profile
|
|
4986
|
+
*/
|
|
4987
|
+
url: string;
|
|
4988
|
+
|
|
4989
|
+
/**
|
|
4990
|
+
* Custom icon (for custom platform or override)
|
|
4991
|
+
*/
|
|
4992
|
+
icon?: ReactNode;
|
|
4993
|
+
|
|
4994
|
+
/**
|
|
4995
|
+
* Custom label for accessibility
|
|
4996
|
+
*/
|
|
4997
|
+
label?: string;
|
|
4998
|
+
}
|
|
4999
|
+
|
|
5000
|
+
/**
|
|
5001
|
+
* Footer component properties
|
|
5002
|
+
*/
|
|
5003
|
+
export interface FooterProps extends BaseComponentProps {
|
|
5004
|
+
/**
|
|
5005
|
+
* Brand name or logo
|
|
5006
|
+
*/
|
|
5007
|
+
brand?: ReactNode;
|
|
5008
|
+
|
|
5009
|
+
/**
|
|
5010
|
+
* Brand logo (image URL or React element)
|
|
5011
|
+
*/
|
|
5012
|
+
brandLogo?: string | ReactNode;
|
|
5013
|
+
|
|
5014
|
+
/**
|
|
5015
|
+
* Brand description text
|
|
5016
|
+
*/
|
|
5017
|
+
brandDescription?: ReactNode;
|
|
5018
|
+
|
|
5019
|
+
/**
|
|
5020
|
+
* Copyright text
|
|
5021
|
+
*/
|
|
5022
|
+
copyright?: ReactNode;
|
|
5023
|
+
|
|
5024
|
+
/**
|
|
5025
|
+
* Footer layout variant
|
|
5026
|
+
*/
|
|
5027
|
+
layout?: FooterLayout;
|
|
5028
|
+
|
|
5029
|
+
/**
|
|
5030
|
+
* Color variant
|
|
5031
|
+
*/
|
|
5032
|
+
variant?: ThemeColor;
|
|
5033
|
+
|
|
5034
|
+
/**
|
|
5035
|
+
* Size variant
|
|
5036
|
+
*/
|
|
5037
|
+
size?: Size;
|
|
5038
|
+
|
|
5039
|
+
/**
|
|
5040
|
+
* Whether to show newsletter signup
|
|
5041
|
+
*/
|
|
5042
|
+
showNewsletter?: boolean;
|
|
5043
|
+
|
|
5044
|
+
/**
|
|
5045
|
+
* Newsletter section title
|
|
5046
|
+
*/
|
|
5047
|
+
newsletterTitle?: string;
|
|
5048
|
+
|
|
5049
|
+
/**
|
|
5050
|
+
* Newsletter section description
|
|
5051
|
+
*/
|
|
5052
|
+
newsletterDescription?: string;
|
|
5053
|
+
|
|
5054
|
+
/**
|
|
5055
|
+
* Newsletter input placeholder
|
|
5056
|
+
*/
|
|
5057
|
+
newsletterPlaceholder?: string;
|
|
5058
|
+
|
|
5059
|
+
/**
|
|
5060
|
+
* Newsletter submit button text
|
|
5061
|
+
*/
|
|
5062
|
+
newsletterButtonText?: string;
|
|
5063
|
+
|
|
5064
|
+
/**
|
|
5065
|
+
* Newsletter submit handler
|
|
5066
|
+
*/
|
|
5067
|
+
onNewsletterSubmit?: (email: string) => void | Promise<void>;
|
|
5068
|
+
|
|
5069
|
+
/**
|
|
5070
|
+
* Social media links
|
|
5071
|
+
*/
|
|
5072
|
+
socialLinks?: SocialLink[];
|
|
5073
|
+
|
|
5074
|
+
/**
|
|
5075
|
+
* Whether to show back to top button
|
|
5076
|
+
*/
|
|
5077
|
+
showBackToTop?: boolean;
|
|
5078
|
+
|
|
5079
|
+
/**
|
|
5080
|
+
* Back to top button text
|
|
5081
|
+
*/
|
|
5082
|
+
backToTopText?: string;
|
|
5083
|
+
|
|
5084
|
+
/**
|
|
5085
|
+
* Back to top click handler
|
|
5086
|
+
*/
|
|
5087
|
+
onBackToTop?: () => void;
|
|
5088
|
+
|
|
5089
|
+
/**
|
|
5090
|
+
* Whether to show divider above bottom section
|
|
5091
|
+
*/
|
|
5092
|
+
showDivider?: boolean;
|
|
5093
|
+
|
|
5094
|
+
/**
|
|
5095
|
+
* Whether footer should be sticky
|
|
5096
|
+
*/
|
|
5097
|
+
sticky?: boolean;
|
|
5098
|
+
|
|
5099
|
+
/**
|
|
5100
|
+
* Footer sections content
|
|
5101
|
+
*/
|
|
5102
|
+
children?: ReactNode;
|
|
5103
|
+
}
|
|
5104
|
+
|
|
5105
|
+
/**
|
|
5106
|
+
* Footer section component properties
|
|
5107
|
+
*/
|
|
5108
|
+
export interface FooterSectionProps extends BaseComponentProps {
|
|
5109
|
+
/**
|
|
5110
|
+
* Section title
|
|
5111
|
+
*/
|
|
5112
|
+
title?: ReactNode;
|
|
5113
|
+
|
|
5114
|
+
/**
|
|
5115
|
+
* Section icon
|
|
5116
|
+
*/
|
|
5117
|
+
icon?: ReactNode;
|
|
5118
|
+
|
|
5119
|
+
/**
|
|
5120
|
+
* Whether section is collapsible on mobile
|
|
5121
|
+
*/
|
|
5122
|
+
collapsible?: boolean;
|
|
5123
|
+
|
|
5124
|
+
/**
|
|
5125
|
+
* Whether section is collapsed by default
|
|
5126
|
+
*/
|
|
5127
|
+
defaultCollapsed?: boolean;
|
|
5128
|
+
|
|
5129
|
+
/**
|
|
5130
|
+
* Section content
|
|
5131
|
+
*/
|
|
5132
|
+
children: ReactNode;
|
|
5133
|
+
}
|
|
5134
|
+
|
|
5135
|
+
/**
|
|
5136
|
+
* Footer link component properties
|
|
5137
|
+
*/
|
|
5138
|
+
export interface FooterLinkProps extends BaseComponentProps {
|
|
5139
|
+
/**
|
|
5140
|
+
* Link URL
|
|
5141
|
+
*/
|
|
5142
|
+
href?: string;
|
|
5143
|
+
|
|
5144
|
+
/**
|
|
5145
|
+
* Link icon
|
|
5146
|
+
*/
|
|
5147
|
+
icon?: ReactNode;
|
|
5148
|
+
|
|
5149
|
+
/**
|
|
5150
|
+
* Whether link opens in new tab
|
|
5151
|
+
*/
|
|
5152
|
+
external?: boolean;
|
|
5153
|
+
|
|
5154
|
+
/**
|
|
5155
|
+
* Whether link is active
|
|
5156
|
+
*/
|
|
5157
|
+
active?: boolean;
|
|
5158
|
+
|
|
5159
|
+
/**
|
|
5160
|
+
* Link click handler
|
|
5161
|
+
*/
|
|
5162
|
+
onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
|
|
5163
|
+
|
|
5164
|
+
/**
|
|
5165
|
+
* Link content
|
|
5166
|
+
*/
|
|
5167
|
+
children: ReactNode;
|
|
5168
|
+
|
|
5169
|
+
/**
|
|
5170
|
+
* Custom link component (e.g., React Router Link)
|
|
5171
|
+
*/
|
|
5172
|
+
LinkComponent?: React.ElementType;
|
|
5173
|
+
}
|
|
5174
|
+
|
|
5175
|
+
/**
|
|
5176
|
+
* Footer social link component properties
|
|
5177
|
+
*/
|
|
5178
|
+
export interface FooterSocialLinkProps extends BaseComponentProps {
|
|
5179
|
+
/**
|
|
5180
|
+
* Social media platform
|
|
5181
|
+
*/
|
|
5182
|
+
platform: SocialPlatform;
|
|
5183
|
+
|
|
5184
|
+
/**
|
|
5185
|
+
* Social media profile URL
|
|
5186
|
+
*/
|
|
5187
|
+
url: string;
|
|
5188
|
+
|
|
5189
|
+
/**
|
|
5190
|
+
* Custom icon
|
|
5191
|
+
*/
|
|
5192
|
+
icon?: ReactNode;
|
|
5193
|
+
|
|
5194
|
+
/**
|
|
5195
|
+
* Custom label for accessibility
|
|
5196
|
+
*/
|
|
5197
|
+
label?: string;
|
|
5198
|
+
|
|
5199
|
+
/**
|
|
5200
|
+
* Size variant
|
|
5201
|
+
*/
|
|
5202
|
+
size?: Size;
|
|
5203
|
+
|
|
5204
|
+
/**
|
|
5205
|
+
* Visual variant
|
|
5206
|
+
*/
|
|
5207
|
+
variant?: 'default' | 'filled' | 'outlined';
|
|
5208
|
+
}
|
|
5209
|
+
|
|
5210
|
+
// ============================================================================
|
|
5211
|
+
// GLASS CONTAINER COMPONENT TYPES
|
|
5212
|
+
// ============================================================================
|
|
5213
|
+
|
|
5214
|
+
/**
|
|
5215
|
+
* Glass container displacement modes
|
|
5216
|
+
*/
|
|
5217
|
+
export type GlassMode = 'standard' | 'polar' | 'prominent' | 'shader';
|
|
5218
|
+
|
|
5219
|
+
/**
|
|
5220
|
+
* Glass container size configuration
|
|
5221
|
+
*/
|
|
5222
|
+
export interface GlassSize {
|
|
5223
|
+
/**
|
|
5224
|
+
* Width of the glass container
|
|
5225
|
+
*/
|
|
5226
|
+
width: number;
|
|
5227
|
+
|
|
5228
|
+
/**
|
|
5229
|
+
* Height of the glass container
|
|
5230
|
+
*/
|
|
5231
|
+
height: number;
|
|
5232
|
+
}
|
|
5233
|
+
|
|
5234
|
+
/**
|
|
5235
|
+
* Mouse position coordinates
|
|
5236
|
+
*/
|
|
5237
|
+
export interface MousePosition {
|
|
5238
|
+
/**
|
|
5239
|
+
* X coordinate
|
|
5240
|
+
*/
|
|
5241
|
+
x: number;
|
|
5242
|
+
|
|
5243
|
+
/**
|
|
5244
|
+
* Y coordinate
|
|
5245
|
+
*/
|
|
5246
|
+
y: number;
|
|
5247
|
+
}
|
|
5248
|
+
|
|
5249
|
+
/**
|
|
5250
|
+
* Glass container component properties
|
|
5251
|
+
*/
|
|
5252
|
+
export interface GlassContainerProps extends BaseComponentProps {
|
|
5253
|
+
/**
|
|
5254
|
+
* Content to display inside the glass container
|
|
5255
|
+
*/
|
|
5256
|
+
children: ReactNode;
|
|
5257
|
+
|
|
5258
|
+
/**
|
|
5259
|
+
* Scale of the displacement effect (0-100)
|
|
5260
|
+
* @default 25
|
|
5261
|
+
*/
|
|
5262
|
+
displacementScale?: number;
|
|
5263
|
+
|
|
5264
|
+
/**
|
|
5265
|
+
* Amount of blur applied to the backdrop (0-50)
|
|
5266
|
+
* @default 12
|
|
5267
|
+
*/
|
|
5268
|
+
blurAmount?: number;
|
|
5269
|
+
|
|
5270
|
+
/**
|
|
5271
|
+
* Saturation level of the backdrop filter (0-300%)
|
|
5272
|
+
* @default 180
|
|
5273
|
+
*/
|
|
5274
|
+
saturation?: number;
|
|
5275
|
+
|
|
5276
|
+
/**
|
|
5277
|
+
* Intensity of chromatic aberration effect (0-10)
|
|
5278
|
+
* @default 2
|
|
5279
|
+
*/
|
|
5280
|
+
aberrationIntensity?: number;
|
|
5281
|
+
|
|
5282
|
+
/**
|
|
5283
|
+
* Elasticity of mouse interaction effects (0-1)
|
|
5284
|
+
* @default 0.15
|
|
5285
|
+
*/
|
|
5286
|
+
elasticity?: number;
|
|
5287
|
+
|
|
5288
|
+
/**
|
|
5289
|
+
* Border radius of the glass container
|
|
5290
|
+
* @default 999
|
|
5291
|
+
*/
|
|
5292
|
+
cornerRadius?: number;
|
|
5293
|
+
|
|
5294
|
+
/**
|
|
5295
|
+
* Padding inside the glass container
|
|
5296
|
+
* @default '24px 32px'
|
|
5297
|
+
*/
|
|
5298
|
+
padding?: string;
|
|
5299
|
+
|
|
5300
|
+
/**
|
|
5301
|
+
* Size configuration for the glass container
|
|
5302
|
+
* @default { width: 270, height: 69 }
|
|
5303
|
+
*/
|
|
5304
|
+
glassSize?: GlassSize;
|
|
5305
|
+
|
|
5306
|
+
/**
|
|
5307
|
+
* Displacement map mode
|
|
5308
|
+
* @default 'standard'
|
|
5309
|
+
*/
|
|
5310
|
+
mode?: GlassMode;
|
|
5311
|
+
|
|
5312
|
+
/**
|
|
5313
|
+
* Whether the container is over a light background
|
|
5314
|
+
* @default false
|
|
5315
|
+
*/
|
|
5316
|
+
overLight?: boolean;
|
|
5317
|
+
|
|
5318
|
+
/**
|
|
5319
|
+
* Active state of the container
|
|
5320
|
+
* @default false
|
|
5321
|
+
*/
|
|
5322
|
+
active?: boolean;
|
|
5323
|
+
|
|
5324
|
+
/**
|
|
5325
|
+
* Click handler for the glass container
|
|
5326
|
+
*/
|
|
5327
|
+
onClick?: () => void;
|
|
5328
|
+
|
|
5329
|
+
/**
|
|
5330
|
+
* Mouse enter handler
|
|
5331
|
+
*/
|
|
5332
|
+
onMouseEnter?: () => void;
|
|
5333
|
+
|
|
5334
|
+
/**
|
|
5335
|
+
* Mouse leave handler
|
|
5336
|
+
*/
|
|
5337
|
+
onMouseLeave?: () => void;
|
|
5338
|
+
|
|
5339
|
+
/**
|
|
5340
|
+
* Mouse down handler
|
|
5341
|
+
*/
|
|
5342
|
+
onMouseDown?: () => void;
|
|
5343
|
+
|
|
5344
|
+
/**
|
|
5345
|
+
* Mouse up handler
|
|
5346
|
+
*/
|
|
5347
|
+
onMouseUp?: () => void;
|
|
5348
|
+
|
|
5349
|
+
/**
|
|
5350
|
+
* External mouse container reference for tracking
|
|
5351
|
+
*/
|
|
5352
|
+
mouseContainer?: React.RefObject<HTMLElement | null>;
|
|
5353
|
+
|
|
5354
|
+
/**
|
|
5355
|
+
* External global mouse position
|
|
5356
|
+
*/
|
|
5357
|
+
globalMousePos?: MousePosition;
|
|
5358
|
+
|
|
5359
|
+
/**
|
|
5360
|
+
* External mouse offset from container center
|
|
5361
|
+
*/
|
|
5362
|
+
mouseOffset?: MousePosition;
|
|
5363
|
+
|
|
5364
|
+
/**
|
|
5365
|
+
* Custom CSS styles
|
|
5366
|
+
*/
|
|
5367
|
+
style?: React.CSSProperties;
|
|
5368
|
+
}
|
|
5369
|
+
|
|
5370
|
+
/**
|
|
5371
|
+
* AtomixGlass component properties
|
|
5372
|
+
*/
|