@jirawatpyk/aura-react 5.50.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,
@@ -684,8 +685,17 @@ window.Aura = (() => {
684
685
  };
685
686
  function statusPillElement(props, ref) {
686
687
  const tone2 = props.tone || toneFor(props.children);
687
- const rest = omit(props, ["tone", "className", "children"]);
688
- return /* @__PURE__ */ React4.createElement("span", { ...rest, ref, className: cx("aura-pill", "aura-pill--" + tone2, props.className) }, /* @__PURE__ */ React4.createElement(Icon, { name: h2(PILL_ICON[tone2] || IconCircle), size: 12 }), props.children);
688
+ const rest = omit(props, ["tone", "className", "children", "wrap"]);
689
+ return /* @__PURE__ */ React4.createElement(
690
+ "span",
691
+ {
692
+ ...rest,
693
+ ref,
694
+ className: cx("aura-pill", "aura-pill--" + tone2, props.wrap && "is-wrap", props.className)
695
+ },
696
+ /* @__PURE__ */ React4.createElement(Icon, { name: h2(PILL_ICON[tone2] || IconCircle), size: 12 }),
697
+ props.wrap ? /* @__PURE__ */ React4.createElement("span", { className: "aura-pill__text" }, props.children) : props.children
698
+ );
689
699
  }
690
700
  function badgeElement(props, ref) {
691
701
  const rest = omit(props, ["tone", "variant", "icon", "className", "children"]);
@@ -5759,6 +5769,8 @@ window.Aura = (() => {
5759
5769
  const refreshing = busy && manual && rows.length > 0;
5760
5770
  const loading = busy && !refreshing;
5761
5771
  const selectable = !!props.selectable;
5772
+ const tabMode = props.keyboard === "tab";
5773
+ const tabIdx = tabMode ? void 0 : -1;
5762
5774
  const reorderable = props.reorderable !== false && !!props.columnControls;
5763
5775
  const controls = !!props.columnControls;
5764
5776
  const oneCallback = !!props.onStateChange;
@@ -5951,13 +5963,13 @@ window.Aura = (() => {
5951
5963
  const pending = React33.useRef(null);
5952
5964
  const resizing = React33.useRef(false);
5953
5965
  useIsoLayoutEffect(function() {
5954
- if (!gridRef.current) return;
5966
+ if (!gridRef.current || tabMode) return;
5955
5967
  const els = gridRef.current.querySelectorAll(
5956
5968
  '.aura-table__td button, .aura-table__td a[href], .aura-table__td input, .aura-table__td select, .aura-table__td textarea, .aura-table__td [tabindex="0"]'
5957
5969
  );
5958
5970
  for (let i = 0; i < els.length; i++) if (els[i].tabIndex !== -1) els[i].tabIndex = -1;
5959
5971
  });
5960
- function widthOf(c) {
5972
+ function widthOf2(c) {
5961
5973
  return widths[c.key] != null ? widths[c.key] : c.width;
5962
5974
  }
5963
5975
  const order = orderState[0].filter(function(k) {
@@ -6031,11 +6043,11 @@ window.Aura = (() => {
6031
6043
  return p === "field" || p === "wide";
6032
6044
  });
6033
6045
  const hasFlex = vis.some(function(c) {
6034
- return widthOf(c) == null;
6046
+ return widthOf2(c) == null;
6035
6047
  });
6036
6048
  let fixedSum = 0, hideTerms = "";
6037
6049
  vis.forEach(function(c) {
6038
- const w = widthOf(c) != null ? widthOf(c) : FLEX_MIN, lv = hideLevel(c);
6050
+ const w = widthOf2(c) != null ? widthOf2(c) : c.minWidth || FLEX_MIN, lv = hideLevel(c);
6039
6051
  if (lv && boxWidth[0] == null) hideTerms += " + " + w + "px * var(--aura-h" + lv + "-on, 1)";
6040
6052
  else fixedSum += w;
6041
6053
  });
@@ -6044,16 +6056,24 @@ window.Aura = (() => {
6044
6056
  if (isPinned(c)) {
6045
6057
  pinOffsets[c.key] = acc;
6046
6058
  const lv = hideLevel(c);
6047
- 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)" : "");
6048
6060
  }
6049
6061
  });
6062
+ if (vis.filter(function(c) {
6063
+ return !!c.sortDirection;
6064
+ }).length > 1)
6065
+ devWarnOnce(
6066
+ "datatable-sortdirection-twice",
6067
+ "DataTable: more than one column has sortDirection. The order follows one column; give it to that one."
6068
+ );
6050
6069
  const selW = selectable ? " + var(--aura-table-select-width)" : "";
6051
6070
  const gutterR = controls ? "var(--aura-space-12)" : "var(--aura-space-6)";
6052
6071
  const rowMinWidth = "calc(" + fixedSum + "px" + hideTerms + " + var(--aura-space-6) + " + gutterR + selW + ")";
6053
6072
  function cellStyle(c, i) {
6054
- const w = widthOf(c), s = {};
6073
+ const w = widthOf2(c), s = {};
6055
6074
  if (w == null) {
6056
- s["--aura-cell-flex"] = "1 1 0";
6075
+ const g = typeof c.grow === "number" && c.grow >= 0 && isFinite(c.grow) ? c.grow : 1;
6076
+ s["--aura-cell-flex"] = g + " 1 0";
6057
6077
  s["--aura-cell-min"] = (c.minWidth || FLEX_MIN) + "px";
6058
6078
  } else {
6059
6079
  s["--aura-cell-flex"] = !hasFlex && i === vis.length - 1 ? "1 0 auto" : "none";
@@ -6230,6 +6250,7 @@ window.Aura = (() => {
6230
6250
  [stacked]
6231
6251
  );
6232
6252
  function tabFor(r2, c) {
6253
+ if (tabMode) return -1;
6233
6254
  if (!activeRendered) return r2 === 0 && c === ac ? 0 : -1;
6234
6255
  return r2 === ar && c === acShown ? 0 : -1;
6235
6256
  }
@@ -6252,7 +6273,7 @@ window.Aura = (() => {
6252
6273
  const el = gridRef.current.querySelector('[data-rc="' + p.r + ":" + c + '"]');
6253
6274
  if (el) {
6254
6275
  pending.current = null;
6255
- el.focus();
6276
+ (p.menuBtn && el.querySelector(".aura-table__menu-btn") || el).focus();
6256
6277
  }
6257
6278
  });
6258
6279
  function focusCell(r2, c, dir) {
@@ -6364,7 +6385,7 @@ window.Aura = (() => {
6364
6385
  e.preventDefault();
6365
6386
  e.stopPropagation();
6366
6387
  resizing.current = true;
6367
- let x0 = e.clientX, w0 = widthOf(c), last = w0;
6388
+ let x0 = e.clientX, w0 = widthOf2(c), last = w0;
6368
6389
  const el = e.currentTarget;
6369
6390
  el.classList.add("is-dragging");
6370
6391
  document.body.style.cursor = "col-resize";
@@ -6528,7 +6549,7 @@ window.Aura = (() => {
6528
6549
  const m = menu;
6529
6550
  setMenu(null);
6530
6551
  if (restore && m) {
6531
- if (m.kind === "col") pending.current = { r: 0, key: m.key, c: m.rc ? m.rc.c : 0 };
6552
+ if (m.kind === "col") pending.current = { r: 0, key: m.key, c: m.rc ? m.rc.c : 0, menuBtn: tabMode };
6532
6553
  else if (m.anchor) m.anchor.focus();
6533
6554
  }
6534
6555
  }
@@ -6548,7 +6569,7 @@ window.Aura = (() => {
6548
6569
  const row = r2 > 0 && r2 <= nRows ? pageRows[r2 - 1] : null, isTotal = hasTotal && r2 === T;
6549
6570
  let handled = true;
6550
6571
  if (r2 === 0 && col && e.altKey && (k === "ArrowLeft" || k === "ArrowRight") && canResize(col))
6551
- 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);
6552
6573
  else if (r2 === 0 && col && e.ctrlKey && e.shiftKey && (k === "ArrowLeft" || k === "ArrowRight") && reorderable) {
6553
6574
  if (moveCol(col.key, k === "ArrowLeft" ? -1 : 1)) pending.current = { r: 0, key: col.key, c };
6554
6575
  } else if (r2 === 0 && col && (e.altKey && k === "ArrowDown" || k === "ContextMenu" || e.shiftKey && k === "F10") && controls)
@@ -6616,10 +6637,11 @@ window.Aura = (() => {
6616
6637
  pageKeys.length ? /* @__PURE__ */ React33.createElement(
6617
6638
  Checkbox,
6618
6639
  {
6640
+ ref: props.selectAllRef,
6619
6641
  hideLabel: true,
6620
6642
  checked: all,
6621
6643
  indeterminate: nSel > 0 && !all,
6622
- tabIndex: -1,
6644
+ tabIndex: tabIdx,
6623
6645
  label: all ? t.deselectAllRows : t.selectAllRows,
6624
6646
  onChange: toggleAll
6625
6647
  }
@@ -6631,7 +6653,8 @@ window.Aura = (() => {
6631
6653
  const ci = i + (selectable ? 1 : 0);
6632
6654
  const isSorted = sort && sort.key === c.key;
6633
6655
  const canSort = c.sortable && canSortAny;
6634
- const ariaSort = isSorted && canSort ? sort.dir === "desc" ? "descending" : "ascending" : canSort ? "none" : void 0;
6656
+ const own = c.sortDirection === "ascending" || c.sortDirection === "descending" ? c.sortDirection : void 0;
6657
+ const ariaSort = sort && canSortAny ? isSorted && canSort ? sort.dir === "desc" ? "descending" : "ascending" : canSort ? "none" : void 0 : own || (canSort ? "none" : void 0);
6635
6658
  const pin = isPinned(c), edge = pin && i === nPinned - 1;
6636
6659
  head.push(
6637
6660
  /* @__PURE__ */ React33.createElement(
@@ -6689,7 +6712,7 @@ window.Aura = (() => {
6689
6712
  "button",
6690
6713
  {
6691
6714
  type: "button",
6692
- tabIndex: -1,
6715
+ tabIndex: tabIdx,
6693
6716
  className: cx("aura-table__sort", isSorted && "is-active"),
6694
6717
  onClick: function() {
6695
6718
  sortBy(c.key);
@@ -6708,7 +6731,7 @@ window.Aura = (() => {
6708
6731
  "button",
6709
6732
  {
6710
6733
  type: "button",
6711
- tabIndex: -1,
6734
+ tabIndex: tabIdx,
6712
6735
  className: "aura-table__menu-btn",
6713
6736
  "aria-label": t.columnOptions(c.label),
6714
6737
  "aria-haspopup": "menu",
@@ -6783,7 +6806,7 @@ window.Aura = (() => {
6783
6806
  {
6784
6807
  hideLabel: true,
6785
6808
  checked: isSel,
6786
- tabIndex: -1,
6809
+ tabIndex: tabIdx,
6787
6810
  label: selLabel,
6788
6811
  onChange: function(on) {
6789
6812
  const shift = shiftClick.current;
@@ -8364,9 +8387,9 @@ window.Aura = (() => {
8364
8387
  const root = rootRef.current, bar = barRef.current;
8365
8388
  if (!root || !bar) return;
8366
8389
  function sync() {
8367
- const h11 = bar.getBoundingClientRect().height;
8368
- root.style.setProperty("--aura-shell-bar-height", awayRef.current || !pinned(bar) ? "0px" : h11 + "px");
8369
- 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));
8370
8393
  }
8371
8394
  sync();
8372
8395
  const ro = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(sync);
@@ -8533,13 +8556,176 @@ window.Aura = (() => {
8533
8556
  });
8534
8557
 
8535
8558
  // src/Table.tsx
8559
+ var React52 = __toESM(require_react(), 1);
8560
+
8561
+ // src/TableSkeleton.tsx
8536
8562
  var React51 = __toESM(require_react(), 1);
8537
- var StackLabels = React51.createContext(null);
8538
- 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);
8539
8725
  function flat2(children) {
8540
8726
  const out = [];
8541
- React51.Children.toArray(children).forEach(function(c) {
8542
- 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)
8543
8729
  out.push.apply(out, flat2(c.props.children));
8544
8730
  else out.push(c);
8545
8731
  });
@@ -8553,7 +8739,7 @@ window.Aura = (() => {
8553
8739
  });
8554
8740
  return parts.length ? parts.join("") : void 0;
8555
8741
  }
8556
- if (React51.isValidElement(node)) {
8742
+ if (React52.isValidElement(node)) {
8557
8743
  const p = node.props;
8558
8744
  if (p["aria-hidden"] === true || p["aria-hidden"] === "true") return void 0;
8559
8745
  return text(p.children);
@@ -8563,13 +8749,13 @@ window.Aura = (() => {
8563
8749
  function headerLabels(children) {
8564
8750
  let out = [];
8565
8751
  flat2(children).forEach(function(c) {
8566
- if (out.length || !React51.isValidElement(c) || c.type !== THead) return;
8752
+ if (out.length || !React52.isValidElement(c) || c.type !== THead) return;
8567
8753
  const row = flat2(c.props.children).find(function(r2) {
8568
- return React51.isValidElement(r2);
8754
+ return React52.isValidElement(r2);
8569
8755
  });
8570
8756
  if (!row) return;
8571
8757
  flat2(row.props.children).forEach(function(cell) {
8572
- if (!React51.isValidElement(cell)) return;
8758
+ if (!React52.isValidElement(cell)) return;
8573
8759
  const p = cell.props;
8574
8760
  const t = text(p.children);
8575
8761
  const label = p.label != null ? p.label : t != null ? t.replace(/\s+/g, " ").trim() || void 0 : void 0;
@@ -8579,7 +8765,34 @@ window.Aura = (() => {
8579
8765
  });
8580
8766
  return out;
8581
8767
  }
8582
- 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) {
8583
8796
  const {
8584
8797
  caption,
8585
8798
  captionHidden,
@@ -8593,10 +8806,24 @@ window.Aura = (() => {
8593
8806
  maxHeight,
8594
8807
  stackStyle,
8595
8808
  rowHeight,
8809
+ loading,
8810
+ loadingRows,
8596
8811
  className,
8597
8812
  children,
8598
8813
  ...rest
8599
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;
8600
8827
  const cards = !!stackBelow && stackStyle === "cards";
8601
8828
  if (maxHeight != null && caption == null && !rest["aria-label"] && !rest["aria-labelledby"])
8602
8829
  devWarnOnce(
@@ -8609,12 +8836,12 @@ window.Aura = (() => {
8609
8836
  "tbl-stack-labels",
8610
8837
  "Table stackBelow: no THead > Tr > Th found among its children, so cells have no labels. Pass `label` on each Td."
8611
8838
  );
8612
- const outer = React51.useContext(StackLabels);
8839
+ const outer = React52.useContext(StackLabels);
8613
8840
  const pageDensity = useDensity();
8614
8841
  const capId = uid();
8615
- const wrap = React51.useRef(null);
8616
- const sc = React51.useState(false), scrolls = sc[0];
8617
- 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);
8618
8845
  useIsoLayoutEffect(function() {
8619
8846
  const el = wrap.current;
8620
8847
  if (!el || typeof ResizeObserver === "undefined") return;
@@ -8631,7 +8858,7 @@ window.Aura = (() => {
8631
8858
  ro.disconnect();
8632
8859
  };
8633
8860
  }, []);
8634
- const table = /* @__PURE__ */ React51.createElement(
8861
+ const table = /* @__PURE__ */ React52.createElement(
8635
8862
  "div",
8636
8863
  {
8637
8864
  ref: wrap,
@@ -8650,12 +8877,13 @@ window.Aura = (() => {
8650
8877
  ),
8651
8878
  style: maxHeight != null ? { maxHeight: typeof maxHeight === "number" ? maxHeight + "px" : maxHeight } : void 0,
8652
8879
  "data-density": density || pageDensity,
8653
- tabIndex: scrolls ? 0 : void 0,
8654
- role: scrolls && (caption != null || rest["aria-label"] || rest["aria-labelledby"]) ? "region" : void 0,
8655
- "aria-labelledby": scrolls ? caption != null ? capId : rest["aria-labelledby"] : void 0,
8656
- "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
8657
8885
  },
8658
- /* @__PURE__ */ React51.createElement(
8886
+ /* @__PURE__ */ React52.createElement(
8659
8887
  "table",
8660
8888
  {
8661
8889
  ref,
@@ -8666,16 +8894,18 @@ window.Aura = (() => {
8666
8894
  (align === "middle" || rowHeight === "density" && align !== "top") && "aura-tbl--middle",
8667
8895
  rowHeight === "density" && "aura-tbl--row-density",
8668
8896
  cards && "aura-tbl--cards",
8897
+ loading && "aura-tbl--skeleton",
8669
8898
  className
8670
8899
  ),
8671
8900
  role: stackBelow ? "table" : void 0,
8672
8901
  ...rest
8673
8902
  },
8674
- caption != null ? /* @__PURE__ */ React51.createElement("caption", { id: capId, className: cx("aura-tbl__caption", captionHidden && "aura-sr-only") }, caption) : null,
8675
- 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
8676
8906
  )
8677
8907
  );
8678
- return cards ? /* @__PURE__ */ React51.createElement(
8908
+ return cards ? /* @__PURE__ */ React52.createElement(
8679
8909
  "div",
8680
8910
  {
8681
8911
  className: cx(
@@ -8688,10 +8918,10 @@ window.Aura = (() => {
8688
8918
  ) : table;
8689
8919
  });
8690
8920
  function section(tag, cls) {
8691
- const C = React51.forwardRef(function TableSection(props, ref) {
8921
+ const C = React52.forwardRef(function TableSection(props, ref) {
8692
8922
  const { className, ...rest } = props;
8693
- const stacked = React51.useContext(StackLabels) != null;
8694
- return React51.createElement(
8923
+ const stacked = React52.useContext(StackLabels) != null;
8924
+ return React52.createElement(
8695
8925
  tag,
8696
8926
  Object.assign({ ref, className: cx(cls, className), role: stacked ? "rowgroup" : void 0 }, rest)
8697
8927
  );
@@ -8704,14 +8934,14 @@ window.Aura = (() => {
8704
8934
  TBody.displayName = "TBody";
8705
8935
  var TFoot = section("tfoot", "aura-tbl__foot");
8706
8936
  TFoot.displayName = "TFoot";
8707
- var Tr = React51.forwardRef(function Tr2(props, ref) {
8937
+ var Tr = React52.forwardRef(function Tr2(props, ref) {
8708
8938
  const { className, children, ...rest } = props;
8709
- const stacked = React51.useContext(StackLabels) != null;
8939
+ const stacked = React52.useContext(StackLabels) != null;
8710
8940
  let col = 0;
8711
- 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) {
8712
8942
  const at = col;
8713
- if (React51.isValidElement(c)) col += Math.max(1, Number(c.props.colSpan) || 1);
8714
- 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);
8715
8945
  }) : children);
8716
8946
  });
8717
8947
  function cellClass(base, p) {
@@ -8725,10 +8955,10 @@ window.Aura = (() => {
8725
8955
  p.className
8726
8956
  );
8727
8957
  }
8728
- var Th = React51.forwardRef(function Th2(props, ref) {
8729
- const { align, numeric, mono, className, scope, label, card, ...rest } = props;
8730
- const stacked = React51.useContext(StackLabels) != null;
8731
- 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(
8732
8962
  "th",
8733
8963
  {
8734
8964
  ref,
@@ -8740,12 +8970,12 @@ window.Aura = (() => {
8740
8970
  }
8741
8971
  );
8742
8972
  });
8743
- var Td = React51.forwardRef(function Td2(props, ref) {
8744
- const { align, numeric, mono, className, scope, label, card, ...rest } = props;
8745
- 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);
8746
8976
  const slot = labels && (card === "title" || card === "action") ? card : void 0;
8747
8977
  const shown = labels && !slot ? label != null ? label : col >= 0 ? labels[col] : void 0 : void 0;
8748
- return /* @__PURE__ */ React51.createElement(
8978
+ return /* @__PURE__ */ React52.createElement(
8749
8979
  "td",
8750
8980
  {
8751
8981
  ref,
@@ -8759,8 +8989,8 @@ window.Aura = (() => {
8759
8989
  });
8760
8990
 
8761
8991
  // src/BottomNav.tsx
8762
- var React52 = __toESM(require_react(), 1);
8763
- var BottomNav = React52.forwardRef(function BottomNav2(props, ref) {
8992
+ var React53 = __toESM(require_react(), 1);
8993
+ var BottomNav = React53.forwardRef(function BottomNav2(props, ref) {
8764
8994
  const t = useStrings();
8765
8995
  const Link = useLinkComponent(props.linkComponent);
8766
8996
  const st = useMaybeControlled(
@@ -8770,7 +9000,7 @@ window.Aura = (() => {
8770
9000
  );
8771
9001
  const active = st[0];
8772
9002
  const hide2 = props.hideFrom === false ? "always" : "below-" + (props.hideFrom || "lg");
8773
- const own = React52.useRef(null);
9003
+ const own = React53.useRef(null);
8774
9004
  const hf = props.hideFrom === false ? null : props.hideFrom || "lg";
8775
9005
  const away = useHideOnScroll(
8776
9006
  !!props.hideOnScroll,
@@ -8778,7 +9008,7 @@ window.Aura = (() => {
8778
9008
  hf ? "(max-width: " + (breakpoints[hf] - 0.02) + "px)" : "all",
8779
9009
  64
8780
9010
  );
8781
- const setRef = React52.useCallback(
9011
+ const setRef = React53.useCallback(
8782
9012
  function(el) {
8783
9013
  own.current = el;
8784
9014
  if (typeof ref === "function") ref(el);
@@ -8786,7 +9016,7 @@ window.Aura = (() => {
8786
9016
  },
8787
9017
  [ref]
8788
9018
  );
8789
- 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(
8790
9020
  "nav",
8791
9021
  {
8792
9022
  ref: setRef,
@@ -8799,7 +9029,7 @@ window.Aura = (() => {
8799
9029
  ),
8800
9030
  "aria-label": props.label || t.mainNav
8801
9031
  },
8802
- /* @__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) {
8803
9033
  if (it.ariaLabel && typeof it.label === "string" && it.ariaLabel.toLowerCase().indexOf(it.label.toLowerCase()) < 0)
8804
9034
  devWarnOnce(
8805
9035
  "bottomnav-label-" + it.id,
@@ -8820,23 +9050,23 @@ window.Aura = (() => {
8820
9050
  }
8821
9051
  };
8822
9052
  const inner = [
8823
- /* @__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),
8824
- it.ariaLabel ? /* @__PURE__ */ React52.createElement("span", { key: "n", className: "aura-sr-only" }, it.ariaLabel + suffix) : null,
8825
- /* @__PURE__ */ React52.createElement("span", { key: "l", className: "aura-bottomnav__label", "aria-hidden": it.ariaLabel ? true : void 0 }, it.label),
8826
- 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
8827
9057
  ];
8828
- 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));
8829
9059
  }))
8830
9060
  ));
8831
9061
  });
8832
9062
 
8833
9063
  // src/Surface.tsx
8834
- var React53 = __toESM(require_react(), 1);
8835
- var h10 = React53.createElement;
8836
- 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) {
8837
9067
  const t = props.texture || "mesh";
8838
9068
  const rest = omit(props, ["texture", "className", "children", "as"]);
8839
- return h10(
9069
+ return h11(
8840
9070
  props.as || "div",
8841
9071
  Object.assign({}, rest, {
8842
9072
  ref,
@@ -8854,14 +9084,14 @@ window.Aura = (() => {
8854
9084
  });
8855
9085
 
8856
9086
  // src/Stat.tsx
8857
- var React54 = __toESM(require_react(), 1);
8858
- var Stat = React54.forwardRef(function Stat2(props, ref) {
9087
+ var React55 = __toESM(require_react(), 1);
9088
+ var Stat = React55.forwardRef(function Stat2(props, ref) {
8859
9089
  const Link = useLinkComponent(props.linkComponent);
8860
9090
  return statElement(props, ref, Link);
8861
9091
  });
8862
9092
 
8863
9093
  // src/TimePicker.tsx
8864
- var React55 = __toESM(require_react(), 1);
9094
+ var React56 = __toESM(require_react(), 1);
8865
9095
  var import_react_dom12 = __toESM(require_react_dom(), 1);
8866
9096
 
8867
9097
  // src/text.ts
@@ -8903,7 +9133,7 @@ window.Aura = (() => {
8903
9133
  function fromMin(n3) {
8904
9134
  return pad3(Math.floor(n3 / 60)) + ":" + pad3(n3 % 60);
8905
9135
  }
8906
- var TimePicker = React55.forwardRef(function TimePicker2(props, ref) {
9136
+ var TimePicker = React56.forwardRef(function TimePicker2(props, ref) {
8907
9137
  const t = useStrings();
8908
9138
  const auto = uid(), id = props.id || auto, listId = id + "-list";
8909
9139
  const st = useMaybeControlled(
@@ -8913,7 +9143,7 @@ window.Aura = (() => {
8913
9143
  );
8914
9144
  const value = st[0];
8915
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;
8916
- const slots = React55.useMemo(
9146
+ const slots = React56.useMemo(
8917
9147
  function() {
8918
9148
  const out = [];
8919
9149
  for (let m = lo; m <= hi; m += step) out.push(fromMin(m));
@@ -8925,12 +9155,12 @@ window.Aura = (() => {
8925
9155
  const n3 = toMin(v);
8926
9156
  return n3 == null || n3 < lo || n3 > hi || props.isTimeDisabled && props.isTimeDisabled(v);
8927
9157
  }
8928
- const openState = React55.useState(false), open = openState[0], setOpen = openState[1];
8929
- const editState = React55.useState(null), editing = editState[0], setEditing = editState[1];
8930
- const aState = React55.useState(0), active = aState[0], setActive = aState[1];
8931
- const errState = React55.useState(null);
8932
- const pos = React55.useState(null);
8933
- 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);
8934
9164
  const mounted = useMounted();
8935
9165
  function nearest(v) {
8936
9166
  const n3 = toMin(v);
@@ -8958,7 +9188,7 @@ window.Aura = (() => {
8958
9188
  },
8959
9189
  [open]
8960
9190
  );
8961
- React55.useEffect(
9191
+ React56.useEffect(
8962
9192
  function() {
8963
9193
  if (!open) return;
8964
9194
  function outside(e) {
@@ -8980,7 +9210,7 @@ window.Aura = (() => {
8980
9210
  },
8981
9211
  [open]
8982
9212
  );
8983
- React55.useEffect(
9213
+ React56.useEffect(
8984
9214
  function() {
8985
9215
  if (!open || !listRef.current) return;
8986
9216
  const el = listRef.current.querySelector('[data-idx="' + active + '"]');
@@ -9079,9 +9309,9 @@ window.Aura = (() => {
9079
9309
  }
9080
9310
  const error = errState[0] || props.error;
9081
9311
  const list = open && mounted && pos[0] ? (0, import_react_dom12.createPortal)(
9082
- /* @__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) {
9083
9313
  const dis = blocked(s), sel = s === value;
9084
- return /* @__PURE__ */ React55.createElement(
9314
+ return /* @__PURE__ */ React56.createElement(
9085
9315
  "li",
9086
9316
  {
9087
9317
  key: s,
@@ -9106,13 +9336,13 @@ window.Aura = (() => {
9106
9336
  if (active !== i) setActive(i);
9107
9337
  }
9108
9338
  },
9109
- /* @__PURE__ */ React55.createElement("span", { className: "aura-combo__label" }, s),
9110
- 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
9111
9341
  );
9112
9342
  }))),
9113
9343
  document.body
9114
9344
  ) : null;
9115
- return /* @__PURE__ */ React55.createElement(
9345
+ return /* @__PURE__ */ React56.createElement(
9116
9346
  Field,
9117
9347
  {
9118
9348
  id,
@@ -9124,7 +9354,7 @@ window.Aura = (() => {
9124
9354
  disabled: props.disabled,
9125
9355
  className: cx(touchClass(props.touchHeight), props.className)
9126
9356
  },
9127
- /* @__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(
9128
9358
  "input",
9129
9359
  {
9130
9360
  ref: inputMerged,
@@ -9164,7 +9394,7 @@ window.Aura = (() => {
9164
9394
  }, 0);
9165
9395
  }
9166
9396
  }
9167
- ), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React55.createElement(
9397
+ ), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React56.createElement(
9168
9398
  "button",
9169
9399
  {
9170
9400
  type: "button",
@@ -9177,8 +9407,8 @@ window.Aura = (() => {
9177
9407
  if (inputRef.current) inputRef.current.focus();
9178
9408
  }
9179
9409
  },
9180
- /* @__PURE__ */ React55.createElement(Icon, { name: /* @__PURE__ */ React55.createElement(IconX, null) })
9181
- ) : null, /* @__PURE__ */ React55.createElement(
9410
+ /* @__PURE__ */ React56.createElement(Icon, { name: /* @__PURE__ */ React56.createElement(IconX, null) })
9411
+ ) : null, /* @__PURE__ */ React56.createElement(
9182
9412
  "button",
9183
9413
  {
9184
9414
  type: "button",
@@ -9196,14 +9426,14 @@ window.Aura = (() => {
9196
9426
  }
9197
9427
  }
9198
9428
  },
9199
- /* @__PURE__ */ React55.createElement(Icon, { name: /* @__PURE__ */ React55.createElement(IconChevronDown, null) })
9429
+ /* @__PURE__ */ React56.createElement(Icon, { name: /* @__PURE__ */ React56.createElement(IconChevronDown, null) })
9200
9430
  )),
9201
9431
  list
9202
9432
  );
9203
9433
  });
9204
9434
 
9205
9435
  // src/FileUpload.tsx
9206
- var React56 = __toESM(require_react(), 1);
9436
+ var React57 = __toESM(require_react(), 1);
9207
9437
  function matches(file, accept) {
9208
9438
  if (!accept) return true;
9209
9439
  const name = (file.name || "").toLowerCase(), type = (file.type || "").toLowerCase();
@@ -9227,24 +9457,24 @@ window.Aura = (() => {
9227
9457
  }).join(", ");
9228
9458
  }
9229
9459
  var seq = 0;
9230
- var FileUpload = React56.forwardRef(function FileUpload2(props, ref) {
9460
+ var FileUpload = React57.forwardRef(function FileUpload2(props, ref) {
9231
9461
  const t = useStrings();
9232
9462
  const auto = uid(), id = props.id || auto;
9233
9463
  const st = useMaybeControlled(props.value, props.defaultValue || [], props.onChange);
9234
9464
  const items2 = st[0] || [];
9235
- const dragState = React56.useState(false), over = dragState[0];
9236
- const inputRef = React56.useRef(null), inputMerged = useMergedRef(ref, inputRef);
9237
- 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({});
9238
9468
  const maxFiles = props.multiple ? props.maxFiles : 1;
9239
9469
  const note = t.accepts(describeAccept(props.accept, t), props.maxSize ? formatBytes(props.maxSize) : "");
9240
- React56.useEffect(function() {
9470
+ React57.useEffect(function() {
9241
9471
  return function() {
9242
9472
  Object.keys(urls.current).forEach(function(k) {
9243
9473
  URL.revokeObjectURL(urls.current[k]);
9244
9474
  });
9245
9475
  };
9246
9476
  }, []);
9247
- React56.useEffect(
9477
+ React57.useEffect(
9248
9478
  function() {
9249
9479
  const el = inputRef.current;
9250
9480
  if (!el || !props.name || typeof DataTransfer === "undefined") return;
@@ -9304,7 +9534,7 @@ window.Aura = (() => {
9304
9534
  if (inputRef.current) inputRef.current.focus();
9305
9535
  }
9306
9536
  const error = props.error;
9307
- return /* @__PURE__ */ React56.createElement(
9537
+ return /* @__PURE__ */ React57.createElement(
9308
9538
  Field,
9309
9539
  {
9310
9540
  id,
@@ -9316,7 +9546,7 @@ window.Aura = (() => {
9316
9546
  disabled: props.disabled,
9317
9547
  className: props.className
9318
9548
  },
9319
- /* @__PURE__ */ React56.createElement(
9549
+ /* @__PURE__ */ React57.createElement(
9320
9550
  "div",
9321
9551
  {
9322
9552
  className: cx("aura-upload", over && "is-over", props.disabled && "is-disabled", error && "is-invalid"),
@@ -9337,9 +9567,9 @@ window.Aura = (() => {
9337
9567
  add(e.dataTransfer && e.dataTransfer.files);
9338
9568
  }
9339
9569
  },
9340
- /* @__PURE__ */ React56.createElement(Icon, { name: /* @__PURE__ */ React56.createElement(IconCloudUpload, null), size: "lg", className: "aura-upload__icon" }),
9341
- /* @__PURE__ */ React56.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
9342
- /* @__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(
9343
9573
  "input",
9344
9574
  {
9345
9575
  ref: inputMerged,
@@ -9361,12 +9591,12 @@ window.Aura = (() => {
9361
9591
  }
9362
9592
  }
9363
9593
  ),
9364
- /* @__PURE__ */ React56.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
9365
- 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
9366
9596
  ),
9367
- 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) {
9368
9598
  const src = thumb(it);
9369
- 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(
9370
9600
  "span",
9371
9601
  {
9372
9602
  className: "aura-upload__bar",
@@ -9376,11 +9606,11 @@ window.Aura = (() => {
9376
9606
  "aria-valuemax": 100,
9377
9607
  "aria-valuenow": it.progress != null ? Math.round(it.progress) : void 0
9378
9608
  },
9379
- /* @__PURE__ */ React56.createElement("span", { style: { width: (it.progress || 0) + "%" } })
9380
- ) : null), /* @__PURE__ */ React56.createElement(
9609
+ /* @__PURE__ */ React57.createElement("span", { style: { width: (it.progress || 0) + "%" } })
9610
+ ) : null), /* @__PURE__ */ React57.createElement(
9381
9611
  IconButton,
9382
9612
  {
9383
- icon: /* @__PURE__ */ React56.createElement(IconX, null),
9613
+ icon: /* @__PURE__ */ React57.createElement(IconX, null),
9384
9614
  label: t.remove(it.name),
9385
9615
  onClick: function() {
9386
9616
  remove(it);
@@ -9393,14 +9623,14 @@ window.Aura = (() => {
9393
9623
 
9394
9624
  // src/theme.ts
9395
9625
  function hexToRgb(hex) {
9396
- let h11 = String(hex).trim().replace("#", "");
9397
- if (h11.length === 3)
9398
- 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) {
9399
9629
  return c + c;
9400
9630
  }).join("");
9401
- 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');
9402
9632
  return [0, 2, 4].map(function(i) {
9403
- return parseInt(h11.slice(i, i + 2), 16) / 255;
9633
+ return parseInt(h12.slice(i, i + 2), 16) / 255;
9404
9634
  });
9405
9635
  }
9406
9636
  function rgbToHex(rgb) {
@@ -9696,9 +9926,9 @@ window.Aura = (() => {
9696
9926
  }
9697
9927
 
9698
9928
  // src/ThemeStyle.tsx
9699
- var React57 = __toESM(require_react(), 1);
9929
+ var React58 = __toESM(require_react(), 1);
9700
9930
  function ThemeStyle(props) {
9701
- const css = React57.useMemo(
9931
+ const css = React58.useMemo(
9702
9932
  function() {
9703
9933
  try {
9704
9934
  return createTheme({
@@ -9715,11 +9945,11 @@ window.Aura = (() => {
9715
9945
  [props.brand, props.signal, props.primary, props.name, props.selector]
9716
9946
  );
9717
9947
  if (css === null) return null;
9718
- 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 } });
9719
9949
  }
9720
9950
 
9721
9951
  // src/colorScheme.tsx
9722
- var React58 = __toESM(require_react(), 1);
9952
+ var React59 = __toESM(require_react(), 1);
9723
9953
 
9724
9954
  // src/colorSchemeScript.ts
9725
9955
  var DEFAULT_KEY = "aura-color-scheme";
@@ -9736,7 +9966,7 @@ window.Aura = (() => {
9736
9966
 
9737
9967
  // src/colorScheme.tsx
9738
9968
  function ColorSchemeScript(props) {
9739
- return /* @__PURE__ */ React58.createElement(
9969
+ return /* @__PURE__ */ React59.createElement(
9740
9970
  "script",
9741
9971
  {
9742
9972
  "data-aura-color-scheme": "",
@@ -9761,7 +9991,7 @@ window.Aura = (() => {
9761
9991
  function useColorScheme(options) {
9762
9992
  const key = options && options.storageKey || DEFAULT_KEY;
9763
9993
  const fallback = options && options.defaultScheme || "system";
9764
- const subscribe2 = React58.useCallback(
9994
+ const subscribe2 = React59.useCallback(
9765
9995
  function(cb) {
9766
9996
  const mq = window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)") : null;
9767
9997
  function onSystem() {
@@ -9783,7 +10013,7 @@ window.Aura = (() => {
9783
10013
  },
9784
10014
  [fallback, key]
9785
10015
  );
9786
- const snapshot = React58.useSyncExternalStore(
10016
+ const snapshot = React59.useSyncExternalStore(
9787
10017
  subscribe2,
9788
10018
  function() {
9789
10019
  const s = readScheme(fallback);
@@ -9794,7 +10024,7 @@ window.Aura = (() => {
9794
10024
  }
9795
10025
  );
9796
10026
  const parts = snapshot.split("|");
9797
- const setScheme = React58.useCallback(
10027
+ const setScheme = React59.useCallback(
9798
10028
  function(next) {
9799
10029
  if (!valid(next)) return;
9800
10030
  try {
@@ -9813,14 +10043,14 @@ window.Aura = (() => {
9813
10043
  const cs = useColorScheme(props);
9814
10044
  const names = { light: t.schemeLight, dark: t.schemeDark, system: t.schemeSystem };
9815
10045
  const label = props.label || t.colorScheme;
9816
- return /* @__PURE__ */ React58.createElement(
10046
+ return /* @__PURE__ */ React59.createElement(
9817
10047
  DropdownMenu,
9818
10048
  {
9819
10049
  label,
9820
- trigger: /* @__PURE__ */ React58.createElement(
10050
+ trigger: /* @__PURE__ */ React59.createElement(
9821
10051
  IconButton,
9822
10052
  {
9823
- 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),
9824
10054
  label: label + ": " + names[cs.scheme]
9825
10055
  }
9826
10056
  ),
@@ -9838,14 +10068,14 @@ window.Aura = (() => {
9838
10068
  }
9839
10069
 
9840
10070
  // src/Badge.tsx
9841
- var React59 = __toESM(require_react(), 1);
9842
- var Badge = React59.forwardRef(function Badge2(props, ref) {
10071
+ var React60 = __toESM(require_react(), 1);
10072
+ var Badge = React60.forwardRef(function Badge2(props, ref) {
9843
10073
  return badgeElement(props, ref);
9844
10074
  });
9845
10075
 
9846
10076
  // src/Progress.tsx
9847
- var React60 = __toESM(require_react(), 1);
9848
- var Progress = React60.forwardRef(function Progress2(props, ref) {
10077
+ var React61 = __toESM(require_react(), 1);
10078
+ var Progress = React61.forwardRef(function Progress2(props, ref) {
9849
10079
  const t = useStrings();
9850
10080
  const auto = uid(), id = props.id || auto;
9851
10081
  const max = props.max || 100, det = props.value != null;
@@ -9854,7 +10084,7 @@ window.Aura = (() => {
9854
10084
  const spct = sec ? Math.max(0, Math.min(100 - pct, sec / max * 100)) : 0;
9855
10085
  const valueText = props.valueText != null ? props.valueText : props.valueLabel != null ? String(props.valueLabel) : sec ? t.progressReserved(props.value, sec, max) : void 0;
9856
10086
  const shown = props.valueLabel != null ? props.valueLabel : det ? Math.round(pct) + "%" : null;
9857
- return /* @__PURE__ */ React60.createElement(
10087
+ return /* @__PURE__ */ React61.createElement(
9858
10088
  "div",
9859
10089
  {
9860
10090
  ref,
@@ -9865,8 +10095,8 @@ window.Aura = (() => {
9865
10095
  props.className
9866
10096
  )
9867
10097
  },
9868
- 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,
9869
- /* @__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(
9870
10100
  "div",
9871
10101
  {
9872
10102
  className: cx("aura-progress__track", !det && "is-indeterminate"),
@@ -9878,8 +10108,8 @@ window.Aura = (() => {
9878
10108
  "aria-valuenow": det ? props.value : void 0,
9879
10109
  "aria-valuetext": det ? valueText : void 0
9880
10110
  },
9881
- /* @__PURE__ */ React60.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 }),
9882
- sec ? /* @__PURE__ */ React60.createElement(
10111
+ /* @__PURE__ */ React61.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 }),
10112
+ sec ? /* @__PURE__ */ React61.createElement(
9883
10113
  "span",
9884
10114
  {
9885
10115
  className: "aura-progress__bar aura-progress__bar--reserved",
@@ -9887,19 +10117,19 @@ window.Aura = (() => {
9887
10117
  }
9888
10118
  ) : null
9889
10119
  ),
9890
- 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
9891
10121
  );
9892
10122
  });
9893
10123
 
9894
10124
  // src/Skeleton.tsx
9895
- var React61 = __toESM(require_react(), 1);
9896
- var Skeleton = React61.forwardRef(function Skeleton2(props, ref) {
10125
+ var React62 = __toESM(require_react(), 1);
10126
+ var Skeleton = React62.forwardRef(function Skeleton2(props, ref) {
9897
10127
  const v = props.variant || "text";
9898
10128
  if (v === "text" && (props.lines || 1) > 1) {
9899
10129
  const n3 = props.lines, rows = [];
9900
10130
  for (let i = 0; i < n3; i++)
9901
- rows.push(/* @__PURE__ */ React61.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n3 - 1 ? "60%" : "100%" } }));
9902
- 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(
9903
10133
  "span",
9904
10134
  {
9905
10135
  ref,
@@ -9917,17 +10147,17 @@ window.Aura = (() => {
9917
10147
  if (v === "circle") {
9918
10148
  style.width = style.height = props.size || props.width || 40;
9919
10149
  }
9920
- 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 });
9921
10151
  });
9922
10152
 
9923
10153
  // src/EmptyState.tsx
9924
- var React62 = __toESM(require_react(), 1);
9925
- var EmptyState = React62.forwardRef(function EmptyState2(props, ref) {
10154
+ var React63 = __toESM(require_react(), 1);
10155
+ var EmptyState = React63.forwardRef(function EmptyState2(props, ref) {
9926
10156
  return emptyStateElement(props, ref);
9927
10157
  });
9928
10158
 
9929
10159
  // src/Pagination.tsx
9930
- var React63 = __toESM(require_react(), 1);
10160
+ var React64 = __toESM(require_react(), 1);
9931
10161
  function pageList(page, count, sib) {
9932
10162
  let out = [], lo = Math.max(2, page - sib), hi = Math.min(count - 1, page + sib);
9933
10163
  if (page - sib <= 3) {
@@ -9947,7 +10177,7 @@ window.Aura = (() => {
9947
10177
  if (count > 1) out.push(count);
9948
10178
  return out;
9949
10179
  }
9950
- var Pagination = React63.forwardRef(function Pagination2(props, ref) {
10180
+ var Pagination = React64.forwardRef(function Pagination2(props, ref) {
9951
10181
  const t = useStrings();
9952
10182
  useAutoTip();
9953
10183
  const count = Math.max(1, props.pageCount || 1);
@@ -9967,7 +10197,7 @@ window.Aura = (() => {
9967
10197
  },
9968
10198
  extra
9969
10199
  );
9970
- return link ? /* @__PURE__ */ React63.createElement(
10200
+ return link ? /* @__PURE__ */ React64.createElement(
9971
10201
  Link,
9972
10202
  {
9973
10203
  href: link(p),
@@ -9980,7 +10210,7 @@ window.Aura = (() => {
9980
10210
  ...common
9981
10211
  },
9982
10212
  label
9983
- ) : /* @__PURE__ */ React63.createElement(
10213
+ ) : /* @__PURE__ */ React64.createElement(
9984
10214
  "button",
9985
10215
  {
9986
10216
  type: "button",
@@ -9994,7 +10224,7 @@ window.Aura = (() => {
9994
10224
  }
9995
10225
  function arrow(p, icon, label, rel, disabled) {
9996
10226
  if (!link || disabled)
9997
- return /* @__PURE__ */ React63.createElement(
10227
+ return /* @__PURE__ */ React64.createElement(
9998
10228
  IconButton,
9999
10229
  {
10000
10230
  icon,
@@ -10005,7 +10235,7 @@ window.Aura = (() => {
10005
10235
  }
10006
10236
  }
10007
10237
  );
10008
- return /* @__PURE__ */ React63.createElement(
10238
+ return /* @__PURE__ */ React64.createElement(
10009
10239
  Link,
10010
10240
  {
10011
10241
  href: link(p),
@@ -10020,17 +10250,17 @@ window.Aura = (() => {
10020
10250
  }
10021
10251
  }
10022
10252
  },
10023
- /* @__PURE__ */ React63.createElement(Icon, { name: icon, size: "sm" })
10253
+ /* @__PURE__ */ React64.createElement(Icon, { name: icon, size: "sm" })
10024
10254
  );
10025
10255
  }
10026
- 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) {
10027
- 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");
10028
- })), /* @__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));
10029
10259
  });
10030
10260
 
10031
10261
  // src/Accordion.tsx
10032
- var React64 = __toESM(require_react(), 1);
10033
- var Accordion = React64.forwardRef(function Accordion2(props, ref) {
10262
+ var React65 = __toESM(require_react(), 1);
10263
+ var Accordion = React65.forwardRef(function Accordion2(props, ref) {
10034
10264
  const auto = uid(), base = props.id || auto;
10035
10265
  const multiple = props.type === "multiple";
10036
10266
  const st = useMaybeControlled(
@@ -10068,9 +10298,9 @@ window.Aura = (() => {
10068
10298
  n3.focus();
10069
10299
  }
10070
10300
  }
10071
- 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) {
10072
10302
  const on = open.indexOf(it.id) >= 0, bid = base + "-btn-" + it.id, pid = base + "-panel-" + it.id;
10073
- 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(
10074
10304
  "button",
10075
10305
  {
10076
10306
  type: "button",
@@ -10083,10 +10313,10 @@ window.Aura = (() => {
10083
10313
  toggle(it.id);
10084
10314
  }
10085
10315
  },
10086
- it.icon ? /* @__PURE__ */ React64.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
10087
- /* @__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),
10088
- /* @__PURE__ */ React64.createElement(Icon, { name: /* @__PURE__ */ React64.createElement(IconChevronDown, null), className: "aura-accordion__chevron" })
10089
- )), /* @__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(
10090
10320
  "div",
10091
10321
  {
10092
10322
  id: pid,
@@ -10101,7 +10331,7 @@ window.Aura = (() => {
10101
10331
  });
10102
10332
 
10103
10333
  // src/Popover.tsx
10104
- var React65 = __toESM(require_react(), 1);
10334
+ var React66 = __toESM(require_react(), 1);
10105
10335
  var import_react_dom13 = __toESM(require_react_dom(), 1);
10106
10336
  function position(anchor, pop, placement) {
10107
10337
  const r2 = anchor.getBoundingClientRect(), pw = pop.offsetWidth, ph = pop.scrollHeight, vw = window.innerWidth, vh = window.innerHeight, gap = 6;
@@ -10114,20 +10344,20 @@ window.Aura = (() => {
10114
10344
  side = above > below2 ? "top" : "bottom";
10115
10345
  maxHeight = Math.max(120, side === "top" ? above : below2);
10116
10346
  }
10117
- const h11 = maxHeight ? Math.min(ph, maxHeight) : ph;
10118
- 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;
10119
10349
  const left = align === "end" ? r2.right - pw : align === "center" ? r2.left + r2.width / 2 - pw / 2 : r2.left;
10120
10350
  return { top: Math.max(8, top), left: Math.max(8, Math.min(left, vw - pw - 8)), side, maxHeight };
10121
10351
  }
10122
- var Popover = React65.forwardRef(function Popover2(props, ref) {
10352
+ var Popover = React66.forwardRef(function Popover2(props, ref) {
10123
10353
  const t = useStrings();
10124
10354
  const density = useDensity();
10125
10355
  const auto = uid(), id = props.id || auto;
10126
10356
  const st = useMaybeControlled(props.open, !!props.defaultOpen, props.onOpenChange);
10127
10357
  const open = !!st[0];
10128
- const wrap = React65.useRef(null), pop = React65.useRef(null), popMerged = useMergedRef(ref, pop);
10129
- const pos = React65.useState(null), mounted = useMounted();
10130
- 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);
10131
10361
  function trigger() {
10132
10362
  return wrap.current && (wrap.current.querySelector('button, [role="button"], a, input') || wrap.current.firstElementChild);
10133
10363
  }
@@ -10154,7 +10384,7 @@ window.Aura = (() => {
10154
10384
  },
10155
10385
  [open, mounted, props.placement]
10156
10386
  );
10157
- React65.useEffect(
10387
+ React66.useEffect(
10158
10388
  function() {
10159
10389
  if (!open || !mounted) return;
10160
10390
  if (props.autoFocus !== false && pop.current) {
@@ -10179,9 +10409,9 @@ window.Aura = (() => {
10179
10409
  },
10180
10410
  [open, mounted]
10181
10411
  );
10182
- const child = React65.Children.only(props.trigger);
10412
+ const child = React66.Children.only(props.trigger);
10183
10413
  const panel = open && mounted ? (0, import_react_dom13.createPortal)(
10184
- /* @__PURE__ */ React65.createElement(
10414
+ /* @__PURE__ */ React66.createElement(
10185
10415
  "div",
10186
10416
  {
10187
10417
  ref: popMerged,
@@ -10211,17 +10441,17 @@ window.Aura = (() => {
10211
10441
  } else trapTab(e, pop.current);
10212
10442
  }
10213
10443
  },
10214
- 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(
10215
10445
  IconButton,
10216
10446
  {
10217
- icon: /* @__PURE__ */ React65.createElement(IconX, null),
10447
+ icon: /* @__PURE__ */ React66.createElement(IconX, null),
10218
10448
  label: t.close,
10219
10449
  onClick: function() {
10220
10450
  close(true);
10221
10451
  }
10222
10452
  }
10223
10453
  )) : null,
10224
- /* @__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({
10225
10455
  close: function() {
10226
10456
  close(true);
10227
10457
  }
@@ -10229,7 +10459,7 @@ window.Aura = (() => {
10229
10459
  ),
10230
10460
  document.body
10231
10461
  ) : null;
10232
- 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, {
10233
10463
  onClick: function(e) {
10234
10464
  if (child.props.onClick) child.props.onClick(e);
10235
10465
  st[1](!open);
@@ -10241,7 +10471,7 @@ window.Aura = (() => {
10241
10471
  });
10242
10472
 
10243
10473
  // src/NumberField.tsx
10244
- var React66 = __toESM(require_react(), 1);
10474
+ var React67 = __toESM(require_react(), 1);
10245
10475
  function decimalsOf(n3) {
10246
10476
  const s = String(n3);
10247
10477
  const i = s.indexOf(".");
@@ -10254,7 +10484,7 @@ window.Aura = (() => {
10254
10484
  if (!/^-?(\d+\.?\d*|\.\d+)$/.test(s)) return NaN;
10255
10485
  return Number(s);
10256
10486
  }
10257
- var NumberField = React66.forwardRef(function NumberField2(props, ref) {
10487
+ var NumberField = React67.forwardRef(function NumberField2(props, ref) {
10258
10488
  const t = useStrings();
10259
10489
  const auto = uid(), id = props.id || auto;
10260
10490
  const step = props.step || 1;
@@ -10265,7 +10495,7 @@ window.Aura = (() => {
10265
10495
  props.onChange
10266
10496
  );
10267
10497
  const value = st[0], setValue = st[1];
10268
- const draftState = React66.useState(null), draft = draftState[0], setDraft = draftState[1];
10498
+ const draftState = React67.useState(null), draft = draftState[0], setDraft = draftState[1];
10269
10499
  function fmt2(n3) {
10270
10500
  if (n3 == null || isNaN(n3)) return "";
10271
10501
  return n3.toLocaleString("en", { minimumFractionDigits: decimals, maximumFractionDigits: decimals });
@@ -10314,7 +10544,7 @@ window.Aura = (() => {
10314
10544
  };
10315
10545
  const valueText = value == null ? void 0 : [affixText(props.prefix), fmt2(value), affixText(props.suffix)].join(" ").trim();
10316
10546
  const stepper = props.stepper !== false && !props.readOnly;
10317
- return /* @__PURE__ */ React66.createElement(
10547
+ return /* @__PURE__ */ React67.createElement(
10318
10548
  Field,
10319
10549
  {
10320
10550
  id,
@@ -10326,7 +10556,7 @@ window.Aura = (() => {
10326
10556
  disabled: props.disabled,
10327
10557
  className: cx(touchClass(props.touchHeight), props.className)
10328
10558
  },
10329
- /* @__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(
10330
10560
  "input",
10331
10561
  {
10332
10562
  ref,
@@ -10373,7 +10603,7 @@ window.Aura = (() => {
10373
10603
  },
10374
10604
  onKeyDown
10375
10605
  }
10376
- ), 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(
10377
10607
  "button",
10378
10608
  {
10379
10609
  type: "button",
@@ -10389,8 +10619,8 @@ window.Aura = (() => {
10389
10619
  nudge(-step);
10390
10620
  }
10391
10621
  },
10392
- /* @__PURE__ */ React66.createElement(Icon, { name: /* @__PURE__ */ React66.createElement(IconMinus, null) })
10393
- ), /* @__PURE__ */ React66.createElement(
10622
+ /* @__PURE__ */ React67.createElement(Icon, { name: /* @__PURE__ */ React67.createElement(IconMinus, null) })
10623
+ ), /* @__PURE__ */ React67.createElement(
10394
10624
  "button",
10395
10625
  {
10396
10626
  type: "button",
@@ -10406,14 +10636,14 @@ window.Aura = (() => {
10406
10636
  nudge(step);
10407
10637
  }
10408
10638
  },
10409
- /* @__PURE__ */ React66.createElement(Icon, { name: /* @__PURE__ */ React66.createElement(IconPlus, null) })
10639
+ /* @__PURE__ */ React67.createElement(Icon, { name: /* @__PURE__ */ React67.createElement(IconPlus, null) })
10410
10640
  )) : null)
10411
10641
  );
10412
10642
  });
10413
10643
 
10414
10644
  // src/Stepper.tsx
10415
- var React67 = __toESM(require_react(), 1);
10416
- var Stepper = React67.forwardRef(function Stepper2(props, ref) {
10645
+ var React68 = __toESM(require_react(), 1);
10646
+ var Stepper = React68.forwardRef(function Stepper2(props, ref) {
10417
10647
  const t = useStrings();
10418
10648
  const idBase = uid();
10419
10649
  const steps = props.steps || [];
@@ -10424,22 +10654,22 @@ window.Aura = (() => {
10424
10654
  if (at < 0) at = 0;
10425
10655
  const vertical = props.orientation === "vertical";
10426
10656
  const cur2 = steps[at];
10427
- return /* @__PURE__ */ React67.createElement(
10657
+ return /* @__PURE__ */ React68.createElement(
10428
10658
  "nav",
10429
10659
  {
10430
10660
  ref,
10431
10661
  "aria-label": props.label,
10432
10662
  className: cx("aura-stepper", vertical ? "aura-stepper--vertical" : "aura-stepper--horizontal", props.className)
10433
10663
  },
10434
- /* @__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) {
10435
10665
  const state = i < at ? "done" : i === at ? "current" : "upcoming";
10436
10666
  const error = s.status === "error";
10437
- 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);
10438
10668
  const note = error ? t.stepError : state === "done" ? t.stepDone : "";
10439
10669
  const clickable = state === "done" && !!props.onStepClick;
10440
10670
  const named = clickable && (typeof s.label === "string" || typeof s.label === "number") && String(s.label).trim() !== "";
10441
10671
  const descId = idBase + "-step-" + i;
10442
- 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(
10443
10673
  "span",
10444
10674
  {
10445
10675
  className: "aura-stepper__desc",
@@ -10448,14 +10678,14 @@ window.Aura = (() => {
10448
10678
  },
10449
10679
  s.description
10450
10680
  ) : null);
10451
- return /* @__PURE__ */ React67.createElement(
10681
+ return /* @__PURE__ */ React68.createElement(
10452
10682
  "li",
10453
10683
  {
10454
10684
  key: s.id,
10455
10685
  className: cx("aura-stepper__item", "is-" + state, error && "is-error"),
10456
10686
  "aria-current": state === "current" ? "step" : void 0
10457
10687
  },
10458
- clickable ? /* @__PURE__ */ React67.createElement(
10688
+ clickable ? /* @__PURE__ */ React68.createElement(
10459
10689
  "button",
10460
10690
  {
10461
10691
  type: "button",
@@ -10467,19 +10697,19 @@ window.Aura = (() => {
10467
10697
  },
10468
10698
  marker,
10469
10699
  text2
10470
- ) : /* @__PURE__ */ React67.createElement("span", { className: "aura-stepper__step" }, marker, text2)
10700
+ ) : /* @__PURE__ */ React68.createElement("span", { className: "aura-stepper__step" }, marker, text2)
10471
10701
  );
10472
10702
  })),
10473
- !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
10474
10704
  );
10475
10705
  });
10476
10706
 
10477
10707
  // src/SegmentedControl.tsx
10478
- var React68 = __toESM(require_react(), 1);
10708
+ var React69 = __toESM(require_react(), 1);
10479
10709
  function toOpt2(o) {
10480
10710
  return typeof o === "object" ? o : { value: o, label: o };
10481
10711
  }
10482
- var SegmentedControl = React68.forwardRef(
10712
+ var SegmentedControl = React69.forwardRef(
10483
10713
  function SegmentedControl2(props, ref) {
10484
10714
  const options = (props.options || []).map(toOpt2);
10485
10715
  useAutoTip();
@@ -10493,7 +10723,7 @@ window.Aura = (() => {
10493
10723
  );
10494
10724
  const value = st[0], setValue = st[1];
10495
10725
  const auto = uid(), id = props.id || auto;
10496
- const refs = React68.useRef([]);
10726
+ const refs = React69.useRef([]);
10497
10727
  const selIdx = options.findIndex(function(o) {
10498
10728
  return o.value === value;
10499
10729
  });
@@ -10526,7 +10756,7 @@ window.Aura = (() => {
10526
10756
  move(options.length, -1);
10527
10757
  }
10528
10758
  }
10529
- return /* @__PURE__ */ React68.createElement(
10759
+ return /* @__PURE__ */ React69.createElement(
10530
10760
  "div",
10531
10761
  {
10532
10762
  ref,
@@ -10546,7 +10776,7 @@ window.Aura = (() => {
10546
10776
  options.map(function(o, i) {
10547
10777
  const on = o.value === value;
10548
10778
  const off = props.disabled || o.disabled;
10549
- return /* @__PURE__ */ React68.createElement(
10779
+ return /* @__PURE__ */ React69.createElement(
10550
10780
  "button",
10551
10781
  {
10552
10782
  key: o.value,
@@ -10568,8 +10798,8 @@ window.Aura = (() => {
10568
10798
  onKeyDown(e, i);
10569
10799
  }
10570
10800
  },
10571
- o.icon ? /* @__PURE__ */ React68.createElement(Icon, { name: o.icon }) : null,
10572
- 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)
10573
10803
  );
10574
10804
  })
10575
10805
  );