@kushagradhawan/kookie-ui 0.1.21 → 0.1.23
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/components.css +854 -582
- package/dist/cjs/components/_internal/base-checkbox.props.d.ts +2 -2
- package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
- package/dist/cjs/components/_internal/base-checkbox.props.js.map +2 -2
- package/dist/cjs/components/_internal/base-radio.props.d.ts +2 -2
- package/dist/cjs/components/_internal/base-radio.props.js +1 -1
- package/dist/cjs/components/_internal/base-radio.props.js.map +2 -2
- package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-cards.js +1 -1
- package/dist/cjs/components/checkbox-cards.js.map +3 -3
- package/dist/cjs/components/checkbox-cards.props.d.ts +5 -0
- package/dist/cjs/components/checkbox-cards.props.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-cards.props.js +1 -1
- package/dist/cjs/components/checkbox-cards.props.js.map +3 -3
- package/dist/cjs/components/checkbox-group.props.d.ts +2 -2
- package/dist/cjs/components/image.d.ts.map +1 -1
- package/dist/cjs/components/image.js +1 -1
- package/dist/cjs/components/image.js.map +2 -2
- package/dist/cjs/components/radio-cards.d.ts.map +1 -1
- package/dist/cjs/components/radio-cards.js +1 -1
- package/dist/cjs/components/radio-cards.js.map +3 -3
- package/dist/cjs/components/radio-cards.props.d.ts +5 -0
- package/dist/cjs/components/radio-cards.props.d.ts.map +1 -1
- package/dist/cjs/components/radio-cards.props.js +1 -1
- package/dist/cjs/components/radio-cards.props.js.map +3 -3
- package/dist/cjs/components/radio-group.props.d.ts +2 -2
- package/dist/cjs/components/radio-group.props.js +1 -1
- package/dist/cjs/components/radio-group.props.js.map +2 -2
- package/dist/cjs/components/segmented-control.props.d.ts +5 -0
- package/dist/cjs/components/segmented-control.props.d.ts.map +1 -1
- package/dist/cjs/components/segmented-control.props.js +1 -1
- package/dist/cjs/components/segmented-control.props.js.map +2 -2
- package/dist/esm/components/_internal/base-checkbox.props.d.ts +2 -2
- package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
- package/dist/esm/components/_internal/base-checkbox.props.js.map +2 -2
- package/dist/esm/components/_internal/base-radio.props.d.ts +2 -2
- package/dist/esm/components/_internal/base-radio.props.js +1 -1
- package/dist/esm/components/_internal/base-radio.props.js.map +2 -2
- package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
- package/dist/esm/components/checkbox-cards.js +1 -1
- package/dist/esm/components/checkbox-cards.js.map +3 -3
- package/dist/esm/components/checkbox-cards.props.d.ts +5 -0
- package/dist/esm/components/checkbox-cards.props.d.ts.map +1 -1
- package/dist/esm/components/checkbox-cards.props.js +1 -1
- package/dist/esm/components/checkbox-cards.props.js.map +3 -3
- package/dist/esm/components/checkbox-group.props.d.ts +2 -2
- package/dist/esm/components/image.d.ts.map +1 -1
- package/dist/esm/components/image.js +1 -1
- package/dist/esm/components/image.js.map +2 -2
- package/dist/esm/components/radio-cards.d.ts.map +1 -1
- package/dist/esm/components/radio-cards.js +1 -1
- package/dist/esm/components/radio-cards.js.map +3 -3
- package/dist/esm/components/radio-cards.props.d.ts +5 -0
- package/dist/esm/components/radio-cards.props.d.ts.map +1 -1
- package/dist/esm/components/radio-cards.props.js +1 -1
- package/dist/esm/components/radio-cards.props.js.map +3 -3
- package/dist/esm/components/radio-group.props.d.ts +2 -2
- package/dist/esm/components/radio-group.props.js +1 -1
- package/dist/esm/components/radio-group.props.js.map +2 -2
- package/dist/esm/components/segmented-control.props.d.ts +5 -0
- package/dist/esm/components/segmented-control.props.d.ts.map +1 -1
- package/dist/esm/components/segmented-control.props.js +1 -1
- package/dist/esm/components/segmented-control.props.js.map +2 -2
- package/package.json +1 -1
- package/src/components/_internal/base-button.css +16 -7
- package/src/components/_internal/base-card.css +31 -0
- package/src/components/_internal/base-checkbox.css +84 -24
- package/src/components/_internal/base-checkbox.props.ts +2 -2
- package/src/components/_internal/base-radio.css +68 -12
- package/src/components/_internal/base-radio.props.ts +2 -2
- package/src/components/_internal/base-tab-list.css +6 -1
- package/src/components/animations.css +4 -4
- package/src/components/avatar.css +10 -0
- package/src/components/badge.css +1 -1
- package/src/components/card.css +115 -63
- package/src/components/checkbox-cards.css +36 -14
- package/src/components/checkbox-cards.props.tsx +3 -0
- package/src/components/checkbox-cards.tsx +13 -6
- package/src/components/image.css +33 -9
- package/src/components/image.tsx +2 -1
- package/src/components/progress.css +29 -27
- package/src/components/radio-cards.css +33 -9
- package/src/components/radio-cards.props.tsx +3 -0
- package/src/components/radio-cards.tsx +10 -5
- package/src/components/radio-group.props.tsx +2 -2
- package/src/components/segmented-control.css +71 -26
- package/src/components/segmented-control.props.tsx +6 -0
- package/src/components/select.css +42 -32
- package/src/components/slider.css +19 -19
- package/src/components/switch.css +6 -6
- package/src/components/text-area.css +31 -11
- package/src/components/text-field.css +31 -11
- package/src/styles/tokens/constants.css +141 -20
- package/src/styles/tokens/transition.css +27 -8
- package/styles.css +948 -604
- package/tokens/base.css +14 -6
- package/tokens.css +94 -22
|
@@ -378,11 +378,11 @@
|
|
|
378
378
|
|
|
379
379
|
/* 3D inset effect - more pronounced but still subtle */
|
|
380
380
|
/* prettier-ignore */
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
381
|
+
box-shadow:
|
|
382
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-small) / 1.5) var(--gray-a4),
|
|
383
|
+
inset 0 calc(-1 * var(--classic-border-width)) var(--gray-a2),
|
|
384
|
+
inset 0 calc(var(--classic-border-width) * 2) calc(var(--classic-shadow-blur-medium) / 3) var(--gray-a3),
|
|
385
|
+
0 0 0 var(--classic-border-width) var(--gray-a5);
|
|
386
386
|
|
|
387
387
|
/* Theme-level translucent override */
|
|
388
388
|
:where([data-panel-background='translucent']) & {
|
|
@@ -404,11 +404,11 @@
|
|
|
404
404
|
@media (hover: hover) {
|
|
405
405
|
&:where(:hover:not(:has(.rt-TextFieldInput:focus))) {
|
|
406
406
|
/* prettier-ignore */
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
407
|
+
box-shadow:
|
|
408
|
+
inset 0 calc(var(--classic-border-width) / 1.5) calc(var(--classic-shadow-blur-small) / 2) var(--gray-a3),
|
|
409
|
+
inset 0 calc(-1 * var(--classic-border-width) / 1.5) var(--gray-a2),
|
|
410
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-medium) / 4) var(--gray-a3),
|
|
411
|
+
0 0 0 var(--classic-border-width) var(--gray-a6);
|
|
412
412
|
}
|
|
413
413
|
}
|
|
414
414
|
|
|
@@ -416,7 +416,7 @@
|
|
|
416
416
|
&:where(:has(.rt-TextFieldInput:focus)) {
|
|
417
417
|
/* prettier-ignore */
|
|
418
418
|
box-shadow:
|
|
419
|
-
inset 0 calc(var(--classic-border-width) / 2) calc(var(--classic-shadow-blur-small) / 3) var(--gray-
|
|
419
|
+
inset 0 calc(var(--classic-border-width) / 2) calc(var(--classic-shadow-blur-small) / 3) var(--gray-a2),
|
|
420
420
|
0 0 0 2px var(--focus-8);
|
|
421
421
|
}
|
|
422
422
|
|
|
@@ -578,6 +578,11 @@
|
|
|
578
578
|
backdrop-filter: var(--backdrop-filter-components);
|
|
579
579
|
--backdrop-filter-components: blur(var(--backdrop-blur-components));
|
|
580
580
|
}
|
|
581
|
+
|
|
582
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
583
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
584
|
+
backdrop-filter: none !important;
|
|
585
|
+
}
|
|
581
586
|
}
|
|
582
587
|
}
|
|
583
588
|
|
|
@@ -602,6 +607,11 @@
|
|
|
602
607
|
background-color: var(--accent-a2);
|
|
603
608
|
backdrop-filter: var(--backdrop-filter-components);
|
|
604
609
|
}
|
|
610
|
+
|
|
611
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
612
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
613
|
+
backdrop-filter: none !important;
|
|
614
|
+
}
|
|
605
615
|
}
|
|
606
616
|
|
|
607
617
|
/* prettier-ignore */
|
|
@@ -680,6 +690,11 @@
|
|
|
680
690
|
backdrop-filter: var(--backdrop-filter-components);
|
|
681
691
|
--backdrop-filter-components: blur(var(--backdrop-blur-components));
|
|
682
692
|
}
|
|
693
|
+
|
|
694
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
695
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
696
|
+
backdrop-filter: none !important;
|
|
697
|
+
}
|
|
683
698
|
}
|
|
684
699
|
}
|
|
685
700
|
|
|
@@ -708,6 +723,11 @@
|
|
|
708
723
|
box-shadow: inset 0 0 0 var(--text-field-border-width) var(--accent-a8);
|
|
709
724
|
backdrop-filter: var(--backdrop-filter-components);
|
|
710
725
|
}
|
|
726
|
+
|
|
727
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
728
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
729
|
+
backdrop-filter: none !important;
|
|
730
|
+
}
|
|
711
731
|
}
|
|
712
732
|
|
|
713
733
|
/* prettier-ignore */
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
:where(.radix-themes) {
|
|
8
8
|
/* Backdrop blur constants */
|
|
9
|
-
--backdrop-blur-panel:
|
|
10
|
-
--backdrop-blur-components:
|
|
11
|
-
--backdrop-blur-heavy:
|
|
12
|
-
--backdrop-blur-light:
|
|
13
|
-
--backdrop-blur-dialog:
|
|
9
|
+
--backdrop-blur-panel: 48px;
|
|
10
|
+
--backdrop-blur-components: 16px;
|
|
11
|
+
--backdrop-blur-heavy: 48px;
|
|
12
|
+
--backdrop-blur-light: 16px;
|
|
13
|
+
--backdrop-blur-dialog: 32px;
|
|
14
14
|
|
|
15
15
|
/* Panel background opacity constants */
|
|
16
|
-
--panel-opacity-light: 0.
|
|
16
|
+
--panel-opacity-light: 0.75;
|
|
17
17
|
--panel-opacity-heavy: 0.75;
|
|
18
18
|
--surface-opacity-light: 0.25;
|
|
19
19
|
--surface-opacity-heavy: 0.75;
|
|
@@ -33,21 +33,76 @@
|
|
|
33
33
|
|
|
34
34
|
/* Standard border width constants */
|
|
35
35
|
--border-width-standard: 1px;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
--classic-
|
|
41
|
-
--classic-
|
|
42
|
-
--classic-
|
|
43
|
-
--classic-shadow-blur-
|
|
44
|
-
--classic-
|
|
45
|
-
--classic-
|
|
36
|
+
--border-width-inset: 1px;
|
|
37
|
+
--border-width-none: 0px;
|
|
38
|
+
|
|
39
|
+
/* Classic variant 3D effect constants - softened for smaller controls */
|
|
40
|
+
--classic-elevation-offset: -0.02em;
|
|
41
|
+
--classic-active-padding-offset-1: 0.5px;
|
|
42
|
+
--classic-active-padding-offset-2: 1px;
|
|
43
|
+
--classic-shadow-blur-small: 0.15em;
|
|
44
|
+
--classic-shadow-blur-medium: 0.2em;
|
|
45
|
+
--classic-shadow-blur-large: 0.4em;
|
|
46
|
+
--classic-border-width: 0.03em;
|
|
47
|
+
--classic-border-width-thick: 0.05em;
|
|
46
48
|
--classic-border-width-thin: 0.1em;
|
|
47
|
-
--classic-shadow-offset-y: 0.
|
|
49
|
+
--classic-shadow-offset-y: 0.04em;
|
|
48
50
|
--classic-shadow-offset-negative: -0.1em;
|
|
49
51
|
--classic-word-spacing: -0.1em;
|
|
50
|
-
|
|
52
|
+
--classic-inset-shadow-offset: 0.5px;
|
|
53
|
+
--classic-inset-shadow-offset-negative: -0.5px;
|
|
54
|
+
--classic-inset-shadow-blur: 0.5px;
|
|
55
|
+
|
|
56
|
+
/* Classic variant division factors for different intensities */
|
|
57
|
+
--classic-elevation-factor-subtle: 3; /* For select: calc(var(--classic-elevation-offset) / 3) */
|
|
58
|
+
--classic-shadow-factor-light: 1.5; /* For lighter shadows: calc(var(--classic-shadow-blur-small) / 1.5) */
|
|
59
|
+
--classic-shadow-factor-medium: 2; /* For medium shadows: calc(var(--classic-shadow-blur-small) / 2) */
|
|
60
|
+
--classic-shadow-factor-heavy: 3; /* For heavy shadows: calc(var(--classic-shadow-blur-small) / 3) */
|
|
61
|
+
--classic-shadow-factor-subtle: 4; /* For subtle shadows: calc(var(--classic-shadow-blur-medium) / 4) */
|
|
62
|
+
--classic-border-factor-half: 2; /* For half borders: calc(var(--classic-border-width) / 2) */
|
|
63
|
+
--classic-border-factor-light: 1.5; /* For light borders: calc(var(--classic-border-width) / 1.5) */
|
|
64
|
+
--classic-border-multiplier-double: 2; /* For double borders: calc(var(--classic-border-width) * 2) */
|
|
65
|
+
--classic-shadow-medium-factor-third: 3; /* For medium shadow thirds: calc(var(--classic-shadow-blur-medium) / 3) */
|
|
66
|
+
|
|
67
|
+
/* Classic inset shadow tokens - based on text field pattern for consistent 3D effects */
|
|
68
|
+
/* Light mode inset shadows - creates sophisticated multi-layer depth */
|
|
69
|
+
--classic-inset-shadow-light:
|
|
70
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-light)) var(--gray-a3),
|
|
71
|
+
inset 0 calc(-1 * var(--classic-border-width)) var(--gray-a1),
|
|
72
|
+
inset 0 calc(var(--classic-border-width) * var(--classic-border-multiplier-double)) calc(var(--classic-shadow-blur-medium) / var(--classic-shadow-medium-factor-third)) var(--gray-a2),
|
|
73
|
+
0 0 0 var(--classic-border-width) var(--gray-a5);
|
|
74
|
+
|
|
75
|
+
/* Hover state - slightly reduced inset effect */
|
|
76
|
+
--classic-inset-shadow-light-hover:
|
|
77
|
+
inset 0 calc(var(--classic-border-width) / var(--classic-border-factor-light)) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-medium)) var(--gray-a2),
|
|
78
|
+
inset 0 calc(-1 * var(--classic-border-width) / var(--classic-border-factor-light)) var(--gray-a1),
|
|
79
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-medium) / var(--classic-shadow-factor-subtle)) var(--gray-a2),
|
|
80
|
+
0 0 0 var(--classic-border-width) var(--gray-a6);
|
|
81
|
+
|
|
82
|
+
/* Focus state - minimal inset with accent ring */
|
|
83
|
+
--classic-inset-shadow-light-focus:
|
|
84
|
+
inset 0 calc(var(--classic-border-width) / var(--classic-border-factor-half)) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-heavy)) var(--gray-a1),
|
|
85
|
+
0 0 0 var(--focus-outline-width) var(--focus-8);
|
|
86
|
+
|
|
87
|
+
/* Darker inset shadow tokens - for form controls and smaller components */
|
|
88
|
+
/* These provide more pronounced depth for better visual hierarchy */
|
|
89
|
+
--classic-inset-shadow-dark:
|
|
90
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-light)) var(--gray-a4),
|
|
91
|
+
inset 0 calc(-1 * var(--classic-border-width)) var(--gray-a2),
|
|
92
|
+
inset 0 calc(var(--classic-border-width) * var(--classic-border-multiplier-double)) calc(var(--classic-shadow-blur-medium) / var(--classic-shadow-medium-factor-third)) var(--gray-a3),
|
|
93
|
+
0 0 0 var(--classic-border-width) var(--gray-a5);
|
|
94
|
+
|
|
95
|
+
/* Hover state - slightly reduced inset effect with darker shadows */
|
|
96
|
+
--classic-inset-shadow-dark-hover:
|
|
97
|
+
inset 0 calc(var(--classic-border-width) / var(--classic-border-factor-light)) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-medium)) var(--gray-a3),
|
|
98
|
+
inset 0 calc(-1 * var(--classic-border-width) / var(--classic-border-factor-light)) var(--gray-a2),
|
|
99
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-medium) / var(--classic-shadow-factor-subtle)) var(--gray-a3),
|
|
100
|
+
0 0 0 var(--classic-border-width) var(--gray-a6);
|
|
101
|
+
|
|
102
|
+
/* Focus state - minimal inset with accent ring and darker base */
|
|
103
|
+
--classic-inset-shadow-dark-focus:
|
|
104
|
+
inset 0 calc(var(--classic-border-width) / var(--classic-border-factor-half)) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-heavy)) var(--gray-a2),
|
|
105
|
+
0 0 0 var(--focus-outline-width) var(--focus-8);
|
|
51
106
|
|
|
52
107
|
/* Color mixing percentages */
|
|
53
108
|
--color-mix-percentage-light: 25%;
|
|
@@ -68,12 +123,72 @@
|
|
|
68
123
|
--content-icon-size-4: var(--space-5); /* 20px */
|
|
69
124
|
|
|
70
125
|
/* Indicator icon size constants (for checkboxes, radio, sub-triggers) */
|
|
71
|
-
--indicator-icon-size-1: calc(
|
|
72
|
-
--indicator-icon-size-2: calc(10px * var(--scaling)); /* ~10px */
|
|
126
|
+
--indicator-icon-size-1: calc(9px * var(--scaling)); /* ~9px - used by checkbox size 1 */
|
|
127
|
+
--indicator-icon-size-2: calc(10px * var(--scaling)); /* ~10px - used by checkbox size 2 */
|
|
128
|
+
--indicator-icon-size-3: calc(12px * var(--scaling)); /* ~12px - used by checkbox size 3 */
|
|
129
|
+
|
|
130
|
+
/* Select-specific indicator icon sizes */
|
|
131
|
+
--select-indicator-icon-size-1: calc(8px * var(--scaling)); /* ~8px - used by select size 1 */
|
|
132
|
+
--select-indicator-icon-size-2: calc(10px * var(--scaling)); /* ~10px - used by select size 2 */
|
|
133
|
+
--select-indicator-icon-size-3: calc(10px * var(--scaling)); /* ~10px - used by select size 3 */
|
|
134
|
+
|
|
135
|
+
/* Select component specific constants */
|
|
136
|
+
--select-item-indicator-width-factor: 1.2; /* Division factor for indicator width calculation */
|
|
137
|
+
|
|
138
|
+
/* Separator constants */
|
|
139
|
+
--separator-height-thin: 1px;
|
|
140
|
+
|
|
141
|
+
/* Progress component constants */
|
|
142
|
+
--progress-default-duration: 5s;
|
|
143
|
+
--progress-animation-delay-start: 5s;
|
|
144
|
+
--progress-animation-delay-shine: 7.5s;
|
|
145
|
+
--progress-animation-duration-fade: 2.5s;
|
|
146
|
+
--progress-animation-duration-pulse: 5s;
|
|
147
|
+
--progress-shine-width-multiplier: 4; /* width: 400% -> calc(100% * 4) */
|
|
148
|
+
--progress-gradient-stop-start: 25%;
|
|
149
|
+
--progress-gradient-stop-end: 75%;
|
|
150
|
+
--progress-border-radius-factor: 3; /* For calc(var(--progress-height) / 3) */
|
|
151
|
+
|
|
152
|
+
/* Progress animation scale values */
|
|
153
|
+
--progress-scale-initial: 0.01;
|
|
154
|
+
--progress-scale-step-1: 0.1; /* 20% */
|
|
155
|
+
--progress-scale-step-2: 0.6; /* 30% */
|
|
156
|
+
--progress-scale-step-3: 0.9; /* 40-50% */
|
|
157
|
+
--progress-scale-final: 1; /* 100% */
|
|
158
|
+
|
|
159
|
+
/* Progress animation timing percentages */
|
|
160
|
+
--progress-timing-step-1: 20%;
|
|
161
|
+
--progress-timing-step-2: 30%;
|
|
162
|
+
--progress-timing-step-3: 40%;
|
|
163
|
+
--progress-timing-step-4: 50%;
|
|
164
|
+
|
|
165
|
+
/* Slider component constants */
|
|
166
|
+
--slider-thumb-hit-area-multiplier: 3; /* For calc(var(--slider-thumb-size) * 3) */
|
|
167
|
+
--slider-thumb-inset-factor: 0.25; /* For calc(-0.25 * var(--slider-track-size)) */
|
|
168
|
+
--slider-track-radius-factor: 3; /* For calc(var(--slider-track-size) / 3) */
|
|
169
|
+
--slider-focus-ring-inner: 3px;
|
|
170
|
+
--slider-focus-ring-outer: 5px;
|
|
171
|
+
--slider-classic-inset-offset: 1.5px;
|
|
172
|
+
|
|
173
|
+
/* Size multipliers */
|
|
174
|
+
--size-multiplier-small: 0.75;
|
|
175
|
+
--size-multiplier-large: 1.25;
|
|
176
|
+
|
|
177
|
+
/* Opacity constants */
|
|
178
|
+
--opacity-disabled: 0.5;
|
|
179
|
+
--opacity-soft-variant: 0.75;
|
|
180
|
+
--opacity-high-contrast: 0.8;
|
|
181
|
+
|
|
182
|
+
/* Positioning constants */
|
|
183
|
+
--position-center: 50%;
|
|
184
|
+
--position-full: 100%;
|
|
185
|
+
--position-negative-full: -100%;
|
|
186
|
+
--position-zero: 0%;
|
|
73
187
|
|
|
74
188
|
/* Transition constants */
|
|
75
189
|
--transition-backdrop-filter: backdrop-filter var(--duration-2) var(--ease-1);
|
|
76
190
|
--transition-background-blur: background-color var(--duration-2) var(--ease-1), backdrop-filter var(--duration-2) var(--ease-1);
|
|
191
|
+
--transition-transform-progress: transform 120ms;
|
|
77
192
|
|
|
78
193
|
/* Spacing multipliers for component sizing */
|
|
79
194
|
--spacing-multiplier-small: 0.5;
|
|
@@ -115,4 +230,10 @@
|
|
|
115
230
|
--scale-active: 0.98;
|
|
116
231
|
--scale-pressed: 0.96;
|
|
117
232
|
--scale-normal: 1;
|
|
233
|
+
|
|
234
|
+
/* Nested backdrop-filter detection constants */
|
|
235
|
+
--backdrop-filter-nested-disabled: none;
|
|
236
|
+
--backdrop-filter-nested-enabled: var(--backdrop-filter-components);
|
|
237
|
+
--backdrop-filter-nested-panel: var(--backdrop-filter-panel);
|
|
238
|
+
--backdrop-filter-nested-dialog: var(--backdrop-filter-dialog);
|
|
118
239
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
.radix-themes {
|
|
2
2
|
/* Duration tokens */
|
|
3
|
-
--duration-1:
|
|
4
|
-
--duration-2:
|
|
5
|
-
--duration-3:
|
|
6
|
-
--duration-4:
|
|
7
|
-
--duration-5:
|
|
3
|
+
--duration-1: 50ms; /* Micro interactions */
|
|
4
|
+
--duration-2: 100ms; /* Fast transitions */
|
|
5
|
+
--duration-3: 150ms; /* Standard transitions */
|
|
6
|
+
--duration-4: 200ms; /* Slower transitions */
|
|
7
|
+
--duration-5: 300ms; /* Slow animations */
|
|
8
8
|
|
|
9
9
|
/* Easing tokens */
|
|
10
10
|
--ease-1: ease-out; /* Fast start, slow end */
|
|
@@ -41,15 +41,30 @@
|
|
|
41
41
|
backdrop-filter var(--duration-2) var(--ease-1), top var(--duration-2) var(--ease-1);
|
|
42
42
|
|
|
43
43
|
--transition-tabs:
|
|
44
|
-
color var(--duration-
|
|
45
|
-
font-weight var(--duration-
|
|
46
|
-
word-spacing var(--duration-
|
|
44
|
+
color var(--duration-1) var(--ease-1), background-color var(--duration-1) var(--ease-1),
|
|
45
|
+
font-weight var(--duration-2) var(--ease-2), letter-spacing var(--duration-2) var(--ease-2),
|
|
46
|
+
word-spacing var(--duration-2) var(--ease-2), transform var(--duration-1) var(--ease-1);
|
|
47
|
+
|
|
48
|
+
--transition-segmented-control:
|
|
49
|
+
opacity var(--duration-2) var(--ease-1), transform var(--duration-2) var(--ease-3),
|
|
50
|
+
background-color var(--duration-2) var(--ease-1);
|
|
47
51
|
|
|
48
52
|
--transition-menu:
|
|
49
53
|
background var(--duration-1) var(--ease-1), color var(--duration-2) var(--ease-1),
|
|
50
54
|
backdrop-filter var(--duration-2) var(--ease-1);
|
|
51
55
|
|
|
56
|
+
--transition-checkbox:
|
|
57
|
+
background-color var(--duration-2) var(--ease-1), box-shadow var(--duration-2) var(--ease-1),
|
|
58
|
+
color var(--duration-1) var(--ease-1);
|
|
59
|
+
|
|
60
|
+
--transition-radio:
|
|
61
|
+
background-color var(--duration-2) var(--ease-1), box-shadow var(--duration-2) var(--ease-1),
|
|
62
|
+
color var(--duration-1) var(--ease-1);
|
|
63
|
+
|
|
52
64
|
--transition-focus: outline var(--duration-2) var(--ease-1), outline-offset var(--duration-2) var(--ease-1);
|
|
65
|
+
|
|
66
|
+
/* Progress component transition */
|
|
67
|
+
--transition-progress: transform var(--duration-2) var(--ease-1);
|
|
53
68
|
}
|
|
54
69
|
|
|
55
70
|
/* Respect user preference for reduced motion */
|
|
@@ -69,7 +84,11 @@
|
|
|
69
84
|
--transition-badge: none;
|
|
70
85
|
--transition-card: none;
|
|
71
86
|
--transition-tabs: none;
|
|
87
|
+
--transition-segmented-control: none;
|
|
72
88
|
--transition-menu: none;
|
|
89
|
+
--transition-checkbox: none;
|
|
90
|
+
--transition-radio: none;
|
|
73
91
|
--transition-focus: none;
|
|
92
|
+
--transition-progress: none;
|
|
74
93
|
}
|
|
75
94
|
}
|