@shohojdhara/atomix 0.3.12 → 0.3.14
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/CHANGELOG.md +19 -0
- package/README.md +2 -0
- package/dist/atomix.css +101 -88
- package/dist/atomix.css.map +1 -1
- package/dist/atomix.min.css +5 -15258
- package/dist/atomix.min.css.map +1 -1
- package/dist/charts.d.ts +1 -1
- package/dist/charts.js +17 -19
- package/dist/charts.js.map +1 -1
- package/dist/core.d.ts +41 -11
- package/dist/core.js +55 -41
- package/dist/core.js.map +1 -1
- package/dist/forms.d.ts +28 -11
- package/dist/forms.js +25 -24
- package/dist/forms.js.map +1 -1
- package/dist/heavy.d.ts +1 -1
- package/dist/heavy.js +32 -25
- package/dist/heavy.js.map +1 -1
- package/dist/index.d.ts +122 -46
- package/dist/index.esm.js +865 -200
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +870 -204
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/theme.d.ts +27 -2
- package/dist/theme.js +721 -108
- package/dist/theme.js.map +1 -1
- package/package.json +1 -1
- package/scripts/atomix-cli.js +610 -1111
- package/scripts/cli/component-generator.js +610 -0
- package/scripts/cli/documentation-sync.js +542 -0
- package/scripts/cli/interactive-init.js +84 -288
- package/scripts/cli/mappings.js +211 -0
- package/scripts/cli/migration-tools.js +95 -288
- package/scripts/cli/template-manager.js +107 -0
- package/scripts/cli/templates/README.md +123 -0
- package/scripts/cli/templates/composable-templates.js +149 -0
- package/scripts/cli/templates/config-templates.js +126 -0
- package/scripts/cli/templates/index.js +95 -0
- package/scripts/cli/templates/project-templates.js +214 -0
- package/scripts/cli/templates/react-templates.js +261 -0
- package/scripts/cli/templates/scss-templates.js +156 -0
- package/scripts/cli/templates/storybook-templates.js +236 -0
- package/scripts/cli/templates/testing-templates.js +45 -0
- package/scripts/cli/templates/token-templates.js +447 -0
- package/scripts/cli/templates/types-templates.js +133 -0
- package/scripts/cli/templates-original-backup.js +1655 -0
- package/scripts/cli/templates.js +35 -0
- package/scripts/cli/templates_backup.js +684 -0
- package/scripts/cli/theme-bridge.js +20 -14
- package/scripts/cli/token-manager.js +150 -77
- package/scripts/cli/utils.js +37 -25
- package/src/components/Accordion/Accordion.stories.tsx +5 -5
- package/src/components/Accordion/Accordion.test.tsx +57 -0
- package/src/components/Accordion/Accordion.tsx +4 -0
- package/src/components/AtomixGlass/AtomixGlassContainer.tsx +41 -44
- package/src/components/AtomixGlass/stories/AtomixGlass.stories.tsx +1 -1
- package/src/components/AtomixGlass/stories/Examples.stories.tsx +37 -37
- package/src/components/AtomixGlass/stories/Modes.stories.tsx +1 -2
- package/src/components/AtomixGlass/stories/Playground.stories.tsx +50 -51
- package/src/components/Avatar/Avatar.stories.tsx +26 -26
- package/src/components/Badge/Badge.stories.tsx +31 -31
- package/src/components/Badge/Badge.test.tsx +51 -0
- package/src/components/Badge/Badge.tsx +20 -1
- package/src/components/Block/Block.stories.tsx +5 -5
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +1 -1
- package/src/components/Breadcrumb/Breadcrumb.tsx +2 -2
- package/src/components/Button/Button.stories.tsx +13 -13
- package/src/components/Button/Button.tsx +4 -4
- package/src/components/Button/ButtonGroup.stories.tsx +2 -2
- package/src/components/Button/README.md +5 -0
- package/src/components/Callout/Callout.stories.tsx +11 -11
- package/src/components/Callout/Callout.test.tsx +10 -10
- package/src/components/Callout/Callout.tsx +7 -7
- package/src/components/Callout/README.md +9 -8
- package/src/components/Card/Card.tsx +2 -2
- package/src/components/Chart/Chart.stories.tsx +6 -6
- package/src/components/Chart/Chart.tsx +1 -1
- package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +1 -1
- package/src/components/DataTable/DataTable.tsx +14 -12
- package/src/components/DatePicker/DatePicker.stories.tsx +6 -6
- package/src/components/Dropdown/Dropdown.stories.tsx +4 -4
- package/src/components/Form/Checkbox.stories.tsx +3 -3
- package/src/components/Form/Checkbox.tsx +4 -2
- package/src/components/Form/Form.stories.tsx +3 -3
- package/src/components/Form/FormGroup.stories.tsx +1 -1
- package/src/components/Form/Input.stories.tsx +28 -16
- package/src/components/Form/Input.test.tsx +59 -0
- package/src/components/Form/Input.tsx +97 -95
- package/src/components/Form/Radio.stories.tsx +94 -94
- package/src/components/Form/Radio.tsx +2 -2
- package/src/components/Form/Select.stories.tsx +4 -4
- package/src/components/Form/Select.tsx +2 -2
- package/src/components/Form/Textarea.stories.tsx +22 -7
- package/src/components/Form/Textarea.test.tsx +45 -0
- package/src/components/Form/Textarea.tsx +88 -86
- package/src/components/List/List.stories.tsx +2 -2
- package/src/components/Modal/Modal.stories.tsx +4 -4
- package/src/components/Navigation/Navbar/Navbar.stories.tsx +5 -5
- package/src/components/Navigation/Navbar/Navbar.tsx +1 -1
- package/src/components/Navigation/README.md +1 -1
- package/src/components/Pagination/Pagination.stories.tsx +5 -2
- package/src/components/Pagination/Pagination.tsx +1 -1
- package/src/components/PhotoViewer/PhotoViewer.stories.tsx +10 -10
- package/src/components/Popover/Popover.stories.tsx +1 -1
- package/src/components/ProductReview/ProductReview.tsx +1 -1
- package/src/components/Progress/Progress.tsx +46 -46
- package/src/components/Rating/Rating.stories.tsx +4 -4
- package/src/components/Rating/Rating.tsx +8 -8
- package/src/components/Slider/Slider.stories.tsx +63 -63
- package/src/components/Spinner/Spinner.stories.tsx +2 -2
- package/src/components/Spinner/Spinner.test.tsx +35 -0
- package/src/components/Spinner/Spinner.tsx +9 -2
- package/src/components/Testimonial/Testimonial.stories.tsx +1 -1
- package/src/components/Toggle/Toggle.stories.tsx +32 -9
- package/src/components/Toggle/Toggle.test.tsx +91 -0
- package/src/components/Toggle/Toggle.tsx +44 -27
- package/src/components/Tooltip/Tooltip.tsx +1 -1
- package/src/layouts/Grid/Grid.stories.tsx +49 -49
- package/src/layouts/MasonryGrid/MasonryGrid.stories.tsx +2 -2
- package/src/lib/composables/useAccordion.ts +12 -3
- package/src/lib/composables/useBreadcrumb.ts +2 -2
- package/src/lib/composables/useCallout.ts +7 -7
- package/src/lib/composables/useNavbar.ts +1 -1
- package/src/lib/constants/components.ts +1 -1
- package/src/lib/storybook/InteractiveDemo.tsx +113 -0
- package/src/lib/storybook/PreviewContainer.tsx +36 -0
- package/src/lib/storybook/VariantsGrid.tsx +21 -0
- package/src/lib/storybook/index.ts +3 -0
- package/src/lib/theme/core/createThemeObject.ts +9 -5
- package/src/lib/theme/devtools/CLI.ts +155 -0
- package/src/lib/theme/devtools/DesignTokensCustomizer.stories.tsx +213 -0
- package/src/lib/theme/devtools/DesignTokensCustomizer.tsx +566 -0
- package/src/lib/theme/devtools/LiveEditor.tsx +2 -1
- package/src/lib/theme/devtools/index.ts +3 -0
- package/src/lib/theme/errors/errors.ts +8 -0
- package/src/lib/theme/runtime/ThemeProvider.tsx +117 -57
- package/src/lib/theme/runtime/__tests__/ThemeProvider.integration.test.tsx +305 -0
- package/src/lib/theme/runtime/__tests__/ThemeProvider.test.tsx +588 -0
- package/src/lib/theme/utils/__tests__/themeValidation.test.ts +264 -0
- package/src/lib/theme/utils/index.ts +1 -0
- package/src/lib/theme/utils/themeValidation.ts +501 -0
- package/src/lib/theme-tools.ts +32 -3
- package/src/lib/types/components.ts +81 -26
- package/src/lib/utils/themeNaming.ts +1 -1
- package/src/styles/06-components/_components.atomix-glass.scss +14 -15
- package/src/styles/06-components/_components.callout.scss +29 -33
- package/src/styles/06-components/_index.scss +1 -1
- package/src/styles/99-utilities/_utilities.display.scss +14 -3
- package/src/styles/99-utilities/_utilities.flex.scss +10 -10
- package/src/styles/99-utilities/_utilities.text.scss +28 -8
- package/scripts/cli/__tests__/cli-commands.test.js +0 -204
- package/scripts/cli/__tests__/utils.test.js +0 -201
- package/scripts/cli/__tests__/vitest.config.js +0 -26
|
@@ -179,7 +179,7 @@ export interface OverLightObjectConfig {
|
|
|
179
179
|
* AtomixGlass component props interface
|
|
180
180
|
*/
|
|
181
181
|
export interface AtomixGlassProps {
|
|
182
|
-
children
|
|
182
|
+
children?: React.ReactNode;
|
|
183
183
|
displacementScale?: number;
|
|
184
184
|
blurAmount?: number;
|
|
185
185
|
saturation?: number;
|
|
@@ -349,6 +349,7 @@ export interface ListProps extends BaseComponentProps {
|
|
|
349
349
|
|
|
350
350
|
/**
|
|
351
351
|
* List size
|
|
352
|
+
* @default 'md'
|
|
352
353
|
*/
|
|
353
354
|
size?: Size;
|
|
354
355
|
|
|
@@ -399,11 +400,13 @@ export interface ButtonProps extends BaseComponentProps {
|
|
|
399
400
|
|
|
400
401
|
/**
|
|
401
402
|
* Button variant
|
|
403
|
+
* @default 'solid'
|
|
402
404
|
*/
|
|
403
405
|
variant?: Variant;
|
|
404
406
|
|
|
405
407
|
/**
|
|
406
408
|
* Button size
|
|
409
|
+
* @default 'md'
|
|
407
410
|
*/
|
|
408
411
|
size?: Size;
|
|
409
412
|
|
|
@@ -521,22 +524,22 @@ export interface ButtonProps extends BaseComponentProps {
|
|
|
521
524
|
/**
|
|
522
525
|
* ARIA label for accessibility
|
|
523
526
|
*/
|
|
524
|
-
|
|
527
|
+
'aria-label'?: string;
|
|
525
528
|
|
|
526
529
|
/**
|
|
527
530
|
* ARIA described by reference
|
|
528
531
|
*/
|
|
529
|
-
|
|
532
|
+
'aria-describedby'?: string;
|
|
530
533
|
|
|
531
534
|
/**
|
|
532
535
|
* ARIA expanded state (for toggle buttons)
|
|
533
536
|
*/
|
|
534
|
-
|
|
537
|
+
'aria-expanded'?: boolean;
|
|
535
538
|
|
|
536
539
|
/**
|
|
537
540
|
* ARIA controls reference
|
|
538
541
|
*/
|
|
539
|
-
|
|
542
|
+
'aria-controls'?: string;
|
|
540
543
|
|
|
541
544
|
/**
|
|
542
545
|
* Tab index for keyboard navigation
|
|
@@ -601,11 +604,13 @@ export interface BadgeProps extends BaseComponentProps {
|
|
|
601
604
|
|
|
602
605
|
/**
|
|
603
606
|
* Badge color variant
|
|
607
|
+
* @default 'primary'
|
|
604
608
|
*/
|
|
605
609
|
variant?: ThemeColor;
|
|
606
610
|
|
|
607
611
|
/**
|
|
608
612
|
* Badge size
|
|
613
|
+
* @default 'md'
|
|
609
614
|
*/
|
|
610
615
|
size?: Size;
|
|
611
616
|
|
|
@@ -614,6 +619,16 @@ export interface BadgeProps extends BaseComponentProps {
|
|
|
614
619
|
*/
|
|
615
620
|
icon?: ReactNode;
|
|
616
621
|
|
|
622
|
+
/**
|
|
623
|
+
* Callback for dismissible badges (shows close button when provided)
|
|
624
|
+
*/
|
|
625
|
+
onRemove?: () => void;
|
|
626
|
+
|
|
627
|
+
/**
|
|
628
|
+
* Accessible label for the badge
|
|
629
|
+
*/
|
|
630
|
+
'aria-label'?: string;
|
|
631
|
+
|
|
617
632
|
/**
|
|
618
633
|
* Glass morphism effect for the badge
|
|
619
634
|
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
@@ -696,14 +711,14 @@ export interface CalloutProps extends BaseComponentProps {
|
|
|
696
711
|
actions?: ReactNode;
|
|
697
712
|
|
|
698
713
|
/**
|
|
699
|
-
* Display in one
|
|
714
|
+
* Display in compact (one-line) mode
|
|
700
715
|
*/
|
|
701
|
-
|
|
716
|
+
compact?: boolean;
|
|
702
717
|
|
|
703
718
|
/**
|
|
704
719
|
* Display as toast notification
|
|
705
720
|
*/
|
|
706
|
-
|
|
721
|
+
isToast?: boolean;
|
|
707
722
|
|
|
708
723
|
/**
|
|
709
724
|
* Glass morphism effect for the callout
|
|
@@ -756,14 +771,19 @@ export interface AccordionProps extends BaseComponentProps {
|
|
|
756
771
|
*/
|
|
757
772
|
disabled?: boolean;
|
|
758
773
|
|
|
774
|
+
/**
|
|
775
|
+
* Callback called when the open state changes
|
|
776
|
+
*/
|
|
759
777
|
onOpenChange?: (open: boolean) => void;
|
|
760
778
|
|
|
761
779
|
/**
|
|
780
|
+
* @deprecated Use onOpenChange instead
|
|
762
781
|
* Optional open handler
|
|
763
782
|
*/
|
|
764
783
|
onOpen?: () => void;
|
|
765
784
|
|
|
766
785
|
/**
|
|
786
|
+
* @deprecated Use onOpenChange instead
|
|
767
787
|
* Optional close handler
|
|
768
788
|
*/
|
|
769
789
|
onClose?: () => void;
|
|
@@ -1027,11 +1047,13 @@ export interface HeroProps extends BaseComponentProps {
|
|
|
1027
1047
|
export interface SpinnerProps extends BaseComponentProps {
|
|
1028
1048
|
/**
|
|
1029
1049
|
* Spinner color variant
|
|
1050
|
+
* @default 'primary'
|
|
1030
1051
|
*/
|
|
1031
1052
|
variant?: ThemeColor;
|
|
1032
1053
|
|
|
1033
1054
|
/**
|
|
1034
1055
|
* Spinner size
|
|
1056
|
+
* @default 'md'
|
|
1035
1057
|
*/
|
|
1036
1058
|
size?: Size;
|
|
1037
1059
|
|
|
@@ -1040,6 +1062,18 @@ export interface SpinnerProps extends BaseComponentProps {
|
|
|
1040
1062
|
*/
|
|
1041
1063
|
fullscreen?: boolean;
|
|
1042
1064
|
|
|
1065
|
+
/**
|
|
1066
|
+
* Accessible label for screen readers
|
|
1067
|
+
* @default 'Loading'
|
|
1068
|
+
*/
|
|
1069
|
+
'aria-label'?: string;
|
|
1070
|
+
|
|
1071
|
+
/**
|
|
1072
|
+
* ARIA role for the spinner
|
|
1073
|
+
* @default 'status'
|
|
1074
|
+
*/
|
|
1075
|
+
role?: 'status' | 'alert';
|
|
1076
|
+
|
|
1043
1077
|
/**
|
|
1044
1078
|
* Glass morphism effect for the spinner
|
|
1045
1079
|
* Can be a boolean to enable with default settings, or an object with AtomixGlassProps to customize the effect
|
|
@@ -1142,7 +1176,7 @@ export interface NavbarProps extends BaseComponentProps {
|
|
|
1142
1176
|
/**
|
|
1143
1177
|
* Custom aria-label for the navigation
|
|
1144
1178
|
*/
|
|
1145
|
-
|
|
1179
|
+
'aria-label'?: string;
|
|
1146
1180
|
|
|
1147
1181
|
/**
|
|
1148
1182
|
* ID for the navbar (used for accessibility)
|
|
@@ -1909,13 +1943,14 @@ export interface PaginationProps extends BaseComponentProps {
|
|
|
1909
1943
|
|
|
1910
1944
|
/**
|
|
1911
1945
|
* Size variant for the pagination component
|
|
1946
|
+
* @default 'md'
|
|
1912
1947
|
*/
|
|
1913
1948
|
size?: Size;
|
|
1914
1949
|
|
|
1915
1950
|
/**
|
|
1916
1951
|
* Accessible label for the navigation element
|
|
1917
1952
|
*/
|
|
1918
|
-
|
|
1953
|
+
'aria-label'?: string;
|
|
1919
1954
|
|
|
1920
1955
|
/**
|
|
1921
1956
|
* Glass morphism effect for the pagination component
|
|
@@ -2096,6 +2131,7 @@ export interface FormGroupProps extends BaseComponentProps {
|
|
|
2096
2131
|
export interface InputProps extends BaseComponentProps {
|
|
2097
2132
|
/**
|
|
2098
2133
|
* Input type
|
|
2134
|
+
* @default 'text'
|
|
2099
2135
|
*/
|
|
2100
2136
|
type?: string;
|
|
2101
2137
|
|
|
@@ -2104,6 +2140,11 @@ export interface InputProps extends BaseComponentProps {
|
|
|
2104
2140
|
*/
|
|
2105
2141
|
value?: string | number;
|
|
2106
2142
|
|
|
2143
|
+
/**
|
|
2144
|
+
* Default value for uncontrolled input
|
|
2145
|
+
*/
|
|
2146
|
+
defaultValue?: string | number;
|
|
2147
|
+
|
|
2107
2148
|
/**
|
|
2108
2149
|
* Change handler
|
|
2109
2150
|
*/
|
|
@@ -2156,6 +2197,7 @@ export interface InputProps extends BaseComponentProps {
|
|
|
2156
2197
|
|
|
2157
2198
|
/**
|
|
2158
2199
|
* Size variant
|
|
2200
|
+
* @default 'md'
|
|
2159
2201
|
*/
|
|
2160
2202
|
size?: Size;
|
|
2161
2203
|
|
|
@@ -2207,12 +2249,12 @@ export interface InputProps extends BaseComponentProps {
|
|
|
2207
2249
|
/**
|
|
2208
2250
|
* Accessible label (if no visible label)
|
|
2209
2251
|
*/
|
|
2210
|
-
|
|
2252
|
+
'aria-label'?: string;
|
|
2211
2253
|
|
|
2212
2254
|
/**
|
|
2213
2255
|
* ID of element that describes this input
|
|
2214
2256
|
*/
|
|
2215
|
-
|
|
2257
|
+
'aria-describedby'?: string;
|
|
2216
2258
|
|
|
2217
2259
|
/**
|
|
2218
2260
|
* Glass morphism effect
|
|
@@ -2341,6 +2383,7 @@ export interface SelectProps extends BaseComponentProps {
|
|
|
2341
2383
|
|
|
2342
2384
|
/**
|
|
2343
2385
|
* Size variant
|
|
2386
|
+
* @default 'md'
|
|
2344
2387
|
*/
|
|
2345
2388
|
size?: Size;
|
|
2346
2389
|
|
|
@@ -2362,12 +2405,12 @@ export interface SelectProps extends BaseComponentProps {
|
|
|
2362
2405
|
/**
|
|
2363
2406
|
* Accessible label (if no visible label)
|
|
2364
2407
|
*/
|
|
2365
|
-
|
|
2408
|
+
'aria-label'?: string;
|
|
2366
2409
|
|
|
2367
2410
|
/**
|
|
2368
2411
|
* ID of element that describes this select
|
|
2369
2412
|
*/
|
|
2370
|
-
|
|
2413
|
+
'aria-describedby'?: string;
|
|
2371
2414
|
|
|
2372
2415
|
/**
|
|
2373
2416
|
* Glass morphism effect for the select
|
|
@@ -2448,12 +2491,12 @@ export interface CheckboxProps extends BaseComponentProps {
|
|
|
2448
2491
|
/**
|
|
2449
2492
|
* Accessible label (if no visible label)
|
|
2450
2493
|
*/
|
|
2451
|
-
|
|
2494
|
+
'aria-label'?: string;
|
|
2452
2495
|
|
|
2453
2496
|
/**
|
|
2454
2497
|
* ID of element that describes this checkbox
|
|
2455
2498
|
*/
|
|
2456
|
-
|
|
2499
|
+
'aria-describedby'?: string;
|
|
2457
2500
|
|
|
2458
2501
|
/**
|
|
2459
2502
|
* Glass morphism effect for the checkbox
|
|
@@ -2461,6 +2504,11 @@ export interface CheckboxProps extends BaseComponentProps {
|
|
|
2461
2504
|
*/
|
|
2462
2505
|
glass?: AtomixGlassProps | boolean;
|
|
2463
2506
|
|
|
2507
|
+
/**
|
|
2508
|
+
* Click handler
|
|
2509
|
+
*/
|
|
2510
|
+
onClick?: (event: React.MouseEvent<HTMLInputElement>) => void;
|
|
2511
|
+
|
|
2464
2512
|
/**
|
|
2465
2513
|
* Error message to display
|
|
2466
2514
|
*/
|
|
@@ -2560,12 +2608,12 @@ export interface RadioProps extends BaseComponentProps {
|
|
|
2560
2608
|
/**
|
|
2561
2609
|
* Accessible label (if no visible label)
|
|
2562
2610
|
*/
|
|
2563
|
-
|
|
2611
|
+
'aria-label'?: string;
|
|
2564
2612
|
|
|
2565
2613
|
/**
|
|
2566
2614
|
* ID of element that describes this radio
|
|
2567
2615
|
*/
|
|
2568
|
-
|
|
2616
|
+
'aria-describedby'?: string;
|
|
2569
2617
|
|
|
2570
2618
|
/**
|
|
2571
2619
|
* Glass morphism effect for the radio button
|
|
@@ -2629,6 +2677,11 @@ export interface TextareaProps extends BaseComponentProps {
|
|
|
2629
2677
|
*/
|
|
2630
2678
|
value?: string;
|
|
2631
2679
|
|
|
2680
|
+
/**
|
|
2681
|
+
* Default value for uncontrolled textarea
|
|
2682
|
+
*/
|
|
2683
|
+
defaultValue?: string;
|
|
2684
|
+
|
|
2632
2685
|
/**
|
|
2633
2686
|
* Change handler
|
|
2634
2687
|
*/
|
|
@@ -2671,6 +2724,7 @@ export interface TextareaProps extends BaseComponentProps {
|
|
|
2671
2724
|
|
|
2672
2725
|
/**
|
|
2673
2726
|
* Number of rows
|
|
2727
|
+
* @default 4
|
|
2674
2728
|
*/
|
|
2675
2729
|
rows?: number;
|
|
2676
2730
|
|
|
@@ -2691,6 +2745,7 @@ export interface TextareaProps extends BaseComponentProps {
|
|
|
2691
2745
|
|
|
2692
2746
|
/**
|
|
2693
2747
|
* Size variant
|
|
2748
|
+
* @default 'md'
|
|
2694
2749
|
*/
|
|
2695
2750
|
size?: Size;
|
|
2696
2751
|
|
|
@@ -2717,12 +2772,12 @@ export interface TextareaProps extends BaseComponentProps {
|
|
|
2717
2772
|
/**
|
|
2718
2773
|
* Accessible label (if no visible label)
|
|
2719
2774
|
*/
|
|
2720
|
-
|
|
2775
|
+
'aria-label'?: string;
|
|
2721
2776
|
|
|
2722
2777
|
/**
|
|
2723
2778
|
* ID of element that describes this textarea
|
|
2724
2779
|
*/
|
|
2725
|
-
|
|
2780
|
+
'aria-describedby'?: string;
|
|
2726
2781
|
|
|
2727
2782
|
/**
|
|
2728
2783
|
* Glass morphism effect
|
|
@@ -2970,7 +3025,7 @@ export interface BreadcrumbOptions {
|
|
|
2970
3025
|
/**
|
|
2971
3026
|
* Accessible label for the breadcrumb navigation
|
|
2972
3027
|
*/
|
|
2973
|
-
|
|
3028
|
+
'aria-label'?: string;
|
|
2974
3029
|
|
|
2975
3030
|
/**
|
|
2976
3031
|
* Glass morphism effect for the breadcrumb
|
|
@@ -3379,7 +3434,7 @@ export interface ProgressProps extends BaseComponentProps {
|
|
|
3379
3434
|
/**
|
|
3380
3435
|
* Accessible label for screen readers
|
|
3381
3436
|
*/
|
|
3382
|
-
|
|
3437
|
+
'aria-label'?: string;
|
|
3383
3438
|
|
|
3384
3439
|
/**
|
|
3385
3440
|
* Glass morphism effect for the progress bar
|
|
@@ -3456,9 +3511,9 @@ export interface RatingProps extends BaseComponentProps {
|
|
|
3456
3511
|
size?: Size;
|
|
3457
3512
|
|
|
3458
3513
|
/**
|
|
3459
|
-
* Color
|
|
3514
|
+
* Color variant
|
|
3460
3515
|
*/
|
|
3461
|
-
|
|
3516
|
+
variant?: ThemeColor;
|
|
3462
3517
|
|
|
3463
3518
|
/**
|
|
3464
3519
|
* Optional callback when rating changes
|
|
@@ -3910,12 +3965,12 @@ export interface CardProps extends BaseComponentProps {
|
|
|
3910
3965
|
/**
|
|
3911
3966
|
* ARIA label for accessibility
|
|
3912
3967
|
*/
|
|
3913
|
-
|
|
3968
|
+
'aria-label'?: string;
|
|
3914
3969
|
|
|
3915
3970
|
/**
|
|
3916
3971
|
* ARIA described by reference
|
|
3917
3972
|
*/
|
|
3918
|
-
|
|
3973
|
+
'aria-describedby'?: string;
|
|
3919
3974
|
|
|
3920
3975
|
/**
|
|
3921
3976
|
* Tab index for keyboard navigation
|
|
@@ -36,7 +36,7 @@ export class ThemeNaming {
|
|
|
36
36
|
* @param str - String to convert
|
|
37
37
|
*/
|
|
38
38
|
static kebabToCamel(str: string): string {
|
|
39
|
-
return str.replace(/-([a-z])/g, (g) => g[1]
|
|
39
|
+
return str.replace(/-([a-z])/g, (g) => g[1]?.toUpperCase() ?? '');
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/**
|
|
@@ -93,16 +93,18 @@
|
|
|
93
93
|
box-sizing: border-box;
|
|
94
94
|
overflow: hidden;
|
|
95
95
|
pointer-events: none;
|
|
96
|
-
/*
|
|
96
|
+
/* autoprefixer: ignore next */
|
|
97
97
|
-webkit-mask:
|
|
98
98
|
linear-gradient(var(--atomix-black, #000000) 0 0) content-box,
|
|
99
99
|
linear-gradient(var(--atomix-black, #000000) 0 0);
|
|
100
|
+
/* autoprefixer: ignore next */
|
|
100
101
|
-webkit-mask-composite: xor;
|
|
102
|
+
/* autoprefixer: ignore next */
|
|
101
103
|
mask:
|
|
102
104
|
linear-gradient(var(--atomix-black, #000000) 0 0) content-box,
|
|
103
105
|
linear-gradient(var(--atomix-black, #000000) 0 0);
|
|
106
|
+
/* autoprefixer: ignore next */
|
|
104
107
|
mask-composite: exclude;
|
|
105
|
-
/* postcss-ignore-end */
|
|
106
108
|
|
|
107
109
|
position: var(--atomix-glass-position);
|
|
108
110
|
top: var(--atomix-glass-top);
|
|
@@ -119,24 +121,20 @@
|
|
|
119
121
|
mix-blend-mode: screen;
|
|
120
122
|
z-index: var(--atomix-z-index-5, 5);
|
|
121
123
|
background: var(--atomix-glass-border-gradient-1, none);
|
|
122
|
-
box-shadow: var(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
0 0.25rem 1rem rgba(0, 0, 0, 0.35)
|
|
127
|
-
);
|
|
124
|
+
box-shadow: var(--atomix-glass-border-shadow,
|
|
125
|
+
0 0 0 0.03125rem rgba(255, 255, 255, 0.5) inset,
|
|
126
|
+
0 0.25rem 0.75rem rgba(255, 255, 255, 0.25) inset,
|
|
127
|
+
0 0.25rem 1rem rgba(0, 0, 0, 0.35));
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
&__border-2 {
|
|
131
131
|
mix-blend-mode: overlay;
|
|
132
132
|
z-index: var(--atomix-z-index-6, 6);
|
|
133
133
|
background: var(--atomix-glass-border-gradient-2, none);
|
|
134
|
-
box-shadow: var(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
0 0.25rem 1rem rgba(0, 0, 0, 0.35)
|
|
139
|
-
);
|
|
134
|
+
box-shadow: var(--atomix-glass-border-shadow,
|
|
135
|
+
0 0 0 0.03125rem rgba(255, 255, 255, 0.5) inset,
|
|
136
|
+
0 0.25rem 0.75rem rgba(255, 255, 255, 0.25) inset,
|
|
137
|
+
0 0.25rem 1rem rgba(0, 0, 0, 0.35));
|
|
140
138
|
}
|
|
141
139
|
|
|
142
140
|
// Container styles
|
|
@@ -195,6 +193,7 @@
|
|
|
195
193
|
border-radius: var(--atomix-glass-radius);
|
|
196
194
|
transform: var(--atomix-glass-transform);
|
|
197
195
|
transition: var(--atomix-glass-transition);
|
|
196
|
+
|
|
198
197
|
&--dark {
|
|
199
198
|
background-color: var(--atomix-gray-9, #1f2937);
|
|
200
199
|
}
|
|
@@ -255,4 +254,4 @@
|
|
|
255
254
|
@media (prefers-contrast: high) {
|
|
256
255
|
border-width: var(--atomix-spacing-0-5, 0.125rem);
|
|
257
256
|
}
|
|
258
|
-
}
|
|
257
|
+
}
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
--#{config.$prefix}callout-width: #{callout.$callout-width};
|
|
12
12
|
--#{config.$prefix}callout-padding-x: #{rem.rem(callout.$callout-padding-x)};
|
|
13
13
|
--#{config.$prefix}callout-padding-y: #{rem.rem(callout.$callout-padding-y)};
|
|
14
|
-
--#{config.$prefix}callout-
|
|
15
|
-
--#{config.$prefix}callout-
|
|
14
|
+
--#{config.$prefix}callout-toast-padding-x: #{rem.rem(callout.$callout-tost-padding-x)};
|
|
15
|
+
--#{config.$prefix}callout-toast-padding-y: #{rem.rem(callout.$callout-tost-padding-y)};
|
|
16
16
|
--#{config.$prefix}callout-bg: #{callout.$callout-bg};
|
|
17
17
|
--#{config.$prefix}callout-border-radius: #{callout.$callout-border-radius};
|
|
18
18
|
--#{config.$prefix}callout-border-color: #{callout.$callout-border-color};
|
|
19
|
-
--#{config.$prefix}callout-border-
|
|
19
|
+
--#{config.$prefix}callout-border-width: #{callout.$callout-border-width};
|
|
20
20
|
--#{config.$prefix}callout-title-font-size: #{callout.$callout-title-font-size};
|
|
21
21
|
--#{config.$prefix}callout-title-font-weight: #{callout.$callout-title-font-weight};
|
|
22
22
|
--#{config.$prefix}callout-title-color: #{callout.$callout-title-color};
|
|
@@ -43,13 +43,9 @@
|
|
|
43
43
|
padding: var(--#{config.$prefix}callout-padding-y) var(--#{config.$prefix}callout-padding-x);
|
|
44
44
|
@include dynamic-background(var(--#{config.$prefix}callout-bg));
|
|
45
45
|
border-radius: var(--#{config.$prefix}callout-border-radius);
|
|
46
|
-
border: var(--#{config.$prefix}callout-border-witdh) solid
|
|
47
|
-
|
|
48
|
-
transition
|
|
49
|
-
opacity var(--#{config.$prefix}callout-transition-duration)
|
|
50
|
-
var(--#{config.$prefix}callout-transition-timing),
|
|
51
|
-
transform var(--#{config.$prefix}callout-transition-duration)
|
|
52
|
-
var(--#{config.$prefix}callout-transition-timing);
|
|
46
|
+
border: var(--#{config.$prefix}callout-border-witdh) solid var(--#{config.$prefix}callout-border-color);
|
|
47
|
+
transition: opacity var(--#{config.$prefix}callout-transition-duration) var(--#{config.$prefix}callout-transition-timing),
|
|
48
|
+
transform var(--#{config.$prefix}callout-transition-duration) var(--#{config.$prefix}callout-transition-timing);
|
|
53
49
|
|
|
54
50
|
&__content {
|
|
55
51
|
width: 100%;
|
|
@@ -124,7 +120,7 @@
|
|
|
124
120
|
}
|
|
125
121
|
}
|
|
126
122
|
|
|
127
|
-
&--
|
|
123
|
+
&--compact {
|
|
128
124
|
#{$root} {
|
|
129
125
|
&__message {
|
|
130
126
|
display: flex;
|
|
@@ -139,8 +135,7 @@
|
|
|
139
135
|
position: relative;
|
|
140
136
|
max-width: rem.rem(350px);
|
|
141
137
|
width: 100%;
|
|
142
|
-
padding: var(--#{config.$prefix}callout-tost-padding-y)
|
|
143
|
-
var(--#{config.$prefix}callout-tost-padding-x);
|
|
138
|
+
padding: var(--#{config.$prefix}callout-tost-padding-y) var(--#{config.$prefix}callout-tost-padding-x);
|
|
144
139
|
flex-direction: column;
|
|
145
140
|
align-items: flex-start;
|
|
146
141
|
justify-content: flex-start;
|
|
@@ -156,16 +151,14 @@
|
|
|
156
151
|
}
|
|
157
152
|
|
|
158
153
|
&__actions {
|
|
159
|
-
padding-left: calc(
|
|
160
|
-
var(--#{config.$prefix}callout-icon-size) + var(--#{config.$prefix}callout-message-spacer)
|
|
161
|
-
);
|
|
154
|
+
padding-left: calc(var(--#{config.$prefix}callout-icon-size) + var(--#{config.$prefix}callout-message-spacer));
|
|
162
155
|
margin-top: var(--#{config.$prefix}callout-actions-spacer-y);
|
|
163
156
|
}
|
|
164
157
|
|
|
165
158
|
&__close-btn {
|
|
166
159
|
position: absolute;
|
|
167
|
-
top: var(--#{config.$prefix}callout-
|
|
168
|
-
right: var(--#{config.$prefix}callout-
|
|
160
|
+
top: var(--#{config.$prefix}callout-toast-padding-y);
|
|
161
|
+
right: var(--#{config.$prefix}callout-toast-padding-x);
|
|
169
162
|
}
|
|
170
163
|
}
|
|
171
164
|
|
|
@@ -177,23 +170,29 @@
|
|
|
177
170
|
|
|
178
171
|
@each $color, $value in maps.$theme-colors {
|
|
179
172
|
&--#{$color} {
|
|
180
|
-
@if ($color ==
|
|
173
|
+
@if ($color =='primary') {
|
|
181
174
|
--#{config.$prefix}callout-bg: var(--#{config.$prefix}brand-bg-subtle);
|
|
182
175
|
--#{config.$prefix}callout-border-color: var(--#{config.$prefix}brand-border-subtle);
|
|
183
176
|
--#{config.$prefix}callout-icon-color: var(--#{config.$prefix}brand-text-emphasis);
|
|
184
|
-
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
@else if($color =='light') {
|
|
185
180
|
--#{config.$prefix}callout-title-color: var(--#{config.$prefix}dark);
|
|
186
181
|
--#{config.$prefix}callout-text-color: var(--#{config.$prefix}dark);
|
|
187
182
|
--#{config.$prefix}callout-bg: var(--#{config.$prefix}light);
|
|
188
183
|
--#{config.$prefix}callout-border-color: var(--#{config.$prefix}primary-border-subtle);
|
|
189
184
|
--#{config.$prefix}callout-icon-color: var(--#{config.$prefix}tertiary-text-emphasis);
|
|
190
|
-
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
@else if($color =='dark') {
|
|
191
188
|
--#{config.$prefix}callout-title-color: var(--#{config.$prefix}light);
|
|
192
189
|
--#{config.$prefix}callout-text-color: #{$gray-4};
|
|
193
190
|
--#{config.$prefix}callout-bg: var(--#{config.$prefix}dark);
|
|
194
191
|
--#{config.$prefix}callout-border-color: var(--#{config.$prefix}dark-border-subtle);
|
|
195
192
|
--#{config.$prefix}callout-icon-color: var(--#{config.$prefix}light);
|
|
196
|
-
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
@else {
|
|
197
196
|
--#{config.$prefix}callout-bg: var(--#{config.$prefix}#{$color}-bg-subtle);
|
|
198
197
|
--#{config.$prefix}callout-border-color: var(--#{config.$prefix}#{$color}-border-subtle);
|
|
199
198
|
--#{config.$prefix}callout-icon-color: var(--#{config.$prefix}#{$color}-text-emphasis);
|
|
@@ -213,15 +212,12 @@
|
|
|
213
212
|
justify-content: center;
|
|
214
213
|
align-items: center;
|
|
215
214
|
padding: var(--#{config.$prefix}callout-padding-y) var(--#{config.$prefix}callout-padding-x);
|
|
216
|
-
border: var(--#{config.$prefix}callout-border-
|
|
217
|
-
color-mix(in srgb, var(--#{config.$prefix}callout-border-color) 20%, transparent);
|
|
215
|
+
border: var(--#{config.$prefix}callout-border-width) solid color-mix(in srgb, var(--#{config.$prefix}callout-border-color) 20%, transparent);
|
|
218
216
|
max-width: var(--#{config.$prefix}callout-width);
|
|
219
217
|
border-radius: var(--#{config.$prefix}callout-border-radius);
|
|
220
218
|
width: 100%;
|
|
221
|
-
@include dynamic-background(
|
|
222
|
-
|
|
223
|
-
$background-transparency-enable: true
|
|
224
|
-
);
|
|
219
|
+
@include dynamic-background(var(--#{config.$prefix}callout-bg),
|
|
220
|
+
$background-transparency-enable: true);
|
|
225
221
|
}
|
|
226
222
|
|
|
227
223
|
// Adjust text colors for glass effect
|
|
@@ -235,10 +231,8 @@
|
|
|
235
231
|
|
|
236
232
|
// Glass effect for toast variant
|
|
237
233
|
&#{$root}--toast {
|
|
238
|
-
@include dynamic-background(
|
|
239
|
-
|
|
240
|
-
$background-transparency-enable: true
|
|
241
|
-
);
|
|
234
|
+
@include dynamic-background(var(--#{config.$prefix}callout-bg),
|
|
235
|
+
$background-transparency-enable: true);
|
|
242
236
|
box-shadow:
|
|
243
237
|
0 8px 32px rgba(0, 0, 0, 0.1),
|
|
244
238
|
0 0 0 1px rgba(255, 255, 255, 0.1) inset;
|
|
@@ -300,6 +294,7 @@
|
|
|
300
294
|
opacity: 0;
|
|
301
295
|
transform: translateY(-20px);
|
|
302
296
|
}
|
|
297
|
+
|
|
303
298
|
to {
|
|
304
299
|
opacity: 1;
|
|
305
300
|
transform: translateY(0);
|
|
@@ -311,8 +306,9 @@
|
|
|
311
306
|
opacity: 0;
|
|
312
307
|
transform: translateY(20px);
|
|
313
308
|
}
|
|
309
|
+
|
|
314
310
|
to {
|
|
315
311
|
opacity: 1;
|
|
316
312
|
transform: translateY(0);
|
|
317
313
|
}
|
|
318
|
-
}
|
|
314
|
+
}
|
|
@@ -6,8 +6,19 @@ $utilities-display: (
|
|
|
6
6
|
responsive: true,
|
|
7
7
|
print: true,
|
|
8
8
|
property: display,
|
|
9
|
-
class: u
|
|
10
|
-
values:
|
|
11
|
-
|
|
9
|
+
class: u,
|
|
10
|
+
values: (
|
|
11
|
+
inline: inline,
|
|
12
|
+
'inline-block': inline-block,
|
|
13
|
+
block: block,
|
|
14
|
+
grid: grid,
|
|
15
|
+
'inline-grid': inline-grid,
|
|
16
|
+
table: table,
|
|
17
|
+
'table-row': table-row,
|
|
18
|
+
'table-cell': table-cell,
|
|
19
|
+
flex: flex,
|
|
20
|
+
'inline-flex': inline-flex,
|
|
21
|
+
none: none,
|
|
22
|
+
),
|
|
12
23
|
),
|
|
13
24
|
);
|
|
@@ -19,19 +19,19 @@ $utilities-flex: (
|
|
|
19
19
|
'flex-grow': (
|
|
20
20
|
responsive: true,
|
|
21
21
|
property: flex-grow,
|
|
22
|
-
class: u-flex,
|
|
22
|
+
class: u-flex-grow,
|
|
23
23
|
values: (
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
'0': 0,
|
|
25
|
+
'1': 1,
|
|
26
26
|
),
|
|
27
27
|
),
|
|
28
28
|
'flex-shrink': (
|
|
29
29
|
responsive: true,
|
|
30
30
|
property: flex-shrink,
|
|
31
|
-
class: u-flex,
|
|
31
|
+
class: u-flex-shrink,
|
|
32
32
|
values: (
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
'0': 0,
|
|
34
|
+
'1': 1,
|
|
35
35
|
),
|
|
36
36
|
),
|
|
37
37
|
'flex-wrap': (
|
|
@@ -43,7 +43,7 @@ $utilities-flex: (
|
|
|
43
43
|
'justify-content': (
|
|
44
44
|
responsive: true,
|
|
45
45
|
property: justify-content,
|
|
46
|
-
class: u-justify
|
|
46
|
+
class: u-justify,
|
|
47
47
|
values: (
|
|
48
48
|
start: flex-start,
|
|
49
49
|
end: flex-end,
|
|
@@ -56,7 +56,7 @@ $utilities-flex: (
|
|
|
56
56
|
'align-items': (
|
|
57
57
|
responsive: true,
|
|
58
58
|
property: align-items,
|
|
59
|
-
class: u-
|
|
59
|
+
class: u-items,
|
|
60
60
|
values: (
|
|
61
61
|
start: flex-start,
|
|
62
62
|
end: flex-end,
|
|
@@ -68,7 +68,7 @@ $utilities-flex: (
|
|
|
68
68
|
'align-content': (
|
|
69
69
|
responsive: true,
|
|
70
70
|
property: align-content,
|
|
71
|
-
class: u-
|
|
71
|
+
class: u-content,
|
|
72
72
|
values: (
|
|
73
73
|
start: flex-start,
|
|
74
74
|
end: flex-end,
|
|
@@ -81,7 +81,7 @@ $utilities-flex: (
|
|
|
81
81
|
'align-self': (
|
|
82
82
|
responsive: true,
|
|
83
83
|
property: align-self,
|
|
84
|
-
class: u-
|
|
84
|
+
class: u-self,
|
|
85
85
|
values: (
|
|
86
86
|
auto: auto,
|
|
87
87
|
start: flex-start,
|