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