@jirawatpyk/aura-react 4.19.0 → 4.20.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":"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":"AppShell"},{"name":"ActionBar"},{"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":"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":"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"}]} */
2
2
  window.Aura = (() => {
3
3
  var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
@@ -93,6 +93,7 @@ window.Aura = (() => {
93
93
  STRINGS: () => STRINGS,
94
94
  SegmentedControl: () => SegmentedControl,
95
95
  Select: () => Select,
96
+ Separator: () => Separator,
96
97
  SideNav: () => SideNav,
97
98
  Skeleton: () => Skeleton,
98
99
  Stack: () => Stack,
@@ -101,14 +102,21 @@ window.Aura = (() => {
101
102
  Stepper: () => Stepper,
102
103
  Surface: () => Surface,
103
104
  Switch: () => Switch,
105
+ TBody: () => TBody,
106
+ TFoot: () => TFoot,
107
+ THead: () => THead,
108
+ Table: () => Table,
104
109
  Tabs: () => Tabs,
105
110
  Tag: () => Tag,
111
+ Td: () => Td,
106
112
  TextField: () => TextField,
107
113
  Textarea: () => Textarea,
114
+ Th: () => Th,
108
115
  ThemeStyle: () => ThemeStyle,
109
116
  TimePicker: () => TimePicker,
110
117
  Toaster: () => Toaster,
111
118
  Tooltip: () => Tooltip,
119
+ Tr: () => Tr,
112
120
  brandScale: () => scale,
113
121
  breakpoints: () => breakpoints,
114
122
  colorSchemeScript: () => colorSchemeScript,
@@ -116,7 +124,7 @@ window.Aura = (() => {
116
124
  contrast: () => contrast,
117
125
  createTheme: () => createTheme,
118
126
  formatBytes: () => formatBytes,
119
- formatDate: () => formatDate,
127
+ formatDate: () => formatDate2,
120
128
  iconNames: () => iconNames,
121
129
  parseDate: () => parseDate,
122
130
  parseTime: () => parseTime,
@@ -1323,13 +1331,13 @@ window.Aura = (() => {
1323
1331
  function place() {
1324
1332
  if (!boxRef.current) return;
1325
1333
  const r = boxRef.current.getBoundingClientRect();
1326
- const maxH = 320, below = window.innerHeight - r.bottom - 8, up = below < 200 && r.top > below;
1334
+ const maxH = 320, below2 = window.innerHeight - r.bottom - 8, up = below2 < 200 && r.top > below2;
1327
1335
  posState[1]({
1328
1336
  left: r.left,
1329
1337
  width: r.width,
1330
1338
  top: up ? void 0 : r.bottom + 4,
1331
1339
  bottom: up ? window.innerHeight - r.top + 4 : void 0,
1332
- maxHeight: Math.min(maxH, (up ? r.top : below) - 8)
1340
+ maxHeight: Math.min(maxH, (up ? r.top : below2) - 8)
1333
1341
  });
1334
1342
  }
1335
1343
  useIsoLayoutEffect(
@@ -1758,6 +1766,23 @@ window.Aura = (() => {
1758
1766
  }
1759
1767
 
1760
1768
  // src/DatePicker.tsx
1769
+ var warnedNoLocale = false;
1770
+ function isDev() {
1771
+ try {
1772
+ return true;
1773
+ } catch (e) {
1774
+ return false;
1775
+ }
1776
+ }
1777
+ function formatDate2(iso, opts) {
1778
+ if (!warnedNoLocale && !(opts && opts.locale) && isDev()) {
1779
+ warnedNoLocale = true;
1780
+ console.warn(
1781
+ "[AURA] formatDate() was called without a locale. It shows Thai with Buddhist-era years today; in 5.0 it will show English with Gregorian years, like '@jirawatpyk/aura-react/server'. Pass { locale: 'th' } to keep Thai, or use useFormatDate() in components."
1782
+ );
1783
+ }
1784
+ return formatDate(iso, opts);
1785
+ }
1761
1786
  function useFormatDate() {
1762
1787
  const ctx = useAuraLocale(), locale = ctx.locale || "en", calendar = ctx.calendar;
1763
1788
  return React17.useCallback(
@@ -3084,9 +3109,27 @@ window.Aura = (() => {
3084
3109
  function() {
3085
3110
  if (!open || !anchor.current || !tip.current) return;
3086
3111
  const r = anchor.current.getBoundingClientRect(), t = tip.current.getBoundingClientRect();
3087
- let side = props.side || "top", top = side === "top" ? r.top - t.height - 8 : r.bottom + 8;
3088
- if (side === "top" && top < 8) top = r.bottom + 8;
3089
- const left = Math.max(8, Math.min(r.left + r.width / 2 - t.width / 2, window.innerWidth - t.width - 8));
3112
+ const vw = window.innerWidth, vh = window.innerHeight, gap = 8, m = 8;
3113
+ let side = props.side || "top";
3114
+ if (side === "top" && r.top - t.height - gap < m && r.bottom + gap + t.height <= vh - m) side = "bottom";
3115
+ else if (side === "bottom" && r.bottom + gap + t.height > vh - m && r.top - t.height - gap >= m) side = "top";
3116
+ else if (side === "left" && r.left - t.width - gap < m && r.right + gap + t.width <= vw - m) side = "right";
3117
+ else if (side === "right" && r.right + gap + t.width > vw - m && r.left - t.width - gap >= m) side = "left";
3118
+ const clampX = function(x) {
3119
+ return Math.max(m, Math.min(x, vw - t.width - m));
3120
+ };
3121
+ const clampY = function(y) {
3122
+ return Math.max(m, Math.min(y, vh - t.height - m));
3123
+ };
3124
+ let top, left;
3125
+ if (side === "top" || side === "bottom") {
3126
+ top = side === "top" ? r.top - t.height - gap : r.bottom + gap;
3127
+ left = clampX(r.left + r.width / 2 - t.width / 2);
3128
+ } else {
3129
+ left = side === "left" ? r.left - t.width - gap : r.right + gap;
3130
+ left = clampX(left);
3131
+ top = clampY(r.top + r.height / 2 - t.height / 2);
3132
+ }
3090
3133
  pos[1]({ top, left });
3091
3134
  },
3092
3135
  [open]
@@ -3222,7 +3265,16 @@ window.Aura = (() => {
3222
3265
  { key: "owner", label: "OWNER" }
3223
3266
  ];
3224
3267
  var SKELETON_WIDTHS = ["72%", "56%", "84%", "44%", "64%"];
3225
- var STACK_WIDTHS = [360, 400, 480, 520, 560, 600, 640, 720, 768, 800, 900, 960, 1024];
3268
+ var Q = 1e4;
3269
+ var MAX_HIDE_LEVELS = 3;
3270
+ function below(w, threshold) {
3271
+ return w < threshold * (1 - 0.5 / Q);
3272
+ }
3273
+ function hidePx(c) {
3274
+ if (c.hideBelow == null) return void 0;
3275
+ const px = typeof c.hideBelow === "number" ? c.hideBelow : BP[c.hideBelow];
3276
+ return px != null && px > 0 ? px : void 0;
3277
+ }
3226
3278
  var ROW_H_DEFAULT = 48;
3227
3279
  var OVERSCAN = 8;
3228
3280
  var FLEX_MIN = 160;
@@ -3298,36 +3350,55 @@ window.Aura = (() => {
3298
3350
  const measure = !!props.stackBelow || columns.some(function(c) {
3299
3351
  return c.hideBelow != null;
3300
3352
  });
3301
- const dual = !!props.stackBelow && boxWidth[0] == null && STACK_WIDTHS.indexOf(props.stackBelow) >= 0;
3302
3353
  React28.useEffect(
3303
3354
  function() {
3304
3355
  if (!measure || !wrapRef.current || typeof ResizeObserver === "undefined") return;
3305
3356
  const ro = new ResizeObserver(function(en) {
3306
- boxWidth[1](en[0].contentRect.width);
3357
+ const bb = en[0].borderBoxSize && en[0].borderBoxSize[0];
3358
+ boxWidth[1](bb ? bb.inlineSize : en[0].target.getBoundingClientRect().width);
3307
3359
  });
3308
3360
  ro.observe(wrapRef.current);
3309
3361
  return function() {
3310
3362
  ro.disconnect();
3311
3363
  };
3312
3364
  },
3313
- [measure, dual]
3365
+ [measure]
3314
3366
  );
3315
- const stacked = !!props.stackBelow && boxWidth[0] != null && boxWidth[0] < props.stackBelow;
3367
+ const stacked = !!props.stackBelow && boxWidth[0] != null && below(boxWidth[0], props.stackBelow);
3316
3368
  useIsoLayoutEffect(
3317
3369
  function() {
3318
3370
  if (measure && boxWidth[0] == null && wrapRef.current) boxWidth[1](wrapRef.current.getBoundingClientRect().width);
3319
3371
  },
3320
3372
  [measure]
3321
3373
  );
3374
+ const hideLevels = [];
3375
+ columns.forEach(function(c) {
3376
+ const px = hidePx(c);
3377
+ if (px != null && hideLevels.indexOf(px) < 0) hideLevels.push(px);
3378
+ });
3379
+ hideLevels.sort(function(a, b) {
3380
+ return b - a;
3381
+ });
3382
+ hideLevels.length = Math.min(hideLevels.length, MAX_HIDE_LEVELS);
3383
+ const levels = [];
3384
+ if (props.stackBelow && props.stackBelow > 0) levels.push({ name: "stack", px: props.stackBelow });
3385
+ hideLevels.forEach(function(px, i) {
3386
+ levels.push({ name: "h" + (i + 1), px });
3387
+ });
3388
+ function hideLevel(c) {
3389
+ const px = hidePx(c);
3390
+ const i = px == null ? -1 : hideLevels.indexOf(px);
3391
+ return i < 0 ? void 0 : i + 1;
3392
+ }
3322
3393
  function tooNarrow(c) {
3323
3394
  if (c.hideBelow == null || boxWidth[0] == null || stacked) return false;
3324
- const px = typeof c.hideBelow === "number" ? c.hideBelow : BP[c.hideBelow];
3325
- return px != null && boxWidth[0] < px;
3395
+ const px = hidePx(c);
3396
+ return px != null && below(boxWidth[0], px);
3326
3397
  }
3327
3398
  const scrollRef = React28.useRef(null);
3328
3399
  const tipState = React28.useState(null), tip = tipState[0], setTip = tipState[1];
3329
3400
  function showFull(e) {
3330
- const el = e.target.closest ? e.target.closest(".aura-table__td, .aura-table__card-fields dd") : null;
3401
+ const el = e.target.closest ? e.target.closest(".aura-table__td") : null;
3331
3402
  if (!el || el.scrollWidth <= el.clientWidth + 1 || el.querySelector("button, input, .aura-pill"))
3332
3403
  return setTip(null);
3333
3404
  const r = el.getBoundingClientRect();
@@ -3359,7 +3430,7 @@ window.Aura = (() => {
3359
3430
  const pending = React28.useRef(null);
3360
3431
  const resizing = React28.useRef(false);
3361
3432
  useIsoLayoutEffect(function() {
3362
- if (stacked || !gridRef.current) return;
3433
+ if (!gridRef.current) return;
3363
3434
  const els = gridRef.current.querySelectorAll(
3364
3435
  '.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"]'
3365
3436
  );
@@ -3391,12 +3462,31 @@ window.Aura = (() => {
3391
3462
  })
3392
3463
  );
3393
3464
  const nPinned = vis.filter(isPinned).length;
3465
+ const pillKey = (vis.filter(function(c, i) {
3466
+ return i > 0 && c.pill;
3467
+ })[0] || { key: "" }).key;
3468
+ function cardPart(c, i) {
3469
+ return i === 0 ? "title" : c.key === pillKey ? "pill" : c.actions ? "actions" : "field";
3470
+ }
3471
+ function cardAttrs(c, i) {
3472
+ const part = cardPart(c, i), lv = hideLevel(c);
3473
+ return {
3474
+ "data-card": part,
3475
+ "data-label": part === "field" ? c.label || void 0 : void 0,
3476
+ "data-hide": lv ? String(lv) : void 0
3477
+ };
3478
+ }
3479
+ const hasFields = vis.some(function(c, i) {
3480
+ return cardPart(c, i) === "field";
3481
+ });
3394
3482
  const hasFlex = vis.some(function(c) {
3395
3483
  return widthOf(c) == null;
3396
3484
  });
3397
- let fixedSum = 0;
3485
+ let fixedSum = 0, hideTerms = "";
3398
3486
  vis.forEach(function(c) {
3399
- fixedSum += widthOf(c) != null ? widthOf(c) : FLEX_MIN;
3487
+ const w = widthOf(c) != null ? widthOf(c) : FLEX_MIN, lv = hideLevel(c);
3488
+ if (lv && boxWidth[0] == null) hideTerms += " + " + w + "px * var(--aura-h" + lv + "-on, 1)";
3489
+ else fixedSum += w;
3400
3490
  });
3401
3491
  let pinOffsets = {}, acc = 0;
3402
3492
  vis.forEach(function(c) {
@@ -3407,13 +3497,17 @@ window.Aura = (() => {
3407
3497
  });
3408
3498
  const selW = selectable ? " + var(--aura-table-select-width)" : "";
3409
3499
  const gutterR = controls ? "var(--aura-space-12)" : "var(--aura-space-6)";
3410
- const rowMinWidth = "calc(" + fixedSum + "px + var(--aura-space-6) + " + gutterR + selW + ")";
3500
+ const rowMinWidth = "calc(" + fixedSum + "px" + hideTerms + " + var(--aura-space-6) + " + gutterR + selW + ")";
3411
3501
  function cellStyle(c, i) {
3412
- let w = widthOf(c), s;
3413
- if (w == null) s = { flex: "1 1 0", minWidth: (c.minWidth || FLEX_MIN) + "px" };
3414
- else if (!hasFlex && i === vis.length - 1) s = { flex: "1 0 auto", width: w + "px" };
3415
- else s = { width: w + "px", flex: "none" };
3416
- if (isPinned(c)) s.left = "calc(var(--aura-space-6)" + selW + " + " + pinOffsets[c.key] + "px)";
3502
+ const w = widthOf(c), s = {};
3503
+ if (w == null) {
3504
+ s["--aura-cell-flex"] = "1 1 0";
3505
+ s["--aura-cell-min"] = (c.minWidth || FLEX_MIN) + "px";
3506
+ } else {
3507
+ s["--aura-cell-flex"] = !hasFlex && i === vis.length - 1 ? "1 0 auto" : "none";
3508
+ s["--aura-cell-w"] = w + "px";
3509
+ }
3510
+ if (isPinned(c)) s["--aura-cell-left"] = "calc(var(--aura-space-6)" + selW + " + " + pinOffsets[c.key] + "px)";
3417
3511
  return s;
3418
3512
  }
3419
3513
  const view = React28.useMemo(
@@ -3496,7 +3590,7 @@ window.Aura = (() => {
3496
3590
  return rowHref ? /* @__PURE__ */ React28.createElement(Link, { href: rowHref(r), className: "aura-table__row-link" }, content) : content;
3497
3591
  }
3498
3592
  const height = props.height || 0;
3499
- const virtual = !!height && !loading && pageRows.length > 0;
3593
+ const virtual = !!height && !loading && pageRows.length > 0 && !stacked;
3500
3594
  const bodyH = Math.max(ROW_H, height - ROW_H);
3501
3595
  let start = 0, end = pageRows.length;
3502
3596
  if (virtual) {
@@ -3851,7 +3945,8 @@ window.Aura = (() => {
3851
3945
  label: all ? t.deselectAllRows : t.selectAllRows,
3852
3946
  onChange: toggleAll
3853
3947
  }
3854
- ) : null
3948
+ ) : null,
3949
+ nRows ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__sel-text" }, nSel ? t.selectedCount(nSel) : t.selectAll) : /* @__PURE__ */ React28.createElement("span", { className: "aura-sr-only" }, t.selectRows)
3855
3950
  )
3856
3951
  );
3857
3952
  vis.forEach(function(c, i) {
@@ -3869,6 +3964,7 @@ window.Aura = (() => {
3869
3964
  "aria-sort": ariaSort,
3870
3965
  "aria-colindex": ci + 1,
3871
3966
  style: cellStyle(c, i),
3967
+ "data-hide": hideLevel(c) ? String(hideLevel(c)) : void 0,
3872
3968
  tabIndex: tabFor(0, ci),
3873
3969
  "data-rc": "0:" + ci,
3874
3970
  className: cx(
@@ -4025,6 +4121,7 @@ window.Aura = (() => {
4025
4121
  pin && j === nPinned - 1 && "is-pin-edge"
4026
4122
  ),
4027
4123
  style: cellStyle(c, j),
4124
+ ...cardAttrs(c, j),
4028
4125
  onFocus: function() {
4029
4126
  if (activeState[0].r !== ri || activeState[0].c !== ci) activeState[1]({ r: ri, c: ci });
4030
4127
  }
@@ -4033,6 +4130,7 @@ window.Aura = (() => {
4033
4130
  )
4034
4131
  );
4035
4132
  });
4133
+ if (hasFields) cells.push(/* @__PURE__ */ React28.createElement("span", { key: "__br", className: "aura-table__break", "aria-hidden": true }));
4036
4134
  cells.push(
4037
4135
  /* @__PURE__ */ React28.createElement(
4038
4136
  "span",
@@ -4046,7 +4144,7 @@ window.Aura = (() => {
4046
4144
  return cells;
4047
4145
  }
4048
4146
  let body;
4049
- const rowStyle = { minWidth: rowMinWidth };
4147
+ const rowStyle = { ["--aura-row-min"]: rowMinWidth };
4050
4148
  if (loading) {
4051
4149
  const n2 = pageSize || props.skeletonRows || 5;
4052
4150
  const skRows = body = [];
@@ -4063,7 +4161,9 @@ window.Aura = (() => {
4063
4161
  {
4064
4162
  key: c.key,
4065
4163
  className: cx("aura-table__td", c.align === "end" && "is-end", isPinned(c) && "is-pinned"),
4066
- style: cellStyle(c, j)
4164
+ style: cellStyle(c, j),
4165
+ ...cardAttrs(c, j),
4166
+ "data-label": void 0
4067
4167
  },
4068
4168
  /* @__PURE__ */ React28.createElement(
4069
4169
  "span",
@@ -4075,6 +4175,7 @@ window.Aura = (() => {
4075
4175
  )
4076
4176
  );
4077
4177
  });
4178
+ if (hasFields) sk.push(/* @__PURE__ */ React28.createElement("span", { key: "__br", className: "aura-table__break" }));
4078
4179
  sk.push(
4079
4180
  /* @__PURE__ */ React28.createElement("span", { key: "__gr", className: cx("aura-table__gutter aura-table__gutter--end", controls && "has-picker") })
4080
4181
  );
@@ -4160,102 +4261,6 @@ window.Aura = (() => {
4160
4261
  } else if (height && rows.length && !loading) {
4161
4262
  foot = /* @__PURE__ */ React28.createElement("div", { className: "aura-table__foot" }, /* @__PURE__ */ React28.createElement("span", null, t.rowCount(shownTotal)), selectable && selected.length ? /* @__PURE__ */ React28.createElement("span", null, t.selectedCount(selected.length)) : /* @__PURE__ */ React28.createElement("span", null));
4162
4263
  }
4163
- function renderStacked(wrapRefArg) {
4164
- const titleCol = vis[0], pillCol = vis.filter(function(c) {
4165
- return c.pill && c !== titleCol;
4166
- })[0];
4167
- const actionCols = vis.filter(function(c) {
4168
- return c.actions && c !== titleCol;
4169
- });
4170
- const rest = vis.filter(function(c) {
4171
- return c !== titleCol && c !== pillCol && !c.actions;
4172
- });
4173
- let cardBody;
4174
- if (loading) {
4175
- cardBody = /* @__PURE__ */ React28.createElement("ul", { className: "aura-table__cards", "aria-busy": true }, [0, 1, 2].map(function(i) {
4176
- return /* @__PURE__ */ React28.createElement("li", { key: i, className: "aura-table__card", "aria-hidden": true }, /* @__PURE__ */ React28.createElement("span", { className: "aura-skel", style: { width: "50%", height: "14px" } }), /* @__PURE__ */ React28.createElement("span", { className: "aura-skel", style: { width: "80%" } }), /* @__PURE__ */ React28.createElement("span", { className: "aura-skel", style: { width: "64%" } }));
4177
- }));
4178
- } else if (!rows.length) {
4179
- const em2 = props.empty || {};
4180
- cardBody = /* @__PURE__ */ React28.createElement("div", { className: "aura-table__empty" }, /* @__PURE__ */ React28.createElement("div", null, /* @__PURE__ */ React28.createElement("span", { className: "aura-table__empty-icon" }, /* @__PURE__ */ React28.createElement(Icon, { name: em2.icon || "inbox", size: "lg" })), /* @__PURE__ */ React28.createElement("p", { className: "aura-table__empty-title" }, em2.title || t.empty), em2.description ? /* @__PURE__ */ React28.createElement("p", { className: "aura-table__empty-text" }, em2.description) : null, em2.action ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__empty-action" }, em2.action) : null));
4181
- } else {
4182
- const cellVal = cellContent;
4183
- cardBody = /* @__PURE__ */ React28.createElement("ul", { className: "aura-table__cards", "aria-label": props.label }, pageRows.map(function(r) {
4184
- const k = r[rowKey], isSel = !!selSet[k];
4185
- return /* @__PURE__ */ React28.createElement(
4186
- "li",
4187
- {
4188
- key: k,
4189
- className: cx(
4190
- "aura-table__card",
4191
- isSel && "is-selected",
4192
- (props.onRowActivate || rowHref) && "is-actionable"
4193
- ),
4194
- tabIndex: props.onRowActivate && !rowHref ? 0 : void 0,
4195
- onClick: function(e) {
4196
- const el = e.target;
4197
- if (el.closest && el.closest(".aura-check, button, a, input")) return;
4198
- if (rowHref) followRow(e.currentTarget, e);
4199
- else if (props.onRowActivate) props.onRowActivate(r);
4200
- },
4201
- onKeyDown: function(e) {
4202
- if (e.target === e.currentTarget && e.key === "Enter" && props.onRowActivate && !rowHref)
4203
- props.onRowActivate(r);
4204
- }
4205
- },
4206
- /* @__PURE__ */ React28.createElement("div", { className: "aura-table__card-head" }, selectable ? /* @__PURE__ */ React28.createElement(
4207
- Checkbox,
4208
- {
4209
- checked: isSel,
4210
- label: t.selectRow(k),
4211
- onChange: function(on) {
4212
- toggle(k, on);
4213
- }
4214
- }
4215
- ) : null, /* @__PURE__ */ React28.createElement("span", { className: cx("aura-table__card-title", titleCol.mono && "aura-table__mono") }, rowLinkWrap(r, cellVal(titleCol, r))), pillCol ? cellVal(pillCol, r) : null, actionCols.map(function(c) {
4216
- return /* @__PURE__ */ React28.createElement("span", { key: c.key, className: "aura-table__card-actions" }, cellVal(c, r));
4217
- })),
4218
- rest.length ? /* @__PURE__ */ React28.createElement("dl", { className: "aura-table__card-fields" }, rest.map(function(c) {
4219
- return /* @__PURE__ */ React28.createElement("div", { key: c.key }, /* @__PURE__ */ React28.createElement("dt", null, c.label), /* @__PURE__ */ React28.createElement("dd", { className: cx(c.mono && "aura-table__mono", c.align === "end" && "is-end") }, cellVal(c, r)));
4220
- })) : null
4221
- );
4222
- }));
4223
- }
4224
- return /* @__PURE__ */ React28.createElement(
4225
- "div",
4226
- {
4227
- ref: wrapRefArg,
4228
- "data-density": props.density,
4229
- className: cx("aura-table aura-table--stacked", refreshing && "is-refreshing", props.className),
4230
- onMouseOver: showFull,
4231
- onMouseLeave: hideFull,
4232
- onFocus: showFull,
4233
- onBlur: hideFull,
4234
- role: "region",
4235
- "aria-label": props.label,
4236
- "aria-busy": busy || void 0
4237
- },
4238
- refreshing ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
4239
- selectable && pageRows.length && !busy ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__stack-bar" }, /* @__PURE__ */ React28.createElement(
4240
- Checkbox,
4241
- {
4242
- checked: all,
4243
- indeterminate: nSel > 0 && !all,
4244
- label: all ? t.deselectAllRows : t.selectAllRows,
4245
- onChange: toggleAll
4246
- }
4247
- ), /* @__PURE__ */ React28.createElement("span", null, nSel ? t.selectedCount(nSel) : t.selectAll)) : null,
4248
- cardBody,
4249
- props.footer && rows.length && !loading ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__card aura-table__card--total", role: "group", "aria-label": t.totals }, /* @__PURE__ */ React28.createElement("dl", { className: "aura-table__card-fields" }, vis.filter(function(c) {
4250
- return props.footer[c.key] != null;
4251
- }).map(function(c) {
4252
- return /* @__PURE__ */ React28.createElement("div", { key: c.key }, /* @__PURE__ */ React28.createElement("dt", null, c.label || t.totals), /* @__PURE__ */ React28.createElement("dd", { className: cx(c.mono && "aura-table__mono", c.align === "end" && "is-end") }, props.footer[c.key]));
4253
- }))) : null,
4254
- foot,
4255
- tipEl
4256
- );
4257
- }
4258
- if (stacked) return renderStacked(wrapMerged);
4259
4264
  const totalRow = props.footer && rows.length && !loading ? /* @__PURE__ */ React28.createElement(
4260
4265
  "div",
4261
4266
  {
@@ -4280,13 +4285,17 @@ window.Aura = (() => {
4280
4285
  c.mono && "aura-table__mono",
4281
4286
  c.align === "end" && "is-end",
4282
4287
  pin && "is-pinned",
4283
- pin && j === nPinned - 1 && "is-pin-edge"
4288
+ pin && j === nPinned - 1 && "is-pin-edge",
4289
+ props.footer[c.key] == null && "is-blank"
4284
4290
  ),
4285
- style: cellStyle(c, j)
4291
+ style: cellStyle(c, j),
4292
+ ...cardAttrs(c, j),
4293
+ "data-label": j === 0 ? void 0 : c.label || t.totals
4286
4294
  },
4287
4295
  props.footer[c.key]
4288
4296
  );
4289
4297
  }),
4298
+ hasFields ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__break", "aria-hidden": true }) : null,
4290
4299
  /* @__PURE__ */ React28.createElement(
4291
4300
  "span",
4292
4301
  {
@@ -4299,13 +4308,20 @@ window.Aura = (() => {
4299
4308
  scrollPaddingLeft: "calc(var(--aura-space-6)" + selW + " + " + acc + "px)",
4300
4309
  scrollPaddingTop: ROW_H + "px"
4301
4310
  };
4302
- if (height) scrollStyle.height = height + "px";
4311
+ if (height) scrollStyle["--aura-table-h"] = height + "px";
4303
4312
  const gridEl = /* @__PURE__ */ React28.createElement(
4304
4313
  "div",
4305
4314
  {
4306
- ref: dual ? void 0 : wrapMerged,
4315
+ ref: levels.length ? wrapRef : wrapMerged,
4307
4316
  "data-density": props.density,
4308
- className: cx("aura-table", scrolledX[0] && "is-scrolled-x", refreshing && "is-refreshing", props.className)
4317
+ className: cx(
4318
+ "aura-table",
4319
+ stacked && "aura-table--stacked",
4320
+ scrolledX[0] && "is-scrolled-x",
4321
+ refreshing && "is-refreshing",
4322
+ !levels.length && props.className
4323
+ ),
4324
+ style: levels.length ? { ["--aura-q-back"]: String(levels[levels.length - 1].px / Q) } : void 0
4309
4325
  },
4310
4326
  refreshing ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
4311
4327
  /* @__PURE__ */ React28.createElement(
@@ -4337,7 +4353,16 @@ window.Aura = (() => {
4337
4353
  if (sx !== scrolledX[0]) scrolledX[1](sx);
4338
4354
  }
4339
4355
  },
4340
- /* @__PURE__ */ React28.createElement("div", { className: "aura-table__head", role: "row", "aria-rowindex": 1, style: rowStyle }, head),
4356
+ /* @__PURE__ */ React28.createElement(
4357
+ "div",
4358
+ {
4359
+ className: cx("aura-table__head", selectable && nRows > 0 && !busy && "has-select-all"),
4360
+ role: "row",
4361
+ "aria-rowindex": 1,
4362
+ style: rowStyle
4363
+ },
4364
+ head
4365
+ ),
4341
4366
  body,
4342
4367
  totalRow
4343
4368
  ),
@@ -4365,8 +4390,20 @@ window.Aura = (() => {
4365
4390
  ) : null,
4366
4391
  tipEl
4367
4392
  );
4368
- if (!dual) return gridEl;
4369
- return /* @__PURE__ */ React28.createElement("div", { ref: wrapMerged, className: "aura-table-dual", "data-stack-below": props.stackBelow }, renderStacked(void 0), gridEl);
4393
+ if (!levels.length) return gridEl;
4394
+ let out = gridEl;
4395
+ for (let i = levels.length - 1; i >= 0; i--) {
4396
+ const prev = i === 0 ? Q : levels[i - 1].px;
4397
+ out = /* @__PURE__ */ React28.createElement(
4398
+ "div",
4399
+ {
4400
+ className: cx("aura-table-q", "aura-table-q--" + levels[i].name),
4401
+ style: { ["--aura-q-scale"]: String(prev / levels[i].px) }
4402
+ },
4403
+ out
4404
+ );
4405
+ }
4406
+ return /* @__PURE__ */ React28.createElement("div", { ref, className: cx("aura-table-box", props.className) }, out);
4370
4407
  });
4371
4408
 
4372
4409
  // src/Card.tsx
@@ -4954,9 +4991,96 @@ window.Aura = (() => {
4954
4991
  );
4955
4992
  });
4956
4993
 
4957
- // src/BottomNav.tsx
4994
+ // src/Separator.tsx
4958
4995
  var React40 = __toESM(require_react(), 1);
4959
- var BottomNav = React40.forwardRef(function BottomNav2(props, ref) {
4996
+ var Separator = React40.forwardRef(function Separator2(props, ref) {
4997
+ const vertical = props.orientation === "vertical";
4998
+ const decorative = props.decorative !== false;
4999
+ return /* @__PURE__ */ React40.createElement(
5000
+ "div",
5001
+ {
5002
+ ref,
5003
+ className: cx("aura-separator", vertical && "aura-separator--vertical", props.className),
5004
+ role: decorative ? "none" : "separator",
5005
+ "aria-orientation": !decorative && vertical ? "vertical" : void 0,
5006
+ style: props.spacing != null ? { ["--aura-separator-space"]: "var(--aura-space-" + props.spacing + ")" } : void 0
5007
+ }
5008
+ );
5009
+ });
5010
+
5011
+ // src/Table.tsx
5012
+ var React41 = __toESM(require_react(), 1);
5013
+ var Table = React41.forwardRef(function Table2(props, ref) {
5014
+ const { caption, captionHidden, density, className, children, ...rest } = props;
5015
+ const capId = uid();
5016
+ const wrap = React41.useRef(null);
5017
+ const sc = React41.useState(false), scrolls = sc[0];
5018
+ useIsoLayoutEffect(function() {
5019
+ const el = wrap.current;
5020
+ if (!el || typeof ResizeObserver === "undefined") return;
5021
+ function check() {
5022
+ sc[1](el.scrollWidth > el.clientWidth + 1);
5023
+ }
5024
+ check();
5025
+ const ro = new ResizeObserver(check);
5026
+ ro.observe(el);
5027
+ return function() {
5028
+ ro.disconnect();
5029
+ };
5030
+ }, []);
5031
+ return /* @__PURE__ */ React41.createElement(
5032
+ "div",
5033
+ {
5034
+ ref: wrap,
5035
+ className: "aura-tbl-wrap",
5036
+ "data-density": density,
5037
+ tabIndex: scrolls ? 0 : void 0,
5038
+ role: scrolls ? "region" : void 0,
5039
+ "aria-labelledby": scrolls && caption != null ? capId : void 0
5040
+ },
5041
+ /* @__PURE__ */ React41.createElement("table", { ref, className: cx("aura-tbl", className), ...rest }, caption != null ? /* @__PURE__ */ React41.createElement("caption", { id: capId, className: cx("aura-tbl__caption", captionHidden && "aura-sr-only") }, caption) : null, children)
5042
+ );
5043
+ });
5044
+ function section(tag, cls) {
5045
+ const C = React41.forwardRef(function TableSection(props, ref) {
5046
+ const { className, ...rest } = props;
5047
+ return React41.createElement(tag, Object.assign({ ref, className: cx(cls, className) }, rest));
5048
+ });
5049
+ return C;
5050
+ }
5051
+ var THead = section("thead", "aura-tbl__head");
5052
+ THead.displayName = "THead";
5053
+ var TBody = section("tbody", "aura-tbl__body");
5054
+ TBody.displayName = "TBody";
5055
+ var TFoot = section("tfoot", "aura-tbl__foot");
5056
+ TFoot.displayName = "TFoot";
5057
+ var Tr = React41.forwardRef(function Tr2(props, ref) {
5058
+ const { className, ...rest } = props;
5059
+ return /* @__PURE__ */ React41.createElement("tr", { ref, className: cx("aura-tbl__row", className), ...rest });
5060
+ });
5061
+ function cellClass(base, p) {
5062
+ const align = p.align || (p.numeric ? "end" : void 0);
5063
+ return cx(
5064
+ base,
5065
+ align === "end" && "is-end",
5066
+ align === "center" && "is-center",
5067
+ p.numeric && "is-numeric",
5068
+ p.mono && "aura-table__mono",
5069
+ p.className
5070
+ );
5071
+ }
5072
+ var Th = React41.forwardRef(function Th2(props, ref) {
5073
+ const { align, numeric, mono, className, scope, ...rest } = props;
5074
+ return /* @__PURE__ */ React41.createElement("th", { ref, scope: scope || "col", className: cellClass("aura-tbl__th", props), ...rest });
5075
+ });
5076
+ var Td = React41.forwardRef(function Td2(props, ref) {
5077
+ const { align, numeric, mono, className, scope, ...rest } = props;
5078
+ return /* @__PURE__ */ React41.createElement("td", { ref, className: cellClass("aura-tbl__td", props), ...rest });
5079
+ });
5080
+
5081
+ // src/BottomNav.tsx
5082
+ var React42 = __toESM(require_react(), 1);
5083
+ var BottomNav = React42.forwardRef(function BottomNav2(props, ref) {
4960
5084
  const t = useStrings();
4961
5085
  const Link = useLinkComponent(props.linkComponent);
4962
5086
  const st = useMaybeControlled(
@@ -4966,14 +5090,14 @@ window.Aura = (() => {
4966
5090
  );
4967
5091
  const active = st[0];
4968
5092
  const hide = props.hideFrom === false ? "always" : "below-" + (props.hideFrom || "lg");
4969
- return /* @__PURE__ */ React40.createElement(React40.Fragment, null, /* @__PURE__ */ React40.createElement("div", { className: cx("aura-bottomnav-spacer", "aura-bottomnav--" + hide), "aria-hidden": "true" }), /* @__PURE__ */ React40.createElement(
5093
+ return /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement("div", { className: cx("aura-bottomnav-spacer", "aura-bottomnav--" + hide), "aria-hidden": "true" }), /* @__PURE__ */ React42.createElement(
4970
5094
  "nav",
4971
5095
  {
4972
5096
  ref,
4973
5097
  className: cx("aura-bottomnav", "aura-bottomnav--" + hide, props.className),
4974
5098
  "aria-label": props.label || t.mainNav
4975
5099
  },
4976
- /* @__PURE__ */ React40.createElement("ul", { className: "aura-bottomnav__list" }, props.items.map(function(it) {
5100
+ /* @__PURE__ */ React42.createElement("ul", { className: "aura-bottomnav__list" }, props.items.map(function(it) {
4977
5101
  const on = active === it.id;
4978
5102
  const count = it.count != null && it.count > 0 ? it.count > 99 ? "99+" : String(it.count) : null;
4979
5103
  const common = {
@@ -4985,19 +5109,19 @@ window.Aura = (() => {
4985
5109
  }
4986
5110
  };
4987
5111
  const inner = [
4988
- /* @__PURE__ */ React40.createElement("span", { key: "i", className: "aura-bottomnav__icon" }, /* @__PURE__ */ React40.createElement(Icon, { name: it.icon, size: "md" }), count ? /* @__PURE__ */ React40.createElement("span", { className: "aura-bottomnav__count", "aria-hidden": "true" }, count) : it.badge ? /* @__PURE__ */ React40.createElement("span", { className: "aura-bottomnav__dot", "aria-hidden": "true" }) : null),
4989
- /* @__PURE__ */ React40.createElement("span", { key: "l", className: "aura-bottomnav__label" }, it.label),
4990
- count || it.badge && it.badgeLabel ? /* @__PURE__ */ React40.createElement("span", { key: "s", className: "aura-sr-only" }, " (" + (count || it.badgeLabel) + ")") : null
5112
+ /* @__PURE__ */ React42.createElement("span", { key: "i", className: "aura-bottomnav__icon" }, /* @__PURE__ */ React42.createElement(Icon, { name: it.icon, size: "md" }), count ? /* @__PURE__ */ React42.createElement("span", { className: "aura-bottomnav__count", "aria-hidden": "true" }, count) : it.badge ? /* @__PURE__ */ React42.createElement("span", { className: "aura-bottomnav__dot", "aria-hidden": "true" }) : null),
5113
+ /* @__PURE__ */ React42.createElement("span", { key: "l", className: "aura-bottomnav__label" }, it.label),
5114
+ count || it.badge && it.badgeLabel ? /* @__PURE__ */ React42.createElement("span", { key: "s", className: "aura-sr-only" }, " (" + (count || it.badgeLabel) + ")") : null
4991
5115
  ];
4992
- return /* @__PURE__ */ React40.createElement("li", { key: it.id, className: "aura-bottomnav__cell" }, it.href ? /* @__PURE__ */ React40.createElement(Link, { href: it.href, ...common }, inner) : /* @__PURE__ */ React40.createElement("button", { type: "button", ...common }, inner));
5116
+ return /* @__PURE__ */ React42.createElement("li", { key: it.id, className: "aura-bottomnav__cell" }, it.href ? /* @__PURE__ */ React42.createElement(Link, { href: it.href, ...common }, inner) : /* @__PURE__ */ React42.createElement("button", { type: "button", ...common }, inner));
4993
5117
  }))
4994
5118
  ));
4995
5119
  });
4996
5120
 
4997
5121
  // src/Surface.tsx
4998
- var React41 = __toESM(require_react(), 1);
4999
- var h8 = React41.createElement;
5000
- var Surface = React41.forwardRef(function Surface2(props, ref) {
5122
+ var React43 = __toESM(require_react(), 1);
5123
+ var h8 = React43.createElement;
5124
+ var Surface = React43.forwardRef(function Surface2(props, ref) {
5001
5125
  const t = props.texture || "mesh";
5002
5126
  const rest = omit(props, ["texture", "className", "children", "as"]);
5003
5127
  return h8(
@@ -5018,8 +5142,8 @@ window.Aura = (() => {
5018
5142
  });
5019
5143
 
5020
5144
  // src/Stat.tsx
5021
- var React42 = __toESM(require_react(), 1);
5022
- var Stat = React42.forwardRef(function Stat2(props, ref) {
5145
+ var React44 = __toESM(require_react(), 1);
5146
+ var Stat = React44.forwardRef(function Stat2(props, ref) {
5023
5147
  const ch = props.change;
5024
5148
  const dir = ch && (ch.direction || "flat");
5025
5149
  const tone2 = ch && (ch.tone || (dir === "up" ? "positive" : dir === "down" ? "negative" : "neutral"));
@@ -5028,7 +5152,7 @@ window.Aura = (() => {
5028
5152
  const numeric = typeof v === "number" || typeof v === "string" && /\d/.test(v) && /^[\s\d.,:+\-\u2212%()\u0E3F$\u20AC\u00A3\u00A5kKmMbB]+$/.test(v.replace(/\b[A-Z]{3}\b/g, ""));
5029
5153
  const Tag3 = props.href ? Link : props.onClick ? "button" : "div";
5030
5154
  const interactive = !!(props.href || props.onClick);
5031
- return /* @__PURE__ */ React42.createElement(
5155
+ return /* @__PURE__ */ React44.createElement(
5032
5156
  Tag3,
5033
5157
  {
5034
5158
  ref,
@@ -5038,14 +5162,14 @@ window.Aura = (() => {
5038
5162
  type: Tag3 === "button" ? "button" : void 0,
5039
5163
  "aria-busy": props.loading || void 0
5040
5164
  },
5041
- /* @__PURE__ */ React42.createElement("span", { className: "aura-stat__head" }, /* @__PURE__ */ React42.createElement("span", { className: "aura-stat__label" }, props.label), props.icon ? /* @__PURE__ */ React42.createElement("span", { className: "aura-stat__icon" }, /* @__PURE__ */ React42.createElement(Icon, { name: props.icon })) : null),
5042
- props.loading ? /* @__PURE__ */ React42.createElement("span", { className: "aura-stat__value" }, /* @__PURE__ */ React42.createElement("span", { className: "aura-skel aura-stat__skel" })) : /* @__PURE__ */ React42.createElement("span", { className: cx("aura-stat__value", numeric && "is-numeric") }, props.value, props.unit ? /* @__PURE__ */ React42.createElement("span", { className: "aura-stat__unit" }, props.unit) : null),
5043
- ch && !props.loading || props.caption ? /* @__PURE__ */ React42.createElement("span", { className: "aura-stat__foot" }, ch && !props.loading ? /* @__PURE__ */ React42.createElement("span", { className: cx("aura-stat__change", "is-" + tone2) }, /* @__PURE__ */ React42.createElement(Icon, { name: dir === "up" ? "trending-up" : dir === "down" ? "trending-down" : "minus", size: 14 }), /* @__PURE__ */ React42.createElement("span", null, ch.value)) : null, ch && ch.label && !props.loading ? /* @__PURE__ */ React42.createElement("span", { className: "aura-stat__caption" }, ch.label) : null, props.caption ? /* @__PURE__ */ React42.createElement("span", { className: "aura-stat__caption" }, props.caption) : null) : null
5165
+ /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__head" }, /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__label" }, props.label), props.icon ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__icon" }, /* @__PURE__ */ React44.createElement(Icon, { name: props.icon })) : null),
5166
+ props.loading ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__value" }, /* @__PURE__ */ React44.createElement("span", { className: "aura-skel aura-stat__skel" })) : /* @__PURE__ */ React44.createElement("span", { className: cx("aura-stat__value", numeric && "is-numeric") }, props.value, props.unit ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__unit" }, props.unit) : null),
5167
+ ch && !props.loading || props.caption ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__foot" }, ch && !props.loading ? /* @__PURE__ */ React44.createElement("span", { className: cx("aura-stat__change", "is-" + tone2) }, /* @__PURE__ */ React44.createElement(Icon, { name: dir === "up" ? "trending-up" : dir === "down" ? "trending-down" : "minus", size: 14 }), /* @__PURE__ */ React44.createElement("span", null, ch.value)) : null, ch && ch.label && !props.loading ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__caption" }, ch.label) : null, props.caption ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__caption" }, props.caption) : null) : null
5044
5168
  );
5045
5169
  });
5046
5170
 
5047
5171
  // src/TimePicker.tsx
5048
- var React43 = __toESM(require_react(), 1);
5172
+ var React45 = __toESM(require_react(), 1);
5049
5173
  var import_react_dom10 = __toESM(require_react_dom(), 1);
5050
5174
 
5051
5175
  // src/text.ts
@@ -5086,7 +5210,7 @@ window.Aura = (() => {
5086
5210
  function fromMin(n2) {
5087
5211
  return pad3(Math.floor(n2 / 60)) + ":" + pad3(n2 % 60);
5088
5212
  }
5089
- var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5213
+ var TimePicker = React45.forwardRef(function TimePicker2(props, ref) {
5090
5214
  const t = useStrings();
5091
5215
  const auto = uid(), id = props.id || auto, listId = id + "-list";
5092
5216
  const st = useMaybeControlled(
@@ -5096,7 +5220,7 @@ window.Aura = (() => {
5096
5220
  );
5097
5221
  const value = st[0];
5098
5222
  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;
5099
- const slots = React43.useMemo(
5223
+ const slots = React45.useMemo(
5100
5224
  function() {
5101
5225
  const out = [];
5102
5226
  for (let m = lo; m <= hi; m += step) out.push(fromMin(m));
@@ -5108,12 +5232,12 @@ window.Aura = (() => {
5108
5232
  const n2 = toMin(v);
5109
5233
  return n2 == null || n2 < lo || n2 > hi || props.isTimeDisabled && props.isTimeDisabled(v);
5110
5234
  }
5111
- const openState = React43.useState(false), open = openState[0], setOpen = openState[1];
5112
- const editState = React43.useState(null), editing = editState[0], setEditing = editState[1];
5113
- const aState = React43.useState(0), active = aState[0], setActive = aState[1];
5114
- const errState = React43.useState(null);
5115
- const pos = React43.useState(null);
5116
- const boxRef = React43.useRef(null), inputRef = React43.useRef(null), listRef = React43.useRef(null), inputMerged = useMergedRef(ref, inputRef);
5235
+ const openState = React45.useState(false), open = openState[0], setOpen = openState[1];
5236
+ const editState = React45.useState(null), editing = editState[0], setEditing = editState[1];
5237
+ const aState = React45.useState(0), active = aState[0], setActive = aState[1];
5238
+ const errState = React45.useState(null);
5239
+ const pos = React45.useState(null);
5240
+ const boxRef = React45.useRef(null), inputRef = React45.useRef(null), listRef = React45.useRef(null), inputMerged = useMergedRef(ref, inputRef);
5117
5241
  const mounted = useMounted();
5118
5242
  function nearest(v) {
5119
5243
  const n2 = toMin(v);
@@ -5126,13 +5250,13 @@ window.Aura = (() => {
5126
5250
  }
5127
5251
  function place() {
5128
5252
  if (!boxRef.current) return;
5129
- const r = boxRef.current.getBoundingClientRect(), below = window.innerHeight - r.bottom - 8, up = below < 200 && r.top > below;
5253
+ const r = boxRef.current.getBoundingClientRect(), below2 = window.innerHeight - r.bottom - 8, up = below2 < 200 && r.top > below2;
5130
5254
  pos[1]({
5131
5255
  left: r.left,
5132
5256
  width: Math.max(r.width, 160),
5133
5257
  top: up ? void 0 : r.bottom + 4,
5134
5258
  bottom: up ? window.innerHeight - r.top + 4 : void 0,
5135
- maxHeight: Math.min(280, (up ? r.top : below) - 8)
5259
+ maxHeight: Math.min(280, (up ? r.top : below2) - 8)
5136
5260
  });
5137
5261
  }
5138
5262
  useIsoLayoutEffect(
@@ -5141,7 +5265,7 @@ window.Aura = (() => {
5141
5265
  },
5142
5266
  [open]
5143
5267
  );
5144
- React43.useEffect(
5268
+ React45.useEffect(
5145
5269
  function() {
5146
5270
  if (!open) return;
5147
5271
  function outside(e) {
@@ -5163,7 +5287,7 @@ window.Aura = (() => {
5163
5287
  },
5164
5288
  [open]
5165
5289
  );
5166
- React43.useEffect(
5290
+ React45.useEffect(
5167
5291
  function() {
5168
5292
  if (!open || !listRef.current) return;
5169
5293
  const el = listRef.current.querySelector('[data-idx="' + active + '"]');
@@ -5261,9 +5385,9 @@ window.Aura = (() => {
5261
5385
  }
5262
5386
  const error = errState[0] || props.error;
5263
5387
  const list = open && mounted && pos[0] ? (0, import_react_dom10.createPortal)(
5264
- /* @__PURE__ */ React43.createElement("div", { ref: listRef, className: "aura-combo__popover aura-time__popover", style: pos[0] }, /* @__PURE__ */ React43.createElement("ul", { id: listId, role: "listbox", "aria-label": props.label, className: "aura-combo__list" }, slots.map(function(s, i) {
5388
+ /* @__PURE__ */ React45.createElement("div", { ref: listRef, className: "aura-combo__popover aura-time__popover", style: pos[0] }, /* @__PURE__ */ React45.createElement("ul", { id: listId, role: "listbox", "aria-label": props.label, className: "aura-combo__list" }, slots.map(function(s, i) {
5265
5389
  const dis = blocked(s), sel = s === value;
5266
- return /* @__PURE__ */ React43.createElement(
5390
+ return /* @__PURE__ */ React45.createElement(
5267
5391
  "li",
5268
5392
  {
5269
5393
  key: s,
@@ -5288,13 +5412,13 @@ window.Aura = (() => {
5288
5412
  if (active !== i) setActive(i);
5289
5413
  }
5290
5414
  },
5291
- /* @__PURE__ */ React43.createElement("span", { className: "aura-combo__label" }, s),
5292
- sel ? /* @__PURE__ */ React43.createElement(Icon, { name: "check", className: "aura-combo__check" }) : null
5415
+ /* @__PURE__ */ React45.createElement("span", { className: "aura-combo__label" }, s),
5416
+ sel ? /* @__PURE__ */ React45.createElement(Icon, { name: "check", className: "aura-combo__check" }) : null
5293
5417
  );
5294
5418
  }))),
5295
5419
  document.body
5296
5420
  ) : null;
5297
- return /* @__PURE__ */ React43.createElement(
5421
+ return /* @__PURE__ */ React45.createElement(
5298
5422
  Field,
5299
5423
  {
5300
5424
  id,
@@ -5306,7 +5430,7 @@ window.Aura = (() => {
5306
5430
  disabled: props.disabled,
5307
5431
  className: props.className
5308
5432
  },
5309
- /* @__PURE__ */ React43.createElement("div", { ref: boxRef, className: cx("aura-input aura-combo aura-time has-icon", open && "is-open") }, /* @__PURE__ */ React43.createElement(Icon, { name: "clock", className: "aura-input__icon" }), /* @__PURE__ */ React43.createElement(
5433
+ /* @__PURE__ */ React45.createElement("div", { ref: boxRef, className: cx("aura-input aura-combo aura-time has-icon", open && "is-open") }, /* @__PURE__ */ React45.createElement(Icon, { name: "clock", className: "aura-input__icon" }), /* @__PURE__ */ React45.createElement(
5310
5434
  "input",
5311
5435
  {
5312
5436
  ref: inputMerged,
@@ -5346,7 +5470,7 @@ window.Aura = (() => {
5346
5470
  }, 0);
5347
5471
  }
5348
5472
  }
5349
- ), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React43.createElement(
5473
+ ), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React45.createElement(
5350
5474
  "button",
5351
5475
  {
5352
5476
  type: "button",
@@ -5359,8 +5483,8 @@ window.Aura = (() => {
5359
5483
  if (inputRef.current) inputRef.current.focus();
5360
5484
  }
5361
5485
  },
5362
- /* @__PURE__ */ React43.createElement(Icon, { name: "x" })
5363
- ) : null, /* @__PURE__ */ React43.createElement(
5486
+ /* @__PURE__ */ React45.createElement(Icon, { name: "x" })
5487
+ ) : null, /* @__PURE__ */ React45.createElement(
5364
5488
  "button",
5365
5489
  {
5366
5490
  type: "button",
@@ -5378,14 +5502,14 @@ window.Aura = (() => {
5378
5502
  }
5379
5503
  }
5380
5504
  },
5381
- /* @__PURE__ */ React43.createElement(Icon, { name: "chevron-down" })
5505
+ /* @__PURE__ */ React45.createElement(Icon, { name: "chevron-down" })
5382
5506
  )),
5383
5507
  list
5384
5508
  );
5385
5509
  });
5386
5510
 
5387
5511
  // src/FileUpload.tsx
5388
- var React44 = __toESM(require_react(), 1);
5512
+ var React46 = __toESM(require_react(), 1);
5389
5513
  function matches(file, accept) {
5390
5514
  if (!accept) return true;
5391
5515
  const name = (file.name || "").toLowerCase(), type = (file.type || "").toLowerCase();
@@ -5409,17 +5533,17 @@ window.Aura = (() => {
5409
5533
  }).join(", ");
5410
5534
  }
5411
5535
  var seq = 0;
5412
- var FileUpload = React44.forwardRef(function FileUpload2(props, ref) {
5536
+ var FileUpload = React46.forwardRef(function FileUpload2(props, ref) {
5413
5537
  const t = useStrings();
5414
5538
  const auto = uid(), id = props.id || auto;
5415
5539
  const st = useMaybeControlled(props.value, props.defaultValue || [], props.onChange);
5416
5540
  const items2 = st[0] || [];
5417
- const dragState = React44.useState(false), over = dragState[0];
5418
- const inputRef = React44.useRef(null), inputMerged = useMergedRef(ref, inputRef);
5419
- const urls = React44.useRef({});
5541
+ const dragState = React46.useState(false), over = dragState[0];
5542
+ const inputRef = React46.useRef(null), inputMerged = useMergedRef(ref, inputRef);
5543
+ const urls = React46.useRef({});
5420
5544
  const maxFiles = props.multiple ? props.maxFiles : 1;
5421
5545
  const note = t.accepts(describeAccept(props.accept, t), props.maxSize ? formatBytes(props.maxSize) : "");
5422
- React44.useEffect(function() {
5546
+ React46.useEffect(function() {
5423
5547
  return function() {
5424
5548
  Object.keys(urls.current).forEach(function(k) {
5425
5549
  URL.revokeObjectURL(urls.current[k]);
@@ -5470,7 +5594,7 @@ window.Aura = (() => {
5470
5594
  if (inputRef.current) inputRef.current.focus();
5471
5595
  }
5472
5596
  const error = props.error;
5473
- return /* @__PURE__ */ React44.createElement(
5597
+ return /* @__PURE__ */ React46.createElement(
5474
5598
  Field,
5475
5599
  {
5476
5600
  id,
@@ -5482,7 +5606,7 @@ window.Aura = (() => {
5482
5606
  disabled: props.disabled,
5483
5607
  className: props.className
5484
5608
  },
5485
- /* @__PURE__ */ React44.createElement(
5609
+ /* @__PURE__ */ React46.createElement(
5486
5610
  "div",
5487
5611
  {
5488
5612
  className: cx("aura-upload", over && "is-over", props.disabled && "is-disabled", error && "is-invalid"),
@@ -5503,9 +5627,9 @@ window.Aura = (() => {
5503
5627
  add(e.dataTransfer && e.dataTransfer.files);
5504
5628
  }
5505
5629
  },
5506
- /* @__PURE__ */ React44.createElement(Icon, { name: "cloud-upload", size: "lg", className: "aura-upload__icon" }),
5507
- /* @__PURE__ */ React44.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
5508
- /* @__PURE__ */ React44.createElement(
5630
+ /* @__PURE__ */ React46.createElement(Icon, { name: "cloud-upload", size: "lg", className: "aura-upload__icon" }),
5631
+ /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
5632
+ /* @__PURE__ */ React46.createElement(
5509
5633
  "input",
5510
5634
  {
5511
5635
  ref: inputMerged,
@@ -5527,12 +5651,12 @@ window.Aura = (() => {
5527
5651
  }
5528
5652
  }
5529
5653
  ),
5530
- /* @__PURE__ */ React44.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
5531
- note ? /* @__PURE__ */ React44.createElement("span", { className: "aura-upload__note", id: id + "-note" }, note) : null
5654
+ /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
5655
+ note ? /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__note", id: id + "-note" }, note) : null
5532
5656
  ),
5533
- items2.length ? /* @__PURE__ */ React44.createElement("ul", { className: "aura-upload__list", "aria-live": "polite" }, items2.map(function(it) {
5657
+ items2.length ? /* @__PURE__ */ React46.createElement("ul", { className: "aura-upload__list", "aria-live": "polite" }, items2.map(function(it) {
5534
5658
  const src = thumb(it);
5535
- return /* @__PURE__ */ React44.createElement("li", { key: it.id, className: cx("aura-upload__item", it.error && "is-error") }, src ? /* @__PURE__ */ React44.createElement("img", { className: "aura-upload__thumb", src, alt: "" }) : /* @__PURE__ */ React44.createElement("span", { className: "aura-upload__thumb is-icon", "aria-hidden": true }, /* @__PURE__ */ React44.createElement(Icon, { name: /^image\//.test(it.type || "") ? "image" : "file", size: "md" })), /* @__PURE__ */ React44.createElement("span", { className: "aura-upload__meta" }, /* @__PURE__ */ React44.createElement("span", { className: "aura-upload__name" }, it.name), /* @__PURE__ */ React44.createElement("span", { className: "aura-upload__sub" }, it.error ? /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement(Icon, { name: "circle-alert", size: 12 }), it.error) : it.status === "uploading" ? t.uploading + (it.progress != null ? " " + Math.round(it.progress) + "%" : "") : it.status === "done" ? /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement(Icon, { name: "circle-check", size: 12 }), formatBytes(it.size)) : formatBytes(it.size)), it.status === "uploading" ? /* @__PURE__ */ React44.createElement(
5659
+ return /* @__PURE__ */ React46.createElement("li", { key: it.id, className: cx("aura-upload__item", it.error && "is-error") }, src ? /* @__PURE__ */ React46.createElement("img", { className: "aura-upload__thumb", src, alt: "" }) : /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__thumb is-icon", "aria-hidden": true }, /* @__PURE__ */ React46.createElement(Icon, { name: /^image\//.test(it.type || "") ? "image" : "file", size: "md" })), /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__meta" }, /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__name" }, it.name), /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__sub" }, it.error ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(Icon, { name: "circle-alert", size: 12 }), it.error) : it.status === "uploading" ? t.uploading + (it.progress != null ? " " + Math.round(it.progress) + "%" : "") : it.status === "done" ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(Icon, { name: "circle-check", size: 12 }), formatBytes(it.size)) : formatBytes(it.size)), it.status === "uploading" ? /* @__PURE__ */ React46.createElement(
5536
5660
  "span",
5537
5661
  {
5538
5662
  className: "aura-upload__bar",
@@ -5542,8 +5666,8 @@ window.Aura = (() => {
5542
5666
  "aria-valuemax": 100,
5543
5667
  "aria-valuenow": it.progress != null ? Math.round(it.progress) : void 0
5544
5668
  },
5545
- /* @__PURE__ */ React44.createElement("span", { style: { width: (it.progress || 0) + "%" } })
5546
- ) : null), /* @__PURE__ */ React44.createElement(
5669
+ /* @__PURE__ */ React46.createElement("span", { style: { width: (it.progress || 0) + "%" } })
5670
+ ) : null), /* @__PURE__ */ React46.createElement(
5547
5671
  IconButton,
5548
5672
  {
5549
5673
  icon: "x",
@@ -5829,9 +5953,9 @@ window.Aura = (() => {
5829
5953
  }
5830
5954
 
5831
5955
  // src/ThemeStyle.tsx
5832
- var React45 = __toESM(require_react(), 1);
5956
+ var React47 = __toESM(require_react(), 1);
5833
5957
  function ThemeStyle(props) {
5834
- const css = React45.useMemo(
5958
+ const css = React47.useMemo(
5835
5959
  function() {
5836
5960
  return createTheme({ brand: props.brand, signal: props.signal, primary: props.primary, name: props.name }).css(
5837
5961
  props.selector
@@ -5839,11 +5963,11 @@ window.Aura = (() => {
5839
5963
  },
5840
5964
  [props.brand, props.signal, props.primary, props.name, props.selector]
5841
5965
  );
5842
- return /* @__PURE__ */ React45.createElement("style", { "data-aura-theme": props.name || props.brand, dangerouslySetInnerHTML: { __html: css } });
5966
+ return /* @__PURE__ */ React47.createElement("style", { "data-aura-theme": props.name || props.brand, dangerouslySetInnerHTML: { __html: css } });
5843
5967
  }
5844
5968
 
5845
5969
  // src/colorScheme.tsx
5846
- var React46 = __toESM(require_react(), 1);
5970
+ var React48 = __toESM(require_react(), 1);
5847
5971
 
5848
5972
  // src/colorSchemeScript.ts
5849
5973
  var DEFAULT_KEY = "aura-color-scheme";
@@ -5860,7 +5984,7 @@ window.Aura = (() => {
5860
5984
 
5861
5985
  // src/colorScheme.tsx
5862
5986
  function ColorSchemeScript(props) {
5863
- return /* @__PURE__ */ React46.createElement(
5987
+ return /* @__PURE__ */ React48.createElement(
5864
5988
  "script",
5865
5989
  {
5866
5990
  "data-aura-color-scheme": "",
@@ -5885,7 +6009,7 @@ window.Aura = (() => {
5885
6009
  function useColorScheme(options) {
5886
6010
  const key = options && options.storageKey || DEFAULT_KEY;
5887
6011
  const fallback = options && options.defaultScheme || "system";
5888
- const subscribe2 = React46.useCallback(
6012
+ const subscribe2 = React48.useCallback(
5889
6013
  function(cb) {
5890
6014
  const mq = window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)") : null;
5891
6015
  function onSystem() {
@@ -5903,7 +6027,7 @@ window.Aura = (() => {
5903
6027
  },
5904
6028
  [fallback]
5905
6029
  );
5906
- const snapshot = React46.useSyncExternalStore(
6030
+ const snapshot = React48.useSyncExternalStore(
5907
6031
  subscribe2,
5908
6032
  function() {
5909
6033
  const s = readScheme(fallback);
@@ -5914,7 +6038,7 @@ window.Aura = (() => {
5914
6038
  }
5915
6039
  );
5916
6040
  const parts = snapshot.split("|");
5917
- const setScheme = React46.useCallback(
6041
+ const setScheme = React48.useCallback(
5918
6042
  function(next) {
5919
6043
  if (!valid(next)) return;
5920
6044
  try {
@@ -5933,11 +6057,11 @@ window.Aura = (() => {
5933
6057
  const cs = useColorScheme(props);
5934
6058
  const names = { light: t.schemeLight, dark: t.schemeDark, system: t.schemeSystem };
5935
6059
  const label = props.label || t.colorScheme;
5936
- return /* @__PURE__ */ React46.createElement(
6060
+ return /* @__PURE__ */ React48.createElement(
5937
6061
  DropdownMenu,
5938
6062
  {
5939
6063
  label,
5940
- trigger: /* @__PURE__ */ React46.createElement(IconButton, { icon: cs.resolved === "dark" ? "moon" : "sun", label: label + ": " + names[cs.scheme] }),
6064
+ trigger: /* @__PURE__ */ React48.createElement(IconButton, { icon: cs.resolved === "dark" ? "moon" : "sun", label: label + ": " + names[cs.scheme] }),
5941
6065
  items: SCHEMES.map(function(s) {
5942
6066
  return {
5943
6067
  label: names[s],
@@ -5952,10 +6076,10 @@ window.Aura = (() => {
5952
6076
  }
5953
6077
 
5954
6078
  // src/Badge.tsx
5955
- var React47 = __toESM(require_react(), 1);
5956
- var Badge = React47.forwardRef(function Badge2(props, ref) {
6079
+ var React49 = __toESM(require_react(), 1);
6080
+ var Badge = React49.forwardRef(function Badge2(props, ref) {
5957
6081
  const rest = omit(props, ["tone", "variant", "icon", "className", "children"]);
5958
- return /* @__PURE__ */ React47.createElement(
6082
+ return /* @__PURE__ */ React49.createElement(
5959
6083
  "span",
5960
6084
  {
5961
6085
  ...rest,
@@ -5968,19 +6092,19 @@ window.Aura = (() => {
5968
6092
  props.className
5969
6093
  )
5970
6094
  },
5971
- props.icon ? /* @__PURE__ */ React47.createElement(Icon, { name: props.icon, size: 12 }) : null,
6095
+ props.icon ? /* @__PURE__ */ React49.createElement(Icon, { name: props.icon, size: 12 }) : null,
5972
6096
  props.children
5973
6097
  );
5974
6098
  });
5975
6099
 
5976
6100
  // src/Progress.tsx
5977
- var React48 = __toESM(require_react(), 1);
5978
- var Progress = React48.forwardRef(function Progress2(props, ref) {
6101
+ var React50 = __toESM(require_react(), 1);
6102
+ var Progress = React50.forwardRef(function Progress2(props, ref) {
5979
6103
  const auto = uid(), id = props.id || auto;
5980
6104
  const max = props.max || 100, det = props.value != null;
5981
6105
  const pct = det ? Math.max(0, Math.min(100, props.value / max * 100)) : 0;
5982
6106
  const shown = props.valueLabel != null ? props.valueLabel : det ? Math.round(pct) + "%" : null;
5983
- return /* @__PURE__ */ React48.createElement(
6107
+ return /* @__PURE__ */ React50.createElement(
5984
6108
  "div",
5985
6109
  {
5986
6110
  ref,
@@ -5991,8 +6115,8 @@ window.Aura = (() => {
5991
6115
  props.className
5992
6116
  )
5993
6117
  },
5994
- props.label || props.showValue && shown ? /* @__PURE__ */ React48.createElement("div", { className: "aura-progress__head" }, props.label ? /* @__PURE__ */ React48.createElement("span", { className: "aura-progress__label", id: id + "-label" }, props.label) : /* @__PURE__ */ React48.createElement("span", null), props.showValue && shown ? /* @__PURE__ */ React48.createElement("span", { className: "aura-progress__value" }, shown) : null) : null,
5995
- /* @__PURE__ */ React48.createElement(
6118
+ props.label || props.showValue && shown ? /* @__PURE__ */ React50.createElement("div", { className: "aura-progress__head" }, props.label ? /* @__PURE__ */ React50.createElement("span", { className: "aura-progress__label", id: id + "-label" }, props.label) : /* @__PURE__ */ React50.createElement("span", null), props.showValue && shown ? /* @__PURE__ */ React50.createElement("span", { className: "aura-progress__value" }, shown) : null) : null,
6119
+ /* @__PURE__ */ React50.createElement(
5996
6120
  "div",
5997
6121
  {
5998
6122
  className: cx("aura-progress__track", !det && "is-indeterminate"),
@@ -6004,21 +6128,21 @@ window.Aura = (() => {
6004
6128
  "aria-valuenow": det ? props.value : void 0,
6005
6129
  "aria-valuetext": det && props.valueLabel != null ? String(props.valueLabel) : void 0
6006
6130
  },
6007
- /* @__PURE__ */ React48.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 })
6131
+ /* @__PURE__ */ React50.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 })
6008
6132
  ),
6009
- props.hint ? /* @__PURE__ */ React48.createElement("p", { className: "aura-progress__hint" }, props.hint) : null
6133
+ props.hint ? /* @__PURE__ */ React50.createElement("p", { className: "aura-progress__hint" }, props.hint) : null
6010
6134
  );
6011
6135
  });
6012
6136
 
6013
6137
  // src/Skeleton.tsx
6014
- var React49 = __toESM(require_react(), 1);
6015
- var Skeleton = React49.forwardRef(function Skeleton2(props, ref) {
6138
+ var React51 = __toESM(require_react(), 1);
6139
+ var Skeleton = React51.forwardRef(function Skeleton2(props, ref) {
6016
6140
  const v = props.variant || "text";
6017
6141
  if (v === "text" && (props.lines || 1) > 1) {
6018
6142
  const n2 = props.lines, rows = [];
6019
6143
  for (let i = 0; i < n2; i++)
6020
- rows.push(/* @__PURE__ */ React49.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n2 - 1 ? "60%" : "100%" } }));
6021
- return /* @__PURE__ */ React49.createElement(
6144
+ rows.push(/* @__PURE__ */ React51.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n2 - 1 ? "60%" : "100%" } }));
6145
+ return /* @__PURE__ */ React51.createElement(
6022
6146
  "span",
6023
6147
  {
6024
6148
  ref,
@@ -6036,28 +6160,28 @@ window.Aura = (() => {
6036
6160
  if (v === "circle") {
6037
6161
  style.width = style.height = props.size || props.width || 40;
6038
6162
  }
6039
- return /* @__PURE__ */ React49.createElement("span", { ref, "aria-hidden": true, className: cx("aura-skel", "aura-skel--" + v, props.className), style });
6163
+ return /* @__PURE__ */ React51.createElement("span", { ref, "aria-hidden": true, className: cx("aura-skel", "aura-skel--" + v, props.className), style });
6040
6164
  });
6041
6165
 
6042
6166
  // src/EmptyState.tsx
6043
- var React50 = __toESM(require_react(), 1);
6044
- var EmptyState = React50.forwardRef(function EmptyState2(props, ref) {
6167
+ var React52 = __toESM(require_react(), 1);
6168
+ var EmptyState = React52.forwardRef(function EmptyState2(props, ref) {
6045
6169
  const HT = "h" + (props.headingLevel || 3);
6046
- return /* @__PURE__ */ React50.createElement(
6170
+ return /* @__PURE__ */ React52.createElement(
6047
6171
  "div",
6048
6172
  {
6049
6173
  ref,
6050
6174
  className: cx("aura-empty", props.size === "sm" && "is-sm", props.bordered && "is-bordered", props.className)
6051
6175
  },
6052
- /* @__PURE__ */ React50.createElement("span", { className: "aura-empty__icon", "aria-hidden": true }, /* @__PURE__ */ React50.createElement(Icon, { name: props.icon || "inbox", size: props.size === "sm" ? "md" : "lg" })),
6053
- /* @__PURE__ */ React50.createElement(HT, { className: "aura-empty__title" }, props.title),
6054
- props.description ? /* @__PURE__ */ React50.createElement("p", { className: "aura-empty__text" }, props.description) : null,
6055
- props.action ? /* @__PURE__ */ React50.createElement("div", { className: "aura-empty__action" }, props.action) : null
6176
+ /* @__PURE__ */ React52.createElement("span", { className: "aura-empty__icon", "aria-hidden": true }, /* @__PURE__ */ React52.createElement(Icon, { name: props.icon || "inbox", size: props.size === "sm" ? "md" : "lg" })),
6177
+ /* @__PURE__ */ React52.createElement(HT, { className: "aura-empty__title" }, props.title),
6178
+ props.description ? /* @__PURE__ */ React52.createElement("p", { className: "aura-empty__text" }, props.description) : null,
6179
+ props.action ? /* @__PURE__ */ React52.createElement("div", { className: "aura-empty__action" }, props.action) : null
6056
6180
  );
6057
6181
  });
6058
6182
 
6059
6183
  // src/Pagination.tsx
6060
- var React51 = __toESM(require_react(), 1);
6184
+ var React53 = __toESM(require_react(), 1);
6061
6185
  function pageList(page, count, sib) {
6062
6186
  let out = [], lo = Math.max(2, page - sib), hi = Math.min(count - 1, page + sib);
6063
6187
  if (page - sib <= 3) {
@@ -6077,7 +6201,7 @@ window.Aura = (() => {
6077
6201
  if (count > 1) out.push(count);
6078
6202
  return out;
6079
6203
  }
6080
- var Pagination = React51.forwardRef(function Pagination2(props, ref) {
6204
+ var Pagination = React53.forwardRef(function Pagination2(props, ref) {
6081
6205
  const t = useStrings();
6082
6206
  const count = Math.max(1, props.pageCount || 1);
6083
6207
  const st = useMaybeControlled(props.page, props.defaultPage || 1, props.onChange);
@@ -6096,7 +6220,7 @@ window.Aura = (() => {
6096
6220
  },
6097
6221
  extra
6098
6222
  );
6099
- return link ? /* @__PURE__ */ React51.createElement(
6223
+ return link ? /* @__PURE__ */ React53.createElement(
6100
6224
  Link,
6101
6225
  {
6102
6226
  href: link(p),
@@ -6109,7 +6233,7 @@ window.Aura = (() => {
6109
6233
  ...common
6110
6234
  },
6111
6235
  label
6112
- ) : /* @__PURE__ */ React51.createElement(
6236
+ ) : /* @__PURE__ */ React53.createElement(
6113
6237
  "button",
6114
6238
  {
6115
6239
  type: "button",
@@ -6123,7 +6247,7 @@ window.Aura = (() => {
6123
6247
  }
6124
6248
  function arrow(p, icon, label, rel, disabled) {
6125
6249
  if (!link || disabled)
6126
- return /* @__PURE__ */ React51.createElement(
6250
+ return /* @__PURE__ */ React53.createElement(
6127
6251
  IconButton,
6128
6252
  {
6129
6253
  icon,
@@ -6134,7 +6258,7 @@ window.Aura = (() => {
6134
6258
  }
6135
6259
  }
6136
6260
  );
6137
- return /* @__PURE__ */ React51.createElement(
6261
+ return /* @__PURE__ */ React53.createElement(
6138
6262
  Link,
6139
6263
  {
6140
6264
  href: link(p),
@@ -6149,17 +6273,17 @@ window.Aura = (() => {
6149
6273
  }
6150
6274
  }
6151
6275
  },
6152
- /* @__PURE__ */ React51.createElement(Icon, { name: icon, size: "sm" })
6276
+ /* @__PURE__ */ React53.createElement(Icon, { name: icon, size: "sm" })
6153
6277
  );
6154
6278
  }
6155
- return /* @__PURE__ */ React51.createElement("nav", { ref, className: cx("aura-pagination", props.className), "aria-label": props.label || t.pagination }, arrow(page - 1, "chevron-left", t.prevPage, "prev", page <= 1), /* @__PURE__ */ React51.createElement("ol", { className: "aura-pagination__list" }, pageList(page, count, props.siblingCount == null ? 1 : props.siblingCount).map(function(p) {
6156
- return typeof p === "number" ? /* @__PURE__ */ React51.createElement("li", { key: p }, item(p, p)) : /* @__PURE__ */ React51.createElement("li", { key: p, className: "aura-pagination__gap", "aria-hidden": true }, "\u2026");
6157
- })), /* @__PURE__ */ React51.createElement("span", { className: "aura-pagination__compact", "aria-hidden": true }, t.page(page, count)), arrow(page + 1, "chevron-right", t.nextPage, "next", page >= count));
6279
+ return /* @__PURE__ */ React53.createElement("nav", { ref, className: cx("aura-pagination", props.className), "aria-label": props.label || t.pagination }, arrow(page - 1, "chevron-left", t.prevPage, "prev", page <= 1), /* @__PURE__ */ React53.createElement("ol", { className: "aura-pagination__list" }, pageList(page, count, props.siblingCount == null ? 1 : props.siblingCount).map(function(p) {
6280
+ return typeof p === "number" ? /* @__PURE__ */ React53.createElement("li", { key: p }, item(p, p)) : /* @__PURE__ */ React53.createElement("li", { key: p, className: "aura-pagination__gap", "aria-hidden": true }, "\u2026");
6281
+ })), /* @__PURE__ */ React53.createElement("span", { className: "aura-pagination__compact", "aria-hidden": true }, t.page(page, count)), arrow(page + 1, "chevron-right", t.nextPage, "next", page >= count));
6158
6282
  });
6159
6283
 
6160
6284
  // src/Accordion.tsx
6161
- var React52 = __toESM(require_react(), 1);
6162
- var Accordion = React52.forwardRef(function Accordion2(props, ref) {
6285
+ var React54 = __toESM(require_react(), 1);
6286
+ var Accordion = React54.forwardRef(function Accordion2(props, ref) {
6163
6287
  const auto = uid(), base = props.id || auto;
6164
6288
  const multiple = props.type === "multiple";
6165
6289
  const st = useMaybeControlled(
@@ -6197,9 +6321,9 @@ window.Aura = (() => {
6197
6321
  n2.focus();
6198
6322
  }
6199
6323
  }
6200
- return /* @__PURE__ */ React52.createElement("div", { ref, className: cx("aura-accordion", props.className), onKeyDown: onKey }, items2.map(function(it) {
6324
+ return /* @__PURE__ */ React54.createElement("div", { ref, className: cx("aura-accordion", props.className), onKeyDown: onKey }, items2.map(function(it) {
6201
6325
  const on = open.indexOf(it.id) >= 0, bid = base + "-btn-" + it.id, pid = base + "-panel-" + it.id;
6202
- return /* @__PURE__ */ React52.createElement("div", { key: it.id, className: cx("aura-accordion__item", on && "is-open") }, /* @__PURE__ */ React52.createElement(HT, { className: "aura-accordion__heading" }, /* @__PURE__ */ React52.createElement(
6326
+ return /* @__PURE__ */ React54.createElement("div", { key: it.id, className: cx("aura-accordion__item", on && "is-open") }, /* @__PURE__ */ React54.createElement(HT, { className: "aura-accordion__heading" }, /* @__PURE__ */ React54.createElement(
6203
6327
  "button",
6204
6328
  {
6205
6329
  type: "button",
@@ -6211,15 +6335,15 @@ window.Aura = (() => {
6211
6335
  toggle(it.id);
6212
6336
  }
6213
6337
  },
6214
- it.icon ? /* @__PURE__ */ React52.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
6215
- /* @__PURE__ */ React52.createElement("span", { className: "aura-accordion__title" }, it.title, it.description ? /* @__PURE__ */ React52.createElement("span", { className: "aura-accordion__desc" }, it.description) : null),
6216
- /* @__PURE__ */ React52.createElement(Icon, { name: "chevron-down", className: "aura-accordion__chevron" })
6217
- )), /* @__PURE__ */ React52.createElement("div", { id: pid, role: "region", "aria-labelledby": bid, className: "aura-accordion__panel", hidden: !on }, it.content));
6338
+ it.icon ? /* @__PURE__ */ React54.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
6339
+ /* @__PURE__ */ React54.createElement("span", { className: "aura-accordion__title" }, it.title, it.description ? /* @__PURE__ */ React54.createElement("span", { className: "aura-accordion__desc" }, it.description) : null),
6340
+ /* @__PURE__ */ React54.createElement(Icon, { name: "chevron-down", className: "aura-accordion__chevron" })
6341
+ )), /* @__PURE__ */ React54.createElement("div", { id: pid, role: "region", "aria-labelledby": bid, className: "aura-accordion__panel", hidden: !on }, it.content));
6218
6342
  }));
6219
6343
  });
6220
6344
 
6221
6345
  // src/Popover.tsx
6222
- var React53 = __toESM(require_react(), 1);
6346
+ var React55 = __toESM(require_react(), 1);
6223
6347
  var import_react_dom11 = __toESM(require_react_dom(), 1);
6224
6348
  function position(anchor, pop, placement) {
6225
6349
  const r = anchor.getBoundingClientRect(), pw = pop.offsetWidth, ph = pop.offsetHeight, vw = window.innerWidth, vh = window.innerHeight, gap = 6;
@@ -6230,14 +6354,14 @@ window.Aura = (() => {
6230
6354
  const left = align === "end" ? r.right - pw : align === "center" ? r.left + r.width / 2 - pw / 2 : r.left;
6231
6355
  return { top: Math.max(8, top), left: Math.max(8, Math.min(left, vw - pw - 8)), side };
6232
6356
  }
6233
- var Popover = React53.forwardRef(function Popover2(props, ref) {
6357
+ var Popover = React55.forwardRef(function Popover2(props, ref) {
6234
6358
  const t = useStrings();
6235
6359
  const density = useDensity();
6236
6360
  const auto = uid(), id = props.id || auto;
6237
6361
  const st = useMaybeControlled(props.open, !!props.defaultOpen, props.onOpenChange);
6238
6362
  const open = !!st[0];
6239
- const wrap = React53.useRef(null), pop = React53.useRef(null), popMerged = useMergedRef(ref, pop);
6240
- const pos = React53.useState(null), mounted = useMounted();
6363
+ const wrap = React55.useRef(null), pop = React55.useRef(null), popMerged = useMergedRef(ref, pop);
6364
+ const pos = React55.useState(null), mounted = useMounted();
6241
6365
  function trigger() {
6242
6366
  return wrap.current && (wrap.current.querySelector('button, [role="button"], a, input') || wrap.current.firstElementChild);
6243
6367
  }
@@ -6264,7 +6388,7 @@ window.Aura = (() => {
6264
6388
  },
6265
6389
  [open, mounted, props.placement]
6266
6390
  );
6267
- React53.useEffect(
6391
+ React55.useEffect(
6268
6392
  function() {
6269
6393
  if (!open || !mounted) return;
6270
6394
  if (props.autoFocus !== false && pop.current) {
@@ -6283,9 +6407,9 @@ window.Aura = (() => {
6283
6407
  },
6284
6408
  [open, mounted]
6285
6409
  );
6286
- const child = React53.Children.only(props.trigger);
6410
+ const child = React55.Children.only(props.trigger);
6287
6411
  const panel = open && mounted ? (0, import_react_dom11.createPortal)(
6288
- /* @__PURE__ */ React53.createElement(
6412
+ /* @__PURE__ */ React55.createElement(
6289
6413
  "div",
6290
6414
  {
6291
6415
  ref: popMerged,
@@ -6308,7 +6432,7 @@ window.Aura = (() => {
6308
6432
  } else trapTab(e, pop.current);
6309
6433
  }
6310
6434
  },
6311
- props.title ? /* @__PURE__ */ React53.createElement("div", { className: "aura-popover__head" }, /* @__PURE__ */ React53.createElement("p", { className: "aura-popover__title", id: id + "-title" }, props.title), /* @__PURE__ */ React53.createElement(
6435
+ props.title ? /* @__PURE__ */ React55.createElement("div", { className: "aura-popover__head" }, /* @__PURE__ */ React55.createElement("p", { className: "aura-popover__title", id: id + "-title" }, props.title), /* @__PURE__ */ React55.createElement(
6312
6436
  IconButton,
6313
6437
  {
6314
6438
  icon: "x",
@@ -6318,7 +6442,7 @@ window.Aura = (() => {
6318
6442
  }
6319
6443
  }
6320
6444
  )) : null,
6321
- /* @__PURE__ */ React53.createElement("div", { className: "aura-popover__body" }, typeof props.children === "function" ? props.children({
6445
+ /* @__PURE__ */ React55.createElement("div", { className: "aura-popover__body" }, typeof props.children === "function" ? props.children({
6322
6446
  close: function() {
6323
6447
  close(true);
6324
6448
  }
@@ -6326,7 +6450,7 @@ window.Aura = (() => {
6326
6450
  ),
6327
6451
  document.body
6328
6452
  ) : null;
6329
- return /* @__PURE__ */ React53.createElement("span", { ref: wrap, className: "aura-popover-anchor" }, React53.cloneElement(child, {
6453
+ return /* @__PURE__ */ React55.createElement("span", { ref: wrap, className: "aura-popover-anchor" }, React55.cloneElement(child, {
6330
6454
  onClick: function(e) {
6331
6455
  if (child.props.onClick) child.props.onClick(e);
6332
6456
  st[1](!open);
@@ -6338,7 +6462,7 @@ window.Aura = (() => {
6338
6462
  });
6339
6463
 
6340
6464
  // src/NumberField.tsx
6341
- var React54 = __toESM(require_react(), 1);
6465
+ var React56 = __toESM(require_react(), 1);
6342
6466
  function decimalsOf(n2) {
6343
6467
  const s = String(n2);
6344
6468
  const i = s.indexOf(".");
@@ -6349,7 +6473,7 @@ window.Aura = (() => {
6349
6473
  if (!/^-?(\d+\.?\d*|\.\d+)$/.test(s)) return NaN;
6350
6474
  return Number(s);
6351
6475
  }
6352
- var NumberField = React54.forwardRef(function NumberField2(props, ref) {
6476
+ var NumberField = React56.forwardRef(function NumberField2(props, ref) {
6353
6477
  const t = useStrings();
6354
6478
  const auto = uid(), id = props.id || auto;
6355
6479
  const step = props.step || 1;
@@ -6360,7 +6484,7 @@ window.Aura = (() => {
6360
6484
  props.onChange
6361
6485
  );
6362
6486
  const value = st[0], setValue = st[1];
6363
- const draftState = React54.useState(null), draft = draftState[0], setDraft = draftState[1];
6487
+ const draftState = React56.useState(null), draft = draftState[0], setDraft = draftState[1];
6364
6488
  function fmt2(n2) {
6365
6489
  if (n2 == null || isNaN(n2)) return "";
6366
6490
  return n2.toLocaleString("en", { minimumFractionDigits: decimals, maximumFractionDigits: decimals });
@@ -6409,7 +6533,7 @@ window.Aura = (() => {
6409
6533
  };
6410
6534
  const valueText = value == null ? void 0 : [affixText(props.prefix), fmt2(value), affixText(props.suffix)].join(" ").trim();
6411
6535
  const stepper = props.stepper !== false && !props.readOnly;
6412
- return /* @__PURE__ */ React54.createElement(
6536
+ return /* @__PURE__ */ React56.createElement(
6413
6537
  Field,
6414
6538
  {
6415
6539
  id,
@@ -6421,7 +6545,7 @@ window.Aura = (() => {
6421
6545
  disabled: props.disabled,
6422
6546
  className: props.className
6423
6547
  },
6424
- /* @__PURE__ */ React54.createElement("div", { className: cx("aura-input aura-number", stepper && "has-stepper") }, props.prefix != null ? /* @__PURE__ */ React54.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.prefix) : null, /* @__PURE__ */ React54.createElement(
6548
+ /* @__PURE__ */ React56.createElement("div", { className: cx("aura-input aura-number", stepper && "has-stepper") }, props.prefix != null ? /* @__PURE__ */ React56.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.prefix) : null, /* @__PURE__ */ React56.createElement(
6425
6549
  "input",
6426
6550
  {
6427
6551
  ref,
@@ -6468,7 +6592,7 @@ window.Aura = (() => {
6468
6592
  },
6469
6593
  onKeyDown
6470
6594
  }
6471
- ), props.suffix != null ? /* @__PURE__ */ React54.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.suffix) : null, stepper ? /* @__PURE__ */ React54.createElement("span", { className: "aura-number__steps" }, /* @__PURE__ */ React54.createElement(
6595
+ ), props.suffix != null ? /* @__PURE__ */ React56.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.suffix) : null, stepper ? /* @__PURE__ */ React56.createElement("span", { className: "aura-number__steps" }, /* @__PURE__ */ React56.createElement(
6472
6596
  "button",
6473
6597
  {
6474
6598
  type: "button",
@@ -6484,8 +6608,8 @@ window.Aura = (() => {
6484
6608
  nudge(-step);
6485
6609
  }
6486
6610
  },
6487
- /* @__PURE__ */ React54.createElement(Icon, { name: "minus" })
6488
- ), /* @__PURE__ */ React54.createElement(
6611
+ /* @__PURE__ */ React56.createElement(Icon, { name: "minus" })
6612
+ ), /* @__PURE__ */ React56.createElement(
6489
6613
  "button",
6490
6614
  {
6491
6615
  type: "button",
@@ -6501,14 +6625,14 @@ window.Aura = (() => {
6501
6625
  nudge(step);
6502
6626
  }
6503
6627
  },
6504
- /* @__PURE__ */ React54.createElement(Icon, { name: "plus" })
6628
+ /* @__PURE__ */ React56.createElement(Icon, { name: "plus" })
6505
6629
  )) : null)
6506
6630
  );
6507
6631
  });
6508
6632
 
6509
6633
  // src/Stepper.tsx
6510
- var React55 = __toESM(require_react(), 1);
6511
- var Stepper = React55.forwardRef(function Stepper2(props, ref) {
6634
+ var React57 = __toESM(require_react(), 1);
6635
+ var Stepper = React57.forwardRef(function Stepper2(props, ref) {
6512
6636
  const t = useStrings();
6513
6637
  const steps = props.steps || [];
6514
6638
  let at = -1;
@@ -6518,26 +6642,26 @@ window.Aura = (() => {
6518
6642
  if (at < 0) at = 0;
6519
6643
  const vertical = props.orientation === "vertical";
6520
6644
  const cur = steps[at];
6521
- return /* @__PURE__ */ React55.createElement(
6645
+ return /* @__PURE__ */ React57.createElement(
6522
6646
  "nav",
6523
6647
  {
6524
6648
  ref,
6525
6649
  "aria-label": props.label,
6526
6650
  className: cx("aura-stepper", vertical ? "aura-stepper--vertical" : "aura-stepper--horizontal", props.className)
6527
6651
  },
6528
- /* @__PURE__ */ React55.createElement("ol", { className: "aura-stepper__list" }, steps.map(function(s, i) {
6652
+ /* @__PURE__ */ React57.createElement("ol", { className: "aura-stepper__list" }, steps.map(function(s, i) {
6529
6653
  const state = i < at ? "done" : i === at ? "current" : "upcoming";
6530
- const marker = /* @__PURE__ */ React55.createElement("span", { className: "aura-stepper__marker", "aria-hidden": true }, state === "done" ? /* @__PURE__ */ React55.createElement(Icon, { name: "check" }) : i + 1);
6531
- const text = /* @__PURE__ */ React55.createElement("span", { className: "aura-stepper__text" }, /* @__PURE__ */ React55.createElement("span", { className: "aura-stepper__label" }, s.label, state === "done" ? /* @__PURE__ */ React55.createElement("span", { className: "aura-sr-only" }, ", " + t.stepDone) : null), s.description ? /* @__PURE__ */ React55.createElement("span", { className: "aura-stepper__desc" }, s.description) : null);
6654
+ const marker = /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__marker", "aria-hidden": true }, state === "done" ? /* @__PURE__ */ React57.createElement(Icon, { name: "check" }) : i + 1);
6655
+ const text = /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__text" }, /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__label" }, s.label, state === "done" ? /* @__PURE__ */ React57.createElement("span", { className: "aura-sr-only" }, ", " + t.stepDone) : null), s.description ? /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__desc" }, s.description) : null);
6532
6656
  const clickable = state === "done" && !!props.onStepClick;
6533
- return /* @__PURE__ */ React55.createElement(
6657
+ return /* @__PURE__ */ React57.createElement(
6534
6658
  "li",
6535
6659
  {
6536
6660
  key: s.id,
6537
6661
  className: cx("aura-stepper__item", "is-" + state),
6538
6662
  "aria-current": state === "current" ? "step" : void 0
6539
6663
  },
6540
- clickable ? /* @__PURE__ */ React55.createElement(
6664
+ clickable ? /* @__PURE__ */ React57.createElement(
6541
6665
  "button",
6542
6666
  {
6543
6667
  type: "button",
@@ -6548,19 +6672,19 @@ window.Aura = (() => {
6548
6672
  },
6549
6673
  marker,
6550
6674
  text
6551
- ) : /* @__PURE__ */ React55.createElement("span", { className: "aura-stepper__step" }, marker, text)
6675
+ ) : /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__step" }, marker, text)
6552
6676
  );
6553
6677
  })),
6554
- !vertical && cur ? /* @__PURE__ */ React55.createElement("p", { className: "aura-stepper__compact", "aria-hidden": true }, /* @__PURE__ */ React55.createElement("span", { className: "aura-stepper__count" }, t.stepOf(at + 1, steps.length)), /* @__PURE__ */ React55.createElement("span", { className: "aura-stepper__compact-label" }, cur.label)) : null
6678
+ !vertical && cur ? /* @__PURE__ */ React57.createElement("p", { className: "aura-stepper__compact", "aria-hidden": true }, /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__count" }, t.stepOf(at + 1, steps.length)), /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__compact-label" }, cur.label)) : null
6555
6679
  );
6556
6680
  });
6557
6681
 
6558
6682
  // src/SegmentedControl.tsx
6559
- var React56 = __toESM(require_react(), 1);
6683
+ var React58 = __toESM(require_react(), 1);
6560
6684
  function toOpt2(o) {
6561
6685
  return typeof o === "object" ? o : { value: o, label: o };
6562
6686
  }
6563
- var SegmentedControl = React56.forwardRef(
6687
+ var SegmentedControl = React58.forwardRef(
6564
6688
  function SegmentedControl2(props, ref) {
6565
6689
  const options = (props.options || []).map(toOpt2);
6566
6690
  const firstEnabled = options.filter(function(o) {
@@ -6573,7 +6697,7 @@ window.Aura = (() => {
6573
6697
  );
6574
6698
  const value = st[0], setValue = st[1];
6575
6699
  const auto = uid(), id = props.id || auto;
6576
- const refs = React56.useRef([]);
6700
+ const refs = React58.useRef([]);
6577
6701
  const selIdx = options.findIndex(function(o) {
6578
6702
  return o.value === value;
6579
6703
  });
@@ -6606,7 +6730,7 @@ window.Aura = (() => {
6606
6730
  move(options.length, -1);
6607
6731
  }
6608
6732
  }
6609
- return /* @__PURE__ */ React56.createElement(
6733
+ return /* @__PURE__ */ React58.createElement(
6610
6734
  "div",
6611
6735
  {
6612
6736
  ref,
@@ -6625,7 +6749,7 @@ window.Aura = (() => {
6625
6749
  options.map(function(o, i) {
6626
6750
  const on = o.value === value;
6627
6751
  const off = props.disabled || o.disabled;
6628
- return /* @__PURE__ */ React56.createElement(
6752
+ return /* @__PURE__ */ React58.createElement(
6629
6753
  "button",
6630
6754
  {
6631
6755
  key: o.value,
@@ -6647,8 +6771,8 @@ window.Aura = (() => {
6647
6771
  onKeyDown(e, i);
6648
6772
  }
6649
6773
  },
6650
- o.icon ? /* @__PURE__ */ React56.createElement(Icon, { name: o.icon }) : null,
6651
- o.iconOnly ? null : /* @__PURE__ */ React56.createElement("span", null, o.label)
6774
+ o.icon ? /* @__PURE__ */ React58.createElement(Icon, { name: o.icon }) : null,
6775
+ o.iconOnly ? null : /* @__PURE__ */ React58.createElement("span", null, o.label)
6652
6776
  );
6653
6777
  })
6654
6778
  );