@kushagradhawan/kookie-ui 0.1.22 → 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 +748 -612
- 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 +1 -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/badge.css +1 -1
- package/src/components/card.css +23 -60
- 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 +32 -32
- package/src/components/slider.css +19 -19
- package/src/components/switch.css +6 -6
- package/src/components/text-area.css +11 -11
- package/src/components/text-field.css +11 -11
- package/src/styles/tokens/constants.css +130 -15
- package/src/styles/tokens/transition.css +19 -0
- package/styles.css +827 -623
- package/tokens/base.css +8 -0
- package/tokens.css +79 -11
|
@@ -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);
|
|
@@ -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
|
|
|
@@ -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
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
:where(.radix-themes) {
|
|
8
8
|
/* Backdrop blur constants */
|
|
9
|
-
--backdrop-blur-panel:
|
|
9
|
+
--backdrop-blur-panel: 48px;
|
|
10
10
|
--backdrop-blur-components: 16px;
|
|
11
11
|
--backdrop-blur-heavy: 48px;
|
|
12
12
|
--backdrop-blur-light: 16px;
|
|
@@ -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;
|
|
@@ -45,11 +45,26 @@
|
|
|
45
45
|
font-weight var(--duration-2) var(--ease-2), letter-spacing var(--duration-2) var(--ease-2),
|
|
46
46
|
word-spacing var(--duration-2) var(--ease-2), transform var(--duration-1) var(--ease-1);
|
|
47
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);
|
|
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
|
}
|