@webority/theme 0.99.0 → 0.100.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 +9 -9
- package/dist/published-theme.json +8 -31
- package/dist/purge-safelist.json +1 -0
- package/dist/webority-theme.css +1 -1
- package/index.scss +4 -3
- package/package.json +6 -3
- package/scss/_bootstrap.generated.scss +18 -0
- package/scss/_components.scss +38 -38
- package/scss/_marketing.scss +8 -8
- package/scss/_tokens.generated.scss +831 -0
- package/scss/_tokens.scss +4 -638
- package/scss/_variables.scss +7 -12
- package/scss/_wui-components.scss +1 -1
- package/scss/_wui-residual.scss +8 -0
- package/scss/wui/_avatar-picker.scss +2 -2
- package/scss/wui/_calendar.scss +6 -6
- package/scss/wui/_card.scss +1 -1
- package/scss/wui/_carousel.scss +2 -2
- package/scss/wui/_chart-card.scss +2 -2
- package/scss/wui/_chart.scss +8 -8
- package/scss/wui/_chat.scss +2 -2
- package/scss/wui/_choice.scss +78 -78
- package/scss/wui/_code-block.scss +2 -2
- package/scss/wui/_command-palette.scss +9 -9
- package/scss/wui/_comment-thread.scss +5 -5
- package/scss/wui/_consent-banner.scss +2 -2
- package/scss/wui/_controls.scss +52 -52
- package/scss/wui/_data.scss +38 -38
- package/scss/wui/_disclosure.scss +6 -6
- package/scss/wui/_display.scss +51 -51
- package/scss/wui/_dock.scss +4 -4
- package/scss/wui/_drawer.scss +3 -3
- package/scss/wui/_file-viewer.scss +2 -2
- package/scss/wui/_filter-popover.scss +1 -1
- package/scss/wui/_floating.scss +1 -1
- package/scss/wui/_flow.scss +60 -60
- package/scss/wui/_groups.scss +7 -7
- package/scss/wui/_hover-card.scss +1 -1
- package/scss/wui/_image-crop.scss +3 -3
- package/scss/wui/_interaction.scss +3 -3
- package/scss/wui/_kanban.scss +4 -4
- package/scss/wui/_lightbox.scss +2 -2
- package/scss/wui/_media.scss +28 -28
- package/scss/wui/_mention-input.scss +4 -4
- package/scss/wui/_menu-motion.scss +1 -1
- package/scss/wui/_modal-remote.scss +2 -2
- package/scss/wui/_navigation-menu.scss +4 -4
- package/scss/wui/_navigation.scss +25 -25
- package/scss/wui/_notification-center.scss +4 -4
- package/scss/wui/_onboarding-checklist.scss +2 -2
- package/scss/wui/_overlays.scss +21 -21
- package/scss/wui/_pending.scss +1 -1
- package/scss/wui/_rich-text.scss +7 -7
- package/scss/wui/_rolling-number.scss +1 -1
- package/scss/wui/_score-scale.scss +1 -1
- package/scss/wui/_sections.scss +8 -8
- package/scss/wui/_shell-parts.scss +15 -15
- package/scss/wui/_shell.scss +20 -20
- package/scss/wui/_shortcuts.scss +1 -1
- package/scss/wui/_sortable.scss +2 -2
- package/scss/wui/_split-view.scss +4 -4
- package/scss/wui/_theme-toggle.scss +1 -1
- package/scss/wui/_tone-pill.scss +2 -2
- package/scss/wui/_toolbar.scss +2 -2
- package/scss/wui/_tree.scss +3 -3
- package/scss/wui/_typography.scss +6 -6
- package/scss/wui/_utilities.scss +27 -19
- package/scss/wui/_whats-new.scss +4 -4
- package/scss/wui/_workspace.scss +16 -16
- package/scss/wui/tour/_advance.scss +1 -1
- package/scss/wui/tour/_base.scss +1 -1
- package/scss/wui/tour/_end.scss +1 -1
- package/scss/wui/tour/_motion.scss +1 -1
- package/token-meanings.json +56 -64
- package/scss/_wui-aliases.scss +0 -495
package/scss/wui/_controls.scss
CHANGED
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
padding: 14px 16px;
|
|
128
128
|
min-height: 56px;
|
|
129
129
|
border: 1px solid var(--color-border);
|
|
130
|
-
border-radius: var(--radius);
|
|
130
|
+
border-radius: var(--wui-radius-md);
|
|
131
131
|
background: var(--color-surface);
|
|
132
132
|
transition:
|
|
133
133
|
border-color 0.12s ease,
|
|
@@ -219,7 +219,7 @@
|
|
|
219
219
|
}
|
|
220
220
|
.form-check-input[type="checkbox"],
|
|
221
221
|
.wui-check {
|
|
222
|
-
border-radius: var(--radius-sm);
|
|
222
|
+
border-radius: var(--wui-radius-sm);
|
|
223
223
|
corner-shape: squircle;
|
|
224
224
|
}
|
|
225
225
|
.form-check-input[type="radio"],
|
|
@@ -393,9 +393,9 @@
|
|
|
393
393
|
.textarea {
|
|
394
394
|
box-sizing: border-box;
|
|
395
395
|
width: 100%;
|
|
396
|
-
height: var(--wui-control-
|
|
396
|
+
height: var(--wui-control-md);
|
|
397
397
|
padding: 6px 12px;
|
|
398
|
-
border-radius: var(--wui-field-radius);
|
|
398
|
+
border-radius: var(--wui-field-md-radius);
|
|
399
399
|
border: 1px solid var(--color-field-border);
|
|
400
400
|
background: var(--color-field-bg);
|
|
401
401
|
font-size: 14px;
|
|
@@ -411,17 +411,17 @@
|
|
|
411
411
|
// BS field can match without the .input alias.
|
|
412
412
|
.form-control-sm,
|
|
413
413
|
.input-sm {
|
|
414
|
-
height: var(--wui-control-
|
|
414
|
+
height: var(--wui-control-sm);
|
|
415
415
|
padding: 5px 10px;
|
|
416
416
|
font-size: 13px;
|
|
417
|
-
border-radius: var(--wui-field-radius
|
|
417
|
+
border-radius: var(--wui-field-sm-radius);
|
|
418
418
|
}
|
|
419
419
|
.form-control-lg,
|
|
420
420
|
.input-lg {
|
|
421
|
-
height: var(--wui-control-
|
|
421
|
+
height: var(--wui-control-lg);
|
|
422
422
|
padding: 9px 16px;
|
|
423
423
|
font-size: 16px;
|
|
424
|
-
border-radius: var(--wui-field-radius
|
|
424
|
+
border-radius: var(--wui-field-lg-radius);
|
|
425
425
|
}
|
|
426
426
|
// xl (size="xl"): the 52px control for large forms. A literal height, because the control-height
|
|
427
427
|
// ladder stops at 44px and its tokens live in the theme's token file. A floating label needs no
|
|
@@ -430,7 +430,7 @@
|
|
|
430
430
|
height: 52px;
|
|
431
431
|
padding: 9px 16px;
|
|
432
432
|
font-size: 16px;
|
|
433
|
-
border-radius: var(--wui-field-radius
|
|
433
|
+
border-radius: var(--wui-field-lg-radius);
|
|
434
434
|
}
|
|
435
435
|
.textarea,
|
|
436
436
|
textarea.form-control {
|
|
@@ -474,7 +474,7 @@ textarea.form-control.autosize {
|
|
|
474
474
|
background-color: var(--color-surface);
|
|
475
475
|
color: var(--color-text);
|
|
476
476
|
// Soft brand border is the focus cue (per the reference) — no ring/shadow.
|
|
477
|
-
border-color: var(--color-
|
|
477
|
+
border-color: var(--color-field-border-focus);
|
|
478
478
|
box-shadow: none;
|
|
479
479
|
}
|
|
480
480
|
.form-control::placeholder,
|
|
@@ -614,7 +614,7 @@ textarea.form-control.autosize {
|
|
|
614
614
|
.field-error {
|
|
615
615
|
font-size: 12px;
|
|
616
616
|
line-height: normal;
|
|
617
|
-
// Must clear AA against the surface: --color-danger-
|
|
617
|
+
// Must clear AA against the surface: --color-danger-pressed (#E82646) is 4.38:1 at this
|
|
618
618
|
// 12px size, under the 4.5:1 floor the a11y gate enforces.
|
|
619
619
|
color: var(--color-danger-text);
|
|
620
620
|
// Tighten the space above the message: .field's 10px gap → effective 8px, without
|
|
@@ -768,7 +768,7 @@ form .wui-field-message:empty {
|
|
|
768
768
|
color: var(--color-text);
|
|
769
769
|
}
|
|
770
770
|
.num-stepper-btns button:active {
|
|
771
|
-
color: var(--color-primary-
|
|
771
|
+
color: var(--color-primary-text);
|
|
772
772
|
}
|
|
773
773
|
.input-date-wrap > .input {
|
|
774
774
|
padding-right: 38px;
|
|
@@ -896,7 +896,7 @@ $wui-field-error-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/
|
|
|
896
896
|
padding-left: calc(var(--wui-input-icon-slot) + var(--wui-input-icon-gap));
|
|
897
897
|
}
|
|
898
898
|
.input-icon:focus-within > .ic {
|
|
899
|
-
color: var(--color-primary-
|
|
899
|
+
color: var(--color-primary-text);
|
|
900
900
|
}
|
|
901
901
|
|
|
902
902
|
// Trailing action beside the field — a control (a labelled button, or a confirmation once the
|
|
@@ -939,14 +939,14 @@ $wui-field-error-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/
|
|
|
939
939
|
border: none;
|
|
940
940
|
background: transparent;
|
|
941
941
|
color: var(--color-text-subtle);
|
|
942
|
-
border-radius: var(--radius);
|
|
942
|
+
border-radius: var(--wui-radius-md);
|
|
943
943
|
cursor: pointer;
|
|
944
944
|
transition:
|
|
945
945
|
color 0.12s ease,
|
|
946
946
|
background 0.12s ease;
|
|
947
947
|
}
|
|
948
948
|
.pw-toggle:hover {
|
|
949
|
-
color: var(--color-primary-
|
|
949
|
+
color: var(--color-primary-text);
|
|
950
950
|
background: transparent;
|
|
951
951
|
}
|
|
952
952
|
.pw-toggle:focus-visible {
|
|
@@ -1009,7 +1009,7 @@ $wui-field-error-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/
|
|
|
1009
1009
|
align-items: stretch;
|
|
1010
1010
|
width: 100%;
|
|
1011
1011
|
border: 1px solid var(--color-field-border);
|
|
1012
|
-
border-radius: var(--wui-field-radius);
|
|
1012
|
+
border-radius: var(--wui-field-md-radius);
|
|
1013
1013
|
// Soft-filled at rest, white on focus — one shared fill for the whole control so the
|
|
1014
1014
|
// prefix/suffix and the input body are always the SAME colour combination as the field.
|
|
1015
1015
|
background: var(--color-field-bg);
|
|
@@ -1022,7 +1022,7 @@ $wui-field-error-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/
|
|
|
1022
1022
|
}
|
|
1023
1023
|
.input-affixed:focus-within {
|
|
1024
1024
|
background: var(--color-surface);
|
|
1025
|
-
border-color: var(--color-
|
|
1025
|
+
border-color: var(--color-field-border-focus);
|
|
1026
1026
|
}
|
|
1027
1027
|
.input-affixed:has(.input.error),
|
|
1028
1028
|
.input-affixed:has(.input[aria-invalid="true"]) {
|
|
@@ -1058,11 +1058,11 @@ $wui-field-error-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/
|
|
|
1058
1058
|
}
|
|
1059
1059
|
.input-affixed .affix-pre {
|
|
1060
1060
|
border-right: 1px solid var(--color-border);
|
|
1061
|
-
border-radius: var(--wui-field-radius) 0 0 var(--wui-field-radius);
|
|
1061
|
+
border-radius: var(--wui-field-md-radius) 0 0 var(--wui-field-md-radius);
|
|
1062
1062
|
}
|
|
1063
1063
|
.input-affixed .affix-suf {
|
|
1064
1064
|
border-left: 1px solid var(--color-border);
|
|
1065
|
-
border-radius: 0 var(--wui-field-radius) var(--wui-field-radius) 0;
|
|
1065
|
+
border-radius: 0 var(--wui-field-md-radius) var(--wui-field-md-radius) 0;
|
|
1066
1066
|
}
|
|
1067
1067
|
|
|
1068
1068
|
// Floating label — the label starts centred as the placeholder, then slides up and shrinks
|
|
@@ -1082,7 +1082,7 @@ $wui-field-error-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/
|
|
|
1082
1082
|
padding: 0 6px;
|
|
1083
1083
|
// Rounded so the background mask reads as a soft pill sitting on the border, not a sharp
|
|
1084
1084
|
// rectangle. Invisible at rest (label fill == field fill); only shows once it floats up.
|
|
1085
|
-
border-radius: var(--radius-sm);
|
|
1085
|
+
border-radius: var(--wui-radius-sm);
|
|
1086
1086
|
max-width: calc(100% - 24px);
|
|
1087
1087
|
overflow: hidden;
|
|
1088
1088
|
text-overflow: ellipsis;
|
|
@@ -1107,7 +1107,7 @@ $wui-field-error-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/
|
|
|
1107
1107
|
transform: translateY(-50%) scale(0.86);
|
|
1108
1108
|
}
|
|
1109
1109
|
.field-float .input:focus ~ .float-label {
|
|
1110
|
-
color: var(--color-primary-
|
|
1110
|
+
color: var(--color-primary-text);
|
|
1111
1111
|
}
|
|
1112
1112
|
.field-float .input.error ~ .float-label {
|
|
1113
1113
|
color: var(--color-danger-text);
|
|
@@ -1167,7 +1167,7 @@ $wui-field-error-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/
|
|
|
1167
1167
|
transform: translateY(-50%) scale(0.86);
|
|
1168
1168
|
}
|
|
1169
1169
|
.field-float:has(.search-select-control.open) .float-label {
|
|
1170
|
-
color: var(--color-primary-
|
|
1170
|
+
color: var(--color-primary-text);
|
|
1171
1171
|
// The control turns white while open, so the label mask follows (a closed select keeps the
|
|
1172
1172
|
// default muted mask, matching its muted resting fill, even while it holds focus).
|
|
1173
1173
|
background: var(--color-surface);
|
|
@@ -1347,7 +1347,7 @@ wui-select[compact] {
|
|
|
1347
1347
|
// red border around a non-input group (e.g. a structure-form card row)
|
|
1348
1348
|
.group-invalid {
|
|
1349
1349
|
border: 1px solid var(--color-danger);
|
|
1350
|
-
border-radius: var(--radius);
|
|
1350
|
+
border-radius: var(--wui-radius-md);
|
|
1351
1351
|
padding: 8px;
|
|
1352
1352
|
}
|
|
1353
1353
|
|
|
@@ -1357,7 +1357,7 @@ wui-select[compact] {
|
|
|
1357
1357
|
display: flex;
|
|
1358
1358
|
align-items: stretch;
|
|
1359
1359
|
border: 1px solid var(--color-field-border);
|
|
1360
|
-
border-radius: var(--wui-field-radius);
|
|
1360
|
+
border-radius: var(--wui-field-md-radius);
|
|
1361
1361
|
// Soft-filled at rest, white on focus — the numeric input and its unit pill share the
|
|
1362
1362
|
// one wrapper fill, same colour combination as every other field.
|
|
1363
1363
|
background: var(--color-field-bg);
|
|
@@ -1371,7 +1371,7 @@ wui-select[compact] {
|
|
|
1371
1371
|
}
|
|
1372
1372
|
.input-with-unit:focus-within {
|
|
1373
1373
|
background: var(--color-surface);
|
|
1374
|
-
border-color: var(--color-
|
|
1374
|
+
border-color: var(--color-field-border-focus);
|
|
1375
1375
|
}
|
|
1376
1376
|
.input-with-unit:has(.num-input.error) {
|
|
1377
1377
|
background: var(--color-surface);
|
|
@@ -1390,13 +1390,13 @@ wui-select[compact] {
|
|
|
1390
1390
|
// wrapper stacks the wrapper's 2px on top, so a 36px field renders at 38px with a
|
|
1391
1391
|
// unit. Subtracting the border here keeps input + wrapper border == the control
|
|
1392
1392
|
// height at every size.
|
|
1393
|
-
height: calc(var(--wui-control-
|
|
1393
|
+
height: calc(var(--wui-control-md) - 2px);
|
|
1394
1394
|
}
|
|
1395
1395
|
.input-with-unit .num-input.input-sm {
|
|
1396
|
-
height: calc(var(--wui-control-
|
|
1396
|
+
height: calc(var(--wui-control-sm) - 2px);
|
|
1397
1397
|
}
|
|
1398
1398
|
.input-with-unit .num-input.input-lg {
|
|
1399
|
-
height: calc(var(--wui-control-
|
|
1399
|
+
height: calc(var(--wui-control-lg) - 2px);
|
|
1400
1400
|
}
|
|
1401
1401
|
.input-with-unit .num-input.wui-input-xl {
|
|
1402
1402
|
height: calc(52px - 2px);
|
|
@@ -1417,7 +1417,7 @@ wui-select[compact] {
|
|
|
1417
1417
|
line-height: 1;
|
|
1418
1418
|
font-weight: 500;
|
|
1419
1419
|
color: var(--color-text-muted);
|
|
1420
|
-
font-family: var(--font-
|
|
1420
|
+
font-family: var(--wui-font-ui);
|
|
1421
1421
|
display: inline-flex;
|
|
1422
1422
|
align-items: center;
|
|
1423
1423
|
white-space: nowrap;
|
|
@@ -1431,7 +1431,7 @@ wui-select[compact] {
|
|
|
1431
1431
|
align-items: stretch;
|
|
1432
1432
|
border: 1px solid var(--color-field-border);
|
|
1433
1433
|
// Field radius ladder (matches AppInput): md 18px; sm/lg step below.
|
|
1434
|
-
border-radius: var(--wui-field-radius);
|
|
1434
|
+
border-radius: var(--wui-field-md-radius);
|
|
1435
1435
|
// Match AppInput exactly: muted resting fill that lifts to a clean surface on focus.
|
|
1436
1436
|
background: var(--color-field-bg);
|
|
1437
1437
|
transition:
|
|
@@ -1447,7 +1447,7 @@ wui-select[compact] {
|
|
|
1447
1447
|
}
|
|
1448
1448
|
.num-wrap:focus-within {
|
|
1449
1449
|
background: var(--color-surface);
|
|
1450
|
-
border-color: var(--color-
|
|
1450
|
+
border-color: var(--color-field-border-focus);
|
|
1451
1451
|
}
|
|
1452
1452
|
.num-wrap:has(.num-input.error),
|
|
1453
1453
|
.num-wrap:has(.num-input.is-invalid),
|
|
@@ -1489,7 +1489,7 @@ wui-select[compact] {
|
|
|
1489
1489
|
display: grid;
|
|
1490
1490
|
place-items: center;
|
|
1491
1491
|
// A control-height cell that shrinks before the value does in a narrow field.
|
|
1492
|
-
flex: 0 1 var(--wui-control-
|
|
1492
|
+
flex: 0 1 var(--wui-control-md);
|
|
1493
1493
|
min-width: 0;
|
|
1494
1494
|
overflow: hidden;
|
|
1495
1495
|
// Fill the field height and centre the glyph. `height: 100%` resolved to auto
|
|
@@ -1506,16 +1506,16 @@ wui-select[compact] {
|
|
|
1506
1506
|
background 0.12s ease;
|
|
1507
1507
|
}
|
|
1508
1508
|
.num-btn:hover:not(:disabled) {
|
|
1509
|
-
color: var(--color-primary-
|
|
1509
|
+
color: var(--color-primary-text);
|
|
1510
1510
|
background: var(--color-bg-muted);
|
|
1511
1511
|
}
|
|
1512
1512
|
.num-btn:focus-visible {
|
|
1513
1513
|
outline: var(--wui-focus-ring-width) solid var(--color-focus-ring);
|
|
1514
1514
|
outline-offset: var(--wui-focus-ring-inset);
|
|
1515
|
-
color: var(--color-primary-
|
|
1515
|
+
color: var(--color-primary-text);
|
|
1516
1516
|
}
|
|
1517
1517
|
.num-btn:active:not(:disabled) {
|
|
1518
|
-
color: color-mix(in srgb, var(--color-primary-
|
|
1518
|
+
color: color-mix(in srgb, var(--color-primary-text) 80%, black);
|
|
1519
1519
|
}
|
|
1520
1520
|
.num-btn:disabled {
|
|
1521
1521
|
color: var(--color-text-subtle);
|
|
@@ -1536,19 +1536,19 @@ wui-select[compact] {
|
|
|
1536
1536
|
// font), the wrapper carries .num-wrap-sm / .num-wrap-lg to scale the button
|
|
1537
1537
|
// cells to match. Default (md) uses the control-height cell above.
|
|
1538
1538
|
.num-wrap-sm {
|
|
1539
|
-
border-radius: var(--wui-field-radius
|
|
1539
|
+
border-radius: var(--wui-field-sm-radius);
|
|
1540
1540
|
}
|
|
1541
1541
|
.num-wrap-sm .num-btn {
|
|
1542
|
-
flex-basis: var(--wui-control-
|
|
1542
|
+
flex-basis: var(--wui-control-sm);
|
|
1543
1543
|
}
|
|
1544
1544
|
.num-wrap-sm .num-input {
|
|
1545
1545
|
font-size: 13px;
|
|
1546
1546
|
}
|
|
1547
1547
|
.num-wrap-lg {
|
|
1548
|
-
border-radius: var(--wui-field-radius
|
|
1548
|
+
border-radius: var(--wui-field-lg-radius);
|
|
1549
1549
|
}
|
|
1550
1550
|
.num-wrap-lg .num-btn {
|
|
1551
|
-
flex-basis: var(--wui-control-
|
|
1551
|
+
flex-basis: var(--wui-control-lg);
|
|
1552
1552
|
}
|
|
1553
1553
|
.num-wrap-lg .num-input {
|
|
1554
1554
|
font-size: 16px;
|
|
@@ -1563,7 +1563,7 @@ wui-select[compact] {
|
|
|
1563
1563
|
font-size: 14px;
|
|
1564
1564
|
font-weight: 500;
|
|
1565
1565
|
color: var(--color-text-muted);
|
|
1566
|
-
font-family: var(--font-
|
|
1566
|
+
font-family: var(--wui-font-ui);
|
|
1567
1567
|
display: inline-flex;
|
|
1568
1568
|
align-items: center;
|
|
1569
1569
|
white-space: nowrap;
|
|
@@ -1584,7 +1584,7 @@ wui-select[compact] {
|
|
|
1584
1584
|
border: 1px solid var(--color-border);
|
|
1585
1585
|
}
|
|
1586
1586
|
.badge-primary {
|
|
1587
|
-
@include wui-tone-pill-colors(primary, var(--color-primary-
|
|
1587
|
+
@include wui-tone-pill-colors(primary, var(--color-primary-text));
|
|
1588
1588
|
border-color: color-mix(in srgb, var(--color-primary) 25%, transparent);
|
|
1589
1589
|
}
|
|
1590
1590
|
.badge-success {
|
|
@@ -1637,7 +1637,7 @@ wui-select[compact] {
|
|
|
1637
1637
|
@include wui-tone-pill-colors(info);
|
|
1638
1638
|
}
|
|
1639
1639
|
.status-label.primary {
|
|
1640
|
-
@include wui-tone-pill-colors(primary, var(--color-primary-
|
|
1640
|
+
@include wui-tone-pill-colors(primary, var(--color-primary-text));
|
|
1641
1641
|
}
|
|
1642
1642
|
// Default/neutral — also the bare `.status-label` look, so an unknown or omitted
|
|
1643
1643
|
// tone still renders as a proper pill instead of transparent text.
|
|
@@ -1656,7 +1656,7 @@ wui-select[compact] {
|
|
|
1656
1656
|
display: inline-flex;
|
|
1657
1657
|
align-items: center;
|
|
1658
1658
|
gap: 8px;
|
|
1659
|
-
min-height: var(--wui-control-
|
|
1659
|
+
min-height: var(--wui-control-md);
|
|
1660
1660
|
padding: 0 14px;
|
|
1661
1661
|
border: 1px solid var(--color-border);
|
|
1662
1662
|
border-radius: 999px;
|
|
@@ -1688,7 +1688,7 @@ wui-select[compact] {
|
|
|
1688
1688
|
.choice-chip:has(input:checked) {
|
|
1689
1689
|
border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
|
|
1690
1690
|
background: var(--color-primary-soft);
|
|
1691
|
-
color: var(--color-primary-
|
|
1691
|
+
color: var(--color-primary-text);
|
|
1692
1692
|
}
|
|
1693
1693
|
// A tick before the label, so selection does not rest on the tint alone. Its slot is kept on every
|
|
1694
1694
|
// chip, so picking one never widens it and a wrapping row never shifts.
|
|
@@ -1721,19 +1721,19 @@ wui-select[compact] {
|
|
|
1721
1721
|
}
|
|
1722
1722
|
.choice-chip:has(input:checked) .count {
|
|
1723
1723
|
background: var(--color-surface);
|
|
1724
|
-
color: var(--color-primary-
|
|
1724
|
+
color: var(--color-primary-text);
|
|
1725
1725
|
}
|
|
1726
1726
|
|
|
1727
1727
|
// Size scale (`size`): height, padding, gap and font step together; md is the base above.
|
|
1728
1728
|
.choice-chip-sm {
|
|
1729
1729
|
gap: 6px;
|
|
1730
|
-
min-height: var(--wui-control-
|
|
1730
|
+
min-height: var(--wui-control-sm);
|
|
1731
1731
|
padding: 0 11px;
|
|
1732
1732
|
font-size: 13px;
|
|
1733
1733
|
}
|
|
1734
1734
|
.choice-chip-lg {
|
|
1735
1735
|
gap: 10px;
|
|
1736
|
-
min-height: var(--wui-control-
|
|
1736
|
+
min-height: var(--wui-control-lg);
|
|
1737
1737
|
padding: 0 18px;
|
|
1738
1738
|
font-size: 15px;
|
|
1739
1739
|
}
|
|
@@ -1834,11 +1834,11 @@ wui-otp {
|
|
|
1834
1834
|
width: 44px;
|
|
1835
1835
|
min-width: 22px;
|
|
1836
1836
|
flex: 0 1 auto;
|
|
1837
|
-
height: var(--wui-control-
|
|
1837
|
+
height: var(--wui-control-lg);
|
|
1838
1838
|
// Colour model matches AppInput exactly: muted resting fill + soft border, same
|
|
1839
1839
|
// field radius. State rules below mirror AppInput's hover/focus/invalid/disabled.
|
|
1840
1840
|
border: 1px solid var(--color-field-border);
|
|
1841
|
-
border-radius: var(--wui-field-radius);
|
|
1841
|
+
border-radius: var(--wui-field-md-radius);
|
|
1842
1842
|
background: var(--color-field-bg);
|
|
1843
1843
|
font-size: 18px;
|
|
1844
1844
|
font-weight: 600;
|
|
@@ -1858,7 +1858,7 @@ wui-otp {
|
|
|
1858
1858
|
// surface fill + soft brand border, no ring.
|
|
1859
1859
|
.otp-slot.active {
|
|
1860
1860
|
background: var(--color-surface);
|
|
1861
|
-
border-color: var(--color-
|
|
1861
|
+
border-color: var(--color-field-border-focus);
|
|
1862
1862
|
box-shadow: none;
|
|
1863
1863
|
}
|
|
1864
1864
|
.otp-field:disabled ~ .otp-slots .otp-slot {
|
|
@@ -1954,7 +1954,7 @@ wui-otp[aria-invalid="true"] .otp-slot {
|
|
|
1954
1954
|
background-color: var(--color-surface);
|
|
1955
1955
|
border: 3px solid var(--color-primary);
|
|
1956
1956
|
border-radius: 50%;
|
|
1957
|
-
box-shadow: var(--wui-shadow
|
|
1957
|
+
box-shadow: var(--wui-thumb-shadow);
|
|
1958
1958
|
cursor: pointer;
|
|
1959
1959
|
// The thumb owns every touch that starts on it. Left at the default, a touch browser
|
|
1960
1960
|
// reads the first few pixels of a horizontal drag as a pan, cancels the pointer stream
|
|
@@ -1967,7 +1967,7 @@ wui-otp[aria-invalid="true"] .otp-slot {
|
|
|
1967
1967
|
}
|
|
1968
1968
|
.slider-thumb:hover:not(:disabled) {
|
|
1969
1969
|
transform: scale(1.08);
|
|
1970
|
-
box-shadow: var(--wui-shadow-
|
|
1970
|
+
box-shadow: var(--wui-thumb-shadow-hover);
|
|
1971
1971
|
}
|
|
1972
1972
|
.slider-thumb:active:not(:disabled) {
|
|
1973
1973
|
transform: scale(1.14);
|
package/scss/wui/_data.scss
CHANGED
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
.empty-state-icon {
|
|
44
44
|
width: 48px;
|
|
45
45
|
height: 48px;
|
|
46
|
-
border-radius: var(--radius-lg);
|
|
46
|
+
border-radius: var(--wui-radius-lg);
|
|
47
47
|
background: var(--color-primary-soft);
|
|
48
|
-
color: var(--color-primary-
|
|
48
|
+
color: var(--color-primary-text);
|
|
49
49
|
display: inline-flex;
|
|
50
50
|
align-items: center;
|
|
51
51
|
justify-content: center;
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
height: 50px;
|
|
71
71
|
border-radius: 50%;
|
|
72
72
|
background: color-mix(in srgb, var(--color-primary) 10%, transparent);
|
|
73
|
-
color: var(--color-primary-
|
|
73
|
+
color: var(--color-primary-text);
|
|
74
74
|
margin-bottom: 16px;
|
|
75
75
|
}
|
|
76
76
|
.tbl-empty-title {
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
height: 28px;
|
|
255
255
|
padding: 0;
|
|
256
256
|
border: none;
|
|
257
|
-
border-radius: var(--radius-sm, 6px);
|
|
257
|
+
border-radius: var(--wui-radius-sm, 6px);
|
|
258
258
|
background: transparent;
|
|
259
259
|
color: var(--color-text-subtle);
|
|
260
260
|
cursor: pointer;
|
|
@@ -271,7 +271,7 @@
|
|
|
271
271
|
outline-offset: var(--wui-focus-ring-offset);
|
|
272
272
|
}
|
|
273
273
|
.wui-expand-toggle .wui-icon {
|
|
274
|
-
transition: transform 0.18s var(--wui-ease-out
|
|
274
|
+
transition: transform 0.18s var(--wui-ease-out, ease);
|
|
275
275
|
}
|
|
276
276
|
.wui-expand-toggle.is-open .wui-icon {
|
|
277
277
|
transform: rotate(180deg);
|
|
@@ -310,7 +310,7 @@
|
|
|
310
310
|
padding: 0 12px;
|
|
311
311
|
background: var(--wui-table-header-bg, var(--color-bg-muted));
|
|
312
312
|
border-bottom: none;
|
|
313
|
-
font-family: var(--font-
|
|
313
|
+
font-family: var(--wui-font-ui);
|
|
314
314
|
font-size: 12px;
|
|
315
315
|
font-weight: 500;
|
|
316
316
|
line-height: 17px;
|
|
@@ -323,17 +323,17 @@
|
|
|
323
323
|
}
|
|
324
324
|
.table-ledger thead th:first-child {
|
|
325
325
|
padding-left: 20px;
|
|
326
|
-
border-radius: var(--radius-sm) 0 0 var(--radius-sm);
|
|
326
|
+
border-radius: var(--wui-radius-sm) 0 0 var(--wui-radius-sm);
|
|
327
327
|
}
|
|
328
328
|
.table-ledger thead th:last-child {
|
|
329
329
|
padding-right: 20px;
|
|
330
|
-
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
|
330
|
+
border-radius: 0 var(--wui-radius-sm) var(--wui-radius-sm) 0;
|
|
331
331
|
}
|
|
332
332
|
.table-ledger tbody td {
|
|
333
333
|
height: 54px;
|
|
334
334
|
padding: 12px;
|
|
335
335
|
border-bottom: 0.5px solid var(--color-border);
|
|
336
|
-
font-family: var(--font-
|
|
336
|
+
font-family: var(--wui-font-ui);
|
|
337
337
|
font-size: 12px;
|
|
338
338
|
font-weight: 500;
|
|
339
339
|
line-height: 15px;
|
|
@@ -503,7 +503,7 @@
|
|
|
503
503
|
gap: 8px;
|
|
504
504
|
min-height: 40px;
|
|
505
505
|
padding: 4px 8px 4px 16px;
|
|
506
|
-
border-radius: var(--radius);
|
|
506
|
+
border-radius: var(--wui-radius-md);
|
|
507
507
|
background: var(--color-primary-soft);
|
|
508
508
|
}
|
|
509
509
|
.wui-table-toolbar-count {
|
|
@@ -636,8 +636,8 @@
|
|
|
636
636
|
padding: 12px;
|
|
637
637
|
background: var(--color-surface);
|
|
638
638
|
border: 1px solid var(--color-border);
|
|
639
|
-
border-radius: var(--radius-xl);
|
|
640
|
-
box-shadow: var(--shadow-
|
|
639
|
+
border-radius: var(--wui-radius-xl);
|
|
640
|
+
box-shadow: var(--wui-shadow-popover);
|
|
641
641
|
}
|
|
642
642
|
.wui-filter-more:not([open]) > .wui-filter-more-panel {
|
|
643
643
|
display: none;
|
|
@@ -670,7 +670,7 @@
|
|
|
670
670
|
overflow-y: auto;
|
|
671
671
|
padding: 16px 20px 24px;
|
|
672
672
|
border-width: 1px 0 0;
|
|
673
|
-
border-radius: var(--radius-xl) var(--radius-xl) 0 0;
|
|
673
|
+
border-radius: var(--wui-radius-xl) var(--wui-radius-xl) 0 0;
|
|
674
674
|
}
|
|
675
675
|
.wui-filter-more[open] > summary::before {
|
|
676
676
|
content: "";
|
|
@@ -702,12 +702,12 @@
|
|
|
702
702
|
.select.tpg-select {
|
|
703
703
|
width: auto;
|
|
704
704
|
min-width: 64px;
|
|
705
|
-
height: var(--wui-control-
|
|
706
|
-
min-height: var(--wui-control-
|
|
705
|
+
height: var(--wui-control-sm);
|
|
706
|
+
min-height: var(--wui-control-sm);
|
|
707
707
|
padding: 0 28px 0 12px;
|
|
708
708
|
font-size: 13px;
|
|
709
709
|
font-weight: 600;
|
|
710
|
-
border-radius: var(--radius);
|
|
710
|
+
border-radius: var(--wui-radius-md);
|
|
711
711
|
background-position: right 8px center;
|
|
712
712
|
background-size: 14px;
|
|
713
713
|
}
|
|
@@ -728,8 +728,8 @@
|
|
|
728
728
|
.tpg-arrow {
|
|
729
729
|
display: grid;
|
|
730
730
|
place-items: center;
|
|
731
|
-
width: var(--wui-control-
|
|
732
|
-
height: var(--wui-control-
|
|
731
|
+
width: var(--wui-control-sm);
|
|
732
|
+
height: var(--wui-control-sm);
|
|
733
733
|
border: none;
|
|
734
734
|
background: transparent;
|
|
735
735
|
color: var(--color-text-muted);
|
|
@@ -741,7 +741,7 @@
|
|
|
741
741
|
}
|
|
742
742
|
.tpg-arrow:hover:not(:disabled) {
|
|
743
743
|
background: color-mix(in srgb, var(--color-primary) 10%, transparent);
|
|
744
|
-
color: var(--color-primary-
|
|
744
|
+
color: var(--color-primary-text);
|
|
745
745
|
}
|
|
746
746
|
.tpg-arrow:focus-visible {
|
|
747
747
|
outline: var(--wui-focus-ring-width) solid var(--color-focus-ring);
|
|
@@ -758,8 +758,8 @@
|
|
|
758
758
|
.tpg-page {
|
|
759
759
|
display: grid;
|
|
760
760
|
place-items: center;
|
|
761
|
-
min-width: var(--wui-control-
|
|
762
|
-
height: var(--wui-control-
|
|
761
|
+
min-width: var(--wui-control-sm);
|
|
762
|
+
height: var(--wui-control-sm);
|
|
763
763
|
padding: 0 6px;
|
|
764
764
|
border: none;
|
|
765
765
|
background: transparent;
|
|
@@ -776,7 +776,7 @@
|
|
|
776
776
|
}
|
|
777
777
|
.tpg-page:hover:not(.is-active) {
|
|
778
778
|
background: color-mix(in srgb, var(--color-primary) 10%, transparent);
|
|
779
|
-
color: var(--color-primary-
|
|
779
|
+
color: var(--color-primary-text);
|
|
780
780
|
}
|
|
781
781
|
.tpg-page:focus-visible {
|
|
782
782
|
outline: var(--wui-focus-ring-width) solid var(--color-focus-ring);
|
|
@@ -784,14 +784,14 @@
|
|
|
784
784
|
}
|
|
785
785
|
.tpg-page.is-active {
|
|
786
786
|
background: var(--color-primary);
|
|
787
|
-
color: var(--color-primary
|
|
787
|
+
color: var(--color-on-primary);
|
|
788
788
|
cursor: default;
|
|
789
789
|
}
|
|
790
790
|
.tpg-ellipsis {
|
|
791
791
|
display: grid;
|
|
792
792
|
place-items: center;
|
|
793
793
|
min-width: 24px;
|
|
794
|
-
height: var(--wui-control-
|
|
794
|
+
height: var(--wui-control-sm);
|
|
795
795
|
color: var(--color-text-subtle);
|
|
796
796
|
font-size: 13px;
|
|
797
797
|
user-select: none;
|
|
@@ -799,19 +799,19 @@
|
|
|
799
799
|
// A finger needs a 44px target: the pager's controls grow to the control height on a phone.
|
|
800
800
|
@media (max-width: 575.98px) {
|
|
801
801
|
.select.tpg-select {
|
|
802
|
-
height: var(--wui-control-
|
|
803
|
-
min-height: var(--wui-control-
|
|
802
|
+
height: var(--wui-control-md);
|
|
803
|
+
min-height: var(--wui-control-md);
|
|
804
804
|
}
|
|
805
805
|
.tpg-arrow {
|
|
806
|
-
width: var(--wui-control-
|
|
807
|
-
height: var(--wui-control-
|
|
806
|
+
width: var(--wui-control-md);
|
|
807
|
+
height: var(--wui-control-md);
|
|
808
808
|
}
|
|
809
809
|
.tpg-page {
|
|
810
|
-
min-width: var(--wui-control-
|
|
811
|
-
height: var(--wui-control-
|
|
810
|
+
min-width: var(--wui-control-md);
|
|
811
|
+
height: var(--wui-control-md);
|
|
812
812
|
}
|
|
813
813
|
.tpg-ellipsis {
|
|
814
|
-
height: var(--wui-control-
|
|
814
|
+
height: var(--wui-control-md);
|
|
815
815
|
}
|
|
816
816
|
}
|
|
817
817
|
|
|
@@ -1086,7 +1086,7 @@
|
|
|
1086
1086
|
margin-bottom: 12px;
|
|
1087
1087
|
padding: 12px 16px;
|
|
1088
1088
|
border: 1px solid var(--color-border);
|
|
1089
|
-
border-radius: var(--radius-lg, 12px);
|
|
1089
|
+
border-radius: var(--wui-radius-lg, 12px);
|
|
1090
1090
|
}
|
|
1091
1091
|
.table-ledger.wui-table-stack > tbody > tr > td,
|
|
1092
1092
|
.table-ledger.wui-table-stack > tfoot > tr > td {
|
|
@@ -1363,7 +1363,7 @@
|
|
|
1363
1363
|
}
|
|
1364
1364
|
.u-action:hover:not(:disabled) {
|
|
1365
1365
|
background: color-mix(in srgb, var(--color-primary) 10%, transparent);
|
|
1366
|
-
color: var(--color-primary-
|
|
1366
|
+
color: var(--color-primary-text);
|
|
1367
1367
|
}
|
|
1368
1368
|
.u-action:focus-visible {
|
|
1369
1369
|
outline: var(--wui-focus-ring-width) solid var(--color-focus-ring);
|
|
@@ -1382,7 +1382,7 @@
|
|
|
1382
1382
|
}
|
|
1383
1383
|
.u-action.u-action-preview {
|
|
1384
1384
|
background: var(--color-primary-soft);
|
|
1385
|
-
color: var(--color-primary-
|
|
1385
|
+
color: var(--color-primary-text);
|
|
1386
1386
|
}
|
|
1387
1387
|
.u-action.u-action-download {
|
|
1388
1388
|
background: var(--color-success-soft);
|
|
@@ -1394,7 +1394,7 @@
|
|
|
1394
1394
|
}
|
|
1395
1395
|
.u-action.u-action-preview:hover:not(:disabled) {
|
|
1396
1396
|
background: var(--color-primary-soft);
|
|
1397
|
-
color: var(--color-primary-
|
|
1397
|
+
color: var(--color-primary-text);
|
|
1398
1398
|
}
|
|
1399
1399
|
.u-action.u-action-download:hover:not(:disabled) {
|
|
1400
1400
|
background: var(--color-success-soft);
|
|
@@ -1424,7 +1424,7 @@
|
|
|
1424
1424
|
place-items: center;
|
|
1425
1425
|
font-size: 16px;
|
|
1426
1426
|
font-weight: 600;
|
|
1427
|
-
color: var(--color-primary-
|
|
1427
|
+
color: var(--color-primary-text);
|
|
1428
1428
|
background: color-mix(in srgb, var(--color-primary) 20%, transparent);
|
|
1429
1429
|
}
|
|
1430
1430
|
.u-meta {
|
|
@@ -1497,7 +1497,7 @@
|
|
|
1497
1497
|
.table th.sortable[aria-sort="ascending"] .sort-icon,
|
|
1498
1498
|
.table th.sortable[aria-sort="descending"] .sort-icon {
|
|
1499
1499
|
opacity: 1;
|
|
1500
|
-
color: var(--color-primary-
|
|
1500
|
+
color: var(--color-primary-text);
|
|
1501
1501
|
}
|
|
1502
1502
|
.table th.sortable[aria-sort="descending"] .sort-icon {
|
|
1503
1503
|
transform: rotate(180deg);
|
|
@@ -1667,7 +1667,7 @@ wui-data-table {
|
|
|
1667
1667
|
max-width: 100%;
|
|
1668
1668
|
padding: 4px 8px 4px 4px;
|
|
1669
1669
|
border: none;
|
|
1670
|
-
border-radius: var(--radius-sm, 6px);
|
|
1670
|
+
border-radius: var(--wui-radius-sm, 6px);
|
|
1671
1671
|
background: transparent;
|
|
1672
1672
|
color: inherit;
|
|
1673
1673
|
font: inherit;
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
background: var(--color-surface);
|
|
28
28
|
overflow: hidden;
|
|
29
29
|
transition: border-color 0.15s ease;
|
|
30
|
-
border-radius: var(--wui-field-radius);
|
|
30
|
+
border-radius: var(--wui-field-md-radius);
|
|
31
31
|
}
|
|
32
32
|
.faq-item:hover:not(.open) {
|
|
33
33
|
border-color: var(--color-border-strong);
|
|
@@ -54,14 +54,14 @@
|
|
|
54
54
|
transition: color 0.12s ease;
|
|
55
55
|
}
|
|
56
56
|
.faq-q:hover {
|
|
57
|
-
color: var(--color-primary-
|
|
57
|
+
color: var(--color-primary-text);
|
|
58
58
|
}
|
|
59
59
|
.faq-q:focus-visible {
|
|
60
60
|
outline: var(--wui-focus-ring-width) solid var(--color-focus-ring);
|
|
61
61
|
outline-offset: var(--wui-focus-ring-inset);
|
|
62
62
|
}
|
|
63
63
|
.faq-item.open .faq-q {
|
|
64
|
-
color: var(--color-primary-
|
|
64
|
+
color: var(--color-primary-text);
|
|
65
65
|
}
|
|
66
66
|
// Chevron rotates to point up when the pane is open.
|
|
67
67
|
.faq-q-icon {
|
|
@@ -69,11 +69,11 @@
|
|
|
69
69
|
display: grid;
|
|
70
70
|
place-items: center;
|
|
71
71
|
color: var(--color-text-subtle);
|
|
72
|
-
transition: transform 0.2s var(--wui-ease-out
|
|
72
|
+
transition: transform 0.2s var(--wui-ease-out);
|
|
73
73
|
}
|
|
74
74
|
.faq-item.open .faq-q-icon {
|
|
75
75
|
transform: rotate(180deg);
|
|
76
|
-
color: var(--color-primary-
|
|
76
|
+
color: var(--color-primary-text);
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
// The animating track. `min-height: 0` on the inner element is required — a grid
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
.faq-a-wrap {
|
|
83
83
|
display: grid;
|
|
84
84
|
grid-template-rows: 0fr;
|
|
85
|
-
transition: grid-template-rows 0.28s var(--wui-ease-out
|
|
85
|
+
transition: grid-template-rows 0.28s var(--wui-ease-out);
|
|
86
86
|
}
|
|
87
87
|
.faq-item.open .faq-a-wrap {
|
|
88
88
|
grid-template-rows: 1fr;
|