@jirawatpyk/aura-react 5.54.0 → 5.56.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 +10 -2
- package/dist/aura.bundle.js +1 -0
- package/dist/cjs/index.cjs +1 -0
- package/dist/esm/AppShell.js +1 -0
- package/dist/styles.css +12 -6
- package/dist/styles.layer.css +12 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -186,13 +186,21 @@ 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.56 — Chamber-OS addendum 69 (#168)
|
|
190
|
+
|
|
191
|
+
- **AppShell's menu button is a 44px touch target:** the "Open navigation" button AppShell draws below 1024px is now 44×44 below 640px or on a touch screen (`(pointer: coarse)`), whatever the density — the same box as an IconButton with `touchHeight` — so it matches the 44px search and account buttons beside it. From 640px with a mouse it keeps its 32px size; from 1024px it is hidden, as before. The bar keeps its 56px height; on a phone the `header` content is 12px narrower, so a long title truncates a little sooner. No new prop.
|
|
192
|
+
|
|
193
|
+
## 5.55 — Chamber-OS addendum 68 (#167)
|
|
194
|
+
|
|
195
|
+
- **Bar and footer buttons follow `touchHeight`'s query:** the 44px minimum for Buttons in an ActionBar (`children`, `start`) and in a Dialog or Drawer footer, and the 44px IconButton in a bar (not one in a footer), now apply below 640px **or on a touch screen** (`(pointer: coarse)`) at any width — the query `touchHeight` and the compact density use — so a `size="sm"` bulk-bar button on a tablet is 44px too. With a mouse from 640px nothing changes (36/32px in compact). Wrapping a footer's long label stays phone-only. Drop the `touchHeight` you kept on `size="sm"` bar and footer buttons for tablets.
|
|
196
|
+
|
|
189
197
|
## 5.54 — Chamber-OS addendum 67 (#166)
|
|
190
198
|
|
|
191
|
-
- **ActionBar's buttons are 44px on a phone:** below 640px (the viewport's) every Button in an ActionBar — its `children` and `start` — is at least 44px tall, and an IconButton there 44px square, whatever the density or pointer, as a sheet's footer is since 5.53, so a compact page's save bar needs no `touchHeight` on each button. PageHeader's `actionsBarBelow` bar (ActionBar's edge strip) does the same while it is a bar. From 640px they keep the density's height
|
|
199
|
+
- **ActionBar's buttons are 44px on a phone:** below 640px (the viewport's) every Button in an ActionBar — its `children` and `start` — is at least 44px tall, and an IconButton there 44px square, whatever the density or pointer, as a sheet's footer is since 5.53, so a compact page's save bar needs no `touchHeight` on each button. PageHeader's `actionsBarBelow` bar (ActionBar's edge strip) does the same while it is a bar. From 640px with a mouse they keep the density's height (5.55: on a touch screen they are 44px at any width); buttons that already pass `touchHeight` look the same. Drop any `touchHeight` you added to bar buttons only for this.
|
|
192
200
|
|
|
193
201
|
## 5.53 — Chamber-OS addendum 66 (#165)
|
|
194
202
|
|
|
195
|
-
- **A phone sheet's footer buttons wrap and are 44px:** below 640px a Dialog's footer stacks its buttons full width, and now they behave as `fullWidth` there (a Button directly in `footer`, or the only Button in a wrapper such as a Tooltip or a menu trigger); a Drawer's footer buttons stay in their row but wrap and are 44px too — a long label (Swedish, Thai) wraps instead of running out, and each is at least 44px tall whatever the density or pointer, with no `touchHeight` needed. From 640px the footer is unchanged: right-aligned, the density's height, one line. Drop any `touchHeight` you added to footer buttons only for this.
|
|
203
|
+
- **A phone sheet's footer buttons wrap and are 44px:** below 640px a Dialog's footer stacks its buttons full width, and now they behave as `fullWidth` there (a Button directly in `footer`, or the only Button in a wrapper such as a Tooltip or a menu trigger); a Drawer's footer buttons stay in their row but wrap and are 44px too — a long label (Swedish, Thai) wraps instead of running out, and each is at least 44px tall whatever the density or pointer, with no `touchHeight` needed. From 640px with a mouse the footer is unchanged: right-aligned, the density's height, one line (5.55: on a touch screen its buttons are 44px, still in a row). Drop any `touchHeight` you added to footer buttons only for this.
|
|
196
204
|
- **`fullWidth="below-sm"` / `"below-md"`** on Button, a link Button and `buttonClass` (so in Server Components too): full width and wrapping, at least 44px tall, only below 640px / 768px (the viewport's); its natural width above — for action rows that stack on phones and sit inline on a desktop. `fullWidth` (`true`) is unchanged. Inside a PageHeader's `actionsFullWidthBelow` row with an IconButton, that row's own sizing wins.
|
|
197
205
|
|
|
198
206
|
```jsx
|
package/dist/aura.bundle.js
CHANGED
package/dist/cjs/index.cjs
CHANGED
|
@@ -8456,6 +8456,7 @@ var AppShell = React48.forwardRef(function AppShell2(props, ref) {
|
|
|
8456
8456
|
icon: /* @__PURE__ */ React48.createElement(IconMenu, null),
|
|
8457
8457
|
label: props.menuLabel || t.openNav,
|
|
8458
8458
|
size: "md",
|
|
8459
|
+
touchHeight: true,
|
|
8459
8460
|
onClick: function() {
|
|
8460
8461
|
setOpen(true);
|
|
8461
8462
|
},
|
package/dist/esm/AppShell.js
CHANGED
|
@@ -138,6 +138,7 @@ const AppShell = React.forwardRef(function AppShell2(props, ref) {
|
|
|
138
138
|
icon: /* @__PURE__ */ React.createElement(IconMenu, null),
|
|
139
139
|
label: props.menuLabel || t.openNav,
|
|
140
140
|
size: "md",
|
|
141
|
+
touchHeight: true,
|
|
141
142
|
onClick: function() {
|
|
142
143
|
setOpen(true);
|
|
143
144
|
},
|
package/dist/styles.css
CHANGED
|
@@ -1085,6 +1085,18 @@ a.aura-tab { text-decoration: none; }
|
|
|
1085
1085
|
.aura-drawer__foot { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--aura-space-3); padding: var(--aura-space-4) var(--aura-space-6); border-top: 1px solid var(--aura-border-default); }
|
|
1086
1086
|
@media (prefers-reduced-motion: reduce) { .aura-drawer { animation: none; } }
|
|
1087
1087
|
|
|
1088
|
+
/* 5.54-5.55 (Chamber-OS 166, 167): on a phone or a touch screen (touchHeight's query) the Buttons in an ActionBar (its
|
|
1089
|
+
* actions and start) and in a Dialog or Drawer footer are at least 44px, and an IconButton in a bar 44px square
|
|
1090
|
+
* (directly or one wrapper deep, so a field's own suffix button isn't grown), whatever the density. With a mouse from
|
|
1091
|
+
* 640px they keep the density's height. Wrapping a footer's long label stays phone-only (below). */
|
|
1092
|
+
@media (max-width: 639.98px), (pointer: coarse) {
|
|
1093
|
+
.aura-actionbar__actions .aura-btn, .aura-actionbar__start .aura-btn,
|
|
1094
|
+
.aura-dialog__foot > .aura-btn, .aura-dialog__foot > * > .aura-btn:only-child,
|
|
1095
|
+
.aura-drawer__foot > .aura-btn, .aura-drawer__foot > * > .aura-btn:only-child { min-height: var(--aura-touch-target); }
|
|
1096
|
+
.aura-actionbar__actions > .aura-icon-btn, .aura-actionbar__actions > * > .aura-icon-btn:only-child,
|
|
1097
|
+
.aura-actionbar__start > .aura-icon-btn, .aura-actionbar__start > * > .aura-icon-btn:only-child { width: var(--aura-touch-target); height: var(--aura-touch-target); }
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1088
1100
|
/* ---------- Dropdown ---------- */
|
|
1089
1101
|
.aura-dropdown { display: inline-flex; }
|
|
1090
1102
|
|
|
@@ -1777,12 +1789,6 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1777
1789
|
padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; }
|
|
1778
1790
|
.aura-dialog__foot > * > .aura-btn:only-child, .aura-btn.aura-btn.aura-btn--full-below-sm { width: 100%; }
|
|
1779
1791
|
.aura-drawer__foot > * { max-width: 100%; }
|
|
1780
|
-
/* 5.54 (Chamber-OS 166): the Buttons in an ActionBar (its actions and start) are at least 44px on a phone whatever
|
|
1781
|
-
* the density or pointer, like a sheet's footer; from 640px they keep the density's height. */
|
|
1782
|
-
.aura-actionbar__actions .aura-btn, .aura-actionbar__start .aura-btn { min-height: var(--aura-touch-target); }
|
|
1783
|
-
/* (an IconButton in the bar or one wrapper deep — not a field's own suffix button) */
|
|
1784
|
-
.aura-actionbar__actions > .aura-icon-btn, .aura-actionbar__actions > * > .aura-icon-btn:only-child,
|
|
1785
|
-
.aura-actionbar__start > .aura-icon-btn, .aura-actionbar__start > * > .aura-icon-btn:only-child { width: var(--aura-touch-target); height: var(--aura-touch-target); }
|
|
1786
1792
|
.aura-drawer:not(.aura-drawer--nav) { max-width: none; }
|
|
1787
1793
|
.aura-toaster { left: var(--aura-space-4); right: var(--aura-space-4); bottom: var(--aura-space-4); width: auto; }
|
|
1788
1794
|
.aura-toaster.is-center { left: var(--aura-space-4); right: var(--aura-space-4); transform: none; }
|
package/dist/styles.layer.css
CHANGED
|
@@ -1087,6 +1087,18 @@ a.aura-tab { text-decoration: none; }
|
|
|
1087
1087
|
.aura-drawer__foot { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--aura-space-3); padding: var(--aura-space-4) var(--aura-space-6); border-top: 1px solid var(--aura-border-default); }
|
|
1088
1088
|
@media (prefers-reduced-motion: reduce) { .aura-drawer { animation: none; } }
|
|
1089
1089
|
|
|
1090
|
+
/* 5.54-5.55 (Chamber-OS 166, 167): on a phone or a touch screen (touchHeight's query) the Buttons in an ActionBar (its
|
|
1091
|
+
* actions and start) and in a Dialog or Drawer footer are at least 44px, and an IconButton in a bar 44px square
|
|
1092
|
+
* (directly or one wrapper deep, so a field's own suffix button isn't grown), whatever the density. With a mouse from
|
|
1093
|
+
* 640px they keep the density's height. Wrapping a footer's long label stays phone-only (below). */
|
|
1094
|
+
@media (max-width: 639.98px), (pointer: coarse) {
|
|
1095
|
+
.aura-actionbar__actions .aura-btn, .aura-actionbar__start .aura-btn,
|
|
1096
|
+
.aura-dialog__foot > .aura-btn, .aura-dialog__foot > * > .aura-btn:only-child,
|
|
1097
|
+
.aura-drawer__foot > .aura-btn, .aura-drawer__foot > * > .aura-btn:only-child { min-height: var(--aura-touch-target); }
|
|
1098
|
+
.aura-actionbar__actions > .aura-icon-btn, .aura-actionbar__actions > * > .aura-icon-btn:only-child,
|
|
1099
|
+
.aura-actionbar__start > .aura-icon-btn, .aura-actionbar__start > * > .aura-icon-btn:only-child { width: var(--aura-touch-target); height: var(--aura-touch-target); }
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1090
1102
|
/* ---------- Dropdown ---------- */
|
|
1091
1103
|
.aura-dropdown { display: inline-flex; }
|
|
1092
1104
|
|
|
@@ -1779,12 +1791,6 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1779
1791
|
padding-block: var(--aura-space-2); line-height: 1.35; text-align: center; overflow-wrap: anywhere; }
|
|
1780
1792
|
.aura-dialog__foot > * > .aura-btn:only-child, .aura-btn.aura-btn.aura-btn--full-below-sm { width: 100%; }
|
|
1781
1793
|
.aura-drawer__foot > * { max-width: 100%; }
|
|
1782
|
-
/* 5.54 (Chamber-OS 166): the Buttons in an ActionBar (its actions and start) are at least 44px on a phone whatever
|
|
1783
|
-
* the density or pointer, like a sheet's footer; from 640px they keep the density's height. */
|
|
1784
|
-
.aura-actionbar__actions .aura-btn, .aura-actionbar__start .aura-btn { min-height: var(--aura-touch-target); }
|
|
1785
|
-
/* (an IconButton in the bar or one wrapper deep — not a field's own suffix button) */
|
|
1786
|
-
.aura-actionbar__actions > .aura-icon-btn, .aura-actionbar__actions > * > .aura-icon-btn:only-child,
|
|
1787
|
-
.aura-actionbar__start > .aura-icon-btn, .aura-actionbar__start > * > .aura-icon-btn:only-child { width: var(--aura-touch-target); height: var(--aura-touch-target); }
|
|
1788
1794
|
.aura-drawer:not(.aura-drawer--nav) { max-width: none; }
|
|
1789
1795
|
.aura-toaster { left: var(--aura-space-4); right: var(--aura-space-4); bottom: var(--aura-space-4); width: auto; }
|
|
1790
1796
|
.aura-toaster.is-center { left: var(--aura-space-4); right: var(--aura-space-4); transform: none; }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jirawatpyk/aura-react",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.56.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",
|