@jirawatpyk/aura-react 5.29.0 → 5.31.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 +45 -0
- package/dist/aura.bundle.js +167 -23
- package/dist/cjs/index.cjs +167 -23
- package/dist/esm/Checkbox.js +4 -2
- package/dist/esm/DataTable.js +36 -0
- package/dist/esm/Field.js +22 -2
- 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 +5 -4
- package/dist/esm/Textarea.js +5 -4
- package/dist/esm/classes.js +5 -1
- package/dist/esm/internal.js +2 -1
- package/dist/esm/theme.js +31 -0
- package/dist/index.d.cts +36 -0
- package/dist/index.d.ts +36 -0
- package/dist/server/index.cjs +31 -0
- package/dist/server/index.js +31 -0
- package/dist/styles.css +130 -39
- package/dist/styles.layer.css +130 -39
- package/package.json +1 -1
package/dist/styles.layer.css
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
border: 0;
|
|
15
15
|
background: transparent;
|
|
16
16
|
color: inherit;
|
|
17
|
-
font-family: inherit
|
|
17
|
+
font-family: var(--font-sans); /* 5.30: not inherit — a trigger outside a styled root fell back to Arial */
|
|
18
18
|
font-size: 13px;
|
|
19
19
|
font-weight: 500;
|
|
20
20
|
line-height: 1;
|
|
@@ -46,6 +46,19 @@ button.aura-btn--secondary[aria-disabled='true']:hover, button.aura-btn--ghost[a
|
|
|
46
46
|
button.aura-btn--danger-secondary[aria-disabled='true']:hover { background: transparent; }
|
|
47
47
|
button.aura-btn--danger[aria-disabled='true']:hover { background: var(--aura-button-danger-bg); }
|
|
48
48
|
button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-shadow-creative); transform: none; }
|
|
49
|
+
/* 5.30: a disabled filled button (primary, danger, creative) is a quiet grey fill with muted text, not a faded copy of
|
|
50
|
+
* itself — faded ink read as a separate grey button, faded red as pink. Outline and ghost buttons keep the fade. */
|
|
51
|
+
.aura-btn:is(.aura-btn--primary, .aura-btn--danger, .aura-btn--creative):is(:disabled, [aria-disabled='true']:not(.is-loading)),
|
|
52
|
+
.aura-btn:is(.aura-btn--primary, .aura-btn--danger, .aura-btn--creative):is(:disabled, [aria-disabled='true']:not(.is-loading)):hover {
|
|
53
|
+
opacity: 1; background: var(--aura-button-disabled-bg); color: var(--aura-button-disabled-fg); border-color: transparent; box-shadow: none;
|
|
54
|
+
}
|
|
55
|
+
/* Forced colours drop the fills: filled buttons get a 1px edge (as outline buttons have), and a disabled or gated one
|
|
56
|
+
* (still focusable) shows GrayText and keeps the fade, without changing size. */
|
|
57
|
+
@media (forced-colors: active) {
|
|
58
|
+
.aura-btn:is(.aura-btn--primary, .aura-btn--danger) { border: 1px solid ButtonText; }
|
|
59
|
+
.aura-btn.aura-btn:is(:disabled, [aria-disabled='true']:not(.is-loading)),
|
|
60
|
+
.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); }
|
|
61
|
+
}
|
|
49
62
|
.aura-btn.is-loading:active { transform: none; }
|
|
50
63
|
|
|
51
64
|
/* Focus — ADDED: the source defines none. Solid 2px ring, 2px offset, on every interactive element. */
|
|
@@ -95,10 +108,17 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
|
|
|
95
108
|
color: var(--aura-fg-primary);
|
|
96
109
|
}
|
|
97
110
|
.aura-table__scroll { position: relative; overflow: auto; overscroll-behavior: contain; height: var(--aura-table-h, auto); }
|
|
111
|
+
/* 5.30: more columns past the end edge — a soft shadow over the grid's end edge (not over its scrollbars, its footer
|
|
112
|
+
* or the column button), so it reads as scrolling sideways. JavaScript places it (top, height, scrollbar inset). */
|
|
113
|
+
.aura-table__edge {
|
|
114
|
+
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);
|
|
115
|
+
width: 16px; pointer-events: none; background: linear-gradient(to left, var(--aura-scroll-shadow), transparent);
|
|
116
|
+
}
|
|
117
|
+
.aura-table__edge:dir(rtl) { background: linear-gradient(to right, var(--aura-scroll-shadow), transparent); }
|
|
98
118
|
.aura-table__head {
|
|
99
119
|
position: sticky; top: 0; z-index: 3; box-sizing: border-box; /* the hairline is inside the row height */
|
|
100
120
|
display: flex; height: var(--aura-table-row-height); min-width: var(--aura-row-min, 0);
|
|
101
|
-
background: var(--aura-bg
|
|
121
|
+
background: var(--aura-table-head-bg);
|
|
102
122
|
border-bottom: 1px solid var(--aura-border-default);
|
|
103
123
|
font-family: var(--font-mono); font-size: 12px; color: var(--aura-fg-secondary);
|
|
104
124
|
}
|
|
@@ -171,7 +191,7 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
|
|
|
171
191
|
.aura-table__gutter--end { position: static; }
|
|
172
192
|
.aura-table__picker {
|
|
173
193
|
position: absolute; top: 0; right: 0; z-index: 5; width: var(--aura-space-12); height: calc(var(--aura-table-row-height) - 1px);
|
|
174
|
-
display: flex; align-items: center; justify-content: center; background: var(--aura-bg
|
|
194
|
+
display: flex; align-items: center; justify-content: center; background: var(--aura-table-head-bg); border-top-right-radius: calc(var(--aura-card-radius) - 1px);
|
|
175
195
|
}
|
|
176
196
|
.aura-table__gutter--end.has-picker {
|
|
177
197
|
width: var(--aura-space-12); position: sticky; left: auto; right: 0;
|
|
@@ -272,7 +292,7 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
|
|
|
272
292
|
display: inline-flex; align-items: center; justify-content: center;
|
|
273
293
|
border: 1.5px solid var(--aura-border-control); border-radius: var(--aura-radius-xs);
|
|
274
294
|
}
|
|
275
|
-
.aura-menu__check.is-on { background: var(--aura-
|
|
295
|
+
.aura-menu__check.is-on { background: var(--aura-control-checked-bg); border-color: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); }
|
|
276
296
|
.aura-menu__check.is-on .aura-icon { color: inherit; }
|
|
277
297
|
.aura-menu__item--danger, .aura-menu__item--danger .aura-icon { color: var(--aura-fg-danger); }
|
|
278
298
|
.aura-menu__item--danger:hover, .aura-menu__item--danger:focus { background: var(--aura-alert-danger-bg); color: var(--aura-alert-danger-fg); }
|
|
@@ -282,8 +302,8 @@ a.aura-menu__item { text-decoration: none; box-sizing: border-box; }
|
|
|
282
302
|
flex: none; box-sizing: border-box; width: 16px; height: 16px; border-radius: var(--aura-radius-full);
|
|
283
303
|
border: 1px solid var(--aura-border-control); display: inline-flex; align-items: center; justify-content: center;
|
|
284
304
|
}
|
|
285
|
-
.aura-menu__radio.is-on { border-color: var(--aura-
|
|
286
|
-
.aura-menu__radio.is-on::after { content: ''; width: 8px; height: 8px; border-radius: var(--aura-radius-full); background: var(--aura-
|
|
305
|
+
.aura-menu__radio.is-on { border-color: var(--aura-control-checked-bg); }
|
|
306
|
+
.aura-menu__radio.is-on::after { content: ''; width: 8px; height: 8px; border-radius: var(--aura-radius-full); background: var(--aura-control-checked-bg); }
|
|
287
307
|
/* 5.7: a header above the items (who is signed in), set off by a hairline like a separator. */
|
|
288
308
|
.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; }
|
|
289
309
|
.aura-menu__header > * { margin: 0; }
|
|
@@ -343,7 +363,7 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
343
363
|
/* 5.29 (Chamber-OS 134): a DataTable skeleton row stands in for the real one — text lines (skeletonLines) on the 20px
|
|
344
364
|
* line, and a button-height bar where row actions go: 32px, or 44px under the touchHeight rule with the column's
|
|
345
365
|
* skeletonTouch; full width in a card footer. */
|
|
346
|
-
.aura-skel--action { flex: none; width: var(--aura-button-height-sm); height: var(--aura-button-height-sm); border-radius: var(--aura-radius
|
|
366
|
+
.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 */
|
|
347
367
|
.aura-skel--action.is-footer { width: 100%; }
|
|
348
368
|
.aura-table__td.is-end > .aura-skel-lines { align-items: flex-end; }
|
|
349
369
|
@media (max-width: 639.98px), (pointer: coarse) {
|
|
@@ -375,12 +395,12 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
375
395
|
box-sizing: border-box; width: 100%; height: 100%;
|
|
376
396
|
display: inline-flex; align-items: center; justify-content: center;
|
|
377
397
|
border: 1.5px solid var(--aura-border-control); border-radius: var(--aura-radius-xs);
|
|
378
|
-
background: var(--aura-bg-surface); color: var(--aura-
|
|
398
|
+
background: var(--aura-bg-surface); color: var(--aura-control-checked-fg);
|
|
379
399
|
transition: background var(--aura-duration-fast) var(--aura-ease), border-color var(--aura-duration-fast) var(--aura-ease);
|
|
380
400
|
pointer-events: none;
|
|
381
401
|
}
|
|
382
402
|
.aura-check__input:checked + .aura-check__box,
|
|
383
|
-
.aura-check__input:indeterminate + .aura-check__box { background: var(--aura-
|
|
403
|
+
.aura-check__input:indeterminate + .aura-check__box { background: var(--aura-control-checked-bg); border-color: var(--aura-control-checked-bg); }
|
|
384
404
|
.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); }
|
|
385
405
|
.aura-table__mono { font-family: var(--font-mono); }
|
|
386
406
|
|
|
@@ -393,6 +413,7 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
393
413
|
border-radius: var(--aura-radius-full);
|
|
394
414
|
padding: 2px var(--aura-space-2) 2px 6px;
|
|
395
415
|
font-size: 11px;
|
|
416
|
+
font-weight: 500; /* 5.30 (Chamber-OS 137): medium everywhere, not the parent's weight; Badge stays 600 */
|
|
396
417
|
line-height: 16px;
|
|
397
418
|
white-space: nowrap;
|
|
398
419
|
background: var(--aura-status-neutral-bg);
|
|
@@ -455,6 +476,8 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
455
476
|
.aura-field__hint, .aura-field__error { display: flex; align-items: flex-start; gap: var(--aura-space-1); margin: 0; font-size: 12px; line-height: 1.5; color: var(--aura-fg-secondary); }
|
|
456
477
|
.aura-field__error { color: var(--aura-fg-danger); }
|
|
457
478
|
.aura-field__error .aura-icon { margin-top: 2px; }
|
|
479
|
+
/* 5.31 (Chamber-OS addendum 41): TextField/Textarea `labelAddon`, between the label and the box, in the field's gap. */
|
|
480
|
+
.aura-field__addon { min-width: 0; font-size: 13px; line-height: 1.5; color: var(--aura-fg-primary); }
|
|
458
481
|
.aura-field.is-disabled .aura-field__label { color: var(--aura-fg-secondary); }
|
|
459
482
|
|
|
460
483
|
.aura-input {
|
|
@@ -523,30 +546,31 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
523
546
|
border: 1.5px solid var(--aura-border-control); background: var(--aura-bg-input); cursor: inherit;
|
|
524
547
|
transition: border-width var(--aura-duration-fast) var(--aura-ease);
|
|
525
548
|
}
|
|
526
|
-
.aura-radio:checked { border: 5px solid var(--aura-
|
|
549
|
+
.aura-radio:checked { border: 5px solid var(--aura-control-checked-bg); background: var(--aura-control-checked-fg); }
|
|
527
550
|
.aura-radio:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
|
|
528
551
|
.aura-radio-group.is-invalid .aura-radio:not(:checked) { border-color: var(--aura-border-danger); }
|
|
529
552
|
|
|
530
553
|
.aura-switch-row { display: flex; align-items: flex-start; gap: var(--aura-space-3); font-family: var(--font-sans); }
|
|
531
554
|
/* 5.10.1: disabled rows, on or off, are treated alike and stay readable — the label turns secondary, the description
|
|
532
|
-
* keeps its colour (often the reason it's locked) — and only the switch fades: off to the disabled opacity, on
|
|
555
|
+
* 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),
|
|
533
556
|
* ≥3:1 apart in both themes, so "locked on" never looks like "off". */
|
|
534
557
|
.aura-switch-row.is-disabled { cursor: not-allowed; }
|
|
535
558
|
.aura-switch-row.is-disabled .aura-choice__label { color: var(--aura-fg-secondary); cursor: not-allowed; }
|
|
536
559
|
.aura-switch:disabled { opacity: var(--aura-disabled-opacity); }
|
|
537
|
-
.aura-switch.is-on:disabled { opacity:
|
|
560
|
+
.aura-switch.is-on:disabled { opacity: 1; } /* 5.30: the violet track stays whole (faded, it fell under 3:1 from off)… */
|
|
561
|
+
.aura-switch.is-on:disabled .aura-switch__thumb { opacity: 0.6; } /* …and the thumb fades, so it doesn't look enabled */
|
|
538
562
|
.aura-switch {
|
|
539
563
|
position: relative; flex: none; box-sizing: border-box; margin: 0; padding: 0;
|
|
540
564
|
width: var(--aura-switch-width); height: var(--aura-switch-height); border-radius: var(--aura-radius-full);
|
|
541
565
|
border: 0; background: var(--aura-border-control); cursor: pointer;
|
|
542
566
|
transition: background var(--aura-duration-fast) var(--aura-ease);
|
|
543
567
|
}
|
|
544
|
-
.aura-switch.is-on { background: var(--aura-
|
|
568
|
+
.aura-switch.is-on { background: var(--aura-control-checked-bg); }
|
|
545
569
|
.aura-switch__thumb {
|
|
546
570
|
position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: var(--aura-radius-full);
|
|
547
571
|
background: var(--aura-bg-surface); transition: transform var(--aura-duration-fast) var(--aura-ease);
|
|
548
572
|
}
|
|
549
|
-
.aura-switch.is-on .aura-switch__thumb { transform: translateX(16px); background: var(--aura-
|
|
573
|
+
.aura-switch.is-on .aura-switch__thumb { transform: translateX(16px); background: var(--aura-control-checked-fg); }
|
|
550
574
|
.aura-switch:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
|
|
551
575
|
.aura-switch:disabled { cursor: not-allowed; }
|
|
552
576
|
/* 5.19 (Chamber-OS 113): a read-only switch keeps its colours (a locked "on" reads as on at full contrast) and stays
|
|
@@ -719,7 +743,7 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
719
743
|
transition: color var(--aura-duration-fast) var(--aura-ease), border-color var(--aura-duration-fast) var(--aura-ease);
|
|
720
744
|
}
|
|
721
745
|
.aura-tab:hover { color: var(--aura-fg-primary); }
|
|
722
|
-
.aura-tab.is-active { color: var(--aura-fg-primary); border-bottom-color: var(--aura-
|
|
746
|
+
.aura-tab.is-active { color: var(--aura-fg-primary); border-bottom-color: var(--aura-control-checked-bg); }
|
|
723
747
|
.aura-tab:disabled, .aura-tab.is-disabled { opacity: var(--aura-disabled-opacity); cursor: not-allowed; }
|
|
724
748
|
a.aura-tab { text-decoration: none; }
|
|
725
749
|
.aura-tab:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: -4px; border-radius: var(--aura-radius-xs); }
|
|
@@ -926,7 +950,7 @@ a.aura-tab { text-decoration: none; }
|
|
|
926
950
|
.aura-cal__day:hover { background: var(--aura-bg-surface-hover); }
|
|
927
951
|
.aura-cal__day.is-outside { color: var(--aura-fg-tertiary); }
|
|
928
952
|
.aura-cal__day.is-today { box-shadow: inset 0 0 0 1px var(--aura-border-control); font-weight: 600; }
|
|
929
|
-
.aura-cal__day.is-selected { background: var(--aura-
|
|
953
|
+
.aura-cal__day.is-selected { background: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); box-shadow: none; }
|
|
930
954
|
.aura-cal__day:disabled, .aura-cal__day[aria-disabled='true'] { opacity: var(--aura-disabled-opacity); cursor: not-allowed; background: transparent; text-decoration: line-through; }
|
|
931
955
|
.aura-cal__day:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 1px; }
|
|
932
956
|
.aura-cal__grid td.is-in-range { background: var(--aura-bg-selected); }
|
|
@@ -939,7 +963,7 @@ a.aura-tab { text-decoration: none; }
|
|
|
939
963
|
font: inherit; font-size: 13px; font-variant-numeric: tabular-nums; cursor: pointer;
|
|
940
964
|
}
|
|
941
965
|
.aura-cal__year:hover { background: var(--aura-bg-surface-hover); }
|
|
942
|
-
.aura-cal__year.is-selected { background: var(--aura-
|
|
966
|
+
.aura-cal__year.is-selected { background: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); }
|
|
943
967
|
.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); }
|
|
944
968
|
.aura-cal__link {
|
|
945
969
|
height: var(--aura-control-sm); padding: 0 var(--aura-space-2); border: 0; border-radius: var(--aura-radius-sm);
|
|
@@ -1053,8 +1077,10 @@ a.aura-tab { text-decoration: none; }
|
|
|
1053
1077
|
.aura-shell__content:not(.is-flush) > .aura-container { padding-left: 0; padding-right: 0; }
|
|
1054
1078
|
|
|
1055
1079
|
/* Totals row (4.19): under the body, a strong top edge; sticky at the bottom of a `height` table with stickyFooter. */
|
|
1056
|
-
.
|
|
1057
|
-
|
|
1080
|
+
/* 5.30: a 2px hairline-colour rule over the totals (border-strong was a glaring white line in dark); a pinned totals row
|
|
1081
|
+
* casts a soft shadow over the rows scrolling under it. */
|
|
1082
|
+
.aura-table__total { background: var(--aura-table-head-bg); border-top: 2px solid var(--aura-border-default); font-weight: 600; }
|
|
1083
|
+
.aura-table__total.is-sticky { position: sticky; bottom: 0; z-index: 3; box-shadow: 0 -6px 8px -6px var(--aura-scroll-shadow); }
|
|
1058
1084
|
.aura-table__total .aura-table__td.is-end { font-variant-numeric: tabular-nums; }
|
|
1059
1085
|
.aura-tooltip--above { transform: translateY(-100%); max-width: min(var(--aura-tooltip-max), 90vw); white-space: normal; }
|
|
1060
1086
|
|
|
@@ -1147,7 +1173,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
|
|
|
1147
1173
|
.aura-badge {
|
|
1148
1174
|
display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 var(--aura-space-2); box-sizing: border-box;
|
|
1149
1175
|
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;
|
|
1150
|
-
background: var(--aura-
|
|
1176
|
+
background: var(--aura-status-neutral-bg); color: var(--aura-status-neutral-fg); /* 5.30: surface-hover vanished on the light canvas */
|
|
1151
1177
|
}
|
|
1152
1178
|
.aura-badge--accent { background: var(--aura-alert-info-bg); color: var(--aura-alert-info-fg); }
|
|
1153
1179
|
.aura-badge--success { background: var(--aura-alert-success-bg); color: var(--aura-alert-success-fg); }
|
|
@@ -1210,7 +1236,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
|
|
|
1210
1236
|
.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); }
|
|
1211
1237
|
.aura-empty.is-sm { padding: var(--aura-space-6) var(--aura-space-4); }
|
|
1212
1238
|
.aura-empty.is-bordered { border: 1px dashed var(--aura-border-control); border-radius: var(--aura-radius-lg); }
|
|
1213
|
-
.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-
|
|
1239
|
+
.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); }
|
|
1214
1240
|
.aura-empty.is-sm .aura-empty__icon { width: 36px; height: 36px; }
|
|
1215
1241
|
.aura-empty__title { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; }
|
|
1216
1242
|
.aura-empty__text { margin: 0; max-width: 44ch; font-size: 14px; line-height: 1.6; color: var(--aura-fg-secondary); }
|
|
@@ -1228,7 +1254,7 @@ a.aura-upload__name:focus-visible { outline: var(--aura-focus-ring-width) solid
|
|
|
1228
1254
|
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;
|
|
1229
1255
|
}
|
|
1230
1256
|
.aura-page:hover { background: var(--aura-bg-surface-hover); }
|
|
1231
|
-
.aura-page.is-current { background: var(--aura-
|
|
1257
|
+
.aura-page.is-current { background: var(--aura-control-checked-bg); color: var(--aura-control-checked-fg); font-weight: 600; }
|
|
1232
1258
|
.aura-page:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
|
|
1233
1259
|
.aura-pagination__gap { min-width: 24px; text-align: center; color: var(--aura-fg-secondary); }
|
|
1234
1260
|
.aura-pagination__compact { display: none; padding: 0 var(--aura-space-2); color: var(--aura-fg-secondary); font-variant-numeric: tabular-nums; }
|
|
@@ -1322,7 +1348,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1322
1348
|
color: var(--aura-fg-secondary); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums;
|
|
1323
1349
|
}
|
|
1324
1350
|
.aura-stepper__marker .aura-icon { width: 16px; height: 16px; }
|
|
1325
|
-
.aura-stepper__item.is-done .aura-stepper__marker { background: var(--aura-
|
|
1351
|
+
.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); }
|
|
1326
1352
|
.aura-stepper__item.is-current .aura-stepper__marker { border: 2px solid var(--aura-fg-accent); color: var(--aura-fg-accent); }
|
|
1327
1353
|
.aura-stepper__text { display: flex; flex-direction: column; min-width: 0; padding-top: 4px; }
|
|
1328
1354
|
.aura-stepper__label { font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--aura-fg-secondary); }
|
|
@@ -1335,12 +1361,12 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1335
1361
|
}
|
|
1336
1362
|
.aura-stepper--horizontal .aura-stepper__step { flex-direction: column; gap: var(--aura-space-2); }
|
|
1337
1363
|
.aura-stepper--horizontal .aura-stepper__text { padding-top: 0; }
|
|
1338
|
-
.aura-stepper--horizontal .aura-stepper__item.is-done::after { background: var(--aura-
|
|
1364
|
+
.aura-stepper--horizontal .aura-stepper__item.is-done::after { background: var(--aura-control-checked-bg); }
|
|
1339
1365
|
.aura-stepper--vertical .aura-stepper__item { flex: none; padding-bottom: var(--aura-space-5); }
|
|
1340
1366
|
.aura-stepper--vertical .aura-stepper__item:not(:last-child)::after {
|
|
1341
1367
|
content: ""; position: absolute; left: 14px; top: 32px; bottom: 4px; width: 1px; background: var(--aura-border-control);
|
|
1342
1368
|
}
|
|
1343
|
-
.aura-stepper--vertical .aura-stepper__item.is-done::after { background: var(--aura-
|
|
1369
|
+
.aura-stepper--vertical .aura-stepper__item.is-done::after { background: var(--aura-control-checked-bg); }
|
|
1344
1370
|
.aura-stepper__compact { display: none; margin: var(--aura-space-2) 0 0; font-size: 13px; }
|
|
1345
1371
|
.aura-stepper__count { color: var(--aura-fg-secondary); margin-right: var(--aura-space-2); }
|
|
1346
1372
|
.aura-stepper__compact-label { font-weight: 600; }
|
|
@@ -1359,15 +1385,16 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1359
1385
|
.aura-segmented.is-full { display: flex; width: 100%; }
|
|
1360
1386
|
.aura-segmented__option {
|
|
1361
1387
|
flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
|
|
1362
|
-
height:
|
|
1388
|
+
height: calc(var(--aura-input-height) - 6px); /* 5.30: the control is as tall as a field beside it (2px padding, 1px edge) */
|
|
1389
|
+
padding: 0 var(--aura-space-4); box-sizing: border-box;
|
|
1363
1390
|
border: 0; border-radius: var(--aura-radius-full); background: transparent; color: var(--aura-fg-secondary);
|
|
1364
1391
|
font: inherit; font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer;
|
|
1365
1392
|
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);
|
|
1366
1393
|
}
|
|
1367
1394
|
.aura-segmented.is-full .aura-segmented__option { flex: 1 1 0; min-width: 0; }
|
|
1368
|
-
.aura-segmented__option.is-icon { padding: 0; width:
|
|
1395
|
+
.aura-segmented__option.is-icon { padding: 0; width: calc(var(--aura-input-height) - 6px); } /* 5.30: square */
|
|
1369
1396
|
.aura-segmented__option:hover:not(:disabled):not(.is-selected) { color: var(--aura-fg-primary); }
|
|
1370
|
-
.aura-segmented__option.is-selected { background: var(--aura-bg
|
|
1397
|
+
.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 */
|
|
1371
1398
|
.aura-segmented__option:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 1px; }
|
|
1372
1399
|
.aura-segmented__option:disabled { opacity: var(--aura-disabled-opacity); cursor: default; }
|
|
1373
1400
|
.aura-segmented--sm .aura-segmented__option { height: 24px; padding: 0 var(--aura-space-3); font-size: 12px; }
|
|
@@ -1465,11 +1492,33 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1465
1492
|
.aura-check--labelled .aura-check__input { top: calc((var(--aura-touch-target) - 20px) / 2 + 3px); }
|
|
1466
1493
|
.aura-switch-row:not(.is-disabled):not(.is-readonly) { cursor: pointer; }
|
|
1467
1494
|
.aura-radio-group__list { gap: 0; }
|
|
1468
|
-
.aura-radio-group__list.is-horizontal { gap: 0 var(--aura-space-6); }
|
|
1495
|
+
.aura-radio-group__list.is-horizontal { gap: 0 var(--aura-space-6); align-items: flex-start; }
|
|
1496
|
+
}
|
|
1497
|
+
/* 5.30 (Chamber-OS 135): `touchHeight` on TextField, Textarea, Select, RadioGroup and Checkbox — 44px boxes and choice
|
|
1498
|
+
* rows (a one-line label centred), below 640px or on a coarse pointer (is-touch) or at every width (is-touch-always).
|
|
1499
|
+
* The field's own --aura-input-height wins over any density around it. */
|
|
1500
|
+
.aura-field.is-touch-always { --aura-input-height: var(--aura-touch-target); }
|
|
1501
|
+
.aura-radio-group.is-touch-always .aura-choice, .aura-check--labelled.is-touch-always {
|
|
1502
|
+
box-sizing: border-box; min-height: var(--aura-touch-target); padding-block: calc((var(--aura-touch-target) - 20px) / 2);
|
|
1503
|
+
}
|
|
1504
|
+
.aura-check--labelled.is-touch-always .aura-check__input { top: calc((var(--aura-touch-target) - 20px) / 2 + 3px); }
|
|
1505
|
+
.aura-radio-group.is-touch-always .aura-radio-group__list { gap: 0; }
|
|
1506
|
+
.aura-radio-group.is-touch-always .aura-radio-group__list.is-horizontal { gap: 0 var(--aura-space-6); align-items: flex-start; }
|
|
1507
|
+
@media (max-width: 639.98px), (pointer: coarse) {
|
|
1508
|
+
.aura-field.is-touch { --aura-input-height: var(--aura-touch-target); }
|
|
1509
|
+
.aura-radio-group.is-touch .aura-choice, .aura-check--labelled.is-touch {
|
|
1510
|
+
box-sizing: border-box; min-height: var(--aura-touch-target); padding-block: calc((var(--aura-touch-target) - 20px) / 2);
|
|
1511
|
+
}
|
|
1512
|
+
.aura-check--labelled.is-touch .aura-check__input { top: calc((var(--aura-touch-target) - 20px) / 2 + 3px); }
|
|
1513
|
+
.aura-radio-group.is-touch .aura-radio-group__list { gap: 0; }
|
|
1514
|
+
.aura-radio-group.is-touch .aura-radio-group__list.is-horizontal { gap: 0 var(--aura-space-6); align-items: flex-start; }
|
|
1469
1515
|
}
|
|
1470
1516
|
|
|
1471
1517
|
/* PasswordField: the show/hide IconButton sits in the suffix slot, 6px from the edge */
|
|
1472
1518
|
.aura-password .aura-input__suffix { padding-right: 6px; display: flex; align-items: center; }
|
|
1519
|
+
/* 5.30: a button inside a field (show password) is as quiet as the field's other icons until hovered. */
|
|
1520
|
+
.aura-input .aura-icon-btn { color: var(--aura-fg-secondary); }
|
|
1521
|
+
.aura-input .aura-icon-btn:hover:not(:disabled) { color: var(--aura-fg-primary); }
|
|
1473
1522
|
|
|
1474
1523
|
/* FormErrorSummary: a danger alert whose items link to their fields */
|
|
1475
1524
|
.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); }
|
|
@@ -1562,6 +1611,12 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1562
1611
|
.aura-filterselect__name { flex: none; white-space: nowrap; color: var(--aura-fg-secondary); }
|
|
1563
1612
|
.aura-filterselect__value { min-width: 0; font-weight: 500; overflow-wrap: anywhere; }
|
|
1564
1613
|
.aura-filterselect__chevron { flex: none; width: 14px; height: 14px; color: var(--aura-fg-secondary); }
|
|
1614
|
+
/* 5.30: from 640px the face has a field's inset and text size, like the search box beside it; phones keep the tight
|
|
1615
|
+
* face so three filters and a chip share one row. */
|
|
1616
|
+
@media (min-width: 640px) {
|
|
1617
|
+
.aura-filterselect__face { padding-inline: var(--aura-space-3) var(--aura-space-2); font-size: 14px; }
|
|
1618
|
+
.aura-filterselect__chevron { width: var(--aura-icon-sm); height: var(--aura-icon-sm); }
|
|
1619
|
+
}
|
|
1565
1620
|
.aura-filterselect.is-open .aura-filterselect__chevron { transform: rotate(180deg); }
|
|
1566
1621
|
.aura-filterselect__face:focus-visible, .aura-filterselect:has(.aura-filterselect__native:focus-visible) .aura-filterselect__face {
|
|
1567
1622
|
outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 1px; border-color: var(--aura-border-strong);
|
|
@@ -1731,21 +1786,35 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1731
1786
|
/* DataTable's grid look — mono header band, hairlines, 20px outer radius — on plain <table> markup, with wrapping text. */
|
|
1732
1787
|
.aura-tbl-wrap {
|
|
1733
1788
|
overflow-x: auto; border: 1px solid var(--aura-border-default); border-radius: var(--aura-card-radius);
|
|
1734
|
-
|
|
1789
|
+
color: var(--aura-fg-primary); font-family: var(--font-sans);
|
|
1790
|
+
/* 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
|
|
1791
|
+
* scroll with the content, the shadows stay with the box). Body rows show it; the header band and totals rows, with
|
|
1792
|
+
* their own fill, cover it. Set --aura-tbl-bg if you give the box another ground. A flush table has none. */
|
|
1793
|
+
background:
|
|
1794
|
+
linear-gradient(to right, var(--aura-tbl-bg, var(--aura-bg-surface)) 30%, transparent) left / 32px 100% no-repeat local,
|
|
1795
|
+
linear-gradient(to left, var(--aura-tbl-bg, var(--aura-bg-surface)) 30%, transparent) right / 32px 100% no-repeat local,
|
|
1796
|
+
linear-gradient(to right, var(--aura-scroll-shadow), transparent) left / 12px 100% no-repeat scroll,
|
|
1797
|
+
linear-gradient(to left, var(--aura-scroll-shadow), transparent) right / 12px 100% no-repeat scroll,
|
|
1798
|
+
var(--aura-tbl-bg, var(--aura-bg-surface));
|
|
1735
1799
|
}
|
|
1736
1800
|
.aura-tbl { width: 100%; border-collapse: collapse; border-spacing: 0; font-size: 13px; line-height: 20px; }
|
|
1737
|
-
.aura-tbl__caption { caption-side: top; padding: var(--aura-space-4) var(--aura-space-6)
|
|
1801
|
+
.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; }
|
|
1802
|
+
/* 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
|
|
1803
|
+
* email, a URL) still breaks to fit instead of widening the table. Phones keep fitting the box: use stackBelow there. */
|
|
1738
1804
|
.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; }
|
|
1805
|
+
@media (min-width: 640px) { .aura-tbl__th, .aura-tbl__td { min-width: 10ch; } }
|
|
1739
1806
|
.aura-tbl__th:first-child, .aura-tbl__td:first-child { padding-left: var(--aura-space-6); }
|
|
1740
1807
|
.aura-tbl__th:last-child, .aura-tbl__td:last-child { padding-right: var(--aura-space-6); }
|
|
1741
1808
|
.aura-tbl__head .aura-tbl__th {
|
|
1742
|
-
background: var(--aura-bg
|
|
1809
|
+
background: var(--aura-table-head-bg); border-bottom: 1px solid var(--aura-border-default);
|
|
1743
1810
|
font-family: var(--font-mono); font-size: 12px; font-weight: 400; color: var(--aura-fg-secondary); white-space: nowrap;
|
|
1744
1811
|
}
|
|
1745
1812
|
.aura-tbl__body .aura-tbl__row + .aura-tbl__row > * { border-top: 1px solid var(--aura-border-default); }
|
|
1746
1813
|
.aura-tbl__body .aura-tbl__th { font-weight: 500; }
|
|
1747
|
-
.aura-tbl__foot > .aura-tbl__row > * { background: var(--aura-bg
|
|
1748
|
-
.aura-tbl__foot > .aura-tbl__row:first-child > * { border-top:
|
|
1814
|
+
.aura-tbl__foot > .aura-tbl__row > * { background: var(--aura-table-head-bg); font-weight: 600; }
|
|
1815
|
+
.aura-tbl__foot > .aura-tbl__row:first-child > * { border-top: 2px solid var(--aura-border-default); }
|
|
1816
|
+
/* 5.30: with several totals rows (Subtotal, VAT, Total) the last one reads as the total. */
|
|
1817
|
+
.aura-tbl__foot > .aura-tbl__row:last-child:not(:first-child) > * { font-size: 14px; font-weight: 700; }
|
|
1749
1818
|
.aura-tbl__foot > .aura-tbl__row + .aura-tbl__row > * { border-top: 1px solid var(--aura-border-default); }
|
|
1750
1819
|
.aura-tbl .is-end { text-align: right; }
|
|
1751
1820
|
.aura-tbl .is-center { text-align: center; }
|
|
@@ -1789,7 +1858,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1789
1858
|
@container aura-tbl (width < 768px) {
|
|
1790
1859
|
.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; }
|
|
1791
1860
|
.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; }
|
|
1792
|
-
.aura-tbl--stack-md > .aura-tbl__caption { display: block; padding: var(--aura-space-4) var(--aura-space-4)
|
|
1861
|
+
.aura-tbl--stack-md > .aura-tbl__caption { display: block; padding: var(--aura-space-4) var(--aura-space-4) var(--aura-space-3); }
|
|
1793
1862
|
.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); }
|
|
1794
1863
|
.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); }
|
|
1795
1864
|
.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; }
|
|
@@ -1813,7 +1882,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1813
1882
|
@container aura-tbl (width < 640px) {
|
|
1814
1883
|
.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; }
|
|
1815
1884
|
.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; }
|
|
1816
|
-
.aura-tbl--stack-sm > .aura-tbl__caption { display: block; padding: var(--aura-space-4) var(--aura-space-4)
|
|
1885
|
+
.aura-tbl--stack-sm > .aura-tbl__caption { display: block; padding: var(--aura-space-4) var(--aura-space-4) var(--aura-space-3); }
|
|
1817
1886
|
.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); }
|
|
1818
1887
|
.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); }
|
|
1819
1888
|
.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; }
|
|
@@ -1847,7 +1916,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1847
1916
|
margin-bottom: var(--aura-space-2); padding: var(--aura-tbl-card-py, var(--aura-space-4)) var(--aura-space-4);
|
|
1848
1917
|
border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); background: var(--aura-bg-surface);
|
|
1849
1918
|
}
|
|
1850
|
-
.aura-tbl--cards.aura-tbl--stack-md > .aura-tbl__foot > .aura-tbl__row { background: var(--aura-bg
|
|
1919
|
+
.aura-tbl--cards.aura-tbl--stack-md > .aura-tbl__foot > .aura-tbl__row { background: var(--aura-table-head-bg); }
|
|
1851
1920
|
.aura-tbl--cards.aura-tbl--stack-md > :last-child > .aura-tbl__row:last-child { margin-bottom: 0; }
|
|
1852
1921
|
.aura-tbl-wrap.is-flush > .aura-tbl--cards.aura-tbl--stack-md > .aura-tbl__caption { padding: 0 0 var(--aura-space-3); }
|
|
1853
1922
|
}
|
|
@@ -1860,7 +1929,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1860
1929
|
margin-bottom: var(--aura-space-2); padding: var(--aura-tbl-card-py, var(--aura-space-4)) var(--aura-space-4);
|
|
1861
1930
|
border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); background: var(--aura-bg-surface);
|
|
1862
1931
|
}
|
|
1863
|
-
.aura-tbl--cards.aura-tbl--stack-sm > .aura-tbl__foot > .aura-tbl__row { background: var(--aura-bg
|
|
1932
|
+
.aura-tbl--cards.aura-tbl--stack-sm > .aura-tbl__foot > .aura-tbl__row { background: var(--aura-table-head-bg); }
|
|
1864
1933
|
.aura-tbl--cards.aura-tbl--stack-sm > :last-child > .aura-tbl__row:last-child { margin-bottom: 0; }
|
|
1865
1934
|
.aura-tbl-wrap.is-flush > .aura-tbl--cards.aura-tbl--stack-sm > .aura-tbl__caption { padding: 0 0 var(--aura-space-3); }
|
|
1866
1935
|
}
|
|
@@ -1970,7 +2039,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1970
2039
|
.aura-table__row--skeleton .aura-table__td > .aura-skel:not(.aura-skel--pill):not(.aura-skel--action) { margin: 5px 0; }
|
|
1971
2040
|
.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; }
|
|
1972
2041
|
.aura-table__row--skeleton .aura-table__td > .aura-skel-lines { align-items: flex-start; }
|
|
1973
|
-
.aura-table__total { background: var(--aura-bg
|
|
2042
|
+
.aura-table__total { background: var(--aura-table-head-bg); }
|
|
1974
2043
|
.aura-table__total > .is-blank { display: none; }
|
|
1975
2044
|
.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); }
|
|
1976
2045
|
.aura-table__empty { background: var(--aura-bg-surface); border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-lg); }
|
|
@@ -2001,4 +2070,26 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
2001
2070
|
.aura-tabs--segmented .aura-tab.aura-segmented__option:focus-visible { outline: 2px dashed CanvasText; outline-offset: -5px; }
|
|
2002
2071
|
}
|
|
2003
2072
|
|
|
2073
|
+
/* 5.30: Thai needs more room than Latin — tone marks and vowels stack above and below the line. Where the page or a
|
|
2074
|
+
* part of it is Thai (lang="th"), small labels are at least 12px and lines are taller. */
|
|
2075
|
+
.aura-pill:lang(th), .aura-badge:lang(th), .aura-tab__count:lang(th) { font-size: 12px; }
|
|
2076
|
+
.aura-pill:lang(th) { line-height: 18px; }
|
|
2077
|
+
.aura-skel--pill:lang(th) { height: 22px; } /* the loading pill stays as tall as the Thai one */
|
|
2078
|
+
.aura-bottomnav__item:lang(th) { font-size: 12px; line-height: 18px; }
|
|
2079
|
+
.aura-stepper__desc:lang(th) { font-size: 13px; line-height: 1.6; }
|
|
2080
|
+
.aura-nav__label:lang(th) { line-height: 22px; }
|
|
2081
|
+
/* 5.30 (audit D): field labels, hints and errors and choice descriptions get Thai line room; a stacked card's field
|
|
2082
|
+
* labels are 12px in the sans face (the mono face has no Thai), and a stacked DataTable card's values sit on a set
|
|
2083
|
+
* 1.6 line, so a loading card (its bars follow 1lh) is as tall as one with Thai text. */
|
|
2084
|
+
.aura-field__label:lang(th), .aura-field__hint:lang(th), .aura-field__error:lang(th), .aura-field__addon:lang(th) { line-height: 1.6; }
|
|
2085
|
+
.aura-choice__desc:lang(th), .aura-check__desc:lang(th) { font-size: 13px; line-height: 1.6; }
|
|
2086
|
+
.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; }
|
|
2087
|
+
.aura-table--stacked .aura-table__td[data-label]:lang(th) { line-height: 1.6; }
|
|
2088
|
+
|
|
2089
|
+
/* 5.30: a plain link (no class) inside AURA's surfaces takes the accent colour instead of the browser's blue. Zero
|
|
2090
|
+
* specificity, so any rule of yours for links wins. */
|
|
2091
|
+
: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])) {
|
|
2092
|
+
color: var(--aura-fg-accent); text-underline-offset: 2px;
|
|
2093
|
+
}
|
|
2094
|
+
|
|
2004
2095
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jirawatpyk/aura-react",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.31.0",
|
|
4
4
|
"description": "AURA Design System — React components (Enterprise Standard, Human Creative). Thai-first: Buddhist-era dates, Thai collation.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|