@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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
.radix-themes {
|
|
2
|
-
|
|
2
|
+
/* Use standard duration token instead of custom duration */
|
|
3
|
+
--segmented-control-transition-duration: var(--duration-1); /* 100ms - Fast transitions */
|
|
3
4
|
}
|
|
4
5
|
|
|
5
6
|
.rt-SegmentedControlRoot {
|
|
@@ -20,6 +21,33 @@
|
|
|
20
21
|
|
|
21
22
|
/* Create a new stacking context */
|
|
22
23
|
isolation: isolate;
|
|
24
|
+
|
|
25
|
+
/* Theme-level translucent override */
|
|
26
|
+
:where([data-panel-background='translucent']) & {
|
|
27
|
+
background-color: var(--color-surface-translucent);
|
|
28
|
+
background-image: linear-gradient(var(--gray-a3), var(--gray-a3));
|
|
29
|
+
backdrop-filter: var(--backdrop-filter-panel);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* Component-level overrides (higher specificity) */
|
|
33
|
+
&:where([data-panel-background='solid']) {
|
|
34
|
+
background-color: var(--color-surface);
|
|
35
|
+
background-image: linear-gradient(var(--gray-a3), var(--gray-a3));
|
|
36
|
+
backdrop-filter: none;
|
|
37
|
+
--backdrop-filter-panel: none;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&:where([data-panel-background='translucent']) {
|
|
41
|
+
background-color: var(--color-surface-translucent);
|
|
42
|
+
background-image: linear-gradient(var(--gray-a3), var(--gray-a3));
|
|
43
|
+
backdrop-filter: var(--backdrop-filter-panel);
|
|
44
|
+
--backdrop-filter-panel: blur(var(--backdrop-blur-panel));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
48
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
49
|
+
backdrop-filter: none !important;
|
|
50
|
+
}
|
|
23
51
|
}
|
|
24
52
|
|
|
25
53
|
.rt-SegmentedControlRoot:where([data-disabled]) {
|
|
@@ -42,8 +70,8 @@
|
|
|
42
70
|
}
|
|
43
71
|
&:where(:focus-visible) {
|
|
44
72
|
border-radius: inherit;
|
|
45
|
-
outline:
|
|
46
|
-
outline-offset: -
|
|
73
|
+
outline: var(--focus-outline-width) solid var(--focus-8);
|
|
74
|
+
outline-offset: var(--focus-outline-offset-inset);
|
|
47
75
|
}
|
|
48
76
|
}
|
|
49
77
|
|
|
@@ -70,30 +98,30 @@
|
|
|
70
98
|
.rt-SegmentedControlItemLabelInactive {
|
|
71
99
|
position: absolute;
|
|
72
100
|
|
|
73
|
-
transition:
|
|
101
|
+
transition: var(--transition-tabs);
|
|
74
102
|
font-weight: var(--font-weight-regular);
|
|
75
103
|
letter-spacing: var(--tab-inactive-letter-spacing);
|
|
76
104
|
word-spacing: var(--tab-inactive-word-spacing);
|
|
77
105
|
|
|
78
106
|
opacity: 1;
|
|
79
|
-
transition-
|
|
107
|
+
transition-delay: var(--duration-1); /* Staggered effect like tabs */
|
|
80
108
|
:where(.rt-SegmentedControlItem[data-state='on']) & {
|
|
81
109
|
opacity: 0;
|
|
82
|
-
transition-
|
|
110
|
+
transition-delay: 0ms; /* Immediate transition for state change */
|
|
83
111
|
}
|
|
84
112
|
}
|
|
85
113
|
|
|
86
114
|
.rt-SegmentedControlItemLabelActive {
|
|
87
|
-
transition:
|
|
115
|
+
transition: var(--transition-tabs);
|
|
88
116
|
font-weight: var(--font-weight-medium);
|
|
89
117
|
letter-spacing: var(--tab-active-letter-spacing);
|
|
90
118
|
word-spacing: var(--tab-active-word-spacing);
|
|
91
119
|
|
|
92
120
|
opacity: 0;
|
|
93
|
-
transition-
|
|
121
|
+
transition-delay: 0ms; /* Immediate transition for active state like tabs */
|
|
94
122
|
:where(.rt-SegmentedControlItem[data-state='on']) & {
|
|
95
123
|
opacity: 1;
|
|
96
|
-
transition-
|
|
124
|
+
transition-delay: 0ms; /* Immediate transition for active state */
|
|
97
125
|
}
|
|
98
126
|
}
|
|
99
127
|
|
|
@@ -105,22 +133,21 @@
|
|
|
105
133
|
*/
|
|
106
134
|
z-index: -1;
|
|
107
135
|
|
|
108
|
-
margin-top: 3px
|
|
109
|
-
margin-bottom: 3px
|
|
110
|
-
margin-left: -0.5px
|
|
111
|
-
margin-right: -0.5px
|
|
112
|
-
width: 1px
|
|
136
|
+
margin-top: calc(var(--space-1) * 0.75); /* 3px - slightly smaller than space-1 */
|
|
137
|
+
margin-bottom: calc(var(--space-1) * 0.75); /* 3px */
|
|
138
|
+
margin-left: calc(-1 * var(--border-width-standard) * 0.5); /* -0.5px */
|
|
139
|
+
margin-right: calc(-1 * var(--border-width-standard) * 0.5); /* -0.5px */
|
|
140
|
+
width: var(--border-width-standard); /* 1px */
|
|
113
141
|
background-color: var(--gray-a4);
|
|
114
|
-
transition: opacity calc(0.8 * var(--segmented-control-transition-duration));
|
|
142
|
+
transition: opacity calc(0.8 * var(--segmented-control-transition-duration)) var(--ease-1);
|
|
115
143
|
|
|
116
144
|
/* Make separators slow to disappear and fast to appear, syncing it well with the indicator motion */
|
|
117
|
-
transition-timing-function: ease-out;
|
|
118
145
|
|
|
119
146
|
:where(.rt-SegmentedControlItem:first-child) &,
|
|
120
147
|
:where(.rt-SegmentedControlItem:where([data-state='on'], :focus-visible)) &,
|
|
121
148
|
:where(.rt-SegmentedControlItem:where([data-state='on'], :focus-visible)) + * & {
|
|
122
149
|
opacity: 0;
|
|
123
|
-
transition-timing-function: ease-
|
|
150
|
+
transition-timing-function: var(--ease-1);
|
|
124
151
|
}
|
|
125
152
|
/* Don't transition when the separator is hidden because of the focus outline */
|
|
126
153
|
:where(.rt-SegmentedControlRoot:has(:focus-visible)) & {
|
|
@@ -144,14 +171,12 @@
|
|
|
144
171
|
left: 0;
|
|
145
172
|
height: 100%;
|
|
146
173
|
pointer-events: none;
|
|
147
|
-
transition
|
|
148
|
-
transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
|
|
149
|
-
transition-duration: var(--segmented-control-transition-duration);
|
|
174
|
+
transition: transform var(--segmented-control-transition-duration) var(--ease-3);
|
|
150
175
|
|
|
151
176
|
&::before {
|
|
152
|
-
inset: 1px
|
|
177
|
+
inset: var(--border-width-standard); /* 1px */
|
|
153
178
|
position: absolute;
|
|
154
|
-
border-radius: max(0.
|
|
179
|
+
border-radius: max(calc(var(--border-width-standard) * 0.5), calc(var(--segmented-control-border-radius) - var(--border-width-standard)));
|
|
155
180
|
background-color: var(--segmented-control-indicator-background-color);
|
|
156
181
|
content: '';
|
|
157
182
|
}
|
|
@@ -164,7 +189,7 @@
|
|
|
164
189
|
--segmented-control-indicator-background-color: var(--gray-a3);
|
|
165
190
|
|
|
166
191
|
&::before {
|
|
167
|
-
inset:
|
|
192
|
+
inset: 0;
|
|
168
193
|
box-shadow: none;
|
|
169
194
|
}
|
|
170
195
|
}
|
|
@@ -248,7 +273,7 @@
|
|
|
248
273
|
@breakpoints {
|
|
249
274
|
.rt-SegmentedControlRoot {
|
|
250
275
|
&:where(.rt-r-size-1) {
|
|
251
|
-
--segmented-control-border-radius: max(var(--radius-
|
|
276
|
+
--segmented-control-border-radius: max(calc(var(--radius-1) * var(--spacing-multiplier-large)), var(--radius-full));
|
|
252
277
|
height: var(--space-5);
|
|
253
278
|
|
|
254
279
|
& :where(.rt-SegmentedControlItemLabel) {
|
|
@@ -295,7 +320,7 @@
|
|
|
295
320
|
.rt-SegmentedControlRoot:where(.rt-variant-surface) {
|
|
296
321
|
& :where(.rt-SegmentedControlItem:not([disabled])) ~ :where(.rt-SegmentedControlIndicator) {
|
|
297
322
|
&::before {
|
|
298
|
-
box-shadow: 0 0 0
|
|
323
|
+
box-shadow: 0 0 0 var(--border-width-standard) var(--gray-a4);
|
|
299
324
|
}
|
|
300
325
|
}
|
|
301
326
|
}
|
|
@@ -309,7 +334,27 @@
|
|
|
309
334
|
.rt-SegmentedControlRoot:where(.rt-variant-classic) {
|
|
310
335
|
& :where(.rt-SegmentedControlItem:not([disabled])) ~ :where(.rt-SegmentedControlIndicator) {
|
|
311
336
|
&::before {
|
|
312
|
-
|
|
337
|
+
/* Use the same elevated 3D effect as Button classic variant */
|
|
338
|
+
/* prettier-ignore */
|
|
339
|
+
box-shadow:
|
|
340
|
+
inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--gray-a2),
|
|
341
|
+
inset 0 var(--classic-border-width) var(--white-a12),
|
|
342
|
+
inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--gray-a2),
|
|
343
|
+
inset 0 calc(-1 * var(--classic-border-width)) var(--gray-a6),
|
|
344
|
+
0 0 0 var(--classic-border-width) var(--gray-a5),
|
|
345
|
+
0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--gray-a7);
|
|
346
|
+
|
|
347
|
+
:where(.dark, .dark-theme) &,
|
|
348
|
+
:where(.dark, .dark-theme) :where(.radix-themes:not(.light, .light-theme)) & {
|
|
349
|
+
/* prettier-ignore */
|
|
350
|
+
box-shadow:
|
|
351
|
+
inset 0 calc(-1 * var(--classic-border-width)) var(--classic-shadow-blur-large) var(--gray-a3),
|
|
352
|
+
inset 0 var(--classic-border-width) var(--gray-a11),
|
|
353
|
+
inset 0 var(--classic-shadow-blur-medium) var(--classic-shadow-blur-large) var(--gray-a2),
|
|
354
|
+
inset 0 calc(-2 * var(--classic-border-width)) var(--black-a11),
|
|
355
|
+
0 0 0 var(--classic-border-width-thick) var(--gray-a7),
|
|
356
|
+
0 var(--classic-shadow-offset-y) var(--classic-shadow-blur-small) var(--black-a12);
|
|
357
|
+
}
|
|
313
358
|
}
|
|
314
359
|
}
|
|
315
360
|
}
|
|
@@ -9,11 +9,17 @@ const segmentedControlRootPropDefs = {
|
|
|
9
9
|
disabled: { type: 'boolean', className: 'disabled', default: false },
|
|
10
10
|
size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },
|
|
11
11
|
variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'surface' },
|
|
12
|
+
panelBackground: {
|
|
13
|
+
type: 'enum',
|
|
14
|
+
className: 'rt-panel-background',
|
|
15
|
+
values: ['solid', 'translucent'],
|
|
16
|
+
},
|
|
12
17
|
...radiusPropDef,
|
|
13
18
|
} satisfies {
|
|
14
19
|
disabled?: PropDef<boolean>;
|
|
15
20
|
size: PropDef<(typeof sizes)[number]>;
|
|
16
21
|
variant: PropDef<(typeof variants)[number]>;
|
|
22
|
+
panelBackground: PropDef<'solid' | 'translucent'>;
|
|
17
23
|
};
|
|
18
24
|
|
|
19
25
|
export { segmentedControlRootPropDefs };
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
text-align: start;
|
|
15
15
|
|
|
16
16
|
&:where(:focus-visible) {
|
|
17
|
-
outline:
|
|
18
|
-
outline-offset: -
|
|
17
|
+
outline: var(--focus-outline-width) solid var(--focus-8);
|
|
18
|
+
outline-offset: var(--focus-outline-offset-inset);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/* Reduced motion support */
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
.rt-SelectSeparator {
|
|
98
|
-
height:
|
|
98
|
+
height: var(--separator-height-thin);
|
|
99
99
|
margin-top: var(--space-2);
|
|
100
100
|
margin-bottom: var(--space-2);
|
|
101
101
|
margin-left: var(--select-item-indicator-width);
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
&:where(.rt-r-size-1) {
|
|
219
219
|
--select-content-padding: var(--space-1);
|
|
220
220
|
--select-item-height: var(--space-5);
|
|
221
|
-
--select-item-indicator-width: calc(var(--space-5) /
|
|
221
|
+
--select-item-indicator-width: calc(var(--space-5) / var(--select-item-indicator-width-factor));
|
|
222
222
|
--select-separator-margin-right: var(--space-2);
|
|
223
223
|
border-radius: var(--radius-3);
|
|
224
224
|
|
|
@@ -234,8 +234,8 @@
|
|
|
234
234
|
border-radius: var(--radius-1);
|
|
235
235
|
}
|
|
236
236
|
& :where(.rt-SelectItemIndicatorIcon) {
|
|
237
|
-
width:
|
|
238
|
-
height:
|
|
237
|
+
width: var(--select-indicator-icon-size-1);
|
|
238
|
+
height: var(--select-indicator-icon-size-1);
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
&:where(.rt-r-size-2, .rt-r-size-3) {
|
|
@@ -261,8 +261,8 @@
|
|
|
261
261
|
letter-spacing: var(--letter-spacing-2);
|
|
262
262
|
}
|
|
263
263
|
& :where(.rt-SelectItemIndicatorIcon) {
|
|
264
|
-
width:
|
|
265
|
-
height:
|
|
264
|
+
width: var(--select-indicator-icon-size-2);
|
|
265
|
+
height: var(--select-indicator-icon-size-2);
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
&:where(.rt-r-size-3) {
|
|
@@ -271,8 +271,8 @@
|
|
|
271
271
|
letter-spacing: var(--letter-spacing-3);
|
|
272
272
|
}
|
|
273
273
|
& :where(.rt-SelectItemIndicatorIcon) {
|
|
274
|
-
width:
|
|
275
|
-
height:
|
|
274
|
+
width: var(--select-indicator-icon-size-3);
|
|
275
|
+
height: var(--select-indicator-icon-size-3);
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
}
|
|
@@ -286,7 +286,7 @@
|
|
|
286
286
|
|
|
287
287
|
/* Outline variant - neutral with gray border (previously surface) */
|
|
288
288
|
.rt-SelectTrigger:where(.rt-variant-outline) {
|
|
289
|
-
--select-trigger-border-width:
|
|
289
|
+
--select-trigger-border-width: var(--border-width-standard);
|
|
290
290
|
|
|
291
291
|
background-color: var(--color-surface);
|
|
292
292
|
color: var(--gray-12);
|
|
@@ -331,22 +331,22 @@
|
|
|
331
331
|
|
|
332
332
|
/* Classic variant - 3D inset form input */
|
|
333
333
|
.rt-SelectTrigger:where(.rt-variant-classic) {
|
|
334
|
-
--select-trigger-border-width:
|
|
334
|
+
--select-trigger-border-width: var(--border-width-none);
|
|
335
335
|
|
|
336
336
|
position: relative;
|
|
337
337
|
/* Subtle inset positioning */
|
|
338
|
-
top: calc(var(--classic-elevation-offset) /
|
|
338
|
+
top: calc(var(--classic-elevation-offset) / var(--classic-elevation-factor-subtle));
|
|
339
339
|
|
|
340
340
|
background-color: var(--color-surface);
|
|
341
341
|
color: var(--gray-12);
|
|
342
342
|
|
|
343
343
|
/* 3D inset effect - more pronounced but still subtle */
|
|
344
344
|
/* prettier-ignore */
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
345
|
+
box-shadow:
|
|
346
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-light)) var(--gray-a4),
|
|
347
|
+
inset 0 calc(-1 * var(--classic-border-width)) var(--gray-a2),
|
|
348
|
+
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),
|
|
349
|
+
0 0 0 var(--classic-border-width) var(--gray-a5);
|
|
350
350
|
|
|
351
351
|
/* Theme-level translucent override */
|
|
352
352
|
:where([data-panel-background='translucent']) & {
|
|
@@ -368,19 +368,19 @@
|
|
|
368
368
|
@media (hover: hover) {
|
|
369
369
|
&:where(:hover:not(:focus-visible)) {
|
|
370
370
|
/* prettier-ignore */
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
371
|
+
box-shadow:
|
|
372
|
+
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),
|
|
373
|
+
inset 0 calc(-1 * var(--classic-border-width) / var(--classic-border-factor-light)) var(--gray-a2),
|
|
374
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-medium) / var(--classic-shadow-factor-subtle)) var(--gray-a3),
|
|
375
|
+
0 0 0 var(--classic-border-width) var(--gray-a6);
|
|
376
376
|
}
|
|
377
377
|
}
|
|
378
378
|
&:where([data-state='open']) {
|
|
379
379
|
/* prettier-ignore */
|
|
380
380
|
box-shadow:
|
|
381
|
-
inset 0 calc(var(--classic-border-width) /
|
|
382
|
-
inset 0 calc(-1 * var(--classic-border-width) /
|
|
383
|
-
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-medium) /
|
|
381
|
+
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),
|
|
382
|
+
inset 0 calc(-1 * var(--classic-border-width) / var(--classic-border-factor-light)) var(--gray-a2),
|
|
383
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-medium) / var(--classic-shadow-factor-subtle)) var(--gray-a3),
|
|
384
384
|
0 0 0 var(--classic-border-width) var(--gray-a6);
|
|
385
385
|
}
|
|
386
386
|
|
|
@@ -388,8 +388,8 @@
|
|
|
388
388
|
&:where(:focus-visible) {
|
|
389
389
|
/* prettier-ignore */
|
|
390
390
|
box-shadow:
|
|
391
|
-
inset 0 calc(var(--classic-border-width) /
|
|
392
|
-
0 0 0
|
|
391
|
+
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),
|
|
392
|
+
0 0 0 var(--focus-outline-width) var(--focus-8);
|
|
393
393
|
}
|
|
394
394
|
|
|
395
395
|
&:where(:disabled) {
|
|
@@ -397,7 +397,7 @@
|
|
|
397
397
|
background-color: var(--gray-a2);
|
|
398
398
|
/* prettier-ignore */
|
|
399
399
|
box-shadow:
|
|
400
|
-
inset 0 calc(var(--classic-border-width) /
|
|
400
|
+
inset 0 calc(var(--classic-border-width) / var(--classic-border-factor-half)) calc(var(--classic-shadow-blur-small) / var(--classic-shadow-factor-medium)) var(--gray-a2),
|
|
401
401
|
inset 0 0 0 var(--classic-border-width) var(--gray-a6);
|
|
402
402
|
}
|
|
403
403
|
&:where([data-placeholder]) {
|
|
@@ -409,7 +409,7 @@
|
|
|
409
409
|
|
|
410
410
|
/* Soft variant - branded with accent colors */
|
|
411
411
|
.rt-SelectTrigger:where(.rt-variant-soft) {
|
|
412
|
-
--select-trigger-border-width:
|
|
412
|
+
--select-trigger-border-width: var(--border-width-none);
|
|
413
413
|
|
|
414
414
|
/* Use solid accent for solid panels, alpha accent for translucent panels */
|
|
415
415
|
background-color: var(--accent-3);
|
|
@@ -482,7 +482,7 @@
|
|
|
482
482
|
|
|
483
483
|
/* Surface variant - transparent with accent border (previously outline) */
|
|
484
484
|
.rt-SelectTrigger:where(.rt-variant-surface) {
|
|
485
|
-
--select-trigger-border-width:
|
|
485
|
+
--select-trigger-border-width: var(--border-width-standard);
|
|
486
486
|
|
|
487
487
|
background-color: transparent;
|
|
488
488
|
box-shadow: inset 0 0 0 var(--select-trigger-border-width) var(--accent-7);
|
|
@@ -595,7 +595,7 @@
|
|
|
595
595
|
|
|
596
596
|
/* Ghost variant - transparent until interaction */
|
|
597
597
|
.rt-SelectTrigger:where(.rt-variant-ghost) {
|
|
598
|
-
--select-trigger-border-width:
|
|
598
|
+
--select-trigger-border-width: var(--border-width-none);
|
|
599
599
|
|
|
600
600
|
background-color: transparent;
|
|
601
601
|
color: var(--accent-12);
|
|
@@ -635,6 +635,11 @@
|
|
|
635
635
|
background-color: var(--accent-a2);
|
|
636
636
|
backdrop-filter: var(--backdrop-filter-components);
|
|
637
637
|
}
|
|
638
|
+
|
|
639
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
640
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
641
|
+
backdrop-filter: none !important;
|
|
642
|
+
}
|
|
638
643
|
}
|
|
639
644
|
}
|
|
640
645
|
&:where([data-state='open']) {
|
|
@@ -644,6 +649,11 @@
|
|
|
644
649
|
background-color: var(--accent-a2);
|
|
645
650
|
backdrop-filter: var(--backdrop-filter-components);
|
|
646
651
|
}
|
|
652
|
+
|
|
653
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
654
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
655
|
+
backdrop-filter: none !important;
|
|
656
|
+
}
|
|
647
657
|
}
|
|
648
658
|
&:where(:focus-visible) {
|
|
649
659
|
outline-color: var(--accent-8);
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
flex-grow: 1;
|
|
8
8
|
|
|
9
9
|
border-radius: max(
|
|
10
|
-
calc(var(--radius-factor) * var(--slider-track-size) /
|
|
10
|
+
calc(var(--radius-factor) * var(--slider-track-size) / var(--slider-track-radius-factor)),
|
|
11
11
|
calc(var(--radius-factor) * var(--radius-thumb))
|
|
12
12
|
);
|
|
13
13
|
|
|
@@ -47,11 +47,11 @@
|
|
|
47
47
|
border-radius: inherit;
|
|
48
48
|
|
|
49
49
|
&:where([data-orientation='horizontal']) {
|
|
50
|
-
height:
|
|
50
|
+
height: var(--position-full);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
&:where([data-orientation='vertical']) {
|
|
54
|
-
width:
|
|
54
|
+
width: var(--position-full);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -67,10 +67,10 @@
|
|
|
67
67
|
content: '';
|
|
68
68
|
position: absolute;
|
|
69
69
|
z-index: -1;
|
|
70
|
-
width: calc(var(--slider-thumb-size) *
|
|
71
|
-
height: calc(var(--slider-thumb-size) *
|
|
72
|
-
top:
|
|
73
|
-
left:
|
|
70
|
+
width: calc(var(--slider-thumb-size) * var(--slider-thumb-hit-area-multiplier));
|
|
71
|
+
height: calc(var(--slider-thumb-size) * var(--slider-thumb-hit-area-multiplier));
|
|
72
|
+
top: var(--position-center);
|
|
73
|
+
left: var(--position-center);
|
|
74
74
|
transform: translate(-50%, -50%);
|
|
75
75
|
}
|
|
76
76
|
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
&::after {
|
|
79
79
|
content: '';
|
|
80
80
|
position: absolute;
|
|
81
|
-
inset: calc(-
|
|
81
|
+
inset: calc(var(--slider-thumb-inset-factor) * var(--slider-track-size) * -1);
|
|
82
82
|
background-color: white;
|
|
83
83
|
border-radius: max(var(--radius-1), var(--radius-thumb));
|
|
84
84
|
box-shadow: var(--slider-thumb-box-shadow);
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
&:where(:focus-visible)::after {
|
|
89
|
-
box-shadow: var(--slider-thumb-box-shadow), 0 0 0
|
|
89
|
+
box-shadow: var(--slider-thumb-box-shadow), 0 0 0 var(--slider-focus-ring-inner) var(--accent-3), 0 0 0 var(--slider-focus-ring-outer) var(--focus-8);
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
&:where(:active) {
|
|
@@ -103,13 +103,13 @@
|
|
|
103
103
|
@breakpoints {
|
|
104
104
|
.rt-SliderRoot {
|
|
105
105
|
&:where(.rt-r-size-1) {
|
|
106
|
-
--slider-track-size: calc(var(--space-2) *
|
|
106
|
+
--slider-track-size: calc(var(--space-2) * var(--size-multiplier-small));
|
|
107
107
|
}
|
|
108
108
|
&:where(.rt-r-size-2) {
|
|
109
109
|
--slider-track-size: var(--space-2);
|
|
110
110
|
}
|
|
111
111
|
&:where(.rt-r-size-3) {
|
|
112
|
-
--slider-track-size: calc(var(--space-2) *
|
|
112
|
+
--slider-track-size: calc(var(--space-2) * var(--size-multiplier-large));
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
}
|
|
@@ -125,17 +125,17 @@
|
|
|
125
125
|
.rt-SliderRoot:where(.rt-variant-surface) {
|
|
126
126
|
& :where(.rt-SliderTrack) {
|
|
127
127
|
background-color: var(--gray-a3);
|
|
128
|
-
box-shadow: inset 0 0 0
|
|
128
|
+
box-shadow: inset 0 0 0 var(--border-width-standard) var(--gray-a5);
|
|
129
129
|
|
|
130
130
|
&:where([data-disabled]) {
|
|
131
|
-
box-shadow: inset 0 0 0
|
|
131
|
+
box-shadow: inset 0 0 0 var(--border-width-standard) var(--gray-a4);
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
& :where(.rt-SliderRange) {
|
|
136
136
|
background-color: var(--accent-track);
|
|
137
137
|
background-image: var(--slider-range-high-contrast-background-image);
|
|
138
|
-
box-shadow: inset 0 0 0
|
|
138
|
+
box-shadow: inset 0 0 0 var(--border-width-standard) var(--gray-a5);
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
& :where(.rt-SliderThumb) {
|
|
@@ -160,21 +160,21 @@
|
|
|
160
160
|
inset: 0;
|
|
161
161
|
position: absolute;
|
|
162
162
|
border-radius: inherit;
|
|
163
|
-
box-shadow: var(--shadow-
|
|
163
|
+
box-shadow: var(--classic-inset-shadow-dark);
|
|
164
164
|
}
|
|
165
165
|
&:where([data-disabled])::before {
|
|
166
|
-
opacity:
|
|
166
|
+
opacity: var(--opacity-disabled);
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
& :where(.rt-SliderRange) {
|
|
171
171
|
background-color: var(--accent-track);
|
|
172
172
|
background-image: var(--slider-range-high-contrast-background-image);
|
|
173
|
-
box-shadow: inset 0 0 0
|
|
174
|
-
inset 0
|
|
173
|
+
box-shadow: inset 0 0 0 var(--border-width-standard) var(--gray-a3), inset 0 0 0 var(--border-width-standard) var(--accent-a4), inset 0 0 0 var(--border-width-standard) var(--black-a1),
|
|
174
|
+
inset 0 var(--slider-classic-inset-offset) 2px 0 var(--black-a2);
|
|
175
175
|
|
|
176
176
|
&:where(.rt-high-contrast) {
|
|
177
|
-
box-shadow: inset 0 0 0
|
|
177
|
+
box-shadow: inset 0 0 0 var(--border-width-standard) var(--gray-a3), inset 0 0 0 var(--border-width-standard) var(--black-a2), inset 0 var(--slider-classic-inset-offset) 2px 0 var(--black-a2);
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
|
|
@@ -197,21 +197,21 @@
|
|
|
197
197
|
&::before {
|
|
198
198
|
background-image: linear-gradient(to right, var(--accent-track) 40%, transparent 60%);
|
|
199
199
|
background-color: var(--gray-a4);
|
|
200
|
-
box-shadow: var(--shadow-
|
|
200
|
+
box-shadow: var(--classic-inset-shadow-dark);
|
|
201
201
|
}
|
|
202
202
|
&:where([data-state='unchecked']:active)::before {
|
|
203
203
|
background-color: var(--gray-a5);
|
|
204
204
|
}
|
|
205
205
|
&:where([data-state='checked'])::before {
|
|
206
|
-
box-shadow: inset 0 0 0
|
|
207
|
-
inset 0
|
|
206
|
+
box-shadow: inset 0 0 0 var(--border-width-standard) var(--gray-a3), inset 0 0 0 var(--border-width-standard) var(--accent-a4), inset 0 0 0 var(--border-width-standard) var(--black-a1),
|
|
207
|
+
inset 0 var(--slider-classic-inset-offset) 2px 0 var(--black-a2);
|
|
208
208
|
}
|
|
209
209
|
&:where([data-state='checked']:active)::before {
|
|
210
210
|
filter: var(--switch-surface-checked-active-filter);
|
|
211
211
|
}
|
|
212
212
|
&:where(.rt-high-contrast) {
|
|
213
213
|
&::before {
|
|
214
|
-
box-shadow: inset 0 0 0
|
|
214
|
+
box-shadow: inset 0 0 0 var(--border-width-standard) var(--gray-a3), inset 0 0 0 var(--border-width-standard) var(--black-a2), inset 0 var(--slider-classic-inset-offset) 2px 0 var(--black-a2);
|
|
215
215
|
|
|
216
216
|
/* prettier-ignore */
|
|
217
217
|
background-image:
|
|
@@ -229,8 +229,8 @@
|
|
|
229
229
|
filter: none;
|
|
230
230
|
background-image: none;
|
|
231
231
|
background-color: var(--gray-a5);
|
|
232
|
-
box-shadow: var(--shadow-
|
|
233
|
-
opacity:
|
|
232
|
+
box-shadow: var(--classic-inset-shadow-dark);
|
|
233
|
+
opacity: var(--opacity-disabled);
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
236
|
|
|
@@ -209,11 +209,11 @@
|
|
|
209
209
|
|
|
210
210
|
/* 3D inset effect - same as TextField */
|
|
211
211
|
/* prettier-ignore */
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
212
|
+
box-shadow:
|
|
213
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-small) / 1.5) var(--gray-a4),
|
|
214
|
+
inset 0 calc(-1 * var(--classic-border-width)) var(--gray-a2),
|
|
215
|
+
inset 0 calc(var(--classic-border-width) * 2) calc(var(--classic-shadow-blur-medium) / 3) var(--gray-a3),
|
|
216
|
+
0 0 0 var(--classic-border-width) var(--gray-a5);
|
|
217
217
|
|
|
218
218
|
/* Theme-level translucent override */
|
|
219
219
|
:where([data-panel-background='translucent']) & {
|
|
@@ -235,11 +235,11 @@
|
|
|
235
235
|
@media (hover: hover) {
|
|
236
236
|
&:where(:hover:not(:has(.rt-TextAreaInput:focus))) {
|
|
237
237
|
/* prettier-ignore */
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
238
|
+
box-shadow:
|
|
239
|
+
inset 0 calc(var(--classic-border-width) / 1.5) calc(var(--classic-shadow-blur-small) / 2) var(--gray-a3),
|
|
240
|
+
inset 0 calc(-1 * var(--classic-border-width) / 1.5) var(--gray-a2),
|
|
241
|
+
inset 0 var(--classic-border-width) calc(var(--classic-shadow-blur-medium) / 4) var(--gray-a3),
|
|
242
|
+
0 0 0 var(--classic-border-width) var(--gray-a6);
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
245
|
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
&:where(:has(.rt-TextAreaInput:focus)) {
|
|
248
248
|
/* prettier-ignore */
|
|
249
249
|
box-shadow:
|
|
250
|
-
inset 0 calc(var(--classic-border-width) / 2) calc(var(--classic-shadow-blur-small) / 3) var(--gray-
|
|
250
|
+
inset 0 calc(var(--classic-border-width) / 2) calc(var(--classic-shadow-blur-small) / 3) var(--gray-a2),
|
|
251
251
|
0 0 0 2px var(--focus-8);
|
|
252
252
|
}
|
|
253
253
|
|
|
@@ -383,6 +383,11 @@
|
|
|
383
383
|
backdrop-filter: var(--backdrop-filter-components);
|
|
384
384
|
--backdrop-filter-components: blur(var(--backdrop-blur-components));
|
|
385
385
|
}
|
|
386
|
+
|
|
387
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
388
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
389
|
+
backdrop-filter: none !important;
|
|
390
|
+
}
|
|
386
391
|
}
|
|
387
392
|
}
|
|
388
393
|
|
|
@@ -407,6 +412,11 @@
|
|
|
407
412
|
background-color: var(--accent-a2);
|
|
408
413
|
backdrop-filter: var(--backdrop-filter-components);
|
|
409
414
|
}
|
|
415
|
+
|
|
416
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
417
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
418
|
+
backdrop-filter: none !important;
|
|
419
|
+
}
|
|
410
420
|
}
|
|
411
421
|
|
|
412
422
|
/* prettier-ignore */
|
|
@@ -476,6 +486,11 @@
|
|
|
476
486
|
backdrop-filter: var(--backdrop-filter-components);
|
|
477
487
|
--backdrop-filter-components: blur(var(--backdrop-blur-components));
|
|
478
488
|
}
|
|
489
|
+
|
|
490
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
491
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
492
|
+
backdrop-filter: none !important;
|
|
493
|
+
}
|
|
479
494
|
}
|
|
480
495
|
}
|
|
481
496
|
|
|
@@ -504,6 +519,11 @@
|
|
|
504
519
|
box-shadow: inset 0 0 0 var(--text-area-border-width) var(--accent-a8);
|
|
505
520
|
backdrop-filter: var(--backdrop-filter-components);
|
|
506
521
|
}
|
|
522
|
+
|
|
523
|
+
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
524
|
+
:where(.rt-PopoverContent, .rt-BaseDialogContent, .rt-BaseMenuContent, .rt-DropdownMenuContent, .rt-ContextMenuContent, .rt-AlertDialogContent, .rt-HoverCardContent, .rt-TooltipContent, .rt-Card) & {
|
|
525
|
+
backdrop-filter: none !important;
|
|
526
|
+
}
|
|
507
527
|
}
|
|
508
528
|
|
|
509
529
|
/* prettier-ignore */
|