@jirawatpyk/aura-react 5.57.0 → 5.58.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/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/styles.css +6 -2
- package/dist/styles.layer.css +6 -2
- 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.58 — Chamber-OS addendum 72 (#171)
|
|
190
|
+
|
|
191
|
+
- **A short touchHeight tab is a 44×44 target:** with `touchHeight`, below 640px or on a coarse pointer (or always, with `'always'`) each tab is now at least 44px wide as well as 44px tall, its label centred, so a one-word tab such as "Tax" is 44×44. Tabs with longer labels keep their width and the gap between tabs is unchanged; a short tab's underline spans its 44px. With a mouse from 640px nothing changes. Inside its breakpoint a `fullWidth` row sizes its own tabs (equal shares, 12px either side of the label), so it is unchanged there; a one-letter tab in a full-width row that overflows and scrolls can stay under 44px wide.
|
|
192
|
+
|
|
189
193
|
## 5.57 — Chamber-OS addenda 70–71 (#169, #170)
|
|
190
194
|
|
|
191
195
|
- **A Dialog or Drawer always opens with focus inside:** a control inside a closed `<details>` is no longer picked as the first control (Chromium reports it as focusable, but `focus()` on it did nothing, so focus stayed on the trigger and Escape didn't close the modal). The `<details>`'s own `<summary>` now counts as a control, so a body whose only control is a closed `<details>` opens on its summary. And focus is checked after each try: if a control doesn't take focus (or pass it on to a field inside it), the next one is tried, then the panel itself — focus is always in the modal, so Escape and the Tab trap work whatever the content. Command works the same way, and so does a Popover's first focus — which now also skips `tabindex="-1"` controls, so a Popover holding a SegmentedControl or Tabs opens on the selected item, as Tab would reach it. A summary is a control whether its `<details>` is open or closed, so a body that starts with an open `<details>` ("Advanced" above a form) now opens on its summary, the first Tab stop, rather than the first field.
|
package/dist/index.d.cts
CHANGED
|
@@ -865,7 +865,8 @@ export interface TabsProps {
|
|
|
865
865
|
current?: "page" | "location" | undefined;
|
|
866
866
|
/** 5.39 (Chamber-OS 143): 44px tabs, button or link form, either variant — `true` below 640px or on a coarse
|
|
867
867
|
* pointer, as Button's `touchHeight`; `'always'` at every width. Without it: the density's input height (44px on a
|
|
868
|
-
* coarse pointer). Panels are not affected.
|
|
868
|
+
* coarse pointer). Panels are not affected. 5.58 (Chamber-OS 171): also at least 44px wide, label centred, so a
|
|
869
|
+
* short label is a 44×44 target; longer tabs keep their width. */
|
|
869
870
|
touchHeight?: TouchHeight | undefined;
|
|
870
871
|
}
|
|
871
872
|
export interface NavItem {
|
package/dist/index.d.ts
CHANGED
|
@@ -865,7 +865,8 @@ export interface TabsProps {
|
|
|
865
865
|
current?: "page" | "location" | undefined;
|
|
866
866
|
/** 5.39 (Chamber-OS 143): 44px tabs, button or link form, either variant — `true` below 640px or on a coarse
|
|
867
867
|
* pointer, as Button's `touchHeight`; `'always'` at every width. Without it: the density's input height (44px on a
|
|
868
|
-
* coarse pointer). Panels are not affected.
|
|
868
|
+
* coarse pointer). Panels are not affected. 5.58 (Chamber-OS 171): also at least 44px wide, label centred, so a
|
|
869
|
+
* short label is a 44×44 target; longer tabs keep their width. */
|
|
869
870
|
touchHeight?: TouchHeight | undefined;
|
|
870
871
|
}
|
|
871
872
|
export interface NavItem {
|
package/dist/styles.css
CHANGED
|
@@ -805,8 +805,12 @@ a.aura-tab { text-decoration: none; }
|
|
|
805
805
|
.aura-tabs__panel { padding-top: var(--aura-space-6); outline: none; }
|
|
806
806
|
/* 5.39 (Chamber-OS 143): touchHeight — 44px tabs (underline or segmented, buttons or links) below 640px or on a coarse
|
|
807
807
|
* pointer (is-touch), or always. The height is set on the tabs, not through --aura-input-height, so panels keep theirs. */
|
|
808
|
-
.
|
|
809
|
-
|
|
808
|
+
/* 5.58 (Chamber-OS 171): and at least 44px wide, the label centred, so a short label ("Tax") is a 44×44 target; a
|
|
809
|
+
* longer tab keeps its width and the gap. A full-width row (later rules, max-content) already sizes its tabs. */
|
|
810
|
+
.aura-tabs.is-touch-always .aura-tab { height: var(--aura-touch-target); min-width: var(--aura-touch-target); justify-content: center; }
|
|
811
|
+
@media (max-width: 639.98px), (pointer: coarse) {
|
|
812
|
+
.aura-tabs.is-touch .aura-tab { height: var(--aura-touch-target); min-width: var(--aura-touch-target); justify-content: center; }
|
|
813
|
+
}
|
|
810
814
|
.aura-tabs__panel[hidden] { display: none; }
|
|
811
815
|
.aura-tabs__panel:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 2px; border-radius: var(--aura-radius-sm); }
|
|
812
816
|
|
package/dist/styles.layer.css
CHANGED
|
@@ -807,8 +807,12 @@ a.aura-tab { text-decoration: none; }
|
|
|
807
807
|
.aura-tabs__panel { padding-top: var(--aura-space-6); outline: none; }
|
|
808
808
|
/* 5.39 (Chamber-OS 143): touchHeight — 44px tabs (underline or segmented, buttons or links) below 640px or on a coarse
|
|
809
809
|
* pointer (is-touch), or always. The height is set on the tabs, not through --aura-input-height, so panels keep theirs. */
|
|
810
|
-
.
|
|
811
|
-
|
|
810
|
+
/* 5.58 (Chamber-OS 171): and at least 44px wide, the label centred, so a short label ("Tax") is a 44×44 target; a
|
|
811
|
+
* longer tab keeps its width and the gap. A full-width row (later rules, max-content) already sizes its tabs. */
|
|
812
|
+
.aura-tabs.is-touch-always .aura-tab { height: var(--aura-touch-target); min-width: var(--aura-touch-target); justify-content: center; }
|
|
813
|
+
@media (max-width: 639.98px), (pointer: coarse) {
|
|
814
|
+
.aura-tabs.is-touch .aura-tab { height: var(--aura-touch-target); min-width: var(--aura-touch-target); justify-content: center; }
|
|
815
|
+
}
|
|
812
816
|
.aura-tabs__panel[hidden] { display: none; }
|
|
813
817
|
.aura-tabs__panel:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 2px; border-radius: var(--aura-radius-sm); }
|
|
814
818
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jirawatpyk/aura-react",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.58.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",
|