@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.
@@ -74,6 +74,7 @@ __export(index_exports, {
74
74
  STRINGS: () => STRINGS,
75
75
  SegmentedControl: () => SegmentedControl,
76
76
  Select: () => Select,
77
+ Separator: () => Separator,
77
78
  SideNav: () => SideNav,
78
79
  Skeleton: () => Skeleton,
79
80
  Stack: () => Stack,
@@ -82,14 +83,21 @@ __export(index_exports, {
82
83
  Stepper: () => Stepper,
83
84
  Surface: () => Surface,
84
85
  Switch: () => Switch,
86
+ TBody: () => TBody,
87
+ TFoot: () => TFoot,
88
+ THead: () => THead,
89
+ Table: () => Table,
85
90
  Tabs: () => Tabs,
86
91
  Tag: () => Tag,
92
+ Td: () => Td,
87
93
  TextField: () => TextField,
88
94
  Textarea: () => Textarea,
95
+ Th: () => Th,
89
96
  ThemeStyle: () => ThemeStyle,
90
97
  TimePicker: () => TimePicker,
91
98
  Toaster: () => Toaster,
92
99
  Tooltip: () => Tooltip,
100
+ Tr: () => Tr,
93
101
  brandScale: () => scale,
94
102
  breakpoints: () => breakpoints,
95
103
  colorSchemeScript: () => colorSchemeScript,
@@ -97,7 +105,7 @@ __export(index_exports, {
97
105
  contrast: () => contrast,
98
106
  createTheme: () => createTheme,
99
107
  formatBytes: () => formatBytes,
100
- formatDate: () => formatDate,
108
+ formatDate: () => formatDate2,
101
109
  iconNames: () => iconNames,
102
110
  parseDate: () => parseDate,
103
111
  parseTime: () => parseTime,
@@ -1305,13 +1313,13 @@ var Combobox = React16.forwardRef(
1305
1313
  function place() {
1306
1314
  if (!boxRef.current) return;
1307
1315
  const r = boxRef.current.getBoundingClientRect();
1308
- const maxH = 320, below = window.innerHeight - r.bottom - 8, up = below < 200 && r.top > below;
1316
+ const maxH = 320, below2 = window.innerHeight - r.bottom - 8, up = below2 < 200 && r.top > below2;
1309
1317
  posState[1]({
1310
1318
  left: r.left,
1311
1319
  width: r.width,
1312
1320
  top: up ? void 0 : r.bottom + 4,
1313
1321
  bottom: up ? window.innerHeight - r.top + 4 : void 0,
1314
- maxHeight: Math.min(maxH, (up ? r.top : below) - 8)
1322
+ maxHeight: Math.min(maxH, (up ? r.top : below2) - 8)
1315
1323
  });
1316
1324
  }
1317
1325
  useIsoLayoutEffect(
@@ -1740,6 +1748,23 @@ function todayIn(timeZone) {
1740
1748
  }
1741
1749
 
1742
1750
  // src/DatePicker.tsx
1751
+ var warnedNoLocale = false;
1752
+ function isDev() {
1753
+ try {
1754
+ return process.env.NODE_ENV !== "production";
1755
+ } catch (e) {
1756
+ return false;
1757
+ }
1758
+ }
1759
+ function formatDate2(iso, opts) {
1760
+ if (!warnedNoLocale && !(opts && opts.locale) && isDev()) {
1761
+ warnedNoLocale = true;
1762
+ console.warn(
1763
+ "[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."
1764
+ );
1765
+ }
1766
+ return formatDate(iso, opts);
1767
+ }
1743
1768
  function useFormatDate() {
1744
1769
  const ctx = useAuraLocale(), locale = ctx.locale || "en", calendar = ctx.calendar;
1745
1770
  return React17.useCallback(
@@ -3066,9 +3091,27 @@ var Tooltip = React26.forwardRef(function Tooltip2(props, ref) {
3066
3091
  function() {
3067
3092
  if (!open || !anchor.current || !tip.current) return;
3068
3093
  const r = anchor.current.getBoundingClientRect(), t = tip.current.getBoundingClientRect();
3069
- let side = props.side || "top", top = side === "top" ? r.top - t.height - 8 : r.bottom + 8;
3070
- if (side === "top" && top < 8) top = r.bottom + 8;
3071
- const left = Math.max(8, Math.min(r.left + r.width / 2 - t.width / 2, window.innerWidth - t.width - 8));
3094
+ const vw = window.innerWidth, vh = window.innerHeight, gap = 8, m = 8;
3095
+ let side = props.side || "top";
3096
+ if (side === "top" && r.top - t.height - gap < m && r.bottom + gap + t.height <= vh - m) side = "bottom";
3097
+ else if (side === "bottom" && r.bottom + gap + t.height > vh - m && r.top - t.height - gap >= m) side = "top";
3098
+ else if (side === "left" && r.left - t.width - gap < m && r.right + gap + t.width <= vw - m) side = "right";
3099
+ else if (side === "right" && r.right + gap + t.width > vw - m && r.left - t.width - gap >= m) side = "left";
3100
+ const clampX = function(x) {
3101
+ return Math.max(m, Math.min(x, vw - t.width - m));
3102
+ };
3103
+ const clampY = function(y) {
3104
+ return Math.max(m, Math.min(y, vh - t.height - m));
3105
+ };
3106
+ let top, left;
3107
+ if (side === "top" || side === "bottom") {
3108
+ top = side === "top" ? r.top - t.height - gap : r.bottom + gap;
3109
+ left = clampX(r.left + r.width / 2 - t.width / 2);
3110
+ } else {
3111
+ left = side === "left" ? r.left - t.width - gap : r.right + gap;
3112
+ left = clampX(left);
3113
+ top = clampY(r.top + r.height / 2 - t.height / 2);
3114
+ }
3072
3115
  pos[1]({ top, left });
3073
3116
  },
3074
3117
  [open]
@@ -3204,7 +3247,16 @@ var DEFAULT_COLUMNS = [
3204
3247
  { key: "owner", label: "OWNER" }
3205
3248
  ];
3206
3249
  var SKELETON_WIDTHS = ["72%", "56%", "84%", "44%", "64%"];
3207
- var STACK_WIDTHS = [360, 400, 480, 520, 560, 600, 640, 720, 768, 800, 900, 960, 1024];
3250
+ var Q = 1e4;
3251
+ var MAX_HIDE_LEVELS = 3;
3252
+ function below(w, threshold) {
3253
+ return w < threshold * (1 - 0.5 / Q);
3254
+ }
3255
+ function hidePx(c) {
3256
+ if (c.hideBelow == null) return void 0;
3257
+ const px = typeof c.hideBelow === "number" ? c.hideBelow : BP[c.hideBelow];
3258
+ return px != null && px > 0 ? px : void 0;
3259
+ }
3208
3260
  var ROW_H_DEFAULT = 48;
3209
3261
  var OVERSCAN = 8;
3210
3262
  var FLEX_MIN = 160;
@@ -3280,36 +3332,55 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
3280
3332
  const measure = !!props.stackBelow || columns.some(function(c) {
3281
3333
  return c.hideBelow != null;
3282
3334
  });
3283
- const dual = !!props.stackBelow && boxWidth[0] == null && STACK_WIDTHS.indexOf(props.stackBelow) >= 0;
3284
3335
  React28.useEffect(
3285
3336
  function() {
3286
3337
  if (!measure || !wrapRef.current || typeof ResizeObserver === "undefined") return;
3287
3338
  const ro = new ResizeObserver(function(en) {
3288
- boxWidth[1](en[0].contentRect.width);
3339
+ const bb = en[0].borderBoxSize && en[0].borderBoxSize[0];
3340
+ boxWidth[1](bb ? bb.inlineSize : en[0].target.getBoundingClientRect().width);
3289
3341
  });
3290
3342
  ro.observe(wrapRef.current);
3291
3343
  return function() {
3292
3344
  ro.disconnect();
3293
3345
  };
3294
3346
  },
3295
- [measure, dual]
3347
+ [measure]
3296
3348
  );
3297
- const stacked = !!props.stackBelow && boxWidth[0] != null && boxWidth[0] < props.stackBelow;
3349
+ const stacked = !!props.stackBelow && boxWidth[0] != null && below(boxWidth[0], props.stackBelow);
3298
3350
  useIsoLayoutEffect(
3299
3351
  function() {
3300
3352
  if (measure && boxWidth[0] == null && wrapRef.current) boxWidth[1](wrapRef.current.getBoundingClientRect().width);
3301
3353
  },
3302
3354
  [measure]
3303
3355
  );
3356
+ const hideLevels = [];
3357
+ columns.forEach(function(c) {
3358
+ const px = hidePx(c);
3359
+ if (px != null && hideLevels.indexOf(px) < 0) hideLevels.push(px);
3360
+ });
3361
+ hideLevels.sort(function(a, b) {
3362
+ return b - a;
3363
+ });
3364
+ hideLevels.length = Math.min(hideLevels.length, MAX_HIDE_LEVELS);
3365
+ const levels = [];
3366
+ if (props.stackBelow && props.stackBelow > 0) levels.push({ name: "stack", px: props.stackBelow });
3367
+ hideLevels.forEach(function(px, i) {
3368
+ levels.push({ name: "h" + (i + 1), px });
3369
+ });
3370
+ function hideLevel(c) {
3371
+ const px = hidePx(c);
3372
+ const i = px == null ? -1 : hideLevels.indexOf(px);
3373
+ return i < 0 ? void 0 : i + 1;
3374
+ }
3304
3375
  function tooNarrow(c) {
3305
3376
  if (c.hideBelow == null || boxWidth[0] == null || stacked) return false;
3306
- const px = typeof c.hideBelow === "number" ? c.hideBelow : BP[c.hideBelow];
3307
- return px != null && boxWidth[0] < px;
3377
+ const px = hidePx(c);
3378
+ return px != null && below(boxWidth[0], px);
3308
3379
  }
3309
3380
  const scrollRef = React28.useRef(null);
3310
3381
  const tipState = React28.useState(null), tip = tipState[0], setTip = tipState[1];
3311
3382
  function showFull(e) {
3312
- const el = e.target.closest ? e.target.closest(".aura-table__td, .aura-table__card-fields dd") : null;
3383
+ const el = e.target.closest ? e.target.closest(".aura-table__td") : null;
3313
3384
  if (!el || el.scrollWidth <= el.clientWidth + 1 || el.querySelector("button, input, .aura-pill"))
3314
3385
  return setTip(null);
3315
3386
  const r = el.getBoundingClientRect();
@@ -3341,7 +3412,7 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
3341
3412
  const pending = React28.useRef(null);
3342
3413
  const resizing = React28.useRef(false);
3343
3414
  useIsoLayoutEffect(function() {
3344
- if (stacked || !gridRef.current) return;
3415
+ if (!gridRef.current) return;
3345
3416
  const els = gridRef.current.querySelectorAll(
3346
3417
  '.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"]'
3347
3418
  );
@@ -3373,12 +3444,31 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
3373
3444
  })
3374
3445
  );
3375
3446
  const nPinned = vis.filter(isPinned).length;
3447
+ const pillKey = (vis.filter(function(c, i) {
3448
+ return i > 0 && c.pill;
3449
+ })[0] || { key: "" }).key;
3450
+ function cardPart(c, i) {
3451
+ return i === 0 ? "title" : c.key === pillKey ? "pill" : c.actions ? "actions" : "field";
3452
+ }
3453
+ function cardAttrs(c, i) {
3454
+ const part = cardPart(c, i), lv = hideLevel(c);
3455
+ return {
3456
+ "data-card": part,
3457
+ "data-label": part === "field" ? c.label || void 0 : void 0,
3458
+ "data-hide": lv ? String(lv) : void 0
3459
+ };
3460
+ }
3461
+ const hasFields = vis.some(function(c, i) {
3462
+ return cardPart(c, i) === "field";
3463
+ });
3376
3464
  const hasFlex = vis.some(function(c) {
3377
3465
  return widthOf(c) == null;
3378
3466
  });
3379
- let fixedSum = 0;
3467
+ let fixedSum = 0, hideTerms = "";
3380
3468
  vis.forEach(function(c) {
3381
- fixedSum += widthOf(c) != null ? widthOf(c) : FLEX_MIN;
3469
+ const w = widthOf(c) != null ? widthOf(c) : FLEX_MIN, lv = hideLevel(c);
3470
+ if (lv && boxWidth[0] == null) hideTerms += " + " + w + "px * var(--aura-h" + lv + "-on, 1)";
3471
+ else fixedSum += w;
3382
3472
  });
3383
3473
  let pinOffsets = {}, acc = 0;
3384
3474
  vis.forEach(function(c) {
@@ -3389,13 +3479,17 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
3389
3479
  });
3390
3480
  const selW = selectable ? " + var(--aura-table-select-width)" : "";
3391
3481
  const gutterR = controls ? "var(--aura-space-12)" : "var(--aura-space-6)";
3392
- const rowMinWidth = "calc(" + fixedSum + "px + var(--aura-space-6) + " + gutterR + selW + ")";
3482
+ const rowMinWidth = "calc(" + fixedSum + "px" + hideTerms + " + var(--aura-space-6) + " + gutterR + selW + ")";
3393
3483
  function cellStyle(c, i) {
3394
- let w = widthOf(c), s;
3395
- if (w == null) s = { flex: "1 1 0", minWidth: (c.minWidth || FLEX_MIN) + "px" };
3396
- else if (!hasFlex && i === vis.length - 1) s = { flex: "1 0 auto", width: w + "px" };
3397
- else s = { width: w + "px", flex: "none" };
3398
- if (isPinned(c)) s.left = "calc(var(--aura-space-6)" + selW + " + " + pinOffsets[c.key] + "px)";
3484
+ const w = widthOf(c), s = {};
3485
+ if (w == null) {
3486
+ s["--aura-cell-flex"] = "1 1 0";
3487
+ s["--aura-cell-min"] = (c.minWidth || FLEX_MIN) + "px";
3488
+ } else {
3489
+ s["--aura-cell-flex"] = !hasFlex && i === vis.length - 1 ? "1 0 auto" : "none";
3490
+ s["--aura-cell-w"] = w + "px";
3491
+ }
3492
+ if (isPinned(c)) s["--aura-cell-left"] = "calc(var(--aura-space-6)" + selW + " + " + pinOffsets[c.key] + "px)";
3399
3493
  return s;
3400
3494
  }
3401
3495
  const view = React28.useMemo(
@@ -3478,7 +3572,7 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
3478
3572
  return rowHref ? /* @__PURE__ */ React28.createElement(Link, { href: rowHref(r), className: "aura-table__row-link" }, content) : content;
3479
3573
  }
3480
3574
  const height = props.height || 0;
3481
- const virtual = !!height && !loading && pageRows.length > 0;
3575
+ const virtual = !!height && !loading && pageRows.length > 0 && !stacked;
3482
3576
  const bodyH = Math.max(ROW_H, height - ROW_H);
3483
3577
  let start = 0, end = pageRows.length;
3484
3578
  if (virtual) {
@@ -3833,7 +3927,8 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
3833
3927
  label: all ? t.deselectAllRows : t.selectAllRows,
3834
3928
  onChange: toggleAll
3835
3929
  }
3836
- ) : null
3930
+ ) : null,
3931
+ 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)
3837
3932
  )
3838
3933
  );
3839
3934
  vis.forEach(function(c, i) {
@@ -3851,6 +3946,7 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
3851
3946
  "aria-sort": ariaSort,
3852
3947
  "aria-colindex": ci + 1,
3853
3948
  style: cellStyle(c, i),
3949
+ "data-hide": hideLevel(c) ? String(hideLevel(c)) : void 0,
3854
3950
  tabIndex: tabFor(0, ci),
3855
3951
  "data-rc": "0:" + ci,
3856
3952
  className: cx(
@@ -4007,6 +4103,7 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
4007
4103
  pin && j === nPinned - 1 && "is-pin-edge"
4008
4104
  ),
4009
4105
  style: cellStyle(c, j),
4106
+ ...cardAttrs(c, j),
4010
4107
  onFocus: function() {
4011
4108
  if (activeState[0].r !== ri || activeState[0].c !== ci) activeState[1]({ r: ri, c: ci });
4012
4109
  }
@@ -4015,6 +4112,7 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
4015
4112
  )
4016
4113
  );
4017
4114
  });
4115
+ if (hasFields) cells.push(/* @__PURE__ */ React28.createElement("span", { key: "__br", className: "aura-table__break", "aria-hidden": true }));
4018
4116
  cells.push(
4019
4117
  /* @__PURE__ */ React28.createElement(
4020
4118
  "span",
@@ -4028,7 +4126,7 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
4028
4126
  return cells;
4029
4127
  }
4030
4128
  let body;
4031
- const rowStyle = { minWidth: rowMinWidth };
4129
+ const rowStyle = { ["--aura-row-min"]: rowMinWidth };
4032
4130
  if (loading) {
4033
4131
  const n2 = pageSize || props.skeletonRows || 5;
4034
4132
  const skRows = body = [];
@@ -4045,7 +4143,9 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
4045
4143
  {
4046
4144
  key: c.key,
4047
4145
  className: cx("aura-table__td", c.align === "end" && "is-end", isPinned(c) && "is-pinned"),
4048
- style: cellStyle(c, j)
4146
+ style: cellStyle(c, j),
4147
+ ...cardAttrs(c, j),
4148
+ "data-label": void 0
4049
4149
  },
4050
4150
  /* @__PURE__ */ React28.createElement(
4051
4151
  "span",
@@ -4057,6 +4157,7 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
4057
4157
  )
4058
4158
  );
4059
4159
  });
4160
+ if (hasFields) sk.push(/* @__PURE__ */ React28.createElement("span", { key: "__br", className: "aura-table__break" }));
4060
4161
  sk.push(
4061
4162
  /* @__PURE__ */ React28.createElement("span", { key: "__gr", className: cx("aura-table__gutter aura-table__gutter--end", controls && "has-picker") })
4062
4163
  );
@@ -4142,102 +4243,6 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
4142
4243
  } else if (height && rows.length && !loading) {
4143
4244
  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));
4144
4245
  }
4145
- function renderStacked(wrapRefArg) {
4146
- const titleCol = vis[0], pillCol = vis.filter(function(c) {
4147
- return c.pill && c !== titleCol;
4148
- })[0];
4149
- const actionCols = vis.filter(function(c) {
4150
- return c.actions && c !== titleCol;
4151
- });
4152
- const rest = vis.filter(function(c) {
4153
- return c !== titleCol && c !== pillCol && !c.actions;
4154
- });
4155
- let cardBody;
4156
- if (loading) {
4157
- cardBody = /* @__PURE__ */ React28.createElement("ul", { className: "aura-table__cards", "aria-busy": true }, [0, 1, 2].map(function(i) {
4158
- 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%" } }));
4159
- }));
4160
- } else if (!rows.length) {
4161
- const em2 = props.empty || {};
4162
- 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));
4163
- } else {
4164
- const cellVal = cellContent;
4165
- cardBody = /* @__PURE__ */ React28.createElement("ul", { className: "aura-table__cards", "aria-label": props.label }, pageRows.map(function(r) {
4166
- const k = r[rowKey], isSel = !!selSet[k];
4167
- return /* @__PURE__ */ React28.createElement(
4168
- "li",
4169
- {
4170
- key: k,
4171
- className: cx(
4172
- "aura-table__card",
4173
- isSel && "is-selected",
4174
- (props.onRowActivate || rowHref) && "is-actionable"
4175
- ),
4176
- tabIndex: props.onRowActivate && !rowHref ? 0 : void 0,
4177
- onClick: function(e) {
4178
- const el = e.target;
4179
- if (el.closest && el.closest(".aura-check, button, a, input")) return;
4180
- if (rowHref) followRow(e.currentTarget, e);
4181
- else if (props.onRowActivate) props.onRowActivate(r);
4182
- },
4183
- onKeyDown: function(e) {
4184
- if (e.target === e.currentTarget && e.key === "Enter" && props.onRowActivate && !rowHref)
4185
- props.onRowActivate(r);
4186
- }
4187
- },
4188
- /* @__PURE__ */ React28.createElement("div", { className: "aura-table__card-head" }, selectable ? /* @__PURE__ */ React28.createElement(
4189
- Checkbox,
4190
- {
4191
- checked: isSel,
4192
- label: t.selectRow(k),
4193
- onChange: function(on) {
4194
- toggle(k, on);
4195
- }
4196
- }
4197
- ) : 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) {
4198
- return /* @__PURE__ */ React28.createElement("span", { key: c.key, className: "aura-table__card-actions" }, cellVal(c, r));
4199
- })),
4200
- rest.length ? /* @__PURE__ */ React28.createElement("dl", { className: "aura-table__card-fields" }, rest.map(function(c) {
4201
- 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)));
4202
- })) : null
4203
- );
4204
- }));
4205
- }
4206
- return /* @__PURE__ */ React28.createElement(
4207
- "div",
4208
- {
4209
- ref: wrapRefArg,
4210
- "data-density": props.density,
4211
- className: cx("aura-table aura-table--stacked", refreshing && "is-refreshing", props.className),
4212
- onMouseOver: showFull,
4213
- onMouseLeave: hideFull,
4214
- onFocus: showFull,
4215
- onBlur: hideFull,
4216
- role: "region",
4217
- "aria-label": props.label,
4218
- "aria-busy": busy || void 0
4219
- },
4220
- refreshing ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
4221
- selectable && pageRows.length && !busy ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__stack-bar" }, /* @__PURE__ */ React28.createElement(
4222
- Checkbox,
4223
- {
4224
- checked: all,
4225
- indeterminate: nSel > 0 && !all,
4226
- label: all ? t.deselectAllRows : t.selectAllRows,
4227
- onChange: toggleAll
4228
- }
4229
- ), /* @__PURE__ */ React28.createElement("span", null, nSel ? t.selectedCount(nSel) : t.selectAll)) : null,
4230
- cardBody,
4231
- 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) {
4232
- return props.footer[c.key] != null;
4233
- }).map(function(c) {
4234
- 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]));
4235
- }))) : null,
4236
- foot,
4237
- tipEl
4238
- );
4239
- }
4240
- if (stacked) return renderStacked(wrapMerged);
4241
4246
  const totalRow = props.footer && rows.length && !loading ? /* @__PURE__ */ React28.createElement(
4242
4247
  "div",
4243
4248
  {
@@ -4262,13 +4267,17 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
4262
4267
  c.mono && "aura-table__mono",
4263
4268
  c.align === "end" && "is-end",
4264
4269
  pin && "is-pinned",
4265
- pin && j === nPinned - 1 && "is-pin-edge"
4270
+ pin && j === nPinned - 1 && "is-pin-edge",
4271
+ props.footer[c.key] == null && "is-blank"
4266
4272
  ),
4267
- style: cellStyle(c, j)
4273
+ style: cellStyle(c, j),
4274
+ ...cardAttrs(c, j),
4275
+ "data-label": j === 0 ? void 0 : c.label || t.totals
4268
4276
  },
4269
4277
  props.footer[c.key]
4270
4278
  );
4271
4279
  }),
4280
+ hasFields ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__break", "aria-hidden": true }) : null,
4272
4281
  /* @__PURE__ */ React28.createElement(
4273
4282
  "span",
4274
4283
  {
@@ -4281,13 +4290,20 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
4281
4290
  scrollPaddingLeft: "calc(var(--aura-space-6)" + selW + " + " + acc + "px)",
4282
4291
  scrollPaddingTop: ROW_H + "px"
4283
4292
  };
4284
- if (height) scrollStyle.height = height + "px";
4293
+ if (height) scrollStyle["--aura-table-h"] = height + "px";
4285
4294
  const gridEl = /* @__PURE__ */ React28.createElement(
4286
4295
  "div",
4287
4296
  {
4288
- ref: dual ? void 0 : wrapMerged,
4297
+ ref: levels.length ? wrapRef : wrapMerged,
4289
4298
  "data-density": props.density,
4290
- className: cx("aura-table", scrolledX[0] && "is-scrolled-x", refreshing && "is-refreshing", props.className)
4299
+ className: cx(
4300
+ "aura-table",
4301
+ stacked && "aura-table--stacked",
4302
+ scrolledX[0] && "is-scrolled-x",
4303
+ refreshing && "is-refreshing",
4304
+ !levels.length && props.className
4305
+ ),
4306
+ style: levels.length ? { ["--aura-q-back"]: String(levels[levels.length - 1].px / Q) } : void 0
4291
4307
  },
4292
4308
  refreshing ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
4293
4309
  /* @__PURE__ */ React28.createElement(
@@ -4319,7 +4335,16 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
4319
4335
  if (sx !== scrolledX[0]) scrolledX[1](sx);
4320
4336
  }
4321
4337
  },
4322
- /* @__PURE__ */ React28.createElement("div", { className: "aura-table__head", role: "row", "aria-rowindex": 1, style: rowStyle }, head),
4338
+ /* @__PURE__ */ React28.createElement(
4339
+ "div",
4340
+ {
4341
+ className: cx("aura-table__head", selectable && nRows > 0 && !busy && "has-select-all"),
4342
+ role: "row",
4343
+ "aria-rowindex": 1,
4344
+ style: rowStyle
4345
+ },
4346
+ head
4347
+ ),
4323
4348
  body,
4324
4349
  totalRow
4325
4350
  ),
@@ -4347,8 +4372,20 @@ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
4347
4372
  ) : null,
4348
4373
  tipEl
4349
4374
  );
4350
- if (!dual) return gridEl;
4351
- return /* @__PURE__ */ React28.createElement("div", { ref: wrapMerged, className: "aura-table-dual", "data-stack-below": props.stackBelow }, renderStacked(void 0), gridEl);
4375
+ if (!levels.length) return gridEl;
4376
+ let out = gridEl;
4377
+ for (let i = levels.length - 1; i >= 0; i--) {
4378
+ const prev = i === 0 ? Q : levels[i - 1].px;
4379
+ out = /* @__PURE__ */ React28.createElement(
4380
+ "div",
4381
+ {
4382
+ className: cx("aura-table-q", "aura-table-q--" + levels[i].name),
4383
+ style: { ["--aura-q-scale"]: String(prev / levels[i].px) }
4384
+ },
4385
+ out
4386
+ );
4387
+ }
4388
+ return /* @__PURE__ */ React28.createElement("div", { ref, className: cx("aura-table-box", props.className) }, out);
4352
4389
  });
4353
4390
 
4354
4391
  // src/Card.tsx
@@ -4936,9 +4973,96 @@ var ActionBar = React39.forwardRef(function ActionBar2(props, ref) {
4936
4973
  );
4937
4974
  });
4938
4975
 
4939
- // src/BottomNav.tsx
4976
+ // src/Separator.tsx
4940
4977
  var React40 = __toESM(require("react"), 1);
4941
- var BottomNav = React40.forwardRef(function BottomNav2(props, ref) {
4978
+ var Separator = React40.forwardRef(function Separator2(props, ref) {
4979
+ const vertical = props.orientation === "vertical";
4980
+ const decorative = props.decorative !== false;
4981
+ return /* @__PURE__ */ React40.createElement(
4982
+ "div",
4983
+ {
4984
+ ref,
4985
+ className: cx("aura-separator", vertical && "aura-separator--vertical", props.className),
4986
+ role: decorative ? "none" : "separator",
4987
+ "aria-orientation": !decorative && vertical ? "vertical" : void 0,
4988
+ style: props.spacing != null ? { ["--aura-separator-space"]: "var(--aura-space-" + props.spacing + ")" } : void 0
4989
+ }
4990
+ );
4991
+ });
4992
+
4993
+ // src/Table.tsx
4994
+ var React41 = __toESM(require("react"), 1);
4995
+ var Table = React41.forwardRef(function Table2(props, ref) {
4996
+ const { caption, captionHidden, density, className, children, ...rest } = props;
4997
+ const capId = uid();
4998
+ const wrap = React41.useRef(null);
4999
+ const sc = React41.useState(false), scrolls = sc[0];
5000
+ useIsoLayoutEffect(function() {
5001
+ const el = wrap.current;
5002
+ if (!el || typeof ResizeObserver === "undefined") return;
5003
+ function check() {
5004
+ sc[1](el.scrollWidth > el.clientWidth + 1);
5005
+ }
5006
+ check();
5007
+ const ro = new ResizeObserver(check);
5008
+ ro.observe(el);
5009
+ return function() {
5010
+ ro.disconnect();
5011
+ };
5012
+ }, []);
5013
+ return /* @__PURE__ */ React41.createElement(
5014
+ "div",
5015
+ {
5016
+ ref: wrap,
5017
+ className: "aura-tbl-wrap",
5018
+ "data-density": density,
5019
+ tabIndex: scrolls ? 0 : void 0,
5020
+ role: scrolls ? "region" : void 0,
5021
+ "aria-labelledby": scrolls && caption != null ? capId : void 0
5022
+ },
5023
+ /* @__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)
5024
+ );
5025
+ });
5026
+ function section(tag, cls) {
5027
+ const C = React41.forwardRef(function TableSection(props, ref) {
5028
+ const { className, ...rest } = props;
5029
+ return React41.createElement(tag, Object.assign({ ref, className: cx(cls, className) }, rest));
5030
+ });
5031
+ return C;
5032
+ }
5033
+ var THead = section("thead", "aura-tbl__head");
5034
+ THead.displayName = "THead";
5035
+ var TBody = section("tbody", "aura-tbl__body");
5036
+ TBody.displayName = "TBody";
5037
+ var TFoot = section("tfoot", "aura-tbl__foot");
5038
+ TFoot.displayName = "TFoot";
5039
+ var Tr = React41.forwardRef(function Tr2(props, ref) {
5040
+ const { className, ...rest } = props;
5041
+ return /* @__PURE__ */ React41.createElement("tr", { ref, className: cx("aura-tbl__row", className), ...rest });
5042
+ });
5043
+ function cellClass(base, p) {
5044
+ const align = p.align || (p.numeric ? "end" : void 0);
5045
+ return cx(
5046
+ base,
5047
+ align === "end" && "is-end",
5048
+ align === "center" && "is-center",
5049
+ p.numeric && "is-numeric",
5050
+ p.mono && "aura-table__mono",
5051
+ p.className
5052
+ );
5053
+ }
5054
+ var Th = React41.forwardRef(function Th2(props, ref) {
5055
+ const { align, numeric, mono, className, scope, ...rest } = props;
5056
+ return /* @__PURE__ */ React41.createElement("th", { ref, scope: scope || "col", className: cellClass("aura-tbl__th", props), ...rest });
5057
+ });
5058
+ var Td = React41.forwardRef(function Td2(props, ref) {
5059
+ const { align, numeric, mono, className, scope, ...rest } = props;
5060
+ return /* @__PURE__ */ React41.createElement("td", { ref, className: cellClass("aura-tbl__td", props), ...rest });
5061
+ });
5062
+
5063
+ // src/BottomNav.tsx
5064
+ var React42 = __toESM(require("react"), 1);
5065
+ var BottomNav = React42.forwardRef(function BottomNav2(props, ref) {
4942
5066
  const t = useStrings();
4943
5067
  const Link = useLinkComponent(props.linkComponent);
4944
5068
  const st = useMaybeControlled(
@@ -4948,14 +5072,14 @@ var BottomNav = React40.forwardRef(function BottomNav2(props, ref) {
4948
5072
  );
4949
5073
  const active = st[0];
4950
5074
  const hide = props.hideFrom === false ? "always" : "below-" + (props.hideFrom || "lg");
4951
- 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(
5075
+ 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(
4952
5076
  "nav",
4953
5077
  {
4954
5078
  ref,
4955
5079
  className: cx("aura-bottomnav", "aura-bottomnav--" + hide, props.className),
4956
5080
  "aria-label": props.label || t.mainNav
4957
5081
  },
4958
- /* @__PURE__ */ React40.createElement("ul", { className: "aura-bottomnav__list" }, props.items.map(function(it) {
5082
+ /* @__PURE__ */ React42.createElement("ul", { className: "aura-bottomnav__list" }, props.items.map(function(it) {
4959
5083
  const on = active === it.id;
4960
5084
  const count = it.count != null && it.count > 0 ? it.count > 99 ? "99+" : String(it.count) : null;
4961
5085
  const common = {
@@ -4967,19 +5091,19 @@ var BottomNav = React40.forwardRef(function BottomNav2(props, ref) {
4967
5091
  }
4968
5092
  };
4969
5093
  const inner = [
4970
- /* @__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),
4971
- /* @__PURE__ */ React40.createElement("span", { key: "l", className: "aura-bottomnav__label" }, it.label),
4972
- count || it.badge && it.badgeLabel ? /* @__PURE__ */ React40.createElement("span", { key: "s", className: "aura-sr-only" }, " (" + (count || it.badgeLabel) + ")") : null
5094
+ /* @__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),
5095
+ /* @__PURE__ */ React42.createElement("span", { key: "l", className: "aura-bottomnav__label" }, it.label),
5096
+ count || it.badge && it.badgeLabel ? /* @__PURE__ */ React42.createElement("span", { key: "s", className: "aura-sr-only" }, " (" + (count || it.badgeLabel) + ")") : null
4973
5097
  ];
4974
- 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));
5098
+ 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));
4975
5099
  }))
4976
5100
  ));
4977
5101
  });
4978
5102
 
4979
5103
  // src/Surface.tsx
4980
- var React41 = __toESM(require("react"), 1);
4981
- var h8 = React41.createElement;
4982
- var Surface = React41.forwardRef(function Surface2(props, ref) {
5104
+ var React43 = __toESM(require("react"), 1);
5105
+ var h8 = React43.createElement;
5106
+ var Surface = React43.forwardRef(function Surface2(props, ref) {
4983
5107
  const t = props.texture || "mesh";
4984
5108
  const rest = omit(props, ["texture", "className", "children", "as"]);
4985
5109
  return h8(
@@ -5000,8 +5124,8 @@ var Surface = React41.forwardRef(function Surface2(props, ref) {
5000
5124
  });
5001
5125
 
5002
5126
  // src/Stat.tsx
5003
- var React42 = __toESM(require("react"), 1);
5004
- var Stat = React42.forwardRef(function Stat2(props, ref) {
5127
+ var React44 = __toESM(require("react"), 1);
5128
+ var Stat = React44.forwardRef(function Stat2(props, ref) {
5005
5129
  const ch = props.change;
5006
5130
  const dir = ch && (ch.direction || "flat");
5007
5131
  const tone2 = ch && (ch.tone || (dir === "up" ? "positive" : dir === "down" ? "negative" : "neutral"));
@@ -5010,7 +5134,7 @@ var Stat = React42.forwardRef(function Stat2(props, ref) {
5010
5134
  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, ""));
5011
5135
  const Tag3 = props.href ? Link : props.onClick ? "button" : "div";
5012
5136
  const interactive = !!(props.href || props.onClick);
5013
- return /* @__PURE__ */ React42.createElement(
5137
+ return /* @__PURE__ */ React44.createElement(
5014
5138
  Tag3,
5015
5139
  {
5016
5140
  ref,
@@ -5020,14 +5144,14 @@ var Stat = React42.forwardRef(function Stat2(props, ref) {
5020
5144
  type: Tag3 === "button" ? "button" : void 0,
5021
5145
  "aria-busy": props.loading || void 0
5022
5146
  },
5023
- /* @__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),
5024
- 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),
5025
- 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
5147
+ /* @__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),
5148
+ 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),
5149
+ 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
5026
5150
  );
5027
5151
  });
5028
5152
 
5029
5153
  // src/TimePicker.tsx
5030
- var React43 = __toESM(require("react"), 1);
5154
+ var React45 = __toESM(require("react"), 1);
5031
5155
  var import_react_dom10 = require("react-dom");
5032
5156
 
5033
5157
  // src/text.ts
@@ -5068,7 +5192,7 @@ function toMin(t) {
5068
5192
  function fromMin(n2) {
5069
5193
  return pad3(Math.floor(n2 / 60)) + ":" + pad3(n2 % 60);
5070
5194
  }
5071
- var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5195
+ var TimePicker = React45.forwardRef(function TimePicker2(props, ref) {
5072
5196
  const t = useStrings();
5073
5197
  const auto = uid(), id = props.id || auto, listId = id + "-list";
5074
5198
  const st = useMaybeControlled(
@@ -5078,7 +5202,7 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5078
5202
  );
5079
5203
  const value = st[0];
5080
5204
  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;
5081
- const slots = React43.useMemo(
5205
+ const slots = React45.useMemo(
5082
5206
  function() {
5083
5207
  const out = [];
5084
5208
  for (let m = lo; m <= hi; m += step) out.push(fromMin(m));
@@ -5090,12 +5214,12 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5090
5214
  const n2 = toMin(v);
5091
5215
  return n2 == null || n2 < lo || n2 > hi || props.isTimeDisabled && props.isTimeDisabled(v);
5092
5216
  }
5093
- const openState = React43.useState(false), open = openState[0], setOpen = openState[1];
5094
- const editState = React43.useState(null), editing = editState[0], setEditing = editState[1];
5095
- const aState = React43.useState(0), active = aState[0], setActive = aState[1];
5096
- const errState = React43.useState(null);
5097
- const pos = React43.useState(null);
5098
- const boxRef = React43.useRef(null), inputRef = React43.useRef(null), listRef = React43.useRef(null), inputMerged = useMergedRef(ref, inputRef);
5217
+ const openState = React45.useState(false), open = openState[0], setOpen = openState[1];
5218
+ const editState = React45.useState(null), editing = editState[0], setEditing = editState[1];
5219
+ const aState = React45.useState(0), active = aState[0], setActive = aState[1];
5220
+ const errState = React45.useState(null);
5221
+ const pos = React45.useState(null);
5222
+ const boxRef = React45.useRef(null), inputRef = React45.useRef(null), listRef = React45.useRef(null), inputMerged = useMergedRef(ref, inputRef);
5099
5223
  const mounted = useMounted();
5100
5224
  function nearest(v) {
5101
5225
  const n2 = toMin(v);
@@ -5108,13 +5232,13 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5108
5232
  }
5109
5233
  function place() {
5110
5234
  if (!boxRef.current) return;
5111
- const r = boxRef.current.getBoundingClientRect(), below = window.innerHeight - r.bottom - 8, up = below < 200 && r.top > below;
5235
+ const r = boxRef.current.getBoundingClientRect(), below2 = window.innerHeight - r.bottom - 8, up = below2 < 200 && r.top > below2;
5112
5236
  pos[1]({
5113
5237
  left: r.left,
5114
5238
  width: Math.max(r.width, 160),
5115
5239
  top: up ? void 0 : r.bottom + 4,
5116
5240
  bottom: up ? window.innerHeight - r.top + 4 : void 0,
5117
- maxHeight: Math.min(280, (up ? r.top : below) - 8)
5241
+ maxHeight: Math.min(280, (up ? r.top : below2) - 8)
5118
5242
  });
5119
5243
  }
5120
5244
  useIsoLayoutEffect(
@@ -5123,7 +5247,7 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5123
5247
  },
5124
5248
  [open]
5125
5249
  );
5126
- React43.useEffect(
5250
+ React45.useEffect(
5127
5251
  function() {
5128
5252
  if (!open) return;
5129
5253
  function outside(e) {
@@ -5145,7 +5269,7 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5145
5269
  },
5146
5270
  [open]
5147
5271
  );
5148
- React43.useEffect(
5272
+ React45.useEffect(
5149
5273
  function() {
5150
5274
  if (!open || !listRef.current) return;
5151
5275
  const el = listRef.current.querySelector('[data-idx="' + active + '"]');
@@ -5243,9 +5367,9 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5243
5367
  }
5244
5368
  const error = errState[0] || props.error;
5245
5369
  const list = open && mounted && pos[0] ? (0, import_react_dom10.createPortal)(
5246
- /* @__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) {
5370
+ /* @__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) {
5247
5371
  const dis = blocked(s), sel = s === value;
5248
- return /* @__PURE__ */ React43.createElement(
5372
+ return /* @__PURE__ */ React45.createElement(
5249
5373
  "li",
5250
5374
  {
5251
5375
  key: s,
@@ -5270,13 +5394,13 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5270
5394
  if (active !== i) setActive(i);
5271
5395
  }
5272
5396
  },
5273
- /* @__PURE__ */ React43.createElement("span", { className: "aura-combo__label" }, s),
5274
- sel ? /* @__PURE__ */ React43.createElement(Icon, { name: "check", className: "aura-combo__check" }) : null
5397
+ /* @__PURE__ */ React45.createElement("span", { className: "aura-combo__label" }, s),
5398
+ sel ? /* @__PURE__ */ React45.createElement(Icon, { name: "check", className: "aura-combo__check" }) : null
5275
5399
  );
5276
5400
  }))),
5277
5401
  document.body
5278
5402
  ) : null;
5279
- return /* @__PURE__ */ React43.createElement(
5403
+ return /* @__PURE__ */ React45.createElement(
5280
5404
  Field,
5281
5405
  {
5282
5406
  id,
@@ -5288,7 +5412,7 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5288
5412
  disabled: props.disabled,
5289
5413
  className: props.className
5290
5414
  },
5291
- /* @__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(
5415
+ /* @__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(
5292
5416
  "input",
5293
5417
  {
5294
5418
  ref: inputMerged,
@@ -5328,7 +5452,7 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5328
5452
  }, 0);
5329
5453
  }
5330
5454
  }
5331
- ), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React43.createElement(
5455
+ ), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React45.createElement(
5332
5456
  "button",
5333
5457
  {
5334
5458
  type: "button",
@@ -5341,8 +5465,8 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5341
5465
  if (inputRef.current) inputRef.current.focus();
5342
5466
  }
5343
5467
  },
5344
- /* @__PURE__ */ React43.createElement(Icon, { name: "x" })
5345
- ) : null, /* @__PURE__ */ React43.createElement(
5468
+ /* @__PURE__ */ React45.createElement(Icon, { name: "x" })
5469
+ ) : null, /* @__PURE__ */ React45.createElement(
5346
5470
  "button",
5347
5471
  {
5348
5472
  type: "button",
@@ -5360,14 +5484,14 @@ var TimePicker = React43.forwardRef(function TimePicker2(props, ref) {
5360
5484
  }
5361
5485
  }
5362
5486
  },
5363
- /* @__PURE__ */ React43.createElement(Icon, { name: "chevron-down" })
5487
+ /* @__PURE__ */ React45.createElement(Icon, { name: "chevron-down" })
5364
5488
  )),
5365
5489
  list
5366
5490
  );
5367
5491
  });
5368
5492
 
5369
5493
  // src/FileUpload.tsx
5370
- var React44 = __toESM(require("react"), 1);
5494
+ var React46 = __toESM(require("react"), 1);
5371
5495
  function matches(file, accept) {
5372
5496
  if (!accept) return true;
5373
5497
  const name = (file.name || "").toLowerCase(), type = (file.type || "").toLowerCase();
@@ -5391,17 +5515,17 @@ function describeAccept(accept, t) {
5391
5515
  }).join(", ");
5392
5516
  }
5393
5517
  var seq = 0;
5394
- var FileUpload = React44.forwardRef(function FileUpload2(props, ref) {
5518
+ var FileUpload = React46.forwardRef(function FileUpload2(props, ref) {
5395
5519
  const t = useStrings();
5396
5520
  const auto = uid(), id = props.id || auto;
5397
5521
  const st = useMaybeControlled(props.value, props.defaultValue || [], props.onChange);
5398
5522
  const items2 = st[0] || [];
5399
- const dragState = React44.useState(false), over = dragState[0];
5400
- const inputRef = React44.useRef(null), inputMerged = useMergedRef(ref, inputRef);
5401
- const urls = React44.useRef({});
5523
+ const dragState = React46.useState(false), over = dragState[0];
5524
+ const inputRef = React46.useRef(null), inputMerged = useMergedRef(ref, inputRef);
5525
+ const urls = React46.useRef({});
5402
5526
  const maxFiles = props.multiple ? props.maxFiles : 1;
5403
5527
  const note = t.accepts(describeAccept(props.accept, t), props.maxSize ? formatBytes(props.maxSize) : "");
5404
- React44.useEffect(function() {
5528
+ React46.useEffect(function() {
5405
5529
  return function() {
5406
5530
  Object.keys(urls.current).forEach(function(k) {
5407
5531
  URL.revokeObjectURL(urls.current[k]);
@@ -5452,7 +5576,7 @@ var FileUpload = React44.forwardRef(function FileUpload2(props, ref) {
5452
5576
  if (inputRef.current) inputRef.current.focus();
5453
5577
  }
5454
5578
  const error = props.error;
5455
- return /* @__PURE__ */ React44.createElement(
5579
+ return /* @__PURE__ */ React46.createElement(
5456
5580
  Field,
5457
5581
  {
5458
5582
  id,
@@ -5464,7 +5588,7 @@ var FileUpload = React44.forwardRef(function FileUpload2(props, ref) {
5464
5588
  disabled: props.disabled,
5465
5589
  className: props.className
5466
5590
  },
5467
- /* @__PURE__ */ React44.createElement(
5591
+ /* @__PURE__ */ React46.createElement(
5468
5592
  "div",
5469
5593
  {
5470
5594
  className: cx("aura-upload", over && "is-over", props.disabled && "is-disabled", error && "is-invalid"),
@@ -5485,9 +5609,9 @@ var FileUpload = React44.forwardRef(function FileUpload2(props, ref) {
5485
5609
  add(e.dataTransfer && e.dataTransfer.files);
5486
5610
  }
5487
5611
  },
5488
- /* @__PURE__ */ React44.createElement(Icon, { name: "cloud-upload", size: "lg", className: "aura-upload__icon" }),
5489
- /* @__PURE__ */ React44.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
5490
- /* @__PURE__ */ React44.createElement(
5612
+ /* @__PURE__ */ React46.createElement(Icon, { name: "cloud-upload", size: "lg", className: "aura-upload__icon" }),
5613
+ /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
5614
+ /* @__PURE__ */ React46.createElement(
5491
5615
  "input",
5492
5616
  {
5493
5617
  ref: inputMerged,
@@ -5509,12 +5633,12 @@ var FileUpload = React44.forwardRef(function FileUpload2(props, ref) {
5509
5633
  }
5510
5634
  }
5511
5635
  ),
5512
- /* @__PURE__ */ React44.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
5513
- note ? /* @__PURE__ */ React44.createElement("span", { className: "aura-upload__note", id: id + "-note" }, note) : null
5636
+ /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
5637
+ note ? /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__note", id: id + "-note" }, note) : null
5514
5638
  ),
5515
- items2.length ? /* @__PURE__ */ React44.createElement("ul", { className: "aura-upload__list", "aria-live": "polite" }, items2.map(function(it) {
5639
+ items2.length ? /* @__PURE__ */ React46.createElement("ul", { className: "aura-upload__list", "aria-live": "polite" }, items2.map(function(it) {
5516
5640
  const src = thumb(it);
5517
- 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(
5641
+ 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(
5518
5642
  "span",
5519
5643
  {
5520
5644
  className: "aura-upload__bar",
@@ -5524,8 +5648,8 @@ var FileUpload = React44.forwardRef(function FileUpload2(props, ref) {
5524
5648
  "aria-valuemax": 100,
5525
5649
  "aria-valuenow": it.progress != null ? Math.round(it.progress) : void 0
5526
5650
  },
5527
- /* @__PURE__ */ React44.createElement("span", { style: { width: (it.progress || 0) + "%" } })
5528
- ) : null), /* @__PURE__ */ React44.createElement(
5651
+ /* @__PURE__ */ React46.createElement("span", { style: { width: (it.progress || 0) + "%" } })
5652
+ ) : null), /* @__PURE__ */ React46.createElement(
5529
5653
  IconButton,
5530
5654
  {
5531
5655
  icon: "x",
@@ -5811,9 +5935,9 @@ function createTheme(opts) {
5811
5935
  }
5812
5936
 
5813
5937
  // src/ThemeStyle.tsx
5814
- var React45 = __toESM(require("react"), 1);
5938
+ var React47 = __toESM(require("react"), 1);
5815
5939
  function ThemeStyle(props) {
5816
- const css = React45.useMemo(
5940
+ const css = React47.useMemo(
5817
5941
  function() {
5818
5942
  return createTheme({ brand: props.brand, signal: props.signal, primary: props.primary, name: props.name }).css(
5819
5943
  props.selector
@@ -5821,11 +5945,11 @@ function ThemeStyle(props) {
5821
5945
  },
5822
5946
  [props.brand, props.signal, props.primary, props.name, props.selector]
5823
5947
  );
5824
- return /* @__PURE__ */ React45.createElement("style", { "data-aura-theme": props.name || props.brand, dangerouslySetInnerHTML: { __html: css } });
5948
+ return /* @__PURE__ */ React47.createElement("style", { "data-aura-theme": props.name || props.brand, dangerouslySetInnerHTML: { __html: css } });
5825
5949
  }
5826
5950
 
5827
5951
  // src/colorScheme.tsx
5828
- var React46 = __toESM(require("react"), 1);
5952
+ var React48 = __toESM(require("react"), 1);
5829
5953
 
5830
5954
  // src/colorSchemeScript.ts
5831
5955
  var DEFAULT_KEY = "aura-color-scheme";
@@ -5842,7 +5966,7 @@ function colorSchemeScript(options) {
5842
5966
 
5843
5967
  // src/colorScheme.tsx
5844
5968
  function ColorSchemeScript(props) {
5845
- return /* @__PURE__ */ React46.createElement(
5969
+ return /* @__PURE__ */ React48.createElement(
5846
5970
  "script",
5847
5971
  {
5848
5972
  "data-aura-color-scheme": "",
@@ -5867,7 +5991,7 @@ function apply(scheme) {
5867
5991
  function useColorScheme(options) {
5868
5992
  const key = options && options.storageKey || DEFAULT_KEY;
5869
5993
  const fallback = options && options.defaultScheme || "system";
5870
- const subscribe2 = React46.useCallback(
5994
+ const subscribe2 = React48.useCallback(
5871
5995
  function(cb) {
5872
5996
  const mq = window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)") : null;
5873
5997
  function onSystem() {
@@ -5885,7 +6009,7 @@ function useColorScheme(options) {
5885
6009
  },
5886
6010
  [fallback]
5887
6011
  );
5888
- const snapshot = React46.useSyncExternalStore(
6012
+ const snapshot = React48.useSyncExternalStore(
5889
6013
  subscribe2,
5890
6014
  function() {
5891
6015
  const s = readScheme(fallback);
@@ -5896,7 +6020,7 @@ function useColorScheme(options) {
5896
6020
  }
5897
6021
  );
5898
6022
  const parts = snapshot.split("|");
5899
- const setScheme = React46.useCallback(
6023
+ const setScheme = React48.useCallback(
5900
6024
  function(next) {
5901
6025
  if (!valid(next)) return;
5902
6026
  try {
@@ -5915,11 +6039,11 @@ function ColorSchemeToggle(props) {
5915
6039
  const cs = useColorScheme(props);
5916
6040
  const names = { light: t.schemeLight, dark: t.schemeDark, system: t.schemeSystem };
5917
6041
  const label = props.label || t.colorScheme;
5918
- return /* @__PURE__ */ React46.createElement(
6042
+ return /* @__PURE__ */ React48.createElement(
5919
6043
  DropdownMenu,
5920
6044
  {
5921
6045
  label,
5922
- trigger: /* @__PURE__ */ React46.createElement(IconButton, { icon: cs.resolved === "dark" ? "moon" : "sun", label: label + ": " + names[cs.scheme] }),
6046
+ trigger: /* @__PURE__ */ React48.createElement(IconButton, { icon: cs.resolved === "dark" ? "moon" : "sun", label: label + ": " + names[cs.scheme] }),
5923
6047
  items: SCHEMES.map(function(s) {
5924
6048
  return {
5925
6049
  label: names[s],
@@ -5934,10 +6058,10 @@ function ColorSchemeToggle(props) {
5934
6058
  }
5935
6059
 
5936
6060
  // src/Badge.tsx
5937
- var React47 = __toESM(require("react"), 1);
5938
- var Badge = React47.forwardRef(function Badge2(props, ref) {
6061
+ var React49 = __toESM(require("react"), 1);
6062
+ var Badge = React49.forwardRef(function Badge2(props, ref) {
5939
6063
  const rest = omit(props, ["tone", "variant", "icon", "className", "children"]);
5940
- return /* @__PURE__ */ React47.createElement(
6064
+ return /* @__PURE__ */ React49.createElement(
5941
6065
  "span",
5942
6066
  {
5943
6067
  ...rest,
@@ -5950,19 +6074,19 @@ var Badge = React47.forwardRef(function Badge2(props, ref) {
5950
6074
  props.className
5951
6075
  )
5952
6076
  },
5953
- props.icon ? /* @__PURE__ */ React47.createElement(Icon, { name: props.icon, size: 12 }) : null,
6077
+ props.icon ? /* @__PURE__ */ React49.createElement(Icon, { name: props.icon, size: 12 }) : null,
5954
6078
  props.children
5955
6079
  );
5956
6080
  });
5957
6081
 
5958
6082
  // src/Progress.tsx
5959
- var React48 = __toESM(require("react"), 1);
5960
- var Progress = React48.forwardRef(function Progress2(props, ref) {
6083
+ var React50 = __toESM(require("react"), 1);
6084
+ var Progress = React50.forwardRef(function Progress2(props, ref) {
5961
6085
  const auto = uid(), id = props.id || auto;
5962
6086
  const max = props.max || 100, det = props.value != null;
5963
6087
  const pct = det ? Math.max(0, Math.min(100, props.value / max * 100)) : 0;
5964
6088
  const shown = props.valueLabel != null ? props.valueLabel : det ? Math.round(pct) + "%" : null;
5965
- return /* @__PURE__ */ React48.createElement(
6089
+ return /* @__PURE__ */ React50.createElement(
5966
6090
  "div",
5967
6091
  {
5968
6092
  ref,
@@ -5973,8 +6097,8 @@ var Progress = React48.forwardRef(function Progress2(props, ref) {
5973
6097
  props.className
5974
6098
  )
5975
6099
  },
5976
- 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,
5977
- /* @__PURE__ */ React48.createElement(
6100
+ 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,
6101
+ /* @__PURE__ */ React50.createElement(
5978
6102
  "div",
5979
6103
  {
5980
6104
  className: cx("aura-progress__track", !det && "is-indeterminate"),
@@ -5986,21 +6110,21 @@ var Progress = React48.forwardRef(function Progress2(props, ref) {
5986
6110
  "aria-valuenow": det ? props.value : void 0,
5987
6111
  "aria-valuetext": det && props.valueLabel != null ? String(props.valueLabel) : void 0
5988
6112
  },
5989
- /* @__PURE__ */ React48.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 })
6113
+ /* @__PURE__ */ React50.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 })
5990
6114
  ),
5991
- props.hint ? /* @__PURE__ */ React48.createElement("p", { className: "aura-progress__hint" }, props.hint) : null
6115
+ props.hint ? /* @__PURE__ */ React50.createElement("p", { className: "aura-progress__hint" }, props.hint) : null
5992
6116
  );
5993
6117
  });
5994
6118
 
5995
6119
  // src/Skeleton.tsx
5996
- var React49 = __toESM(require("react"), 1);
5997
- var Skeleton = React49.forwardRef(function Skeleton2(props, ref) {
6120
+ var React51 = __toESM(require("react"), 1);
6121
+ var Skeleton = React51.forwardRef(function Skeleton2(props, ref) {
5998
6122
  const v = props.variant || "text";
5999
6123
  if (v === "text" && (props.lines || 1) > 1) {
6000
6124
  const n2 = props.lines, rows = [];
6001
6125
  for (let i = 0; i < n2; i++)
6002
- rows.push(/* @__PURE__ */ React49.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n2 - 1 ? "60%" : "100%" } }));
6003
- return /* @__PURE__ */ React49.createElement(
6126
+ rows.push(/* @__PURE__ */ React51.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n2 - 1 ? "60%" : "100%" } }));
6127
+ return /* @__PURE__ */ React51.createElement(
6004
6128
  "span",
6005
6129
  {
6006
6130
  ref,
@@ -6018,28 +6142,28 @@ var Skeleton = React49.forwardRef(function Skeleton2(props, ref) {
6018
6142
  if (v === "circle") {
6019
6143
  style.width = style.height = props.size || props.width || 40;
6020
6144
  }
6021
- return /* @__PURE__ */ React49.createElement("span", { ref, "aria-hidden": true, className: cx("aura-skel", "aura-skel--" + v, props.className), style });
6145
+ return /* @__PURE__ */ React51.createElement("span", { ref, "aria-hidden": true, className: cx("aura-skel", "aura-skel--" + v, props.className), style });
6022
6146
  });
6023
6147
 
6024
6148
  // src/EmptyState.tsx
6025
- var React50 = __toESM(require("react"), 1);
6026
- var EmptyState = React50.forwardRef(function EmptyState2(props, ref) {
6149
+ var React52 = __toESM(require("react"), 1);
6150
+ var EmptyState = React52.forwardRef(function EmptyState2(props, ref) {
6027
6151
  const HT = "h" + (props.headingLevel || 3);
6028
- return /* @__PURE__ */ React50.createElement(
6152
+ return /* @__PURE__ */ React52.createElement(
6029
6153
  "div",
6030
6154
  {
6031
6155
  ref,
6032
6156
  className: cx("aura-empty", props.size === "sm" && "is-sm", props.bordered && "is-bordered", props.className)
6033
6157
  },
6034
- /* @__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" })),
6035
- /* @__PURE__ */ React50.createElement(HT, { className: "aura-empty__title" }, props.title),
6036
- props.description ? /* @__PURE__ */ React50.createElement("p", { className: "aura-empty__text" }, props.description) : null,
6037
- props.action ? /* @__PURE__ */ React50.createElement("div", { className: "aura-empty__action" }, props.action) : null
6158
+ /* @__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" })),
6159
+ /* @__PURE__ */ React52.createElement(HT, { className: "aura-empty__title" }, props.title),
6160
+ props.description ? /* @__PURE__ */ React52.createElement("p", { className: "aura-empty__text" }, props.description) : null,
6161
+ props.action ? /* @__PURE__ */ React52.createElement("div", { className: "aura-empty__action" }, props.action) : null
6038
6162
  );
6039
6163
  });
6040
6164
 
6041
6165
  // src/Pagination.tsx
6042
- var React51 = __toESM(require("react"), 1);
6166
+ var React53 = __toESM(require("react"), 1);
6043
6167
  function pageList(page, count, sib) {
6044
6168
  let out = [], lo = Math.max(2, page - sib), hi = Math.min(count - 1, page + sib);
6045
6169
  if (page - sib <= 3) {
@@ -6059,7 +6183,7 @@ function pageList(page, count, sib) {
6059
6183
  if (count > 1) out.push(count);
6060
6184
  return out;
6061
6185
  }
6062
- var Pagination = React51.forwardRef(function Pagination2(props, ref) {
6186
+ var Pagination = React53.forwardRef(function Pagination2(props, ref) {
6063
6187
  const t = useStrings();
6064
6188
  const count = Math.max(1, props.pageCount || 1);
6065
6189
  const st = useMaybeControlled(props.page, props.defaultPage || 1, props.onChange);
@@ -6078,7 +6202,7 @@ var Pagination = React51.forwardRef(function Pagination2(props, ref) {
6078
6202
  },
6079
6203
  extra
6080
6204
  );
6081
- return link ? /* @__PURE__ */ React51.createElement(
6205
+ return link ? /* @__PURE__ */ React53.createElement(
6082
6206
  Link,
6083
6207
  {
6084
6208
  href: link(p),
@@ -6091,7 +6215,7 @@ var Pagination = React51.forwardRef(function Pagination2(props, ref) {
6091
6215
  ...common
6092
6216
  },
6093
6217
  label
6094
- ) : /* @__PURE__ */ React51.createElement(
6218
+ ) : /* @__PURE__ */ React53.createElement(
6095
6219
  "button",
6096
6220
  {
6097
6221
  type: "button",
@@ -6105,7 +6229,7 @@ var Pagination = React51.forwardRef(function Pagination2(props, ref) {
6105
6229
  }
6106
6230
  function arrow(p, icon, label, rel, disabled) {
6107
6231
  if (!link || disabled)
6108
- return /* @__PURE__ */ React51.createElement(
6232
+ return /* @__PURE__ */ React53.createElement(
6109
6233
  IconButton,
6110
6234
  {
6111
6235
  icon,
@@ -6116,7 +6240,7 @@ var Pagination = React51.forwardRef(function Pagination2(props, ref) {
6116
6240
  }
6117
6241
  }
6118
6242
  );
6119
- return /* @__PURE__ */ React51.createElement(
6243
+ return /* @__PURE__ */ React53.createElement(
6120
6244
  Link,
6121
6245
  {
6122
6246
  href: link(p),
@@ -6131,17 +6255,17 @@ var Pagination = React51.forwardRef(function Pagination2(props, ref) {
6131
6255
  }
6132
6256
  }
6133
6257
  },
6134
- /* @__PURE__ */ React51.createElement(Icon, { name: icon, size: "sm" })
6258
+ /* @__PURE__ */ React53.createElement(Icon, { name: icon, size: "sm" })
6135
6259
  );
6136
6260
  }
6137
- 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) {
6138
- 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");
6139
- })), /* @__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));
6261
+ 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) {
6262
+ 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");
6263
+ })), /* @__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));
6140
6264
  });
6141
6265
 
6142
6266
  // src/Accordion.tsx
6143
- var React52 = __toESM(require("react"), 1);
6144
- var Accordion = React52.forwardRef(function Accordion2(props, ref) {
6267
+ var React54 = __toESM(require("react"), 1);
6268
+ var Accordion = React54.forwardRef(function Accordion2(props, ref) {
6145
6269
  const auto = uid(), base = props.id || auto;
6146
6270
  const multiple = props.type === "multiple";
6147
6271
  const st = useMaybeControlled(
@@ -6179,9 +6303,9 @@ var Accordion = React52.forwardRef(function Accordion2(props, ref) {
6179
6303
  n2.focus();
6180
6304
  }
6181
6305
  }
6182
- return /* @__PURE__ */ React52.createElement("div", { ref, className: cx("aura-accordion", props.className), onKeyDown: onKey }, items2.map(function(it) {
6306
+ return /* @__PURE__ */ React54.createElement("div", { ref, className: cx("aura-accordion", props.className), onKeyDown: onKey }, items2.map(function(it) {
6183
6307
  const on = open.indexOf(it.id) >= 0, bid = base + "-btn-" + it.id, pid = base + "-panel-" + it.id;
6184
- 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(
6308
+ 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(
6185
6309
  "button",
6186
6310
  {
6187
6311
  type: "button",
@@ -6193,15 +6317,15 @@ var Accordion = React52.forwardRef(function Accordion2(props, ref) {
6193
6317
  toggle(it.id);
6194
6318
  }
6195
6319
  },
6196
- it.icon ? /* @__PURE__ */ React52.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
6197
- /* @__PURE__ */ React52.createElement("span", { className: "aura-accordion__title" }, it.title, it.description ? /* @__PURE__ */ React52.createElement("span", { className: "aura-accordion__desc" }, it.description) : null),
6198
- /* @__PURE__ */ React52.createElement(Icon, { name: "chevron-down", className: "aura-accordion__chevron" })
6199
- )), /* @__PURE__ */ React52.createElement("div", { id: pid, role: "region", "aria-labelledby": bid, className: "aura-accordion__panel", hidden: !on }, it.content));
6320
+ it.icon ? /* @__PURE__ */ React54.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
6321
+ /* @__PURE__ */ React54.createElement("span", { className: "aura-accordion__title" }, it.title, it.description ? /* @__PURE__ */ React54.createElement("span", { className: "aura-accordion__desc" }, it.description) : null),
6322
+ /* @__PURE__ */ React54.createElement(Icon, { name: "chevron-down", className: "aura-accordion__chevron" })
6323
+ )), /* @__PURE__ */ React54.createElement("div", { id: pid, role: "region", "aria-labelledby": bid, className: "aura-accordion__panel", hidden: !on }, it.content));
6200
6324
  }));
6201
6325
  });
6202
6326
 
6203
6327
  // src/Popover.tsx
6204
- var React53 = __toESM(require("react"), 1);
6328
+ var React55 = __toESM(require("react"), 1);
6205
6329
  var import_react_dom11 = require("react-dom");
6206
6330
  function position(anchor, pop, placement) {
6207
6331
  const r = anchor.getBoundingClientRect(), pw = pop.offsetWidth, ph = pop.offsetHeight, vw = window.innerWidth, vh = window.innerHeight, gap = 6;
@@ -6212,14 +6336,14 @@ function position(anchor, pop, placement) {
6212
6336
  const left = align === "end" ? r.right - pw : align === "center" ? r.left + r.width / 2 - pw / 2 : r.left;
6213
6337
  return { top: Math.max(8, top), left: Math.max(8, Math.min(left, vw - pw - 8)), side };
6214
6338
  }
6215
- var Popover = React53.forwardRef(function Popover2(props, ref) {
6339
+ var Popover = React55.forwardRef(function Popover2(props, ref) {
6216
6340
  const t = useStrings();
6217
6341
  const density = useDensity();
6218
6342
  const auto = uid(), id = props.id || auto;
6219
6343
  const st = useMaybeControlled(props.open, !!props.defaultOpen, props.onOpenChange);
6220
6344
  const open = !!st[0];
6221
- const wrap = React53.useRef(null), pop = React53.useRef(null), popMerged = useMergedRef(ref, pop);
6222
- const pos = React53.useState(null), mounted = useMounted();
6345
+ const wrap = React55.useRef(null), pop = React55.useRef(null), popMerged = useMergedRef(ref, pop);
6346
+ const pos = React55.useState(null), mounted = useMounted();
6223
6347
  function trigger() {
6224
6348
  return wrap.current && (wrap.current.querySelector('button, [role="button"], a, input') || wrap.current.firstElementChild);
6225
6349
  }
@@ -6246,7 +6370,7 @@ var Popover = React53.forwardRef(function Popover2(props, ref) {
6246
6370
  },
6247
6371
  [open, mounted, props.placement]
6248
6372
  );
6249
- React53.useEffect(
6373
+ React55.useEffect(
6250
6374
  function() {
6251
6375
  if (!open || !mounted) return;
6252
6376
  if (props.autoFocus !== false && pop.current) {
@@ -6265,9 +6389,9 @@ var Popover = React53.forwardRef(function Popover2(props, ref) {
6265
6389
  },
6266
6390
  [open, mounted]
6267
6391
  );
6268
- const child = React53.Children.only(props.trigger);
6392
+ const child = React55.Children.only(props.trigger);
6269
6393
  const panel = open && mounted ? (0, import_react_dom11.createPortal)(
6270
- /* @__PURE__ */ React53.createElement(
6394
+ /* @__PURE__ */ React55.createElement(
6271
6395
  "div",
6272
6396
  {
6273
6397
  ref: popMerged,
@@ -6290,7 +6414,7 @@ var Popover = React53.forwardRef(function Popover2(props, ref) {
6290
6414
  } else trapTab(e, pop.current);
6291
6415
  }
6292
6416
  },
6293
- 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(
6417
+ 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(
6294
6418
  IconButton,
6295
6419
  {
6296
6420
  icon: "x",
@@ -6300,7 +6424,7 @@ var Popover = React53.forwardRef(function Popover2(props, ref) {
6300
6424
  }
6301
6425
  }
6302
6426
  )) : null,
6303
- /* @__PURE__ */ React53.createElement("div", { className: "aura-popover__body" }, typeof props.children === "function" ? props.children({
6427
+ /* @__PURE__ */ React55.createElement("div", { className: "aura-popover__body" }, typeof props.children === "function" ? props.children({
6304
6428
  close: function() {
6305
6429
  close(true);
6306
6430
  }
@@ -6308,7 +6432,7 @@ var Popover = React53.forwardRef(function Popover2(props, ref) {
6308
6432
  ),
6309
6433
  document.body
6310
6434
  ) : null;
6311
- return /* @__PURE__ */ React53.createElement("span", { ref: wrap, className: "aura-popover-anchor" }, React53.cloneElement(child, {
6435
+ return /* @__PURE__ */ React55.createElement("span", { ref: wrap, className: "aura-popover-anchor" }, React55.cloneElement(child, {
6312
6436
  onClick: function(e) {
6313
6437
  if (child.props.onClick) child.props.onClick(e);
6314
6438
  st[1](!open);
@@ -6320,7 +6444,7 @@ var Popover = React53.forwardRef(function Popover2(props, ref) {
6320
6444
  });
6321
6445
 
6322
6446
  // src/NumberField.tsx
6323
- var React54 = __toESM(require("react"), 1);
6447
+ var React56 = __toESM(require("react"), 1);
6324
6448
  function decimalsOf(n2) {
6325
6449
  const s = String(n2);
6326
6450
  const i = s.indexOf(".");
@@ -6331,7 +6455,7 @@ function parse(text) {
6331
6455
  if (!/^-?(\d+\.?\d*|\.\d+)$/.test(s)) return NaN;
6332
6456
  return Number(s);
6333
6457
  }
6334
- var NumberField = React54.forwardRef(function NumberField2(props, ref) {
6458
+ var NumberField = React56.forwardRef(function NumberField2(props, ref) {
6335
6459
  const t = useStrings();
6336
6460
  const auto = uid(), id = props.id || auto;
6337
6461
  const step = props.step || 1;
@@ -6342,7 +6466,7 @@ var NumberField = React54.forwardRef(function NumberField2(props, ref) {
6342
6466
  props.onChange
6343
6467
  );
6344
6468
  const value = st[0], setValue = st[1];
6345
- const draftState = React54.useState(null), draft = draftState[0], setDraft = draftState[1];
6469
+ const draftState = React56.useState(null), draft = draftState[0], setDraft = draftState[1];
6346
6470
  function fmt2(n2) {
6347
6471
  if (n2 == null || isNaN(n2)) return "";
6348
6472
  return n2.toLocaleString("en", { minimumFractionDigits: decimals, maximumFractionDigits: decimals });
@@ -6391,7 +6515,7 @@ var NumberField = React54.forwardRef(function NumberField2(props, ref) {
6391
6515
  };
6392
6516
  const valueText = value == null ? void 0 : [affixText(props.prefix), fmt2(value), affixText(props.suffix)].join(" ").trim();
6393
6517
  const stepper = props.stepper !== false && !props.readOnly;
6394
- return /* @__PURE__ */ React54.createElement(
6518
+ return /* @__PURE__ */ React56.createElement(
6395
6519
  Field,
6396
6520
  {
6397
6521
  id,
@@ -6403,7 +6527,7 @@ var NumberField = React54.forwardRef(function NumberField2(props, ref) {
6403
6527
  disabled: props.disabled,
6404
6528
  className: props.className
6405
6529
  },
6406
- /* @__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(
6530
+ /* @__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(
6407
6531
  "input",
6408
6532
  {
6409
6533
  ref,
@@ -6450,7 +6574,7 @@ var NumberField = React54.forwardRef(function NumberField2(props, ref) {
6450
6574
  },
6451
6575
  onKeyDown
6452
6576
  }
6453
- ), 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(
6577
+ ), 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(
6454
6578
  "button",
6455
6579
  {
6456
6580
  type: "button",
@@ -6466,8 +6590,8 @@ var NumberField = React54.forwardRef(function NumberField2(props, ref) {
6466
6590
  nudge(-step);
6467
6591
  }
6468
6592
  },
6469
- /* @__PURE__ */ React54.createElement(Icon, { name: "minus" })
6470
- ), /* @__PURE__ */ React54.createElement(
6593
+ /* @__PURE__ */ React56.createElement(Icon, { name: "minus" })
6594
+ ), /* @__PURE__ */ React56.createElement(
6471
6595
  "button",
6472
6596
  {
6473
6597
  type: "button",
@@ -6483,14 +6607,14 @@ var NumberField = React54.forwardRef(function NumberField2(props, ref) {
6483
6607
  nudge(step);
6484
6608
  }
6485
6609
  },
6486
- /* @__PURE__ */ React54.createElement(Icon, { name: "plus" })
6610
+ /* @__PURE__ */ React56.createElement(Icon, { name: "plus" })
6487
6611
  )) : null)
6488
6612
  );
6489
6613
  });
6490
6614
 
6491
6615
  // src/Stepper.tsx
6492
- var React55 = __toESM(require("react"), 1);
6493
- var Stepper = React55.forwardRef(function Stepper2(props, ref) {
6616
+ var React57 = __toESM(require("react"), 1);
6617
+ var Stepper = React57.forwardRef(function Stepper2(props, ref) {
6494
6618
  const t = useStrings();
6495
6619
  const steps = props.steps || [];
6496
6620
  let at = -1;
@@ -6500,26 +6624,26 @@ var Stepper = React55.forwardRef(function Stepper2(props, ref) {
6500
6624
  if (at < 0) at = 0;
6501
6625
  const vertical = props.orientation === "vertical";
6502
6626
  const cur = steps[at];
6503
- return /* @__PURE__ */ React55.createElement(
6627
+ return /* @__PURE__ */ React57.createElement(
6504
6628
  "nav",
6505
6629
  {
6506
6630
  ref,
6507
6631
  "aria-label": props.label,
6508
6632
  className: cx("aura-stepper", vertical ? "aura-stepper--vertical" : "aura-stepper--horizontal", props.className)
6509
6633
  },
6510
- /* @__PURE__ */ React55.createElement("ol", { className: "aura-stepper__list" }, steps.map(function(s, i) {
6634
+ /* @__PURE__ */ React57.createElement("ol", { className: "aura-stepper__list" }, steps.map(function(s, i) {
6511
6635
  const state = i < at ? "done" : i === at ? "current" : "upcoming";
6512
- const marker = /* @__PURE__ */ React55.createElement("span", { className: "aura-stepper__marker", "aria-hidden": true }, state === "done" ? /* @__PURE__ */ React55.createElement(Icon, { name: "check" }) : i + 1);
6513
- 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);
6636
+ const marker = /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__marker", "aria-hidden": true }, state === "done" ? /* @__PURE__ */ React57.createElement(Icon, { name: "check" }) : i + 1);
6637
+ 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);
6514
6638
  const clickable = state === "done" && !!props.onStepClick;
6515
- return /* @__PURE__ */ React55.createElement(
6639
+ return /* @__PURE__ */ React57.createElement(
6516
6640
  "li",
6517
6641
  {
6518
6642
  key: s.id,
6519
6643
  className: cx("aura-stepper__item", "is-" + state),
6520
6644
  "aria-current": state === "current" ? "step" : void 0
6521
6645
  },
6522
- clickable ? /* @__PURE__ */ React55.createElement(
6646
+ clickable ? /* @__PURE__ */ React57.createElement(
6523
6647
  "button",
6524
6648
  {
6525
6649
  type: "button",
@@ -6530,19 +6654,19 @@ var Stepper = React55.forwardRef(function Stepper2(props, ref) {
6530
6654
  },
6531
6655
  marker,
6532
6656
  text
6533
- ) : /* @__PURE__ */ React55.createElement("span", { className: "aura-stepper__step" }, marker, text)
6657
+ ) : /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__step" }, marker, text)
6534
6658
  );
6535
6659
  })),
6536
- !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
6660
+ !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
6537
6661
  );
6538
6662
  });
6539
6663
 
6540
6664
  // src/SegmentedControl.tsx
6541
- var React56 = __toESM(require("react"), 1);
6665
+ var React58 = __toESM(require("react"), 1);
6542
6666
  function toOpt2(o) {
6543
6667
  return typeof o === "object" ? o : { value: o, label: o };
6544
6668
  }
6545
- var SegmentedControl = React56.forwardRef(
6669
+ var SegmentedControl = React58.forwardRef(
6546
6670
  function SegmentedControl2(props, ref) {
6547
6671
  const options = (props.options || []).map(toOpt2);
6548
6672
  const firstEnabled = options.filter(function(o) {
@@ -6555,7 +6679,7 @@ var SegmentedControl = React56.forwardRef(
6555
6679
  );
6556
6680
  const value = st[0], setValue = st[1];
6557
6681
  const auto = uid(), id = props.id || auto;
6558
- const refs = React56.useRef([]);
6682
+ const refs = React58.useRef([]);
6559
6683
  const selIdx = options.findIndex(function(o) {
6560
6684
  return o.value === value;
6561
6685
  });
@@ -6588,7 +6712,7 @@ var SegmentedControl = React56.forwardRef(
6588
6712
  move(options.length, -1);
6589
6713
  }
6590
6714
  }
6591
- return /* @__PURE__ */ React56.createElement(
6715
+ return /* @__PURE__ */ React58.createElement(
6592
6716
  "div",
6593
6717
  {
6594
6718
  ref,
@@ -6607,7 +6731,7 @@ var SegmentedControl = React56.forwardRef(
6607
6731
  options.map(function(o, i) {
6608
6732
  const on = o.value === value;
6609
6733
  const off = props.disabled || o.disabled;
6610
- return /* @__PURE__ */ React56.createElement(
6734
+ return /* @__PURE__ */ React58.createElement(
6611
6735
  "button",
6612
6736
  {
6613
6737
  key: o.value,
@@ -6629,8 +6753,8 @@ var SegmentedControl = React56.forwardRef(
6629
6753
  onKeyDown(e, i);
6630
6754
  }
6631
6755
  },
6632
- o.icon ? /* @__PURE__ */ React56.createElement(Icon, { name: o.icon }) : null,
6633
- o.iconOnly ? null : /* @__PURE__ */ React56.createElement("span", null, o.label)
6756
+ o.icon ? /* @__PURE__ */ React58.createElement(Icon, { name: o.icon }) : null,
6757
+ o.iconOnly ? null : /* @__PURE__ */ React58.createElement("span", null, o.label)
6634
6758
  );
6635
6759
  })
6636
6760
  );