@exponential_app/eui-react 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -453,23 +453,81 @@ function CardFooter({ className, ...props }) {
453
453
  ...props
454
454
  });
455
455
  }
456
+ // packages/exponential-ui-react/src/primitives/carousel.tsx
457
+ import { useLayoutEffect, useRef as useRef2 } from "react";
458
+ import { CAROUSEL_CLASSES, carouselCounterText } from "@exponential_app/eui/web/primitives";
459
+ import { CAROUSEL_GEOMETRY, carouselCounterText as carouselCounterText2 } from "@exponential_app/eui/web/primitives";
460
+ import { jsx as jsx9 } from "react/jsx-runtime";
461
+ function CarouselCounter({ page, total, className, ...props }) {
462
+ return /* @__PURE__ */ jsx9("span", {
463
+ "data-slot": "carousel-counter",
464
+ "aria-hidden": "true",
465
+ className: cn2(CAROUSEL_CLASSES.counter, className),
466
+ ...props,
467
+ children: carouselCounterText(page, total)
468
+ });
469
+ }
470
+ var defaultPageLabel = (page, total) => `Page ${page + 1} of ${total}`;
471
+ function CarouselThumbnails({ count, urls, page, onPageChange, pageLabel = defaultPageLabel, className, ...props }) {
472
+ const strip = useRef2(null);
473
+ useLayoutEffect(() => {
474
+ const el = strip.current;
475
+ const thumb = el?.children[page];
476
+ if (!el || !thumb)
477
+ return;
478
+ const a = el.getBoundingClientRect();
479
+ const b = thumb.getBoundingClientRect();
480
+ const delta = b.left < a.left ? b.left - a.left : b.right > a.right ? b.right - a.right : 0;
481
+ if (delta !== 0)
482
+ el.scrollLeft += delta;
483
+ }, [page, count]);
484
+ const n = Math.max(0, Math.floor(count));
485
+ return /* @__PURE__ */ jsx9("div", {
486
+ ref: strip,
487
+ "data-slot": "carousel-thumbnails",
488
+ className: cn2(CAROUSEL_CLASSES.thumbnails, className),
489
+ ...props,
490
+ children: Array.from({ length: n }, (_, i) => {
491
+ const current = i === page;
492
+ const src = urls[i];
493
+ return /* @__PURE__ */ jsx9("button", {
494
+ type: "button",
495
+ "data-slot": "carousel-thumbnail",
496
+ "data-current": current ? `true` : undefined,
497
+ "aria-current": current ? `true` : undefined,
498
+ "aria-label": pageLabel(i, n),
499
+ className: CAROUSEL_CLASSES.thumbnail,
500
+ onClick: () => onPageChange?.(i),
501
+ children: src ? /* @__PURE__ */ jsx9("img", {
502
+ src,
503
+ alt: "",
504
+ "aria-hidden": "true",
505
+ loading: "lazy",
506
+ decoding: "async",
507
+ draggable: false,
508
+ className: CAROUSEL_CLASSES.thumbnailImage
509
+ }) : null
510
+ }, i);
511
+ })
512
+ });
513
+ }
456
514
  // packages/exponential-ui-react/src/primitives/checkbox.tsx
457
515
  import { CheckIcon } from "lucide-react";
458
516
  import { Checkbox as CheckboxPrimitive } from "radix-ui";
459
517
  import { CHECKBOX_CLASSES } from "@exponential_app/eui/web/primitives";
460
- import { jsx as jsx9 } from "react/jsx-runtime";
518
+ import { jsx as jsx10 } from "react/jsx-runtime";
461
519
  function Checkbox({
462
520
  className,
463
521
  ...props
464
522
  }) {
465
- return /* @__PURE__ */ jsx9(CheckboxPrimitive.Root, {
523
+ return /* @__PURE__ */ jsx10(CheckboxPrimitive.Root, {
466
524
  "data-slot": "checkbox",
467
525
  className: cn2(CHECKBOX_CLASSES.root, className),
468
526
  ...props,
469
- children: /* @__PURE__ */ jsx9(CheckboxPrimitive.Indicator, {
527
+ children: /* @__PURE__ */ jsx10(CheckboxPrimitive.Indicator, {
470
528
  "data-slot": "checkbox-indicator",
471
529
  className: CHECKBOX_CLASSES.indicator,
472
- children: /* @__PURE__ */ jsx9(CheckIcon, {
530
+ children: /* @__PURE__ */ jsx10(CheckIcon, {
473
531
  className: CHECKBOX_CLASSES.icon
474
532
  })
475
533
  })
@@ -480,14 +538,14 @@ import * as React2 from "react";
480
538
  import { Check, Copy } from "lucide-react";
481
539
  import { tokenizeCode } from "@exponential_app/eui";
482
540
  import { CODE_BLOCK_CLASSES, CODE_TOKEN_CLASS, codeBlockLineVariants, codeBlockVariants } from "@exponential_app/eui/web/primitives";
483
- import { jsx as jsx10, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
541
+ import { jsx as jsx11, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
484
542
  function CodeBlock({
485
543
  className,
486
544
  variant = `default`,
487
545
  size = `default`,
488
546
  ...props
489
547
  }) {
490
- return /* @__PURE__ */ jsx10("div", {
548
+ return /* @__PURE__ */ jsx11("div", {
491
549
  "data-slot": "code-block",
492
550
  "data-variant": variant,
493
551
  "data-size": size,
@@ -496,14 +554,14 @@ function CodeBlock({
496
554
  });
497
555
  }
498
556
  function CodeBlockHeader({ className, ...props }) {
499
- return /* @__PURE__ */ jsx10("div", {
557
+ return /* @__PURE__ */ jsx11("div", {
500
558
  "data-slot": "code-block-header",
501
559
  className: cn2(CODE_BLOCK_CLASSES.header, className),
502
560
  ...props
503
561
  });
504
562
  }
505
563
  function CodeBlockTitle({ className, ...props }) {
506
- return /* @__PURE__ */ jsx10("div", {
564
+ return /* @__PURE__ */ jsx11("div", {
507
565
  "data-slot": "code-block-title",
508
566
  className: cn2(CODE_BLOCK_CLASSES.title, className),
509
567
  ...props
@@ -513,7 +571,7 @@ function CodeBlockActions({
513
571
  className,
514
572
  ...props
515
573
  }) {
516
- return /* @__PURE__ */ jsx10("div", {
574
+ return /* @__PURE__ */ jsx11("div", {
517
575
  "data-slot": "code-block-actions",
518
576
  className: cn2(CODE_BLOCK_CLASSES.actions, className),
519
577
  ...props
@@ -537,7 +595,7 @@ function CodeBlockCopyButton({
537
595
  }, [copied]);
538
596
  return /* @__PURE__ */ jsxs3(Fragment, {
539
597
  children: [
540
- /* @__PURE__ */ jsx10(Button, {
598
+ /* @__PURE__ */ jsx11(Button, {
541
599
  "data-slot": "code-block-copy-button",
542
600
  "data-copied": copied || undefined,
543
601
  variant,
@@ -552,9 +610,9 @@ function CodeBlockCopyButton({
552
610
  clipboard.writeText(value).then(() => setCopied(true)).catch(() => {});
553
611
  },
554
612
  ...props,
555
- children: copied ? /* @__PURE__ */ jsx10(Check, {}) : /* @__PURE__ */ jsx10(Copy, {})
613
+ children: copied ? /* @__PURE__ */ jsx11(Check, {}) : /* @__PURE__ */ jsx11(Copy, {})
556
614
  }),
557
- /* @__PURE__ */ jsx10("span", {
615
+ /* @__PURE__ */ jsx11("span", {
558
616
  "aria-live": "polite",
559
617
  className: CODE_BLOCK_CLASSES.srOnly,
560
618
  children: copied ? labels.copied : ``
@@ -575,7 +633,7 @@ function CodeBlockContent({
575
633
  }) {
576
634
  const source = typeof children === `string` ? children : null;
577
635
  const lines = React2.useMemo(() => source !== null && language ? tokenizeCode(source.replace(/\n$/, ``), language) : null, [source, language]);
578
- return /* @__PURE__ */ jsx10("pre", {
636
+ return /* @__PURE__ */ jsx11("pre", {
579
637
  "data-slot": "code-block-content",
580
638
  "data-wrap": wrap || undefined,
581
639
  "data-numbered": lineNumbers || undefined,
@@ -589,17 +647,17 @@ function CodeBlockContent({
589
647
  },
590
648
  className: cn2(CODE_BLOCK_CLASSES.content, className),
591
649
  ...props,
592
- children: /* @__PURE__ */ jsx10("code", {
650
+ children: /* @__PURE__ */ jsx11("code", {
593
651
  "data-slot": "code-block-code",
594
652
  className: CODE_BLOCK_CLASSES.code,
595
- children: lines !== null ? lines.map((tokens, index) => /* @__PURE__ */ jsx10(CodeBlockLine, {
596
- children: tokens.length === 0 ? null : tokens.map((token, j) => /* @__PURE__ */ jsx10("span", {
653
+ children: lines !== null ? lines.map((tokens, index) => /* @__PURE__ */ jsx11(CodeBlockLine, {
654
+ children: tokens.length === 0 ? null : tokens.map((token, j) => /* @__PURE__ */ jsx11("span", {
597
655
  "data-token": token.kind,
598
656
  className: cn2(CODE_TOKEN_CLASS[token.kind], CODE_BLOCK_CLASSES.token),
599
657
  children: token.text
600
658
  }, j))
601
659
  }, index)) : lineNumbers && source !== null ? source.replace(/\n$/, ``).split(`
602
- `).map((line, index) => /* @__PURE__ */ jsx10(CodeBlockLine, {
660
+ `).map((line, index) => /* @__PURE__ */ jsx11(CodeBlockLine, {
603
661
  children: line
604
662
  }, index)) : children
605
663
  })
@@ -612,12 +670,12 @@ function CodeBlockLine({
612
670
  ...props
613
671
  }) {
614
672
  const empty = children === undefined || children === null || children === `` || Array.isArray(children) && children.length === 0;
615
- return /* @__PURE__ */ jsx10("span", {
673
+ return /* @__PURE__ */ jsx11("span", {
616
674
  "data-slot": "code-block-line",
617
675
  "data-variant": variant,
618
676
  className: cn2(codeBlockLineVariants({ variant }), className),
619
677
  ...props,
620
- children: /* @__PURE__ */ jsx10("span", {
678
+ children: /* @__PURE__ */ jsx11("span", {
621
679
  "data-slot": "code-block-line-content",
622
680
  className: CODE_BLOCK_CLASSES.lineContent,
623
681
  children: empty ? `
@@ -626,7 +684,7 @@ function CodeBlockLine({
626
684
  });
627
685
  }
628
686
  function CodeBlockFooter({ className, ...props }) {
629
- return /* @__PURE__ */ jsx10("div", {
687
+ return /* @__PURE__ */ jsx11("div", {
630
688
  "data-slot": "code-block-footer",
631
689
  className: cn2(CODE_BLOCK_CLASSES.footer, className),
632
690
  ...props
@@ -634,11 +692,11 @@ function CodeBlockFooter({ className, ...props }) {
634
692
  }
635
693
  // packages/exponential-ui-react/src/primitives/collapsible.tsx
636
694
  import { Collapsible as CollapsiblePrimitive } from "radix-ui";
637
- import { jsx as jsx11 } from "react/jsx-runtime";
695
+ import { jsx as jsx12 } from "react/jsx-runtime";
638
696
  function Collapsible({
639
697
  ...props
640
698
  }) {
641
- return /* @__PURE__ */ jsx11(CollapsiblePrimitive.Root, {
699
+ return /* @__PURE__ */ jsx12(CollapsiblePrimitive.Root, {
642
700
  "data-slot": "collapsible",
643
701
  ...props
644
702
  });
@@ -646,7 +704,7 @@ function Collapsible({
646
704
  function CollapsibleTrigger({
647
705
  ...props
648
706
  }) {
649
- return /* @__PURE__ */ jsx11(CollapsiblePrimitive.Trigger, {
707
+ return /* @__PURE__ */ jsx12(CollapsiblePrimitive.Trigger, {
650
708
  "data-slot": "collapsible-trigger",
651
709
  ...props
652
710
  });
@@ -654,7 +712,7 @@ function CollapsibleTrigger({
654
712
  function CollapsibleContent({
655
713
  ...props
656
714
  }) {
657
- return /* @__PURE__ */ jsx11(CollapsiblePrimitive.Content, {
715
+ return /* @__PURE__ */ jsx12(CollapsiblePrimitive.Content, {
658
716
  "data-slot": "collapsible-content",
659
717
  ...props
660
718
  });
@@ -663,7 +721,7 @@ function CollapsibleContent({
663
721
  import * as React3 from "react";
664
722
  import { CircleXIcon, SearchIcon } from "lucide-react";
665
723
  import { COMMAND_CLASSES, COMMAND_LABEL_STYLE, COMMAND_SELECT_EVENT, commandItemValue, createCommandStore, observeCommandListHeight } from "@exponential_app/eui/web/primitives";
666
- import { jsx as jsx12, jsxs as jsxs4 } from "react/jsx-runtime";
724
+ import { jsx as jsx13, jsxs as jsxs4 } from "react/jsx-runtime";
667
725
  "use client";
668
726
  var CommandContext = React3.createContext(null);
669
727
  var GroupContext = React3.createContext(null);
@@ -705,14 +763,14 @@ function Command({ className, value, defaultValue, onValueChange, filter, should
705
763
  store.onKeyDown(e.nativeEvent);
706
764
  },
707
765
  children: [
708
- /* @__PURE__ */ jsx12("label", {
766
+ /* @__PURE__ */ jsx13("label", {
709
767
  "data-slot": "command-label",
710
768
  htmlFor: inputId,
711
769
  id: labelId,
712
770
  style: COMMAND_LABEL_STYLE,
713
771
  children: label
714
772
  }),
715
- /* @__PURE__ */ jsx12(CommandContext.Provider, {
773
+ /* @__PURE__ */ jsx13(CommandContext.Provider, {
716
774
  value: ctx,
717
775
  children
718
776
  })
@@ -739,10 +797,10 @@ function CommandInput({ className, value, defaultValue, onValueChange, clearLabe
739
797
  "data-slot": "command-input-wrapper",
740
798
  className: COMMAND_CLASSES.inputWrapper,
741
799
  children: [
742
- /* @__PURE__ */ jsx12(SearchIcon, {
800
+ /* @__PURE__ */ jsx13(SearchIcon, {
743
801
  className: COMMAND_CLASSES.inputGlyph
744
802
  }),
745
- /* @__PURE__ */ jsx12("input", {
803
+ /* @__PURE__ */ jsx13("input", {
746
804
  ref: (node) => {
747
805
  input.current = node;
748
806
  if (typeof ref === `function`)
@@ -767,7 +825,7 @@ function CommandInput({ className, value, defaultValue, onValueChange, clearLabe
767
825
  value: shown,
768
826
  onChange: (e) => change(e.target.value)
769
827
  }),
770
- shown !== `` ? /* @__PURE__ */ jsx12("button", {
828
+ shown !== `` ? /* @__PURE__ */ jsx13("button", {
771
829
  type: "button",
772
830
  "data-slot": "command-input-clear",
773
831
  "aria-label": clearLabel ?? `Clear search`,
@@ -776,7 +834,7 @@ function CommandInput({ className, value, defaultValue, onValueChange, clearLabe
776
834
  change(``);
777
835
  input.current?.focus();
778
836
  },
779
- children: /* @__PURE__ */ jsx12(CircleXIcon, {})
837
+ children: /* @__PURE__ */ jsx13(CircleXIcon, {})
780
838
  }) : null
781
839
  ]
782
840
  });
@@ -790,7 +848,7 @@ function CommandList({ className, children, "aria-label": ariaLabel, ...props })
790
848
  if (list.current && sizer.current)
791
849
  return observeCommandListHeight(list.current, sizer.current);
792
850
  }, []);
793
- return /* @__PURE__ */ jsx12("div", {
851
+ return /* @__PURE__ */ jsx13("div", {
794
852
  ref: list,
795
853
  "data-slot": "command-list",
796
854
  className: cn2(COMMAND_CLASSES.list, className),
@@ -800,7 +858,7 @@ function CommandList({ className, children, "aria-label": ariaLabel, ...props })
800
858
  "aria-activedescendant": store.selectedId,
801
859
  "aria-label": ariaLabel ?? `Suggestions`,
802
860
  id: listId,
803
- children: /* @__PURE__ */ jsx12("div", {
861
+ children: /* @__PURE__ */ jsx13("div", {
804
862
  ref: (node) => {
805
863
  sizer.current = node;
806
864
  store.setSizer(node);
@@ -813,7 +871,7 @@ function CommandList({ className, children, "aria-label": ariaLabel, ...props })
813
871
  function CommandEmpty({ className, ...props }) {
814
872
  const { store } = useRoot();
815
873
  useStore(store);
816
- return store.empty() ? /* @__PURE__ */ jsx12("div", {
874
+ return store.empty() ? /* @__PURE__ */ jsx13("div", {
817
875
  "data-slot": "command-empty",
818
876
  className: cn2(COMMAND_CLASSES.empty, className),
819
877
  ...props,
@@ -841,18 +899,18 @@ function CommandGroup({ className, heading, value, forceMount, children, ...prop
841
899
  "data-value": groupValue,
842
900
  hidden: visible ? undefined : true,
843
901
  children: [
844
- heading ? /* @__PURE__ */ jsx12("div", {
902
+ heading ? /* @__PURE__ */ jsx13("div", {
845
903
  "data-slot": "command-group-heading",
846
904
  className: COMMAND_CLASSES.groupHeading,
847
905
  "aria-hidden": true,
848
906
  id: headingId,
849
907
  children: heading
850
908
  }) : null,
851
- /* @__PURE__ */ jsx12("div", {
909
+ /* @__PURE__ */ jsx13("div", {
852
910
  "data-slot": "command-group-items",
853
911
  role: "group",
854
912
  "aria-labelledby": heading ? headingId : undefined,
855
- children: /* @__PURE__ */ jsx12(GroupContext.Provider, {
913
+ children: /* @__PURE__ */ jsx13(GroupContext.Provider, {
856
914
  value: ctx,
857
915
  children
858
916
  })
@@ -894,7 +952,7 @@ function CommandItem({ className, value, keywords, onSelect, disabled, forceMoun
894
952
  if (!visible)
895
953
  return null;
896
954
  const selected = own !== `` && store.value === own;
897
- return /* @__PURE__ */ jsx12("div", {
955
+ return /* @__PURE__ */ jsx13("div", {
898
956
  ref: el,
899
957
  "data-slot": "command-item",
900
958
  className: cn2(COMMAND_CLASSES.item, className),
@@ -921,7 +979,7 @@ function CommandSeparator({ className, alwaysRender, ...props }) {
921
979
  React3.useLayoutEffect(() => store.update(id, { el: el.current }));
922
980
  if (!alwaysRender && store.search !== ``)
923
981
  return null;
924
- return /* @__PURE__ */ jsx12("div", {
982
+ return /* @__PURE__ */ jsx13("div", {
925
983
  ref: el,
926
984
  "data-slot": "command-separator",
927
985
  className: cn2(COMMAND_CLASSES.separator, className),
@@ -930,7 +988,7 @@ function CommandSeparator({ className, alwaysRender, ...props }) {
930
988
  });
931
989
  }
932
990
  function CommandShortcut({ className, ...props }) {
933
- return /* @__PURE__ */ jsx12("span", {
991
+ return /* @__PURE__ */ jsx13("span", {
934
992
  "data-slot": "command-shortcut",
935
993
  className: cn2(COMMAND_CLASSES.shortcut, className),
936
994
  ...props
@@ -940,13 +998,13 @@ function CommandShortcut({ className, ...props }) {
940
998
  import { forwardRef } from "react";
941
999
  import { CONTEXT_RING_CLASSES, RING_RADIUS, RING_SIZE, RING_STROKE, RING_TONE_CLASS, ringGeometry } from "@exponential_app/eui/web/primitives";
942
1000
  import { RING_RADIUS as RING_RADIUS2, RING_SIZE as RING_SIZE2, RING_STROKE as RING_STROKE2, RING_TONE_CLASS as RING_TONE_CLASS2, ringGeometry as ringGeometry2 } from "@exponential_app/eui/web/primitives";
943
- import { jsx as jsx13, jsxs as jsxs5 } from "react/jsx-runtime";
1001
+ import { jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
944
1002
  var ContextRing = forwardRef(function ContextRing({ percent, tone, showEmpty = false, className, ...props }, ref) {
945
1003
  const value = percent ?? null;
946
1004
  if (value === null && !showEmpty)
947
1005
  return null;
948
1006
  const { circumference, dashOffset } = ringGeometry(value ?? 0);
949
- return /* @__PURE__ */ jsx13(Button, {
1007
+ return /* @__PURE__ */ jsx14(Button, {
950
1008
  ref,
951
1009
  type: "button",
952
1010
  variant: "ghost",
@@ -963,7 +1021,7 @@ var ContextRing = forwardRef(function ContextRing({ percent, tone, showEmpty = f
963
1021
  "aria-hidden": true,
964
1022
  className: CONTEXT_RING_CLASSES.svg,
965
1023
  children: [
966
- /* @__PURE__ */ jsx13("circle", {
1024
+ /* @__PURE__ */ jsx14("circle", {
967
1025
  cx: RING_SIZE / 2,
968
1026
  cy: RING_SIZE / 2,
969
1027
  r: RING_RADIUS,
@@ -972,7 +1030,7 @@ var ContextRing = forwardRef(function ContextRing({ percent, tone, showEmpty = f
972
1030
  strokeWidth: RING_STROKE,
973
1031
  opacity: 0.2
974
1032
  }),
975
- value !== null && /* @__PURE__ */ jsx13("circle", {
1033
+ value !== null && /* @__PURE__ */ jsx14("circle", {
976
1034
  cx: RING_SIZE / 2,
977
1035
  cy: RING_SIZE / 2,
978
1036
  r: RING_RADIUS,
@@ -999,13 +1057,13 @@ import { MOBILE_ALERT, MOBILE_ARMS, MOBILE_PAGE, MOBILE_SHEET, MOBILE_SHEET_FULL
999
1057
  // packages/exponential-ui-react/src/primitives/sheet-chrome.tsx
1000
1058
  import * as React4 from "react";
1001
1059
  import { SHEET_CHROME_CLASSES } from "@exponential_app/eui/web/primitives";
1002
- import { jsx as jsx14 } from "react/jsx-runtime";
1060
+ import { jsx as jsx15 } from "react/jsx-runtime";
1003
1061
  var SheetDragContext = React4.createContext(null);
1004
1062
  function SheetDragProvider({
1005
1063
  value,
1006
1064
  children
1007
1065
  }) {
1008
- return /* @__PURE__ */ jsx14(SheetDragContext.Provider, {
1066
+ return /* @__PURE__ */ jsx15(SheetDragContext.Provider, {
1009
1067
  value,
1010
1068
  children
1011
1069
  });
@@ -1018,7 +1076,7 @@ function SheetGrabber({
1018
1076
  ...props
1019
1077
  }) {
1020
1078
  const drag = useSheetDragHandleProps();
1021
- return /* @__PURE__ */ jsx14("div", {
1079
+ return /* @__PURE__ */ jsx15("div", {
1022
1080
  "data-slot": "sheet-grabber",
1023
1081
  "aria-hidden": true,
1024
1082
  ...drag,
@@ -1131,9 +1189,9 @@ function useSheetDrag({
1131
1189
  }
1132
1190
 
1133
1191
  // packages/exponential-ui-react/src/primitives/sheet.tsx
1134
- import { jsx as jsx15, jsxs as jsxs6, Fragment as Fragment2 } from "react/jsx-runtime";
1192
+ import { jsx as jsx16, jsxs as jsxs6, Fragment as Fragment2 } from "react/jsx-runtime";
1135
1193
  function Sheet({ ...props }) {
1136
- return /* @__PURE__ */ jsx15(SheetPrimitive.Root, {
1194
+ return /* @__PURE__ */ jsx16(SheetPrimitive.Root, {
1137
1195
  "data-slot": "sheet",
1138
1196
  ...props
1139
1197
  });
@@ -1141,7 +1199,7 @@ function Sheet({ ...props }) {
1141
1199
  function SheetTrigger({
1142
1200
  ...props
1143
1201
  }) {
1144
- return /* @__PURE__ */ jsx15(SheetPrimitive.Trigger, {
1202
+ return /* @__PURE__ */ jsx16(SheetPrimitive.Trigger, {
1145
1203
  "data-slot": "sheet-trigger",
1146
1204
  ...props
1147
1205
  });
@@ -1149,7 +1207,7 @@ function SheetTrigger({
1149
1207
  function SheetClose({
1150
1208
  ...props
1151
1209
  }) {
1152
- return /* @__PURE__ */ jsx15(SheetPrimitive.Close, {
1210
+ return /* @__PURE__ */ jsx16(SheetPrimitive.Close, {
1153
1211
  "data-slot": "sheet-close",
1154
1212
  ...props
1155
1213
  });
@@ -1157,7 +1215,7 @@ function SheetClose({
1157
1215
  function SheetPortal({
1158
1216
  ...props
1159
1217
  }) {
1160
- return /* @__PURE__ */ jsx15(SheetPrimitive.Portal, {
1218
+ return /* @__PURE__ */ jsx16(SheetPrimitive.Portal, {
1161
1219
  "data-slot": "sheet-portal",
1162
1220
  ...props
1163
1221
  });
@@ -1166,7 +1224,7 @@ function SheetOverlay({
1166
1224
  className,
1167
1225
  ...props
1168
1226
  }) {
1169
- return /* @__PURE__ */ jsx15(SheetPrimitive.Overlay, {
1227
+ return /* @__PURE__ */ jsx16(SheetPrimitive.Overlay, {
1170
1228
  "data-slot": "sheet-overlay",
1171
1229
  className: cn2(SHEET_CLASSES.overlay, className),
1172
1230
  ...props
@@ -1198,11 +1256,11 @@ function SheetContent({
1198
1256
  }, [ref]);
1199
1257
  return /* @__PURE__ */ jsxs6(SheetPortal, {
1200
1258
  children: [
1201
- /* @__PURE__ */ jsx15(SheetPrimitive.Close, {
1259
+ /* @__PURE__ */ jsx16(SheetPrimitive.Close, {
1202
1260
  asChild: true,
1203
- children: /* @__PURE__ */ jsx15(SheetOverlay, {})
1261
+ children: /* @__PURE__ */ jsx16(SheetOverlay, {})
1204
1262
  }),
1205
- /* @__PURE__ */ jsx15(SheetPrimitive.Content, {
1263
+ /* @__PURE__ */ jsx16(SheetPrimitive.Content, {
1206
1264
  "data-slot": "sheet-content",
1207
1265
  "data-side": side,
1208
1266
  ref: setPanel,
@@ -1219,8 +1277,8 @@ function SheetContent({
1219
1277
  children: [
1220
1278
  showGrabber && /* @__PURE__ */ jsxs6(Fragment2, {
1221
1279
  children: [
1222
- /* @__PURE__ */ jsx15(SheetGrabber, {}),
1223
- /* @__PURE__ */ jsx15(SheetPrimitive.Close, {
1280
+ /* @__PURE__ */ jsx16(SheetGrabber, {}),
1281
+ /* @__PURE__ */ jsx16(SheetPrimitive.Close, {
1224
1282
  ref: dragCloseRef,
1225
1283
  "aria-hidden": true,
1226
1284
  tabIndex: -1,
@@ -1232,10 +1290,10 @@ function SheetContent({
1232
1290
  showCloseButton && /* @__PURE__ */ jsxs6(SheetPrimitive.Close, {
1233
1291
  className: SHEET_CLASSES.close,
1234
1292
  children: [
1235
- /* @__PURE__ */ jsx15(XIcon, {
1293
+ /* @__PURE__ */ jsx16(XIcon, {
1236
1294
  className: SHEET_CLASSES.closeIcon
1237
1295
  }),
1238
- /* @__PURE__ */ jsx15("span", {
1296
+ /* @__PURE__ */ jsx16("span", {
1239
1297
  className: SHEET_CLASSES.srOnly,
1240
1298
  children: "Close"
1241
1299
  })
@@ -1249,7 +1307,7 @@ function SheetContent({
1249
1307
  }
1250
1308
  function SheetHeader({ className, ...props }) {
1251
1309
  const drag = useSheetDragHandleProps();
1252
- return /* @__PURE__ */ jsx15("div", {
1310
+ return /* @__PURE__ */ jsx16("div", {
1253
1311
  "data-slot": "sheet-header",
1254
1312
  ...drag,
1255
1313
  className: cn2(SHEET_CLASSES.header, className),
@@ -1257,7 +1315,7 @@ function SheetHeader({ className, ...props }) {
1257
1315
  });
1258
1316
  }
1259
1317
  function SheetFooter({ className, ...props }) {
1260
- return /* @__PURE__ */ jsx15("div", {
1318
+ return /* @__PURE__ */ jsx16("div", {
1261
1319
  "data-slot": "sheet-footer",
1262
1320
  className: cn2(SHEET_CLASSES.footer, className),
1263
1321
  ...props
@@ -1267,7 +1325,7 @@ function SheetTitle({
1267
1325
  className,
1268
1326
  ...props
1269
1327
  }) {
1270
- return /* @__PURE__ */ jsx15(SheetPrimitive.Title, {
1328
+ return /* @__PURE__ */ jsx16(SheetPrimitive.Title, {
1271
1329
  "data-slot": "sheet-title",
1272
1330
  className: cn2(SHEET_CLASSES.title, className),
1273
1331
  ...props
@@ -1277,7 +1335,7 @@ function SheetDescription({
1277
1335
  className,
1278
1336
  ...props
1279
1337
  }) {
1280
- return /* @__PURE__ */ jsx15(SheetPrimitive.Description, {
1338
+ return /* @__PURE__ */ jsx16(SheetPrimitive.Description, {
1281
1339
  "data-slot": "sheet-description",
1282
1340
  className: cn2(SHEET_CLASSES.description, className),
1283
1341
  ...props
@@ -1299,11 +1357,11 @@ function useMediaQuery(query) {
1299
1357
  }
1300
1358
 
1301
1359
  // packages/exponential-ui-react/src/primitives/dialog.tsx
1302
- import { jsx as jsx16, jsxs as jsxs7, Fragment as Fragment3 } from "react/jsx-runtime";
1360
+ import { jsx as jsx17, jsxs as jsxs7, Fragment as Fragment3 } from "react/jsx-runtime";
1303
1361
  function Dialog({
1304
1362
  ...props
1305
1363
  }) {
1306
- return /* @__PURE__ */ jsx16(DialogPrimitive.Root, {
1364
+ return /* @__PURE__ */ jsx17(DialogPrimitive.Root, {
1307
1365
  "data-slot": "dialog",
1308
1366
  ...props
1309
1367
  });
@@ -1311,7 +1369,7 @@ function Dialog({
1311
1369
  function DialogTrigger({
1312
1370
  ...props
1313
1371
  }) {
1314
- return /* @__PURE__ */ jsx16(DialogPrimitive.Trigger, {
1372
+ return /* @__PURE__ */ jsx17(DialogPrimitive.Trigger, {
1315
1373
  "data-slot": "dialog-trigger",
1316
1374
  ...props
1317
1375
  });
@@ -1319,7 +1377,7 @@ function DialogTrigger({
1319
1377
  function DialogPortal({
1320
1378
  ...props
1321
1379
  }) {
1322
- return /* @__PURE__ */ jsx16(DialogPrimitive.Portal, {
1380
+ return /* @__PURE__ */ jsx17(DialogPrimitive.Portal, {
1323
1381
  "data-slot": "dialog-portal",
1324
1382
  ...props
1325
1383
  });
@@ -1327,7 +1385,7 @@ function DialogPortal({
1327
1385
  function DialogClose({
1328
1386
  ...props
1329
1387
  }) {
1330
- return /* @__PURE__ */ jsx16(DialogPrimitive.Close, {
1388
+ return /* @__PURE__ */ jsx17(DialogPrimitive.Close, {
1331
1389
  "data-slot": "dialog-close",
1332
1390
  ...props
1333
1391
  });
@@ -1336,7 +1394,7 @@ function DialogOverlay({
1336
1394
  className,
1337
1395
  ...props
1338
1396
  }) {
1339
- return /* @__PURE__ */ jsx16(DialogPrimitive.Overlay, {
1397
+ return /* @__PURE__ */ jsx17(DialogPrimitive.Overlay, {
1340
1398
  "data-slot": "dialog-overlay",
1341
1399
  className: cn2(DIALOG_CLASSES.overlay, className),
1342
1400
  ...props
@@ -1369,7 +1427,7 @@ function DialogContent({
1369
1427
  }, [ref]);
1370
1428
  const isPhone = useMediaQuery(DIALOG_PHONE_QUERY);
1371
1429
  if (isSheet && isPhone) {
1372
- return /* @__PURE__ */ jsx16(SheetContent, {
1430
+ return /* @__PURE__ */ jsx17(SheetContent, {
1373
1431
  side: "bottom",
1374
1432
  "data-slot": "dialog-content",
1375
1433
  "data-mobile": mobile,
@@ -1377,7 +1435,7 @@ function DialogContent({
1377
1435
  className: cn2(DIALOG_CLASSES.phoneSheet, mobile === `sheet-full` && DIALOG_CLASSES.phoneSheetFull, className),
1378
1436
  onInteractOutside,
1379
1437
  ...props,
1380
- children: /* @__PURE__ */ jsx16(DialogPresentationContext.Provider, {
1438
+ children: /* @__PURE__ */ jsx17(DialogPresentationContext.Provider, {
1381
1439
  value: mobile,
1382
1440
  children
1383
1441
  })
@@ -1386,8 +1444,8 @@ function DialogContent({
1386
1444
  return /* @__PURE__ */ jsxs7(DialogPortal, {
1387
1445
  "data-slot": "dialog-portal",
1388
1446
  children: [
1389
- /* @__PURE__ */ jsx16(DialogOverlay, {}),
1390
- /* @__PURE__ */ jsx16(DialogPrimitive.Content, {
1447
+ /* @__PURE__ */ jsx17(DialogOverlay, {}),
1448
+ /* @__PURE__ */ jsx17(DialogPrimitive.Content, {
1391
1449
  "data-slot": "dialog-content",
1392
1450
  "data-mobile": mobile,
1393
1451
  ref: setPanel,
@@ -1399,17 +1457,17 @@ function DialogContent({
1399
1457
  }
1400
1458
  },
1401
1459
  ...props,
1402
- children: /* @__PURE__ */ jsx16(DialogPresentationContext.Provider, {
1460
+ children: /* @__PURE__ */ jsx17(DialogPresentationContext.Provider, {
1403
1461
  value: mobile,
1404
1462
  children: /* @__PURE__ */ jsxs7(SheetDragProvider, {
1405
1463
  value: isSheet ? handleProps : null,
1406
1464
  children: [
1407
1465
  isSheet && /* @__PURE__ */ jsxs7(Fragment3, {
1408
1466
  children: [
1409
- /* @__PURE__ */ jsx16(SheetGrabber, {
1467
+ /* @__PURE__ */ jsx17(SheetGrabber, {
1410
1468
  className: DIALOG_CLASSES.grabber
1411
1469
  }),
1412
- /* @__PURE__ */ jsx16(DialogPrimitive.Close, {
1470
+ /* @__PURE__ */ jsx17(DialogPrimitive.Close, {
1413
1471
  ref: dragCloseRef,
1414
1472
  "aria-hidden": true,
1415
1473
  tabIndex: -1,
@@ -1422,8 +1480,8 @@ function DialogContent({
1422
1480
  "data-slot": "dialog-close",
1423
1481
  className: cn2(DIALOG_CLASSES.close, mobile !== `page` && DIALOG_CLASSES.closePhoneHidden),
1424
1482
  children: [
1425
- /* @__PURE__ */ jsx16(XIcon2, {}),
1426
- /* @__PURE__ */ jsx16("span", {
1483
+ /* @__PURE__ */ jsx17(XIcon2, {}),
1484
+ /* @__PURE__ */ jsx17("span", {
1427
1485
  className: DIALOG_CLASSES.srOnly,
1428
1486
  children: "Close"
1429
1487
  })
@@ -1438,7 +1496,7 @@ function DialogContent({
1438
1496
  }
1439
1497
  function DialogHeader({ className, ...props }) {
1440
1498
  const drag = useSheetDragHandleProps();
1441
- return /* @__PURE__ */ jsx16("div", {
1499
+ return /* @__PURE__ */ jsx17("div", {
1442
1500
  "data-slot": "dialog-header",
1443
1501
  ...drag,
1444
1502
  className: cn2(DIALOG_CLASSES.header, className),
@@ -1446,14 +1504,14 @@ function DialogHeader({ className, ...props }) {
1446
1504
  });
1447
1505
  }
1448
1506
  function DialogBody({ className, ...props }) {
1449
- return /* @__PURE__ */ jsx16("div", {
1507
+ return /* @__PURE__ */ jsx17("div", {
1450
1508
  "data-slot": "dialog-body",
1451
1509
  className: cn2(DIALOG_CLASSES.body, className),
1452
1510
  ...props
1453
1511
  });
1454
1512
  }
1455
1513
  function DialogFooter({ className, ...props }) {
1456
- return /* @__PURE__ */ jsx16("div", {
1514
+ return /* @__PURE__ */ jsx17("div", {
1457
1515
  "data-slot": "dialog-footer",
1458
1516
  className: cn2(DIALOG_CLASSES.footer, className),
1459
1517
  ...props
@@ -1466,9 +1524,9 @@ function DialogCancel({
1466
1524
  }) {
1467
1525
  const mobile = React7.useContext(DialogPresentationContext);
1468
1526
  const keepOnMobile = mobile === `alert` || mobile === `page`;
1469
- return /* @__PURE__ */ jsx16(DialogPrimitive.Close, {
1527
+ return /* @__PURE__ */ jsx17(DialogPrimitive.Close, {
1470
1528
  asChild: true,
1471
- children: /* @__PURE__ */ jsx16(Button, {
1529
+ children: /* @__PURE__ */ jsx17(Button, {
1472
1530
  type: "button",
1473
1531
  variant: "ghost",
1474
1532
  "data-dialog-cancel": "",
@@ -1482,7 +1540,7 @@ function DialogTitle({
1482
1540
  className,
1483
1541
  ...props
1484
1542
  }) {
1485
- return /* @__PURE__ */ jsx16(DialogPrimitive.Title, {
1543
+ return /* @__PURE__ */ jsx17(DialogPrimitive.Title, {
1486
1544
  "data-slot": "dialog-title",
1487
1545
  className: cn2(DIALOG_CLASSES.title, className),
1488
1546
  ...props
@@ -1492,7 +1550,7 @@ function DialogDescription({
1492
1550
  className,
1493
1551
  ...props
1494
1552
  }) {
1495
- return /* @__PURE__ */ jsx16(DialogPrimitive.Description, {
1553
+ return /* @__PURE__ */ jsx17(DialogPrimitive.Description, {
1496
1554
  "data-slot": "dialog-description",
1497
1555
  className: cn2(DIALOG_CLASSES.description, className),
1498
1556
  ...props
@@ -1501,7 +1559,7 @@ function DialogDescription({
1501
1559
  // packages/exponential-ui-react/src/primitives/disclosure-header.tsx
1502
1560
  import { ChevronDown, ChevronRight as ChevronRight2 } from "lucide-react";
1503
1561
  import { DISCLOSURE_HEADER_CLASSES } from "@exponential_app/eui/web/primitives";
1504
- import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
1562
+ import { jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
1505
1563
  var ChevronRightGlyph = ChevronRight2;
1506
1564
  var ChevronDownGlyph = ChevronDown;
1507
1565
  function DisclosureHeader({
@@ -1513,7 +1571,7 @@ function DisclosureHeader({
1513
1571
  ...props
1514
1572
  }) {
1515
1573
  const Glyph = open ? ChevronDownGlyph : ChevronRightGlyph;
1516
- const glyph = /* @__PURE__ */ jsx17(Glyph, {
1574
+ const glyph = /* @__PURE__ */ jsx18(Glyph, {
1517
1575
  "data-slot": "disclosure-chevron",
1518
1576
  className: cn2(DISCLOSURE_HEADER_CLASSES.chevron, chevron === `trailing` && DISCLOSURE_HEADER_CLASSES.chevronTrailing)
1519
1577
  });
@@ -1537,7 +1595,7 @@ import * as React8 from "react";
1537
1595
  import { ChevronRight as ChevronRight3 } from "lucide-react";
1538
1596
  import { DOCK_CARD_CLASSES, DOCK_PILE_CLASSES, dockPileGeometry } from "@exponential_app/eui/web/primitives";
1539
1597
  import { DOCK_CARD_CLASSES as DOCK_CARD_CLASSES2, DOCK_PILE_CLASSES as DOCK_PILE_CLASSES2, DOCK_PILE_CONSTANTS, dockPileGeometry as dockPileGeometry2 } from "@exponential_app/eui/web/primitives";
1540
- import { jsx as jsx18, jsxs as jsxs9 } from "react/jsx-runtime";
1598
+ import { jsx as jsx19, jsxs as jsxs9 } from "react/jsx-runtime";
1541
1599
  function DockCard({
1542
1600
  tint = `muted`,
1543
1601
  icon: Icon,
@@ -1554,7 +1612,7 @@ function DockCard({
1554
1612
  ...props
1555
1613
  }) {
1556
1614
  const pressable = onOpen !== undefined;
1557
- return /* @__PURE__ */ jsx18("div", {
1615
+ return /* @__PURE__ */ jsx19("div", {
1558
1616
  "data-slot": "dock-card",
1559
1617
  role: pressable ? `button` : undefined,
1560
1618
  tabIndex: pressable && !hidden ? 0 : undefined,
@@ -1577,7 +1635,7 @@ function DockCard({
1577
1635
  "data-hidden": hidden ? `true` : `false`,
1578
1636
  className: DOCK_CARD_CLASSES.body,
1579
1637
  children: [
1580
- Icon && /* @__PURE__ */ jsx18(Icon, {
1638
+ Icon && /* @__PURE__ */ jsx19(Icon, {
1581
1639
  "aria-hidden": true,
1582
1640
  "data-slot": "dock-card-icon",
1583
1641
  className: cn2(DOCK_CARD_CLASSES.icon, DOCK_CARD_CLASSES.tint[tint])
@@ -1588,17 +1646,17 @@ function DockCard({
1588
1646
  /* @__PURE__ */ jsxs9("div", {
1589
1647
  className: DOCK_CARD_CLASSES.header,
1590
1648
  children: [
1591
- /* @__PURE__ */ jsx18("span", {
1649
+ /* @__PURE__ */ jsx19("span", {
1592
1650
  "data-slot": "dock-card-label",
1593
1651
  className: cn2(DOCK_CARD_CLASSES.label, DOCK_CARD_CLASSES.tint[tint]),
1594
1652
  children: label
1595
1653
  }),
1596
- caption !== undefined && caption !== null && /* @__PURE__ */ jsx18("span", {
1654
+ caption !== undefined && caption !== null && /* @__PURE__ */ jsx19("span", {
1597
1655
  "data-slot": "dock-card-caption",
1598
1656
  className: DOCK_CARD_CLASSES.caption,
1599
1657
  children: caption
1600
1658
  }),
1601
- meta !== undefined && meta !== null && /* @__PURE__ */ jsx18("span", {
1659
+ meta !== undefined && meta !== null && /* @__PURE__ */ jsx19("span", {
1602
1660
  "data-slot": "dock-card-meta",
1603
1661
  className: DOCK_CARD_CLASSES.meta,
1604
1662
  children: meta
@@ -1608,16 +1666,16 @@ function DockCard({
1608
1666
  /* @__PURE__ */ jsxs9("div", {
1609
1667
  className: DOCK_CARD_CLASSES.row,
1610
1668
  children: [
1611
- /* @__PURE__ */ jsx18("span", {
1669
+ /* @__PURE__ */ jsx19("span", {
1612
1670
  "data-slot": "dock-card-title",
1613
1671
  className: DOCK_CARD_CLASSES.title,
1614
1672
  children: title
1615
1673
  }),
1616
- pressable ? /* @__PURE__ */ jsx18(ChevronRight3, {
1674
+ pressable ? /* @__PURE__ */ jsx19(ChevronRight3, {
1617
1675
  "aria-hidden": true,
1618
1676
  "data-slot": "dock-card-chevron",
1619
1677
  className: DOCK_CARD_CLASSES.chevron
1620
- }) : trailing !== undefined && trailing !== null ? /* @__PURE__ */ jsx18("span", {
1678
+ }) : trailing !== undefined && trailing !== null ? /* @__PURE__ */ jsx19("span", {
1621
1679
  "data-slot": "dock-card-trailing",
1622
1680
  className: DOCK_CARD_CLASSES.trailing,
1623
1681
  children: trailing
@@ -1652,7 +1710,7 @@ function DockPile({ items, expanded, onExpandedChange, className, style, ...prop
1652
1710
  return () => observer.disconnect();
1653
1711
  }, [items]);
1654
1712
  const geometry = dockPileGeometry(items.map((item) => item.height ?? measured[item.id] ?? 0), expanded);
1655
- return /* @__PURE__ */ jsx18("div", {
1713
+ return /* @__PURE__ */ jsx19("div", {
1656
1714
  "data-slot": "dock-pile",
1657
1715
  "data-expanded": expanded ? `true` : `false`,
1658
1716
  className: cn2(DOCK_PILE_CLASSES.root, className),
@@ -1674,7 +1732,7 @@ function DockPile({ items, expanded, onExpandedChange, className, style, ...prop
1674
1732
  ...props,
1675
1733
  children: items.map((item, i) => {
1676
1734
  const placed = geometry.items[i] ?? { offset: 0, scale: 1, visible: true };
1677
- return /* @__PURE__ */ jsx18("div", {
1735
+ return /* @__PURE__ */ jsx19("div", {
1678
1736
  ref: (el) => {
1679
1737
  if (el)
1680
1738
  nodes.current.set(item.id, el);
@@ -1695,12 +1753,12 @@ function DockPile({ items, expanded, onExpandedChange, className, style, ...prop
1695
1753
  import { CheckIcon as CheckIcon2, ChevronRightIcon as ChevronRightIcon2, CircleIcon } from "lucide-react";
1696
1754
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
1697
1755
  import { DROPDOWN_MENU_CLASSES } from "@exponential_app/eui/web/primitives";
1698
- import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
1756
+ import { jsx as jsx20, jsxs as jsxs10 } from "react/jsx-runtime";
1699
1757
  "use client";
1700
1758
  function DropdownMenu({
1701
1759
  ...props
1702
1760
  }) {
1703
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Root, {
1761
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Root, {
1704
1762
  "data-slot": "dropdown-menu",
1705
1763
  ...props
1706
1764
  });
@@ -1708,7 +1766,7 @@ function DropdownMenu({
1708
1766
  function DropdownMenuPortal({
1709
1767
  ...props
1710
1768
  }) {
1711
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Portal, {
1769
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Portal, {
1712
1770
  "data-slot": "dropdown-menu-portal",
1713
1771
  ...props
1714
1772
  });
@@ -1716,7 +1774,7 @@ function DropdownMenuPortal({
1716
1774
  function DropdownMenuTrigger({
1717
1775
  ...props
1718
1776
  }) {
1719
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Trigger, {
1777
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Trigger, {
1720
1778
  "data-slot": "dropdown-menu-trigger",
1721
1779
  ...props
1722
1780
  });
@@ -1726,8 +1784,8 @@ function DropdownMenuContent({
1726
1784
  sideOffset = 4,
1727
1785
  ...props
1728
1786
  }) {
1729
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Portal, {
1730
- children: /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Content, {
1787
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Portal, {
1788
+ children: /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Content, {
1731
1789
  "data-slot": "dropdown-menu-content",
1732
1790
  sideOffset,
1733
1791
  className: cn2(DROPDOWN_MENU_CLASSES.content, className),
@@ -1738,7 +1796,7 @@ function DropdownMenuContent({
1738
1796
  function DropdownMenuGroup({
1739
1797
  ...props
1740
1798
  }) {
1741
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Group, {
1799
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Group, {
1742
1800
  "data-slot": "dropdown-menu-group",
1743
1801
  ...props
1744
1802
  });
@@ -1749,7 +1807,7 @@ function DropdownMenuItem({
1749
1807
  variant = `default`,
1750
1808
  ...props
1751
1809
  }) {
1752
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Item, {
1810
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Item, {
1753
1811
  "data-slot": "dropdown-menu-item",
1754
1812
  "data-inset": inset,
1755
1813
  "data-variant": variant,
@@ -1769,10 +1827,10 @@ function DropdownMenuCheckboxItem({
1769
1827
  checked,
1770
1828
  ...props,
1771
1829
  children: [
1772
- /* @__PURE__ */ jsx19("span", {
1830
+ /* @__PURE__ */ jsx20("span", {
1773
1831
  className: DROPDOWN_MENU_CLASSES.itemIndicator,
1774
- children: /* @__PURE__ */ jsx19(DropdownMenuPrimitive.ItemIndicator, {
1775
- children: /* @__PURE__ */ jsx19(CheckIcon2, {
1832
+ children: /* @__PURE__ */ jsx20(DropdownMenuPrimitive.ItemIndicator, {
1833
+ children: /* @__PURE__ */ jsx20(CheckIcon2, {
1776
1834
  className: DROPDOWN_MENU_CLASSES.checkIcon
1777
1835
  })
1778
1836
  })
@@ -1784,7 +1842,7 @@ function DropdownMenuCheckboxItem({
1784
1842
  function DropdownMenuRadioGroup({
1785
1843
  ...props
1786
1844
  }) {
1787
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.RadioGroup, {
1845
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.RadioGroup, {
1788
1846
  "data-slot": "dropdown-menu-radio-group",
1789
1847
  ...props
1790
1848
  });
@@ -1799,10 +1857,10 @@ function DropdownMenuRadioItem({
1799
1857
  className: cn2(DROPDOWN_MENU_CLASSES.checkItem, className),
1800
1858
  ...props,
1801
1859
  children: [
1802
- /* @__PURE__ */ jsx19("span", {
1860
+ /* @__PURE__ */ jsx20("span", {
1803
1861
  className: DROPDOWN_MENU_CLASSES.itemIndicator,
1804
- children: /* @__PURE__ */ jsx19(DropdownMenuPrimitive.ItemIndicator, {
1805
- children: /* @__PURE__ */ jsx19(CircleIcon, {
1862
+ children: /* @__PURE__ */ jsx20(DropdownMenuPrimitive.ItemIndicator, {
1863
+ children: /* @__PURE__ */ jsx20(CircleIcon, {
1806
1864
  className: DROPDOWN_MENU_CLASSES.radioIcon
1807
1865
  })
1808
1866
  })
@@ -1816,7 +1874,7 @@ function DropdownMenuLabel({
1816
1874
  inset,
1817
1875
  ...props
1818
1876
  }) {
1819
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Label, {
1877
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Label, {
1820
1878
  "data-slot": "dropdown-menu-label",
1821
1879
  "data-inset": inset,
1822
1880
  className: cn2(DROPDOWN_MENU_CLASSES.label, className),
@@ -1827,7 +1885,7 @@ function DropdownMenuSeparator({
1827
1885
  className,
1828
1886
  ...props
1829
1887
  }) {
1830
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Separator, {
1888
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Separator, {
1831
1889
  "data-slot": "dropdown-menu-separator",
1832
1890
  className: cn2(DROPDOWN_MENU_CLASSES.separator, className),
1833
1891
  ...props
@@ -1837,7 +1895,7 @@ function DropdownMenuShortcut({
1837
1895
  className,
1838
1896
  ...props
1839
1897
  }) {
1840
- return /* @__PURE__ */ jsx19("span", {
1898
+ return /* @__PURE__ */ jsx20("span", {
1841
1899
  "data-slot": "dropdown-menu-shortcut",
1842
1900
  className: cn2(DROPDOWN_MENU_CLASSES.shortcut, className),
1843
1901
  ...props
@@ -1846,7 +1904,7 @@ function DropdownMenuShortcut({
1846
1904
  function DropdownMenuSub({
1847
1905
  ...props
1848
1906
  }) {
1849
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Sub, {
1907
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Sub, {
1850
1908
  "data-slot": "dropdown-menu-sub",
1851
1909
  ...props
1852
1910
  });
@@ -1866,7 +1924,7 @@ function DropdownMenuSubTrigger({
1866
1924
  ...props,
1867
1925
  children: [
1868
1926
  children,
1869
- /* @__PURE__ */ jsx19(ChevronRightIcon2, {
1927
+ /* @__PURE__ */ jsx20(ChevronRightIcon2, {
1870
1928
  className: DROPDOWN_MENU_CLASSES.subChevron
1871
1929
  })
1872
1930
  ]
@@ -1876,8 +1934,8 @@ function DropdownMenuSubContent({
1876
1934
  className,
1877
1935
  ...props
1878
1936
  }) {
1879
- return /* @__PURE__ */ jsx19(DropdownMenuPrimitive.Portal, {
1880
- children: /* @__PURE__ */ jsx19(DropdownMenuPrimitive.SubContent, {
1937
+ return /* @__PURE__ */ jsx20(DropdownMenuPrimitive.Portal, {
1938
+ children: /* @__PURE__ */ jsx20(DropdownMenuPrimitive.SubContent, {
1881
1939
  "data-slot": "dropdown-menu-sub-content",
1882
1940
  className: cn2(DROPDOWN_MENU_CLASSES.subContent, className),
1883
1941
  ...props
@@ -1890,17 +1948,17 @@ import { EMPTY_STATE_CLASSES } from "@exponential_app/eui/web/primitives";
1890
1948
  // packages/exponential-ui-react/src/primitives/icon-disc.tsx
1891
1949
  import { ICON_DISC_CLASSES } from "@exponential_app/eui/web/primitives";
1892
1950
  import { ICON_DISC_TONES } from "@exponential_app/eui/web/primitives";
1893
- import { jsx as jsx20 } from "react/jsx-runtime";
1951
+ import { jsx as jsx21 } from "react/jsx-runtime";
1894
1952
  function IconDisc({
1895
1953
  icon: Icon,
1896
1954
  tone = `primary`,
1897
1955
  strokeWidth,
1898
1956
  className
1899
1957
  }) {
1900
- return /* @__PURE__ */ jsx20("div", {
1958
+ return /* @__PURE__ */ jsx21("div", {
1901
1959
  "data-slot": "icon-disc",
1902
1960
  className: cn2(ICON_DISC_CLASSES.root, ICON_DISC_CLASSES.tones[tone], className),
1903
- children: /* @__PURE__ */ jsx20(Icon, {
1961
+ children: /* @__PURE__ */ jsx21(Icon, {
1904
1962
  className: ICON_DISC_CLASSES.icon,
1905
1963
  strokeWidth,
1906
1964
  "aria-hidden": "true",
@@ -1911,7 +1969,7 @@ function IconDisc({
1911
1969
 
1912
1970
  // packages/exponential-ui-react/src/primitives/empty-state.tsx
1913
1971
  import { EMPTY_STATE_SIZES } from "@exponential_app/eui/web/primitives";
1914
- import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
1972
+ import { jsx as jsx22, jsxs as jsxs11 } from "react/jsx-runtime";
1915
1973
  function EmptyState({
1916
1974
  icon: Icon,
1917
1975
  title,
@@ -1927,12 +1985,12 @@ function EmptyState({
1927
1985
  role: "status",
1928
1986
  className: cn2(EMPTY_STATE_CLASSES.list, className),
1929
1987
  children: [
1930
- Icon && /* @__PURE__ */ jsx21(Icon, {
1988
+ Icon && /* @__PURE__ */ jsx22(Icon, {
1931
1989
  "aria-hidden": "true",
1932
1990
  focusable: "false",
1933
1991
  className: EMPTY_STATE_CLASSES.listIcon
1934
1992
  }),
1935
- /* @__PURE__ */ jsx21("span", {
1993
+ /* @__PURE__ */ jsx22("span", {
1936
1994
  children: title
1937
1995
  })
1938
1996
  ]
@@ -1944,18 +2002,18 @@ function EmptyState({
1944
2002
  role: "status",
1945
2003
  className: cn2(EMPTY_STATE_CLASSES.page, className),
1946
2004
  children: [
1947
- Icon && /* @__PURE__ */ jsx21(IconDisc, {
2005
+ Icon && /* @__PURE__ */ jsx22(IconDisc, {
1948
2006
  icon: Icon
1949
2007
  }),
1950
- /* @__PURE__ */ jsx21("h2", {
2008
+ /* @__PURE__ */ jsx22("h2", {
1951
2009
  className: EMPTY_STATE_CLASSES.pageTitle,
1952
2010
  children: title
1953
2011
  }),
1954
- description && /* @__PURE__ */ jsx21("p", {
2012
+ description && /* @__PURE__ */ jsx22("p", {
1955
2013
  className: EMPTY_STATE_CLASSES.pageDescription,
1956
2014
  children: description
1957
2015
  }),
1958
- children && /* @__PURE__ */ jsx21("div", {
2016
+ children && /* @__PURE__ */ jsx22("div", {
1959
2017
  className: EMPTY_STATE_CLASSES.pageActions,
1960
2018
  children
1961
2019
  })
@@ -1967,7 +2025,7 @@ function ListEmpty({
1967
2025
  children,
1968
2026
  ...props
1969
2027
  }) {
1970
- return /* @__PURE__ */ jsx21("p", {
2028
+ return /* @__PURE__ */ jsx22("p", {
1971
2029
  "data-slot": "list-empty",
1972
2030
  role: "status",
1973
2031
  className: cn2(EMPTY_STATE_CLASSES.listEmpty, className),
@@ -1992,13 +2050,13 @@ function EmptyCta({
1992
2050
  /* @__PURE__ */ jsxs11("span", {
1993
2051
  className: EMPTY_STATE_CLASSES.ctaTitle,
1994
2052
  children: [
1995
- /* @__PURE__ */ jsx21(Icon, {
2053
+ /* @__PURE__ */ jsx22(Icon, {
1996
2054
  className: EMPTY_STATE_CLASSES.ctaIcon
1997
2055
  }),
1998
2056
  title
1999
2057
  ]
2000
2058
  }),
2001
- /* @__PURE__ */ jsx21("span", {
2059
+ /* @__PURE__ */ jsx22("span", {
2002
2060
  className: EMPTY_STATE_CLASSES.ctaDescription,
2003
2061
  children: description
2004
2062
  })
@@ -2008,9 +2066,9 @@ function EmptyCta({
2008
2066
  // packages/exponential-ui-react/src/primitives/glass-card.tsx
2009
2067
  import { GLASS_CARD_CLASSES } from "@exponential_app/eui/web/primitives";
2010
2068
  import { GLASS_CARD_CLASS, GLASS_CARD_CLASSES as GLASS_CARD_CLASSES2 } from "@exponential_app/eui/web/primitives";
2011
- import { jsx as jsx22 } from "react/jsx-runtime";
2069
+ import { jsx as jsx23 } from "react/jsx-runtime";
2012
2070
  function GlassCard({ className, ...props }) {
2013
- return /* @__PURE__ */ jsx22("div", {
2071
+ return /* @__PURE__ */ jsx23("div", {
2014
2072
  "data-slot": "glass-card",
2015
2073
  className: cn2(GLASS_CARD_CLASSES.root, className),
2016
2074
  ...props
@@ -2019,13 +2077,13 @@ function GlassCard({ className, ...props }) {
2019
2077
  // packages/exponential-ui-react/src/primitives/hover-card.tsx
2020
2078
  import { HoverCard as HoverCardPrimitive } from "radix-ui";
2021
2079
  import { HOVER_CARD_CLASSES, HOVER_CARD_DELAYS } from "@exponential_app/eui/web/primitives";
2022
- import { jsx as jsx23 } from "react/jsx-runtime";
2080
+ import { jsx as jsx24 } from "react/jsx-runtime";
2023
2081
  function HoverCard({
2024
2082
  openDelay = HOVER_CARD_DELAYS.openDelay,
2025
2083
  closeDelay = HOVER_CARD_DELAYS.closeDelay,
2026
2084
  ...props
2027
2085
  }) {
2028
- return /* @__PURE__ */ jsx23(HoverCardPrimitive.Root, {
2086
+ return /* @__PURE__ */ jsx24(HoverCardPrimitive.Root, {
2029
2087
  "data-slot": "hover-card",
2030
2088
  openDelay,
2031
2089
  closeDelay,
@@ -2035,7 +2093,7 @@ function HoverCard({
2035
2093
  function HoverCardTrigger({
2036
2094
  ...props
2037
2095
  }) {
2038
- return /* @__PURE__ */ jsx23(HoverCardPrimitive.Trigger, {
2096
+ return /* @__PURE__ */ jsx24(HoverCardPrimitive.Trigger, {
2039
2097
  "data-slot": "hover-card-trigger",
2040
2098
  ...props
2041
2099
  });
@@ -2046,8 +2104,8 @@ function HoverCardContent({
2046
2104
  sideOffset = 6,
2047
2105
  ...props
2048
2106
  }) {
2049
- return /* @__PURE__ */ jsx23(HoverCardPrimitive.Portal, {
2050
- children: /* @__PURE__ */ jsx23(HoverCardPrimitive.Content, {
2107
+ return /* @__PURE__ */ jsx24(HoverCardPrimitive.Portal, {
2108
+ children: /* @__PURE__ */ jsx24(HoverCardPrimitive.Content, {
2051
2109
  "data-slot": "hover-card-content",
2052
2110
  align,
2053
2111
  sideOffset,
@@ -2060,9 +2118,9 @@ function HoverCardContent({
2060
2118
  import * as React9 from "react";
2061
2119
  import { INPUT_CLASSES } from "@exponential_app/eui/web/primitives";
2062
2120
  import { BARE_FIELD_CLASS, FIELD_CHROME_CLASS } from "@exponential_app/eui/web/primitives";
2063
- import { jsx as jsx24 } from "react/jsx-runtime";
2121
+ import { jsx as jsx25 } from "react/jsx-runtime";
2064
2122
  var Input = React9.forwardRef(({ className, type, ...props }, ref) => {
2065
- return /* @__PURE__ */ jsx24("input", {
2123
+ return /* @__PURE__ */ jsx25("input", {
2066
2124
  ref,
2067
2125
  type,
2068
2126
  "data-slot": "input",
@@ -2073,16 +2131,16 @@ var Input = React9.forwardRef(({ className, type, ...props }, ref) => {
2073
2131
  Input.displayName = `Input`;
2074
2132
  // packages/exponential-ui-react/src/primitives/kbd.tsx
2075
2133
  import { KBD_CLASSES } from "@exponential_app/eui/web/primitives";
2076
- import { jsx as jsx25 } from "react/jsx-runtime";
2134
+ import { jsx as jsx26 } from "react/jsx-runtime";
2077
2135
  function Kbd({ className, ...props }) {
2078
- return /* @__PURE__ */ jsx25("kbd", {
2136
+ return /* @__PURE__ */ jsx26("kbd", {
2079
2137
  "data-slot": "kbd",
2080
2138
  className: cn2(KBD_CLASSES.root, className),
2081
2139
  ...props
2082
2140
  });
2083
2141
  }
2084
2142
  function KbdGroup({ className, ...props }) {
2085
- return /* @__PURE__ */ jsx25("span", {
2143
+ return /* @__PURE__ */ jsx26("span", {
2086
2144
  "data-slot": "kbd-group",
2087
2145
  className: cn2(KBD_CLASSES.group, className),
2088
2146
  ...props
@@ -2091,12 +2149,12 @@ function KbdGroup({ className, ...props }) {
2091
2149
  // packages/exponential-ui-react/src/primitives/label.tsx
2092
2150
  import { Label as LabelPrimitive } from "radix-ui";
2093
2151
  import { LABEL_CLASSES } from "@exponential_app/eui/web/primitives";
2094
- import { jsx as jsx26 } from "react/jsx-runtime";
2152
+ import { jsx as jsx27 } from "react/jsx-runtime";
2095
2153
  function Label({
2096
2154
  className,
2097
2155
  ...props
2098
2156
  }) {
2099
- return /* @__PURE__ */ jsx26(LabelPrimitive.Root, {
2157
+ return /* @__PURE__ */ jsx27(LabelPrimitive.Root, {
2100
2158
  "data-slot": "label",
2101
2159
  className: cn2(LABEL_CLASSES.root, className),
2102
2160
  ...props
@@ -2110,19 +2168,19 @@ import { METER_CLASSES } from "@exponential_app/eui/web/primitives";
2110
2168
  // packages/exponential-ui-react/src/primitives/progress.tsx
2111
2169
  import { Progress as ProgressPrimitive } from "radix-ui";
2112
2170
  import { PROGRESS_CLASSES, progressIndicatorTransform } from "@exponential_app/eui/web/primitives";
2113
- import { jsx as jsx27 } from "react/jsx-runtime";
2171
+ import { jsx as jsx28 } from "react/jsx-runtime";
2114
2172
  function Progress({
2115
2173
  className,
2116
2174
  value,
2117
2175
  ...props
2118
2176
  }) {
2119
2177
  const indeterminate = value === null || value === undefined;
2120
- return /* @__PURE__ */ jsx27(ProgressPrimitive.Root, {
2178
+ return /* @__PURE__ */ jsx28(ProgressPrimitive.Root, {
2121
2179
  "data-slot": "progress",
2122
2180
  value,
2123
2181
  className: cn2(PROGRESS_CLASSES.root, className),
2124
2182
  ...props,
2125
- children: /* @__PURE__ */ jsx27(ProgressPrimitive.Indicator, {
2183
+ children: /* @__PURE__ */ jsx28(ProgressPrimitive.Indicator, {
2126
2184
  "data-slot": "progress-indicator",
2127
2185
  className: cn2(PROGRESS_CLASSES.indicator, indeterminate ? PROGRESS_CLASSES.indicatorIndeterminate : PROGRESS_CLASSES.indicatorDeterminate),
2128
2186
  style: indeterminate ? undefined : { transform: progressIndicatorTransform(value) }
@@ -2131,14 +2189,14 @@ function Progress({
2131
2189
  }
2132
2190
 
2133
2191
  // packages/exponential-ui-react/src/primitives/meter.tsx
2134
- import { jsx as jsx28 } from "react/jsx-runtime";
2192
+ import { jsx as jsx29 } from "react/jsx-runtime";
2135
2193
  function Meter({
2136
2194
  value,
2137
2195
  tone = `normal`,
2138
2196
  className,
2139
2197
  ...props
2140
2198
  }) {
2141
- return /* @__PURE__ */ jsx28(Progress, {
2199
+ return /* @__PURE__ */ jsx29(Progress, {
2142
2200
  "data-slot": "meter",
2143
2201
  "data-tone": tone,
2144
2202
  value,
@@ -2146,14 +2204,115 @@ function Meter({
2146
2204
  ...props
2147
2205
  });
2148
2206
  }
2207
+ // packages/exponential-ui-react/src/primitives/mosaic.tsx
2208
+ import { MOSAIC_CLASSES, mosaicTiles } from "@exponential_app/eui/web/primitives";
2209
+ import { MOSAIC_GEOMETRY, mosaicTiles as mosaicTiles2 } from "@exponential_app/eui/web/primitives";
2210
+ import { jsx as jsx30, jsxs as jsxs12, Fragment as Fragment4 } from "react/jsx-runtime";
2211
+ function Mosaic({ pictures, label, onSelect, className, ...props }) {
2212
+ const tiles = mosaicTiles(pictures.length);
2213
+ const tile = (t, lead) => {
2214
+ const picture = pictures[t.index];
2215
+ const alt = picture.alt ?? ``;
2216
+ return /* @__PURE__ */ jsxs12("button", {
2217
+ type: "button",
2218
+ "data-slot": "mosaic-tile",
2219
+ "data-size": t.size,
2220
+ "aria-label": t.more > 0 ? `${alt}, ${t.more} more` : alt || undefined,
2221
+ className: cn2(MOSAIC_CLASSES.tile, lead ? MOSAIC_CLASSES.lead : MOSAIC_CLASSES.fill),
2222
+ onClick: () => onSelect?.(t.index),
2223
+ children: [
2224
+ /* @__PURE__ */ jsx30("img", {
2225
+ src: picture.src,
2226
+ alt: "",
2227
+ "aria-hidden": "true",
2228
+ loading: "lazy",
2229
+ decoding: "async",
2230
+ draggable: false,
2231
+ className: MOSAIC_CLASSES.image
2232
+ }),
2233
+ t.more > 0 ? /* @__PURE__ */ jsx30("span", {
2234
+ "aria-hidden": "true",
2235
+ className: MOSAIC_CLASSES.more,
2236
+ children: `+${t.more}`
2237
+ }) : null
2238
+ ]
2239
+ }, t.index);
2240
+ };
2241
+ return /* @__PURE__ */ jsx30("div", {
2242
+ "data-slot": "mosaic",
2243
+ role: "group",
2244
+ "aria-label": label || undefined,
2245
+ className: cn2(MOSAIC_CLASSES.root, className),
2246
+ ...props,
2247
+ children: tiles.length >= 3 ? /* @__PURE__ */ jsxs12(Fragment4, {
2248
+ children: [
2249
+ tile(tiles[0], true),
2250
+ /* @__PURE__ */ jsx30("div", {
2251
+ "data-slot": "mosaic-side",
2252
+ className: MOSAIC_CLASSES.side,
2253
+ children: tiles.slice(1).map((t) => tile(t, false))
2254
+ })
2255
+ ]
2256
+ }) : tiles.map((t) => tile(t, false))
2257
+ });
2258
+ }
2259
+ // packages/exponential-ui-react/src/primitives/outline.tsx
2260
+ import { OUTLINE_CLASSES, outlineCountText } from "@exponential_app/eui/web/primitives";
2261
+ import { OUTLINE_GEOMETRY, outlineCountText as outlineCountText2 } from "@exponential_app/eui/web/primitives";
2262
+ import { jsx as jsx31, jsxs as jsxs13 } from "react/jsx-runtime";
2263
+ function Outline({ items, value, caption, onSelect, className, ...props }) {
2264
+ return /* @__PURE__ */ jsxs13("nav", {
2265
+ "data-slot": "outline",
2266
+ "aria-label": caption || `Outline`,
2267
+ className: cn2(OUTLINE_CLASSES.root, className),
2268
+ ...props,
2269
+ children: [
2270
+ caption ? /* @__PURE__ */ jsx31("div", {
2271
+ "data-slot": "outline-caption",
2272
+ "aria-hidden": "true",
2273
+ className: OUTLINE_CLASSES.caption,
2274
+ children: caption
2275
+ }) : null,
2276
+ items.map((item) => {
2277
+ const active = value != null && item.id === value;
2278
+ const count = outlineCountText(item.count);
2279
+ return /* @__PURE__ */ jsxs13("button", {
2280
+ type: "button",
2281
+ "data-slot": "outline-row",
2282
+ "data-active": active ? `true` : undefined,
2283
+ "aria-current": active ? `location` : undefined,
2284
+ "aria-label": count ? `${item.title}, ${item.count}` : undefined,
2285
+ className: OUTLINE_CLASSES.row,
2286
+ onClick: () => onSelect?.(item.id),
2287
+ children: [
2288
+ active ? /* @__PURE__ */ jsx31("span", {
2289
+ "data-slot": "outline-bar",
2290
+ "aria-hidden": "true",
2291
+ className: OUTLINE_CLASSES.bar
2292
+ }) : null,
2293
+ /* @__PURE__ */ jsx31("span", {
2294
+ className: OUTLINE_CLASSES.title,
2295
+ children: item.title
2296
+ }),
2297
+ count ? /* @__PURE__ */ jsx31("span", {
2298
+ "aria-hidden": "true",
2299
+ className: OUTLINE_CLASSES.count,
2300
+ children: count
2301
+ }) : null
2302
+ ]
2303
+ }, item.id);
2304
+ })
2305
+ ]
2306
+ });
2307
+ }
2149
2308
  // packages/exponential-ui-react/src/primitives/popover.tsx
2150
2309
  import { Popover as PopoverPrimitive } from "radix-ui";
2151
2310
  import { POPOVER_CLASSES } from "@exponential_app/eui/web/primitives";
2152
- import { jsx as jsx29 } from "react/jsx-runtime";
2311
+ import { jsx as jsx32 } from "react/jsx-runtime";
2153
2312
  function Popover({
2154
2313
  ...props
2155
2314
  }) {
2156
- return /* @__PURE__ */ jsx29(PopoverPrimitive.Root, {
2315
+ return /* @__PURE__ */ jsx32(PopoverPrimitive.Root, {
2157
2316
  "data-slot": "popover",
2158
2317
  ...props
2159
2318
  });
@@ -2161,7 +2320,7 @@ function Popover({
2161
2320
  function PopoverTrigger({
2162
2321
  ...props
2163
2322
  }) {
2164
- return /* @__PURE__ */ jsx29(PopoverPrimitive.Trigger, {
2323
+ return /* @__PURE__ */ jsx32(PopoverPrimitive.Trigger, {
2165
2324
  "data-slot": "popover-trigger",
2166
2325
  ...props
2167
2326
  });
@@ -2172,8 +2331,8 @@ function PopoverContent({
2172
2331
  sideOffset = 4,
2173
2332
  ...props
2174
2333
  }) {
2175
- return /* @__PURE__ */ jsx29(PopoverPrimitive.Portal, {
2176
- children: /* @__PURE__ */ jsx29(PopoverPrimitive.Content, {
2334
+ return /* @__PURE__ */ jsx32(PopoverPrimitive.Portal, {
2335
+ children: /* @__PURE__ */ jsx32(PopoverPrimitive.Content, {
2177
2336
  "data-slot": "popover-content",
2178
2337
  align,
2179
2338
  sideOffset,
@@ -2185,7 +2344,7 @@ function PopoverContent({
2185
2344
  function PopoverAnchor({
2186
2345
  ...props
2187
2346
  }) {
2188
- return /* @__PURE__ */ jsx29(PopoverPrimitive.Anchor, {
2347
+ return /* @__PURE__ */ jsx32(PopoverPrimitive.Anchor, {
2189
2348
  "data-slot": "popover-anchor",
2190
2349
  ...props
2191
2350
  });
@@ -2193,7 +2352,7 @@ function PopoverAnchor({
2193
2352
  // packages/exponential-ui-react/src/primitives/progress-ring.tsx
2194
2353
  import { PROGRESS_RING_CLASSES, RING_RADIUS as RING_RADIUS3, RING_SIZE as RING_SIZE3, RING_STROKE as RING_STROKE3, progressRingPercent, ringGeometry as ringGeometry3 } from "@exponential_app/eui/web/primitives";
2195
2354
  import { progressRingPercent as progressRingPercent2 } from "@exponential_app/eui/web/primitives";
2196
- import { jsx as jsx30, jsxs as jsxs12 } from "react/jsx-runtime";
2355
+ import { jsx as jsx33, jsxs as jsxs14 } from "react/jsx-runtime";
2197
2356
  function ProgressRing({
2198
2357
  done,
2199
2358
  total,
@@ -2204,7 +2363,7 @@ function ProgressRing({
2204
2363
  }) {
2205
2364
  const { circumference, dashOffset } = ringGeometry3(progressRingPercent(done, total));
2206
2365
  const centre = RING_SIZE3 / 2;
2207
- return /* @__PURE__ */ jsxs12("svg", {
2366
+ return /* @__PURE__ */ jsxs14("svg", {
2208
2367
  viewBox: `0 0 ${RING_SIZE3} ${RING_SIZE3}`,
2209
2368
  width: size,
2210
2369
  height: size,
@@ -2215,7 +2374,7 @@ function ProgressRing({
2215
2374
  className: cn2(PROGRESS_RING_CLASSES.root, colorClass, className),
2216
2375
  style: colorHex ? { color: colorHex } : undefined,
2217
2376
  children: [
2218
- /* @__PURE__ */ jsx30("circle", {
2377
+ /* @__PURE__ */ jsx33("circle", {
2219
2378
  cx: centre,
2220
2379
  cy: centre,
2221
2380
  r: RING_RADIUS3,
@@ -2224,7 +2383,7 @@ function ProgressRing({
2224
2383
  strokeWidth: RING_STROKE3,
2225
2384
  opacity: 0.2
2226
2385
  }),
2227
- done > 0 && /* @__PURE__ */ jsx30("circle", {
2386
+ done > 0 && /* @__PURE__ */ jsx33("circle", {
2228
2387
  "data-slot": "progress-ring-arc",
2229
2388
  cx: centre,
2230
2389
  cy: centre,
@@ -2242,30 +2401,30 @@ function ProgressRing({
2242
2401
  // packages/exponential-ui-react/src/primitives/scroll-area.tsx
2243
2402
  import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
2244
2403
  import { SCROLL_AREA_CLASSES } from "@exponential_app/eui/web/primitives";
2245
- import { jsx as jsx31, jsxs as jsxs13 } from "react/jsx-runtime";
2404
+ import { jsx as jsx34, jsxs as jsxs15 } from "react/jsx-runtime";
2246
2405
  function ScrollArea({ className, children, ...props }) {
2247
- return /* @__PURE__ */ jsxs13(ScrollAreaPrimitive.Root, {
2406
+ return /* @__PURE__ */ jsxs15(ScrollAreaPrimitive.Root, {
2248
2407
  "data-slot": "scroll-area",
2249
2408
  className: cn2(SCROLL_AREA_CLASSES.root, className),
2250
2409
  ...props,
2251
2410
  children: [
2252
- /* @__PURE__ */ jsx31(ScrollAreaPrimitive.Viewport, {
2411
+ /* @__PURE__ */ jsx34(ScrollAreaPrimitive.Viewport, {
2253
2412
  "data-slot": "scroll-area-viewport",
2254
2413
  className: SCROLL_AREA_CLASSES.viewport,
2255
2414
  children
2256
2415
  }),
2257
- /* @__PURE__ */ jsx31(ScrollBar, {}),
2258
- /* @__PURE__ */ jsx31(ScrollAreaPrimitive.Corner, {})
2416
+ /* @__PURE__ */ jsx34(ScrollBar, {}),
2417
+ /* @__PURE__ */ jsx34(ScrollAreaPrimitive.Corner, {})
2259
2418
  ]
2260
2419
  });
2261
2420
  }
2262
2421
  function ScrollBar({ className, orientation = `vertical`, ...props }) {
2263
- return /* @__PURE__ */ jsx31(ScrollAreaPrimitive.ScrollAreaScrollbar, {
2422
+ return /* @__PURE__ */ jsx34(ScrollAreaPrimitive.ScrollAreaScrollbar, {
2264
2423
  "data-slot": "scroll-area-scrollbar",
2265
2424
  orientation,
2266
2425
  className: cn2(SCROLL_AREA_CLASSES.scrollbar, SCROLL_AREA_CLASSES.orientations[orientation], className),
2267
2426
  ...props,
2268
- children: /* @__PURE__ */ jsx31(ScrollAreaPrimitive.ScrollAreaThumb, {
2427
+ children: /* @__PURE__ */ jsx34(ScrollAreaPrimitive.ScrollAreaThumb, {
2269
2428
  "data-slot": "scroll-area-thumb",
2270
2429
  className: SCROLL_AREA_CLASSES.thumb
2271
2430
  })
@@ -2278,12 +2437,12 @@ import { SEGMENTED_CONTROL_CLASSES } from "@exponential_app/eui/web/primitives";
2278
2437
  import { Tabs as TabsPrimitive } from "radix-ui";
2279
2438
  import { TABS_CLASSES } from "@exponential_app/eui/web/primitives";
2280
2439
  import { SEGMENTED_ITEM, SEGMENTED_LIST, SEGMENTED_ROW, SEGMENTED_ROW_COMPACT, SEGMENTED_TAB } from "@exponential_app/eui/web/primitives";
2281
- import { jsx as jsx32 } from "react/jsx-runtime";
2440
+ import { jsx as jsx35 } from "react/jsx-runtime";
2282
2441
  function Tabs({
2283
2442
  className,
2284
2443
  ...props
2285
2444
  }) {
2286
- return /* @__PURE__ */ jsx32(TabsPrimitive.Root, {
2445
+ return /* @__PURE__ */ jsx35(TabsPrimitive.Root, {
2287
2446
  "data-slot": "tabs",
2288
2447
  className: cn2(TABS_CLASSES.root, className),
2289
2448
  ...props
@@ -2293,7 +2452,7 @@ function TabsList({
2293
2452
  className,
2294
2453
  ...props
2295
2454
  }) {
2296
- return /* @__PURE__ */ jsx32(TabsPrimitive.List, {
2455
+ return /* @__PURE__ */ jsx35(TabsPrimitive.List, {
2297
2456
  "data-slot": "tabs-list",
2298
2457
  className: cn2(TABS_CLASSES.list, className),
2299
2458
  ...props
@@ -2303,7 +2462,7 @@ function TabsTrigger({
2303
2462
  className,
2304
2463
  ...props
2305
2464
  }) {
2306
- return /* @__PURE__ */ jsx32(TabsPrimitive.Trigger, {
2465
+ return /* @__PURE__ */ jsx35(TabsPrimitive.Trigger, {
2307
2466
  "data-slot": "tabs-trigger",
2308
2467
  className: cn2(TABS_CLASSES.trigger, className),
2309
2468
  ...props
@@ -2313,7 +2472,7 @@ function TabsContent({
2313
2472
  className,
2314
2473
  ...props
2315
2474
  }) {
2316
- return /* @__PURE__ */ jsx32(TabsPrimitive.Content, {
2475
+ return /* @__PURE__ */ jsx35(TabsPrimitive.Content, {
2317
2476
  "data-slot": "tabs-content",
2318
2477
  className: cn2(TABS_CLASSES.content, className),
2319
2478
  ...props
@@ -2321,7 +2480,7 @@ function TabsContent({
2321
2480
  }
2322
2481
 
2323
2482
  // packages/exponential-ui-react/src/primitives/segmented-control.tsx
2324
- import { jsx as jsx33, jsxs as jsxs14 } from "react/jsx-runtime";
2483
+ import { jsx as jsx36, jsxs as jsxs16 } from "react/jsx-runtime";
2325
2484
  function SegmentedControl({
2326
2485
  value,
2327
2486
  onValueChange,
@@ -2332,23 +2491,23 @@ function SegmentedControl({
2332
2491
  }) {
2333
2492
  const triggers = options.map((option) => {
2334
2493
  const Glyph = option.icon;
2335
- return /* @__PURE__ */ jsxs14(TabsTrigger, {
2494
+ return /* @__PURE__ */ jsxs16(TabsTrigger, {
2336
2495
  value: option.value,
2337
2496
  disabled: disabled || option.disabled,
2338
2497
  className: SEGMENTED_CONTROL_CLASSES.trigger,
2339
2498
  children: [
2340
- Glyph ? /* @__PURE__ */ jsx33(Glyph, {
2499
+ Glyph ? /* @__PURE__ */ jsx36(Glyph, {
2341
2500
  "aria-hidden": true
2342
2501
  }) : null,
2343
2502
  option.label
2344
2503
  ]
2345
2504
  }, option.value);
2346
2505
  });
2347
- return /* @__PURE__ */ jsx33(Tabs, {
2506
+ return /* @__PURE__ */ jsx36(Tabs, {
2348
2507
  "data-slot": "segmented-control",
2349
2508
  value,
2350
2509
  onValueChange: (next) => onValueChange(next),
2351
- children: /* @__PURE__ */ jsx33(TabsList, {
2510
+ children: /* @__PURE__ */ jsx36(TabsList, {
2352
2511
  className: cn2(fill && SEGMENTED_CONTROL_CLASSES.fill, className),
2353
2512
  children: triggers
2354
2513
  })
@@ -2358,12 +2517,12 @@ function SegmentedControl({
2358
2517
  import { CheckIcon as CheckIcon3, ChevronDownIcon as ChevronDownIcon2, ChevronUpIcon } from "lucide-react";
2359
2518
  import { Select as SelectPrimitive } from "radix-ui";
2360
2519
  import { SELECT_CLASSES } from "@exponential_app/eui/web/primitives";
2361
- import { jsx as jsx34, jsxs as jsxs15 } from "react/jsx-runtime";
2520
+ import { jsx as jsx37, jsxs as jsxs17 } from "react/jsx-runtime";
2362
2521
  "use client";
2363
2522
  function Select({
2364
2523
  ...props
2365
2524
  }) {
2366
- return /* @__PURE__ */ jsx34(SelectPrimitive.Root, {
2525
+ return /* @__PURE__ */ jsx37(SelectPrimitive.Root, {
2367
2526
  "data-slot": "select",
2368
2527
  ...props
2369
2528
  });
@@ -2371,7 +2530,7 @@ function Select({
2371
2530
  function SelectGroup({
2372
2531
  ...props
2373
2532
  }) {
2374
- return /* @__PURE__ */ jsx34(SelectPrimitive.Group, {
2533
+ return /* @__PURE__ */ jsx37(SelectPrimitive.Group, {
2375
2534
  "data-slot": "select-group",
2376
2535
  ...props
2377
2536
  });
@@ -2379,7 +2538,7 @@ function SelectGroup({
2379
2538
  function SelectValue({
2380
2539
  ...props
2381
2540
  }) {
2382
- return /* @__PURE__ */ jsx34(SelectPrimitive.Value, {
2541
+ return /* @__PURE__ */ jsx37(SelectPrimitive.Value, {
2383
2542
  "data-slot": "select-value",
2384
2543
  ...props
2385
2544
  });
@@ -2390,16 +2549,16 @@ function SelectTrigger({
2390
2549
  children,
2391
2550
  ...props
2392
2551
  }) {
2393
- return /* @__PURE__ */ jsxs15(SelectPrimitive.Trigger, {
2552
+ return /* @__PURE__ */ jsxs17(SelectPrimitive.Trigger, {
2394
2553
  "data-slot": "select-trigger",
2395
2554
  "data-size": size,
2396
2555
  className: cn2(SELECT_CLASSES.trigger, className),
2397
2556
  ...props,
2398
2557
  children: [
2399
2558
  children,
2400
- /* @__PURE__ */ jsx34(SelectPrimitive.Icon, {
2559
+ /* @__PURE__ */ jsx37(SelectPrimitive.Icon, {
2401
2560
  asChild: true,
2402
- children: /* @__PURE__ */ jsx34(ChevronDownIcon2, {
2561
+ children: /* @__PURE__ */ jsx37(ChevronDownIcon2, {
2403
2562
  className: SELECT_CLASSES.triggerIcon
2404
2563
  })
2405
2564
  })
@@ -2413,20 +2572,20 @@ function SelectContent({
2413
2572
  align = `center`,
2414
2573
  ...props
2415
2574
  }) {
2416
- return /* @__PURE__ */ jsx34(SelectPrimitive.Portal, {
2417
- children: /* @__PURE__ */ jsxs15(SelectPrimitive.Content, {
2575
+ return /* @__PURE__ */ jsx37(SelectPrimitive.Portal, {
2576
+ children: /* @__PURE__ */ jsxs17(SelectPrimitive.Content, {
2418
2577
  "data-slot": "select-content",
2419
2578
  className: cn2(SELECT_CLASSES.content, position === `popper` && SELECT_CLASSES.contentPopper, className),
2420
2579
  position,
2421
2580
  align,
2422
2581
  ...props,
2423
2582
  children: [
2424
- /* @__PURE__ */ jsx34(SelectScrollUpButton, {}),
2425
- /* @__PURE__ */ jsx34(SelectPrimitive.Viewport, {
2583
+ /* @__PURE__ */ jsx37(SelectScrollUpButton, {}),
2584
+ /* @__PURE__ */ jsx37(SelectPrimitive.Viewport, {
2426
2585
  className: cn2(SELECT_CLASSES.viewport, position === `popper` && SELECT_CLASSES.viewportPopper),
2427
2586
  children
2428
2587
  }),
2429
- /* @__PURE__ */ jsx34(SelectScrollDownButton, {})
2588
+ /* @__PURE__ */ jsx37(SelectScrollDownButton, {})
2430
2589
  ]
2431
2590
  })
2432
2591
  });
@@ -2435,7 +2594,7 @@ function SelectLabel({
2435
2594
  className,
2436
2595
  ...props
2437
2596
  }) {
2438
- return /* @__PURE__ */ jsx34(SelectPrimitive.Label, {
2597
+ return /* @__PURE__ */ jsx37(SelectPrimitive.Label, {
2439
2598
  "data-slot": "select-label",
2440
2599
  className: cn2(SELECT_CLASSES.label, className),
2441
2600
  ...props
@@ -2446,21 +2605,21 @@ function SelectItem({
2446
2605
  children,
2447
2606
  ...props
2448
2607
  }) {
2449
- return /* @__PURE__ */ jsxs15(SelectPrimitive.Item, {
2608
+ return /* @__PURE__ */ jsxs17(SelectPrimitive.Item, {
2450
2609
  "data-slot": "select-item",
2451
2610
  className: cn2(SELECT_CLASSES.item, className),
2452
2611
  ...props,
2453
2612
  children: [
2454
- /* @__PURE__ */ jsx34("span", {
2613
+ /* @__PURE__ */ jsx37("span", {
2455
2614
  "data-slot": "select-item-indicator",
2456
2615
  className: SELECT_CLASSES.itemIndicator,
2457
- children: /* @__PURE__ */ jsx34(SelectPrimitive.ItemIndicator, {
2458
- children: /* @__PURE__ */ jsx34(CheckIcon3, {
2616
+ children: /* @__PURE__ */ jsx37(SelectPrimitive.ItemIndicator, {
2617
+ children: /* @__PURE__ */ jsx37(CheckIcon3, {
2459
2618
  className: SELECT_CLASSES.itemCheck
2460
2619
  })
2461
2620
  })
2462
2621
  }),
2463
- /* @__PURE__ */ jsx34(SelectPrimitive.ItemText, {
2622
+ /* @__PURE__ */ jsx37(SelectPrimitive.ItemText, {
2464
2623
  children
2465
2624
  })
2466
2625
  ]
@@ -2470,7 +2629,7 @@ function SelectSeparator({
2470
2629
  className,
2471
2630
  ...props
2472
2631
  }) {
2473
- return /* @__PURE__ */ jsx34(SelectPrimitive.Separator, {
2632
+ return /* @__PURE__ */ jsx37(SelectPrimitive.Separator, {
2474
2633
  "data-slot": "select-separator",
2475
2634
  className: cn2(SELECT_CLASSES.separator, className),
2476
2635
  ...props
@@ -2480,11 +2639,11 @@ function SelectScrollUpButton({
2480
2639
  className,
2481
2640
  ...props
2482
2641
  }) {
2483
- return /* @__PURE__ */ jsx34(SelectPrimitive.ScrollUpButton, {
2642
+ return /* @__PURE__ */ jsx37(SelectPrimitive.ScrollUpButton, {
2484
2643
  "data-slot": "select-scroll-up-button",
2485
2644
  className: cn2(SELECT_CLASSES.scrollButton, className),
2486
2645
  ...props,
2487
- children: /* @__PURE__ */ jsx34(ChevronUpIcon, {
2646
+ children: /* @__PURE__ */ jsx37(ChevronUpIcon, {
2488
2647
  className: SELECT_CLASSES.scrollIcon
2489
2648
  })
2490
2649
  });
@@ -2493,11 +2652,11 @@ function SelectScrollDownButton({
2493
2652
  className,
2494
2653
  ...props
2495
2654
  }) {
2496
- return /* @__PURE__ */ jsx34(SelectPrimitive.ScrollDownButton, {
2655
+ return /* @__PURE__ */ jsx37(SelectPrimitive.ScrollDownButton, {
2497
2656
  "data-slot": "select-scroll-down-button",
2498
2657
  className: cn2(SELECT_CLASSES.scrollButton, className),
2499
2658
  ...props,
2500
- children: /* @__PURE__ */ jsx34(ChevronDownIcon2, {
2659
+ children: /* @__PURE__ */ jsx37(ChevronDownIcon2, {
2501
2660
  className: SELECT_CLASSES.scrollIcon
2502
2661
  })
2503
2662
  });
@@ -2505,7 +2664,7 @@ function SelectScrollDownButton({
2505
2664
  // packages/exponential-ui-react/src/primitives/separator.tsx
2506
2665
  import { Separator as SeparatorPrimitive } from "radix-ui";
2507
2666
  import { SEPARATOR_CLASSES } from "@exponential_app/eui/web/primitives";
2508
- import { jsx as jsx35 } from "react/jsx-runtime";
2667
+ import { jsx as jsx38 } from "react/jsx-runtime";
2509
2668
  "use client";
2510
2669
  function Separator({
2511
2670
  className,
@@ -2513,7 +2672,7 @@ function Separator({
2513
2672
  decorative = true,
2514
2673
  ...props
2515
2674
  }) {
2516
- return /* @__PURE__ */ jsx35(SeparatorPrimitive.Root, {
2675
+ return /* @__PURE__ */ jsx38(SeparatorPrimitive.Root, {
2517
2676
  "data-slot": "separator",
2518
2677
  decorative,
2519
2678
  orientation,
@@ -2523,9 +2682,9 @@ function Separator({
2523
2682
  }
2524
2683
  // packages/exponential-ui-react/src/primitives/skeleton.tsx
2525
2684
  import { SKELETON_CLASSES } from "@exponential_app/eui/web/primitives";
2526
- import { jsx as jsx36 } from "react/jsx-runtime";
2685
+ import { jsx as jsx39 } from "react/jsx-runtime";
2527
2686
  function Skeleton({ className, ...props }) {
2528
- return /* @__PURE__ */ jsx36("div", {
2687
+ return /* @__PURE__ */ jsx39("div", {
2529
2688
  "data-slot": "skeleton",
2530
2689
  className: cn2(SKELETON_CLASSES.root, className),
2531
2690
  ...props
@@ -2534,14 +2693,14 @@ function Skeleton({ className, ...props }) {
2534
2693
  // packages/exponential-ui-react/src/primitives/spinner.tsx
2535
2694
  import { LoaderCircle } from "lucide-react";
2536
2695
  import { SPINNER_CLASSES } from "@exponential_app/eui/web/primitives";
2537
- import { jsx as jsx37 } from "react/jsx-runtime";
2696
+ import { jsx as jsx40 } from "react/jsx-runtime";
2538
2697
  function Spinner({
2539
2698
  size = 10,
2540
2699
  label = `Loading`,
2541
2700
  className,
2542
2701
  ...props
2543
2702
  }) {
2544
- return /* @__PURE__ */ jsx37(LoaderCircle, {
2703
+ return /* @__PURE__ */ jsx40(LoaderCircle, {
2545
2704
  "data-slot": "spinner",
2546
2705
  "data-testid": "feedback-spinner",
2547
2706
  "aria-label": label,
@@ -2555,18 +2714,18 @@ function Spinner({
2555
2714
  // packages/exponential-ui-react/src/primitives/switch.tsx
2556
2715
  import { Switch as SwitchPrimitive } from "radix-ui";
2557
2716
  import { SWITCH_CLASSES } from "@exponential_app/eui/web/primitives";
2558
- import { jsx as jsx38 } from "react/jsx-runtime";
2717
+ import { jsx as jsx41 } from "react/jsx-runtime";
2559
2718
  function Switch({
2560
2719
  className,
2561
2720
  size = `default`,
2562
2721
  ...props
2563
2722
  }) {
2564
- return /* @__PURE__ */ jsx38(SwitchPrimitive.Root, {
2723
+ return /* @__PURE__ */ jsx41(SwitchPrimitive.Root, {
2565
2724
  "data-slot": "switch",
2566
2725
  "data-size": size,
2567
2726
  className: cn2(SWITCH_CLASSES.root, className),
2568
2727
  ...props,
2569
- children: /* @__PURE__ */ jsx38(SwitchPrimitive.Thumb, {
2728
+ children: /* @__PURE__ */ jsx41(SwitchPrimitive.Thumb, {
2570
2729
  "data-slot": "switch-thumb",
2571
2730
  className: cn2(SWITCH_CLASSES.thumb)
2572
2731
  })
@@ -2574,12 +2733,12 @@ function Switch({
2574
2733
  }
2575
2734
  // packages/exponential-ui-react/src/primitives/table.tsx
2576
2735
  import { TABLE_CLASSES } from "@exponential_app/eui/web/primitives";
2577
- import { jsx as jsx39 } from "react/jsx-runtime";
2736
+ import { jsx as jsx42 } from "react/jsx-runtime";
2578
2737
  function Table({ className, ...props }) {
2579
- return /* @__PURE__ */ jsx39("div", {
2738
+ return /* @__PURE__ */ jsx42("div", {
2580
2739
  "data-slot": "table-container",
2581
2740
  className: TABLE_CLASSES.container,
2582
- children: /* @__PURE__ */ jsx39("table", {
2741
+ children: /* @__PURE__ */ jsx42("table", {
2583
2742
  "data-slot": "table",
2584
2743
  className: cn2(TABLE_CLASSES.root, className),
2585
2744
  ...props
@@ -2587,49 +2746,49 @@ function Table({ className, ...props }) {
2587
2746
  });
2588
2747
  }
2589
2748
  function TableHeader({ className, ...props }) {
2590
- return /* @__PURE__ */ jsx39("thead", {
2749
+ return /* @__PURE__ */ jsx42("thead", {
2591
2750
  "data-slot": "table-header",
2592
2751
  className: cn2(TABLE_CLASSES.header, className),
2593
2752
  ...props
2594
2753
  });
2595
2754
  }
2596
2755
  function TableBody({ className, ...props }) {
2597
- return /* @__PURE__ */ jsx39("tbody", {
2756
+ return /* @__PURE__ */ jsx42("tbody", {
2598
2757
  "data-slot": "table-body",
2599
2758
  className: cn2(TABLE_CLASSES.body, className),
2600
2759
  ...props
2601
2760
  });
2602
2761
  }
2603
2762
  function TableFooter({ className, ...props }) {
2604
- return /* @__PURE__ */ jsx39("tfoot", {
2763
+ return /* @__PURE__ */ jsx42("tfoot", {
2605
2764
  "data-slot": "table-footer",
2606
2765
  className: cn2(TABLE_CLASSES.footer, className),
2607
2766
  ...props
2608
2767
  });
2609
2768
  }
2610
2769
  function TableRow({ className, ...props }) {
2611
- return /* @__PURE__ */ jsx39("tr", {
2770
+ return /* @__PURE__ */ jsx42("tr", {
2612
2771
  "data-slot": "table-row",
2613
2772
  className: cn2(TABLE_CLASSES.row, className),
2614
2773
  ...props
2615
2774
  });
2616
2775
  }
2617
2776
  function TableHead({ className, ...props }) {
2618
- return /* @__PURE__ */ jsx39("th", {
2777
+ return /* @__PURE__ */ jsx42("th", {
2619
2778
  "data-slot": "table-head",
2620
2779
  className: cn2(TABLE_CLASSES.head, className),
2621
2780
  ...props
2622
2781
  });
2623
2782
  }
2624
2783
  function TableCell({ className, ...props }) {
2625
- return /* @__PURE__ */ jsx39("td", {
2784
+ return /* @__PURE__ */ jsx42("td", {
2626
2785
  "data-slot": "table-cell",
2627
2786
  className: cn2(TABLE_CLASSES.cell, className),
2628
2787
  ...props
2629
2788
  });
2630
2789
  }
2631
2790
  function TableCaption({ className, ...props }) {
2632
- return /* @__PURE__ */ jsx39("caption", {
2791
+ return /* @__PURE__ */ jsx42("caption", {
2633
2792
  "data-slot": "table-caption",
2634
2793
  className: cn2(TABLE_CLASSES.caption, className),
2635
2794
  ...props
@@ -2637,9 +2796,9 @@ function TableCaption({ className, ...props }) {
2637
2796
  }
2638
2797
  // packages/exponential-ui-react/src/primitives/textarea.tsx
2639
2798
  import { TEXTAREA_CLASSES } from "@exponential_app/eui/web/primitives";
2640
- import { jsx as jsx40 } from "react/jsx-runtime";
2799
+ import { jsx as jsx43 } from "react/jsx-runtime";
2641
2800
  function Textarea({ className, ...props }) {
2642
- return /* @__PURE__ */ jsx40("textarea", {
2801
+ return /* @__PURE__ */ jsx43("textarea", {
2643
2802
  "data-slot": "textarea",
2644
2803
  className: cn2(TEXTAREA_CLASSES.root, className),
2645
2804
  ...props
@@ -2657,7 +2816,7 @@ import {
2657
2816
  toastStackGeometry
2658
2817
  } from "@exponential_app/eui/web/primitives";
2659
2818
  import { createToastStore as createToastStore2, toastStackGeometry as toastStackGeometry2, toastPlacement as toastPlacement2, TOAST_CONSTANTS, TOAST_KINDS, TOAST_TOUCH_QUERY as TOAST_TOUCH_QUERY2 } from "@exponential_app/eui/web/primitives";
2660
- import { jsx as jsx41, jsxs as jsxs16 } from "react/jsx-runtime";
2819
+ import { jsx as jsx44, jsxs as jsxs18 } from "react/jsx-runtime";
2661
2820
  var KIND_ICONS = {
2662
2821
  success: CircleCheck,
2663
2822
  error: CircleX,
@@ -2693,13 +2852,13 @@ function Toaster({ store = toastStore, touch, closeLabel = `Close`, className, .
2693
2852
  setMeasured((prev) => Object.keys(next).length === Object.keys(prev).length && Object.entries(next).every(([k, v]) => prev[k] === v) ? prev : next);
2694
2853
  }, [toasts]);
2695
2854
  const geometry = toastStackGeometry(toasts.map((t) => t.height ?? measured[t.id] ?? 0), open, anchoredBottom);
2696
- return /* @__PURE__ */ jsx41("section", {
2855
+ return /* @__PURE__ */ jsx44("section", {
2697
2856
  "aria-label": "Notifications",
2698
2857
  "data-slot": "toaster",
2699
2858
  "data-placement": placement,
2700
2859
  className: cn2(TOAST_CLASSES.region, TOAST_CLASSES.regionPlacement[placement], className),
2701
2860
  ...props,
2702
- children: /* @__PURE__ */ jsx41("ol", {
2861
+ children: /* @__PURE__ */ jsx44("ol", {
2703
2862
  "data-slot": "toast-list",
2704
2863
  "data-expanded": open ? `true` : `false`,
2705
2864
  className: cn2(TOAST_CLASSES.list, TOAST_CLASSES.listPlacement[placement]),
@@ -2720,7 +2879,7 @@ function Toaster({ store = toastStore, touch, closeLabel = `Close`, className, .
2720
2879
  const item = geometry.items[i];
2721
2880
  const rank = toasts.length - 1 - i;
2722
2881
  const Icon = t.kind ? KIND_ICONS[t.kind] : null;
2723
- return /* @__PURE__ */ jsxs16("li", {
2882
+ return /* @__PURE__ */ jsxs18("li", {
2724
2883
  ref: (el) => {
2725
2884
  if (el)
2726
2885
  items.current.set(t.id, el);
@@ -2739,29 +2898,29 @@ function Toaster({ store = toastStore, touch, closeLabel = `Close`, className, .
2739
2898
  className: cn2(TOAST_CLASSES.toast, TOAST_CLASSES.toastOrigin[anchoredBottom ? `bottom` : `top`]),
2740
2899
  style: { "--offset": `${item.offset}px`, "--scale": `${item.scale}`, zIndex: i + 1 },
2741
2900
  children: [
2742
- Icon && /* @__PURE__ */ jsx41("div", {
2901
+ Icon && /* @__PURE__ */ jsx44("div", {
2743
2902
  className: TOAST_CLASSES.iconSlot,
2744
- children: /* @__PURE__ */ jsx41(Icon, {
2903
+ children: /* @__PURE__ */ jsx44(Icon, {
2745
2904
  "data-toast-kind": t.kind,
2746
2905
  className: cn2(TOAST_CLASSES.icon, TOAST_CLASSES.kindIcon[t.kind])
2747
2906
  })
2748
2907
  }),
2749
- /* @__PURE__ */ jsxs16("div", {
2908
+ /* @__PURE__ */ jsxs18("div", {
2750
2909
  className: TOAST_CLASSES.content,
2751
2910
  children: [
2752
- /* @__PURE__ */ jsx41("div", {
2911
+ /* @__PURE__ */ jsx44("div", {
2753
2912
  "data-slot": "toast-title",
2754
2913
  className: TOAST_CLASSES.title,
2755
2914
  children: t.title
2756
2915
  }),
2757
- t.description !== undefined && /* @__PURE__ */ jsx41("div", {
2916
+ t.description !== undefined && /* @__PURE__ */ jsx44("div", {
2758
2917
  "data-slot": "toast-description",
2759
2918
  className: TOAST_CLASSES.description,
2760
2919
  children: t.description
2761
2920
  })
2762
2921
  ]
2763
2922
  }),
2764
- t.action && /* @__PURE__ */ jsx41("button", {
2923
+ t.action && /* @__PURE__ */ jsx44("button", {
2765
2924
  type: "button",
2766
2925
  "data-slot": "toast-action",
2767
2926
  className: TOAST_CLASSES.action,
@@ -2771,13 +2930,13 @@ function Toaster({ store = toastStore, touch, closeLabel = `Close`, className, .
2771
2930
  },
2772
2931
  children: t.action.label
2773
2932
  }),
2774
- /* @__PURE__ */ jsx41("button", {
2933
+ /* @__PURE__ */ jsx44("button", {
2775
2934
  type: "button",
2776
2935
  "data-slot": "toast-close",
2777
2936
  "aria-label": closeLabel,
2778
2937
  className: TOAST_CLASSES.close,
2779
2938
  onClick: () => store.dismiss(t.id),
2780
- children: /* @__PURE__ */ jsx41(XIcon3, {})
2939
+ children: /* @__PURE__ */ jsx44(XIcon3, {})
2781
2940
  })
2782
2941
  ]
2783
2942
  }, t.id);
@@ -2788,12 +2947,12 @@ function Toaster({ store = toastStore, touch, closeLabel = `Close`, className, .
2788
2947
  // packages/exponential-ui-react/src/primitives/tooltip.tsx
2789
2948
  import { Tooltip as TooltipPrimitive } from "radix-ui";
2790
2949
  import { TOOLTIP_CLASSES } from "@exponential_app/eui/web/primitives";
2791
- import { jsx as jsx42 } from "react/jsx-runtime";
2950
+ import { jsx as jsx45 } from "react/jsx-runtime";
2792
2951
  function TooltipProvider({
2793
2952
  delayDuration = 0,
2794
2953
  ...props
2795
2954
  }) {
2796
- return /* @__PURE__ */ jsx42(TooltipPrimitive.Provider, {
2955
+ return /* @__PURE__ */ jsx45(TooltipPrimitive.Provider, {
2797
2956
  "data-slot": "tooltip-provider",
2798
2957
  delayDuration,
2799
2958
  ...props
@@ -2802,7 +2961,7 @@ function TooltipProvider({
2802
2961
  function Tooltip({
2803
2962
  ...props
2804
2963
  }) {
2805
- return /* @__PURE__ */ jsx42(TooltipPrimitive.Root, {
2964
+ return /* @__PURE__ */ jsx45(TooltipPrimitive.Root, {
2806
2965
  "data-slot": "tooltip",
2807
2966
  ...props
2808
2967
  });
@@ -2810,7 +2969,7 @@ function Tooltip({
2810
2969
  function TooltipTrigger({
2811
2970
  ...props
2812
2971
  }) {
2813
- return /* @__PURE__ */ jsx42(TooltipPrimitive.Trigger, {
2972
+ return /* @__PURE__ */ jsx45(TooltipPrimitive.Trigger, {
2814
2973
  "data-slot": "tooltip-trigger",
2815
2974
  ...props
2816
2975
  });
@@ -2821,8 +2980,8 @@ function TooltipContent({
2821
2980
  children,
2822
2981
  ...props
2823
2982
  }) {
2824
- return /* @__PURE__ */ jsx42(TooltipPrimitive.Portal, {
2825
- children: /* @__PURE__ */ jsx42(TooltipPrimitive.Content, {
2983
+ return /* @__PURE__ */ jsx45(TooltipPrimitive.Portal, {
2984
+ children: /* @__PURE__ */ jsx45(TooltipPrimitive.Content, {
2826
2985
  "data-slot": "tooltip-content",
2827
2986
  sideOffset,
2828
2987
  className: cn2(TOOLTIP_CLASSES.content, className),
@@ -2854,7 +3013,7 @@ function useIsMobile() {
2854
3013
  return isMobile;
2855
3014
  }
2856
3015
  // packages/exponential-ui-react/src/primitives/voice-wave.tsx
2857
- import { useEffect as useEffect6, useLayoutEffect as useLayoutEffect4, useRef as useRef8 } from "react";
3016
+ import { useEffect as useEffect6, useLayoutEffect as useLayoutEffect5, useRef as useRef9 } from "react";
2858
3017
  import { voiceWave, voiceWaveChildBox, voiceWavePath } from "@exponential_app/eui";
2859
3018
  import {
2860
3019
  VOICE_WAVE_CLASSES,
@@ -2865,16 +3024,16 @@ import {
2865
3024
  voiceWaveName,
2866
3025
  voiceWaveQuiet
2867
3026
  } from "@exponential_app/eui/web/primitives";
2868
- import { jsx as jsx43, jsxs as jsxs17 } from "react/jsx-runtime";
3027
+ import { jsx as jsx46, jsxs as jsxs19 } from "react/jsx-runtime";
2869
3028
  var hasChild = (c) => c !== undefined && c !== null && c !== false && !(Array.isArray(c) && c.length === 0);
2870
3029
  function VoiceWave({ activity = `idle`, level = 0, bands, size = `md`, label, className, children }) {
2871
3030
  const px = VOICE_WAVE_SIZE_PX[size] ?? VOICE_WAVE_SIZE_PX.md;
2872
3031
  const reducedMotion = useMediaQuery(`(prefers-reduced-motion: reduce)`);
2873
3032
  const input = { size: px, activity, level, bands, reducedMotion };
2874
- const latest = useRef8(input);
3033
+ const latest = useRef9(input);
2875
3034
  latest.current = input;
2876
- const elapsed = useRef8(0);
2877
- const paths = useRef8([]);
3035
+ const elapsed = useRef9(0);
3036
+ const paths = useRef9([]);
2878
3037
  const animates = voiceWaveAnimates(activity) && !reducedMotion;
2879
3038
  useEffect6(() => {
2880
3039
  if (!animates) {
@@ -2886,13 +3045,13 @@ function VoiceWave({ activity = `idle`, level = 0, bands, size = `md`, label, cl
2886
3045
  voiceWave({ ...latest.current, elapsed: t }).rings.forEach((ring, k) => paths.current[k]?.setAttribute(`d`, voiceWavePath(ring)));
2887
3046
  });
2888
3047
  }, [animates]);
2889
- const childEl = useRef8(null);
3048
+ const childEl = useRef9(null);
2890
3049
  const present = hasChild(children);
2891
- useLayoutEffect4(() => present && childEl.current ? voiceWaveFitChild(childEl.current, (c) => voiceWaveChildBox(px, c).scale) : undefined, [present, px]);
3050
+ useLayoutEffect5(() => present && childEl.current ? voiceWaveFitChild(childEl.current, (c) => voiceWaveChildBox(px, c).scale) : undefined, [present, px]);
2892
3051
  const wave = voiceWave({ ...input, elapsed: elapsed.current });
2893
3052
  const quiet = voiceWaveQuiet(activity);
2894
3053
  const name = voiceWaveName(label, activity);
2895
- return /* @__PURE__ */ jsxs17("span", {
3054
+ return /* @__PURE__ */ jsxs19("span", {
2896
3055
  "data-slot": "voice-wave",
2897
3056
  "data-activity": activity,
2898
3057
  "data-size": size,
@@ -2901,13 +3060,13 @@ function VoiceWave({ activity = `idle`, level = 0, bands, size = `md`, label, cl
2901
3060
  "aria-hidden": name ? undefined : true,
2902
3061
  className: cn2(VOICE_WAVE_CLASSES.root, VOICE_WAVE_CLASSES.size[size], quiet && VOICE_WAVE_CLASSES.quiet, className),
2903
3062
  children: [
2904
- /* @__PURE__ */ jsx43("svg", {
3063
+ /* @__PURE__ */ jsx46("svg", {
2905
3064
  viewBox: `0 0 ${px} ${px}`,
2906
3065
  width: px,
2907
3066
  height: px,
2908
3067
  "aria-hidden": true,
2909
3068
  className: VOICE_WAVE_CLASSES.svg,
2910
- children: wave.rings.map((ring, k) => /* @__PURE__ */ jsx43("path", {
3069
+ children: wave.rings.map((ring, k) => /* @__PURE__ */ jsx46("path", {
2911
3070
  ref: (el) => {
2912
3071
  paths.current[k] = el;
2913
3072
  },
@@ -2923,7 +3082,7 @@ function VoiceWave({ activity = `idle`, level = 0, bands, size = `md`, label, cl
2923
3082
  strokeLinejoin: "round"
2924
3083
  }, ring.part))
2925
3084
  }),
2926
- present ? /* @__PURE__ */ jsx43("span", {
3085
+ present ? /* @__PURE__ */ jsx46("span", {
2927
3086
  ref: childEl,
2928
3087
  "data-slot": "voice-wave-child",
2929
3088
  "aria-hidden": wave.childSize > 0 ? undefined : true,
@@ -2962,6 +3121,7 @@ export {
2962
3121
  BreadcrumbPage,
2963
3122
  BreadcrumbSeparator,
2964
3123
  Button,
3124
+ CAROUSEL_GEOMETRY,
2965
3125
  CODE_TOKEN_CLASS,
2966
3126
  Calendar,
2967
3127
  CalendarDayButton,
@@ -2972,6 +3132,8 @@ export {
2972
3132
  CardFooter,
2973
3133
  CardHeader,
2974
3134
  CardTitle,
3135
+ CarouselCounter,
3136
+ CarouselThumbnails,
2975
3137
  Checkbox,
2976
3138
  ChoiceTiles2 as ChoiceTiles,
2977
3139
  ChoiceTilesFrame2 as ChoiceTilesFrame,
@@ -3061,7 +3223,11 @@ export {
3061
3223
  MOBILE_PAGE,
3062
3224
  MOBILE_SHEET,
3063
3225
  MOBILE_SHEET_FULL,
3226
+ MOSAIC_GEOMETRY,
3064
3227
  Meter,
3228
+ Mosaic,
3229
+ OUTLINE_GEOMETRY,
3230
+ Outline,
3065
3231
  Popover,
3066
3232
  PopoverAnchor,
3067
3233
  PopoverContent,
@@ -3129,6 +3295,7 @@ export {
3129
3295
  alertVariants,
3130
3296
  avatarHueIndex,
3131
3297
  buttonVariants,
3298
+ carouselCounterText2 as carouselCounterText,
3132
3299
  choiceColumns2 as choiceColumns,
3133
3300
  choiceToggle2 as choiceToggle,
3134
3301
  choiceValues2 as choiceValues,
@@ -3137,6 +3304,8 @@ export {
3137
3304
  dockPileGeometry2 as dockPileGeometry,
3138
3305
  getInitials2 as getInitials,
3139
3306
  middleTruncate,
3307
+ mosaicTiles2 as mosaicTiles,
3308
+ outlineCountText2 as outlineCountText,
3140
3309
  progressRingPercent2 as progressRingPercent,
3141
3310
  ringGeometry2 as ringGeometry,
3142
3311
  shouldDismissSheet,
@@ -3150,5 +3319,5 @@ export {
3150
3319
  useSheetDragHandleProps
3151
3320
  };
3152
3321
 
3153
- //# debugId=F72B037A10E5B0A264756E2164756E21
3322
+ //# debugId=5F4612A1F030A63764756E2164756E21
3154
3323
  //# sourceMappingURL=index.js.map