@surflane/ui 0.1.0 → 0.3.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/README.md +8 -8
- package/dist/advanced-forms.d.ts +2 -2
- package/dist/advanced-forms.js +39 -39
- package/dist/app-shell.d.ts +3 -2
- package/dist/app-shell.js +29 -13
- package/dist/button.d.ts +5 -5
- package/dist/button.js +12 -12
- package/dist/chart.d.ts +3 -3
- package/dist/chart.js +36 -34
- package/dist/commands.d.ts +5 -5
- package/dist/commands.js +17 -17
- package/dist/content.d.ts +2 -2
- package/dist/content.js +66 -28
- package/dist/context-overlays.d.ts +3 -3
- package/dist/context-overlays.js +11 -11
- package/dist/data.d.ts +58 -13
- package/dist/data.js +63 -21
- package/dist/date-picker.d.ts +8 -8
- package/dist/date-picker.js +18 -18
- package/dist/dialog-focus.js +7 -7
- package/dist/dialog.d.ts +5 -5
- package/dist/dialog.js +16 -16
- package/dist/feedback.d.ts +5 -5
- package/dist/feedback.js +20 -20
- package/dist/file-upload.d.ts +9 -9
- package/dist/file-upload.js +64 -63
- package/dist/filter-bar.d.ts +1 -1
- package/dist/filter-bar.js +9 -9
- package/dist/form-state.d.ts +1 -1
- package/dist/form-state.js +11 -11
- package/dist/forms.d.ts +5 -5
- package/dist/forms.js +32 -32
- package/dist/foundations.d.ts +10 -10
- package/dist/foundations.js +26 -26
- package/dist/icon.d.ts +8 -7
- package/dist/icon.js +23 -22
- package/dist/index.d.ts +38 -37
- package/dist/index.js +39 -38
- package/dist/input-extensions.d.ts +3 -3
- package/dist/input-extensions.js +21 -21
- package/dist/input.d.ts +2 -2
- package/dist/input.js +7 -7
- package/dist/markdown.d.ts +2 -2
- package/dist/markdown.js +38 -38
- package/dist/menu.d.ts +2 -2
- package/dist/menu.js +19 -19
- package/dist/messages.d.ts +2 -2
- package/dist/messages.js +18 -18
- package/dist/navigation-menu.d.ts +2 -2
- package/dist/navigation-menu.js +16 -16
- package/dist/navigation.d.ts +5 -5
- package/dist/navigation.js +40 -40
- package/dist/otp-field.d.ts +1 -1
- package/dist/otp-field.js +14 -14
- package/dist/pagination.d.ts +2 -2
- package/dist/pagination.js +12 -12
- package/dist/panels.d.ts +8 -8
- package/dist/panels.js +39 -39
- package/dist/parts.d.ts +2 -2
- package/dist/parts.js +8 -8
- package/dist/popover.d.ts +3 -3
- package/dist/popover.js +6 -6
- package/dist/scroll-area.d.ts +1 -1
- package/dist/scroll-area.js +20 -20
- package/dist/select.d.ts +8 -8
- package/dist/select.js +21 -21
- package/dist/sizing.d.ts +3 -3
- package/dist/sizing.js +9 -9
- package/dist/slot.d.ts +1 -1
- package/dist/slot.js +4 -4
- package/dist/status.d.ts +4 -4
- package/dist/status.js +8 -8
- package/dist/syntax-engine.js +43 -43
- package/dist/syntax-highlighter.d.ts +2 -2
- package/dist/syntax-highlighter.js +32 -32
- package/dist/table-selection.d.ts +31 -0
- package/dist/table-selection.js +50 -0
- package/dist/toast.d.ts +4 -4
- package/dist/toast.js +33 -33
- package/dist/tone-transition.d.ts +1 -1
- package/dist/tone-transition.js +17 -17
- package/dist/tooltip.d.ts +1 -1
- package/dist/tooltip.js +4 -4
- package/dist/tree.d.ts +4 -4
- package/dist/tree.js +60 -60
- package/package.json +2 -2
- package/src/styles.css +266 -142
package/src/styles.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
@import
|
|
2
|
-
@import
|
|
1
|
+
@import '@surflane/design-tokens/foundations.css';
|
|
2
|
+
@import '@surflane/design-tokens/presentation.css';
|
|
3
3
|
|
|
4
4
|
/* Explicit component classes: no utility framework or application-wide reset. */
|
|
5
5
|
.pui-control,
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
color: var(--control-placeholder);
|
|
34
34
|
opacity: 1;
|
|
35
35
|
}
|
|
36
|
-
.pui-input:hover:not(:disabled, [aria-disabled=
|
|
36
|
+
.pui-input:hover:not(:disabled, [aria-disabled='true'], [readonly], :focus),
|
|
37
37
|
.pui-select-trigger:hover:not(
|
|
38
38
|
:disabled,
|
|
39
|
-
[aria-disabled=
|
|
39
|
+
[aria-disabled='true'],
|
|
40
40
|
:focus-visible
|
|
41
41
|
) {
|
|
42
42
|
background: var(--control-hover-background);
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
cursor: not-allowed;
|
|
56
56
|
background: var(--control-disabled-background);
|
|
57
57
|
}
|
|
58
|
-
.pui-input[aria-invalid=
|
|
59
|
-
.pui-select-trigger[aria-invalid=
|
|
58
|
+
.pui-input[aria-invalid='true'],
|
|
59
|
+
.pui-select-trigger[aria-invalid='true'] {
|
|
60
60
|
border-color: var(--status-danger-fg);
|
|
61
61
|
}
|
|
62
62
|
.pui-control-icon {
|
|
@@ -187,27 +187,38 @@
|
|
|
187
187
|
text-decoration: none;
|
|
188
188
|
cursor: pointer;
|
|
189
189
|
}
|
|
190
|
-
.pui-button:is([data-variant=
|
|
190
|
+
.pui-button:is([data-variant='default'], [data-variant='primary']) {
|
|
191
|
+
/* On the brand fill the layer is its ink: light ink barely moves bright cyan. */
|
|
192
|
+
--interaction-hover-bg: oklch(from var(--on-brand) l c h / 0.08);
|
|
193
|
+
--interaction-active-bg: oklch(from var(--on-brand) l c h / 0.14);
|
|
191
194
|
background: var(--brand);
|
|
192
195
|
border-color: transparent;
|
|
193
196
|
color: var(--on-brand);
|
|
194
197
|
}
|
|
195
|
-
.pui-button[data-variant=
|
|
198
|
+
.pui-button[data-variant='outline'] {
|
|
196
199
|
border-color: var(--line);
|
|
197
200
|
background: transparent;
|
|
198
201
|
}
|
|
199
|
-
.pui-button[data-variant=
|
|
202
|
+
.pui-button[data-variant='ghost'] {
|
|
200
203
|
border-color: transparent;
|
|
201
204
|
background: transparent;
|
|
202
205
|
}
|
|
203
|
-
|
|
204
|
-
|
|
206
|
+
/* Hover adds the state layer over the variant's own fill, so a primary, a
|
|
207
|
+
pressed toggle and a transparent toolbar button all step by the same amount. */
|
|
208
|
+
.pui-button:hover:not(:disabled, [data-disabled], [data-variant='link']) {
|
|
209
|
+
background-image: linear-gradient(
|
|
210
|
+
var(--interaction-hover-bg),
|
|
211
|
+
var(--interaction-hover-bg)
|
|
212
|
+
);
|
|
213
|
+
}
|
|
214
|
+
.pui-button[data-variant='link']:hover:not(:disabled, [data-disabled]) {
|
|
215
|
+
text-decoration-thickness: 2px;
|
|
205
216
|
}
|
|
206
217
|
.pui-button:focus-visible {
|
|
207
218
|
outline: 2px solid var(--interaction-focus);
|
|
208
219
|
outline-offset: 2px;
|
|
209
220
|
}
|
|
210
|
-
.pui-button:is(:disabled, [data-disabled], [aria-disabled=
|
|
221
|
+
.pui-button:is(:disabled, [data-disabled], [aria-disabled='true']) {
|
|
211
222
|
opacity: var(--control-disabled-opacity);
|
|
212
223
|
cursor: not-allowed;
|
|
213
224
|
}
|
|
@@ -224,6 +235,24 @@
|
|
|
224
235
|
.pui-scroll-viewport::-webkit-scrollbar {
|
|
225
236
|
display: none;
|
|
226
237
|
}
|
|
238
|
+
/* A horizontal scroller fades the edge that hides more content, so a cut-off table
|
|
239
|
+
* or code line reads as scrollable before its scrollbar appears, on touch too. */
|
|
240
|
+
.pui-scroll-root[data-overflow-x-end] > .pui-scroll-viewport {
|
|
241
|
+
mask-image: linear-gradient(to left, transparent, #000 var(--space-6));
|
|
242
|
+
}
|
|
243
|
+
.pui-scroll-root[data-overflow-x-start] > .pui-scroll-viewport {
|
|
244
|
+
mask-image: linear-gradient(to right, transparent, #000 var(--space-6));
|
|
245
|
+
}
|
|
246
|
+
.pui-scroll-root[data-overflow-x-start][data-overflow-x-end]
|
|
247
|
+
> .pui-scroll-viewport {
|
|
248
|
+
mask-image: linear-gradient(
|
|
249
|
+
to right,
|
|
250
|
+
transparent,
|
|
251
|
+
#000 var(--space-6),
|
|
252
|
+
#000 calc(100% - var(--space-6)),
|
|
253
|
+
transparent
|
|
254
|
+
);
|
|
255
|
+
}
|
|
227
256
|
.pui-scrollbar {
|
|
228
257
|
display: flex;
|
|
229
258
|
user-select: none;
|
|
@@ -237,24 +266,24 @@
|
|
|
237
266
|
.pui-scrollbar[data-scrolling],
|
|
238
267
|
.pui-scrollbar:hover,
|
|
239
268
|
.pui-scroll-root[data-scroll-near-x]
|
|
240
|
-
> .pui-scrollbar[data-orientation=
|
|
269
|
+
> .pui-scrollbar[data-orientation='horizontal'],
|
|
241
270
|
.pui-scroll-root[data-scroll-near-y]
|
|
242
|
-
> .pui-scrollbar[data-orientation=
|
|
243
|
-
.pui-scroll-root[data-scroll-dragging=
|
|
244
|
-
> .pui-scrollbar[data-orientation=
|
|
245
|
-
.pui-scroll-root[data-scroll-dragging=
|
|
246
|
-
> .pui-scrollbar[data-orientation=
|
|
271
|
+
> .pui-scrollbar[data-orientation='vertical'],
|
|
272
|
+
.pui-scroll-root[data-scroll-dragging='horizontal']
|
|
273
|
+
> .pui-scrollbar[data-orientation='horizontal'],
|
|
274
|
+
.pui-scroll-root[data-scroll-dragging='vertical']
|
|
275
|
+
> .pui-scrollbar[data-orientation='vertical'],
|
|
247
276
|
.pui-scroll-root:has(> .pui-scroll-viewport:focus-visible) > .pui-scrollbar {
|
|
248
277
|
opacity: 1;
|
|
249
278
|
}
|
|
250
|
-
.pui-scrollbar[data-orientation=
|
|
279
|
+
.pui-scrollbar[data-orientation='horizontal'] {
|
|
251
280
|
height: 10px;
|
|
252
281
|
position: absolute;
|
|
253
282
|
bottom: 0;
|
|
254
283
|
left: 0;
|
|
255
284
|
right: 0;
|
|
256
285
|
}
|
|
257
|
-
.pui-scrollbar[data-orientation=
|
|
286
|
+
.pui-scrollbar[data-orientation='vertical'] {
|
|
258
287
|
flex-direction: column;
|
|
259
288
|
width: 10px;
|
|
260
289
|
position: absolute;
|
|
@@ -271,6 +300,14 @@
|
|
|
271
300
|
.pui-scrollbar:hover .pui-scroll-thumb {
|
|
272
301
|
opacity: 0.8;
|
|
273
302
|
}
|
|
303
|
+
/* On touch-only screens a scrollbar is a position indicator, as native mobile
|
|
304
|
+
* scrollbars are: content scrolls by swiping, so the bar overlaying its edge
|
|
305
|
+
* never takes a tap meant for the link or control beneath it. */
|
|
306
|
+
@media (hover: none) and (pointer: coarse) {
|
|
307
|
+
.pui-scrollbar {
|
|
308
|
+
pointer-events: none;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
274
311
|
@media (forced-colors: active) {
|
|
275
312
|
.pui-scrollbar {
|
|
276
313
|
opacity: 1;
|
|
@@ -333,24 +370,24 @@
|
|
|
333
370
|
}
|
|
334
371
|
}
|
|
335
372
|
|
|
336
|
-
.pui-button[data-size=
|
|
373
|
+
.pui-button[data-size='xs'] {
|
|
337
374
|
height: 24px;
|
|
338
375
|
min-height: 24px;
|
|
339
376
|
padding-inline: 8px;
|
|
340
377
|
font-size: 12px;
|
|
341
378
|
gap: 4px;
|
|
342
379
|
}
|
|
343
|
-
.pui-button[data-size=
|
|
380
|
+
.pui-button[data-size='sm'] {
|
|
344
381
|
height: 32px;
|
|
345
382
|
min-height: 32px;
|
|
346
383
|
padding-inline: 10px;
|
|
347
384
|
}
|
|
348
|
-
.pui-button[data-size=
|
|
385
|
+
.pui-button[data-size='lg'] {
|
|
349
386
|
height: var(--size-control-height-large);
|
|
350
387
|
min-height: var(--size-control-height-large);
|
|
351
388
|
padding-inline: var(--size-button-padding-large);
|
|
352
389
|
}
|
|
353
|
-
.pui-button[data-size^=
|
|
390
|
+
.pui-button[data-size^='icon'] {
|
|
354
391
|
width: var(--control-height);
|
|
355
392
|
padding: 0;
|
|
356
393
|
}
|
|
@@ -360,24 +397,21 @@
|
|
|
360
397
|
}
|
|
361
398
|
}
|
|
362
399
|
|
|
363
|
-
.pui-button[data-variant=
|
|
400
|
+
.pui-button[data-variant='secondary'] {
|
|
364
401
|
background: var(--selected);
|
|
365
402
|
color: var(--ink);
|
|
366
403
|
}
|
|
367
|
-
.pui-button[data-variant=
|
|
404
|
+
.pui-button[data-variant='destructive'] {
|
|
368
405
|
background: var(--status-danger-bg);
|
|
369
406
|
color: var(--status-danger-fg);
|
|
370
407
|
border-color: transparent;
|
|
371
408
|
}
|
|
372
|
-
.pui-button[data-variant=
|
|
409
|
+
.pui-button[data-variant='link'] {
|
|
373
410
|
background: transparent;
|
|
374
411
|
color: var(--brand-ink);
|
|
375
412
|
border-color: transparent;
|
|
376
413
|
text-decoration: underline;
|
|
377
414
|
}
|
|
378
|
-
.pui-button[data-variant="ghost"]:hover:not(:disabled) {
|
|
379
|
-
background: var(--interaction-hover-bg);
|
|
380
|
-
}
|
|
381
415
|
|
|
382
416
|
/* Edge panels share surfaces and layers; only Drawer adds native Base UI gestures. */
|
|
383
417
|
.pui-panel-layer {
|
|
@@ -409,17 +443,17 @@
|
|
|
409
443
|
padding: 12px;
|
|
410
444
|
pointer-events: none;
|
|
411
445
|
}
|
|
412
|
-
.pui-panel-viewport[data-side=
|
|
446
|
+
.pui-panel-viewport[data-side='right'] {
|
|
413
447
|
justify-content: flex-end;
|
|
414
448
|
}
|
|
415
|
-
.pui-panel-viewport[data-side=
|
|
449
|
+
.pui-panel-viewport[data-side='left'] {
|
|
416
450
|
justify-content: flex-start;
|
|
417
451
|
}
|
|
418
|
-
.pui-panel-viewport[data-side=
|
|
452
|
+
.pui-panel-viewport[data-side='top'] {
|
|
419
453
|
align-items: flex-start;
|
|
420
454
|
justify-content: center;
|
|
421
455
|
}
|
|
422
|
-
.pui-panel-viewport[data-side=
|
|
456
|
+
.pui-panel-viewport[data-side='bottom'] {
|
|
423
457
|
align-items: flex-end;
|
|
424
458
|
justify-content: center;
|
|
425
459
|
}
|
|
@@ -449,25 +483,25 @@
|
|
|
449
483
|
);
|
|
450
484
|
transition: transform var(--duration-base) var(--ease-out);
|
|
451
485
|
}
|
|
452
|
-
.pui-panel[data-size=
|
|
486
|
+
.pui-panel[data-size='sm'] {
|
|
453
487
|
--panel-width: 320px;
|
|
454
488
|
}
|
|
455
|
-
.pui-panel[data-size=
|
|
489
|
+
.pui-panel[data-size='lg'] {
|
|
456
490
|
--panel-width: 640px;
|
|
457
491
|
}
|
|
458
|
-
.pui-panel[data-side=
|
|
492
|
+
.pui-panel[data-side='right'] {
|
|
459
493
|
--panel-enter-x: calc(100% + 12px);
|
|
460
494
|
height: 100%;
|
|
461
495
|
}
|
|
462
|
-
.pui-panel[data-side=
|
|
496
|
+
.pui-panel[data-side='left'] {
|
|
463
497
|
--panel-enter-x: calc(-100% - 12px);
|
|
464
498
|
height: 100%;
|
|
465
499
|
}
|
|
466
|
-
.pui-panel[data-side=
|
|
500
|
+
.pui-panel[data-side='top'] {
|
|
467
501
|
--panel-enter-y: calc(-100% - 12px);
|
|
468
502
|
max-height: min(85dvh, 100%);
|
|
469
503
|
}
|
|
470
|
-
.pui-panel[data-side=
|
|
504
|
+
.pui-panel[data-side='bottom'] {
|
|
471
505
|
--panel-enter-y: calc(100% + 12px);
|
|
472
506
|
max-height: min(85dvh, 100%);
|
|
473
507
|
}
|
|
@@ -542,8 +576,8 @@
|
|
|
542
576
|
border-radius: var(--radius-full);
|
|
543
577
|
background: var(--line);
|
|
544
578
|
}
|
|
545
|
-
.pui-drawer[data-side=
|
|
546
|
-
.pui-drawer[data-side=
|
|
579
|
+
.pui-drawer[data-side='left'] > .pui-drawer-handle,
|
|
580
|
+
.pui-drawer[data-side='right'] > .pui-drawer-handle {
|
|
547
581
|
display: none;
|
|
548
582
|
}
|
|
549
583
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -561,7 +595,7 @@
|
|
|
561
595
|
.pui-panel-footer {
|
|
562
596
|
box-sizing: border-box;
|
|
563
597
|
}
|
|
564
|
-
.pui-panel-viewport[data-side=
|
|
598
|
+
.pui-panel-viewport[data-side='bottom'] {
|
|
565
599
|
bottom: var(--drawer-keyboard-inset, 0px);
|
|
566
600
|
}
|
|
567
601
|
|
|
@@ -953,6 +987,9 @@
|
|
|
953
987
|
color: var(--ink);
|
|
954
988
|
background: var(--interaction-hover-bg);
|
|
955
989
|
}
|
|
990
|
+
.pui-tabs-tab:active:not(:disabled):not([data-disabled]) {
|
|
991
|
+
background: var(--interaction-active-bg);
|
|
992
|
+
}
|
|
956
993
|
.pui-tabs-tab[data-active] {
|
|
957
994
|
background: var(--canvas);
|
|
958
995
|
color: var(--ink);
|
|
@@ -993,19 +1030,19 @@
|
|
|
993
1030
|
background: transparent;
|
|
994
1031
|
border-color: transparent;
|
|
995
1032
|
}
|
|
996
|
-
.pui-tabs[data-orientation=
|
|
1033
|
+
.pui-tabs[data-orientation='vertical'] {
|
|
997
1034
|
display: grid;
|
|
998
1035
|
grid-template-columns: minmax(0, 180px) minmax(0, 1fr);
|
|
999
1036
|
gap: var(--space-6);
|
|
1000
1037
|
align-items: start;
|
|
1001
1038
|
}
|
|
1002
|
-
.pui-tabs-list[data-orientation=
|
|
1039
|
+
.pui-tabs-list[data-orientation='vertical'] {
|
|
1003
1040
|
flex-direction: column;
|
|
1004
1041
|
}
|
|
1005
|
-
.pui-tabs-list[data-orientation=
|
|
1042
|
+
.pui-tabs-list[data-orientation='vertical'] .pui-tabs-tab {
|
|
1006
1043
|
text-align: start;
|
|
1007
1044
|
}
|
|
1008
|
-
.pui-tabs[data-orientation=
|
|
1045
|
+
.pui-tabs[data-orientation='vertical'] > .pui-tabs-panel {
|
|
1009
1046
|
padding-block: var(--space-1);
|
|
1010
1047
|
}
|
|
1011
1048
|
.pui-accordion {
|
|
@@ -1050,6 +1087,9 @@
|
|
|
1050
1087
|
.pui-disclosure-trigger:hover:not(:disabled) {
|
|
1051
1088
|
background: var(--interaction-hover-bg);
|
|
1052
1089
|
}
|
|
1090
|
+
.pui-disclosure-trigger:active:not(:disabled) {
|
|
1091
|
+
background: var(--interaction-active-bg);
|
|
1092
|
+
}
|
|
1053
1093
|
.pui-disclosure-trigger:focus-visible {
|
|
1054
1094
|
outline: 2px solid var(--interaction-focus);
|
|
1055
1095
|
outline-offset: -2px;
|
|
@@ -1113,7 +1153,7 @@
|
|
|
1113
1153
|
margin-bottom: 0;
|
|
1114
1154
|
}
|
|
1115
1155
|
@media (max-width: 760px) {
|
|
1116
|
-
.pui-tabs[data-orientation=
|
|
1156
|
+
.pui-tabs[data-orientation='vertical'] {
|
|
1117
1157
|
grid-template-columns: minmax(0, 1fr);
|
|
1118
1158
|
gap: var(--space-3);
|
|
1119
1159
|
}
|
|
@@ -1184,11 +1224,11 @@
|
|
|
1184
1224
|
height: 20px;
|
|
1185
1225
|
vertical-align: middle;
|
|
1186
1226
|
}
|
|
1187
|
-
.pui-spinner[data-size=
|
|
1227
|
+
.pui-spinner[data-size='sm'] {
|
|
1188
1228
|
width: 16px;
|
|
1189
1229
|
height: 16px;
|
|
1190
1230
|
}
|
|
1191
|
-
.pui-spinner[data-size=
|
|
1231
|
+
.pui-spinner[data-size='lg'] {
|
|
1192
1232
|
width: 28px;
|
|
1193
1233
|
height: 28px;
|
|
1194
1234
|
}
|
|
@@ -1207,11 +1247,11 @@
|
|
|
1207
1247
|
background: var(--surface);
|
|
1208
1248
|
animation: pui-progress-pulse 1.4s ease-in-out infinite;
|
|
1209
1249
|
}
|
|
1210
|
-
.pui-skeleton[data-shape=
|
|
1250
|
+
.pui-skeleton[data-shape='block'] {
|
|
1211
1251
|
height: 96px;
|
|
1212
1252
|
border-radius: var(--radius-md);
|
|
1213
1253
|
}
|
|
1214
|
-
.pui-skeleton[data-shape=
|
|
1254
|
+
.pui-skeleton[data-shape='circle'] {
|
|
1215
1255
|
width: 36px;
|
|
1216
1256
|
height: 36px;
|
|
1217
1257
|
border-radius: 50%;
|
|
@@ -1555,18 +1595,18 @@
|
|
|
1555
1595
|
.pui-slider-thumb[data-disabled] {
|
|
1556
1596
|
cursor: not-allowed;
|
|
1557
1597
|
}
|
|
1558
|
-
.pui-slider[data-orientation=
|
|
1598
|
+
.pui-slider[data-orientation='vertical'] {
|
|
1559
1599
|
width: max-content;
|
|
1560
1600
|
min-width: 120px;
|
|
1561
1601
|
}
|
|
1562
|
-
.pui-slider-control[data-orientation=
|
|
1602
|
+
.pui-slider-control[data-orientation='vertical'] {
|
|
1563
1603
|
width: 44px;
|
|
1564
1604
|
height: 192px;
|
|
1565
1605
|
justify-content: center;
|
|
1566
1606
|
justify-self: center;
|
|
1567
1607
|
touch-action: pan-x;
|
|
1568
1608
|
}
|
|
1569
|
-
.pui-slider-track[data-orientation=
|
|
1609
|
+
.pui-slider-track[data-orientation='vertical'] {
|
|
1570
1610
|
width: 6px;
|
|
1571
1611
|
height: 100%;
|
|
1572
1612
|
}
|
|
@@ -1595,7 +1635,7 @@
|
|
|
1595
1635
|
border-color: var(--line);
|
|
1596
1636
|
}
|
|
1597
1637
|
.pui-toggle[data-pressed],
|
|
1598
|
-
.pui-toolbar-button[aria-pressed=
|
|
1638
|
+
.pui-toolbar-button[aria-pressed='true'] {
|
|
1599
1639
|
background: var(--selected);
|
|
1600
1640
|
border-color: var(--control-border);
|
|
1601
1641
|
color: var(--ink);
|
|
@@ -1615,9 +1655,9 @@
|
|
|
1615
1655
|
gap: var(--space-1);
|
|
1616
1656
|
min-width: 0;
|
|
1617
1657
|
}
|
|
1618
|
-
.pui-toggle-group[data-orientation=
|
|
1619
|
-
.pui-toolbar[data-orientation=
|
|
1620
|
-
.pui-menubar[data-orientation=
|
|
1658
|
+
.pui-toggle-group[data-orientation='vertical'],
|
|
1659
|
+
.pui-toolbar[data-orientation='vertical'],
|
|
1660
|
+
.pui-menubar[data-orientation='vertical'] {
|
|
1621
1661
|
flex-direction: column;
|
|
1622
1662
|
align-items: flex-start;
|
|
1623
1663
|
width: fit-content;
|
|
@@ -1643,10 +1683,6 @@
|
|
|
1643
1683
|
border-radius: max(0px, calc(var(--radius-md) - var(--space-1)));
|
|
1644
1684
|
text-decoration: none;
|
|
1645
1685
|
}
|
|
1646
|
-
.pui-toolbar-button:hover:not([data-disabled]),
|
|
1647
|
-
.pui-toolbar-link:hover {
|
|
1648
|
-
background: var(--interaction-hover-bg);
|
|
1649
|
-
}
|
|
1650
1686
|
.pui-toolbar-input {
|
|
1651
1687
|
width: 160px;
|
|
1652
1688
|
max-width: 100%;
|
|
@@ -1658,17 +1694,17 @@
|
|
|
1658
1694
|
flex: none;
|
|
1659
1695
|
background: transparent;
|
|
1660
1696
|
}
|
|
1661
|
-
.pui-toolbar-separator[data-orientation=
|
|
1697
|
+
.pui-toolbar-separator[data-orientation='vertical'] {
|
|
1662
1698
|
width: 1px;
|
|
1663
1699
|
height: 24px;
|
|
1664
1700
|
margin-inline: var(--space-1);
|
|
1665
1701
|
}
|
|
1666
|
-
.pui-toolbar-separator[data-orientation=
|
|
1702
|
+
.pui-toolbar-separator[data-orientation='horizontal'] {
|
|
1667
1703
|
height: 1px;
|
|
1668
1704
|
width: 100%;
|
|
1669
1705
|
margin-block: var(--space-1);
|
|
1670
1706
|
}
|
|
1671
|
-
.pui-toolbar[data-orientation=
|
|
1707
|
+
.pui-toolbar[data-orientation='vertical'] .pui-toolbar-group {
|
|
1672
1708
|
flex-direction: column;
|
|
1673
1709
|
align-items: stretch;
|
|
1674
1710
|
width: 100%;
|
|
@@ -1707,7 +1743,7 @@
|
|
|
1707
1743
|
display: inline-flex;
|
|
1708
1744
|
width: 16px;
|
|
1709
1745
|
}
|
|
1710
|
-
.pui-menu-check-item[aria-checked=
|
|
1746
|
+
.pui-menu-check-item[aria-checked='false'] > .pui-menu-indicator {
|
|
1711
1747
|
visibility: hidden;
|
|
1712
1748
|
}
|
|
1713
1749
|
.pui-menu-group-label {
|
|
@@ -1747,9 +1783,6 @@
|
|
|
1747
1783
|
scrollbar-width: thin;
|
|
1748
1784
|
scrollbar-color: var(--scrollbar-thumb) transparent;
|
|
1749
1785
|
}
|
|
1750
|
-
.pui-toolbar-button[data-disabled]:hover {
|
|
1751
|
-
filter: none;
|
|
1752
|
-
}
|
|
1753
1786
|
.pui-menu-trigger[data-disabled] {
|
|
1754
1787
|
opacity: var(--control-disabled-opacity);
|
|
1755
1788
|
cursor: not-allowed;
|
|
@@ -1772,8 +1805,8 @@
|
|
|
1772
1805
|
}
|
|
1773
1806
|
@media (forced-colors: active) {
|
|
1774
1807
|
.pui-toggle[data-pressed]::after,
|
|
1775
|
-
.pui-toolbar-button[aria-pressed=
|
|
1776
|
-
content:
|
|
1808
|
+
.pui-toolbar-button[aria-pressed='true']::after {
|
|
1809
|
+
content: '';
|
|
1777
1810
|
position: absolute;
|
|
1778
1811
|
inset: 3px;
|
|
1779
1812
|
border: 1px solid CanvasText;
|
|
@@ -1850,7 +1883,7 @@
|
|
|
1850
1883
|
padding: 0;
|
|
1851
1884
|
list-style: none;
|
|
1852
1885
|
}
|
|
1853
|
-
.pui-navigation-menu[data-orientation=
|
|
1886
|
+
.pui-navigation-menu[data-orientation='vertical'] > .pui-navigation-list {
|
|
1854
1887
|
flex-direction: column;
|
|
1855
1888
|
align-items: stretch;
|
|
1856
1889
|
}
|
|
@@ -1891,7 +1924,7 @@
|
|
|
1891
1924
|
.pui-navigation-link[data-highlighted] {
|
|
1892
1925
|
background: var(--menu-hover-background);
|
|
1893
1926
|
}
|
|
1894
|
-
.pui-navigation-link[aria-current=
|
|
1927
|
+
.pui-navigation-link[aria-current='page'] {
|
|
1895
1928
|
background: var(--selected);
|
|
1896
1929
|
color: var(--ink);
|
|
1897
1930
|
font-weight: 500;
|
|
@@ -1964,7 +1997,7 @@
|
|
|
1964
1997
|
color: CanvasText;
|
|
1965
1998
|
border-color: CanvasText;
|
|
1966
1999
|
}
|
|
1967
|
-
.pui-navigation-link[aria-current=
|
|
2000
|
+
.pui-navigation-link[aria-current='page'] {
|
|
1968
2001
|
border-color: Highlight;
|
|
1969
2002
|
}
|
|
1970
2003
|
}
|
|
@@ -2025,7 +2058,7 @@
|
|
|
2025
2058
|
outline: 2px solid Highlight;
|
|
2026
2059
|
outline-offset: 2px;
|
|
2027
2060
|
}
|
|
2028
|
-
.pui-otp-input[aria-invalid=
|
|
2061
|
+
.pui-otp-input[aria-invalid='true'] {
|
|
2029
2062
|
border-color: LinkText;
|
|
2030
2063
|
}
|
|
2031
2064
|
.pui-otp-separator {
|
|
@@ -2073,16 +2106,16 @@
|
|
|
2073
2106
|
opacity var(--dialog-enter-duration) var(--motion-ease),
|
|
2074
2107
|
translate var(--dialog-enter-duration) var(--motion-spatial-ease);
|
|
2075
2108
|
}
|
|
2076
|
-
.pui-toast[data-tone=
|
|
2109
|
+
.pui-toast[data-tone='success'] {
|
|
2077
2110
|
--_toast-icon: var(--status-success-fg);
|
|
2078
2111
|
}
|
|
2079
|
-
.pui-toast[data-tone=
|
|
2112
|
+
.pui-toast[data-tone='danger'] {
|
|
2080
2113
|
--_toast-icon: var(--status-danger-fg);
|
|
2081
2114
|
}
|
|
2082
|
-
.pui-toast[data-tone=
|
|
2115
|
+
.pui-toast[data-tone='caution'] {
|
|
2083
2116
|
--_toast-icon: var(--status-caution-fg);
|
|
2084
2117
|
}
|
|
2085
|
-
.pui-toast[data-tone=
|
|
2118
|
+
.pui-toast[data-tone='progress'] {
|
|
2086
2119
|
--_toast-icon: var(--status-progress-fg);
|
|
2087
2120
|
}
|
|
2088
2121
|
.pui-toast[data-starting-style] {
|
|
@@ -2154,12 +2187,12 @@
|
|
|
2154
2187
|
}
|
|
2155
2188
|
}
|
|
2156
2189
|
|
|
2157
|
-
.pui-toast-viewport[data-layout=
|
|
2190
|
+
.pui-toast-viewport[data-layout='stack']:focus-visible {
|
|
2158
2191
|
border-radius: var(--radius-lg);
|
|
2159
2192
|
outline: 2px solid var(--interaction-focus);
|
|
2160
2193
|
outline-offset: -2px;
|
|
2161
2194
|
}
|
|
2162
|
-
.pui-toast-viewport[data-layout=
|
|
2195
|
+
.pui-toast-viewport[data-layout='anchored'] {
|
|
2163
2196
|
inset: 0;
|
|
2164
2197
|
display: block;
|
|
2165
2198
|
width: auto;
|
|
@@ -2168,7 +2201,7 @@
|
|
|
2168
2201
|
padding: 0;
|
|
2169
2202
|
overflow: visible;
|
|
2170
2203
|
}
|
|
2171
|
-
.pui-toast-viewport[data-layout=
|
|
2204
|
+
.pui-toast-viewport[data-layout='anchored'] .pui-toast {
|
|
2172
2205
|
width: 320px;
|
|
2173
2206
|
max-width: min(calc(100vw - 24px), var(--available-width));
|
|
2174
2207
|
max-height: var(--available-height);
|
|
@@ -2176,7 +2209,7 @@
|
|
|
2176
2209
|
scrollbar-width: thin;
|
|
2177
2210
|
}
|
|
2178
2211
|
|
|
2179
|
-
.pui-toast-viewport[data-layout=
|
|
2212
|
+
.pui-toast-viewport[data-layout='anchored']:focus-visible .pui-toast {
|
|
2180
2213
|
outline: 2px solid var(--interaction-focus);
|
|
2181
2214
|
outline-offset: 2px;
|
|
2182
2215
|
}
|
|
@@ -2224,7 +2257,7 @@
|
|
|
2224
2257
|
outline: 2px solid var(--interaction-focus);
|
|
2225
2258
|
outline-offset: 2px;
|
|
2226
2259
|
}
|
|
2227
|
-
.pui-file-upload:has(.pui-file-native[aria-invalid=
|
|
2260
|
+
.pui-file-upload:has(.pui-file-native[aria-invalid='true']) .pui-file-dropzone {
|
|
2228
2261
|
border-color: var(--status-danger-fg);
|
|
2229
2262
|
}
|
|
2230
2263
|
.pui-file-drop-hint {
|
|
@@ -2320,15 +2353,15 @@
|
|
|
2320
2353
|
stroke-width: var(--icon-stroke-width);
|
|
2321
2354
|
pointer-events: none;
|
|
2322
2355
|
}
|
|
2323
|
-
.pui-icon[data-size=
|
|
2356
|
+
.pui-icon[data-size='md'] {
|
|
2324
2357
|
width: var(--icon-size-md);
|
|
2325
2358
|
height: var(--icon-size-md);
|
|
2326
2359
|
}
|
|
2327
|
-
.pui-icon[data-size=
|
|
2360
|
+
.pui-icon[data-size='lg'] {
|
|
2328
2361
|
width: var(--icon-size-lg);
|
|
2329
2362
|
height: var(--icon-size-lg);
|
|
2330
2363
|
}
|
|
2331
|
-
.pui-icon[data-directional=
|
|
2364
|
+
.pui-icon[data-directional='true']:dir(rtl) {
|
|
2332
2365
|
transform: scaleX(-1);
|
|
2333
2366
|
}
|
|
2334
2367
|
|
|
@@ -2389,7 +2422,7 @@
|
|
|
2389
2422
|
}
|
|
2390
2423
|
|
|
2391
2424
|
/* Base UI owns hover/focus expansion, announcements, timers and gestures. */
|
|
2392
|
-
.pui-toast-viewport[data-layout=
|
|
2425
|
+
.pui-toast-viewport[data-layout='stack'] {
|
|
2393
2426
|
display: grid;
|
|
2394
2427
|
/* An auto row adopts the tallest card while its height transitions, moving
|
|
2395
2428
|
the bottom anchor during collapse when a behind-card has an action. */
|
|
@@ -2398,7 +2431,7 @@
|
|
|
2398
2431
|
height: calc(var(--toast-frontmost-height, 80px) + 48px);
|
|
2399
2432
|
overflow: visible;
|
|
2400
2433
|
}
|
|
2401
|
-
.pui-toast-viewport[data-layout=
|
|
2434
|
+
.pui-toast-viewport[data-layout='stack'] > .pui-toast {
|
|
2402
2435
|
grid-area: 1 / 1;
|
|
2403
2436
|
z-index: calc(100 - var(--toast-index));
|
|
2404
2437
|
height: var(--toast-frontmost-height, var(--toast-height, auto));
|
|
@@ -2413,29 +2446,29 @@
|
|
|
2413
2446
|
opacity var(--toast-enter-duration) var(--motion-ease),
|
|
2414
2447
|
translate var(--toast-enter-duration) var(--toast-stack-ease);
|
|
2415
2448
|
}
|
|
2416
|
-
.pui-toast-viewport[data-layout=
|
|
2449
|
+
.pui-toast-viewport[data-layout='stack']:not([data-expanded])
|
|
2417
2450
|
.pui-toast-content[data-behind] {
|
|
2418
2451
|
opacity: 0;
|
|
2419
2452
|
pointer-events: none;
|
|
2420
2453
|
}
|
|
2421
|
-
.pui-toast-viewport[data-layout=
|
|
2454
|
+
.pui-toast-viewport[data-layout='stack'][data-expanded] {
|
|
2422
2455
|
pointer-events: auto;
|
|
2423
2456
|
height: min(calc(var(--toast-stack-height, 240px) + 48px), 100dvh);
|
|
2424
2457
|
grid-template-rows: var(--toast-stack-height, auto);
|
|
2425
2458
|
padding-top: 24px;
|
|
2426
2459
|
overflow: visible;
|
|
2427
2460
|
}
|
|
2428
|
-
.pui-toast-viewport[data-layout=
|
|
2461
|
+
.pui-toast-viewport[data-layout='stack'][data-expanded][data-stack-overflow] {
|
|
2429
2462
|
overflow-y: auto;
|
|
2430
2463
|
overflow-x: hidden;
|
|
2431
2464
|
}
|
|
2432
|
-
.pui-toast-viewport[data-layout=
|
|
2465
|
+
.pui-toast-viewport[data-layout='stack'][data-expanded] > .pui-toast {
|
|
2433
2466
|
height: var(--toast-height, auto);
|
|
2434
2467
|
transform: translateY(
|
|
2435
2468
|
calc(-1 * (var(--toast-offset-y) + var(--toast-index) * var(--space-2)))
|
|
2436
2469
|
);
|
|
2437
2470
|
}
|
|
2438
|
-
.pui-toast-viewport[data-layout=
|
|
2471
|
+
.pui-toast-viewport[data-layout='stack'] > .pui-toast[data-ending-style] {
|
|
2439
2472
|
transition-duration: 0s;
|
|
2440
2473
|
}
|
|
2441
2474
|
@media (max-width: 760px) {
|
|
@@ -2452,8 +2485,8 @@
|
|
|
2452
2485
|
}
|
|
2453
2486
|
@media (prefers-reduced-motion: reduce) {
|
|
2454
2487
|
.pui-toast-content,
|
|
2455
|
-
.pui-toast-viewport[data-layout=
|
|
2456
|
-
.pui-toast-viewport[data-layout=
|
|
2488
|
+
.pui-toast-viewport[data-layout='stack'],
|
|
2489
|
+
.pui-toast-viewport[data-layout='stack'] > .pui-toast {
|
|
2457
2490
|
transition: none;
|
|
2458
2491
|
}
|
|
2459
2492
|
}
|
|
@@ -2468,10 +2501,13 @@
|
|
|
2468
2501
|
}
|
|
2469
2502
|
|
|
2470
2503
|
/* Active feedback is transient; persistent selection belongs to Toggle. */
|
|
2471
|
-
.pui-button:active:not(:disabled
|
|
2472
|
-
|
|
2504
|
+
.pui-button:active:not(:disabled, [data-disabled], [data-variant='link']) {
|
|
2505
|
+
background-image: linear-gradient(
|
|
2506
|
+
var(--interaction-active-bg),
|
|
2507
|
+
var(--interaction-active-bg)
|
|
2508
|
+
);
|
|
2473
2509
|
}
|
|
2474
|
-
.pui-button[aria-busy=
|
|
2510
|
+
.pui-button[aria-busy='true'] {
|
|
2475
2511
|
cursor: progress;
|
|
2476
2512
|
}
|
|
2477
2513
|
@media (forced-colors: active) {
|
|
@@ -2479,7 +2515,7 @@
|
|
|
2479
2515
|
border-color: ButtonText;
|
|
2480
2516
|
}
|
|
2481
2517
|
.pui-button:active {
|
|
2482
|
-
|
|
2518
|
+
background-image: none;
|
|
2483
2519
|
}
|
|
2484
2520
|
}
|
|
2485
2521
|
|
|
@@ -2510,7 +2546,7 @@
|
|
|
2510
2546
|
min-inline-size: 0;
|
|
2511
2547
|
max-inline-size: 100%;
|
|
2512
2548
|
}
|
|
2513
|
-
.pui-filter-bar-field[data-width=
|
|
2549
|
+
.pui-filter-bar-field[data-width='search'] {
|
|
2514
2550
|
flex: 2 1 20rem;
|
|
2515
2551
|
}
|
|
2516
2552
|
.pui-filter-bar-field > :is(.pui-control, .pui-select-trigger) {
|
|
@@ -2551,7 +2587,7 @@
|
|
|
2551
2587
|
background: var(--chrome);
|
|
2552
2588
|
border-radius: var(--app-shell-radius);
|
|
2553
2589
|
}
|
|
2554
|
-
.pui-app-shell[data-sidebar=
|
|
2590
|
+
.pui-app-shell[data-sidebar='collapsed'] {
|
|
2555
2591
|
--app-shell-sidebar-width: 64px;
|
|
2556
2592
|
}
|
|
2557
2593
|
.pui-app-shell-header {
|
|
@@ -2598,7 +2634,10 @@
|
|
|
2598
2634
|
.pui-app-shell-link:hover {
|
|
2599
2635
|
background: var(--interaction-hover-bg);
|
|
2600
2636
|
}
|
|
2601
|
-
.pui-app-shell-link[aria-current=
|
|
2637
|
+
.pui-app-shell-link:active:not([aria-current='page']) {
|
|
2638
|
+
background: var(--interaction-active-bg);
|
|
2639
|
+
}
|
|
2640
|
+
.pui-app-shell-link[aria-current='page'] {
|
|
2602
2641
|
background: var(--selected);
|
|
2603
2642
|
color: var(--ink);
|
|
2604
2643
|
font-weight: 500;
|
|
@@ -2619,7 +2658,7 @@
|
|
|
2619
2658
|
white-space: nowrap;
|
|
2620
2659
|
padding-inline-end: var(--space-2);
|
|
2621
2660
|
}
|
|
2622
|
-
.pui-app-shell[data-sidebar=
|
|
2661
|
+
.pui-app-shell[data-sidebar='collapsed'] .pui-app-shell-label {
|
|
2623
2662
|
position: absolute;
|
|
2624
2663
|
inline-size: 1px;
|
|
2625
2664
|
block-size: 1px;
|
|
@@ -2648,23 +2687,23 @@
|
|
|
2648
2687
|
}
|
|
2649
2688
|
}
|
|
2650
2689
|
@media (forced-colors: active) {
|
|
2651
|
-
.pui-app-shell-link[aria-current=
|
|
2690
|
+
.pui-app-shell-link[aria-current='page'] {
|
|
2652
2691
|
outline: 1px solid Highlight;
|
|
2653
2692
|
}
|
|
2654
2693
|
}
|
|
2655
2694
|
|
|
2656
2695
|
/* Workspace variant: product sidebar owns the brand; the content scrollport is caller-provided. */
|
|
2657
|
-
.pui-app-shell[data-layout=
|
|
2696
|
+
.pui-app-shell[data-layout='workspace'] {
|
|
2658
2697
|
--app-shell-sidebar-width: 224px;
|
|
2659
2698
|
grid-template-rows: minmax(0, 1fr);
|
|
2660
2699
|
gap: 0;
|
|
2661
2700
|
padding: 0;
|
|
2662
2701
|
transition: grid-template-columns var(--duration-base) var(--ease-out);
|
|
2663
2702
|
}
|
|
2664
|
-
.pui-app-shell[data-layout=
|
|
2703
|
+
.pui-app-shell[data-layout='workspace'][data-sidebar='collapsed'] {
|
|
2665
2704
|
--app-shell-sidebar-width: 72px;
|
|
2666
2705
|
}
|
|
2667
|
-
.pui-app-shell[data-layout=
|
|
2706
|
+
.pui-app-shell[data-layout='workspace'] > .pui-app-shell-sidebar {
|
|
2668
2707
|
position: relative;
|
|
2669
2708
|
grid-row: 1;
|
|
2670
2709
|
grid-column: 1;
|
|
@@ -2672,7 +2711,7 @@
|
|
|
2672
2711
|
padding: 0;
|
|
2673
2712
|
z-index: 1;
|
|
2674
2713
|
}
|
|
2675
|
-
.pui-app-shell[data-layout=
|
|
2714
|
+
.pui-app-shell[data-layout='workspace'] > .pui-app-shell-content {
|
|
2676
2715
|
grid-row: 1;
|
|
2677
2716
|
grid-column: 2;
|
|
2678
2717
|
margin: 0;
|
|
@@ -2680,42 +2719,67 @@
|
|
|
2680
2719
|
background: transparent;
|
|
2681
2720
|
border-radius: 0;
|
|
2682
2721
|
}
|
|
2683
|
-
|
|
2722
|
+
/* The page surface: concentric with the shell, inset on every side but the
|
|
2723
|
+
* sidebar's. Stretch or size it from its container: a percentage height here
|
|
2724
|
+
* would resolve against a scroll content that sizes from the page itself. */
|
|
2725
|
+
.pui-app-shell-page {
|
|
2726
|
+
box-sizing: border-box;
|
|
2727
|
+
min-inline-size: 0;
|
|
2728
|
+
margin: var(--app-shell-inset);
|
|
2729
|
+
margin-inline-start: 0;
|
|
2730
|
+
padding: var(--space-6);
|
|
2731
|
+
background: var(--canvas);
|
|
2732
|
+
border-radius: max(
|
|
2733
|
+
0px,
|
|
2734
|
+
calc(var(--app-shell-radius) - var(--app-shell-inset))
|
|
2735
|
+
);
|
|
2736
|
+
}
|
|
2737
|
+
/* Without the sidebar the page insets evenly. Below a mobile header it starts flush. */
|
|
2738
|
+
@media (max-width: 760px) {
|
|
2739
|
+
.pui-app-shell-page {
|
|
2740
|
+
margin: var(--app-shell-inset);
|
|
2741
|
+
padding: var(--space-4);
|
|
2742
|
+
}
|
|
2743
|
+
.pui-app-shell:has(> .pui-app-shell-header) .pui-app-shell-page {
|
|
2744
|
+
margin-block-start: 0;
|
|
2745
|
+
}
|
|
2746
|
+
}
|
|
2747
|
+
.pui-app-shell[data-layout='workspace'] .pui-app-shell-footer {
|
|
2684
2748
|
padding: var(--space-4);
|
|
2685
2749
|
}
|
|
2686
|
-
.pui-app-shell[data-layout=
|
|
2750
|
+
.pui-app-shell[data-layout='workspace'] .pui-app-shell-label {
|
|
2687
2751
|
transition:
|
|
2688
2752
|
opacity 80ms var(--ease-out) 160ms,
|
|
2689
2753
|
visibility 0s 160ms;
|
|
2690
2754
|
}
|
|
2691
|
-
.pui-app-shell[data-layout=
|
|
2755
|
+
.pui-app-shell[data-layout='workspace'][data-sidebar='collapsed']
|
|
2692
2756
|
.pui-app-shell-label {
|
|
2693
2757
|
opacity: 0;
|
|
2694
2758
|
visibility: hidden;
|
|
2695
2759
|
transition: none;
|
|
2696
2760
|
}
|
|
2697
2761
|
@media (min-width: 761px) {
|
|
2698
|
-
.pui-app-shell[data-layout=
|
|
2762
|
+
.pui-app-shell[data-layout='workspace'] > .pui-app-shell-header {
|
|
2699
2763
|
display: none;
|
|
2700
2764
|
}
|
|
2701
2765
|
}
|
|
2702
2766
|
@media (max-width: 760px) {
|
|
2703
|
-
.pui-app-shell[data-layout=
|
|
2767
|
+
.pui-app-shell[data-layout='workspace'] {
|
|
2704
2768
|
grid-template-columns: minmax(0, 1fr);
|
|
2705
2769
|
grid-template-rows: auto minmax(0, 1fr);
|
|
2706
2770
|
}
|
|
2707
|
-
.pui-app-shell[data-layout=
|
|
2771
|
+
.pui-app-shell[data-layout='workspace'] > .pui-app-shell-header {
|
|
2708
2772
|
padding: var(--space-3);
|
|
2709
2773
|
}
|
|
2710
|
-
.pui-app-shell[data-layout=
|
|
2774
|
+
.pui-app-shell[data-layout='workspace'] > .pui-app-shell-content {
|
|
2711
2775
|
grid-column: 1;
|
|
2712
2776
|
grid-row: 2;
|
|
2713
2777
|
margin: 0;
|
|
2714
2778
|
}
|
|
2715
2779
|
}
|
|
2716
2780
|
@media (prefers-reduced-motion: reduce) {
|
|
2717
|
-
.pui-app-shell[data-layout=
|
|
2718
|
-
.pui-app-shell[data-layout=
|
|
2781
|
+
.pui-app-shell[data-layout='workspace'],
|
|
2782
|
+
.pui-app-shell[data-layout='workspace'] .pui-app-shell-label {
|
|
2719
2783
|
transition: none;
|
|
2720
2784
|
}
|
|
2721
2785
|
}
|
|
@@ -2744,13 +2808,13 @@
|
|
|
2744
2808
|
.pui-tree-item:hover {
|
|
2745
2809
|
background: var(--interaction-hover-bg);
|
|
2746
2810
|
}
|
|
2747
|
-
.pui-tree-item[aria-selected=
|
|
2811
|
+
.pui-tree-item[aria-selected='true'] {
|
|
2748
2812
|
background: var(--selected);
|
|
2749
2813
|
}
|
|
2750
2814
|
.pui-tree-item:focus-visible {
|
|
2751
2815
|
outline: 2px solid var(--control-focus);
|
|
2752
2816
|
}
|
|
2753
|
-
.pui-tree-item[aria-disabled=
|
|
2817
|
+
.pui-tree-item[aria-disabled='true'] {
|
|
2754
2818
|
color: var(--ink-muted);
|
|
2755
2819
|
}
|
|
2756
2820
|
.pui-tree-toggle,
|
|
@@ -2771,6 +2835,9 @@
|
|
|
2771
2835
|
.pui-tree-toggle:hover:not(:disabled) {
|
|
2772
2836
|
background: var(--interaction-hover-bg);
|
|
2773
2837
|
}
|
|
2838
|
+
.pui-tree-toggle:active:not(:disabled) {
|
|
2839
|
+
background: var(--interaction-active-bg);
|
|
2840
|
+
}
|
|
2774
2841
|
.pui-tree-toggle svg[data-expanded] {
|
|
2775
2842
|
rotate: 90deg;
|
|
2776
2843
|
}
|
|
@@ -2793,11 +2860,11 @@
|
|
|
2793
2860
|
}
|
|
2794
2861
|
}
|
|
2795
2862
|
@media (forced-colors: active) {
|
|
2796
|
-
.pui-tree-item[aria-selected=
|
|
2863
|
+
.pui-tree-item[aria-selected='true'] {
|
|
2797
2864
|
background: Highlight;
|
|
2798
2865
|
color: HighlightText;
|
|
2799
2866
|
}
|
|
2800
|
-
.pui-tree-item[aria-disabled=
|
|
2867
|
+
.pui-tree-item[aria-disabled='true'] {
|
|
2801
2868
|
color: GrayText;
|
|
2802
2869
|
}
|
|
2803
2870
|
.pui-tree-item:focus-visible {
|
|
@@ -2868,7 +2935,7 @@
|
|
|
2868
2935
|
padding: 1px;
|
|
2869
2936
|
outline: none;
|
|
2870
2937
|
}
|
|
2871
|
-
.pui-date-segment[data-type=
|
|
2938
|
+
.pui-date-segment[data-type='literal'] {
|
|
2872
2939
|
padding: 0;
|
|
2873
2940
|
white-space: pre;
|
|
2874
2941
|
}
|
|
@@ -3121,7 +3188,10 @@
|
|
|
3121
3188
|
.pui-chart-legend-button:hover {
|
|
3122
3189
|
background: var(--interaction-hover-bg);
|
|
3123
3190
|
}
|
|
3124
|
-
.pui-chart-legend-button
|
|
3191
|
+
.pui-chart-legend-button:active {
|
|
3192
|
+
background: var(--interaction-active-bg);
|
|
3193
|
+
}
|
|
3194
|
+
.pui-chart-legend-button[aria-pressed='false'] span {
|
|
3125
3195
|
text-decoration: line-through;
|
|
3126
3196
|
color: var(--ink-muted);
|
|
3127
3197
|
}
|
|
@@ -3235,7 +3305,7 @@
|
|
|
3235
3305
|
display: contents;
|
|
3236
3306
|
}
|
|
3237
3307
|
|
|
3238
|
-
[data-ui-size=
|
|
3308
|
+
[data-ui-size='small'] {
|
|
3239
3309
|
--ui-slider-track: var(--size-slider-track-small);
|
|
3240
3310
|
--ui-file-padding: var(--size-file-padding-small);
|
|
3241
3311
|
--ui-content-gap: var(--size-content-gap-small);
|
|
@@ -3276,7 +3346,7 @@
|
|
|
3276
3346
|
--control-switch-thumb: var(--ui-switch-thumb);
|
|
3277
3347
|
}
|
|
3278
3348
|
|
|
3279
|
-
[data-ui-size=
|
|
3349
|
+
[data-ui-size='default'] {
|
|
3280
3350
|
--ui-slider-track: var(--size-slider-track-default);
|
|
3281
3351
|
--ui-file-padding: var(--size-file-padding-default);
|
|
3282
3352
|
--ui-content-gap: var(--size-content-gap-default);
|
|
@@ -3317,7 +3387,7 @@
|
|
|
3317
3387
|
--control-switch-thumb: var(--ui-switch-thumb);
|
|
3318
3388
|
}
|
|
3319
3389
|
|
|
3320
|
-
[data-ui-size=
|
|
3390
|
+
[data-ui-size='large'] {
|
|
3321
3391
|
--ui-slider-track: var(--size-slider-track-large);
|
|
3322
3392
|
--ui-file-padding: var(--size-file-padding-large);
|
|
3323
3393
|
--ui-content-gap: var(--size-content-gap-large);
|
|
@@ -3365,7 +3435,7 @@
|
|
|
3365
3435
|
font-size: var(--ui-font);
|
|
3366
3436
|
line-height: var(--ui-leading);
|
|
3367
3437
|
}
|
|
3368
|
-
:where([data-ui-size], [data-ui-size] *).pui-button[data-size^=
|
|
3438
|
+
:where([data-ui-size], [data-ui-size] *).pui-button[data-size^='icon'] {
|
|
3369
3439
|
inline-size: var(--control-height);
|
|
3370
3440
|
block-size: var(--control-height);
|
|
3371
3441
|
padding: 0;
|
|
@@ -3488,7 +3558,7 @@
|
|
|
3488
3558
|
:where([data-ui-size], [data-ui-size] *).pui-code-text {
|
|
3489
3559
|
padding: var(--ui-surface-padding);
|
|
3490
3560
|
}
|
|
3491
|
-
:where([data-ui-size], [data-ui-size] *).pui-skeleton[data-shape=
|
|
3561
|
+
:where([data-ui-size], [data-ui-size] *).pui-skeleton[data-shape='text'] {
|
|
3492
3562
|
height: var(--ui-leading);
|
|
3493
3563
|
}
|
|
3494
3564
|
:where([data-ui-size], [data-ui-size] *).pui-radio-indicator {
|
|
@@ -3497,7 +3567,7 @@
|
|
|
3497
3567
|
}
|
|
3498
3568
|
|
|
3499
3569
|
/* Explicit legacy button dimensions stay supported. */
|
|
3500
|
-
.pui-button[data-size=
|
|
3570
|
+
.pui-button[data-size='xs'] {
|
|
3501
3571
|
height: 24px;
|
|
3502
3572
|
min-height: 24px;
|
|
3503
3573
|
padding-inline: 8px;
|
|
@@ -3564,14 +3634,14 @@
|
|
|
3564
3634
|
min-inline-size: 0;
|
|
3565
3635
|
}
|
|
3566
3636
|
:where([data-ui-size], [data-ui-size] *).pui-slider-track:not(
|
|
3567
|
-
[data-orientation=
|
|
3637
|
+
[data-orientation='vertical']
|
|
3568
3638
|
) {
|
|
3569
3639
|
height: var(--ui-gauge);
|
|
3570
3640
|
}
|
|
3571
3641
|
:where(
|
|
3572
3642
|
[data-ui-size],
|
|
3573
3643
|
[data-ui-size] *
|
|
3574
|
-
).pui-slider-track[data-orientation=
|
|
3644
|
+
).pui-slider-track[data-orientation='vertical'] {
|
|
3575
3645
|
width: var(--ui-slider-track);
|
|
3576
3646
|
}
|
|
3577
3647
|
:where([data-ui-size], [data-ui-size] *):is(.pui-link, .pui-breadcrumbs) {
|
|
@@ -3600,31 +3670,31 @@
|
|
|
3600
3670
|
font: inherit;
|
|
3601
3671
|
letter-spacing: inherit;
|
|
3602
3672
|
}
|
|
3603
|
-
.pui-syntax [data-syntax=
|
|
3673
|
+
.pui-syntax [data-syntax='plain'] {
|
|
3604
3674
|
color: var(--syntax-plain);
|
|
3605
3675
|
}
|
|
3606
|
-
.pui-syntax [data-syntax=
|
|
3676
|
+
.pui-syntax [data-syntax='comment'] {
|
|
3607
3677
|
color: var(--syntax-comment);
|
|
3608
3678
|
}
|
|
3609
|
-
.pui-syntax [data-syntax=
|
|
3679
|
+
.pui-syntax [data-syntax='keyword'] {
|
|
3610
3680
|
color: var(--syntax-keyword);
|
|
3611
3681
|
}
|
|
3612
|
-
.pui-syntax [data-syntax=
|
|
3682
|
+
.pui-syntax [data-syntax='string'] {
|
|
3613
3683
|
color: var(--syntax-string);
|
|
3614
3684
|
}
|
|
3615
|
-
.pui-syntax [data-syntax=
|
|
3685
|
+
.pui-syntax [data-syntax='number'] {
|
|
3616
3686
|
color: var(--syntax-number);
|
|
3617
3687
|
}
|
|
3618
|
-
.pui-syntax [data-syntax=
|
|
3688
|
+
.pui-syntax [data-syntax='function'] {
|
|
3619
3689
|
color: var(--syntax-function);
|
|
3620
3690
|
}
|
|
3621
|
-
.pui-syntax [data-syntax=
|
|
3691
|
+
.pui-syntax [data-syntax='tag'] {
|
|
3622
3692
|
color: var(--syntax-tag);
|
|
3623
3693
|
}
|
|
3624
|
-
.pui-syntax [data-syntax=
|
|
3694
|
+
.pui-syntax [data-syntax='attribute'] {
|
|
3625
3695
|
color: var(--syntax-attribute);
|
|
3626
3696
|
}
|
|
3627
|
-
.pui-syntax [data-syntax=
|
|
3697
|
+
.pui-syntax [data-syntax='punctuation'] {
|
|
3628
3698
|
color: var(--syntax-punctuation);
|
|
3629
3699
|
}
|
|
3630
3700
|
|
|
@@ -3636,10 +3706,26 @@
|
|
|
3636
3706
|
background: var(--code-bg);
|
|
3637
3707
|
border-radius: var(--radius-md);
|
|
3638
3708
|
font: 400 13px/20px var(--font-code);
|
|
3709
|
+
/* Code shows the characters as typed, like the other code text: no === or => ligatures. */
|
|
3710
|
+
font-variant-ligatures: none;
|
|
3639
3711
|
letter-spacing: 0;
|
|
3640
3712
|
tab-size: 2;
|
|
3641
3713
|
white-space: pre;
|
|
3642
3714
|
}
|
|
3715
|
+
/* The visible box keeps its background and corners while long lines scroll inside it. */
|
|
3716
|
+
.pui-syntax-scroll {
|
|
3717
|
+
border-radius: var(--radius-md);
|
|
3718
|
+
background: var(--code-bg);
|
|
3719
|
+
overflow: hidden;
|
|
3720
|
+
}
|
|
3721
|
+
.pui-syntax-scroll .pui-syntax-pre {
|
|
3722
|
+
min-inline-size: max-content;
|
|
3723
|
+
border-radius: 0;
|
|
3724
|
+
background: none;
|
|
3725
|
+
}
|
|
3726
|
+
.pui-syntax-scroll .pui-syntax-pre[data-wrap] {
|
|
3727
|
+
min-inline-size: 0;
|
|
3728
|
+
}
|
|
3643
3729
|
.pui-syntax-pre[data-wrap] {
|
|
3644
3730
|
white-space: pre-wrap;
|
|
3645
3731
|
overflow-wrap: anywhere;
|
|
@@ -3706,3 +3792,41 @@
|
|
|
3706
3792
|
color: CanvasText;
|
|
3707
3793
|
}
|
|
3708
3794
|
}
|
|
3795
|
+
|
|
3796
|
+
/* Touch feedback is each control's own hover and pressed layer, drawn in its own
|
|
3797
|
+
shape. The browser's tap highlight is a rectangle over the box, so it is off. */
|
|
3798
|
+
:where(
|
|
3799
|
+
.pui-button,
|
|
3800
|
+
.pui-tabs-tab,
|
|
3801
|
+
.pui-disclosure-trigger,
|
|
3802
|
+
.pui-accordion-trigger,
|
|
3803
|
+
.pui-collapsible-trigger,
|
|
3804
|
+
.pui-app-shell-link,
|
|
3805
|
+
.pui-tree-item,
|
|
3806
|
+
.pui-tree-toggle,
|
|
3807
|
+
.pui-chart-legend-button,
|
|
3808
|
+
.pui-checkbox,
|
|
3809
|
+
.pui-radio,
|
|
3810
|
+
.pui-switch,
|
|
3811
|
+
.pui-choice-label,
|
|
3812
|
+
.pui-select-trigger,
|
|
3813
|
+
.pui-select-item,
|
|
3814
|
+
.pui-combobox-item,
|
|
3815
|
+
.pui-combobox-action,
|
|
3816
|
+
.pui-combobox-chip-remove,
|
|
3817
|
+
.pui-menu-item,
|
|
3818
|
+
.pui-navigation-trigger,
|
|
3819
|
+
.pui-navigation-link,
|
|
3820
|
+
.pui-link,
|
|
3821
|
+
.pui-breadcrumb-item a,
|
|
3822
|
+
.pui-calendar-day,
|
|
3823
|
+
.pui-calendar-nav,
|
|
3824
|
+
.pui-date-trigger,
|
|
3825
|
+
.pui-file-trigger,
|
|
3826
|
+
.pui-number-step,
|
|
3827
|
+
.pui-slider-control,
|
|
3828
|
+
.pui-toast-action,
|
|
3829
|
+
.pui-toast-close
|
|
3830
|
+
) {
|
|
3831
|
+
-webkit-tap-highlight-color: transparent;
|
|
3832
|
+
}
|