@dorsk/tsumikit 0.78.0 → 0.79.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/dist/components/atoms/Artwork.svelte +5 -3
- package/dist/components/atoms/Badge.svelte +1 -1
- package/dist/components/atoms/Button.svelte +24 -8
- package/dist/components/atoms/Card.svelte +18 -12
- package/dist/components/atoms/Checkbox.svelte +4 -2
- package/dist/components/atoms/Gauge.svelte +2 -2
- package/dist/components/atoms/Input.svelte +6 -3
- package/dist/components/atoms/Kbd.svelte +1 -1
- package/dist/components/atoms/Progress.svelte +1 -1
- package/dist/components/atoms/SegmentedProgress.svelte +2 -2
- package/dist/components/atoms/Select.svelte +9 -3
- package/dist/components/atoms/Slider.svelte +8 -6
- package/dist/components/atoms/Swatch.svelte +1 -1
- package/dist/components/atoms/Switch.svelte +3 -2
- package/dist/components/atoms/Textarea.svelte +6 -3
- package/dist/components/layouts/AppShell.svelte +6 -6
- package/dist/components/layouts/MasterDetail.svelte +3 -3
- package/dist/components/layouts/NavBar.svelte +4 -4
- package/dist/components/layouts/NavSection.svelte +1 -1
- package/dist/components/layouts/ResizablePanel.svelte +7 -7
- package/dist/components/layouts/TabBar.svelte +2 -2
- package/dist/components/molecules/Accordion.svelte +2 -2
- package/dist/components/molecules/AttachmentList.svelte +2 -2
- package/dist/components/molecules/CapBar.svelte +2 -2
- package/dist/components/molecules/CodeBlock.svelte +5 -5
- package/dist/components/molecules/Combobox.svelte +3 -3
- package/dist/components/molecules/Drawer.svelte +8 -8
- package/dist/components/molecules/EmojiPicker.svelte +1 -1
- package/dist/components/molecules/FileButton.svelte +16 -4
- package/dist/components/molecules/FilterInput.svelte +4 -4
- package/dist/components/molecules/GitRef.svelte +2 -2
- package/dist/components/molecules/GlyphStack.svelte +21 -3
- package/dist/components/molecules/InputGroup.svelte +2 -2
- package/dist/components/molecules/Modal.svelte +5 -5
- package/dist/components/molecules/OptionButton.svelte +8 -3
- package/dist/components/molecules/Pagination.svelte +3 -1
- package/dist/components/molecules/Popover.svelte +18 -11
- package/dist/components/molecules/Prose.svelte +6 -6
- package/dist/components/molecules/RadialMenu.svelte +3 -3
- package/dist/components/molecules/RadioGroup.svelte +6 -4
- package/dist/components/molecules/RichSelect.svelte +6 -4
- package/dist/components/molecules/SectionHeader.svelte +1 -1
- package/dist/components/molecules/SeekSlider.svelte +6 -6
- package/dist/components/molecules/SegmentedControl.svelte +7 -7
- package/dist/components/molecules/SortableList.svelte +2 -2
- package/dist/components/molecules/SplitButton.svelte +1 -1
- package/dist/components/molecules/Tabs.svelte +3 -3
- package/dist/components/molecules/ThemePicker.svelte +1 -1
- package/dist/components/molecules/Timestamp.svelte +1 -1
- package/dist/components/molecules/Toggle.svelte +5 -3
- package/dist/components/molecules/Tooltip.svelte +2 -2
- package/dist/components/molecules/VolumeSlider.svelte +3 -3
- package/dist/components/organisms/ConversationFeed.svelte +1 -1
- package/dist/components/organisms/ConversationPanel.svelte +3 -3
- package/dist/components/organisms/DataTable.svelte +18 -16
- package/dist/styles/tokens.css +34 -0
- package/package.json +1 -1
|
@@ -102,13 +102,14 @@
|
|
|
102
102
|
justify-content: center;
|
|
103
103
|
overflow: hidden;
|
|
104
104
|
flex: none;
|
|
105
|
-
background: var(--
|
|
106
|
-
border:
|
|
105
|
+
background: var(--surface-fill-2);
|
|
106
|
+
border: var(--edge-width) solid var(--surface-edge);
|
|
107
107
|
color: var(--text-muted);
|
|
108
108
|
container-type: inline-size;
|
|
109
109
|
transition:
|
|
110
110
|
border-color var(--dur-fast) var(--ease),
|
|
111
111
|
box-shadow var(--dur-fast) var(--ease),
|
|
112
|
+
translate var(--dur-fast) var(--ease-out),
|
|
112
113
|
scale var(--dur-fast) var(--ease-out);
|
|
113
114
|
}
|
|
114
115
|
.r-sm {
|
|
@@ -125,8 +126,9 @@
|
|
|
125
126
|
}
|
|
126
127
|
@media (hover: hover) and (pointer: fine) {
|
|
127
128
|
.hover:hover {
|
|
128
|
-
border-color: var(--
|
|
129
|
+
border-color: var(--surface-edge-strong);
|
|
129
130
|
box-shadow: var(--shadow-md);
|
|
131
|
+
translate: 0 calc(-1 * var(--hover-lift));
|
|
130
132
|
}
|
|
131
133
|
}
|
|
132
134
|
.hover:active {
|
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
--icon-size: var(--icon-xs);
|
|
196
196
|
background: var(--badge-bg, var(--bg-elevated-2));
|
|
197
197
|
color: var(--badge-fg, var(--text-muted));
|
|
198
|
-
border:
|
|
198
|
+
border: var(--edge-width) solid var(--badge-border, var(--border));
|
|
199
199
|
white-space: nowrap;
|
|
200
200
|
max-width: var(--badge-max-width, 100%);
|
|
201
201
|
}
|
|
@@ -242,9 +242,12 @@
|
|
|
242
242
|
padding: var(--sp-2) var(--btn-px-md);
|
|
243
243
|
min-height: var(--btn-size, var(--control-height-default));
|
|
244
244
|
max-width: 100%;
|
|
245
|
-
border:
|
|
245
|
+
border: var(--edge-width) solid var(--btn-border, var(--btn-edge));
|
|
246
246
|
border-radius: var(--btn-radius, var(--r-md));
|
|
247
|
-
background: var(--btn-bg, var(--
|
|
247
|
+
background: var(--btn-bg, var(--btn-fill));
|
|
248
|
+
--btn-shadow-rest: var(--btn-shadow);
|
|
249
|
+
--btn-shadow-lift: var(--btn-shadow-hover);
|
|
250
|
+
box-shadow: var(--btn-shadow-rest);
|
|
248
251
|
color: var(--btn-fg, var(--text));
|
|
249
252
|
font-weight: var(--fw-medium);
|
|
250
253
|
font-size: var(--control-fs-md);
|
|
@@ -254,8 +257,10 @@
|
|
|
254
257
|
transition:
|
|
255
258
|
background var(--dur-fast) ease,
|
|
256
259
|
border-color var(--dur-fast) ease,
|
|
260
|
+
box-shadow var(--dur-fast) ease,
|
|
257
261
|
color var(--dur-fast) ease,
|
|
258
262
|
opacity var(--dur-fast) ease,
|
|
263
|
+
translate var(--dur-fast) var(--ease-out),
|
|
259
264
|
scale var(--btn-scale-dur) var(--ease-out);
|
|
260
265
|
user-select: none;
|
|
261
266
|
white-space: normal;
|
|
@@ -265,6 +270,9 @@
|
|
|
265
270
|
opacity: var(--disabled-opacity);
|
|
266
271
|
cursor: not-allowed;
|
|
267
272
|
}
|
|
273
|
+
.btn:focus-visible:not(.btn-link, .btn-icon-inline, [aria-pressed='true']) {
|
|
274
|
+
box-shadow: var(--btn-shadow-rest), var(--focus-glow);
|
|
275
|
+
}
|
|
268
276
|
/* Press: scale in over --dur-press, release over --dur-fast. */
|
|
269
277
|
.btn:active:not(:disabled, [aria-disabled='true'], .loading, .btn-link) {
|
|
270
278
|
--btn-scale-dur: var(--dur-press);
|
|
@@ -277,8 +285,10 @@
|
|
|
277
285
|
scale: var(--press-scale-sm);
|
|
278
286
|
}
|
|
279
287
|
.btn-primary {
|
|
280
|
-
background: var(--btn-bg, var(--
|
|
281
|
-
border-color: var(--btn-border, var(--
|
|
288
|
+
background: var(--btn-bg, var(--btn-primary-fill));
|
|
289
|
+
border-color: var(--btn-border, var(--btn-primary-edge));
|
|
290
|
+
--btn-shadow-rest: var(--btn-primary-shadow);
|
|
291
|
+
--btn-shadow-lift: var(--btn-primary-shadow-hover);
|
|
282
292
|
color: var(--btn-fg, var(--text-on-accent));
|
|
283
293
|
font-weight: var(--fw-semibold);
|
|
284
294
|
}
|
|
@@ -289,6 +299,8 @@
|
|
|
289
299
|
.btn-ghost {
|
|
290
300
|
background: var(--btn-bg, transparent);
|
|
291
301
|
border-color: var(--btn-border, transparent);
|
|
302
|
+
--btn-shadow-rest: none;
|
|
303
|
+
--btn-shadow-lift: none;
|
|
292
304
|
}
|
|
293
305
|
.btn-sm {
|
|
294
306
|
min-height: var(--btn-size, var(--control-height-compact));
|
|
@@ -372,9 +384,9 @@
|
|
|
372
384
|
height: var(--btn-size, var(--control-height));
|
|
373
385
|
min-height: var(--btn-size, var(--control-height));
|
|
374
386
|
padding: 0 var(--control-px-md);
|
|
375
|
-
border:
|
|
387
|
+
border: var(--edge-width) solid var(--btn-border, var(--btn-edge));
|
|
376
388
|
border-radius: var(--btn-radius, var(--r-md));
|
|
377
|
-
background: var(--btn-bg, var(--
|
|
389
|
+
background: var(--btn-bg, var(--btn-fill));
|
|
378
390
|
color: var(--btn-fg, var(--text));
|
|
379
391
|
font-weight: var(--fw-medium);
|
|
380
392
|
font-size: var(--control-fs-md);
|
|
@@ -390,8 +402,8 @@
|
|
|
390
402
|
the primary action with the neutral --surface; restore the accent fill when
|
|
391
403
|
both are present. */
|
|
392
404
|
.btn-control.btn-primary {
|
|
393
|
-
background: var(--btn-bg, var(--
|
|
394
|
-
border-color: var(--btn-border, var(--
|
|
405
|
+
background: var(--btn-bg, var(--btn-primary-fill));
|
|
406
|
+
border-color: var(--btn-border, var(--btn-primary-edge));
|
|
395
407
|
color: var(--btn-fg, var(--text-on-accent));
|
|
396
408
|
}
|
|
397
409
|
.btn-control.btn-tone-success {
|
|
@@ -730,6 +742,8 @@
|
|
|
730
742
|
@media (hover: hover) and (pointer: fine) {
|
|
731
743
|
.btn:hover:not(:disabled) {
|
|
732
744
|
border-color: var(--accent);
|
|
745
|
+
translate: 0 calc(-1 * var(--hover-lift));
|
|
746
|
+
--btn-shadow-rest: var(--btn-shadow-lift);
|
|
733
747
|
}
|
|
734
748
|
.btn-primary:hover:not(:disabled) {
|
|
735
749
|
filter: brightness(1.08);
|
|
@@ -782,11 +796,13 @@
|
|
|
782
796
|
.btn-link:hover:not(:disabled) {
|
|
783
797
|
background: none;
|
|
784
798
|
border: none;
|
|
799
|
+
translate: none;
|
|
785
800
|
text-decoration: underline;
|
|
786
801
|
}
|
|
787
802
|
.btn-icon-inline:hover:not(:disabled) {
|
|
788
803
|
border: none;
|
|
789
804
|
background: none;
|
|
805
|
+
translate: none;
|
|
790
806
|
color: var(--text);
|
|
791
807
|
}
|
|
792
808
|
.btn-icon-inline.hover-danger:hover:not(:disabled) {
|
|
@@ -174,10 +174,12 @@
|
|
|
174
174
|
.card {
|
|
175
175
|
--card-pad: var(--sp-4);
|
|
176
176
|
min-width: 0;
|
|
177
|
-
background: var(--
|
|
177
|
+
background: var(--surface-fill);
|
|
178
178
|
--card-border-style: solid;
|
|
179
|
-
border:
|
|
179
|
+
border: var(--edge-width) var(--card-border-style) var(--surface-edge);
|
|
180
180
|
border-radius: var(--r-lg);
|
|
181
|
+
--card-shadow-rest: var(--surface-shadow);
|
|
182
|
+
box-shadow: var(--card-shadow-rest);
|
|
181
183
|
padding: var(--card-pad);
|
|
182
184
|
}
|
|
183
185
|
.card-gap {
|
|
@@ -194,10 +196,10 @@
|
|
|
194
196
|
padding: var(--card-pad);
|
|
195
197
|
}
|
|
196
198
|
.card-head {
|
|
197
|
-
border-bottom:
|
|
199
|
+
border-bottom: var(--edge-width) solid var(--surface-edge);
|
|
198
200
|
}
|
|
199
201
|
.card-foot {
|
|
200
|
-
border-top:
|
|
202
|
+
border-top: var(--edge-width) solid var(--surface-edge);
|
|
201
203
|
}
|
|
202
204
|
/* Theme-aware surface shade, selected by prop so it adapts across themes
|
|
203
205
|
instead of being overridden with app-level :global hacks. `base` is the
|
|
@@ -206,7 +208,7 @@
|
|
|
206
208
|
background: var(--surface);
|
|
207
209
|
}
|
|
208
210
|
.surface-sunken {
|
|
209
|
-
background: var(--
|
|
211
|
+
background: var(--surface-fill-2);
|
|
210
212
|
}
|
|
211
213
|
.border-dashed {
|
|
212
214
|
--card-border-style: dashed;
|
|
@@ -237,16 +239,19 @@
|
|
|
237
239
|
border-color var(--dur-fast) var(--ease),
|
|
238
240
|
background var(--dur-fast) var(--ease),
|
|
239
241
|
box-shadow var(--dur-fast) var(--ease),
|
|
242
|
+
translate var(--dur-fast) var(--ease-out),
|
|
240
243
|
scale var(--dur-fast) var(--ease-out);
|
|
241
244
|
}
|
|
242
245
|
.card-tap:active {
|
|
243
|
-
background: var(--
|
|
246
|
+
background: var(--surface-fill-2);
|
|
244
247
|
scale: var(--press-scale-lg);
|
|
245
248
|
transition-duration: var(--dur-press);
|
|
246
249
|
}
|
|
247
250
|
@media (hover: hover) and (pointer: fine) {
|
|
248
251
|
.card-tap:hover {
|
|
249
|
-
border-color: var(--
|
|
252
|
+
border-color: var(--surface-edge-strong);
|
|
253
|
+
translate: 0 calc(-1 * var(--hover-lift));
|
|
254
|
+
--card-shadow-rest: var(--surface-shadow-hover);
|
|
250
255
|
}
|
|
251
256
|
}
|
|
252
257
|
.card-max {
|
|
@@ -275,9 +280,10 @@
|
|
|
275
280
|
.card-warn,
|
|
276
281
|
.card-danger,
|
|
277
282
|
.card-info,
|
|
283
|
+
.card-accent,
|
|
278
284
|
.card-attention {
|
|
279
|
-
border-color: color-mix(in srgb, var(--card-tone) 55%, var(--
|
|
280
|
-
background: color-mix(in srgb, var(--card-tone) 8%, var(--
|
|
285
|
+
border-color: color-mix(in srgb, var(--card-tone) 55%, var(--surface-edge));
|
|
286
|
+
background: color-mix(in srgb, var(--card-tone) 8%, var(--surface-fill));
|
|
281
287
|
}
|
|
282
288
|
.card-attention {
|
|
283
289
|
background: var(--attention-bg);
|
|
@@ -291,8 +297,8 @@
|
|
|
291
297
|
/* Defaults; overridden inline by the stackY/stackX props. */
|
|
292
298
|
--stack-y: 8px;
|
|
293
299
|
--stack-x: 2px;
|
|
294
|
-
--stack-bg: var(--
|
|
295
|
-
--stack-border: var(--
|
|
300
|
+
--stack-bg: var(--surface-fill-2);
|
|
301
|
+
--stack-border: var(--surface-edge);
|
|
296
302
|
/* Reserve room for the two peeking layers so they aren't clipped. */
|
|
297
303
|
margin-right: calc(var(--stack-x) * 2);
|
|
298
304
|
margin-bottom: calc(var(--stack-y) * 2);
|
|
@@ -306,7 +312,7 @@
|
|
|
306
312
|
/* Opaque fill so each layer fully hides the one behind it — only the
|
|
307
313
|
bottom-right peek (and its single border line) stays visible. */
|
|
308
314
|
background: var(--stack-bg);
|
|
309
|
-
border:
|
|
315
|
+
border: var(--edge-width) var(--card-border-style) var(--stack-border);
|
|
310
316
|
}
|
|
311
317
|
/* Nearest back layer — sits just under the front surface. */
|
|
312
318
|
.card-stacked::before {
|
|
@@ -106,9 +106,10 @@
|
|
|
106
106
|
flex: none;
|
|
107
107
|
width: var(--cb-box, var(--chip-sm));
|
|
108
108
|
height: var(--cb-box, var(--chip-sm));
|
|
109
|
-
border:
|
|
109
|
+
border: var(--edge-width) solid var(--control-edge);
|
|
110
110
|
border-radius: var(--r-sm);
|
|
111
|
-
background: var(--
|
|
111
|
+
background: var(--control-fill);
|
|
112
|
+
box-shadow: var(--control-shadow);
|
|
112
113
|
transition:
|
|
113
114
|
background var(--dur-fast) var(--ease),
|
|
114
115
|
border-color var(--dur-fast) var(--ease),
|
|
@@ -158,6 +159,7 @@
|
|
|
158
159
|
input:focus-visible + .box {
|
|
159
160
|
outline: var(--focus-ring);
|
|
160
161
|
outline-offset: var(--focus-ring-offset);
|
|
162
|
+
box-shadow: var(--control-shadow), var(--focus-glow);
|
|
161
163
|
}
|
|
162
164
|
input[aria-invalid='true']:not(:checked):not(:indeterminate) + .box {
|
|
163
165
|
border-color: var(--danger);
|
|
@@ -108,9 +108,9 @@
|
|
|
108
108
|
height: var(--gauge-h, 1.25rem);
|
|
109
109
|
margin: 0;
|
|
110
110
|
padding: 0;
|
|
111
|
-
border:
|
|
111
|
+
border: var(--edge-width) solid var(--track-edge);
|
|
112
112
|
border-radius: var(--r-sm);
|
|
113
|
-
background: var(--
|
|
113
|
+
background: var(--track-fill);
|
|
114
114
|
overflow: visible;
|
|
115
115
|
color: inherit;
|
|
116
116
|
font: inherit;
|
|
@@ -142,9 +142,10 @@
|
|
|
142
142
|
padding: var(--sp-2) var(--control-px-md);
|
|
143
143
|
font-size: var(--control-fs-md);
|
|
144
144
|
line-height: var(--lh-tight);
|
|
145
|
-
background: var(--input-bg, var(--
|
|
146
|
-
border:
|
|
145
|
+
background: var(--input-bg, var(--control-fill));
|
|
146
|
+
border: var(--edge-width) solid var(--input-border, var(--control-edge));
|
|
147
147
|
border-radius: var(--input-radius, var(--r-md));
|
|
148
|
+
box-shadow: var(--control-shadow);
|
|
148
149
|
color: var(--input-fg, var(--text));
|
|
149
150
|
transition: border-color var(--dur-fast) ease;
|
|
150
151
|
}
|
|
@@ -155,6 +156,7 @@
|
|
|
155
156
|
.input:focus-visible {
|
|
156
157
|
outline: var(--focus-ring);
|
|
157
158
|
outline-offset: var(--focus-ring-offset);
|
|
159
|
+
box-shadow: var(--control-shadow), var(--focus-glow);
|
|
158
160
|
}
|
|
159
161
|
.input:disabled {
|
|
160
162
|
opacity: var(--disabled-opacity);
|
|
@@ -216,6 +218,7 @@
|
|
|
216
218
|
}
|
|
217
219
|
.input.grouped:focus-visible {
|
|
218
220
|
outline: none;
|
|
221
|
+
box-shadow: var(--control-shadow);
|
|
219
222
|
}
|
|
220
223
|
.input.grouped:disabled {
|
|
221
224
|
opacity: 1;
|
|
@@ -296,7 +299,7 @@
|
|
|
296
299
|
}
|
|
297
300
|
@media (hover: hover) and (pointer: fine) {
|
|
298
301
|
.input:hover:not(:disabled, :focus, [aria-invalid='true']) {
|
|
299
|
-
border-color: var(--
|
|
302
|
+
border-color: var(--control-edge-hover);
|
|
300
303
|
}
|
|
301
304
|
.input-clear:hover {
|
|
302
305
|
color: var(--text);
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
font-size: inherit;
|
|
109
109
|
line-height: var(--lh-snug);
|
|
110
110
|
padding: 0 var(--sp-1);
|
|
111
|
-
border:
|
|
111
|
+
border: var(--edge-width) solid var(--border-strong);
|
|
112
112
|
border-bottom-width: 2px;
|
|
113
113
|
border-radius: var(--r-sm);
|
|
114
114
|
background: var(--bg-elevated-2);
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
flex: 0 1 0%;
|
|
169
169
|
min-width: 3px;
|
|
170
170
|
height: 100%;
|
|
171
|
-
background: var(--
|
|
171
|
+
background: var(--track-fill);
|
|
172
172
|
overflow: hidden;
|
|
173
173
|
}
|
|
174
174
|
.segment:first-child {
|
|
@@ -206,7 +206,7 @@
|
|
|
206
206
|
|
|
207
207
|
.stacked {
|
|
208
208
|
overflow: hidden;
|
|
209
|
-
background: var(--
|
|
209
|
+
background: var(--track-fill);
|
|
210
210
|
}
|
|
211
211
|
.stacked .segment {
|
|
212
212
|
min-width: 0;
|
|
@@ -217,9 +217,10 @@
|
|
|
217
217
|
padding: var(--sp-2) var(--control-px-md);
|
|
218
218
|
font-size: var(--control-fs-md);
|
|
219
219
|
line-height: var(--lh-tight);
|
|
220
|
-
background: var(--select-bg, var(--
|
|
221
|
-
border:
|
|
220
|
+
background: var(--select-bg, var(--control-fill));
|
|
221
|
+
border: var(--edge-width) solid var(--select-border, var(--control-edge));
|
|
222
222
|
border-radius: var(--select-radius, var(--r-md));
|
|
223
|
+
box-shadow: var(--control-shadow);
|
|
223
224
|
color: var(--select-fg, var(--text));
|
|
224
225
|
transition: border-color var(--dur-fast) ease;
|
|
225
226
|
}
|
|
@@ -261,11 +262,15 @@
|
|
|
261
262
|
background: var(--select-bg, var(--bg-elevated-2));
|
|
262
263
|
border: none;
|
|
263
264
|
border-radius: var(--select-radius, var(--r-sm));
|
|
265
|
+
box-shadow: none;
|
|
264
266
|
}
|
|
265
267
|
.select:focus {
|
|
266
268
|
outline: none;
|
|
267
269
|
border-color: var(--accent);
|
|
268
270
|
}
|
|
271
|
+
.select:focus-visible:not(.embedded, .ghost) {
|
|
272
|
+
box-shadow: var(--control-shadow), var(--focus-glow);
|
|
273
|
+
}
|
|
269
274
|
.select:focus-visible {
|
|
270
275
|
outline: var(--focus-ring);
|
|
271
276
|
outline-offset: var(--focus-ring-offset);
|
|
@@ -367,7 +372,7 @@
|
|
|
367
372
|
}
|
|
368
373
|
@media (hover: hover) and (pointer: fine) {
|
|
369
374
|
.select:hover:not(:disabled, :focus, [aria-invalid='true'], .ghost, .embedded) {
|
|
370
|
-
border-color: var(--
|
|
375
|
+
border-color: var(--control-edge-hover);
|
|
371
376
|
}
|
|
372
377
|
}
|
|
373
378
|
/* Transparent overlay: fills the positioned parent, the trigger shows through. */
|
|
@@ -380,6 +385,7 @@
|
|
|
380
385
|
opacity: 0;
|
|
381
386
|
border: none;
|
|
382
387
|
background: none;
|
|
388
|
+
box-shadow: none;
|
|
383
389
|
cursor: pointer;
|
|
384
390
|
}
|
|
385
391
|
</style>
|
|
@@ -210,13 +210,13 @@
|
|
|
210
210
|
background: linear-gradient(
|
|
211
211
|
to right,
|
|
212
212
|
var(--slider-accent, var(--accent)) var(--pct),
|
|
213
|
-
var(--
|
|
213
|
+
var(--track-fill) var(--pct)
|
|
214
214
|
);
|
|
215
215
|
}
|
|
216
216
|
input[type='range']::-moz-range-track {
|
|
217
217
|
height: var(--track);
|
|
218
218
|
border-radius: var(--r-pill);
|
|
219
|
-
background: var(--
|
|
219
|
+
background: var(--track-fill);
|
|
220
220
|
}
|
|
221
221
|
input[type='range']::-moz-range-progress {
|
|
222
222
|
height: var(--track);
|
|
@@ -233,7 +233,7 @@
|
|
|
233
233
|
border-radius: var(--r-pill);
|
|
234
234
|
background: var(--slider-accent, var(--accent));
|
|
235
235
|
border: 2px solid var(--bg);
|
|
236
|
-
box-shadow: var(--shadow
|
|
236
|
+
box-shadow: var(--thumb-shadow);
|
|
237
237
|
transition:
|
|
238
238
|
scale var(--dur-press) var(--ease-out),
|
|
239
239
|
box-shadow var(--dur-fast) var(--ease);
|
|
@@ -244,17 +244,17 @@
|
|
|
244
244
|
border-radius: var(--r-pill);
|
|
245
245
|
background: var(--slider-accent, var(--accent));
|
|
246
246
|
border: 2px solid var(--bg);
|
|
247
|
-
box-shadow: var(--shadow
|
|
247
|
+
box-shadow: var(--thumb-shadow);
|
|
248
248
|
transition:
|
|
249
249
|
scale var(--dur-press) var(--ease-out),
|
|
250
250
|
box-shadow var(--dur-fast) var(--ease);
|
|
251
251
|
}
|
|
252
252
|
@media (hover: hover) and (pointer: fine) {
|
|
253
253
|
input[type='range']:not(:disabled):hover::-webkit-slider-thumb {
|
|
254
|
-
box-shadow: var(--shadow
|
|
254
|
+
box-shadow: var(--thumb-shadow), var(--halo);
|
|
255
255
|
}
|
|
256
256
|
input[type='range']:not(:disabled):hover::-moz-range-thumb {
|
|
257
|
-
box-shadow: var(--shadow
|
|
257
|
+
box-shadow: var(--thumb-shadow), var(--halo);
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
input[type='range']:not(:disabled):active::-webkit-slider-thumb {
|
|
@@ -269,10 +269,12 @@
|
|
|
269
269
|
input[type='range']:focus-visible::-webkit-slider-thumb {
|
|
270
270
|
outline: var(--focus-ring);
|
|
271
271
|
outline-offset: var(--focus-ring-offset);
|
|
272
|
+
box-shadow: var(--thumb-shadow), var(--focus-glow);
|
|
272
273
|
}
|
|
273
274
|
input[type='range']:focus-visible::-moz-range-thumb {
|
|
274
275
|
outline: var(--focus-ring);
|
|
275
276
|
outline-offset: var(--focus-ring-offset);
|
|
277
|
+
box-shadow: var(--thumb-shadow), var(--focus-glow);
|
|
276
278
|
}
|
|
277
279
|
@media (pointer: coarse) {
|
|
278
280
|
input[type='range'] {
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
width: var(--sw-w);
|
|
87
87
|
height: var(--sw-h);
|
|
88
88
|
border-radius: var(--r-pill);
|
|
89
|
-
border:
|
|
90
|
-
background: var(--
|
|
89
|
+
border: var(--edge-width) solid var(--border-strong);
|
|
90
|
+
background: var(--track-fill);
|
|
91
91
|
padding: var(--sp-0-5);
|
|
92
92
|
display: flex;
|
|
93
93
|
align-items: center;
|
|
@@ -125,6 +125,7 @@
|
|
|
125
125
|
.switch:focus-visible {
|
|
126
126
|
outline: var(--focus-ring);
|
|
127
127
|
outline-offset: var(--focus-ring-offset);
|
|
128
|
+
box-shadow: var(--focus-glow);
|
|
128
129
|
}
|
|
129
130
|
.switch:disabled {
|
|
130
131
|
opacity: var(--disabled-opacity);
|
|
@@ -278,9 +278,10 @@
|
|
|
278
278
|
--sp-3 top+bottom would overshoot it and a `rows={1}` textarea would
|
|
279
279
|
render taller than the buttons it sits beside. */
|
|
280
280
|
padding: var(--sp-2) var(--control-px-md);
|
|
281
|
-
background: var(--textarea-bg, var(--
|
|
282
|
-
border:
|
|
281
|
+
background: var(--textarea-bg, var(--control-fill));
|
|
282
|
+
border: var(--edge-width) solid var(--textarea-border, var(--control-edge));
|
|
283
283
|
border-radius: var(--textarea-radius, var(--r-md));
|
|
284
|
+
box-shadow: var(--control-shadow);
|
|
284
285
|
color: var(--textarea-fg, var(--text));
|
|
285
286
|
transition: border-color var(--dur-fast) ease;
|
|
286
287
|
/* Custom handle replaces the native grip; never show the native one. */
|
|
@@ -299,6 +300,7 @@
|
|
|
299
300
|
.textarea:focus-visible {
|
|
300
301
|
outline: var(--focus-ring);
|
|
301
302
|
outline-offset: var(--focus-ring-offset);
|
|
303
|
+
box-shadow: var(--control-shadow), var(--focus-glow);
|
|
302
304
|
}
|
|
303
305
|
.textarea:disabled {
|
|
304
306
|
cursor: not-allowed;
|
|
@@ -347,6 +349,7 @@
|
|
|
347
349
|
}
|
|
348
350
|
.textarea.grouped:focus-visible {
|
|
349
351
|
outline: none;
|
|
352
|
+
box-shadow: var(--control-shadow);
|
|
350
353
|
}
|
|
351
354
|
.textarea.grouped.bar {
|
|
352
355
|
padding-inline: var(--ig-pad-x);
|
|
@@ -408,7 +411,7 @@
|
|
|
408
411
|
}
|
|
409
412
|
@media (hover: hover) and (pointer: fine) {
|
|
410
413
|
.textarea:hover:not(:disabled, :focus, [aria-invalid='true']) {
|
|
411
|
-
border-color: var(--
|
|
414
|
+
border-color: var(--control-edge-hover);
|
|
412
415
|
}
|
|
413
416
|
.resize-handle:hover::after {
|
|
414
417
|
background: var(--accent);
|
|
@@ -276,7 +276,7 @@
|
|
|
276
276
|
padding-top: var(--safe-top);
|
|
277
277
|
background: color-mix(in srgb, var(--bg) 88%, transparent);
|
|
278
278
|
backdrop-filter: blur(8px);
|
|
279
|
-
border-bottom:
|
|
279
|
+
border-bottom: var(--edge-width) solid var(--surface-edge);
|
|
280
280
|
}
|
|
281
281
|
.shell-header > :global(*) {
|
|
282
282
|
min-width: 0;
|
|
@@ -302,7 +302,7 @@
|
|
|
302
302
|
}
|
|
303
303
|
.shell-footer {
|
|
304
304
|
grid-area: footer;
|
|
305
|
-
border-top:
|
|
305
|
+
border-top: var(--edge-width) solid var(--surface-edge);
|
|
306
306
|
padding: var(--sp-4) max(var(--sp-4), var(--safe-right)) calc(var(--sp-4) + var(--safe-bottom))
|
|
307
307
|
max(var(--sp-4), var(--safe-left));
|
|
308
308
|
}
|
|
@@ -318,8 +318,8 @@
|
|
|
318
318
|
overflow-y: auto;
|
|
319
319
|
overflow-x: hidden; /* overflow-y:auto would otherwise make x auto too */
|
|
320
320
|
-webkit-overflow-scrolling: touch;
|
|
321
|
-
background: var(--
|
|
322
|
-
border-right:
|
|
321
|
+
background: var(--surface-fill);
|
|
322
|
+
border-right: var(--edge-width) solid var(--surface-edge);
|
|
323
323
|
--shell-sidebar-pad: var(--sp-3);
|
|
324
324
|
padding: var(--shell-sidebar-pad);
|
|
325
325
|
padding-top: max(var(--shell-sidebar-pad), var(--safe-top));
|
|
@@ -338,7 +338,7 @@
|
|
|
338
338
|
}
|
|
339
339
|
.shell-sidebar.open {
|
|
340
340
|
translate: 0 0;
|
|
341
|
-
box-shadow: var(--shadow
|
|
341
|
+
box-shadow: var(--overlay-shadow);
|
|
342
342
|
transition-duration: var(--dur-sheet);
|
|
343
343
|
}
|
|
344
344
|
.shell-scrim {
|
|
@@ -396,7 +396,7 @@
|
|
|
396
396
|
transition: none;
|
|
397
397
|
z-index: auto;
|
|
398
398
|
box-shadow: none;
|
|
399
|
-
border-right:
|
|
399
|
+
border-right: var(--edge-width) solid var(--surface-edge);
|
|
400
400
|
}
|
|
401
401
|
.shell.sticky-sidebar .shell-sidebar {
|
|
402
402
|
position: sticky;
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
class:selected
|
|
108
108
|
style="--md-list-w: {listWidth}; --md-gap: {gap}; --md-divider: {divider === 'none'
|
|
109
109
|
? 'none'
|
|
110
|
-
: '
|
|
110
|
+
: 'var(--edge-width) solid var(--surface-edge)'};{style ? ` ${style}` : ''}"
|
|
111
111
|
data-tsu="MasterDetail"
|
|
112
112
|
{...rest}
|
|
113
113
|
>
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
-webkit-overflow-scrolling: touch;
|
|
160
160
|
}
|
|
161
161
|
.md-list {
|
|
162
|
-
border-right: var(--md-divider,
|
|
162
|
+
border-right: var(--md-divider, var(--edge-width) solid var(--surface-edge));
|
|
163
163
|
}
|
|
164
164
|
.md-detail {
|
|
165
165
|
display: flex;
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
padding-inline: var(--sp-3);
|
|
181
181
|
background: color-mix(in srgb, var(--bg) 88%, transparent);
|
|
182
182
|
backdrop-filter: blur(8px);
|
|
183
|
-
border-bottom:
|
|
183
|
+
border-bottom: var(--edge-width) solid var(--surface-edge);
|
|
184
184
|
}
|
|
185
185
|
.md-detail-header-content {
|
|
186
186
|
flex: 1;
|
|
@@ -239,14 +239,14 @@
|
|
|
239
239
|
padding-inline: max(var(--safe-left), var(--sp-1)) max(var(--safe-right), var(--sp-1));
|
|
240
240
|
background: color-mix(in srgb, var(--bg-elevated) 88%, transparent);
|
|
241
241
|
backdrop-filter: blur(12px);
|
|
242
|
-
border-top:
|
|
242
|
+
border-top: var(--edge-width) solid var(--surface-edge);
|
|
243
243
|
}
|
|
244
244
|
.floating {
|
|
245
245
|
padding: var(--sp-1);
|
|
246
|
-
border:
|
|
246
|
+
border: var(--edge-width) solid var(--raised-edge);
|
|
247
247
|
border-radius: var(--r-md);
|
|
248
|
-
background: var(--
|
|
249
|
-
box-shadow: var(--shadow
|
|
248
|
+
background: var(--raised-fill);
|
|
249
|
+
box-shadow: var(--raised-shadow);
|
|
250
250
|
}
|
|
251
251
|
.bar.floating {
|
|
252
252
|
left: calc(var(--sp-2) + var(--safe-left));
|
|
@@ -401,8 +401,8 @@
|
|
|
401
401
|
min-width: 0;
|
|
402
402
|
min-height: 0;
|
|
403
403
|
width: var(--panel-current-width);
|
|
404
|
-
background: var(--
|
|
405
|
-
border-right:
|
|
404
|
+
background: var(--surface-fill);
|
|
405
|
+
border-right: var(--edge-width) solid var(--surface-edge);
|
|
406
406
|
transition:
|
|
407
407
|
width var(--dur-base) var(--ease),
|
|
408
408
|
box-shadow var(--dur-base) var(--ease);
|
|
@@ -414,7 +414,7 @@
|
|
|
414
414
|
grid-column: 2;
|
|
415
415
|
grid-row: 1;
|
|
416
416
|
border-right: 0;
|
|
417
|
-
border-left:
|
|
417
|
+
border-left: var(--edge-width) solid var(--surface-edge);
|
|
418
418
|
}
|
|
419
419
|
.main {
|
|
420
420
|
min-width: 0;
|
|
@@ -449,7 +449,7 @@
|
|
|
449
449
|
font: inherit;
|
|
450
450
|
font-size: var(--icon-sm);
|
|
451
451
|
background: transparent;
|
|
452
|
-
border:
|
|
452
|
+
border: var(--edge-width) solid transparent;
|
|
453
453
|
border-radius: var(--r-sm);
|
|
454
454
|
cursor: pointer;
|
|
455
455
|
transition:
|
|
@@ -475,7 +475,7 @@
|
|
|
475
475
|
.collapse-control:hover {
|
|
476
476
|
color: var(--text);
|
|
477
477
|
background: var(--bg-elevated-2);
|
|
478
|
-
border-color: var(--
|
|
478
|
+
border-color: var(--surface-edge);
|
|
479
479
|
}
|
|
480
480
|
}
|
|
481
481
|
.collapse-control:focus-visible,
|
|
@@ -547,7 +547,7 @@
|
|
|
547
547
|
left: 0;
|
|
548
548
|
z-index: 1;
|
|
549
549
|
width: min(var(--panel-current-width), 85cqw);
|
|
550
|
-
box-shadow: var(--shadow
|
|
550
|
+
box-shadow: var(--raised-shadow);
|
|
551
551
|
}
|
|
552
552
|
.right .panel {
|
|
553
553
|
right: 0;
|
|
@@ -581,7 +581,7 @@
|
|
|
581
581
|
left: 0;
|
|
582
582
|
z-index: var(--z-drawer);
|
|
583
583
|
width: min(var(--panel-current-width), 100%);
|
|
584
|
-
box-shadow: var(--shadow
|
|
584
|
+
box-shadow: var(--raised-shadow);
|
|
585
585
|
outline: none;
|
|
586
586
|
animation: panel-slide-left var(--dur-base) var(--ease);
|
|
587
587
|
}
|