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