@jirawatpyk/aura-react 5.51.0 → 5.52.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 +16 -0
- package/dist/aura.bundle.js +405 -197
- package/dist/cjs/index.cjs +404 -196
- package/dist/esm/Table.js +52 -7
- package/dist/esm/TableSkeleton.js +170 -0
- package/dist/esm/index.js +2 -0
- package/dist/index.d.cts +54 -0
- package/dist/index.d.ts +54 -0
- package/dist/server/index.cjs +210 -48
- package/dist/server/index.d.cts +40 -0
- package/dist/server/index.d.ts +40 -0
- package/dist/server/index.js +210 -48
- package/dist/styles.css +6 -0
- package/dist/styles.layer.css +6 -0
- package/package.json +1 -1
package/dist/server/index.cjs
CHANGED
|
@@ -43,6 +43,7 @@ __export(server_exports, {
|
|
|
43
43
|
Stat: () => ServerStat,
|
|
44
44
|
StatusPill: () => ServerStatusPill,
|
|
45
45
|
StatusTile: () => ServerStatusTile,
|
|
46
|
+
TableSkeleton: () => TableSkeleton,
|
|
46
47
|
TileGrid: () => TileGrid,
|
|
47
48
|
brandScale: () => scale,
|
|
48
49
|
breakpoints: () => breakpoints,
|
|
@@ -640,14 +641,14 @@ var STRINGS = {
|
|
|
640
641
|
|
|
641
642
|
// src/theme.ts
|
|
642
643
|
function hexToRgb(hex) {
|
|
643
|
-
let
|
|
644
|
-
if (
|
|
645
|
-
|
|
644
|
+
let h7 = String(hex).trim().replace("#", "");
|
|
645
|
+
if (h7.length === 3)
|
|
646
|
+
h7 = h7.split("").map(function(c) {
|
|
646
647
|
return c + c;
|
|
647
648
|
}).join("");
|
|
648
|
-
if (!/^[0-9a-f]{6}$/i.test(
|
|
649
|
+
if (!/^[0-9a-f]{6}$/i.test(h7)) throw new Error('createTheme: "' + hex + '" is not a #rgb or #rrggbb colour');
|
|
649
650
|
return [0, 2, 4].map(function(i) {
|
|
650
|
-
return parseInt(
|
|
651
|
+
return parseInt(h7.slice(i, i + 2), 16) / 255;
|
|
651
652
|
});
|
|
652
653
|
}
|
|
653
654
|
function rgbToHex(rgb) {
|
|
@@ -1439,10 +1440,171 @@ var Container = React4.forwardRef(function Container2(props, ref) {
|
|
|
1439
1440
|
);
|
|
1440
1441
|
});
|
|
1441
1442
|
|
|
1442
|
-
// src/
|
|
1443
|
+
// src/TableSkeleton.tsx
|
|
1443
1444
|
var React5 = __toESM(require("react"), 1);
|
|
1444
1445
|
var h4 = React5.createElement;
|
|
1445
|
-
|
|
1446
|
+
function inertProps() {
|
|
1447
|
+
return { inert: parseInt(React5.version, 10) >= 19 ? true : "", "aria-hidden": true };
|
|
1448
|
+
}
|
|
1449
|
+
function widthOf(w) {
|
|
1450
|
+
return w == null || w === "" ? void 0 : typeof w === "number" ? w + "px" : w;
|
|
1451
|
+
}
|
|
1452
|
+
function skeletonColgroup(cols) {
|
|
1453
|
+
return h4(
|
|
1454
|
+
"colgroup",
|
|
1455
|
+
null,
|
|
1456
|
+
cols.map(function(c, i) {
|
|
1457
|
+
const w = widthOf(c.width);
|
|
1458
|
+
return h4("col", { key: i, style: w ? { width: w } : void 0 });
|
|
1459
|
+
})
|
|
1460
|
+
);
|
|
1461
|
+
}
|
|
1462
|
+
function placeholder(c) {
|
|
1463
|
+
const s = c.skeleton || {};
|
|
1464
|
+
if (s.kind === "pill") return h4("span", { className: "aura-skel aura-skel--pill" });
|
|
1465
|
+
if (s.kind === "action") return h4("span", { className: cx("aura-skel aura-skel--action", s.touch && "is-touch") });
|
|
1466
|
+
if (s.lines === 2)
|
|
1467
|
+
return h4(
|
|
1468
|
+
"span",
|
|
1469
|
+
{ className: "aura-skel-lines" },
|
|
1470
|
+
h4("span", { className: "aura-skel aura-skel--text", style: { width: "100%" } }),
|
|
1471
|
+
h4("span", { className: "aura-skel aura-skel--text", style: { width: "60%" } })
|
|
1472
|
+
);
|
|
1473
|
+
return h4("span", { className: "aura-skel aura-skel--text", style: { width: "80%" } });
|
|
1474
|
+
}
|
|
1475
|
+
function cellCls(base, c) {
|
|
1476
|
+
const align = c.align || (c.numeric ? "end" : void 0);
|
|
1477
|
+
return cx(base, align === "end" && "is-end", align === "center" && "is-center", c.numeric && "is-numeric");
|
|
1478
|
+
}
|
|
1479
|
+
function skeletonBody(cols, n3, stacked) {
|
|
1480
|
+
const rows = [];
|
|
1481
|
+
for (let r2 = 0; r2 < n3; r2++)
|
|
1482
|
+
rows.push(
|
|
1483
|
+
h4(
|
|
1484
|
+
"tr",
|
|
1485
|
+
{ key: r2, className: "aura-tbl__row aura-tbl__row--skeleton", role: stacked ? "row" : void 0 },
|
|
1486
|
+
cols.map(function(c, i) {
|
|
1487
|
+
const slot = stacked && (c.card === "title" || c.card === "action") ? c.card : void 0;
|
|
1488
|
+
return h4(
|
|
1489
|
+
"td",
|
|
1490
|
+
{
|
|
1491
|
+
key: i,
|
|
1492
|
+
className: cellCls("aura-tbl__td", c),
|
|
1493
|
+
role: stacked ? "cell" : void 0,
|
|
1494
|
+
"data-label": stacked && !slot && c.label ? c.label : void 0,
|
|
1495
|
+
"data-card": slot
|
|
1496
|
+
},
|
|
1497
|
+
placeholder(c)
|
|
1498
|
+
);
|
|
1499
|
+
})
|
|
1500
|
+
)
|
|
1501
|
+
);
|
|
1502
|
+
return h4(
|
|
1503
|
+
"tbody",
|
|
1504
|
+
{ key: "aura-skeleton", className: "aura-tbl__body", role: stacked ? "rowgroup" : void 0 },
|
|
1505
|
+
rows
|
|
1506
|
+
);
|
|
1507
|
+
}
|
|
1508
|
+
function tableWrapClass(p) {
|
|
1509
|
+
return cx(
|
|
1510
|
+
"aura-tbl-wrap",
|
|
1511
|
+
p.stackBelow && "is-stackable",
|
|
1512
|
+
p.bordered === false && "is-flush",
|
|
1513
|
+
p.bleed && "aura-bleed-frame",
|
|
1514
|
+
p.bleed && !p.cards && "aura-bleed",
|
|
1515
|
+
p.bleed && p.bleedEnd && !p.cards && "aura-bleed-end"
|
|
1516
|
+
);
|
|
1517
|
+
}
|
|
1518
|
+
function tableClass(p) {
|
|
1519
|
+
return cx(
|
|
1520
|
+
"aura-tbl",
|
|
1521
|
+
p.stackBelow && "aura-tbl--stack-" + p.stackBelow,
|
|
1522
|
+
(p.align === "middle" || p.rowHeight === "density" && p.align !== "top") && "aura-tbl--middle",
|
|
1523
|
+
p.rowHeight === "density" && "aura-tbl--row-density",
|
|
1524
|
+
p.cards && "aura-tbl--cards",
|
|
1525
|
+
p.className
|
|
1526
|
+
);
|
|
1527
|
+
}
|
|
1528
|
+
function cardsFrame(el, p) {
|
|
1529
|
+
return p.cards ? h4(
|
|
1530
|
+
"div",
|
|
1531
|
+
{
|
|
1532
|
+
className: cx(
|
|
1533
|
+
"aura-tbl-cards aura-tbl-cards--" + p.stackBelow,
|
|
1534
|
+
p.bleed && "aura-bleed",
|
|
1535
|
+
p.bleed && p.bleedEnd && "aura-bleed-end"
|
|
1536
|
+
)
|
|
1537
|
+
},
|
|
1538
|
+
el
|
|
1539
|
+
) : el;
|
|
1540
|
+
}
|
|
1541
|
+
function TableSkeleton(props) {
|
|
1542
|
+
const cols = props.columns || [];
|
|
1543
|
+
const n3 = props.rows != null ? Math.max(0, props.rows) : 5;
|
|
1544
|
+
const stacked = !!props.stackBelow;
|
|
1545
|
+
const cards = stacked && props.stackStyle === "cards";
|
|
1546
|
+
const head = h4(
|
|
1547
|
+
"thead",
|
|
1548
|
+
{ className: "aura-tbl__head", role: stacked ? "rowgroup" : void 0 },
|
|
1549
|
+
h4(
|
|
1550
|
+
"tr",
|
|
1551
|
+
{ className: "aura-tbl__row", role: stacked ? "row" : void 0 },
|
|
1552
|
+
cols.map(function(c, i) {
|
|
1553
|
+
return h4(
|
|
1554
|
+
"th",
|
|
1555
|
+
{ key: i, scope: "col", className: cellCls("aura-tbl__th", c), role: stacked ? "columnheader" : void 0 },
|
|
1556
|
+
c.label
|
|
1557
|
+
);
|
|
1558
|
+
})
|
|
1559
|
+
)
|
|
1560
|
+
);
|
|
1561
|
+
const table = h4(
|
|
1562
|
+
"div",
|
|
1563
|
+
Object.assign(
|
|
1564
|
+
{
|
|
1565
|
+
className: tableWrapClass({
|
|
1566
|
+
stackBelow: props.stackBelow,
|
|
1567
|
+
bordered: props.bordered,
|
|
1568
|
+
bleed: props.bleed,
|
|
1569
|
+
bleedEnd: props.bleedEnd,
|
|
1570
|
+
cards
|
|
1571
|
+
}),
|
|
1572
|
+
"data-density": props.density || "comfortable"
|
|
1573
|
+
},
|
|
1574
|
+
inertProps()
|
|
1575
|
+
),
|
|
1576
|
+
h4(
|
|
1577
|
+
"table",
|
|
1578
|
+
{
|
|
1579
|
+
className: cx(
|
|
1580
|
+
tableClass({
|
|
1581
|
+
stackBelow: props.stackBelow,
|
|
1582
|
+
align: props.align,
|
|
1583
|
+
rowHeight: props.rowHeight,
|
|
1584
|
+
cards,
|
|
1585
|
+
className: props.className
|
|
1586
|
+
}),
|
|
1587
|
+
"aura-tbl--skeleton"
|
|
1588
|
+
),
|
|
1589
|
+
role: stacked ? "table" : void 0
|
|
1590
|
+
},
|
|
1591
|
+
skeletonColgroup(cols),
|
|
1592
|
+
head,
|
|
1593
|
+
skeletonBody(cols, n3, stacked)
|
|
1594
|
+
)
|
|
1595
|
+
);
|
|
1596
|
+
return cardsFrame(table, {
|
|
1597
|
+
stackBelow: props.stackBelow,
|
|
1598
|
+
bleed: props.bleed,
|
|
1599
|
+
bleedEnd: props.bleedEnd,
|
|
1600
|
+
cards
|
|
1601
|
+
});
|
|
1602
|
+
}
|
|
1603
|
+
|
|
1604
|
+
// src/PageHeader.tsx
|
|
1605
|
+
var React6 = __toESM(require("react"), 1);
|
|
1606
|
+
var h5 = React6.createElement;
|
|
1607
|
+
var PageHeader = React6.forwardRef(function PageHeader2(props, ref) {
|
|
1446
1608
|
const attrs2 = {};
|
|
1447
1609
|
Object.keys(props).forEach(function(k) {
|
|
1448
1610
|
if (k === "id" || k === "lang" || k === "dir" || k === "role" || /^(aria|data)-/.test(k))
|
|
@@ -1458,7 +1620,7 @@ var PageHeader = React5.forwardRef(function PageHeader2(props, ref) {
|
|
|
1458
1620
|
const size = props.size === "compact" || props.size === "hero" || props.size === "hero-lg" ? props.size : null;
|
|
1459
1621
|
const eyebrow = props.eyebrow;
|
|
1460
1622
|
const plainEyebrow = typeof eyebrow === "string" || typeof eyebrow === "number";
|
|
1461
|
-
const heading =
|
|
1623
|
+
const heading = h5(
|
|
1462
1624
|
"h" + level,
|
|
1463
1625
|
{
|
|
1464
1626
|
className: "aura-page-header__title",
|
|
@@ -1470,7 +1632,7 @@ var PageHeader = React5.forwardRef(function PageHeader2(props, ref) {
|
|
|
1470
1632
|
);
|
|
1471
1633
|
const hasActions = props.actions != null && props.actions !== false;
|
|
1472
1634
|
const bar = hasActions && (props.actionsBarBelow === "sm" || props.actionsBarBelow === "md") ? props.actionsBarBelow : null;
|
|
1473
|
-
return
|
|
1635
|
+
return h5(
|
|
1474
1636
|
"div",
|
|
1475
1637
|
Object.assign(attrs2, {
|
|
1476
1638
|
ref,
|
|
@@ -1487,32 +1649,32 @@ var PageHeader = React5.forwardRef(function PageHeader2(props, ref) {
|
|
|
1487
1649
|
),
|
|
1488
1650
|
style: props.style
|
|
1489
1651
|
}),
|
|
1490
|
-
|
|
1652
|
+
h5(
|
|
1491
1653
|
"div",
|
|
1492
1654
|
{ className: "aura-page-header__text" },
|
|
1493
|
-
props.breadcrumb != null && props.breadcrumb !== false ?
|
|
1494
|
-
shown(eyebrow) ? plainEyebrow ?
|
|
1495
|
-
shown(props.titleAddon) ?
|
|
1655
|
+
props.breadcrumb != null && props.breadcrumb !== false ? h5("div", { className: "aura-page-header__breadcrumb" }, props.breadcrumb) : null,
|
|
1656
|
+
shown(eyebrow) ? plainEyebrow ? h5("p", { className: "aura-page-header__eyebrow" }, eyebrow) : h5("div", { className: "aura-page-header__eyebrow aura-page-header__eyebrow--rich" }, eyebrow) : null,
|
|
1657
|
+
shown(props.titleAddon) ? h5(
|
|
1496
1658
|
"div",
|
|
1497
1659
|
{ className: "aura-page-header__title-row" },
|
|
1498
1660
|
heading,
|
|
1499
|
-
|
|
1661
|
+
h5("div", { className: "aura-page-header__title-addon" }, props.titleAddon)
|
|
1500
1662
|
) : heading,
|
|
1501
|
-
shown(props.subtitle) ?
|
|
1502
|
-
props.meta != null && props.meta !== false ?
|
|
1663
|
+
shown(props.subtitle) ? h5("div", { className: "aura-page-header__subtitle" }, props.subtitle) : null,
|
|
1664
|
+
props.meta != null && props.meta !== false ? h5("div", { className: "aura-page-header__meta" }, props.meta) : null
|
|
1503
1665
|
),
|
|
1504
|
-
props.actions != null && props.actions !== false ?
|
|
1666
|
+
props.actions != null && props.actions !== false ? h5(
|
|
1505
1667
|
"div",
|
|
1506
1668
|
{ className: "aura-page-header__actions" },
|
|
1507
|
-
bar && props.actionsStatus != null && props.actionsStatus !== false ?
|
|
1669
|
+
bar && props.actionsStatus != null && props.actionsStatus !== false ? h5("div", { className: "aura-page-header__status", role: "status" }, props.actionsStatus) : null,
|
|
1508
1670
|
props.actions
|
|
1509
1671
|
) : null
|
|
1510
1672
|
);
|
|
1511
1673
|
});
|
|
1512
1674
|
|
|
1513
1675
|
// src/tiles.tsx
|
|
1514
|
-
var
|
|
1515
|
-
var
|
|
1676
|
+
var React7 = __toESM(require("react"), 1);
|
|
1677
|
+
var h6 = React7.createElement;
|
|
1516
1678
|
var STATUS_ICON = {
|
|
1517
1679
|
down: IconCircleAlert,
|
|
1518
1680
|
problem: IconTriangleAlert,
|
|
@@ -1545,7 +1707,7 @@ function attrs(props) {
|
|
|
1545
1707
|
});
|
|
1546
1708
|
return out;
|
|
1547
1709
|
}
|
|
1548
|
-
var comma =
|
|
1710
|
+
var comma = h6("span", { className: "aura-status-tile__sep" }, ",");
|
|
1549
1711
|
function statusTileElement(props, ref, Link, t, titleRef) {
|
|
1550
1712
|
const status = STATUS_ICON[props.status] ? props.status : "unknown";
|
|
1551
1713
|
if (status !== props.status)
|
|
@@ -1561,43 +1723,43 @@ function statusTileElement(props, ref, Link, t, titleRef) {
|
|
|
1561
1723
|
};
|
|
1562
1724
|
const hasValue = has(props.value), hasMeta = has(props.meta);
|
|
1563
1725
|
const Tag = props.href ? Link : "div";
|
|
1564
|
-
return
|
|
1726
|
+
return h6(
|
|
1565
1727
|
Tag,
|
|
1566
1728
|
Object.assign(attrs(props), {
|
|
1567
1729
|
ref,
|
|
1568
1730
|
href: props.href,
|
|
1569
1731
|
className: cx("aura-status-tile", "aura-status-tile--" + status, props.href && "is-interactive", props.className)
|
|
1570
1732
|
}),
|
|
1571
|
-
|
|
1733
|
+
h6(
|
|
1572
1734
|
"span",
|
|
1573
1735
|
{ className: "aura-status-tile__head" },
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
hasValue ?
|
|
1736
|
+
h6(Icon, { name: h6(STATUS_ICON[status]), size: 16, className: "aura-status-tile__icon" }),
|
|
1737
|
+
h6("span", { className: "aura-status-tile__title", ref: titleRef }, props.title, comma),
|
|
1738
|
+
h6("span", { className: "aura-sr-only" }, word + (hasValue || hasMeta || markers.length ? "," : "")),
|
|
1739
|
+
hasValue ? h6(
|
|
1578
1740
|
"span",
|
|
1579
1741
|
{ className: cx("aura-status-tile__value", "is-" + valueTone) },
|
|
1580
1742
|
props.value,
|
|
1581
1743
|
hasMeta || markers.length ? comma : null
|
|
1582
1744
|
) : null
|
|
1583
1745
|
),
|
|
1584
|
-
hasMeta || markers.length ?
|
|
1746
|
+
hasMeta || markers.length ? h6(
|
|
1585
1747
|
"span",
|
|
1586
1748
|
{ className: "aura-status-tile__foot" },
|
|
1587
|
-
hasMeta ?
|
|
1588
|
-
markers.length ?
|
|
1749
|
+
hasMeta ? h6("span", { className: "aura-status-tile__meta" }, props.meta, markers.length ? comma : null) : null,
|
|
1750
|
+
markers.length ? h6(
|
|
1589
1751
|
"span",
|
|
1590
1752
|
{ className: "aura-status-tile__markers" },
|
|
1591
1753
|
markers.map(function(m, i) {
|
|
1592
|
-
return
|
|
1754
|
+
return h6(
|
|
1593
1755
|
"span",
|
|
1594
1756
|
{
|
|
1595
1757
|
key: i,
|
|
1596
1758
|
className: cx("aura-status-tile__marker", "is-" + (m.tone || "neutral")),
|
|
1597
1759
|
"data-aura-tip": m.label
|
|
1598
1760
|
},
|
|
1599
|
-
|
|
1600
|
-
|
|
1761
|
+
h6(Icon, { name: m.icon, size: 14 }),
|
|
1762
|
+
h6("span", { className: "aura-sr-only" }, m.label + (i < markers.length - 1 ? "," : ""))
|
|
1601
1763
|
);
|
|
1602
1764
|
})
|
|
1603
1765
|
) : null
|
|
@@ -1607,13 +1769,13 @@ function statusTileElement(props, ref, Link, t, titleRef) {
|
|
|
1607
1769
|
function ServerStatusTile(props) {
|
|
1608
1770
|
return statusTileElement(props, void 0, props.linkComponent || "a", STRINGS.en);
|
|
1609
1771
|
}
|
|
1610
|
-
var TileGrid =
|
|
1772
|
+
var TileGrid = React7.forwardRef(function TileGrid2(props, ref) {
|
|
1611
1773
|
const style = Object.assign(
|
|
1612
1774
|
{},
|
|
1613
1775
|
respVars("aura-grid-cols", props.columns == null ? { base: 2, md: 3 } : props.columns),
|
|
1614
1776
|
props.style
|
|
1615
1777
|
);
|
|
1616
|
-
return
|
|
1778
|
+
return h6(
|
|
1617
1779
|
"ul",
|
|
1618
1780
|
Object.assign(attrs(props), {
|
|
1619
1781
|
ref,
|
|
@@ -1623,16 +1785,16 @@ var TileGrid = React6.forwardRef(function TileGrid2(props, ref) {
|
|
|
1623
1785
|
}),
|
|
1624
1786
|
/* toArray drops null and booleans and keys each element; a Fragment's children are items too. */
|
|
1625
1787
|
flat(props.children).map(function(c, i) {
|
|
1626
|
-
return
|
|
1788
|
+
return h6("li", { key: React7.isValidElement(c) && c.key != null ? c.key : i }, c);
|
|
1627
1789
|
})
|
|
1628
1790
|
);
|
|
1629
1791
|
});
|
|
1630
1792
|
function flat(children) {
|
|
1631
1793
|
const out = [];
|
|
1632
|
-
|
|
1633
|
-
if (
|
|
1794
|
+
React7.Children.toArray(children).forEach(function(c) {
|
|
1795
|
+
if (React7.isValidElement(c) && c.type === React7.Fragment)
|
|
1634
1796
|
flat(c.props.children).forEach(function(x) {
|
|
1635
|
-
out.push(
|
|
1797
|
+
out.push(React7.isValidElement(x) ? React7.cloneElement(x, { key: String(c.key) + "/" + String(x.key) }) : x);
|
|
1636
1798
|
});
|
|
1637
1799
|
else if (c !== "") out.push(c);
|
|
1638
1800
|
});
|
|
@@ -1646,7 +1808,7 @@ function r(n3) {
|
|
|
1646
1808
|
function num(v) {
|
|
1647
1809
|
return typeof v === "number" && isFinite(v) ? v : null;
|
|
1648
1810
|
}
|
|
1649
|
-
var Sparkline =
|
|
1811
|
+
var Sparkline = React7.forwardRef(function Sparkline2(props, ref) {
|
|
1650
1812
|
const wh = SIZES2[props.size || "sm"] || SIZES2.sm;
|
|
1651
1813
|
const W = wh[0], H = wh[1];
|
|
1652
1814
|
const data = (props.data || []).map(num);
|
|
@@ -1676,7 +1838,7 @@ var Sparkline = React6.forwardRef(function Sparkline2(props, ref) {
|
|
|
1676
1838
|
data.forEach(function(v, i) {
|
|
1677
1839
|
if (v == null) return;
|
|
1678
1840
|
const prev = i > 0 && data[i - 1] != null, next = i < n3 - 1 && data[i + 1] != null;
|
|
1679
|
-
if (!prev && !next) dots.push(
|
|
1841
|
+
if (!prev && !next) dots.push(h6("circle", { key: "d" + i, cx: r(x(i)), cy: r(y(v)), r: 1.5 }));
|
|
1680
1842
|
else d += (prev ? "L" : "M") + r(x(i)) + " " + r(y(v));
|
|
1681
1843
|
});
|
|
1682
1844
|
const mode = props.failures || "none";
|
|
@@ -1686,10 +1848,10 @@ var Sparkline = React6.forwardRef(function Sparkline2(props, ref) {
|
|
|
1686
1848
|
if (!props.failed[i]) return;
|
|
1687
1849
|
if (mode === "band") {
|
|
1688
1850
|
const w = Math.max(2, step || W), left = Math.max(0, x(i) - w / 2), right = Math.min(W, x(i) + w / 2);
|
|
1689
|
-
fails.push(
|
|
1851
|
+
fails.push(h6("rect", { key: "f" + i, x: r(left), y: 0, width: r(right - left), height: H }));
|
|
1690
1852
|
} else
|
|
1691
1853
|
fails.push(
|
|
1692
|
-
|
|
1854
|
+
h6("rect", {
|
|
1693
1855
|
key: "f" + i,
|
|
1694
1856
|
x: r(Math.max(0, Math.min(W - 1.5, x(i) - 0.75))),
|
|
1695
1857
|
y: H - 6,
|
|
@@ -1699,7 +1861,7 @@ var Sparkline = React6.forwardRef(function Sparkline2(props, ref) {
|
|
|
1699
1861
|
);
|
|
1700
1862
|
});
|
|
1701
1863
|
const named = !!props.label;
|
|
1702
|
-
return
|
|
1864
|
+
return h6(
|
|
1703
1865
|
"svg",
|
|
1704
1866
|
Object.assign(attrs(props), {
|
|
1705
1867
|
ref,
|
|
@@ -1712,9 +1874,9 @@ var Sparkline = React6.forwardRef(function Sparkline2(props, ref) {
|
|
|
1712
1874
|
"aria-hidden": named ? void 0 : true,
|
|
1713
1875
|
focusable: "false"
|
|
1714
1876
|
}),
|
|
1715
|
-
fails.length && mode === "band" ?
|
|
1716
|
-
d ?
|
|
1717
|
-
dots.length ?
|
|
1718
|
-
fails.length && mode === "ticks" ?
|
|
1877
|
+
fails.length && mode === "band" ? h6("g", { className: "aura-sparkline__band" }, fails) : null,
|
|
1878
|
+
d ? h6("path", { className: "aura-sparkline__line", d }) : null,
|
|
1879
|
+
dots.length ? h6("g", { className: "aura-sparkline__dots" }, dots) : null,
|
|
1880
|
+
fails.length && mode === "ticks" ? h6("g", { className: "aura-sparkline__ticks" }, fails) : null
|
|
1719
1881
|
);
|
|
1720
1882
|
});
|
package/dist/server/index.d.cts
CHANGED
|
@@ -117,6 +117,43 @@ export type DataAttributes = {
|
|
|
117
117
|
};
|
|
118
118
|
export type Breakpoint = "base" | "sm" | "md" | "lg" | "xl";
|
|
119
119
|
export type Responsive<T> = T | Partial<Record<Breakpoint, T>>;
|
|
120
|
+
/** 5.52 (Chamber-OS 164): what a loading column's placeholder cell looks like. */
|
|
121
|
+
export interface TableSkeletonHint {
|
|
122
|
+
/** Text lines: 2 for a value over its caption. Default 1. */
|
|
123
|
+
lines?: 1 | 2 | undefined;
|
|
124
|
+
/** `text` (default) bars, a status `pill`, or an `action` block as tall as a small Button (44px on a phone card or a
|
|
125
|
+
* touch screen with `touch`). */
|
|
126
|
+
kind?: "text" | "pill" | "action" | undefined;
|
|
127
|
+
/** An `action` block 44px below 640px and on a coarse pointer, as `touchHeight` buttons are. */
|
|
128
|
+
touch?: boolean | undefined;
|
|
129
|
+
}
|
|
130
|
+
/** 5.52 (Chamber-OS 164): one column of a `TableSkeleton` — the same facts a header cell gives a loading Table. */
|
|
131
|
+
export interface TableSkeletonColumn {
|
|
132
|
+
/** Header text (and the stacked card's field label). */
|
|
133
|
+
label?: string | undefined;
|
|
134
|
+
/** Column width: a share such as `'22%'`, or px. Columns without one split what is left evenly. */
|
|
135
|
+
width?: string | number | undefined;
|
|
136
|
+
align?: "start" | "center" | "end" | undefined;
|
|
137
|
+
numeric?: boolean | undefined;
|
|
138
|
+
/** Its place in a stacked row: `title`, `action` or `field` (default), as on a Td. */
|
|
139
|
+
card?: "title" | "action" | "field" | undefined;
|
|
140
|
+
skeleton?: TableSkeletonHint | undefined;
|
|
141
|
+
}
|
|
142
|
+
/** 5.52 (Chamber-OS 164): a loading Table for Server Components. Same frame, density, stacking and cards as Table. */
|
|
143
|
+
export interface TableSkeletonProps {
|
|
144
|
+
columns: TableSkeletonColumn[];
|
|
145
|
+
/** Placeholder rows (default 5). */
|
|
146
|
+
rows?: number | undefined;
|
|
147
|
+
density?: "comfortable" | "compact" | undefined;
|
|
148
|
+
stackBelow?: "sm" | "md" | undefined;
|
|
149
|
+
stackStyle?: "list" | "cards" | undefined;
|
|
150
|
+
bordered?: boolean | undefined;
|
|
151
|
+
bleed?: boolean | undefined;
|
|
152
|
+
bleedEnd?: boolean | undefined;
|
|
153
|
+
rowHeight?: "density" | undefined;
|
|
154
|
+
align?: "top" | "middle" | undefined;
|
|
155
|
+
className?: string | undefined;
|
|
156
|
+
}
|
|
120
157
|
export interface StatChange {
|
|
121
158
|
/** Shown as written, e.g. "+12%" or "−3". */
|
|
122
159
|
value: React$1.ReactNode;
|
|
@@ -487,6 +524,9 @@ export interface ContainerProps extends Pick<React$1.HTMLAttributes<HTMLElement>
|
|
|
487
524
|
}
|
|
488
525
|
/** Container — centres content up to aura-container-max (1280px) with responsive side padding. */
|
|
489
526
|
export declare const Container: React$1.ForwardRefExoticComponent<ContainerProps & React$1.RefAttributes<HTMLElement>>;
|
|
527
|
+
/** A loading Table (5.52, Chamber-OS 164), for Server Components — e.g. a route's loading.tsx. `aria-hidden` and
|
|
528
|
+
* `inert`: announce the load in the page's own status line. */
|
|
529
|
+
export declare function TableSkeleton(props: TableSkeletonProps): React$1.ReactElement;
|
|
490
530
|
/** PageHeader (5.32, DxT Monitor request 3): the top of a page — an eyebrow, the page's heading, a meta line and the
|
|
491
531
|
* page's actions. It has no outer padding: inside AppShell, the content padding is the page margin (16px at the sides
|
|
492
532
|
* and 24px top and bottom on phones, 24px from 640px, 32px from 1024px). Stateless, so it is also exported from
|
package/dist/server/index.d.ts
CHANGED
|
@@ -117,6 +117,43 @@ export type DataAttributes = {
|
|
|
117
117
|
};
|
|
118
118
|
export type Breakpoint = "base" | "sm" | "md" | "lg" | "xl";
|
|
119
119
|
export type Responsive<T> = T | Partial<Record<Breakpoint, T>>;
|
|
120
|
+
/** 5.52 (Chamber-OS 164): what a loading column's placeholder cell looks like. */
|
|
121
|
+
export interface TableSkeletonHint {
|
|
122
|
+
/** Text lines: 2 for a value over its caption. Default 1. */
|
|
123
|
+
lines?: 1 | 2 | undefined;
|
|
124
|
+
/** `text` (default) bars, a status `pill`, or an `action` block as tall as a small Button (44px on a phone card or a
|
|
125
|
+
* touch screen with `touch`). */
|
|
126
|
+
kind?: "text" | "pill" | "action" | undefined;
|
|
127
|
+
/** An `action` block 44px below 640px and on a coarse pointer, as `touchHeight` buttons are. */
|
|
128
|
+
touch?: boolean | undefined;
|
|
129
|
+
}
|
|
130
|
+
/** 5.52 (Chamber-OS 164): one column of a `TableSkeleton` — the same facts a header cell gives a loading Table. */
|
|
131
|
+
export interface TableSkeletonColumn {
|
|
132
|
+
/** Header text (and the stacked card's field label). */
|
|
133
|
+
label?: string | undefined;
|
|
134
|
+
/** Column width: a share such as `'22%'`, or px. Columns without one split what is left evenly. */
|
|
135
|
+
width?: string | number | undefined;
|
|
136
|
+
align?: "start" | "center" | "end" | undefined;
|
|
137
|
+
numeric?: boolean | undefined;
|
|
138
|
+
/** Its place in a stacked row: `title`, `action` or `field` (default), as on a Td. */
|
|
139
|
+
card?: "title" | "action" | "field" | undefined;
|
|
140
|
+
skeleton?: TableSkeletonHint | undefined;
|
|
141
|
+
}
|
|
142
|
+
/** 5.52 (Chamber-OS 164): a loading Table for Server Components. Same frame, density, stacking and cards as Table. */
|
|
143
|
+
export interface TableSkeletonProps {
|
|
144
|
+
columns: TableSkeletonColumn[];
|
|
145
|
+
/** Placeholder rows (default 5). */
|
|
146
|
+
rows?: number | undefined;
|
|
147
|
+
density?: "comfortable" | "compact" | undefined;
|
|
148
|
+
stackBelow?: "sm" | "md" | undefined;
|
|
149
|
+
stackStyle?: "list" | "cards" | undefined;
|
|
150
|
+
bordered?: boolean | undefined;
|
|
151
|
+
bleed?: boolean | undefined;
|
|
152
|
+
bleedEnd?: boolean | undefined;
|
|
153
|
+
rowHeight?: "density" | undefined;
|
|
154
|
+
align?: "top" | "middle" | undefined;
|
|
155
|
+
className?: string | undefined;
|
|
156
|
+
}
|
|
120
157
|
export interface StatChange {
|
|
121
158
|
/** Shown as written, e.g. "+12%" or "−3". */
|
|
122
159
|
value: React$1.ReactNode;
|
|
@@ -487,6 +524,9 @@ export interface ContainerProps extends Pick<React$1.HTMLAttributes<HTMLElement>
|
|
|
487
524
|
}
|
|
488
525
|
/** Container — centres content up to aura-container-max (1280px) with responsive side padding. */
|
|
489
526
|
export declare const Container: React$1.ForwardRefExoticComponent<ContainerProps & React$1.RefAttributes<HTMLElement>>;
|
|
527
|
+
/** A loading Table (5.52, Chamber-OS 164), for Server Components — e.g. a route's loading.tsx. `aria-hidden` and
|
|
528
|
+
* `inert`: announce the load in the page's own status line. */
|
|
529
|
+
export declare function TableSkeleton(props: TableSkeletonProps): React$1.ReactElement;
|
|
490
530
|
/** PageHeader (5.32, DxT Monitor request 3): the top of a page — an eyebrow, the page's heading, a meta line and the
|
|
491
531
|
* page's actions. It has no outer padding: inside AppShell, the content padding is the page margin (16px at the sides
|
|
492
532
|
* and 24px top and bottom on phones, 24px from 640px, 32px from 1024px). Stateless, so it is also exported from
|