@jirawatpyk/aura-react 5.73.0 → 5.74.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 +4 -0
- package/dist/aura.bundle.js +65 -7
- package/dist/cjs/index.cjs +65 -7
- package/dist/esm/PageHeaderClient.js +63 -6
- package/dist/esm/internal.js +2 -1
- package/dist/styles.css +16 -8
- package/dist/styles.layer.css +16 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -186,6 +186,10 @@ DataTable with sort and page in the URL (4.17): `onStateChange={({ sort, page })
|
|
|
186
186
|
- **Time zone**: `timeZone` on AuraProvider, DatePicker, DateRangePicker and Calendar decides "today" (the marker, `min`/`max="today"`, the first month shown); or pass `today` as an ISO date. `todayIn('Asia/Bangkok')` is exported from the root and `/server`.
|
|
187
187
|
- **Toasts** queue past three instead of dropping: six in a row all show, in order, three at a time.
|
|
188
188
|
|
|
189
|
+
## 5.74 — Chamber-OS addendum 94 (#193)
|
|
190
|
+
|
|
191
|
+
- **A PageHeader bar with nothing left in it goes:** when every direct child of the phone bar but the status line (looking through `display: contents` wrappers) is hidden — the `hidden` attribute, `display: none`, `visibility: hidden` set on it, or visually hidden text (an `aria-describedby` note: `.sr-only`-style classes, or an inline absolutely positioned, clipped box) — and no text sits in it, the strip takes no box and the page loses its bar padding and `scroll-padding` (`--aura-page-actions-height` is `0px`), as if there were no bar. A status alone is not a bar. It applies to `actionsBar`'s strip and to the plain `actionsBarBelow` bar, and follows a child being shown or hidden (its `hidden`, `class` or `style`), added or removed, at most once a frame — for a pay bar that hides, not unmounts, once paying succeeds. A bar under a `visibility: hidden` ancestor (a page-enter gate) is not taken for empty. The client marks the header `data-aura-bar="empty"` or `"shown"`; before it does (server HTML), `actionsBar`'s strip whose element children are all `hidden` or visually hidden already goes, though the page padding waits for the client. From the breakpoint up nothing changes. A `:has(> [hidden])` stand-in can go once your PageHeaders render on the client. The `hidden` attribute is trusted as hidden: don't give a hidden child a class that displays it anyway (Tailwind v3's `flex` beats the browser's `[hidden]`).
|
|
192
|
+
|
|
189
193
|
## 5.73 — Chamber-OS addendum 93 follow-up (#192)
|
|
190
194
|
|
|
191
195
|
- **Hidden bars, every way a tab panel hides them:** the edge ActionBar and PageHeader's `actionsBarBelow` bar now share one rule. The newest bar that is pinned and on screen sets the page's clearance (`--aura-actionbar-height`, `--aura-page-actions-height`). A bar with no box (`display: none`), `visibility: hidden`, or inside `content-visibility: hidden` (`hidden="until-found"`) is skipped. A visibility switch resizes nothing, so the bars are re-read after any click, key press, focus move, transition, find-in-page reveal (`beforematch`) or history change; a switch made by a timer or a resolved request is caught at the next of those.
|
package/dist/aura.bundle.js
CHANGED
|
@@ -425,7 +425,7 @@ window.Aura = (() => {
|
|
|
425
425
|
const v = getComputedStyle(el).visibility;
|
|
426
426
|
return v !== "hidden" && v !== "collapse";
|
|
427
427
|
}
|
|
428
|
-
function barStack(name, onMany) {
|
|
428
|
+
function barStack(name, onMany, onRead) {
|
|
429
429
|
const els = [];
|
|
430
430
|
let frame = 0;
|
|
431
431
|
const docEvents = ["click", "keydown", "focusin", "transitionend", "beforematch"];
|
|
@@ -433,6 +433,7 @@ window.Aura = (() => {
|
|
|
433
433
|
function write() {
|
|
434
434
|
if (frame) cancelAnimationFrame(frame);
|
|
435
435
|
frame = 0;
|
|
436
|
+
if (onRead) onRead();
|
|
436
437
|
const root = document.documentElement;
|
|
437
438
|
let shown = null, boxed = null, pinned2 = false, many = 0;
|
|
438
439
|
for (let i = els.length - 1; i >= 0; i--) {
|
|
@@ -8227,12 +8228,41 @@ window.Aura = (() => {
|
|
|
8227
8228
|
});
|
|
8228
8229
|
|
|
8229
8230
|
// src/PageHeaderClient.tsx
|
|
8230
|
-
var bars = barStack(
|
|
8231
|
-
|
|
8232
|
-
|
|
8233
|
-
|
|
8234
|
-
|
|
8235
|
-
|
|
8231
|
+
var bars = barStack(
|
|
8232
|
+
"--aura-page-actions-height",
|
|
8233
|
+
function() {
|
|
8234
|
+
devWarnOnce(
|
|
8235
|
+
"pageheader-bar-twice",
|
|
8236
|
+
"PageHeader actionsBarBelow: two bars are on screen at once and overlap at the bottom of the screen. Give it to one PageHeader per page (one per tab panel is fine: only the shown one counts)."
|
|
8237
|
+
);
|
|
8238
|
+
},
|
|
8239
|
+
function() {
|
|
8240
|
+
marks.forEach(function(m) {
|
|
8241
|
+
m();
|
|
8242
|
+
});
|
|
8243
|
+
}
|
|
8244
|
+
);
|
|
8245
|
+
var UNSEEN = ".aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text";
|
|
8246
|
+
function noneShown(el, barVisible) {
|
|
8247
|
+
for (let n3 = el.firstChild; n3; n3 = n3.nextSibling) {
|
|
8248
|
+
if (n3.nodeType === 3) {
|
|
8249
|
+
if ((n3.textContent || "").trim()) return false;
|
|
8250
|
+
continue;
|
|
8251
|
+
}
|
|
8252
|
+
if (n3.nodeType !== 1) continue;
|
|
8253
|
+
const c = n3;
|
|
8254
|
+
if (c.hidden || c.matches(UNSEEN)) continue;
|
|
8255
|
+
const s = getComputedStyle(c);
|
|
8256
|
+
if (s.display === "none") continue;
|
|
8257
|
+
if (barVisible && (s.visibility === "hidden" || s.visibility === "collapse")) continue;
|
|
8258
|
+
const inline = c.getAttribute("style") || "";
|
|
8259
|
+
if (/position:\s*absolute/.test(inline) && /clip/.test(inline)) continue;
|
|
8260
|
+
if (s.display === "contents" && noneShown(c, barVisible)) continue;
|
|
8261
|
+
return false;
|
|
8262
|
+
}
|
|
8263
|
+
return true;
|
|
8264
|
+
}
|
|
8265
|
+
var marks = /* @__PURE__ */ new Set();
|
|
8236
8266
|
var PageHeader3 = React45.forwardRef(function PageHeader4(props, ref) {
|
|
8237
8267
|
const own = React45.useRef(null);
|
|
8238
8268
|
const merged = useMergedRef(ref, own);
|
|
@@ -8246,8 +8276,15 @@ window.Aura = (() => {
|
|
|
8246
8276
|
split ? ":scope > .aura-page-header__actions > .aura-page-header__bar" : ":scope > .aura-page-header__actions"
|
|
8247
8277
|
);
|
|
8248
8278
|
if (!el) return;
|
|
8279
|
+
const head = own.current;
|
|
8249
8280
|
let checked = false;
|
|
8281
|
+
function mark() {
|
|
8282
|
+
const empty = noneShown(el, getComputedStyle(el).visibility === "visible");
|
|
8283
|
+
const state = empty ? "empty" : "shown";
|
|
8284
|
+
if (head.getAttribute("data-aura-bar") !== state) head.setAttribute("data-aura-bar", state);
|
|
8285
|
+
}
|
|
8250
8286
|
function sync() {
|
|
8287
|
+
mark();
|
|
8251
8288
|
bars.write();
|
|
8252
8289
|
if (!checked && getComputedStyle(el).position === "fixed" && (checked = true, fixedTrapped(el)))
|
|
8253
8290
|
devWarnOnce(
|
|
@@ -8255,14 +8292,35 @@ window.Aura = (() => {
|
|
|
8255
8292
|
"PageHeader actionsBarBelow: an ancestor has a transform, filter, will-change or paint containment, so the fixed bar is placed against it instead of the screen. Remove it from the page header's ancestors."
|
|
8256
8293
|
);
|
|
8257
8294
|
}
|
|
8295
|
+
mark();
|
|
8296
|
+
marks.add(mark);
|
|
8258
8297
|
bars.add(el);
|
|
8298
|
+
const mo = typeof MutationObserver === "undefined" ? null : new MutationObserver(function() {
|
|
8299
|
+
if (!frame) frame = requestAnimationFrame(later);
|
|
8300
|
+
});
|
|
8301
|
+
let frame = 0;
|
|
8302
|
+
function later() {
|
|
8303
|
+
frame = 0;
|
|
8304
|
+
sync();
|
|
8305
|
+
}
|
|
8306
|
+
if (mo)
|
|
8307
|
+
mo.observe(el, {
|
|
8308
|
+
childList: true,
|
|
8309
|
+
subtree: true,
|
|
8310
|
+
attributes: true,
|
|
8311
|
+
attributeFilter: ["hidden", "class", "style"]
|
|
8312
|
+
});
|
|
8259
8313
|
const ro = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(sync);
|
|
8260
8314
|
if (ro) ro.observe(el, { box: "border-box" });
|
|
8261
8315
|
window.addEventListener("resize", sync);
|
|
8262
8316
|
sync();
|
|
8263
8317
|
return function() {
|
|
8264
8318
|
if (ro) ro.disconnect();
|
|
8319
|
+
if (mo) mo.disconnect();
|
|
8320
|
+
if (frame) cancelAnimationFrame(frame);
|
|
8321
|
+
marks.delete(mark);
|
|
8265
8322
|
window.removeEventListener("resize", sync);
|
|
8323
|
+
head.removeAttribute("data-aura-bar");
|
|
8266
8324
|
bars.remove(el);
|
|
8267
8325
|
};
|
|
8268
8326
|
},
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -407,7 +407,7 @@ function onScreen(el) {
|
|
|
407
407
|
const v = getComputedStyle(el).visibility;
|
|
408
408
|
return v !== "hidden" && v !== "collapse";
|
|
409
409
|
}
|
|
410
|
-
function barStack(name, onMany) {
|
|
410
|
+
function barStack(name, onMany, onRead) {
|
|
411
411
|
const els = [];
|
|
412
412
|
let frame = 0;
|
|
413
413
|
const docEvents = ["click", "keydown", "focusin", "transitionend", "beforematch"];
|
|
@@ -415,6 +415,7 @@ function barStack(name, onMany) {
|
|
|
415
415
|
function write() {
|
|
416
416
|
if (frame) cancelAnimationFrame(frame);
|
|
417
417
|
frame = 0;
|
|
418
|
+
if (onRead) onRead();
|
|
418
419
|
const root = document.documentElement;
|
|
419
420
|
let shown = null, boxed = null, pinned2 = false, many = 0;
|
|
420
421
|
for (let i = els.length - 1; i >= 0; i--) {
|
|
@@ -8209,12 +8210,41 @@ var PageHeader = React44.forwardRef(function PageHeader2(props, ref) {
|
|
|
8209
8210
|
});
|
|
8210
8211
|
|
|
8211
8212
|
// src/PageHeaderClient.tsx
|
|
8212
|
-
var bars = barStack(
|
|
8213
|
-
|
|
8214
|
-
|
|
8215
|
-
|
|
8216
|
-
|
|
8217
|
-
|
|
8213
|
+
var bars = barStack(
|
|
8214
|
+
"--aura-page-actions-height",
|
|
8215
|
+
function() {
|
|
8216
|
+
devWarnOnce(
|
|
8217
|
+
"pageheader-bar-twice",
|
|
8218
|
+
"PageHeader actionsBarBelow: two bars are on screen at once and overlap at the bottom of the screen. Give it to one PageHeader per page (one per tab panel is fine: only the shown one counts)."
|
|
8219
|
+
);
|
|
8220
|
+
},
|
|
8221
|
+
function() {
|
|
8222
|
+
marks.forEach(function(m) {
|
|
8223
|
+
m();
|
|
8224
|
+
});
|
|
8225
|
+
}
|
|
8226
|
+
);
|
|
8227
|
+
var UNSEEN = ".aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text";
|
|
8228
|
+
function noneShown(el, barVisible) {
|
|
8229
|
+
for (let n3 = el.firstChild; n3; n3 = n3.nextSibling) {
|
|
8230
|
+
if (n3.nodeType === 3) {
|
|
8231
|
+
if ((n3.textContent || "").trim()) return false;
|
|
8232
|
+
continue;
|
|
8233
|
+
}
|
|
8234
|
+
if (n3.nodeType !== 1) continue;
|
|
8235
|
+
const c = n3;
|
|
8236
|
+
if (c.hidden || c.matches(UNSEEN)) continue;
|
|
8237
|
+
const s = getComputedStyle(c);
|
|
8238
|
+
if (s.display === "none") continue;
|
|
8239
|
+
if (barVisible && (s.visibility === "hidden" || s.visibility === "collapse")) continue;
|
|
8240
|
+
const inline = c.getAttribute("style") || "";
|
|
8241
|
+
if (/position:\s*absolute/.test(inline) && /clip/.test(inline)) continue;
|
|
8242
|
+
if (s.display === "contents" && noneShown(c, barVisible)) continue;
|
|
8243
|
+
return false;
|
|
8244
|
+
}
|
|
8245
|
+
return true;
|
|
8246
|
+
}
|
|
8247
|
+
var marks = /* @__PURE__ */ new Set();
|
|
8218
8248
|
var PageHeader3 = React45.forwardRef(function PageHeader4(props, ref) {
|
|
8219
8249
|
const own = React45.useRef(null);
|
|
8220
8250
|
const merged = useMergedRef(ref, own);
|
|
@@ -8228,8 +8258,15 @@ var PageHeader3 = React45.forwardRef(function PageHeader4(props, ref) {
|
|
|
8228
8258
|
split ? ":scope > .aura-page-header__actions > .aura-page-header__bar" : ":scope > .aura-page-header__actions"
|
|
8229
8259
|
);
|
|
8230
8260
|
if (!el) return;
|
|
8261
|
+
const head = own.current;
|
|
8231
8262
|
let checked = false;
|
|
8263
|
+
function mark() {
|
|
8264
|
+
const empty = noneShown(el, getComputedStyle(el).visibility === "visible");
|
|
8265
|
+
const state = empty ? "empty" : "shown";
|
|
8266
|
+
if (head.getAttribute("data-aura-bar") !== state) head.setAttribute("data-aura-bar", state);
|
|
8267
|
+
}
|
|
8232
8268
|
function sync() {
|
|
8269
|
+
mark();
|
|
8233
8270
|
bars.write();
|
|
8234
8271
|
if (!checked && getComputedStyle(el).position === "fixed" && (checked = true, fixedTrapped(el)))
|
|
8235
8272
|
devWarnOnce(
|
|
@@ -8237,14 +8274,35 @@ var PageHeader3 = React45.forwardRef(function PageHeader4(props, ref) {
|
|
|
8237
8274
|
"PageHeader actionsBarBelow: an ancestor has a transform, filter, will-change or paint containment, so the fixed bar is placed against it instead of the screen. Remove it from the page header's ancestors."
|
|
8238
8275
|
);
|
|
8239
8276
|
}
|
|
8277
|
+
mark();
|
|
8278
|
+
marks.add(mark);
|
|
8240
8279
|
bars.add(el);
|
|
8280
|
+
const mo = typeof MutationObserver === "undefined" ? null : new MutationObserver(function() {
|
|
8281
|
+
if (!frame) frame = requestAnimationFrame(later);
|
|
8282
|
+
});
|
|
8283
|
+
let frame = 0;
|
|
8284
|
+
function later() {
|
|
8285
|
+
frame = 0;
|
|
8286
|
+
sync();
|
|
8287
|
+
}
|
|
8288
|
+
if (mo)
|
|
8289
|
+
mo.observe(el, {
|
|
8290
|
+
childList: true,
|
|
8291
|
+
subtree: true,
|
|
8292
|
+
attributes: true,
|
|
8293
|
+
attributeFilter: ["hidden", "class", "style"]
|
|
8294
|
+
});
|
|
8241
8295
|
const ro = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(sync);
|
|
8242
8296
|
if (ro) ro.observe(el, { box: "border-box" });
|
|
8243
8297
|
window.addEventListener("resize", sync);
|
|
8244
8298
|
sync();
|
|
8245
8299
|
return function() {
|
|
8246
8300
|
if (ro) ro.disconnect();
|
|
8301
|
+
if (mo) mo.disconnect();
|
|
8302
|
+
if (frame) cancelAnimationFrame(frame);
|
|
8303
|
+
marks.delete(mark);
|
|
8247
8304
|
window.removeEventListener("resize", sync);
|
|
8305
|
+
head.removeAttribute("data-aura-bar");
|
|
8248
8306
|
bars.remove(el);
|
|
8249
8307
|
};
|
|
8250
8308
|
},
|
|
@@ -2,12 +2,41 @@
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { PageHeader as StaticPageHeader } from "./PageHeader.js";
|
|
4
4
|
import { barStack, devWarnOnce, fixedTrapped as trapped, useMergedRef } from "./internal.js";
|
|
5
|
-
const bars = barStack(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const bars = barStack(
|
|
6
|
+
"--aura-page-actions-height",
|
|
7
|
+
function() {
|
|
8
|
+
devWarnOnce(
|
|
9
|
+
"pageheader-bar-twice",
|
|
10
|
+
"PageHeader actionsBarBelow: two bars are on screen at once and overlap at the bottom of the screen. Give it to one PageHeader per page (one per tab panel is fine: only the shown one counts)."
|
|
11
|
+
);
|
|
12
|
+
},
|
|
13
|
+
function() {
|
|
14
|
+
marks.forEach(function(m) {
|
|
15
|
+
m();
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
const UNSEEN = ".aura-page-header__status, .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text";
|
|
20
|
+
function noneShown(el, barVisible) {
|
|
21
|
+
for (let n = el.firstChild; n; n = n.nextSibling) {
|
|
22
|
+
if (n.nodeType === 3) {
|
|
23
|
+
if ((n.textContent || "").trim()) return false;
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (n.nodeType !== 1) continue;
|
|
27
|
+
const c = n;
|
|
28
|
+
if (c.hidden || c.matches(UNSEEN)) continue;
|
|
29
|
+
const s = getComputedStyle(c);
|
|
30
|
+
if (s.display === "none") continue;
|
|
31
|
+
if (barVisible && (s.visibility === "hidden" || s.visibility === "collapse")) continue;
|
|
32
|
+
const inline = c.getAttribute("style") || "";
|
|
33
|
+
if (/position:\s*absolute/.test(inline) && /clip/.test(inline)) continue;
|
|
34
|
+
if (s.display === "contents" && noneShown(c, barVisible)) continue;
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
const marks = /* @__PURE__ */ new Set();
|
|
11
40
|
const PageHeader = React.forwardRef(function PageHeader2(props, ref) {
|
|
12
41
|
const own = React.useRef(null);
|
|
13
42
|
const merged = useMergedRef(ref, own);
|
|
@@ -21,8 +50,15 @@ const PageHeader = React.forwardRef(function PageHeader2(props, ref) {
|
|
|
21
50
|
split ? ":scope > .aura-page-header__actions > .aura-page-header__bar" : ":scope > .aura-page-header__actions"
|
|
22
51
|
);
|
|
23
52
|
if (!el) return;
|
|
53
|
+
const head = own.current;
|
|
24
54
|
let checked = false;
|
|
55
|
+
function mark() {
|
|
56
|
+
const empty = noneShown(el, getComputedStyle(el).visibility === "visible");
|
|
57
|
+
const state = empty ? "empty" : "shown";
|
|
58
|
+
if (head.getAttribute("data-aura-bar") !== state) head.setAttribute("data-aura-bar", state);
|
|
59
|
+
}
|
|
25
60
|
function sync() {
|
|
61
|
+
mark();
|
|
26
62
|
bars.write();
|
|
27
63
|
if (!checked && getComputedStyle(el).position === "fixed" && (checked = true, trapped(el)))
|
|
28
64
|
devWarnOnce(
|
|
@@ -30,14 +66,35 @@ const PageHeader = React.forwardRef(function PageHeader2(props, ref) {
|
|
|
30
66
|
"PageHeader actionsBarBelow: an ancestor has a transform, filter, will-change or paint containment, so the fixed bar is placed against it instead of the screen. Remove it from the page header's ancestors."
|
|
31
67
|
);
|
|
32
68
|
}
|
|
69
|
+
mark();
|
|
70
|
+
marks.add(mark);
|
|
33
71
|
bars.add(el);
|
|
72
|
+
const mo = typeof MutationObserver === "undefined" ? null : new MutationObserver(function() {
|
|
73
|
+
if (!frame) frame = requestAnimationFrame(later);
|
|
74
|
+
});
|
|
75
|
+
let frame = 0;
|
|
76
|
+
function later() {
|
|
77
|
+
frame = 0;
|
|
78
|
+
sync();
|
|
79
|
+
}
|
|
80
|
+
if (mo)
|
|
81
|
+
mo.observe(el, {
|
|
82
|
+
childList: true,
|
|
83
|
+
subtree: true,
|
|
84
|
+
attributes: true,
|
|
85
|
+
attributeFilter: ["hidden", "class", "style"]
|
|
86
|
+
});
|
|
34
87
|
const ro = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(sync);
|
|
35
88
|
if (ro) ro.observe(el, { box: "border-box" });
|
|
36
89
|
window.addEventListener("resize", sync);
|
|
37
90
|
sync();
|
|
38
91
|
return function() {
|
|
39
92
|
if (ro) ro.disconnect();
|
|
93
|
+
if (mo) mo.disconnect();
|
|
94
|
+
if (frame) cancelAnimationFrame(frame);
|
|
95
|
+
marks.delete(mark);
|
|
40
96
|
window.removeEventListener("resize", sync);
|
|
97
|
+
head.removeAttribute("data-aura-bar");
|
|
41
98
|
bars.remove(el);
|
|
42
99
|
};
|
|
43
100
|
},
|
package/dist/esm/internal.js
CHANGED
|
@@ -124,7 +124,7 @@ function onScreen(el) {
|
|
|
124
124
|
const v = getComputedStyle(el).visibility;
|
|
125
125
|
return v !== "hidden" && v !== "collapse";
|
|
126
126
|
}
|
|
127
|
-
function barStack(name, onMany) {
|
|
127
|
+
function barStack(name, onMany, onRead) {
|
|
128
128
|
const els = [];
|
|
129
129
|
let frame = 0;
|
|
130
130
|
const docEvents = ["click", "keydown", "focusin", "transitionend", "beforematch"];
|
|
@@ -132,6 +132,7 @@ function barStack(name, onMany) {
|
|
|
132
132
|
function write() {
|
|
133
133
|
if (frame) cancelAnimationFrame(frame);
|
|
134
134
|
frame = 0;
|
|
135
|
+
if (onRead) onRead();
|
|
135
136
|
const root = document.documentElement;
|
|
136
137
|
let shown = null, boxed = null, pinned = false, many = 0;
|
|
137
138
|
for (let i = els.length - 1; i >= 0; i--) {
|
package/dist/styles.css
CHANGED
|
@@ -1357,6 +1357,10 @@ summary.aura-link::-webkit-details-marker { display: none; }
|
|
|
1357
1357
|
.aura-page-header__actions.is-split:not(:has(> :not(.aura-page-header__bar))) { display: contents; }
|
|
1358
1358
|
@media (max-width: 639.98px) and (min-height: 30.00125rem) {
|
|
1359
1359
|
.aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar { display: flex; flex: none; min-width: 0; }
|
|
1360
|
+
/* 5.74 (Chamber-OS 193): nothing but the status shown (Pay now hidden after paying): no strip, and no bar padding below. */
|
|
1361
|
+
.aura-page-header--actions-bar-below-sm[data-aura-bar="empty"] > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm[data-aura-bar="empty"] > .aura-page-header__actions > .aura-page-header__bar { display: none; }
|
|
1362
|
+
/* …and before hydration, from the markup alone (actionsBar's strip whose element children but the status are all `hidden` or visually hidden): it already goes; the page padding follows once the client has looked. */
|
|
1363
|
+
.aura-page-header--actions-bar-below-sm:not([data-aura-bar="shown"]) > .aura-page-header__actions > .aura-page-header__bar:not(:has(> :not(.aura-page-header__status, [hidden], .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text))):has(> *) { display: none; }
|
|
1360
1364
|
:is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) { position: fixed; z-index: var(--aura-z-bar); left: 0; right: 0; bottom: var(--aura-bottomnav-offset, 0px); box-sizing: border-box; min-height: 60px; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--aura-space-2); margin: 0; padding: var(--aura-space-2) var(--aura-space-3) calc(var(--aura-space-2) + max(0px, env(safe-area-inset-bottom, 0px) - var(--aura-bottomnav-offset, 0px))) var(--aura-space-4); background: var(--aura-bg-surface); color: var(--aura-fg-primary); border: 0; border-top: 1px solid var(--aura-border-default); border-radius: 0; box-shadow: none; transition: bottom var(--aura-duration-base) var(--aura-ease); }
|
|
1361
1365
|
/* 5.54 (Chamber-OS 166): the bar's buttons are 44px whatever the density, as ActionBar's on a phone. */
|
|
1362
1366
|
:is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) { --aura-button-height: var(--aura-touch-target); --aura-button-height-sm: var(--aura-touch-target); }
|
|
@@ -1372,13 +1376,17 @@ summary.aura-link::-webkit-details-marker { display: none; }
|
|
|
1372
1376
|
:is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar):has(> .aura-icon-btn, > * > .aura-icon-btn) > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { align-self: center; }
|
|
1373
1377
|
:is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar):has(> .aura-icon-btn, > * > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding: var(--aura-space-2) var(--aura-space-3); line-height: 1.35; text-align: center; overflow-wrap: anywhere; hyphens: auto; border-radius: min(var(--aura-button-radius), 22px); }
|
|
1374
1378
|
:is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar):not(:has(> .aura-btn, > * > .aura-btn)) > .aura-page-header__status { flex: 1 1 0; align-self: center; }
|
|
1375
|
-
:root:has(.aura-page-header--actions-bar-below-sm) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + var(--aura-space-3)); scroll-padding-bottom: var(--aura-page-actions-space); }
|
|
1376
|
-
:root:has(.aura-page-header--actions-bar-below-sm.aura-page-header--actions-bar-floating) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px)) + var(--aura-space-3)); }
|
|
1377
|
-
:root:has(.aura-page-header--actions-bar-below-sm) .aura-shell__content { padding-bottom: calc(var(--aura-space-6) + var(--aura-page-actions-space)); }
|
|
1378
|
-
:root:has(.aura-page-header--actions-bar-below-sm):not(:has(.aura-shell__content)) body { padding-bottom: var(--aura-page-actions-space); }
|
|
1379
|
+
:root:has(.aura-page-header--actions-bar-below-sm:not([data-aura-bar="empty"])) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + var(--aura-space-3)); scroll-padding-bottom: var(--aura-page-actions-space); }
|
|
1380
|
+
:root:has(.aura-page-header--actions-bar-below-sm.aura-page-header--actions-bar-floating:not([data-aura-bar="empty"])) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px)) + var(--aura-space-3)); }
|
|
1381
|
+
:root:has(.aura-page-header--actions-bar-below-sm:not([data-aura-bar="empty"])) .aura-shell__content { padding-bottom: calc(var(--aura-space-6) + var(--aura-page-actions-space)); }
|
|
1382
|
+
:root:has(.aura-page-header--actions-bar-below-sm:not([data-aura-bar="empty"])):not(:has(.aura-shell__content)) body { padding-bottom: var(--aura-page-actions-space); }
|
|
1379
1383
|
}
|
|
1380
1384
|
@media (max-width: 767.98px) and (min-height: 30.00125rem) {
|
|
1381
1385
|
.aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar { display: flex; flex: none; min-width: 0; }
|
|
1386
|
+
/* 5.74 (Chamber-OS 193): nothing but the status shown (Pay now hidden after paying): no strip, and no bar padding below. */
|
|
1387
|
+
.aura-page-header--actions-bar-below-md[data-aura-bar="empty"] > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md[data-aura-bar="empty"] > .aura-page-header__actions > .aura-page-header__bar { display: none; }
|
|
1388
|
+
/* …and before hydration, from the markup alone (actionsBar's strip whose element children but the status are all `hidden` or visually hidden): it already goes; the page padding follows once the client has looked. */
|
|
1389
|
+
.aura-page-header--actions-bar-below-md:not([data-aura-bar="shown"]) > .aura-page-header__actions > .aura-page-header__bar:not(:has(> :not(.aura-page-header__status, [hidden], .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text))):has(> *) { display: none; }
|
|
1382
1390
|
:is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) { position: fixed; z-index: var(--aura-z-bar); left: 0; right: 0; bottom: var(--aura-bottomnav-offset, 0px); box-sizing: border-box; min-height: 60px; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--aura-space-2); margin: 0; padding: var(--aura-space-2) var(--aura-space-3) calc(var(--aura-space-2) + max(0px, env(safe-area-inset-bottom, 0px) - var(--aura-bottomnav-offset, 0px))) var(--aura-space-4); background: var(--aura-bg-surface); color: var(--aura-fg-primary); border: 0; border-top: 1px solid var(--aura-border-default); border-radius: 0; box-shadow: none; transition: bottom var(--aura-duration-base) var(--aura-ease); }
|
|
1383
1391
|
/* 5.54 (Chamber-OS 166): the bar's buttons are 44px whatever the density, as ActionBar's on a phone. */
|
|
1384
1392
|
:is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) { --aura-button-height: var(--aura-touch-target); --aura-button-height-sm: var(--aura-touch-target); }
|
|
@@ -1394,10 +1402,10 @@ summary.aura-link::-webkit-details-marker { display: none; }
|
|
|
1394
1402
|
:is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar):has(> .aura-icon-btn, > * > .aura-icon-btn) > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { align-self: center; }
|
|
1395
1403
|
:is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar):has(> .aura-icon-btn, > * > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding: var(--aura-space-2) var(--aura-space-3); line-height: 1.35; text-align: center; overflow-wrap: anywhere; hyphens: auto; border-radius: min(var(--aura-button-radius), 22px); }
|
|
1396
1404
|
:is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar):not(:has(> .aura-btn, > * > .aura-btn)) > .aura-page-header__status { flex: 1 1 0; align-self: center; }
|
|
1397
|
-
:root:has(.aura-page-header--actions-bar-below-md) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + var(--aura-space-3)); scroll-padding-bottom: var(--aura-page-actions-space); }
|
|
1398
|
-
:root:has(.aura-page-header--actions-bar-below-md.aura-page-header--actions-bar-floating) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px)) + var(--aura-space-3)); }
|
|
1399
|
-
:root:has(.aura-page-header--actions-bar-below-md) .aura-shell__content { padding-bottom: calc(var(--aura-space-6) + var(--aura-page-actions-space)); }
|
|
1400
|
-
:root:has(.aura-page-header--actions-bar-below-md):not(:has(.aura-shell__content)) body { padding-bottom: var(--aura-page-actions-space); }
|
|
1405
|
+
:root:has(.aura-page-header--actions-bar-below-md:not([data-aura-bar="empty"])) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + var(--aura-space-3)); scroll-padding-bottom: var(--aura-page-actions-space); }
|
|
1406
|
+
:root:has(.aura-page-header--actions-bar-below-md.aura-page-header--actions-bar-floating:not([data-aura-bar="empty"])) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px)) + var(--aura-space-3)); }
|
|
1407
|
+
:root:has(.aura-page-header--actions-bar-below-md:not([data-aura-bar="empty"])) .aura-shell__content { padding-bottom: calc(var(--aura-space-6) + var(--aura-page-actions-space)); }
|
|
1408
|
+
:root:has(.aura-page-header--actions-bar-below-md:not([data-aura-bar="empty"])):not(:has(.aura-shell__content)) body { padding-bottom: var(--aura-page-actions-space); }
|
|
1401
1409
|
}
|
|
1402
1410
|
/* 5.71: as specific as the bar rules (and after them), and on actionsBar's box too, so reduced motion stops the slide. */
|
|
1403
1411
|
@media (prefers-reduced-motion: reduce) { .aura-page-header.aura-page-header > .aura-page-header__actions, .aura-page-header.aura-page-header > .aura-page-header__actions > .aura-page-header__bar { transition: none; } }
|
package/dist/styles.layer.css
CHANGED
|
@@ -1359,6 +1359,10 @@ summary.aura-link::-webkit-details-marker { display: none; }
|
|
|
1359
1359
|
.aura-page-header__actions.is-split:not(:has(> :not(.aura-page-header__bar))) { display: contents; }
|
|
1360
1360
|
@media (max-width: 639.98px) and (min-height: 30.00125rem) {
|
|
1361
1361
|
.aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar { display: flex; flex: none; min-width: 0; }
|
|
1362
|
+
/* 5.74 (Chamber-OS 193): nothing but the status shown (Pay now hidden after paying): no strip, and no bar padding below. */
|
|
1363
|
+
.aura-page-header--actions-bar-below-sm[data-aura-bar="empty"] > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm[data-aura-bar="empty"] > .aura-page-header__actions > .aura-page-header__bar { display: none; }
|
|
1364
|
+
/* …and before hydration, from the markup alone (actionsBar's strip whose element children but the status are all `hidden` or visually hidden): it already goes; the page padding follows once the client has looked. */
|
|
1365
|
+
.aura-page-header--actions-bar-below-sm:not([data-aura-bar="shown"]) > .aura-page-header__actions > .aura-page-header__bar:not(:has(> :not(.aura-page-header__status, [hidden], .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text))):has(> *) { display: none; }
|
|
1362
1366
|
:is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) { position: fixed; z-index: var(--aura-z-bar); left: 0; right: 0; bottom: var(--aura-bottomnav-offset, 0px); box-sizing: border-box; min-height: 60px; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--aura-space-2); margin: 0; padding: var(--aura-space-2) var(--aura-space-3) calc(var(--aura-space-2) + max(0px, env(safe-area-inset-bottom, 0px) - var(--aura-bottomnav-offset, 0px))) var(--aura-space-4); background: var(--aura-bg-surface); color: var(--aura-fg-primary); border: 0; border-top: 1px solid var(--aura-border-default); border-radius: 0; box-shadow: none; transition: bottom var(--aura-duration-base) var(--aura-ease); }
|
|
1363
1367
|
/* 5.54 (Chamber-OS 166): the bar's buttons are 44px whatever the density, as ActionBar's on a phone. */
|
|
1364
1368
|
:is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar) { --aura-button-height: var(--aura-touch-target); --aura-button-height-sm: var(--aura-touch-target); }
|
|
@@ -1374,13 +1378,17 @@ summary.aura-link::-webkit-details-marker { display: none; }
|
|
|
1374
1378
|
:is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar):has(> .aura-icon-btn, > * > .aura-icon-btn) > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { align-self: center; }
|
|
1375
1379
|
:is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar):has(> .aura-icon-btn, > * > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding: var(--aura-space-2) var(--aura-space-3); line-height: 1.35; text-align: center; overflow-wrap: anywhere; hyphens: auto; border-radius: min(var(--aura-button-radius), 22px); }
|
|
1376
1380
|
:is(.aura-page-header--actions-bar-below-sm > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-sm > .aura-page-header__actions > .aura-page-header__bar):not(:has(> .aura-btn, > * > .aura-btn)) > .aura-page-header__status { flex: 1 1 0; align-self: center; }
|
|
1377
|
-
:root:has(.aura-page-header--actions-bar-below-sm) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + var(--aura-space-3)); scroll-padding-bottom: var(--aura-page-actions-space); }
|
|
1378
|
-
:root:has(.aura-page-header--actions-bar-below-sm.aura-page-header--actions-bar-floating) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px)) + var(--aura-space-3)); }
|
|
1379
|
-
:root:has(.aura-page-header--actions-bar-below-sm) .aura-shell__content { padding-bottom: calc(var(--aura-space-6) + var(--aura-page-actions-space)); }
|
|
1380
|
-
:root:has(.aura-page-header--actions-bar-below-sm):not(:has(.aura-shell__content)) body { padding-bottom: var(--aura-page-actions-space); }
|
|
1381
|
+
:root:has(.aura-page-header--actions-bar-below-sm:not([data-aura-bar="empty"])) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + var(--aura-space-3)); scroll-padding-bottom: var(--aura-page-actions-space); }
|
|
1382
|
+
:root:has(.aura-page-header--actions-bar-below-sm.aura-page-header--actions-bar-floating:not([data-aura-bar="empty"])) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px)) + var(--aura-space-3)); }
|
|
1383
|
+
:root:has(.aura-page-header--actions-bar-below-sm:not([data-aura-bar="empty"])) .aura-shell__content { padding-bottom: calc(var(--aura-space-6) + var(--aura-page-actions-space)); }
|
|
1384
|
+
:root:has(.aura-page-header--actions-bar-below-sm:not([data-aura-bar="empty"])):not(:has(.aura-shell__content)) body { padding-bottom: var(--aura-page-actions-space); }
|
|
1381
1385
|
}
|
|
1382
1386
|
@media (max-width: 767.98px) and (min-height: 30.00125rem) {
|
|
1383
1387
|
.aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar { display: flex; flex: none; min-width: 0; }
|
|
1388
|
+
/* 5.74 (Chamber-OS 193): nothing but the status shown (Pay now hidden after paying): no strip, and no bar padding below. */
|
|
1389
|
+
.aura-page-header--actions-bar-below-md[data-aura-bar="empty"] > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md[data-aura-bar="empty"] > .aura-page-header__actions > .aura-page-header__bar { display: none; }
|
|
1390
|
+
/* …and before hydration, from the markup alone (actionsBar's strip whose element children but the status are all `hidden` or visually hidden): it already goes; the page padding follows once the client has looked. */
|
|
1391
|
+
.aura-page-header--actions-bar-below-md:not([data-aura-bar="shown"]) > .aura-page-header__actions > .aura-page-header__bar:not(:has(> :not(.aura-page-header__status, [hidden], .sr-only, .aura-sr-only, .visually-hidden, .screen-reader-text))):has(> *) { display: none; }
|
|
1384
1392
|
:is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) { position: fixed; z-index: var(--aura-z-bar); left: 0; right: 0; bottom: var(--aura-bottomnav-offset, 0px); box-sizing: border-box; min-height: 60px; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--aura-space-2); margin: 0; padding: var(--aura-space-2) var(--aura-space-3) calc(var(--aura-space-2) + max(0px, env(safe-area-inset-bottom, 0px) - var(--aura-bottomnav-offset, 0px))) var(--aura-space-4); background: var(--aura-bg-surface); color: var(--aura-fg-primary); border: 0; border-top: 1px solid var(--aura-border-default); border-radius: 0; box-shadow: none; transition: bottom var(--aura-duration-base) var(--aura-ease); }
|
|
1385
1393
|
/* 5.54 (Chamber-OS 166): the bar's buttons are 44px whatever the density, as ActionBar's on a phone. */
|
|
1386
1394
|
:is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar) { --aura-button-height: var(--aura-touch-target); --aura-button-height-sm: var(--aura-touch-target); }
|
|
@@ -1396,10 +1404,10 @@ summary.aura-link::-webkit-details-marker { display: none; }
|
|
|
1396
1404
|
:is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar):has(> .aura-icon-btn, > * > .aura-icon-btn) > :is(.aura-icon-btn, :has(> .aura-icon-btn)) { align-self: center; }
|
|
1397
1405
|
:is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar):has(> .aura-icon-btn, > * > .aura-icon-btn) > :is(.aura-btn, * > .aura-btn):not(.aura-icon-btn) { height: auto; min-height: var(--aura-button-height); white-space: normal; padding: var(--aura-space-2) var(--aura-space-3); line-height: 1.35; text-align: center; overflow-wrap: anywhere; hyphens: auto; border-radius: min(var(--aura-button-radius), 22px); }
|
|
1398
1406
|
:is(.aura-page-header--actions-bar-below-md > .aura-page-header__actions:not(.is-split), .aura-page-header--actions-bar-below-md > .aura-page-header__actions > .aura-page-header__bar):not(:has(> .aura-btn, > * > .aura-btn)) > .aura-page-header__status { flex: 1 1 0; align-self: center; }
|
|
1399
|
-
:root:has(.aura-page-header--actions-bar-below-md) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + var(--aura-space-3)); scroll-padding-bottom: var(--aura-page-actions-space); }
|
|
1400
|
-
:root:has(.aura-page-header--actions-bar-below-md.aura-page-header--actions-bar-floating) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px)) + var(--aura-space-3)); }
|
|
1401
|
-
:root:has(.aura-page-header--actions-bar-below-md) .aura-shell__content { padding-bottom: calc(var(--aura-space-6) + var(--aura-page-actions-space)); }
|
|
1402
|
-
:root:has(.aura-page-header--actions-bar-below-md):not(:has(.aura-shell__content)) body { padding-bottom: var(--aura-page-actions-space); }
|
|
1407
|
+
:root:has(.aura-page-header--actions-bar-below-md:not([data-aura-bar="empty"])) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + var(--aura-space-3)); scroll-padding-bottom: var(--aura-page-actions-space); }
|
|
1408
|
+
:root:has(.aura-page-header--actions-bar-below-md.aura-page-header--actions-bar-floating:not([data-aura-bar="empty"])) { --aura-page-actions-space: calc(var(--aura-page-actions-height, 7rem) + var(--aura-bottomnav-offset, 0px) + max(var(--aura-space-3), env(safe-area-inset-bottom, 0px)) + var(--aura-space-3)); }
|
|
1409
|
+
:root:has(.aura-page-header--actions-bar-below-md:not([data-aura-bar="empty"])) .aura-shell__content { padding-bottom: calc(var(--aura-space-6) + var(--aura-page-actions-space)); }
|
|
1410
|
+
:root:has(.aura-page-header--actions-bar-below-md:not([data-aura-bar="empty"])):not(:has(.aura-shell__content)) body { padding-bottom: var(--aura-page-actions-space); }
|
|
1403
1411
|
}
|
|
1404
1412
|
/* 5.71: as specific as the bar rules (and after them), and on actionsBar's box too, so reduced motion stops the slide. */
|
|
1405
1413
|
@media (prefers-reduced-motion: reduce) { .aura-page-header.aura-page-header > .aura-page-header__actions, .aura-page-header.aura-page-header > .aura-page-header__actions > .aura-page-header__bar { transition: none; } }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jirawatpyk/aura-react",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.74.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",
|