@jirawatpyk/aura-react 5.24.0 → 5.26.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 +41 -2
- package/dist/aura.bundle.js +1969 -1732
- package/dist/cjs/index.cjs +1968 -1731
- package/dist/esm/Accordion.js +14 -2
- package/dist/esm/Checkbox.js +4 -2
- package/dist/esm/Combobox.js +3 -1
- package/dist/esm/Command.js +4 -2
- package/dist/esm/Container.js +13 -3
- package/dist/esm/DataTable.js +5 -1
- package/dist/esm/DatePicker.js +2 -0
- package/dist/esm/FilterDateRange.js +157 -0
- package/dist/esm/RadioGroup.js +5 -2
- package/dist/esm/Table.js +29 -5
- package/dist/esm/Tag.js +16 -2
- package/dist/esm/dates.js +14 -0
- package/dist/esm/index.js +2 -0
- package/dist/index.d.cts +81 -4
- package/dist/index.d.ts +81 -4
- package/dist/styles.css +65 -5
- package/dist/styles.layer.css +65 -5
- package/package.json +1 -1
package/dist/styles.layer.css
CHANGED
|
@@ -127,6 +127,7 @@ button.aura-btn--creative[aria-disabled='true']:hover { box-shadow: var(--aura-s
|
|
|
127
127
|
.aura-table__row-link:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 2px; border-radius: var(--aura-radius-xs); }
|
|
128
128
|
/* Server mode refresh: the previous page stays, inactive, under a progress bar until the next one arrives */
|
|
129
129
|
.aura-table.is-refreshing .aura-table__row { opacity: 0.6; pointer-events: none; }
|
|
130
|
+
.aura-table.aura-table--borderless { border: 0; border-radius: 0; } /* 5.26: bordered={false} */
|
|
130
131
|
.aura-table__busy-bar {
|
|
131
132
|
position: absolute; z-index: 6; top: calc(var(--aura-table-row-height) - 2px); left: 0; right: 0; height: 2px; overflow: hidden;
|
|
132
133
|
border-radius: var(--aura-radius-full); pointer-events: none;
|
|
@@ -316,11 +317,12 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
316
317
|
.aura-icon-btn:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
|
|
317
318
|
/* 5.15 (Chamber-OS 100): touchHeight — visibly 44px on phones, for buttons and icon buttons a phone design wants full size.
|
|
318
319
|
* 5.24 (Chamber-OS 123): also wherever the primary pointer is coarse — a tablet at 768–1366px is a finger, not a mouse.
|
|
319
|
-
* A mouse on a wide screen (pointer: fine) keeps the compact size. */
|
|
320
|
+
* A mouse on a wide screen (pointer: fine) keeps the compact size. 5.25 (Chamber-OS 124): toggle Tags too. */
|
|
320
321
|
@media (max-width: 639.98px), (pointer: coarse) {
|
|
321
322
|
.aura-btn.aura-btn--touch { height: var(--aura-touch-target); }
|
|
322
323
|
.aura-btn.aura-btn--touch.aura-btn--full { height: auto; min-height: var(--aura-touch-target); }
|
|
323
324
|
.aura-icon-btn.aura-icon-btn--touch { width: var(--aura-touch-target); height: var(--aura-touch-target); }
|
|
325
|
+
.aura-tag.aura-tag--touch { min-height: var(--aura-touch-target); }
|
|
324
326
|
}
|
|
325
327
|
/* Touch: same 32px look, a 44px hit area around it (WCAG 2.5.5). */
|
|
326
328
|
@media (pointer: coarse) {
|
|
@@ -654,13 +656,33 @@ a.aura-icon-btn { text-decoration: none; }
|
|
|
654
656
|
padding: var(--aura-card-padding); background: var(--aura-bg-surface); color: var(--aura-fg-primary);
|
|
655
657
|
border: 1px solid var(--aura-border-default); border-radius: var(--aura-card-radius); box-shadow: var(--aura-shadow-enterprise);
|
|
656
658
|
font-family: var(--font-sans); font-size: 14px;
|
|
659
|
+
--aura-card-bleed: var(--aura-card-padding); /* 5.26: how far a bleeding table reaches out; 0 where the card is flush */
|
|
657
660
|
}
|
|
658
661
|
.aura-card.is-interactive { cursor: pointer; transition: border-color var(--aura-duration-fast) var(--aura-ease); }
|
|
659
662
|
.aura-card.is-interactive:hover { border-color: var(--aura-border-control); }
|
|
660
663
|
/* 5.15 (Chamber-OS 93): frameless below a width — the rows inside become cards of their own. */
|
|
661
|
-
@media (max-width: 639.98px) { .aura-card.aura-card--flush-below-sm, .aura-card.aura-card--flush-below-sm:hover { border-color: transparent; background: transparent; box-shadow: none; } }
|
|
662
|
-
@media (max-width: 767.98px) { .aura-card.aura-card--flush-below-md, .aura-card.aura-card--flush-below-md:hover { border-color: transparent; background: transparent; box-shadow: none; } }
|
|
663
|
-
@media (max-width: 1023.98px) { .aura-card.aura-card--flush-below-lg, .aura-card.aura-card--flush-below-lg:hover { border-color: transparent; background: transparent; box-shadow: none; } }
|
|
664
|
+
@media (max-width: 639.98px) { .aura-card.aura-card--flush-below-sm, .aura-card.aura-card--flush-below-sm:hover { border-color: transparent; background: transparent; box-shadow: none; --aura-card-bleed: 0px; } }
|
|
665
|
+
@media (max-width: 767.98px) { .aura-card.aura-card--flush-below-md, .aura-card.aura-card--flush-below-md:hover { border-color: transparent; background: transparent; box-shadow: none; --aura-card-bleed: 0px; } }
|
|
666
|
+
@media (max-width: 1023.98px) { .aura-card.aura-card--flush-below-lg, .aura-card.aura-card--flush-below-lg:hover { border-color: transparent; background: transparent; box-shadow: none; --aura-card-bleed: 0px; } }
|
|
667
|
+
/* 5.26 (Chamber-OS 127): bleed — a table that is a direct child of a Card's content spans its inner width; the side
|
|
668
|
+
* borders and radius go (a 0px bleed — a flush card — keeps them: 1px - min(1px, 0) = 1px). As the card's last content
|
|
669
|
+
* it also drops its bottom rule and the card's radius closes it. */
|
|
670
|
+
/* Two classes deep so it beats a stackable Table's width: 100%. `* 1000` turns any bleed into a 0 radius; 0 keeps it. */
|
|
671
|
+
.aura-card .aura-card__body > .aura-bleed { margin-inline: calc(-1 * var(--aura-card-bleed)); width: auto; }
|
|
672
|
+
/* A Table with bordered={false} too: its outer cells take the bleed (0 where the card is flush, as before). */
|
|
673
|
+
.aura-card__body > .aura-bleed .aura-tbl-wrap.is-flush > .aura-tbl > * > .aura-tbl__row > :first-child,
|
|
674
|
+
.aura-card__body > .aura-bleed.aura-tbl-wrap.is-flush > .aura-tbl > * > .aura-tbl__row > :first-child { padding-inline-start: var(--aura-card-bleed); }
|
|
675
|
+
.aura-card__body > .aura-bleed .aura-tbl-wrap.is-flush > .aura-tbl > * > .aura-tbl__row > :last-child,
|
|
676
|
+
.aura-card__body > .aura-bleed.aura-tbl-wrap.is-flush > .aura-tbl > * > .aura-tbl__row > :last-child { padding-inline-end: var(--aura-card-bleed); }
|
|
677
|
+
.aura-card__body > .aura-bleed.aura-bleed-frame, .aura-card__body > .aura-bleed .aura-bleed-frame {
|
|
678
|
+
border-inline-width: calc(1px - min(1px, var(--aura-card-bleed))); border-radius: max(0px, var(--aura-card-radius) - var(--aura-card-bleed) * 1000);
|
|
679
|
+
}
|
|
680
|
+
.aura-card__body:last-child > .aura-bleed:last-child { margin-bottom: calc(-1 * var(--aura-card-bleed)); }
|
|
681
|
+
.aura-card__body:last-child > .aura-bleed:last-child.aura-bleed-frame, .aura-card__body:last-child > .aura-bleed:last-child .aura-bleed-frame {
|
|
682
|
+
border-bottom-width: calc(1px - min(1px, var(--aura-card-bleed)));
|
|
683
|
+
border-bottom-left-radius: calc(var(--aura-card-radius) - min(1px, var(--aura-card-bleed)));
|
|
684
|
+
border-bottom-right-radius: calc(var(--aura-card-radius) - min(1px, var(--aura-card-bleed)));
|
|
685
|
+
}
|
|
664
686
|
.aura-card--creative { border: 2px solid var(--aura-border-strong); box-shadow: var(--aura-card-shadow-creative); }
|
|
665
687
|
.aura-card__head { display: flex; align-items: flex-start; gap: var(--aura-space-3); }
|
|
666
688
|
.aura-card__heading { flex: 1; min-width: 0; }
|
|
@@ -961,6 +983,7 @@ a.aura-tab { text-decoration: none; }
|
|
|
961
983
|
}
|
|
962
984
|
.aura-container { box-sizing: border-box; width: 100%; max-width: var(--aura-container-max); margin: 0 auto; padding: 0 var(--aura-space-4); }
|
|
963
985
|
.aura-container.is-narrow { max-width: var(--aura-container-narrow); }
|
|
986
|
+
.aura-container.is-start { margin-inline: 0; } /* 5.26 (Chamber-OS 126): align="start" */
|
|
964
987
|
/* Breakpoints: sm 640 · md 768 · lg 1024 · xl 1280 (aura-bp-* tokens; media queries can't read variables) */
|
|
965
988
|
@media (min-width: 640px) {
|
|
966
989
|
.aura-stack { flex-direction: var(--aura-stack-dir-sm, var(--aura-stack-dir-base, column)); align-items: var(--aura-stack-align-sm, stretch); gap: var(--aura-stack-gap-sm, var(--aura-stack-gap-base, var(--aura-space-4))); }
|
|
@@ -1413,7 +1436,7 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1413
1436
|
.aura-toaster { left: var(--aura-space-4); right: var(--aura-space-4); bottom: var(--aura-space-4); width: auto; }
|
|
1414
1437
|
.aura-toaster.is-center { left: var(--aura-space-4); right: var(--aura-space-4); transform: none; }
|
|
1415
1438
|
.aura-toaster.is-top { top: calc(var(--aura-toaster-offset, var(--aura-space-4)) + env(safe-area-inset-top, 0px)); }
|
|
1416
|
-
.aura-card { padding: var(--aura-space-4); }
|
|
1439
|
+
.aura-card { padding: var(--aura-space-4); --aura-card-bleed: var(--aura-space-4); }
|
|
1417
1440
|
.aura-stat { padding: var(--aura-space-4); }
|
|
1418
1441
|
.aura-stat__value { font-size: 24px; }
|
|
1419
1442
|
.aura-tabs__list { gap: var(--aura-space-4); }
|
|
@@ -1532,6 +1555,16 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1532
1555
|
.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; }
|
|
1533
1556
|
.aura-filterselect.is-disabled .aura-filterselect__native { cursor: not-allowed; }
|
|
1534
1557
|
@media (forced-colors: active) { .aura-filterselect__face { border-color: ButtonText; } }
|
|
1558
|
+
/* 5.26 (Chamber-OS 128) FilterDateRange: presets beside the range calendar; above it on phones. */
|
|
1559
|
+
.aura-filterdate__pop { display: flex; gap: var(--aura-space-3); overflow-y: auto; }
|
|
1560
|
+
.aura-filterdate__presets { display: flex; flex-direction: column; gap: 2px; min-width: 8rem; padding-inline-end: var(--aura-space-3); border-inline-end: 1px solid var(--aura-border-subtle); }
|
|
1561
|
+
.aura-filterdate__preset { justify-content: flex-start; }
|
|
1562
|
+
.aura-filterdate__preset.is-selected { background: var(--aura-bg-selected); }
|
|
1563
|
+
@media (forced-colors: active) { .aura-filterdate__preset.is-selected { outline: 2px solid Highlight; outline-offset: -2px; } }
|
|
1564
|
+
@media (max-width: 639.98px) {
|
|
1565
|
+
.aura-filterdate__pop { flex-direction: column; }
|
|
1566
|
+
.aura-filterdate__presets { flex-direction: row; flex-wrap: wrap; min-width: 0; padding: 0 0 var(--aura-space-2); border: 0; border-bottom: 1px solid var(--aura-border-subtle); }
|
|
1567
|
+
}
|
|
1535
1568
|
|
|
1536
1569
|
/* Command palette: a search field over a grouped list, above everything else (it can open from a Dialog) */
|
|
1537
1570
|
.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); }
|
|
@@ -1699,6 +1732,22 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1699
1732
|
.aura-tbl .is-end { text-align: right; }
|
|
1700
1733
|
.aura-tbl .is-center { text-align: center; }
|
|
1701
1734
|
.aura-tbl .is-numeric { font-variant-numeric: tabular-nums; white-space: nowrap; }
|
|
1735
|
+
/* 5.26 (Chamber-OS 129) stickyHeader. To the page: the box must not be a scroll container, so it clips sideways
|
|
1736
|
+
* instead (nothing overflows while it fits; JavaScript marks a table that doesn't, which scrolls as before). In a
|
|
1737
|
+
* maxHeight box: the box scrolls both ways and the header pins to its top. The rule under the band moves with it. */
|
|
1738
|
+
.aura-tbl-wrap.is-sticky-page:not(.is-wide) { overflow-x: clip; }
|
|
1739
|
+
.aura-tbl-wrap.has-max, .aura-tbl-cards > .aura-tbl-wrap.has-max { overflow: auto; box-sizing: border-box; }
|
|
1740
|
+
.aura-tbl-wrap.is-sticky-page > .aura-tbl > .aura-tbl__head .aura-tbl__th, .aura-tbl-wrap.is-sticky-box > .aura-tbl > .aura-tbl__head .aura-tbl__th {
|
|
1741
|
+
position: sticky; top: var(--aura-table-sticky-top, var(--aura-shell-bar-height, 0px)); z-index: 2;
|
|
1742
|
+
border-bottom-width: 0; box-shadow: inset 0 -1px 0 var(--aura-border-default); /* one rule, at rest and pinned */
|
|
1743
|
+
}
|
|
1744
|
+
/* Forced colours drop the shadow; a pseudo-element line moves with the pinned cell (a collapsed border doesn't). */
|
|
1745
|
+
@media (forced-colors: active) {
|
|
1746
|
+
.aura-tbl-wrap.is-sticky-page > .aura-tbl > .aura-tbl__head .aura-tbl__th::after, .aura-tbl-wrap.is-sticky-box > .aura-tbl > .aura-tbl__head .aura-tbl__th::after {
|
|
1747
|
+
content: ''; position: absolute; inset: auto 0 0 0; border-bottom: 1px solid CanvasText;
|
|
1748
|
+
}
|
|
1749
|
+
}
|
|
1750
|
+
.aura-tbl-wrap.is-sticky-box > .aura-tbl > .aura-tbl__head .aura-tbl__th { top: 0; }
|
|
1702
1751
|
.aura-tbl-wrap:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: 2px; }
|
|
1703
1752
|
/* 5.13 (Chamber-OS 81): align="middle" centres body and footer cells on their row; bordered={false} drops the frame and
|
|
1704
1753
|
* the outer cells' side padding, so the table lines up with what's around it (a Card's heading). */
|
|
@@ -1740,6 +1789,8 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1740
1789
|
content: attr(data-label); content: attr(data-label) / '';
|
|
1741
1790
|
display: block; margin-bottom: 2px; font-family: var(--font-mono); font-size: 11px; line-height: 16px; font-weight: 400; color: var(--aura-fg-secondary);
|
|
1742
1791
|
}
|
|
1792
|
+
/* 5.26: a bleeding list keeps its rows' text level with the Card's content (16px where it doesn't bleed). */
|
|
1793
|
+
.aura-card__body > .aura-bleed.aura-bleed-frame > .aura-tbl--stack-md:not(.aura-tbl--cards) > * > .aura-tbl__row, .aura-card__body > .aura-bleed > .aura-bleed-frame > .aura-tbl--stack-md:not(.aura-tbl--cards) > * > .aura-tbl__row { padding-inline: max(var(--aura-card-bleed), var(--aura-space-4) - var(--aura-card-bleed) * 1000); }
|
|
1743
1794
|
}
|
|
1744
1795
|
@container aura-tbl (width < 640px) {
|
|
1745
1796
|
.aura-tbl--stack-sm, .aura-tbl--stack-sm > .aura-tbl__body, .aura-tbl--stack-sm > .aura-tbl__foot, .aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row, .aura-tbl--stack-sm > .aura-tbl__foot > .aura-tbl__row, .aura-tbl--stack-sm > * > .aura-tbl__row > .aura-tbl__th, .aura-tbl--stack-sm > * > .aura-tbl__row > .aura-tbl__td { display: block; }
|
|
@@ -1762,6 +1813,8 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1762
1813
|
content: attr(data-label); content: attr(data-label) / '';
|
|
1763
1814
|
display: block; margin-bottom: 2px; font-family: var(--font-mono); font-size: 11px; line-height: 16px; font-weight: 400; color: var(--aura-fg-secondary);
|
|
1764
1815
|
}
|
|
1816
|
+
/* 5.26: a bleeding list keeps its rows' text level with the Card's content (16px where it doesn't bleed). */
|
|
1817
|
+
.aura-card__body > .aura-bleed.aura-bleed-frame > .aura-tbl--stack-sm:not(.aura-tbl--cards) > * > .aura-tbl__row, .aura-card__body > .aura-bleed > .aura-bleed-frame > .aura-tbl--stack-sm:not(.aura-tbl--cards) > * > .aura-tbl__row { padding-inline: max(var(--aura-card-bleed), var(--aura-space-4) - var(--aura-card-bleed) * 1000); }
|
|
1765
1818
|
}
|
|
1766
1819
|
|
|
1767
1820
|
/* 5.15 (Chamber-OS 85): stackStyle="cards" — each stacked row its own card (DataTable's card spacing), no outer frame.
|
|
@@ -1769,6 +1822,8 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1769
1822
|
.aura-tbl-cards { container: aura-tbl / inline-size; width: 100%; }
|
|
1770
1823
|
@container aura-tbl (width < 768px) {
|
|
1771
1824
|
.aura-tbl-cards--md > .aura-tbl-wrap { border: 0; border-radius: 0; background: transparent; overflow: visible; }
|
|
1825
|
+
.aura-card__body > .aura-bleed.aura-bleed-frame > .aura-tbl--cards.aura-tbl--stack-md, .aura-card__body > .aura-bleed > .aura-bleed-frame > .aura-tbl--cards.aura-tbl--stack-md { padding-inline: var(--aura-card-bleed); }
|
|
1826
|
+
.aura-card__body:last-child > .aura-bleed:last-child .aura-bleed-frame > .aura-tbl--cards.aura-tbl--stack-md { padding-bottom: var(--aura-card-bleed); }
|
|
1772
1827
|
.aura-tbl--cards.aura-tbl--stack-md > .aura-tbl__caption { padding: 0 0 var(--aura-space-3); }
|
|
1773
1828
|
.aura-tbl--cards.aura-tbl--stack-md > .aura-tbl__body > .aura-tbl__row, .aura-tbl--cards.aura-tbl--stack-md > .aura-tbl__foot > .aura-tbl__row {
|
|
1774
1829
|
margin-bottom: var(--aura-space-2); padding: var(--aura-tbl-card-py, var(--aura-space-4)) var(--aura-space-4);
|
|
@@ -1780,6 +1835,8 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1780
1835
|
}
|
|
1781
1836
|
@container aura-tbl (width < 640px) {
|
|
1782
1837
|
.aura-tbl-cards--sm > .aura-tbl-wrap { border: 0; border-radius: 0; background: transparent; overflow: visible; }
|
|
1838
|
+
.aura-card__body > .aura-bleed.aura-bleed-frame > .aura-tbl--cards.aura-tbl--stack-sm, .aura-card__body > .aura-bleed > .aura-bleed-frame > .aura-tbl--cards.aura-tbl--stack-sm { padding-inline: var(--aura-card-bleed); }
|
|
1839
|
+
.aura-card__body:last-child > .aura-bleed:last-child .aura-bleed-frame > .aura-tbl--cards.aura-tbl--stack-sm { padding-bottom: var(--aura-card-bleed); }
|
|
1783
1840
|
.aura-tbl--cards.aura-tbl--stack-sm > .aura-tbl__caption { padding: 0 0 var(--aura-space-3); }
|
|
1784
1841
|
.aura-tbl--cards.aura-tbl--stack-sm > .aura-tbl__body > .aura-tbl__row, .aura-tbl--cards.aura-tbl--stack-sm > .aura-tbl__foot > .aura-tbl__row {
|
|
1785
1842
|
margin-bottom: var(--aura-space-2); padding: var(--aura-tbl-card-py, var(--aura-space-4)) var(--aura-space-4);
|
|
@@ -1809,6 +1866,9 @@ button.aura-stepper__step:hover .aura-stepper__label { text-decoration: underlin
|
|
|
1809
1866
|
* screen readers; the labels are generated content with empty alt text, so they aren't read twice. */
|
|
1810
1867
|
@container aura-stack (width < 9999.5px) {
|
|
1811
1868
|
.aura-table { background: transparent; border: 0; border-radius: 0; overflow: visible; }
|
|
1869
|
+
/* 5.26: stacked cards inside a framed Card keep its padding (0 where the Card is flush). */
|
|
1870
|
+
.aura-card__body > .aura-bleed .aura-bleed-frame { padding-inline: var(--aura-card-bleed); }
|
|
1871
|
+
.aura-card__body:last-child > .aura-bleed:last-child .aura-bleed-frame { padding-bottom: var(--aura-card-bleed); }
|
|
1812
1872
|
.aura-table__scroll { overflow: visible; height: auto; }
|
|
1813
1873
|
.aura-table__busy-bar { top: 0; }
|
|
1814
1874
|
.aura-table__picker { display: none; }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jirawatpyk/aura-react",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.26.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",
|