@womp/kookie-ui 0.25.1 → 0.26.0
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 +229 -528
- package/dist/cjs/components/_internal/base-checkbox.props.d.ts +0 -6
- package/dist/cjs/components/_internal/base-checkbox.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
- package/dist/cjs/components/_internal/base-checkbox.props.js.map +3 -3
- package/dist/cjs/components/_internal/base-radio.props.d.ts +0 -6
- package/dist/cjs/components/_internal/base-radio.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-radio.props.js +1 -1
- package/dist/cjs/components/_internal/base-radio.props.js.map +3 -3
- package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-group.js +1 -1
- package/dist/cjs/components/checkbox-group.js.map +3 -3
- package/dist/cjs/components/checkbox-group.props.d.ts +0 -6
- package/dist/cjs/components/checkbox-group.props.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-group.props.js +1 -1
- package/dist/cjs/components/checkbox-group.props.js.map +3 -3
- package/dist/cjs/components/checkbox.js +1 -1
- package/dist/cjs/components/checkbox.js.map +3 -3
- package/dist/cjs/components/checkbox.props.js +1 -1
- package/dist/cjs/components/checkbox.props.js.map +3 -3
- package/dist/cjs/components/index.js +2 -2
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/components/radio-group.d.ts.map +1 -1
- package/dist/cjs/components/radio-group.js +1 -1
- package/dist/cjs/components/radio-group.js.map +4 -4
- package/dist/cjs/components/radio-group.props.d.ts +0 -6
- package/dist/cjs/components/radio-group.props.d.ts.map +1 -1
- package/dist/cjs/components/radio-group.props.js +1 -1
- package/dist/cjs/components/radio-group.props.js.map +4 -4
- package/dist/cjs/components/radio.js +1 -1
- package/dist/cjs/components/radio.js.map +3 -3
- package/dist/cjs/components/radio.props.js +1 -1
- package/dist/cjs/components/radio.props.js.map +3 -3
- package/dist/cjs/components/slider.js +1 -1
- package/dist/cjs/components/slider.js.map +3 -3
- package/dist/cjs/components/slider.props.d.ts +0 -6
- package/dist/cjs/components/slider.props.d.ts.map +1 -1
- package/dist/cjs/components/slider.props.js +1 -1
- package/dist/cjs/components/slider.props.js.map +3 -3
- package/dist/cjs/components/switch.js +1 -1
- package/dist/cjs/components/switch.js.map +3 -3
- package/dist/cjs/components/switch.props.d.ts +0 -6
- package/dist/cjs/components/switch.props.d.ts.map +1 -1
- package/dist/cjs/components/switch.props.js +1 -1
- package/dist/cjs/components/switch.props.js.map +3 -3
- package/dist/cjs/index.js +4 -4
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/chunk-37GC4A2O.js +3 -0
- package/dist/esm/chunk-37GC4A2O.js.map +7 -0
- package/dist/esm/chunk-4S5L25RO.js +3 -0
- package/dist/esm/chunk-4S5L25RO.js.map +7 -0
- package/dist/esm/chunk-6BB2A6VU.js +3 -0
- package/dist/esm/chunk-6BB2A6VU.js.map +7 -0
- package/dist/esm/chunk-CBWERXF4.js +3 -0
- package/dist/esm/chunk-CBWERXF4.js.map +7 -0
- package/dist/esm/{chunk-XPVRXQSW.js → chunk-FCKJD2PW.js} +2 -2
- package/dist/esm/chunk-HV7USGHD.js +3 -0
- package/dist/esm/chunk-HV7USGHD.js.map +7 -0
- package/dist/esm/chunk-IE5ACUZS.js +3 -0
- package/dist/esm/{chunk-ZDSY6CJL.js → chunk-JS23YQ4M.js} +2 -2
- package/dist/esm/chunk-M3NI3D6R.js +3 -0
- package/dist/esm/chunk-M3NI3D6R.js.map +7 -0
- package/dist/esm/{chunk-PZZJH2LR.js → chunk-NZCAGHCL.js} +2 -2
- package/dist/esm/chunk-R7THBMND.js +3 -0
- package/dist/esm/chunk-R7THBMND.js.map +7 -0
- package/dist/esm/{chunk-3CY6H4TE.js → chunk-YDBFIJHB.js} +2 -2
- package/dist/esm/components/_internal/base-checkbox.props.d.ts +0 -6
- package/dist/esm/components/_internal/base-checkbox.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
- package/dist/esm/components/_internal/base-radio.props.d.ts +0 -6
- package/dist/esm/components/_internal/base-radio.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-radio.props.js +1 -1
- package/dist/esm/components/checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/checkbox-group.js +1 -1
- package/dist/esm/components/checkbox-group.props.d.ts +0 -6
- package/dist/esm/components/checkbox-group.props.d.ts.map +1 -1
- package/dist/esm/components/checkbox-group.props.js +1 -1
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/checkbox.props.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/radio-group.d.ts.map +1 -1
- package/dist/esm/components/radio-group.js +1 -1
- package/dist/esm/components/radio-group.props.d.ts +0 -6
- package/dist/esm/components/radio-group.props.d.ts.map +1 -1
- package/dist/esm/components/radio-group.props.js +1 -1
- package/dist/esm/components/radio.js +1 -1
- package/dist/esm/components/radio.props.js +1 -1
- package/dist/esm/components/slider.js +1 -1
- package/dist/esm/components/slider.props.d.ts +0 -6
- package/dist/esm/components/slider.props.d.ts.map +1 -1
- package/dist/esm/components/slider.props.js +1 -1
- package/dist/esm/components/switch.js +1 -1
- package/dist/esm/components/switch.props.d.ts +0 -6
- package/dist/esm/components/switch.props.d.ts.map +1 -1
- package/dist/esm/components/switch.props.js +1 -1
- package/dist/esm/index.js +1 -1
- package/package.json +1 -1
- package/src/components/_internal/base-button.css +11 -5
- package/src/components/_internal/base-card.css +2 -2
- package/src/components/_internal/base-checkbox.css +39 -199
- package/src/components/_internal/base-checkbox.props.ts +0 -3
- package/src/components/_internal/base-dialog.css +1 -1
- package/src/components/_internal/base-menu.css +3 -2
- package/src/components/_internal/base-radio.css +38 -173
- package/src/components/_internal/base-radio.props.ts +0 -3
- package/src/components/accordion.css +2 -2
- package/src/components/avatar.css +2 -2
- package/src/components/chatbar.css +3 -4
- package/src/components/checkbox-group.css +1 -1
- package/src/components/checkbox-group.tsx +0 -2
- package/src/components/checkbox.css +1 -1
- package/src/components/chip.css +1 -1
- package/src/components/popover.css +1 -1
- package/src/components/radio-group.props.tsx +0 -5
- package/src/components/radio-group.tsx +0 -2
- package/src/components/segmented-control.css +4 -1
- package/src/components/select.css +14 -31
- package/src/components/shell.css +23 -18
- package/src/components/sidebar.css +20 -0
- package/src/components/slider.css +9 -40
- package/src/components/slider.props.tsx +0 -3
- package/src/components/switch.css +11 -52
- package/src/components/switch.props.tsx +0 -3
- package/src/components/text-area.css +16 -31
- package/src/components/text-field.css +16 -32
- package/src/components/toolbar.css +1 -1
- package/src/styles/tokens/color.css +31 -2
- package/src/styles/tokens/shadow.css +50 -122
- package/styles.css +274 -562
- package/tokens/base.css +45 -34
- package/tokens.css +45 -34
- package/dist/esm/chunk-2Z2I27ZS.js +0 -3
- package/dist/esm/chunk-2Z2I27ZS.js.map +0 -7
- package/dist/esm/chunk-AZHSPPBV.js +0 -3
- package/dist/esm/chunk-AZHSPPBV.js.map +0 -7
- package/dist/esm/chunk-BMKUGZ4I.js +0 -3
- package/dist/esm/chunk-FFJE25TJ.js +0 -3
- package/dist/esm/chunk-FFJE25TJ.js.map +0 -7
- package/dist/esm/chunk-FM3GBCX5.js +0 -3
- package/dist/esm/chunk-FM3GBCX5.js.map +0 -7
- package/dist/esm/chunk-N5H7C3PZ.js +0 -3
- package/dist/esm/chunk-N5H7C3PZ.js.map +0 -7
- package/dist/esm/chunk-RB5VHWAW.js +0 -3
- package/dist/esm/chunk-RB5VHWAW.js.map +0 -7
- package/dist/esm/chunk-ZFDHZEWN.js +0 -3
- package/dist/esm/chunk-ZFDHZEWN.js.map +0 -7
- /package/dist/esm/{chunk-XPVRXQSW.js.map → chunk-FCKJD2PW.js.map} +0 -0
- /package/dist/esm/{chunk-BMKUGZ4I.js.map → chunk-IE5ACUZS.js.map} +0 -0
- /package/dist/esm/{chunk-ZDSY6CJL.js.map → chunk-JS23YQ4M.js.map} +0 -0
- /package/dist/esm/{chunk-PZZJH2LR.js.map → chunk-NZCAGHCL.js.map} +0 -0
- /package/dist/esm/{chunk-3CY6H4TE.js.map → chunk-YDBFIJHB.js.map} +0 -0
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
:where(.kui-AccordionRoot:where(.kui-variant-raised)) {
|
|
32
32
|
background-color: var(--color-surface);
|
|
33
|
-
box-shadow: var(--
|
|
33
|
+
box-shadow: var(--surface-chrome);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
:where(.kui-AccordionRoot:where(.kui-variant-soft)) {
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
@media (hover: hover) {
|
|
159
159
|
:where(.kui-AccordionRoot:where(.kui-variant-raised):hover) {
|
|
160
160
|
background-color: var(--accent-2);
|
|
161
|
-
box-shadow: var(--
|
|
161
|
+
box-shadow: var(--surface-chrome);
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
|
|
@@ -389,7 +389,7 @@
|
|
|
389
389
|
top: 0;
|
|
390
390
|
color: var(--accent-ink);
|
|
391
391
|
background-color: var(--color-surface);
|
|
392
|
-
box-shadow: var(--
|
|
392
|
+
box-shadow: var(--control-chrome);
|
|
393
393
|
}
|
|
394
394
|
|
|
395
395
|
&:where([data-disabled]) :where(.kui-AvatarFallback) {
|
|
@@ -405,7 +405,7 @@
|
|
|
405
405
|
@media (hover: hover) {
|
|
406
406
|
&:where(:hover:not(:disabled, [data-disabled])) {
|
|
407
407
|
background-color: var(--neutral-2);
|
|
408
|
-
box-shadow: var(--
|
|
408
|
+
box-shadow: var(--control-chrome);
|
|
409
409
|
|
|
410
410
|
& :where(.kui-AvatarFallback) {
|
|
411
411
|
background-color: inherit;
|
|
@@ -387,26 +387,25 @@
|
|
|
387
387
|
* *
|
|
388
388
|
***************************************************************************************************/
|
|
389
389
|
|
|
390
|
-
/* Raised variant
|
|
390
|
+
/* Raised variant: a surface, as v2's composer is. It casts the surface role. */
|
|
391
391
|
.kui-ChatbarBox:where(.kui-variant-raised) {
|
|
392
392
|
--text-area-border-width: 0px;
|
|
393
393
|
--v-selection-color: var(--focus-a5);
|
|
394
394
|
--v-focus-color: var(--focus-8);
|
|
395
395
|
|
|
396
396
|
background-color: var(--color-surface);
|
|
397
|
-
box-shadow: var(--
|
|
397
|
+
box-shadow: var(--surface-chrome);
|
|
398
398
|
|
|
399
399
|
/* Hover effects */
|
|
400
400
|
@media (hover: hover) {
|
|
401
401
|
&:where(:hover:not(:focus-within)):where(:not(.kui-ChatbarRoot:is([data-disabled], [data-readonly]) *)) {
|
|
402
402
|
background-color: var(--accent-2);
|
|
403
|
-
box-shadow: var(--shadow-3);
|
|
404
403
|
}
|
|
405
404
|
}
|
|
406
405
|
|
|
407
406
|
/* Focus state - accent ring */
|
|
408
407
|
&:where(:focus-within) {
|
|
409
|
-
box-shadow: var(--
|
|
408
|
+
box-shadow: var(--surface-chrome), 0 0 0 2px var(--v-focus-color, var(--focus-8));
|
|
410
409
|
}
|
|
411
410
|
}
|
|
412
411
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
width: fit-content;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
/* The disabled cursor and colours live in the base mark
|
|
15
|
+
/* The disabled cursor and colours live in the base mark. */
|
|
16
16
|
.kui-CheckboxGroupItemCheckbox {
|
|
17
17
|
&:where(:focus-visible)::before {
|
|
18
18
|
outline: var(--focus-ring-width, 2px) solid var(--focus-8);
|
|
@@ -41,7 +41,6 @@ const CheckboxGroupRoot = React.forwardRef<CheckboxGroupRootElement, CheckboxGro
|
|
|
41
41
|
{
|
|
42
42
|
color = checkboxGroupRootPropDefs.color.default,
|
|
43
43
|
size: sizeProp,
|
|
44
|
-
variant = checkboxGroupRootPropDefs.variant.default,
|
|
45
44
|
...props
|
|
46
45
|
}: ScopedProps<CheckboxGroupRootProps>,
|
|
47
46
|
forwardedRef,
|
|
@@ -54,7 +53,6 @@ const CheckboxGroupRoot = React.forwardRef<CheckboxGroupRootElement, CheckboxGro
|
|
|
54
53
|
scope={__scopeCheckboxGroup}
|
|
55
54
|
color={color}
|
|
56
55
|
size={size}
|
|
57
|
-
variant={variant}
|
|
58
56
|
>
|
|
59
57
|
<CheckboxGroupPrimitive.Root
|
|
60
58
|
{...checkboxGroupScope}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@import './_internal/base-checkbox.css';
|
|
2
2
|
|
|
3
|
-
/* The disabled cursor and colours live in the base mark
|
|
3
|
+
/* The disabled cursor and colours live in the base mark. */
|
|
4
4
|
.kui-CheckboxRoot {
|
|
5
5
|
&:where(:focus-visible)::before {
|
|
6
6
|
outline: var(--focus-ring-width, 2px) solid var(--focus-8);
|
package/src/components/chip.css
CHANGED
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
position: relative;
|
|
151
151
|
top: var(--raised-elevation-offset);
|
|
152
152
|
color: var(--accent-ink);
|
|
153
|
-
box-shadow: var(--
|
|
153
|
+
box-shadow: var(--control-chrome);
|
|
154
154
|
|
|
155
155
|
--raised-surface: var(--color-surface);
|
|
156
156
|
background-color: var(--raised-surface);
|
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
import { baseRadioPropDefs } from './_internal/base-radio.props.js';
|
|
2
1
|
import { asChildPropDef } from '../props/as-child.prop.js';
|
|
3
2
|
import { colorPropDef } from '../props/color.prop.js';
|
|
4
3
|
|
|
5
4
|
import type { PropDef } from '../props/prop-def.js';
|
|
6
5
|
|
|
7
6
|
const sizes = ['1', '2', '3', '4'] as const;
|
|
8
|
-
// The same list as Radio: a group offers exactly what its items can draw.
|
|
9
|
-
const variants = baseRadioPropDefs.variant.values;
|
|
10
7
|
|
|
11
8
|
const radioGroupRootPropDefs = {
|
|
12
9
|
...asChildPropDef,
|
|
13
10
|
size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },
|
|
14
|
-
variant: { type: 'enum', className: 'kui-variant', values: variants, default: 'raised' },
|
|
15
11
|
...colorPropDef,
|
|
16
12
|
} satisfies {
|
|
17
13
|
size: PropDef<(typeof sizes)[number]>;
|
|
18
|
-
variant: PropDef<(typeof variants)[number]>;
|
|
19
14
|
};
|
|
20
15
|
|
|
21
16
|
export { radioGroupRootPropDefs };
|
|
@@ -39,7 +39,6 @@ const RadioGroupRoot = React.forwardRef<RadioGroupRootElement, RadioGroupRootPro
|
|
|
39
39
|
{
|
|
40
40
|
color = radioGroupRootPropDefs.color.default,
|
|
41
41
|
size: sizeProp,
|
|
42
|
-
variant = radioGroupRootPropDefs.variant.default,
|
|
43
42
|
...props
|
|
44
43
|
}: ScopedProps<RadioGroupRootProps>,
|
|
45
44
|
forwardedRef
|
|
@@ -52,7 +51,6 @@ const RadioGroupRoot = React.forwardRef<RadioGroupRootElement, RadioGroupRootPro
|
|
|
52
51
|
scope={__scopeRadioGroup}
|
|
53
52
|
color={color}
|
|
54
53
|
size={size}
|
|
55
|
-
variant={variant}
|
|
56
54
|
>
|
|
57
55
|
<RadioGroupPrimitive.Root
|
|
58
56
|
{...radioGroupScope}
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
position: absolute;
|
|
172
172
|
border-radius: max(calc(var(--border-width-standard) * 0.5), calc(var(--segmented-control-border-radius) - var(--border-width-standard)));
|
|
173
173
|
background-color: var(--segmented-control-indicator-background-color);
|
|
174
|
-
box-shadow: var(--
|
|
174
|
+
box-shadow: var(--control-chrome);
|
|
175
175
|
content: '';
|
|
176
176
|
}
|
|
177
177
|
|
|
@@ -472,7 +472,10 @@
|
|
|
472
472
|
.kui-SegmentedControlIndicator::before {
|
|
473
473
|
background-color: Highlight;
|
|
474
474
|
}
|
|
475
|
+
/* The browser paints a Canvas backplate behind forced text, which covered the chosen label
|
|
476
|
+
* with a white box. The chosen segment opts out and paints its own system pair. */
|
|
475
477
|
.kui-SegmentedControlItem:where([data-state='on']) {
|
|
478
|
+
forced-color-adjust: none;
|
|
476
479
|
color: HighlightText;
|
|
477
480
|
}
|
|
478
481
|
.kui-SegmentedControlRoot:where([data-disabled]),
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
overflow: hidden;
|
|
54
54
|
z-index: 200; /* Above dialogs (100) so select inside dialogs/sheets work */
|
|
55
55
|
background-color: var(--color-surface);
|
|
56
|
-
box-shadow: var(--
|
|
56
|
+
box-shadow: var(--floating-chrome);
|
|
57
57
|
|
|
58
58
|
&:where([data-side]) {
|
|
59
59
|
min-width: var(--radix-select-trigger-width);
|
|
@@ -194,14 +194,13 @@
|
|
|
194
194
|
* *
|
|
195
195
|
***************************************************************************************************/
|
|
196
196
|
|
|
197
|
-
/* raised */
|
|
197
|
+
/* raised: the default. A field, as in v2: a flat soft fill with a faint edge, no shadow. */
|
|
198
198
|
|
|
199
199
|
.kui-SelectTrigger:where(.kui-variant-raised) {
|
|
200
200
|
position: relative;
|
|
201
|
-
top: var(--raised-elevation-offset);
|
|
202
201
|
color: var(--accent-ink);
|
|
203
|
-
background-color: var(--
|
|
204
|
-
box-shadow: var(--
|
|
202
|
+
background-color: var(--field-fill);
|
|
203
|
+
box-shadow: var(--control-chrome);
|
|
205
204
|
|
|
206
205
|
&:where(:focus-visible) {
|
|
207
206
|
outline: 2px solid var(--focus-8);
|
|
@@ -210,26 +209,21 @@
|
|
|
210
209
|
|
|
211
210
|
@media (hover: hover) {
|
|
212
211
|
&:where(:hover:not(:disabled)) {
|
|
213
|
-
background-color: var(--
|
|
214
|
-
box-shadow: var(--shadow-2);
|
|
212
|
+
background-color: var(--field-fill-hover);
|
|
215
213
|
}
|
|
216
214
|
}
|
|
217
215
|
|
|
218
|
-
&:where([data-state='open'])
|
|
219
|
-
background-color: var(--accent-3);
|
|
220
|
-
}
|
|
221
|
-
|
|
216
|
+
&:where([data-state='open']),
|
|
222
217
|
&:where(:active:not([data-state='open'], [data-disabled])) {
|
|
223
|
-
background-color: var(--
|
|
218
|
+
background-color: var(--neutral-5);
|
|
224
219
|
}
|
|
225
220
|
|
|
226
221
|
&:where(:disabled) {
|
|
227
222
|
color: var(--neutral-a8);
|
|
228
|
-
background-color: var(--
|
|
229
|
-
box-shadow:
|
|
223
|
+
background-color: var(--field-fill-disabled);
|
|
224
|
+
box-shadow: inset 0 0 0 1px var(--field-edge-disabled);
|
|
230
225
|
outline: none;
|
|
231
226
|
cursor: default;
|
|
232
|
-
top: 0;
|
|
233
227
|
}
|
|
234
228
|
|
|
235
229
|
&:where([data-placeholder]) {
|
|
@@ -423,27 +417,16 @@
|
|
|
423
417
|
* Only the border and the focus ring move; the fill stays the variant's.
|
|
424
418
|
*/
|
|
425
419
|
.kui-SelectTrigger:where([aria-invalid='true']) {
|
|
426
|
-
|
|
427
|
-
box-shadow: inset 0 0 0 1px var(--red-6);
|
|
420
|
+
box-shadow: inset 0 0 0 1px var(--red-6);
|
|
428
421
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
box-shadow: inset 0 0 0 1px var(--red-7);
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
&:where([data-state='open'], :active) {
|
|
422
|
+
@media (hover: hover) {
|
|
423
|
+
&:where(:hover:not(:disabled)) {
|
|
435
424
|
box-shadow: inset 0 0 0 1px var(--red-7);
|
|
436
425
|
}
|
|
437
426
|
}
|
|
438
427
|
|
|
439
|
-
&:where(
|
|
440
|
-
box-shadow:
|
|
441
|
-
|
|
442
|
-
@media (hover: hover) {
|
|
443
|
-
&:where(:hover:not(:disabled)) {
|
|
444
|
-
box-shadow: var(--shadow-2), inset 0 0 0 1px var(--red-7);
|
|
445
|
-
}
|
|
446
|
-
}
|
|
428
|
+
&:where([data-state='open'], :active) {
|
|
429
|
+
box-shadow: inset 0 0 0 1px var(--red-7);
|
|
447
430
|
}
|
|
448
431
|
|
|
449
432
|
&:where(:focus-visible) {
|
package/src/components/shell.css
CHANGED
|
@@ -249,13 +249,18 @@
|
|
|
249
249
|
z-index: 1;
|
|
250
250
|
pointer-events: none;
|
|
251
251
|
|
|
252
|
-
& > :where(*)
|
|
253
|
-
& > :where(.kui-Toolbar) > :where(*) {
|
|
252
|
+
& > :where(*) {
|
|
254
253
|
pointer-events: auto;
|
|
255
254
|
}
|
|
255
|
+
/* A Toolbar spans the row, and so may a cluster inside it. pointer-events inherits, so the
|
|
256
|
+
Toolbar passes clicks through and only its controls and groups take them back: the empty
|
|
257
|
+
stretch between them lets clicks reach the content. */
|
|
256
258
|
& > :where(.kui-Toolbar) {
|
|
257
259
|
pointer-events: none;
|
|
258
260
|
}
|
|
261
|
+
& > :where(.kui-Toolbar) :where(.kui-ToolbarGroup, .kui-BaseButton, .kui-TextFieldRoot, .kui-SelectTrigger, .kui-SegmentedControlRoot, [href], [tabindex]) {
|
|
262
|
+
pointer-events: auto;
|
|
263
|
+
}
|
|
259
264
|
}
|
|
260
265
|
.kui-ShellPaneHeader[data-float] {
|
|
261
266
|
top: 0;
|
|
@@ -460,7 +465,7 @@
|
|
|
460
465
|
--kui-shell-row: 1 / -1;
|
|
461
466
|
--kui-shell-col: 1 / -1;
|
|
462
467
|
--kui-shell-surface: var(--color-surface);
|
|
463
|
-
--kui-shell-shadow: var(--
|
|
468
|
+
--kui-shell-shadow: var(--dialog-chrome);
|
|
464
469
|
--kui-shell-edge: 1px;
|
|
465
470
|
--kui-shell-cap: calc(100% - var(--space-9) - var(--kui-shell-start, 0px));
|
|
466
471
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -474,7 +479,7 @@
|
|
|
474
479
|
--kui-shell-row: 2 / 3;
|
|
475
480
|
--kui-shell-col: 1 / -1;
|
|
476
481
|
--kui-shell-surface: var(--color-surface);
|
|
477
|
-
--kui-shell-shadow: var(--
|
|
482
|
+
--kui-shell-shadow: var(--surface-chrome);
|
|
478
483
|
--kui-shell-edge: 1px;
|
|
479
484
|
--kui-shell-cap: initial;
|
|
480
485
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -507,7 +512,7 @@
|
|
|
507
512
|
--kui-shell-row: 1 / -1;
|
|
508
513
|
--kui-shell-col: 1 / -1;
|
|
509
514
|
--kui-shell-surface: var(--color-surface);
|
|
510
|
-
--kui-shell-shadow: var(--
|
|
515
|
+
--kui-shell-shadow: var(--dialog-chrome);
|
|
511
516
|
--kui-shell-edge: 1px;
|
|
512
517
|
--kui-shell-cap: calc(100% - var(--space-9) - var(--kui-shell-start, 0px));
|
|
513
518
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -521,7 +526,7 @@
|
|
|
521
526
|
--kui-shell-row: 2 / 3;
|
|
522
527
|
--kui-shell-col: 1 / -1;
|
|
523
528
|
--kui-shell-surface: var(--color-surface);
|
|
524
|
-
--kui-shell-shadow: var(--
|
|
529
|
+
--kui-shell-shadow: var(--surface-chrome);
|
|
525
530
|
--kui-shell-edge: 1px;
|
|
526
531
|
--kui-shell-cap: initial;
|
|
527
532
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -562,7 +567,7 @@
|
|
|
562
567
|
--kui-shell-row: 1 / -1;
|
|
563
568
|
--kui-shell-col: 1 / -1;
|
|
564
569
|
--kui-shell-surface: var(--color-surface);
|
|
565
|
-
--kui-shell-shadow: var(--
|
|
570
|
+
--kui-shell-shadow: var(--dialog-chrome);
|
|
566
571
|
--kui-shell-edge: 1px;
|
|
567
572
|
--kui-shell-cap: calc(100% - var(--space-9) - var(--kui-shell-start, 0px));
|
|
568
573
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -576,7 +581,7 @@
|
|
|
576
581
|
--kui-shell-row: 2 / 3;
|
|
577
582
|
--kui-shell-col: 1 / -1;
|
|
578
583
|
--kui-shell-surface: var(--color-surface);
|
|
579
|
-
--kui-shell-shadow: var(--
|
|
584
|
+
--kui-shell-shadow: var(--surface-chrome);
|
|
580
585
|
--kui-shell-edge: 1px;
|
|
581
586
|
--kui-shell-cap: initial;
|
|
582
587
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -618,7 +623,7 @@
|
|
|
618
623
|
--kui-shell-row: 1 / -1;
|
|
619
624
|
--kui-shell-col: 1 / -1;
|
|
620
625
|
--kui-shell-surface: var(--color-surface);
|
|
621
|
-
--kui-shell-shadow: var(--
|
|
626
|
+
--kui-shell-shadow: var(--dialog-chrome);
|
|
622
627
|
--kui-shell-edge: 1px;
|
|
623
628
|
--kui-shell-cap: calc(100% - var(--space-9) - var(--kui-shell-start, 0px));
|
|
624
629
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -632,7 +637,7 @@
|
|
|
632
637
|
--kui-shell-row: 2 / 3;
|
|
633
638
|
--kui-shell-col: 1 / -1;
|
|
634
639
|
--kui-shell-surface: var(--color-surface);
|
|
635
|
-
--kui-shell-shadow: var(--
|
|
640
|
+
--kui-shell-shadow: var(--surface-chrome);
|
|
636
641
|
--kui-shell-edge: 1px;
|
|
637
642
|
--kui-shell-cap: initial;
|
|
638
643
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -674,7 +679,7 @@
|
|
|
674
679
|
--kui-shell-row: 1 / -1;
|
|
675
680
|
--kui-shell-col: 1 / -1;
|
|
676
681
|
--kui-shell-surface: var(--color-surface);
|
|
677
|
-
--kui-shell-shadow: var(--
|
|
682
|
+
--kui-shell-shadow: var(--dialog-chrome);
|
|
678
683
|
--kui-shell-edge: 1px;
|
|
679
684
|
--kui-shell-cap: calc(100% - var(--space-9) - var(--kui-shell-start, 0px));
|
|
680
685
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -688,7 +693,7 @@
|
|
|
688
693
|
--kui-shell-row: 2 / 3;
|
|
689
694
|
--kui-shell-col: 1 / -1;
|
|
690
695
|
--kui-shell-surface: var(--color-surface);
|
|
691
|
-
--kui-shell-shadow: var(--
|
|
696
|
+
--kui-shell-shadow: var(--surface-chrome);
|
|
692
697
|
--kui-shell-edge: 1px;
|
|
693
698
|
--kui-shell-cap: initial;
|
|
694
699
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -730,7 +735,7 @@
|
|
|
730
735
|
--kui-shell-row: 1 / -1;
|
|
731
736
|
--kui-shell-col: 1 / -1;
|
|
732
737
|
--kui-shell-surface: var(--color-surface);
|
|
733
|
-
--kui-shell-shadow: var(--
|
|
738
|
+
--kui-shell-shadow: var(--dialog-chrome);
|
|
734
739
|
--kui-shell-edge: 1px;
|
|
735
740
|
--kui-shell-cap: calc(100% - var(--space-9) - var(--kui-shell-start, 0px));
|
|
736
741
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -744,7 +749,7 @@
|
|
|
744
749
|
--kui-shell-row: 2 / 3;
|
|
745
750
|
--kui-shell-col: 1 / -1;
|
|
746
751
|
--kui-shell-surface: var(--color-surface);
|
|
747
|
-
--kui-shell-shadow: var(--
|
|
752
|
+
--kui-shell-shadow: var(--surface-chrome);
|
|
748
753
|
--kui-shell-edge: 1px;
|
|
749
754
|
--kui-shell-cap: initial;
|
|
750
755
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -786,7 +791,7 @@
|
|
|
786
791
|
--kui-shell-row: 1 / -1;
|
|
787
792
|
--kui-shell-col: 1 / -1;
|
|
788
793
|
--kui-shell-surface: var(--color-surface);
|
|
789
|
-
--kui-shell-shadow: var(--
|
|
794
|
+
--kui-shell-shadow: var(--dialog-chrome);
|
|
790
795
|
--kui-shell-edge: 1px;
|
|
791
796
|
--kui-shell-cap: calc(100% - var(--space-9) - var(--kui-shell-start, 0px));
|
|
792
797
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -800,7 +805,7 @@
|
|
|
800
805
|
--kui-shell-row: 2 / 3;
|
|
801
806
|
--kui-shell-col: 1 / -1;
|
|
802
807
|
--kui-shell-surface: var(--color-surface);
|
|
803
|
-
--kui-shell-shadow: var(--
|
|
808
|
+
--kui-shell-shadow: var(--surface-chrome);
|
|
804
809
|
--kui-shell-edge: 1px;
|
|
805
810
|
--kui-shell-cap: initial;
|
|
806
811
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
@@ -834,7 +839,7 @@
|
|
|
834
839
|
--kui-shell-row: 2 / 3;
|
|
835
840
|
--kui-shell-col: 1 / -1;
|
|
836
841
|
--kui-shell-surface: var(--color-surface);
|
|
837
|
-
--kui-shell-shadow: var(--
|
|
842
|
+
--kui-shell-shadow: var(--surface-chrome);
|
|
838
843
|
--kui-shell-edge: 1px;
|
|
839
844
|
--kui-shell-offset: var(--shell-rail-offset, 0px);
|
|
840
845
|
--kui-shell-handle: none;
|
|
@@ -892,7 +897,7 @@
|
|
|
892
897
|
margin: var(--shell-inset-gap);
|
|
893
898
|
border-radius: var(--radius-surface-1);
|
|
894
899
|
background: var(--color-page);
|
|
895
|
-
box-shadow: var(--
|
|
900
|
+
box-shadow: var(--surface-chrome);
|
|
896
901
|
}
|
|
897
902
|
|
|
898
903
|
/*
|
|
@@ -337,6 +337,11 @@
|
|
|
337
337
|
& :where(.kui-SidebarMenuButton) {
|
|
338
338
|
flex: 1;
|
|
339
339
|
}
|
|
340
|
+
|
|
341
|
+
/* A Toolbar fills the header, so its leading and trailing groups sit at the two ends. */
|
|
342
|
+
& > :where(.kui-Toolbar) {
|
|
343
|
+
flex: 1;
|
|
344
|
+
}
|
|
340
345
|
}
|
|
341
346
|
|
|
342
347
|
.kui-SidebarFooter:where(.kui-SidebarFooter--container) {
|
|
@@ -351,6 +356,11 @@
|
|
|
351
356
|
& :where(.kui-SidebarMenuButton) {
|
|
352
357
|
flex: 1;
|
|
353
358
|
}
|
|
359
|
+
|
|
360
|
+
/* A Toolbar fills the footer, so its leading and trailing groups sit at the two ends. */
|
|
361
|
+
& > :where(.kui-Toolbar) {
|
|
362
|
+
flex: 1;
|
|
363
|
+
}
|
|
354
364
|
}
|
|
355
365
|
|
|
356
366
|
/* Header/Footer Menu Button Support */
|
|
@@ -954,3 +964,13 @@
|
|
|
954
964
|
color: var(--accent-solid-contrast);
|
|
955
965
|
}
|
|
956
966
|
}
|
|
967
|
+
|
|
968
|
+
/* High contrast drops background colours, so the current row lost its only mark. It takes the
|
|
969
|
+
* system highlight pair instead, as a chosen segment does. */
|
|
970
|
+
@media (forced-colors: active) {
|
|
971
|
+
.kui-SidebarMenuButton:where([data-active]) {
|
|
972
|
+
forced-color-adjust: none;
|
|
973
|
+
background-color: Highlight;
|
|
974
|
+
color: HighlightText;
|
|
975
|
+
}
|
|
976
|
+
}
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
inset: calc(var(--slider-thumb-inset-factor) * var(--slider-thumb-overshoot-base, var(--slider-track-size)) * -1);
|
|
82
82
|
background-color: var(--accent-solid-thumb);
|
|
83
83
|
border-radius: var(--slider-thumb-radius);
|
|
84
|
-
box-shadow: var(--slider-thumb-box-shadow, var(--
|
|
84
|
+
box-shadow: var(--slider-thumb-box-shadow, var(--grip-chrome));
|
|
85
85
|
cursor: pointer;
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -142,54 +142,23 @@
|
|
|
142
142
|
|
|
143
143
|
/***************************************************************************************************
|
|
144
144
|
* *
|
|
145
|
-
*
|
|
145
|
+
* THE LOOK *
|
|
146
146
|
* *
|
|
147
147
|
***************************************************************************************************/
|
|
148
148
|
|
|
149
|
-
/*
|
|
149
|
+
/* One look, as in v2. The track is the switch's well, a soft fill with no edge; the range is the
|
|
150
|
+
* accent solid; the thumb is the switch's grip. */
|
|
150
151
|
|
|
151
|
-
.kui-
|
|
152
|
-
|
|
153
|
-
background-color: var(--neutral-2);
|
|
154
|
-
box-shadow: inset 0 0 0 1px var(--neutral-6);
|
|
155
|
-
|
|
156
|
-
&:where([data-disabled]) {
|
|
157
|
-
box-shadow: inset 0 0 0 1px var(--neutral-5);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
& :where(.kui-SliderRange) {
|
|
162
|
-
background-color: var(--accent-solid);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/* soft */
|
|
167
|
-
|
|
168
|
-
.kui-SliderRoot:where(.kui-variant-soft) {
|
|
169
|
-
& :where(.kui-SliderTrack) {
|
|
170
|
-
background-color: var(--neutral-3);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
& :where(.kui-SliderRange) {
|
|
174
|
-
background-color: var(--accent-solid);
|
|
175
|
-
}
|
|
152
|
+
.kui-SliderTrack {
|
|
153
|
+
background-color: var(--color-track);
|
|
176
154
|
}
|
|
177
155
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
.kui-SliderRoot:where(.kui-variant-outline) {
|
|
181
|
-
& :where(.kui-SliderTrack) {
|
|
182
|
-
/* Base state: no background, just border */
|
|
183
|
-
box-shadow: inset 0 0 0 1px var(--neutral-6);
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
& :where(.kui-SliderRange) {
|
|
187
|
-
background-color: var(--accent-solid);
|
|
188
|
-
}
|
|
156
|
+
.kui-SliderRange {
|
|
157
|
+
background-color: var(--accent-solid);
|
|
189
158
|
}
|
|
190
159
|
|
|
191
160
|
/* all disabled Sliders: a colour remap, never opacity, and a default cursor.
|
|
192
|
-
* These come after
|
|
161
|
+
* These come after the look at the same specificity, so they win by order. */
|
|
193
162
|
|
|
194
163
|
[data-disabled] {
|
|
195
164
|
.kui-SliderRoot:where(&) {
|
|
@@ -4,18 +4,15 @@ import { radiusPropDef } from '../props/radius.prop.js';
|
|
|
4
4
|
import type { PropDef } from '../props/prop-def.js';
|
|
5
5
|
|
|
6
6
|
const sizes = ['1', '2', '3', '4'] as const;
|
|
7
|
-
const variants = ['surface', 'soft', 'outline'] as const;
|
|
8
7
|
|
|
9
8
|
const sliderPropDefs = {
|
|
10
9
|
size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },
|
|
11
|
-
variant: { type: 'enum', className: 'kui-variant', values: variants, default: 'surface' },
|
|
12
10
|
showTickLabels: { type: 'boolean' },
|
|
13
11
|
snapToTicks: { type: 'boolean' },
|
|
14
12
|
...colorPropDef,
|
|
15
13
|
...radiusPropDef,
|
|
16
14
|
} satisfies {
|
|
17
15
|
size: PropDef<(typeof sizes)[number]>;
|
|
18
|
-
variant: PropDef<(typeof variants)[number]>;
|
|
19
16
|
showTickLabels: PropDef<boolean>;
|
|
20
17
|
snapToTicks: PropDef<boolean>;
|
|
21
18
|
};
|
|
@@ -30,13 +30,14 @@
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
.kui-SwitchThumb {
|
|
33
|
-
|
|
33
|
+
/* The grip: the surface colour, near-white in dark. */
|
|
34
|
+
background-color: var(--color-thumb);
|
|
34
35
|
position: absolute;
|
|
35
36
|
inset-inline-start: var(--switch-thumb-inset);
|
|
36
37
|
width: var(--switch-thumb-size);
|
|
37
38
|
height: var(--switch-thumb-size);
|
|
38
39
|
border-radius: 9999px;
|
|
39
|
-
box-shadow: var(--
|
|
40
|
+
box-shadow: var(--grip-chrome);
|
|
40
41
|
|
|
41
42
|
&:where([data-state='checked']) {
|
|
42
43
|
background-color: var(--accent-solid-thumb);
|
|
@@ -82,75 +83,33 @@
|
|
|
82
83
|
|
|
83
84
|
/***************************************************************************************************
|
|
84
85
|
* *
|
|
85
|
-
*
|
|
86
|
+
* THE LOOK *
|
|
86
87
|
* *
|
|
87
88
|
***************************************************************************************************/
|
|
88
89
|
|
|
89
|
-
/*
|
|
90
|
+
/* One look, as in v2. Off, the track is a well: a soft fill with no edge. On, it is the accent
|
|
91
|
+
* solid. Hover is one step darker, press two. Disabled switches take neither. */
|
|
90
92
|
|
|
91
|
-
.kui-SwitchRoot
|
|
93
|
+
.kui-SwitchRoot {
|
|
92
94
|
&::before {
|
|
93
|
-
background-color: var(--
|
|
94
|
-
box-shadow: inset 0 0 0 1px var(--neutral-6);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
&:where([data-state='checked'])::before {
|
|
98
|
-
background-color: var(--accent-solid);
|
|
95
|
+
background-color: var(--color-track);
|
|
99
96
|
box-shadow: none;
|
|
100
97
|
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/* soft */
|
|
104
|
-
|
|
105
|
-
.kui-SwitchRoot:where(.kui-variant-soft) {
|
|
106
|
-
&::before {
|
|
107
|
-
background-color: var(--neutral-3);
|
|
108
|
-
}
|
|
109
98
|
|
|
110
99
|
&:where([data-state='checked'])::before {
|
|
111
100
|
background-color: var(--accent-solid);
|
|
112
101
|
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/* outline */
|
|
116
|
-
|
|
117
|
-
.kui-SwitchRoot:where(.kui-variant-outline) {
|
|
118
|
-
&::before {
|
|
119
|
-
/* Base state: no background, just border */
|
|
120
|
-
box-shadow: inset 0 0 0 1px var(--neutral-6);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
&:where([data-state='checked'])::before {
|
|
124
|
-
background-color: var(--accent-solid);
|
|
125
|
-
box-shadow: none;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/* Hover is one step up the variant's own ramp, press two. Disabled switches take neither. */
|
|
130
|
-
|
|
131
|
-
.kui-SwitchRoot {
|
|
132
|
-
--switch-off-hover: var(--neutral-a2);
|
|
133
|
-
--switch-off-active: var(--neutral-a3);
|
|
134
|
-
|
|
135
|
-
&:where(.kui-variant-surface) {
|
|
136
|
-
--switch-off-hover: var(--neutral-3);
|
|
137
|
-
--switch-off-active: var(--neutral-4);
|
|
138
|
-
}
|
|
139
|
-
&:where(.kui-variant-soft) {
|
|
140
|
-
--switch-off-hover: var(--neutral-4);
|
|
141
|
-
--switch-off-active: var(--neutral-5);
|
|
142
|
-
}
|
|
143
102
|
|
|
144
103
|
@media (hover: hover) {
|
|
145
104
|
&:where(:hover:not([data-disabled]))::before {
|
|
146
|
-
background-color: var(--
|
|
105
|
+
background-color: var(--color-track-hover);
|
|
147
106
|
}
|
|
148
107
|
&:where(:hover:not([data-disabled]):is([data-state='checked']))::before {
|
|
149
108
|
background-color: var(--accent-solid-hover);
|
|
150
109
|
}
|
|
151
110
|
}
|
|
152
111
|
&:where(:active:not([data-disabled]))::before {
|
|
153
|
-
background-color: var(--
|
|
112
|
+
background-color: var(--color-track-active);
|
|
154
113
|
}
|
|
155
114
|
&:where(:active:not([data-disabled]):is([data-state='checked']))::before {
|
|
156
115
|
background-color: var(--accent-solid-active);
|
|
@@ -158,7 +117,7 @@
|
|
|
158
117
|
}
|
|
159
118
|
|
|
160
119
|
/* all disabled Switches: a colour remap, never opacity, and a default cursor.
|
|
161
|
-
* These come after
|
|
120
|
+
* These come after the look at the same specificity, so they win by order. */
|
|
162
121
|
|
|
163
122
|
[data-disabled] {
|
|
164
123
|
.kui-SwitchRoot:where(&) {
|