@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.
@@ -1,4 +1,4 @@
1
- /* @ds-bundle: {"format":4,"namespace":"Aura","components":[{"name":"Icon"},{"name":"Button"},{"name":"IconButton"},{"name":"Menu"},{"name":"DropdownMenu"},{"name":"Checkbox"},{"name":"StatusPill"},{"name":"TextField"},{"name":"Textarea"},{"name":"Select"},{"name":"FilterSelect"},{"name":"FilterDateRange"},{"name":"RadioGroup"},{"name":"Switch"},{"name":"Combobox"},{"name":"DatePicker"},{"name":"DateRangePicker"},{"name":"Calendar"},{"name":"Alert"},{"name":"Toaster"},{"name":"PasswordField"},{"name":"FormErrorSummary"},{"name":"FilterBar"},{"name":"Command"},{"name":"Tooltip"},{"name":"Dialog"},{"name":"Drawer"},{"name":"DataTable"},{"name":"Card"},{"name":"Tabs"},{"name":"SideNav"},{"name":"Breadcrumb"},{"name":"Avatar"},{"name":"Stack"},{"name":"Grid"},{"name":"Container"},{"name":"PageHeader"},{"name":"StatusTile"},{"name":"TileGrid"},{"name":"Sparkline"},{"name":"AppShell"},{"name":"ActionBar"},{"name":"Separator"},{"name":"Table"},{"name":"Tr"},{"name":"Th"},{"name":"Td"},{"name":"BottomNav"},{"name":"Surface"},{"name":"Stat"},{"name":"TimePicker"},{"name":"FileUpload"},{"name":"ColorSchemeScript"},{"name":"ColorSchemeToggle"},{"name":"Badge"},{"name":"Tag"},{"name":"Progress"},{"name":"Skeleton"},{"name":"EmptyState"},{"name":"Pagination"},{"name":"Accordion"},{"name":"Popover"},{"name":"NumberField"},{"name":"Stepper"},{"name":"SegmentedControl"}]} */
1
+ /* @ds-bundle: {"format":4,"namespace":"Aura","components":[{"name":"Icon"},{"name":"Button"},{"name":"IconButton"},{"name":"Menu"},{"name":"DropdownMenu"},{"name":"Checkbox"},{"name":"StatusPill"},{"name":"TextField"},{"name":"Textarea"},{"name":"Select"},{"name":"FilterSelect"},{"name":"FilterDateRange"},{"name":"RadioGroup"},{"name":"Switch"},{"name":"Combobox"},{"name":"DatePicker"},{"name":"DateRangePicker"},{"name":"Calendar"},{"name":"Alert"},{"name":"Toaster"},{"name":"PasswordField"},{"name":"FormErrorSummary"},{"name":"FilterBar"},{"name":"Command"},{"name":"Tooltip"},{"name":"Dialog"},{"name":"Drawer"},{"name":"DataTable"},{"name":"Card"},{"name":"Tabs"},{"name":"SideNav"},{"name":"Breadcrumb"},{"name":"Avatar"},{"name":"Stack"},{"name":"Grid"},{"name":"Container"},{"name":"PageHeader"},{"name":"StatusTile"},{"name":"TileGrid"},{"name":"Sparkline"},{"name":"AppShell"},{"name":"ActionBar"},{"name":"Separator"},{"name":"Table"},{"name":"Tr"},{"name":"Th"},{"name":"Td"},{"name":"TableSkeleton"},{"name":"BottomNav"},{"name":"Surface"},{"name":"Stat"},{"name":"TimePicker"},{"name":"FileUpload"},{"name":"ColorSchemeScript"},{"name":"ColorSchemeToggle"},{"name":"Badge"},{"name":"Tag"},{"name":"Progress"},{"name":"Skeleton"},{"name":"EmptyState"},{"name":"Pagination"},{"name":"Accordion"},{"name":"Popover"},{"name":"NumberField"},{"name":"Stepper"},{"name":"SegmentedControl"}]} */
2
2
  window.Aura = (() => {
3
3
  var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
@@ -111,6 +111,7 @@ window.Aura = (() => {
111
111
  TFoot: () => TFoot,
112
112
  THead: () => THead,
113
113
  Table: () => Table,
114
+ TableSkeleton: () => TableSkeleton,
114
115
  Tabs: () => Tabs,
115
116
  Tag: () => Tag,
116
117
  Td: () => Td,
@@ -5968,7 +5969,7 @@ window.Aura = (() => {
5968
5969
  );
5969
5970
  for (let i = 0; i < els.length; i++) if (els[i].tabIndex !== -1) els[i].tabIndex = -1;
5970
5971
  });
5971
- function widthOf(c) {
5972
+ function widthOf2(c) {
5972
5973
  return widths[c.key] != null ? widths[c.key] : c.width;
5973
5974
  }
5974
5975
  const order = orderState[0].filter(function(k) {
@@ -6042,11 +6043,11 @@ window.Aura = (() => {
6042
6043
  return p === "field" || p === "wide";
6043
6044
  });
6044
6045
  const hasFlex = vis.some(function(c) {
6045
- return widthOf(c) == null;
6046
+ return widthOf2(c) == null;
6046
6047
  });
6047
6048
  let fixedSum = 0, hideTerms = "";
6048
6049
  vis.forEach(function(c) {
6049
- const w = widthOf(c) != null ? widthOf(c) : c.minWidth || FLEX_MIN, lv = hideLevel(c);
6050
+ const w = widthOf2(c) != null ? widthOf2(c) : c.minWidth || FLEX_MIN, lv = hideLevel(c);
6050
6051
  if (lv && boxWidth[0] == null) hideTerms += " + " + w + "px * var(--aura-h" + lv + "-on, 1)";
6051
6052
  else fixedSum += w;
6052
6053
  });
@@ -6055,7 +6056,7 @@ window.Aura = (() => {
6055
6056
  if (isPinned(c)) {
6056
6057
  pinOffsets[c.key] = acc;
6057
6058
  const lv = hideLevel(c);
6058
- acc += " + " + widthOf(c) + "px" + (lv && boxWidth[0] == null ? " * var(--aura-h" + lv + "-on, 1)" : "");
6059
+ acc += " + " + widthOf2(c) + "px" + (lv && boxWidth[0] == null ? " * var(--aura-h" + lv + "-on, 1)" : "");
6059
6060
  }
6060
6061
  });
6061
6062
  if (vis.filter(function(c) {
@@ -6069,7 +6070,7 @@ window.Aura = (() => {
6069
6070
  const gutterR = controls ? "var(--aura-space-12)" : "var(--aura-space-6)";
6070
6071
  const rowMinWidth = "calc(" + fixedSum + "px" + hideTerms + " + var(--aura-space-6) + " + gutterR + selW + ")";
6071
6072
  function cellStyle(c, i) {
6072
- const w = widthOf(c), s = {};
6073
+ const w = widthOf2(c), s = {};
6073
6074
  if (w == null) {
6074
6075
  const g = typeof c.grow === "number" && c.grow >= 0 && isFinite(c.grow) ? c.grow : 1;
6075
6076
  s["--aura-cell-flex"] = g + " 1 0";
@@ -6384,7 +6385,7 @@ window.Aura = (() => {
6384
6385
  e.preventDefault();
6385
6386
  e.stopPropagation();
6386
6387
  resizing.current = true;
6387
- let x0 = e.clientX, w0 = widthOf(c), last = w0;
6388
+ let x0 = e.clientX, w0 = widthOf2(c), last = w0;
6388
6389
  const el = e.currentTarget;
6389
6390
  el.classList.add("is-dragging");
6390
6391
  document.body.style.cursor = "col-resize";
@@ -6568,7 +6569,7 @@ window.Aura = (() => {
6568
6569
  const row = r2 > 0 && r2 <= nRows ? pageRows[r2 - 1] : null, isTotal = hasTotal && r2 === T;
6569
6570
  let handled = true;
6570
6571
  if (r2 === 0 && col && e.altKey && (k === "ArrowLeft" || k === "ArrowRight") && canResize(col))
6571
- setW(col, widthOf(col) + (k === "ArrowLeft" ? -1 : 1) * (e.shiftKey ? 48 : 16), true);
6572
+ setW(col, widthOf2(col) + (k === "ArrowLeft" ? -1 : 1) * (e.shiftKey ? 48 : 16), true);
6572
6573
  else if (r2 === 0 && col && e.ctrlKey && e.shiftKey && (k === "ArrowLeft" || k === "ArrowRight") && reorderable) {
6573
6574
  if (moveCol(col.key, k === "ArrowLeft" ? -1 : 1)) pending.current = { r: 0, key: col.key, c };
6574
6575
  } else if (r2 === 0 && col && (e.altKey && k === "ArrowDown" || k === "ContextMenu" || e.shiftKey && k === "F10") && controls)
@@ -8386,9 +8387,9 @@ window.Aura = (() => {
8386
8387
  const root = rootRef.current, bar = barRef.current;
8387
8388
  if (!root || !bar) return;
8388
8389
  function sync() {
8389
- const h11 = bar.getBoundingClientRect().height;
8390
- root.style.setProperty("--aura-shell-bar-height", awayRef.current || !pinned(bar) ? "0px" : h11 + "px");
8391
- if (h11 > 0) barH[1](Math.round(h11));
8390
+ const h12 = bar.getBoundingClientRect().height;
8391
+ root.style.setProperty("--aura-shell-bar-height", awayRef.current || !pinned(bar) ? "0px" : h12 + "px");
8392
+ if (h12 > 0) barH[1](Math.round(h12));
8392
8393
  }
8393
8394
  sync();
8394
8395
  const ro = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(sync);
@@ -8555,13 +8556,176 @@ window.Aura = (() => {
8555
8556
  });
8556
8557
 
8557
8558
  // src/Table.tsx
8559
+ var React52 = __toESM(require_react(), 1);
8560
+
8561
+ // src/TableSkeleton.tsx
8558
8562
  var React51 = __toESM(require_react(), 1);
8559
- var StackLabels = React51.createContext(null);
8560
- var ColumnIndex = React51.createContext(-1);
8563
+ var h10 = React51.createElement;
8564
+ function inertProps() {
8565
+ return { inert: parseInt(React51.version, 10) >= 19 ? true : "", "aria-hidden": true };
8566
+ }
8567
+ function widthOf(w) {
8568
+ return w == null || w === "" ? void 0 : typeof w === "number" ? w + "px" : w;
8569
+ }
8570
+ function skeletonColgroup(cols) {
8571
+ return h10(
8572
+ "colgroup",
8573
+ null,
8574
+ cols.map(function(c, i) {
8575
+ const w = widthOf(c.width);
8576
+ return h10("col", { key: i, style: w ? { width: w } : void 0 });
8577
+ })
8578
+ );
8579
+ }
8580
+ function placeholder(c) {
8581
+ const s = c.skeleton || {};
8582
+ if (s.kind === "pill") return h10("span", { className: "aura-skel aura-skel--pill" });
8583
+ if (s.kind === "action") return h10("span", { className: cx("aura-skel aura-skel--action", s.touch && "is-touch") });
8584
+ if (s.lines === 2)
8585
+ return h10(
8586
+ "span",
8587
+ { className: "aura-skel-lines" },
8588
+ h10("span", { className: "aura-skel aura-skel--text", style: { width: "100%" } }),
8589
+ h10("span", { className: "aura-skel aura-skel--text", style: { width: "60%" } })
8590
+ );
8591
+ return h10("span", { className: "aura-skel aura-skel--text", style: { width: "80%" } });
8592
+ }
8593
+ function cellCls(base, c) {
8594
+ const align = c.align || (c.numeric ? "end" : void 0);
8595
+ return cx(base, align === "end" && "is-end", align === "center" && "is-center", c.numeric && "is-numeric");
8596
+ }
8597
+ function skeletonBody(cols, n3, stacked) {
8598
+ const rows = [];
8599
+ for (let r2 = 0; r2 < n3; r2++)
8600
+ rows.push(
8601
+ h10(
8602
+ "tr",
8603
+ { key: r2, className: "aura-tbl__row aura-tbl__row--skeleton", role: stacked ? "row" : void 0 },
8604
+ cols.map(function(c, i) {
8605
+ const slot = stacked && (c.card === "title" || c.card === "action") ? c.card : void 0;
8606
+ return h10(
8607
+ "td",
8608
+ {
8609
+ key: i,
8610
+ className: cellCls("aura-tbl__td", c),
8611
+ role: stacked ? "cell" : void 0,
8612
+ "data-label": stacked && !slot && c.label ? c.label : void 0,
8613
+ "data-card": slot
8614
+ },
8615
+ placeholder(c)
8616
+ );
8617
+ })
8618
+ )
8619
+ );
8620
+ return h10(
8621
+ "tbody",
8622
+ { key: "aura-skeleton", className: "aura-tbl__body", role: stacked ? "rowgroup" : void 0 },
8623
+ rows
8624
+ );
8625
+ }
8626
+ function tableWrapClass(p) {
8627
+ return cx(
8628
+ "aura-tbl-wrap",
8629
+ p.stackBelow && "is-stackable",
8630
+ p.bordered === false && "is-flush",
8631
+ p.bleed && "aura-bleed-frame",
8632
+ p.bleed && !p.cards && "aura-bleed",
8633
+ p.bleed && p.bleedEnd && !p.cards && "aura-bleed-end"
8634
+ );
8635
+ }
8636
+ function tableClass(p) {
8637
+ return cx(
8638
+ "aura-tbl",
8639
+ p.stackBelow && "aura-tbl--stack-" + p.stackBelow,
8640
+ (p.align === "middle" || p.rowHeight === "density" && p.align !== "top") && "aura-tbl--middle",
8641
+ p.rowHeight === "density" && "aura-tbl--row-density",
8642
+ p.cards && "aura-tbl--cards",
8643
+ p.className
8644
+ );
8645
+ }
8646
+ function cardsFrame(el, p) {
8647
+ return p.cards ? h10(
8648
+ "div",
8649
+ {
8650
+ className: cx(
8651
+ "aura-tbl-cards aura-tbl-cards--" + p.stackBelow,
8652
+ p.bleed && "aura-bleed",
8653
+ p.bleed && p.bleedEnd && "aura-bleed-end"
8654
+ )
8655
+ },
8656
+ el
8657
+ ) : el;
8658
+ }
8659
+ function TableSkeleton(props) {
8660
+ const cols = props.columns || [];
8661
+ const n3 = props.rows != null ? Math.max(0, props.rows) : 5;
8662
+ const stacked = !!props.stackBelow;
8663
+ const cards = stacked && props.stackStyle === "cards";
8664
+ const head = h10(
8665
+ "thead",
8666
+ { className: "aura-tbl__head", role: stacked ? "rowgroup" : void 0 },
8667
+ h10(
8668
+ "tr",
8669
+ { className: "aura-tbl__row", role: stacked ? "row" : void 0 },
8670
+ cols.map(function(c, i) {
8671
+ return h10(
8672
+ "th",
8673
+ { key: i, scope: "col", className: cellCls("aura-tbl__th", c), role: stacked ? "columnheader" : void 0 },
8674
+ c.label
8675
+ );
8676
+ })
8677
+ )
8678
+ );
8679
+ const table = h10(
8680
+ "div",
8681
+ Object.assign(
8682
+ {
8683
+ className: tableWrapClass({
8684
+ stackBelow: props.stackBelow,
8685
+ bordered: props.bordered,
8686
+ bleed: props.bleed,
8687
+ bleedEnd: props.bleedEnd,
8688
+ cards
8689
+ }),
8690
+ "data-density": props.density || "comfortable"
8691
+ },
8692
+ inertProps()
8693
+ ),
8694
+ h10(
8695
+ "table",
8696
+ {
8697
+ className: cx(
8698
+ tableClass({
8699
+ stackBelow: props.stackBelow,
8700
+ align: props.align,
8701
+ rowHeight: props.rowHeight,
8702
+ cards,
8703
+ className: props.className
8704
+ }),
8705
+ "aura-tbl--skeleton"
8706
+ ),
8707
+ role: stacked ? "table" : void 0
8708
+ },
8709
+ skeletonColgroup(cols),
8710
+ head,
8711
+ skeletonBody(cols, n3, stacked)
8712
+ )
8713
+ );
8714
+ return cardsFrame(table, {
8715
+ stackBelow: props.stackBelow,
8716
+ bleed: props.bleed,
8717
+ bleedEnd: props.bleedEnd,
8718
+ cards
8719
+ });
8720
+ }
8721
+
8722
+ // src/Table.tsx
8723
+ var StackLabels = React52.createContext(null);
8724
+ var ColumnIndex = React52.createContext(-1);
8561
8725
  function flat2(children) {
8562
8726
  const out = [];
8563
- React51.Children.toArray(children).forEach(function(c) {
8564
- if (React51.isValidElement(c) && c.type === React51.Fragment)
8727
+ React52.Children.toArray(children).forEach(function(c) {
8728
+ if (React52.isValidElement(c) && c.type === React52.Fragment)
8565
8729
  out.push.apply(out, flat2(c.props.children));
8566
8730
  else out.push(c);
8567
8731
  });
@@ -8575,7 +8739,7 @@ window.Aura = (() => {
8575
8739
  });
8576
8740
  return parts.length ? parts.join("") : void 0;
8577
8741
  }
8578
- if (React51.isValidElement(node)) {
8742
+ if (React52.isValidElement(node)) {
8579
8743
  const p = node.props;
8580
8744
  if (p["aria-hidden"] === true || p["aria-hidden"] === "true") return void 0;
8581
8745
  return text(p.children);
@@ -8585,13 +8749,13 @@ window.Aura = (() => {
8585
8749
  function headerLabels(children) {
8586
8750
  let out = [];
8587
8751
  flat2(children).forEach(function(c) {
8588
- if (out.length || !React51.isValidElement(c) || c.type !== THead) return;
8752
+ if (out.length || !React52.isValidElement(c) || c.type !== THead) return;
8589
8753
  const row = flat2(c.props.children).find(function(r2) {
8590
- return React51.isValidElement(r2);
8754
+ return React52.isValidElement(r2);
8591
8755
  });
8592
8756
  if (!row) return;
8593
8757
  flat2(row.props.children).forEach(function(cell) {
8594
- if (!React51.isValidElement(cell)) return;
8758
+ if (!React52.isValidElement(cell)) return;
8595
8759
  const p = cell.props;
8596
8760
  const t = text(p.children);
8597
8761
  const label = p.label != null ? p.label : t != null ? t.replace(/\s+/g, " ").trim() || void 0 : void 0;
@@ -8601,7 +8765,34 @@ window.Aura = (() => {
8601
8765
  });
8602
8766
  return out;
8603
8767
  }
8604
- var Table = React51.forwardRef(function Table2(props, ref) {
8768
+ function headerColumns(children) {
8769
+ const out = [];
8770
+ flat2(children).forEach(function(c) {
8771
+ if (out.length || !React52.isValidElement(c) || c.type !== THead) return;
8772
+ const row = flat2(c.props.children).find(function(r2) {
8773
+ return React52.isValidElement(r2);
8774
+ });
8775
+ if (!row) return;
8776
+ flat2(row.props.children).forEach(function(cell) {
8777
+ if (!React52.isValidElement(cell)) return;
8778
+ const p = cell.props;
8779
+ const t = text(p.children);
8780
+ const style = p.style;
8781
+ const span = Math.max(1, Number(p.colSpan) || 1);
8782
+ for (let i = 0; i < span; i++)
8783
+ out.push({
8784
+ label: p.label != null ? p.label : t != null ? t.replace(/\s+/g, " ").trim() || void 0 : void 0,
8785
+ width: span > 1 ? void 0 : p.skeletonWidth != null ? p.skeletonWidth : p.width != null ? p.width : style && style.width,
8786
+ align: p.align,
8787
+ numeric: p.numeric,
8788
+ card: p.card,
8789
+ skeleton: p.skeleton
8790
+ });
8791
+ });
8792
+ });
8793
+ return out;
8794
+ }
8795
+ var Table = React52.forwardRef(function Table2(props, ref) {
8605
8796
  const {
8606
8797
  caption,
8607
8798
  captionHidden,
@@ -8615,10 +8806,24 @@ window.Aura = (() => {
8615
8806
  maxHeight,
8616
8807
  stackStyle,
8617
8808
  rowHeight,
8809
+ loading,
8810
+ loadingRows,
8618
8811
  className,
8619
8812
  children,
8620
8813
  ...rest
8621
8814
  } = props;
8815
+ const skeletonCols = loading ? headerColumns(children) : null;
8816
+ if (skeletonCols && !skeletonCols.length)
8817
+ devWarnOnce(
8818
+ "tbl-loading-cols",
8819
+ "Table loading: no THead > Tr > Th found among its children, so there are no columns to draw. Put the THead directly inside Table (a function call, not your own component)."
8820
+ );
8821
+ const shownChildren = skeletonCols ? [
8822
+ flat2(children).filter(function(c) {
8823
+ return React52.isValidElement(c) && c.type === THead;
8824
+ }),
8825
+ skeletonBody(skeletonCols, loadingRows != null ? Math.max(0, loadingRows) : 5, !!stackBelow)
8826
+ ] : children;
8622
8827
  const cards = !!stackBelow && stackStyle === "cards";
8623
8828
  if (maxHeight != null && caption == null && !rest["aria-label"] && !rest["aria-labelledby"])
8624
8829
  devWarnOnce(
@@ -8631,12 +8836,12 @@ window.Aura = (() => {
8631
8836
  "tbl-stack-labels",
8632
8837
  "Table stackBelow: no THead > Tr > Th found among its children, so cells have no labels. Pass `label` on each Td."
8633
8838
  );
8634
- const outer = React51.useContext(StackLabels);
8839
+ const outer = React52.useContext(StackLabels);
8635
8840
  const pageDensity = useDensity();
8636
8841
  const capId = uid();
8637
- const wrap = React51.useRef(null);
8638
- const sc = React51.useState(false), scrolls = sc[0];
8639
- const wide = React51.useState(false);
8842
+ const wrap = React52.useRef(null);
8843
+ const sc = React52.useState(false), scrolls = sc[0];
8844
+ const wide = React52.useState(false);
8640
8845
  useIsoLayoutEffect(function() {
8641
8846
  const el = wrap.current;
8642
8847
  if (!el || typeof ResizeObserver === "undefined") return;
@@ -8653,7 +8858,7 @@ window.Aura = (() => {
8653
8858
  ro.disconnect();
8654
8859
  };
8655
8860
  }, []);
8656
- const table = /* @__PURE__ */ React51.createElement(
8861
+ const table = /* @__PURE__ */ React52.createElement(
8657
8862
  "div",
8658
8863
  {
8659
8864
  ref: wrap,
@@ -8672,12 +8877,13 @@ window.Aura = (() => {
8672
8877
  ),
8673
8878
  style: maxHeight != null ? { maxHeight: typeof maxHeight === "number" ? maxHeight + "px" : maxHeight } : void 0,
8674
8879
  "data-density": density || pageDensity,
8675
- tabIndex: scrolls ? 0 : void 0,
8676
- role: scrolls && (caption != null || rest["aria-label"] || rest["aria-labelledby"]) ? "region" : void 0,
8677
- "aria-labelledby": scrolls ? caption != null ? capId : rest["aria-labelledby"] : void 0,
8678
- "aria-label": scrolls && caption == null ? rest["aria-label"] : void 0
8880
+ ...loading ? inertProps() : null,
8881
+ tabIndex: scrolls && !loading ? 0 : void 0,
8882
+ role: scrolls && !loading && (caption != null || rest["aria-label"] || rest["aria-labelledby"]) ? "region" : void 0,
8883
+ "aria-labelledby": scrolls && !loading ? caption != null ? capId : rest["aria-labelledby"] : void 0,
8884
+ "aria-label": scrolls && !loading && caption == null ? rest["aria-label"] : void 0
8679
8885
  },
8680
- /* @__PURE__ */ React51.createElement(
8886
+ /* @__PURE__ */ React52.createElement(
8681
8887
  "table",
8682
8888
  {
8683
8889
  ref,
@@ -8688,16 +8894,18 @@ window.Aura = (() => {
8688
8894
  (align === "middle" || rowHeight === "density" && align !== "top") && "aura-tbl--middle",
8689
8895
  rowHeight === "density" && "aura-tbl--row-density",
8690
8896
  cards && "aura-tbl--cards",
8897
+ loading && "aura-tbl--skeleton",
8691
8898
  className
8692
8899
  ),
8693
8900
  role: stackBelow ? "table" : void 0,
8694
8901
  ...rest
8695
8902
  },
8696
- caption != null ? /* @__PURE__ */ React51.createElement("caption", { id: capId, className: cx("aura-tbl__caption", captionHidden && "aura-sr-only") }, caption) : null,
8697
- labels ? /* @__PURE__ */ React51.createElement(StackLabels.Provider, { value: labels }, children) : outer ? /* @__PURE__ */ React51.createElement(StackLabels.Provider, { value: null }, children) : children
8903
+ caption != null ? /* @__PURE__ */ React52.createElement("caption", { id: capId, className: cx("aura-tbl__caption", captionHidden && "aura-sr-only") }, caption) : null,
8904
+ skeletonCols ? skeletonColgroup(skeletonCols) : null,
8905
+ labels ? /* @__PURE__ */ React52.createElement(StackLabels.Provider, { value: labels }, shownChildren) : outer ? /* @__PURE__ */ React52.createElement(StackLabels.Provider, { value: null }, shownChildren) : shownChildren
8698
8906
  )
8699
8907
  );
8700
- return cards ? /* @__PURE__ */ React51.createElement(
8908
+ return cards ? /* @__PURE__ */ React52.createElement(
8701
8909
  "div",
8702
8910
  {
8703
8911
  className: cx(
@@ -8710,10 +8918,10 @@ window.Aura = (() => {
8710
8918
  ) : table;
8711
8919
  });
8712
8920
  function section(tag, cls) {
8713
- const C = React51.forwardRef(function TableSection(props, ref) {
8921
+ const C = React52.forwardRef(function TableSection(props, ref) {
8714
8922
  const { className, ...rest } = props;
8715
- const stacked = React51.useContext(StackLabels) != null;
8716
- return React51.createElement(
8923
+ const stacked = React52.useContext(StackLabels) != null;
8924
+ return React52.createElement(
8717
8925
  tag,
8718
8926
  Object.assign({ ref, className: cx(cls, className), role: stacked ? "rowgroup" : void 0 }, rest)
8719
8927
  );
@@ -8726,14 +8934,14 @@ window.Aura = (() => {
8726
8934
  TBody.displayName = "TBody";
8727
8935
  var TFoot = section("tfoot", "aura-tbl__foot");
8728
8936
  TFoot.displayName = "TFoot";
8729
- var Tr = React51.forwardRef(function Tr2(props, ref) {
8937
+ var Tr = React52.forwardRef(function Tr2(props, ref) {
8730
8938
  const { className, children, ...rest } = props;
8731
- const stacked = React51.useContext(StackLabels) != null;
8939
+ const stacked = React52.useContext(StackLabels) != null;
8732
8940
  let col = 0;
8733
- return /* @__PURE__ */ React51.createElement("tr", { ref, className: cx("aura-tbl__row", className), role: stacked ? "row" : void 0, ...rest }, stacked ? flat2(children).map(function(c) {
8941
+ return /* @__PURE__ */ React52.createElement("tr", { ref, className: cx("aura-tbl__row", className), role: stacked ? "row" : void 0, ...rest }, stacked ? flat2(children).map(function(c) {
8734
8942
  const at = col;
8735
- if (React51.isValidElement(c)) col += Math.max(1, Number(c.props.colSpan) || 1);
8736
- return /* @__PURE__ */ React51.createElement(ColumnIndex.Provider, { key: React51.isValidElement(c) && c.key != null ? c.key : at, value: at }, c);
8943
+ if (React52.isValidElement(c)) col += Math.max(1, Number(c.props.colSpan) || 1);
8944
+ return /* @__PURE__ */ React52.createElement(ColumnIndex.Provider, { key: React52.isValidElement(c) && c.key != null ? c.key : at, value: at }, c);
8737
8945
  }) : children);
8738
8946
  });
8739
8947
  function cellClass(base, p) {
@@ -8747,10 +8955,10 @@ window.Aura = (() => {
8747
8955
  p.className
8748
8956
  );
8749
8957
  }
8750
- var Th = React51.forwardRef(function Th2(props, ref) {
8751
- const { align, numeric, mono, className, scope, label, card, ...rest } = props;
8752
- const stacked = React51.useContext(StackLabels) != null;
8753
- return /* @__PURE__ */ React51.createElement(
8958
+ var Th = React52.forwardRef(function Th2(props, ref) {
8959
+ const { align, numeric, mono, className, scope, label, card, skeleton, skeletonWidth, ...rest } = props;
8960
+ const stacked = React52.useContext(StackLabels) != null;
8961
+ return /* @__PURE__ */ React52.createElement(
8754
8962
  "th",
8755
8963
  {
8756
8964
  ref,
@@ -8762,12 +8970,12 @@ window.Aura = (() => {
8762
8970
  }
8763
8971
  );
8764
8972
  });
8765
- var Td = React51.forwardRef(function Td2(props, ref) {
8766
- const { align, numeric, mono, className, scope, label, card, ...rest } = props;
8767
- const labels = React51.useContext(StackLabels), col = React51.useContext(ColumnIndex);
8973
+ var Td = React52.forwardRef(function Td2(props, ref) {
8974
+ const { align, numeric, mono, className, scope, label, card, skeleton, skeletonWidth, ...rest } = props;
8975
+ const labels = React52.useContext(StackLabels), col = React52.useContext(ColumnIndex);
8768
8976
  const slot = labels && (card === "title" || card === "action") ? card : void 0;
8769
8977
  const shown = labels && !slot ? label != null ? label : col >= 0 ? labels[col] : void 0 : void 0;
8770
- return /* @__PURE__ */ React51.createElement(
8978
+ return /* @__PURE__ */ React52.createElement(
8771
8979
  "td",
8772
8980
  {
8773
8981
  ref,
@@ -8781,8 +8989,8 @@ window.Aura = (() => {
8781
8989
  });
8782
8990
 
8783
8991
  // src/BottomNav.tsx
8784
- var React52 = __toESM(require_react(), 1);
8785
- var BottomNav = React52.forwardRef(function BottomNav2(props, ref) {
8992
+ var React53 = __toESM(require_react(), 1);
8993
+ var BottomNav = React53.forwardRef(function BottomNav2(props, ref) {
8786
8994
  const t = useStrings();
8787
8995
  const Link = useLinkComponent(props.linkComponent);
8788
8996
  const st = useMaybeControlled(
@@ -8792,7 +9000,7 @@ window.Aura = (() => {
8792
9000
  );
8793
9001
  const active = st[0];
8794
9002
  const hide2 = props.hideFrom === false ? "always" : "below-" + (props.hideFrom || "lg");
8795
- const own = React52.useRef(null);
9003
+ const own = React53.useRef(null);
8796
9004
  const hf = props.hideFrom === false ? null : props.hideFrom || "lg";
8797
9005
  const away = useHideOnScroll(
8798
9006
  !!props.hideOnScroll,
@@ -8800,7 +9008,7 @@ window.Aura = (() => {
8800
9008
  hf ? "(max-width: " + (breakpoints[hf] - 0.02) + "px)" : "all",
8801
9009
  64
8802
9010
  );
8803
- const setRef = React52.useCallback(
9011
+ const setRef = React53.useCallback(
8804
9012
  function(el) {
8805
9013
  own.current = el;
8806
9014
  if (typeof ref === "function") ref(el);
@@ -8808,7 +9016,7 @@ window.Aura = (() => {
8808
9016
  },
8809
9017
  [ref]
8810
9018
  );
8811
- return /* @__PURE__ */ React52.createElement(React52.Fragment, null, /* @__PURE__ */ React52.createElement("div", { className: cx("aura-bottomnav-spacer", "aura-bottomnav--" + hide2), "aria-hidden": "true" }), /* @__PURE__ */ React52.createElement(
9019
+ return /* @__PURE__ */ React53.createElement(React53.Fragment, null, /* @__PURE__ */ React53.createElement("div", { className: cx("aura-bottomnav-spacer", "aura-bottomnav--" + hide2), "aria-hidden": "true" }), /* @__PURE__ */ React53.createElement(
8812
9020
  "nav",
8813
9021
  {
8814
9022
  ref: setRef,
@@ -8821,7 +9029,7 @@ window.Aura = (() => {
8821
9029
  ),
8822
9030
  "aria-label": props.label || t.mainNav
8823
9031
  },
8824
- /* @__PURE__ */ React52.createElement("ul", { className: "aura-bottomnav__list" }, props.items.map(function(it) {
9032
+ /* @__PURE__ */ React53.createElement("ul", { className: "aura-bottomnav__list" }, props.items.map(function(it) {
8825
9033
  if (it.ariaLabel && typeof it.label === "string" && it.ariaLabel.toLowerCase().indexOf(it.label.toLowerCase()) < 0)
8826
9034
  devWarnOnce(
8827
9035
  "bottomnav-label-" + it.id,
@@ -8842,23 +9050,23 @@ window.Aura = (() => {
8842
9050
  }
8843
9051
  };
8844
9052
  const inner = [
8845
- /* @__PURE__ */ React52.createElement("span", { key: "i", className: "aura-bottomnav__icon" }, /* @__PURE__ */ React52.createElement(Icon, { name: it.icon, size: "md" }), count ? /* @__PURE__ */ React52.createElement("span", { className: "aura-bottomnav__count", "aria-hidden": "true" }, count) : it.badge ? /* @__PURE__ */ React52.createElement("span", { className: "aura-bottomnav__dot", "aria-hidden": "true" }) : null),
8846
- it.ariaLabel ? /* @__PURE__ */ React52.createElement("span", { key: "n", className: "aura-sr-only" }, it.ariaLabel + suffix) : null,
8847
- /* @__PURE__ */ React52.createElement("span", { key: "l", className: "aura-bottomnav__label", "aria-hidden": it.ariaLabel ? true : void 0 }, it.label),
8848
- suffix && !it.ariaLabel ? /* @__PURE__ */ React52.createElement("span", { key: "s", className: "aura-sr-only" }, suffix) : null
9053
+ /* @__PURE__ */ React53.createElement("span", { key: "i", className: "aura-bottomnav__icon" }, /* @__PURE__ */ React53.createElement(Icon, { name: it.icon, size: "md" }), count ? /* @__PURE__ */ React53.createElement("span", { className: "aura-bottomnav__count", "aria-hidden": "true" }, count) : it.badge ? /* @__PURE__ */ React53.createElement("span", { className: "aura-bottomnav__dot", "aria-hidden": "true" }) : null),
9054
+ it.ariaLabel ? /* @__PURE__ */ React53.createElement("span", { key: "n", className: "aura-sr-only" }, it.ariaLabel + suffix) : null,
9055
+ /* @__PURE__ */ React53.createElement("span", { key: "l", className: "aura-bottomnav__label", "aria-hidden": it.ariaLabel ? true : void 0 }, it.label),
9056
+ suffix && !it.ariaLabel ? /* @__PURE__ */ React53.createElement("span", { key: "s", className: "aura-sr-only" }, suffix) : null
8849
9057
  ];
8850
- return /* @__PURE__ */ React52.createElement("li", { key: it.id, className: "aura-bottomnav__cell" }, it.href ? /* @__PURE__ */ React52.createElement(Link, { href: it.href, ...common }, inner) : /* @__PURE__ */ React52.createElement("button", { type: "button", ...common }, inner));
9058
+ return /* @__PURE__ */ React53.createElement("li", { key: it.id, className: "aura-bottomnav__cell" }, it.href ? /* @__PURE__ */ React53.createElement(Link, { href: it.href, ...common }, inner) : /* @__PURE__ */ React53.createElement("button", { type: "button", ...common }, inner));
8851
9059
  }))
8852
9060
  ));
8853
9061
  });
8854
9062
 
8855
9063
  // src/Surface.tsx
8856
- var React53 = __toESM(require_react(), 1);
8857
- var h10 = React53.createElement;
8858
- var Surface = React53.forwardRef(function Surface2(props, ref) {
9064
+ var React54 = __toESM(require_react(), 1);
9065
+ var h11 = React54.createElement;
9066
+ var Surface = React54.forwardRef(function Surface2(props, ref) {
8859
9067
  const t = props.texture || "mesh";
8860
9068
  const rest = omit(props, ["texture", "className", "children", "as"]);
8861
- return h10(
9069
+ return h11(
8862
9070
  props.as || "div",
8863
9071
  Object.assign({}, rest, {
8864
9072
  ref,
@@ -8876,14 +9084,14 @@ window.Aura = (() => {
8876
9084
  });
8877
9085
 
8878
9086
  // src/Stat.tsx
8879
- var React54 = __toESM(require_react(), 1);
8880
- var Stat = React54.forwardRef(function Stat2(props, ref) {
9087
+ var React55 = __toESM(require_react(), 1);
9088
+ var Stat = React55.forwardRef(function Stat2(props, ref) {
8881
9089
  const Link = useLinkComponent(props.linkComponent);
8882
9090
  return statElement(props, ref, Link);
8883
9091
  });
8884
9092
 
8885
9093
  // src/TimePicker.tsx
8886
- var React55 = __toESM(require_react(), 1);
9094
+ var React56 = __toESM(require_react(), 1);
8887
9095
  var import_react_dom12 = __toESM(require_react_dom(), 1);
8888
9096
 
8889
9097
  // src/text.ts
@@ -8925,7 +9133,7 @@ window.Aura = (() => {
8925
9133
  function fromMin(n3) {
8926
9134
  return pad3(Math.floor(n3 / 60)) + ":" + pad3(n3 % 60);
8927
9135
  }
8928
- var TimePicker = React55.forwardRef(function TimePicker2(props, ref) {
9136
+ var TimePicker = React56.forwardRef(function TimePicker2(props, ref) {
8929
9137
  const t = useStrings();
8930
9138
  const auto = uid(), id = props.id || auto, listId = id + "-list";
8931
9139
  const st = useMaybeControlled(
@@ -8935,7 +9143,7 @@ window.Aura = (() => {
8935
9143
  );
8936
9144
  const value = st[0];
8937
9145
  const step = props.step || 30, lo = toMin(props.min) != null ? toMin(props.min) : 0, hi = toMin(props.max) != null ? toMin(props.max) : 24 * 60 - 1;
8938
- const slots = React55.useMemo(
9146
+ const slots = React56.useMemo(
8939
9147
  function() {
8940
9148
  const out = [];
8941
9149
  for (let m = lo; m <= hi; m += step) out.push(fromMin(m));
@@ -8947,12 +9155,12 @@ window.Aura = (() => {
8947
9155
  const n3 = toMin(v);
8948
9156
  return n3 == null || n3 < lo || n3 > hi || props.isTimeDisabled && props.isTimeDisabled(v);
8949
9157
  }
8950
- const openState = React55.useState(false), open = openState[0], setOpen = openState[1];
8951
- const editState = React55.useState(null), editing = editState[0], setEditing = editState[1];
8952
- const aState = React55.useState(0), active = aState[0], setActive = aState[1];
8953
- const errState = React55.useState(null);
8954
- const pos = React55.useState(null);
8955
- const boxRef = React55.useRef(null), inputRef = React55.useRef(null), listRef = React55.useRef(null), inputMerged = useMergedRef(ref, inputRef);
9158
+ const openState = React56.useState(false), open = openState[0], setOpen = openState[1];
9159
+ const editState = React56.useState(null), editing = editState[0], setEditing = editState[1];
9160
+ const aState = React56.useState(0), active = aState[0], setActive = aState[1];
9161
+ const errState = React56.useState(null);
9162
+ const pos = React56.useState(null);
9163
+ const boxRef = React56.useRef(null), inputRef = React56.useRef(null), listRef = React56.useRef(null), inputMerged = useMergedRef(ref, inputRef);
8956
9164
  const mounted = useMounted();
8957
9165
  function nearest(v) {
8958
9166
  const n3 = toMin(v);
@@ -8980,7 +9188,7 @@ window.Aura = (() => {
8980
9188
  },
8981
9189
  [open]
8982
9190
  );
8983
- React55.useEffect(
9191
+ React56.useEffect(
8984
9192
  function() {
8985
9193
  if (!open) return;
8986
9194
  function outside(e) {
@@ -9002,7 +9210,7 @@ window.Aura = (() => {
9002
9210
  },
9003
9211
  [open]
9004
9212
  );
9005
- React55.useEffect(
9213
+ React56.useEffect(
9006
9214
  function() {
9007
9215
  if (!open || !listRef.current) return;
9008
9216
  const el = listRef.current.querySelector('[data-idx="' + active + '"]');
@@ -9101,9 +9309,9 @@ window.Aura = (() => {
9101
9309
  }
9102
9310
  const error = errState[0] || props.error;
9103
9311
  const list = open && mounted && pos[0] ? (0, import_react_dom12.createPortal)(
9104
- /* @__PURE__ */ React55.createElement("div", { ref: listRef, className: "aura-combo__popover aura-time__popover", style: pos[0] }, /* @__PURE__ */ React55.createElement("ul", { id: listId, role: "listbox", "aria-label": props.label, className: "aura-combo__list" }, slots.map(function(s, i) {
9312
+ /* @__PURE__ */ React56.createElement("div", { ref: listRef, className: "aura-combo__popover aura-time__popover", style: pos[0] }, /* @__PURE__ */ React56.createElement("ul", { id: listId, role: "listbox", "aria-label": props.label, className: "aura-combo__list" }, slots.map(function(s, i) {
9105
9313
  const dis = blocked(s), sel = s === value;
9106
- return /* @__PURE__ */ React55.createElement(
9314
+ return /* @__PURE__ */ React56.createElement(
9107
9315
  "li",
9108
9316
  {
9109
9317
  key: s,
@@ -9128,13 +9336,13 @@ window.Aura = (() => {
9128
9336
  if (active !== i) setActive(i);
9129
9337
  }
9130
9338
  },
9131
- /* @__PURE__ */ React55.createElement("span", { className: "aura-combo__label" }, s),
9132
- sel ? /* @__PURE__ */ React55.createElement(Icon, { name: /* @__PURE__ */ React55.createElement(IconCheck, null), className: "aura-combo__check" }) : null
9339
+ /* @__PURE__ */ React56.createElement("span", { className: "aura-combo__label" }, s),
9340
+ sel ? /* @__PURE__ */ React56.createElement(Icon, { name: /* @__PURE__ */ React56.createElement(IconCheck, null), className: "aura-combo__check" }) : null
9133
9341
  );
9134
9342
  }))),
9135
9343
  document.body
9136
9344
  ) : null;
9137
- return /* @__PURE__ */ React55.createElement(
9345
+ return /* @__PURE__ */ React56.createElement(
9138
9346
  Field,
9139
9347
  {
9140
9348
  id,
@@ -9146,7 +9354,7 @@ window.Aura = (() => {
9146
9354
  disabled: props.disabled,
9147
9355
  className: cx(touchClass(props.touchHeight), props.className)
9148
9356
  },
9149
- /* @__PURE__ */ React55.createElement("div", { ref: boxRef, className: cx("aura-input aura-combo aura-time has-icon", open && "is-open") }, /* @__PURE__ */ React55.createElement(Icon, { name: /* @__PURE__ */ React55.createElement(IconClock, null), className: "aura-input__icon" }), /* @__PURE__ */ React55.createElement(
9357
+ /* @__PURE__ */ React56.createElement("div", { ref: boxRef, className: cx("aura-input aura-combo aura-time has-icon", open && "is-open") }, /* @__PURE__ */ React56.createElement(Icon, { name: /* @__PURE__ */ React56.createElement(IconClock, null), className: "aura-input__icon" }), /* @__PURE__ */ React56.createElement(
9150
9358
  "input",
9151
9359
  {
9152
9360
  ref: inputMerged,
@@ -9186,7 +9394,7 @@ window.Aura = (() => {
9186
9394
  }, 0);
9187
9395
  }
9188
9396
  }
9189
- ), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React55.createElement(
9397
+ ), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React56.createElement(
9190
9398
  "button",
9191
9399
  {
9192
9400
  type: "button",
@@ -9199,8 +9407,8 @@ window.Aura = (() => {
9199
9407
  if (inputRef.current) inputRef.current.focus();
9200
9408
  }
9201
9409
  },
9202
- /* @__PURE__ */ React55.createElement(Icon, { name: /* @__PURE__ */ React55.createElement(IconX, null) })
9203
- ) : null, /* @__PURE__ */ React55.createElement(
9410
+ /* @__PURE__ */ React56.createElement(Icon, { name: /* @__PURE__ */ React56.createElement(IconX, null) })
9411
+ ) : null, /* @__PURE__ */ React56.createElement(
9204
9412
  "button",
9205
9413
  {
9206
9414
  type: "button",
@@ -9218,14 +9426,14 @@ window.Aura = (() => {
9218
9426
  }
9219
9427
  }
9220
9428
  },
9221
- /* @__PURE__ */ React55.createElement(Icon, { name: /* @__PURE__ */ React55.createElement(IconChevronDown, null) })
9429
+ /* @__PURE__ */ React56.createElement(Icon, { name: /* @__PURE__ */ React56.createElement(IconChevronDown, null) })
9222
9430
  )),
9223
9431
  list
9224
9432
  );
9225
9433
  });
9226
9434
 
9227
9435
  // src/FileUpload.tsx
9228
- var React56 = __toESM(require_react(), 1);
9436
+ var React57 = __toESM(require_react(), 1);
9229
9437
  function matches(file, accept) {
9230
9438
  if (!accept) return true;
9231
9439
  const name = (file.name || "").toLowerCase(), type = (file.type || "").toLowerCase();
@@ -9249,24 +9457,24 @@ window.Aura = (() => {
9249
9457
  }).join(", ");
9250
9458
  }
9251
9459
  var seq = 0;
9252
- var FileUpload = React56.forwardRef(function FileUpload2(props, ref) {
9460
+ var FileUpload = React57.forwardRef(function FileUpload2(props, ref) {
9253
9461
  const t = useStrings();
9254
9462
  const auto = uid(), id = props.id || auto;
9255
9463
  const st = useMaybeControlled(props.value, props.defaultValue || [], props.onChange);
9256
9464
  const items2 = st[0] || [];
9257
- const dragState = React56.useState(false), over = dragState[0];
9258
- const inputRef = React56.useRef(null), inputMerged = useMergedRef(ref, inputRef);
9259
- const urls = React56.useRef({});
9465
+ const dragState = React57.useState(false), over = dragState[0];
9466
+ const inputRef = React57.useRef(null), inputMerged = useMergedRef(ref, inputRef);
9467
+ const urls = React57.useRef({});
9260
9468
  const maxFiles = props.multiple ? props.maxFiles : 1;
9261
9469
  const note = t.accepts(describeAccept(props.accept, t), props.maxSize ? formatBytes(props.maxSize) : "");
9262
- React56.useEffect(function() {
9470
+ React57.useEffect(function() {
9263
9471
  return function() {
9264
9472
  Object.keys(urls.current).forEach(function(k) {
9265
9473
  URL.revokeObjectURL(urls.current[k]);
9266
9474
  });
9267
9475
  };
9268
9476
  }, []);
9269
- React56.useEffect(
9477
+ React57.useEffect(
9270
9478
  function() {
9271
9479
  const el = inputRef.current;
9272
9480
  if (!el || !props.name || typeof DataTransfer === "undefined") return;
@@ -9326,7 +9534,7 @@ window.Aura = (() => {
9326
9534
  if (inputRef.current) inputRef.current.focus();
9327
9535
  }
9328
9536
  const error = props.error;
9329
- return /* @__PURE__ */ React56.createElement(
9537
+ return /* @__PURE__ */ React57.createElement(
9330
9538
  Field,
9331
9539
  {
9332
9540
  id,
@@ -9338,7 +9546,7 @@ window.Aura = (() => {
9338
9546
  disabled: props.disabled,
9339
9547
  className: props.className
9340
9548
  },
9341
- /* @__PURE__ */ React56.createElement(
9549
+ /* @__PURE__ */ React57.createElement(
9342
9550
  "div",
9343
9551
  {
9344
9552
  className: cx("aura-upload", over && "is-over", props.disabled && "is-disabled", error && "is-invalid"),
@@ -9359,9 +9567,9 @@ window.Aura = (() => {
9359
9567
  add(e.dataTransfer && e.dataTransfer.files);
9360
9568
  }
9361
9569
  },
9362
- /* @__PURE__ */ React56.createElement(Icon, { name: /* @__PURE__ */ React56.createElement(IconCloudUpload, null), size: "lg", className: "aura-upload__icon" }),
9363
- /* @__PURE__ */ React56.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
9364
- /* @__PURE__ */ React56.createElement(
9570
+ /* @__PURE__ */ React57.createElement(Icon, { name: /* @__PURE__ */ React57.createElement(IconCloudUpload, null), size: "lg", className: "aura-upload__icon" }),
9571
+ /* @__PURE__ */ React57.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
9572
+ /* @__PURE__ */ React57.createElement(
9365
9573
  "input",
9366
9574
  {
9367
9575
  ref: inputMerged,
@@ -9383,12 +9591,12 @@ window.Aura = (() => {
9383
9591
  }
9384
9592
  }
9385
9593
  ),
9386
- /* @__PURE__ */ React56.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
9387
- note ? /* @__PURE__ */ React56.createElement("span", { className: "aura-upload__note", id: id + "-note" }, note) : null
9594
+ /* @__PURE__ */ React57.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
9595
+ note ? /* @__PURE__ */ React57.createElement("span", { className: "aura-upload__note", id: id + "-note" }, note) : null
9388
9596
  ),
9389
- items2.length ? /* @__PURE__ */ React56.createElement("ul", { className: "aura-upload__list", "aria-live": "polite" }, items2.map(function(it) {
9597
+ items2.length ? /* @__PURE__ */ React57.createElement("ul", { className: "aura-upload__list", "aria-live": "polite" }, items2.map(function(it) {
9390
9598
  const src = thumb(it);
9391
- return /* @__PURE__ */ React56.createElement("li", { key: it.id, className: cx("aura-upload__item", it.error && "is-error") }, src ? /* @__PURE__ */ React56.createElement("img", { className: "aura-upload__thumb", src, alt: "" }) : /* @__PURE__ */ React56.createElement("span", { className: "aura-upload__thumb is-icon", "aria-hidden": true }, /* @__PURE__ */ React56.createElement(Icon, { name: /^image\//.test(it.type || "") ? /* @__PURE__ */ React56.createElement(IconImage, null) : /* @__PURE__ */ React56.createElement(IconFile, null), size: "md" })), /* @__PURE__ */ React56.createElement("span", { className: "aura-upload__meta" }, it.url && !it.error ? /* @__PURE__ */ React56.createElement("a", { className: "aura-upload__name", href: it.url, target: "_blank", rel: "noreferrer" }, it.name) : /* @__PURE__ */ React56.createElement("span", { className: "aura-upload__name" }, it.name), /* @__PURE__ */ React56.createElement("span", { className: "aura-upload__sub" }, it.error ? /* @__PURE__ */ React56.createElement(React56.Fragment, null, /* @__PURE__ */ React56.createElement(Icon, { name: /* @__PURE__ */ React56.createElement(IconCircleAlert, null), size: 12 }), it.error) : it.status === "uploading" ? t.uploading + (it.progress != null ? " " + Math.round(it.progress) + "%" : "") : it.status === "done" ? /* @__PURE__ */ React56.createElement(React56.Fragment, null, /* @__PURE__ */ React56.createElement(Icon, { name: /* @__PURE__ */ React56.createElement(IconCircleCheck, null), size: 12 }), formatBytes(it.size)) : formatBytes(it.size)), it.status === "uploading" ? /* @__PURE__ */ React56.createElement(
9599
+ return /* @__PURE__ */ React57.createElement("li", { key: it.id, className: cx("aura-upload__item", it.error && "is-error") }, src ? /* @__PURE__ */ React57.createElement("img", { className: "aura-upload__thumb", src, alt: "" }) : /* @__PURE__ */ React57.createElement("span", { className: "aura-upload__thumb is-icon", "aria-hidden": true }, /* @__PURE__ */ React57.createElement(Icon, { name: /^image\//.test(it.type || "") ? /* @__PURE__ */ React57.createElement(IconImage, null) : /* @__PURE__ */ React57.createElement(IconFile, null), size: "md" })), /* @__PURE__ */ React57.createElement("span", { className: "aura-upload__meta" }, it.url && !it.error ? /* @__PURE__ */ React57.createElement("a", { className: "aura-upload__name", href: it.url, target: "_blank", rel: "noreferrer" }, it.name) : /* @__PURE__ */ React57.createElement("span", { className: "aura-upload__name" }, it.name), /* @__PURE__ */ React57.createElement("span", { className: "aura-upload__sub" }, it.error ? /* @__PURE__ */ React57.createElement(React57.Fragment, null, /* @__PURE__ */ React57.createElement(Icon, { name: /* @__PURE__ */ React57.createElement(IconCircleAlert, null), size: 12 }), it.error) : it.status === "uploading" ? t.uploading + (it.progress != null ? " " + Math.round(it.progress) + "%" : "") : it.status === "done" ? /* @__PURE__ */ React57.createElement(React57.Fragment, null, /* @__PURE__ */ React57.createElement(Icon, { name: /* @__PURE__ */ React57.createElement(IconCircleCheck, null), size: 12 }), formatBytes(it.size)) : formatBytes(it.size)), it.status === "uploading" ? /* @__PURE__ */ React57.createElement(
9392
9600
  "span",
9393
9601
  {
9394
9602
  className: "aura-upload__bar",
@@ -9398,11 +9606,11 @@ window.Aura = (() => {
9398
9606
  "aria-valuemax": 100,
9399
9607
  "aria-valuenow": it.progress != null ? Math.round(it.progress) : void 0
9400
9608
  },
9401
- /* @__PURE__ */ React56.createElement("span", { style: { width: (it.progress || 0) + "%" } })
9402
- ) : null), /* @__PURE__ */ React56.createElement(
9609
+ /* @__PURE__ */ React57.createElement("span", { style: { width: (it.progress || 0) + "%" } })
9610
+ ) : null), /* @__PURE__ */ React57.createElement(
9403
9611
  IconButton,
9404
9612
  {
9405
- icon: /* @__PURE__ */ React56.createElement(IconX, null),
9613
+ icon: /* @__PURE__ */ React57.createElement(IconX, null),
9406
9614
  label: t.remove(it.name),
9407
9615
  onClick: function() {
9408
9616
  remove(it);
@@ -9415,14 +9623,14 @@ window.Aura = (() => {
9415
9623
 
9416
9624
  // src/theme.ts
9417
9625
  function hexToRgb(hex) {
9418
- let h11 = String(hex).trim().replace("#", "");
9419
- if (h11.length === 3)
9420
- h11 = h11.split("").map(function(c) {
9626
+ let h12 = String(hex).trim().replace("#", "");
9627
+ if (h12.length === 3)
9628
+ h12 = h12.split("").map(function(c) {
9421
9629
  return c + c;
9422
9630
  }).join("");
9423
- if (!/^[0-9a-f]{6}$/i.test(h11)) throw new Error('createTheme: "' + hex + '" is not a #rgb or #rrggbb colour');
9631
+ if (!/^[0-9a-f]{6}$/i.test(h12)) throw new Error('createTheme: "' + hex + '" is not a #rgb or #rrggbb colour');
9424
9632
  return [0, 2, 4].map(function(i) {
9425
- return parseInt(h11.slice(i, i + 2), 16) / 255;
9633
+ return parseInt(h12.slice(i, i + 2), 16) / 255;
9426
9634
  });
9427
9635
  }
9428
9636
  function rgbToHex(rgb) {
@@ -9718,9 +9926,9 @@ window.Aura = (() => {
9718
9926
  }
9719
9927
 
9720
9928
  // src/ThemeStyle.tsx
9721
- var React57 = __toESM(require_react(), 1);
9929
+ var React58 = __toESM(require_react(), 1);
9722
9930
  function ThemeStyle(props) {
9723
- const css = React57.useMemo(
9931
+ const css = React58.useMemo(
9724
9932
  function() {
9725
9933
  try {
9726
9934
  return createTheme({
@@ -9737,11 +9945,11 @@ window.Aura = (() => {
9737
9945
  [props.brand, props.signal, props.primary, props.name, props.selector]
9738
9946
  );
9739
9947
  if (css === null) return null;
9740
- return /* @__PURE__ */ React57.createElement("style", { "data-aura-theme": props.name || props.brand, dangerouslySetInnerHTML: { __html: css } });
9948
+ return /* @__PURE__ */ React58.createElement("style", { "data-aura-theme": props.name || props.brand, dangerouslySetInnerHTML: { __html: css } });
9741
9949
  }
9742
9950
 
9743
9951
  // src/colorScheme.tsx
9744
- var React58 = __toESM(require_react(), 1);
9952
+ var React59 = __toESM(require_react(), 1);
9745
9953
 
9746
9954
  // src/colorSchemeScript.ts
9747
9955
  var DEFAULT_KEY = "aura-color-scheme";
@@ -9758,7 +9966,7 @@ window.Aura = (() => {
9758
9966
 
9759
9967
  // src/colorScheme.tsx
9760
9968
  function ColorSchemeScript(props) {
9761
- return /* @__PURE__ */ React58.createElement(
9969
+ return /* @__PURE__ */ React59.createElement(
9762
9970
  "script",
9763
9971
  {
9764
9972
  "data-aura-color-scheme": "",
@@ -9783,7 +9991,7 @@ window.Aura = (() => {
9783
9991
  function useColorScheme(options) {
9784
9992
  const key = options && options.storageKey || DEFAULT_KEY;
9785
9993
  const fallback = options && options.defaultScheme || "system";
9786
- const subscribe2 = React58.useCallback(
9994
+ const subscribe2 = React59.useCallback(
9787
9995
  function(cb) {
9788
9996
  const mq = window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)") : null;
9789
9997
  function onSystem() {
@@ -9805,7 +10013,7 @@ window.Aura = (() => {
9805
10013
  },
9806
10014
  [fallback, key]
9807
10015
  );
9808
- const snapshot = React58.useSyncExternalStore(
10016
+ const snapshot = React59.useSyncExternalStore(
9809
10017
  subscribe2,
9810
10018
  function() {
9811
10019
  const s = readScheme(fallback);
@@ -9816,7 +10024,7 @@ window.Aura = (() => {
9816
10024
  }
9817
10025
  );
9818
10026
  const parts = snapshot.split("|");
9819
- const setScheme = React58.useCallback(
10027
+ const setScheme = React59.useCallback(
9820
10028
  function(next) {
9821
10029
  if (!valid(next)) return;
9822
10030
  try {
@@ -9835,14 +10043,14 @@ window.Aura = (() => {
9835
10043
  const cs = useColorScheme(props);
9836
10044
  const names = { light: t.schemeLight, dark: t.schemeDark, system: t.schemeSystem };
9837
10045
  const label = props.label || t.colorScheme;
9838
- return /* @__PURE__ */ React58.createElement(
10046
+ return /* @__PURE__ */ React59.createElement(
9839
10047
  DropdownMenu,
9840
10048
  {
9841
10049
  label,
9842
- trigger: /* @__PURE__ */ React58.createElement(
10050
+ trigger: /* @__PURE__ */ React59.createElement(
9843
10051
  IconButton,
9844
10052
  {
9845
- icon: cs.resolved === "dark" ? /* @__PURE__ */ React58.createElement(IconMoon, null) : /* @__PURE__ */ React58.createElement(IconSun, null),
10053
+ icon: cs.resolved === "dark" ? /* @__PURE__ */ React59.createElement(IconMoon, null) : /* @__PURE__ */ React59.createElement(IconSun, null),
9846
10054
  label: label + ": " + names[cs.scheme]
9847
10055
  }
9848
10056
  ),
@@ -9860,14 +10068,14 @@ window.Aura = (() => {
9860
10068
  }
9861
10069
 
9862
10070
  // src/Badge.tsx
9863
- var React59 = __toESM(require_react(), 1);
9864
- var Badge = React59.forwardRef(function Badge2(props, ref) {
10071
+ var React60 = __toESM(require_react(), 1);
10072
+ var Badge = React60.forwardRef(function Badge2(props, ref) {
9865
10073
  return badgeElement(props, ref);
9866
10074
  });
9867
10075
 
9868
10076
  // src/Progress.tsx
9869
- var React60 = __toESM(require_react(), 1);
9870
- var Progress = React60.forwardRef(function Progress2(props, ref) {
10077
+ var React61 = __toESM(require_react(), 1);
10078
+ var Progress = React61.forwardRef(function Progress2(props, ref) {
9871
10079
  const t = useStrings();
9872
10080
  const auto = uid(), id = props.id || auto;
9873
10081
  const max = props.max || 100, det = props.value != null;
@@ -9876,7 +10084,7 @@ window.Aura = (() => {
9876
10084
  const spct = sec ? Math.max(0, Math.min(100 - pct, sec / max * 100)) : 0;
9877
10085
  const valueText = props.valueText != null ? props.valueText : props.valueLabel != null ? String(props.valueLabel) : sec ? t.progressReserved(props.value, sec, max) : void 0;
9878
10086
  const shown = props.valueLabel != null ? props.valueLabel : det ? Math.round(pct) + "%" : null;
9879
- return /* @__PURE__ */ React60.createElement(
10087
+ return /* @__PURE__ */ React61.createElement(
9880
10088
  "div",
9881
10089
  {
9882
10090
  ref,
@@ -9887,8 +10095,8 @@ window.Aura = (() => {
9887
10095
  props.className
9888
10096
  )
9889
10097
  },
9890
- props.label || props.showValue && shown ? /* @__PURE__ */ React60.createElement("div", { className: "aura-progress__head" }, props.label ? /* @__PURE__ */ React60.createElement("span", { className: "aura-progress__label", id: id + "-label" }, props.label) : /* @__PURE__ */ React60.createElement("span", null), props.showValue && shown ? /* @__PURE__ */ React60.createElement("span", { className: "aura-progress__value" }, shown) : null) : null,
9891
- /* @__PURE__ */ React60.createElement(
10098
+ props.label || props.showValue && shown ? /* @__PURE__ */ React61.createElement("div", { className: "aura-progress__head" }, props.label ? /* @__PURE__ */ React61.createElement("span", { className: "aura-progress__label", id: id + "-label" }, props.label) : /* @__PURE__ */ React61.createElement("span", null), props.showValue && shown ? /* @__PURE__ */ React61.createElement("span", { className: "aura-progress__value" }, shown) : null) : null,
10099
+ /* @__PURE__ */ React61.createElement(
9892
10100
  "div",
9893
10101
  {
9894
10102
  className: cx("aura-progress__track", !det && "is-indeterminate"),
@@ -9900,8 +10108,8 @@ window.Aura = (() => {
9900
10108
  "aria-valuenow": det ? props.value : void 0,
9901
10109
  "aria-valuetext": det ? valueText : void 0
9902
10110
  },
9903
- /* @__PURE__ */ React60.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 }),
9904
- sec ? /* @__PURE__ */ React60.createElement(
10111
+ /* @__PURE__ */ React61.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 }),
10112
+ sec ? /* @__PURE__ */ React61.createElement(
9905
10113
  "span",
9906
10114
  {
9907
10115
  className: "aura-progress__bar aura-progress__bar--reserved",
@@ -9909,19 +10117,19 @@ window.Aura = (() => {
9909
10117
  }
9910
10118
  ) : null
9911
10119
  ),
9912
- props.hint ? /* @__PURE__ */ React60.createElement("p", { className: "aura-progress__hint" }, props.hint) : null
10120
+ props.hint ? /* @__PURE__ */ React61.createElement("p", { className: "aura-progress__hint" }, props.hint) : null
9913
10121
  );
9914
10122
  });
9915
10123
 
9916
10124
  // src/Skeleton.tsx
9917
- var React61 = __toESM(require_react(), 1);
9918
- var Skeleton = React61.forwardRef(function Skeleton2(props, ref) {
10125
+ var React62 = __toESM(require_react(), 1);
10126
+ var Skeleton = React62.forwardRef(function Skeleton2(props, ref) {
9919
10127
  const v = props.variant || "text";
9920
10128
  if (v === "text" && (props.lines || 1) > 1) {
9921
10129
  const n3 = props.lines, rows = [];
9922
10130
  for (let i = 0; i < n3; i++)
9923
- rows.push(/* @__PURE__ */ React61.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n3 - 1 ? "60%" : "100%" } }));
9924
- return /* @__PURE__ */ React61.createElement(
10131
+ rows.push(/* @__PURE__ */ React62.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n3 - 1 ? "60%" : "100%" } }));
10132
+ return /* @__PURE__ */ React62.createElement(
9925
10133
  "span",
9926
10134
  {
9927
10135
  ref,
@@ -9939,17 +10147,17 @@ window.Aura = (() => {
9939
10147
  if (v === "circle") {
9940
10148
  style.width = style.height = props.size || props.width || 40;
9941
10149
  }
9942
- return /* @__PURE__ */ React61.createElement("span", { ref, "aria-hidden": true, className: cx("aura-skel", "aura-skel--" + v, props.className), style });
10150
+ return /* @__PURE__ */ React62.createElement("span", { ref, "aria-hidden": true, className: cx("aura-skel", "aura-skel--" + v, props.className), style });
9943
10151
  });
9944
10152
 
9945
10153
  // src/EmptyState.tsx
9946
- var React62 = __toESM(require_react(), 1);
9947
- var EmptyState = React62.forwardRef(function EmptyState2(props, ref) {
10154
+ var React63 = __toESM(require_react(), 1);
10155
+ var EmptyState = React63.forwardRef(function EmptyState2(props, ref) {
9948
10156
  return emptyStateElement(props, ref);
9949
10157
  });
9950
10158
 
9951
10159
  // src/Pagination.tsx
9952
- var React63 = __toESM(require_react(), 1);
10160
+ var React64 = __toESM(require_react(), 1);
9953
10161
  function pageList(page, count, sib) {
9954
10162
  let out = [], lo = Math.max(2, page - sib), hi = Math.min(count - 1, page + sib);
9955
10163
  if (page - sib <= 3) {
@@ -9969,7 +10177,7 @@ window.Aura = (() => {
9969
10177
  if (count > 1) out.push(count);
9970
10178
  return out;
9971
10179
  }
9972
- var Pagination = React63.forwardRef(function Pagination2(props, ref) {
10180
+ var Pagination = React64.forwardRef(function Pagination2(props, ref) {
9973
10181
  const t = useStrings();
9974
10182
  useAutoTip();
9975
10183
  const count = Math.max(1, props.pageCount || 1);
@@ -9989,7 +10197,7 @@ window.Aura = (() => {
9989
10197
  },
9990
10198
  extra
9991
10199
  );
9992
- return link ? /* @__PURE__ */ React63.createElement(
10200
+ return link ? /* @__PURE__ */ React64.createElement(
9993
10201
  Link,
9994
10202
  {
9995
10203
  href: link(p),
@@ -10002,7 +10210,7 @@ window.Aura = (() => {
10002
10210
  ...common
10003
10211
  },
10004
10212
  label
10005
- ) : /* @__PURE__ */ React63.createElement(
10213
+ ) : /* @__PURE__ */ React64.createElement(
10006
10214
  "button",
10007
10215
  {
10008
10216
  type: "button",
@@ -10016,7 +10224,7 @@ window.Aura = (() => {
10016
10224
  }
10017
10225
  function arrow(p, icon, label, rel, disabled) {
10018
10226
  if (!link || disabled)
10019
- return /* @__PURE__ */ React63.createElement(
10227
+ return /* @__PURE__ */ React64.createElement(
10020
10228
  IconButton,
10021
10229
  {
10022
10230
  icon,
@@ -10027,7 +10235,7 @@ window.Aura = (() => {
10027
10235
  }
10028
10236
  }
10029
10237
  );
10030
- return /* @__PURE__ */ React63.createElement(
10238
+ return /* @__PURE__ */ React64.createElement(
10031
10239
  Link,
10032
10240
  {
10033
10241
  href: link(p),
@@ -10042,17 +10250,17 @@ window.Aura = (() => {
10042
10250
  }
10043
10251
  }
10044
10252
  },
10045
- /* @__PURE__ */ React63.createElement(Icon, { name: icon, size: "sm" })
10253
+ /* @__PURE__ */ React64.createElement(Icon, { name: icon, size: "sm" })
10046
10254
  );
10047
10255
  }
10048
- return /* @__PURE__ */ React63.createElement("nav", { ref, className: cx("aura-pagination", props.className), "aria-label": props.label || t.pagination }, arrow(page - 1, /* @__PURE__ */ React63.createElement(IconChevronLeft, null), t.prevPage, "prev", page <= 1), /* @__PURE__ */ React63.createElement("ol", { className: "aura-pagination__list" }, pageList(page, count, props.siblingCount == null ? 1 : props.siblingCount).map(function(p) {
10049
- return typeof p === "number" ? /* @__PURE__ */ React63.createElement("li", { key: p }, item(p, p)) : /* @__PURE__ */ React63.createElement("li", { key: p, className: "aura-pagination__gap", "aria-hidden": true }, "\u2026");
10050
- })), /* @__PURE__ */ React63.createElement("span", { className: "aura-pagination__compact", "aria-hidden": true }, t.page(page, count)), arrow(page + 1, /* @__PURE__ */ React63.createElement(IconChevronRight, null), t.nextPage, "next", page >= count));
10256
+ return /* @__PURE__ */ React64.createElement("nav", { ref, className: cx("aura-pagination", props.className), "aria-label": props.label || t.pagination }, arrow(page - 1, /* @__PURE__ */ React64.createElement(IconChevronLeft, null), t.prevPage, "prev", page <= 1), /* @__PURE__ */ React64.createElement("ol", { className: "aura-pagination__list" }, pageList(page, count, props.siblingCount == null ? 1 : props.siblingCount).map(function(p) {
10257
+ return typeof p === "number" ? /* @__PURE__ */ React64.createElement("li", { key: p }, item(p, p)) : /* @__PURE__ */ React64.createElement("li", { key: p, className: "aura-pagination__gap", "aria-hidden": true }, "\u2026");
10258
+ })), /* @__PURE__ */ React64.createElement("span", { className: "aura-pagination__compact", "aria-hidden": true }, t.page(page, count)), arrow(page + 1, /* @__PURE__ */ React64.createElement(IconChevronRight, null), t.nextPage, "next", page >= count));
10051
10259
  });
10052
10260
 
10053
10261
  // src/Accordion.tsx
10054
- var React64 = __toESM(require_react(), 1);
10055
- var Accordion = React64.forwardRef(function Accordion2(props, ref) {
10262
+ var React65 = __toESM(require_react(), 1);
10263
+ var Accordion = React65.forwardRef(function Accordion2(props, ref) {
10056
10264
  const auto = uid(), base = props.id || auto;
10057
10265
  const multiple = props.type === "multiple";
10058
10266
  const st = useMaybeControlled(
@@ -10090,9 +10298,9 @@ window.Aura = (() => {
10090
10298
  n3.focus();
10091
10299
  }
10092
10300
  }
10093
- return /* @__PURE__ */ React64.createElement("div", { ref, className: cx("aura-accordion", props.className), onKeyDown: onKey }, items2.map(function(it) {
10301
+ return /* @__PURE__ */ React65.createElement("div", { ref, className: cx("aura-accordion", props.className), onKeyDown: onKey }, items2.map(function(it) {
10094
10302
  const on = open.indexOf(it.id) >= 0, bid = base + "-btn-" + it.id, pid = base + "-panel-" + it.id;
10095
- return /* @__PURE__ */ React64.createElement("div", { key: it.id, className: cx("aura-accordion__item", on && "is-open") }, /* @__PURE__ */ React64.createElement(HT, { className: "aura-accordion__heading" }, /* @__PURE__ */ React64.createElement(
10303
+ return /* @__PURE__ */ React65.createElement("div", { key: it.id, className: cx("aura-accordion__item", on && "is-open") }, /* @__PURE__ */ React65.createElement(HT, { className: "aura-accordion__heading" }, /* @__PURE__ */ React65.createElement(
10096
10304
  "button",
10097
10305
  {
10098
10306
  type: "button",
@@ -10105,10 +10313,10 @@ window.Aura = (() => {
10105
10313
  toggle(it.id);
10106
10314
  }
10107
10315
  },
10108
- it.icon ? /* @__PURE__ */ React64.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
10109
- /* @__PURE__ */ React64.createElement("span", { className: "aura-accordion__title" }, /* @__PURE__ */ React64.createElement("span", { id: it.description ? bid + "-title" : void 0 }, it.title), it.description ? /* @__PURE__ */ React64.createElement("span", { className: "aura-accordion__desc", id: bid + "-desc", "aria-hidden": true }, it.description) : null),
10110
- /* @__PURE__ */ React64.createElement(Icon, { name: /* @__PURE__ */ React64.createElement(IconChevronDown, null), className: "aura-accordion__chevron" })
10111
- )), /* @__PURE__ */ React64.createElement(
10316
+ it.icon ? /* @__PURE__ */ React65.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
10317
+ /* @__PURE__ */ React65.createElement("span", { className: "aura-accordion__title" }, /* @__PURE__ */ React65.createElement("span", { id: it.description ? bid + "-title" : void 0 }, it.title), it.description ? /* @__PURE__ */ React65.createElement("span", { className: "aura-accordion__desc", id: bid + "-desc", "aria-hidden": true }, it.description) : null),
10318
+ /* @__PURE__ */ React65.createElement(Icon, { name: /* @__PURE__ */ React65.createElement(IconChevronDown, null), className: "aura-accordion__chevron" })
10319
+ )), /* @__PURE__ */ React65.createElement(
10112
10320
  "div",
10113
10321
  {
10114
10322
  id: pid,
@@ -10123,7 +10331,7 @@ window.Aura = (() => {
10123
10331
  });
10124
10332
 
10125
10333
  // src/Popover.tsx
10126
- var React65 = __toESM(require_react(), 1);
10334
+ var React66 = __toESM(require_react(), 1);
10127
10335
  var import_react_dom13 = __toESM(require_react_dom(), 1);
10128
10336
  function position(anchor, pop, placement) {
10129
10337
  const r2 = anchor.getBoundingClientRect(), pw = pop.offsetWidth, ph = pop.scrollHeight, vw = window.innerWidth, vh = window.innerHeight, gap = 6;
@@ -10136,20 +10344,20 @@ window.Aura = (() => {
10136
10344
  side = above > below2 ? "top" : "bottom";
10137
10345
  maxHeight = Math.max(120, side === "top" ? above : below2);
10138
10346
  }
10139
- const h11 = maxHeight ? Math.min(ph, maxHeight) : ph;
10140
- const top = side === "top" ? r2.top - gap - h11 : r2.bottom + gap;
10347
+ const h12 = maxHeight ? Math.min(ph, maxHeight) : ph;
10348
+ const top = side === "top" ? r2.top - gap - h12 : r2.bottom + gap;
10141
10349
  const left = align === "end" ? r2.right - pw : align === "center" ? r2.left + r2.width / 2 - pw / 2 : r2.left;
10142
10350
  return { top: Math.max(8, top), left: Math.max(8, Math.min(left, vw - pw - 8)), side, maxHeight };
10143
10351
  }
10144
- var Popover = React65.forwardRef(function Popover2(props, ref) {
10352
+ var Popover = React66.forwardRef(function Popover2(props, ref) {
10145
10353
  const t = useStrings();
10146
10354
  const density = useDensity();
10147
10355
  const auto = uid(), id = props.id || auto;
10148
10356
  const st = useMaybeControlled(props.open, !!props.defaultOpen, props.onOpenChange);
10149
10357
  const open = !!st[0];
10150
- const wrap = React65.useRef(null), pop = React65.useRef(null), popMerged = useMergedRef(ref, pop);
10151
- const pos = React65.useState(null), mounted = useMounted();
10152
- const inTree = React65.useRef(false);
10358
+ const wrap = React66.useRef(null), pop = React66.useRef(null), popMerged = useMergedRef(ref, pop);
10359
+ const pos = React66.useState(null), mounted = useMounted();
10360
+ const inTree = React66.useRef(false);
10153
10361
  function trigger() {
10154
10362
  return wrap.current && (wrap.current.querySelector('button, [role="button"], a, input') || wrap.current.firstElementChild);
10155
10363
  }
@@ -10176,7 +10384,7 @@ window.Aura = (() => {
10176
10384
  },
10177
10385
  [open, mounted, props.placement]
10178
10386
  );
10179
- React65.useEffect(
10387
+ React66.useEffect(
10180
10388
  function() {
10181
10389
  if (!open || !mounted) return;
10182
10390
  if (props.autoFocus !== false && pop.current) {
@@ -10201,9 +10409,9 @@ window.Aura = (() => {
10201
10409
  },
10202
10410
  [open, mounted]
10203
10411
  );
10204
- const child = React65.Children.only(props.trigger);
10412
+ const child = React66.Children.only(props.trigger);
10205
10413
  const panel = open && mounted ? (0, import_react_dom13.createPortal)(
10206
- /* @__PURE__ */ React65.createElement(
10414
+ /* @__PURE__ */ React66.createElement(
10207
10415
  "div",
10208
10416
  {
10209
10417
  ref: popMerged,
@@ -10233,17 +10441,17 @@ window.Aura = (() => {
10233
10441
  } else trapTab(e, pop.current);
10234
10442
  }
10235
10443
  },
10236
- props.title ? /* @__PURE__ */ React65.createElement("div", { className: "aura-popover__head" }, /* @__PURE__ */ React65.createElement("p", { className: "aura-popover__title", id: id + "-title" }, props.title), /* @__PURE__ */ React65.createElement(
10444
+ props.title ? /* @__PURE__ */ React66.createElement("div", { className: "aura-popover__head" }, /* @__PURE__ */ React66.createElement("p", { className: "aura-popover__title", id: id + "-title" }, props.title), /* @__PURE__ */ React66.createElement(
10237
10445
  IconButton,
10238
10446
  {
10239
- icon: /* @__PURE__ */ React65.createElement(IconX, null),
10447
+ icon: /* @__PURE__ */ React66.createElement(IconX, null),
10240
10448
  label: t.close,
10241
10449
  onClick: function() {
10242
10450
  close(true);
10243
10451
  }
10244
10452
  }
10245
10453
  )) : null,
10246
- /* @__PURE__ */ React65.createElement("div", { className: "aura-popover__body" }, typeof props.children === "function" ? props.children({
10454
+ /* @__PURE__ */ React66.createElement("div", { className: "aura-popover__body" }, typeof props.children === "function" ? props.children({
10247
10455
  close: function() {
10248
10456
  close(true);
10249
10457
  }
@@ -10251,7 +10459,7 @@ window.Aura = (() => {
10251
10459
  ),
10252
10460
  document.body
10253
10461
  ) : null;
10254
- return /* @__PURE__ */ React65.createElement("span", { ref: wrap, className: "aura-popover-anchor" }, React65.cloneElement(child, {
10462
+ return /* @__PURE__ */ React66.createElement("span", { ref: wrap, className: "aura-popover-anchor" }, React66.cloneElement(child, {
10255
10463
  onClick: function(e) {
10256
10464
  if (child.props.onClick) child.props.onClick(e);
10257
10465
  st[1](!open);
@@ -10263,7 +10471,7 @@ window.Aura = (() => {
10263
10471
  });
10264
10472
 
10265
10473
  // src/NumberField.tsx
10266
- var React66 = __toESM(require_react(), 1);
10474
+ var React67 = __toESM(require_react(), 1);
10267
10475
  function decimalsOf(n3) {
10268
10476
  const s = String(n3);
10269
10477
  const i = s.indexOf(".");
@@ -10276,7 +10484,7 @@ window.Aura = (() => {
10276
10484
  if (!/^-?(\d+\.?\d*|\.\d+)$/.test(s)) return NaN;
10277
10485
  return Number(s);
10278
10486
  }
10279
- var NumberField = React66.forwardRef(function NumberField2(props, ref) {
10487
+ var NumberField = React67.forwardRef(function NumberField2(props, ref) {
10280
10488
  const t = useStrings();
10281
10489
  const auto = uid(), id = props.id || auto;
10282
10490
  const step = props.step || 1;
@@ -10287,7 +10495,7 @@ window.Aura = (() => {
10287
10495
  props.onChange
10288
10496
  );
10289
10497
  const value = st[0], setValue = st[1];
10290
- const draftState = React66.useState(null), draft = draftState[0], setDraft = draftState[1];
10498
+ const draftState = React67.useState(null), draft = draftState[0], setDraft = draftState[1];
10291
10499
  function fmt2(n3) {
10292
10500
  if (n3 == null || isNaN(n3)) return "";
10293
10501
  return n3.toLocaleString("en", { minimumFractionDigits: decimals, maximumFractionDigits: decimals });
@@ -10336,7 +10544,7 @@ window.Aura = (() => {
10336
10544
  };
10337
10545
  const valueText = value == null ? void 0 : [affixText(props.prefix), fmt2(value), affixText(props.suffix)].join(" ").trim();
10338
10546
  const stepper = props.stepper !== false && !props.readOnly;
10339
- return /* @__PURE__ */ React66.createElement(
10547
+ return /* @__PURE__ */ React67.createElement(
10340
10548
  Field,
10341
10549
  {
10342
10550
  id,
@@ -10348,7 +10556,7 @@ window.Aura = (() => {
10348
10556
  disabled: props.disabled,
10349
10557
  className: cx(touchClass(props.touchHeight), props.className)
10350
10558
  },
10351
- /* @__PURE__ */ React66.createElement("div", { className: cx("aura-input aura-number", stepper && "has-stepper") }, props.prefix != null ? /* @__PURE__ */ React66.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.prefix) : null, /* @__PURE__ */ React66.createElement(
10559
+ /* @__PURE__ */ React67.createElement("div", { className: cx("aura-input aura-number", stepper && "has-stepper") }, props.prefix != null ? /* @__PURE__ */ React67.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.prefix) : null, /* @__PURE__ */ React67.createElement(
10352
10560
  "input",
10353
10561
  {
10354
10562
  ref,
@@ -10395,7 +10603,7 @@ window.Aura = (() => {
10395
10603
  },
10396
10604
  onKeyDown
10397
10605
  }
10398
- ), props.suffix != null ? /* @__PURE__ */ React66.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.suffix) : null, stepper ? /* @__PURE__ */ React66.createElement("span", { className: "aura-number__steps" }, /* @__PURE__ */ React66.createElement(
10606
+ ), props.suffix != null ? /* @__PURE__ */ React67.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.suffix) : null, stepper ? /* @__PURE__ */ React67.createElement("span", { className: "aura-number__steps" }, /* @__PURE__ */ React67.createElement(
10399
10607
  "button",
10400
10608
  {
10401
10609
  type: "button",
@@ -10411,8 +10619,8 @@ window.Aura = (() => {
10411
10619
  nudge(-step);
10412
10620
  }
10413
10621
  },
10414
- /* @__PURE__ */ React66.createElement(Icon, { name: /* @__PURE__ */ React66.createElement(IconMinus, null) })
10415
- ), /* @__PURE__ */ React66.createElement(
10622
+ /* @__PURE__ */ React67.createElement(Icon, { name: /* @__PURE__ */ React67.createElement(IconMinus, null) })
10623
+ ), /* @__PURE__ */ React67.createElement(
10416
10624
  "button",
10417
10625
  {
10418
10626
  type: "button",
@@ -10428,14 +10636,14 @@ window.Aura = (() => {
10428
10636
  nudge(step);
10429
10637
  }
10430
10638
  },
10431
- /* @__PURE__ */ React66.createElement(Icon, { name: /* @__PURE__ */ React66.createElement(IconPlus, null) })
10639
+ /* @__PURE__ */ React67.createElement(Icon, { name: /* @__PURE__ */ React67.createElement(IconPlus, null) })
10432
10640
  )) : null)
10433
10641
  );
10434
10642
  });
10435
10643
 
10436
10644
  // src/Stepper.tsx
10437
- var React67 = __toESM(require_react(), 1);
10438
- var Stepper = React67.forwardRef(function Stepper2(props, ref) {
10645
+ var React68 = __toESM(require_react(), 1);
10646
+ var Stepper = React68.forwardRef(function Stepper2(props, ref) {
10439
10647
  const t = useStrings();
10440
10648
  const idBase = uid();
10441
10649
  const steps = props.steps || [];
@@ -10446,22 +10654,22 @@ window.Aura = (() => {
10446
10654
  if (at < 0) at = 0;
10447
10655
  const vertical = props.orientation === "vertical";
10448
10656
  const cur2 = steps[at];
10449
- return /* @__PURE__ */ React67.createElement(
10657
+ return /* @__PURE__ */ React68.createElement(
10450
10658
  "nav",
10451
10659
  {
10452
10660
  ref,
10453
10661
  "aria-label": props.label,
10454
10662
  className: cx("aura-stepper", vertical ? "aura-stepper--vertical" : "aura-stepper--horizontal", props.className)
10455
10663
  },
10456
- /* @__PURE__ */ React67.createElement("ol", { className: "aura-stepper__list" }, steps.map(function(s, i) {
10664
+ /* @__PURE__ */ React68.createElement("ol", { className: "aura-stepper__list" }, steps.map(function(s, i) {
10457
10665
  const state = i < at ? "done" : i === at ? "current" : "upcoming";
10458
10666
  const error = s.status === "error";
10459
- const marker = /* @__PURE__ */ React67.createElement("span", { className: "aura-stepper__marker", "aria-hidden": true }, error ? /* @__PURE__ */ React67.createElement(Icon, { name: /* @__PURE__ */ React67.createElement(IconCircleAlert, null) }) : state === "done" ? /* @__PURE__ */ React67.createElement(Icon, { name: /* @__PURE__ */ React67.createElement(IconCheck, null) }) : i + 1);
10667
+ const marker = /* @__PURE__ */ React68.createElement("span", { className: "aura-stepper__marker", "aria-hidden": true }, error ? /* @__PURE__ */ React68.createElement(Icon, { name: /* @__PURE__ */ React68.createElement(IconCircleAlert, null) }) : state === "done" ? /* @__PURE__ */ React68.createElement(Icon, { name: /* @__PURE__ */ React68.createElement(IconCheck, null) }) : i + 1);
10460
10668
  const note = error ? t.stepError : state === "done" ? t.stepDone : "";
10461
10669
  const clickable = state === "done" && !!props.onStepClick;
10462
10670
  const named = clickable && (typeof s.label === "string" || typeof s.label === "number") && String(s.label).trim() !== "";
10463
10671
  const descId = idBase + "-step-" + i;
10464
- const text2 = /* @__PURE__ */ React67.createElement("span", { className: "aura-stepper__text" }, named ? /* @__PURE__ */ React67.createElement("span", { className: "aura-sr-only" }, String(s.label) + (note ? ", " + note : "")) : null, /* @__PURE__ */ React67.createElement("span", { className: "aura-stepper__label", "aria-hidden": named ? true : void 0 }, s.label, note && !named ? /* @__PURE__ */ React67.createElement("span", { className: "aura-sr-only" }, ", " + note) : null), s.description ? /* @__PURE__ */ React67.createElement(
10672
+ const text2 = /* @__PURE__ */ React68.createElement("span", { className: "aura-stepper__text" }, named ? /* @__PURE__ */ React68.createElement("span", { className: "aura-sr-only" }, String(s.label) + (note ? ", " + note : "")) : null, /* @__PURE__ */ React68.createElement("span", { className: "aura-stepper__label", "aria-hidden": named ? true : void 0 }, s.label, note && !named ? /* @__PURE__ */ React68.createElement("span", { className: "aura-sr-only" }, ", " + note) : null), s.description ? /* @__PURE__ */ React68.createElement(
10465
10673
  "span",
10466
10674
  {
10467
10675
  className: "aura-stepper__desc",
@@ -10470,14 +10678,14 @@ window.Aura = (() => {
10470
10678
  },
10471
10679
  s.description
10472
10680
  ) : null);
10473
- return /* @__PURE__ */ React67.createElement(
10681
+ return /* @__PURE__ */ React68.createElement(
10474
10682
  "li",
10475
10683
  {
10476
10684
  key: s.id,
10477
10685
  className: cx("aura-stepper__item", "is-" + state, error && "is-error"),
10478
10686
  "aria-current": state === "current" ? "step" : void 0
10479
10687
  },
10480
- clickable ? /* @__PURE__ */ React67.createElement(
10688
+ clickable ? /* @__PURE__ */ React68.createElement(
10481
10689
  "button",
10482
10690
  {
10483
10691
  type: "button",
@@ -10489,19 +10697,19 @@ window.Aura = (() => {
10489
10697
  },
10490
10698
  marker,
10491
10699
  text2
10492
- ) : /* @__PURE__ */ React67.createElement("span", { className: "aura-stepper__step" }, marker, text2)
10700
+ ) : /* @__PURE__ */ React68.createElement("span", { className: "aura-stepper__step" }, marker, text2)
10493
10701
  );
10494
10702
  })),
10495
- !vertical && cur2 ? /* @__PURE__ */ React67.createElement("p", { className: "aura-stepper__compact", "aria-hidden": true }, /* @__PURE__ */ React67.createElement("span", { className: "aura-stepper__count" }, t.stepOf(at + 1, steps.length), cur2.status === "error" ? /* @__PURE__ */ React67.createElement("span", { className: "aura-stepper__count-error" }, " \u2014 " + t.stepError) : null), /* @__PURE__ */ React67.createElement("span", { className: "aura-stepper__compact-label" }, cur2.label)) : null
10703
+ !vertical && cur2 ? /* @__PURE__ */ React68.createElement("p", { className: "aura-stepper__compact", "aria-hidden": true }, /* @__PURE__ */ React68.createElement("span", { className: "aura-stepper__count" }, t.stepOf(at + 1, steps.length), cur2.status === "error" ? /* @__PURE__ */ React68.createElement("span", { className: "aura-stepper__count-error" }, " \u2014 " + t.stepError) : null), /* @__PURE__ */ React68.createElement("span", { className: "aura-stepper__compact-label" }, cur2.label)) : null
10496
10704
  );
10497
10705
  });
10498
10706
 
10499
10707
  // src/SegmentedControl.tsx
10500
- var React68 = __toESM(require_react(), 1);
10708
+ var React69 = __toESM(require_react(), 1);
10501
10709
  function toOpt2(o) {
10502
10710
  return typeof o === "object" ? o : { value: o, label: o };
10503
10711
  }
10504
- var SegmentedControl = React68.forwardRef(
10712
+ var SegmentedControl = React69.forwardRef(
10505
10713
  function SegmentedControl2(props, ref) {
10506
10714
  const options = (props.options || []).map(toOpt2);
10507
10715
  useAutoTip();
@@ -10515,7 +10723,7 @@ window.Aura = (() => {
10515
10723
  );
10516
10724
  const value = st[0], setValue = st[1];
10517
10725
  const auto = uid(), id = props.id || auto;
10518
- const refs = React68.useRef([]);
10726
+ const refs = React69.useRef([]);
10519
10727
  const selIdx = options.findIndex(function(o) {
10520
10728
  return o.value === value;
10521
10729
  });
@@ -10548,7 +10756,7 @@ window.Aura = (() => {
10548
10756
  move(options.length, -1);
10549
10757
  }
10550
10758
  }
10551
- return /* @__PURE__ */ React68.createElement(
10759
+ return /* @__PURE__ */ React69.createElement(
10552
10760
  "div",
10553
10761
  {
10554
10762
  ref,
@@ -10568,7 +10776,7 @@ window.Aura = (() => {
10568
10776
  options.map(function(o, i) {
10569
10777
  const on = o.value === value;
10570
10778
  const off = props.disabled || o.disabled;
10571
- return /* @__PURE__ */ React68.createElement(
10779
+ return /* @__PURE__ */ React69.createElement(
10572
10780
  "button",
10573
10781
  {
10574
10782
  key: o.value,
@@ -10590,8 +10798,8 @@ window.Aura = (() => {
10590
10798
  onKeyDown(e, i);
10591
10799
  }
10592
10800
  },
10593
- o.icon ? /* @__PURE__ */ React68.createElement(Icon, { name: o.icon }) : null,
10594
- o.iconOnly ? null : /* @__PURE__ */ React68.createElement("span", null, o.label)
10801
+ o.icon ? /* @__PURE__ */ React69.createElement(Icon, { name: o.icon }) : null,
10802
+ o.iconOnly ? null : /* @__PURE__ */ React69.createElement("span", null, o.label)
10595
10803
  );
10596
10804
  })
10597
10805
  );