@jirawatpyk/aura-react 5.34.0 → 5.36.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 +12 -0
- package/dist/aura.bundle.js +350 -207
- package/dist/cjs/index.cjs +350 -207
- package/dist/esm/ActionBar.js +1 -0
- package/dist/esm/AppShell.js +16 -2
- package/dist/esm/BottomNav.js +26 -2
- package/dist/esm/scrollHide.js +96 -0
- package/dist/esm/strings.js +1 -0
- package/dist/esm/strings.sv.js +1 -0
- package/dist/esm/strings.th.js +1 -0
- package/dist/esm/tiles.js +14 -6
- package/dist/index.d.cts +20 -5
- package/dist/index.d.ts +20 -5
- package/dist/locales/sv.cjs +1 -0
- package/dist/locales/sv.d.cts +2 -0
- package/dist/locales/sv.d.ts +2 -0
- package/dist/locales/th.cjs +1 -0
- package/dist/locales/th.d.cts +2 -0
- package/dist/locales/th.d.ts +2 -0
- package/dist/server/index.cjs +15 -4
- package/dist/server/index.d.cts +8 -5
- package/dist/server/index.d.ts +8 -5
- package/dist/server/index.js +15 -4
- package/dist/styles.css +40 -5
- package/dist/styles.layer.css +40 -5
- package/package.json +1 -1
package/dist/server/index.js
CHANGED
|
@@ -277,6 +277,7 @@ var th = {
|
|
|
277
277
|
statusProblem: "\u0E21\u0E35\u0E1B\u0E31\u0E0D\u0E2B\u0E32",
|
|
278
278
|
statusMaintenance: "\u0E1B\u0E34\u0E14\u0E1B\u0E23\u0E31\u0E1A\u0E1B\u0E23\u0E38\u0E07",
|
|
279
279
|
statusOk: "\u0E1B\u0E01\u0E15\u0E34",
|
|
280
|
+
statusUnknown: "\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25",
|
|
280
281
|
accepts: function(list, max) {
|
|
281
282
|
return [list, max && "\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19 " + max + " \u0E15\u0E48\u0E2D\u0E44\u0E1F\u0E25\u0E4C"].filter(Boolean).join(" \xB7 ");
|
|
282
283
|
}
|
|
@@ -412,6 +413,7 @@ var sv = {
|
|
|
412
413
|
statusProblem: "Problem",
|
|
413
414
|
statusMaintenance: "Underh\xE5ll",
|
|
414
415
|
statusOk: "OK",
|
|
416
|
+
statusUnknown: "Ingen data",
|
|
415
417
|
accepts: function(list, max) {
|
|
416
418
|
return [list, max && "h\xF6gst " + max + " per fil"].filter(Boolean).join(", ");
|
|
417
419
|
}
|
|
@@ -548,6 +550,7 @@ var STRINGS = {
|
|
|
548
550
|
statusProblem: "Problem",
|
|
549
551
|
statusMaintenance: "Maintenance",
|
|
550
552
|
statusOk: "OK",
|
|
553
|
+
statusUnknown: "No data",
|
|
551
554
|
accepts: function(list, max) {
|
|
552
555
|
return [list, max && "up to " + max + " each"].filter(Boolean).join(", ");
|
|
553
556
|
}
|
|
@@ -1380,19 +1383,22 @@ var STATUS_ICON = {
|
|
|
1380
1383
|
down: IconCircleAlert,
|
|
1381
1384
|
problem: IconTriangleAlert,
|
|
1382
1385
|
maintenance: IconWrench,
|
|
1383
|
-
ok: IconCircleCheck
|
|
1386
|
+
ok: IconCircleCheck,
|
|
1387
|
+
unknown: IconCircleDotDashed
|
|
1384
1388
|
};
|
|
1385
1389
|
var STATUS_TONE = {
|
|
1386
1390
|
down: "danger",
|
|
1387
1391
|
problem: "warning",
|
|
1388
1392
|
maintenance: "accent",
|
|
1389
|
-
ok: "default"
|
|
1393
|
+
ok: "default",
|
|
1394
|
+
unknown: "default"
|
|
1390
1395
|
};
|
|
1391
1396
|
var STATUS_WORD = {
|
|
1392
1397
|
down: "statusDown",
|
|
1393
1398
|
problem: "statusProblem",
|
|
1394
1399
|
maintenance: "statusMaintenance",
|
|
1395
|
-
ok: "statusOk"
|
|
1400
|
+
ok: "statusOk",
|
|
1401
|
+
unknown: "statusUnknown"
|
|
1396
1402
|
};
|
|
1397
1403
|
function statusWord(status, t) {
|
|
1398
1404
|
return String(t[STATUS_WORD[status]] || STATUS_WORD[status]);
|
|
@@ -1407,7 +1413,12 @@ function attrs(props) {
|
|
|
1407
1413
|
}
|
|
1408
1414
|
var comma = h5("span", { className: "aura-status-tile__sep" }, ",");
|
|
1409
1415
|
function statusTileElement(props, ref, Link, t, titleRef) {
|
|
1410
|
-
const status = STATUS_ICON[props.status] ? props.status : "
|
|
1416
|
+
const status = STATUS_ICON[props.status] ? props.status : "unknown";
|
|
1417
|
+
if (status !== props.status)
|
|
1418
|
+
devWarnOnce(
|
|
1419
|
+
"status-tile-status-" + String(props.status),
|
|
1420
|
+
'StatusTile status="' + String(props.status) + '" is not down, problem, maintenance, ok or unknown: it shows as unknown ("No data"). Map your value first.'
|
|
1421
|
+
);
|
|
1411
1422
|
const valueTone = props.valueTone || STATUS_TONE[status];
|
|
1412
1423
|
const word = props.statusLabel || statusWord(status, t);
|
|
1413
1424
|
const markers = (props.markers || []).filter(Boolean);
|
package/dist/styles.css
CHANGED
|
@@ -161,6 +161,22 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
|
|
|
161
161
|
box-sizing: border-box; height: 100%; line-height: calc(var(--aura-table-row-height) - 1px);
|
|
162
162
|
overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-right: var(--aura-space-4);
|
|
163
163
|
}
|
|
164
|
+
/* 5.36 (DxT Monitor 15): the cell clips its text, not the focus ring of a link or button in it (2px wide, 2px out,
|
|
165
|
+
* so 4px). A cell's start edge is its content edge, so a ring there lost its start side. In the first data column the
|
|
166
|
+
* row's sticky start gutter (or pinned checkbox column) painted over it too: there a focused link or button is lifted
|
|
167
|
+
* just above them — not while the table is scrolled sideways (it would cover the pinned columns), and never above the
|
|
168
|
+
* sticky header or totals (z-index 3). Where the browser can't give the clip a margin (Safari), rings in cells are
|
|
169
|
+
* drawn inside instead. */
|
|
170
|
+
.aura-table:not(.is-scrolled-x) :is(.aura-table__gutter, .aura-table__sel) + .aura-table__td :is(a, button, [role="button"]):focus-visible { position: relative; z-index: 2; }
|
|
171
|
+
/* A plain link or button of yours in a cell gets AURA's ring rather than the browser's (no specificity: your own focus
|
|
172
|
+
* style wins). */
|
|
173
|
+
:where(.aura-table__td) :where(a, button):focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 2px; border-radius: var(--aura-radius-xs); }
|
|
174
|
+
@supports (overflow-clip-margin: 1px) {
|
|
175
|
+
.aura-table__td { overflow: clip; overflow-clip-margin: var(--aura-space-1); }
|
|
176
|
+
}
|
|
177
|
+
@supports not (overflow-clip-margin: 1px) {
|
|
178
|
+
.aura-table__td :focus-visible { outline-offset: calc(-1 * var(--aura-focus-ring-width)); }
|
|
179
|
+
}
|
|
164
180
|
/* 5.11 rowHeight="auto" (never virtualized): a row grows to fit what wraps in it; each cell centres its content.
|
|
165
181
|
* The padding only shows once content is taller than the row: a small Button or IconButton (32px), a pill or one line
|
|
166
182
|
* still fits the density's row height (7.5px above and below at 48px, 3.5px compact). */
|
|
@@ -864,8 +880,14 @@ a.aura-tab { text-decoration: none; }
|
|
|
864
880
|
.aura-crumbs li.aura-crumbs__more { display: none; }
|
|
865
881
|
/* "…" is the only way to the hidden items: a 24px target, 44px on touch screens. */
|
|
866
882
|
.aura-crumbs__more > button { position: relative; min-width: 24px; min-height: 24px; display: inline-flex; align-items: center; justify-content: center; }
|
|
883
|
+
/* 5.35 (DxT Monitor 11): on a touch screen every crumb link and button (and "…") gets a 44px-tall hit area; the text
|
|
884
|
+
* doesn't move. The area reaches 12px into the gutter on each side (the gutter is 28px, so neighbours never overlap)
|
|
885
|
+
* and only 4px below the text, so it stops short of a PageHeader title 4px under the crumbs; the rest of the 44px is
|
|
886
|
+
* above. Wrapped rows sit 24px apart on touch screens so one row's areas never cover the next. */
|
|
867
887
|
@media (pointer: coarse) {
|
|
868
|
-
.aura-
|
|
888
|
+
.aura-crumbs ol { row-gap: 24px; }
|
|
889
|
+
.aura-crumbs li > a, .aura-crumbs li > button { position: relative; }
|
|
890
|
+
.aura-crumbs li > a::after, .aura-crumbs li > button::after { content: ''; position: absolute; left: -12px; right: -12px; bottom: -4px; height: max(100% + 4px, var(--aura-touch-target)); }
|
|
869
891
|
}
|
|
870
892
|
@media (max-width: 639.98px) {
|
|
871
893
|
.aura-crumbs--collapse-sm li.aura-crumbs__more { display: inline-flex; }
|
|
@@ -1072,6 +1094,10 @@ a.aura-tab { text-decoration: none; }
|
|
|
1072
1094
|
--aura-shell-bar-height: 56px; /* 5.14 (Chamber-OS 104): the top bar's height, for sticky offsets under it */
|
|
1073
1095
|
}
|
|
1074
1096
|
.aura-shell--no-bar { --aura-shell-bar-height: 0px; }
|
|
1097
|
+
/* 5.35 (DxT Monitor 13): headerHideOnScroll — below lg the bar slides up out of view while the page scrolls down (its
|
|
1098
|
+
* shadow too); AppShell sets the bar-height token to 0 meanwhile. */
|
|
1099
|
+
.aura-shell__bar--hides { transition: transform var(--aura-duration-base) var(--aura-ease); }
|
|
1100
|
+
@media (max-width: 1023.98px) { .aura-shell__bar.is-away { transform: translateY(calc(-100% - 8px)); } }
|
|
1075
1101
|
@media (min-width: 1024px) { .aura-shell--menu-bar { --aura-shell-bar-height: 0px; } }
|
|
1076
1102
|
.aura-shell__nav { position: sticky; top: 0; height: 100vh; height: 100dvh; flex: none; }
|
|
1077
1103
|
.aura-shell__main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
|
|
@@ -1187,6 +1213,7 @@ button.aura-stat { font: inherit; width: 100%; cursor: pointer; }
|
|
|
1187
1213
|
.aura-status-tile--down .aura-status-tile__icon { color: var(--aura-alert-danger-fg); }
|
|
1188
1214
|
.aura-status-tile--problem .aura-status-tile__icon { color: var(--aura-alert-warning-fg); }
|
|
1189
1215
|
.aura-status-tile--maintenance .aura-status-tile__icon { color: var(--aura-alert-info-fg); }
|
|
1216
|
+
.aura-status-tile--unknown .aura-status-tile__icon { color: var(--aura-fg-tertiary); } /* 5.35: no data yet */
|
|
1190
1217
|
/* Two lines at most: similar names stay apart. */
|
|
1191
1218
|
.aura-status-tile__title {
|
|
1192
1219
|
flex: 1 1 0; min-width: 0; font-weight: 600; overflow-wrap: break-word;
|
|
@@ -1845,10 +1872,18 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1845
1872
|
@media (min-width: 1024px) { .aura-bottomnav.aura-bottomnav--below-lg, .aura-bottomnav-spacer.aura-bottomnav--below-lg { display: none; } }
|
|
1846
1873
|
@media (min-width: 1280px) { .aura-bottomnav.aura-bottomnav--below-xl, .aura-bottomnav-spacer.aura-bottomnav--below-xl { display: none; } }
|
|
1847
1874
|
/* While a BottomNav shows, viewport ActionBars and phone toasts sit on top of it. */
|
|
1848
|
-
:
|
|
1849
|
-
|
|
1850
|
-
@media (max-width:
|
|
1851
|
-
@media (max-width:
|
|
1875
|
+
/* 5.35: not while it has slid away on scroll, nor on a page that hides it (data-aura-hide-bottomnav). */
|
|
1876
|
+
:root:has(nav.aura-bottomnav--always:not(.is-away)):not(:has([data-aura-hide-bottomnav])) { --aura-bottomnav-offset: calc(var(--aura-bottomnav-height) + env(safe-area-inset-bottom, 0px)); }
|
|
1877
|
+
@media (max-width: 767.98px) { :root:has(nav.aura-bottomnav--below-md:not(.is-away)):not(:has([data-aura-hide-bottomnav])) { --aura-bottomnav-offset: calc(var(--aura-bottomnav-height) + env(safe-area-inset-bottom, 0px)); } }
|
|
1878
|
+
@media (max-width: 1023.98px) { :root:has(nav.aura-bottomnav--below-lg:not(.is-away)):not(:has([data-aura-hide-bottomnav])) { --aura-bottomnav-offset: calc(var(--aura-bottomnav-height) + env(safe-area-inset-bottom, 0px)); } }
|
|
1879
|
+
@media (max-width: 1279.98px) { :root:has(nav.aura-bottomnav--below-xl:not(.is-away)):not(:has([data-aura-hide-bottomnav])) { --aura-bottomnav-offset: calc(var(--aura-bottomnav-height) + env(safe-area-inset-bottom, 0px)); } }
|
|
1880
|
+
/* 5.35 (DxT Monitor 14): hideOnScroll slides it down out of view (the spacer stays, so nothing shifts); a page with its
|
|
1881
|
+
* own bottom bar (ActionBar hidesBottomNav, or data-aura-hide-bottomnav on any element) has no BottomNav or spacer. */
|
|
1882
|
+
.aura-bottomnav--hides { transition: transform var(--aura-duration-base) var(--aura-ease); }
|
|
1883
|
+
.aura-bottomnav.is-away { transform: translateY(100%); }
|
|
1884
|
+
:root:has([data-aura-hide-bottomnav]) .aura-bottomnav, :root:has([data-aura-hide-bottomnav]) .aura-bottomnav-spacer { display: none; }
|
|
1885
|
+
.aura-actionbar--viewport { transition: bottom var(--aura-duration-base) var(--aura-ease); }
|
|
1886
|
+
@media (prefers-reduced-motion: reduce) { .aura-bottomnav--hides, .aura-actionbar--viewport, .aura-shell__bar--hides { transition: none; } }
|
|
1852
1887
|
/* Toasts clear a BottomNav wherever it shows (phones and tablets), else the bottom safe-area inset (5.6). */
|
|
1853
1888
|
.aura-toaster:not(.is-top) { bottom: calc(var(--aura-toaster-offset, var(--aura-space-6)) + var(--aura-bottomnav-offset, env(safe-area-inset-bottom, 0px))); }
|
|
1854
1889
|
@media (max-width: 639.98px) { .aura-toaster:not(.is-top) { bottom: calc(var(--aura-toaster-offset, var(--aura-space-4)) + var(--aura-bottomnav-offset, env(safe-area-inset-bottom, 0px))); } }
|
package/dist/styles.layer.css
CHANGED
|
@@ -163,6 +163,22 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
|
|
|
163
163
|
box-sizing: border-box; height: 100%; line-height: calc(var(--aura-table-row-height) - 1px);
|
|
164
164
|
overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-right: var(--aura-space-4);
|
|
165
165
|
}
|
|
166
|
+
/* 5.36 (DxT Monitor 15): the cell clips its text, not the focus ring of a link or button in it (2px wide, 2px out,
|
|
167
|
+
* so 4px). A cell's start edge is its content edge, so a ring there lost its start side. In the first data column the
|
|
168
|
+
* row's sticky start gutter (or pinned checkbox column) painted over it too: there a focused link or button is lifted
|
|
169
|
+
* just above them — not while the table is scrolled sideways (it would cover the pinned columns), and never above the
|
|
170
|
+
* sticky header or totals (z-index 3). Where the browser can't give the clip a margin (Safari), rings in cells are
|
|
171
|
+
* drawn inside instead. */
|
|
172
|
+
.aura-table:not(.is-scrolled-x) :is(.aura-table__gutter, .aura-table__sel) + .aura-table__td :is(a, button, [role="button"]):focus-visible { position: relative; z-index: 2; }
|
|
173
|
+
/* A plain link or button of yours in a cell gets AURA's ring rather than the browser's (no specificity: your own focus
|
|
174
|
+
* style wins). */
|
|
175
|
+
:where(.aura-table__td) :where(a, button):focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 2px; border-radius: var(--aura-radius-xs); }
|
|
176
|
+
@supports (overflow-clip-margin: 1px) {
|
|
177
|
+
.aura-table__td { overflow: clip; overflow-clip-margin: var(--aura-space-1); }
|
|
178
|
+
}
|
|
179
|
+
@supports not (overflow-clip-margin: 1px) {
|
|
180
|
+
.aura-table__td :focus-visible { outline-offset: calc(-1 * var(--aura-focus-ring-width)); }
|
|
181
|
+
}
|
|
166
182
|
/* 5.11 rowHeight="auto" (never virtualized): a row grows to fit what wraps in it; each cell centres its content.
|
|
167
183
|
* The padding only shows once content is taller than the row: a small Button or IconButton (32px), a pill or one line
|
|
168
184
|
* still fits the density's row height (7.5px above and below at 48px, 3.5px compact). */
|
|
@@ -866,8 +882,14 @@ a.aura-tab { text-decoration: none; }
|
|
|
866
882
|
.aura-crumbs li.aura-crumbs__more { display: none; }
|
|
867
883
|
/* "…" is the only way to the hidden items: a 24px target, 44px on touch screens. */
|
|
868
884
|
.aura-crumbs__more > button { position: relative; min-width: 24px; min-height: 24px; display: inline-flex; align-items: center; justify-content: center; }
|
|
885
|
+
/* 5.35 (DxT Monitor 11): on a touch screen every crumb link and button (and "…") gets a 44px-tall hit area; the text
|
|
886
|
+
* doesn't move. The area reaches 12px into the gutter on each side (the gutter is 28px, so neighbours never overlap)
|
|
887
|
+
* and only 4px below the text, so it stops short of a PageHeader title 4px under the crumbs; the rest of the 44px is
|
|
888
|
+
* above. Wrapped rows sit 24px apart on touch screens so one row's areas never cover the next. */
|
|
869
889
|
@media (pointer: coarse) {
|
|
870
|
-
.aura-
|
|
890
|
+
.aura-crumbs ol { row-gap: 24px; }
|
|
891
|
+
.aura-crumbs li > a, .aura-crumbs li > button { position: relative; }
|
|
892
|
+
.aura-crumbs li > a::after, .aura-crumbs li > button::after { content: ''; position: absolute; left: -12px; right: -12px; bottom: -4px; height: max(100% + 4px, var(--aura-touch-target)); }
|
|
871
893
|
}
|
|
872
894
|
@media (max-width: 639.98px) {
|
|
873
895
|
.aura-crumbs--collapse-sm li.aura-crumbs__more { display: inline-flex; }
|
|
@@ -1074,6 +1096,10 @@ a.aura-tab { text-decoration: none; }
|
|
|
1074
1096
|
--aura-shell-bar-height: 56px; /* 5.14 (Chamber-OS 104): the top bar's height, for sticky offsets under it */
|
|
1075
1097
|
}
|
|
1076
1098
|
.aura-shell--no-bar { --aura-shell-bar-height: 0px; }
|
|
1099
|
+
/* 5.35 (DxT Monitor 13): headerHideOnScroll — below lg the bar slides up out of view while the page scrolls down (its
|
|
1100
|
+
* shadow too); AppShell sets the bar-height token to 0 meanwhile. */
|
|
1101
|
+
.aura-shell__bar--hides { transition: transform var(--aura-duration-base) var(--aura-ease); }
|
|
1102
|
+
@media (max-width: 1023.98px) { .aura-shell__bar.is-away { transform: translateY(calc(-100% - 8px)); } }
|
|
1077
1103
|
@media (min-width: 1024px) { .aura-shell--menu-bar { --aura-shell-bar-height: 0px; } }
|
|
1078
1104
|
.aura-shell__nav { position: sticky; top: 0; height: 100vh; height: 100dvh; flex: none; }
|
|
1079
1105
|
.aura-shell__main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
|
|
@@ -1189,6 +1215,7 @@ button.aura-stat { font: inherit; width: 100%; cursor: pointer; }
|
|
|
1189
1215
|
.aura-status-tile--down .aura-status-tile__icon { color: var(--aura-alert-danger-fg); }
|
|
1190
1216
|
.aura-status-tile--problem .aura-status-tile__icon { color: var(--aura-alert-warning-fg); }
|
|
1191
1217
|
.aura-status-tile--maintenance .aura-status-tile__icon { color: var(--aura-alert-info-fg); }
|
|
1218
|
+
.aura-status-tile--unknown .aura-status-tile__icon { color: var(--aura-fg-tertiary); } /* 5.35: no data yet */
|
|
1192
1219
|
/* Two lines at most: similar names stay apart. */
|
|
1193
1220
|
.aura-status-tile__title {
|
|
1194
1221
|
flex: 1 1 0; min-width: 0; font-weight: 600; overflow-wrap: break-word;
|
|
@@ -1847,10 +1874,18 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1847
1874
|
@media (min-width: 1024px) { .aura-bottomnav.aura-bottomnav--below-lg, .aura-bottomnav-spacer.aura-bottomnav--below-lg { display: none; } }
|
|
1848
1875
|
@media (min-width: 1280px) { .aura-bottomnav.aura-bottomnav--below-xl, .aura-bottomnav-spacer.aura-bottomnav--below-xl { display: none; } }
|
|
1849
1876
|
/* While a BottomNav shows, viewport ActionBars and phone toasts sit on top of it. */
|
|
1850
|
-
:
|
|
1851
|
-
|
|
1852
|
-
@media (max-width:
|
|
1853
|
-
@media (max-width:
|
|
1877
|
+
/* 5.35: not while it has slid away on scroll, nor on a page that hides it (data-aura-hide-bottomnav). */
|
|
1878
|
+
:root:has(nav.aura-bottomnav--always:not(.is-away)):not(:has([data-aura-hide-bottomnav])) { --aura-bottomnav-offset: calc(var(--aura-bottomnav-height) + env(safe-area-inset-bottom, 0px)); }
|
|
1879
|
+
@media (max-width: 767.98px) { :root:has(nav.aura-bottomnav--below-md:not(.is-away)):not(:has([data-aura-hide-bottomnav])) { --aura-bottomnav-offset: calc(var(--aura-bottomnav-height) + env(safe-area-inset-bottom, 0px)); } }
|
|
1880
|
+
@media (max-width: 1023.98px) { :root:has(nav.aura-bottomnav--below-lg:not(.is-away)):not(:has([data-aura-hide-bottomnav])) { --aura-bottomnav-offset: calc(var(--aura-bottomnav-height) + env(safe-area-inset-bottom, 0px)); } }
|
|
1881
|
+
@media (max-width: 1279.98px) { :root:has(nav.aura-bottomnav--below-xl:not(.is-away)):not(:has([data-aura-hide-bottomnav])) { --aura-bottomnav-offset: calc(var(--aura-bottomnav-height) + env(safe-area-inset-bottom, 0px)); } }
|
|
1882
|
+
/* 5.35 (DxT Monitor 14): hideOnScroll slides it down out of view (the spacer stays, so nothing shifts); a page with its
|
|
1883
|
+
* own bottom bar (ActionBar hidesBottomNav, or data-aura-hide-bottomnav on any element) has no BottomNav or spacer. */
|
|
1884
|
+
.aura-bottomnav--hides { transition: transform var(--aura-duration-base) var(--aura-ease); }
|
|
1885
|
+
.aura-bottomnav.is-away { transform: translateY(100%); }
|
|
1886
|
+
:root:has([data-aura-hide-bottomnav]) .aura-bottomnav, :root:has([data-aura-hide-bottomnav]) .aura-bottomnav-spacer { display: none; }
|
|
1887
|
+
.aura-actionbar--viewport { transition: bottom var(--aura-duration-base) var(--aura-ease); }
|
|
1888
|
+
@media (prefers-reduced-motion: reduce) { .aura-bottomnav--hides, .aura-actionbar--viewport, .aura-shell__bar--hides { transition: none; } }
|
|
1854
1889
|
/* Toasts clear a BottomNav wherever it shows (phones and tablets), else the bottom safe-area inset (5.6). */
|
|
1855
1890
|
.aura-toaster:not(.is-top) { bottom: calc(var(--aura-toaster-offset, var(--aura-space-6)) + var(--aura-bottomnav-offset, env(safe-area-inset-bottom, 0px))); }
|
|
1856
1891
|
@media (max-width: 639.98px) { .aura-toaster:not(.is-top) { bottom: calc(var(--aura-toaster-offset, var(--aura-space-4)) + var(--aura-bottomnav-offset, env(safe-area-inset-bottom, 0px))); } }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jirawatpyk/aura-react",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.36.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",
|