@jirawatpyk/aura-react 5.29.0 → 5.30.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 +40 -0
- package/dist/aura.bundle.js +115 -21
- package/dist/cjs/index.cjs +115 -21
- package/dist/esm/Checkbox.js +4 -2
- package/dist/esm/DataTable.js +36 -0
- package/dist/esm/Field.js +2 -1
- package/dist/esm/Menu.js +61 -14
- package/dist/esm/RadioGroup.js +7 -2
- package/dist/esm/Select.js +2 -2
- package/dist/esm/Tag.js +1 -1
- package/dist/esm/TextField.js +2 -2
- package/dist/esm/Textarea.js +2 -2
- package/dist/esm/classes.js +5 -1
- package/dist/esm/internal.js +2 -1
- package/dist/index.d.cts +19 -0
- package/dist/index.d.ts +19 -0
- package/dist/styles.css +128 -39
- package/dist/styles.layer.css +128 -39
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
border: 0;
|
|
13
13
|
background: transparent;
|
|
14
14
|
color: inherit;
|
|
15
|
-
font-family: inherit
|
|
15
|
+
font-family: var(--font-sans); /* 5.30: not inherit — a trigger outside a styled root fell back to Arial */
|
|
16
16
|
font-size: 13px;
|
|
17
17
|
font-weight: 500;
|
|
18
18
|
line-height: 1;
|
|
@@ -44,6 +44,19 @@ button.aura-btn--secondary[aria-disabled='true']:hover, button.aura-btn--ghost[a
|
|
|
44
44
|
button.aura-btn--danger-secondary[aria-disabled='true']:hover { background: transparent; }
|
|
45
45
|
button.aura-btn--danger[aria-disabled='true']:hover { background: var(--aura-button-danger-bg); }
|
|
46
46
|
button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-shadow-creative); transform: none; }
|
|
47
|
+
/* 5.30: a disabled filled button (primary, danger, creative) is a quiet grey fill with muted text, not a faded copy of
|
|
48
|
+
* itself — faded ink read as a separate grey button, faded red as pink. Outline and ghost buttons keep the fade. */
|
|
49
|
+
.aura-btn:is(.aura-btn--primary, .aura-btn--danger, .aura-btn--creative):is(:disabled, [aria-disabled='true']:not(.is-loading)),
|
|
50
|
+
.aura-btn:is(.aura-btn--primary, .aura-btn--danger, .aura-btn--creative):is(:disabled, [aria-disabled='true']:not(.is-loading)):hover {
|
|
51
|
+
opacity: 1; background: var(--aura-button-disabled-bg); color: var(--aura-button-disabled-fg); border-color: transparent; box-shadow: none;
|
|
52
|
+
}
|
|
53
|
+
/* Forced colours drop the fills: filled buttons get a 1px edge (as outline buttons have), and a disabled or gated one
|
|
54
|
+
* (still focusable) shows GrayText and keeps the fade, without changing size. */
|
|
55
|
+
@media (forced-colors: active) {
|
|
56
|
+
.aura-btn:is(.aura-btn--primary, .aura-btn--danger) { border: 1px solid ButtonText; }
|
|
57
|
+
.aura-btn.aura-btn:is(:disabled, [aria-disabled='true']:not(.is-loading)),
|
|
58
|
+
.aura-btn.aura-btn.aura-btn:is(:disabled, [aria-disabled='true']:not(.is-loading)):hover { color: GrayText; border-color: GrayText; opacity: var(--aura-disabled-opacity); }
|
|
59
|
+
}
|
|
47
60
|
.aura-btn.is-loading:active { transform: none; }
|
|
48
61
|
|
|
49
62
|
/* Focus — ADDED: the source defines none. Solid 2px ring, 2px offset, on every interactive element. */
|
|
@@ -93,10 +106,17 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
|
|
|
93
106
|
color: var(--aura-fg-primary);
|
|
94
107
|
}
|
|
95
108
|
.aura-table__scroll { position: relative; overflow: auto; overscroll-behavior: contain; height: var(--aura-table-h, auto); }
|
|
109
|
+
/* 5.30: more columns past the end edge — a soft shadow over the grid's end edge (not over its scrollbars, its footer
|
|
110
|
+
* or the column button), so it reads as scrolling sideways. JavaScript places it (top, height, scrollbar inset). */
|
|
111
|
+
.aura-table__edge {
|
|
112
|
+
position: absolute; z-index: 4; inset-inline-end: var(--aura-edge-sb, 0px); top: var(--aura-edge-top, 0px); height: var(--aura-edge-h, 0px);
|
|
113
|
+
width: 16px; pointer-events: none; background: linear-gradient(to left, var(--aura-scroll-shadow), transparent);
|
|
114
|
+
}
|
|
115
|
+
.aura-table__edge:dir(rtl) { background: linear-gradient(to right, var(--aura-scroll-shadow), transparent); }
|
|
96
116
|
.aura-table__head {
|
|
97
117
|
position: sticky; top: 0; z-index: 3; box-sizing: border-box; /* the hairline is inside the row height */
|
|
98
118
|
display: flex; height: var(--aura-table-row-height); min-width: var(--aura-row-min, 0);
|
|
99
|
-
background: var(--aura-bg
|
|
119
|
+
background: var(--aura-table-head-bg);
|
|
100
120
|
border-bottom: 1px solid var(--aura-border-default);
|
|
101
121
|
font-family: var(--font-mono); font-size: 12px; color: var(--aura-fg-secondary);
|
|
102
122
|
}
|
|
@@ -169,7 +189,7 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
|
|
|
169
189
|
.aura-table__gutter--end { position: static; }
|
|
170
190
|
.aura-table__picker {
|
|
171
191
|
position: absolute; top: 0; right: 0; z-index: 5; width: var(--aura-space-12); height: calc(var(--aura-table-row-height) - 1px);
|
|
172
|
-
display: flex; align-items: center; justify-content: center; background: var(--aura-bg
|
|
192
|
+
display: flex; align-items: center; justify-content: center; background: var(--aura-table-head-bg); border-top-right-radius: calc(var(--aura-card-radius) - 1px);
|
|
173
193
|
}
|
|
174
194
|
.aura-table__gutter--end.has-picker {
|
|
175
195
|
width: var(--aura-space-12); position: sticky; left: auto; right: 0;
|
|
@@ -270,7 +290,7 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
|
|
|
270
290
|
display: inline-flex; align-items: center; justify-content: center;
|
|
271
291
|
border: 1.5px solid var(--aura-border-control); border-radius: var(--aura-radius-xs);
|
|
272
292
|
}
|
|
273
|
-
.aura-menu__check.is-on { background: var(--aura-
|
|
293
|
+
.aura-menu__check.is-on { background: var(--aura-control-checked-bg); border-color: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); }
|
|
274
294
|
.aura-menu__check.is-on .aura-icon { color: inherit; }
|
|
275
295
|
.aura-menu__item--danger, .aura-menu__item--danger .aura-icon { color: var(--aura-fg-danger); }
|
|
276
296
|
.aura-menu__item--danger:hover, .aura-menu__item--danger:focus { background: var(--aura-alert-danger-bg); color: var(--aura-alert-danger-fg); }
|
|
@@ -280,8 +300,8 @@ a.aura-menu__item { text-decoration: none; box-sizing: border-box; }
|
|
|
280
300
|
flex: none; box-sizing: border-box; width: 16px; height: 16px; border-radius: var(--aura-radius-full);
|
|
281
301
|
border: 1px solid var(--aura-border-control); display: inline-flex; align-items: center; justify-content: center;
|
|
282
302
|
}
|
|
283
|
-
.aura-menu__radio.is-on { border-color: var(--aura-
|
|
284
|
-
.aura-menu__radio.is-on::after { content: ''; width: 8px; height: 8px; border-radius: var(--aura-radius-full); background: var(--aura-
|
|
303
|
+
.aura-menu__radio.is-on { border-color: var(--aura-control-checked-bg); }
|
|
304
|
+
.aura-menu__radio.is-on::after { content: ''; width: 8px; height: 8px; border-radius: var(--aura-radius-full); background: var(--aura-control-checked-bg); }
|
|
285
305
|
/* 5.7: a header above the items (who is signed in), set off by a hairline like a separator. */
|
|
286
306
|
.aura-menu__header { margin: calc(-1 * var(--aura-space-1)) calc(-1 * var(--aura-space-1)) var(--aura-space-1); padding: var(--aura-space-3); border-bottom: 1px solid var(--aura-border-default); color: var(--aura-fg-secondary); font-size: 12px; line-height: 18px; overflow-wrap: anywhere; }
|
|
287
307
|
.aura-menu__header > * { margin: 0; }
|
|
@@ -341,7 +361,7 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
341
361
|
/* 5.29 (Chamber-OS 134): a DataTable skeleton row stands in for the real one — text lines (skeletonLines) on the 20px
|
|
342
362
|
* line, and a button-height bar where row actions go: 32px, or 44px under the touchHeight rule with the column's
|
|
343
363
|
* skeletonTouch; full width in a card footer. */
|
|
344
|
-
.aura-skel--action { flex: none; width: var(--aura-button-height-sm); height: var(--aura-button-height-sm); border-radius: var(--aura-radius
|
|
364
|
+
.aura-skel--action { flex: none; width: var(--aura-button-height-sm); height: var(--aura-button-height-sm); border-radius: var(--aura-button-radius); } /* 5.30: the button's own shape */
|
|
345
365
|
.aura-skel--action.is-footer { width: 100%; }
|
|
346
366
|
.aura-table__td.is-end > .aura-skel-lines { align-items: flex-end; }
|
|
347
367
|
@media (max-width: 639.98px), (pointer: coarse) {
|
|
@@ -373,12 +393,12 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
373
393
|
box-sizing: border-box; width: 100%; height: 100%;
|
|
374
394
|
display: inline-flex; align-items: center; justify-content: center;
|
|
375
395
|
border: 1.5px solid var(--aura-border-control); border-radius: var(--aura-radius-xs);
|
|
376
|
-
background: var(--aura-bg-surface); color: var(--aura-
|
|
396
|
+
background: var(--aura-bg-surface); color: var(--aura-control-checked-fg);
|
|
377
397
|
transition: background var(--aura-duration-fast) var(--aura-ease), border-color var(--aura-duration-fast) var(--aura-ease);
|
|
378
398
|
pointer-events: none;
|
|
379
399
|
}
|
|
380
400
|
.aura-check__input:checked + .aura-check__box,
|
|
381
|
-
.aura-check__input:indeterminate + .aura-check__box { background: var(--aura-
|
|
401
|
+
.aura-check__input:indeterminate + .aura-check__box { background: var(--aura-control-checked-bg); border-color: var(--aura-control-checked-bg); }
|
|
382
402
|
.aura-check__input:focus-visible + .aura-check__box { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
|
|
383
403
|
.aura-table__mono { font-family: var(--font-mono); }
|
|
384
404
|
|
|
@@ -391,6 +411,7 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
391
411
|
border-radius: var(--aura-radius-full);
|
|
392
412
|
padding: 2px var(--aura-space-2) 2px 6px;
|
|
393
413
|
font-size: 11px;
|
|
414
|
+
font-weight: 500; /* 5.30 (Chamber-OS 137): medium everywhere, not the parent's weight; Badge stays 600 */
|
|
394
415
|
line-height: 16px;
|
|
395
416
|
white-space: nowrap;
|
|
396
417
|
background: var(--aura-status-neutral-bg);
|
|
@@ -521,30 +542,31 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
521
542
|
border: 1.5px solid var(--aura-border-control); background: var(--aura-bg-input); cursor: inherit;
|
|
522
543
|
transition: border-width var(--aura-duration-fast) var(--aura-ease);
|
|
523
544
|
}
|
|
524
|
-
.aura-radio:checked { border: 5px solid var(--aura-
|
|
545
|
+
.aura-radio:checked { border: 5px solid var(--aura-control-checked-bg); background: var(--aura-control-checked-fg); }
|
|
525
546
|
.aura-radio:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
|
|
526
547
|
.aura-radio-group.is-invalid .aura-radio:not(:checked) { border-color: var(--aura-border-danger); }
|
|
527
548
|
|
|
528
549
|
.aura-switch-row { display: flex; align-items: flex-start; gap: var(--aura-space-3); font-family: var(--font-sans); }
|
|
529
550
|
/* 5.10.1: disabled rows, on or off, are treated alike and stay readable — the label turns secondary, the description
|
|
530
|
-
* keeps its colour (often the reason it's locked) — and only the switch fades: off to the disabled opacity, on
|
|
551
|
+
* keeps its colour (often the reason it's locked) — and only the switch fades: off to the disabled opacity, on keeps its track and fades its thumb (5.30: the violet track at 0.75 fell under 3:1),
|
|
531
552
|
* ≥3:1 apart in both themes, so "locked on" never looks like "off". */
|
|
532
553
|
.aura-switch-row.is-disabled { cursor: not-allowed; }
|
|
533
554
|
.aura-switch-row.is-disabled .aura-choice__label { color: var(--aura-fg-secondary); cursor: not-allowed; }
|
|
534
555
|
.aura-switch:disabled { opacity: var(--aura-disabled-opacity); }
|
|
535
|
-
.aura-switch.is-on:disabled { opacity:
|
|
556
|
+
.aura-switch.is-on:disabled { opacity: 1; } /* 5.30: the violet track stays whole (faded, it fell under 3:1 from off)… */
|
|
557
|
+
.aura-switch.is-on:disabled .aura-switch__thumb { opacity: 0.6; } /* …and the thumb fades, so it doesn't look enabled */
|
|
536
558
|
.aura-switch {
|
|
537
559
|
position: relative; flex: none; box-sizing: border-box; margin: 0; padding: 0;
|
|
538
560
|
width: var(--aura-switch-width); height: var(--aura-switch-height); border-radius: var(--aura-radius-full);
|
|
539
561
|
border: 0; background: var(--aura-border-control); cursor: pointer;
|
|
540
562
|
transition: background var(--aura-duration-fast) var(--aura-ease);
|
|
541
563
|
}
|
|
542
|
-
.aura-switch.is-on { background: var(--aura-
|
|
564
|
+
.aura-switch.is-on { background: var(--aura-control-checked-bg); }
|
|
543
565
|
.aura-switch__thumb {
|
|
544
566
|
position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: var(--aura-radius-full);
|
|
545
567
|
background: var(--aura-bg-surface); transition: transform var(--aura-duration-fast) var(--aura-ease);
|
|
546
568
|
}
|
|
547
|
-
.aura-switch.is-on .aura-switch__thumb { transform: translateX(16px); background: var(--aura-
|
|
569
|
+
.aura-switch.is-on .aura-switch__thumb { transform: translateX(16px); background: var(--aura-control-checked-fg); }
|
|
548
570
|
.aura-switch:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
|
|
549
571
|
.aura-switch:disabled { cursor: not-allowed; }
|
|
550
572
|
/* 5.19 (Chamber-OS 113): a read-only switch keeps its colours (a locked "on" reads as on at full contrast) and stays
|
|
@@ -717,7 +739,7 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
717
739
|
transition: color var(--aura-duration-fast) var(--aura-ease), border-color var(--aura-duration-fast) var(--aura-ease);
|
|
718
740
|
}
|
|
719
741
|
.aura-tab:hover { color: var(--aura-fg-primary); }
|
|
720
|
-
.aura-tab.is-active { color: var(--aura-fg-primary); border-bottom-color: var(--aura-
|
|
742
|
+
.aura-tab.is-active { color: var(--aura-fg-primary); border-bottom-color: var(--aura-control-checked-bg); }
|
|
721
743
|
.aura-tab:disabled, .aura-tab.is-disabled { opacity: var(--aura-disabled-opacity); cursor: not-allowed; }
|
|
722
744
|
a.aura-tab { text-decoration: none; }
|
|
723
745
|
.aura-tab:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: -4px; border-radius: var(--aura-radius-xs); }
|
|
@@ -924,7 +946,7 @@ a.aura-tab { text-decoration: none; }
|
|
|
924
946
|
.aura-cal__day:hover { background: var(--aura-bg-surface-hover); }
|
|
925
947
|
.aura-cal__day.is-outside { color: var(--aura-fg-tertiary); }
|
|
926
948
|
.aura-cal__day.is-today { box-shadow: inset 0 0 0 1px var(--aura-border-control); font-weight: 600; }
|
|
927
|
-
.aura-cal__day.is-selected { background: var(--aura-
|
|
949
|
+
.aura-cal__day.is-selected { background: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); box-shadow: none; }
|
|
928
950
|
.aura-cal__day:disabled, .aura-cal__day[aria-disabled='true'] { opacity: var(--aura-disabled-opacity); cursor: not-allowed; background: transparent; text-decoration: line-through; }
|
|
929
951
|
.aura-cal__day:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 1px; }
|
|
930
952
|
.aura-cal__grid td.is-in-range { background: var(--aura-bg-selected); }
|
|
@@ -937,7 +959,7 @@ a.aura-tab { text-decoration: none; }
|
|
|
937
959
|
font: inherit; font-size: 13px; font-variant-numeric: tabular-nums; cursor: pointer;
|
|
938
960
|
}
|
|
939
961
|
.aura-cal__year:hover { background: var(--aura-bg-surface-hover); }
|
|
940
|
-
.aura-cal__year.is-selected { background: var(--aura-
|
|
962
|
+
.aura-cal__year.is-selected { background: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); }
|
|
941
963
|
.aura-cal__foot { display: flex; justify-content: space-between; margin-top: var(--aura-space-2); padding-top: var(--aura-space-2); border-top: 1px solid var(--aura-border-subtle); }
|
|
942
964
|
.aura-cal__link {
|
|
943
965
|
height: var(--aura-control-sm); padding: 0 var(--aura-space-2); border: 0; border-radius: var(--aura-radius-sm);
|
|
@@ -1051,8 +1073,10 @@ a.aura-tab { text-decoration: none; }
|
|
|
1051
1073
|
.aura-shell__content:not(.is-flush) > .aura-container { padding-left: 0; padding-right: 0; }
|
|
1052
1074
|
|
|
1053
1075
|
/* Totals row (4.19): under the body, a strong top edge; sticky at the bottom of a `height` table with stickyFooter. */
|
|
1054
|
-
.
|
|
1055
|
-
|
|
1076
|
+
/* 5.30: a 2px hairline-colour rule over the totals (border-strong was a glaring white line in dark); a pinned totals row
|
|
1077
|
+
* casts a soft shadow over the rows scrolling under it. */
|
|
1078
|
+
.aura-table__total { background: var(--aura-table-head-bg); border-top: 2px solid var(--aura-border-default); font-weight: 600; }
|
|
1079
|
+
.aura-table__total.is-sticky { position: sticky; bottom: 0; z-index: 3; box-shadow: 0 -6px 8px -6px var(--aura-scroll-shadow); }
|
|
1056
1080
|
.aura-table__total .aura-table__td.is-end { font-variant-numeric: tabular-nums; }
|
|
1057
1081
|
.aura-tooltip--above { transform: translateY(-100%); max-width: min(var(--aura-tooltip-max), 90vw); white-space: normal; }
|
|
1058
1082
|
|
|
@@ -1145,7 +1169,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
|
|
|
1145
1169
|
.aura-badge {
|
|
1146
1170
|
display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 var(--aura-space-2); box-sizing: border-box;
|
|
1147
1171
|
border-radius: var(--aura-radius-full); border: 1px solid transparent; font-family: var(--font-sans); font-size: 11px; font-weight: 600; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums;
|
|
1148
|
-
background: var(--aura-
|
|
1172
|
+
background: var(--aura-status-neutral-bg); color: var(--aura-status-neutral-fg); /* 5.30: surface-hover vanished on the light canvas */
|
|
1149
1173
|
}
|
|
1150
1174
|
.aura-badge--accent { background: var(--aura-alert-info-bg); color: var(--aura-alert-info-fg); }
|
|
1151
1175
|
.aura-badge--success { background: var(--aura-alert-success-bg); color: var(--aura-alert-success-fg); }
|
|
@@ -1208,7 +1232,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
|
|
|
1208
1232
|
.aura-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--aura-space-2); padding: var(--aura-space-12) var(--aura-space-6); font-family: var(--font-sans); color: var(--aura-fg-primary); }
|
|
1209
1233
|
.aura-empty.is-sm { padding: var(--aura-space-6) var(--aura-space-4); }
|
|
1210
1234
|
.aura-empty.is-bordered { border: 1px dashed var(--aura-border-control); border-radius: var(--aura-radius-lg); }
|
|
1211
|
-
.aura-empty__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: var(--aura-space-2); border-radius: var(--aura-radius-full); background: var(--aura-
|
|
1235
|
+
.aura-empty__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: var(--aura-space-2); border-radius: var(--aura-radius-full); background: var(--aura-status-neutral-bg); color: var(--aura-fg-secondary); }
|
|
1212
1236
|
.aura-empty.is-sm .aura-empty__icon { width: 36px; height: 36px; }
|
|
1213
1237
|
.aura-empty__title { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; }
|
|
1214
1238
|
.aura-empty__text { margin: 0; max-width: 44ch; font-size: 14px; line-height: 1.6; color: var(--aura-fg-secondary); }
|
|
@@ -1226,7 +1250,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
|
|
|
1226
1250
|
border: 0; border-radius: var(--aura-radius-full); background: transparent; color: var(--aura-fg-primary); font: inherit; font-variant-numeric: tabular-nums; text-decoration: none; cursor: pointer;
|
|
1227
1251
|
}
|
|
1228
1252
|
.aura-page:hover { background: var(--aura-bg-surface-hover); }
|
|
1229
|
-
.aura-page.is-current { background: var(--aura-
|
|
1253
|
+
.aura-page.is-current { background: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); font-weight: 600; }
|
|
1230
1254
|
.aura-page:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
|
|
1231
1255
|
.aura-pagination__gap { min-width: 24px; text-align: center; color: var(--aura-fg-secondary); }
|
|
1232
1256
|
.aura-pagination__compact { display: none; padding: 0 var(--aura-space-2); color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; }
|
|
@@ -1320,7 +1344,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1320
1344
|
color: var(--aura-fg-secondary); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums;
|
|
1321
1345
|
}
|
|
1322
1346
|
.aura-stepper__marker .aura-icon { width: 16px; height: 16px; }
|
|
1323
|
-
.aura-stepper__item.is-done .aura-stepper__marker { background: var(--aura-
|
|
1347
|
+
.aura-stepper__item.is-done .aura-stepper__marker { background: var(--aura-control-checked-bg); border-color: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); }
|
|
1324
1348
|
.aura-stepper__item.is-current .aura-stepper__marker { border: 2px solid var(--aura-fg-accent); color: var(--aura-fg-accent); }
|
|
1325
1349
|
.aura-stepper__text { display: flex; flex-direction: column; min-width: 0; padding-top: 4px; }
|
|
1326
1350
|
.aura-stepper__label { font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--aura-fg-secondary); }
|
|
@@ -1333,12 +1357,12 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1333
1357
|
}
|
|
1334
1358
|
.aura-stepper--horizontal .aura-stepper__step { flex-direction: column; gap: var(--aura-space-2); }
|
|
1335
1359
|
.aura-stepper--horizontal .aura-stepper__text { padding-top: 0; }
|
|
1336
|
-
.aura-stepper--horizontal .aura-stepper__item.is-done::after { background: var(--aura-
|
|
1360
|
+
.aura-stepper--horizontal .aura-stepper__item.is-done::after { background: var(--aura-control-checked-bg); }
|
|
1337
1361
|
.aura-stepper--vertical .aura-stepper__item { flex: none; padding-bottom: var(--aura-space-5); }
|
|
1338
1362
|
.aura-stepper--vertical .aura-stepper__item:not(:last-child)::after {
|
|
1339
1363
|
content: ""; position: absolute; left: 14px; top: 32px; bottom: 4px; width: 1px; background: var(--aura-border-control);
|
|
1340
1364
|
}
|
|
1341
|
-
.aura-stepper--vertical .aura-stepper__item.is-done::after { background: var(--aura-
|
|
1365
|
+
.aura-stepper--vertical .aura-stepper__item.is-done::after { background: var(--aura-control-checked-bg); }
|
|
1342
1366
|
.aura-stepper__compact { display: none; margin: var(--aura-space-2) 0 0; font-size: 13px; }
|
|
1343
1367
|
.aura-stepper__count { color: var(--aura-fg-secondary); margin-right: var(--aura-space-2); }
|
|
1344
1368
|
.aura-stepper__compact-label { font-weight: 600; }
|
|
@@ -1357,15 +1381,16 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1357
1381
|
.aura-segmented.is-full { display: flex; width: 100%; }
|
|
1358
1382
|
.aura-segmented__option {
|
|
1359
1383
|
flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
|
|
1360
|
-
height:
|
|
1384
|
+
height: calc(var(--aura-input-height) - 6px); /* 5.30: the control is as tall as a field beside it (2px padding, 1px edge) */
|
|
1385
|
+
padding: 0 var(--aura-space-4); box-sizing: border-box;
|
|
1361
1386
|
border: 0; border-radius: var(--aura-radius-full); background: transparent; color: var(--aura-fg-secondary);
|
|
1362
1387
|
font: inherit; font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer;
|
|
1363
1388
|
transition: background-color var(--aura-duration-fast) var(--aura-ease), color var(--aura-duration-fast) var(--aura-ease), box-shadow var(--aura-duration-fast) var(--aura-ease);
|
|
1364
1389
|
}
|
|
1365
1390
|
.aura-segmented.is-full .aura-segmented__option { flex: 1 1 0; min-width: 0; }
|
|
1366
|
-
.aura-segmented__option.is-icon { padding: 0; width:
|
|
1391
|
+
.aura-segmented__option.is-icon { padding: 0; width: calc(var(--aura-input-height) - 6px); } /* 5.30: square */
|
|
1367
1392
|
.aura-segmented__option:hover:not(:disabled):not(.is-selected) { color: var(--aura-fg-primary); }
|
|
1368
|
-
.aura-segmented__option.is-selected { background: var(--aura-bg
|
|
1393
|
+
.aura-segmented__option.is-selected { background: var(--aura-segmented-thumb-bg); color: var(--aura-fg-primary); font-weight: 600; box-shadow: inset 0 0 0 1px var(--aura-border-control), var(--aura-shadow-enterprise); } /* 5.2: the edge marks the choice at 3:1; the fill alone was 1.04:1 on the track */
|
|
1369
1394
|
.aura-segmented__option:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 1px; }
|
|
1370
1395
|
.aura-segmented__option:disabled { opacity: var(--aura-disabled-opacity); cursor: default; }
|
|
1371
1396
|
.aura-segmented--sm .aura-segmented__option { height: 24px; padding: 0 var(--aura-space-3); font-size: 12px; }
|
|
@@ -1463,11 +1488,33 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1463
1488
|
.aura-check--labelled .aura-check__input { top: calc((var(--aura-touch-target) - 20px) / 2 + 3px); }
|
|
1464
1489
|
.aura-switch-row:not(.is-disabled):not(.is-readonly) { cursor: pointer; }
|
|
1465
1490
|
.aura-radio-group__list { gap: 0; }
|
|
1466
|
-
.aura-radio-group__list.is-horizontal { gap: 0 var(--aura-space-6); }
|
|
1491
|
+
.aura-radio-group__list.is-horizontal { gap: 0 var(--aura-space-6); align-items: flex-start; }
|
|
1492
|
+
}
|
|
1493
|
+
/* 5.30 (Chamber-OS 135): `touchHeight` on TextField, Textarea, Select, RadioGroup and Checkbox — 44px boxes and choice
|
|
1494
|
+
* rows (a one-line label centred), below 640px or on a coarse pointer (is-touch) or at every width (is-touch-always).
|
|
1495
|
+
* The field's own --aura-input-height wins over any density around it. */
|
|
1496
|
+
.aura-field.is-touch-always { --aura-input-height: var(--aura-touch-target); }
|
|
1497
|
+
.aura-radio-group.is-touch-always .aura-choice, .aura-check--labelled.is-touch-always {
|
|
1498
|
+
box-sizing: border-box; min-height: var(--aura-touch-target); padding-block: calc((var(--aura-touch-target) - 20px) / 2);
|
|
1499
|
+
}
|
|
1500
|
+
.aura-check--labelled.is-touch-always .aura-check__input { top: calc((var(--aura-touch-target) - 20px) / 2 + 3px); }
|
|
1501
|
+
.aura-radio-group.is-touch-always .aura-radio-group__list { gap: 0; }
|
|
1502
|
+
.aura-radio-group.is-touch-always .aura-radio-group__list.is-horizontal { gap: 0 var(--aura-space-6); align-items: flex-start; }
|
|
1503
|
+
@media (max-width: 639.98px), (pointer: coarse) {
|
|
1504
|
+
.aura-field.is-touch { --aura-input-height: var(--aura-touch-target); }
|
|
1505
|
+
.aura-radio-group.is-touch .aura-choice, .aura-check--labelled.is-touch {
|
|
1506
|
+
box-sizing: border-box; min-height: var(--aura-touch-target); padding-block: calc((var(--aura-touch-target) - 20px) / 2);
|
|
1507
|
+
}
|
|
1508
|
+
.aura-check--labelled.is-touch .aura-check__input { top: calc((var(--aura-touch-target) - 20px) / 2 + 3px); }
|
|
1509
|
+
.aura-radio-group.is-touch .aura-radio-group__list { gap: 0; }
|
|
1510
|
+
.aura-radio-group.is-touch .aura-radio-group__list.is-horizontal { gap: 0 var(--aura-space-6); align-items: flex-start; }
|
|
1467
1511
|
}
|
|
1468
1512
|
|
|
1469
1513
|
/* PasswordField: the show/hide IconButton sits in the suffix slot, 6px from the edge */
|
|
1470
1514
|
.aura-password .aura-input__suffix { padding-right: 6px; display: flex; align-items: center; }
|
|
1515
|
+
/* 5.30: a button inside a field (show password) is as quiet as the field's other icons until hovered. */
|
|
1516
|
+
.aura-input .aura-icon-btn { color: var(--aura-fg-secondary); }
|
|
1517
|
+
.aura-input .aura-icon-btn:hover:not(:disabled) { color: var(--aura-fg-primary); }
|
|
1471
1518
|
|
|
1472
1519
|
/* FormErrorSummary: a danger alert whose items link to their fields */
|
|
1473
1520
|
.aura-error-summary:focus-visible, .aura-error-summary:focus { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
|
|
@@ -1560,6 +1607,12 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1560
1607
|
.aura-filterselect__name { flex: none; white-space: nowrap; color: var(--aura-fg-secondary); }
|
|
1561
1608
|
.aura-filterselect__value { min-width: 0; font-weight: 500; overflow-wrap: anywhere; }
|
|
1562
1609
|
.aura-filterselect__chevron { flex: none; width: 14px; height: 14px; color: var(--aura-fg-secondary); }
|
|
1610
|
+
/* 5.30: from 640px the face has a field's inset and text size, like the search box beside it; phones keep the tight
|
|
1611
|
+
* face so three filters and a chip share one row. */
|
|
1612
|
+
@media (min-width: 640px) {
|
|
1613
|
+
.aura-filterselect__face { padding-inline: var(--aura-space-3) var(--aura-space-2); font-size: 14px; }
|
|
1614
|
+
.aura-filterselect__chevron { width: var(--aura-icon-sm); height: var(--aura-icon-sm); }
|
|
1615
|
+
}
|
|
1563
1616
|
.aura-filterselect.is-open .aura-filterselect__chevron { transform: rotate(180deg); }
|
|
1564
1617
|
.aura-filterselect__face:focus-visible, .aura-filterselect:has(.aura-filterselect__native:focus-visible) .aura-filterselect__face {
|
|
1565
1618
|
outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 1px; border-color: var(--aura-border-strong);
|
|
@@ -1729,21 +1782,35 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1729
1782
|
/* DataTable's grid look — mono header band, hairlines, 20px outer radius — on plain <table> markup, with wrapping text. */
|
|
1730
1783
|
.aura-tbl-wrap {
|
|
1731
1784
|
overflow-x: auto; border: 1px solid var(--aura-border-default); border-radius: var(--aura-card-radius);
|
|
1732
|
-
|
|
1785
|
+
color: var(--aura-fg-primary); font-family: var(--font-sans);
|
|
1786
|
+
/* 5.30: a table wider than its box shows a soft shadow at the edge that has more to scroll to (CSS only: the covers
|
|
1787
|
+
* scroll with the content, the shadows stay with the box). Body rows show it; the header band and totals rows, with
|
|
1788
|
+
* their own fill, cover it. Set --aura-tbl-bg if you give the box another ground. A flush table has none. */
|
|
1789
|
+
background:
|
|
1790
|
+
linear-gradient(to right, var(--aura-tbl-bg, var(--aura-bg-surface)) 30%, transparent) left / 32px 100% no-repeat local,
|
|
1791
|
+
linear-gradient(to left, var(--aura-tbl-bg, var(--aura-bg-surface)) 30%, transparent) right / 32px 100% no-repeat local,
|
|
1792
|
+
linear-gradient(to right, var(--aura-scroll-shadow), transparent) left / 12px 100% no-repeat scroll,
|
|
1793
|
+
linear-gradient(to left, var(--aura-scroll-shadow), transparent) right / 12px 100% no-repeat scroll,
|
|
1794
|
+
var(--aura-tbl-bg, var(--aura-bg-surface));
|
|
1733
1795
|
}
|
|
1734
1796
|
.aura-tbl { width: 100%; border-collapse: collapse; border-spacing: 0; font-size: 13px; line-height: 20px; }
|
|
1735
|
-
.aura-tbl__caption { caption-side: top; padding: var(--aura-space-4) var(--aura-space-6)
|
|
1797
|
+
.aura-tbl__caption { caption-side: top; padding: var(--aura-space-4) var(--aura-space-6) var(--aura-space-3); text-align: left; font-size: 14px; font-weight: 600; }
|
|
1798
|
+
/* 5.30: from 640px a cell is at least 10ch wide, so the table never squeezes a column to one letter; a longer word (an
|
|
1799
|
+
* email, a URL) still breaks to fit instead of widening the table. Phones keep fitting the box: use stackBelow there. */
|
|
1736
1800
|
.aura-tbl__th, .aura-tbl__td { padding: var(--aura-tbl-cell-py, var(--aura-space-3)) var(--aura-space-4); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
|
|
1801
|
+
@media (min-width: 640px) { .aura-tbl__th, .aura-tbl__td { min-width: 10ch; } }
|
|
1737
1802
|
.aura-tbl__th:first-child, .aura-tbl__td:first-child { padding-left: var(--aura-space-6); }
|
|
1738
1803
|
.aura-tbl__th:last-child, .aura-tbl__td:last-child { padding-right: var(--aura-space-6); }
|
|
1739
1804
|
.aura-tbl__head .aura-tbl__th {
|
|
1740
|
-
background: var(--aura-bg
|
|
1805
|
+
background: var(--aura-table-head-bg); border-bottom: 1px solid var(--aura-border-default);
|
|
1741
1806
|
font-family: var(--font-mono); font-size: 12px; font-weight: 400; color: var(--aura-fg-secondary); white-space: nowrap;
|
|
1742
1807
|
}
|
|
1743
1808
|
.aura-tbl__body .aura-tbl__row + .aura-tbl__row > * { border-top: 1px solid var(--aura-border-default); }
|
|
1744
1809
|
.aura-tbl__body .aura-tbl__th { font-weight: 500; }
|
|
1745
|
-
.aura-tbl__foot > .aura-tbl__row > * { background: var(--aura-bg
|
|
1746
|
-
.aura-tbl__foot > .aura-tbl__row:first-child > * { border-top:
|
|
1810
|
+
.aura-tbl__foot > .aura-tbl__row > * { background: var(--aura-table-head-bg); font-weight: 600; }
|
|
1811
|
+
.aura-tbl__foot > .aura-tbl__row:first-child > * { border-top: 2px solid var(--aura-border-default); }
|
|
1812
|
+
/* 5.30: with several totals rows (Subtotal, VAT, Total) the last one reads as the total. */
|
|
1813
|
+
.aura-tbl__foot > .aura-tbl__row:last-child:not(:first-child) > * { font-size: 14px; font-weight: 700; }
|
|
1747
1814
|
.aura-tbl__foot > .aura-tbl__row + .aura-tbl__row > * { border-top: 1px solid var(--aura-border-default); }
|
|
1748
1815
|
.aura-tbl .is-end { text-align: right; }
|
|
1749
1816
|
.aura-tbl .is-center { text-align: center; }
|
|
@@ -1787,7 +1854,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1787
1854
|
@container aura-tbl (width < 768px) {
|
|
1788
1855
|
.aura-tbl--stack-md, .aura-tbl--stack-md > .aura-tbl__body, .aura-tbl--stack-md > .aura-tbl__foot, .aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row, .aura-tbl--stack-md > .aura-tbl__foot > .aura-tbl__row, .aura-tbl--stack-md > * > .aura-tbl__row > .aura-tbl__th, .aura-tbl--stack-md > * > .aura-tbl__row > .aura-tbl__td { display: block; }
|
|
1789
1856
|
.aura-tbl--stack-md > .aura-tbl__head { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
|
|
1790
|
-
.aura-tbl--stack-md > .aura-tbl__caption { display: block; padding: var(--aura-space-4) var(--aura-space-4)
|
|
1857
|
+
.aura-tbl--stack-md > .aura-tbl__caption { display: block; padding: var(--aura-space-4) var(--aura-space-4) var(--aura-space-3); }
|
|
1791
1858
|
.aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row, .aura-tbl--stack-md > .aura-tbl__foot > .aura-tbl__row { height: auto; padding: var(--aura-tbl-cell-py, var(--aura-space-3)) var(--aura-space-4); }
|
|
1792
1859
|
.aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row + .aura-tbl__row, .aura-tbl--stack-md > .aura-tbl__foot > .aura-tbl__row:first-child { border-top: 1px solid var(--aura-border-default); }
|
|
1793
1860
|
.aura-tbl--stack-md > * > .aura-tbl__row > .aura-tbl__th, .aura-tbl--stack-md > * > .aura-tbl__row > .aura-tbl__td { padding: 0; border-top: 0; background: none; text-align: start; white-space: normal; }
|
|
@@ -1811,7 +1878,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1811
1878
|
@container aura-tbl (width < 640px) {
|
|
1812
1879
|
.aura-tbl--stack-sm, .aura-tbl--stack-sm > .aura-tbl__body, .aura-tbl--stack-sm > .aura-tbl__foot, .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row, .aura-tbl--stack-sm > .aura-tbl__foot > .aura-tbl__row, .aura-tbl--stack-sm > * > .aura-tbl__row > .aura-tbl__th, .aura-tbl--stack-sm > * > .aura-tbl__row > .aura-tbl__td { display: block; }
|
|
1813
1880
|
.aura-tbl--stack-sm > .aura-tbl__head { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
|
|
1814
|
-
.aura-tbl--stack-sm > .aura-tbl__caption { display: block; padding: var(--aura-space-4) var(--aura-space-4)
|
|
1881
|
+
.aura-tbl--stack-sm > .aura-tbl__caption { display: block; padding: var(--aura-space-4) var(--aura-space-4) var(--aura-space-3); }
|
|
1815
1882
|
.aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row, .aura-tbl--stack-sm > .aura-tbl__foot > .aura-tbl__row { height: auto; padding: var(--aura-tbl-cell-py, var(--aura-space-3)) var(--aura-space-4); }
|
|
1816
1883
|
.aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row + .aura-tbl__row, .aura-tbl--stack-sm > .aura-tbl__foot > .aura-tbl__row:first-child { border-top: 1px solid var(--aura-border-default); }
|
|
1817
1884
|
.aura-tbl--stack-sm > * > .aura-tbl__row > .aura-tbl__th, .aura-tbl--stack-sm > * > .aura-tbl__row > .aura-tbl__td { padding: 0; border-top: 0; background: none; text-align: start; white-space: normal; }
|
|
@@ -1845,7 +1912,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1845
1912
|
margin-bottom: var(--aura-space-2); padding: var(--aura-tbl-card-py, var(--aura-space-4)) var(--aura-space-4);
|
|
1846
1913
|
border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); background: var(--aura-bg-surface);
|
|
1847
1914
|
}
|
|
1848
|
-
.aura-tbl--cards.aura-tbl--stack-md > .aura-tbl__foot > .aura-tbl__row { background: var(--aura-bg
|
|
1915
|
+
.aura-tbl--cards.aura-tbl--stack-md > .aura-tbl__foot > .aura-tbl__row { background: var(--aura-table-head-bg); }
|
|
1849
1916
|
.aura-tbl--cards.aura-tbl--stack-md > :last-child > .aura-tbl__row:last-child { margin-bottom: 0; }
|
|
1850
1917
|
.aura-tbl-wrap.is-flush > .aura-tbl--cards.aura-tbl--stack-md > .aura-tbl__caption { padding: 0 0 var(--aura-space-3); }
|
|
1851
1918
|
}
|
|
@@ -1858,7 +1925,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1858
1925
|
margin-bottom: var(--aura-space-2); padding: var(--aura-tbl-card-py, var(--aura-space-4)) var(--aura-space-4);
|
|
1859
1926
|
border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); background: var(--aura-bg-surface);
|
|
1860
1927
|
}
|
|
1861
|
-
.aura-tbl--cards.aura-tbl--stack-sm > .aura-tbl__foot > .aura-tbl__row { background: var(--aura-bg
|
|
1928
|
+
.aura-tbl--cards.aura-tbl--stack-sm > .aura-tbl__foot > .aura-tbl__row { background: var(--aura-table-head-bg); }
|
|
1862
1929
|
.aura-tbl--cards.aura-tbl--stack-sm > :last-child > .aura-tbl__row:last-child { margin-bottom: 0; }
|
|
1863
1930
|
.aura-tbl-wrap.is-flush > .aura-tbl--cards.aura-tbl--stack-sm > .aura-tbl__caption { padding: 0 0 var(--aura-space-3); }
|
|
1864
1931
|
}
|
|
@@ -1968,7 +2035,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1968
2035
|
.aura-table__row--skeleton .aura-table__td > .aura-skel:not(.aura-skel--pill):not(.aura-skel--action) { margin: 5px 0; }
|
|
1969
2036
|
.aura-table__row--skeleton .aura-table__td[data-label] .aura-skel:not(.aura-skel--pill):not(.aura-skel--action) { margin: 2.5px 0; margin: calc((1lh - 10px) / 2) 0; }
|
|
1970
2037
|
.aura-table__row--skeleton .aura-table__td > .aura-skel-lines { align-items: flex-start; }
|
|
1971
|
-
.aura-table__total { background: var(--aura-bg
|
|
2038
|
+
.aura-table__total { background: var(--aura-table-head-bg); }
|
|
1972
2039
|
.aura-table__total > .is-blank { display: none; }
|
|
1973
2040
|
.aura-table__foot { border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); margin-top: var(--aura-space-2); background: var(--aura-bg-surface); }
|
|
1974
2041
|
.aura-table__empty { background: var(--aura-bg-surface); border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); }
|
|
@@ -1998,3 +2065,25 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1998
2065
|
.aura-tabs--segmented .aura-tab.aura-segmented__option.is-selected { outline: none; border: 2px solid Highlight; }
|
|
1999
2066
|
.aura-tabs--segmented .aura-tab.aura-segmented__option:focus-visible { outline: 2px dashed CanvasText; outline-offset: -5px; }
|
|
2000
2067
|
}
|
|
2068
|
+
|
|
2069
|
+
/* 5.30: Thai needs more room than Latin — tone marks and vowels stack above and below the line. Where the page or a
|
|
2070
|
+
* part of it is Thai (lang="th"), small labels are at least 12px and lines are taller. */
|
|
2071
|
+
.aura-pill:lang(th), .aura-badge:lang(th), .aura-tab__count:lang(th) { font-size: 12px; }
|
|
2072
|
+
.aura-pill:lang(th) { line-height: 18px; }
|
|
2073
|
+
.aura-skel--pill:lang(th) { height: 22px; } /* the loading pill stays as tall as the Thai one */
|
|
2074
|
+
.aura-bottomnav__item:lang(th) { font-size: 12px; line-height: 18px; }
|
|
2075
|
+
.aura-stepper__desc:lang(th) { font-size: 13px; line-height: 1.6; }
|
|
2076
|
+
.aura-nav__label:lang(th) { line-height: 22px; }
|
|
2077
|
+
/* 5.30 (audit D): field labels, hints and errors and choice descriptions get Thai line room; a stacked card's field
|
|
2078
|
+
* labels are 12px in the sans face (the mono face has no Thai), and a stacked DataTable card's values sit on a set
|
|
2079
|
+
* 1.6 line, so a loading card (its bars follow 1lh) is as tall as one with Thai text. */
|
|
2080
|
+
.aura-field__label:lang(th), .aura-field__hint:lang(th), .aura-field__error:lang(th) { line-height: 1.6; }
|
|
2081
|
+
.aura-choice__desc:lang(th), .aura-check__desc:lang(th) { font-size: 13px; line-height: 1.6; }
|
|
2082
|
+
.aura-tbl__row > .aura-tbl__td[data-label]:lang(th)::before, .aura-table__td[data-label]:lang(th)::before { font-family: var(--font-sans); font-size: 12px; line-height: 18px; }
|
|
2083
|
+
.aura-table--stacked .aura-table__td[data-label]:lang(th) { line-height: 1.6; }
|
|
2084
|
+
|
|
2085
|
+
/* 5.30: a plain link (no class) inside AURA's surfaces takes the accent colour instead of the browser's blue. Zero
|
|
2086
|
+
* specificity, so any rule of yours for links wins. */
|
|
2087
|
+
:where(.aura-card, .aura-stat, .aura-alert, .aura-empty, .aura-field, .aura-tabs__panel, .aura-shell__main, .aura-tbl, .aura-table, .aura-dialog) :where(a:not([class])) {
|
|
2088
|
+
color: var(--aura-fg-accent); text-underline-offset: 2px;
|
|
2089
|
+
}
|