@jirawatpyk/aura-react 5.10.1 → 5.12.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.
@@ -132,7 +132,21 @@ a.aura-btn { text-decoration: none; }
132
132
  box-sizing: border-box; height: 100%; line-height: calc(var(--aura-table-row-height) - 1px);
133
133
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-right: var(--aura-space-4);
134
134
  }
135
- .aura-table__td .aura-pill, .aura-table__td .aura-dropdown, .aura-table__td > .aura-icon-btn, .aura-table__td > .aura-btn { vertical-align: middle; }
135
+ /* 5.11 rowHeight="auto" (never virtualized): a row grows to fit what wraps in it; each cell centres its content.
136
+ * The padding only shows once content is taller than the row: a small Button or IconButton (32px), a pill or one line
137
+ * still fits the density's row height (7.5px above and below at 48px, 3.5px compact). */
138
+ .aura-table__row--auto { height: auto; min-height: var(--aura-table-row-height); }
139
+ .aura-table__td--auto {
140
+ --aura-cell-pad-y: clamp(0px, calc((var(--aura-table-row-height) - 1px - var(--aura-button-height-sm)) / 2), var(--aura-space-2));
141
+ display: flex; align-items: center; height: auto; line-height: 20px; white-space: normal;
142
+ padding-top: var(--aura-cell-pad-y); padding-bottom: var(--aura-cell-pad-y);
143
+ }
144
+ .aura-table__cell { flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; }
145
+ /* Badges and pills side by side keep apart when they wrap onto a second line. */
146
+ .aura-table__cell > .aura-badge, .aura-table__cell > .aura-pill { vertical-align: middle; margin-top: 2px; margin-bottom: 2px; }
147
+ .aura-table__cell > .aura-badge:not(:last-child), .aura-table__cell > .aura-pill:not(:last-child) { margin-inline-end: var(--aura-space-1); }
148
+ .aura-table__td .aura-pill, .aura-table__td .aura-dropdown, .aura-table__td > .aura-icon-btn, .aura-table__td > .aura-btn,
149
+ .aura-table__cell > .aura-icon-btn, .aura-table__cell > .aura-btn { vertical-align: middle; }
136
150
  .aura-table__th { position: relative; box-sizing: border-box; display: flex; align-items: center; padding-right: var(--aura-space-2); }
137
151
  /* Column sizes come from custom properties set per cell (4.20), so the card layout can override them. */
138
152
  .aura-table__th, .aura-table__td { flex: var(--aura-cell-flex, none); width: var(--aura-cell-w, auto); min-width: var(--aura-cell-min, 0); }
@@ -155,6 +169,10 @@ a.aura-btn { text-decoration: none; }
155
169
 
156
170
  /* Selection column */
157
171
  .aura-table__sel { width: var(--aura-table-select-width); flex: none; display: flex; align-items: center; background: inherit; }
172
+ /* 5.11: the selection box's invisible input reaches 24×24 (WCAG 2.5.8) around the 16px box it draws. Its left edge
173
+ * overlaps the sticky 24px gutter, so it sits one layer up — unless the column has scrolled under that gutter. */
174
+ .aura-table__sel .aura-check__input { inset: calc((var(--aura-icon-sm) - 24px) / 2); z-index: 2; }
175
+ .aura-table.is-scrolled-x .aura-table__sel:not(.is-pinned) .aura-check__input { z-index: auto; }
158
176
  .aura-table__sel.is-pinned { position: sticky; left: var(--aura-space-6); z-index: 2; }
159
177
 
160
178
  /* Pinned columns */
@@ -1347,6 +1365,37 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1347
1365
  .aura-filterbar__search { flex-basis: 100%; max-width: none; }
1348
1366
  .aura-filterbar__spacer { display: none; }
1349
1367
  }
1368
+ /* 5.12 searchGrow: the search fills what the controls leave. */
1369
+ .aura-filterbar--grow .aura-filterbar__search { max-width: none; }
1370
+ .aura-filterbar--grow .aura-filterbar__search ~ .aura-filterbar__spacer { display: none; }
1371
+ /* Compact filters sit closer together than full fields. */
1372
+ .aura-filterbar__controls:has(> .aura-filterselect) { gap: var(--aura-space-2); }
1373
+
1374
+ /* 5.12 FilterSelect: a compact face — "Status All ▾" — as wide as its words, over Select's machinery and list. */
1375
+ .aura-filterselect { position: relative; display: inline-flex; width: fit-content; max-width: 100%; vertical-align: middle; font-family: var(--font-sans); }
1376
+ .aura-filterselect__face {
1377
+ box-sizing: border-box; display: inline-flex; align-items: center; gap: var(--aura-space-1); width: auto; max-width: 100%;
1378
+ min-height: var(--aura-input-height); padding-block: 0; padding-inline: var(--aura-space-2) var(--aura-space-1);
1379
+ background: var(--aura-bg-input); color: var(--aura-fg-primary);
1380
+ border: 1px solid var(--aura-border-control); border-radius: var(--aura-radius-md);
1381
+ font: inherit; font-size: 13px; line-height: 18px; text-align: start; cursor: pointer;
1382
+ transition: border-color var(--aura-duration-fast) var(--aura-ease);
1383
+ }
1384
+ .aura-filterselect__face:hover { border-color: var(--aura-fg-secondary); }
1385
+ .aura-filterselect__name { flex: none; white-space: nowrap; color: var(--aura-fg-secondary); }
1386
+ .aura-filterselect__value { min-width: 0; font-weight: 500; overflow-wrap: anywhere; }
1387
+ .aura-filterselect__chevron { flex: none; width: 14px; height: 14px; color: var(--aura-fg-secondary); }
1388
+ .aura-filterselect.is-open .aura-filterselect__chevron { transform: rotate(180deg); }
1389
+ .aura-filterselect__face:focus-visible, .aura-filterselect:has(.aura-filterselect__native:focus-visible) .aura-filterselect__face {
1390
+ outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 1px; border-color: var(--aura-border-strong);
1391
+ }
1392
+ .aura-filterselect__face:focus { outline-style: none; }
1393
+ .aura-filterselect__face:focus-visible { outline-style: solid; }
1394
+ /* Before hydration: the real <select>, invisible, over the face (16px so iOS doesn't zoom when it opens). */
1395
+ .aura-filterselect__native { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; font-size: 16px; cursor: pointer; appearance: none; }
1396
+ .aura-filterselect.is-disabled .aura-filterselect__face { background: var(--aura-bg-input-disabled); color: var(--aura-fg-secondary); border-color: var(--aura-border-default); cursor: not-allowed; }
1397
+ .aura-filterselect.is-disabled .aura-filterselect__native { cursor: not-allowed; }
1398
+ @media (forced-colors: active) { .aura-filterselect__face { border-color: ButtonText; } }
1350
1399
 
1351
1400
  /* Command palette: a search field over a grouped list, above everything else (it can open from a Dialog) */
1352
1401
  .aura-dialog-layer.aura-command-layer { z-index: var(--aura-z-menu); align-items: flex-start; padding: 12vh var(--aura-space-4) var(--aura-space-4); }
@@ -1582,6 +1631,9 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
1582
1631
  padding: 0; line-height: normal;
1583
1632
  }
1584
1633
  .aura-table__td[data-hide], .aura-table__head > .aura-table__th[data-hide] { display: block; }
1634
+ /* 5.11: rowHeight="auto" leaves cards as they are. */
1635
+ .aura-table__td--auto { display: block; white-space: nowrap; }
1636
+ .aura-table__td--auto .aura-table__cell > .aura-badge, .aura-table__td--auto .aura-table__cell > .aura-pill { margin: 0; }
1585
1637
  .aura-table__spacer { display: none; }
1586
1638
  .aura-table__td[data-label]::before {
1587
1639
  content: attr(data-label); content: attr(data-label) / '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jirawatpyk/aura-react",
3
- "version": "5.10.1",
3
+ "version": "5.12.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",