@jirawatpyk/aura-react 5.46.0 → 5.47.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 CHANGED
@@ -186,6 +186,13 @@ 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.47 — Chamber-OS addendum 54 (#152)
190
+
191
+ - **PageHeader `size="compact"`**: 26px below 640px and 32px from 640px, on a 1.2 line — the staff and list boards' title, so a company name such as "Siam Nordic Trading Co., Ltd." takes two lines on a 390px phone instead of three. The **default stays 28px / 36px** (1.15), so DxT Monitor and other apps don't change; pass `size="compact"` (Chamber-OS: in its header wrapper) where the boards draw 26 / 32.
192
+ - **`hero` steps to 36px from 1024px** (30px below), on a 1.2 line, as `hero-lg` does — the portal Main and Edit boards. `hero-lg` is unchanged (26px, then 36px).
193
+ - **`--aura-page-header-hero-space`**: the room above a `hero` or `hero-lg` title, default 16px, on top of the page's own padding (which belongs to the app). For the boards' 24px on a phone and 40px from 1024px inside AppShell's 24px / 32px content padding, set it to `0` below 1024px and `8px` from 1024px — or whatever your page padding needs.
194
+ - Under `lang="th"` titles keep their 1.4 line at every size. Checked at 390 and 1280px in English, Thai and Swedish and at a 32px default font size: nothing scrolls sideways.
195
+
189
196
  ## 5.46 — Chamber-OS addendum 53 (#151)
190
197
 
191
198
  What Chamber-OS's own page header did that PageHeader didn't, so it can be rebuilt on PageHeader with its props kept:
@@ -7839,7 +7839,7 @@ window.Aura = (() => {
7839
7839
  return n3 != null && n3 !== false && n3 !== "";
7840
7840
  };
7841
7841
  const hasMeta = shown(props.meta) || shown(props.subtitle) || shown(props.titleAddon);
7842
- const size = props.size === "hero" || props.size === "hero-lg" ? props.size : null;
7842
+ const size = props.size === "compact" || props.size === "hero" || props.size === "hero-lg" ? props.size : null;
7843
7843
  const eyebrow = props.eyebrow;
7844
7844
  const plainEyebrow = typeof eyebrow === "string" || typeof eyebrow === "number";
7845
7845
  const heading = h8(
@@ -7821,7 +7821,7 @@ var PageHeader = React43.forwardRef(function PageHeader2(props, ref) {
7821
7821
  return n3 != null && n3 !== false && n3 !== "";
7822
7822
  };
7823
7823
  const hasMeta = shown(props.meta) || shown(props.subtitle) || shown(props.titleAddon);
7824
- const size = props.size === "hero" || props.size === "hero-lg" ? props.size : null;
7824
+ const size = props.size === "compact" || props.size === "hero" || props.size === "hero-lg" ? props.size : null;
7825
7825
  const eyebrow = props.eyebrow;
7826
7826
  const plainEyebrow = typeof eyebrow === "string" || typeof eyebrow === "number";
7827
7827
  const heading = h8(
@@ -15,7 +15,7 @@ const PageHeader = React.forwardRef(function PageHeader2(props, ref) {
15
15
  return n != null && n !== false && n !== "";
16
16
  };
17
17
  const hasMeta = shown(props.meta) || shown(props.subtitle) || shown(props.titleAddon);
18
- const size = props.size === "hero" || props.size === "hero-lg" ? props.size : null;
18
+ const size = props.size === "compact" || props.size === "hero" || props.size === "hero-lg" ? props.size : null;
19
19
  const eyebrow = props.eyebrow;
20
20
  const plainEyebrow = typeof eyebrow === "string" || typeof eyebrow === "number";
21
21
  const heading = h(
package/dist/index.d.cts CHANGED
@@ -1947,10 +1947,12 @@ export interface PageHeaderProps extends Pick<React$1.HTMLAttributes<HTMLElement
1947
1947
  /** 5.46: a chip or badge on the title's line (a role, an invoice's status, "Archived"). Title and addon share a
1948
1948
  * wrapping row, 8px apart vertically and 12px across; on a narrow screen the addon wraps under the title. */
1949
1949
  titleAddon?: React$1.ReactNode | undefined;
1950
- /** 5.46: the title's size. `default` 28px below 640px, 36px from 640px; `hero` 30px on a 36px line with 16px more
1951
- * room above; `hero-lg` 26px below 1024px and 36px from 1024px, with the same room. Per page, the custom
1952
- * properties `--aura-page-header-title-size` and `--aura-page-header-title-line-height` override any of them. */
1953
- size?: "default" | "hero" | "hero-lg" | undefined;
1950
+ /** 5.46: the title's size. `default` 28px below 640px, 36px from 640px; `compact` (5.47, Chamber-OS 152) 26px below
1951
+ * 640px, 32px from 640px, on a 1.2 line — staff and list pages; `hero` 30px below 1024px and 36px from 1024px (5.47)
1952
+ * on a 1.2 line, with more room above (`--aura-page-header-hero-space`, default 16px); `hero-lg` 26px below 1024px
1953
+ * and 36px from 1024px, with the same room. Per page, the custom properties `--aura-page-header-title-size` and
1954
+ * `--aura-page-header-title-line-height` override any of them. */
1955
+ size?: "default" | "compact" | "hero" | "hero-lg" | undefined;
1954
1956
  /** 5.46: focus the heading when the header mounts (`tabIndex={-1}`, `preventScroll`, no visible ring) — a page
1955
1957
  * reached by a server redirect (renewal done, back from a payment page), so a screen reader starts there (WCAG
1956
1958
  * 2.4.3). The main entry's PageHeader does it; from `/server` the heading is focusable but not focused. */
package/dist/index.d.ts CHANGED
@@ -1947,10 +1947,12 @@ export interface PageHeaderProps extends Pick<React$1.HTMLAttributes<HTMLElement
1947
1947
  /** 5.46: a chip or badge on the title's line (a role, an invoice's status, "Archived"). Title and addon share a
1948
1948
  * wrapping row, 8px apart vertically and 12px across; on a narrow screen the addon wraps under the title. */
1949
1949
  titleAddon?: React$1.ReactNode | undefined;
1950
- /** 5.46: the title's size. `default` 28px below 640px, 36px from 640px; `hero` 30px on a 36px line with 16px more
1951
- * room above; `hero-lg` 26px below 1024px and 36px from 1024px, with the same room. Per page, the custom
1952
- * properties `--aura-page-header-title-size` and `--aura-page-header-title-line-height` override any of them. */
1953
- size?: "default" | "hero" | "hero-lg" | undefined;
1950
+ /** 5.46: the title's size. `default` 28px below 640px, 36px from 640px; `compact` (5.47, Chamber-OS 152) 26px below
1951
+ * 640px, 32px from 640px, on a 1.2 line — staff and list pages; `hero` 30px below 1024px and 36px from 1024px (5.47)
1952
+ * on a 1.2 line, with more room above (`--aura-page-header-hero-space`, default 16px); `hero-lg` 26px below 1024px
1953
+ * and 36px from 1024px, with the same room. Per page, the custom properties `--aura-page-header-title-size` and
1954
+ * `--aura-page-header-title-line-height` override any of them. */
1955
+ size?: "default" | "compact" | "hero" | "hero-lg" | undefined;
1954
1956
  /** 5.46: focus the heading when the header mounts (`tabIndex={-1}`, `preventScroll`, no visible ring) — a page
1955
1957
  * reached by a server redirect (renewal done, back from a payment page), so a screen reader starts there (WCAG
1956
1958
  * 2.4.3). The main entry's PageHeader does it; from `/server` the heading is focusable but not focused. */
@@ -1446,7 +1446,7 @@ var PageHeader = React5.forwardRef(function PageHeader2(props, ref) {
1446
1446
  return n3 != null && n3 !== false && n3 !== "";
1447
1447
  };
1448
1448
  const hasMeta = shown(props.meta) || shown(props.subtitle) || shown(props.titleAddon);
1449
- const size = props.size === "hero" || props.size === "hero-lg" ? props.size : null;
1449
+ const size = props.size === "compact" || props.size === "hero" || props.size === "hero-lg" ? props.size : null;
1450
1450
  const eyebrow = props.eyebrow;
1451
1451
  const plainEyebrow = typeof eyebrow === "string" || typeof eyebrow === "number";
1452
1452
  const heading = h4(
@@ -505,10 +505,12 @@ export interface PageHeaderProps extends Pick<React$1.HTMLAttributes<HTMLElement
505
505
  /** 5.46: a chip or badge on the title's line (a role, an invoice's status, "Archived"). Title and addon share a
506
506
  * wrapping row, 8px apart vertically and 12px across; on a narrow screen the addon wraps under the title. */
507
507
  titleAddon?: React$1.ReactNode | undefined;
508
- /** 5.46: the title's size. `default` 28px below 640px, 36px from 640px; `hero` 30px on a 36px line with 16px more
509
- * room above; `hero-lg` 26px below 1024px and 36px from 1024px, with the same room. Per page, the custom
510
- * properties `--aura-page-header-title-size` and `--aura-page-header-title-line-height` override any of them. */
511
- size?: "default" | "hero" | "hero-lg" | undefined;
508
+ /** 5.46: the title's size. `default` 28px below 640px, 36px from 640px; `compact` (5.47, Chamber-OS 152) 26px below
509
+ * 640px, 32px from 640px, on a 1.2 line — staff and list pages; `hero` 30px below 1024px and 36px from 1024px (5.47)
510
+ * on a 1.2 line, with more room above (`--aura-page-header-hero-space`, default 16px); `hero-lg` 26px below 1024px
511
+ * and 36px from 1024px, with the same room. Per page, the custom properties `--aura-page-header-title-size` and
512
+ * `--aura-page-header-title-line-height` override any of them. */
513
+ size?: "default" | "compact" | "hero" | "hero-lg" | undefined;
512
514
  /** 5.46: focus the heading when the header mounts (`tabIndex={-1}`, `preventScroll`, no visible ring) — a page
513
515
  * reached by a server redirect (renewal done, back from a payment page), so a screen reader starts there (WCAG
514
516
  * 2.4.3). The main entry's PageHeader does it; from `/server` the heading is focusable but not focused. */
@@ -505,10 +505,12 @@ export interface PageHeaderProps extends Pick<React$1.HTMLAttributes<HTMLElement
505
505
  /** 5.46: a chip or badge on the title's line (a role, an invoice's status, "Archived"). Title and addon share a
506
506
  * wrapping row, 8px apart vertically and 12px across; on a narrow screen the addon wraps under the title. */
507
507
  titleAddon?: React$1.ReactNode | undefined;
508
- /** 5.46: the title's size. `default` 28px below 640px, 36px from 640px; `hero` 30px on a 36px line with 16px more
509
- * room above; `hero-lg` 26px below 1024px and 36px from 1024px, with the same room. Per page, the custom
510
- * properties `--aura-page-header-title-size` and `--aura-page-header-title-line-height` override any of them. */
511
- size?: "default" | "hero" | "hero-lg" | undefined;
508
+ /** 5.46: the title's size. `default` 28px below 640px, 36px from 640px; `compact` (5.47, Chamber-OS 152) 26px below
509
+ * 640px, 32px from 640px, on a 1.2 line — staff and list pages; `hero` 30px below 1024px and 36px from 1024px (5.47)
510
+ * on a 1.2 line, with more room above (`--aura-page-header-hero-space`, default 16px); `hero-lg` 26px below 1024px
511
+ * and 36px from 1024px, with the same room. Per page, the custom properties `--aura-page-header-title-size` and
512
+ * `--aura-page-header-title-line-height` override any of them. */
513
+ size?: "default" | "compact" | "hero" | "hero-lg" | undefined;
512
514
  /** 5.46: focus the heading when the header mounts (`tabIndex={-1}`, `preventScroll`, no visible ring) — a page
513
515
  * reached by a server redirect (renewal done, back from a payment page), so a screen reader starts there (WCAG
514
516
  * 2.4.3). The main entry's PageHeader does it; from `/server` the heading is focusable but not focused. */
@@ -1382,7 +1382,7 @@ var PageHeader = React5.forwardRef(function PageHeader2(props, ref) {
1382
1382
  return n3 != null && n3 !== false && n3 !== "";
1383
1383
  };
1384
1384
  const hasMeta = shown(props.meta) || shown(props.subtitle) || shown(props.titleAddon);
1385
- const size = props.size === "hero" || props.size === "hero-lg" ? props.size : null;
1385
+ const size = props.size === "compact" || props.size === "hero" || props.size === "hero-lg" ? props.size : null;
1386
1386
  const eyebrow = props.eyebrow;
1387
1387
  const plainEyebrow = typeof eyebrow === "string" || typeof eyebrow === "number";
1388
1388
  const heading = h4(
package/dist/styles.css CHANGED
@@ -1251,8 +1251,12 @@ a.aura-tab { text-decoration: none; }
1251
1251
  .aura-page-header__title-row > .aura-page-header__title { min-width: 0; }
1252
1252
  .aura-page-header__title-addon { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-2); min-width: 0; }
1253
1253
  .aura-page-header__eyebrow--rich { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-2); font-family: var(--font-sans); line-height: 1.5; }
1254
- .aura-page-header--hero, .aura-page-header--hero-lg { padding-top: var(--aura-space-4); }
1254
+ .aura-page-header--hero, .aura-page-header--hero-lg { padding-top: var(--aura-page-header-hero-space, var(--aura-space-4)); }
1255
1255
  .aura-page-header--hero .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(30px, 1.875rem)); line-height: var(--aura-page-header-title-line-height, 1.2); }
1256
+ /* 5.47 (Chamber-OS 152): compact — the staff boards' 26 / 32; hero steps to 36px from 1024px like hero-lg. */
1257
+ .aura-page-header--compact .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(26px, 1.625rem)); line-height: var(--aura-page-header-title-line-height, 1.2); }
1258
+ @media (min-width: 640px) { .aura-page-header--compact .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(32px, 2rem)); } }
1259
+ @media (min-width: 1024px) { .aura-page-header--hero .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(36px, 2.25rem)); } }
1256
1260
  .aura-page-header--hero-lg .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(26px, 1.625rem)); line-height: var(--aura-page-header-title-line-height, 1.25); }
1257
1261
  @media (min-width: 1024px) { .aura-page-header--hero-lg .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(36px, 2.25rem)); line-height: var(--aura-page-header-title-line-height, 1.2); } }
1258
1262
  .aura-page-header__title[tabindex="-1"]:focus { outline: none; }
@@ -1253,8 +1253,12 @@ a.aura-tab { text-decoration: none; }
1253
1253
  .aura-page-header__title-row > .aura-page-header__title { min-width: 0; }
1254
1254
  .aura-page-header__title-addon { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-2); min-width: 0; }
1255
1255
  .aura-page-header__eyebrow--rich { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aura-space-2); font-family: var(--font-sans); line-height: 1.5; }
1256
- .aura-page-header--hero, .aura-page-header--hero-lg { padding-top: var(--aura-space-4); }
1256
+ .aura-page-header--hero, .aura-page-header--hero-lg { padding-top: var(--aura-page-header-hero-space, var(--aura-space-4)); }
1257
1257
  .aura-page-header--hero .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(30px, 1.875rem)); line-height: var(--aura-page-header-title-line-height, 1.2); }
1258
+ /* 5.47 (Chamber-OS 152): compact — the staff boards' 26 / 32; hero steps to 36px from 1024px like hero-lg. */
1259
+ .aura-page-header--compact .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(26px, 1.625rem)); line-height: var(--aura-page-header-title-line-height, 1.2); }
1260
+ @media (min-width: 640px) { .aura-page-header--compact .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(32px, 2rem)); } }
1261
+ @media (min-width: 1024px) { .aura-page-header--hero .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(36px, 2.25rem)); } }
1258
1262
  .aura-page-header--hero-lg .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(26px, 1.625rem)); line-height: var(--aura-page-header-title-line-height, 1.25); }
1259
1263
  @media (min-width: 1024px) { .aura-page-header--hero-lg .aura-page-header__title { font-size: var(--aura-page-header-title-size, max(36px, 2.25rem)); line-height: var(--aura-page-header-title-line-height, 1.2); } }
1260
1264
  .aura-page-header__title[tabindex="-1"]:focus { outline: none; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jirawatpyk/aura-react",
3
- "version": "5.46.0",
3
+ "version": "5.47.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",