dash-ui-kit 1.0.5 → 1.0.8

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.
@@ -169,7 +169,7 @@ function createSlotClone(ownerName) {
169
169
  const SlotClone = React__namespace.forwardRef((props, forwardedRef) => {
170
170
  const { children, ...slotProps } = props;
171
171
  if (React__namespace.isValidElement(children)) {
172
- const childrenRef = getElementRef$2(children);
172
+ const childrenRef = getElementRef$3(children);
173
173
  const props2 = mergeProps(slotProps, children.props);
174
174
  if (children.type !== React__namespace.Fragment) {
175
175
  props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
@@ -209,7 +209,7 @@ function mergeProps(slotProps, childProps) {
209
209
  }
210
210
  return { ...slotProps, ...overrideProps };
211
211
  }
212
- function getElementRef$2(element) {
212
+ function getElementRef$3(element) {
213
213
  let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
214
214
  let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
215
215
  if (mayWarn) {
@@ -287,7 +287,7 @@ function createCollection(name) {
287
287
  }
288
288
 
289
289
  // src/primitive.tsx
290
- function composeEventHandlers$1(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
290
+ function composeEventHandlers$2(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
291
291
  return function handleEvent(event) {
292
292
  originalEventHandler?.(event);
293
293
  if (checkForDefaultPrevented === false || !event.defaultPrevented) {
@@ -403,7 +403,7 @@ function dispatchDiscreteCustomEvent(target, event) {
403
403
  if (target) ReactDOM__namespace.flushSync(() => target.dispatchEvent(event));
404
404
  }
405
405
 
406
- function useStateMachine$1(initialState, machine) {
406
+ function useStateMachine$2(initialState, machine) {
407
407
  return React__namespace.useReducer((state, event) => {
408
408
  const nextState = machine[state][event];
409
409
  return nextState ?? state;
@@ -411,22 +411,22 @@ function useStateMachine$1(initialState, machine) {
411
411
  }
412
412
 
413
413
  // src/presence.tsx
414
- var Presence$1 = (props) => {
414
+ var Presence$2 = (props) => {
415
415
  const { present, children } = props;
416
- const presence = usePresence$1(present);
416
+ const presence = usePresence$2(present);
417
417
  const child = typeof children === "function" ? children({ present: presence.isPresent }) : React__namespace.Children.only(children);
418
- const ref = useComposedRefs(presence.ref, getElementRef$1(child));
418
+ const ref = useComposedRefs(presence.ref, getElementRef$2(child));
419
419
  const forceMount = typeof children === "function";
420
420
  return forceMount || presence.isPresent ? React__namespace.cloneElement(child, { ref }) : null;
421
421
  };
422
- Presence$1.displayName = "Presence";
423
- function usePresence$1(present) {
422
+ Presence$2.displayName = "Presence";
423
+ function usePresence$2(present) {
424
424
  const [node, setNode] = React__namespace.useState();
425
425
  const stylesRef = React__namespace.useRef(null);
426
426
  const prevPresentRef = React__namespace.useRef(present);
427
427
  const prevAnimationNameRef = React__namespace.useRef("none");
428
428
  const initialState = present ? "mounted" : "unmounted";
429
- const [state, send] = useStateMachine$1(initialState, {
429
+ const [state, send] = useStateMachine$2(initialState, {
430
430
  mounted: {
431
431
  UNMOUNT: "unmounted",
432
432
  ANIMATION_OUT: "unmountSuspended"
@@ -440,7 +440,7 @@ function usePresence$1(present) {
440
440
  }
441
441
  });
442
442
  React__namespace.useEffect(() => {
443
- const currentAnimationName = getAnimationName$1(stylesRef.current);
443
+ const currentAnimationName = getAnimationName$2(stylesRef.current);
444
444
  prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
445
445
  }, [state]);
446
446
  useLayoutEffect2(() => {
@@ -449,7 +449,7 @@ function usePresence$1(present) {
449
449
  const hasPresentChanged = wasPresent !== present;
450
450
  if (hasPresentChanged) {
451
451
  const prevAnimationName = prevAnimationNameRef.current;
452
- const currentAnimationName = getAnimationName$1(styles);
452
+ const currentAnimationName = getAnimationName$2(styles);
453
453
  if (present) {
454
454
  send("MOUNT");
455
455
  } else if (currentAnimationName === "none" || styles?.display === "none") {
@@ -470,7 +470,7 @@ function usePresence$1(present) {
470
470
  let timeoutId;
471
471
  const ownerWindow = node.ownerDocument.defaultView ?? window;
472
472
  const handleAnimationEnd = (event) => {
473
- const currentAnimationName = getAnimationName$1(stylesRef.current);
473
+ const currentAnimationName = getAnimationName$2(stylesRef.current);
474
474
  const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));
475
475
  if (event.target === node && isCurrentAnimation) {
476
476
  send("ANIMATION_END");
@@ -487,7 +487,7 @@ function usePresence$1(present) {
487
487
  };
488
488
  const handleAnimationStart = (event) => {
489
489
  if (event.target === node) {
490
- prevAnimationNameRef.current = getAnimationName$1(stylesRef.current);
490
+ prevAnimationNameRef.current = getAnimationName$2(stylesRef.current);
491
491
  }
492
492
  };
493
493
  node.addEventListener("animationstart", handleAnimationStart);
@@ -511,10 +511,10 @@ function usePresence$1(present) {
511
511
  }, [])
512
512
  };
513
513
  }
514
- function getAnimationName$1(styles) {
514
+ function getAnimationName$2(styles) {
515
515
  return styles?.animationName || "none";
516
516
  }
517
- function getElementRef$1(element) {
517
+ function getElementRef$2(element) {
518
518
  let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
519
519
  let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
520
520
  if (mayWarn) {
@@ -530,11 +530,11 @@ function getElementRef$1(element) {
530
530
 
531
531
  // packages/react/id/src/id.tsx
532
532
  var useReactId = React__namespace[" useId ".trim().toString()] || (() => void 0);
533
- var count$1 = 0;
533
+ var count$2 = 0;
534
534
  function useId(deterministicId) {
535
535
  const [id, setId] = React__namespace.useState(useReactId());
536
536
  useLayoutEffect2(() => {
537
- setId((reactId) => reactId ?? String(count$1++));
537
+ setId((reactId) => reactId ?? String(count$2++));
538
538
  }, [deterministicId]);
539
539
  return (id ? `radix-${id}` : "");
540
540
  }
@@ -569,7 +569,7 @@ var Collapsible = React__namespace.forwardRef(
569
569
  children: /* @__PURE__ */ jsxRuntime.jsx(
570
570
  Primitive.div,
571
571
  {
572
- "data-state": getState$2(open),
572
+ "data-state": getState$3(open),
573
573
  "data-disabled": disabled ? "" : void 0,
574
574
  ...collapsibleProps,
575
575
  ref: forwardedRef
@@ -580,40 +580,40 @@ var Collapsible = React__namespace.forwardRef(
580
580
  }
581
581
  );
582
582
  Collapsible.displayName = COLLAPSIBLE_NAME;
583
- var TRIGGER_NAME$4 = "CollapsibleTrigger";
583
+ var TRIGGER_NAME$5 = "CollapsibleTrigger";
584
584
  var CollapsibleTrigger = React__namespace.forwardRef(
585
585
  (props, forwardedRef) => {
586
586
  const { __scopeCollapsible, ...triggerProps } = props;
587
- const context = useCollapsibleContext(TRIGGER_NAME$4, __scopeCollapsible);
587
+ const context = useCollapsibleContext(TRIGGER_NAME$5, __scopeCollapsible);
588
588
  return /* @__PURE__ */ jsxRuntime.jsx(
589
589
  Primitive.button,
590
590
  {
591
591
  type: "button",
592
592
  "aria-controls": context.contentId,
593
593
  "aria-expanded": context.open || false,
594
- "data-state": getState$2(context.open),
594
+ "data-state": getState$3(context.open),
595
595
  "data-disabled": context.disabled ? "" : void 0,
596
596
  disabled: context.disabled,
597
597
  ...triggerProps,
598
598
  ref: forwardedRef,
599
- onClick: composeEventHandlers$1(props.onClick, context.onOpenToggle)
599
+ onClick: composeEventHandlers$2(props.onClick, context.onOpenToggle)
600
600
  }
601
601
  );
602
602
  }
603
603
  );
604
- CollapsibleTrigger.displayName = TRIGGER_NAME$4;
605
- var CONTENT_NAME$5 = "CollapsibleContent";
604
+ CollapsibleTrigger.displayName = TRIGGER_NAME$5;
605
+ var CONTENT_NAME$7 = "CollapsibleContent";
606
606
  var CollapsibleContent = React__namespace.forwardRef(
607
607
  (props, forwardedRef) => {
608
608
  const { forceMount, ...contentProps } = props;
609
- const context = useCollapsibleContext(CONTENT_NAME$5, props.__scopeCollapsible);
610
- return /* @__PURE__ */ jsxRuntime.jsx(Presence$1, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsxRuntime.jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
609
+ const context = useCollapsibleContext(CONTENT_NAME$7, props.__scopeCollapsible);
610
+ return /* @__PURE__ */ jsxRuntime.jsx(Presence$2, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsxRuntime.jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
611
611
  }
612
612
  );
613
- CollapsibleContent.displayName = CONTENT_NAME$5;
613
+ CollapsibleContent.displayName = CONTENT_NAME$7;
614
614
  var CollapsibleContentImpl = React__namespace.forwardRef((props, forwardedRef) => {
615
615
  const { __scopeCollapsible, present, children, ...contentProps } = props;
616
- const context = useCollapsibleContext(CONTENT_NAME$5, __scopeCollapsible);
616
+ const context = useCollapsibleContext(CONTENT_NAME$7, __scopeCollapsible);
617
617
  const [isPresent, setIsPresent] = React__namespace.useState(present);
618
618
  const ref = React__namespace.useRef(null);
619
619
  const composedRefs = useComposedRefs(forwardedRef, ref);
@@ -650,7 +650,7 @@ var CollapsibleContentImpl = React__namespace.forwardRef((props, forwardedRef) =
650
650
  return /* @__PURE__ */ jsxRuntime.jsx(
651
651
  Primitive.div,
652
652
  {
653
- "data-state": getState$2(context.open),
653
+ "data-state": getState$3(context.open),
654
654
  "data-disabled": context.disabled ? "" : void 0,
655
655
  id: context.contentId,
656
656
  hidden: !isOpen,
@@ -665,12 +665,12 @@ var CollapsibleContentImpl = React__namespace.forwardRef((props, forwardedRef) =
665
665
  }
666
666
  );
667
667
  });
668
- function getState$2(open) {
668
+ function getState$3(open) {
669
669
  return open ? "open" : "closed";
670
670
  }
671
671
  var Root$3 = Collapsible;
672
- var Trigger$3 = CollapsibleTrigger;
673
- var Content$3 = CollapsibleContent;
672
+ var Trigger$4 = CollapsibleTrigger;
673
+ var Content$4 = CollapsibleContent;
674
674
 
675
675
  // packages/react/direction/src/direction.tsx
676
676
  var DirectionContext = React__namespace.createContext(void 0);
@@ -771,7 +771,7 @@ var AccordionImpl = React.forwardRef(
771
771
  const getItems = useCollection$2(__scopeAccordion);
772
772
  const direction = useDirection(dir);
773
773
  const isDirectionLTR = direction === "ltr";
774
- const handleKeyDown = composeEventHandlers$1(props.onKeyDown, (event) => {
774
+ const handleKeyDown = composeEventHandlers$2(props.onKeyDown, (event) => {
775
775
  if (!ACCORDION_KEYS.includes(event.key)) return;
776
776
  const target = event.target;
777
777
  const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);
@@ -875,7 +875,7 @@ var AccordionItem = React.forwardRef(
875
875
  Root$3,
876
876
  {
877
877
  "data-orientation": accordionContext.orientation,
878
- "data-state": getState$1(open),
878
+ "data-state": getState$2(open),
879
879
  ...collapsibleScope,
880
880
  ...accordionItemProps,
881
881
  ref: forwardedRef,
@@ -905,7 +905,7 @@ var AccordionHeader = React.forwardRef(
905
905
  Primitive.h3,
906
906
  {
907
907
  "data-orientation": accordionContext.orientation,
908
- "data-state": getState$1(itemContext.open),
908
+ "data-state": getState$2(itemContext.open),
909
909
  "data-disabled": itemContext.disabled ? "" : void 0,
910
910
  ...headerProps,
911
911
  ref: forwardedRef
@@ -914,16 +914,16 @@ var AccordionHeader = React.forwardRef(
914
914
  }
915
915
  );
916
916
  AccordionHeader.displayName = HEADER_NAME;
917
- var TRIGGER_NAME$3 = "AccordionTrigger";
917
+ var TRIGGER_NAME$4 = "AccordionTrigger";
918
918
  var AccordionTrigger = React.forwardRef(
919
919
  (props, forwardedRef) => {
920
920
  const { __scopeAccordion, ...triggerProps } = props;
921
921
  const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
922
- const itemContext = useAccordionItemContext(TRIGGER_NAME$3, __scopeAccordion);
923
- const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME$3, __scopeAccordion);
922
+ const itemContext = useAccordionItemContext(TRIGGER_NAME$4, __scopeAccordion);
923
+ const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME$4, __scopeAccordion);
924
924
  const collapsibleScope = useCollapsibleScope(__scopeAccordion);
925
925
  return /* @__PURE__ */ jsxRuntime.jsx(Collection$2.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsxRuntime.jsx(
926
- Trigger$3,
926
+ Trigger$4,
927
927
  {
928
928
  "aria-disabled": itemContext.open && !collapsibleContext.collapsible || void 0,
929
929
  "data-orientation": accordionContext.orientation,
@@ -935,16 +935,16 @@ var AccordionTrigger = React.forwardRef(
935
935
  ) });
936
936
  }
937
937
  );
938
- AccordionTrigger.displayName = TRIGGER_NAME$3;
939
- var CONTENT_NAME$4 = "AccordionContent";
938
+ AccordionTrigger.displayName = TRIGGER_NAME$4;
939
+ var CONTENT_NAME$6 = "AccordionContent";
940
940
  var AccordionContent = React.forwardRef(
941
941
  (props, forwardedRef) => {
942
942
  const { __scopeAccordion, ...contentProps } = props;
943
943
  const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
944
- const itemContext = useAccordionItemContext(CONTENT_NAME$4, __scopeAccordion);
944
+ const itemContext = useAccordionItemContext(CONTENT_NAME$6, __scopeAccordion);
945
945
  const collapsibleScope = useCollapsibleScope(__scopeAccordion);
946
946
  return /* @__PURE__ */ jsxRuntime.jsx(
947
- Content$3,
947
+ Content$4,
948
948
  {
949
949
  role: "region",
950
950
  "aria-labelledby": itemContext.triggerId,
@@ -961,14 +961,14 @@ var AccordionContent = React.forwardRef(
961
961
  );
962
962
  }
963
963
  );
964
- AccordionContent.displayName = CONTENT_NAME$4;
965
- function getState$1(open) {
964
+ AccordionContent.displayName = CONTENT_NAME$6;
965
+ function getState$2(open) {
966
966
  return open ? "open" : "closed";
967
967
  }
968
- var Root2$3 = Accordion$1;
968
+ var Root2$5 = Accordion$1;
969
969
  var Item$2 = AccordionItem;
970
970
  var Trigger2 = AccordionTrigger;
971
- var Content2$1 = AccordionContent;
971
+ var Content2$2 = AccordionContent;
972
972
 
973
973
  const ThemeContext = /*#__PURE__*/React.createContext(undefined);
974
974
  /**
@@ -1800,6 +1800,217 @@ const CheckmarkIcon = ({
1800
1800
  fill: 'currentColor'
1801
1801
  })
1802
1802
  });
1803
+ const FingerprintIcon = ({
1804
+ color = '#4C7EFF',
1805
+ size = 16,
1806
+ className = '',
1807
+ onClick
1808
+ }) => jsxRuntime.jsxs("svg", {
1809
+ width: size,
1810
+ height: size * 18 / 16,
1811
+ viewBox: '0 0 16 18',
1812
+ fill: 'none',
1813
+ xmlns: 'http://www.w3.org/2000/svg',
1814
+ className: className,
1815
+ onClick: onClick,
1816
+ color: color,
1817
+ children: [jsxRuntime.jsx("g", {
1818
+ clipPath: 'url(#clip0_344_10)',
1819
+ children: jsxRuntime.jsx("path", {
1820
+ d: 'M7.49902 10.7754C7.49902 10.4994 7.72307 10.2756 7.99902 10.2754C8.27517 10.2754 8.49902 10.4992 8.49902 10.7754C8.49919 13.2206 10.3867 15.1621 12.666 15.1621C12.7316 15.1621 12.7771 15.1568 12.8877 15.1504C13.1632 15.1344 13.3998 15.3446 13.416 15.6201C13.432 15.8957 13.2219 16.1323 12.9463 16.1484C12.8892 16.1518 12.7698 16.1621 12.666 16.1621C9.7913 16.1621 7.49919 13.7288 7.49902 10.7754ZM9.83301 10.7754C9.83301 9.67981 8.99005 8.83105 7.99902 8.83105C7.00815 8.83115 6.16602 9.67988 6.16602 10.7754C6.16615 13.2329 7.40072 15.3789 9.24219 16.5811C9.47341 16.732 9.53863 17.0422 9.3877 17.2734C9.23675 17.5047 8.92654 17.5699 8.69531 17.4189C6.57168 16.0326 5.16615 13.5716 5.16602 10.7754C5.16602 9.17145 6.41301 7.83115 7.99902 7.83105C9.58521 7.83105 10.833 9.1714 10.833 10.7754C10.8332 11.8706 11.6753 12.7185 12.666 12.7188C13.6569 12.7188 14.4998 11.8708 14.5 10.7754C14.5 6.98027 11.5681 3.94339 8 3.94336C4.43197 3.94336 1.5 6.98025 1.5 10.7754C1.50003 11.642 1.59311 12.4863 1.76367 13.3008C1.82027 13.5711 1.64626 13.836 1.37598 13.8926C1.1058 13.949 0.840761 13.776 0.78418 13.5059C0.60006 12.6266 0.500029 11.7135 0.5 10.7754C0.5 6.47198 3.83668 2.94336 8 2.94336C12.1634 2.94339 15.5 6.47199 15.5 10.7754C15.4998 12.3792 14.252 13.7188 12.666 13.7188C11.0801 13.7185 9.83322 12.3791 9.83301 10.7754ZM12.1641 10.7754C12.1641 8.33008 10.2774 6.38782 7.99805 6.3877C5.71856 6.3877 3.83105 8.33001 3.83105 10.7754C3.83114 12.7587 4.42559 14.5927 5.43359 16.0986C5.5871 16.328 5.52599 16.6383 5.29688 16.792C5.06741 16.9456 4.75615 16.8847 4.60254 16.6553C3.48649 14.988 2.83114 12.9608 2.83105 10.7754C2.83105 7.82181 5.1232 5.3877 7.99805 5.3877C10.8728 5.38782 13.1641 7.82189 13.1641 10.7754C13.1638 11.0513 12.9401 11.2754 12.6641 11.2754C12.3881 11.2753 12.1643 11.0513 12.1641 10.7754ZM7.99902 0.5C10.7552 0.500054 13.2178 1.77254 14.8965 3.76855C15.0742 3.9799 15.0473 4.2959 14.8359 4.47363C14.6246 4.65118 14.3095 4.62331 14.1318 4.41211C12.6279 2.62378 10.4372 1.50005 7.99902 1.5C5.5607 1.5 3.37008 2.62381 1.86621 4.41211C1.6886 4.62332 1.37345 4.65099 1.16211 4.47363C0.950784 4.29592 0.922919 3.9799 1.10059 3.76855C2.77924 1.77236 5.24256 0.5 7.99902 0.5Z',
1821
+ fill: 'currentColor'
1822
+ })
1823
+ }), jsxRuntime.jsx("defs", {
1824
+ children: jsxRuntime.jsx("clipPath", {
1825
+ id: 'clip0_344_10',
1826
+ children: jsxRuntime.jsx("rect", {
1827
+ width: '15',
1828
+ height: '17.0003',
1829
+ fill: 'white',
1830
+ transform: 'translate(0.5 0.5)'
1831
+ })
1832
+ })
1833
+ })]
1834
+ });
1835
+ const FaceIcon = ({
1836
+ color = '#4C7EFF',
1837
+ size = 16,
1838
+ className = '',
1839
+ onClick
1840
+ }) => jsxRuntime.jsxs("svg", {
1841
+ width: size,
1842
+ height: size,
1843
+ viewBox: '0 0 16 16',
1844
+ fill: 'none',
1845
+ xmlns: 'http://www.w3.org/2000/svg',
1846
+ className: className,
1847
+ onClick: onClick,
1848
+ color: color,
1849
+ children: [jsxRuntime.jsx("g", {
1850
+ clipPath: 'url(#clip0_344_11)',
1851
+ children: jsxRuntime.jsx("path", {
1852
+ d: 'M0.5 13.4443V11.8887C0.500117 11.6126 0.72393 11.3887 1 11.3887C1.27607 11.3887 1.49988 11.6126 1.5 11.8887V13.4443C1.5 14.0273 1.97269 14.5 2.55566 14.5H4.11133C4.38737 14.5001 4.61133 14.7239 4.61133 15C4.61133 15.2761 4.38737 15.4999 4.11133 15.5H2.55566C1.42042 15.5 0.5 14.5796 0.5 13.4443ZM14.5 13.4443V11.8887C14.5001 11.6126 14.7239 11.3887 15 11.3887C15.2761 11.3887 15.4999 11.6126 15.5 11.8887V13.4443C15.5 14.5796 14.5796 15.5 13.4443 15.5H11.8887C11.6126 15.4999 11.3887 15.2761 11.3887 15C11.3887 14.7239 11.6126 14.5001 11.8887 14.5H13.4443C14.0273 14.5 14.5 14.0273 14.5 13.4443ZM12.167 8C12.167 5.69881 10.3012 3.83301 8 3.83301C5.69881 3.83301 3.83301 5.69881 3.83301 8C3.83301 10.3012 5.69881 12.167 8 12.167C10.3012 12.167 12.167 10.3012 12.167 8ZM9.53516 8.55859C9.70911 8.40443 9.97277 8.3884 10.166 8.5332C10.3869 8.69889 10.4323 9.01248 10.2666 9.2334L9.86621 8.93262C10.2294 9.205 10.2636 9.23094 10.2666 9.2334L10.2637 9.23633C10.2627 9.23759 10.262 9.23953 10.2607 9.24121C10.2581 9.24469 10.2541 9.24874 10.25 9.25391C10.2418 9.2643 10.2307 9.2784 10.2168 9.29492C10.189 9.32801 10.1497 9.37253 10.0996 9.4248C9.99965 9.52911 9.85378 9.66639 9.66504 9.80371C9.28904 10.0772 8.72095 10.3661 8 10.3662C7.2789 10.3662 6.71101 10.0772 6.33496 9.80371C6.14601 9.66628 5.99945 9.52919 5.89941 9.4248C5.8493 9.3725 5.80999 9.328 5.78223 9.29492C5.76831 9.27835 5.75726 9.26431 5.74902 9.25391C5.74508 9.24892 5.74189 9.24462 5.73926 9.24121C5.73791 9.23947 5.73634 9.23762 5.73535 9.23633L5.73438 9.23438L5.7334 9.2334C5.56773 9.01251 5.61215 8.6989 5.83301 8.5332C6.05389 8.36754 6.3675 8.41199 6.5332 8.63281C6.53579 8.63608 6.54133 8.64243 6.54883 8.65137C6.56387 8.66929 6.58845 8.69831 6.62207 8.7334C6.6897 8.80392 6.79138 8.89948 6.92285 8.99512C7.18846 9.18829 7.55443 9.36621 8 9.36621C8.44541 9.36613 8.81062 9.18823 9.07617 8.99512C9.20793 8.89929 9.31027 8.80399 9.37793 8.7334C9.41155 8.69831 9.43613 8.66929 9.45117 8.65137C9.45853 8.64259 9.46326 8.63604 9.46582 8.63281L9.4668 8.63184L9.53516 8.55859ZM6.6748 5.87012C7.04474 5.90742 7.33383 6.21987 7.33398 6.59961C7.33398 7.00454 7.00548 7.33286 6.60059 7.33301C6.22088 7.33301 5.90862 7.04465 5.87109 6.6748L5.86719 6.59961L5.87109 6.52539C5.90846 6.15538 6.22076 5.86621 6.60059 5.86621L6.6748 5.87012ZM9.47461 5.87012C9.84447 5.90747 10.1336 6.21994 10.1338 6.59961C10.1338 7.0045 9.80523 7.3328 9.40039 7.33301C9.02064 7.33301 8.70839 7.04466 8.6709 6.6748L8.66699 6.59961L8.6709 6.52539C8.7083 6.15544 9.02057 5.86621 9.40039 5.86621L9.47461 5.87012ZM0.5 4.11133V2.55566C0.5 1.42041 1.42041 0.5 2.55566 0.5H4.11133C4.38737 0.500117 4.61133 0.72393 4.61133 1C4.61133 1.27607 4.38737 1.49988 4.11133 1.5H2.55566C1.9727 1.5 1.5 1.9727 1.5 2.55566V4.11133C1.49988 4.38737 1.27607 4.61133 1 4.61133C0.72393 4.61133 0.500117 4.38737 0.5 4.11133ZM14.5 4.11133V2.55566C14.5 1.97269 14.0273 1.5 13.4443 1.5H11.8887C11.6126 1.49988 11.3887 1.27607 11.3887 1C11.3887 0.72393 11.6126 0.500117 11.8887 0.5H13.4443C14.5796 0.5 15.5 1.42042 15.5 2.55566V4.11133C15.4999 4.38737 15.2761 4.61133 15 4.61133C14.7239 4.61133 14.5001 4.38737 14.5 4.11133ZM13.167 8C13.167 10.8535 10.8535 13.167 8 13.167C5.14653 13.167 2.83301 10.8535 2.83301 8C2.83301 5.14653 5.14653 2.83301 8 2.83301C10.8535 2.83301 13.167 5.14653 13.167 8Z',
1853
+ fill: 'currentColor'
1854
+ })
1855
+ }), jsxRuntime.jsx("defs", {
1856
+ children: jsxRuntime.jsx("clipPath", {
1857
+ id: 'clip0_344_11',
1858
+ children: jsxRuntime.jsx("rect", {
1859
+ width: '15',
1860
+ height: '15',
1861
+ fill: 'white',
1862
+ transform: 'translate(0.5 0.5)'
1863
+ })
1864
+ })
1865
+ })]
1866
+ });
1867
+ const SignIcon = ({
1868
+ color = '#4C7EFF',
1869
+ size = 18,
1870
+ className = '',
1871
+ onClick
1872
+ }) => jsxRuntime.jsxs("svg", {
1873
+ width: size,
1874
+ height: size * 13 / 18,
1875
+ viewBox: '0 0 18 13',
1876
+ fill: 'none',
1877
+ xmlns: 'http://www.w3.org/2000/svg',
1878
+ className: className,
1879
+ onClick: onClick,
1880
+ color: color,
1881
+ children: [jsxRuntime.jsx("g", {
1882
+ clipPath: 'url(#clip0_404_64)',
1883
+ children: jsxRuntime.jsx("path", {
1884
+ d: 'M6.53027 0.0273435C7.08771 -0.064076 7.65575 0.0700326 8.16992 0.458984C8.67255 0.839261 9.10671 1.44872 9.46094 2.28906C9.70475 2.86745 9.86928 3.44788 9.96484 4.02344L12.3721 3.07227C12.5375 3.00706 12.7255 3.03455 12.8652 3.14453C13.005 3.25462 13.0755 3.43124 13.0508 3.60742L12.6865 6.20117H14.333C14.6092 6.20117 14.833 6.42503 14.833 6.70117C14.8328 6.97717 14.609 7.20117 14.333 7.20117H12.1113C11.9666 7.20117 11.8284 7.13851 11.7334 7.0293C11.6384 6.92006 11.5961 6.7742 11.6162 6.63086L11.9404 4.31836L10.0635 5.06055C10.1447 8.55694 7.72656 11.6369 4.75879 12.957C4.60413 13.0258 4.42514 13.0112 4.2832 12.9189C4.14133 12.8267 4.05566 12.6692 4.05566 12.5V8.7373C4.05566 8.04264 4.04844 7.56746 4.20117 7.14844C4.32988 6.79566 4.53978 6.47777 4.81445 6.22461C5.14264 5.92224 5.58129 5.75801 6.2041 5.51172L9.00977 4.40137C8.93516 3.83402 8.78323 3.25698 8.53906 2.67773C8.22671 1.93672 7.88311 1.49648 7.56641 1.25684C7.26128 1.02602 6.96815 0.96947 6.69238 1.01465C6.09985 1.11187 5.42697 1.72075 5.01465 2.68066C4.9056 2.93422 4.61204 3.05129 4.3584 2.94238C4.1048 2.83345 3.98699 2.53977 4.0957 2.28613C4.57227 1.17664 5.45614 0.203579 6.53027 0.0273435ZM1.88867 9.69238C2.16481 9.69238 2.38867 9.91624 2.38867 10.1924C2.38863 10.4685 2.16479 10.6924 1.88867 10.6924H1C0.723883 10.6924 0.500041 10.4685 0.5 10.1924C0.5 9.91624 0.723858 9.69238 1 9.69238H1.88867ZM17 9.69238C17.2761 9.69238 17.5 9.91624 17.5 10.1924C17.5 10.4685 17.2761 10.6924 17 10.6924H11.667C11.3909 10.6924 11.167 10.4685 11.167 10.1924C11.167 9.91624 11.3908 9.69238 11.667 9.69238H17ZM5.05566 11.6855C7.28061 10.4175 8.96508 8.05948 9.05957 5.45703L6.57129 6.44141C5.8732 6.71747 5.65071 6.81396 5.49219 6.95996C5.33693 7.10307 5.21561 7.28491 5.14062 7.49023C5.06293 7.70324 5.05566 7.96355 5.05566 8.7373V11.6855Z',
1885
+ fill: 'currentColor'
1886
+ })
1887
+ }), jsxRuntime.jsx("defs", {
1888
+ children: jsxRuntime.jsx("clipPath", {
1889
+ id: 'clip0_404_64',
1890
+ children: jsxRuntime.jsx("rect", {
1891
+ width: '17',
1892
+ height: '13.0002',
1893
+ fill: 'white',
1894
+ transform: 'translate(0.5 -0.000210285)'
1895
+ })
1896
+ })
1897
+ })]
1898
+ });
1899
+ const SignLockIcon = ({
1900
+ color = '#E93636',
1901
+ size = 18,
1902
+ className = '',
1903
+ onClick
1904
+ }) => jsxRuntime.jsxs("svg", {
1905
+ width: size,
1906
+ height: size * 14 / 18,
1907
+ viewBox: '0 0 18 14',
1908
+ fill: 'none',
1909
+ xmlns: 'http://www.w3.org/2000/svg',
1910
+ className: className,
1911
+ onClick: onClick,
1912
+ color: color,
1913
+ children: [jsxRuntime.jsx("g", {
1914
+ clipPath: 'url(#clip0_404_76)',
1915
+ children: jsxRuntime.jsx("path", {
1916
+ d: 'M16.4932 11.5049C16.4897 11.4621 16.4855 11.4414 16.4834 11.4336C16.4586 11.3831 16.3971 11.3181 16.2861 11.2793C16.2232 11.2574 16.1232 11.25 15.667 11.25H13C12.5431 11.25 12.4428 11.2573 12.3799 11.2793C12.2693 11.3181 12.2084 11.3832 12.1836 11.4336C12.1815 11.4413 12.1773 11.462 12.1738 11.5049C12.1674 11.5847 12.167 11.6922 12.167 11.875C12.167 12.0578 12.1674 12.1653 12.1738 12.2451C12.1773 12.288 12.1815 12.3087 12.1836 12.3164C12.2084 12.3668 12.2693 12.4319 12.3799 12.4707C12.4428 12.4927 12.5431 12.5 13 12.5H15.667C16.1232 12.5 16.2232 12.4926 16.2861 12.4707C16.3971 12.4319 16.4586 12.3669 16.4834 12.3164C16.4855 12.3086 16.4897 12.2879 16.4932 12.2451C16.4996 12.1653 16.5 12.0578 16.5 11.875C16.5 11.6922 16.4996 11.5847 16.4932 11.5049ZM2.98437 0.523437C4.10616 0.362393 5.1695 1.01348 5.89453 2.51855C6.1364 3.02066 6.30201 3.52585 6.40039 4.02832L8.83691 3.18555C9.00301 3.1282 9.18671 3.16239 9.32129 3.27539C9.45592 3.38847 9.52202 3.56371 9.49414 3.7373L9.1416 5.92578H10.7773C11.0535 5.92578 11.2773 6.14964 11.2773 6.42578C11.2773 6.7019 11.0535 6.92578 10.7773 6.92578H8.55566C8.40921 6.92578 8.2698 6.86147 8.1748 6.75C8.07994 6.63862 8.03841 6.49114 8.06152 6.34668L8.37305 4.40332L6.50781 5.04883C6.55819 8.15173 4.10509 10.8278 1.18164 11.9658C1.02786 12.0257 0.854016 12.0062 0.717773 11.9131C0.581503 11.8199 0.5 11.6651 0.5 11.5V8.03516C0.499995 7.49897 0.489733 7.08066 0.652343 6.70996C0.786092 6.40516 0.999951 6.1403 1.26758 5.93262C1.58317 5.68773 2.00072 5.55065 2.60156 5.34277L5.44434 4.3584C5.36773 3.89678 5.22244 3.42607 4.99414 2.95215C4.38598 1.68972 3.6718 1.43557 3.12695 1.51367C2.50982 1.60227 1.84792 2.14387 1.44922 2.95605C1.32748 3.20381 1.02712 3.30623 0.779297 3.18457C0.531506 3.06284 0.429116 2.76249 0.550781 2.51465C1.04096 1.51619 1.93493 0.67416 2.98437 0.523437ZM9.44434 8.75C9.72048 8.75 9.94434 8.97386 9.94434 9.25C9.94434 9.52614 9.72048 9.75 9.44434 9.75H7.66699C7.39085 9.75 7.16699 9.52614 7.16699 9.25C7.16699 8.97386 7.39085 8.75 7.66699 8.75H9.44434ZM15.6113 10C15.6113 9.52394 15.1217 9 14.333 9C13.5445 9.00014 13.0557 9.524 13.0557 10V10.25H15.6113V10ZM16.6113 10.333C16.613 10.3336 16.6146 10.3344 16.6162 10.335L16.7363 10.3828C17.0101 10.5066 17.2447 10.7151 17.3809 10.9922C17.4533 11.14 17.4793 11.289 17.4902 11.4248C17.5007 11.5541 17.5 11.7086 17.5 11.875C17.5 12.0414 17.5007 12.1959 17.4902 12.3252C17.4793 12.461 17.4533 12.609 17.3809 12.7568C17.2447 13.0339 17.0101 13.2434 16.7363 13.3672L16.6162 13.415C16.4183 13.4842 16.192 13.4977 15.9346 13.5H12.7324C12.475 13.4977 12.2487 13.4841 12.0508 13.415C11.7262 13.3016 11.4408 13.0747 11.2852 12.7578C11.2128 12.6101 11.1877 12.461 11.1768 12.3252C11.1663 12.1959 11.167 12.0414 11.167 11.875C11.167 11.7086 11.1663 11.5541 11.1768 11.4248C11.1877 11.289 11.2128 11.1409 11.2852 10.9932C11.4408 10.6763 11.7262 10.4484 12.0508 10.335C12.0524 10.3344 12.054 10.3336 12.0557 10.333V10C12.0557 8.81927 13.1581 8.00015 14.333 8C15.508 8 16.6113 8.81916 16.6113 10V10.333ZM1.5 10.7324C3.72796 9.63149 5.37826 7.6016 5.50098 5.39648L2.92871 6.28711C2.25442 6.5204 2.03397 6.60389 1.88086 6.72266C1.73431 6.83638 1.62998 6.97184 1.56836 7.1123C1.51002 7.24545 1.5 7.40909 1.5 8.03516V10.7324Z',
1917
+ fill: 'currentColor'
1918
+ })
1919
+ }), jsxRuntime.jsx("defs", {
1920
+ children: jsxRuntime.jsx("clipPath", {
1921
+ id: 'clip0_404_76',
1922
+ children: jsxRuntime.jsx("rect", {
1923
+ width: '17.0005',
1924
+ height: '13.0005',
1925
+ fill: 'white',
1926
+ transform: 'translate(0.499533 0.499527)'
1927
+ })
1928
+ })
1929
+ })]
1930
+ });
1931
+ const LockIcon = ({
1932
+ color = '#E93636',
1933
+ size = 8,
1934
+ className = '',
1935
+ onClick
1936
+ }) => jsxRuntime.jsxs("svg", {
1937
+ width: size,
1938
+ height: size * 10 / 8,
1939
+ viewBox: '0 0 8 10',
1940
+ fill: 'none',
1941
+ xmlns: 'http://www.w3.org/2000/svg',
1942
+ className: className,
1943
+ onClick: onClick,
1944
+ color: color,
1945
+ children: [jsxRuntime.jsx("g", {
1946
+ clipPath: 'url(#clip0_404_71)',
1947
+ children: jsxRuntime.jsx("path", {
1948
+ d: 'M6.5 6.24414C6.5 5.86411 6.50017 5.60437 6.48633 5.40332C6.47272 5.20598 6.44735 5.10448 6.41797 5.03613C6.34685 4.8709 6.23984 4.75273 6.12695 4.68457C6.09177 4.66338 6.02689 4.63665 5.83887 4.62305C5.68428 4.61185 5.48725 4.61133 5.2002 4.61133H2.7998C2.51275 4.61133 2.31573 4.61185 2.16113 4.62305C1.97305 4.63665 1.9082 4.66339 1.87305 4.68457C1.76015 4.75274 1.65315 4.87091 1.58203 5.03613C1.55265 5.10448 1.52728 5.20597 1.51367 5.40332C1.49983 5.60437 1.5 5.86412 1.5 6.24414V6.86621C1.5 7.24654 1.49981 7.50688 1.51367 7.70801C1.52726 7.90512 1.5527 8.00587 1.58203 8.07422C1.65315 8.23965 1.76006 8.35853 1.87305 8.42676C1.90443 8.44566 1.96075 8.46998 2.10938 8.48438C2.26726 8.49966 2.4752 8.5 2.7998 8.5H5.2002C5.52481 8.5 5.73274 8.49966 5.89062 8.48438C6.03919 8.46999 6.09553 8.44567 6.12695 8.42676C6.23993 8.35854 6.34685 8.23966 6.41797 8.07422C6.44731 8.00587 6.47274 7.90512 6.48633 7.70801C6.50019 7.50688 6.5 7.24654 6.5 6.86621V6.24414ZM3.5 7V6.11133C3.5 5.83519 3.72386 5.61133 4 5.61133C4.27614 5.61133 4.5 5.83519 4.5 6.11133V7C4.5 7.27614 4.27614 7.5 4 7.5C3.72386 7.5 3.5 7.27614 3.5 7ZM5.375 3.22266C5.375 2.18852 4.68314 1.5 4 1.5C3.31686 1.5 2.625 2.18852 2.625 3.22266V3.61133H5.375V3.22266ZM6.375 3.70996C6.46629 3.73936 6.5572 3.7754 6.64453 3.82812C6.95488 4.01555 7.19235 4.3053 7.33691 4.6416C7.4301 4.85839 7.46634 5.08681 7.4834 5.33398C7.50018 5.57745 7.5 5.87787 7.5 6.24414V6.86621C7.5 7.23241 7.50016 7.53291 7.4834 7.77637C7.46635 8.02369 7.43016 8.25283 7.33691 8.46973C7.19239 8.80584 6.95466 9.09482 6.64453 9.28223C6.43528 9.40858 6.21339 9.45758 5.9873 9.47949C5.77009 9.50053 5.50539 9.5 5.2002 9.5H2.7998C2.49462 9.5 2.22991 9.50053 2.0127 9.47949C1.78662 9.45758 1.56472 9.4086 1.35547 9.28223C1.04535 9.09483 0.807617 8.80585 0.663086 8.46973C0.569851 8.25283 0.533651 8.02369 0.516602 7.77637C0.499842 7.53291 0.5 7.23241 0.5 6.86621V6.24414C0.5 5.87787 0.499818 5.57745 0.516602 5.33398C0.533661 5.08681 0.569902 4.85839 0.663086 4.6416C0.807663 4.3053 1.04514 4.01555 1.35547 3.82812C1.4428 3.77539 1.53371 3.73936 1.625 3.70996V3.22266C1.625 1.8022 2.61208 0.5 4 0.5C5.38791 0.5 6.375 1.8022 6.375 3.22266V3.70996Z',
1949
+ fill: 'currentColor'
1950
+ })
1951
+ }), jsxRuntime.jsx("defs", {
1952
+ children: jsxRuntime.jsx("clipPath", {
1953
+ id: 'clip0_404_71',
1954
+ children: jsxRuntime.jsx("rect", {
1955
+ width: '7',
1956
+ height: '9',
1957
+ fill: 'white',
1958
+ transform: 'translate(0.5 0.5)'
1959
+ })
1960
+ })
1961
+ })]
1962
+ });
1963
+ const PendingIcon = ({
1964
+ color = '#F49A58',
1965
+ size = 11,
1966
+ className = '',
1967
+ onClick
1968
+ }) => jsxRuntime.jsxs("svg", {
1969
+ width: size,
1970
+ height: size,
1971
+ viewBox: '0 0 11 11',
1972
+ fill: 'none',
1973
+ xmlns: 'http://www.w3.org/2000/svg',
1974
+ className: className,
1975
+ onClick: onClick,
1976
+ color: color,
1977
+ children: [jsxRuntime.jsx("g", {
1978
+ clipPath: 'url(#clip0_405_81)',
1979
+ children: jsxRuntime.jsx("path", {
1980
+ d: 'M7.74672 8.71921C7.90214 8.93112 8.20171 8.97852 8.3979 8.80367C9.20215 8.08688 9.7568 7.12601 9.97194 6.06176C10.2186 4.84138 10.0011 3.57287 9.362 2.50438C8.72286 1.43588 7.70807 0.644286 6.51614 0.284445C5.32422 -0.0753959 4.04092 0.0224086 2.91729 0.558725C1.79366 1.09504 0.910553 2.03128 0.440724 3.18429C-0.0291052 4.33731 -0.051851 5.62413 0.376936 6.79302C0.805723 7.96192 1.65519 8.92878 2.75916 9.50447C3.72191 10.0065 4.81779 10.1796 5.88088 10.0051C6.1402 9.96249 6.29175 9.69977 6.22474 9.44566C6.15772 9.19155 5.89743 9.04286 5.63721 9.07962C4.80466 9.19721 3.9517 9.05305 3.1992 8.66064C2.30536 8.19452 1.61757 7.41168 1.2704 6.46527C0.923226 5.51886 0.941642 4.47697 1.32205 3.54342C1.70245 2.60986 2.41747 1.85182 3.32723 1.41759C4.23699 0.983351 5.27603 0.904162 6.24109 1.19551C7.20615 1.48686 8.02779 2.12779 8.54528 2.99291C9.06277 3.85803 9.23887 4.8851 9.03913 5.87319C8.87097 6.70504 8.44663 7.45887 7.83162 8.03221C7.63939 8.21141 7.59129 8.50729 7.74672 8.71921Z',
1981
+ fill: 'currentColor'
1982
+ })
1983
+ }), jsxRuntime.jsx("defs", {
1984
+ children: jsxRuntime.jsx("clipPath", {
1985
+ id: 'clip0_405_81',
1986
+ children: jsxRuntime.jsx("rect", {
1987
+ width: '10',
1988
+ height: '10',
1989
+ fill: 'white',
1990
+ transform: 'translate(0.0710678 0.071064)'
1991
+ })
1992
+ })
1993
+ })]
1994
+ });
1995
+ const SearchIcon = ({
1996
+ color = '#0C1C33',
1997
+ size = 16,
1998
+ className = '',
1999
+ onClick
2000
+ }) => jsxRuntime.jsx("svg", {
2001
+ width: size,
2002
+ height: size,
2003
+ viewBox: '0 0 16 16',
2004
+ fill: 'none',
2005
+ xmlns: 'http://www.w3.org/2000/svg',
2006
+ className: className,
2007
+ onClick: onClick,
2008
+ color: color,
2009
+ children: jsxRuntime.jsx("path", {
2010
+ d: 'M14.569 14.0977L10.6623 10.191C11.5815 9.14938 12.0591 7.79092 11.9941 6.40327C11.9292 5.01564 11.3267 3.70776 10.3143 2.75659C9.30178 1.80542 7.95892 1.28563 6.56994 1.30729C5.18095 1.32895 3.85492 1.89036 2.87264 2.87264C1.89036 3.85492 1.32895 5.18095 1.30729 6.56994C1.28563 7.95892 1.80542 9.30178 2.75659 10.3143C3.70776 11.3267 5.01564 11.9292 6.40327 11.9941C7.79092 12.0591 9.14938 11.5815 10.191 10.6623L14.0977 14.569L14.569 14.0977ZM6.66665 11.3333C5.74364 11.3333 4.84138 11.0596 4.07396 10.5468C3.30653 10.0341 2.70839 9.30518 2.35518 8.45245C2.00197 7.59978 1.90956 6.66145 2.08962 5.7562C2.26968 4.85095 2.71414 4.01943 3.36678 3.36678C4.01943 2.71414 4.85095 2.26968 5.7562 2.08962C6.66145 1.90956 7.59978 2.00197 8.45245 2.35518C9.30518 2.70839 10.0341 3.30653 10.5468 4.07396C11.0596 4.84138 11.3333 5.74364 11.3333 6.66665C11.3319 7.90385 10.8398 9.09005 9.96492 9.96492C9.09005 10.8398 7.90385 11.3319 6.66665 11.3333Z',
2011
+ fill: 'currentColor'
2012
+ })
2013
+ });
1803
2014
 
1804
2015
  const accordionRootStyles = classVarianceAuthority.cva(`
1805
2016
  w-full
@@ -1915,7 +2126,7 @@ const Accordion = ({
1915
2126
  theme,
1916
2127
  border
1917
2128
  }) + (className ? ` ${className}` : '');
1918
- return jsxRuntime.jsx(Root2$3, {
2129
+ return jsxRuntime.jsx(Root2$5, {
1919
2130
  type: 'single',
1920
2131
  collapsible: true,
1921
2132
  className: rootClasses,
@@ -1948,7 +2159,7 @@ const Accordion = ({
1948
2159
  className: `${separatorStyles({
1949
2160
  theme
1950
2161
  })} group-data-[state=closed]:opacity-0 group-data-[state=open]:opacity-100`
1951
- }), jsxRuntime.jsx(Content2$1, {
2162
+ }), jsxRuntime.jsx(Content2$2, {
1952
2163
  forceMount: true,
1953
2164
  className: accordionContentStyles(),
1954
2165
  children: jsxRuntime.jsx("div", {
@@ -1960,6 +2171,86 @@ const Accordion = ({
1960
2171
  });
1961
2172
  };
1962
2173
 
2174
+ const Badge = _a => {
2175
+ var {
2176
+ children,
2177
+ variant = 'default',
2178
+ color = 'blue',
2179
+ size = 'sm',
2180
+ borderRadius,
2181
+ className = '',
2182
+ onClick
2183
+ } = _a,
2184
+ props = tslib.__rest(_a, ["children", "variant", "color", "size", "borderRadius", "className", "onClick"]);
2185
+ const baseClasses = 'inline-flex items-center justify-center font-medium transition-colors';
2186
+ // Size classes with default border radius
2187
+ const sizeClasses = {
2188
+ xxs: 'px-1 py-1 text-xs gap-2 rounded-full',
2189
+ xs: 'px-[0.5rem] py-[0.25rem] text-xs rounded-full',
2190
+ sm: 'px-[2.125rem] py-[0.625rem] text-xs rounded-full',
2191
+ xl: 'px-[2.25rem] py-4 text-lg rounded-full'
2192
+ };
2193
+ // Border radius classes (overrides size border radius)
2194
+ const borderRadiusClasses = {
2195
+ xs: 'rounded-[0.25rem]'
2196
+ };
2197
+ // Color and variant combination classes
2198
+ const getVariantClasses = () => {
2199
+ const colorMap = {
2200
+ blue: {
2201
+ default: 'text-[#4C7EFF]',
2202
+ flat: 'bg-[rgba(76,126,255,0.15)] text-[#4C7EFF]',
2203
+ solid: 'bg-[#4C7EFF] text-white',
2204
+ bordered: 'outline outline-1 outline-[#4C7EFF] text-[#4C7EFF]'
2205
+ },
2206
+ white: {
2207
+ default: 'text-white',
2208
+ flat: 'bg-[rgba(255,255,255,0.15)] text-white',
2209
+ solid: 'bg-white text-[#0C1C33]',
2210
+ bordered: 'outline outline-1 outline-white text-white'
2211
+ },
2212
+ gray: {
2213
+ default: 'text-[#0C1C33]',
2214
+ flat: 'bg-[rgba(12,28,51,0.15)] text-[#0C1C33]',
2215
+ solid: 'bg-[#0C1C33] text-white',
2216
+ bordered: 'outline outline-1 outline-[#0C1C33] text-[#0C1C33]'
2217
+ },
2218
+ 'light-gray': {
2219
+ default: 'text-[#6B7280]',
2220
+ flat: 'bg-[#0C1C33]/5 text-[#0C1C33]',
2221
+ solid: 'bg-[#0C1C33]/15 text-[#0C1C33]',
2222
+ bordered: 'outline outline-1 outline-[#6B7280] text-[#6B7280]'
2223
+ },
2224
+ turquoise: {
2225
+ default: 'text-[#60F6D2]',
2226
+ flat: 'bg-[rgba(96,246,210,0.15)] text-[#60F6D2]',
2227
+ solid: 'bg-[#60F6D2] text-[#0C1C33]',
2228
+ bordered: 'outline outline-1 outline-[#60F6D2] text-[#60F6D2]'
2229
+ },
2230
+ red: {
2231
+ default: 'text-[#CD2E00]',
2232
+ flat: 'bg-[rgba(205,46,0,0.15)] text-[#CD2E00]',
2233
+ solid: 'bg-[#CD2E00] text-white',
2234
+ bordered: 'outline outline-1 outline-[#CD2E00] text-[#CD2E00]'
2235
+ },
2236
+ orange: {
2237
+ default: 'text-[#F98F12]',
2238
+ flat: 'bg-[rgba(249,143,18,0.15)] text-[#F98F12]',
2239
+ solid: 'bg-[#F98F12] text-white',
2240
+ bordered: 'outline outline-1 outline-[#F98F12] text-[#F98F12]'
2241
+ }
2242
+ };
2243
+ return colorMap[color][variant];
2244
+ };
2245
+ const classes = [baseClasses, sizeClasses[size], getVariantClasses(), borderRadius && borderRadiusClasses[borderRadius], className].filter(Boolean).join(' ');
2246
+ return jsxRuntime.jsx("span", Object.assign({
2247
+ className: classes,
2248
+ onClick: onClick
2249
+ }, props, {
2250
+ children: children
2251
+ }));
2252
+ };
2253
+
1963
2254
  const styles = classVarianceAuthority.cva(`
1964
2255
  dash-btn-base
1965
2256
  select-none
@@ -2242,14 +2533,15 @@ const Button = _a => {
2242
2533
  const input = classVarianceAuthority.cva('w-full transition-all font-inter placeholder:text-opacity-60 text-[0.875rem] leading-[1.0625rem]', {
2243
2534
  variants: {
2244
2535
  theme: {
2245
- light: 'text-[#111111] placeholder:text-[rgba(17,17,17,0.6)] bg-white',
2246
- dark: 'text-white placeholder:text-gray-400 bg-gray-800'
2536
+ light: 'text-[#111111] placeholder:text-[rgba(17,17,17,0.6)]',
2537
+ dark: 'text-white placeholder:text-gray-400'
2247
2538
  },
2248
2539
  colorScheme: {
2249
2540
  default: 'focus:ring-blue-500/20',
2250
2541
  brand: 'focus:ring-dash-brand/20',
2251
2542
  error: 'focus:ring-red-500/20',
2252
- success: 'focus:ring-green-500/20'
2543
+ success: 'focus:ring-green-500/20',
2544
+ 'light-gray': 'focus:ring-[#6B7280]/20'
2253
2545
  },
2254
2546
  size: {
2255
2547
  sm: 'dash-block-sm font-light',
@@ -2257,7 +2549,8 @@ const input = classVarianceAuthority.cva('w-full transition-all font-inter place
2257
2549
  xl: 'dash-block-xl font-light'
2258
2550
  },
2259
2551
  variant: {
2260
- outlined: 'outline outline-1 outline-offset-[-1px]'
2552
+ outlined: 'outline outline-1 outline-offset-[-1px]',
2553
+ filled: 'border-none'
2261
2554
  },
2262
2555
  disabled: {
2263
2556
  false: '',
@@ -2282,11 +2575,52 @@ const input = classVarianceAuthority.cva('w-full transition-all font-inter place
2282
2575
  variant: 'outlined',
2283
2576
  colorScheme: 'success',
2284
2577
  class: 'outline-green-500 focus:outline-green-500'
2578
+ }, {
2579
+ variant: 'outlined',
2580
+ colorScheme: 'light-gray',
2581
+ class: 'outline-[#6B7280]/50 focus:outline-[#6B7280]'
2285
2582
  },
2286
2583
  // Outlined variant with focus ring
2287
2584
  {
2288
2585
  variant: 'outlined',
2289
2586
  class: 'focus:ring-2'
2587
+ },
2588
+ // Outlined variant background
2589
+ {
2590
+ variant: 'outlined',
2591
+ theme: 'light',
2592
+ class: 'bg-white'
2593
+ }, {
2594
+ variant: 'outlined',
2595
+ theme: 'dark',
2596
+ class: 'bg-gray-800'
2597
+ },
2598
+ // Filled variant colors
2599
+ {
2600
+ variant: 'filled',
2601
+ colorScheme: 'default',
2602
+ class: 'bg-[rgba(76,126,255,0.15)] focus:bg-[rgba(76,126,255,0.2)]'
2603
+ }, {
2604
+ variant: 'filled',
2605
+ colorScheme: 'brand',
2606
+ class: 'bg-dash-brand/15 focus:bg-dash-brand/20'
2607
+ }, {
2608
+ variant: 'filled',
2609
+ colorScheme: 'error',
2610
+ class: 'bg-red-500/15 focus:bg-red-500/20'
2611
+ }, {
2612
+ variant: 'filled',
2613
+ colorScheme: 'success',
2614
+ class: 'bg-green-500/15 focus:bg-green-500/20'
2615
+ }, {
2616
+ variant: 'filled',
2617
+ colorScheme: 'light-gray',
2618
+ class: 'bg-[#0C1C33]/5 focus:bg-[#0C1C33]/10'
2619
+ },
2620
+ // Filled variant with focus ring
2621
+ {
2622
+ variant: 'filled',
2623
+ class: 'focus:ring-2'
2290
2624
  }],
2291
2625
  defaultVariants: {
2292
2626
  theme: 'light',
@@ -2322,13 +2656,16 @@ const Input = _a => {
2322
2656
  disabled = false,
2323
2657
  type,
2324
2658
  prefix,
2659
+ prefixClassName = '',
2325
2660
  showPasswordToggle = true
2326
2661
  } = _a,
2327
- props = tslib.__rest(_a, ["className", "colorScheme", "size", "variant", "error", "success", "disabled", "type", "prefix", "showPasswordToggle"]);
2662
+ props = tslib.__rest(_a, ["className", "colorScheme", "size", "variant", "error", "success", "disabled", "type", "prefix", "prefixClassName", "showPasswordToggle"]);
2328
2663
  const {
2329
2664
  theme
2330
2665
  } = useTheme();
2331
2666
  const [showPassword, setShowPassword] = React.useState(false);
2667
+ const [prefixWidth, setPrefixWidth] = React.useState(0);
2668
+ const prefixRef = React.useRef(null);
2332
2669
  // Determine color scheme based on state
2333
2670
  let finalColorScheme = colorScheme;
2334
2671
  if (error) finalColorScheme = 'error';else if (success) finalColorScheme = 'success';
@@ -2345,25 +2682,26 @@ const Input = _a => {
2345
2682
  const togglePasswordVisibility = () => {
2346
2683
  setShowPassword(!showPassword);
2347
2684
  };
2348
- // Calculate padding based on prefix length
2349
- const getPrefixPadding = () => {
2350
- if (!prefix) return 0;
2351
- const prefixLength = typeof prefix === 'string' ? prefix.length : 4; // default for React nodes
2352
- // Base padding (1rem) + prefix width estimation (0.6rem per character) + extra space (0.5rem)
2353
- return prefixLength * 0.6 + 1.5;
2354
- };
2685
+ // Measure actual prefix width
2686
+ React.useEffect(() => {
2687
+ if (prefixRef.current) {
2688
+ const width = prefixRef.current.offsetWidth;
2689
+ // Convert px to rem (assuming 16px base) and add base padding (1rem) + extra space (0.5rem)
2690
+ setPrefixWidth(width / 16 + 1.5);
2691
+ }
2692
+ }, [prefix]);
2355
2693
  // Render with prefix
2356
2694
  if (hasPrefix) {
2357
- const leftPadding = getPrefixPadding();
2358
2695
  return jsxRuntime.jsxs("div", {
2359
2696
  className: 'relative',
2360
2697
  children: [jsxRuntime.jsx("div", {
2361
- className: 'absolute left-4 top-1/2 -translate-y-1/2 z-10 text-[0.875rem] opacity-60 pointer-events-none select-none',
2698
+ ref: prefixRef,
2699
+ className: `absolute left-4 top-1/2 -translate-y-1/2 z-10 text-[0.875rem] opacity-60 pointer-events-none select-none ${prefixClassName}`,
2362
2700
  children: prefix
2363
2701
  }), jsxRuntime.jsx("input", Object.assign({
2364
2702
  className: `${classes}${isPassword && showPasswordToggle ? ' pr-12' : ''}`,
2365
2703
  style: {
2366
- paddingLeft: `${leftPadding}rem`
2704
+ paddingLeft: prefixWidth ? `${prefixWidth}rem` : '1rem'
2367
2705
  },
2368
2706
  disabled: disabled,
2369
2707
  type: inputType
@@ -2775,6 +3113,7 @@ const valueCard = classVarianceAuthority.cva('flex items-center transition-all o
2775
3113
  yellow: 'bg-dash-yellow-light !outline-dash-yellow'
2776
3114
  },
2777
3115
  size: {
3116
+ xs: 'px-[0.5rem] py-[0.25rem] rounded-[0.25rem]',
2778
3117
  sm: 'dash-block-sm',
2779
3118
  md: 'dash-block-md',
2780
3119
  xl: 'dash-block-xl'
@@ -2926,7 +3265,7 @@ function clamp$1(value, [min, max]) {
2926
3265
  }
2927
3266
 
2928
3267
  // packages/core/primitive/src/primitive.tsx
2929
- function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
3268
+ function composeEventHandlers$1(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
2930
3269
  return function handleEvent(event) {
2931
3270
  originalEventHandler?.(event);
2932
3271
  if (checkForDefaultPrevented === false || !event.defaultPrevented) {
@@ -2958,17 +3297,17 @@ function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.docum
2958
3297
  }, [onEscapeKeyDown, ownerDocument]);
2959
3298
  }
2960
3299
 
2961
- var DISMISSABLE_LAYER_NAME = "DismissableLayer";
2962
- var CONTEXT_UPDATE = "dismissableLayer.update";
2963
- var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
2964
- var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
2965
- var originalBodyPointerEvents;
2966
- var DismissableLayerContext = React__namespace.createContext({
3300
+ var DISMISSABLE_LAYER_NAME$1 = "DismissableLayer";
3301
+ var CONTEXT_UPDATE$1 = "dismissableLayer.update";
3302
+ var POINTER_DOWN_OUTSIDE$1 = "dismissableLayer.pointerDownOutside";
3303
+ var FOCUS_OUTSIDE$1 = "dismissableLayer.focusOutside";
3304
+ var originalBodyPointerEvents$1;
3305
+ var DismissableLayerContext$1 = React__namespace.createContext({
2967
3306
  layers: /* @__PURE__ */ new Set(),
2968
3307
  layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
2969
3308
  branches: /* @__PURE__ */ new Set()
2970
3309
  });
2971
- var DismissableLayer = React__namespace.forwardRef(
3310
+ var DismissableLayer$1 = React__namespace.forwardRef(
2972
3311
  (props, forwardedRef) => {
2973
3312
  const {
2974
3313
  disableOutsidePointerEvents = false,
@@ -2979,7 +3318,7 @@ var DismissableLayer = React__namespace.forwardRef(
2979
3318
  onDismiss,
2980
3319
  ...layerProps
2981
3320
  } = props;
2982
- const context = React__namespace.useContext(DismissableLayerContext);
3321
+ const context = React__namespace.useContext(DismissableLayerContext$1);
2983
3322
  const [node, setNode] = React__namespace.useState(null);
2984
3323
  const ownerDocument = node?.ownerDocument ?? globalThis?.document;
2985
3324
  const [, force] = React__namespace.useState({});
@@ -2990,7 +3329,7 @@ var DismissableLayer = React__namespace.forwardRef(
2990
3329
  const index = node ? layers.indexOf(node) : -1;
2991
3330
  const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
2992
3331
  const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
2993
- const pointerDownOutside = usePointerDownOutside((event) => {
3332
+ const pointerDownOutside = usePointerDownOutside$1((event) => {
2994
3333
  const target = event.target;
2995
3334
  const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));
2996
3335
  if (!isPointerEventsEnabled || isPointerDownOnBranch) return;
@@ -2998,7 +3337,7 @@ var DismissableLayer = React__namespace.forwardRef(
2998
3337
  onInteractOutside?.(event);
2999
3338
  if (!event.defaultPrevented) onDismiss?.();
3000
3339
  }, ownerDocument);
3001
- const focusOutside = useFocusOutside((event) => {
3340
+ const focusOutside = useFocusOutside$1((event) => {
3002
3341
  const target = event.target;
3003
3342
  const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));
3004
3343
  if (isFocusInBranch) return;
@@ -3019,16 +3358,16 @@ var DismissableLayer = React__namespace.forwardRef(
3019
3358
  if (!node) return;
3020
3359
  if (disableOutsidePointerEvents) {
3021
3360
  if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
3022
- originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;
3361
+ originalBodyPointerEvents$1 = ownerDocument.body.style.pointerEvents;
3023
3362
  ownerDocument.body.style.pointerEvents = "none";
3024
3363
  }
3025
3364
  context.layersWithOutsidePointerEventsDisabled.add(node);
3026
3365
  }
3027
3366
  context.layers.add(node);
3028
- dispatchUpdate();
3367
+ dispatchUpdate$1();
3029
3368
  return () => {
3030
3369
  if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {
3031
- ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;
3370
+ ownerDocument.body.style.pointerEvents = originalBodyPointerEvents$1;
3032
3371
  }
3033
3372
  };
3034
3373
  }, [node, ownerDocument, disableOutsidePointerEvents, context]);
@@ -3037,13 +3376,13 @@ var DismissableLayer = React__namespace.forwardRef(
3037
3376
  if (!node) return;
3038
3377
  context.layers.delete(node);
3039
3378
  context.layersWithOutsidePointerEventsDisabled.delete(node);
3040
- dispatchUpdate();
3379
+ dispatchUpdate$1();
3041
3380
  };
3042
3381
  }, [node, context]);
3043
3382
  React__namespace.useEffect(() => {
3044
3383
  const handleUpdate = () => force({});
3045
- document.addEventListener(CONTEXT_UPDATE, handleUpdate);
3046
- return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
3384
+ document.addEventListener(CONTEXT_UPDATE$1, handleUpdate);
3385
+ return () => document.removeEventListener(CONTEXT_UPDATE$1, handleUpdate);
3047
3386
  }, []);
3048
3387
  return /* @__PURE__ */ jsxRuntime.jsx(
3049
3388
  Primitive.div,
@@ -3054,9 +3393,9 @@ var DismissableLayer = React__namespace.forwardRef(
3054
3393
  pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0,
3055
3394
  ...props.style
3056
3395
  },
3057
- onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),
3058
- onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),
3059
- onPointerDownCapture: composeEventHandlers(
3396
+ onFocusCapture: composeEventHandlers$1(props.onFocusCapture, focusOutside.onFocusCapture),
3397
+ onBlurCapture: composeEventHandlers$1(props.onBlurCapture, focusOutside.onBlurCapture),
3398
+ onPointerDownCapture: composeEventHandlers$1(
3060
3399
  props.onPointerDownCapture,
3061
3400
  pointerDownOutside.onPointerDownCapture
3062
3401
  )
@@ -3064,10 +3403,10 @@ var DismissableLayer = React__namespace.forwardRef(
3064
3403
  );
3065
3404
  }
3066
3405
  );
3067
- DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;
3068
- var BRANCH_NAME = "DismissableLayerBranch";
3069
- var DismissableLayerBranch = React__namespace.forwardRef((props, forwardedRef) => {
3070
- const context = React__namespace.useContext(DismissableLayerContext);
3406
+ DismissableLayer$1.displayName = DISMISSABLE_LAYER_NAME$1;
3407
+ var BRANCH_NAME$1 = "DismissableLayerBranch";
3408
+ var DismissableLayerBranch$1 = React__namespace.forwardRef((props, forwardedRef) => {
3409
+ const context = React__namespace.useContext(DismissableLayerContext$1);
3071
3410
  const ref = React__namespace.useRef(null);
3072
3411
  const composedRefs = useComposedRefs(forwardedRef, ref);
3073
3412
  React__namespace.useEffect(() => {
@@ -3081,8 +3420,8 @@ var DismissableLayerBranch = React__namespace.forwardRef((props, forwardedRef) =
3081
3420
  }, [context.branches]);
3082
3421
  return /* @__PURE__ */ jsxRuntime.jsx(Primitive.div, { ...props, ref: composedRefs });
3083
3422
  });
3084
- DismissableLayerBranch.displayName = BRANCH_NAME;
3085
- function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
3423
+ DismissableLayerBranch$1.displayName = BRANCH_NAME$1;
3424
+ function usePointerDownOutside$1(onPointerDownOutside, ownerDocument = globalThis?.document) {
3086
3425
  const handlePointerDownOutside = useCallbackRef$1(onPointerDownOutside);
3087
3426
  const isPointerInsideReactTreeRef = React__namespace.useRef(false);
3088
3427
  const handleClickRef = React__namespace.useRef(() => {
@@ -3091,8 +3430,8 @@ function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?
3091
3430
  const handlePointerDown = (event) => {
3092
3431
  if (event.target && !isPointerInsideReactTreeRef.current) {
3093
3432
  let handleAndDispatchPointerDownOutsideEvent2 = function() {
3094
- handleAndDispatchCustomEvent(
3095
- POINTER_DOWN_OUTSIDE,
3433
+ handleAndDispatchCustomEvent$1(
3434
+ POINTER_DOWN_OUTSIDE$1,
3096
3435
  handlePointerDownOutside,
3097
3436
  eventDetail,
3098
3437
  { discrete: true }
@@ -3125,14 +3464,14 @@ function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?
3125
3464
  onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true
3126
3465
  };
3127
3466
  }
3128
- function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {
3467
+ function useFocusOutside$1(onFocusOutside, ownerDocument = globalThis?.document) {
3129
3468
  const handleFocusOutside = useCallbackRef$1(onFocusOutside);
3130
3469
  const isFocusInsideReactTreeRef = React__namespace.useRef(false);
3131
3470
  React__namespace.useEffect(() => {
3132
3471
  const handleFocus = (event) => {
3133
3472
  if (event.target && !isFocusInsideReactTreeRef.current) {
3134
3473
  const eventDetail = { originalEvent: event };
3135
- handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
3474
+ handleAndDispatchCustomEvent$1(FOCUS_OUTSIDE$1, handleFocusOutside, eventDetail, {
3136
3475
  discrete: false
3137
3476
  });
3138
3477
  }
@@ -3145,11 +3484,11 @@ function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {
3145
3484
  onBlurCapture: () => isFocusInsideReactTreeRef.current = false
3146
3485
  };
3147
3486
  }
3148
- function dispatchUpdate() {
3149
- const event = new CustomEvent(CONTEXT_UPDATE);
3487
+ function dispatchUpdate$1() {
3488
+ const event = new CustomEvent(CONTEXT_UPDATE$1);
3150
3489
  document.dispatchEvent(event);
3151
3490
  }
3152
- function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
3491
+ function handleAndDispatchCustomEvent$1(name, handler, detail, { discrete }) {
3153
3492
  const target = detail.originalEvent.target;
3154
3493
  const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });
3155
3494
  if (handler) target.addEventListener(name, handler, { once: true });
@@ -3160,22 +3499,22 @@ function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
3160
3499
  }
3161
3500
  }
3162
3501
 
3163
- var count = 0;
3164
- function useFocusGuards() {
3502
+ var count$1 = 0;
3503
+ function useFocusGuards$1() {
3165
3504
  React__namespace.useEffect(() => {
3166
3505
  const edgeGuards = document.querySelectorAll("[data-radix-focus-guard]");
3167
- document.body.insertAdjacentElement("afterbegin", edgeGuards[0] ?? createFocusGuard());
3168
- document.body.insertAdjacentElement("beforeend", edgeGuards[1] ?? createFocusGuard());
3169
- count++;
3506
+ document.body.insertAdjacentElement("afterbegin", edgeGuards[0] ?? createFocusGuard$1());
3507
+ document.body.insertAdjacentElement("beforeend", edgeGuards[1] ?? createFocusGuard$1());
3508
+ count$1++;
3170
3509
  return () => {
3171
- if (count === 1) {
3510
+ if (count$1 === 1) {
3172
3511
  document.querySelectorAll("[data-radix-focus-guard]").forEach((node) => node.remove());
3173
3512
  }
3174
- count--;
3513
+ count$1--;
3175
3514
  };
3176
3515
  }, []);
3177
3516
  }
3178
- function createFocusGuard() {
3517
+ function createFocusGuard$1() {
3179
3518
  const element = document.createElement("span");
3180
3519
  element.setAttribute("data-radix-focus-guard", "");
3181
3520
  element.tabIndex = 0;
@@ -5567,7 +5906,7 @@ const arrow = (options, deps) => ({
5567
5906
 
5568
5907
  // src/arrow.tsx
5569
5908
  var NAME$1 = "Arrow";
5570
- var Arrow$1 = React__namespace.forwardRef((props, forwardedRef) => {
5909
+ var Arrow$2 = React__namespace.forwardRef((props, forwardedRef) => {
5571
5910
  const { children, width = 10, height = 5, ...arrowProps } = props;
5572
5911
  return /* @__PURE__ */ jsxRuntime.jsx(
5573
5912
  Primitive.svg,
@@ -5582,8 +5921,8 @@ var Arrow$1 = React__namespace.forwardRef((props, forwardedRef) => {
5582
5921
  }
5583
5922
  );
5584
5923
  });
5585
- Arrow$1.displayName = NAME$1;
5586
- var Root$2 = Arrow$1;
5924
+ Arrow$2.displayName = NAME$1;
5925
+ var Root$2 = Arrow$2;
5587
5926
 
5588
5927
  // packages/react/use-size/src/use-size.tsx
5589
5928
  function useSize(element) {
@@ -5621,20 +5960,20 @@ function useSize(element) {
5621
5960
  return size;
5622
5961
  }
5623
5962
 
5624
- var POPPER_NAME = "Popper";
5625
- var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
5626
- var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
5627
- var Popper = (props) => {
5963
+ var POPPER_NAME$1 = "Popper";
5964
+ var [createPopperContext$1, createPopperScope$1] = createContextScope(POPPER_NAME$1);
5965
+ var [PopperProvider$1, usePopperContext$1] = createPopperContext$1(POPPER_NAME$1);
5966
+ var Popper$1 = (props) => {
5628
5967
  const { __scopePopper, children } = props;
5629
5968
  const [anchor, setAnchor] = React__namespace.useState(null);
5630
- return /* @__PURE__ */ jsxRuntime.jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
5969
+ return /* @__PURE__ */ jsxRuntime.jsx(PopperProvider$1, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
5631
5970
  };
5632
- Popper.displayName = POPPER_NAME;
5633
- var ANCHOR_NAME = "PopperAnchor";
5634
- var PopperAnchor = React__namespace.forwardRef(
5971
+ Popper$1.displayName = POPPER_NAME$1;
5972
+ var ANCHOR_NAME$2 = "PopperAnchor";
5973
+ var PopperAnchor$1 = React__namespace.forwardRef(
5635
5974
  (props, forwardedRef) => {
5636
5975
  const { __scopePopper, virtualRef, ...anchorProps } = props;
5637
- const context = usePopperContext(ANCHOR_NAME, __scopePopper);
5976
+ const context = usePopperContext$1(ANCHOR_NAME$2, __scopePopper);
5638
5977
  const ref = React__namespace.useRef(null);
5639
5978
  const composedRefs = useComposedRefs(forwardedRef, ref);
5640
5979
  React__namespace.useEffect(() => {
@@ -5643,10 +5982,10 @@ var PopperAnchor = React__namespace.forwardRef(
5643
5982
  return virtualRef ? null : /* @__PURE__ */ jsxRuntime.jsx(Primitive.div, { ...anchorProps, ref: composedRefs });
5644
5983
  }
5645
5984
  );
5646
- PopperAnchor.displayName = ANCHOR_NAME;
5647
- var CONTENT_NAME$3 = "PopperContent";
5648
- var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME$3);
5649
- var PopperContent = React__namespace.forwardRef(
5985
+ PopperAnchor$1.displayName = ANCHOR_NAME$2;
5986
+ var CONTENT_NAME$5 = "PopperContent";
5987
+ var [PopperContentProvider$1, useContentContext$1] = createPopperContext$1(CONTENT_NAME$5);
5988
+ var PopperContent$1 = React__namespace.forwardRef(
5650
5989
  (props, forwardedRef) => {
5651
5990
  const {
5652
5991
  __scopePopper,
@@ -5664,7 +6003,7 @@ var PopperContent = React__namespace.forwardRef(
5664
6003
  onPlaced,
5665
6004
  ...contentProps
5666
6005
  } = props;
5667
- const context = usePopperContext(CONTENT_NAME$3, __scopePopper);
6006
+ const context = usePopperContext$1(CONTENT_NAME$5, __scopePopper);
5668
6007
  const [content, setContent] = React__namespace.useState(null);
5669
6008
  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));
5670
6009
  const [arrow$1, setArrow] = React__namespace.useState(null);
@@ -5677,7 +6016,7 @@ var PopperContent = React__namespace.forwardRef(
5677
6016
  const hasExplicitBoundaries = boundary.length > 0;
5678
6017
  const detectOverflowOptions = {
5679
6018
  padding: collisionPadding,
5680
- boundary: boundary.filter(isNotNull),
6019
+ boundary: boundary.filter(isNotNull$1),
5681
6020
  // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
5682
6021
  altBoundary: hasExplicitBoundaries
5683
6022
  };
@@ -5715,11 +6054,11 @@ var PopperContent = React__namespace.forwardRef(
5715
6054
  }
5716
6055
  }),
5717
6056
  arrow$1 && arrow({ element: arrow$1, padding: arrowPadding }),
5718
- transformOrigin({ arrowWidth, arrowHeight }),
6057
+ transformOrigin$1({ arrowWidth, arrowHeight }),
5719
6058
  hideWhenDetached && hide({ strategy: "referenceHidden", ...detectOverflowOptions })
5720
6059
  ]
5721
6060
  });
5722
- const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
6061
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement$1(placement);
5723
6062
  const handlePlaced = useCallbackRef$1(onPlaced);
5724
6063
  useLayoutEffect2(() => {
5725
6064
  if (isPositioned) {
@@ -5758,7 +6097,7 @@ var PopperContent = React__namespace.forwardRef(
5758
6097
  },
5759
6098
  dir: props.dir,
5760
6099
  children: /* @__PURE__ */ jsxRuntime.jsx(
5761
- PopperContentProvider,
6100
+ PopperContentProvider$1,
5762
6101
  {
5763
6102
  scope: __scopePopper,
5764
6103
  placedSide,
@@ -5787,18 +6126,18 @@ var PopperContent = React__namespace.forwardRef(
5787
6126
  );
5788
6127
  }
5789
6128
  );
5790
- PopperContent.displayName = CONTENT_NAME$3;
5791
- var ARROW_NAME$1 = "PopperArrow";
5792
- var OPPOSITE_SIDE = {
6129
+ PopperContent$1.displayName = CONTENT_NAME$5;
6130
+ var ARROW_NAME$3 = "PopperArrow";
6131
+ var OPPOSITE_SIDE$1 = {
5793
6132
  top: "bottom",
5794
6133
  right: "left",
5795
6134
  bottom: "top",
5796
6135
  left: "right"
5797
6136
  };
5798
- var PopperArrow = React__namespace.forwardRef(function PopperArrow2(props, forwardedRef) {
6137
+ var PopperArrow$1 = React__namespace.forwardRef(function PopperArrow2(props, forwardedRef) {
5799
6138
  const { __scopePopper, ...arrowProps } = props;
5800
- const contentContext = useContentContext(ARROW_NAME$1, __scopePopper);
5801
- const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
6139
+ const contentContext = useContentContext$1(ARROW_NAME$3, __scopePopper);
6140
+ const baseSide = OPPOSITE_SIDE$1[contentContext.placedSide];
5802
6141
  return (
5803
6142
  // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
5804
6143
  // doesn't report size as we'd expect on SVG elements.
@@ -5842,11 +6181,11 @@ var PopperArrow = React__namespace.forwardRef(function PopperArrow2(props, forwa
5842
6181
  )
5843
6182
  );
5844
6183
  });
5845
- PopperArrow.displayName = ARROW_NAME$1;
5846
- function isNotNull(value) {
6184
+ PopperArrow$1.displayName = ARROW_NAME$3;
6185
+ function isNotNull$1(value) {
5847
6186
  return value !== null;
5848
6187
  }
5849
- var transformOrigin = (options) => ({
6188
+ var transformOrigin$1 = (options) => ({
5850
6189
  name: "transformOrigin",
5851
6190
  options,
5852
6191
  fn(data) {
@@ -5855,7 +6194,7 @@ var transformOrigin = (options) => ({
5855
6194
  const isArrowHidden = cannotCenterArrow;
5856
6195
  const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
5857
6196
  const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
5858
- const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
6197
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement$1(placement);
5859
6198
  const noArrowAlign = { start: "0%", center: "50%", end: "100%" }[placedAlign];
5860
6199
  const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;
5861
6200
  const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
@@ -5877,24 +6216,24 @@ var transformOrigin = (options) => ({
5877
6216
  return { data: { x, y } };
5878
6217
  }
5879
6218
  });
5880
- function getSideAndAlignFromPlacement(placement) {
6219
+ function getSideAndAlignFromPlacement$1(placement) {
5881
6220
  const [side, align = "center"] = placement.split("-");
5882
6221
  return [side, align];
5883
6222
  }
5884
- var Root2$2 = Popper;
5885
- var Anchor = PopperAnchor;
5886
- var Content$2 = PopperContent;
5887
- var Arrow = PopperArrow;
6223
+ var Root2$4 = Popper$1;
6224
+ var Anchor$1 = PopperAnchor$1;
6225
+ var Content$3 = PopperContent$1;
6226
+ var Arrow$1 = PopperArrow$1;
5888
6227
 
5889
- var PORTAL_NAME$2 = "Portal";
5890
- var Portal$2 = React__namespace.forwardRef((props, forwardedRef) => {
6228
+ var PORTAL_NAME$3 = "Portal";
6229
+ var Portal$3 = React__namespace.forwardRef((props, forwardedRef) => {
5891
6230
  const { container: containerProp, ...portalProps } = props;
5892
6231
  const [mounted, setMounted] = React__namespace.useState(false);
5893
6232
  useLayoutEffect2(() => setMounted(true), []);
5894
6233
  const container = containerProp || mounted && globalThis?.document?.body;
5895
6234
  return container ? ReactDOM.createPortal(/* @__PURE__ */ jsxRuntime.jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
5896
6235
  });
5897
- Portal$2.displayName = PORTAL_NAME$2;
6236
+ Portal$3.displayName = PORTAL_NAME$3;
5898
6237
 
5899
6238
  // packages/react/use-previous/src/use-previous.tsx
5900
6239
  function usePrevious(value) {
@@ -6775,9 +7114,9 @@ var SELECT_NAME = "Select";
6775
7114
  var [Collection$1, useCollection$1, createCollectionScope$1] = createCollection(SELECT_NAME);
6776
7115
  var [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [
6777
7116
  createCollectionScope$1,
6778
- createPopperScope
7117
+ createPopperScope$1
6779
7118
  ]);
6780
- var usePopperScope = createPopperScope();
7119
+ var usePopperScope$1 = createPopperScope$1();
6781
7120
  var [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);
6782
7121
  var [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);
6783
7122
  var Select$1 = (props) => {
@@ -6797,7 +7136,7 @@ var Select$1 = (props) => {
6797
7136
  required,
6798
7137
  form
6799
7138
  } = props;
6800
- const popperScope = usePopperScope(__scopeSelect);
7139
+ const popperScope = usePopperScope$1(__scopeSelect);
6801
7140
  const [trigger, setTrigger] = React__namespace.useState(null);
6802
7141
  const [valueNode, setValueNode] = React__namespace.useState(null);
6803
7142
  const [valueNodeHasChildren, setValueNodeHasChildren] = React__namespace.useState(false);
@@ -6818,7 +7157,7 @@ var Select$1 = (props) => {
6818
7157
  const isFormControl = trigger ? form || !!trigger.closest("form") : true;
6819
7158
  const [nativeOptionsSet, setNativeOptionsSet] = React__namespace.useState(/* @__PURE__ */ new Set());
6820
7159
  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
6821
- return /* @__PURE__ */ jsxRuntime.jsx(Root2$2, { ...popperScope, children: /* @__PURE__ */ jsxRuntime.jsxs(
7160
+ return /* @__PURE__ */ jsxRuntime.jsx(Root2$4, { ...popperScope, children: /* @__PURE__ */ jsxRuntime.jsxs(
6822
7161
  SelectProvider,
6823
7162
  {
6824
7163
  required,
@@ -6879,12 +7218,12 @@ var Select$1 = (props) => {
6879
7218
  ) });
6880
7219
  };
6881
7220
  Select$1.displayName = SELECT_NAME;
6882
- var TRIGGER_NAME$2 = "SelectTrigger";
7221
+ var TRIGGER_NAME$3 = "SelectTrigger";
6883
7222
  var SelectTrigger = React__namespace.forwardRef(
6884
7223
  (props, forwardedRef) => {
6885
7224
  const { __scopeSelect, disabled = false, ...triggerProps } = props;
6886
- const popperScope = usePopperScope(__scopeSelect);
6887
- const context = useSelectContext(TRIGGER_NAME$2, __scopeSelect);
7225
+ const popperScope = usePopperScope$1(__scopeSelect);
7226
+ const context = useSelectContext(TRIGGER_NAME$3, __scopeSelect);
6888
7227
  const isDisabled = context.disabled || disabled;
6889
7228
  const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);
6890
7229
  const getItems = useCollection$1(__scopeSelect);
@@ -6909,7 +7248,7 @@ var SelectTrigger = React__namespace.forwardRef(
6909
7248
  };
6910
7249
  }
6911
7250
  };
6912
- return /* @__PURE__ */ jsxRuntime.jsx(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsxRuntime.jsx(
7251
+ return /* @__PURE__ */ jsxRuntime.jsx(Anchor$1, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsxRuntime.jsx(
6913
7252
  Primitive.button,
6914
7253
  {
6915
7254
  type: "button",
@@ -6925,13 +7264,13 @@ var SelectTrigger = React__namespace.forwardRef(
6925
7264
  "data-placeholder": shouldShowPlaceholder(context.value) ? "" : void 0,
6926
7265
  ...triggerProps,
6927
7266
  ref: composedRefs,
6928
- onClick: composeEventHandlers(triggerProps.onClick, (event) => {
7267
+ onClick: composeEventHandlers$1(triggerProps.onClick, (event) => {
6929
7268
  event.currentTarget.focus();
6930
7269
  if (pointerTypeRef.current !== "mouse") {
6931
7270
  handleOpen(event);
6932
7271
  }
6933
7272
  }),
6934
- onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {
7273
+ onPointerDown: composeEventHandlers$1(triggerProps.onPointerDown, (event) => {
6935
7274
  pointerTypeRef.current = event.pointerType;
6936
7275
  const target = event.target;
6937
7276
  if (target.hasPointerCapture(event.pointerId)) {
@@ -6942,7 +7281,7 @@ var SelectTrigger = React__namespace.forwardRef(
6942
7281
  event.preventDefault();
6943
7282
  }
6944
7283
  }),
6945
- onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {
7284
+ onKeyDown: composeEventHandlers$1(triggerProps.onKeyDown, (event) => {
6946
7285
  const isTypingAhead = searchRef.current !== "";
6947
7286
  const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
6948
7287
  if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);
@@ -6956,7 +7295,7 @@ var SelectTrigger = React__namespace.forwardRef(
6956
7295
  ) });
6957
7296
  }
6958
7297
  );
6959
- SelectTrigger.displayName = TRIGGER_NAME$2;
7298
+ SelectTrigger.displayName = TRIGGER_NAME$3;
6960
7299
  var VALUE_NAME = "SelectValue";
6961
7300
  var SelectValue = React__namespace.forwardRef(
6962
7301
  (props, forwardedRef) => {
@@ -6988,15 +7327,15 @@ var SelectIcon = React__namespace.forwardRef(
6988
7327
  }
6989
7328
  );
6990
7329
  SelectIcon.displayName = ICON_NAME;
6991
- var PORTAL_NAME$1 = "SelectPortal";
7330
+ var PORTAL_NAME$2 = "SelectPortal";
6992
7331
  var SelectPortal = (props) => {
6993
- return /* @__PURE__ */ jsxRuntime.jsx(Portal$2, { asChild: true, ...props });
7332
+ return /* @__PURE__ */ jsxRuntime.jsx(Portal$3, { asChild: true, ...props });
6994
7333
  };
6995
- SelectPortal.displayName = PORTAL_NAME$1;
6996
- var CONTENT_NAME$2 = "SelectContent";
7334
+ SelectPortal.displayName = PORTAL_NAME$2;
7335
+ var CONTENT_NAME$4 = "SelectContent";
6997
7336
  var SelectContent = React__namespace.forwardRef(
6998
7337
  (props, forwardedRef) => {
6999
- const context = useSelectContext(CONTENT_NAME$2, props.__scopeSelect);
7338
+ const context = useSelectContext(CONTENT_NAME$4, props.__scopeSelect);
7000
7339
  const [fragment, setFragment] = React__namespace.useState();
7001
7340
  useLayoutEffect2(() => {
7002
7341
  setFragment(new DocumentFragment());
@@ -7011,11 +7350,11 @@ var SelectContent = React__namespace.forwardRef(
7011
7350
  return /* @__PURE__ */ jsxRuntime.jsx(SelectContentImpl, { ...props, ref: forwardedRef });
7012
7351
  }
7013
7352
  );
7014
- SelectContent.displayName = CONTENT_NAME$2;
7353
+ SelectContent.displayName = CONTENT_NAME$4;
7015
7354
  var CONTENT_MARGIN = 10;
7016
- var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME$2);
7355
+ var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME$4);
7017
7356
  var CONTENT_IMPL_NAME = "SelectContentImpl";
7018
- var Slot$1 = createSlot("SelectContent.RemoveScroll");
7357
+ var Slot$2 = createSlot("SelectContent.RemoveScroll");
7019
7358
  var SelectContentImpl = React__namespace.forwardRef(
7020
7359
  (props, forwardedRef) => {
7021
7360
  const {
@@ -7039,7 +7378,7 @@ var SelectContentImpl = React__namespace.forwardRef(
7039
7378
  //
7040
7379
  ...contentProps
7041
7380
  } = props;
7042
- const context = useSelectContext(CONTENT_NAME$2, __scopeSelect);
7381
+ const context = useSelectContext(CONTENT_NAME$4, __scopeSelect);
7043
7382
  const [content, setContent] = React__namespace.useState(null);
7044
7383
  const [viewport, setViewport] = React__namespace.useState(null);
7045
7384
  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));
@@ -7053,7 +7392,7 @@ var SelectContentImpl = React__namespace.forwardRef(
7053
7392
  React__namespace.useEffect(() => {
7054
7393
  if (content) return hideOthers(content);
7055
7394
  }, [content]);
7056
- useFocusGuards();
7395
+ useFocusGuards$1();
7057
7396
  const focusFirst = React__namespace.useCallback(
7058
7397
  (candidates) => {
7059
7398
  const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);
@@ -7178,7 +7517,7 @@ var SelectContentImpl = React__namespace.forwardRef(
7178
7517
  position,
7179
7518
  isPositioned,
7180
7519
  searchRef,
7181
- children: /* @__PURE__ */ jsxRuntime.jsx(ReactRemoveScroll, { as: Slot$1, allowPinchZoom: true, children: /* @__PURE__ */ jsxRuntime.jsx(
7520
+ children: /* @__PURE__ */ jsxRuntime.jsx(ReactRemoveScroll, { as: Slot$2, allowPinchZoom: true, children: /* @__PURE__ */ jsxRuntime.jsx(
7182
7521
  FocusScope,
7183
7522
  {
7184
7523
  asChild: true,
@@ -7186,12 +7525,12 @@ var SelectContentImpl = React__namespace.forwardRef(
7186
7525
  onMountAutoFocus: (event) => {
7187
7526
  event.preventDefault();
7188
7527
  },
7189
- onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {
7528
+ onUnmountAutoFocus: composeEventHandlers$1(onCloseAutoFocus, (event) => {
7190
7529
  context.trigger?.focus({ preventScroll: true });
7191
7530
  event.preventDefault();
7192
7531
  }),
7193
7532
  children: /* @__PURE__ */ jsxRuntime.jsx(
7194
- DismissableLayer,
7533
+ DismissableLayer$1,
7195
7534
  {
7196
7535
  asChild: true,
7197
7536
  disableOutsidePointerEvents: true,
@@ -7219,7 +7558,7 @@ var SelectContentImpl = React__namespace.forwardRef(
7219
7558
  outline: "none",
7220
7559
  ...contentProps.style
7221
7560
  },
7222
- onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {
7561
+ onKeyDown: composeEventHandlers$1(contentProps.onKeyDown, (event) => {
7223
7562
  const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
7224
7563
  if (event.key === "Tab") event.preventDefault();
7225
7564
  if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);
@@ -7252,8 +7591,8 @@ SelectContentImpl.displayName = CONTENT_IMPL_NAME;
7252
7591
  var ITEM_ALIGNED_POSITION_NAME = "SelectItemAlignedPosition";
7253
7592
  var SelectItemAlignedPosition = React__namespace.forwardRef((props, forwardedRef) => {
7254
7593
  const { __scopeSelect, onPlaced, ...popperProps } = props;
7255
- const context = useSelectContext(CONTENT_NAME$2, __scopeSelect);
7256
- const contentContext = useSelectContentContext(CONTENT_NAME$2, __scopeSelect);
7594
+ const context = useSelectContext(CONTENT_NAME$4, __scopeSelect);
7595
+ const contentContext = useSelectContentContext(CONTENT_NAME$4, __scopeSelect);
7257
7596
  const [contentWrapper, setContentWrapper] = React__namespace.useState(null);
7258
7597
  const [content, setContent] = React__namespace.useState(null);
7259
7598
  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));
@@ -7421,9 +7760,9 @@ var SelectPopperPosition = React__namespace.forwardRef((props, forwardedRef) =>
7421
7760
  collisionPadding = CONTENT_MARGIN,
7422
7761
  ...popperProps
7423
7762
  } = props;
7424
- const popperScope = usePopperScope(__scopeSelect);
7763
+ const popperScope = usePopperScope$1(__scopeSelect);
7425
7764
  return /* @__PURE__ */ jsxRuntime.jsx(
7426
- Content$2,
7765
+ Content$3,
7427
7766
  {
7428
7767
  ...popperScope,
7429
7768
  ...popperProps,
@@ -7447,7 +7786,7 @@ var SelectPopperPosition = React__namespace.forwardRef((props, forwardedRef) =>
7447
7786
  );
7448
7787
  });
7449
7788
  SelectPopperPosition.displayName = POPPER_POSITION_NAME;
7450
- var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME$2, {});
7789
+ var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME$4, {});
7451
7790
  var VIEWPORT_NAME = "SelectViewport";
7452
7791
  var SelectViewport = React__namespace.forwardRef(
7453
7792
  (props, forwardedRef) => {
@@ -7486,7 +7825,7 @@ var SelectViewport = React__namespace.forwardRef(
7486
7825
  overflow: "hidden auto",
7487
7826
  ...viewportProps.style
7488
7827
  },
7489
- onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {
7828
+ onScroll: composeEventHandlers$1(viewportProps.onScroll, (event) => {
7490
7829
  const viewport = event.currentTarget;
7491
7830
  const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;
7492
7831
  if (shouldExpandOnScrollRef?.current && contentWrapper) {
@@ -7599,18 +7938,18 @@ var SelectItem = React__namespace.forwardRef(
7599
7938
  tabIndex: disabled ? void 0 : -1,
7600
7939
  ...itemProps,
7601
7940
  ref: composedRefs,
7602
- onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),
7603
- onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),
7604
- onClick: composeEventHandlers(itemProps.onClick, () => {
7941
+ onFocus: composeEventHandlers$1(itemProps.onFocus, () => setIsFocused(true)),
7942
+ onBlur: composeEventHandlers$1(itemProps.onBlur, () => setIsFocused(false)),
7943
+ onClick: composeEventHandlers$1(itemProps.onClick, () => {
7605
7944
  if (pointerTypeRef.current !== "mouse") handleSelect();
7606
7945
  }),
7607
- onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {
7946
+ onPointerUp: composeEventHandlers$1(itemProps.onPointerUp, () => {
7608
7947
  if (pointerTypeRef.current === "mouse") handleSelect();
7609
7948
  }),
7610
- onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {
7949
+ onPointerDown: composeEventHandlers$1(itemProps.onPointerDown, (event) => {
7611
7950
  pointerTypeRef.current = event.pointerType;
7612
7951
  }),
7613
- onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {
7952
+ onPointerMove: composeEventHandlers$1(itemProps.onPointerMove, (event) => {
7614
7953
  pointerTypeRef.current = event.pointerType;
7615
7954
  if (disabled) {
7616
7955
  contentContext.onItemLeave?.();
@@ -7618,12 +7957,12 @@ var SelectItem = React__namespace.forwardRef(
7618
7957
  event.currentTarget.focus({ preventScroll: true });
7619
7958
  }
7620
7959
  }),
7621
- onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {
7960
+ onPointerLeave: composeEventHandlers$1(itemProps.onPointerLeave, (event) => {
7622
7961
  if (event.currentTarget === document.activeElement) {
7623
7962
  contentContext.onItemLeave?.();
7624
7963
  }
7625
7964
  }),
7626
- onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {
7965
+ onKeyDown: composeEventHandlers$1(itemProps.onKeyDown, (event) => {
7627
7966
  const isTypingAhead = contentContext.searchRef?.current !== "";
7628
7967
  if (isTypingAhead && event.key === " ") return;
7629
7968
  if (SELECTION_KEYS.includes(event.key)) handleSelect();
@@ -7771,18 +8110,18 @@ var SelectScrollButtonImpl = React__namespace.forwardRef((props, forwardedRef) =
7771
8110
  ...scrollIndicatorProps,
7772
8111
  ref: forwardedRef,
7773
8112
  style: { flexShrink: 0, ...scrollIndicatorProps.style },
7774
- onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {
8113
+ onPointerDown: composeEventHandlers$1(scrollIndicatorProps.onPointerDown, () => {
7775
8114
  if (autoScrollTimerRef.current === null) {
7776
8115
  autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
7777
8116
  }
7778
8117
  }),
7779
- onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {
8118
+ onPointerMove: composeEventHandlers$1(scrollIndicatorProps.onPointerMove, () => {
7780
8119
  contentContext.onItemLeave?.();
7781
8120
  if (autoScrollTimerRef.current === null) {
7782
8121
  autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
7783
8122
  }
7784
8123
  }),
7785
- onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {
8124
+ onPointerLeave: composeEventHandlers$1(scrollIndicatorProps.onPointerLeave, () => {
7786
8125
  clearAutoScrollTimer();
7787
8126
  })
7788
8127
  }
@@ -7796,17 +8135,17 @@ var SelectSeparator = React__namespace.forwardRef(
7796
8135
  }
7797
8136
  );
7798
8137
  SelectSeparator.displayName = SEPARATOR_NAME;
7799
- var ARROW_NAME = "SelectArrow";
8138
+ var ARROW_NAME$2 = "SelectArrow";
7800
8139
  var SelectArrow = React__namespace.forwardRef(
7801
8140
  (props, forwardedRef) => {
7802
8141
  const { __scopeSelect, ...arrowProps } = props;
7803
- const popperScope = usePopperScope(__scopeSelect);
7804
- const context = useSelectContext(ARROW_NAME, __scopeSelect);
7805
- const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);
7806
- return context.open && contentContext.position === "popper" ? /* @__PURE__ */ jsxRuntime.jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
8142
+ const popperScope = usePopperScope$1(__scopeSelect);
8143
+ const context = useSelectContext(ARROW_NAME$2, __scopeSelect);
8144
+ const contentContext = useSelectContentContext(ARROW_NAME$2, __scopeSelect);
8145
+ return context.open && contentContext.position === "popper" ? /* @__PURE__ */ jsxRuntime.jsx(Arrow$1, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
7807
8146
  }
7808
8147
  );
7809
- SelectArrow.displayName = ARROW_NAME;
8148
+ SelectArrow.displayName = ARROW_NAME$2;
7810
8149
  var BUBBLE_INPUT_NAME = "SelectBubbleInput";
7811
8150
  var SelectBubbleInput = React__namespace.forwardRef(
7812
8151
  ({ __scopeSelect, value, ...props }, forwardedRef) => {
@@ -7883,12 +8222,12 @@ function findNextItem(items, search, currentItem) {
7883
8222
  function wrapArray$1(array, startIndex) {
7884
8223
  return array.map((_, index) => array[(startIndex + index) % array.length]);
7885
8224
  }
7886
- var Root2$1 = Select$1;
7887
- var Trigger$2 = SelectTrigger;
8225
+ var Root2$3 = Select$1;
8226
+ var Trigger$3 = SelectTrigger;
7888
8227
  var Value = SelectValue;
7889
8228
  var Icon = SelectIcon;
7890
- var Portal$1 = SelectPortal;
7891
- var Content2 = SelectContent;
8229
+ var Portal$2 = SelectPortal;
8230
+ var Content2$1 = SelectContent;
7892
8231
  var Viewport = SelectViewport;
7893
8232
  var Item$1 = SelectItem;
7894
8233
  var ItemText = SelectItemText;
@@ -8049,13 +8388,13 @@ const Select = _a => {
8049
8388
  const iconClasses = selectIcon({
8050
8389
  size
8051
8390
  });
8052
- return jsxRuntime.jsxs(Root2$1, {
8391
+ return jsxRuntime.jsxs(Root2$3, {
8053
8392
  value: value,
8054
8393
  defaultValue: defaultValue,
8055
8394
  onValueChange: onChange,
8056
8395
  disabled: disabled,
8057
8396
  name: name,
8058
- children: [jsxRuntime.jsxs(Trigger$2, {
8397
+ children: [jsxRuntime.jsxs(Trigger$3, {
8059
8398
  className: triggerClasses,
8060
8399
  children: [jsxRuntime.jsx("div", {
8061
8400
  className: 'w-full flex-1 text-left',
@@ -8068,8 +8407,8 @@ const Select = _a => {
8068
8407
  className: iconClasses
8069
8408
  })
8070
8409
  })]
8071
- }), jsxRuntime.jsx(Portal$1, {
8072
- children: jsxRuntime.jsx(Content2, {
8410
+ }), jsxRuntime.jsx(Portal$2, {
8411
+ children: jsxRuntime.jsx(Content2$1, {
8073
8412
  className: contentClasses,
8074
8413
  position: 'popper',
8075
8414
  sideOffset: 5,
@@ -9307,96 +9646,1028 @@ function NotActive(_a) {
9307
9646
  }));
9308
9647
  }
9309
9648
 
9310
- /**
9311
- * Copy a string to the clipboard and invoke a callback with the result.
9312
- *
9313
- * @param copyText The text to copy. Defaults to empty string.
9314
- * @param callback Optional callback that will be called with { status: true } on success,
9315
- * or { status: false, message: error } on failure.
9316
- */
9317
- function copyToClipboard(copyText = '', callback) {
9318
- navigator.clipboard.writeText(copyText).then(() => {
9319
- const result = {
9320
- status: true
9321
- };
9322
- callback === null || callback === void 0 ? void 0 : callback(result);
9323
- }).catch(err => {
9324
- const result = {
9325
- status: false,
9326
- message: err
9327
- };
9328
- callback === null || callback === void 0 ? void 0 : callback(result);
9329
- });
9649
+ // src/primitive.tsx
9650
+ function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
9651
+ return function handleEvent(event) {
9652
+ originalEventHandler?.(event);
9653
+ if (checkForDefaultPrevented === false || !event.defaultPrevented) {
9654
+ return ourEventHandler?.(event);
9655
+ }
9656
+ };
9330
9657
  }
9331
9658
 
9332
- const copyBtn = classVarianceAuthority.cva('p-0 flex-shrink-0 h-[max-content] min-w-0 bg-transparent transition-colors', {
9333
- variants: {
9334
- theme: {
9335
- light: 'hover:text-gray-600 active:text-gray-800',
9336
- dark: 'hover:text-gray-300 active:text-gray-100'
9337
- }
9338
- },
9339
- defaultVariants: {
9340
- theme: 'light'
9341
- }
9659
+ var DISMISSABLE_LAYER_NAME = "DismissableLayer";
9660
+ var CONTEXT_UPDATE = "dismissableLayer.update";
9661
+ var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
9662
+ var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
9663
+ var originalBodyPointerEvents;
9664
+ var DismissableLayerContext = React__namespace.createContext({
9665
+ layers: /* @__PURE__ */ new Set(),
9666
+ layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
9667
+ branches: /* @__PURE__ */ new Set()
9342
9668
  });
9343
- const CopyButton = _a => {
9344
- var {
9345
- text,
9346
- className,
9347
- onCopy
9348
- } = _a,
9349
- props = tslib.__rest(_a, ["text", "className", "onCopy"]);
9350
- const {
9351
- theme
9352
- } = useTheme();
9353
- return jsxRuntime.jsx("button", Object.assign({
9354
- type: 'button',
9355
- className: `${copyBtn({
9356
- theme
9357
- })} ${className !== null && className !== void 0 ? className : ''} hover:cursor-pointer`,
9358
- onClick: e => {
9359
- e.stopPropagation();
9360
- e.preventDefault();
9361
- copyToClipboard(text, onCopy);
9362
- }
9363
- }, props, {
9364
- children: jsxRuntime.jsx(CopyIcon, {
9365
- className: 'w-4 h-4 transition',
9366
- color: theme === 'light' ? '#000000' : '#ffffff'
9367
- })
9368
- }));
9369
- };
9370
-
9371
- /** CVA for the root container, now with light/dark theme */
9372
- const identifier = classVarianceAuthority.cva('flex items-center font-dash-grotesque text-sm font-normal break-all', {
9373
- variants: {
9374
- theme: {
9375
- light: 'text-gray-900',
9376
- dark: 'text-white'
9377
- },
9378
- ellipsis: {
9379
- false: '',
9380
- true: 'overflow-hidden'
9381
- },
9382
- highlight: {
9383
- default: '',
9384
- dim: '',
9385
- highlight: '',
9386
- first: '',
9387
- last: '',
9388
- both: ''
9389
- }
9390
- },
9391
- defaultVariants: {
9392
- theme: 'light',
9393
- ellipsis: false,
9394
- highlight: 'default'
9669
+ var DismissableLayer = React__namespace.forwardRef(
9670
+ (props, forwardedRef) => {
9671
+ const {
9672
+ disableOutsidePointerEvents = false,
9673
+ onEscapeKeyDown,
9674
+ onPointerDownOutside,
9675
+ onFocusOutside,
9676
+ onInteractOutside,
9677
+ onDismiss,
9678
+ ...layerProps
9679
+ } = props;
9680
+ const context = React__namespace.useContext(DismissableLayerContext);
9681
+ const [node, setNode] = React__namespace.useState(null);
9682
+ const ownerDocument = node?.ownerDocument ?? globalThis?.document;
9683
+ const [, force] = React__namespace.useState({});
9684
+ const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));
9685
+ const layers = Array.from(context.layers);
9686
+ const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);
9687
+ const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);
9688
+ const index = node ? layers.indexOf(node) : -1;
9689
+ const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
9690
+ const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
9691
+ const pointerDownOutside = usePointerDownOutside((event) => {
9692
+ const target = event.target;
9693
+ const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));
9694
+ if (!isPointerEventsEnabled || isPointerDownOnBranch) return;
9695
+ onPointerDownOutside?.(event);
9696
+ onInteractOutside?.(event);
9697
+ if (!event.defaultPrevented) onDismiss?.();
9698
+ }, ownerDocument);
9699
+ const focusOutside = useFocusOutside((event) => {
9700
+ const target = event.target;
9701
+ const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));
9702
+ if (isFocusInBranch) return;
9703
+ onFocusOutside?.(event);
9704
+ onInteractOutside?.(event);
9705
+ if (!event.defaultPrevented) onDismiss?.();
9706
+ }, ownerDocument);
9707
+ useEscapeKeydown((event) => {
9708
+ const isHighestLayer = index === context.layers.size - 1;
9709
+ if (!isHighestLayer) return;
9710
+ onEscapeKeyDown?.(event);
9711
+ if (!event.defaultPrevented && onDismiss) {
9712
+ event.preventDefault();
9713
+ onDismiss();
9714
+ }
9715
+ }, ownerDocument);
9716
+ React__namespace.useEffect(() => {
9717
+ if (!node) return;
9718
+ if (disableOutsidePointerEvents) {
9719
+ if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
9720
+ originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;
9721
+ ownerDocument.body.style.pointerEvents = "none";
9722
+ }
9723
+ context.layersWithOutsidePointerEventsDisabled.add(node);
9724
+ }
9725
+ context.layers.add(node);
9726
+ dispatchUpdate();
9727
+ return () => {
9728
+ if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {
9729
+ ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;
9730
+ }
9731
+ };
9732
+ }, [node, ownerDocument, disableOutsidePointerEvents, context]);
9733
+ React__namespace.useEffect(() => {
9734
+ return () => {
9735
+ if (!node) return;
9736
+ context.layers.delete(node);
9737
+ context.layersWithOutsidePointerEventsDisabled.delete(node);
9738
+ dispatchUpdate();
9739
+ };
9740
+ }, [node, context]);
9741
+ React__namespace.useEffect(() => {
9742
+ const handleUpdate = () => force({});
9743
+ document.addEventListener(CONTEXT_UPDATE, handleUpdate);
9744
+ return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
9745
+ }, []);
9746
+ return /* @__PURE__ */ jsxRuntime.jsx(
9747
+ Primitive.div,
9748
+ {
9749
+ ...layerProps,
9750
+ ref: composedRefs,
9751
+ style: {
9752
+ pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0,
9753
+ ...props.style
9754
+ },
9755
+ onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),
9756
+ onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),
9757
+ onPointerDownCapture: composeEventHandlers(
9758
+ props.onPointerDownCapture,
9759
+ pointerDownOutside.onPointerDownCapture
9760
+ )
9761
+ }
9762
+ );
9395
9763
  }
9764
+ );
9765
+ DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;
9766
+ var BRANCH_NAME = "DismissableLayerBranch";
9767
+ var DismissableLayerBranch = React__namespace.forwardRef((props, forwardedRef) => {
9768
+ const context = React__namespace.useContext(DismissableLayerContext);
9769
+ const ref = React__namespace.useRef(null);
9770
+ const composedRefs = useComposedRefs(forwardedRef, ref);
9771
+ React__namespace.useEffect(() => {
9772
+ const node = ref.current;
9773
+ if (node) {
9774
+ context.branches.add(node);
9775
+ return () => {
9776
+ context.branches.delete(node);
9777
+ };
9778
+ }
9779
+ }, [context.branches]);
9780
+ return /* @__PURE__ */ jsxRuntime.jsx(Primitive.div, { ...props, ref: composedRefs });
9396
9781
  });
9397
- /** CVA for each symbol span: inherits root color or dims */
9398
- const symbol = classVarianceAuthority.cva('flex-1', {
9399
- variants: {
9782
+ DismissableLayerBranch.displayName = BRANCH_NAME;
9783
+ function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
9784
+ const handlePointerDownOutside = useCallbackRef$1(onPointerDownOutside);
9785
+ const isPointerInsideReactTreeRef = React__namespace.useRef(false);
9786
+ const handleClickRef = React__namespace.useRef(() => {
9787
+ });
9788
+ React__namespace.useEffect(() => {
9789
+ const handlePointerDown = (event) => {
9790
+ if (event.target && !isPointerInsideReactTreeRef.current) {
9791
+ let handleAndDispatchPointerDownOutsideEvent2 = function() {
9792
+ handleAndDispatchCustomEvent(
9793
+ POINTER_DOWN_OUTSIDE,
9794
+ handlePointerDownOutside,
9795
+ eventDetail,
9796
+ { discrete: true }
9797
+ );
9798
+ };
9799
+ const eventDetail = { originalEvent: event };
9800
+ if (event.pointerType === "touch") {
9801
+ ownerDocument.removeEventListener("click", handleClickRef.current);
9802
+ handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;
9803
+ ownerDocument.addEventListener("click", handleClickRef.current, { once: true });
9804
+ } else {
9805
+ handleAndDispatchPointerDownOutsideEvent2();
9806
+ }
9807
+ } else {
9808
+ ownerDocument.removeEventListener("click", handleClickRef.current);
9809
+ }
9810
+ isPointerInsideReactTreeRef.current = false;
9811
+ };
9812
+ const timerId = window.setTimeout(() => {
9813
+ ownerDocument.addEventListener("pointerdown", handlePointerDown);
9814
+ }, 0);
9815
+ return () => {
9816
+ window.clearTimeout(timerId);
9817
+ ownerDocument.removeEventListener("pointerdown", handlePointerDown);
9818
+ ownerDocument.removeEventListener("click", handleClickRef.current);
9819
+ };
9820
+ }, [ownerDocument, handlePointerDownOutside]);
9821
+ return {
9822
+ // ensures we check React component tree (not just DOM tree)
9823
+ onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true
9824
+ };
9825
+ }
9826
+ function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {
9827
+ const handleFocusOutside = useCallbackRef$1(onFocusOutside);
9828
+ const isFocusInsideReactTreeRef = React__namespace.useRef(false);
9829
+ React__namespace.useEffect(() => {
9830
+ const handleFocus = (event) => {
9831
+ if (event.target && !isFocusInsideReactTreeRef.current) {
9832
+ const eventDetail = { originalEvent: event };
9833
+ handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
9834
+ discrete: false
9835
+ });
9836
+ }
9837
+ };
9838
+ ownerDocument.addEventListener("focusin", handleFocus);
9839
+ return () => ownerDocument.removeEventListener("focusin", handleFocus);
9840
+ }, [ownerDocument, handleFocusOutside]);
9841
+ return {
9842
+ onFocusCapture: () => isFocusInsideReactTreeRef.current = true,
9843
+ onBlurCapture: () => isFocusInsideReactTreeRef.current = false
9844
+ };
9845
+ }
9846
+ function dispatchUpdate() {
9847
+ const event = new CustomEvent(CONTEXT_UPDATE);
9848
+ document.dispatchEvent(event);
9849
+ }
9850
+ function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
9851
+ const target = detail.originalEvent.target;
9852
+ const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });
9853
+ if (handler) target.addEventListener(name, handler, { once: true });
9854
+ if (discrete) {
9855
+ dispatchDiscreteCustomEvent(target, event);
9856
+ } else {
9857
+ target.dispatchEvent(event);
9858
+ }
9859
+ }
9860
+
9861
+ var count = 0;
9862
+ function useFocusGuards() {
9863
+ React__namespace.useEffect(() => {
9864
+ const edgeGuards = document.querySelectorAll("[data-radix-focus-guard]");
9865
+ document.body.insertAdjacentElement("afterbegin", edgeGuards[0] ?? createFocusGuard());
9866
+ document.body.insertAdjacentElement("beforeend", edgeGuards[1] ?? createFocusGuard());
9867
+ count++;
9868
+ return () => {
9869
+ if (count === 1) {
9870
+ document.querySelectorAll("[data-radix-focus-guard]").forEach((node) => node.remove());
9871
+ }
9872
+ count--;
9873
+ };
9874
+ }, []);
9875
+ }
9876
+ function createFocusGuard() {
9877
+ const element = document.createElement("span");
9878
+ element.setAttribute("data-radix-focus-guard", "");
9879
+ element.tabIndex = 0;
9880
+ element.style.outline = "none";
9881
+ element.style.opacity = "0";
9882
+ element.style.position = "fixed";
9883
+ element.style.pointerEvents = "none";
9884
+ return element;
9885
+ }
9886
+
9887
+ var POPPER_NAME = "Popper";
9888
+ var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
9889
+ var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
9890
+ var Popper = (props) => {
9891
+ const { __scopePopper, children } = props;
9892
+ const [anchor, setAnchor] = React__namespace.useState(null);
9893
+ return /* @__PURE__ */ jsxRuntime.jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
9894
+ };
9895
+ Popper.displayName = POPPER_NAME;
9896
+ var ANCHOR_NAME$1 = "PopperAnchor";
9897
+ var PopperAnchor = React__namespace.forwardRef(
9898
+ (props, forwardedRef) => {
9899
+ const { __scopePopper, virtualRef, ...anchorProps } = props;
9900
+ const context = usePopperContext(ANCHOR_NAME$1, __scopePopper);
9901
+ const ref = React__namespace.useRef(null);
9902
+ const composedRefs = useComposedRefs(forwardedRef, ref);
9903
+ const anchorRef = React__namespace.useRef(null);
9904
+ React__namespace.useEffect(() => {
9905
+ const previousAnchor = anchorRef.current;
9906
+ anchorRef.current = virtualRef?.current || ref.current;
9907
+ if (previousAnchor !== anchorRef.current) {
9908
+ context.onAnchorChange(anchorRef.current);
9909
+ }
9910
+ });
9911
+ return virtualRef ? null : /* @__PURE__ */ jsxRuntime.jsx(Primitive.div, { ...anchorProps, ref: composedRefs });
9912
+ }
9913
+ );
9914
+ PopperAnchor.displayName = ANCHOR_NAME$1;
9915
+ var CONTENT_NAME$3 = "PopperContent";
9916
+ var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME$3);
9917
+ var PopperContent = React__namespace.forwardRef(
9918
+ (props, forwardedRef) => {
9919
+ const {
9920
+ __scopePopper,
9921
+ side = "bottom",
9922
+ sideOffset = 0,
9923
+ align = "center",
9924
+ alignOffset = 0,
9925
+ arrowPadding = 0,
9926
+ avoidCollisions = true,
9927
+ collisionBoundary = [],
9928
+ collisionPadding: collisionPaddingProp = 0,
9929
+ sticky = "partial",
9930
+ hideWhenDetached = false,
9931
+ updatePositionStrategy = "optimized",
9932
+ onPlaced,
9933
+ ...contentProps
9934
+ } = props;
9935
+ const context = usePopperContext(CONTENT_NAME$3, __scopePopper);
9936
+ const [content, setContent] = React__namespace.useState(null);
9937
+ const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));
9938
+ const [arrow$1, setArrow] = React__namespace.useState(null);
9939
+ const arrowSize = useSize(arrow$1);
9940
+ const arrowWidth = arrowSize?.width ?? 0;
9941
+ const arrowHeight = arrowSize?.height ?? 0;
9942
+ const desiredPlacement = side + (align !== "center" ? "-" + align : "");
9943
+ const collisionPadding = typeof collisionPaddingProp === "number" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };
9944
+ const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];
9945
+ const hasExplicitBoundaries = boundary.length > 0;
9946
+ const detectOverflowOptions = {
9947
+ padding: collisionPadding,
9948
+ boundary: boundary.filter(isNotNull),
9949
+ // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
9950
+ altBoundary: hasExplicitBoundaries
9951
+ };
9952
+ const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({
9953
+ // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
9954
+ strategy: "fixed",
9955
+ placement: desiredPlacement,
9956
+ whileElementsMounted: (...args) => {
9957
+ const cleanup = autoUpdate(...args, {
9958
+ animationFrame: updatePositionStrategy === "always"
9959
+ });
9960
+ return cleanup;
9961
+ },
9962
+ elements: {
9963
+ reference: context.anchor
9964
+ },
9965
+ middleware: [
9966
+ offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),
9967
+ avoidCollisions && shift({
9968
+ mainAxis: true,
9969
+ crossAxis: false,
9970
+ limiter: sticky === "partial" ? limitShift() : void 0,
9971
+ ...detectOverflowOptions
9972
+ }),
9973
+ avoidCollisions && flip({ ...detectOverflowOptions }),
9974
+ size({
9975
+ ...detectOverflowOptions,
9976
+ apply: ({ elements, rects, availableWidth, availableHeight }) => {
9977
+ const { width: anchorWidth, height: anchorHeight } = rects.reference;
9978
+ const contentStyle = elements.floating.style;
9979
+ contentStyle.setProperty("--radix-popper-available-width", `${availableWidth}px`);
9980
+ contentStyle.setProperty("--radix-popper-available-height", `${availableHeight}px`);
9981
+ contentStyle.setProperty("--radix-popper-anchor-width", `${anchorWidth}px`);
9982
+ contentStyle.setProperty("--radix-popper-anchor-height", `${anchorHeight}px`);
9983
+ }
9984
+ }),
9985
+ arrow$1 && arrow({ element: arrow$1, padding: arrowPadding }),
9986
+ transformOrigin({ arrowWidth, arrowHeight }),
9987
+ hideWhenDetached && hide({ strategy: "referenceHidden", ...detectOverflowOptions })
9988
+ ]
9989
+ });
9990
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
9991
+ const handlePlaced = useCallbackRef$1(onPlaced);
9992
+ useLayoutEffect2(() => {
9993
+ if (isPositioned) {
9994
+ handlePlaced?.();
9995
+ }
9996
+ }, [isPositioned, handlePlaced]);
9997
+ const arrowX = middlewareData.arrow?.x;
9998
+ const arrowY = middlewareData.arrow?.y;
9999
+ const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
10000
+ const [contentZIndex, setContentZIndex] = React__namespace.useState();
10001
+ useLayoutEffect2(() => {
10002
+ if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
10003
+ }, [content]);
10004
+ return /* @__PURE__ */ jsxRuntime.jsx(
10005
+ "div",
10006
+ {
10007
+ ref: refs.setFloating,
10008
+ "data-radix-popper-content-wrapper": "",
10009
+ style: {
10010
+ ...floatingStyles,
10011
+ transform: isPositioned ? floatingStyles.transform : "translate(0, -200%)",
10012
+ // keep off the page when measuring
10013
+ minWidth: "max-content",
10014
+ zIndex: contentZIndex,
10015
+ ["--radix-popper-transform-origin"]: [
10016
+ middlewareData.transformOrigin?.x,
10017
+ middlewareData.transformOrigin?.y
10018
+ ].join(" "),
10019
+ // hide the content if using the hide middleware and should be hidden
10020
+ // set visibility to hidden and disable pointer events so the UI behaves
10021
+ // as if the PopperContent isn't there at all
10022
+ ...middlewareData.hide?.referenceHidden && {
10023
+ visibility: "hidden",
10024
+ pointerEvents: "none"
10025
+ }
10026
+ },
10027
+ dir: props.dir,
10028
+ children: /* @__PURE__ */ jsxRuntime.jsx(
10029
+ PopperContentProvider,
10030
+ {
10031
+ scope: __scopePopper,
10032
+ placedSide,
10033
+ onArrowChange: setArrow,
10034
+ arrowX,
10035
+ arrowY,
10036
+ shouldHideArrow: cannotCenterArrow,
10037
+ children: /* @__PURE__ */ jsxRuntime.jsx(
10038
+ Primitive.div,
10039
+ {
10040
+ "data-side": placedSide,
10041
+ "data-align": placedAlign,
10042
+ ...contentProps,
10043
+ ref: composedRefs,
10044
+ style: {
10045
+ ...contentProps.style,
10046
+ // if the PopperContent hasn't been placed yet (not all measurements done)
10047
+ // we prevent animations so that users's animation don't kick in too early referring wrong sides
10048
+ animation: !isPositioned ? "none" : void 0
10049
+ }
10050
+ }
10051
+ )
10052
+ }
10053
+ )
10054
+ }
10055
+ );
10056
+ }
10057
+ );
10058
+ PopperContent.displayName = CONTENT_NAME$3;
10059
+ var ARROW_NAME$1 = "PopperArrow";
10060
+ var OPPOSITE_SIDE = {
10061
+ top: "bottom",
10062
+ right: "left",
10063
+ bottom: "top",
10064
+ left: "right"
10065
+ };
10066
+ var PopperArrow = React__namespace.forwardRef(function PopperArrow2(props, forwardedRef) {
10067
+ const { __scopePopper, ...arrowProps } = props;
10068
+ const contentContext = useContentContext(ARROW_NAME$1, __scopePopper);
10069
+ const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
10070
+ return (
10071
+ // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
10072
+ // doesn't report size as we'd expect on SVG elements.
10073
+ // it reports their bounding box which is effectively the largest path inside the SVG.
10074
+ /* @__PURE__ */ jsxRuntime.jsx(
10075
+ "span",
10076
+ {
10077
+ ref: contentContext.onArrowChange,
10078
+ style: {
10079
+ position: "absolute",
10080
+ left: contentContext.arrowX,
10081
+ top: contentContext.arrowY,
10082
+ [baseSide]: 0,
10083
+ transformOrigin: {
10084
+ top: "",
10085
+ right: "0 0",
10086
+ bottom: "center 0",
10087
+ left: "100% 0"
10088
+ }[contentContext.placedSide],
10089
+ transform: {
10090
+ top: "translateY(100%)",
10091
+ right: "translateY(50%) rotate(90deg) translateX(-50%)",
10092
+ bottom: `rotate(180deg)`,
10093
+ left: "translateY(50%) rotate(-90deg) translateX(50%)"
10094
+ }[contentContext.placedSide],
10095
+ visibility: contentContext.shouldHideArrow ? "hidden" : void 0
10096
+ },
10097
+ children: /* @__PURE__ */ jsxRuntime.jsx(
10098
+ Root$2,
10099
+ {
10100
+ ...arrowProps,
10101
+ ref: forwardedRef,
10102
+ style: {
10103
+ ...arrowProps.style,
10104
+ // ensures the element can be measured correctly (mostly for if SVG)
10105
+ display: "block"
10106
+ }
10107
+ }
10108
+ )
10109
+ }
10110
+ )
10111
+ );
10112
+ });
10113
+ PopperArrow.displayName = ARROW_NAME$1;
10114
+ function isNotNull(value) {
10115
+ return value !== null;
10116
+ }
10117
+ var transformOrigin = (options) => ({
10118
+ name: "transformOrigin",
10119
+ options,
10120
+ fn(data) {
10121
+ const { placement, rects, middlewareData } = data;
10122
+ const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
10123
+ const isArrowHidden = cannotCenterArrow;
10124
+ const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
10125
+ const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
10126
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
10127
+ const noArrowAlign = { start: "0%", center: "50%", end: "100%" }[placedAlign];
10128
+ const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;
10129
+ const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
10130
+ let x = "";
10131
+ let y = "";
10132
+ if (placedSide === "bottom") {
10133
+ x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
10134
+ y = `${-arrowHeight}px`;
10135
+ } else if (placedSide === "top") {
10136
+ x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
10137
+ y = `${rects.floating.height + arrowHeight}px`;
10138
+ } else if (placedSide === "right") {
10139
+ x = `${-arrowHeight}px`;
10140
+ y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
10141
+ } else if (placedSide === "left") {
10142
+ x = `${rects.floating.width + arrowHeight}px`;
10143
+ y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
10144
+ }
10145
+ return { data: { x, y } };
10146
+ }
10147
+ });
10148
+ function getSideAndAlignFromPlacement(placement) {
10149
+ const [side, align = "center"] = placement.split("-");
10150
+ return [side, align];
10151
+ }
10152
+ var Root2$2 = Popper;
10153
+ var Anchor = PopperAnchor;
10154
+ var Content$2 = PopperContent;
10155
+ var Arrow = PopperArrow;
10156
+
10157
+ function useStateMachine$1(initialState, machine) {
10158
+ return React__namespace.useReducer((state, event) => {
10159
+ const nextState = machine[state][event];
10160
+ return nextState ?? state;
10161
+ }, initialState);
10162
+ }
10163
+
10164
+ // src/presence.tsx
10165
+ var Presence$1 = (props) => {
10166
+ const { present, children } = props;
10167
+ const presence = usePresence$1(present);
10168
+ const child = typeof children === "function" ? children({ present: presence.isPresent }) : React__namespace.Children.only(children);
10169
+ const ref = useComposedRefs(presence.ref, getElementRef$1(child));
10170
+ const forceMount = typeof children === "function";
10171
+ return forceMount || presence.isPresent ? React__namespace.cloneElement(child, { ref }) : null;
10172
+ };
10173
+ Presence$1.displayName = "Presence";
10174
+ function usePresence$1(present) {
10175
+ const [node, setNode] = React__namespace.useState();
10176
+ const stylesRef = React__namespace.useRef(null);
10177
+ const prevPresentRef = React__namespace.useRef(present);
10178
+ const prevAnimationNameRef = React__namespace.useRef("none");
10179
+ const initialState = present ? "mounted" : "unmounted";
10180
+ const [state, send] = useStateMachine$1(initialState, {
10181
+ mounted: {
10182
+ UNMOUNT: "unmounted",
10183
+ ANIMATION_OUT: "unmountSuspended"
10184
+ },
10185
+ unmountSuspended: {
10186
+ MOUNT: "mounted",
10187
+ ANIMATION_END: "unmounted"
10188
+ },
10189
+ unmounted: {
10190
+ MOUNT: "mounted"
10191
+ }
10192
+ });
10193
+ React__namespace.useEffect(() => {
10194
+ const currentAnimationName = getAnimationName$1(stylesRef.current);
10195
+ prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
10196
+ }, [state]);
10197
+ useLayoutEffect2(() => {
10198
+ const styles = stylesRef.current;
10199
+ const wasPresent = prevPresentRef.current;
10200
+ const hasPresentChanged = wasPresent !== present;
10201
+ if (hasPresentChanged) {
10202
+ const prevAnimationName = prevAnimationNameRef.current;
10203
+ const currentAnimationName = getAnimationName$1(styles);
10204
+ if (present) {
10205
+ send("MOUNT");
10206
+ } else if (currentAnimationName === "none" || styles?.display === "none") {
10207
+ send("UNMOUNT");
10208
+ } else {
10209
+ const isAnimating = prevAnimationName !== currentAnimationName;
10210
+ if (wasPresent && isAnimating) {
10211
+ send("ANIMATION_OUT");
10212
+ } else {
10213
+ send("UNMOUNT");
10214
+ }
10215
+ }
10216
+ prevPresentRef.current = present;
10217
+ }
10218
+ }, [present, send]);
10219
+ useLayoutEffect2(() => {
10220
+ if (node) {
10221
+ let timeoutId;
10222
+ const ownerWindow = node.ownerDocument.defaultView ?? window;
10223
+ const handleAnimationEnd = (event) => {
10224
+ const currentAnimationName = getAnimationName$1(stylesRef.current);
10225
+ const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));
10226
+ if (event.target === node && isCurrentAnimation) {
10227
+ send("ANIMATION_END");
10228
+ if (!prevPresentRef.current) {
10229
+ const currentFillMode = node.style.animationFillMode;
10230
+ node.style.animationFillMode = "forwards";
10231
+ timeoutId = ownerWindow.setTimeout(() => {
10232
+ if (node.style.animationFillMode === "forwards") {
10233
+ node.style.animationFillMode = currentFillMode;
10234
+ }
10235
+ });
10236
+ }
10237
+ }
10238
+ };
10239
+ const handleAnimationStart = (event) => {
10240
+ if (event.target === node) {
10241
+ prevAnimationNameRef.current = getAnimationName$1(stylesRef.current);
10242
+ }
10243
+ };
10244
+ node.addEventListener("animationstart", handleAnimationStart);
10245
+ node.addEventListener("animationcancel", handleAnimationEnd);
10246
+ node.addEventListener("animationend", handleAnimationEnd);
10247
+ return () => {
10248
+ ownerWindow.clearTimeout(timeoutId);
10249
+ node.removeEventListener("animationstart", handleAnimationStart);
10250
+ node.removeEventListener("animationcancel", handleAnimationEnd);
10251
+ node.removeEventListener("animationend", handleAnimationEnd);
10252
+ };
10253
+ } else {
10254
+ send("ANIMATION_END");
10255
+ }
10256
+ }, [node, send]);
10257
+ return {
10258
+ isPresent: ["mounted", "unmountSuspended"].includes(state),
10259
+ ref: React__namespace.useCallback((node2) => {
10260
+ stylesRef.current = node2 ? getComputedStyle(node2) : null;
10261
+ setNode(node2);
10262
+ }, [])
10263
+ };
10264
+ }
10265
+ function getAnimationName$1(styles) {
10266
+ return styles?.animationName || "none";
10267
+ }
10268
+ function getElementRef$1(element) {
10269
+ let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
10270
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
10271
+ if (mayWarn) {
10272
+ return element.ref;
10273
+ }
10274
+ getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
10275
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
10276
+ if (mayWarn) {
10277
+ return element.props.ref;
10278
+ }
10279
+ return element.props.ref || element.ref;
10280
+ }
10281
+
10282
+ var POPOVER_NAME = "Popover";
10283
+ var [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [
10284
+ createPopperScope
10285
+ ]);
10286
+ var usePopperScope = createPopperScope();
10287
+ var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);
10288
+ var Popover = (props) => {
10289
+ const {
10290
+ __scopePopover,
10291
+ children,
10292
+ open: openProp,
10293
+ defaultOpen,
10294
+ onOpenChange,
10295
+ modal = false
10296
+ } = props;
10297
+ const popperScope = usePopperScope(__scopePopover);
10298
+ const triggerRef = React__namespace.useRef(null);
10299
+ const [hasCustomAnchor, setHasCustomAnchor] = React__namespace.useState(false);
10300
+ const [open, setOpen] = useControllableState({
10301
+ prop: openProp,
10302
+ defaultProp: defaultOpen ?? false,
10303
+ onChange: onOpenChange,
10304
+ caller: POPOVER_NAME
10305
+ });
10306
+ return /* @__PURE__ */ jsxRuntime.jsx(Root2$2, { ...popperScope, children: /* @__PURE__ */ jsxRuntime.jsx(
10307
+ PopoverProvider,
10308
+ {
10309
+ scope: __scopePopover,
10310
+ contentId: useId(),
10311
+ triggerRef,
10312
+ open,
10313
+ onOpenChange: setOpen,
10314
+ onOpenToggle: React__namespace.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
10315
+ hasCustomAnchor,
10316
+ onCustomAnchorAdd: React__namespace.useCallback(() => setHasCustomAnchor(true), []),
10317
+ onCustomAnchorRemove: React__namespace.useCallback(() => setHasCustomAnchor(false), []),
10318
+ modal,
10319
+ children
10320
+ }
10321
+ ) });
10322
+ };
10323
+ Popover.displayName = POPOVER_NAME;
10324
+ var ANCHOR_NAME = "PopoverAnchor";
10325
+ var PopoverAnchor = React__namespace.forwardRef(
10326
+ (props, forwardedRef) => {
10327
+ const { __scopePopover, ...anchorProps } = props;
10328
+ const context = usePopoverContext(ANCHOR_NAME, __scopePopover);
10329
+ const popperScope = usePopperScope(__scopePopover);
10330
+ const { onCustomAnchorAdd, onCustomAnchorRemove } = context;
10331
+ React__namespace.useEffect(() => {
10332
+ onCustomAnchorAdd();
10333
+ return () => onCustomAnchorRemove();
10334
+ }, [onCustomAnchorAdd, onCustomAnchorRemove]);
10335
+ return /* @__PURE__ */ jsxRuntime.jsx(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
10336
+ }
10337
+ );
10338
+ PopoverAnchor.displayName = ANCHOR_NAME;
10339
+ var TRIGGER_NAME$2 = "PopoverTrigger";
10340
+ var PopoverTrigger = React__namespace.forwardRef(
10341
+ (props, forwardedRef) => {
10342
+ const { __scopePopover, ...triggerProps } = props;
10343
+ const context = usePopoverContext(TRIGGER_NAME$2, __scopePopover);
10344
+ const popperScope = usePopperScope(__scopePopover);
10345
+ const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
10346
+ const trigger = /* @__PURE__ */ jsxRuntime.jsx(
10347
+ Primitive.button,
10348
+ {
10349
+ type: "button",
10350
+ "aria-haspopup": "dialog",
10351
+ "aria-expanded": context.open,
10352
+ "aria-controls": context.contentId,
10353
+ "data-state": getState$1(context.open),
10354
+ ...triggerProps,
10355
+ ref: composedTriggerRef,
10356
+ onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
10357
+ }
10358
+ );
10359
+ return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsxRuntime.jsx(Anchor, { asChild: true, ...popperScope, children: trigger });
10360
+ }
10361
+ );
10362
+ PopoverTrigger.displayName = TRIGGER_NAME$2;
10363
+ var PORTAL_NAME$1 = "PopoverPortal";
10364
+ var [PortalProvider$1, usePortalContext$1] = createPopoverContext(PORTAL_NAME$1, {
10365
+ forceMount: void 0
10366
+ });
10367
+ var PopoverPortal = (props) => {
10368
+ const { __scopePopover, forceMount, children, container } = props;
10369
+ const context = usePopoverContext(PORTAL_NAME$1, __scopePopover);
10370
+ return /* @__PURE__ */ jsxRuntime.jsx(PortalProvider$1, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsxRuntime.jsx(Presence$1, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(Portal$3, { asChild: true, container, children }) }) });
10371
+ };
10372
+ PopoverPortal.displayName = PORTAL_NAME$1;
10373
+ var CONTENT_NAME$2 = "PopoverContent";
10374
+ var PopoverContent = React__namespace.forwardRef(
10375
+ (props, forwardedRef) => {
10376
+ const portalContext = usePortalContext$1(CONTENT_NAME$2, props.__scopePopover);
10377
+ const { forceMount = portalContext.forceMount, ...contentProps } = props;
10378
+ const context = usePopoverContext(CONTENT_NAME$2, props.__scopePopover);
10379
+ return /* @__PURE__ */ jsxRuntime.jsx(Presence$1, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsxRuntime.jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsxRuntime.jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });
10380
+ }
10381
+ );
10382
+ PopoverContent.displayName = CONTENT_NAME$2;
10383
+ var Slot$1 = createSlot("PopoverContent.RemoveScroll");
10384
+ var PopoverContentModal = React__namespace.forwardRef(
10385
+ (props, forwardedRef) => {
10386
+ const context = usePopoverContext(CONTENT_NAME$2, props.__scopePopover);
10387
+ const contentRef = React__namespace.useRef(null);
10388
+ const composedRefs = useComposedRefs(forwardedRef, contentRef);
10389
+ const isRightClickOutsideRef = React__namespace.useRef(false);
10390
+ React__namespace.useEffect(() => {
10391
+ const content = contentRef.current;
10392
+ if (content) return hideOthers(content);
10393
+ }, []);
10394
+ return /* @__PURE__ */ jsxRuntime.jsx(ReactRemoveScroll, { as: Slot$1, allowPinchZoom: true, children: /* @__PURE__ */ jsxRuntime.jsx(
10395
+ PopoverContentImpl,
10396
+ {
10397
+ ...props,
10398
+ ref: composedRefs,
10399
+ trapFocus: context.open,
10400
+ disableOutsidePointerEvents: true,
10401
+ onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
10402
+ event.preventDefault();
10403
+ if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();
10404
+ }),
10405
+ onPointerDownOutside: composeEventHandlers(
10406
+ props.onPointerDownOutside,
10407
+ (event) => {
10408
+ const originalEvent = event.detail.originalEvent;
10409
+ const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
10410
+ const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
10411
+ isRightClickOutsideRef.current = isRightClick;
10412
+ },
10413
+ { checkForDefaultPrevented: false }
10414
+ ),
10415
+ onFocusOutside: composeEventHandlers(
10416
+ props.onFocusOutside,
10417
+ (event) => event.preventDefault(),
10418
+ { checkForDefaultPrevented: false }
10419
+ )
10420
+ }
10421
+ ) });
10422
+ }
10423
+ );
10424
+ var PopoverContentNonModal = React__namespace.forwardRef(
10425
+ (props, forwardedRef) => {
10426
+ const context = usePopoverContext(CONTENT_NAME$2, props.__scopePopover);
10427
+ const hasInteractedOutsideRef = React__namespace.useRef(false);
10428
+ const hasPointerDownOutsideRef = React__namespace.useRef(false);
10429
+ return /* @__PURE__ */ jsxRuntime.jsx(
10430
+ PopoverContentImpl,
10431
+ {
10432
+ ...props,
10433
+ ref: forwardedRef,
10434
+ trapFocus: false,
10435
+ disableOutsidePointerEvents: false,
10436
+ onCloseAutoFocus: (event) => {
10437
+ props.onCloseAutoFocus?.(event);
10438
+ if (!event.defaultPrevented) {
10439
+ if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
10440
+ event.preventDefault();
10441
+ }
10442
+ hasInteractedOutsideRef.current = false;
10443
+ hasPointerDownOutsideRef.current = false;
10444
+ },
10445
+ onInteractOutside: (event) => {
10446
+ props.onInteractOutside?.(event);
10447
+ if (!event.defaultPrevented) {
10448
+ hasInteractedOutsideRef.current = true;
10449
+ if (event.detail.originalEvent.type === "pointerdown") {
10450
+ hasPointerDownOutsideRef.current = true;
10451
+ }
10452
+ }
10453
+ const target = event.target;
10454
+ const targetIsTrigger = context.triggerRef.current?.contains(target);
10455
+ if (targetIsTrigger) event.preventDefault();
10456
+ if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.current) {
10457
+ event.preventDefault();
10458
+ }
10459
+ }
10460
+ }
10461
+ );
10462
+ }
10463
+ );
10464
+ var PopoverContentImpl = React__namespace.forwardRef(
10465
+ (props, forwardedRef) => {
10466
+ const {
10467
+ __scopePopover,
10468
+ trapFocus,
10469
+ onOpenAutoFocus,
10470
+ onCloseAutoFocus,
10471
+ disableOutsidePointerEvents,
10472
+ onEscapeKeyDown,
10473
+ onPointerDownOutside,
10474
+ onFocusOutside,
10475
+ onInteractOutside,
10476
+ ...contentProps
10477
+ } = props;
10478
+ const context = usePopoverContext(CONTENT_NAME$2, __scopePopover);
10479
+ const popperScope = usePopperScope(__scopePopover);
10480
+ useFocusGuards();
10481
+ return /* @__PURE__ */ jsxRuntime.jsx(
10482
+ FocusScope,
10483
+ {
10484
+ asChild: true,
10485
+ loop: true,
10486
+ trapped: trapFocus,
10487
+ onMountAutoFocus: onOpenAutoFocus,
10488
+ onUnmountAutoFocus: onCloseAutoFocus,
10489
+ children: /* @__PURE__ */ jsxRuntime.jsx(
10490
+ DismissableLayer,
10491
+ {
10492
+ asChild: true,
10493
+ disableOutsidePointerEvents,
10494
+ onInteractOutside,
10495
+ onEscapeKeyDown,
10496
+ onPointerDownOutside,
10497
+ onFocusOutside,
10498
+ onDismiss: () => context.onOpenChange(false),
10499
+ children: /* @__PURE__ */ jsxRuntime.jsx(
10500
+ Content$2,
10501
+ {
10502
+ "data-state": getState$1(context.open),
10503
+ role: "dialog",
10504
+ id: context.contentId,
10505
+ ...popperScope,
10506
+ ...contentProps,
10507
+ ref: forwardedRef,
10508
+ style: {
10509
+ ...contentProps.style,
10510
+ // re-namespace exposed content custom properties
10511
+ ...{
10512
+ "--radix-popover-content-transform-origin": "var(--radix-popper-transform-origin)",
10513
+ "--radix-popover-content-available-width": "var(--radix-popper-available-width)",
10514
+ "--radix-popover-content-available-height": "var(--radix-popper-available-height)",
10515
+ "--radix-popover-trigger-width": "var(--radix-popper-anchor-width)",
10516
+ "--radix-popover-trigger-height": "var(--radix-popper-anchor-height)"
10517
+ }
10518
+ }
10519
+ }
10520
+ )
10521
+ }
10522
+ )
10523
+ }
10524
+ );
10525
+ }
10526
+ );
10527
+ var CLOSE_NAME$1 = "PopoverClose";
10528
+ var PopoverClose = React__namespace.forwardRef(
10529
+ (props, forwardedRef) => {
10530
+ const { __scopePopover, ...closeProps } = props;
10531
+ const context = usePopoverContext(CLOSE_NAME$1, __scopePopover);
10532
+ return /* @__PURE__ */ jsxRuntime.jsx(
10533
+ Primitive.button,
10534
+ {
10535
+ type: "button",
10536
+ ...closeProps,
10537
+ ref: forwardedRef,
10538
+ onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))
10539
+ }
10540
+ );
10541
+ }
10542
+ );
10543
+ PopoverClose.displayName = CLOSE_NAME$1;
10544
+ var ARROW_NAME = "PopoverArrow";
10545
+ var PopoverArrow = React__namespace.forwardRef(
10546
+ (props, forwardedRef) => {
10547
+ const { __scopePopover, ...arrowProps } = props;
10548
+ const popperScope = usePopperScope(__scopePopover);
10549
+ return /* @__PURE__ */ jsxRuntime.jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
10550
+ }
10551
+ );
10552
+ PopoverArrow.displayName = ARROW_NAME;
10553
+ function getState$1(open) {
10554
+ return open ? "open" : "closed";
10555
+ }
10556
+ var Root2$1 = Popover;
10557
+ var Trigger$2 = PopoverTrigger;
10558
+ var Portal$1 = PopoverPortal;
10559
+ var Content2 = PopoverContent;
10560
+ var Arrow2 = PopoverArrow;
10561
+
10562
+ /**
10563
+ * Copy a string to the clipboard and invoke a callback with the result.
10564
+ *
10565
+ * @param copyText The text to copy. Defaults to empty string.
10566
+ * @param callback Optional callback that will be called with { status: true } on success,
10567
+ * or { status: false, message: error } on failure.
10568
+ */
10569
+ function copyToClipboard(copyText = '', callback) {
10570
+ navigator.clipboard.writeText(copyText).then(() => {
10571
+ const result = {
10572
+ status: true
10573
+ };
10574
+ callback === null || callback === void 0 ? void 0 : callback(result);
10575
+ }).catch(err => {
10576
+ const result = {
10577
+ status: false,
10578
+ message: err
10579
+ };
10580
+ callback === null || callback === void 0 ? void 0 : callback(result);
10581
+ });
10582
+ }
10583
+
10584
+ const copyBtn = classVarianceAuthority.cva('p-0 flex-shrink-0 h-[max-content] min-w-0 bg-transparent transition-colors', {
10585
+ variants: {
10586
+ theme: {
10587
+ light: 'hover:text-gray-600 active:text-gray-800',
10588
+ dark: 'hover:text-gray-300 active:text-gray-100'
10589
+ }
10590
+ },
10591
+ defaultVariants: {
10592
+ theme: 'light'
10593
+ }
10594
+ });
10595
+ const CopyButton = _a => {
10596
+ var {
10597
+ text,
10598
+ className,
10599
+ onCopy
10600
+ } = _a,
10601
+ props = tslib.__rest(_a, ["text", "className", "onCopy"]);
10602
+ const {
10603
+ theme
10604
+ } = useTheme();
10605
+ const [open, setOpen] = React.useState(false);
10606
+ const handleCopy = e => {
10607
+ e.stopPropagation();
10608
+ e.preventDefault();
10609
+ copyToClipboard(text, onCopy);
10610
+ setOpen(true);
10611
+ setTimeout(() => setOpen(false), 1000);
10612
+ };
10613
+ return jsxRuntime.jsxs(Root2$1, {
10614
+ open: open,
10615
+ children: [jsxRuntime.jsx(Trigger$2, {
10616
+ asChild: true,
10617
+ children: jsxRuntime.jsx("button", Object.assign({
10618
+ type: 'button',
10619
+ className: `${copyBtn({
10620
+ theme
10621
+ })} ${className !== null && className !== void 0 ? className : ''} hover:cursor-pointer`,
10622
+ onClick: handleCopy
10623
+ }, props, {
10624
+ children: jsxRuntime.jsx(CopyIcon, {
10625
+ className: 'w-4 h-4 transition',
10626
+ color: theme === 'light' ? '#000000' : '#ffffff'
10627
+ })
10628
+ }))
10629
+ }), jsxRuntime.jsx(Portal$1, {
10630
+ children: jsxRuntime.jsxs(Content2, {
10631
+ className: 'bg-white text-gray-900 text-sm px-2 py-1 rounded shadow-lg',
10632
+ side: 'top',
10633
+ sideOffset: 5,
10634
+ children: ["Copied", jsxRuntime.jsx(Arrow2, {
10635
+ className: 'fill-white'
10636
+ })]
10637
+ })
10638
+ })]
10639
+ });
10640
+ };
10641
+
10642
+ /** CVA for the root container, now with light/dark theme */
10643
+ const identifier = classVarianceAuthority.cva('flex items-center font-dash-grotesque text-sm font-normal break-all', {
10644
+ variants: {
10645
+ theme: {
10646
+ light: 'text-gray-900',
10647
+ dark: 'text-white'
10648
+ },
10649
+ ellipsis: {
10650
+ false: '',
10651
+ true: 'overflow-hidden'
10652
+ },
10653
+ highlight: {
10654
+ default: '',
10655
+ dim: '',
10656
+ highlight: '',
10657
+ first: '',
10658
+ last: '',
10659
+ both: ''
10660
+ }
10661
+ },
10662
+ defaultVariants: {
10663
+ theme: 'light',
10664
+ ellipsis: false,
10665
+ highlight: 'default'
10666
+ }
10667
+ });
10668
+ /** CVA for each symbol span: inherits root color or dims */
10669
+ const symbol = classVarianceAuthority.cva('flex-1', {
10670
+ variants: {
9400
10671
  dim: {
9401
10672
  false: 'text-inherit',
9402
10673
  true: 'text-gray-500'
@@ -10227,7 +11498,7 @@ var DialogTrigger = React__namespace.forwardRef(
10227
11498
  "data-state": getState(context.open),
10228
11499
  ...triggerProps,
10229
11500
  ref: composedTriggerRef,
10230
- onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
11501
+ onClick: composeEventHandlers$1(props.onClick, context.onOpenToggle)
10231
11502
  }
10232
11503
  );
10233
11504
  }
@@ -10240,7 +11511,7 @@ var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {
10240
11511
  var DialogPortal = (props) => {
10241
11512
  const { __scopeDialog, forceMount, children, container } = props;
10242
11513
  const context = useDialogContext(PORTAL_NAME, __scopeDialog);
10243
- return /* @__PURE__ */ jsxRuntime.jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React__namespace.Children.map(children, (child) => /* @__PURE__ */ jsxRuntime.jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(Portal$2, { asChild: true, container, children: child }) })) });
11514
+ return /* @__PURE__ */ jsxRuntime.jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React__namespace.Children.map(children, (child) => /* @__PURE__ */ jsxRuntime.jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(Portal$3, { asChild: true, container, children: child }) })) });
10244
11515
  };
10245
11516
  DialogPortal.displayName = PORTAL_NAME;
10246
11517
  var OVERLAY_NAME = "DialogOverlay";
@@ -10299,17 +11570,17 @@ var DialogContentModal = React__namespace.forwardRef(
10299
11570
  ref: composedRefs,
10300
11571
  trapFocus: context.open,
10301
11572
  disableOutsidePointerEvents: true,
10302
- onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
11573
+ onCloseAutoFocus: composeEventHandlers$1(props.onCloseAutoFocus, (event) => {
10303
11574
  event.preventDefault();
10304
11575
  context.triggerRef.current?.focus();
10305
11576
  }),
10306
- onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {
11577
+ onPointerDownOutside: composeEventHandlers$1(props.onPointerDownOutside, (event) => {
10307
11578
  const originalEvent = event.detail.originalEvent;
10308
11579
  const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
10309
11580
  const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
10310
11581
  if (isRightClick) event.preventDefault();
10311
11582
  }),
10312
- onFocusOutside: composeEventHandlers(
11583
+ onFocusOutside: composeEventHandlers$1(
10313
11584
  props.onFocusOutside,
10314
11585
  (event) => event.preventDefault()
10315
11586
  )
@@ -10363,7 +11634,7 @@ var DialogContentImpl = React__namespace.forwardRef(
10363
11634
  const context = useDialogContext(CONTENT_NAME$1, __scopeDialog);
10364
11635
  const contentRef = React__namespace.useRef(null);
10365
11636
  const composedRefs = useComposedRefs(forwardedRef, contentRef);
10366
- useFocusGuards();
11637
+ useFocusGuards$1();
10367
11638
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10368
11639
  /* @__PURE__ */ jsxRuntime.jsx(
10369
11640
  FocusScope,
@@ -10374,7 +11645,7 @@ var DialogContentImpl = React__namespace.forwardRef(
10374
11645
  onMountAutoFocus: onOpenAutoFocus,
10375
11646
  onUnmountAutoFocus: onCloseAutoFocus,
10376
11647
  children: /* @__PURE__ */ jsxRuntime.jsx(
10377
- DismissableLayer,
11648
+ DismissableLayer$1,
10378
11649
  {
10379
11650
  role: "dialog",
10380
11651
  id: context.contentId,
@@ -10424,7 +11695,7 @@ var DialogClose = React__namespace.forwardRef(
10424
11695
  type: "button",
10425
11696
  ...closeProps,
10426
11697
  ref: forwardedRef,
10427
- onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))
11698
+ onClick: composeEventHandlers$1(props.onClick, () => context.onOpenChange(false))
10428
11699
  }
10429
11700
  );
10430
11701
  }
@@ -10718,10 +11989,10 @@ var RovingFocusGroupImpl = React__namespace.forwardRef((props, forwardedRef) =>
10718
11989
  ...groupProps,
10719
11990
  ref: composedRefs,
10720
11991
  style: { outline: "none", ...props.style },
10721
- onMouseDown: composeEventHandlers(props.onMouseDown, () => {
11992
+ onMouseDown: composeEventHandlers$1(props.onMouseDown, () => {
10722
11993
  isClickFocusRef.current = true;
10723
11994
  }),
10724
- onFocus: composeEventHandlers(props.onFocus, (event) => {
11995
+ onFocus: composeEventHandlers$1(props.onFocus, (event) => {
10725
11996
  const isKeyboardFocus = !isClickFocusRef.current;
10726
11997
  if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {
10727
11998
  const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);
@@ -10739,7 +12010,7 @@ var RovingFocusGroupImpl = React__namespace.forwardRef((props, forwardedRef) =>
10739
12010
  }
10740
12011
  isClickFocusRef.current = false;
10741
12012
  }),
10742
- onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))
12013
+ onBlur: composeEventHandlers$1(props.onBlur, () => setIsTabbingBackOut(false))
10743
12014
  }
10744
12015
  )
10745
12016
  }
@@ -10782,12 +12053,12 @@ var RovingFocusGroupItem = React__namespace.forwardRef(
10782
12053
  "data-orientation": context.orientation,
10783
12054
  ...itemProps,
10784
12055
  ref: forwardedRef,
10785
- onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {
12056
+ onMouseDown: composeEventHandlers$1(props.onMouseDown, (event) => {
10786
12057
  if (!focusable) event.preventDefault();
10787
12058
  else context.onItemFocus(id);
10788
12059
  }),
10789
- onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),
10790
- onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
12060
+ onFocus: composeEventHandlers$1(props.onFocus, () => context.onItemFocus(id)),
12061
+ onKeyDown: composeEventHandlers$1(props.onKeyDown, (event) => {
10791
12062
  if (event.key === "Tab" && event.shiftKey) {
10792
12063
  context.onItemShiftTab();
10793
12064
  return;
@@ -10956,17 +12227,17 @@ var TabsTrigger = React__namespace.forwardRef(
10956
12227
  id: triggerId,
10957
12228
  ...triggerProps,
10958
12229
  ref: forwardedRef,
10959
- onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {
12230
+ onMouseDown: composeEventHandlers$1(props.onMouseDown, (event) => {
10960
12231
  if (!disabled && event.button === 0 && event.ctrlKey === false) {
10961
12232
  context.onValueChange(value);
10962
12233
  } else {
10963
12234
  event.preventDefault();
10964
12235
  }
10965
12236
  }),
10966
- onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
12237
+ onKeyDown: composeEventHandlers$1(props.onKeyDown, (event) => {
10967
12238
  if ([" ", "Enter"].includes(event.key)) context.onValueChange(value);
10968
12239
  }),
10969
- onFocus: composeEventHandlers(props.onFocus, () => {
12240
+ onFocus: composeEventHandlers$1(props.onFocus, () => {
10970
12241
  const isAutomaticActivation = context.activationMode !== "manual";
10971
12242
  if (!isSelected && !disabled && isAutomaticActivation) {
10972
12243
  context.onValueChange(value);
@@ -11172,6 +12443,7 @@ const Tabs = ({
11172
12443
  exports.Accordion = Accordion;
11173
12444
  exports.ArrowIcon = ArrowIcon;
11174
12445
  exports.Avatar = Avatar;
12446
+ exports.Badge = Badge;
11175
12447
  exports.BigNumber = BigNumber;
11176
12448
  exports.BroadcastedIcon = BroadcastedIcon;
11177
12449
  exports.BurgerMenuIcon = BurgerMenuIcon;
@@ -11194,25 +12466,32 @@ exports.EditIcon = EditIcon;
11194
12466
  exports.ErrorIcon = ErrorIcon;
11195
12467
  exports.EyeClosedIcon = EyeClosedIcon;
11196
12468
  exports.EyeOpenIcon = EyeOpenIcon;
12469
+ exports.FaceIcon = FaceIcon;
11197
12470
  exports.FilterIcon = FilterIcon;
12471
+ exports.FingerprintIcon = FingerprintIcon;
11198
12472
  exports.Heading = Heading;
11199
12473
  exports.Identifier = Identifier;
11200
12474
  exports.Input = Input;
11201
12475
  exports.KebabMenuIcon = KebabMenuIcon;
11202
12476
  exports.KeyIcon = KeyIcon;
11203
12477
  exports.List = List$1;
12478
+ exports.LockIcon = LockIcon;
11204
12479
  exports.NotActive = NotActive;
11205
12480
  exports.OverlayMenu = OverlayMenu;
11206
12481
  exports.OverlaySelect = OverlaySelect;
12482
+ exports.PendingIcon = PendingIcon;
11207
12483
  exports.PlusIcon = PlusIcon;
11208
12484
  exports.PooledIcon = PooledIcon;
11209
12485
  exports.ProgressStepBar = ProgressStepBar;
11210
12486
  exports.ProtectedMessageIcon = ProtectedMessageIcon;
11211
12487
  exports.QuestionMessageIcon = QuestionMessageIcon;
11212
12488
  exports.QueuedIcon = QueuedIcon;
12489
+ exports.SearchIcon = SearchIcon;
11213
12490
  exports.Select = Select;
11214
12491
  exports.SettingsIcon = SettingsIcon;
11215
12492
  exports.ShieldSmallIcon = ShieldSmallIcon;
12493
+ exports.SignIcon = SignIcon;
12494
+ exports.SignLockIcon = SignLockIcon;
11216
12495
  exports.SmartphoneIcon = SmartphoneIcon;
11217
12496
  exports.SuccessIcon = SuccessIcon;
11218
12497
  exports.Switch = Switch;