@proteos/ui 0.56.0 → 0.57.1

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.
Files changed (46) hide show
  1. package/dist/{chunk-IKAX76MB.js → chunk-NSE4VW3Z.js} +45 -21
  2. package/dist/chunk-NSE4VW3Z.js.map +1 -0
  3. package/dist/{chunk-MWAXK66H.cjs → chunk-NWGG5WFL.cjs} +45 -21
  4. package/dist/chunk-NWGG5WFL.cjs.map +1 -0
  5. package/dist/index.cjs +346 -352
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.cts +49 -13
  8. package/dist/index.d.ts +49 -13
  9. package/dist/index.js +93 -99
  10. package/dist/index.js.map +1 -1
  11. package/dist/{pdf-view-MH75RVQP.js → pdf-view-RQ2OZYHJ.js} +3 -3
  12. package/dist/{pdf-view-MH75RVQP.js.map → pdf-view-RQ2OZYHJ.js.map} +1 -1
  13. package/dist/{pdf-view-K4MMVHVY.cjs → pdf-view-RRMAUK3L.cjs} +7 -7
  14. package/dist/{pdf-view-K4MMVHVY.cjs.map → pdf-view-RRMAUK3L.cjs.map} +1 -1
  15. package/package.json +2 -2
  16. package/src/components/avatar/avatar.stories.tsx +13 -0
  17. package/src/components/avatar/avatar.tsx +16 -9
  18. package/src/components/badge-multi-select/badge-multi-select.tsx +2 -2
  19. package/src/components/button/button.stories.tsx +202 -97
  20. package/src/components/button/button.test.tsx +40 -7
  21. package/src/components/button/button.tsx +71 -18
  22. package/src/components/combobox/combobox.tsx +2 -2
  23. package/src/components/currency-input/currency-input.tsx +2 -2
  24. package/src/components/date-picker/calendar-internals.tsx +1 -1
  25. package/src/components/date-picker/date-picker.tsx +3 -3
  26. package/src/components/date-time-picker/date-time-picker.tsx +3 -3
  27. package/src/components/icon-picker/icon-picker.tsx +2 -2
  28. package/src/components/image-lightbox/image-lightbox.tsx +2 -2
  29. package/src/components/menu/menu.tsx +2 -2
  30. package/src/components/modal/modal.test.tsx +9 -0
  31. package/src/components/modal/modal.tsx +17 -5
  32. package/src/components/multi-select/multi-select.tsx +2 -2
  33. package/src/components/popover/popover.tsx +2 -2
  34. package/src/components/record-filter/nested-group.tsx +2 -2
  35. package/src/components/record-filter/record-filter-builder-panel.tsx +11 -23
  36. package/src/components/record-filter/record-filter-chips.tsx +3 -10
  37. package/src/components/segmented-control/segmented-control.stories.tsx +134 -8
  38. package/src/components/segmented-control/segmented-control.test.tsx +81 -8
  39. package/src/components/segmented-control/segmented-control.tsx +38 -19
  40. package/src/components/select/select.tsx +2 -2
  41. package/src/components/time-field/time-field.tsx +1 -1
  42. package/src/components/toast/toast.tsx +2 -2
  43. package/src/components/tooltip/tooltip.tsx +2 -2
  44. package/src/styles.css +58 -0
  45. package/dist/chunk-IKAX76MB.js.map +0 -1
  46. package/dist/chunk-MWAXK66H.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkMWAXK66H_cjs = require('./chunk-MWAXK66H.cjs');
3
+ var chunkNWGG5WFL_cjs = require('./chunk-NWGG5WFL.cjs');
4
4
  var lucideReact = require('lucide-react');
5
5
  var tailwindVariants = require('tailwind-variants');
6
6
  var reactAriaComponents = require('react-aria-components');
@@ -33,11 +33,11 @@ function PopoverContent({
33
33
  offset,
34
34
  placement,
35
35
  ...props,
36
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
36
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
37
37
  "rounded-md border border-rule bg-surface",
38
38
  "shadow-[var(--shadow-float)]",
39
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-top-1",
40
- "exiting:animate-out exiting:fade-out-0 exiting:slide-out-to-top-1",
39
+ "entering:animate-enter-slide-down",
40
+ "exiting:animate-exit-slide-up",
41
41
  panelClassName,
42
42
  typeof className === "function" ? className(renderProps) : className
43
43
  ),
@@ -52,7 +52,7 @@ function PopoverPanelHeader({
52
52
  return /* @__PURE__ */ jsxRuntime.jsx(
53
53
  "div",
54
54
  {
55
- className: chunkMWAXK66H_cjs.cn(
55
+ className: chunkNWGG5WFL_cjs.cn(
56
56
  "flex items-center justify-between gap-2",
57
57
  "px-3.5 py-2.5 border-b border-rule",
58
58
  className
@@ -65,7 +65,7 @@ function PopoverPanelBody({
65
65
  className,
66
66
  children
67
67
  }) {
68
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn("p-2", className), children });
68
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn("p-2", className), children });
69
69
  }
70
70
  function PopoverPanelFooter({
71
71
  className,
@@ -74,7 +74,7 @@ function PopoverPanelFooter({
74
74
  return /* @__PURE__ */ jsxRuntime.jsx(
75
75
  "div",
76
76
  {
77
- className: chunkMWAXK66H_cjs.cn(
77
+ className: chunkNWGG5WFL_cjs.cn(
78
78
  "flex items-center justify-between gap-2",
79
79
  "px-3.5 py-2.5 border-t border-rule",
80
80
  "bg-[color-mix(in_oklab,var(--color-surface-2)_60%,var(--color-surface))]",
@@ -157,10 +157,10 @@ function FileField({
157
157
  };
158
158
  if (!value) {
159
159
  if (isReadOnly) {
160
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkMWAXK66H_cjs.cn("text-ink-4", className), children: "\u2014" });
160
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNWGG5WFL_cjs.cn("text-ink-4", className), children: "\u2014" });
161
161
  }
162
162
  if (isUploading) {
163
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn(dropZoneStyles({ isInvalid }), className), children: [
163
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn(dropZoneStyles({ isInvalid }), className), children: [
164
164
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-3.5 animate-spin", "aria-hidden": true }),
165
165
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-sans text-[12.5px]", children: "Uploading\u2026" })
166
166
  ] });
@@ -180,7 +180,7 @@ function FileField({
180
180
  {
181
181
  onSelect: handleSelect,
182
182
  ...acceptedFileTypes ? { acceptedFileTypes } : {},
183
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkMWAXK66H_cjs.Button, { variant: "ghost", size: "sm", children: "Browse" })
183
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Button, { variant: "ghost", size: "sm", children: "Browse" })
184
184
  }
185
185
  )
186
186
  ]
@@ -194,7 +194,7 @@ function FileField({
194
194
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, children: [
195
195
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cardStyles({ isClickable }), children: [
196
196
  /* @__PURE__ */ jsxRuntime.jsxs(
197
- chunkMWAXK66H_cjs.Button,
197
+ chunkNWGG5WFL_cjs.Button,
198
198
  {
199
199
  variant: "subtle",
200
200
  className: "m-0 flex min-w-0 flex-1 items-start gap-3 border-0 bg-transparent p-0 text-left hover:bg-transparent",
@@ -204,7 +204,7 @@ function FileField({
204
204
  /* @__PURE__ */ jsxRuntime.jsx(
205
205
  Icon,
206
206
  {
207
- className: chunkMWAXK66H_cjs.cn("mt-0.5 size-5 shrink-0 text-ink-3", isUploading && "animate-spin"),
207
+ className: chunkNWGG5WFL_cjs.cn("mt-0.5 size-5 shrink-0 text-ink-3", isUploading && "animate-spin"),
208
208
  "aria-hidden": true,
209
209
  strokeWidth: 1.6
210
210
  }
@@ -218,7 +218,7 @@ function FileField({
218
218
  ),
219
219
  !isReadOnly && onDelete && !isUploading ? /* @__PURE__ */ jsxRuntime.jsxs(Popover, { children: [
220
220
  /* @__PURE__ */ jsxRuntime.jsx(
221
- chunkMWAXK66H_cjs.Button,
221
+ chunkNWGG5WFL_cjs.Button,
222
222
  {
223
223
  "aria-label": "Remove file",
224
224
  size: "icon-sm",
@@ -238,13 +238,13 @@ function FileField({
238
238
  ) }),
239
239
  /* @__PURE__ */ jsxRuntime.jsx(PopoverPanelBody, { className: "px-3.5 py-3", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "m-0 font-sans text-[12px] leading-snug text-ink-2", children: "This removes the attachment from this record." }) }),
240
240
  /* @__PURE__ */ jsxRuntime.jsxs(PopoverPanelFooter, { children: [
241
- /* @__PURE__ */ jsxRuntime.jsx(chunkMWAXK66H_cjs.Button, { variant: "ghost", size: "sm", onPress: close, children: "Cancel" }),
241
+ /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Button, { variant: "ghost", size: "sm", onPress: close, children: "Cancel" }),
242
242
  /* @__PURE__ */ jsxRuntime.jsx(
243
- chunkMWAXK66H_cjs.Button,
243
+ chunkNWGG5WFL_cjs.Button,
244
244
  {
245
245
  variant: "primary",
246
246
  size: "sm",
247
- className: chunkMWAXK66H_cjs.cn("bg-danger border-danger", "hover:bg-danger hover:border-danger"),
247
+ className: chunkNWGG5WFL_cjs.cn("bg-danger border-danger", "hover:bg-danger hover:border-danger"),
248
248
  onPress: () => {
249
249
  onDelete();
250
250
  close();
@@ -294,17 +294,17 @@ function AttachmentChip({
294
294
  /* @__PURE__ */ jsxRuntime.jsx(
295
295
  Icon,
296
296
  {
297
- className: chunkMWAXK66H_cjs.cn("size-3.5 shrink-0 text-ink-3", status === "uploading" && "animate-spin"),
297
+ className: chunkNWGG5WFL_cjs.cn("size-3.5 shrink-0 text-ink-3", status === "uploading" && "animate-spin"),
298
298
  "aria-hidden": true
299
299
  }
300
300
  ),
301
301
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: name }),
302
- meta ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkMWAXK66H_cjs.cn("shrink-0", status !== "error" && "text-ink-4"), children: meta }) : null
302
+ meta ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNWGG5WFL_cjs.cn("shrink-0", status !== "error" && "text-ink-4"), children: meta }) : null
303
303
  ] });
304
304
  return /* @__PURE__ */ jsxRuntime.jsxs(
305
305
  "span",
306
306
  {
307
- className: chunkMWAXK66H_cjs.cn(attachmentChipStyles({ status, isInteractive: Boolean(onPress) }), className),
307
+ className: chunkNWGG5WFL_cjs.cn(attachmentChipStyles({ status, isInteractive: Boolean(onPress) }), className),
308
308
  title: errorMessage ?? name,
309
309
  children: [
310
310
  onPress ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -325,7 +325,7 @@ function AttachmentChip({
325
325
  event.stopPropagation();
326
326
  onRemove();
327
327
  },
328
- className: chunkMWAXK66H_cjs.cn(
328
+ className: chunkNWGG5WFL_cjs.cn(
329
329
  "inline-flex shrink-0 items-center justify-center",
330
330
  "size-4 rounded-[3px]",
331
331
  "cursor-pointer text-ink-3 hover:bg-surface-3 hover:text-ink",
@@ -396,7 +396,7 @@ function AttributeTypeIcon({
396
396
  {
397
397
  "aria-hidden": true,
398
398
  strokeWidth: strokeWidth ?? 1.6,
399
- className: chunkMWAXK66H_cjs.cn("size-3.5", className),
399
+ className: chunkNWGG5WFL_cjs.cn("size-3.5", className),
400
400
  ...props
401
401
  }
402
402
  );
@@ -404,7 +404,7 @@ function AttributeTypeIcon({
404
404
  var avatarStyles = tailwindVariants.tv({
405
405
  base: [
406
406
  "inline-grid place-items-center shrink-0 select-none overflow-hidden",
407
- "rounded-full border",
407
+ "border",
408
408
  "font-mono font-medium tracking-[-0.005em]"
409
409
  ],
410
410
  variants: {
@@ -416,17 +416,22 @@ var avatarStyles = tailwindVariants.tv({
416
416
  },
417
417
  tone: {
418
418
  paper: "bg-surface-3 text-ink border-rule",
419
- indigo: "bg-accent text-[#f0efe8] border-transparent",
420
- moss: "bg-[#5b7052] text-[#f0efe8] border-transparent",
421
- terra: "bg-[#8a5a3f] text-[#f0efe8] border-transparent",
422
- slate: "bg-ink text-surface border-transparent"
419
+ indigo: "bg-tile-indigo text-tile-fg border-transparent",
420
+ moss: "bg-tile-moss text-tile-fg border-transparent",
421
+ terra: "bg-tile-terra text-tile-fg border-transparent",
422
+ slate: "bg-tile-slate text-tile-fg border-transparent"
423
+ },
424
+ shape: {
425
+ circle: "rounded-full",
426
+ square: "rounded-md"
423
427
  }
424
428
  },
425
- defaultVariants: { size: "md", tone: "paper" }
429
+ defaultVariants: { size: "md", tone: "paper", shape: "circle" }
426
430
  });
427
431
  function Avatar({
428
432
  size,
429
433
  tone,
434
+ shape,
430
435
  initials,
431
436
  src,
432
437
  alt = "",
@@ -436,7 +441,7 @@ function Avatar({
436
441
  }) {
437
442
  const [failedSrc, setFailedSrc] = react.useState(null);
438
443
  const showsImage = Boolean(src) && failedSrc !== src;
439
- return /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, className: chunkMWAXK66H_cjs.cn(avatarStyles({ size, tone }), className), children: showsImage ? /* @__PURE__ */ jsxRuntime.jsx(
444
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, className: chunkNWGG5WFL_cjs.cn(avatarStyles({ size, tone, shape }), className), children: showsImage ? /* @__PURE__ */ jsxRuntime.jsx(
440
445
  "img",
441
446
  {
442
447
  src: src ?? void 0,
@@ -466,7 +471,7 @@ function AvatarGroup({
466
471
  }) {
467
472
  const shown = avatars.slice(0, max);
468
473
  const overflow = avatars.length - shown.length;
469
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { ...props, className: chunkMWAXK66H_cjs.cn(avatarGroupStyles({ size }), className), children: [
474
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { ...props, className: chunkNWGG5WFL_cjs.cn(avatarGroupStyles({ size }), className), children: [
470
475
  shown.map((avatar, index) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "rounded-full ring-[1.5px] ring-surface", children: /* @__PURE__ */ jsxRuntime.jsx(
471
476
  Avatar,
472
477
  {
@@ -642,7 +647,7 @@ function IconPicker({
642
647
  open(false);
643
648
  triggerRef.current?.focus();
644
649
  };
645
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn("grid grid-cols-1 gap-1.5", className), children: [
650
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn("grid grid-cols-1 gap-1.5", className), children: [
646
651
  label ? /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Label, { className: fieldLabelStyles, children: label }) : null,
647
652
  compact ? /* @__PURE__ */ jsxRuntime.jsx(
648
653
  "button",
@@ -656,7 +661,7 @@ function IconPicker({
656
661
  disabled: isDisabled,
657
662
  onClick: () => open(!isOpen),
658
663
  "data-invalid": isInvalid || void 0,
659
- className: chunkMWAXK66H_cjs.cn(
664
+ className: chunkNWGG5WFL_cjs.cn(
660
665
  styles4.box(),
661
666
  "flex shrink-0 items-center justify-center cursor-pointer",
662
667
  appearance === "cell" ? "size-[29px]" : COMPACT_SIZE[size],
@@ -675,7 +680,7 @@ function IconPicker({
675
680
  disabled: isDisabled,
676
681
  onClick: () => open(!isOpen),
677
682
  "data-invalid": isInvalid || void 0,
678
- className: chunkMWAXK66H_cjs.cn(
683
+ className: chunkNWGG5WFL_cjs.cn(
679
684
  // box carries no padding by contract — content is what gives a
680
685
  // single-element control its interior (padding, font, text-size).
681
686
  styles4.box(),
@@ -685,7 +690,7 @@ function IconPicker({
685
690
  ),
686
691
  children: [
687
692
  SelectedIcon ? /* @__PURE__ */ jsxRuntime.jsx(SelectedIcon, { "aria-hidden": true, className: "size-4 shrink-0 text-ink-2" }) : null,
688
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkMWAXK66H_cjs.cn("min-w-0 flex-1 truncate", selectedName ? "text-ink" : "text-ink-4"), children: selectedName ?? placeholder }),
693
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNWGG5WFL_cjs.cn("min-w-0 flex-1 truncate", selectedName ? "text-ink" : "text-ink-4"), children: selectedName ?? placeholder }),
689
694
  /* @__PURE__ */ jsxRuntime.jsx(FieldCaret, {})
690
695
  ]
691
696
  }
@@ -700,18 +705,18 @@ function IconPicker({
700
705
  triggerRef,
701
706
  offset: 6,
702
707
  placement: "bottom start",
703
- className: chunkMWAXK66H_cjs.cn(
708
+ className: chunkNWGG5WFL_cjs.cn(
704
709
  "w-[316px] rounded-md border border-rule bg-surface p-2",
705
710
  "shadow-[var(--shadow-raised)]",
706
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-top-1",
707
- "exiting:animate-out exiting:fade-out-0 exiting:slide-out-to-top-1"
711
+ "entering:animate-enter-slide-down",
712
+ "exiting:animate-exit-slide-up"
708
713
  ),
709
714
  children: [
710
715
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 pb-2", children: [
711
716
  /* @__PURE__ */ jsxRuntime.jsxs(
712
717
  "div",
713
718
  {
714
- className: chunkMWAXK66H_cjs.cn(
719
+ className: chunkNWGG5WFL_cjs.cn(
715
720
  fieldControlStyles({ size: "sm" }).box(),
716
721
  "flex min-w-0 flex-1 items-center gap-1.5 px-2.5 py-1.5",
717
722
  "focus-within:border-accent focus-within:shadow-[var(--shadow-focus)]"
@@ -726,7 +731,7 @@ function IconPicker({
726
731
  value: query,
727
732
  onChange: (event) => search(event.target.value),
728
733
  placeholder: "Search icons\u2026",
729
- className: chunkMWAXK66H_cjs.cn(
734
+ className: chunkNWGG5WFL_cjs.cn(
730
735
  "min-w-0 flex-1 bg-transparent font-sans outline-none",
731
736
  "text-ink placeholder:text-ink-4",
732
737
  fieldTextStyles.sm
@@ -741,7 +746,7 @@ function IconPicker({
741
746
  {
742
747
  type: "button",
743
748
  onClick: () => pick(null),
744
- className: chunkMWAXK66H_cjs.cn(
749
+ className: chunkNWGG5WFL_cjs.cn(
745
750
  "flex shrink-0 items-center gap-1 rounded-[6px] px-2 py-1.5 cursor-pointer",
746
751
  "font-sans text-[12px] text-ink-3 transition-colors",
747
752
  "hover:bg-surface-2 hover:text-ink",
@@ -772,7 +777,7 @@ function IconPicker({
772
777
  if (next !== void 0) pick(next);
773
778
  },
774
779
  className: "grid grid-cols-8 gap-0.5 outline-none",
775
- renderEmptyState: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn("col-span-8 px-2 py-3 text-center", fieldHintStyles), children: "No icons match" }),
780
+ renderEmptyState: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn("col-span-8 px-2 py-3 text-center", fieldHintStyles), children: "No icons match" }),
776
781
  children: visible.map((name) => {
777
782
  const Icon = lucideReact.icons[name];
778
783
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -781,7 +786,7 @@ function IconPicker({
781
786
  id: name,
782
787
  textValue: name,
783
788
  "aria-label": name,
784
- className: chunkMWAXK66H_cjs.cn(
789
+ className: chunkNWGG5WFL_cjs.cn(
785
790
  "flex size-[34px] items-center justify-center rounded-[6px]",
786
791
  "cursor-pointer outline-none",
787
792
  "data-[hovered]:bg-surface-2 data-[focused]:bg-surface-2",
@@ -798,7 +803,7 @@ function IconPicker({
798
803
  )
799
804
  }
800
805
  ),
801
- hiddenCount > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("p", { className: chunkMWAXK66H_cjs.cn("px-1 pt-2", fieldHintStyles), children: [
806
+ hiddenCount > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("p", { className: chunkNWGG5WFL_cjs.cn("px-1 pt-2", fieldHintStyles), children: [
802
807
  hiddenCount.toLocaleString(),
803
808
  " more \u2014 keep scrolling, or search."
804
809
  ] }) : null
@@ -888,13 +893,13 @@ function Badge({
888
893
  {
889
894
  ...props,
890
895
  style: mergedStyle,
891
- className: chunkMWAXK66H_cjs.cn(
896
+ className: chunkNWGG5WFL_cjs.cn(
892
897
  badgeStyles({ variant: register2, shape, hasDot }),
893
898
  showDot ? null : "before:hidden",
894
899
  className
895
900
  ),
896
901
  children: [
897
- Icon ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { "aria-hidden": true, className: chunkMWAXK66H_cjs.cn("size-3 shrink-0", ICON_TONE[register2]) }) : null,
902
+ Icon ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { "aria-hidden": true, className: chunkNWGG5WFL_cjs.cn("size-3 shrink-0", ICON_TONE[register2]) }) : null,
898
903
  children,
899
904
  actions ? (
900
905
  // Pulled flush with the trailing edge so the chip still reads
@@ -916,7 +921,7 @@ function BadgeAction({ label, onPress, isDisabled = false, children }) {
916
921
  event.stopPropagation();
917
922
  onPress();
918
923
  },
919
- className: chunkMWAXK66H_cjs.cn(
924
+ className: chunkNWGG5WFL_cjs.cn(
920
925
  "inline-flex items-center justify-center shrink-0",
921
926
  "size-3.5 rounded-full",
922
927
  "text-current/70 hover:text-current hover:bg-current/10",
@@ -949,13 +954,13 @@ function Tooltip({ className, offset = 6, ...props }) {
949
954
  {
950
955
  ...props,
951
956
  offset,
952
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
957
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
953
958
  "z-50 max-w-xs",
954
959
  "rounded-md border border-rule bg-surface shadow-[var(--shadow-raised)]",
955
960
  "px-2.5 py-1.5",
956
961
  "font-mono text-[11.5px] text-ink-2",
957
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-top-1 entering:duration-150",
958
- "exiting:animate-out exiting:fade-out-0 exiting:duration-100",
962
+ "entering:animate-enter-slide-down",
963
+ "exiting:animate-exit-fade",
959
964
  typeof className === "function" ? className(renderProps) : className
960
965
  )
961
966
  }
@@ -1056,7 +1061,7 @@ function BadgeGroup({ children, className, ...props }) {
1056
1061
  {
1057
1062
  ...props,
1058
1063
  ref: rootRef,
1059
- className: chunkMWAXK66H_cjs.cn(badgeGroupStyles({ isMeasuring: measuring }), className),
1064
+ className: chunkNWGG5WFL_cjs.cn(badgeGroupStyles({ isMeasuring: measuring }), className),
1060
1065
  children: [
1061
1066
  shown.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
1062
1067
  "span",
@@ -1225,7 +1230,7 @@ function BadgeMultiSelect({
1225
1230
  setIsOpen(false);
1226
1231
  }
1227
1232
  };
1228
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn("grid grid-cols-1 gap-1.5", className), children: [
1233
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn("grid grid-cols-1 gap-1.5", className), children: [
1229
1234
  label ? /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Label, { className: fieldLabelStyles, children: label }) : null,
1230
1235
  /* @__PURE__ */ jsxRuntime.jsxs(
1231
1236
  "div",
@@ -1242,7 +1247,7 @@ function BadgeMultiSelect({
1242
1247
  onKeyDown: onTriggerKeyDown,
1243
1248
  "data-invalid": isInvalid || void 0,
1244
1249
  "data-disabled": isDisabled || void 0,
1245
- className: chunkMWAXK66H_cjs.cn(
1250
+ className: chunkNWGG5WFL_cjs.cn(
1246
1251
  styles4.box(),
1247
1252
  "flex items-stretch cursor-pointer",
1248
1253
  // Cell editor: one table row (29px under a 32px row) while the chips
@@ -1257,7 +1262,7 @@ function BadgeMultiSelect({
1257
1262
  "div",
1258
1263
  {
1259
1264
  ref: chipsRef,
1260
- className: chunkMWAXK66H_cjs.cn(
1265
+ className: chunkNWGG5WFL_cjs.cn(
1261
1266
  "flex flex-1 flex-wrap items-center gap-1.5 min-w-0",
1262
1267
  isCell && (hasWrapped ? "content-start overflow-y-auto" : "content-center overflow-hidden")
1263
1268
  ),
@@ -1265,7 +1270,7 @@ function BadgeMultiSelect({
1265
1270
  // No vertical padding — wrapper's p-1.5 + min-h-[size] govern the
1266
1271
  // overall height so it matches the Input/Select trigger at the same
1267
1272
  // size.
1268
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkMWAXK66H_cjs.cn("text-ink-4 font-sans px-1", fieldTextStyles[size]), children: placeholder })
1273
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNWGG5WFL_cjs.cn("text-ink-4 font-sans px-1", fieldTextStyles[size]), children: placeholder })
1269
1274
  ) : selectedOptions.map((o) => /* @__PURE__ */ jsxRuntime.jsx(
1270
1275
  Badge,
1271
1276
  {
@@ -1301,7 +1306,7 @@ function BadgeMultiSelect({
1301
1306
  placement: "bottom start",
1302
1307
  isNonModal: true,
1303
1308
  shouldCloseOnInteractOutside: (element) => !triggerRef.current?.contains(element),
1304
- className: chunkMWAXK66H_cjs.cn(
1309
+ className: chunkNWGG5WFL_cjs.cn(
1305
1310
  // At least as wide as the trigger, wider when a badge needs it —
1306
1311
  // a narrow table column must not clip its own options.
1307
1312
  "min-w-[var(--trigger-width)] w-max max-w-[min(28rem,calc(100vw-2rem))]",
@@ -1311,8 +1316,8 @@ function BadgeMultiSelect({
1311
1316
  // (defaultOpen) — no browser outline around the whole panel.
1312
1317
  "outline-none rounded-md border border-rule bg-surface p-1",
1313
1318
  "shadow-[var(--shadow-raised)]",
1314
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-top-1",
1315
- "exiting:animate-out exiting:fade-out-0 exiting:slide-out-to-top-1"
1319
+ "entering:animate-enter-slide-down",
1320
+ "exiting:animate-exit-slide-up"
1316
1321
  ),
1317
1322
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: popoverRef, children: /* @__PURE__ */ jsxRuntime.jsx(
1318
1323
  reactAriaComponents.ListBox,
@@ -1330,14 +1335,14 @@ function BadgeMultiSelect({
1330
1335
  },
1331
1336
  autoFocus: "first",
1332
1337
  className: "outline-none max-h-72 overflow-auto",
1333
- renderEmptyState: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn("px-3 py-2", fieldHintStyles), children: "All options selected" }),
1338
+ renderEmptyState: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn("px-3 py-2", fieldHintStyles), children: "All options selected" }),
1334
1339
  children: listboxOptions.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
1335
1340
  reactAriaComponents.ListBoxItem,
1336
1341
  {
1337
1342
  id: option.id,
1338
1343
  textValue: option.label,
1339
1344
  ...option.isDisabled ? { isDisabled: true } : {},
1340
- className: chunkMWAXK66H_cjs.cn(
1345
+ className: chunkNWGG5WFL_cjs.cn(
1341
1346
  "group flex items-center gap-2.5",
1342
1347
  "rounded-[6px] px-2.5 py-1.5",
1343
1348
  "cursor-pointer outline-none select-none",
@@ -1364,7 +1369,7 @@ function Breadcrumbs({ items, separator = "/", className, ...props }) {
1364
1369
  reactAriaComponents.Breadcrumbs,
1365
1370
  {
1366
1371
  ...props,
1367
- className: chunkMWAXK66H_cjs.cn(
1372
+ className: chunkNWGG5WFL_cjs.cn(
1368
1373
  "flex items-center gap-2",
1369
1374
  "font-mono text-[12px] text-ink-3",
1370
1375
  // RAC renders Breadcrumbs as <ol> — neutralise list defaults.
@@ -1383,7 +1388,7 @@ function Breadcrumbs({ items, separator = "/", className, ...props }) {
1383
1388
  reactAriaComponents.Link,
1384
1389
  {
1385
1390
  href: item.href,
1386
- className: chunkMWAXK66H_cjs.cn(
1391
+ className: chunkNWGG5WFL_cjs.cn(
1387
1392
  "rounded-sm outline-none cursor-pointer",
1388
1393
  "transition-colors duration-150",
1389
1394
  "hover:text-ink",
@@ -1395,7 +1400,7 @@ function Breadcrumbs({ items, separator = "/", className, ...props }) {
1395
1400
  ) : /* @__PURE__ */ jsxRuntime.jsx(
1396
1401
  "span",
1397
1402
  {
1398
- className: chunkMWAXK66H_cjs.cn(isLast && "text-ink font-semibold"),
1403
+ className: chunkNWGG5WFL_cjs.cn(isLast && "text-ink font-semibold"),
1399
1404
  "aria-current": isLast ? "page" : void 0,
1400
1405
  children: item.label
1401
1406
  }
@@ -1433,7 +1438,7 @@ var cardStyles2 = tailwindVariants.tv({
1433
1438
  }
1434
1439
  });
1435
1440
  function Card({ variant, className, ...props }) {
1436
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: chunkMWAXK66H_cjs.cn(cardStyles2({ variant }), className) });
1441
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: chunkNWGG5WFL_cjs.cn(cardStyles2({ variant }), className) });
1437
1442
  }
1438
1443
  var pressableCardStyles = tailwindVariants.tv({
1439
1444
  extend: cardStyles2,
@@ -1451,7 +1456,7 @@ function PressableCard({ variant, className, ...props }) {
1451
1456
  reactAriaComponents.Button,
1452
1457
  {
1453
1458
  ...props,
1454
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
1459
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
1455
1460
  pressableCardStyles({ variant }),
1456
1461
  typeof className === "function" ? className(renderProps) : className
1457
1462
  )
@@ -1463,7 +1468,7 @@ function CardHeader({ className, ...props }) {
1463
1468
  "div",
1464
1469
  {
1465
1470
  ...props,
1466
- className: chunkMWAXK66H_cjs.cn(
1471
+ className: chunkNWGG5WFL_cjs.cn(
1467
1472
  "flex justify-between items-center",
1468
1473
  "px-5 py-3 border-b border-rule",
1469
1474
  "bg-[color-mix(in_oklab,var(--color-surface-2)_60%,var(--color-surface))]",
@@ -1474,14 +1479,14 @@ function CardHeader({ className, ...props }) {
1474
1479
  );
1475
1480
  }
1476
1481
  function CardContent({ className, ...props }) {
1477
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: chunkMWAXK66H_cjs.cn("flex flex-col gap-3 p-5", className) });
1482
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: chunkNWGG5WFL_cjs.cn("flex flex-col gap-3 p-5", className) });
1478
1483
  }
1479
1484
  function CardFooter({ className, ...props }) {
1480
1485
  return /* @__PURE__ */ jsxRuntime.jsx(
1481
1486
  "div",
1482
1487
  {
1483
1488
  ...props,
1484
- className: chunkMWAXK66H_cjs.cn(
1489
+ className: chunkNWGG5WFL_cjs.cn(
1485
1490
  "mt-auto flex justify-between items-center",
1486
1491
  "px-5 py-4",
1487
1492
  "font-mono text-[11.5px] text-ink-4",
@@ -1495,7 +1500,7 @@ function CardEyebrow({ className, ...props }) {
1495
1500
  "div",
1496
1501
  {
1497
1502
  ...props,
1498
- className: chunkMWAXK66H_cjs.cn(
1503
+ className: chunkNWGG5WFL_cjs.cn(
1499
1504
  "flex justify-between items-center",
1500
1505
  "font-mono text-[11px] uppercase tracking-[0.08em] text-ink-4",
1501
1506
  className
@@ -1508,7 +1513,7 @@ function CardTitle({ className, ...props }) {
1508
1513
  "h3",
1509
1514
  {
1510
1515
  ...props,
1511
- className: chunkMWAXK66H_cjs.cn(
1516
+ className: chunkNWGG5WFL_cjs.cn(
1512
1517
  "font-sans font-medium text-[20px] leading-[1.25] tracking-[-0.015em] text-ink",
1513
1518
  className
1514
1519
  )
@@ -1520,7 +1525,7 @@ function CardFeatureTitle({ className, ...props }) {
1520
1525
  "h3",
1521
1526
  {
1522
1527
  ...props,
1523
- className: chunkMWAXK66H_cjs.cn(
1528
+ className: chunkNWGG5WFL_cjs.cn(
1524
1529
  "font-sans font-medium text-[26px] leading-[1.2] tracking-[-0.02em] text-ink",
1525
1530
  className
1526
1531
  )
@@ -1528,7 +1533,7 @@ function CardFeatureTitle({ className, ...props }) {
1528
1533
  );
1529
1534
  }
1530
1535
  function CardBody({ className, ...props }) {
1531
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: chunkMWAXK66H_cjs.cn("text-[14px] leading-[1.55] text-ink-3", className) });
1536
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: chunkNWGG5WFL_cjs.cn("text-[14px] leading-[1.55] text-ink-3", className) });
1532
1537
  }
1533
1538
  var CHANNEL_ICONS = {
1534
1539
  slack: lucideReact.Hash,
@@ -1552,14 +1557,14 @@ function channelIcon(channel) {
1552
1557
  }
1553
1558
  function ChannelIcon({ channel, className, label }) {
1554
1559
  const Icon = channelIcon(channel);
1555
- return label !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: chunkMWAXK66H_cjs.cn("size-4", className), role: "img", "aria-label": label }) : /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: chunkMWAXK66H_cjs.cn("size-4", className), "aria-hidden": true });
1560
+ return label !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: chunkNWGG5WFL_cjs.cn("size-4", className), role: "img", "aria-label": label }) : /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: chunkNWGG5WFL_cjs.cn("size-4", className), "aria-hidden": true });
1556
1561
  }
1557
1562
  function Checkbox({ children, className, ...props }) {
1558
1563
  return /* @__PURE__ */ jsxRuntime.jsx(
1559
1564
  reactAriaComponents.Checkbox,
1560
1565
  {
1561
1566
  ...props,
1562
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
1567
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
1563
1568
  // `relative` so RAC's visually-hidden <input> — which is absolutely
1564
1569
  // positioned and is the element that actually receives focus — is
1565
1570
  // laid out against THIS checkbox. Without a positioned ancestor here
@@ -1577,7 +1582,7 @@ function Checkbox({ children, className, ...props }) {
1577
1582
  "span",
1578
1583
  {
1579
1584
  "aria-hidden": true,
1580
- className: chunkMWAXK66H_cjs.cn(
1585
+ className: chunkNWGG5WFL_cjs.cn(
1581
1586
  "relative inline-flex items-center justify-center shrink-0",
1582
1587
  "size-[18px] rounded-[4px] border bg-surface",
1583
1588
  "border-ink-4",
@@ -1594,7 +1599,7 @@ function Checkbox({ children, className, ...props }) {
1594
1599
  "svg",
1595
1600
  {
1596
1601
  viewBox: "0 0 12 12",
1597
- className: chunkMWAXK66H_cjs.cn(
1602
+ className: chunkNWGG5WFL_cjs.cn(
1598
1603
  "size-3 text-surface transition-opacity duration-150",
1599
1604
  renderProps.isSelected ? "opacity-100" : "opacity-0"
1600
1605
  ),
@@ -1631,7 +1636,7 @@ function CheckboxGroup({
1631
1636
  reactAriaComponents.CheckboxGroup,
1632
1637
  {
1633
1638
  ...props,
1634
- className: (renderProps) => chunkMWAXK66H_cjs.cn("grid gap-2", typeof className === "function" ? className(renderProps) : className),
1639
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn("grid gap-2", typeof className === "function" ? className(renderProps) : className),
1635
1640
  children: [
1636
1641
  label ? /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Label, { className: fieldLabelStyles, children: label }) : null,
1637
1642
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-3", children }),
@@ -1710,14 +1715,14 @@ function ColorInput({
1710
1715
  isInvalid: invalid,
1711
1716
  onBlur: settle,
1712
1717
  ...ariaLabel ? { "aria-label": ariaLabel } : {},
1713
- className: chunkMWAXK66H_cjs.cn("grid grid-cols-1 gap-1.5", className),
1718
+ className: chunkNWGG5WFL_cjs.cn("grid grid-cols-1 gap-1.5", className),
1714
1719
  children: [
1715
1720
  label ? /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Label, { className: fieldLabelStyles, children: label }) : null,
1716
1721
  /* @__PURE__ */ jsxRuntime.jsxs(
1717
1722
  "div",
1718
1723
  {
1719
1724
  "data-disabled": isDisabled || void 0,
1720
- className: chunkMWAXK66H_cjs.cn(
1725
+ className: chunkNWGG5WFL_cjs.cn(
1721
1726
  styles4.box(),
1722
1727
  "flex items-center gap-2",
1723
1728
  size === "sm" ? "pl-2" : "pl-2.5",
@@ -1731,7 +1736,7 @@ function ColorInput({
1731
1736
  "aria-label": "Pick color",
1732
1737
  disabled: isDisabled,
1733
1738
  onClick: () => nativeRef.current?.click(),
1734
- className: chunkMWAXK66H_cjs.cn(
1739
+ className: chunkNWGG5WFL_cjs.cn(
1735
1740
  "relative flex shrink-0 items-center justify-center rounded-sm border border-rule",
1736
1741
  "cursor-pointer outline-none",
1737
1742
  "focus-visible:ring-2 focus-visible:ring-[var(--color-accent)]",
@@ -1764,7 +1769,7 @@ function ColorInput({
1764
1769
  placeholder,
1765
1770
  spellCheck: false,
1766
1771
  autoComplete: "off",
1767
- className: chunkMWAXK66H_cjs.cn(
1772
+ className: chunkNWGG5WFL_cjs.cn(
1768
1773
  styles4.content(),
1769
1774
  "min-w-0 flex-1 bg-transparent font-mono outline-none",
1770
1775
  "pl-0",
@@ -1805,7 +1810,7 @@ function Combobox({
1805
1810
  {
1806
1811
  ...props,
1807
1812
  allowsEmptyCollection,
1808
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
1813
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
1809
1814
  "grid grid-cols-1 gap-1.5",
1810
1815
  typeof className === "function" ? className(renderProps) : className
1811
1816
  ),
@@ -1814,7 +1819,7 @@ function Combobox({
1814
1819
  /* @__PURE__ */ jsxRuntime.jsxs(
1815
1820
  "div",
1816
1821
  {
1817
- className: chunkMWAXK66H_cjs.cn(
1822
+ className: chunkNWGG5WFL_cjs.cn(
1818
1823
  // Box chrome on the wrapper; the inner <input> carries the padding
1819
1824
  // + font so the chevron button sits inside the same border + ring.
1820
1825
  styles4.box(),
@@ -1827,7 +1832,7 @@ function Combobox({
1827
1832
  reactAriaComponents.Input,
1828
1833
  {
1829
1834
  placeholder,
1830
- className: chunkMWAXK66H_cjs.cn(
1835
+ className: chunkNWGG5WFL_cjs.cn(
1831
1836
  "flex-1 min-w-0 bg-transparent outline-none",
1832
1837
  styles4.content(),
1833
1838
  inputClassName
@@ -1837,7 +1842,7 @@ function Combobox({
1837
1842
  /* @__PURE__ */ jsxRuntime.jsx(
1838
1843
  reactAriaComponents.Button,
1839
1844
  {
1840
- className: chunkMWAXK66H_cjs.cn(
1845
+ className: chunkNWGG5WFL_cjs.cn(
1841
1846
  "shrink-0 flex items-center justify-center",
1842
1847
  "size-7 rounded-pill",
1843
1848
  "text-ink-3 hover:text-ink outline-none cursor-pointer"
@@ -1854,18 +1859,18 @@ function Combobox({
1854
1859
  reactAriaComponents.Popover,
1855
1860
  {
1856
1861
  offset: 6,
1857
- className: chunkMWAXK66H_cjs.cn(
1862
+ className: chunkNWGG5WFL_cjs.cn(
1858
1863
  "min-w-[var(--trigger-width)]",
1859
1864
  "rounded-md border border-rule bg-surface p-1",
1860
1865
  "shadow-[var(--shadow-raised)]",
1861
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-top-1",
1862
- "exiting:animate-out exiting:fade-out-0 exiting:slide-out-to-top-1"
1866
+ "entering:animate-enter-slide-down",
1867
+ "exiting:animate-exit-slide-up"
1863
1868
  ),
1864
1869
  children: /* @__PURE__ */ jsxRuntime.jsx(
1865
1870
  reactAriaComponents.ListBox,
1866
1871
  {
1867
1872
  className: "outline-none max-h-72 overflow-auto",
1868
- renderEmptyState: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn("px-3 py-2", fieldHintStyles), children: emptyMessage }),
1873
+ renderEmptyState: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn("px-3 py-2", fieldHintStyles), children: emptyMessage }),
1869
1874
  children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
1870
1875
  ComboboxItem,
1871
1876
  {
@@ -1893,7 +1898,7 @@ function TrailingSlot({ children }) {
1893
1898
  return /* @__PURE__ */ jsxRuntime.jsx(
1894
1899
  "span",
1895
1900
  {
1896
- className: chunkMWAXK66H_cjs.cn(
1901
+ className: chunkNWGG5WFL_cjs.cn(
1897
1902
  "ml-auto pl-2 shrink-0 inline-flex items-center",
1898
1903
  // Hidden by default; revealed when the row is hovered or
1899
1904
  // keyboard-focused. `group/combobox-item` is set on ComboboxItem.
@@ -1919,7 +1924,7 @@ function ComboboxItem(props) {
1919
1924
  reactAriaComponents.ListBoxItem,
1920
1925
  {
1921
1926
  ...props,
1922
- className: chunkMWAXK66H_cjs.cn(
1927
+ className: chunkNWGG5WFL_cjs.cn(
1923
1928
  // `group/combobox-item` exposes hover/focus state to the trailing
1924
1929
  // slot so it can reveal itself only when the row is engaged.
1925
1930
  "group/combobox-item",
@@ -2151,7 +2156,7 @@ function Kbd({ className, children, ...props }) {
2151
2156
  "kbd",
2152
2157
  {
2153
2158
  ...props,
2154
- className: chunkMWAXK66H_cjs.cn(
2159
+ className: chunkNWGG5WFL_cjs.cn(
2155
2160
  "inline-flex items-center justify-center",
2156
2161
  "font-mono text-[10.5px] leading-none text-ink-4",
2157
2162
  "bg-surface-2 border border-rule rounded-[4px]",
@@ -2171,7 +2176,7 @@ function CommandHint({ combo, tone = "subtle", className }) {
2171
2176
  return /* @__PURE__ */ jsxRuntime.jsx(
2172
2177
  Kbd,
2173
2178
  {
2174
- className: chunkMWAXK66H_cjs.cn(
2179
+ className: chunkNWGG5WFL_cjs.cn(
2175
2180
  tone === "prominent" && "bg-ink text-surface border-transparent",
2176
2181
  className
2177
2182
  ),
@@ -2192,7 +2197,7 @@ function Command({ combo, target, className, children }) {
2192
2197
  const el = target ? root.querySelector(target) : root.firstElementChild;
2193
2198
  el?.click();
2194
2199
  });
2195
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: wrapperRef, className: chunkMWAXK66H_cjs.cn("relative inline-block", className), children: [
2200
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: wrapperRef, className: chunkNWGG5WFL_cjs.cn("relative inline-block", className), children: [
2196
2201
  children,
2197
2202
  discoveryActive ? /* @__PURE__ */ jsxRuntime.jsx(
2198
2203
  "div",
@@ -2277,7 +2282,7 @@ function ConversationBriefCard({
2277
2282
  isOpenDisabled = false,
2278
2283
  className
2279
2284
  }) {
2280
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn(styles.root(), className), children: [
2285
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn(styles.root(), className), children: [
2281
2286
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.icon(), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Phone, { className: "size-4", "aria-hidden": true }) }),
2282
2287
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.body(), children: [
2283
2288
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles.eyebrow(), children: eyebrow }),
@@ -2315,7 +2320,7 @@ function Select({
2315
2320
  reactAriaComponents.Select,
2316
2321
  {
2317
2322
  ...props,
2318
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
2323
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
2319
2324
  "grid grid-cols-1 gap-1.5",
2320
2325
  typeof className === "function" ? className(renderProps) : className
2321
2326
  ),
@@ -2324,7 +2329,7 @@ function Select({
2324
2329
  /* @__PURE__ */ jsxRuntime.jsxs(
2325
2330
  reactAriaComponents.Button,
2326
2331
  {
2327
- className: chunkMWAXK66H_cjs.cn(
2332
+ className: chunkNWGG5WFL_cjs.cn(
2328
2333
  styles4.box(),
2329
2334
  styles4.content(),
2330
2335
  "flex items-center justify-between gap-3 text-left cursor-pointer",
@@ -2342,7 +2347,7 @@ function Select({
2342
2347
  reactAriaComponents.Popover,
2343
2348
  {
2344
2349
  offset: 6,
2345
- className: chunkMWAXK66H_cjs.cn(
2350
+ className: chunkNWGG5WFL_cjs.cn(
2346
2351
  // Match the trigger width exactly (RAC exposes --trigger-width on
2347
2352
  // the Popover when anchored to a Select button).
2348
2353
  "w-[var(--trigger-width)]",
@@ -2351,8 +2356,8 @@ function Select({
2351
2356
  "z-[1300]",
2352
2357
  "rounded-md border border-rule bg-surface p-1",
2353
2358
  "shadow-[var(--shadow-raised)]",
2354
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-top-1",
2355
- "exiting:animate-out exiting:fade-out-0 exiting:slide-out-to-top-1",
2359
+ "entering:animate-enter-slide-down",
2360
+ "exiting:animate-exit-slide-up",
2356
2361
  popoverClassName
2357
2362
  ),
2358
2363
  children: [
@@ -2366,7 +2371,7 @@ function Select({
2366
2371
  },
2367
2372
  option.id
2368
2373
  )) }),
2369
- options.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn("px-3 py-2", fieldHintStyles), children: placeholder }) : null
2374
+ options.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn("px-3 py-2", fieldHintStyles), children: placeholder }) : null
2370
2375
  ]
2371
2376
  }
2372
2377
  )
@@ -2379,7 +2384,7 @@ function SelectItem(props) {
2379
2384
  reactAriaComponents.ListBoxItem,
2380
2385
  {
2381
2386
  ...props,
2382
- className: chunkMWAXK66H_cjs.cn(
2387
+ className: chunkNWGG5WFL_cjs.cn(
2383
2388
  "flex items-center justify-between gap-3",
2384
2389
  "rounded-[6px] px-3 py-2 text-[14px] text-ink-2",
2385
2390
  "cursor-pointer outline-none select-none",
@@ -2436,7 +2441,7 @@ function ConversationBriefPreview({
2436
2441
  react.useEffect(() => {
2437
2442
  onSelectionChangeRef.current?.(contact, phoneNumber);
2438
2443
  }, [contact, phoneNumber]);
2439
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn("flex flex-col gap-3", className), children: [
2444
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn("flex flex-col gap-3", className), children: [
2440
2445
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
2441
2446
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[14px] font-semibold text-ink", children: brief.subject || names || "Prepared conversation" }),
2442
2447
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-mono text-[10.5px] text-ink-4", children: [
@@ -2450,7 +2455,7 @@ function ConversationBriefPreview({
2450
2455
  /* @__PURE__ */ jsxRuntime.jsx(
2451
2456
  "div",
2452
2457
  {
2453
- className: chunkMWAXK66H_cjs.cn(
2458
+ className: chunkNWGG5WFL_cjs.cn(
2454
2459
  "rounded-md border border-rule-2 bg-surface-2/60 px-3 py-2.5",
2455
2460
  "text-[13px] leading-relaxed text-ink-2 overflow-y-auto [scrollbar-width:thin]",
2456
2461
  renderContent ? null : "whitespace-pre-wrap",
@@ -2464,7 +2469,7 @@ function ConversationBriefPreview({
2464
2469
  {
2465
2470
  "aria-label": "Edit brief",
2466
2471
  onPress: onEdit,
2467
- className: chunkMWAXK66H_cjs.cn(
2472
+ className: chunkNWGG5WFL_cjs.cn(
2468
2473
  "absolute right-1.5 top-1.5 inline-flex size-7 cursor-pointer items-center justify-center",
2469
2474
  "rounded-md bg-surface/80 text-ink-3 outline-none transition-opacity",
2470
2475
  "opacity-0 group-hover/brief-content:opacity-100 focus-visible:opacity-100",
@@ -2500,7 +2505,7 @@ function ConversationBriefPreview({
2500
2505
  controls,
2501
2506
  callDisabledReason ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[12px] text-warning", children: callDisabledReason }) : null,
2502
2507
  isCallButtonHidden ? null : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsxs(
2503
- chunkMWAXK66H_cjs.Button,
2508
+ chunkNWGG5WFL_cjs.Button,
2504
2509
  {
2505
2510
  isDisabled: isCallDisabled || !isOpen || phoneNumber === "" || !contact,
2506
2511
  onPress: () => contact && onCall(contact, phoneNumber),
@@ -2520,7 +2525,9 @@ function ModalContent({
2520
2525
  children,
2521
2526
  className,
2522
2527
  modalClassName,
2528
+ dialogClassName,
2523
2529
  isDismissable = true,
2530
+ "aria-label": ariaLabel,
2524
2531
  ...props
2525
2532
  }) {
2526
2533
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -2528,18 +2535,18 @@ function ModalContent({
2528
2535
  {
2529
2536
  isDismissable,
2530
2537
  ...props,
2531
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
2538
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
2532
2539
  "fixed inset-0 z-50 flex items-center justify-center p-4",
2533
2540
  // Warm ink scrim — stays in the Proteos palette (no pure black).
2534
2541
  "bg-[color-mix(in_oklab,var(--color-ink)_40%,transparent)]",
2535
- "entering:animate-in entering:fade-in-0 entering:duration-150",
2536
- "exiting:animate-out exiting:fade-out-0 exiting:duration-100",
2542
+ "entering:animate-enter-fade",
2543
+ "exiting:animate-exit-fade",
2537
2544
  typeof className === "function" ? className(renderProps) : className
2538
2545
  ),
2539
2546
  children: /* @__PURE__ */ jsxRuntime.jsx(
2540
2547
  reactAriaComponents.Modal,
2541
2548
  {
2542
- className: chunkMWAXK66H_cjs.cn(
2549
+ className: chunkNWGG5WFL_cjs.cn(
2543
2550
  "w-full max-w-lg",
2544
2551
  // Cap the panel at the viewport (minus the overlay's p-4) and lay it
2545
2552
  // out as a column so a tall body scrolls instead of overflowing the
@@ -2547,18 +2554,25 @@ function ModalContent({
2547
2554
  "flex flex-col max-h-[calc(100dvh-2rem)]",
2548
2555
  "bg-surface border border-rule rounded-lg",
2549
2556
  "shadow-[var(--shadow-float)]",
2550
- "entering:animate-in entering:zoom-in-95 entering:slide-in-from-top-2 entering:duration-150",
2551
- "exiting:animate-out exiting:zoom-out-95 exiting:duration-100",
2557
+ "entering:animate-enter-zoom",
2558
+ "exiting:animate-exit-zoom",
2552
2559
  modalClassName
2553
2560
  ),
2554
- children: /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Dialog, { className: "outline-none flex flex-col min-h-0 overflow-hidden", children })
2561
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2562
+ reactAriaComponents.Dialog,
2563
+ {
2564
+ className: chunkNWGG5WFL_cjs.cn("outline-none flex flex-col min-h-0 overflow-hidden", dialogClassName),
2565
+ ...ariaLabel !== void 0 ? { "aria-label": ariaLabel } : {},
2566
+ children
2567
+ }
2568
+ )
2555
2569
  }
2556
2570
  )
2557
2571
  }
2558
2572
  );
2559
2573
  }
2560
2574
  function ModalHeader({ className, ...props }) {
2561
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: chunkMWAXK66H_cjs.cn("shrink-0 px-5 pt-5 pb-3 flex flex-col gap-1.5", className) });
2575
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ...props, className: chunkNWGG5WFL_cjs.cn("shrink-0 px-5 pt-5 pb-3 flex flex-col gap-1.5", className) });
2562
2576
  }
2563
2577
  function ModalTitle({ className, ...props }) {
2564
2578
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -2566,7 +2580,7 @@ function ModalTitle({ className, ...props }) {
2566
2580
  {
2567
2581
  slot: "title",
2568
2582
  ...props,
2569
- className: chunkMWAXK66H_cjs.cn(
2583
+ className: chunkNWGG5WFL_cjs.cn(
2570
2584
  "font-sans font-medium text-[20px] leading-[1.25] tracking-[-0.015em] text-ink",
2571
2585
  className
2572
2586
  )
@@ -2574,14 +2588,14 @@ function ModalTitle({ className, ...props }) {
2574
2588
  );
2575
2589
  }
2576
2590
  function ModalDescription({ className, ...props }) {
2577
- return /* @__PURE__ */ jsxRuntime.jsx("p", { ...props, className: chunkMWAXK66H_cjs.cn("text-[14px] leading-[1.55] text-ink-3", className) });
2591
+ return /* @__PURE__ */ jsxRuntime.jsx("p", { ...props, className: chunkNWGG5WFL_cjs.cn("text-[14px] leading-[1.55] text-ink-3", className) });
2578
2592
  }
2579
2593
  function ModalBody({ className, ...props }) {
2580
2594
  return /* @__PURE__ */ jsxRuntime.jsx(
2581
2595
  "div",
2582
2596
  {
2583
2597
  ...props,
2584
- className: chunkMWAXK66H_cjs.cn(
2598
+ className: chunkNWGG5WFL_cjs.cn(
2585
2599
  // The scroll region: caps at the panel's spare height and scrolls when
2586
2600
  // the content is taller, leaving header + footer pinned.
2587
2601
  "min-h-0 overflow-y-auto px-5 py-3 flex flex-col gap-3 text-[14px] text-ink-2",
@@ -2595,7 +2609,7 @@ function ModalFooter({ className, ...props }) {
2595
2609
  "div",
2596
2610
  {
2597
2611
  ...props,
2598
- className: chunkMWAXK66H_cjs.cn("shrink-0 flex justify-end items-center gap-2", "px-5 pt-3 pb-5", className)
2612
+ className: chunkNWGG5WFL_cjs.cn("shrink-0 flex justify-end items-center gap-2", "px-5 pt-3 pb-5", className)
2599
2613
  }
2600
2614
  );
2601
2615
  }
@@ -2757,12 +2771,12 @@ function CurrencyInput({
2757
2771
  const selectedSymbol = currencyOptions.find((option) => option.code === code)?.symbol ?? code;
2758
2772
  const styles4 = fieldControlStyles({ size, appearance, ...isInvalid ? { invalid: true } : {} });
2759
2773
  const focusWithin = appearance === "cell" ? "focus-within:border-accent focus-within:shadow-none" : "focus-within:border-accent focus-within:shadow-[var(--shadow-focus)]";
2760
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn("grid grid-cols-1 gap-1.5", className), children: [
2761
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn(styles4.box(), "flex items-center gap-1 pr-1", focusWithin), children: [
2774
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn("grid grid-cols-1 gap-1.5", className), children: [
2775
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn(styles4.box(), "flex items-center gap-1 pr-1", focusWithin), children: [
2762
2776
  /* @__PURE__ */ jsxRuntime.jsx(
2763
2777
  "input",
2764
2778
  {
2765
- className: chunkMWAXK66H_cjs.cn(
2779
+ className: chunkNWGG5WFL_cjs.cn(
2766
2780
  "min-w-0 flex-1 bg-transparent text-ink outline-none tabular-nums",
2767
2781
  styles4.content(),
2768
2782
  // Sit a touch lower than a standard field by trimming the vertical
@@ -2803,7 +2817,7 @@ function CurrencyInput({
2803
2817
  /* @__PURE__ */ jsxRuntime.jsxs(
2804
2818
  reactAriaComponents.Button,
2805
2819
  {
2806
- className: chunkMWAXK66H_cjs.cn(
2820
+ className: chunkNWGG5WFL_cjs.cn(
2807
2821
  "inline-flex h-6 shrink-0 items-center gap-0.5 rounded-md px-1.5",
2808
2822
  "text-ink-2 outline-none hover:bg-surface-2 hover:text-ink",
2809
2823
  "cursor-pointer focus-visible:shadow-[var(--shadow-focus)]",
@@ -2819,18 +2833,18 @@ function CurrencyInput({
2819
2833
  reactAriaComponents.Popover,
2820
2834
  {
2821
2835
  offset: 6,
2822
- className: chunkMWAXK66H_cjs.cn(
2836
+ className: chunkNWGG5WFL_cjs.cn(
2823
2837
  "min-w-[9rem] rounded-md border border-rule bg-surface p-1",
2824
2838
  "shadow-[var(--shadow-raised)]",
2825
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-top-1",
2826
- "exiting:animate-out exiting:fade-out-0 exiting:slide-out-to-top-1"
2839
+ "entering:animate-enter-slide-down",
2840
+ "exiting:animate-exit-slide-up"
2827
2841
  ),
2828
2842
  children: /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.ListBox, { className: "max-h-72 overflow-auto outline-none", children: currencyOptions.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
2829
2843
  reactAriaComponents.ListBoxItem,
2830
2844
  {
2831
2845
  id: option.code,
2832
2846
  textValue: `${option.symbol ?? ""} ${option.code}`,
2833
- className: chunkMWAXK66H_cjs.cn(
2847
+ className: chunkNWGG5WFL_cjs.cn(
2834
2848
  "flex items-center gap-2 rounded-[6px] px-2.5 py-1.5 text-[14px] text-ink-2",
2835
2849
  "cursor-pointer select-none outline-none",
2836
2850
  "data-[hovered]:bg-surface-2 data-[hovered]:text-ink",
@@ -2892,12 +2906,12 @@ function DateTimeCell({
2892
2906
  }
2893
2907
  function BooleanCell({ value, className }) {
2894
2908
  if (value === true) {
2895
- return /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-label": "true", className: chunkMWAXK66H_cjs.cn("text-success", className), children: /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, {}) });
2909
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-label": "true", className: chunkNWGG5WFL_cjs.cn("text-success", className), children: /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, {}) });
2896
2910
  }
2897
2911
  if (value === false) {
2898
- return /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-label": "false", className: chunkMWAXK66H_cjs.cn("text-ink-4", className), children: /* @__PURE__ */ jsxRuntime.jsx(MinusIcon, {}) });
2912
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-label": "false", className: chunkNWGG5WFL_cjs.cn("text-ink-4", className), children: /* @__PURE__ */ jsxRuntime.jsx(MinusIcon, {}) });
2899
2913
  }
2900
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkMWAXK66H_cjs.cn("text-ink-4", className), children: "\u2014" });
2914
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNWGG5WFL_cjs.cn("text-ink-4", className), children: "\u2014" });
2901
2915
  }
2902
2916
  function CheckIcon() {
2903
2917
  return /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -2916,7 +2930,7 @@ function MinusIcon() {
2916
2930
  }
2917
2931
  function TruncateCell({ value, title, className }) {
2918
2932
  const tooltip = title ?? (typeof value === "string" ? value : void 0);
2919
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkMWAXK66H_cjs.cn("truncate min-w-0", className), title: tooltip, children: value ?? "\u2014" });
2933
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNWGG5WFL_cjs.cn("truncate min-w-0", className), title: tooltip, children: value ?? "\u2014" });
2920
2934
  }
2921
2935
  function LinkCell({ children, onClick, className, ...props }) {
2922
2936
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -2927,7 +2941,7 @@ function LinkCell({ children, onClick, className, ...props }) {
2927
2941
  e.stopPropagation();
2928
2942
  onClick?.(e);
2929
2943
  },
2930
- className: chunkMWAXK66H_cjs.cn(
2944
+ className: chunkNWGG5WFL_cjs.cn(
2931
2945
  "text-ink underline decoration-rule underline-offset-2 hover:decoration-ink",
2932
2946
  className
2933
2947
  ),
@@ -2948,7 +2962,7 @@ var tableStyles = tailwindVariants.tv({
2948
2962
  defaultVariants: { variant: "panel" }
2949
2963
  });
2950
2964
  function Table({ variant, className, ...props }) {
2951
- return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "grid", ...props, className: chunkMWAXK66H_cjs.cn(tableStyles({ variant }), className) });
2965
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "grid", ...props, className: chunkNWGG5WFL_cjs.cn(tableStyles({ variant }), className) });
2952
2966
  }
2953
2967
  var tableHeaderStyles = tailwindVariants.tv({
2954
2968
  base: [
@@ -2964,7 +2978,7 @@ var tableHeaderStyles = tailwindVariants.tv({
2964
2978
  defaultVariants: { sticky: false }
2965
2979
  });
2966
2980
  function TableHeader({ sticky, className, ...props }) {
2967
- return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "row", ...props, className: chunkMWAXK66H_cjs.cn(tableHeaderStyles({ sticky }), className) });
2981
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "row", ...props, className: chunkNWGG5WFL_cjs.cn(tableHeaderStyles({ sticky }), className) });
2968
2982
  }
2969
2983
  var tableHeaderCellStyles = tailwindVariants.tv({
2970
2984
  base: [
@@ -3141,7 +3155,7 @@ function TableHeaderCell({
3141
3155
  style: { ...widthStyle, ...style },
3142
3156
  onClick: handleClick,
3143
3157
  onKeyDown: handleKeyDown,
3144
- className: chunkMWAXK66H_cjs.cn(
3158
+ className: chunkNWGG5WFL_cjs.cn(
3145
3159
  tableHeaderCellStyles({ align, interactive: isSortable, active, sticky }),
3146
3160
  "group/header",
3147
3161
  dragState.kind === "dragging" ? "opacity-40" : "",
@@ -3154,7 +3168,7 @@ function TableHeaderCell({
3154
3168
  ref: handleRef,
3155
3169
  "data-dnd-handle": "true",
3156
3170
  "aria-hidden": "true",
3157
- className: chunkMWAXK66H_cjs.cn(
3171
+ className: chunkNWGG5WFL_cjs.cn(
3158
3172
  "inline-flex items-center justify-center shrink-0 -ml-1.5",
3159
3173
  "cursor-grab active:cursor-grabbing text-ink-4",
3160
3174
  "opacity-0 group-hover/header:opacity-100 transition-opacity"
@@ -3165,7 +3179,7 @@ function TableHeaderCell({
3165
3179
  /* @__PURE__ */ jsxRuntime.jsxs(
3166
3180
  "span",
3167
3181
  {
3168
- className: chunkMWAXK66H_cjs.cn(
3182
+ className: chunkNWGG5WFL_cjs.cn(
3169
3183
  "flex items-center gap-[7px] min-w-0 flex-1",
3170
3184
  align === "right" ? "justify-end" : align === "center" ? "justify-center" : "justify-start"
3171
3185
  ),
@@ -3185,7 +3199,7 @@ function TableHeaderCell({
3185
3199
  e.stopPropagation();
3186
3200
  onRemove();
3187
3201
  },
3188
- className: chunkMWAXK66H_cjs.cn(
3202
+ className: chunkNWGG5WFL_cjs.cn(
3189
3203
  "inline-flex items-center justify-center shrink-0 size-4 rounded",
3190
3204
  "text-ink-4 hover:text-ink hover:bg-surface-2",
3191
3205
  "opacity-0 group-hover/header:opacity-100 focus-visible:opacity-100",
@@ -3198,7 +3212,7 @@ function TableHeaderCell({
3198
3212
  "div",
3199
3213
  {
3200
3214
  "aria-hidden": "true",
3201
- className: chunkMWAXK66H_cjs.cn(
3215
+ className: chunkNWGG5WFL_cjs.cn(
3202
3216
  "pointer-events-none absolute inset-y-0 z-10 w-0.5 bg-accent",
3203
3217
  dragState.edge === "left" ? "-left-px" : "-right-px"
3204
3218
  )
@@ -3223,7 +3237,7 @@ function TableHeaderCell({
3223
3237
  onPointerDown: startResize,
3224
3238
  onKeyDown: resizeByKey,
3225
3239
  onClick: (e) => e.stopPropagation(),
3226
- className: chunkMWAXK66H_cjs.cn(
3240
+ className: chunkNWGG5WFL_cjs.cn(
3227
3241
  "group/resize absolute inset-y-0 -right-1 z-10 w-2 cursor-col-resize outline-none",
3228
3242
  "flex justify-center"
3229
3243
  ),
@@ -3231,7 +3245,7 @@ function TableHeaderCell({
3231
3245
  "span",
3232
3246
  {
3233
3247
  "aria-hidden": "true",
3234
- className: chunkMWAXK66H_cjs.cn(
3248
+ className: chunkNWGG5WFL_cjs.cn(
3235
3249
  "h-full w-0.5 transition-colors",
3236
3250
  isResizing ? "bg-accent" : "bg-transparent group-hover/resize:bg-accent group-focus-visible/resize:bg-accent"
3237
3251
  )
@@ -3252,7 +3266,7 @@ function SortIcon({ dir, active }) {
3252
3266
  height: "11",
3253
3267
  viewBox: "0 0 8 11",
3254
3268
  "aria-hidden": "true",
3255
- className: chunkMWAXK66H_cjs.cn("shrink-0", active ? "text-accent" : "text-ink-4"),
3269
+ className: chunkNWGG5WFL_cjs.cn("shrink-0", active ? "text-accent" : "text-ink-4"),
3256
3270
  children: [
3257
3271
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 0.5 L7.5 4 L0.5 4 Z", fill: "currentColor", opacity: dir === "asc" ? 1 : 0.22 }),
3258
3272
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 10.5 L0.5 7 L7.5 7 Z", fill: "currentColor", opacity: dir === "desc" ? 1 : 0.22 })
@@ -3266,7 +3280,7 @@ function TableHeaderSpacer({ className, ...props }) {
3266
3280
  {
3267
3281
  "aria-hidden": "true",
3268
3282
  ...props,
3269
- className: chunkMWAXK66H_cjs.cn("flex-1 h-[36px] border-r-0", "bg-transparent pointer-events-none", className)
3283
+ className: chunkNWGG5WFL_cjs.cn("flex-1 h-[36px] border-r-0", "bg-transparent pointer-events-none", className)
3270
3284
  }
3271
3285
  );
3272
3286
  }
@@ -3286,7 +3300,7 @@ var tableBodyStyles = tailwindVariants.tv({
3286
3300
  base: ["flex-1 min-h-0 overflow-auto relative", ...scrollbarChrome]
3287
3301
  });
3288
3302
  function TableBody({ className, ref, ...props }) {
3289
- return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "rowgroup", ref, ...props, className: chunkMWAXK66H_cjs.cn(tableBodyStyles(), className) });
3303
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "rowgroup", ref, ...props, className: chunkNWGG5WFL_cjs.cn(tableBodyStyles(), className) });
3290
3304
  }
3291
3305
  var tableScrollerStyles = tailwindVariants.tv({
3292
3306
  base: ["relative flex-1 min-h-0 overflow-auto", ...scrollbarChrome]
@@ -3298,7 +3312,7 @@ function TableScroller({ className, ref, ...props }) {
3298
3312
  role: "presentation",
3299
3313
  ref,
3300
3314
  ...props,
3301
- className: chunkMWAXK66H_cjs.cn(tableScrollerStyles(), className)
3315
+ className: chunkNWGG5WFL_cjs.cn(tableScrollerStyles(), className)
3302
3316
  }
3303
3317
  );
3304
3318
  }
@@ -3350,7 +3364,7 @@ function TableRow({
3350
3364
  onClick?.(e);
3351
3365
  onRowClick?.(e);
3352
3366
  },
3353
- className: chunkMWAXK66H_cjs.cn(tableRowStyles({ alt, interactive, absolute }), className)
3367
+ className: chunkNWGG5WFL_cjs.cn(tableRowStyles({ alt, interactive, absolute }), className)
3354
3368
  }
3355
3369
  );
3356
3370
  }
@@ -3404,7 +3418,7 @@ function TableCell({
3404
3418
  role: "gridcell",
3405
3419
  ...props,
3406
3420
  style: { ...widthStyle, ...style },
3407
- className: chunkMWAXK66H_cjs.cn(tableCellStyles({ align, mono, ink, sticky }), className)
3421
+ className: chunkNWGG5WFL_cjs.cn(tableCellStyles({ align, mono, ink, sticky }), className)
3408
3422
  }
3409
3423
  );
3410
3424
  }
@@ -3419,7 +3433,7 @@ function DataTableEmpty({
3419
3433
  "div",
3420
3434
  {
3421
3435
  role: "status",
3422
- className: chunkMWAXK66H_cjs.cn(
3436
+ className: chunkNWGG5WFL_cjs.cn(
3423
3437
  "flex flex-col items-center justify-center gap-2",
3424
3438
  "px-5 py-16 text-center",
3425
3439
  "font-sans text-[13px] text-ink-3",
@@ -3439,7 +3453,7 @@ function DataTableError({ error, onRetry, className }) {
3439
3453
  "div",
3440
3454
  {
3441
3455
  role: "alert",
3442
- className: chunkMWAXK66H_cjs.cn(
3456
+ className: chunkNWGG5WFL_cjs.cn(
3443
3457
  "flex flex-col items-center justify-center gap-3",
3444
3458
  "px-5 py-16 text-center",
3445
3459
  "font-sans text-[13px] text-ink-3",
@@ -3448,7 +3462,7 @@ function DataTableError({ error, onRetry, className }) {
3448
3462
  children: [
3449
3463
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-danger text-[14px]", children: "Something went wrong" }),
3450
3464
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-ink-3 max-w-[48ch] font-mono text-[12px]", children: error.message }),
3451
- onRetry ? /* @__PURE__ */ jsxRuntime.jsx(chunkMWAXK66H_cjs.Button, { variant: "ghost", size: "sm", onPress: onRetry, children: "Retry" }) : null
3465
+ onRetry ? /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Button, { variant: "ghost", size: "sm", onPress: onRetry, children: "Retry" }) : null
3452
3466
  ]
3453
3467
  }
3454
3468
  );
@@ -3467,7 +3481,7 @@ function DataTableSkeleton({
3467
3481
  TableCell,
3468
3482
  {
3469
3483
  width: w,
3470
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkMWAXK66H_cjs.Skeleton, { shape: "text", className: "h-3 max-w-[60%]" })
3484
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Skeleton, { shape: "text", className: "h-3 max-w-[60%]" })
3471
3485
  },
3472
3486
  colIdx
3473
3487
  ))
@@ -3746,12 +3760,12 @@ function DataTable({
3746
3760
  {
3747
3761
  ...ariaLabel !== void 0 ? { "aria-label": ariaLabel } : {},
3748
3762
  variant,
3749
- className: chunkMWAXK66H_cjs.cn("flex-1 min-h-0", className),
3763
+ className: chunkNWGG5WFL_cjs.cn("flex-1 min-h-0", className),
3750
3764
  children: /* @__PURE__ */ jsxRuntime.jsx(
3751
3765
  TableScroller,
3752
3766
  {
3753
3767
  ref: scrollerRef,
3754
- className: chunkMWAXK66H_cjs.cn("scroll-pt-[36px]", bodyAfter ? "scroll-pb-8" : void 0),
3768
+ className: chunkNWGG5WFL_cjs.cn("scroll-pt-[36px]", bodyAfter ? "scroll-pb-8" : void 0),
3755
3769
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", style: { minWidth: minPanelWidth }, children: [
3756
3770
  headerGroups.map((group) => /* @__PURE__ */ jsxRuntime.jsxs(TableHeader, { sticky: true, children: [
3757
3771
  group.headers.map((header) => {
@@ -3838,7 +3852,7 @@ function DataTable({
3838
3852
  /* @__PURE__ */ jsxRuntime.jsx(
3839
3853
  "div",
3840
3854
  {
3841
- className: chunkMWAXK66H_cjs.cn(
3855
+ className: chunkNWGG5WFL_cjs.cn(
3842
3856
  "sticky bottom-0 z-[4] flex items-center h-8 px-0.5",
3843
3857
  "border-t border-rule-2 bg-bg"
3844
3858
  ),
@@ -3858,7 +3872,7 @@ function GroupHeaderRow({ style, children }) {
3858
3872
  {
3859
3873
  absolute: true,
3860
3874
  style,
3861
- className: chunkMWAXK66H_cjs.cn(
3875
+ className: chunkNWGG5WFL_cjs.cn(
3862
3876
  "bg-surface-2 border-b border-rule",
3863
3877
  "font-mono text-[11px] uppercase tracking-[0.06em] text-ink-3"
3864
3878
  ),
@@ -3880,7 +3894,7 @@ function DataRow({
3880
3894
  const cells = row.getVisibleCells().map((cell) => {
3881
3895
  const meta = cell.column.columnDef.meta;
3882
3896
  const cellSize = cell.column.getSize() || void 0;
3883
- const cellClassName = chunkMWAXK66H_cjs.cn(
3897
+ const cellClassName = chunkNWGG5WFL_cjs.cn(
3884
3898
  columnBorders ? "border-r border-rule-2" : void 0,
3885
3899
  meta?.cellClassName
3886
3900
  );
@@ -3923,7 +3937,7 @@ function LoaderRow() {
3923
3937
  return /* @__PURE__ */ jsxRuntime.jsxs(
3924
3938
  "div",
3925
3939
  {
3926
- className: chunkMWAXK66H_cjs.cn(
3940
+ className: chunkNWGG5WFL_cjs.cn(
3927
3941
  "flex items-center justify-center gap-3",
3928
3942
  "h-8 font-mono text-[11px] tracking-[0.04em]",
3929
3943
  "text-ink-4"
@@ -4015,7 +4029,7 @@ function CalendarSurface() {
4015
4029
  {
4016
4030
  slot: "previous",
4017
4031
  "aria-label": "Previous month",
4018
- className: chunkMWAXK66H_cjs.cn(
4032
+ className: chunkNWGG5WFL_cjs.cn(
4019
4033
  "size-7 rounded-md inline-flex items-center justify-center",
4020
4034
  "text-ink-3 hover:text-ink hover:bg-surface-2 cursor-pointer outline-none",
4021
4035
  "focus-visible:shadow-[var(--shadow-focus)]"
@@ -4029,7 +4043,7 @@ function CalendarSurface() {
4029
4043
  {
4030
4044
  slot: "next",
4031
4045
  "aria-label": "Next month",
4032
- className: chunkMWAXK66H_cjs.cn(
4046
+ className: chunkNWGG5WFL_cjs.cn(
4033
4047
  "size-7 rounded-md inline-flex items-center justify-center",
4034
4048
  "text-ink-3 hover:text-ink hover:bg-surface-2 cursor-pointer outline-none",
4035
4049
  "focus-visible:shadow-[var(--shadow-focus)]"
@@ -4042,7 +4056,7 @@ function CalendarSurface() {
4042
4056
  /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.CalendarGridHeader, { children: (day) => /* @__PURE__ */ jsxRuntime.jsx(
4043
4057
  reactAriaComponents.CalendarHeaderCell,
4044
4058
  {
4045
- className: chunkMWAXK66H_cjs.cn(
4059
+ className: chunkNWGG5WFL_cjs.cn(
4046
4060
  "font-mono text-[10.5px] uppercase tracking-[0.08em] text-ink-4",
4047
4061
  "pb-2 text-center"
4048
4062
  ),
@@ -4053,7 +4067,7 @@ function CalendarSurface() {
4053
4067
  reactAriaComponents.CalendarCell,
4054
4068
  {
4055
4069
  date,
4056
- className: chunkMWAXK66H_cjs.cn(
4070
+ className: chunkNWGG5WFL_cjs.cn(
4057
4071
  // aspect-square + table-fixed makes each cell a perfect
4058
4072
  // square that scales with popover width.
4059
4073
  "aspect-square flex items-center justify-center cursor-pointer",
@@ -4062,7 +4076,7 @@ function CalendarSurface() {
4062
4076
  "data-[outside-month]:text-ink-4",
4063
4077
  "data-[hovered]:bg-surface-2 data-[hovered]:text-ink",
4064
4078
  "data-[focus-visible]:shadow-[var(--shadow-focus)]",
4065
- "data-[selected]:bg-accent data-[selected]:text-[#f0efe8]",
4079
+ "data-[selected]:bg-accent data-[selected]:text-tile-fg",
4066
4080
  "data-[selected]:data-[hovered]:bg-accent-2",
4067
4081
  "data-[disabled]:opacity-30 data-[disabled]:cursor-not-allowed",
4068
4082
  "data-[unavailable]:line-through data-[unavailable]:text-ink-4"
@@ -4087,7 +4101,7 @@ function DatePicker({
4087
4101
  reactAriaComponents.DatePicker,
4088
4102
  {
4089
4103
  ...props,
4090
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
4104
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
4091
4105
  "grid grid-cols-1 gap-1.5",
4092
4106
  typeof className === "function" ? className(renderProps) : className
4093
4107
  ),
@@ -4096,7 +4110,7 @@ function DatePicker({
4096
4110
  /* @__PURE__ */ jsxRuntime.jsxs(
4097
4111
  reactAriaComponents.Group,
4098
4112
  {
4099
- className: chunkMWAXK66H_cjs.cn(
4113
+ className: chunkNWGG5WFL_cjs.cn(
4100
4114
  // Box chrome on the wrapper; the DateInput inside carries padding +
4101
4115
  // font so the calendar trigger sits inside the same border + ring.
4102
4116
  styles4.box(),
@@ -4107,7 +4121,7 @@ function DatePicker({
4107
4121
  /* @__PURE__ */ jsxRuntime.jsx(
4108
4122
  reactAriaComponents.DateInput,
4109
4123
  {
4110
- className: chunkMWAXK66H_cjs.cn(
4124
+ className: chunkNWGG5WFL_cjs.cn(
4111
4125
  "flex-1 flex items-center min-w-0 text-ink",
4112
4126
  styles4.content(),
4113
4127
  // Tabular alignment for date segments — overrides content's
@@ -4118,12 +4132,12 @@ function DatePicker({
4118
4132
  reactAriaComponents.DateSegment,
4119
4133
  {
4120
4134
  segment,
4121
- className: chunkMWAXK66H_cjs.cn(
4135
+ className: chunkNWGG5WFL_cjs.cn(
4122
4136
  "px-px tabular-nums outline-none select-none",
4123
4137
  "data-[placeholder]:text-ink-4",
4124
4138
  "data-[type=literal]:text-ink-4",
4125
4139
  // segment focus treatment: indigo fill, paper text
4126
- "data-[focused]:bg-accent data-[focused]:text-[#f0efe8] data-[focused]:rounded-[3px]",
4140
+ "data-[focused]:bg-accent data-[focused]:text-tile-fg data-[focused]:rounded-[3px]",
4127
4141
  "data-[disabled]:cursor-not-allowed"
4128
4142
  )
4129
4143
  }
@@ -4133,7 +4147,7 @@ function DatePicker({
4133
4147
  /* @__PURE__ */ jsxRuntime.jsx(
4134
4148
  reactAriaComponents.Button,
4135
4149
  {
4136
- className: chunkMWAXK66H_cjs.cn(
4150
+ className: chunkNWGG5WFL_cjs.cn(
4137
4151
  "shrink-0 inline-flex items-center justify-center",
4138
4152
  "size-7 rounded-md",
4139
4153
  "text-ink-3 hover:text-ink hover:bg-surface-2",
@@ -4153,7 +4167,7 @@ function DatePicker({
4153
4167
  reactAriaComponents.Popover,
4154
4168
  {
4155
4169
  offset: 6,
4156
- className: chunkMWAXK66H_cjs.cn(
4170
+ className: chunkNWGG5WFL_cjs.cn(
4157
4171
  // Match the anchoring field's width exactly. `--trigger-width` is
4158
4172
  // set by RAC on the Popover when it's inside a DatePicker. Floor at
4159
4173
  // 18rem so the calendar stays legible when the input is unusually
@@ -4162,8 +4176,8 @@ function DatePicker({
4162
4176
  "w-[var(--trigger-width)] min-w-[18rem] max-w-[500px]",
4163
4177
  "rounded-md border border-rule bg-surface p-4",
4164
4178
  "shadow-[var(--shadow-raised)]",
4165
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-top-1",
4166
- "exiting:animate-out exiting:fade-out-0 exiting:slide-out-to-top-1"
4179
+ "entering:animate-enter-slide-down",
4180
+ "exiting:animate-exit-slide-up"
4167
4181
  ),
4168
4182
  children: /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Dialog, { className: "outline-none", children: /* @__PURE__ */ jsxRuntime.jsx(CalendarSurface, {}) })
4169
4183
  }
@@ -4172,12 +4186,12 @@ function DatePicker({
4172
4186
  }
4173
4187
  );
4174
4188
  }
4175
- var segmentStyles = chunkMWAXK66H_cjs.cn(
4189
+ var segmentStyles = chunkNWGG5WFL_cjs.cn(
4176
4190
  "px-px tabular-nums outline-none select-none",
4177
4191
  "data-[placeholder]:text-ink-4",
4178
4192
  "data-[type=literal]:text-ink-4",
4179
4193
  // segment focus treatment: indigo fill, paper text
4180
- "data-[focused]:bg-accent data-[focused]:text-[#f0efe8] data-[focused]:rounded-[3px]",
4194
+ "data-[focused]:bg-accent data-[focused]:text-tile-fg data-[focused]:rounded-[3px]",
4181
4195
  "data-[disabled]:cursor-not-allowed"
4182
4196
  );
4183
4197
  function PopoverTimeField({
@@ -4203,7 +4217,7 @@ function PopoverTimeField({
4203
4217
  children: /* @__PURE__ */ jsxRuntime.jsx(
4204
4218
  reactAriaComponents.DateInput,
4205
4219
  {
4206
- className: chunkMWAXK66H_cjs.cn(
4220
+ className: chunkNWGG5WFL_cjs.cn(
4207
4221
  "inline-flex items-center rounded-md border border-rule bg-surface px-2.5 py-1.5",
4208
4222
  "font-mono text-[13px] text-ink",
4209
4223
  "focus-within:border-accent focus-within:shadow-[var(--shadow-focus)]",
@@ -4242,7 +4256,7 @@ function DateTimePicker({
4242
4256
  granularity,
4243
4257
  hideTimeZone,
4244
4258
  shouldCloseOnSelect,
4245
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
4259
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
4246
4260
  "grid grid-cols-1 gap-1.5",
4247
4261
  typeof className === "function" ? className(renderProps) : className
4248
4262
  ),
@@ -4251,7 +4265,7 @@ function DateTimePicker({
4251
4265
  /* @__PURE__ */ jsxRuntime.jsxs(
4252
4266
  reactAriaComponents.Group,
4253
4267
  {
4254
- className: chunkMWAXK66H_cjs.cn(
4268
+ className: chunkNWGG5WFL_cjs.cn(
4255
4269
  // Box chrome on the wrapper; the DateInput inside carries padding +
4256
4270
  // font so the calendar trigger sits inside the same border + ring.
4257
4271
  styles4.box(),
@@ -4262,7 +4276,7 @@ function DateTimePicker({
4262
4276
  /* @__PURE__ */ jsxRuntime.jsx(
4263
4277
  reactAriaComponents.DateInput,
4264
4278
  {
4265
- className: chunkMWAXK66H_cjs.cn(
4279
+ className: chunkNWGG5WFL_cjs.cn(
4266
4280
  "flex-1 flex items-center min-w-0 text-ink",
4267
4281
  styles4.content(),
4268
4282
  // Tabular alignment for date/time segments — overrides content's
@@ -4275,7 +4289,7 @@ function DateTimePicker({
4275
4289
  /* @__PURE__ */ jsxRuntime.jsx(
4276
4290
  reactAriaComponents.Button,
4277
4291
  {
4278
- className: chunkMWAXK66H_cjs.cn(
4292
+ className: chunkNWGG5WFL_cjs.cn(
4279
4293
  "shrink-0 inline-flex items-center justify-center",
4280
4294
  "size-7 rounded-md",
4281
4295
  "text-ink-3 hover:text-ink hover:bg-surface-2",
@@ -4295,7 +4309,7 @@ function DateTimePicker({
4295
4309
  reactAriaComponents.Popover,
4296
4310
  {
4297
4311
  offset: 6,
4298
- className: chunkMWAXK66H_cjs.cn(
4312
+ className: chunkNWGG5WFL_cjs.cn(
4299
4313
  // Match the anchoring field's width exactly. `--trigger-width` is
4300
4314
  // set by RAC on the Popover when it's inside a DatePicker. Floor at
4301
4315
  // 18rem so the calendar stays legible when the input is unusually
@@ -4304,8 +4318,8 @@ function DateTimePicker({
4304
4318
  "w-[var(--trigger-width)] min-w-[18rem] max-w-[500px]",
4305
4319
  "rounded-md border border-rule bg-surface p-4",
4306
4320
  "shadow-[var(--shadow-raised)]",
4307
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-top-1",
4308
- "exiting:animate-out exiting:fade-out-0 exiting:slide-out-to-top-1"
4321
+ "entering:animate-enter-slide-down",
4322
+ "exiting:animate-exit-slide-up"
4309
4323
  ),
4310
4324
  children: /* @__PURE__ */ jsxRuntime.jsxs(reactAriaComponents.Dialog, { className: "outline-none", children: [
4311
4325
  /* @__PURE__ */ jsxRuntime.jsx(CalendarSurface, {}),
@@ -4365,7 +4379,7 @@ function DraftMessageCard({
4365
4379
  isPreviewDisabled = false,
4366
4380
  className
4367
4381
  }) {
4368
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn(styles2.root(), className), children: [
4382
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn(styles2.root(), className), children: [
4369
4383
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles2.icon(), children: /* @__PURE__ */ jsxRuntime.jsx(ChannelIcon, { channel }) }),
4370
4384
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles2.body(), children: [
4371
4385
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles2.eyebrow(), children: eyebrow }),
@@ -4486,7 +4500,7 @@ function MultiSelect({
4486
4500
  openPopover(true);
4487
4501
  }
4488
4502
  };
4489
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn("grid grid-cols-1 gap-1.5", className), children: [
4503
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn("grid grid-cols-1 gap-1.5", className), children: [
4490
4504
  label ? /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Label, { className: fieldLabelStyles, children: label }) : null,
4491
4505
  /* @__PURE__ */ jsxRuntime.jsxs(
4492
4506
  "div",
@@ -4502,7 +4516,7 @@ function MultiSelect({
4502
4516
  onKeyDown: onTriggerKeyDown,
4503
4517
  "data-invalid": isInvalid || void 0,
4504
4518
  "data-disabled": isDisabled || void 0,
4505
- className: chunkMWAXK66H_cjs.cn(
4519
+ className: chunkNWGG5WFL_cjs.cn(
4506
4520
  styles4.box(),
4507
4521
  "flex flex-wrap items-center gap-1.5 cursor-pointer",
4508
4522
  minHeight,
@@ -4517,7 +4531,7 @@ function MultiSelect({
4517
4531
  // No vertical padding — wrapper's p-1.5 + min-h-[size] govern the
4518
4532
  // overall height so it matches the Input/Select trigger at the same
4519
4533
  // size.
4520
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkMWAXK66H_cjs.cn("text-ink-4 font-sans px-1", fieldTextStyles[size]), children: placeholder })
4534
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNWGG5WFL_cjs.cn("text-ink-4 font-sans px-1", fieldTextStyles[size]), children: placeholder })
4521
4535
  ) : selectedOptions.map((o) => /* @__PURE__ */ jsxRuntime.jsx(Chip, { onRemove: () => remove(o.id), isDisabled, children: o.content ?? o.label }, o.id)),
4522
4536
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto pr-1", children: /* @__PURE__ */ jsxRuntime.jsx(FieldCaret, {}) })
4523
4537
  ]
@@ -4533,14 +4547,14 @@ function MultiSelect({
4533
4547
  triggerRef,
4534
4548
  offset: 6,
4535
4549
  placement: "bottom start",
4536
- className: chunkMWAXK66H_cjs.cn(
4550
+ className: chunkNWGG5WFL_cjs.cn(
4537
4551
  "w-[var(--trigger-width)]",
4538
4552
  // The popover element itself takes focus when opened programmatically
4539
4553
  // (defaultOpen) — no browser outline around the whole panel.
4540
4554
  "outline-none rounded-md border border-rule bg-surface p-1",
4541
4555
  "shadow-[var(--shadow-raised)]",
4542
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-top-1",
4543
- "exiting:animate-out exiting:fade-out-0 exiting:slide-out-to-top-1"
4556
+ "entering:animate-enter-slide-down",
4557
+ "exiting:animate-exit-slide-up"
4544
4558
  ),
4545
4559
  children: [
4546
4560
  isSearchable ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-rule-2 px-1 pb-1 mb-1", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -4551,7 +4565,7 @@ function MultiSelect({
4551
4565
  onChange: (e) => updateSearch(e.target.value),
4552
4566
  placeholder: "Search\u2026",
4553
4567
  "aria-label": "Search options",
4554
- className: chunkMWAXK66H_cjs.cn(
4568
+ className: chunkNWGG5WFL_cjs.cn(
4555
4569
  "w-full bg-transparent outline-none rounded-[6px] px-2 py-1.5",
4556
4570
  "font-sans text-[13px] text-ink placeholder:text-ink-4"
4557
4571
  )
@@ -4572,14 +4586,14 @@ function MultiSelect({
4572
4586
  onSelectionChange(keys);
4573
4587
  },
4574
4588
  className: "outline-none max-h-72 overflow-auto",
4575
- renderEmptyState: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn("px-3 py-2", fieldHintStyles), children: needle !== "" ? "No matches" : "All options selected" }),
4589
+ renderEmptyState: () => /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn("px-3 py-2", fieldHintStyles), children: needle !== "" ? "No matches" : "All options selected" }),
4576
4590
  children: listboxOptions.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
4577
4591
  reactAriaComponents.ListBoxItem,
4578
4592
  {
4579
4593
  id: option.id,
4580
4594
  textValue: option.label,
4581
4595
  ...option.isDisabled ? { isDisabled: true } : {},
4582
- className: chunkMWAXK66H_cjs.cn(
4596
+ className: chunkNWGG5WFL_cjs.cn(
4583
4597
  "group flex items-center gap-2.5",
4584
4598
  "rounded-[6px] px-3 py-2 text-[14px] text-ink-2",
4585
4599
  "cursor-pointer outline-none select-none",
@@ -4609,7 +4623,7 @@ function Chip({
4609
4623
  return /* @__PURE__ */ jsxRuntime.jsxs(
4610
4624
  "span",
4611
4625
  {
4612
- className: chunkMWAXK66H_cjs.cn(
4626
+ className: chunkNWGG5WFL_cjs.cn(
4613
4627
  "inline-flex items-center gap-1.5",
4614
4628
  "pl-2 pr-1 py-0.5 rounded-[6px]",
4615
4629
  "bg-surface-2 border border-rule",
@@ -4627,7 +4641,7 @@ function Chip({
4627
4641
  e.stopPropagation();
4628
4642
  onRemove();
4629
4643
  },
4630
- className: chunkMWAXK66H_cjs.cn(
4644
+ className: chunkNWGG5WFL_cjs.cn(
4631
4645
  "inline-flex items-center justify-center shrink-0",
4632
4646
  "size-4 rounded-[3px]",
4633
4647
  "text-ink-3 hover:text-ink hover:bg-surface-3 cursor-pointer",
@@ -4807,7 +4821,7 @@ function MessageComposer({
4807
4821
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-[18px] py-3", children: /* @__PURE__ */ jsxRuntime.jsx(
4808
4822
  "p",
4809
4823
  {
4810
- className: chunkMWAXK66H_cjs.cn(
4824
+ className: chunkNWGG5WFL_cjs.cn(
4811
4825
  "rounded-[10px] border border-rule bg-surface-2 px-3.5 py-2.5",
4812
4826
  "text-[12.5px] text-ink-3 text-center"
4813
4827
  ),
@@ -4832,7 +4846,7 @@ function MessageComposer({
4832
4846
  }
4833
4847
  ) : null;
4834
4848
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-[18px] pb-3.5 pt-1", children: [
4835
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn(messageComposerStyles(), className), children: [
4849
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn(messageComposerStyles(), className), children: [
4836
4850
  connectionPicker ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 border-b border-rule-2 px-3.5 py-1.5", children: [
4837
4851
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: ROW_LABEL, children: "Via" }),
4838
4852
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -4936,7 +4950,7 @@ function MessageComposer({
4936
4950
  rows: 1,
4937
4951
  onChange: (event) => onValueChange({ ...value, text: event.target.value }),
4938
4952
  onKeyDown: onKeyDown2,
4939
- className: chunkMWAXK66H_cjs.cn(
4953
+ className: chunkNWGG5WFL_cjs.cn(
4940
4954
  "w-full resize-none bg-transparent outline-none",
4941
4955
  "min-h-[40px] max-h-48 text-[14px] leading-[1.5] text-ink placeholder:text-ink-4",
4942
4956
  bodyClassName
@@ -4953,7 +4967,7 @@ function MessageComposer({
4953
4967
  if (files) onAddFiles(Array.from(files));
4954
4968
  },
4955
4969
  children: /* @__PURE__ */ jsxRuntime.jsx(
4956
- chunkMWAXK66H_cjs.Button,
4970
+ chunkNWGG5WFL_cjs.Button,
4957
4971
  {
4958
4972
  variant: "subtle",
4959
4973
  size: "icon-md",
@@ -4972,7 +4986,7 @@ function MessageComposer({
4972
4986
  "aria-label": "Send",
4973
4987
  isDisabled: !canSend || isSending,
4974
4988
  onPress: () => void submit(),
4975
- className: chunkMWAXK66H_cjs.cn(
4989
+ className: chunkNWGG5WFL_cjs.cn(
4976
4990
  "grid place-items-center size-8 rounded-[8px] cursor-pointer",
4977
4991
  "bg-accent text-tile-fg transition-opacity duration-150",
4978
4992
  "disabled:opacity-40 disabled:cursor-default",
@@ -5287,10 +5301,10 @@ function DraftMessageComposer({
5287
5301
  [message?.attachments]
5288
5302
  );
5289
5303
  if (phase === "loading") {
5290
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn(styles3.root(), className), children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles3.terminal(), children: "Loading draft\u2026" }) });
5304
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn(styles3.root(), className), children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles3.terminal(), children: "Loading draft\u2026" }) });
5291
5305
  }
5292
5306
  if (phase === "load-error") {
5293
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn(styles3.root(), className), children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: styles3.terminal(), children: [
5307
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn(styles3.root(), className), children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: styles3.terminal(), children: [
5294
5308
  loadError ?? "Loading the draft failed.",
5295
5309
  " ",
5296
5310
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -5305,9 +5319,9 @@ function DraftMessageComposer({
5305
5319
  }
5306
5320
  if (phase === "terminal" || !message) {
5307
5321
  const line = terminalKind === "sent" ? "This draft was sent." : terminalKind === "rejected" ? "This draft was rejected." : terminalKind === "failed" ? `Sending failed${message?.error ? ` \u2014 ${message.error}` : ""}.` : "This message is not a reviewable draft.";
5308
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn(styles3.root(), className), "data-draft-terminal": terminalKind, children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles3.terminal(), children: line }) });
5322
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn(styles3.root(), className), "data-draft-terminal": terminalKind, children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: styles3.terminal(), children: line }) });
5309
5323
  }
5310
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn(styles3.root(), className), children: [
5324
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn(styles3.root(), className), children: [
5311
5325
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles3.header(), children: [
5312
5326
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles3.badge(), children: "Draft \xB7 awaiting review" }),
5313
5327
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles3.sender(), children: [
@@ -5349,7 +5363,7 @@ function DraftMessageComposer({
5349
5363
  isConfirmingReject ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
5350
5364
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[12.5px] text-ink-3", children: "Reject draft?" }),
5351
5365
  /* @__PURE__ */ jsxRuntime.jsx(
5352
- chunkMWAXK66H_cjs.Button,
5366
+ chunkNWGG5WFL_cjs.Button,
5353
5367
  {
5354
5368
  size: "sm",
5355
5369
  variant: "ghost",
@@ -5358,9 +5372,9 @@ function DraftMessageComposer({
5358
5372
  children: "Confirm reject"
5359
5373
  }
5360
5374
  ),
5361
- /* @__PURE__ */ jsxRuntime.jsx(chunkMWAXK66H_cjs.Button, { size: "sm", variant: "subtle", onPress: () => setIsConfirmingReject(false), children: "Cancel" })
5375
+ /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Button, { size: "sm", variant: "subtle", onPress: () => setIsConfirmingReject(false), children: "Cancel" })
5362
5376
  ] }) : /* @__PURE__ */ jsxRuntime.jsx(
5363
- chunkMWAXK66H_cjs.Button,
5377
+ chunkNWGG5WFL_cjs.Button,
5364
5378
  {
5365
5379
  size: "sm",
5366
5380
  variant: "ghost",
@@ -5370,7 +5384,7 @@ function DraftMessageComposer({
5370
5384
  }
5371
5385
  ),
5372
5386
  /* @__PURE__ */ jsxRuntime.jsx(
5373
- chunkMWAXK66H_cjs.Button,
5387
+ chunkNWGG5WFL_cjs.Button,
5374
5388
  {
5375
5389
  size: "sm",
5376
5390
  variant: "subtle",
@@ -5528,7 +5542,7 @@ function EmptyState({
5528
5542
  className
5529
5543
  }) {
5530
5544
  const styles4 = emptyStateStyles({ size });
5531
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn(styles4.root(), className), children: [
5545
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn(styles4.root(), className), children: [
5532
5546
  icon ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles4.art(), children: icon }) : null,
5533
5547
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles4.title(), children: title }),
5534
5548
  description ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles4.description(), children: description }) : null,
@@ -5540,7 +5554,7 @@ function ErrorAnimation({ className }) {
5540
5554
  "div",
5541
5555
  {
5542
5556
  "aria-hidden": true,
5543
- className: chunkMWAXK66H_cjs.cn("size-24 text-danger motion-safe:animate-status-pop", className),
5557
+ className: chunkNWGG5WFL_cjs.cn("size-24 text-danger motion-safe:animate-status-pop", className),
5544
5558
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleX, { className: "size-full", strokeWidth: 1.5 })
5545
5559
  }
5546
5560
  );
@@ -5563,13 +5577,13 @@ function FileViewerFallbackCard({
5563
5577
  const Icon = iconForContentType(contentType);
5564
5578
  const size = formatFileSize(sizeInBytes);
5565
5579
  const meta = [size, note].filter(Boolean).join(" \xB7 ");
5566
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn(fileViewerFallbackCardStyles(), className), children: [
5580
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn(fileViewerFallbackCardStyles(), className), children: [
5567
5581
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-md bg-surface-2 text-ink-3", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { "aria-hidden": true, className: "size-4" }) }),
5568
5582
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-1 flex-col", children: [
5569
5583
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-sans text-[13px] font-medium text-ink", children: name }),
5570
5584
  errorMessage ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-sans text-[12px] text-danger", children: errorMessage }) : meta ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate font-sans text-[12px] text-ink-3", children: meta }) : null
5571
5585
  ] }),
5572
- onDownload ? /* @__PURE__ */ jsxRuntime.jsx(chunkMWAXK66H_cjs.Button, { variant: "ghost", size: "icon-sm", "aria-label": `Download ${name}`, onPress: onDownload, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { "aria-hidden": true }) }) : null
5586
+ onDownload ? /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Button, { variant: "ghost", size: "icon-sm", "aria-label": `Download ${name}`, onPress: onDownload, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { "aria-hidden": true }) }) : null
5573
5587
  ] });
5574
5588
  }
5575
5589
  var imageLightboxStyles = tailwindVariants.tv({
@@ -5577,8 +5591,8 @@ var imageLightboxStyles = tailwindVariants.tv({
5577
5591
  "fixed inset-0 z-50 flex items-center justify-center p-4",
5578
5592
  // Deeper scrim than Modal's 40% — the image needs the page fully dimmed.
5579
5593
  "bg-[color-mix(in_oklab,var(--color-ink)_72%,transparent)]",
5580
- "entering:animate-in entering:fade-in-0 entering:duration-150",
5581
- "exiting:animate-out exiting:fade-out-0 exiting:duration-100"
5594
+ "entering:animate-enter-fade",
5595
+ "exiting:animate-exit-fade"
5582
5596
  ]
5583
5597
  });
5584
5598
  function ImageLightbox({ isOpen, onOpenChange, src, name, onDownload }) {
@@ -5606,7 +5620,7 @@ function ImageLightbox({ isOpen, onOpenChange, src, name, onDownload }) {
5606
5620
  /* @__PURE__ */ jsxRuntime.jsxs(
5607
5621
  "div",
5608
5622
  {
5609
- className: chunkMWAXK66H_cjs.cn(
5623
+ className: chunkNWGG5WFL_cjs.cn(
5610
5624
  "flex items-center gap-1.5",
5611
5625
  "rounded-[8px] border border-rule bg-surface py-1 pl-3 pr-1",
5612
5626
  "shadow-[var(--shadow-float)]"
@@ -5614,7 +5628,7 @@ function ImageLightbox({ isOpen, onOpenChange, src, name, onDownload }) {
5614
5628
  children: [
5615
5629
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "max-w-[320px] truncate font-sans text-[12.5px] text-ink", children: name }),
5616
5630
  onDownload ? /* @__PURE__ */ jsxRuntime.jsx(
5617
- chunkMWAXK66H_cjs.Button,
5631
+ chunkNWGG5WFL_cjs.Button,
5618
5632
  {
5619
5633
  variant: "ghost",
5620
5634
  size: "icon-sm",
@@ -5623,7 +5637,7 @@ function ImageLightbox({ isOpen, onOpenChange, src, name, onDownload }) {
5623
5637
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { "aria-hidden": true })
5624
5638
  }
5625
5639
  ) : null,
5626
- /* @__PURE__ */ jsxRuntime.jsx(chunkMWAXK66H_cjs.Button, { slot: "close", variant: "ghost", size: "icon-sm", "aria-label": "Close", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { "aria-hidden": true }) })
5640
+ /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Button, { slot: "close", variant: "ghost", size: "icon-sm", "aria-label": "Close", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { "aria-hidden": true }) })
5627
5641
  ]
5628
5642
  }
5629
5643
  )
@@ -5663,7 +5677,7 @@ function VideoView({ name, src }) {
5663
5677
  /* @__PURE__ */ jsxRuntime.jsx("video", { controls: true, src, "aria-label": name, className: "h-full w-full object-contain" })
5664
5678
  );
5665
5679
  }
5666
- var PdfView = react.lazy(() => import('./pdf-view-K4MMVHVY.cjs'));
5680
+ var PdfView = react.lazy(() => import('./pdf-view-RRMAUK3L.cjs'));
5667
5681
  var fileViewerStyles = tailwindVariants.tv({
5668
5682
  base: [
5669
5683
  "relative flex w-full flex-col overflow-hidden",
@@ -5703,8 +5717,8 @@ function FileViewer({
5703
5717
  }
5704
5718
  );
5705
5719
  if (kind === "none" || errorMessage || isOversized) return fallback;
5706
- const skeleton = /* @__PURE__ */ jsxRuntime.jsx(chunkMWAXK66H_cjs.Skeleton, { "aria-label": `Loading preview of ${name}`, className: "h-full w-full rounded-none" });
5707
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn(fileViewerStyles(), className), style: { height: heightPx }, children: !src ? skeleton : kind === "image" ? /* @__PURE__ */ jsxRuntime.jsx(ImageView, { name, src, ...onDownload ? { onDownload } : {} }) : kind === "video" ? /* @__PURE__ */ jsxRuntime.jsx(VideoView, { name, src }) : /* @__PURE__ */ jsxRuntime.jsx(react.Suspense, { fallback: skeleton, children: /* @__PURE__ */ jsxRuntime.jsx(PdfView, { name, src, ...onDownload ? { onDownload } : {} }) }) });
5720
+ const skeleton = /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Skeleton, { "aria-label": `Loading preview of ${name}`, className: "h-full w-full rounded-none" });
5721
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn(fileViewerStyles(), className), style: { height: heightPx }, children: !src ? skeleton : kind === "image" ? /* @__PURE__ */ jsxRuntime.jsx(ImageView, { name, src, ...onDownload ? { onDownload } : {} }) : kind === "video" ? /* @__PURE__ */ jsxRuntime.jsx(VideoView, { name, src }) : /* @__PURE__ */ jsxRuntime.jsx(react.Suspense, { fallback: skeleton, children: /* @__PURE__ */ jsxRuntime.jsx(PdfView, { name, src, ...onDownload ? { onDownload } : {} }) }) });
5708
5722
  }
5709
5723
  var imageAttachmentStyles = tailwindVariants.tv({
5710
5724
  base: [
@@ -5727,7 +5741,7 @@ function ImageAttachment({
5727
5741
  {
5728
5742
  "aria-label": `Preview ${name}`,
5729
5743
  ...onPress ? { onPress } : {},
5730
- className: chunkMWAXK66H_cjs.cn(imageAttachmentStyles(), className),
5744
+ className: chunkNWGG5WFL_cjs.cn(imageAttachmentStyles(), className),
5731
5745
  children: [
5732
5746
  src ? (
5733
5747
  // Kept in the DOM (invisible) while loading so onLoad still fires
@@ -5740,14 +5754,14 @@ function ImageAttachment({
5740
5754
  loading: "lazy",
5741
5755
  onLoad: () => setLoadedSrc(src),
5742
5756
  onError: () => onLoadError?.(),
5743
- className: chunkMWAXK66H_cjs.cn(
5757
+ className: chunkNWGG5WFL_cjs.cn(
5744
5758
  "block max-h-[220px] max-w-[280px] object-contain",
5745
5759
  !isLoaded && "invisible absolute inset-0"
5746
5760
  )
5747
5761
  }
5748
5762
  )
5749
5763
  ) : null,
5750
- !isLoaded ? /* @__PURE__ */ jsxRuntime.jsx(chunkMWAXK66H_cjs.Skeleton, { className: "h-[140px] w-[200px]" }) : null
5764
+ !isLoaded ? /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Skeleton, { className: "h-[140px] w-[200px]" }) : null
5751
5765
  ]
5752
5766
  }
5753
5767
  );
@@ -5778,7 +5792,7 @@ function Input({
5778
5792
  reactAriaComponents.TextField,
5779
5793
  {
5780
5794
  ...props,
5781
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
5795
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
5782
5796
  "grid grid-cols-1 gap-1.5",
5783
5797
  typeof className === "function" ? className(renderProps) : className
5784
5798
  ),
@@ -5789,7 +5803,7 @@ function Input({
5789
5803
  {
5790
5804
  ...inputProps,
5791
5805
  placeholder: placeholder ?? "",
5792
- className: chunkMWAXK66H_cjs.cn(styles4.box(), styles4.content(), inputClassName)
5806
+ className: chunkNWGG5WFL_cjs.cn(styles4.box(), styles4.content(), inputClassName)
5793
5807
  }
5794
5808
  ),
5795
5809
  description ? /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Text, { slot: "description", className: fieldHintStyles, children: description }) : null,
@@ -5807,11 +5821,11 @@ function MenuPopover({ className, offset = 4, placement = "bottom start", ...pro
5807
5821
  offset,
5808
5822
  placement,
5809
5823
  ...props,
5810
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
5824
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
5811
5825
  "min-w-[200px] p-1 bg-surface border border-rule rounded-md",
5812
5826
  "shadow-[var(--shadow-float)] outline-none z-[1200]",
5813
- "entering:animate-in entering:fade-in-0 entering:zoom-in-95",
5814
- "exiting:animate-out exiting:fade-out-0 exiting:zoom-out-95",
5827
+ "entering:animate-enter-zoom",
5828
+ "exiting:animate-exit-zoom",
5815
5829
  typeof className === "function" ? className(renderProps) : className
5816
5830
  )
5817
5831
  }
@@ -5822,14 +5836,14 @@ function Menu({ className, ...props }) {
5822
5836
  reactAriaComponents.Menu,
5823
5837
  {
5824
5838
  ...props,
5825
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
5839
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
5826
5840
  "flex flex-col gap-px outline-none",
5827
5841
  typeof className === "function" ? className(renderProps) : className
5828
5842
  )
5829
5843
  }
5830
5844
  );
5831
5845
  }
5832
- var menuItemStyles = chunkMWAXK66H_cjs.cn(
5846
+ var menuItemStyles = chunkNWGG5WFL_cjs.cn(
5833
5847
  "flex items-center gap-2.5 px-2.5 py-1.5 rounded-md cursor-pointer outline-none",
5834
5848
  "font-sans text-[13px] text-ink-2 select-none",
5835
5849
  "hover:bg-surface-2 hover:text-ink focus:bg-surface-2 focus:text-ink",
@@ -5843,7 +5857,7 @@ function MenuItem({ icon, hasSubmenu, children, className, ...props }) {
5843
5857
  reactAriaComponents.MenuItem,
5844
5858
  {
5845
5859
  ...props,
5846
- className: (renderProps) => chunkMWAXK66H_cjs.cn(menuItemStyles, typeof className === "function" ? className(renderProps) : className),
5860
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(menuItemStyles, typeof className === "function" ? className(renderProps) : className),
5847
5861
  children: [
5848
5862
  icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex shrink-0 items-center", children: icon }) : null,
5849
5863
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate", children }),
@@ -5865,7 +5879,7 @@ function NavSection({
5865
5879
  "data-testid": dataTestid
5866
5880
  }) {
5867
5881
  const hasHead = label !== void 0 || count !== void 0 || action !== void 0;
5868
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn("mt-[18px] first:mt-1", className), "data-testid": dataTestid, children: [
5882
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn("mt-[18px] first:mt-1", className), "data-testid": dataTestid, children: [
5869
5883
  hasHead ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-2 pt-1 pb-2", children: [
5870
5884
  label !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-[10.5px] uppercase tracking-[0.08em] text-ink-4", children: label }) : /* @__PURE__ */ jsxRuntime.jsx("span", {}),
5871
5885
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -5920,7 +5934,7 @@ function NavItem({ icon, badge, isActive, className, children, ...props }) {
5920
5934
  reactAriaComponents.Button,
5921
5935
  {
5922
5936
  ...props,
5923
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
5937
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
5924
5938
  navItemStyles({ isActive, isNested }),
5925
5939
  typeof className === "function" ? className(renderProps) : className
5926
5940
  ),
@@ -5929,7 +5943,7 @@ function NavItem({ icon, badge, isActive, className, children, ...props }) {
5929
5943
  "span",
5930
5944
  {
5931
5945
  "aria-hidden": true,
5932
- className: chunkMWAXK66H_cjs.cn(
5946
+ className: chunkNWGG5WFL_cjs.cn(
5933
5947
  "grid place-items-center shrink-0 size-4",
5934
5948
  isActive ? "text-accent" : "text-ink-3",
5935
5949
  "[&>svg]:size-4"
@@ -5944,12 +5958,12 @@ function NavItem({ icon, badge, isActive, className, children, ...props }) {
5944
5958
  );
5945
5959
  }
5946
5960
  function NavGroup({ icon, label, children, className, ...props }) {
5947
- return /* @__PURE__ */ jsxRuntime.jsxs(reactAriaComponents.Disclosure, { ...props, className: chunkMWAXK66H_cjs.cn("group/nav-group my-px", className), children: [
5961
+ return /* @__PURE__ */ jsxRuntime.jsxs(reactAriaComponents.Disclosure, { ...props, className: chunkNWGG5WFL_cjs.cn("group/nav-group my-px", className), children: [
5948
5962
  /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Heading, { className: "m-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
5949
5963
  reactAriaComponents.Button,
5950
5964
  {
5951
5965
  slot: "trigger",
5952
- className: chunkMWAXK66H_cjs.cn(
5966
+ className: chunkNWGG5WFL_cjs.cn(
5953
5967
  "flex w-full items-center gap-2.5",
5954
5968
  "px-2 py-[7px] rounded-[7px]",
5955
5969
  "text-[13.5px] tracking-[-0.005em] text-ink-2 text-left",
@@ -5993,7 +6007,7 @@ function NavGroup({ icon, label, children, className, ...props }) {
5993
6007
  /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.DisclosurePanel, { children: /* @__PURE__ */ jsxRuntime.jsx(
5994
6008
  "div",
5995
6009
  {
5996
- className: chunkMWAXK66H_cjs.cn(
6010
+ className: chunkNWGG5WFL_cjs.cn(
5997
6011
  "relative pl-[22px] py-px",
5998
6012
  // Vertical guide rule — sits under where the parent's icon center
5999
6013
  // would be (14px from the panel's left edge).
@@ -6017,7 +6031,7 @@ function Orb({ size = "sm", state = "solving", speed, theme, className, label })
6017
6031
  size: design,
6018
6032
  ...speed !== void 0 ? { speed } : {},
6019
6033
  ...theme !== void 0 ? { theme } : {},
6020
- className: chunkMWAXK66H_cjs.cn("inline-block shrink-0", className),
6034
+ className: chunkNWGG5WFL_cjs.cn("inline-block shrink-0", className),
6021
6035
  ...px !== design ? { style: { width: px, height: px } } : {},
6022
6036
  ...label ? { "aria-label": label } : { "aria-hidden": true }
6023
6037
  }
@@ -6038,10 +6052,10 @@ var progressBarStyles = tailwindVariants.tv({
6038
6052
  });
6039
6053
  function ProgressBar({ size, className, ...props }) {
6040
6054
  const { track, fill } = progressBarStyles({ size });
6041
- return /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.ProgressBar, { ...props, className: chunkMWAXK66H_cjs.cn("block", className), children: ({ percentage, isIndeterminate }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: track(), children: isIndeterminate ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkMWAXK66H_cjs.cn(fill(), "absolute w-[35%] animate-indeterminate-progress") }) : /* @__PURE__ */ jsxRuntime.jsx(
6055
+ return /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.ProgressBar, { ...props, className: chunkNWGG5WFL_cjs.cn("block", className), children: ({ percentage, isIndeterminate }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: track(), children: isIndeterminate ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNWGG5WFL_cjs.cn(fill(), "absolute w-[35%] animate-indeterminate-progress") }) : /* @__PURE__ */ jsxRuntime.jsx(
6042
6056
  "div",
6043
6057
  {
6044
- className: chunkMWAXK66H_cjs.cn(fill(), "transition-[width] duration-150"),
6058
+ className: chunkNWGG5WFL_cjs.cn(fill(), "transition-[width] duration-150"),
6045
6059
  style: { width: `${percentage ?? 0}%` }
6046
6060
  }
6047
6061
  ) }) });
@@ -6060,13 +6074,13 @@ function RadioGroup({
6060
6074
  {
6061
6075
  ...props,
6062
6076
  orientation,
6063
- className: (renderProps) => chunkMWAXK66H_cjs.cn("grid gap-2", typeof className === "function" ? className(renderProps) : className),
6077
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn("grid gap-2", typeof className === "function" ? className(renderProps) : className),
6064
6078
  children: [
6065
6079
  label ? /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Label, { className: fieldLabelStyles, children: label }) : null,
6066
6080
  /* @__PURE__ */ jsxRuntime.jsx(
6067
6081
  "div",
6068
6082
  {
6069
- className: chunkMWAXK66H_cjs.cn(
6083
+ className: chunkNWGG5WFL_cjs.cn(
6070
6084
  orientation === "horizontal" ? "flex flex-wrap items-center gap-x-4 gap-y-2" : "grid gap-3"
6071
6085
  ),
6072
6086
  children
@@ -6083,7 +6097,7 @@ function Radio({ children, className, ...props }) {
6083
6097
  reactAriaComponents.Radio,
6084
6098
  {
6085
6099
  ...props,
6086
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
6100
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
6087
6101
  // `relative` for the same reason as Checkbox / Switch: RAC's
6088
6102
  // visually-hidden <input> is absolutely positioned and must resolve
6089
6103
  // against this radio, not a far-away shell, or focusing it scrolls
@@ -6098,7 +6112,7 @@ function Radio({ children, className, ...props }) {
6098
6112
  "span",
6099
6113
  {
6100
6114
  "aria-hidden": true,
6101
- className: chunkMWAXK66H_cjs.cn(
6115
+ className: chunkNWGG5WFL_cjs.cn(
6102
6116
  "relative inline-flex items-center justify-center shrink-0",
6103
6117
  "size-[18px] rounded-full border bg-surface border-ink-4",
6104
6118
  "transition-[border-color,box-shadow] duration-150",
@@ -6109,7 +6123,7 @@ function Radio({ children, className, ...props }) {
6109
6123
  children: /* @__PURE__ */ jsxRuntime.jsx(
6110
6124
  "span",
6111
6125
  {
6112
- className: chunkMWAXK66H_cjs.cn(
6126
+ className: chunkNWGG5WFL_cjs.cn(
6113
6127
  "block size-[10px] rounded-full bg-accent",
6114
6128
  "transition-opacity duration-150 opacity-0",
6115
6129
  "group-data-[selected]:opacity-100"
@@ -6153,7 +6167,7 @@ function AttributePicker({
6153
6167
  autoFocus,
6154
6168
  size,
6155
6169
  ...isDisabled !== void 0 ? { isDisabled } : {},
6156
- className: chunkMWAXK66H_cjs.cn("w-full", className)
6170
+ className: chunkNWGG5WFL_cjs.cn("w-full", className)
6157
6171
  }
6158
6172
  );
6159
6173
  }
@@ -6422,7 +6436,7 @@ function ChipItem({
6422
6436
  }
6423
6437
  );
6424
6438
  }
6425
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkMWAXK66H_cjs.cn("font-mono text-[12px] text-ink max-w-[10rem] truncate"), children: formatValue(field, operator, value) });
6439
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNWGG5WFL_cjs.cn("font-mono text-[12px] text-ink max-w-[10rem] truncate"), children: formatValue(field, operator, value) });
6426
6440
  }
6427
6441
  function Em({ children }) {
6428
6442
  return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-[12px] text-ink-4", children });
@@ -6459,53 +6473,62 @@ var segmentedControlStyles = tailwindVariants.tv({
6459
6473
  // stretching parent (e.g. a `flex flex-col` card body, whose default
6460
6474
  // align-items:stretch would otherwise pull it to full width). Consumers
6461
6475
  // can still opt into full width by passing `w-full` via className.
6462
- group: "inline-flex w-fit rounded-sm border border-rule-strong bg-surface p-0.5 gap-0.5",
6476
+ group: "inline-flex w-fit gap-px p-0.5 rounded-chip bg-surface-2 border border-rule",
6463
6477
  segment: [
6464
- "inline-flex items-center justify-center cursor-pointer",
6465
- "font-mono tracking-[0.04em] rounded-[3px] outline-none select-none",
6466
- "transition-[background-color,color] duration-150",
6467
- "data-[hovered]:text-ink",
6468
- "data-[selected]:bg-ink data-[selected]:text-surface",
6478
+ "inline-flex items-center justify-center gap-1 cursor-pointer select-none",
6479
+ "font-sans font-medium tracking-[-0.005em] rounded-sm outline-none text-ink-3",
6480
+ "transition-[background-color,color,box-shadow] duration-150",
6481
+ // Unselected: hover/press tint into the track colour. `selected` is
6482
+ // declared after `hovered` in styles.css, so the pill wins over these.
6483
+ "hovered:text-ink hovered:bg-[color-mix(in_oklab,var(--color-ink)_6%,var(--color-surface-2))]",
6484
+ "pressed:bg-[color-mix(in_oklab,var(--color-ink)_10%,var(--color-surface-2))]",
6485
+ // Selected: lifted white pill, static.
6486
+ "selected:bg-surface selected:text-ink selected:shadow-[var(--shadow-rest)]",
6469
6487
  "data-[focus-visible]:shadow-[var(--shadow-focus)]",
6488
+ "selected:data-[focus-visible]:shadow-[var(--shadow-focus),var(--shadow-rest)]",
6470
6489
  "data-[disabled]:opacity-45 data-[disabled]:cursor-not-allowed"
6471
6490
  ]
6472
6491
  },
6473
6492
  variants: {
6474
6493
  size: {
6475
- sm: { segment: "px-2 py-0.5 text-[10.5px] tracking-[0.08em]" },
6476
- md: { segment: "px-2.5 py-1 text-[12px]" }
6494
+ sm: { segment: "px-2 py-0.5 text-[11.5px] min-h-[22px]" },
6495
+ md: { segment: "px-2.5 py-1 text-[12.5px] min-h-[26px]" }
6477
6496
  },
6478
- tone: {
6479
- // Default: ink fill on selected.
6480
- default: { segment: "text-ink-3" }
6497
+ // Dense flow-wrapping register (designer inspector): the group becomes a
6498
+ // wrapping flex row and every segment grows to share the line.
6499
+ wrap: {
6500
+ true: { group: "flex flex-wrap w-auto", segment: "flex-1 min-w-7 px-1.5" },
6501
+ false: {}
6481
6502
  }
6482
6503
  },
6483
- defaultVariants: { size: "sm", tone: "default" }
6504
+ defaultVariants: { size: "sm", wrap: false }
6484
6505
  });
6485
6506
  function SegmentedControl({
6486
6507
  options,
6487
6508
  value,
6488
6509
  onChange,
6489
6510
  size,
6511
+ wrap = false,
6490
6512
  autoFocus = false,
6491
6513
  className,
6492
6514
  orientation = "horizontal",
6493
6515
  ...props
6494
6516
  }) {
6495
- const styles4 = segmentedControlStyles({ size });
6517
+ const styles4 = segmentedControlStyles({ size, wrap });
6496
6518
  return /* @__PURE__ */ jsxRuntime.jsx(
6497
6519
  reactAriaComponents.RadioGroup,
6498
6520
  {
6499
6521
  ...props,
6500
6522
  orientation,
6501
- value: String(value),
6523
+ value: value === null ? null : String(value),
6502
6524
  onChange: (next) => onChange(next),
6503
- className: chunkMWAXK66H_cjs.cn(styles4.group(), className),
6525
+ className: chunkNWGG5WFL_cjs.cn(styles4.group(), className),
6504
6526
  children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
6505
6527
  reactAriaComponents.Radio,
6506
6528
  {
6507
6529
  value: String(option.id),
6508
6530
  ...option.isDisabled ? { isDisabled: true } : {},
6531
+ ...option["aria-label"] !== void 0 ? { "aria-label": option["aria-label"] } : {},
6509
6532
  ...autoFocus && option.id === value ? { autoFocus: true } : {},
6510
6533
  className: styles4.segment(),
6511
6534
  children: option.label
@@ -6574,14 +6597,14 @@ function TagInput({
6574
6597
  onChange(value.slice(0, -1));
6575
6598
  }
6576
6599
  };
6577
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkMWAXK66H_cjs.cn("grid grid-cols-1 gap-1.5", className), children: [
6600
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNWGG5WFL_cjs.cn("grid grid-cols-1 gap-1.5", className), children: [
6578
6601
  label ? /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: inputId, className: fieldLabelStyles, children: label }) : null,
6579
6602
  /* @__PURE__ */ jsxRuntime.jsx(
6580
6603
  "div",
6581
6604
  {
6582
6605
  "data-invalid": isInvalid || void 0,
6583
6606
  "data-disabled": isDisabled || void 0,
6584
- className: chunkMWAXK66H_cjs.cn(
6607
+ className: chunkNWGG5WFL_cjs.cn(
6585
6608
  styles4.box(),
6586
6609
  "flex",
6587
6610
  // Cell editor: one table row (29px under a 32px row) while the chips
@@ -6595,7 +6618,7 @@ function TagInput({
6595
6618
  "div",
6596
6619
  {
6597
6620
  ref: chipsRef,
6598
- className: chunkMWAXK66H_cjs.cn(
6621
+ className: chunkNWGG5WFL_cjs.cn(
6599
6622
  "flex flex-1 flex-wrap items-center gap-1.5 min-w-0",
6600
6623
  isCell && (hasWrapped ? "content-start overflow-y-auto" : "content-center overflow-hidden")
6601
6624
  ),
@@ -6634,7 +6657,7 @@ function TagInput({
6634
6657
  onBlur: commit,
6635
6658
  disabled: isDisabled,
6636
6659
  placeholder: value.length === 0 ? placeholder : "",
6637
- className: chunkMWAXK66H_cjs.cn(
6660
+ className: chunkNWGG5WFL_cjs.cn(
6638
6661
  "flex-1 min-w-[6rem] bg-transparent outline-none",
6639
6662
  "font-sans text-ink placeholder:text-ink-4",
6640
6663
  fieldTextStyles[size],
@@ -6767,7 +6790,7 @@ function FilterValueInput({
6767
6790
  onChange: (next) => onChange(next ? next.toString() : ""),
6768
6791
  autoFocus,
6769
6792
  ...isDisabled !== void 0 ? { isDisabled } : {},
6770
- className: chunkMWAXK66H_cjs.cn("w-full", className)
6793
+ className: chunkNWGG5WFL_cjs.cn("w-full", className)
6771
6794
  }
6772
6795
  );
6773
6796
  }
@@ -6784,7 +6807,7 @@ function FilterValueInput({
6784
6807
  ...autoFocus ? { autoFocus: true } : {}
6785
6808
  },
6786
6809
  ...isDisabled !== void 0 ? { isDisabled } : {},
6787
- className: chunkMWAXK66H_cjs.cn("w-full", className)
6810
+ className: chunkNWGG5WFL_cjs.cn("w-full", className)
6788
6811
  }
6789
6812
  );
6790
6813
  })();
@@ -6824,7 +6847,7 @@ function EnumSingleValue({
6824
6847
  },
6825
6848
  ...isDisabled !== void 0 ? { isDisabled } : {},
6826
6849
  ...autoFocus ? { autoFocus: true } : {},
6827
- className: chunkMWAXK66H_cjs.cn("w-full", className)
6850
+ className: chunkNWGG5WFL_cjs.cn("w-full", className)
6828
6851
  }
6829
6852
  );
6830
6853
  }
@@ -6853,7 +6876,7 @@ function EnumMultiValue({
6853
6876
  placeholder: "Select values\u2026",
6854
6877
  ...isDisabled !== void 0 ? { isDisabled } : {},
6855
6878
  ...autoFocus ? { autoFocus: true } : {},
6856
- className: chunkMWAXK66H_cjs.cn("w-full", className)
6879
+ className: chunkNWGG5WFL_cjs.cn("w-full", className)
6857
6880
  }
6858
6881
  );
6859
6882
  }
@@ -6911,7 +6934,7 @@ function OperatorPicker({
6911
6934
  size,
6912
6935
  ...isDisabled !== void 0 ? { isDisabled } : {},
6913
6936
  ...autoFocus ? { autoFocus: true } : {},
6914
- className: chunkMWAXK66H_cjs.cn("w-full", className),
6937
+ className: chunkNWGG5WFL_cjs.cn("w-full", className),
6915
6938
  triggerClassName: "min-w-0"
6916
6939
  }
6917
6940
  );
@@ -6941,7 +6964,7 @@ function FilterRow({
6941
6964
  return /* @__PURE__ */ jsxRuntime.jsxs(
6942
6965
  "div",
6943
6966
  {
6944
- className: chunkMWAXK66H_cjs.cn(
6967
+ className: chunkNWGG5WFL_cjs.cn(
6945
6968
  "group flex items-center gap-2 px-1.5 py-1 rounded-sm",
6946
6969
  "hover:bg-[color-mix(in_oklab,var(--color-surface-2)_50%,var(--color-surface))]"
6947
6970
  ),
@@ -6949,7 +6972,7 @@ function FilterRow({
6949
6972
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-12 shrink-0 inline-flex justify-end pr-1", children: /* @__PURE__ */ jsxRuntime.jsx(
6950
6973
  "span",
6951
6974
  {
6952
- className: chunkMWAXK66H_cjs.cn(
6975
+ className: chunkNWGG5WFL_cjs.cn(
6953
6976
  "font-mono text-[10.5px] tracking-[0.08em]",
6954
6977
  index === 0 ? "text-ink-4" : "text-accent-ink"
6955
6978
  ),
@@ -7017,7 +7040,7 @@ function FilterRow({
7017
7040
  onClick: onWrap,
7018
7041
  "aria-label": "Wrap in group",
7019
7042
  title: "Wrap in a group with the opposite operator",
7020
- className: chunkMWAXK66H_cjs.cn(
7043
+ className: chunkNWGG5WFL_cjs.cn(
7021
7044
  "shrink-0 size-6 inline-flex items-center justify-center rounded-sm",
7022
7045
  "text-ink-4 hover:text-ink hover:bg-surface-2 cursor-pointer outline-none",
7023
7046
  "opacity-0 group-hover:opacity-100 focus-visible:opacity-100"
@@ -7044,7 +7067,7 @@ function FilterRow({
7044
7067
  type: "button",
7045
7068
  onClick: onRemove,
7046
7069
  "aria-label": field ? "Remove filter" : "Cancel",
7047
- className: chunkMWAXK66H_cjs.cn(
7070
+ className: chunkNWGG5WFL_cjs.cn(
7048
7071
  "shrink-0 size-6 inline-flex items-center justify-center rounded-sm",
7049
7072
  "text-ink-4 hover:text-danger hover:bg-surface-2 cursor-pointer outline-none",
7050
7073
  field ? "opacity-0 group-hover:opacity-100 focus-visible:opacity-100" : "opacity-100"
@@ -7173,7 +7196,7 @@ function GroupAddControls({
7173
7196
  {
7174
7197
  type: "button",
7175
7198
  onClick: onAddFilter,
7176
- className: chunkMWAXK66H_cjs.cn(
7199
+ className: chunkNWGG5WFL_cjs.cn(
7177
7200
  "inline-flex items-center gap-1.5 px-2 py-1 rounded-sm",
7178
7201
  "text-ink-2 hover:bg-surface-2 hover:text-ink cursor-pointer outline-none"
7179
7202
  ),
@@ -7201,7 +7224,7 @@ function GroupAddControls({
7201
7224
  type: "button",
7202
7225
  onClick: onAddGroup,
7203
7226
  title: "Add a nested group with its own logical operator",
7204
- className: chunkMWAXK66H_cjs.cn(
7227
+ className: chunkNWGG5WFL_cjs.cn(
7205
7228
  "inline-flex items-center gap-1.5 px-2 py-1 rounded-sm",
7206
7229
  "text-ink-2 hover:bg-surface-2 hover:text-ink cursor-pointer outline-none"
7207
7230
  ),
@@ -7247,7 +7270,7 @@ function NestedGroup({
7247
7270
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-12 shrink-0 inline-flex justify-end pr-1 pt-2", children: /* @__PURE__ */ jsxRuntime.jsx(
7248
7271
  "span",
7249
7272
  {
7250
- className: chunkMWAXK66H_cjs.cn(
7273
+ className: chunkNWGG5WFL_cjs.cn(
7251
7274
  "font-mono text-[10.5px] tracking-[0.08em]",
7252
7275
  index === 0 ? "text-ink-4" : "text-accent-ink"
7253
7276
  ),
@@ -7257,7 +7280,7 @@ function NestedGroup({
7257
7280
  /* @__PURE__ */ jsxRuntime.jsxs(
7258
7281
  "div",
7259
7282
  {
7260
- className: chunkMWAXK66H_cjs.cn(
7283
+ className: chunkNWGG5WFL_cjs.cn(
7261
7284
  "flex-1 min-w-0 rounded-sm border border-rule",
7262
7285
  "bg-[color-mix(in_oklab,var(--color-surface-2)_60%,var(--color-surface))]"
7263
7286
  ),
@@ -7270,8 +7293,8 @@ function NestedGroup({
7270
7293
  {
7271
7294
  "aria-label": "Group joiner",
7272
7295
  options: [
7273
- { id: "and", label: "AND" },
7274
- { id: "or", label: "OR" }
7296
+ { id: "and", label: "and" },
7297
+ { id: "or", label: "or" }
7275
7298
  ],
7276
7299
  value: group.logicalOperator,
7277
7300
  onChange: (next) => onChange({ ...group, logicalOperator: next })
@@ -7284,7 +7307,7 @@ function NestedGroup({
7284
7307
  type: "button",
7285
7308
  onClick: onRemove,
7286
7309
  "aria-label": "Remove group",
7287
- className: chunkMWAXK66H_cjs.cn(
7310
+ className: chunkNWGG5WFL_cjs.cn(
7288
7311
  "size-6 inline-flex items-center justify-center rounded-sm",
7289
7312
  "text-ink-4 hover:text-danger hover:bg-surface cursor-pointer outline-none"
7290
7313
  ),
@@ -7507,8 +7530,8 @@ function RecordFilterBuilderPanel({
7507
7530
  {
7508
7531
  "aria-label": "Joiner",
7509
7532
  options: [
7510
- { id: "and", label: "AND" },
7511
- { id: "or", label: "OR" }
7533
+ { id: "and", label: "and" },
7534
+ { id: "or", label: "or" }
7512
7535
  ],
7513
7536
  value: filter.logicalOperator,
7514
7537
  onChange: setJoiner2
@@ -7527,7 +7550,7 @@ function RecordFilterBuilderPanel({
7527
7550
  type: "button",
7528
7551
  onClick: onExpand,
7529
7552
  title: "Show filter chips inline above the table",
7530
- className: chunkMWAXK66H_cjs.cn(
7553
+ className: chunkNWGG5WFL_cjs.cn(
7531
7554
  "inline-flex items-center gap-1 px-2 py-1 rounded-sm",
7532
7555
  "font-mono text-[11.5px] text-ink-3 hover:text-ink hover:bg-surface-2",
7533
7556
  "cursor-pointer outline-none"
@@ -7557,7 +7580,7 @@ function RecordFilterBuilderPanel({
7557
7580
  type: "button",
7558
7581
  onClick: onClose,
7559
7582
  "aria-label": "Close",
7560
- className: chunkMWAXK66H_cjs.cn(
7583
+ className: chunkNWGG5WFL_cjs.cn(
7561
7584
  "size-6 inline-flex items-center justify-center rounded-sm",
7562
7585
  "text-ink-3 hover:text-ink hover:bg-surface-2 cursor-pointer outline-none"
7563
7586
  ),
@@ -7592,7 +7615,7 @@ function RecordFilterBuilderPanel({
7592
7615
  /* @__PURE__ */ jsxRuntime.jsxs(
7593
7616
  "div",
7594
7617
  {
7595
- className: chunkMWAXK66H_cjs.cn(
7618
+ className: chunkNWGG5WFL_cjs.cn(
7596
7619
  "flex items-center justify-between px-3.5 py-2.5 border-t border-rule rounded-b-md",
7597
7620
  "bg-[color-mix(in_oklab,var(--color-surface-2)_60%,var(--color-surface))]"
7598
7621
  ),
@@ -7603,7 +7626,7 @@ function RecordFilterBuilderPanel({
7603
7626
  type: "button",
7604
7627
  onClick: clearAll,
7605
7628
  disabled: totalChildren === 0,
7606
- className: chunkMWAXK66H_cjs.cn(
7629
+ className: chunkNWGG5WFL_cjs.cn(
7607
7630
  "font-mono text-[11.5px] text-ink-3 hover:text-ink",
7608
7631
  "disabled:opacity-40 disabled:pointer-events-none",
7609
7632
  "outline-none cursor-pointer"
@@ -7613,17 +7636,12 @@ function RecordFilterBuilderPanel({
7613
7636
  ),
7614
7637
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
7615
7638
  onSaveView ? /* @__PURE__ */ jsxRuntime.jsxs(
7616
- "button",
7639
+ chunkNWGG5WFL_cjs.Button,
7617
7640
  {
7618
- type: "button",
7619
- onClick: onSaveView,
7620
- disabled: totalChildren === 0,
7621
- className: chunkMWAXK66H_cjs.cn(
7622
- "inline-flex items-center gap-1.5 px-2.5 py-1.5 rounded-sm",
7623
- "font-sans text-[13px] text-ink-2 hover:bg-surface-2 hover:text-ink",
7624
- "disabled:opacity-40 disabled:pointer-events-none",
7625
- "outline-none cursor-pointer"
7626
- ),
7641
+ variant: "ghost",
7642
+ size: "sm",
7643
+ onPress: onSaveView,
7644
+ isDisabled: totalChildren === 0,
7627
7645
  children: [
7628
7646
  /* @__PURE__ */ jsxRuntime.jsxs(
7629
7647
  "svg",
@@ -7646,19 +7664,7 @@ function RecordFilterBuilderPanel({
7646
7664
  ]
7647
7665
  }
7648
7666
  ) : null,
7649
- /* @__PURE__ */ jsxRuntime.jsx(
7650
- "button",
7651
- {
7652
- type: "button",
7653
- onClick: onClose,
7654
- className: chunkMWAXK66H_cjs.cn(
7655
- "inline-flex items-center gap-1.5 px-3 py-1.5 rounded-sm",
7656
- "bg-ink text-surface font-mono text-[12px]",
7657
- "hover:bg-accent-ink outline-none cursor-pointer"
7658
- ),
7659
- children: "Done"
7660
- }
7661
- )
7667
+ /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Button, { variant: "cta", size: "sm", onPress: onClose, children: "Done" })
7662
7668
  ] })
7663
7669
  ]
7664
7670
  }
@@ -7732,11 +7738,11 @@ function RecordFilterButton({
7732
7738
  type: "button",
7733
7739
  "data-filter-trigger": "collapsed",
7734
7740
  onClick: () => setOpen((v) => !v),
7735
- className: chunkMWAXK66H_cjs.cn(
7741
+ className: chunkNWGG5WFL_cjs.cn(
7736
7742
  "inline-flex items-center gap-1.5 px-3 py-1.5 rounded-md border",
7737
7743
  "font-mono text-[12px] cursor-pointer outline-none",
7738
7744
  "focus-visible:shadow-[var(--shadow-focus)]",
7739
- hasFilters ? chunkMWAXK66H_cjs.cn(
7745
+ hasFilters ? chunkNWGG5WFL_cjs.cn(
7740
7746
  "border-[color-mix(in_oklab,var(--color-accent)_35%,var(--color-rule))]",
7741
7747
  "bg-[color-mix(in_oklab,var(--color-accent)_8%,var(--color-surface))]",
7742
7748
  "text-accent-ink"
@@ -7835,7 +7841,7 @@ function RecordFilterChips({
7835
7841
  logicalOperator: filter.logicalOperator === "and" ? "or" : "and"
7836
7842
  }),
7837
7843
  title: "Toggle joiner",
7838
- className: chunkMWAXK66H_cjs.cn(
7844
+ className: chunkNWGG5WFL_cjs.cn(
7839
7845
  "inline-flex items-center px-1.5 py-0.5 rounded-sm border border-dashed border-rule",
7840
7846
  "font-mono text-[10.5px] tracking-[0.08em] text-ink-3",
7841
7847
  "hover:text-ink hover:border-ink-4 cursor-pointer outline-none"
@@ -7908,7 +7914,7 @@ function RecordFilterChips({
7908
7914
  elements: elements.filter((_, idx) => idx !== i)
7909
7915
  });
7910
7916
  },
7911
- className: chunkMWAXK66H_cjs.cn(
7917
+ className: chunkNWGG5WFL_cjs.cn(
7912
7918
  "size-5 inline-flex items-center justify-center rounded-[3px]",
7913
7919
  "text-ink-4 hover:text-ink hover:bg-surface-2 cursor-pointer outline-none"
7914
7920
  ),
@@ -7953,7 +7959,7 @@ function GroupPill({ group }) {
7953
7959
  return /* @__PURE__ */ jsxRuntime.jsxs(
7954
7960
  "span",
7955
7961
  {
7956
- className: chunkMWAXK66H_cjs.cn(
7962
+ className: chunkNWGG5WFL_cjs.cn(
7957
7963
  "inline-flex items-center gap-1.5 px-2 py-1 rounded-sm border border-dashed border-rule",
7958
7964
  "bg-[color-mix(in_oklab,var(--color-surface-2)_60%,var(--color-surface))]"
7959
7965
  ),
@@ -7991,7 +7997,7 @@ function CollapseToggle({ onClick }) {
7991
7997
  {
7992
7998
  type: "button",
7993
7999
  onClick,
7994
- className: chunkMWAXK66H_cjs.cn(
8000
+ className: chunkNWGG5WFL_cjs.cn(
7995
8001
  "inline-flex items-center gap-1",
7996
8002
  "font-mono text-[11px] uppercase tracking-[0.08em]",
7997
8003
  "text-ink-3 hover:text-ink cursor-pointer outline-none"
@@ -8051,7 +8057,7 @@ function Chip2({
8051
8057
  setEditing((v) => !v);
8052
8058
  }
8053
8059
  },
8054
- className: chunkMWAXK66H_cjs.cn(
8060
+ className: chunkNWGG5WFL_cjs.cn(
8055
8061
  "group inline-flex items-center gap-1.5 pl-2 pr-1 py-1 rounded-sm border cursor-pointer",
8056
8062
  editing ? "border-accent shadow-[var(--shadow-focus)] bg-surface" : "border-rule bg-surface hover:border-ink-4"
8057
8063
  ),
@@ -8084,7 +8090,7 @@ function Chip2({
8084
8090
  onRemove();
8085
8091
  if (editing) setEditing(false);
8086
8092
  },
8087
- className: chunkMWAXK66H_cjs.cn(
8093
+ className: chunkNWGG5WFL_cjs.cn(
8088
8094
  "ml-0.5 size-4 inline-flex items-center justify-center rounded-[3px]",
8089
8095
  "text-ink-4 hover:text-ink hover:bg-surface-2 cursor-pointer outline-none"
8090
8096
  ),
@@ -8165,19 +8171,7 @@ function ChipMiniEditor({
8165
8171
  onChange: onChangeValue
8166
8172
  }
8167
8173
  ) }),
8168
- /* @__PURE__ */ jsxRuntime.jsx(
8169
- "button",
8170
- {
8171
- type: "submit",
8172
- className: chunkMWAXK66H_cjs.cn(
8173
- "shrink-0 inline-flex items-center px-2.5 py-1.5 rounded-md",
8174
- "bg-ink text-surface font-mono text-[12px]",
8175
- "hover:bg-accent-ink cursor-pointer outline-none",
8176
- "focus-visible:shadow-[var(--shadow-focus)]"
8177
- ),
8178
- children: "Save"
8179
- }
8180
- )
8174
+ /* @__PURE__ */ jsxRuntime.jsx(chunkNWGG5WFL_cjs.Button, { type: "submit", variant: "cta", size: "sm", className: "shrink-0", children: "Save" })
8181
8175
  ]
8182
8176
  }
8183
8177
  );
@@ -8189,7 +8183,7 @@ function InlineAddFilter({ onClick }) {
8189
8183
  type: "button",
8190
8184
  "data-filter-trigger": "expanded",
8191
8185
  onClick,
8192
- className: chunkMWAXK66H_cjs.cn(
8186
+ className: chunkNWGG5WFL_cjs.cn(
8193
8187
  "inline-flex items-center gap-1 px-2 py-1 rounded-sm",
8194
8188
  "text-ink-3 hover:bg-surface-2 hover:text-ink cursor-pointer outline-none"
8195
8189
  ),
@@ -8240,7 +8234,7 @@ function Separator({
8240
8234
  {
8241
8235
  ...props,
8242
8236
  orientation,
8243
- className: chunkMWAXK66H_cjs.cn(separatorStyles({ orientation, variant }), className)
8237
+ className: chunkNWGG5WFL_cjs.cn(separatorStyles({ orientation, variant }), className)
8244
8238
  }
8245
8239
  );
8246
8240
  }
@@ -8249,7 +8243,7 @@ function SuccessAnimation({ className }) {
8249
8243
  "div",
8250
8244
  {
8251
8245
  "aria-hidden": true,
8252
- className: chunkMWAXK66H_cjs.cn("size-24 text-success motion-safe:animate-status-pop", className),
8246
+ className: chunkNWGG5WFL_cjs.cn("size-24 text-success motion-safe:animate-status-pop", className),
8253
8247
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleCheck, { className: "size-full", strokeWidth: 1.5 })
8254
8248
  }
8255
8249
  );
@@ -8259,7 +8253,7 @@ function Switch({ children, labelPlacement = "end", className, ...props }) {
8259
8253
  reactAriaComponents.Switch,
8260
8254
  {
8261
8255
  ...props,
8262
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
8256
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
8263
8257
  // `relative`: RAC's visually-hidden <input> is absolutely positioned;
8264
8258
  // without a positioned label it escapes an overflow-auto ancestor and
8265
8259
  // its containing block becomes the page shell, so focusing it (any
@@ -8275,7 +8269,7 @@ function Switch({ children, labelPlacement = "end", className, ...props }) {
8275
8269
  "span",
8276
8270
  {
8277
8271
  "aria-hidden": true,
8278
- className: chunkMWAXK66H_cjs.cn(
8272
+ className: chunkNWGG5WFL_cjs.cn(
8279
8273
  "relative inline-block shrink-0",
8280
8274
  "w-[38px] h-[22px] rounded-pill border",
8281
8275
  "bg-surface-3 border-rule",
@@ -8286,7 +8280,7 @@ function Switch({ children, labelPlacement = "end", className, ...props }) {
8286
8280
  children: /* @__PURE__ */ jsxRuntime.jsx(
8287
8281
  "span",
8288
8282
  {
8289
- className: chunkMWAXK66H_cjs.cn(
8283
+ className: chunkNWGG5WFL_cjs.cn(
8290
8284
  "absolute top-[1px] left-[1px]",
8291
8285
  "block size-[18px] rounded-full bg-surface",
8292
8286
  "transition-transform duration-200",
@@ -8336,7 +8330,7 @@ function Root({ size, className, children, ...props }) {
8336
8330
  reactAriaComponents.Tabs,
8337
8331
  {
8338
8332
  ...props,
8339
- className: (rp) => chunkMWAXK66H_cjs.cn(styles4.root(), typeof className === "function" ? className(rp) : className),
8333
+ className: (rp) => chunkNWGG5WFL_cjs.cn(styles4.root(), typeof className === "function" ? className(rp) : className),
8340
8334
  children
8341
8335
  }
8342
8336
  );
@@ -8347,7 +8341,7 @@ function List({ size, className, children, ...props }) {
8347
8341
  reactAriaComponents.TabList,
8348
8342
  {
8349
8343
  ...props,
8350
- className: (rp) => chunkMWAXK66H_cjs.cn(styles4.list(), typeof className === "function" ? className(rp) : className),
8344
+ className: (rp) => chunkNWGG5WFL_cjs.cn(styles4.list(), typeof className === "function" ? className(rp) : className),
8351
8345
  children
8352
8346
  }
8353
8347
  );
@@ -8358,7 +8352,7 @@ function Trigger({ size, className, children, ...props }) {
8358
8352
  reactAriaComponents.Tab,
8359
8353
  {
8360
8354
  ...props,
8361
- className: (rp) => chunkMWAXK66H_cjs.cn(styles4.trigger(), typeof className === "function" ? className(rp) : className),
8355
+ className: (rp) => chunkNWGG5WFL_cjs.cn(styles4.trigger(), typeof className === "function" ? className(rp) : className),
8362
8356
  children
8363
8357
  }
8364
8358
  );
@@ -8369,7 +8363,7 @@ function Panel({ className, children, ...props }) {
8369
8363
  reactAriaComponents.TabPanel,
8370
8364
  {
8371
8365
  ...props,
8372
- className: (rp) => chunkMWAXK66H_cjs.cn(styles4.panel(), typeof className === "function" ? className(rp) : className),
8366
+ className: (rp) => chunkNWGG5WFL_cjs.cn(styles4.panel(), typeof className === "function" ? className(rp) : className),
8373
8367
  children
8374
8368
  }
8375
8369
  );
@@ -8398,7 +8392,7 @@ function Textarea({
8398
8392
  reactAriaComponents.TextField,
8399
8393
  {
8400
8394
  ...props,
8401
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
8395
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
8402
8396
  "grid grid-cols-1 gap-1.5",
8403
8397
  typeof className === "function" ? className(renderProps) : className
8404
8398
  ),
@@ -8410,7 +8404,7 @@ function Textarea({
8410
8404
  ...textareaProps,
8411
8405
  rows,
8412
8406
  placeholder: placeholder ?? "",
8413
- className: chunkMWAXK66H_cjs.cn(
8407
+ className: chunkNWGG5WFL_cjs.cn(
8414
8408
  // Same hairline chrome as Input, but allow vertical resize and set a
8415
8409
  // sensible minimum height so short content doesn't collapse.
8416
8410
  styles4.box(),
@@ -8441,7 +8435,7 @@ function TimeField({
8441
8435
  reactAriaComponents.TimeField,
8442
8436
  {
8443
8437
  ...props,
8444
- className: (renderProps) => chunkMWAXK66H_cjs.cn(
8438
+ className: (renderProps) => chunkNWGG5WFL_cjs.cn(
8445
8439
  "grid grid-cols-1 gap-1.5",
8446
8440
  typeof className === "function" ? className(renderProps) : className
8447
8441
  ),
@@ -8450,7 +8444,7 @@ function TimeField({
8450
8444
  /* @__PURE__ */ jsxRuntime.jsx(
8451
8445
  reactAriaComponents.DateInput,
8452
8446
  {
8453
- className: chunkMWAXK66H_cjs.cn(
8447
+ className: chunkNWGG5WFL_cjs.cn(
8454
8448
  styles4.box(),
8455
8449
  styles4.content(),
8456
8450
  "flex items-center min-w-0 text-ink",
@@ -8463,12 +8457,12 @@ function TimeField({
8463
8457
  reactAriaComponents.DateSegment,
8464
8458
  {
8465
8459
  segment,
8466
- className: chunkMWAXK66H_cjs.cn(
8460
+ className: chunkNWGG5WFL_cjs.cn(
8467
8461
  "px-px tabular-nums outline-none select-none",
8468
8462
  "data-[placeholder]:text-ink-4",
8469
8463
  "data-[type=literal]:text-ink-4",
8470
8464
  // segment focus treatment: indigo fill, paper text
8471
- "data-[focused]:bg-accent data-[focused]:text-[#f0efe8] data-[focused]:rounded-[3px]",
8465
+ "data-[focused]:bg-accent data-[focused]:text-tile-fg data-[focused]:rounded-[3px]",
8472
8466
  "data-[disabled]:cursor-not-allowed"
8473
8467
  )
8474
8468
  }
@@ -8491,8 +8485,8 @@ var toastStyles = tailwindVariants.tv({
8491
8485
  "rounded-lg border border-rule bg-surface shadow-float",
8492
8486
  "px-3.5 py-3 outline-none",
8493
8487
  "focus-visible:shadow-focus",
8494
- "entering:animate-in entering:fade-in-0 entering:slide-in-from-bottom-2 entering:duration-200",
8495
- "exiting:animate-out exiting:fade-out-0 exiting:duration-150"
8488
+ "entering:animate-enter-slide-up",
8489
+ "exiting:animate-exit-fade"
8496
8490
  ],
8497
8491
  icon: "size-4 shrink-0 mt-0.5",
8498
8492
  title: "font-sans text-[13px] font-medium leading-[1.4] text-ink",
@@ -8517,7 +8511,7 @@ function ToastRegion({ queue, className }) {
8517
8511
  reactAriaComponents.UNSTABLE_ToastRegion,
8518
8512
  {
8519
8513
  queue,
8520
- className: chunkMWAXK66H_cjs.cn(
8514
+ className: chunkNWGG5WFL_cjs.cn(
8521
8515
  "fixed bottom-4 right-4 z-[1300] flex flex-col-reverse gap-2 outline-none",
8522
8516
  className
8523
8517
  ),
@@ -8536,7 +8530,7 @@ function ToastRegion({ queue, className }) {
8536
8530
  {
8537
8531
  slot: "close",
8538
8532
  "aria-label": "Dismiss",
8539
- className: chunkMWAXK66H_cjs.cn(
8533
+ className: chunkNWGG5WFL_cjs.cn(
8540
8534
  "shrink-0 inline-flex items-center justify-center size-6 rounded-md",
8541
8535
  "text-ink-4 hover:text-ink hover:bg-surface-2 cursor-pointer outline-none",
8542
8536
  "focus-visible:shadow-focus"
@@ -8552,23 +8546,23 @@ function ToastRegion({ queue, className }) {
8552
8546
 
8553
8547
  Object.defineProperty(exports, "Button", {
8554
8548
  enumerable: true,
8555
- get: function () { return chunkMWAXK66H_cjs.Button; }
8549
+ get: function () { return chunkNWGG5WFL_cjs.Button; }
8556
8550
  });
8557
8551
  Object.defineProperty(exports, "Skeleton", {
8558
8552
  enumerable: true,
8559
- get: function () { return chunkMWAXK66H_cjs.Skeleton; }
8553
+ get: function () { return chunkNWGG5WFL_cjs.Skeleton; }
8560
8554
  });
8561
8555
  Object.defineProperty(exports, "buttonStyles", {
8562
8556
  enumerable: true,
8563
- get: function () { return chunkMWAXK66H_cjs.buttonStyles; }
8557
+ get: function () { return chunkNWGG5WFL_cjs.buttonStyles; }
8564
8558
  });
8565
8559
  Object.defineProperty(exports, "cn", {
8566
8560
  enumerable: true,
8567
- get: function () { return chunkMWAXK66H_cjs.cn; }
8561
+ get: function () { return chunkNWGG5WFL_cjs.cn; }
8568
8562
  });
8569
8563
  Object.defineProperty(exports, "skeletonStyles", {
8570
8564
  enumerable: true,
8571
- get: function () { return chunkMWAXK66H_cjs.skeletonStyles; }
8565
+ get: function () { return chunkNWGG5WFL_cjs.skeletonStyles; }
8572
8566
  });
8573
8567
  exports.ATTRIBUTE_TYPES = ATTRIBUTE_TYPES;
8574
8568
  exports.ATTRIBUTE_TYPE_ICONS = ATTRIBUTE_TYPE_ICONS;