@jirawatpyk/aura-react 4.12.0 → 4.14.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":"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":"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":"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;
@@ -64,6 +64,7 @@ window.Aura = (() => {
64
64
  ColorSchemeScript: () => ColorSchemeScript,
65
65
  ColorSchemeToggle: () => ColorSchemeToggle,
66
66
  Combobox: () => Combobox,
67
+ Command: () => Command,
67
68
  Container: () => Container,
68
69
  DataTable: () => DataTable,
69
70
  DatePicker: () => DatePicker,
@@ -74,6 +75,8 @@ window.Aura = (() => {
74
75
  EmptyState: () => EmptyState,
75
76
  Field: () => Field,
76
77
  FileUpload: () => FileUpload,
78
+ FilterBar: () => FilterBar,
79
+ FormErrorSummary: () => FormErrorSummary,
77
80
  Grid: () => Grid,
78
81
  ICONS: () => ICONS,
79
82
  Icon: () => Icon,
@@ -81,6 +84,7 @@ window.Aura = (() => {
81
84
  Menu: () => Menu,
82
85
  NumberField: () => NumberField,
83
86
  Pagination: () => Pagination,
87
+ PasswordField: () => PasswordField,
84
88
  Popover: () => Popover,
85
89
  Progress: () => Progress,
86
90
  RadioGroup: () => RadioGroup,
@@ -119,6 +123,7 @@ window.Aura = (() => {
119
123
  useAuraLocale: () => useAuraLocale,
120
124
  useBreakpoint: () => useBreakpoint,
121
125
  useColorScheme: () => useColorScheme,
126
+ useDensity: () => useDensity,
122
127
  useFormatDate: () => useFormatDate,
123
128
  useResponsive: () => useResponsive
124
129
  });
@@ -273,6 +278,19 @@ window.Aura = (() => {
273
278
  close: "Close",
274
279
  dismiss: "Dismiss",
275
280
  dismissToast: "Dismiss notification",
281
+ showPassword: "Show password",
282
+ filters: "Filters",
283
+ search: "Search",
284
+ clearFilters: "Clear all",
285
+ results: function(n2) {
286
+ return n2 === 1 ? "1 result" : n2.toLocaleString("en") + " results";
287
+ },
288
+ commandMenu: "Command menu",
289
+ commandPlaceholder: "Type a command or search\u2026",
290
+ commandHint: "\u2191\u2193 to move \xB7 Enter to open \xB7 Esc to close",
291
+ errorSummary: function(n2) {
292
+ return n2 === 1 ? "Fix 1 field to continue" : "Fix " + n2 + " fields to continue";
293
+ },
276
294
  notifications: "Notifications",
277
295
  mainNav: "Main",
278
296
  breadcrumb: "Breadcrumb",
@@ -371,6 +389,19 @@ window.Aura = (() => {
371
389
  close: "\u0E1B\u0E34\u0E14",
372
390
  dismiss: "\u0E1B\u0E34\u0E14",
373
391
  dismissToast: "\u0E1B\u0E34\u0E14\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19",
392
+ showPassword: "\u0E41\u0E2A\u0E14\u0E07\u0E23\u0E2B\u0E31\u0E2A\u0E1C\u0E48\u0E32\u0E19",
393
+ filters: "\u0E15\u0E31\u0E27\u0E01\u0E23\u0E2D\u0E07",
394
+ search: "\u0E04\u0E49\u0E19\u0E2B\u0E32",
395
+ clearFilters: "\u0E25\u0E49\u0E32\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14",
396
+ results: function(n2) {
397
+ return n2.toLocaleString("en") + " \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23";
398
+ },
399
+ commandMenu: "\u0E40\u0E21\u0E19\u0E39\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07",
400
+ commandPlaceholder: "\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E04\u0E49\u0E19\u0E2B\u0E32\u2026",
401
+ commandHint: "\u2191\u2193 \u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19 \xB7 Enter \u0E40\u0E1B\u0E34\u0E14 \xB7 Esc \u0E1B\u0E34\u0E14",
402
+ errorSummary: function(n2) {
403
+ return "\u0E41\u0E01\u0E49\u0E44\u0E02 " + n2 + " \u0E0A\u0E48\u0E2D\u0E07\u0E01\u0E48\u0E2D\u0E19\u0E44\u0E1B\u0E15\u0E48\u0E2D";
404
+ },
374
405
  notifications: "\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19",
375
406
  mainNav: "\u0E40\u0E21\u0E19\u0E39\u0E2B\u0E25\u0E31\u0E01",
376
407
  breadcrumb: "\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07",
@@ -469,6 +500,19 @@ window.Aura = (() => {
469
500
  close: "St\xE4ng",
470
501
  dismiss: "St\xE4ng",
471
502
  dismissToast: "St\xE4ng aviseringen",
503
+ showPassword: "Visa l\xF6senord",
504
+ filters: "Filter",
505
+ search: "S\xF6k",
506
+ clearFilters: "Rensa alla",
507
+ results: function(n2) {
508
+ return n2 === 1 ? "1 tr\xE4ff" : n2.toLocaleString("sv-SE") + " tr\xE4ffar";
509
+ },
510
+ commandMenu: "Kommandomeny",
511
+ commandPlaceholder: "Skriv ett kommando eller s\xF6k\u2026",
512
+ commandHint: "\u2191\u2193 flytta \xB7 Enter \xF6ppna \xB7 Esc st\xE4ng",
513
+ errorSummary: function(n2) {
514
+ return n2 === 1 ? "R\xE4tta 1 f\xE4lt f\xF6r att forts\xE4tta" : "R\xE4tta " + n2 + " f\xE4lt f\xF6r att forts\xE4tta";
515
+ },
472
516
  notifications: "Aviseringar",
473
517
  mainNav: "Huvudmeny",
474
518
  breadcrumb: "Br\xF6dsmulor",
@@ -566,6 +610,8 @@ window.Aura = (() => {
566
610
  };
567
611
  var LocaleContext = React3.createContext(null);
568
612
  function AuraProvider(props) {
613
+ const outer = React3.useContext(LocaleContext);
614
+ const density = props.density || outer && outer.density || null;
569
615
  const value = React3.useMemo(
570
616
  function() {
571
617
  const base = props.locale && STRINGS[props.locale] || STRINGS.en;
@@ -573,12 +619,13 @@ window.Aura = (() => {
573
619
  locale: props.locale || "en",
574
620
  calendar: props.calendar || null,
575
621
  strings: props.strings ? Object.assign({}, base, props.strings) : base,
576
- linkComponent: props.linkComponent || null
622
+ linkComponent: props.linkComponent || null,
623
+ density
577
624
  };
578
625
  },
579
- [props.locale, props.calendar, props.strings, props.linkComponent]
626
+ [props.locale, props.calendar, props.strings, props.linkComponent, density]
580
627
  );
581
- return /* @__PURE__ */ React3.createElement(LocaleContext.Provider, { value }, props.children);
628
+ return /* @__PURE__ */ React3.createElement(LocaleContext.Provider, { value }, props.density ? /* @__PURE__ */ React3.createElement("div", { className: "aura-density", "data-density": props.density }, props.children) : props.children);
582
629
  }
583
630
  function useAuraLocale() {
584
631
  return React3.useContext(LocaleContext) || { locale: null, calendar: null, strings: STRINGS.en };
@@ -587,6 +634,10 @@ window.Aura = (() => {
587
634
  const ctx = React3.useContext(LocaleContext);
588
635
  return own || ctx && ctx.linkComponent || "a";
589
636
  }
637
+ function useDensity() {
638
+ const ctx = React3.useContext(LocaleContext);
639
+ return ctx && ctx.density || void 0;
640
+ }
590
641
  function useStrings() {
591
642
  return useAuraLocale().strings;
592
643
  }
@@ -695,7 +746,7 @@ window.Aura = (() => {
695
746
  const own = React6.useRef(null), merged = useMergedRef(ref, own);
696
747
  const posState = React6.useState(null);
697
748
  const pos = posState[0], setPos = posState[1];
698
- const items = props.items || [];
749
+ const items2 = props.items || [];
699
750
  const mounted = useMounted();
700
751
  useIsoLayoutEffect(
701
752
  function() {
@@ -767,7 +818,7 @@ window.Aura = (() => {
767
818
  onKeyDown,
768
819
  style: { top: pos ? pos.top : -9999, left: pos ? pos.left : -9999 }
769
820
  },
770
- items.map(function(it, i) {
821
+ items2.map(function(it, i) {
771
822
  if (it.separator) return /* @__PURE__ */ React6.createElement("div", { key: "s" + i, role: "separator", className: "aura-menu__sep" });
772
823
  const isCheck = it.checked !== void 0;
773
824
  return /* @__PURE__ */ React6.createElement(
@@ -2087,7 +2138,7 @@ window.Aura = (() => {
2087
2138
  const boxRef = React17.useRef(null), inputRef = React17.useRef(null), inputMerged = useMergedRef(ref, inputRef);
2088
2139
  const pop = useCalendarPopover(boxRef);
2089
2140
  const o = { locale, calendar };
2090
- function show(r) {
2141
+ function show2(r) {
2091
2142
  if (!r.start) return "";
2092
2143
  if (!r.end) return formatDate(r.start, o) + " \u2013";
2093
2144
  return formatDate(r.start, o) + " \u2013 " + formatDate(r.end, o);
@@ -2169,7 +2220,7 @@ window.Aura = (() => {
2169
2220
  boxRef,
2170
2221
  inputRef: inputMerged,
2171
2222
  open: pop.open,
2172
- display: show(v),
2223
+ display: show2(v),
2173
2224
  placeholder: props.placeholder || dt.rangePlaceholder,
2174
2225
  hasValue: v.start != null,
2175
2226
  clearable: props.clearable,
@@ -2227,15 +2278,40 @@ window.Aura = (() => {
2227
2278
  f(toastState.list.slice());
2228
2279
  });
2229
2280
  }
2230
- function toast(opts) {
2231
- if (typeof opts === "string") opts = { title: opts };
2281
+ function show(opts) {
2232
2282
  const id = opts.id || "t" + ++toastState.n;
2233
- toastState.list = toastState.list.filter(function(t) {
2234
- return t.id !== id;
2235
- }).concat([Object.assign({ tone: "info" }, opts, { id })]).slice(-3);
2283
+ const at = toastState.list.findIndex(function(t) {
2284
+ return t.id === id;
2285
+ });
2286
+ const entry = Object.assign({ tone: "info" }, opts, {
2287
+ id,
2288
+ loading: !!opts.loading,
2289
+ rev: at >= 0 ? toastState.list[at].rev + 1 : 0
2290
+ });
2291
+ if (at >= 0) {
2292
+ toastState.list = toastState.list.slice();
2293
+ toastState.list[at] = entry;
2294
+ } else toastState.list = toastState.list.concat([entry]).slice(-3);
2236
2295
  emitToasts();
2237
2296
  return id;
2238
2297
  }
2298
+ function toast(opts) {
2299
+ return show(typeof opts === "string" ? { title: opts } : opts);
2300
+ }
2301
+ function shorthand(tone2) {
2302
+ return function(title, opts) {
2303
+ return show(Object.assign({}, opts, { title, tone: tone2 }));
2304
+ };
2305
+ }
2306
+ toast.success = shorthand("success");
2307
+ toast.error = shorthand("danger");
2308
+ toast.warning = shorthand("warning");
2309
+ toast.info = shorthand("info");
2310
+ toast.loading = function(title, opts) {
2311
+ return show(
2312
+ Object.assign({}, opts, { title, tone: "info", loading: true, duration: Infinity })
2313
+ );
2314
+ };
2239
2315
  toast.dismiss = function(id) {
2240
2316
  toastState.list = toastState.list.filter(function(t) {
2241
2317
  return t.id !== id;
@@ -2245,35 +2321,56 @@ window.Aura = (() => {
2245
2321
  function ToastItem(props) {
2246
2322
  const str = useStrings();
2247
2323
  const t = props.toast, timer = React19.useRef(null), left = React19.useRef(t.duration || 5e3), since = React19.useRef(0);
2324
+ const hover = React19.useRef(false);
2248
2325
  function start() {
2249
- if (left.current === Infinity) return;
2326
+ if (left.current === Infinity || timer.current) return;
2250
2327
  since.current = Date.now();
2251
2328
  timer.current = setTimeout(function() {
2252
2329
  toast.dismiss(t.id);
2253
2330
  }, left.current);
2254
2331
  }
2332
+ function resume() {
2333
+ hover.current = false;
2334
+ start();
2335
+ }
2255
2336
  function pause() {
2337
+ hover.current = true;
2256
2338
  if (timer.current) {
2257
2339
  clearTimeout(timer.current);
2258
2340
  timer.current = null;
2259
2341
  left.current -= Date.now() - since.current;
2260
2342
  }
2261
2343
  }
2262
- React19.useEffect(function() {
2263
- start();
2264
- return pause;
2265
- }, []);
2344
+ React19.useEffect(
2345
+ function() {
2346
+ if (timer.current) clearTimeout(timer.current);
2347
+ timer.current = null;
2348
+ left.current = t.duration || 5e3;
2349
+ if (!hover.current) start();
2350
+ return function() {
2351
+ if (timer.current) clearTimeout(timer.current);
2352
+ };
2353
+ },
2354
+ [t.rev]
2355
+ );
2266
2356
  return /* @__PURE__ */ React19.createElement(
2267
2357
  "div",
2268
2358
  {
2269
- className: cx("aura-toast", "aura-toast--" + t.tone),
2359
+ className: cx("aura-toast", "aura-toast--" + t.tone, t.loading && "is-loading"),
2270
2360
  role: t.tone === "danger" ? "alert" : "status",
2361
+ "aria-busy": t.loading || void 0,
2271
2362
  onMouseEnter: pause,
2272
- onMouseLeave: start,
2363
+ onMouseLeave: resume,
2273
2364
  onFocus: pause,
2274
- onBlur: start
2365
+ onBlur: resume
2275
2366
  },
2276
- /* @__PURE__ */ React19.createElement(Icon, { name: ALERT_ICON[t.tone] || "info", className: "aura-toast__icon" }),
2367
+ /* @__PURE__ */ React19.createElement(
2368
+ Icon,
2369
+ {
2370
+ name: t.loading ? "loader-circle" : ALERT_ICON[t.tone] || "info",
2371
+ className: cx("aura-toast__icon", t.loading && "aura-spin")
2372
+ }
2373
+ ),
2277
2374
  /* @__PURE__ */ React19.createElement("div", { className: "aura-toast__body" }, /* @__PURE__ */ React19.createElement("p", { className: "aura-toast__title" }, t.title), t.description ? /* @__PURE__ */ React19.createElement("p", { className: "aura-toast__text" }, t.description) : null),
2278
2375
  t.action ? /* @__PURE__ */ React19.createElement(
2279
2376
  "button",
@@ -2330,14 +2427,517 @@ window.Aura = (() => {
2330
2427
  );
2331
2428
  }
2332
2429
 
2333
- // src/Tooltip.tsx
2430
+ // src/PasswordField.tsx
2334
2431
  var React20 = __toESM(require_react(), 1);
2432
+ var PasswordField = React20.forwardRef(function PasswordField2(props, ref) {
2433
+ const t = useStrings();
2434
+ const shown = React20.useState(false);
2435
+ const rest = omit(props, ["toggle", "className"]);
2436
+ return /* @__PURE__ */ React20.createElement(
2437
+ TextField,
2438
+ {
2439
+ autoComplete: "current-password",
2440
+ ...rest,
2441
+ ref,
2442
+ type: shown[0] ? "text" : "password",
2443
+ spellCheck: false,
2444
+ autoCapitalize: "none",
2445
+ className: cx("aura-password", props.className),
2446
+ suffix: props.toggle === false ? void 0 : /* @__PURE__ */ React20.createElement(
2447
+ IconButton,
2448
+ {
2449
+ icon: shown[0] ? "eye-off" : "eye",
2450
+ label: t.showPassword,
2451
+ "aria-pressed": shown[0],
2452
+ disabled: props.disabled,
2453
+ onClick: function() {
2454
+ shown[1](!shown[0]);
2455
+ }
2456
+ }
2457
+ )
2458
+ }
2459
+ );
2460
+ });
2461
+
2462
+ // src/FormErrorSummary.tsx
2463
+ var React21 = __toESM(require_react(), 1);
2464
+ function items(errors) {
2465
+ if (Array.isArray(errors)) return errors;
2466
+ const out = [];
2467
+ for (const k in errors || {}) {
2468
+ const e = errors[k];
2469
+ if (e && e.message) out.push({ field: k, message: e.message });
2470
+ }
2471
+ return out;
2472
+ }
2473
+ function fieldElement(field) {
2474
+ if (typeof document === "undefined") return null;
2475
+ return document.getElementById(field) || document.querySelector('[name="' + field.replace(/"/g, '\\"') + '"]');
2476
+ }
2477
+ var FormErrorSummary = React21.forwardRef(
2478
+ function FormErrorSummary2(props, ref) {
2479
+ const t = useStrings();
2480
+ const auto = uid(), id = props.id || auto;
2481
+ const list = items(props.errors);
2482
+ const box = React21.useRef(null);
2483
+ React21.useEffect(
2484
+ function() {
2485
+ const has = list.length > 0;
2486
+ if (has && box.current) box.current.focus();
2487
+ },
2488
+ /* focus when errors first appear, and again whenever focusKey changes (each submit) */
2489
+ // eslint-disable-next-line react-hooks/exhaustive-deps
2490
+ [list.length > 0, props.focusKey]
2491
+ );
2492
+ if (!list.length) return null;
2493
+ return /* @__PURE__ */ React21.createElement(
2494
+ "div",
2495
+ {
2496
+ ref: function(el) {
2497
+ box.current = el;
2498
+ if (typeof ref === "function") ref(el);
2499
+ else if (ref) ref.current = el;
2500
+ },
2501
+ id,
2502
+ tabIndex: -1,
2503
+ role: "alert",
2504
+ "aria-labelledby": id + "-title",
2505
+ className: cx("aura-alert aura-alert--danger aura-error-summary", props.className)
2506
+ },
2507
+ /* @__PURE__ */ React21.createElement(Icon, { name: "circle-alert", className: "aura-alert__icon" }),
2508
+ /* @__PURE__ */ React21.createElement("div", { className: "aura-alert__body" }, /* @__PURE__ */ React21.createElement("h2", { className: "aura-alert__title", id: id + "-title" }, props.title || t.errorSummary(list.length)), /* @__PURE__ */ React21.createElement("ul", { className: "aura-error-summary__list" }, list.map(function(e) {
2509
+ return /* @__PURE__ */ React21.createElement("li", { key: e.field }, /* @__PURE__ */ React21.createElement(
2510
+ "a",
2511
+ {
2512
+ href: "#" + e.field,
2513
+ onClick: function(ev) {
2514
+ ev.preventDefault();
2515
+ if (props.onSelect) {
2516
+ props.onSelect(e.field);
2517
+ return;
2518
+ }
2519
+ const el = fieldElement(e.field);
2520
+ if (el) {
2521
+ el.scrollIntoView({ block: "center" });
2522
+ el.focus();
2523
+ }
2524
+ }
2525
+ },
2526
+ e.message
2527
+ ));
2528
+ })))
2529
+ );
2530
+ }
2531
+ );
2532
+
2533
+ // src/FilterBar.tsx
2534
+ var React23 = __toESM(require_react(), 1);
2535
+
2536
+ // src/Tag.tsx
2537
+ var React22 = __toESM(require_react(), 1);
2538
+ var Tag = React22.forwardRef(function Tag2(props, ref) {
2539
+ const t = useStrings();
2540
+ const selectable = props.onClick != null || props.selected != null;
2541
+ const rest = omit(props, ["onRemove", "selected", "icon", "className", "children", "disabled", "removeLabel"]);
2542
+ const inner = [
2543
+ props.icon ? /* @__PURE__ */ React22.createElement(Icon, { key: "i", name: props.icon, size: 14 }) : null,
2544
+ /* @__PURE__ */ React22.createElement("span", { key: "t", className: "aura-tag__text" }, props.children)
2545
+ ];
2546
+ if (selectable) {
2547
+ return /* @__PURE__ */ React22.createElement(
2548
+ "button",
2549
+ {
2550
+ ...rest,
2551
+ ref,
2552
+ type: "button",
2553
+ "aria-pressed": !!props.selected,
2554
+ disabled: props.disabled,
2555
+ className: cx("aura-tag is-selectable", props.selected && "is-selected", props.className)
2556
+ },
2557
+ props.selected ? /* @__PURE__ */ React22.createElement(Icon, { name: "check", size: 14 }) : inner[0],
2558
+ inner[1]
2559
+ );
2560
+ }
2561
+ return /* @__PURE__ */ React22.createElement("span", { ...rest, ref, className: cx("aura-tag", props.disabled && "is-disabled", props.className) }, inner, props.onRemove && !props.disabled ? /* @__PURE__ */ React22.createElement(
2562
+ "button",
2563
+ {
2564
+ type: "button",
2565
+ className: "aura-tag__remove",
2566
+ "aria-label": props.removeLabel || t.remove(typeof props.children === "string" ? props.children : ""),
2567
+ onClick: props.onRemove
2568
+ },
2569
+ /* @__PURE__ */ React22.createElement(Icon, { name: "x", size: 12 })
2570
+ ) : null);
2571
+ });
2572
+
2573
+ // src/FilterBar.tsx
2574
+ var FilterBar = React23.forwardRef(function FilterBar2(props, ref) {
2575
+ const t = useStrings();
2576
+ const id = uid();
2577
+ const hasSearch = !!props.onSearchChange;
2578
+ const draft = React23.useState(props.search || "");
2579
+ const timer = React23.useRef(null);
2580
+ const sent = React23.useRef(props.search || "");
2581
+ const onChange = React23.useRef(props.onSearchChange);
2582
+ onChange.current = props.onSearchChange;
2583
+ React23.useEffect(
2584
+ function() {
2585
+ if ((props.search || "") !== sent.current) {
2586
+ sent.current = props.search || "";
2587
+ draft[1](props.search || "");
2588
+ }
2589
+ },
2590
+ [props.search]
2591
+ );
2592
+ React23.useEffect(function() {
2593
+ return function() {
2594
+ if (timer.current) clearTimeout(timer.current);
2595
+ };
2596
+ }, []);
2597
+ function send(v) {
2598
+ if (timer.current) clearTimeout(timer.current);
2599
+ timer.current = null;
2600
+ if (v === sent.current) return;
2601
+ sent.current = v;
2602
+ if (onChange.current) onChange.current(v);
2603
+ }
2604
+ function type(v) {
2605
+ draft[1](v);
2606
+ if (timer.current) clearTimeout(timer.current);
2607
+ timer.current = setTimeout(
2608
+ function() {
2609
+ send(v);
2610
+ },
2611
+ props.searchDelay == null ? 300 : props.searchDelay
2612
+ );
2613
+ }
2614
+ const filters = props.filters || [];
2615
+ const anything = filters.length > 0 || !!(props.search || draft[0]);
2616
+ const count = props.resultCount == null ? null : typeof props.resultCount === "number" ? t.results(props.resultCount) : props.resultCount;
2617
+ return /* @__PURE__ */ React23.createElement(
2618
+ "div",
2619
+ {
2620
+ ref,
2621
+ role: "region",
2622
+ "aria-label": props.label || t.filters,
2623
+ className: cx("aura-filterbar", props.className)
2624
+ },
2625
+ /* @__PURE__ */ React23.createElement("div", { className: "aura-filterbar__row" }, hasSearch ? /* @__PURE__ */ React23.createElement("div", { className: "aura-input has-icon aura-filterbar__search" }, /* @__PURE__ */ React23.createElement(Icon, { name: "search", className: "aura-input__icon" }), /* @__PURE__ */ React23.createElement(
2626
+ "input",
2627
+ {
2628
+ id,
2629
+ type: "search",
2630
+ className: "aura-input__control",
2631
+ "aria-label": props.searchLabel || t.search,
2632
+ placeholder: props.searchPlaceholder || props.searchLabel || t.search,
2633
+ value: draft[0],
2634
+ onChange: function(e) {
2635
+ type(e.target.value);
2636
+ },
2637
+ onKeyDown: function(e) {
2638
+ if (e.key === "Enter") send(draft[0]);
2639
+ if (e.key === "Escape" && draft[0]) {
2640
+ e.preventDefault();
2641
+ draft[1]("");
2642
+ send("");
2643
+ }
2644
+ }
2645
+ }
2646
+ ), draft[0] ? /* @__PURE__ */ React23.createElement(
2647
+ IconButton,
2648
+ {
2649
+ icon: "x",
2650
+ label: t.clear((props.searchLabel || t.search).toLowerCase()),
2651
+ className: "aura-filterbar__clear-search",
2652
+ onClick: function() {
2653
+ draft[1]("");
2654
+ send("");
2655
+ }
2656
+ }
2657
+ ) : null) : null, props.children ? /* @__PURE__ */ React23.createElement("div", { className: "aura-filterbar__controls" }, props.children) : null, /* @__PURE__ */ React23.createElement("span", { className: "aura-filterbar__spacer" }), count != null ? /* @__PURE__ */ React23.createElement("span", { className: "aura-filterbar__count", "aria-live": "polite" }, count) : null, props.actions ? /* @__PURE__ */ React23.createElement("div", { className: "aura-filterbar__actions" }, props.actions) : null),
2658
+ filters.length || props.onClearAll && anything ? /* @__PURE__ */ React23.createElement("div", { className: "aura-filterbar__chips" }, filters.map(function(f) {
2659
+ return /* @__PURE__ */ React23.createElement(Tag, { key: f.id, onRemove: f.onRemove }, f.label);
2660
+ }), props.onClearAll && anything ? /* @__PURE__ */ React23.createElement(
2661
+ "button",
2662
+ {
2663
+ type: "button",
2664
+ className: "aura-filterbar__clear",
2665
+ onClick: function() {
2666
+ draft[1]("");
2667
+ sent.current = "";
2668
+ if (timer.current) clearTimeout(timer.current);
2669
+ props.onClearAll();
2670
+ }
2671
+ },
2672
+ t.clearFilters
2673
+ ) : null) : null
2674
+ );
2675
+ });
2676
+
2677
+ // src/Command.tsx
2678
+ var React25 = __toESM(require_react(), 1);
2335
2679
  var import_react_dom5 = __toESM(require_react_dom(), 1);
2336
- var Tooltip = React20.forwardRef(function Tooltip2(props, ref) {
2337
- const id = uid(), st = React20.useState(false), open = props.open !== void 0 ? props.open : st[0], set = st[1];
2338
- const anchor = React20.useRef(null), anchorMerged = useMergedRef(ref, anchor), tip = React20.useRef(null), timer = React20.useRef(void 0);
2339
- const pos = React20.useState(null);
2340
- function show(now) {
2680
+
2681
+ // src/useModal.tsx
2682
+ var React24 = __toESM(require_react(), 1);
2683
+ function useModal(open, ref, opts) {
2684
+ const mounted = useMounted();
2685
+ const prev = React24.useRef(null);
2686
+ const o = opts || {};
2687
+ React24.useEffect(
2688
+ function() {
2689
+ if (!open || !mounted) return;
2690
+ prev.current = document.activeElement;
2691
+ const body = document.body, overflow = body.style.overflow;
2692
+ body.style.overflow = "hidden";
2693
+ const el = ref.current;
2694
+ const target = el && (el.querySelector("[data-autofocus]") || el.querySelector(o.bodySelector + " " + FOCUSABLE) || el.querySelector(o.footSelector + " " + FOCUSABLE) || el);
2695
+ if (target && o.autoFocus !== false) target.focus();
2696
+ return function() {
2697
+ body.style.overflow = overflow;
2698
+ if (prev.current && prev.current.focus) prev.current.focus();
2699
+ };
2700
+ },
2701
+ [open, mounted]
2702
+ );
2703
+ function onKeyDown(e) {
2704
+ if (e.key === "Escape") {
2705
+ e.stopPropagation();
2706
+ if (o.onEscape) o.onEscape();
2707
+ return;
2708
+ }
2709
+ if (e.key !== "Tab" || !ref.current) return;
2710
+ const list = Array.prototype.slice.call(ref.current.querySelectorAll(FOCUSABLE));
2711
+ if (!list.length) {
2712
+ e.preventDefault();
2713
+ return;
2714
+ }
2715
+ const first = list[0], last = list[list.length - 1];
2716
+ if (e.shiftKey && (document.activeElement === first || document.activeElement === ref.current)) {
2717
+ e.preventDefault();
2718
+ last.focus();
2719
+ } else if (!e.shiftKey && document.activeElement === last) {
2720
+ e.preventDefault();
2721
+ first.focus();
2722
+ }
2723
+ }
2724
+ return { ready: !!open && mounted, onKeyDown };
2725
+ }
2726
+
2727
+ // src/Command.tsx
2728
+ function isMac() {
2729
+ return typeof navigator !== "undefined" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent);
2730
+ }
2731
+ function Command(props) {
2732
+ const t = useStrings();
2733
+ const density = useDensity();
2734
+ const id = uid(), listId = id + "-list";
2735
+ const box = React25.useRef(null);
2736
+ const input = React25.useRef(null);
2737
+ const q = React25.useState(""), act = React25.useState(0);
2738
+ const openRef = React25.useRef(props.open);
2739
+ openRef.current = props.open;
2740
+ const close = function() {
2741
+ props.onOpenChange(false);
2742
+ };
2743
+ const modal = useModal(props.open, box, { onEscape: close });
2744
+ React25.useEffect(
2745
+ function() {
2746
+ if (props.hotkey === false) return;
2747
+ function onKey2(e) {
2748
+ if ((e.metaKey || e.ctrlKey) && !e.altKey && !e.shiftKey && (e.key === "k" || e.key === "K")) {
2749
+ e.preventDefault();
2750
+ props.onOpenChange(!openRef.current);
2751
+ }
2752
+ }
2753
+ document.addEventListener("keydown", onKey2, true);
2754
+ return function() {
2755
+ document.removeEventListener("keydown", onKey2, true);
2756
+ };
2757
+ },
2758
+ [props.hotkey, props.onOpenChange]
2759
+ );
2760
+ React25.useEffect(
2761
+ function() {
2762
+ if (!props.open) {
2763
+ q[1]("");
2764
+ act[1](0);
2765
+ }
2766
+ },
2767
+ [props.open]
2768
+ );
2769
+ const filter = props.filter || defaultFilter;
2770
+ const shown = (props.items || []).filter(function(it) {
2771
+ return filter(it, q[0]);
2772
+ });
2773
+ const groups = [];
2774
+ shown.forEach(function(it) {
2775
+ const name = it.group || "";
2776
+ let g = groups.filter(function(x) {
2777
+ return x.name === name;
2778
+ })[0];
2779
+ if (!g) groups.push(g = { name, items: [] });
2780
+ g.items.push(it);
2781
+ });
2782
+ const flat = [];
2783
+ groups.forEach(function(g) {
2784
+ g.items.forEach(function(it) {
2785
+ flat.push(it);
2786
+ });
2787
+ });
2788
+ const enabled = flat.map(function(it, i2) {
2789
+ return it.disabled ? -1 : i2;
2790
+ }).filter(function(i2) {
2791
+ return i2 >= 0;
2792
+ });
2793
+ const active = enabled.indexOf(act[0]) >= 0 ? act[0] : enabled.length ? enabled[0] : -1;
2794
+ const optId = function(i2) {
2795
+ return id + "-o" + i2;
2796
+ };
2797
+ React25.useEffect(
2798
+ function() {
2799
+ if (!box.current || active < 0) return;
2800
+ const el = box.current.querySelector("#" + CSS.escape(optId(active)));
2801
+ if (el && el.scrollIntoView) el.scrollIntoView({ block: "nearest" });
2802
+ },
2803
+ [active]
2804
+ );
2805
+ function run(it) {
2806
+ if (it.disabled) return;
2807
+ close();
2808
+ if (it.onSelect) it.onSelect();
2809
+ if (props.onSelect) props.onSelect(it);
2810
+ }
2811
+ function move(dir) {
2812
+ if (!enabled.length) return;
2813
+ const at = enabled.indexOf(active);
2814
+ let n2;
2815
+ if (dir === "first") n2 = 0;
2816
+ else if (dir === "last") n2 = enabled.length - 1;
2817
+ else n2 = (at + dir + enabled.length) % enabled.length;
2818
+ act[1](enabled[n2]);
2819
+ }
2820
+ function onKey(e) {
2821
+ if (e.key === "ArrowDown") {
2822
+ e.preventDefault();
2823
+ move(1);
2824
+ } else if (e.key === "ArrowUp") {
2825
+ e.preventDefault();
2826
+ move(-1);
2827
+ } else if (e.key === "Home" && e.ctrlKey) {
2828
+ e.preventDefault();
2829
+ move("first");
2830
+ } else if (e.key === "End" && e.ctrlKey) {
2831
+ e.preventDefault();
2832
+ move("last");
2833
+ } else if (e.key === "Enter") {
2834
+ e.preventDefault();
2835
+ if (active >= 0) run(flat[active]);
2836
+ }
2837
+ }
2838
+ if (!modal.ready) return null;
2839
+ let i = -1;
2840
+ return (0, import_react_dom5.createPortal)(
2841
+ /* @__PURE__ */ React25.createElement(
2842
+ "div",
2843
+ {
2844
+ className: "aura-dialog-layer aura-command-layer",
2845
+ "data-density": density,
2846
+ onKeyDown: function(e) {
2847
+ modal.onKeyDown(e);
2848
+ e.stopPropagation();
2849
+ }
2850
+ },
2851
+ /* @__PURE__ */ React25.createElement("div", { className: "aura-scrim", onClick: close, "aria-hidden": true }),
2852
+ /* @__PURE__ */ React25.createElement(
2853
+ "div",
2854
+ {
2855
+ ref: box,
2856
+ role: "dialog",
2857
+ "aria-modal": true,
2858
+ "aria-label": props.label || t.commandMenu,
2859
+ tabIndex: -1,
2860
+ className: cx("aura-command", props.className)
2861
+ },
2862
+ /* @__PURE__ */ React25.createElement("div", { className: "aura-command__search" }, /* @__PURE__ */ React25.createElement(Icon, { name: "search", className: "aura-command__search-icon" }), /* @__PURE__ */ React25.createElement(
2863
+ "input",
2864
+ {
2865
+ ref: input,
2866
+ "data-autofocus": "",
2867
+ type: "text",
2868
+ role: "combobox",
2869
+ "aria-expanded": true,
2870
+ "aria-controls": listId,
2871
+ "aria-autocomplete": "list",
2872
+ "aria-activedescendant": active >= 0 ? optId(active) : void 0,
2873
+ "aria-label": props.label || t.commandMenu,
2874
+ placeholder: props.placeholder || t.commandPlaceholder,
2875
+ className: "aura-command__input",
2876
+ value: q[0],
2877
+ autoComplete: "off",
2878
+ spellCheck: false,
2879
+ onChange: function(e) {
2880
+ q[1](e.target.value);
2881
+ act[1](0);
2882
+ },
2883
+ onKeyDown: onKey
2884
+ }
2885
+ ), /* @__PURE__ */ React25.createElement("kbd", { className: "aura-command__kbd" }, "Esc")),
2886
+ /* @__PURE__ */ React25.createElement("div", { className: "aura-command__list", id: listId, role: "listbox", "aria-label": props.label || t.commandMenu }, !flat.length ? /* @__PURE__ */ React25.createElement("p", { className: "aura-command__empty", role: "presentation" }, props.emptyText || t.noMatches) : groups.map(function(g, gi) {
2887
+ const gid = id + "-g" + gi;
2888
+ return /* @__PURE__ */ React25.createElement(
2889
+ "div",
2890
+ {
2891
+ key: g.name || gi,
2892
+ role: "group",
2893
+ "aria-labelledby": g.name ? gid : void 0,
2894
+ className: "aura-command__group"
2895
+ },
2896
+ g.name ? /* @__PURE__ */ React25.createElement("div", { className: "aura-command__heading", id: gid, role: "presentation" }, g.name) : null,
2897
+ g.items.map(function(it) {
2898
+ i++;
2899
+ const n2 = i;
2900
+ return /* @__PURE__ */ React25.createElement(
2901
+ "div",
2902
+ {
2903
+ key: it.id,
2904
+ id: optId(n2),
2905
+ role: "option",
2906
+ "aria-selected": n2 === active,
2907
+ "aria-disabled": it.disabled || void 0,
2908
+ className: cx("aura-command__item", n2 === active && "is-active", it.disabled && "is-disabled"),
2909
+ onPointerDown: function(e) {
2910
+ e.preventDefault();
2911
+ },
2912
+ onPointerMove: function() {
2913
+ if (!it.disabled && act[0] !== n2) act[1](n2);
2914
+ },
2915
+ onClick: function() {
2916
+ run(it);
2917
+ }
2918
+ },
2919
+ it.icon ? /* @__PURE__ */ React25.createElement(Icon, { name: it.icon }) : null,
2920
+ /* @__PURE__ */ React25.createElement("span", { className: "aura-command__text" }, /* @__PURE__ */ React25.createElement("span", { className: "aura-command__label" }, it.label), it.description ? /* @__PURE__ */ React25.createElement("span", { className: "aura-command__desc" }, it.description) : null),
2921
+ it.shortcut ? /* @__PURE__ */ React25.createElement("kbd", { className: "aura-command__kbd" }, it.shortcut) : null
2922
+ );
2923
+ })
2924
+ );
2925
+ })),
2926
+ /* @__PURE__ */ React25.createElement("div", { className: "aura-command__foot", "aria-hidden": true }, t.commandHint, /* @__PURE__ */ React25.createElement("span", { className: "aura-command__mod" }, isMac() ? "\u2318K" : "Ctrl K"))
2927
+ )
2928
+ ),
2929
+ document.body
2930
+ );
2931
+ }
2932
+
2933
+ // src/Tooltip.tsx
2934
+ var React26 = __toESM(require_react(), 1);
2935
+ var import_react_dom6 = __toESM(require_react_dom(), 1);
2936
+ var Tooltip = React26.forwardRef(function Tooltip2(props, ref) {
2937
+ const id = uid(), st = React26.useState(false), open = props.open !== void 0 ? props.open : st[0], set = st[1];
2938
+ const anchor = React26.useRef(null), anchorMerged = useMergedRef(ref, anchor), tip = React26.useRef(null), timer = React26.useRef(void 0);
2939
+ const pos = React26.useState(null);
2940
+ function show2(now) {
2341
2941
  clearTimeout(timer.current);
2342
2942
  timer.current = setTimeout(
2343
2943
  function() {
@@ -2361,7 +2961,7 @@ window.Aura = (() => {
2361
2961
  },
2362
2962
  [open]
2363
2963
  );
2364
- React20.useEffect(
2964
+ React26.useEffect(
2365
2965
  function() {
2366
2966
  if (!open) return;
2367
2967
  function esc(e) {
@@ -2374,25 +2974,25 @@ window.Aura = (() => {
2374
2974
  },
2375
2975
  [open]
2376
2976
  );
2377
- const child = React20.Children.only(props.children);
2378
- const trigger = /* @__PURE__ */ React20.createElement(
2977
+ const child = React26.Children.only(props.children);
2978
+ const trigger = /* @__PURE__ */ React26.createElement(
2379
2979
  "span",
2380
2980
  {
2381
2981
  ref: anchorMerged,
2382
2982
  className: "aura-tooltip-anchor",
2383
2983
  onMouseEnter: function() {
2384
- show(false);
2984
+ show2(false);
2385
2985
  },
2386
2986
  onMouseLeave: hide,
2387
2987
  onFocus: function() {
2388
- show(true);
2988
+ show2(true);
2389
2989
  },
2390
2990
  onBlur: hide
2391
2991
  },
2392
- React20.cloneElement(child, { "aria-describedby": open ? id : child.props["aria-describedby"] })
2992
+ React26.cloneElement(child, { "aria-describedby": open ? id : child.props["aria-describedby"] })
2393
2993
  );
2394
- return /* @__PURE__ */ React20.createElement(React20.Fragment, null, trigger, open ? (0, import_react_dom5.createPortal)(
2395
- /* @__PURE__ */ React20.createElement(
2994
+ return /* @__PURE__ */ React26.createElement(React26.Fragment, null, trigger, open ? (0, import_react_dom6.createPortal)(
2995
+ /* @__PURE__ */ React26.createElement(
2396
2996
  "div",
2397
2997
  {
2398
2998
  ref: tip,
@@ -2408,59 +3008,12 @@ window.Aura = (() => {
2408
3008
  });
2409
3009
 
2410
3010
  // src/Dialog.tsx
2411
- var React22 = __toESM(require_react(), 1);
2412
- var import_react_dom6 = __toESM(require_react_dom(), 1);
2413
-
2414
- // src/useModal.tsx
2415
- var React21 = __toESM(require_react(), 1);
2416
- function useModal(open, ref, opts) {
2417
- const mounted = useMounted();
2418
- const prev = React21.useRef(null);
2419
- const o = opts || {};
2420
- React21.useEffect(
2421
- function() {
2422
- if (!open || !mounted) return;
2423
- prev.current = document.activeElement;
2424
- const body = document.body, overflow = body.style.overflow;
2425
- body.style.overflow = "hidden";
2426
- const el = ref.current;
2427
- const target = el && (el.querySelector("[data-autofocus]") || el.querySelector(o.bodySelector + " " + FOCUSABLE) || el.querySelector(o.footSelector + " " + FOCUSABLE) || el);
2428
- if (target && o.autoFocus !== false) target.focus();
2429
- return function() {
2430
- body.style.overflow = overflow;
2431
- if (prev.current && prev.current.focus) prev.current.focus();
2432
- };
2433
- },
2434
- [open, mounted]
2435
- );
2436
- function onKeyDown(e) {
2437
- if (e.key === "Escape") {
2438
- e.stopPropagation();
2439
- if (o.onEscape) o.onEscape();
2440
- return;
2441
- }
2442
- if (e.key !== "Tab" || !ref.current) return;
2443
- const list = Array.prototype.slice.call(ref.current.querySelectorAll(FOCUSABLE));
2444
- if (!list.length) {
2445
- e.preventDefault();
2446
- return;
2447
- }
2448
- const first = list[0], last = list[list.length - 1];
2449
- if (e.shiftKey && (document.activeElement === first || document.activeElement === ref.current)) {
2450
- e.preventDefault();
2451
- last.focus();
2452
- } else if (!e.shiftKey && document.activeElement === last) {
2453
- e.preventDefault();
2454
- first.focus();
2455
- }
2456
- }
2457
- return { ready: !!open && mounted, onKeyDown };
2458
- }
2459
-
2460
- // src/Dialog.tsx
2461
- var Dialog = React22.forwardRef(function Dialog2(props, ref) {
3011
+ var React27 = __toESM(require_react(), 1);
3012
+ var import_react_dom7 = __toESM(require_react_dom(), 1);
3013
+ var Dialog = React27.forwardRef(function Dialog2(props, ref) {
2462
3014
  const t = useStrings();
2463
- const own = React22.useRef(null), merged = useMergedRef(ref, own), titleId = uid(), descId = uid();
3015
+ const density = useDensity();
3016
+ const own = React27.useRef(null), merged = useMergedRef(ref, own), titleId = uid(), descId = uid();
2464
3017
  function close() {
2465
3018
  if (props.dismissible !== false && props.onClose) props.onClose();
2466
3019
  }
@@ -2471,8 +3024,8 @@ window.Aura = (() => {
2471
3024
  footSelector: ".aura-dialog__foot"
2472
3025
  });
2473
3026
  if (!modal.ready) return null;
2474
- return (0, import_react_dom6.createPortal)(
2475
- /* @__PURE__ */ React22.createElement("div", { className: "aura-dialog-layer", onKeyDown: modal.onKeyDown }, /* @__PURE__ */ React22.createElement("div", { className: "aura-scrim", onClick: close, "aria-hidden": true }), /* @__PURE__ */ React22.createElement(
3027
+ return (0, import_react_dom7.createPortal)(
3028
+ /* @__PURE__ */ React27.createElement("div", { className: "aura-dialog-layer", "data-density": density, onKeyDown: modal.onKeyDown }, /* @__PURE__ */ React27.createElement("div", { className: "aura-scrim", onClick: close, "aria-hidden": true }), /* @__PURE__ */ React27.createElement(
2476
3029
  "div",
2477
3030
  {
2478
3031
  ref: merged,
@@ -2483,17 +3036,18 @@ window.Aura = (() => {
2483
3036
  tabIndex: -1,
2484
3037
  className: cx("aura-dialog", "aura-dialog--" + (props.size || "md"), props.className)
2485
3038
  },
2486
- /* @__PURE__ */ React22.createElement("div", { className: "aura-dialog__head" }, /* @__PURE__ */ React22.createElement("h2", { className: "aura-dialog__title", id: titleId }, props.title), props.dismissible !== false ? /* @__PURE__ */ React22.createElement(IconButton, { icon: "x", label: t.close, className: "aura-dialog__close", onClick: close }) : null),
2487
- props.description ? /* @__PURE__ */ React22.createElement("p", { className: "aura-dialog__desc", id: descId }, props.description) : null,
2488
- props.children ? /* @__PURE__ */ React22.createElement("div", { className: "aura-dialog__body" }, props.children) : null,
2489
- props.footer ? /* @__PURE__ */ React22.createElement("div", { className: "aura-dialog__foot" }, props.footer) : null
3039
+ /* @__PURE__ */ React27.createElement("div", { className: "aura-dialog__head" }, /* @__PURE__ */ React27.createElement("h2", { className: "aura-dialog__title", id: titleId }, props.title), props.dismissible !== false ? /* @__PURE__ */ React27.createElement(IconButton, { icon: "x", label: t.close, className: "aura-dialog__close", onClick: close }) : null),
3040
+ props.description ? /* @__PURE__ */ React27.createElement("p", { className: "aura-dialog__desc", id: descId }, props.description) : null,
3041
+ props.children ? /* @__PURE__ */ React27.createElement("div", { className: "aura-dialog__body" }, props.children) : null,
3042
+ props.footer ? /* @__PURE__ */ React27.createElement("div", { className: "aura-dialog__foot" }, props.footer) : null
2490
3043
  )),
2491
3044
  document.body
2492
3045
  );
2493
3046
  });
2494
- var Drawer = React22.forwardRef(function Drawer2(props, ref) {
3047
+ var Drawer = React27.forwardRef(function Drawer2(props, ref) {
2495
3048
  const t = useStrings();
2496
- const own = React22.useRef(null), merged = useMergedRef(ref, own), titleId = uid(), descId = uid();
3049
+ const density = useDensity();
3050
+ const own = React27.useRef(null), merged = useMergedRef(ref, own), titleId = uid(), descId = uid();
2497
3051
  function close() {
2498
3052
  if (props.dismissible !== false && props.onClose) props.onClose();
2499
3053
  }
@@ -2505,8 +3059,8 @@ window.Aura = (() => {
2505
3059
  });
2506
3060
  if (!modal.ready) return null;
2507
3061
  const side = props.side === "left" ? "left" : "right";
2508
- return (0, import_react_dom6.createPortal)(
2509
- /* @__PURE__ */ React22.createElement("div", { className: "aura-dialog-layer aura-drawer-layer", onKeyDown: modal.onKeyDown }, /* @__PURE__ */ React22.createElement("div", { className: "aura-scrim", onClick: close, "aria-hidden": true }), /* @__PURE__ */ React22.createElement(
3062
+ return (0, import_react_dom7.createPortal)(
3063
+ /* @__PURE__ */ React27.createElement("div", { className: "aura-dialog-layer aura-drawer-layer", "data-density": density, onKeyDown: modal.onKeyDown }, /* @__PURE__ */ React27.createElement("div", { className: "aura-scrim", onClick: close, "aria-hidden": true }), /* @__PURE__ */ React27.createElement(
2510
3064
  "div",
2511
3065
  {
2512
3066
  ref: merged,
@@ -2518,17 +3072,17 @@ window.Aura = (() => {
2518
3072
  tabIndex: -1,
2519
3073
  className: cx("aura-drawer", "aura-drawer--" + side, "aura-drawer--" + (props.size || "md"), props.className)
2520
3074
  },
2521
- props.title || props.dismissible !== false ? /* @__PURE__ */ React22.createElement("div", { className: "aura-drawer__head" }, props.title ? /* @__PURE__ */ React22.createElement("h2", { className: "aura-drawer__title", id: titleId }, props.title) : /* @__PURE__ */ React22.createElement("span", { style: { flex: 1 } }), props.dismissible !== false ? /* @__PURE__ */ React22.createElement(IconButton, { icon: "x", label: t.close, onClick: close }) : null) : null,
2522
- props.description ? /* @__PURE__ */ React22.createElement("p", { className: "aura-drawer__desc", id: descId }, props.description) : null,
2523
- /* @__PURE__ */ React22.createElement("div", { className: "aura-drawer__body" }, props.children),
2524
- props.footer ? /* @__PURE__ */ React22.createElement("div", { className: "aura-drawer__foot" }, props.footer) : null
3075
+ props.title || props.dismissible !== false ? /* @__PURE__ */ React27.createElement("div", { className: "aura-drawer__head" }, props.title ? /* @__PURE__ */ React27.createElement("h2", { className: "aura-drawer__title", id: titleId }, props.title) : /* @__PURE__ */ React27.createElement("span", { style: { flex: 1 } }), props.dismissible !== false ? /* @__PURE__ */ React27.createElement(IconButton, { icon: "x", label: t.close, onClick: close }) : null) : null,
3076
+ props.description ? /* @__PURE__ */ React27.createElement("p", { className: "aura-drawer__desc", id: descId }, props.description) : null,
3077
+ /* @__PURE__ */ React27.createElement("div", { className: "aura-drawer__body" }, props.children),
3078
+ props.footer ? /* @__PURE__ */ React27.createElement("div", { className: "aura-drawer__foot" }, props.footer) : null
2525
3079
  )),
2526
3080
  document.body
2527
3081
  );
2528
3082
  });
2529
3083
 
2530
3084
  // src/DataTable.tsx
2531
- var React23 = __toESM(require_react(), 1);
3085
+ var React28 = __toESM(require_react(), 1);
2532
3086
  var BP = { sm: 640, md: 768, lg: 1024, xl: 1280 };
2533
3087
  var DEFAULT_COLUMNS = [
2534
3088
  { key: "id", label: "ID", width: 96, mono: true },
@@ -2537,10 +3091,10 @@ window.Aura = (() => {
2537
3091
  { key: "owner", label: "OWNER" }
2538
3092
  ];
2539
3093
  var SKELETON_WIDTHS = ["72%", "56%", "84%", "44%", "64%"];
2540
- var ROW_H = 48;
3094
+ var ROW_H_DEFAULT = 48;
2541
3095
  var OVERSCAN = 8;
2542
3096
  var FLEX_MIN = 160;
2543
- var DataTable = React23.forwardRef(function DataTable2(props, ref) {
3097
+ var DataTable = React28.forwardRef(function DataTable2(props, ref) {
2544
3098
  const t = useStrings();
2545
3099
  const columns = props.columns || DEFAULT_COLUMNS;
2546
3100
  const byKey = {};
@@ -2587,23 +3141,23 @@ window.Aura = (() => {
2587
3141
  }),
2588
3142
  props.onPinnedColumnsChange
2589
3143
  );
2590
- const widthState = React23.useState({});
3144
+ const widthState = React28.useState({});
2591
3145
  const widths = widthState[0], setWidths = widthState[1];
2592
- const activeState = React23.useState({ r: 1, c: 0 });
2593
- const scrollState = React23.useState(0);
3146
+ const activeState = React28.useState({ r: 1, c: 0 });
3147
+ const scrollState = React28.useState(0);
2594
3148
  const scrollTop = scrollState[0], setScrollTop = scrollState[1];
2595
- const scrolledX = React23.useState(false);
2596
- const menuState = React23.useState(null);
3149
+ const scrolledX = React28.useState(false);
3150
+ const menuState = React28.useState(null);
2597
3151
  const menu = menuState[0], setMenu = menuState[1];
2598
- const dragState = React23.useState(null);
3152
+ const dragState = React28.useState(null);
2599
3153
  const drag = dragState[0], setDrag = dragState[1];
2600
- const gridRef = React23.useRef(null);
2601
- const wrapRef = React23.useRef(null), wrapMerged = useMergedRef(ref, wrapRef);
2602
- const boxWidth = React23.useState(null);
3154
+ const gridRef = React28.useRef(null);
3155
+ const wrapRef = React28.useRef(null), wrapMerged = useMergedRef(ref, wrapRef);
3156
+ const boxWidth = React28.useState(null);
2603
3157
  const measure = !!props.stackBelow || columns.some(function(c) {
2604
3158
  return c.hideBelow != null;
2605
3159
  });
2606
- React23.useEffect(
3160
+ React28.useEffect(
2607
3161
  function() {
2608
3162
  if (!measure || !wrapRef.current || typeof ResizeObserver === "undefined") return;
2609
3163
  const ro = new ResizeObserver(function(en) {
@@ -2622,9 +3176,17 @@ window.Aura = (() => {
2622
3176
  const px = typeof c.hideBelow === "number" ? c.hideBelow : BP[c.hideBelow];
2623
3177
  return px != null && boxWidth[0] < px;
2624
3178
  }
2625
- const scrollRef = React23.useRef(null);
2626
- const pending = React23.useRef(null);
2627
- const resizing = React23.useRef(false);
3179
+ const scrollRef = React28.useRef(null);
3180
+ const rowH = React28.useState(ROW_H_DEFAULT);
3181
+ const ROW_H = rowH[0];
3182
+ useIsoLayoutEffect(function() {
3183
+ const el = wrapRef.current;
3184
+ if (!el || typeof getComputedStyle === "undefined") return;
3185
+ const v = parseFloat(getComputedStyle(el).getPropertyValue("--aura-table-row-height"));
3186
+ if (v > 0 && v !== rowH[0]) rowH[1](v);
3187
+ });
3188
+ const pending = React28.useRef(null);
3189
+ const resizing = React28.useRef(false);
2628
3190
  useIsoLayoutEffect(function() {
2629
3191
  if (stacked || !gridRef.current) return;
2630
3192
  const els = gridRef.current.querySelectorAll(
@@ -2683,7 +3245,7 @@ window.Aura = (() => {
2683
3245
  if (isPinned(c)) s.left = "calc(var(--aura-space-6)" + selW + " + " + pinOffsets[c.key] + "px)";
2684
3246
  return s;
2685
3247
  }
2686
- const view = React23.useMemo(
3248
+ const view = React28.useMemo(
2687
3249
  function() {
2688
3250
  if (manual || !sort || !sort.key || !byKey[sort.key]) return rows;
2689
3251
  const col = byKey[sort.key];
@@ -2717,7 +3279,7 @@ window.Aura = (() => {
2717
3279
  const canSortAny = !busy && (manual ? total > 1 : rows.length > 1);
2718
3280
  const shownTotal = manual && props.totalRows == null ? first + rows.length : total;
2719
3281
  const linkPaging = !!props.getPageHref && !props.onPageChange;
2720
- const prevLink = React23.useRef(null), nextLink = React23.useRef(null);
3282
+ const prevLink = React28.useRef(null), nextLink = React28.useRef(null);
2721
3283
  function goPage(p, focus) {
2722
3284
  const next = Math.min(Math.max(1, p), pageCount);
2723
3285
  if (next === page) return false;
@@ -2752,7 +3314,7 @@ window.Aura = (() => {
2752
3314
  );
2753
3315
  }
2754
3316
  function rowLinkWrap(r, content) {
2755
- return rowHref ? /* @__PURE__ */ React23.createElement(Link, { href: rowHref(r), className: "aura-table__row-link" }, content) : content;
3317
+ return rowHref ? /* @__PURE__ */ React28.createElement(Link, { href: rowHref(r), className: "aura-table__row-link" }, content) : content;
2756
3318
  }
2757
3319
  const height = props.height || 0;
2758
3320
  const virtual = !!height && !loading && pageRows.length > 0;
@@ -2775,7 +3337,7 @@ window.Aura = (() => {
2775
3337
  if (!activeRendered) return r === 0 && c === ac ? 0 : -1;
2776
3338
  return r === ar && c === ac ? 0 : -1;
2777
3339
  }
2778
- React23.useEffect(function() {
3340
+ React28.useEffect(function() {
2779
3341
  const p = pending.current;
2780
3342
  if (!p || !gridRef.current) return;
2781
3343
  let c = p.c;
@@ -2941,9 +3503,9 @@ window.Aura = (() => {
2941
3503
  const group = vis.filter(function(x) {
2942
3504
  return isPinned(x) === isPinned(c);
2943
3505
  }), gi = group.indexOf(c);
2944
- const items = [];
3506
+ const items2 = [];
2945
3507
  if (c.sortable)
2946
- items.push(
3508
+ items2.push(
2947
3509
  {
2948
3510
  label: t.sortAsc,
2949
3511
  icon: "arrow-up",
@@ -2963,7 +3525,7 @@ window.Aura = (() => {
2963
3525
  { separator: true }
2964
3526
  );
2965
3527
  if (c.width != null)
2966
- items.push({
3528
+ items2.push({
2967
3529
  label: isPinned(c) ? t.unpin : t.pin,
2968
3530
  icon: isPinned(c) ? "pin-off" : "pin",
2969
3531
  onSelect: function() {
@@ -2971,7 +3533,7 @@ window.Aura = (() => {
2971
3533
  }
2972
3534
  });
2973
3535
  if (reorderable)
2974
- items.push(
3536
+ items2.push(
2975
3537
  {
2976
3538
  label: t.moveLeft,
2977
3539
  icon: "arrow-left",
@@ -2989,7 +3551,7 @@ window.Aura = (() => {
2989
3551
  }
2990
3552
  }
2991
3553
  );
2992
- items.push(
3554
+ items2.push(
2993
3555
  { separator: true },
2994
3556
  {
2995
3557
  label: t.hideColumn,
@@ -3000,7 +3562,7 @@ window.Aura = (() => {
3000
3562
  }
3001
3563
  }
3002
3564
  );
3003
- return items;
3565
+ return items2;
3004
3566
  }
3005
3567
  function pickerItems() {
3006
3568
  return order.map(function(k) {
@@ -3086,10 +3648,10 @@ window.Aura = (() => {
3086
3648
  e.stopPropagation();
3087
3649
  }
3088
3650
  }
3089
- const head = [/* @__PURE__ */ React23.createElement("span", { key: "__gl", className: "aura-table__gutter", "aria-hidden": true })];
3651
+ const head = [/* @__PURE__ */ React28.createElement("span", { key: "__gl", className: "aura-table__gutter", "aria-hidden": true })];
3090
3652
  if (selectable)
3091
3653
  head.push(
3092
- /* @__PURE__ */ React23.createElement(
3654
+ /* @__PURE__ */ React28.createElement(
3093
3655
  "span",
3094
3656
  {
3095
3657
  key: "__sel",
@@ -3103,7 +3665,7 @@ window.Aura = (() => {
3103
3665
  activeState[1]({ r: 0, c: 0 });
3104
3666
  }
3105
3667
  },
3106
- nRows ? /* @__PURE__ */ React23.createElement(
3668
+ nRows ? /* @__PURE__ */ React28.createElement(
3107
3669
  Checkbox,
3108
3670
  {
3109
3671
  checked: all,
@@ -3122,7 +3684,7 @@ window.Aura = (() => {
3122
3684
  const ariaSort = isSorted && canSort ? sort.dir === "desc" ? "descending" : "ascending" : canSort ? "none" : void 0;
3123
3685
  const pin = isPinned(c), edge = pin && i === nPinned - 1;
3124
3686
  head.push(
3125
- /* @__PURE__ */ React23.createElement(
3687
+ /* @__PURE__ */ React28.createElement(
3126
3688
  "span",
3127
3689
  {
3128
3690
  key: c.key,
@@ -3171,7 +3733,7 @@ window.Aura = (() => {
3171
3733
  setDrag(null);
3172
3734
  }
3173
3735
  },
3174
- /* @__PURE__ */ React23.createElement("span", { className: "aura-table__th-inner" }, canSort ? /* @__PURE__ */ React23.createElement(
3736
+ /* @__PURE__ */ React28.createElement("span", { className: "aura-table__th-inner" }, canSort ? /* @__PURE__ */ React28.createElement(
3175
3737
  "button",
3176
3738
  {
3177
3739
  type: "button",
@@ -3183,8 +3745,8 @@ window.Aura = (() => {
3183
3745
  }
3184
3746
  },
3185
3747
  c.label,
3186
- /* @__PURE__ */ React23.createElement(Icon, { name: isSorted ? sort.dir === "desc" ? "arrow-down" : "arrow-up" : "arrow-up-down", size: 12 })
3187
- ) : /* @__PURE__ */ React23.createElement("span", { className: cx("aura-table__th-label", !c.label && "aura-sr-only") }, c.label || (c.actions ? t.actions : c.key)), pin ? /* @__PURE__ */ React23.createElement(Icon, { name: "pin", size: 12, className: "aura-table__pin-icon", label: t.pinned }) : null, controls ? /* @__PURE__ */ React23.createElement(
3748
+ /* @__PURE__ */ React28.createElement(Icon, { name: isSorted ? sort.dir === "desc" ? "arrow-down" : "arrow-up" : "arrow-up-down", size: 12 })
3749
+ ) : /* @__PURE__ */ React28.createElement("span", { className: cx("aura-table__th-label", !c.label && "aura-sr-only") }, c.label || (c.actions ? t.actions : c.key)), pin ? /* @__PURE__ */ React28.createElement(Icon, { name: "pin", size: 12, className: "aura-table__pin-icon", label: t.pinned }) : null, controls ? /* @__PURE__ */ React28.createElement(
3188
3750
  "button",
3189
3751
  {
3190
3752
  type: "button",
@@ -3198,9 +3760,9 @@ window.Aura = (() => {
3198
3760
  openMenu("col", c.key, e.currentTarget, { r: 0, c: ci });
3199
3761
  }
3200
3762
  },
3201
- /* @__PURE__ */ React23.createElement(Icon, { name: "ellipsis" })
3763
+ /* @__PURE__ */ React28.createElement(Icon, { name: "ellipsis" })
3202
3764
  ) : null),
3203
- canResize(c) ? /* @__PURE__ */ React23.createElement(
3765
+ canResize(c) ? /* @__PURE__ */ React28.createElement(
3204
3766
  "span",
3205
3767
  {
3206
3768
  className: "aura-table__resize",
@@ -3222,7 +3784,7 @@ window.Aura = (() => {
3222
3784
  );
3223
3785
  });
3224
3786
  head.push(
3225
- /* @__PURE__ */ React23.createElement(
3787
+ /* @__PURE__ */ React28.createElement(
3226
3788
  "span",
3227
3789
  {
3228
3790
  key: "__gr",
@@ -3233,14 +3795,14 @@ window.Aura = (() => {
3233
3795
  );
3234
3796
  function cellContent(c, r) {
3235
3797
  const v = r[c.key];
3236
- return c.render ? c.render(r) : c.pill ? /* @__PURE__ */ React23.createElement(StatusPill, { ...{ tone: c.tones && c.tones[v] } }, v) : v;
3798
+ return c.render ? c.render(r) : c.pill ? /* @__PURE__ */ React28.createElement(StatusPill, { ...{ tone: c.tones && c.tones[v] } }, v) : v;
3237
3799
  }
3238
3800
  function rowCells(r, i, k, isSel) {
3239
3801
  const ri = i + 1;
3240
- const cells = [/* @__PURE__ */ React23.createElement("span", { key: "__gl", className: "aura-table__gutter", "aria-hidden": true })];
3802
+ const cells = [/* @__PURE__ */ React28.createElement("span", { key: "__gl", className: "aura-table__gutter", "aria-hidden": true })];
3241
3803
  if (selectable)
3242
3804
  cells.push(
3243
- /* @__PURE__ */ React23.createElement(
3805
+ /* @__PURE__ */ React28.createElement(
3244
3806
  "span",
3245
3807
  {
3246
3808
  key: "__sel",
@@ -3254,7 +3816,7 @@ window.Aura = (() => {
3254
3816
  if (e.target === e.currentTarget) activeState[1]({ r: ri, c: 0 });
3255
3817
  }
3256
3818
  },
3257
- /* @__PURE__ */ React23.createElement(
3819
+ /* @__PURE__ */ React28.createElement(
3258
3820
  Checkbox,
3259
3821
  {
3260
3822
  checked: isSel,
@@ -3270,7 +3832,7 @@ window.Aura = (() => {
3270
3832
  vis.forEach(function(c, j) {
3271
3833
  const ci = j + (selectable ? 1 : 0), v = r[c.key], pin = isPinned(c);
3272
3834
  cells.push(
3273
- /* @__PURE__ */ React23.createElement(
3835
+ /* @__PURE__ */ React28.createElement(
3274
3836
  "span",
3275
3837
  {
3276
3838
  key: c.key,
@@ -3295,7 +3857,7 @@ window.Aura = (() => {
3295
3857
  );
3296
3858
  });
3297
3859
  cells.push(
3298
- /* @__PURE__ */ React23.createElement(
3860
+ /* @__PURE__ */ React28.createElement(
3299
3861
  "span",
3300
3862
  {
3301
3863
  key: "__gr",
@@ -3312,21 +3874,21 @@ window.Aura = (() => {
3312
3874
  const n2 = pageSize || props.skeletonRows || 5;
3313
3875
  const skRows = body = [];
3314
3876
  for (let i = 0; i < n2; i++) {
3315
- const sk = [/* @__PURE__ */ React23.createElement("span", { key: "__gl", className: "aura-table__gutter" })];
3877
+ const sk = [/* @__PURE__ */ React28.createElement("span", { key: "__gl", className: "aura-table__gutter" })];
3316
3878
  if (selectable)
3317
3879
  sk.push(
3318
- /* @__PURE__ */ React23.createElement("span", { key: "__sel", className: cx("aura-table__sel", nPinned && "is-pinned") }, /* @__PURE__ */ React23.createElement("span", { className: "aura-skel aura-skel--box" }))
3880
+ /* @__PURE__ */ React28.createElement("span", { key: "__sel", className: cx("aura-table__sel", nPinned && "is-pinned") }, /* @__PURE__ */ React28.createElement("span", { className: "aura-skel aura-skel--box" }))
3319
3881
  );
3320
3882
  vis.forEach(function(c, j) {
3321
3883
  sk.push(
3322
- /* @__PURE__ */ React23.createElement(
3884
+ /* @__PURE__ */ React28.createElement(
3323
3885
  "span",
3324
3886
  {
3325
3887
  key: c.key,
3326
3888
  className: cx("aura-table__td", c.align === "end" && "is-end", isPinned(c) && "is-pinned"),
3327
3889
  style: cellStyle(c, j)
3328
3890
  },
3329
- /* @__PURE__ */ React23.createElement(
3891
+ /* @__PURE__ */ React28.createElement(
3330
3892
  "span",
3331
3893
  {
3332
3894
  className: cx("aura-skel", c.pill && "aura-skel--pill"),
@@ -3337,24 +3899,24 @@ window.Aura = (() => {
3337
3899
  );
3338
3900
  });
3339
3901
  sk.push(
3340
- /* @__PURE__ */ React23.createElement("span", { key: "__gr", className: cx("aura-table__gutter aura-table__gutter--end", controls && "has-picker") })
3902
+ /* @__PURE__ */ React28.createElement("span", { key: "__gr", className: cx("aura-table__gutter aura-table__gutter--end", controls && "has-picker") })
3341
3903
  );
3342
3904
  skRows.push(
3343
- /* @__PURE__ */ React23.createElement("div", { key: "sk" + i, className: "aura-table__row aura-table__row--skeleton", "aria-hidden": true, style: rowStyle }, sk)
3905
+ /* @__PURE__ */ React28.createElement("div", { key: "sk" + i, className: "aura-table__row aura-table__row--skeleton", "aria-hidden": true, style: rowStyle }, sk)
3344
3906
  );
3345
3907
  }
3346
3908
  } else if (!rows.length) {
3347
3909
  const em = props.empty || {};
3348
- body = /* @__PURE__ */ React23.createElement("div", { className: "aura-table__empty", role: "row" }, /* @__PURE__ */ React23.createElement("div", { role: "gridcell" }, /* @__PURE__ */ React23.createElement("span", { className: "aura-table__empty-icon" }, /* @__PURE__ */ React23.createElement(Icon, { name: em.icon || "inbox", size: "lg" })), /* @__PURE__ */ React23.createElement("p", { className: "aura-table__empty-title" }, em.title || t.empty), em.description ? /* @__PURE__ */ React23.createElement("p", { className: "aura-table__empty-text" }, em.description) : null, em.action ? /* @__PURE__ */ React23.createElement("div", { className: "aura-table__empty-action" }, em.action) : null));
3910
+ body = /* @__PURE__ */ React28.createElement("div", { className: "aura-table__empty", role: "row" }, /* @__PURE__ */ React28.createElement("div", { role: "gridcell" }, /* @__PURE__ */ React28.createElement("span", { className: "aura-table__empty-icon" }, /* @__PURE__ */ React28.createElement(Icon, { name: em.icon || "inbox", size: "lg" })), /* @__PURE__ */ React28.createElement("p", { className: "aura-table__empty-title" }, em.title || t.empty), em.description ? /* @__PURE__ */ React28.createElement("p", { className: "aura-table__empty-text" }, em.description) : null, em.action ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__empty-action" }, em.action) : null));
3349
3911
  } else {
3350
3912
  const bodyRows = body = [];
3351
3913
  if (virtual && start > 0)
3352
- bodyRows.push(/* @__PURE__ */ React23.createElement("div", { key: "__top", style: { height: start * ROW_H + "px" }, "aria-hidden": true }));
3914
+ bodyRows.push(/* @__PURE__ */ React28.createElement("div", { key: "__top", style: { height: start * ROW_H + "px" }, "aria-hidden": true }));
3353
3915
  for (let ri = start; ri < end; ri++) {
3354
3916
  (function(r, i) {
3355
3917
  const k = r[rowKey], isSel = !!selSet[k];
3356
3918
  bodyRows.push(
3357
- /* @__PURE__ */ React23.createElement(
3919
+ /* @__PURE__ */ React28.createElement(
3358
3920
  "div",
3359
3921
  {
3360
3922
  key: k,
@@ -3380,13 +3942,13 @@ window.Aura = (() => {
3380
3942
  })(pageRows[ri], ri);
3381
3943
  }
3382
3944
  if (virtual && end < pageRows.length)
3383
- bodyRows.push(/* @__PURE__ */ React23.createElement("div", { key: "__bot", style: { height: (pageRows.length - end) * ROW_H + "px" }, "aria-hidden": true }));
3945
+ bodyRows.push(/* @__PURE__ */ React28.createElement("div", { key: "__bot", style: { height: (pageRows.length - end) * ROW_H + "px" }, "aria-hidden": true }));
3384
3946
  }
3385
3947
  let foot = null;
3386
3948
  function pagerButton(dir) {
3387
3949
  const p = page + dir, off = busy || (dir < 0 ? page <= 1 : page >= pageCount), label = dir < 0 ? t.prevPage : t.nextPage, icon = dir < 0 ? "chevron-left" : "chevron-right";
3388
3950
  if (props.getPageHref && !off)
3389
- return /* @__PURE__ */ React23.createElement(
3951
+ return /* @__PURE__ */ React28.createElement(
3390
3952
  Link,
3391
3953
  {
3392
3954
  ref: dir < 0 ? prevLink : nextLink,
@@ -3400,9 +3962,9 @@ window.Aura = (() => {
3400
3962
  }
3401
3963
  }
3402
3964
  },
3403
- /* @__PURE__ */ React23.createElement(Icon, { name: icon })
3965
+ /* @__PURE__ */ React28.createElement(Icon, { name: icon })
3404
3966
  );
3405
- return /* @__PURE__ */ React23.createElement(
3967
+ return /* @__PURE__ */ React28.createElement(
3406
3968
  IconButton,
3407
3969
  {
3408
3970
  icon,
@@ -3416,9 +3978,9 @@ window.Aura = (() => {
3416
3978
  }
3417
3979
  if (pageSize && (rows.length || busy)) {
3418
3980
  const from = rows.length ? first + 1 : 0, to = manual ? first + rows.length : Math.min(first + pageSize, view.length);
3419
- foot = /* @__PURE__ */ React23.createElement("div", { className: "aura-table__foot" }, /* @__PURE__ */ React23.createElement("span", { "aria-live": "polite" }, busy ? t.loading : t.range(from, to, shownTotal)), /* @__PURE__ */ React23.createElement("span", { className: "aura-table__pager" }, /* @__PURE__ */ React23.createElement("span", null, t.page(page, pageCount)), pagerButton(-1), pagerButton(1)));
3981
+ foot = /* @__PURE__ */ React28.createElement("div", { className: "aura-table__foot" }, /* @__PURE__ */ React28.createElement("span", { "aria-live": "polite" }, busy ? t.loading : t.range(from, to, shownTotal)), /* @__PURE__ */ React28.createElement("span", { className: "aura-table__pager" }, /* @__PURE__ */ React28.createElement("span", null, t.page(page, pageCount)), pagerButton(-1), pagerButton(1)));
3420
3982
  } else if (height && rows.length && !loading) {
3421
- foot = /* @__PURE__ */ React23.createElement("div", { className: "aura-table__foot" }, /* @__PURE__ */ React23.createElement("span", null, t.rowCount(shownTotal)), selectable && selected.length ? /* @__PURE__ */ React23.createElement("span", null, t.selectedCount(selected.length)) : /* @__PURE__ */ React23.createElement("span", null));
3983
+ 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));
3422
3984
  }
3423
3985
  if (stacked) {
3424
3986
  const titleCol = vis[0], pillCol = vis.filter(function(c) {
@@ -3432,17 +3994,17 @@ window.Aura = (() => {
3432
3994
  });
3433
3995
  let cardBody;
3434
3996
  if (loading) {
3435
- cardBody = /* @__PURE__ */ React23.createElement("ul", { className: "aura-table__cards", "aria-busy": true }, [0, 1, 2].map(function(i) {
3436
- return /* @__PURE__ */ React23.createElement("li", { key: i, className: "aura-table__card", "aria-hidden": true }, /* @__PURE__ */ React23.createElement("span", { className: "aura-skel", style: { width: "50%", height: "14px" } }), /* @__PURE__ */ React23.createElement("span", { className: "aura-skel", style: { width: "80%" } }), /* @__PURE__ */ React23.createElement("span", { className: "aura-skel", style: { width: "64%" } }));
3997
+ cardBody = /* @__PURE__ */ React28.createElement("ul", { className: "aura-table__cards", "aria-busy": true }, [0, 1, 2].map(function(i) {
3998
+ 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%" } }));
3437
3999
  }));
3438
4000
  } else if (!rows.length) {
3439
4001
  const em2 = props.empty || {};
3440
- cardBody = /* @__PURE__ */ React23.createElement("div", { className: "aura-table__empty" }, /* @__PURE__ */ React23.createElement("div", null, /* @__PURE__ */ React23.createElement("span", { className: "aura-table__empty-icon" }, /* @__PURE__ */ React23.createElement(Icon, { name: em2.icon || "inbox", size: "lg" })), /* @__PURE__ */ React23.createElement("p", { className: "aura-table__empty-title" }, em2.title || t.empty), em2.description ? /* @__PURE__ */ React23.createElement("p", { className: "aura-table__empty-text" }, em2.description) : null, em2.action ? /* @__PURE__ */ React23.createElement("div", { className: "aura-table__empty-action" }, em2.action) : null));
4002
+ 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));
3441
4003
  } else {
3442
4004
  const cellVal = cellContent;
3443
- cardBody = /* @__PURE__ */ React23.createElement("ul", { className: "aura-table__cards", "aria-label": props.label }, pageRows.map(function(r) {
4005
+ cardBody = /* @__PURE__ */ React28.createElement("ul", { className: "aura-table__cards", "aria-label": props.label }, pageRows.map(function(r) {
3444
4006
  const k = r[rowKey], isSel = !!selSet[k];
3445
- return /* @__PURE__ */ React23.createElement(
4007
+ return /* @__PURE__ */ React28.createElement(
3446
4008
  "li",
3447
4009
  {
3448
4010
  key: k,
@@ -3463,7 +4025,7 @@ window.Aura = (() => {
3463
4025
  props.onRowActivate(r);
3464
4026
  }
3465
4027
  },
3466
- /* @__PURE__ */ React23.createElement("div", { className: "aura-table__card-head" }, selectable ? /* @__PURE__ */ React23.createElement(
4028
+ /* @__PURE__ */ React28.createElement("div", { className: "aura-table__card-head" }, selectable ? /* @__PURE__ */ React28.createElement(
3467
4029
  Checkbox,
3468
4030
  {
3469
4031
  checked: isSel,
@@ -3472,26 +4034,27 @@ window.Aura = (() => {
3472
4034
  toggle(k, on);
3473
4035
  }
3474
4036
  }
3475
- ) : null, /* @__PURE__ */ React23.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) {
3476
- return /* @__PURE__ */ React23.createElement("span", { key: c.key, className: "aura-table__card-actions" }, cellVal(c, r));
4037
+ ) : 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) {
4038
+ return /* @__PURE__ */ React28.createElement("span", { key: c.key, className: "aura-table__card-actions" }, cellVal(c, r));
3477
4039
  })),
3478
- rest.length ? /* @__PURE__ */ React23.createElement("dl", { className: "aura-table__card-fields" }, rest.map(function(c) {
3479
- return /* @__PURE__ */ React23.createElement("div", { key: c.key }, /* @__PURE__ */ React23.createElement("dt", null, c.label), /* @__PURE__ */ React23.createElement("dd", { className: c.mono ? "aura-table__mono" : void 0 }, cellVal(c, r)));
4040
+ rest.length ? /* @__PURE__ */ React28.createElement("dl", { className: "aura-table__card-fields" }, rest.map(function(c) {
4041
+ return /* @__PURE__ */ React28.createElement("div", { key: c.key }, /* @__PURE__ */ React28.createElement("dt", null, c.label), /* @__PURE__ */ React28.createElement("dd", { className: c.mono ? "aura-table__mono" : void 0 }, cellVal(c, r)));
3480
4042
  })) : null
3481
4043
  );
3482
4044
  }));
3483
4045
  }
3484
- return /* @__PURE__ */ React23.createElement(
4046
+ return /* @__PURE__ */ React28.createElement(
3485
4047
  "div",
3486
4048
  {
3487
4049
  ref: wrapMerged,
4050
+ "data-density": props.density,
3488
4051
  className: cx("aura-table aura-table--stacked", refreshing && "is-refreshing", props.className),
3489
4052
  role: "region",
3490
4053
  "aria-label": props.label,
3491
4054
  "aria-busy": busy || void 0
3492
4055
  },
3493
- refreshing ? /* @__PURE__ */ React23.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
3494
- selectable && pageRows.length && !busy ? /* @__PURE__ */ React23.createElement("div", { className: "aura-table__stack-bar" }, /* @__PURE__ */ React23.createElement(
4056
+ refreshing ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
4057
+ selectable && pageRows.length && !busy ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__stack-bar" }, /* @__PURE__ */ React28.createElement(
3495
4058
  Checkbox,
3496
4059
  {
3497
4060
  checked: all,
@@ -3499,7 +4062,7 @@ window.Aura = (() => {
3499
4062
  label: all ? t.deselectAllRows : t.selectAllRows,
3500
4063
  onChange: toggleAll
3501
4064
  }
3502
- ), /* @__PURE__ */ React23.createElement("span", null, nSel ? t.selectedCount(nSel) : t.selectAll)) : null,
4065
+ ), /* @__PURE__ */ React28.createElement("span", null, nSel ? t.selectedCount(nSel) : t.selectAll)) : null,
3503
4066
  cardBody,
3504
4067
  foot
3505
4068
  );
@@ -3509,14 +4072,15 @@ window.Aura = (() => {
3509
4072
  scrollPaddingTop: ROW_H + "px"
3510
4073
  };
3511
4074
  if (height) scrollStyle.height = height + "px";
3512
- return /* @__PURE__ */ React23.createElement(
4075
+ return /* @__PURE__ */ React28.createElement(
3513
4076
  "div",
3514
4077
  {
3515
4078
  ref: wrapMerged,
4079
+ "data-density": props.density,
3516
4080
  className: cx("aura-table", scrolledX[0] && "is-scrolled-x", refreshing && "is-refreshing", props.className)
3517
4081
  },
3518
- refreshing ? /* @__PURE__ */ React23.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
3519
- /* @__PURE__ */ React23.createElement(
4082
+ refreshing ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
4083
+ /* @__PURE__ */ React28.createElement(
3520
4084
  "div",
3521
4085
  {
3522
4086
  ref: function(el) {
@@ -3541,11 +4105,11 @@ window.Aura = (() => {
3541
4105
  if (sx !== scrolledX[0]) scrolledX[1](sx);
3542
4106
  }
3543
4107
  },
3544
- /* @__PURE__ */ React23.createElement("div", { className: "aura-table__head", role: "row", "aria-rowindex": 1, style: rowStyle }, head),
4108
+ /* @__PURE__ */ React28.createElement("div", { className: "aura-table__head", role: "row", "aria-rowindex": 1, style: rowStyle }, head),
3545
4109
  body
3546
4110
  ),
3547
- busy ? /* @__PURE__ */ React23.createElement("span", { className: "aura-sr-only", role: "status" }, t.loadingRows) : null,
3548
- controls ? /* @__PURE__ */ React23.createElement("div", { className: "aura-table__picker" }, /* @__PURE__ */ React23.createElement(
4111
+ busy ? /* @__PURE__ */ React28.createElement("span", { className: "aura-sr-only", role: "status" }, t.loadingRows) : null,
4112
+ controls ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__picker" }, /* @__PURE__ */ React28.createElement(
3549
4113
  IconButton,
3550
4114
  {
3551
4115
  icon: "columns-3",
@@ -3557,7 +4121,7 @@ window.Aura = (() => {
3557
4121
  }
3558
4122
  )) : null,
3559
4123
  foot,
3560
- menu ? /* @__PURE__ */ React23.createElement(
4124
+ menu ? /* @__PURE__ */ React28.createElement(
3561
4125
  Menu,
3562
4126
  {
3563
4127
  anchor: menu.anchor,
@@ -3570,9 +4134,9 @@ window.Aura = (() => {
3570
4134
  });
3571
4135
 
3572
4136
  // src/Card.tsx
3573
- var React24 = __toESM(require_react(), 1);
3574
- var h4 = React24.createElement;
3575
- var Card = React24.forwardRef(function Card2(props, ref) {
4137
+ var React29 = __toESM(require_react(), 1);
4138
+ var h4 = React29.createElement;
4139
+ var Card = React29.forwardRef(function Card2(props, ref) {
3576
4140
  const creative = props.variant === "creative";
3577
4141
  return h4(
3578
4142
  props.as || "section",
@@ -3586,41 +4150,41 @@ window.Aura = (() => {
3586
4150
  ),
3587
4151
  "aria-labelledby": props.title && props.titleId ? props.titleId : void 0
3588
4152
  },
3589
- props.title || props.actions ? /* @__PURE__ */ React24.createElement("div", { className: "aura-card__head" }, /* @__PURE__ */ React24.createElement("div", { className: "aura-card__heading" }, props.title ? h4("h" + (props.headingLevel || 3), { className: "aura-card__title", id: props.titleId }, props.title) : null, props.description ? /* @__PURE__ */ React24.createElement("p", { className: "aura-card__desc" }, props.description) : null), props.actions ? /* @__PURE__ */ React24.createElement("div", { className: "aura-card__actions" }, props.actions) : null) : null,
3590
- props.children ? /* @__PURE__ */ React24.createElement("div", { className: "aura-card__body" }, props.children) : null,
3591
- props.footer ? /* @__PURE__ */ React24.createElement("div", { className: "aura-card__foot" }, props.footer) : null
4153
+ props.title || props.actions ? /* @__PURE__ */ React29.createElement("div", { className: "aura-card__head" }, /* @__PURE__ */ React29.createElement("div", { className: "aura-card__heading" }, props.title ? h4("h" + (props.headingLevel || 3), { className: "aura-card__title", id: props.titleId }, props.title) : null, props.description ? /* @__PURE__ */ React29.createElement("p", { className: "aura-card__desc" }, props.description) : null), props.actions ? /* @__PURE__ */ React29.createElement("div", { className: "aura-card__actions" }, props.actions) : null) : null,
4154
+ props.children ? /* @__PURE__ */ React29.createElement("div", { className: "aura-card__body" }, props.children) : null,
4155
+ props.footer ? /* @__PURE__ */ React29.createElement("div", { className: "aura-card__foot" }, props.footer) : null
3592
4156
  );
3593
4157
  });
3594
4158
 
3595
4159
  // src/Tabs.tsx
3596
- var React25 = __toESM(require_react(), 1);
3597
- var Tabs = React25.forwardRef(function Tabs2(props, ref) {
3598
- const items = props.tabs || [], base = uid();
4160
+ var React30 = __toESM(require_react(), 1);
4161
+ var Tabs = React30.forwardRef(function Tabs2(props, ref) {
4162
+ const items2 = props.tabs || [], base = uid();
3599
4163
  const st = useMaybeControlled(
3600
4164
  props.value,
3601
- props.defaultValue || items[0] && items[0].id,
4165
+ props.defaultValue || items2[0] && items2[0].id,
3602
4166
  props.onChange
3603
4167
  );
3604
- const refs = React25.useRef({});
3605
- const current2 = items.filter(function(t) {
4168
+ const refs = React30.useRef({});
4169
+ const current2 = items2.filter(function(t) {
3606
4170
  return t.id === st[0];
3607
- })[0] || items[0];
4171
+ })[0] || items2[0];
3608
4172
  function go(i) {
3609
- const enabled = items.filter(function(t2) {
4173
+ const enabled = items2.filter(function(t2) {
3610
4174
  return !t2.disabled;
3611
4175
  });
3612
4176
  const t = enabled[(i + enabled.length) % enabled.length];
3613
4177
  st[1](t.id);
3614
4178
  if (refs.current[t.id]) refs.current[t.id].focus();
3615
4179
  }
3616
- return /* @__PURE__ */ React25.createElement("div", { ref, className: cx("aura-tabs", props.className) }, /* @__PURE__ */ React25.createElement(
4180
+ return /* @__PURE__ */ React30.createElement("div", { ref, className: cx("aura-tabs", props.className) }, /* @__PURE__ */ React30.createElement(
3617
4181
  "div",
3618
4182
  {
3619
4183
  role: "tablist",
3620
4184
  "aria-label": props.label,
3621
4185
  className: "aura-tabs__list",
3622
4186
  onKeyDown: function(e) {
3623
- const enabled = items.filter(function(t) {
4187
+ const enabled = items2.filter(function(t) {
3624
4188
  return !t.disabled;
3625
4189
  }), i = enabled.indexOf(current2);
3626
4190
  if (e.key === "ArrowRight") {
@@ -3638,9 +4202,9 @@ window.Aura = (() => {
3638
4202
  }
3639
4203
  }
3640
4204
  },
3641
- items.map(function(t) {
4205
+ items2.map(function(t) {
3642
4206
  const on = current2 && t.id === current2.id;
3643
- return /* @__PURE__ */ React25.createElement(
4207
+ return /* @__PURE__ */ React30.createElement(
3644
4208
  "button",
3645
4209
  {
3646
4210
  key: t.id,
@@ -3659,12 +4223,12 @@ window.Aura = (() => {
3659
4223
  st[1](t.id);
3660
4224
  }
3661
4225
  },
3662
- t.icon ? /* @__PURE__ */ React25.createElement(Icon, { name: t.icon }) : null,
4226
+ t.icon ? /* @__PURE__ */ React30.createElement(Icon, { name: t.icon }) : null,
3663
4227
  t.label,
3664
- t.count != null ? /* @__PURE__ */ React25.createElement("span", { className: "aura-tab__count" }, t.count) : null
4228
+ t.count != null ? /* @__PURE__ */ React30.createElement("span", { className: "aura-tab__count" }, t.count) : null
3665
4229
  );
3666
4230
  })
3667
- ), current2 && current2.content !== void 0 ? /* @__PURE__ */ React25.createElement(
4231
+ ), current2 && current2.content !== void 0 ? /* @__PURE__ */ React30.createElement(
3668
4232
  "div",
3669
4233
  {
3670
4234
  role: "tabpanel",
@@ -3678,13 +4242,13 @@ window.Aura = (() => {
3678
4242
  });
3679
4243
 
3680
4244
  // src/SideNav.tsx
3681
- var React26 = __toESM(require_react(), 1);
4245
+ var React31 = __toESM(require_react(), 1);
3682
4246
  function contains(it, id) {
3683
4247
  return !!id && !!it.children && it.children.some(function(c) {
3684
4248
  return c.id === id || contains(c, id);
3685
4249
  });
3686
4250
  }
3687
- var SideNav = React26.forwardRef(function SideNav2(props, ref) {
4251
+ var SideNav = React31.forwardRef(function SideNav2(props, ref) {
3688
4252
  const t = useStrings();
3689
4253
  const Link = useLinkComponent(props.linkComponent);
3690
4254
  const base = uid();
@@ -3695,12 +4259,12 @@ window.Aura = (() => {
3695
4259
  );
3696
4260
  const active = st[0];
3697
4261
  const sections = props.sections || [{ items: props.items || [] }];
3698
- const openState = React26.useState({}), toggled = openState[0], setToggled = openState[1];
4262
+ const openState = React31.useState({}), toggled = openState[0], setToggled = openState[1];
3699
4263
  function isOpen(it) {
3700
4264
  if (toggled[it.id] != null) return toggled[it.id];
3701
4265
  return !!it.defaultOpen || contains(it, active);
3702
4266
  }
3703
- React26.useEffect(
4267
+ React31.useEffect(
3704
4268
  function() {
3705
4269
  if (!active) return;
3706
4270
  const next = {};
@@ -3722,14 +4286,14 @@ window.Aura = (() => {
3722
4286
  },
3723
4287
  [active]
3724
4288
  );
3725
- const navRef = React26.useRef(null);
4289
+ const navRef = React31.useRef(null);
3726
4290
  function onKeyDown(e) {
3727
4291
  const k = e.key;
3728
4292
  if (k !== "ArrowDown" && k !== "ArrowUp" && k !== "Home" && k !== "End") return;
3729
4293
  const root = navRef.current;
3730
4294
  if (!root) return;
3731
- const items = Array.prototype.slice.call(root.querySelectorAll(".aura-nav__item"));
3732
- const visible = items.filter(function(el) {
4295
+ const items2 = Array.prototype.slice.call(root.querySelectorAll(".aura-nav__item"));
4296
+ const visible = items2.filter(function(el) {
3733
4297
  return el.offsetParent !== null || el === document.activeElement;
3734
4298
  });
3735
4299
  const i = visible.indexOf(document.activeElement);
@@ -3740,11 +4304,11 @@ window.Aura = (() => {
3740
4304
  }
3741
4305
  function inner(it, group, open) {
3742
4306
  return [
3743
- it.icon ? /* @__PURE__ */ React26.createElement(Icon, { key: "i", name: it.icon }) : null,
3744
- /* @__PURE__ */ React26.createElement("span", { key: "l", className: "aura-nav__label" }, it.label),
3745
- it.badge != null ? /* @__PURE__ */ React26.createElement("span", { key: "b", className: "aura-nav__badge" }, it.badge) : null,
3746
- it.count != null ? /* @__PURE__ */ React26.createElement("span", { key: "c", className: "aura-nav__count" }, it.count) : null,
3747
- group ? /* @__PURE__ */ React26.createElement(Icon, { key: "g", name: "chevron-down", className: cx("aura-nav__chevron", open && "is-open") }) : null
4307
+ it.icon ? /* @__PURE__ */ React31.createElement(Icon, { key: "i", name: it.icon }) : null,
4308
+ /* @__PURE__ */ React31.createElement("span", { key: "l", className: "aura-nav__label" }, it.label),
4309
+ it.badge != null ? /* @__PURE__ */ React31.createElement("span", { key: "b", className: "aura-nav__badge" }, it.badge) : null,
4310
+ it.count != null ? /* @__PURE__ */ React31.createElement("span", { key: "c", className: "aura-nav__count" }, it.count) : null,
4311
+ group ? /* @__PURE__ */ React31.createElement(Icon, { key: "g", name: "chevron-down", className: cx("aura-nav__chevron", open && "is-open") }) : null
3748
4312
  ];
3749
4313
  }
3750
4314
  function item(it, depth) {
@@ -3752,7 +4316,7 @@ window.Aura = (() => {
3752
4316
  const open = isOpen(it);
3753
4317
  const listId = base + "-" + it.id;
3754
4318
  const holdsActive = contains(it, active);
3755
- return /* @__PURE__ */ React26.createElement("li", { key: it.id, className: "aura-nav__group" }, /* @__PURE__ */ React26.createElement(
4319
+ return /* @__PURE__ */ React31.createElement("li", { key: it.id, className: "aura-nav__group" }, /* @__PURE__ */ React31.createElement(
3756
4320
  "button",
3757
4321
  {
3758
4322
  type: "button",
@@ -3776,7 +4340,7 @@ window.Aura = (() => {
3776
4340
  }
3777
4341
  },
3778
4342
  inner(it, true, open)
3779
- ), /* @__PURE__ */ React26.createElement("ul", { id: listId, className: "aura-nav__list aura-nav__sub", hidden: !open }, it.children.map(function(c) {
4343
+ ), /* @__PURE__ */ React31.createElement("ul", { id: listId, className: "aura-nav__list aura-nav__sub", hidden: !open }, it.children.map(function(c) {
3780
4344
  return item(c, depth + 1);
3781
4345
  })));
3782
4346
  }
@@ -3790,9 +4354,9 @@ window.Aura = (() => {
3790
4354
  st[1](it.id);
3791
4355
  }
3792
4356
  };
3793
- return /* @__PURE__ */ React26.createElement("li", { key: it.id }, it.href ? /* @__PURE__ */ React26.createElement(Link, { href: it.href, ...common }, inner(it, false, false)) : /* @__PURE__ */ React26.createElement("button", { type: "button", ...common }, inner(it, false, false)));
4357
+ return /* @__PURE__ */ React31.createElement("li", { key: it.id }, it.href ? /* @__PURE__ */ React31.createElement(Link, { href: it.href, ...common }, inner(it, false, false)) : /* @__PURE__ */ React31.createElement("button", { type: "button", ...common }, inner(it, false, false)));
3794
4358
  }
3795
- return /* @__PURE__ */ React26.createElement(
4359
+ return /* @__PURE__ */ React31.createElement(
3796
4360
  "nav",
3797
4361
  {
3798
4362
  ref: function(el) {
@@ -3804,43 +4368,43 @@ window.Aura = (() => {
3804
4368
  "aria-label": props.label || t.mainNav,
3805
4369
  onKeyDown
3806
4370
  },
3807
- props.header ? /* @__PURE__ */ React26.createElement("div", { className: "aura-nav__header" }, props.header) : null,
3808
- /* @__PURE__ */ React26.createElement("div", { className: "aura-nav__scroll" }, sections.map(function(s, i) {
3809
- return /* @__PURE__ */ React26.createElement("div", { key: i, className: "aura-nav__section" }, s.title ? /* @__PURE__ */ React26.createElement("p", { className: "aura-nav__title" }, s.title) : null, /* @__PURE__ */ React26.createElement("ul", { className: "aura-nav__list" }, s.items.map(function(it) {
4371
+ props.header ? /* @__PURE__ */ React31.createElement("div", { className: "aura-nav__header" }, props.header) : null,
4372
+ /* @__PURE__ */ React31.createElement("div", { className: "aura-nav__scroll" }, sections.map(function(s, i) {
4373
+ return /* @__PURE__ */ React31.createElement("div", { key: i, className: "aura-nav__section" }, s.title ? /* @__PURE__ */ React31.createElement("p", { className: "aura-nav__title" }, s.title) : null, /* @__PURE__ */ React31.createElement("ul", { className: "aura-nav__list" }, s.items.map(function(it) {
3810
4374
  return item(it, 0);
3811
4375
  })));
3812
4376
  })),
3813
- props.footer ? /* @__PURE__ */ React26.createElement("div", { className: "aura-nav__footer" }, props.footer) : null
4377
+ props.footer ? /* @__PURE__ */ React31.createElement("div", { className: "aura-nav__footer" }, props.footer) : null
3814
4378
  );
3815
4379
  });
3816
4380
 
3817
4381
  // src/Breadcrumb.tsx
3818
- var React27 = __toESM(require_react(), 1);
3819
- var Breadcrumb = React27.forwardRef(function Breadcrumb2(props, ref) {
4382
+ var React32 = __toESM(require_react(), 1);
4383
+ var Breadcrumb = React32.forwardRef(function Breadcrumb2(props, ref) {
3820
4384
  const t = useStrings();
3821
4385
  const Link = useLinkComponent();
3822
- const items = props.items || [];
3823
- return /* @__PURE__ */ React27.createElement("nav", { ref, "aria-label": props.label || t.breadcrumb, className: cx("aura-crumbs", props.className) }, /* @__PURE__ */ React27.createElement("ol", null, items.map(function(it, i) {
3824
- const last = i === items.length - 1;
3825
- return /* @__PURE__ */ React27.createElement("li", { key: i }, last ? /* @__PURE__ */ React27.createElement("span", { "aria-current": "page", className: "aura-crumbs__current" }, it.label) : it.href ? /* @__PURE__ */ React27.createElement(Link, { href: it.href, onClick: it.onClick }, it.label) : /* @__PURE__ */ React27.createElement("button", { type: "button", onClick: it.onClick }, it.label), last ? null : /* @__PURE__ */ React27.createElement(Icon, { name: "chevron-right", size: 12, className: "aura-crumbs__sep" }));
4386
+ const items2 = props.items || [];
4387
+ return /* @__PURE__ */ React32.createElement("nav", { ref, "aria-label": props.label || t.breadcrumb, className: cx("aura-crumbs", props.className) }, /* @__PURE__ */ React32.createElement("ol", null, items2.map(function(it, i) {
4388
+ const last = i === items2.length - 1;
4389
+ return /* @__PURE__ */ React32.createElement("li", { key: i }, last ? /* @__PURE__ */ React32.createElement("span", { "aria-current": "page", className: "aura-crumbs__current" }, it.label) : it.href ? /* @__PURE__ */ React32.createElement(Link, { href: it.href, onClick: it.onClick }, it.label) : /* @__PURE__ */ React32.createElement("button", { type: "button", onClick: it.onClick }, it.label), last ? null : /* @__PURE__ */ React32.createElement(Icon, { name: "chevron-right", size: 12, className: "aura-crumbs__sep" }));
3826
4390
  })));
3827
4391
  });
3828
4392
 
3829
4393
  // src/Avatar.tsx
3830
- var React28 = __toESM(require_react(), 1);
4394
+ var React33 = __toESM(require_react(), 1);
3831
4395
  var AVATAR_TONES = ["progress", "ready", "neutral", "warning"];
3832
4396
  function initials(name) {
3833
4397
  const parts = String(name || "?").trim().split(/\s+/);
3834
4398
  return ((parts[0] || "?")[0] + (parts.length > 1 ? parts[parts.length - 1][0] : parts[0][1] || "")).toUpperCase();
3835
4399
  }
3836
- var Avatar = React28.forwardRef(function Avatar2(props, ref) {
3837
- const size = props.size || "md", errState = React28.useState(false);
4400
+ var Avatar = React33.forwardRef(function Avatar2(props, ref) {
4401
+ const size = props.size || "md", errState = React33.useState(false);
3838
4402
  let hash = 0;
3839
4403
  String(props.name || "").split("").forEach(function(ch) {
3840
4404
  hash = hash * 31 + ch.charCodeAt(0) >>> 0;
3841
4405
  });
3842
4406
  const tone2 = AVATAR_TONES[hash % AVATAR_TONES.length];
3843
- return /* @__PURE__ */ React28.createElement(
4407
+ return /* @__PURE__ */ React33.createElement(
3844
4408
  "span",
3845
4409
  {
3846
4410
  ref,
@@ -3848,7 +4412,7 @@ window.Aura = (() => {
3848
4412
  role: "img",
3849
4413
  "aria-label": props.name + (props.status ? ", " + props.status : "")
3850
4414
  },
3851
- props.src && !errState[0] ? /* @__PURE__ */ React28.createElement(
4415
+ props.src && !errState[0] ? /* @__PURE__ */ React33.createElement(
3852
4416
  "img",
3853
4417
  {
3854
4418
  src: props.src,
@@ -3857,20 +4421,20 @@ window.Aura = (() => {
3857
4421
  errState[1](true);
3858
4422
  }
3859
4423
  }
3860
- ) : /* @__PURE__ */ React28.createElement("span", { "aria-hidden": true }, initials(props.name)),
3861
- props.status === "online" ? /* @__PURE__ */ React28.createElement("span", { className: "aura-avatar__status", "aria-hidden": true }) : null
4424
+ ) : /* @__PURE__ */ React33.createElement("span", { "aria-hidden": true }, initials(props.name)),
4425
+ props.status === "online" ? /* @__PURE__ */ React33.createElement("span", { className: "aura-avatar__status", "aria-hidden": true }) : null
3862
4426
  );
3863
4427
  });
3864
4428
 
3865
4429
  // src/Stack.tsx
3866
- var React30 = __toESM(require_react(), 1);
4430
+ var React35 = __toESM(require_react(), 1);
3867
4431
 
3868
4432
  // src/responsive.tsx
3869
- var React29 = __toESM(require_react(), 1);
4433
+ var React34 = __toESM(require_react(), 1);
3870
4434
  var breakpoints = { sm: 640, md: 768, lg: 1024, xl: 1280 };
3871
4435
  var ORDER = ["base", "sm", "md", "lg", "xl"];
3872
4436
  function useBreakpoint() {
3873
- return React29.useSyncExternalStore(subscribe, current, function() {
4437
+ return React34.useSyncExternalStore(subscribe, current, function() {
3874
4438
  return "lg";
3875
4439
  });
3876
4440
  }
@@ -3910,8 +4474,8 @@ window.Aura = (() => {
3910
4474
  };
3911
4475
 
3912
4476
  // src/Stack.tsx
3913
- var h5 = React30.createElement;
3914
- var Stack = React30.forwardRef(function Stack2(props, ref) {
4477
+ var h5 = React35.createElement;
4478
+ var Stack = React35.forwardRef(function Stack2(props, ref) {
3915
4479
  const style = Object.assign(
3916
4480
  {},
3917
4481
  respVars("aura-stack-dir", props.direction || "column"),
@@ -3925,9 +4489,9 @@ window.Aura = (() => {
3925
4489
  });
3926
4490
 
3927
4491
  // src/Grid.tsx
3928
- var React31 = __toESM(require_react(), 1);
3929
- var h6 = React31.createElement;
3930
- var Grid = React31.forwardRef(function Grid2(props, ref) {
4492
+ var React36 = __toESM(require_react(), 1);
4493
+ var h6 = React36.createElement;
4494
+ var Grid = React36.forwardRef(function Grid2(props, ref) {
3931
4495
  const style = Object.assign(
3932
4496
  {},
3933
4497
  respVars("aura-grid-gap", props.gap == null ? 6 : props.gap, space),
@@ -3942,9 +4506,9 @@ window.Aura = (() => {
3942
4506
  });
3943
4507
 
3944
4508
  // src/Container.tsx
3945
- var React32 = __toESM(require_react(), 1);
3946
- var h7 = React32.createElement;
3947
- var Container = React32.forwardRef(function Container2(props, ref) {
4509
+ var React37 = __toESM(require_react(), 1);
4510
+ var h7 = React37.createElement;
4511
+ var Container = React37.forwardRef(function Container2(props, ref) {
3948
4512
  return h7(
3949
4513
  props.as || "div",
3950
4514
  {
@@ -3957,27 +4521,27 @@ window.Aura = (() => {
3957
4521
  });
3958
4522
 
3959
4523
  // src/AppShell.tsx
3960
- var React33 = __toESM(require_react(), 1);
3961
- var AppShell = React33.forwardRef(function AppShell2(props, ref) {
4524
+ var React38 = __toESM(require_react(), 1);
4525
+ var AppShell = React38.forwardRef(function AppShell2(props, ref) {
3962
4526
  const t = useStrings();
3963
4527
  const bp = useBreakpoint();
3964
4528
  const compact = bp === "base" || bp === "sm" || bp === "md";
3965
- const st = React33.useState(false), open = st[0], setOpen = st[1];
3966
- React33.useEffect(
4529
+ const st = React38.useState(false), open = st[0], setOpen = st[1];
4530
+ React38.useEffect(
3967
4531
  function() {
3968
4532
  if (!compact) setOpen(false);
3969
4533
  },
3970
4534
  [compact]
3971
4535
  );
3972
4536
  const navEl = props.nav;
3973
- const nav = props.nav && React33.isValidElement(props.nav) && compact ? React33.cloneElement(navEl, {
4537
+ const nav = props.nav && React38.isValidElement(props.nav) && compact ? React38.cloneElement(navEl, {
3974
4538
  onChange: function(id) {
3975
4539
  if (navEl.props.onChange) navEl.props.onChange(id);
3976
4540
  setOpen(false);
3977
4541
  },
3978
4542
  className: cx(navEl.props.className, "is-in-drawer")
3979
4543
  }) : props.nav;
3980
- return /* @__PURE__ */ React33.createElement("div", { ref, className: cx("aura-shell", compact && "is-compact", props.className) }, !compact ? /* @__PURE__ */ React33.createElement("div", { className: "aura-shell__nav" }, nav) : null, compact ? /* @__PURE__ */ React33.createElement(
4544
+ return /* @__PURE__ */ React38.createElement("div", { ref, className: cx("aura-shell", compact && "is-compact", props.className) }, !compact ? /* @__PURE__ */ React38.createElement("div", { className: "aura-shell__nav" }, nav) : null, compact ? /* @__PURE__ */ React38.createElement(
3981
4545
  Drawer,
3982
4546
  {
3983
4547
  open,
@@ -3990,7 +4554,7 @@ window.Aura = (() => {
3990
4554
  dismissible: true
3991
4555
  },
3992
4556
  nav
3993
- ) : null, /* @__PURE__ */ React33.createElement("div", { className: "aura-shell__main" }, props.header || compact ? /* @__PURE__ */ React33.createElement("header", { className: "aura-shell__bar" }, compact ? /* @__PURE__ */ React33.createElement(
4557
+ ) : null, /* @__PURE__ */ React38.createElement("div", { className: "aura-shell__main" }, props.header || compact ? /* @__PURE__ */ React38.createElement("header", { className: "aura-shell__bar" }, compact ? /* @__PURE__ */ React38.createElement(
3994
4558
  IconButton,
3995
4559
  {
3996
4560
  icon: "menu",
@@ -4001,13 +4565,13 @@ window.Aura = (() => {
4001
4565
  },
4002
4566
  "aria-expanded": open
4003
4567
  }
4004
- ) : null, /* @__PURE__ */ React33.createElement("div", { className: "aura-shell__bar-content" }, props.header)) : null, /* @__PURE__ */ React33.createElement("main", { className: "aura-shell__content", id: props.mainId || "main" }, props.children)));
4568
+ ) : null, /* @__PURE__ */ React38.createElement("div", { className: "aura-shell__bar-content" }, props.header)) : null, /* @__PURE__ */ React38.createElement("main", { className: "aura-shell__content", id: props.mainId || "main" }, props.children)));
4005
4569
  });
4006
4570
 
4007
4571
  // src/Surface.tsx
4008
- var React34 = __toESM(require_react(), 1);
4009
- var h8 = React34.createElement;
4010
- var Surface = React34.forwardRef(function Surface2(props, ref) {
4572
+ var React39 = __toESM(require_react(), 1);
4573
+ var h8 = React39.createElement;
4574
+ var Surface = React39.forwardRef(function Surface2(props, ref) {
4011
4575
  const t = props.texture || "mesh";
4012
4576
  const rest = omit(props, ["texture", "className", "children", "as"]);
4013
4577
  return h8(
@@ -4028,8 +4592,8 @@ window.Aura = (() => {
4028
4592
  });
4029
4593
 
4030
4594
  // src/Stat.tsx
4031
- var React35 = __toESM(require_react(), 1);
4032
- var Stat = React35.forwardRef(function Stat2(props, ref) {
4595
+ var React40 = __toESM(require_react(), 1);
4596
+ var Stat = React40.forwardRef(function Stat2(props, ref) {
4033
4597
  const ch = props.change;
4034
4598
  const dir = ch && (ch.direction || "flat");
4035
4599
  const tone2 = ch && (ch.tone || (dir === "up" ? "positive" : dir === "down" ? "negative" : "neutral"));
@@ -4038,7 +4602,7 @@ window.Aura = (() => {
4038
4602
  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, ""));
4039
4603
  const Tag3 = props.href ? Link : props.onClick ? "button" : "div";
4040
4604
  const interactive = !!(props.href || props.onClick);
4041
- return /* @__PURE__ */ React35.createElement(
4605
+ return /* @__PURE__ */ React40.createElement(
4042
4606
  Tag3,
4043
4607
  {
4044
4608
  ref,
@@ -4048,15 +4612,15 @@ window.Aura = (() => {
4048
4612
  type: Tag3 === "button" ? "button" : void 0,
4049
4613
  "aria-busy": props.loading || void 0
4050
4614
  },
4051
- /* @__PURE__ */ React35.createElement("span", { className: "aura-stat__head" }, /* @__PURE__ */ React35.createElement("span", { className: "aura-stat__label" }, props.label), props.icon ? /* @__PURE__ */ React35.createElement("span", { className: "aura-stat__icon" }, /* @__PURE__ */ React35.createElement(Icon, { name: props.icon })) : null),
4052
- props.loading ? /* @__PURE__ */ React35.createElement("span", { className: "aura-stat__value" }, /* @__PURE__ */ React35.createElement("span", { className: "aura-skel aura-stat__skel" })) : /* @__PURE__ */ React35.createElement("span", { className: cx("aura-stat__value", numeric && "is-numeric") }, props.value, props.unit ? /* @__PURE__ */ React35.createElement("span", { className: "aura-stat__unit" }, props.unit) : null),
4053
- ch && !props.loading || props.caption ? /* @__PURE__ */ React35.createElement("span", { className: "aura-stat__foot" }, ch && !props.loading ? /* @__PURE__ */ React35.createElement("span", { className: cx("aura-stat__change", "is-" + tone2) }, /* @__PURE__ */ React35.createElement(Icon, { name: dir === "up" ? "trending-up" : dir === "down" ? "trending-down" : "minus", size: 14 }), /* @__PURE__ */ React35.createElement("span", null, ch.value)) : null, ch && ch.label && !props.loading ? /* @__PURE__ */ React35.createElement("span", { className: "aura-stat__caption" }, ch.label) : null, props.caption ? /* @__PURE__ */ React35.createElement("span", { className: "aura-stat__caption" }, props.caption) : null) : null
4615
+ /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__head" }, /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__label" }, props.label), props.icon ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__icon" }, /* @__PURE__ */ React40.createElement(Icon, { name: props.icon })) : null),
4616
+ props.loading ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__value" }, /* @__PURE__ */ React40.createElement("span", { className: "aura-skel aura-stat__skel" })) : /* @__PURE__ */ React40.createElement("span", { className: cx("aura-stat__value", numeric && "is-numeric") }, props.value, props.unit ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__unit" }, props.unit) : null),
4617
+ ch && !props.loading || props.caption ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__foot" }, ch && !props.loading ? /* @__PURE__ */ React40.createElement("span", { className: cx("aura-stat__change", "is-" + tone2) }, /* @__PURE__ */ React40.createElement(Icon, { name: dir === "up" ? "trending-up" : dir === "down" ? "trending-down" : "minus", size: 14 }), /* @__PURE__ */ React40.createElement("span", null, ch.value)) : null, ch && ch.label && !props.loading ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__caption" }, ch.label) : null, props.caption ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__caption" }, props.caption) : null) : null
4054
4618
  );
4055
4619
  });
4056
4620
 
4057
4621
  // src/TimePicker.tsx
4058
- var React36 = __toESM(require_react(), 1);
4059
- var import_react_dom7 = __toESM(require_react_dom(), 1);
4622
+ var React41 = __toESM(require_react(), 1);
4623
+ var import_react_dom8 = __toESM(require_react_dom(), 1);
4060
4624
  function pad2(n2) {
4061
4625
  return (n2 < 10 ? "0" : "") + n2;
4062
4626
  }
@@ -4079,7 +4643,7 @@ window.Aura = (() => {
4079
4643
  if (hh > 23 || mm > 59) return null;
4080
4644
  return pad2(hh) + ":" + pad2(mm);
4081
4645
  }
4082
- var TimePicker = React36.forwardRef(function TimePicker2(props, ref) {
4646
+ var TimePicker = React41.forwardRef(function TimePicker2(props, ref) {
4083
4647
  const t = useStrings();
4084
4648
  const auto = uid(), id = props.id || auto, listId = id + "-list";
4085
4649
  const st = useMaybeControlled(
@@ -4089,7 +4653,7 @@ window.Aura = (() => {
4089
4653
  );
4090
4654
  const value = st[0];
4091
4655
  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;
4092
- const slots = React36.useMemo(
4656
+ const slots = React41.useMemo(
4093
4657
  function() {
4094
4658
  const out = [];
4095
4659
  for (let m = lo; m <= hi; m += step) out.push(fromMin(m));
@@ -4101,12 +4665,12 @@ window.Aura = (() => {
4101
4665
  const n2 = toMin(v);
4102
4666
  return n2 == null || n2 < lo || n2 > hi || props.isTimeDisabled && props.isTimeDisabled(v);
4103
4667
  }
4104
- const openState = React36.useState(false), open = openState[0], setOpen = openState[1];
4105
- const editState = React36.useState(null), editing = editState[0], setEditing = editState[1];
4106
- const aState = React36.useState(0), active = aState[0], setActive = aState[1];
4107
- const errState = React36.useState(null);
4108
- const pos = React36.useState(null);
4109
- const boxRef = React36.useRef(null), inputRef = React36.useRef(null), listRef = React36.useRef(null), inputMerged = useMergedRef(ref, inputRef);
4668
+ const openState = React41.useState(false), open = openState[0], setOpen = openState[1];
4669
+ const editState = React41.useState(null), editing = editState[0], setEditing = editState[1];
4670
+ const aState = React41.useState(0), active = aState[0], setActive = aState[1];
4671
+ const errState = React41.useState(null);
4672
+ const pos = React41.useState(null);
4673
+ const boxRef = React41.useRef(null), inputRef = React41.useRef(null), listRef = React41.useRef(null), inputMerged = useMergedRef(ref, inputRef);
4110
4674
  const mounted = useMounted();
4111
4675
  function nearest(v) {
4112
4676
  const n2 = toMin(v);
@@ -4134,7 +4698,7 @@ window.Aura = (() => {
4134
4698
  },
4135
4699
  [open]
4136
4700
  );
4137
- React36.useEffect(
4701
+ React41.useEffect(
4138
4702
  function() {
4139
4703
  if (!open) return;
4140
4704
  function outside(e) {
@@ -4156,7 +4720,7 @@ window.Aura = (() => {
4156
4720
  },
4157
4721
  [open]
4158
4722
  );
4159
- React36.useEffect(
4723
+ React41.useEffect(
4160
4724
  function() {
4161
4725
  if (!open || !listRef.current) return;
4162
4726
  const el = listRef.current.querySelector('[data-idx="' + active + '"]');
@@ -4164,7 +4728,7 @@ window.Aura = (() => {
4164
4728
  },
4165
4729
  [active, open]
4166
4730
  );
4167
- function show() {
4731
+ function show2() {
4168
4732
  if (open || props.disabled || props.readOnly) return;
4169
4733
  setActive(nearest(value || props.suggest || fromMin(lo)));
4170
4734
  setOpen(true);
@@ -4214,11 +4778,11 @@ window.Aura = (() => {
4214
4778
  const k = e.key;
4215
4779
  if (k === "ArrowDown") {
4216
4780
  e.preventDefault();
4217
- if (!open) show();
4781
+ if (!open) show2();
4218
4782
  else move(1);
4219
4783
  } else if (k === "ArrowUp") {
4220
4784
  e.preventDefault();
4221
- if (!open) show();
4785
+ if (!open) show2();
4222
4786
  else move(-1);
4223
4787
  } else if (k === "Home" && open) {
4224
4788
  e.preventDefault();
@@ -4253,10 +4817,10 @@ window.Aura = (() => {
4253
4817
  }
4254
4818
  }
4255
4819
  const error = errState[0] || props.error;
4256
- const list = open && mounted && pos[0] ? (0, import_react_dom7.createPortal)(
4257
- /* @__PURE__ */ React36.createElement("div", { ref: listRef, className: "aura-combo__popover aura-time__popover", style: pos[0] }, /* @__PURE__ */ React36.createElement("ul", { id: listId, role: "listbox", "aria-label": props.label, className: "aura-combo__list" }, slots.map(function(s, i) {
4820
+ const list = open && mounted && pos[0] ? (0, import_react_dom8.createPortal)(
4821
+ /* @__PURE__ */ React41.createElement("div", { ref: listRef, className: "aura-combo__popover aura-time__popover", style: pos[0] }, /* @__PURE__ */ React41.createElement("ul", { id: listId, role: "listbox", "aria-label": props.label, className: "aura-combo__list" }, slots.map(function(s, i) {
4258
4822
  const dis = blocked(s), sel = s === value;
4259
- return /* @__PURE__ */ React36.createElement(
4823
+ return /* @__PURE__ */ React41.createElement(
4260
4824
  "li",
4261
4825
  {
4262
4826
  key: s,
@@ -4281,13 +4845,13 @@ window.Aura = (() => {
4281
4845
  if (active !== i) setActive(i);
4282
4846
  }
4283
4847
  },
4284
- /* @__PURE__ */ React36.createElement("span", { className: "aura-combo__label" }, s),
4285
- sel ? /* @__PURE__ */ React36.createElement(Icon, { name: "check", className: "aura-combo__check" }) : null
4848
+ /* @__PURE__ */ React41.createElement("span", { className: "aura-combo__label" }, s),
4849
+ sel ? /* @__PURE__ */ React41.createElement(Icon, { name: "check", className: "aura-combo__check" }) : null
4286
4850
  );
4287
4851
  }))),
4288
4852
  document.body
4289
4853
  ) : null;
4290
- return /* @__PURE__ */ React36.createElement(
4854
+ return /* @__PURE__ */ React41.createElement(
4291
4855
  Field,
4292
4856
  {
4293
4857
  id,
@@ -4299,7 +4863,7 @@ window.Aura = (() => {
4299
4863
  disabled: props.disabled,
4300
4864
  className: props.className
4301
4865
  },
4302
- /* @__PURE__ */ React36.createElement("div", { ref: boxRef, className: cx("aura-input aura-combo aura-time has-icon", open && "is-open") }, /* @__PURE__ */ React36.createElement(Icon, { name: "clock", className: "aura-input__icon" }), /* @__PURE__ */ React36.createElement(
4866
+ /* @__PURE__ */ React41.createElement("div", { ref: boxRef, className: cx("aura-input aura-combo aura-time has-icon", open && "is-open") }, /* @__PURE__ */ React41.createElement(Icon, { name: "clock", className: "aura-input__icon" }), /* @__PURE__ */ React41.createElement(
4303
4867
  "input",
4304
4868
  {
4305
4869
  ref: inputMerged,
@@ -4325,11 +4889,11 @@ window.Aura = (() => {
4325
4889
  setEditing(e.target.value);
4326
4890
  const v = parseTime(e.target.value);
4327
4891
  if (v) {
4328
- if (!open) show();
4892
+ if (!open) show2();
4329
4893
  setActive(nearest(v));
4330
4894
  }
4331
4895
  },
4332
- onClick: show,
4896
+ onClick: show2,
4333
4897
  onKeyDown,
4334
4898
  onBlur: function() {
4335
4899
  setTimeout(function() {
@@ -4339,7 +4903,7 @@ window.Aura = (() => {
4339
4903
  }, 0);
4340
4904
  }
4341
4905
  }
4342
- ), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React36.createElement(
4906
+ ), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React41.createElement(
4343
4907
  "button",
4344
4908
  {
4345
4909
  type: "button",
@@ -4352,8 +4916,8 @@ window.Aura = (() => {
4352
4916
  if (inputRef.current) inputRef.current.focus();
4353
4917
  }
4354
4918
  },
4355
- /* @__PURE__ */ React36.createElement(Icon, { name: "x" })
4356
- ) : null, /* @__PURE__ */ React36.createElement(
4919
+ /* @__PURE__ */ React41.createElement(Icon, { name: "x" })
4920
+ ) : null, /* @__PURE__ */ React41.createElement(
4357
4921
  "button",
4358
4922
  {
4359
4923
  type: "button",
@@ -4366,19 +4930,19 @@ window.Aura = (() => {
4366
4930
  onClick: function() {
4367
4931
  if (open) setOpen(false);
4368
4932
  else {
4369
- show();
4933
+ show2();
4370
4934
  inputRef.current && inputRef.current.focus();
4371
4935
  }
4372
4936
  }
4373
4937
  },
4374
- /* @__PURE__ */ React36.createElement(Icon, { name: "chevron-down" })
4938
+ /* @__PURE__ */ React41.createElement(Icon, { name: "chevron-down" })
4375
4939
  )),
4376
4940
  list
4377
4941
  );
4378
4942
  });
4379
4943
 
4380
4944
  // src/FileUpload.tsx
4381
- var React37 = __toESM(require_react(), 1);
4945
+ var React42 = __toESM(require_react(), 1);
4382
4946
  function formatBytes(n2) {
4383
4947
  if (n2 == null) return "";
4384
4948
  if (n2 < 1024) return n2 + " B";
@@ -4412,17 +4976,17 @@ window.Aura = (() => {
4412
4976
  }).join(", ");
4413
4977
  }
4414
4978
  var seq = 0;
4415
- var FileUpload = React37.forwardRef(function FileUpload2(props, ref) {
4979
+ var FileUpload = React42.forwardRef(function FileUpload2(props, ref) {
4416
4980
  const t = useStrings();
4417
4981
  const auto = uid(), id = props.id || auto;
4418
4982
  const st = useMaybeControlled(props.value, props.defaultValue || [], props.onChange);
4419
- const items = st[0] || [];
4420
- const dragState = React37.useState(false), over = dragState[0];
4421
- const inputRef = React37.useRef(null), inputMerged = useMergedRef(ref, inputRef);
4422
- const urls = React37.useRef({});
4983
+ const items2 = st[0] || [];
4984
+ const dragState = React42.useState(false), over = dragState[0];
4985
+ const inputRef = React42.useRef(null), inputMerged = useMergedRef(ref, inputRef);
4986
+ const urls = React42.useRef({});
4423
4987
  const maxFiles = props.multiple ? props.maxFiles : 1;
4424
4988
  const note = t.accepts(describeAccept(props.accept, t), props.maxSize ? formatBytes(props.maxSize) : "");
4425
- React37.useEffect(function() {
4989
+ React42.useEffect(function() {
4426
4990
  return function() {
4427
4991
  Object.keys(urls.current).forEach(function(k) {
4428
4992
  URL.revokeObjectURL(urls.current[k]);
@@ -4437,7 +5001,7 @@ window.Aura = (() => {
4437
5001
  function add(list) {
4438
5002
  const files = Array.prototype.slice.call(list || []);
4439
5003
  if (!files.length || props.disabled) return;
4440
- const keep = props.multiple ? items.slice() : [];
5004
+ const keep = props.multiple ? items2.slice() : [];
4441
5005
  let room = maxFiles ? maxFiles - keep.filter(function(i) {
4442
5006
  return !i.error;
4443
5007
  }).length : Infinity;
@@ -4465,7 +5029,7 @@ window.Aura = (() => {
4465
5029
  delete urls.current[it.id];
4466
5030
  }
4467
5031
  st[1](
4468
- items.filter(function(x) {
5032
+ items2.filter(function(x) {
4469
5033
  return x.id !== it.id;
4470
5034
  })
4471
5035
  );
@@ -4473,7 +5037,7 @@ window.Aura = (() => {
4473
5037
  if (inputRef.current) inputRef.current.focus();
4474
5038
  }
4475
5039
  const error = props.error;
4476
- return /* @__PURE__ */ React37.createElement(
5040
+ return /* @__PURE__ */ React42.createElement(
4477
5041
  Field,
4478
5042
  {
4479
5043
  id,
@@ -4485,7 +5049,7 @@ window.Aura = (() => {
4485
5049
  disabled: props.disabled,
4486
5050
  className: props.className
4487
5051
  },
4488
- /* @__PURE__ */ React37.createElement(
5052
+ /* @__PURE__ */ React42.createElement(
4489
5053
  "div",
4490
5054
  {
4491
5055
  className: cx("aura-upload", over && "is-over", props.disabled && "is-disabled", error && "is-invalid"),
@@ -4506,9 +5070,9 @@ window.Aura = (() => {
4506
5070
  add(e.dataTransfer && e.dataTransfer.files);
4507
5071
  }
4508
5072
  },
4509
- /* @__PURE__ */ React37.createElement(Icon, { name: "cloud-upload", size: "lg", className: "aura-upload__icon" }),
4510
- /* @__PURE__ */ React37.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
4511
- /* @__PURE__ */ React37.createElement(
5073
+ /* @__PURE__ */ React42.createElement(Icon, { name: "cloud-upload", size: "lg", className: "aura-upload__icon" }),
5074
+ /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
5075
+ /* @__PURE__ */ React42.createElement(
4512
5076
  "input",
4513
5077
  {
4514
5078
  ref: inputMerged,
@@ -4519,7 +5083,7 @@ window.Aura = (() => {
4519
5083
  multiple: !!props.multiple,
4520
5084
  disabled: props.disabled,
4521
5085
  name: props.name,
4522
- required: props.required && !items.some(function(i) {
5086
+ required: props.required && !items2.some(function(i) {
4523
5087
  return !i.error;
4524
5088
  }),
4525
5089
  "aria-invalid": error ? true : void 0,
@@ -4530,12 +5094,12 @@ window.Aura = (() => {
4530
5094
  }
4531
5095
  }
4532
5096
  ),
4533
- /* @__PURE__ */ React37.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
4534
- note ? /* @__PURE__ */ React37.createElement("span", { className: "aura-upload__note", id: id + "-note" }, note) : null
5097
+ /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
5098
+ note ? /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__note", id: id + "-note" }, note) : null
4535
5099
  ),
4536
- items.length ? /* @__PURE__ */ React37.createElement("ul", { className: "aura-upload__list", "aria-live": "polite" }, items.map(function(it) {
5100
+ items2.length ? /* @__PURE__ */ React42.createElement("ul", { className: "aura-upload__list", "aria-live": "polite" }, items2.map(function(it) {
4537
5101
  const src = thumb(it);
4538
- return /* @__PURE__ */ React37.createElement("li", { key: it.id, className: cx("aura-upload__item", it.error && "is-error") }, src ? /* @__PURE__ */ React37.createElement("img", { className: "aura-upload__thumb", src, alt: "" }) : /* @__PURE__ */ React37.createElement("span", { className: "aura-upload__thumb is-icon", "aria-hidden": true }, /* @__PURE__ */ React37.createElement(Icon, { name: /^image\//.test(it.type || "") ? "image" : "file", size: "md" })), /* @__PURE__ */ React37.createElement("span", { className: "aura-upload__meta" }, /* @__PURE__ */ React37.createElement("span", { className: "aura-upload__name" }, it.name), /* @__PURE__ */ React37.createElement("span", { className: "aura-upload__sub" }, it.error ? /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.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__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(Icon, { name: "circle-check", size: 12 }), formatBytes(it.size)) : formatBytes(it.size)), it.status === "uploading" ? /* @__PURE__ */ React37.createElement(
5102
+ return /* @__PURE__ */ React42.createElement("li", { key: it.id, className: cx("aura-upload__item", it.error && "is-error") }, src ? /* @__PURE__ */ React42.createElement("img", { className: "aura-upload__thumb", src, alt: "" }) : /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__thumb is-icon", "aria-hidden": true }, /* @__PURE__ */ React42.createElement(Icon, { name: /^image\//.test(it.type || "") ? "image" : "file", size: "md" })), /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__meta" }, /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__name" }, it.name), /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__sub" }, it.error ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.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__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(Icon, { name: "circle-check", size: 12 }), formatBytes(it.size)) : formatBytes(it.size)), it.status === "uploading" ? /* @__PURE__ */ React42.createElement(
4539
5103
  "span",
4540
5104
  {
4541
5105
  className: "aura-upload__bar",
@@ -4545,8 +5109,8 @@ window.Aura = (() => {
4545
5109
  "aria-valuemax": 100,
4546
5110
  "aria-valuenow": it.progress != null ? Math.round(it.progress) : void 0
4547
5111
  },
4548
- /* @__PURE__ */ React37.createElement("span", { style: { width: (it.progress || 0) + "%" } })
4549
- ) : null), /* @__PURE__ */ React37.createElement(
5112
+ /* @__PURE__ */ React42.createElement("span", { style: { width: (it.progress || 0) + "%" } })
5113
+ ) : null), /* @__PURE__ */ React42.createElement(
4550
5114
  IconButton,
4551
5115
  {
4552
5116
  icon: "x",
@@ -4832,9 +5396,9 @@ window.Aura = (() => {
4832
5396
  }
4833
5397
 
4834
5398
  // src/ThemeStyle.tsx
4835
- var React38 = __toESM(require_react(), 1);
5399
+ var React43 = __toESM(require_react(), 1);
4836
5400
  function ThemeStyle(props) {
4837
- const css = React38.useMemo(
5401
+ const css = React43.useMemo(
4838
5402
  function() {
4839
5403
  return createTheme({ brand: props.brand, signal: props.signal, primary: props.primary, name: props.name }).css(
4840
5404
  props.selector
@@ -4842,11 +5406,11 @@ window.Aura = (() => {
4842
5406
  },
4843
5407
  [props.brand, props.signal, props.primary, props.name, props.selector]
4844
5408
  );
4845
- return /* @__PURE__ */ React38.createElement("style", { "data-aura-theme": props.name || props.brand, dangerouslySetInnerHTML: { __html: css } });
5409
+ return /* @__PURE__ */ React43.createElement("style", { "data-aura-theme": props.name || props.brand, dangerouslySetInnerHTML: { __html: css } });
4846
5410
  }
4847
5411
 
4848
5412
  // src/colorScheme.tsx
4849
- var React39 = __toESM(require_react(), 1);
5413
+ var React44 = __toESM(require_react(), 1);
4850
5414
  var DEFAULT_KEY = "aura-color-scheme";
4851
5415
  var SCHEMES = ["light", "dark", "system"];
4852
5416
  var EVENT = "aura-color-scheme";
@@ -4859,7 +5423,7 @@ window.Aura = (() => {
4859
5423
  return "(function(){try{var s=localStorage.getItem(" + key + ");if(s!=='light'&&s!=='dark'&&s!=='system')s=" + fallback + `;var d=document.documentElement;d.setAttribute("data-theme",s);var dark=s==='dark'||(s==='system'&&window.matchMedia('(prefers-color-scheme: dark)').matches);d.classList.toggle("dark",dark);}catch(e){}})();`;
4860
5424
  }
4861
5425
  function ColorSchemeScript(props) {
4862
- return /* @__PURE__ */ React39.createElement(
5426
+ return /* @__PURE__ */ React44.createElement(
4863
5427
  "script",
4864
5428
  {
4865
5429
  "data-aura-color-scheme": "",
@@ -4884,7 +5448,7 @@ window.Aura = (() => {
4884
5448
  function useColorScheme(options) {
4885
5449
  const key = options && options.storageKey || DEFAULT_KEY;
4886
5450
  const fallback = options && options.defaultScheme || "system";
4887
- const subscribe2 = React39.useCallback(
5451
+ const subscribe2 = React44.useCallback(
4888
5452
  function(cb) {
4889
5453
  const mq = window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)") : null;
4890
5454
  function onSystem() {
@@ -4902,7 +5466,7 @@ window.Aura = (() => {
4902
5466
  },
4903
5467
  [fallback]
4904
5468
  );
4905
- const snapshot = React39.useSyncExternalStore(
5469
+ const snapshot = React44.useSyncExternalStore(
4906
5470
  subscribe2,
4907
5471
  function() {
4908
5472
  const s = readScheme(fallback);
@@ -4913,7 +5477,7 @@ window.Aura = (() => {
4913
5477
  }
4914
5478
  );
4915
5479
  const parts = snapshot.split("|");
4916
- const setScheme = React39.useCallback(
5480
+ const setScheme = React44.useCallback(
4917
5481
  function(next) {
4918
5482
  if (!valid(next)) return;
4919
5483
  try {
@@ -4932,11 +5496,11 @@ window.Aura = (() => {
4932
5496
  const cs = useColorScheme(props);
4933
5497
  const names = { light: t.schemeLight, dark: t.schemeDark, system: t.schemeSystem };
4934
5498
  const label = props.label || t.colorScheme;
4935
- return /* @__PURE__ */ React39.createElement(
5499
+ return /* @__PURE__ */ React44.createElement(
4936
5500
  DropdownMenu,
4937
5501
  {
4938
5502
  label,
4939
- trigger: /* @__PURE__ */ React39.createElement(IconButton, { icon: cs.resolved === "dark" ? "moon" : "sun", label: label + ": " + names[cs.scheme] }),
5503
+ trigger: /* @__PURE__ */ React44.createElement(IconButton, { icon: cs.resolved === "dark" ? "moon" : "sun", label: label + ": " + names[cs.scheme] }),
4940
5504
  items: SCHEMES.map(function(s) {
4941
5505
  return {
4942
5506
  label: names[s],
@@ -4951,10 +5515,10 @@ window.Aura = (() => {
4951
5515
  }
4952
5516
 
4953
5517
  // src/Badge.tsx
4954
- var React40 = __toESM(require_react(), 1);
4955
- var Badge = React40.forwardRef(function Badge2(props, ref) {
5518
+ var React45 = __toESM(require_react(), 1);
5519
+ var Badge = React45.forwardRef(function Badge2(props, ref) {
4956
5520
  const rest = omit(props, ["tone", "variant", "icon", "className", "children"]);
4957
- return /* @__PURE__ */ React40.createElement(
5521
+ return /* @__PURE__ */ React45.createElement(
4958
5522
  "span",
4959
5523
  {
4960
5524
  ...rest,
@@ -4967,56 +5531,19 @@ window.Aura = (() => {
4967
5531
  props.className
4968
5532
  )
4969
5533
  },
4970
- props.icon ? /* @__PURE__ */ React40.createElement(Icon, { name: props.icon, size: 12 }) : null,
5534
+ props.icon ? /* @__PURE__ */ React45.createElement(Icon, { name: props.icon, size: 12 }) : null,
4971
5535
  props.children
4972
5536
  );
4973
5537
  });
4974
5538
 
4975
- // src/Tag.tsx
4976
- var React41 = __toESM(require_react(), 1);
4977
- var Tag = React41.forwardRef(function Tag2(props, ref) {
4978
- const t = useStrings();
4979
- const selectable = props.onClick != null || props.selected != null;
4980
- const rest = omit(props, ["onRemove", "selected", "icon", "className", "children", "disabled", "removeLabel"]);
4981
- const inner = [
4982
- props.icon ? /* @__PURE__ */ React41.createElement(Icon, { key: "i", name: props.icon, size: 14 }) : null,
4983
- /* @__PURE__ */ React41.createElement("span", { key: "t", className: "aura-tag__text" }, props.children)
4984
- ];
4985
- if (selectable) {
4986
- return /* @__PURE__ */ React41.createElement(
4987
- "button",
4988
- {
4989
- ...rest,
4990
- ref,
4991
- type: "button",
4992
- "aria-pressed": !!props.selected,
4993
- disabled: props.disabled,
4994
- className: cx("aura-tag is-selectable", props.selected && "is-selected", props.className)
4995
- },
4996
- props.selected ? /* @__PURE__ */ React41.createElement(Icon, { name: "check", size: 14 }) : inner[0],
4997
- inner[1]
4998
- );
4999
- }
5000
- return /* @__PURE__ */ React41.createElement("span", { ...rest, ref, className: cx("aura-tag", props.disabled && "is-disabled", props.className) }, inner, props.onRemove && !props.disabled ? /* @__PURE__ */ React41.createElement(
5001
- "button",
5002
- {
5003
- type: "button",
5004
- className: "aura-tag__remove",
5005
- "aria-label": props.removeLabel || t.remove(typeof props.children === "string" ? props.children : ""),
5006
- onClick: props.onRemove
5007
- },
5008
- /* @__PURE__ */ React41.createElement(Icon, { name: "x", size: 12 })
5009
- ) : null);
5010
- });
5011
-
5012
5539
  // src/Progress.tsx
5013
- var React42 = __toESM(require_react(), 1);
5014
- var Progress = React42.forwardRef(function Progress2(props, ref) {
5540
+ var React46 = __toESM(require_react(), 1);
5541
+ var Progress = React46.forwardRef(function Progress2(props, ref) {
5015
5542
  const auto = uid(), id = props.id || auto;
5016
5543
  const max = props.max || 100, det = props.value != null;
5017
5544
  const pct = det ? Math.max(0, Math.min(100, props.value / max * 100)) : 0;
5018
5545
  const shown = props.valueLabel != null ? props.valueLabel : det ? Math.round(pct) + "%" : null;
5019
- return /* @__PURE__ */ React42.createElement(
5546
+ return /* @__PURE__ */ React46.createElement(
5020
5547
  "div",
5021
5548
  {
5022
5549
  ref,
@@ -5027,8 +5554,8 @@ window.Aura = (() => {
5027
5554
  props.className
5028
5555
  )
5029
5556
  },
5030
- props.label || props.showValue && shown ? /* @__PURE__ */ React42.createElement("div", { className: "aura-progress__head" }, props.label ? /* @__PURE__ */ React42.createElement("span", { className: "aura-progress__label", id: id + "-label" }, props.label) : /* @__PURE__ */ React42.createElement("span", null), props.showValue && shown ? /* @__PURE__ */ React42.createElement("span", { className: "aura-progress__value" }, shown) : null) : null,
5031
- /* @__PURE__ */ React42.createElement(
5557
+ props.label || props.showValue && shown ? /* @__PURE__ */ React46.createElement("div", { className: "aura-progress__head" }, props.label ? /* @__PURE__ */ React46.createElement("span", { className: "aura-progress__label", id: id + "-label" }, props.label) : /* @__PURE__ */ React46.createElement("span", null), props.showValue && shown ? /* @__PURE__ */ React46.createElement("span", { className: "aura-progress__value" }, shown) : null) : null,
5558
+ /* @__PURE__ */ React46.createElement(
5032
5559
  "div",
5033
5560
  {
5034
5561
  className: cx("aura-progress__track", !det && "is-indeterminate"),
@@ -5040,21 +5567,21 @@ window.Aura = (() => {
5040
5567
  "aria-valuenow": det ? props.value : void 0,
5041
5568
  "aria-valuetext": det && props.valueLabel != null ? String(props.valueLabel) : void 0
5042
5569
  },
5043
- /* @__PURE__ */ React42.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 })
5570
+ /* @__PURE__ */ React46.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 })
5044
5571
  ),
5045
- props.hint ? /* @__PURE__ */ React42.createElement("p", { className: "aura-progress__hint" }, props.hint) : null
5572
+ props.hint ? /* @__PURE__ */ React46.createElement("p", { className: "aura-progress__hint" }, props.hint) : null
5046
5573
  );
5047
5574
  });
5048
5575
 
5049
5576
  // src/Skeleton.tsx
5050
- var React43 = __toESM(require_react(), 1);
5051
- var Skeleton = React43.forwardRef(function Skeleton2(props, ref) {
5577
+ var React47 = __toESM(require_react(), 1);
5578
+ var Skeleton = React47.forwardRef(function Skeleton2(props, ref) {
5052
5579
  const v = props.variant || "text";
5053
5580
  if (v === "text" && (props.lines || 1) > 1) {
5054
5581
  const n2 = props.lines, rows = [];
5055
5582
  for (let i = 0; i < n2; i++)
5056
- rows.push(/* @__PURE__ */ React43.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n2 - 1 ? "60%" : "100%" } }));
5057
- return /* @__PURE__ */ React43.createElement(
5583
+ rows.push(/* @__PURE__ */ React47.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n2 - 1 ? "60%" : "100%" } }));
5584
+ return /* @__PURE__ */ React47.createElement(
5058
5585
  "span",
5059
5586
  {
5060
5587
  ref,
@@ -5069,28 +5596,28 @@ window.Aura = (() => {
5069
5596
  if (v === "circle") {
5070
5597
  style.width = style.height = props.size || props.width || 40;
5071
5598
  }
5072
- return /* @__PURE__ */ React43.createElement("span", { ref, "aria-hidden": true, className: cx("aura-skel", "aura-skel--" + v, props.className), style });
5599
+ return /* @__PURE__ */ React47.createElement("span", { ref, "aria-hidden": true, className: cx("aura-skel", "aura-skel--" + v, props.className), style });
5073
5600
  });
5074
5601
 
5075
5602
  // src/EmptyState.tsx
5076
- var React44 = __toESM(require_react(), 1);
5077
- var EmptyState = React44.forwardRef(function EmptyState2(props, ref) {
5603
+ var React48 = __toESM(require_react(), 1);
5604
+ var EmptyState = React48.forwardRef(function EmptyState2(props, ref) {
5078
5605
  const HT = "h" + (props.headingLevel || 3);
5079
- return /* @__PURE__ */ React44.createElement(
5606
+ return /* @__PURE__ */ React48.createElement(
5080
5607
  "div",
5081
5608
  {
5082
5609
  ref,
5083
5610
  className: cx("aura-empty", props.size === "sm" && "is-sm", props.bordered && "is-bordered", props.className)
5084
5611
  },
5085
- /* @__PURE__ */ React44.createElement("span", { className: "aura-empty__icon", "aria-hidden": true }, /* @__PURE__ */ React44.createElement(Icon, { name: props.icon || "inbox", size: props.size === "sm" ? "md" : "lg" })),
5086
- /* @__PURE__ */ React44.createElement(HT, { className: "aura-empty__title" }, props.title),
5087
- props.description ? /* @__PURE__ */ React44.createElement("p", { className: "aura-empty__text" }, props.description) : null,
5088
- props.action ? /* @__PURE__ */ React44.createElement("div", { className: "aura-empty__action" }, props.action) : null
5612
+ /* @__PURE__ */ React48.createElement("span", { className: "aura-empty__icon", "aria-hidden": true }, /* @__PURE__ */ React48.createElement(Icon, { name: props.icon || "inbox", size: props.size === "sm" ? "md" : "lg" })),
5613
+ /* @__PURE__ */ React48.createElement(HT, { className: "aura-empty__title" }, props.title),
5614
+ props.description ? /* @__PURE__ */ React48.createElement("p", { className: "aura-empty__text" }, props.description) : null,
5615
+ props.action ? /* @__PURE__ */ React48.createElement("div", { className: "aura-empty__action" }, props.action) : null
5089
5616
  );
5090
5617
  });
5091
5618
 
5092
5619
  // src/Pagination.tsx
5093
- var React45 = __toESM(require_react(), 1);
5620
+ var React49 = __toESM(require_react(), 1);
5094
5621
  function pageList(page, count, sib) {
5095
5622
  let out = [], lo = Math.max(2, page - sib), hi = Math.min(count - 1, page + sib);
5096
5623
  if (page - sib <= 3) {
@@ -5110,7 +5637,7 @@ window.Aura = (() => {
5110
5637
  if (count > 1) out.push(count);
5111
5638
  return out;
5112
5639
  }
5113
- var Pagination = React45.forwardRef(function Pagination2(props, ref) {
5640
+ var Pagination = React49.forwardRef(function Pagination2(props, ref) {
5114
5641
  const t = useStrings();
5115
5642
  const count = Math.max(1, props.pageCount || 1);
5116
5643
  const st = useMaybeControlled(props.page, props.defaultPage || 1, props.onChange);
@@ -5129,7 +5656,7 @@ window.Aura = (() => {
5129
5656
  },
5130
5657
  extra
5131
5658
  );
5132
- return link ? /* @__PURE__ */ React45.createElement(
5659
+ return link ? /* @__PURE__ */ React49.createElement(
5133
5660
  Link,
5134
5661
  {
5135
5662
  href: link(p),
@@ -5142,7 +5669,7 @@ window.Aura = (() => {
5142
5669
  ...common
5143
5670
  },
5144
5671
  label
5145
- ) : /* @__PURE__ */ React45.createElement(
5672
+ ) : /* @__PURE__ */ React49.createElement(
5146
5673
  "button",
5147
5674
  {
5148
5675
  type: "button",
@@ -5154,7 +5681,7 @@ window.Aura = (() => {
5154
5681
  label
5155
5682
  );
5156
5683
  }
5157
- return /* @__PURE__ */ React45.createElement("nav", { ref, className: cx("aura-pagination", props.className), "aria-label": props.label || t.pagination }, /* @__PURE__ */ React45.createElement(
5684
+ return /* @__PURE__ */ React49.createElement("nav", { ref, className: cx("aura-pagination", props.className), "aria-label": props.label || t.pagination }, /* @__PURE__ */ React49.createElement(
5158
5685
  IconButton,
5159
5686
  {
5160
5687
  icon: "chevron-left",
@@ -5164,9 +5691,9 @@ window.Aura = (() => {
5164
5691
  go(page - 1);
5165
5692
  }
5166
5693
  }
5167
- ), /* @__PURE__ */ React45.createElement("ol", { className: "aura-pagination__list" }, pageList(page, count, props.siblingCount == null ? 1 : props.siblingCount).map(function(p) {
5168
- return typeof p === "number" ? /* @__PURE__ */ React45.createElement("li", { key: p }, item(p, p)) : /* @__PURE__ */ React45.createElement("li", { key: p, className: "aura-pagination__gap", "aria-hidden": true }, "\u2026");
5169
- })), /* @__PURE__ */ React45.createElement("span", { className: "aura-pagination__compact", "aria-hidden": true }, t.page(page, count)), /* @__PURE__ */ React45.createElement(
5694
+ ), /* @__PURE__ */ React49.createElement("ol", { className: "aura-pagination__list" }, pageList(page, count, props.siblingCount == null ? 1 : props.siblingCount).map(function(p) {
5695
+ return typeof p === "number" ? /* @__PURE__ */ React49.createElement("li", { key: p }, item(p, p)) : /* @__PURE__ */ React49.createElement("li", { key: p, className: "aura-pagination__gap", "aria-hidden": true }, "\u2026");
5696
+ })), /* @__PURE__ */ React49.createElement("span", { className: "aura-pagination__compact", "aria-hidden": true }, t.page(page, count)), /* @__PURE__ */ React49.createElement(
5170
5697
  IconButton,
5171
5698
  {
5172
5699
  icon: "chevron-right",
@@ -5180,8 +5707,8 @@ window.Aura = (() => {
5180
5707
  });
5181
5708
 
5182
5709
  // src/Accordion.tsx
5183
- var React46 = __toESM(require_react(), 1);
5184
- var Accordion = React46.forwardRef(function Accordion2(props, ref) {
5710
+ var React50 = __toESM(require_react(), 1);
5711
+ var Accordion = React50.forwardRef(function Accordion2(props, ref) {
5185
5712
  const auto = uid(), base = props.id || auto;
5186
5713
  const multiple = props.type === "multiple";
5187
5714
  const st = useMaybeControlled(
@@ -5191,7 +5718,7 @@ window.Aura = (() => {
5191
5718
  );
5192
5719
  const open = multiple ? st[0] || [] : st[0] ? [st[0]] : [];
5193
5720
  const HT = "h" + (props.headingLevel || 3);
5194
- const items = props.items || [];
5721
+ const items2 = props.items || [];
5195
5722
  function toggle(id) {
5196
5723
  const isOpen = open.indexOf(id) >= 0;
5197
5724
  if (multiple)
@@ -5219,9 +5746,9 @@ window.Aura = (() => {
5219
5746
  n2.focus();
5220
5747
  }
5221
5748
  }
5222
- return /* @__PURE__ */ React46.createElement("div", { ref, className: cx("aura-accordion", props.className), onKeyDown: onKey }, items.map(function(it) {
5749
+ return /* @__PURE__ */ React50.createElement("div", { ref, className: cx("aura-accordion", props.className), onKeyDown: onKey }, items2.map(function(it) {
5223
5750
  const on = open.indexOf(it.id) >= 0, bid = base + "-btn-" + it.id, pid = base + "-panel-" + it.id;
5224
- return /* @__PURE__ */ React46.createElement("div", { key: it.id, className: cx("aura-accordion__item", on && "is-open") }, /* @__PURE__ */ React46.createElement(HT, { className: "aura-accordion__heading" }, /* @__PURE__ */ React46.createElement(
5751
+ return /* @__PURE__ */ React50.createElement("div", { key: it.id, className: cx("aura-accordion__item", on && "is-open") }, /* @__PURE__ */ React50.createElement(HT, { className: "aura-accordion__heading" }, /* @__PURE__ */ React50.createElement(
5225
5752
  "button",
5226
5753
  {
5227
5754
  type: "button",
@@ -5233,16 +5760,16 @@ window.Aura = (() => {
5233
5760
  toggle(it.id);
5234
5761
  }
5235
5762
  },
5236
- it.icon ? /* @__PURE__ */ React46.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
5237
- /* @__PURE__ */ React46.createElement("span", { className: "aura-accordion__title" }, it.title, it.description ? /* @__PURE__ */ React46.createElement("span", { className: "aura-accordion__desc" }, it.description) : null),
5238
- /* @__PURE__ */ React46.createElement(Icon, { name: "chevron-down", className: "aura-accordion__chevron" })
5239
- )), /* @__PURE__ */ React46.createElement("div", { id: pid, role: "region", "aria-labelledby": bid, className: "aura-accordion__panel", hidden: !on }, it.content));
5763
+ it.icon ? /* @__PURE__ */ React50.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
5764
+ /* @__PURE__ */ React50.createElement("span", { className: "aura-accordion__title" }, it.title, it.description ? /* @__PURE__ */ React50.createElement("span", { className: "aura-accordion__desc" }, it.description) : null),
5765
+ /* @__PURE__ */ React50.createElement(Icon, { name: "chevron-down", className: "aura-accordion__chevron" })
5766
+ )), /* @__PURE__ */ React50.createElement("div", { id: pid, role: "region", "aria-labelledby": bid, className: "aura-accordion__panel", hidden: !on }, it.content));
5240
5767
  }));
5241
5768
  });
5242
5769
 
5243
5770
  // src/Popover.tsx
5244
- var React47 = __toESM(require_react(), 1);
5245
- var import_react_dom8 = __toESM(require_react_dom(), 1);
5771
+ var React51 = __toESM(require_react(), 1);
5772
+ var import_react_dom9 = __toESM(require_react_dom(), 1);
5246
5773
  function position(anchor, pop, placement) {
5247
5774
  const r = anchor.getBoundingClientRect(), pw = pop.offsetWidth, ph = pop.offsetHeight, vw = window.innerWidth, vh = window.innerHeight, gap = 6;
5248
5775
  let side = (placement || "bottom-start").split("-")[0], align = (placement || "bottom-start").split("-")[1] || "start";
@@ -5252,13 +5779,14 @@ window.Aura = (() => {
5252
5779
  const left = align === "end" ? r.right - pw : align === "center" ? r.left + r.width / 2 - pw / 2 : r.left;
5253
5780
  return { top: Math.max(8, top), left: Math.max(8, Math.min(left, vw - pw - 8)), side };
5254
5781
  }
5255
- var Popover = React47.forwardRef(function Popover2(props, ref) {
5782
+ var Popover = React51.forwardRef(function Popover2(props, ref) {
5256
5783
  const t = useStrings();
5784
+ const density = useDensity();
5257
5785
  const auto = uid(), id = props.id || auto;
5258
5786
  const st = useMaybeControlled(props.open, !!props.defaultOpen, props.onOpenChange);
5259
5787
  const open = !!st[0];
5260
- const wrap = React47.useRef(null), pop = React47.useRef(null), popMerged = useMergedRef(ref, pop);
5261
- const pos = React47.useState(null), mounted = useMounted();
5788
+ const wrap = React51.useRef(null), pop = React51.useRef(null), popMerged = useMergedRef(ref, pop);
5789
+ const pos = React51.useState(null), mounted = useMounted();
5262
5790
  function trigger() {
5263
5791
  return wrap.current && (wrap.current.querySelector('button, [role="button"], a, input') || wrap.current.firstElementChild);
5264
5792
  }
@@ -5285,7 +5813,7 @@ window.Aura = (() => {
5285
5813
  },
5286
5814
  [open, mounted, props.placement]
5287
5815
  );
5288
- React47.useEffect(
5816
+ React51.useEffect(
5289
5817
  function() {
5290
5818
  if (!open || !mounted) return;
5291
5819
  if (props.autoFocus !== false && pop.current) {
@@ -5304,13 +5832,14 @@ window.Aura = (() => {
5304
5832
  },
5305
5833
  [open, mounted]
5306
5834
  );
5307
- const child = React47.Children.only(props.trigger);
5308
- const panel = open && mounted ? (0, import_react_dom8.createPortal)(
5309
- /* @__PURE__ */ React47.createElement(
5835
+ const child = React51.Children.only(props.trigger);
5836
+ const panel = open && mounted ? (0, import_react_dom9.createPortal)(
5837
+ /* @__PURE__ */ React51.createElement(
5310
5838
  "div",
5311
5839
  {
5312
5840
  ref: popMerged,
5313
5841
  id,
5842
+ "data-density": density,
5314
5843
  role: "dialog",
5315
5844
  "aria-modal": false,
5316
5845
  "aria-label": props.title ? void 0 : props.label,
@@ -5328,7 +5857,7 @@ window.Aura = (() => {
5328
5857
  } else trapTab(e, pop.current);
5329
5858
  }
5330
5859
  },
5331
- props.title ? /* @__PURE__ */ React47.createElement("div", { className: "aura-popover__head" }, /* @__PURE__ */ React47.createElement("p", { className: "aura-popover__title", id: id + "-title" }, props.title), /* @__PURE__ */ React47.createElement(
5860
+ props.title ? /* @__PURE__ */ React51.createElement("div", { className: "aura-popover__head" }, /* @__PURE__ */ React51.createElement("p", { className: "aura-popover__title", id: id + "-title" }, props.title), /* @__PURE__ */ React51.createElement(
5332
5861
  IconButton,
5333
5862
  {
5334
5863
  icon: "x",
@@ -5338,7 +5867,7 @@ window.Aura = (() => {
5338
5867
  }
5339
5868
  }
5340
5869
  )) : null,
5341
- /* @__PURE__ */ React47.createElement("div", { className: "aura-popover__body" }, typeof props.children === "function" ? props.children({
5870
+ /* @__PURE__ */ React51.createElement("div", { className: "aura-popover__body" }, typeof props.children === "function" ? props.children({
5342
5871
  close: function() {
5343
5872
  close(true);
5344
5873
  }
@@ -5346,7 +5875,7 @@ window.Aura = (() => {
5346
5875
  ),
5347
5876
  document.body
5348
5877
  ) : null;
5349
- return /* @__PURE__ */ React47.createElement("span", { ref: wrap, className: "aura-popover-anchor" }, React47.cloneElement(child, {
5878
+ return /* @__PURE__ */ React51.createElement("span", { ref: wrap, className: "aura-popover-anchor" }, React51.cloneElement(child, {
5350
5879
  onClick: function(e) {
5351
5880
  if (child.props.onClick) child.props.onClick(e);
5352
5881
  st[1](!open);
@@ -5358,7 +5887,7 @@ window.Aura = (() => {
5358
5887
  });
5359
5888
 
5360
5889
  // src/NumberField.tsx
5361
- var React48 = __toESM(require_react(), 1);
5890
+ var React52 = __toESM(require_react(), 1);
5362
5891
  function decimalsOf(n2) {
5363
5892
  const s = String(n2);
5364
5893
  const i = s.indexOf(".");
@@ -5369,7 +5898,7 @@ window.Aura = (() => {
5369
5898
  if (!/^-?(\d+\.?\d*|\.\d+)$/.test(s)) return NaN;
5370
5899
  return Number(s);
5371
5900
  }
5372
- var NumberField = React48.forwardRef(function NumberField2(props, ref) {
5901
+ var NumberField = React52.forwardRef(function NumberField2(props, ref) {
5373
5902
  const t = useStrings();
5374
5903
  const auto = uid(), id = props.id || auto;
5375
5904
  const step = props.step || 1;
@@ -5380,7 +5909,7 @@ window.Aura = (() => {
5380
5909
  props.onChange
5381
5910
  );
5382
5911
  const value = st[0], setValue = st[1];
5383
- const draftState = React48.useState(null), draft = draftState[0], setDraft = draftState[1];
5912
+ const draftState = React52.useState(null), draft = draftState[0], setDraft = draftState[1];
5384
5913
  function fmt2(n2) {
5385
5914
  if (n2 == null || isNaN(n2)) return "";
5386
5915
  return n2.toLocaleString("en", { minimumFractionDigits: decimals, maximumFractionDigits: decimals });
@@ -5429,7 +5958,7 @@ window.Aura = (() => {
5429
5958
  };
5430
5959
  const valueText = value == null ? void 0 : [affixText(props.prefix), fmt2(value), affixText(props.suffix)].join(" ").trim();
5431
5960
  const stepper = props.stepper !== false && !props.readOnly;
5432
- return /* @__PURE__ */ React48.createElement(
5961
+ return /* @__PURE__ */ React52.createElement(
5433
5962
  Field,
5434
5963
  {
5435
5964
  id,
@@ -5441,7 +5970,7 @@ window.Aura = (() => {
5441
5970
  disabled: props.disabled,
5442
5971
  className: props.className
5443
5972
  },
5444
- /* @__PURE__ */ React48.createElement("div", { className: cx("aura-input aura-number", stepper && "has-stepper") }, props.prefix != null ? /* @__PURE__ */ React48.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.prefix) : null, /* @__PURE__ */ React48.createElement(
5973
+ /* @__PURE__ */ React52.createElement("div", { className: cx("aura-input aura-number", stepper && "has-stepper") }, props.prefix != null ? /* @__PURE__ */ React52.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.prefix) : null, /* @__PURE__ */ React52.createElement(
5445
5974
  "input",
5446
5975
  {
5447
5976
  ref,
@@ -5488,7 +6017,7 @@ window.Aura = (() => {
5488
6017
  },
5489
6018
  onKeyDown
5490
6019
  }
5491
- ), props.suffix != null ? /* @__PURE__ */ React48.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.suffix) : null, stepper ? /* @__PURE__ */ React48.createElement("span", { className: "aura-number__steps" }, /* @__PURE__ */ React48.createElement(
6020
+ ), props.suffix != null ? /* @__PURE__ */ React52.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.suffix) : null, stepper ? /* @__PURE__ */ React52.createElement("span", { className: "aura-number__steps" }, /* @__PURE__ */ React52.createElement(
5492
6021
  "button",
5493
6022
  {
5494
6023
  type: "button",
@@ -5504,8 +6033,8 @@ window.Aura = (() => {
5504
6033
  nudge(-step);
5505
6034
  }
5506
6035
  },
5507
- /* @__PURE__ */ React48.createElement(Icon, { name: "minus" })
5508
- ), /* @__PURE__ */ React48.createElement(
6036
+ /* @__PURE__ */ React52.createElement(Icon, { name: "minus" })
6037
+ ), /* @__PURE__ */ React52.createElement(
5509
6038
  "button",
5510
6039
  {
5511
6040
  type: "button",
@@ -5521,14 +6050,14 @@ window.Aura = (() => {
5521
6050
  nudge(step);
5522
6051
  }
5523
6052
  },
5524
- /* @__PURE__ */ React48.createElement(Icon, { name: "plus" })
6053
+ /* @__PURE__ */ React52.createElement(Icon, { name: "plus" })
5525
6054
  )) : null)
5526
6055
  );
5527
6056
  });
5528
6057
 
5529
6058
  // src/Stepper.tsx
5530
- var React49 = __toESM(require_react(), 1);
5531
- var Stepper = React49.forwardRef(function Stepper2(props, ref) {
6059
+ var React53 = __toESM(require_react(), 1);
6060
+ var Stepper = React53.forwardRef(function Stepper2(props, ref) {
5532
6061
  const t = useStrings();
5533
6062
  const steps = props.steps || [];
5534
6063
  let at = -1;
@@ -5538,26 +6067,26 @@ window.Aura = (() => {
5538
6067
  if (at < 0) at = 0;
5539
6068
  const vertical = props.orientation === "vertical";
5540
6069
  const cur = steps[at];
5541
- return /* @__PURE__ */ React49.createElement(
6070
+ return /* @__PURE__ */ React53.createElement(
5542
6071
  "nav",
5543
6072
  {
5544
6073
  ref,
5545
6074
  "aria-label": props.label,
5546
6075
  className: cx("aura-stepper", vertical ? "aura-stepper--vertical" : "aura-stepper--horizontal", props.className)
5547
6076
  },
5548
- /* @__PURE__ */ React49.createElement("ol", { className: "aura-stepper__list" }, steps.map(function(s, i) {
6077
+ /* @__PURE__ */ React53.createElement("ol", { className: "aura-stepper__list" }, steps.map(function(s, i) {
5549
6078
  const state = i < at ? "done" : i === at ? "current" : "upcoming";
5550
- const marker = /* @__PURE__ */ React49.createElement("span", { className: "aura-stepper__marker", "aria-hidden": true }, state === "done" ? /* @__PURE__ */ React49.createElement(Icon, { name: "check" }) : i + 1);
5551
- const text = /* @__PURE__ */ React49.createElement("span", { className: "aura-stepper__text" }, /* @__PURE__ */ React49.createElement("span", { className: "aura-stepper__label" }, s.label, state === "done" ? /* @__PURE__ */ React49.createElement("span", { className: "aura-sr-only" }, ", " + t.stepDone) : null), s.description ? /* @__PURE__ */ React49.createElement("span", { className: "aura-stepper__desc" }, s.description) : null);
6079
+ const marker = /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__marker", "aria-hidden": true }, state === "done" ? /* @__PURE__ */ React53.createElement(Icon, { name: "check" }) : i + 1);
6080
+ const text = /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__text" }, /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__label" }, s.label, state === "done" ? /* @__PURE__ */ React53.createElement("span", { className: "aura-sr-only" }, ", " + t.stepDone) : null), s.description ? /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__desc" }, s.description) : null);
5552
6081
  const clickable = state === "done" && !!props.onStepClick;
5553
- return /* @__PURE__ */ React49.createElement(
6082
+ return /* @__PURE__ */ React53.createElement(
5554
6083
  "li",
5555
6084
  {
5556
6085
  key: s.id,
5557
6086
  className: cx("aura-stepper__item", "is-" + state),
5558
6087
  "aria-current": state === "current" ? "step" : void 0
5559
6088
  },
5560
- clickable ? /* @__PURE__ */ React49.createElement(
6089
+ clickable ? /* @__PURE__ */ React53.createElement(
5561
6090
  "button",
5562
6091
  {
5563
6092
  type: "button",
@@ -5568,19 +6097,19 @@ window.Aura = (() => {
5568
6097
  },
5569
6098
  marker,
5570
6099
  text
5571
- ) : /* @__PURE__ */ React49.createElement("span", { className: "aura-stepper__step" }, marker, text)
6100
+ ) : /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__step" }, marker, text)
5572
6101
  );
5573
6102
  })),
5574
- !vertical && cur ? /* @__PURE__ */ React49.createElement("p", { className: "aura-stepper__compact", "aria-hidden": true }, /* @__PURE__ */ React49.createElement("span", { className: "aura-stepper__count" }, t.stepOf(at + 1, steps.length)), /* @__PURE__ */ React49.createElement("span", { className: "aura-stepper__compact-label" }, cur.label)) : null
6103
+ !vertical && cur ? /* @__PURE__ */ React53.createElement("p", { className: "aura-stepper__compact", "aria-hidden": true }, /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__count" }, t.stepOf(at + 1, steps.length)), /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__compact-label" }, cur.label)) : null
5575
6104
  );
5576
6105
  });
5577
6106
 
5578
6107
  // src/SegmentedControl.tsx
5579
- var React50 = __toESM(require_react(), 1);
6108
+ var React54 = __toESM(require_react(), 1);
5580
6109
  function toOpt2(o) {
5581
6110
  return typeof o === "object" ? o : { value: o, label: o };
5582
6111
  }
5583
- var SegmentedControl = React50.forwardRef(
6112
+ var SegmentedControl = React54.forwardRef(
5584
6113
  function SegmentedControl2(props, ref) {
5585
6114
  const options = (props.options || []).map(toOpt2);
5586
6115
  const firstEnabled = options.filter(function(o) {
@@ -5593,7 +6122,7 @@ window.Aura = (() => {
5593
6122
  );
5594
6123
  const value = st[0], setValue = st[1];
5595
6124
  const auto = uid(), id = props.id || auto;
5596
- const refs = React50.useRef([]);
6125
+ const refs = React54.useRef([]);
5597
6126
  const selIdx = options.findIndex(function(o) {
5598
6127
  return o.value === value;
5599
6128
  });
@@ -5626,7 +6155,7 @@ window.Aura = (() => {
5626
6155
  move(options.length, -1);
5627
6156
  }
5628
6157
  }
5629
- return /* @__PURE__ */ React50.createElement(
6158
+ return /* @__PURE__ */ React54.createElement(
5630
6159
  "div",
5631
6160
  {
5632
6161
  ref,
@@ -5645,7 +6174,7 @@ window.Aura = (() => {
5645
6174
  options.map(function(o, i) {
5646
6175
  const on = o.value === value;
5647
6176
  const off = props.disabled || o.disabled;
5648
- return /* @__PURE__ */ React50.createElement(
6177
+ return /* @__PURE__ */ React54.createElement(
5649
6178
  "button",
5650
6179
  {
5651
6180
  key: o.value,
@@ -5667,8 +6196,8 @@ window.Aura = (() => {
5667
6196
  onKeyDown(e, i);
5668
6197
  }
5669
6198
  },
5670
- o.icon ? /* @__PURE__ */ React50.createElement(Icon, { name: o.icon }) : null,
5671
- o.iconOnly ? null : /* @__PURE__ */ React50.createElement("span", null, o.label)
6199
+ o.icon ? /* @__PURE__ */ React54.createElement(Icon, { name: o.icon }) : null,
6200
+ o.iconOnly ? null : /* @__PURE__ */ React54.createElement("span", null, o.label)
5672
6201
  );
5673
6202
  })
5674
6203
  );