@remotion/design 4.0.405 → 4.0.406

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.
@@ -571,25 +571,45 @@ var Counter = ({
571
571
  ]
572
572
  });
573
573
  };
574
+ // src/InlineCode.tsx
575
+ import { jsx as jsx8 } from "react/jsx-runtime";
576
+ var InlineCode = ({ children }) => {
577
+ return /* @__PURE__ */ jsx8("code", {
578
+ className: "font-brand text-brand",
579
+ children
580
+ });
581
+ };
574
582
  // src/Input.tsx
575
583
  import React5 from "react";
576
- import { jsx as jsx8 } from "react/jsx-runtime";
584
+ import { jsx as jsx9 } from "react/jsx-runtime";
577
585
  var Input = React5.forwardRef(({ className, ...props }, ref) => {
578
- return /* @__PURE__ */ jsx8("input", {
586
+ return /* @__PURE__ */ jsx9("input", {
579
587
  ref,
580
588
  className: cn("w-full bg-white dark:bg-[#121212] rounded-lg border-2 border-b-4 border-black outline-none h-14 px-3 fontbrand text-lg box-border", className),
581
589
  ...props
582
590
  });
583
591
  });
584
592
  Input.displayName = "Input";
593
+ // src/Link.tsx
594
+ import { jsx as jsx10 } from "react/jsx-runtime";
595
+ var Link = ({
596
+ className,
597
+ ...props
598
+ }) => {
599
+ return /* @__PURE__ */ jsx10("a", {
600
+ ...props,
601
+ className: cn(className, "text-brand underline underline-offset-4"),
602
+ children: props.children
603
+ });
604
+ };
585
605
  // src/PaperPlaneIcon.tsx
586
- import { jsx as jsx9 } from "react/jsx-runtime";
606
+ import { jsx as jsx11 } from "react/jsx-runtime";
587
607
  var PlanePaperIcon = (props) => {
588
- return /* @__PURE__ */ jsx9("svg", {
608
+ return /* @__PURE__ */ jsx11("svg", {
589
609
  xmlns: "http://www.w3.org/2000/svg",
590
610
  ...props,
591
611
  viewBox: "0 0 576 512",
592
- children: /* @__PURE__ */ jsx9("path", {
612
+ children: /* @__PURE__ */ jsx11("path", {
593
613
  fill: "currentcolor",
594
614
  d: "M169.9 280L94.9 448.6 461.2 280 169.9 280zm291.3-48L94.9 63.4 169.9 232 461.2 232zM34.8 465.6L128 256 34.8 46.4C33 42.2 32 37.6 32 33 32 14.8 46.7 0 64.8 0 69.5 0 74.2 1 78.5 3L554.2 222c13.3 6.1 21.8 19.4 21.8 34s-8.5 27.9-21.8 34L78.5 509c-4.3 2-9 3-13.7 3-18.1 0-32.8-14.8-32.8-33 0-4.6 1-9.2 2.8-13.4z"
595
615
  })
@@ -619,7 +639,7 @@ import React9 from "react";
619
639
 
620
640
  // ../../node_modules/.bun/@radix-ui+react-context@1.1.0+09a4a3ac15cb54ba/node_modules/@radix-ui/react-context/dist/index.mjs
621
641
  import * as React6 from "react";
622
- import { jsx as jsx10 } from "react/jsx-runtime";
642
+ import { jsx as jsx12 } from "react/jsx-runtime";
623
643
  function createContextScope(scopeName, createContextScopeDeps = []) {
624
644
  let defaultContexts = [];
625
645
  function createContext3(rootComponentName, defaultContext) {
@@ -630,7 +650,7 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
630
650
  const { scope, children, ...context } = props;
631
651
  const Context = scope?.[scopeName][index] || BaseContext;
632
652
  const value = React6.useMemo(() => context, Object.values(context));
633
- return /* @__PURE__ */ jsx10(Context.Provider, { value, children });
653
+ return /* @__PURE__ */ jsx12(Context.Provider, { value, children });
634
654
  }
635
655
  function useContext2(consumerName, scope) {
636
656
  const Context = scope?.[scopeName][index] || BaseContext;
@@ -696,7 +716,7 @@ function useComposedRefs(...refs) {
696
716
 
697
717
  // ../../node_modules/.bun/@radix-ui+react-slot@1.1.0+09a4a3ac15cb54ba/node_modules/@radix-ui/react-slot/dist/index.mjs
698
718
  import * as React8 from "react";
699
- import { Fragment as Fragment2, jsx as jsx11 } from "react/jsx-runtime";
719
+ import { Fragment as Fragment2, jsx as jsx13 } from "react/jsx-runtime";
700
720
  var Slot = React8.forwardRef((props, forwardedRef) => {
701
721
  const { children, ...slotProps } = props;
702
722
  const childrenArray = React8.Children.toArray(children);
@@ -712,9 +732,9 @@ var Slot = React8.forwardRef((props, forwardedRef) => {
712
732
  return child;
713
733
  }
714
734
  });
715
- return /* @__PURE__ */ jsx11(SlotClone, { ...slotProps, ref: forwardedRef, children: React8.isValidElement(newElement) ? React8.cloneElement(newElement, undefined, newChildren) : null });
735
+ return /* @__PURE__ */ jsx13(SlotClone, { ...slotProps, ref: forwardedRef, children: React8.isValidElement(newElement) ? React8.cloneElement(newElement, undefined, newChildren) : null });
716
736
  }
717
- return /* @__PURE__ */ jsx11(SlotClone, { ...slotProps, ref: forwardedRef, children });
737
+ return /* @__PURE__ */ jsx13(SlotClone, { ...slotProps, ref: forwardedRef, children });
718
738
  });
719
739
  Slot.displayName = "Slot";
720
740
  var SlotClone = React8.forwardRef((props, forwardedRef) => {
@@ -730,7 +750,7 @@ var SlotClone = React8.forwardRef((props, forwardedRef) => {
730
750
  });
731
751
  SlotClone.displayName = "SlotClone";
732
752
  var Slottable = ({ children }) => {
733
- return /* @__PURE__ */ jsx11(Fragment2, { children });
753
+ return /* @__PURE__ */ jsx13(Fragment2, { children });
734
754
  };
735
755
  function isSlottable(child) {
736
756
  return React8.isValidElement(child) && child.type === Slottable;
@@ -773,7 +793,7 @@ function getElementRef(element) {
773
793
  }
774
794
 
775
795
  // ../../node_modules/.bun/@radix-ui+react-collection@1.1.0+f178f9b1194b24ba/node_modules/@radix-ui/react-collection/dist/index.mjs
776
- import { jsx as jsx12 } from "react/jsx-runtime";
796
+ import { jsx as jsx14 } from "react/jsx-runtime";
777
797
  "use client";
778
798
  function createCollection(name) {
779
799
  const PROVIDER_NAME = name + "CollectionProvider";
@@ -783,7 +803,7 @@ function createCollection(name) {
783
803
  const { scope, children } = props;
784
804
  const ref = React9.useRef(null);
785
805
  const itemMap = React9.useRef(/* @__PURE__ */ new Map).current;
786
- return /* @__PURE__ */ jsx12(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
806
+ return /* @__PURE__ */ jsx14(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
787
807
  };
788
808
  CollectionProvider.displayName = PROVIDER_NAME;
789
809
  const COLLECTION_SLOT_NAME = name + "CollectionSlot";
@@ -791,7 +811,7 @@ function createCollection(name) {
791
811
  const { scope, children } = props;
792
812
  const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
793
813
  const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
794
- return /* @__PURE__ */ jsx12(Slot, { ref: composedRefs, children });
814
+ return /* @__PURE__ */ jsx14(Slot, { ref: composedRefs, children });
795
815
  });
796
816
  CollectionSlot.displayName = COLLECTION_SLOT_NAME;
797
817
  const ITEM_SLOT_NAME = name + "CollectionItemSlot";
@@ -805,7 +825,7 @@ function createCollection(name) {
805
825
  context.itemMap.set(ref, { ref, ...itemData });
806
826
  return () => void context.itemMap.delete(ref);
807
827
  });
808
- return /* @__PURE__ */ jsx12(Slot, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
828
+ return /* @__PURE__ */ jsx14(Slot, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
809
829
  });
810
830
  CollectionItemSlot.displayName = ITEM_SLOT_NAME;
811
831
  function useCollection(scope) {
@@ -830,7 +850,7 @@ function createCollection(name) {
830
850
 
831
851
  // ../../node_modules/.bun/@radix-ui+react-direction@1.1.0+09a4a3ac15cb54ba/node_modules/@radix-ui/react-direction/dist/index.mjs
832
852
  import * as React10 from "react";
833
- import { jsx as jsx13 } from "react/jsx-runtime";
853
+ import { jsx as jsx15 } from "react/jsx-runtime";
834
854
  var DirectionContext = React10.createContext(undefined);
835
855
  function useDirection(localDir) {
836
856
  const globalDir = React10.useContext(DirectionContext);
@@ -843,7 +863,7 @@ import * as React14 from "react";
843
863
  // ../../node_modules/.bun/@radix-ui+react-primitive@2.0.0+f178f9b1194b24ba/node_modules/@radix-ui/react-primitive/dist/index.mjs
844
864
  import * as React11 from "react";
845
865
  import * as ReactDOM from "react-dom";
846
- import { jsx as jsx14 } from "react/jsx-runtime";
866
+ import { jsx as jsx16 } from "react/jsx-runtime";
847
867
  var NODES = [
848
868
  "a",
849
869
  "button",
@@ -869,7 +889,7 @@ var Primitive = NODES.reduce((primitive, node) => {
869
889
  if (typeof window !== "undefined") {
870
890
  window[Symbol.for("radix-ui")] = true;
871
891
  }
872
- return /* @__PURE__ */ jsx14(Comp, { ...primitiveProps, ref: forwardedRef });
892
+ return /* @__PURE__ */ jsx16(Comp, { ...primitiveProps, ref: forwardedRef });
873
893
  });
874
894
  Node2.displayName = `Primitive.${node}`;
875
895
  return { ...primitive, [node]: Node2 };
@@ -905,7 +925,7 @@ function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.docum
905
925
  }
906
926
 
907
927
  // ../../node_modules/.bun/@radix-ui+react-dismissable-layer@1.1.0+f178f9b1194b24ba/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
908
- import { jsx as jsx15 } from "react/jsx-runtime";
928
+ import { jsx as jsx17 } from "react/jsx-runtime";
909
929
  "use client";
910
930
  var DISMISSABLE_LAYER_NAME = "DismissableLayer";
911
931
  var CONTEXT_UPDATE = "dismissableLayer.update";
@@ -1000,7 +1020,7 @@ var DismissableLayer = React14.forwardRef((props, forwardedRef) => {
1000
1020
  document.addEventListener(CONTEXT_UPDATE, handleUpdate);
1001
1021
  return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
1002
1022
  }, []);
1003
- return /* @__PURE__ */ jsx15(Primitive.div, {
1023
+ return /* @__PURE__ */ jsx17(Primitive.div, {
1004
1024
  ...layerProps,
1005
1025
  ref: composedRefs,
1006
1026
  style: {
@@ -1027,7 +1047,7 @@ var DismissableLayerBranch = React14.forwardRef((props, forwardedRef) => {
1027
1047
  };
1028
1048
  }
1029
1049
  }, [context.branches]);
1030
- return /* @__PURE__ */ jsx15(Primitive.div, { ...props, ref: composedRefs });
1050
+ return /* @__PURE__ */ jsx17(Primitive.div, { ...props, ref: composedRefs });
1031
1051
  });
1032
1052
  DismissableLayerBranch.displayName = BRANCH_NAME;
1033
1053
  function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
@@ -1131,7 +1151,7 @@ function createFocusGuard() {
1131
1151
 
1132
1152
  // ../../node_modules/.bun/@radix-ui+react-focus-scope@1.1.0+f178f9b1194b24ba/node_modules/@radix-ui/react-focus-scope/dist/index.mjs
1133
1153
  import * as React16 from "react";
1134
- import { jsx as jsx16 } from "react/jsx-runtime";
1154
+ import { jsx as jsx18 } from "react/jsx-runtime";
1135
1155
  "use client";
1136
1156
  var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
1137
1157
  var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
@@ -1259,7 +1279,7 @@ var FocusScope = React16.forwardRef((props, forwardedRef) => {
1259
1279
  }
1260
1280
  }
1261
1281
  }, [loop, trapped, focusScope.paused]);
1262
- return /* @__PURE__ */ jsx16(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });
1282
+ return /* @__PURE__ */ jsx18(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });
1263
1283
  });
1264
1284
  FocusScope.displayName = FOCUS_SCOPE_NAME;
1265
1285
  function focusFirst(candidates, { select = false } = {}) {
@@ -3173,18 +3193,18 @@ var arrow3 = (options, deps) => ({
3173
3193
 
3174
3194
  // ../../node_modules/.bun/@radix-ui+react-arrow@1.1.0+f178f9b1194b24ba/node_modules/@radix-ui/react-arrow/dist/index.mjs
3175
3195
  import * as React20 from "react";
3176
- import { jsx as jsx17 } from "react/jsx-runtime";
3196
+ import { jsx as jsx19 } from "react/jsx-runtime";
3177
3197
  var NAME = "Arrow";
3178
3198
  var Arrow = React20.forwardRef((props, forwardedRef) => {
3179
3199
  const { children, width = 10, height = 5, ...arrowProps } = props;
3180
- return /* @__PURE__ */ jsx17(Primitive.svg, {
3200
+ return /* @__PURE__ */ jsx19(Primitive.svg, {
3181
3201
  ...arrowProps,
3182
3202
  ref: forwardedRef,
3183
3203
  width,
3184
3204
  height,
3185
3205
  viewBox: "0 0 30 10",
3186
3206
  preserveAspectRatio: "none",
3187
- children: props.asChild ? children : /* @__PURE__ */ jsx17("polygon", { points: "0,0 30,0 15,10" })
3207
+ children: props.asChild ? children : /* @__PURE__ */ jsx19("polygon", { points: "0,0 30,0 15,10" })
3188
3208
  });
3189
3209
  });
3190
3210
  Arrow.displayName = NAME;
@@ -3228,7 +3248,7 @@ function useSize(element) {
3228
3248
  }
3229
3249
 
3230
3250
  // ../../node_modules/.bun/@radix-ui+react-popper@1.2.0+f178f9b1194b24ba/node_modules/@radix-ui/react-popper/dist/index.mjs
3231
- import { jsx as jsx18 } from "react/jsx-runtime";
3251
+ import { jsx as jsx20 } from "react/jsx-runtime";
3232
3252
  "use client";
3233
3253
  var POPPER_NAME = "Popper";
3234
3254
  var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
@@ -3236,7 +3256,7 @@ var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
3236
3256
  var Popper = (props) => {
3237
3257
  const { __scopePopper, children } = props;
3238
3258
  const [anchor, setAnchor] = React22.useState(null);
3239
- return /* @__PURE__ */ jsx18(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
3259
+ return /* @__PURE__ */ jsx20(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
3240
3260
  };
3241
3261
  Popper.displayName = POPPER_NAME;
3242
3262
  var ANCHOR_NAME = "PopperAnchor";
@@ -3248,7 +3268,7 @@ var PopperAnchor = React22.forwardRef((props, forwardedRef) => {
3248
3268
  React22.useEffect(() => {
3249
3269
  context.onAnchorChange(virtualRef?.current || ref.current);
3250
3270
  });
3251
- return virtualRef ? null : /* @__PURE__ */ jsx18(Primitive.div, { ...anchorProps, ref: composedRefs });
3271
+ return virtualRef ? null : /* @__PURE__ */ jsx20(Primitive.div, { ...anchorProps, ref: composedRefs });
3252
3272
  });
3253
3273
  PopperAnchor.displayName = ANCHOR_NAME;
3254
3274
  var CONTENT_NAME = "PopperContent";
@@ -3338,7 +3358,7 @@ var PopperContent = React22.forwardRef((props, forwardedRef) => {
3338
3358
  if (content)
3339
3359
  setContentZIndex(window.getComputedStyle(content).zIndex);
3340
3360
  }, [content]);
3341
- return /* @__PURE__ */ jsx18("div", {
3361
+ return /* @__PURE__ */ jsx20("div", {
3342
3362
  ref: refs.setFloating,
3343
3363
  "data-radix-popper-content-wrapper": "",
3344
3364
  style: {
@@ -3356,14 +3376,14 @@ var PopperContent = React22.forwardRef((props, forwardedRef) => {
3356
3376
  }
3357
3377
  },
3358
3378
  dir: props.dir,
3359
- children: /* @__PURE__ */ jsx18(PopperContentProvider, {
3379
+ children: /* @__PURE__ */ jsx20(PopperContentProvider, {
3360
3380
  scope: __scopePopper,
3361
3381
  placedSide,
3362
3382
  onArrowChange: setArrow,
3363
3383
  arrowX,
3364
3384
  arrowY,
3365
3385
  shouldHideArrow: cannotCenterArrow,
3366
- children: /* @__PURE__ */ jsx18(Primitive.div, {
3386
+ children: /* @__PURE__ */ jsx20(Primitive.div, {
3367
3387
  "data-side": placedSide,
3368
3388
  "data-align": placedAlign,
3369
3389
  ...contentProps,
@@ -3388,7 +3408,7 @@ var PopperArrow = React22.forwardRef(function PopperArrow2(props, forwardedRef)
3388
3408
  const { __scopePopper, ...arrowProps } = props;
3389
3409
  const contentContext = useContentContext(ARROW_NAME, __scopePopper);
3390
3410
  const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
3391
- return /* @__PURE__ */ jsx18("span", {
3411
+ return /* @__PURE__ */ jsx20("span", {
3392
3412
  ref: contentContext.onArrowChange,
3393
3413
  style: {
3394
3414
  position: "absolute",
@@ -3409,7 +3429,7 @@ var PopperArrow = React22.forwardRef(function PopperArrow2(props, forwardedRef)
3409
3429
  }[contentContext.placedSide],
3410
3430
  visibility: contentContext.shouldHideArrow ? "hidden" : undefined
3411
3431
  },
3412
- children: /* @__PURE__ */ jsx18(Root, {
3432
+ children: /* @__PURE__ */ jsx20(Root, {
3413
3433
  ...arrowProps,
3414
3434
  ref: forwardedRef,
3415
3435
  style: {
@@ -3466,7 +3486,7 @@ var Arrow2 = PopperArrow;
3466
3486
  // ../../node_modules/.bun/@radix-ui+react-portal@1.1.1+f178f9b1194b24ba/node_modules/@radix-ui/react-portal/dist/index.mjs
3467
3487
  import * as React23 from "react";
3468
3488
  import ReactDOM3 from "react-dom";
3469
- import { jsx as jsx19 } from "react/jsx-runtime";
3489
+ import { jsx as jsx21 } from "react/jsx-runtime";
3470
3490
  "use client";
3471
3491
  var PORTAL_NAME = "Portal";
3472
3492
  var Portal = React23.forwardRef((props, forwardedRef) => {
@@ -3474,7 +3494,7 @@ var Portal = React23.forwardRef((props, forwardedRef) => {
3474
3494
  const [mounted, setMounted] = React23.useState(false);
3475
3495
  useLayoutEffect2(() => setMounted(true), []);
3476
3496
  const container2 = containerProp || mounted && globalThis?.document?.body;
3477
- return container2 ? ReactDOM3.createPortal(/* @__PURE__ */ jsx19(Primitive.div, { ...portalProps, ref: forwardedRef }), container2) : null;
3497
+ return container2 ? ReactDOM3.createPortal(/* @__PURE__ */ jsx21(Primitive.div, { ...portalProps, ref: forwardedRef }), container2) : null;
3478
3498
  });
3479
3499
  Portal.displayName = PORTAL_NAME;
3480
3500
 
@@ -3533,10 +3553,10 @@ function usePrevious(value) {
3533
3553
 
3534
3554
  // ../../node_modules/.bun/@radix-ui+react-visually-hidden@1.1.0+f178f9b1194b24ba/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
3535
3555
  import * as React26 from "react";
3536
- import { jsx as jsx20 } from "react/jsx-runtime";
3556
+ import { jsx as jsx22 } from "react/jsx-runtime";
3537
3557
  var NAME2 = "VisuallyHidden";
3538
3558
  var VisuallyHidden = React26.forwardRef((props, forwardedRef) => {
3539
- return /* @__PURE__ */ jsx20(Primitive.span, {
3559
+ return /* @__PURE__ */ jsx22(Primitive.span, {
3540
3560
  ...props,
3541
3561
  ref: forwardedRef,
3542
3562
  style: {
@@ -4409,7 +4429,7 @@ ReactRemoveScroll.classNames = RemoveScroll.classNames;
4409
4429
  var Combination_default = ReactRemoveScroll;
4410
4430
 
4411
4431
  // ../../node_modules/.bun/@radix-ui+react-select@2.1.1+f178f9b1194b24ba/node_modules/@radix-ui/react-select/dist/index.mjs
4412
- import { Fragment as Fragment5, jsx as jsx21, jsxs as jsxs4 } from "react/jsx-runtime";
4432
+ import { Fragment as Fragment5, jsx as jsx23, jsxs as jsxs4 } from "react/jsx-runtime";
4413
4433
  "use client";
4414
4434
  var OPEN_KEYS = [" ", "Enter", "ArrowUp", "ArrowDown"];
4415
4435
  var SELECTION_KEYS = [" ", "Enter"];
@@ -4457,7 +4477,7 @@ var Select = (props) => {
4457
4477
  const isFormControl = trigger ? Boolean(trigger.closest("form")) : true;
4458
4478
  const [nativeOptionsSet, setNativeOptionsSet] = React34.useState(/* @__PURE__ */ new Set);
4459
4479
  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
4460
- return /* @__PURE__ */ jsx21(Root2, { ...popperScope, children: /* @__PURE__ */ jsxs4(SelectProvider, {
4480
+ return /* @__PURE__ */ jsx23(Root2, { ...popperScope, children: /* @__PURE__ */ jsxs4(SelectProvider, {
4461
4481
  required,
4462
4482
  scope: __scopeSelect,
4463
4483
  trigger,
@@ -4475,7 +4495,7 @@ var Select = (props) => {
4475
4495
  triggerPointerDownPosRef,
4476
4496
  disabled,
4477
4497
  children: [
4478
- /* @__PURE__ */ jsx21(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx21(SelectNativeOptionsProvider, {
4498
+ /* @__PURE__ */ jsx23(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx23(SelectNativeOptionsProvider, {
4479
4499
  scope: props.__scopeSelect,
4480
4500
  onNativeOptionAdd: React34.useCallback((option) => {
4481
4501
  setNativeOptionsSet((prev) => new Set(prev).add(option));
@@ -4499,7 +4519,7 @@ var Select = (props) => {
4499
4519
  onChange: (event) => setValue(event.target.value),
4500
4520
  disabled,
4501
4521
  children: [
4502
- value === undefined ? /* @__PURE__ */ jsx21("option", { value: "" }) : null,
4522
+ value === undefined ? /* @__PURE__ */ jsx23("option", { value: "" }) : null,
4503
4523
  Array.from(nativeOptionsSet)
4504
4524
  ]
4505
4525
  }, nativeSelectKey) : null
@@ -4529,7 +4549,7 @@ var SelectTrigger = React34.forwardRef((props, forwardedRef) => {
4529
4549
  resetTypeahead();
4530
4550
  }
4531
4551
  };
4532
- return /* @__PURE__ */ jsx21(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx21(Primitive.button, {
4552
+ return /* @__PURE__ */ jsx23(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx23(Primitive.button, {
4533
4553
  type: "button",
4534
4554
  role: "combobox",
4535
4555
  "aria-controls": context.contentId,
@@ -4585,23 +4605,23 @@ var SelectValue = React34.forwardRef((props, forwardedRef) => {
4585
4605
  useLayoutEffect2(() => {
4586
4606
  onValueNodeHasChildrenChange(hasChildren);
4587
4607
  }, [onValueNodeHasChildrenChange, hasChildren]);
4588
- return /* @__PURE__ */ jsx21(Primitive.span, {
4608
+ return /* @__PURE__ */ jsx23(Primitive.span, {
4589
4609
  ...valueProps,
4590
4610
  ref: composedRefs,
4591
4611
  style: { pointerEvents: "none" },
4592
- children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx21(Fragment5, { children: placeholder }) : children
4612
+ children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx23(Fragment5, { children: placeholder }) : children
4593
4613
  });
4594
4614
  });
4595
4615
  SelectValue.displayName = VALUE_NAME;
4596
4616
  var ICON_NAME = "SelectIcon";
4597
4617
  var SelectIcon = React34.forwardRef((props, forwardedRef) => {
4598
4618
  const { __scopeSelect, children, ...iconProps } = props;
4599
- return /* @__PURE__ */ jsx21(Primitive.span, { "aria-hidden": true, ...iconProps, ref: forwardedRef, children: children || "▼" });
4619
+ return /* @__PURE__ */ jsx23(Primitive.span, { "aria-hidden": true, ...iconProps, ref: forwardedRef, children: children || "▼" });
4600
4620
  });
4601
4621
  SelectIcon.displayName = ICON_NAME;
4602
4622
  var PORTAL_NAME2 = "SelectPortal";
4603
4623
  var SelectPortal = (props) => {
4604
- return /* @__PURE__ */ jsx21(Portal, { asChild: true, ...props });
4624
+ return /* @__PURE__ */ jsx23(Portal, { asChild: true, ...props });
4605
4625
  };
4606
4626
  SelectPortal.displayName = PORTAL_NAME2;
4607
4627
  var CONTENT_NAME2 = "SelectContent";
@@ -4613,9 +4633,9 @@ var SelectContent = React34.forwardRef((props, forwardedRef) => {
4613
4633
  }, []);
4614
4634
  if (!context.open) {
4615
4635
  const frag = fragment;
4616
- return frag ? ReactDOM4.createPortal(/* @__PURE__ */ jsx21(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx21(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx21("div", { children: props.children }) }) }), frag) : null;
4636
+ return frag ? ReactDOM4.createPortal(/* @__PURE__ */ jsx23(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx23(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx23("div", { children: props.children }) }) }), frag) : null;
4617
4637
  }
4618
- return /* @__PURE__ */ jsx21(SelectContentImpl, { ...props, ref: forwardedRef });
4638
+ return /* @__PURE__ */ jsx23(SelectContentImpl, { ...props, ref: forwardedRef });
4619
4639
  });
4620
4640
  SelectContent.displayName = CONTENT_NAME2;
4621
4641
  var CONTENT_MARGIN = 10;
@@ -4755,7 +4775,7 @@ var SelectContentImpl = React34.forwardRef((props, forwardedRef) => {
4755
4775
  hideWhenDetached,
4756
4776
  avoidCollisions
4757
4777
  } : {};
4758
- return /* @__PURE__ */ jsx21(SelectContentProvider, {
4778
+ return /* @__PURE__ */ jsx23(SelectContentProvider, {
4759
4779
  scope: __scopeSelect,
4760
4780
  content,
4761
4781
  viewport,
@@ -4769,7 +4789,7 @@ var SelectContentImpl = React34.forwardRef((props, forwardedRef) => {
4769
4789
  position,
4770
4790
  isPositioned,
4771
4791
  searchRef,
4772
- children: /* @__PURE__ */ jsx21(Combination_default, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx21(FocusScope, {
4792
+ children: /* @__PURE__ */ jsx23(Combination_default, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx23(FocusScope, {
4773
4793
  asChild: true,
4774
4794
  trapped: context.open,
4775
4795
  onMountAutoFocus: (event) => {
@@ -4779,14 +4799,14 @@ var SelectContentImpl = React34.forwardRef((props, forwardedRef) => {
4779
4799
  context.trigger?.focus({ preventScroll: true });
4780
4800
  event.preventDefault();
4781
4801
  }),
4782
- children: /* @__PURE__ */ jsx21(DismissableLayer, {
4802
+ children: /* @__PURE__ */ jsx23(DismissableLayer, {
4783
4803
  asChild: true,
4784
4804
  disableOutsidePointerEvents: true,
4785
4805
  onEscapeKeyDown,
4786
4806
  onPointerDownOutside,
4787
4807
  onFocusOutside: (event) => event.preventDefault(),
4788
4808
  onDismiss: () => context.onOpenChange(false),
4789
- children: /* @__PURE__ */ jsx21(SelectPosition, {
4809
+ children: /* @__PURE__ */ jsx23(SelectPosition, {
4790
4810
  role: "listbox",
4791
4811
  id: context.contentId,
4792
4812
  "data-state": context.open ? "open" : "closed",
@@ -4934,12 +4954,12 @@ var SelectItemAlignedPosition = React34.forwardRef((props, forwardedRef) => {
4934
4954
  shouldRepositionRef.current = false;
4935
4955
  }
4936
4956
  }, [position, focusSelectedItem]);
4937
- return /* @__PURE__ */ jsx21(SelectViewportProvider, {
4957
+ return /* @__PURE__ */ jsx23(SelectViewportProvider, {
4938
4958
  scope: __scopeSelect,
4939
4959
  contentWrapper,
4940
4960
  shouldExpandOnScrollRef,
4941
4961
  onScrollButtonChange: handleScrollButtonChange,
4942
- children: /* @__PURE__ */ jsx21("div", {
4962
+ children: /* @__PURE__ */ jsx23("div", {
4943
4963
  ref: setContentWrapper,
4944
4964
  style: {
4945
4965
  display: "flex",
@@ -4947,7 +4967,7 @@ var SelectItemAlignedPosition = React34.forwardRef((props, forwardedRef) => {
4947
4967
  position: "fixed",
4948
4968
  zIndex: contentZIndex
4949
4969
  },
4950
- children: /* @__PURE__ */ jsx21(Primitive.div, {
4970
+ children: /* @__PURE__ */ jsx23(Primitive.div, {
4951
4971
  ...popperProps,
4952
4972
  ref: composedRefs,
4953
4973
  style: {
@@ -4969,7 +4989,7 @@ var SelectPopperPosition = React34.forwardRef((props, forwardedRef) => {
4969
4989
  ...popperProps
4970
4990
  } = props;
4971
4991
  const popperScope = usePopperScope(__scopeSelect);
4972
- return /* @__PURE__ */ jsx21(Content, {
4992
+ return /* @__PURE__ */ jsx23(Content, {
4973
4993
  ...popperScope,
4974
4994
  ...popperProps,
4975
4995
  ref: forwardedRef,
@@ -4998,13 +5018,13 @@ var SelectViewport = React34.forwardRef((props, forwardedRef) => {
4998
5018
  const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);
4999
5019
  const prevScrollTopRef = React34.useRef(0);
5000
5020
  return /* @__PURE__ */ jsxs4(Fragment5, { children: [
5001
- /* @__PURE__ */ jsx21("style", {
5021
+ /* @__PURE__ */ jsx23("style", {
5002
5022
  dangerouslySetInnerHTML: {
5003
5023
  __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`
5004
5024
  },
5005
5025
  nonce
5006
5026
  }),
5007
- /* @__PURE__ */ jsx21(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx21(Primitive.div, {
5027
+ /* @__PURE__ */ jsx23(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx23(Primitive.div, {
5008
5028
  "data-radix-select-viewport": "",
5009
5029
  role: "presentation",
5010
5030
  ...viewportProps,
@@ -5048,14 +5068,14 @@ var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GR
5048
5068
  var SelectGroup = React34.forwardRef((props, forwardedRef) => {
5049
5069
  const { __scopeSelect, ...groupProps } = props;
5050
5070
  const groupId = useId();
5051
- return /* @__PURE__ */ jsx21(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx21(Primitive.div, { role: "group", "aria-labelledby": groupId, ...groupProps, ref: forwardedRef }) });
5071
+ return /* @__PURE__ */ jsx23(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx23(Primitive.div, { role: "group", "aria-labelledby": groupId, ...groupProps, ref: forwardedRef }) });
5052
5072
  });
5053
5073
  SelectGroup.displayName = GROUP_NAME;
5054
5074
  var LABEL_NAME = "SelectLabel";
5055
5075
  var SelectLabel = React34.forwardRef((props, forwardedRef) => {
5056
5076
  const { __scopeSelect, ...labelProps } = props;
5057
5077
  const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
5058
- return /* @__PURE__ */ jsx21(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });
5078
+ return /* @__PURE__ */ jsx23(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });
5059
5079
  });
5060
5080
  SelectLabel.displayName = LABEL_NAME;
5061
5081
  var ITEM_NAME = "SelectItem";
@@ -5084,7 +5104,7 @@ var SelectItem = React34.forwardRef((props, forwardedRef) => {
5084
5104
  if (value === "") {
5085
5105
  throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");
5086
5106
  }
5087
- return /* @__PURE__ */ jsx21(SelectItemContextProvider, {
5107
+ return /* @__PURE__ */ jsx23(SelectItemContextProvider, {
5088
5108
  scope: __scopeSelect,
5089
5109
  value,
5090
5110
  disabled,
@@ -5093,12 +5113,12 @@ var SelectItem = React34.forwardRef((props, forwardedRef) => {
5093
5113
  onItemTextChange: React34.useCallback((node) => {
5094
5114
  setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? "").trim());
5095
5115
  }, []),
5096
- children: /* @__PURE__ */ jsx21(Collection.ItemSlot, {
5116
+ children: /* @__PURE__ */ jsx23(Collection.ItemSlot, {
5097
5117
  scope: __scopeSelect,
5098
5118
  value,
5099
5119
  disabled,
5100
5120
  textValue,
5101
- children: /* @__PURE__ */ jsx21(Primitive.div, {
5121
+ children: /* @__PURE__ */ jsx23(Primitive.div, {
5102
5122
  role: "option",
5103
5123
  "aria-labelledby": textId,
5104
5124
  "data-highlighted": isFocused ? "" : undefined,
@@ -5148,14 +5168,14 @@ var SelectItemText = React34.forwardRef((props, forwardedRef) => {
5148
5168
  const [itemTextNode, setItemTextNode] = React34.useState(null);
5149
5169
  const composedRefs = useComposedRefs(forwardedRef, (node) => setItemTextNode(node), itemContext.onItemTextChange, (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled));
5150
5170
  const textContent = itemTextNode?.textContent;
5151
- const nativeOption = React34.useMemo(() => /* @__PURE__ */ jsx21("option", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value), [itemContext.disabled, itemContext.value, textContent]);
5171
+ const nativeOption = React34.useMemo(() => /* @__PURE__ */ jsx23("option", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value), [itemContext.disabled, itemContext.value, textContent]);
5152
5172
  const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;
5153
5173
  useLayoutEffect2(() => {
5154
5174
  onNativeOptionAdd(nativeOption);
5155
5175
  return () => onNativeOptionRemove(nativeOption);
5156
5176
  }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);
5157
5177
  return /* @__PURE__ */ jsxs4(Fragment5, { children: [
5158
- /* @__PURE__ */ jsx21(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),
5178
+ /* @__PURE__ */ jsx23(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),
5159
5179
  itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM4.createPortal(itemTextProps.children, context.valueNode) : null
5160
5180
  ] });
5161
5181
  });
@@ -5164,7 +5184,7 @@ var ITEM_INDICATOR_NAME = "SelectItemIndicator";
5164
5184
  var SelectItemIndicator = React34.forwardRef((props, forwardedRef) => {
5165
5185
  const { __scopeSelect, ...itemIndicatorProps } = props;
5166
5186
  const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
5167
- return itemContext.isSelected ? /* @__PURE__ */ jsx21(Primitive.span, { "aria-hidden": true, ...itemIndicatorProps, ref: forwardedRef }) : null;
5187
+ return itemContext.isSelected ? /* @__PURE__ */ jsx23(Primitive.span, { "aria-hidden": true, ...itemIndicatorProps, ref: forwardedRef }) : null;
5168
5188
  });
5169
5189
  SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
5170
5190
  var SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton";
@@ -5186,7 +5206,7 @@ var SelectScrollUpButton = React34.forwardRef((props, forwardedRef) => {
5186
5206
  return () => viewport.removeEventListener("scroll", handleScroll22);
5187
5207
  }
5188
5208
  }, [contentContext.viewport, contentContext.isPositioned]);
5189
- return canScrollUp ? /* @__PURE__ */ jsx21(SelectScrollButtonImpl, {
5209
+ return canScrollUp ? /* @__PURE__ */ jsx23(SelectScrollButtonImpl, {
5190
5210
  ...props,
5191
5211
  ref: composedRefs,
5192
5212
  onAutoScroll: () => {
@@ -5218,7 +5238,7 @@ var SelectScrollDownButton = React34.forwardRef((props, forwardedRef) => {
5218
5238
  return () => viewport.removeEventListener("scroll", handleScroll22);
5219
5239
  }
5220
5240
  }, [contentContext.viewport, contentContext.isPositioned]);
5221
- return canScrollDown ? /* @__PURE__ */ jsx21(SelectScrollButtonImpl, {
5241
+ return canScrollDown ? /* @__PURE__ */ jsx23(SelectScrollButtonImpl, {
5222
5242
  ...props,
5223
5243
  ref: composedRefs,
5224
5244
  onAutoScroll: () => {
@@ -5248,7 +5268,7 @@ var SelectScrollButtonImpl = React34.forwardRef((props, forwardedRef) => {
5248
5268
  const activeItem = getItems().find((item) => item.ref.current === document.activeElement);
5249
5269
  activeItem?.ref.current?.scrollIntoView({ block: "nearest" });
5250
5270
  }, [getItems]);
5251
- return /* @__PURE__ */ jsx21(Primitive.div, {
5271
+ return /* @__PURE__ */ jsx23(Primitive.div, {
5252
5272
  "aria-hidden": true,
5253
5273
  ...scrollIndicatorProps,
5254
5274
  ref: forwardedRef,
@@ -5272,7 +5292,7 @@ var SelectScrollButtonImpl = React34.forwardRef((props, forwardedRef) => {
5272
5292
  var SEPARATOR_NAME = "SelectSeparator";
5273
5293
  var SelectSeparator = React34.forwardRef((props, forwardedRef) => {
5274
5294
  const { __scopeSelect, ...separatorProps } = props;
5275
- return /* @__PURE__ */ jsx21(Primitive.div, { "aria-hidden": true, ...separatorProps, ref: forwardedRef });
5295
+ return /* @__PURE__ */ jsx23(Primitive.div, { "aria-hidden": true, ...separatorProps, ref: forwardedRef });
5276
5296
  });
5277
5297
  SelectSeparator.displayName = SEPARATOR_NAME;
5278
5298
  var ARROW_NAME2 = "SelectArrow";
@@ -5281,7 +5301,7 @@ var SelectArrow = React34.forwardRef((props, forwardedRef) => {
5281
5301
  const popperScope = usePopperScope(__scopeSelect);
5282
5302
  const context = useSelectContext(ARROW_NAME2, __scopeSelect);
5283
5303
  const contentContext = useSelectContentContext(ARROW_NAME2, __scopeSelect);
5284
- return context.open && contentContext.position === "popper" ? /* @__PURE__ */ jsx21(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
5304
+ return context.open && contentContext.position === "popper" ? /* @__PURE__ */ jsx23(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
5285
5305
  });
5286
5306
  SelectArrow.displayName = ARROW_NAME2;
5287
5307
  function shouldShowPlaceholder(value) {
@@ -5303,7 +5323,7 @@ var BubbleSelect = React34.forwardRef((props, forwardedRef) => {
5303
5323
  select.dispatchEvent(event);
5304
5324
  }
5305
5325
  }, [prevValue, value]);
5306
- return /* @__PURE__ */ jsx21(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx21("select", { ...selectProps, ref: composedRefs, defaultValue: value }) });
5326
+ return /* @__PURE__ */ jsx23(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx23("select", { ...selectProps, ref: composedRefs, defaultValue: value }) });
5307
5327
  });
5308
5328
  BubbleSelect.displayName = "BubbleSelect";
5309
5329
  function useTypeaheadSearch(onSearchChange) {
@@ -5434,7 +5454,7 @@ var ChevronDown = createLucideIcon("ChevronDown", [
5434
5454
  var ChevronUp = createLucideIcon("ChevronUp", [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]]);
5435
5455
  // src/Select.tsx
5436
5456
  import * as React35 from "react";
5437
- import { jsx as jsx22, jsxs as jsxs5 } from "react/jsx-runtime";
5457
+ import { jsx as jsx24, jsxs as jsxs5 } from "react/jsx-runtime";
5438
5458
  var Select2 = Root22;
5439
5459
  var SelectGroup2 = Group;
5440
5460
  var SelectValue2 = Value;
@@ -5444,51 +5464,51 @@ var SelectTrigger2 = React35.forwardRef(({ className, children, ...props }, ref)
5444
5464
  ...props,
5445
5465
  children: [
5446
5466
  children,
5447
- /* @__PURE__ */ jsx22(Icon, {
5467
+ /* @__PURE__ */ jsx24(Icon, {
5448
5468
  asChild: true,
5449
- children: /* @__PURE__ */ jsx22(ChevronDown, {
5469
+ children: /* @__PURE__ */ jsx24(ChevronDown, {
5450
5470
  className: "h-4 w-4 opacity-50"
5451
5471
  })
5452
5472
  })
5453
5473
  ]
5454
5474
  }));
5455
5475
  SelectTrigger2.displayName = Trigger.displayName;
5456
- var SelectScrollUpButton2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(ScrollUpButton, {
5476
+ var SelectScrollUpButton2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(ScrollUpButton, {
5457
5477
  ref,
5458
5478
  className: cn("flex cursor-default items-center justify-center py-1", className),
5459
5479
  ...props,
5460
- children: /* @__PURE__ */ jsx22(ChevronUp, {
5480
+ children: /* @__PURE__ */ jsx24(ChevronUp, {
5461
5481
  className: "h-4 w-4"
5462
5482
  })
5463
5483
  }));
5464
5484
  SelectScrollUpButton2.displayName = ScrollUpButton.displayName;
5465
- var SelectScrollDownButton2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(ScrollDownButton, {
5485
+ var SelectScrollDownButton2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(ScrollDownButton, {
5466
5486
  ref,
5467
5487
  className: cn("flex cursor-default items-center justify-center py-1", className),
5468
5488
  ...props,
5469
- children: /* @__PURE__ */ jsx22(ChevronDown, {
5489
+ children: /* @__PURE__ */ jsx24(ChevronDown, {
5470
5490
  className: "h-4 w-4"
5471
5491
  })
5472
5492
  }));
5473
5493
  SelectScrollDownButton2.displayName = ScrollDownButton.displayName;
5474
- var SelectContent2 = React35.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx22(Portal2, {
5494
+ var SelectContent2 = React35.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx24(Portal2, {
5475
5495
  children: /* @__PURE__ */ jsxs5(Content2, {
5476
5496
  ref,
5477
5497
  className: cn(" border-2 border-black relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md font-brand bg-card-bg text-text shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
5478
5498
  position,
5479
5499
  ...props,
5480
5500
  children: [
5481
- /* @__PURE__ */ jsx22(SelectScrollUpButton2, {}),
5482
- /* @__PURE__ */ jsx22(Viewport, {
5501
+ /* @__PURE__ */ jsx24(SelectScrollUpButton2, {}),
5502
+ /* @__PURE__ */ jsx24(Viewport, {
5483
5503
  className: cn("p-1", position === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"),
5484
5504
  children
5485
5505
  }),
5486
- /* @__PURE__ */ jsx22(SelectScrollDownButton2, {})
5506
+ /* @__PURE__ */ jsx24(SelectScrollDownButton2, {})
5487
5507
  ]
5488
5508
  })
5489
5509
  }));
5490
5510
  SelectContent2.displayName = Content2.displayName;
5491
- var SelectLabel2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(Label, {
5511
+ var SelectLabel2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(Label, {
5492
5512
  ref,
5493
5513
  className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
5494
5514
  ...props
@@ -5499,44 +5519,1241 @@ var SelectItem2 = React35.forwardRef(({ className, children, ...props }, ref) =>
5499
5519
  className: cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-slate-200 dark:focus:bg-white/10 data-disabled:pointer-events-none data-disabled:opacity-50 font-brand", className),
5500
5520
  ...props,
5501
5521
  children: [
5502
- /* @__PURE__ */ jsx22("span", {
5522
+ /* @__PURE__ */ jsx24("span", {
5503
5523
  className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
5504
- children: /* @__PURE__ */ jsx22(ItemIndicator, {
5505
- children: /* @__PURE__ */ jsx22(Check, {
5524
+ children: /* @__PURE__ */ jsx24(ItemIndicator, {
5525
+ children: /* @__PURE__ */ jsx24(Check, {
5506
5526
  className: "h-4 w-4"
5507
5527
  })
5508
5528
  })
5509
5529
  }),
5510
- /* @__PURE__ */ jsx22(ItemText, {
5530
+ /* @__PURE__ */ jsx24(ItemText, {
5511
5531
  children
5512
5532
  })
5513
5533
  ]
5514
5534
  }));
5515
5535
  SelectItem2.displayName = Item.displayName;
5516
- var SelectSeparator2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(Separator, {
5536
+ var SelectSeparator2 = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(Separator, {
5517
5537
  ref,
5518
5538
  className: cn("-mx-1 my-1 h-px bg-muted", className),
5519
5539
  ...props
5520
5540
  }));
5521
5541
  SelectSeparator2.displayName = Separator.displayName;
5522
5542
  // src/Switch.tsx
5523
- import { jsx as jsx23 } from "react/jsx-runtime";
5543
+ import { jsx as jsx25 } from "react/jsx-runtime";
5524
5544
  var Switch = ({ active, onToggle }) => {
5525
- return /* @__PURE__ */ jsx23("div", {
5545
+ return /* @__PURE__ */ jsx25("div", {
5526
5546
  "data-active": active,
5527
5547
  className: "h-8 transition-all rounded-full w-14 border-2 border-b-4 bg-gray-200 p-[2px] cursor-pointer data-[active=true]:bg-brand border-black relative",
5528
5548
  onClick: onToggle,
5529
- children: /* @__PURE__ */ jsx23("div", {
5549
+ children: /* @__PURE__ */ jsx25("div", {
5530
5550
  "data-active": active,
5531
5551
  className: "h-4 w-4 box-content left-[4px] top-[3px] transition-all rounded-full bg-white border-2 border-black absolute data-[active=true]:left-[calc(100%-24px)]"
5532
5552
  })
5533
5553
  });
5534
5554
  };
5555
+ // ../../node_modules/.bun/@radix-ui+react-tabs@1.1.13+f178f9b1194b24ba/node_modules/@radix-ui/react-tabs/dist/index.mjs
5556
+ import * as React48 from "react";
5557
+
5558
+ // ../../node_modules/.bun/@radix-ui+primitive@1.1.3/node_modules/@radix-ui/primitive/dist/index.mjs
5559
+ var canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
5560
+ function composeEventHandlers2(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
5561
+ return function handleEvent(event) {
5562
+ originalEventHandler?.(event);
5563
+ if (checkForDefaultPrevented === false || !event.defaultPrevented) {
5564
+ return ourEventHandler?.(event);
5565
+ }
5566
+ };
5567
+ }
5568
+
5569
+ // ../../node_modules/.bun/@radix-ui+react-context@1.1.2+09a4a3ac15cb54ba/node_modules/@radix-ui/react-context/dist/index.mjs
5570
+ import * as React36 from "react";
5571
+ import { jsx as jsx26 } from "react/jsx-runtime";
5572
+ function createContextScope2(scopeName, createContextScopeDeps = []) {
5573
+ let defaultContexts = [];
5574
+ function createContext32(rootComponentName, defaultContext) {
5575
+ const BaseContext = React36.createContext(defaultContext);
5576
+ const index2 = defaultContexts.length;
5577
+ defaultContexts = [...defaultContexts, defaultContext];
5578
+ const Provider = (props) => {
5579
+ const { scope, children, ...context } = props;
5580
+ const Context = scope?.[scopeName]?.[index2] || BaseContext;
5581
+ const value = React36.useMemo(() => context, Object.values(context));
5582
+ return /* @__PURE__ */ jsx26(Context.Provider, { value, children });
5583
+ };
5584
+ Provider.displayName = rootComponentName + "Provider";
5585
+ function useContext22(consumerName, scope) {
5586
+ const Context = scope?.[scopeName]?.[index2] || BaseContext;
5587
+ const context = React36.useContext(Context);
5588
+ if (context)
5589
+ return context;
5590
+ if (defaultContext !== undefined)
5591
+ return defaultContext;
5592
+ throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
5593
+ }
5594
+ return [Provider, useContext22];
5595
+ }
5596
+ const createScope = () => {
5597
+ const scopeContexts = defaultContexts.map((defaultContext) => {
5598
+ return React36.createContext(defaultContext);
5599
+ });
5600
+ return function useScope(scope) {
5601
+ const contexts = scope?.[scopeName] || scopeContexts;
5602
+ return React36.useMemo(() => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }), [scope, contexts]);
5603
+ };
5604
+ };
5605
+ createScope.scopeName = scopeName;
5606
+ return [createContext32, composeContextScopes2(createScope, ...createContextScopeDeps)];
5607
+ }
5608
+ function composeContextScopes2(...scopes) {
5609
+ const baseScope = scopes[0];
5610
+ if (scopes.length === 1)
5611
+ return baseScope;
5612
+ const createScope = () => {
5613
+ const scopeHooks = scopes.map((createScope2) => ({
5614
+ useScope: createScope2(),
5615
+ scopeName: createScope2.scopeName
5616
+ }));
5617
+ return function useComposedScopes(overrideScopes) {
5618
+ const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
5619
+ const scopeProps = useScope(overrideScopes);
5620
+ const currentScope = scopeProps[`__scope${scopeName}`];
5621
+ return { ...nextScopes2, ...currentScope };
5622
+ }, {});
5623
+ return React36.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
5624
+ };
5625
+ };
5626
+ createScope.scopeName = baseScope.scopeName;
5627
+ return createScope;
5628
+ }
5629
+
5630
+ // ../../node_modules/.bun/@radix-ui+react-roving-focus@1.1.11+f178f9b1194b24ba/node_modules/@radix-ui/react-roving-focus/dist/index.mjs
5631
+ import * as React46 from "react";
5632
+
5633
+ // ../../node_modules/.bun/@radix-ui+react-collection@1.1.7+f178f9b1194b24ba/node_modules/@radix-ui/react-collection/dist/index.mjs
5634
+ import React39 from "react";
5635
+
5636
+ // ../../node_modules/.bun/@radix-ui+react-compose-refs@1.1.2+09a4a3ac15cb54ba/node_modules/@radix-ui/react-compose-refs/dist/index.mjs
5637
+ import * as React37 from "react";
5638
+ function setRef2(ref, value) {
5639
+ if (typeof ref === "function") {
5640
+ return ref(value);
5641
+ } else if (ref !== null && ref !== undefined) {
5642
+ ref.current = value;
5643
+ }
5644
+ }
5645
+ function composeRefs2(...refs) {
5646
+ return (node) => {
5647
+ let hasCleanup = false;
5648
+ const cleanups = refs.map((ref) => {
5649
+ const cleanup = setRef2(ref, node);
5650
+ if (!hasCleanup && typeof cleanup == "function") {
5651
+ hasCleanup = true;
5652
+ }
5653
+ return cleanup;
5654
+ });
5655
+ if (hasCleanup) {
5656
+ return () => {
5657
+ for (let i = 0;i < cleanups.length; i++) {
5658
+ const cleanup = cleanups[i];
5659
+ if (typeof cleanup == "function") {
5660
+ cleanup();
5661
+ } else {
5662
+ setRef2(refs[i], null);
5663
+ }
5664
+ }
5665
+ };
5666
+ }
5667
+ };
5668
+ }
5669
+ function useComposedRefs2(...refs) {
5670
+ return React37.useCallback(composeRefs2(...refs), refs);
5671
+ }
5672
+
5673
+ // ../../node_modules/.bun/@radix-ui+react-slot@1.2.3+09a4a3ac15cb54ba/node_modules/@radix-ui/react-slot/dist/index.mjs
5674
+ import * as React38 from "react";
5675
+ import { Fragment as Fragment22, jsx as jsx27 } from "react/jsx-runtime";
5676
+ function createSlot(ownerName) {
5677
+ const SlotClone2 = /* @__PURE__ */ createSlotClone(ownerName);
5678
+ const Slot2 = React38.forwardRef((props, forwardedRef) => {
5679
+ const { children, ...slotProps } = props;
5680
+ const childrenArray = React38.Children.toArray(children);
5681
+ const slottable = childrenArray.find(isSlottable2);
5682
+ if (slottable) {
5683
+ const newElement = slottable.props.children;
5684
+ const newChildren = childrenArray.map((child) => {
5685
+ if (child === slottable) {
5686
+ if (React38.Children.count(newElement) > 1)
5687
+ return React38.Children.only(null);
5688
+ return React38.isValidElement(newElement) ? newElement.props.children : null;
5689
+ } else {
5690
+ return child;
5691
+ }
5692
+ });
5693
+ return /* @__PURE__ */ jsx27(SlotClone2, { ...slotProps, ref: forwardedRef, children: React38.isValidElement(newElement) ? React38.cloneElement(newElement, undefined, newChildren) : null });
5694
+ }
5695
+ return /* @__PURE__ */ jsx27(SlotClone2, { ...slotProps, ref: forwardedRef, children });
5696
+ });
5697
+ Slot2.displayName = `${ownerName}.Slot`;
5698
+ return Slot2;
5699
+ }
5700
+ function createSlotClone(ownerName) {
5701
+ const SlotClone2 = React38.forwardRef((props, forwardedRef) => {
5702
+ const { children, ...slotProps } = props;
5703
+ if (React38.isValidElement(children)) {
5704
+ const childrenRef = getElementRef2(children);
5705
+ const props2 = mergeProps2(slotProps, children.props);
5706
+ if (children.type !== React38.Fragment) {
5707
+ props2.ref = forwardedRef ? composeRefs2(forwardedRef, childrenRef) : childrenRef;
5708
+ }
5709
+ return React38.cloneElement(children, props2);
5710
+ }
5711
+ return React38.Children.count(children) > 1 ? React38.Children.only(null) : null;
5712
+ });
5713
+ SlotClone2.displayName = `${ownerName}.SlotClone`;
5714
+ return SlotClone2;
5715
+ }
5716
+ var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
5717
+ function isSlottable2(child) {
5718
+ return React38.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
5719
+ }
5720
+ function mergeProps2(slotProps, childProps) {
5721
+ const overrideProps = { ...childProps };
5722
+ for (const propName in childProps) {
5723
+ const slotPropValue = slotProps[propName];
5724
+ const childPropValue = childProps[propName];
5725
+ const isHandler = /^on[A-Z]/.test(propName);
5726
+ if (isHandler) {
5727
+ if (slotPropValue && childPropValue) {
5728
+ overrideProps[propName] = (...args) => {
5729
+ const result = childPropValue(...args);
5730
+ slotPropValue(...args);
5731
+ return result;
5732
+ };
5733
+ } else if (slotPropValue) {
5734
+ overrideProps[propName] = slotPropValue;
5735
+ }
5736
+ } else if (propName === "style") {
5737
+ overrideProps[propName] = { ...slotPropValue, ...childPropValue };
5738
+ } else if (propName === "className") {
5739
+ overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
5740
+ }
5741
+ }
5742
+ return { ...slotProps, ...overrideProps };
5743
+ }
5744
+ function getElementRef2(element) {
5745
+ let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
5746
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
5747
+ if (mayWarn) {
5748
+ return element.ref;
5749
+ }
5750
+ getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
5751
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
5752
+ if (mayWarn) {
5753
+ return element.props.ref;
5754
+ }
5755
+ return element.props.ref || element.ref;
5756
+ }
5757
+
5758
+ // ../../node_modules/.bun/@radix-ui+react-collection@1.1.7+f178f9b1194b24ba/node_modules/@radix-ui/react-collection/dist/index.mjs
5759
+ import { jsx as jsx28 } from "react/jsx-runtime";
5760
+ import React210 from "react";
5761
+ import { jsx as jsx29 } from "react/jsx-runtime";
5762
+ "use client";
5763
+ function createCollection2(name) {
5764
+ const PROVIDER_NAME = name + "CollectionProvider";
5765
+ const [createCollectionContext, createCollectionScope2] = createContextScope2(PROVIDER_NAME);
5766
+ const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(PROVIDER_NAME, { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map });
5767
+ const CollectionProvider = (props) => {
5768
+ const { scope, children } = props;
5769
+ const ref = React39.useRef(null);
5770
+ const itemMap = React39.useRef(/* @__PURE__ */ new Map).current;
5771
+ return /* @__PURE__ */ jsx28(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
5772
+ };
5773
+ CollectionProvider.displayName = PROVIDER_NAME;
5774
+ const COLLECTION_SLOT_NAME = name + "CollectionSlot";
5775
+ const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);
5776
+ const CollectionSlot = React39.forwardRef((props, forwardedRef) => {
5777
+ const { scope, children } = props;
5778
+ const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
5779
+ const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);
5780
+ return /* @__PURE__ */ jsx28(CollectionSlotImpl, { ref: composedRefs, children });
5781
+ });
5782
+ CollectionSlot.displayName = COLLECTION_SLOT_NAME;
5783
+ const ITEM_SLOT_NAME = name + "CollectionItemSlot";
5784
+ const ITEM_DATA_ATTR = "data-radix-collection-item";
5785
+ const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);
5786
+ const CollectionItemSlot = React39.forwardRef((props, forwardedRef) => {
5787
+ const { scope, children, ...itemData } = props;
5788
+ const ref = React39.useRef(null);
5789
+ const composedRefs = useComposedRefs2(forwardedRef, ref);
5790
+ const context = useCollectionContext(ITEM_SLOT_NAME, scope);
5791
+ React39.useEffect(() => {
5792
+ context.itemMap.set(ref, { ref, ...itemData });
5793
+ return () => void context.itemMap.delete(ref);
5794
+ });
5795
+ return /* @__PURE__ */ jsx28(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
5796
+ });
5797
+ CollectionItemSlot.displayName = ITEM_SLOT_NAME;
5798
+ function useCollection2(scope) {
5799
+ const context = useCollectionContext(name + "CollectionConsumer", scope);
5800
+ const getItems = React39.useCallback(() => {
5801
+ const collectionNode = context.collectionRef.current;
5802
+ if (!collectionNode)
5803
+ return [];
5804
+ const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));
5805
+ const items = Array.from(context.itemMap.values());
5806
+ const orderedItems = items.sort((a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current));
5807
+ return orderedItems;
5808
+ }, [context.collectionRef, context.itemMap]);
5809
+ return getItems;
5810
+ }
5811
+ return [
5812
+ { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },
5813
+ useCollection2,
5814
+ createCollectionScope2
5815
+ ];
5816
+ }
5817
+ var __instanciated = /* @__PURE__ */ new WeakMap;
5818
+ var OrderedDict = class _OrderedDict extends Map {
5819
+ #keys;
5820
+ constructor(entries) {
5821
+ super(entries);
5822
+ this.#keys = [...super.keys()];
5823
+ __instanciated.set(this, true);
5824
+ }
5825
+ set(key, value) {
5826
+ if (__instanciated.get(this)) {
5827
+ if (this.has(key)) {
5828
+ this.#keys[this.#keys.indexOf(key)] = key;
5829
+ } else {
5830
+ this.#keys.push(key);
5831
+ }
5832
+ }
5833
+ super.set(key, value);
5834
+ return this;
5835
+ }
5836
+ insert(index2, key, value) {
5837
+ const has = this.has(key);
5838
+ const length = this.#keys.length;
5839
+ const relativeIndex = toSafeInteger(index2);
5840
+ let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;
5841
+ const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;
5842
+ if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {
5843
+ this.set(key, value);
5844
+ return this;
5845
+ }
5846
+ const size4 = this.size + (has ? 0 : 1);
5847
+ if (relativeIndex < 0) {
5848
+ actualIndex++;
5849
+ }
5850
+ const keys = [...this.#keys];
5851
+ let nextValue;
5852
+ let shouldSkip = false;
5853
+ for (let i = actualIndex;i < size4; i++) {
5854
+ if (actualIndex === i) {
5855
+ let nextKey = keys[i];
5856
+ if (keys[i] === key) {
5857
+ nextKey = keys[i + 1];
5858
+ }
5859
+ if (has) {
5860
+ this.delete(key);
5861
+ }
5862
+ nextValue = this.get(nextKey);
5863
+ this.set(key, value);
5864
+ } else {
5865
+ if (!shouldSkip && keys[i - 1] === key) {
5866
+ shouldSkip = true;
5867
+ }
5868
+ const currentKey = keys[shouldSkip ? i : i - 1];
5869
+ const currentValue = nextValue;
5870
+ nextValue = this.get(currentKey);
5871
+ this.delete(currentKey);
5872
+ this.set(currentKey, currentValue);
5873
+ }
5874
+ }
5875
+ return this;
5876
+ }
5877
+ with(index2, key, value) {
5878
+ const copy = new _OrderedDict(this);
5879
+ copy.insert(index2, key, value);
5880
+ return copy;
5881
+ }
5882
+ before(key) {
5883
+ const index2 = this.#keys.indexOf(key) - 1;
5884
+ if (index2 < 0) {
5885
+ return;
5886
+ }
5887
+ return this.entryAt(index2);
5888
+ }
5889
+ setBefore(key, newKey, value) {
5890
+ const index2 = this.#keys.indexOf(key);
5891
+ if (index2 === -1) {
5892
+ return this;
5893
+ }
5894
+ return this.insert(index2, newKey, value);
5895
+ }
5896
+ after(key) {
5897
+ let index2 = this.#keys.indexOf(key);
5898
+ index2 = index2 === -1 || index2 === this.size - 1 ? -1 : index2 + 1;
5899
+ if (index2 === -1) {
5900
+ return;
5901
+ }
5902
+ return this.entryAt(index2);
5903
+ }
5904
+ setAfter(key, newKey, value) {
5905
+ const index2 = this.#keys.indexOf(key);
5906
+ if (index2 === -1) {
5907
+ return this;
5908
+ }
5909
+ return this.insert(index2 + 1, newKey, value);
5910
+ }
5911
+ first() {
5912
+ return this.entryAt(0);
5913
+ }
5914
+ last() {
5915
+ return this.entryAt(-1);
5916
+ }
5917
+ clear() {
5918
+ this.#keys = [];
5919
+ return super.clear();
5920
+ }
5921
+ delete(key) {
5922
+ const deleted = super.delete(key);
5923
+ if (deleted) {
5924
+ this.#keys.splice(this.#keys.indexOf(key), 1);
5925
+ }
5926
+ return deleted;
5927
+ }
5928
+ deleteAt(index2) {
5929
+ const key = this.keyAt(index2);
5930
+ if (key !== undefined) {
5931
+ return this.delete(key);
5932
+ }
5933
+ return false;
5934
+ }
5935
+ at(index2) {
5936
+ const key = at(this.#keys, index2);
5937
+ if (key !== undefined) {
5938
+ return this.get(key);
5939
+ }
5940
+ }
5941
+ entryAt(index2) {
5942
+ const key = at(this.#keys, index2);
5943
+ if (key !== undefined) {
5944
+ return [key, this.get(key)];
5945
+ }
5946
+ }
5947
+ indexOf(key) {
5948
+ return this.#keys.indexOf(key);
5949
+ }
5950
+ keyAt(index2) {
5951
+ return at(this.#keys, index2);
5952
+ }
5953
+ from(key, offset4) {
5954
+ const index2 = this.indexOf(key);
5955
+ if (index2 === -1) {
5956
+ return;
5957
+ }
5958
+ let dest = index2 + offset4;
5959
+ if (dest < 0)
5960
+ dest = 0;
5961
+ if (dest >= this.size)
5962
+ dest = this.size - 1;
5963
+ return this.at(dest);
5964
+ }
5965
+ keyFrom(key, offset4) {
5966
+ const index2 = this.indexOf(key);
5967
+ if (index2 === -1) {
5968
+ return;
5969
+ }
5970
+ let dest = index2 + offset4;
5971
+ if (dest < 0)
5972
+ dest = 0;
5973
+ if (dest >= this.size)
5974
+ dest = this.size - 1;
5975
+ return this.keyAt(dest);
5976
+ }
5977
+ find(predicate, thisArg) {
5978
+ let index2 = 0;
5979
+ for (const entry of this) {
5980
+ if (Reflect.apply(predicate, thisArg, [entry, index2, this])) {
5981
+ return entry;
5982
+ }
5983
+ index2++;
5984
+ }
5985
+ return;
5986
+ }
5987
+ findIndex(predicate, thisArg) {
5988
+ let index2 = 0;
5989
+ for (const entry of this) {
5990
+ if (Reflect.apply(predicate, thisArg, [entry, index2, this])) {
5991
+ return index2;
5992
+ }
5993
+ index2++;
5994
+ }
5995
+ return -1;
5996
+ }
5997
+ filter(predicate, thisArg) {
5998
+ const entries = [];
5999
+ let index2 = 0;
6000
+ for (const entry of this) {
6001
+ if (Reflect.apply(predicate, thisArg, [entry, index2, this])) {
6002
+ entries.push(entry);
6003
+ }
6004
+ index2++;
6005
+ }
6006
+ return new _OrderedDict(entries);
6007
+ }
6008
+ map(callbackfn, thisArg) {
6009
+ const entries = [];
6010
+ let index2 = 0;
6011
+ for (const entry of this) {
6012
+ entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index2, this])]);
6013
+ index2++;
6014
+ }
6015
+ return new _OrderedDict(entries);
6016
+ }
6017
+ reduce(...args) {
6018
+ const [callbackfn, initialValue] = args;
6019
+ let index2 = 0;
6020
+ let accumulator = initialValue ?? this.at(0);
6021
+ for (const entry of this) {
6022
+ if (index2 === 0 && args.length === 1) {
6023
+ accumulator = entry;
6024
+ } else {
6025
+ accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index2, this]);
6026
+ }
6027
+ index2++;
6028
+ }
6029
+ return accumulator;
6030
+ }
6031
+ reduceRight(...args) {
6032
+ const [callbackfn, initialValue] = args;
6033
+ let accumulator = initialValue ?? this.at(-1);
6034
+ for (let index2 = this.size - 1;index2 >= 0; index2--) {
6035
+ const entry = this.at(index2);
6036
+ if (index2 === this.size - 1 && args.length === 1) {
6037
+ accumulator = entry;
6038
+ } else {
6039
+ accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index2, this]);
6040
+ }
6041
+ }
6042
+ return accumulator;
6043
+ }
6044
+ toSorted(compareFn) {
6045
+ const entries = [...this.entries()].sort(compareFn);
6046
+ return new _OrderedDict(entries);
6047
+ }
6048
+ toReversed() {
6049
+ const reversed = new _OrderedDict;
6050
+ for (let index2 = this.size - 1;index2 >= 0; index2--) {
6051
+ const key = this.keyAt(index2);
6052
+ const element = this.get(key);
6053
+ reversed.set(key, element);
6054
+ }
6055
+ return reversed;
6056
+ }
6057
+ toSpliced(...args) {
6058
+ const entries = [...this.entries()];
6059
+ entries.splice(...args);
6060
+ return new _OrderedDict(entries);
6061
+ }
6062
+ slice(start, end) {
6063
+ const result = new _OrderedDict;
6064
+ let stop = this.size - 1;
6065
+ if (start === undefined) {
6066
+ return result;
6067
+ }
6068
+ if (start < 0) {
6069
+ start = start + this.size;
6070
+ }
6071
+ if (end !== undefined && end > 0) {
6072
+ stop = end - 1;
6073
+ }
6074
+ for (let index2 = start;index2 <= stop; index2++) {
6075
+ const key = this.keyAt(index2);
6076
+ const element = this.get(key);
6077
+ result.set(key, element);
6078
+ }
6079
+ return result;
6080
+ }
6081
+ every(predicate, thisArg) {
6082
+ let index2 = 0;
6083
+ for (const entry of this) {
6084
+ if (!Reflect.apply(predicate, thisArg, [entry, index2, this])) {
6085
+ return false;
6086
+ }
6087
+ index2++;
6088
+ }
6089
+ return true;
6090
+ }
6091
+ some(predicate, thisArg) {
6092
+ let index2 = 0;
6093
+ for (const entry of this) {
6094
+ if (Reflect.apply(predicate, thisArg, [entry, index2, this])) {
6095
+ return true;
6096
+ }
6097
+ index2++;
6098
+ }
6099
+ return false;
6100
+ }
6101
+ };
6102
+ function at(array, index2) {
6103
+ if ("at" in Array.prototype) {
6104
+ return Array.prototype.at.call(array, index2);
6105
+ }
6106
+ const actualIndex = toSafeIndex(array, index2);
6107
+ return actualIndex === -1 ? undefined : array[actualIndex];
6108
+ }
6109
+ function toSafeIndex(array, index2) {
6110
+ const length = array.length;
6111
+ const relativeIndex = toSafeInteger(index2);
6112
+ const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;
6113
+ return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;
6114
+ }
6115
+ function toSafeInteger(number) {
6116
+ return number !== number || number === 0 ? 0 : Math.trunc(number);
6117
+ }
6118
+
6119
+ // ../../node_modules/.bun/@radix-ui+react-id@1.1.1+09a4a3ac15cb54ba/node_modules/@radix-ui/react-id/dist/index.mjs
6120
+ import * as React41 from "react";
6121
+
6122
+ // ../../node_modules/.bun/@radix-ui+react-use-layout-effect@1.1.1+09a4a3ac15cb54ba/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs
6123
+ import * as React40 from "react";
6124
+ var useLayoutEffect22 = globalThis?.document ? React40.useLayoutEffect : () => {};
6125
+
6126
+ // ../../node_modules/.bun/@radix-ui+react-id@1.1.1+09a4a3ac15cb54ba/node_modules/@radix-ui/react-id/dist/index.mjs
6127
+ var useReactId2 = React41[" useId ".trim().toString()] || (() => {
6128
+ return;
6129
+ });
6130
+ var count3 = 0;
6131
+ function useId2(deterministicId) {
6132
+ const [id, setId] = React41.useState(useReactId2());
6133
+ useLayoutEffect22(() => {
6134
+ if (!deterministicId)
6135
+ setId((reactId) => reactId ?? String(count3++));
6136
+ }, [deterministicId]);
6137
+ return deterministicId || (id ? `radix-${id}` : "");
6138
+ }
6139
+
6140
+ // ../../node_modules/.bun/@radix-ui+react-primitive@2.1.3+f178f9b1194b24ba/node_modules/@radix-ui/react-primitive/dist/index.mjs
6141
+ import * as React42 from "react";
6142
+ import * as ReactDOM5 from "react-dom";
6143
+ import { jsx as jsx30 } from "react/jsx-runtime";
6144
+ var NODES2 = [
6145
+ "a",
6146
+ "button",
6147
+ "div",
6148
+ "form",
6149
+ "h2",
6150
+ "h3",
6151
+ "img",
6152
+ "input",
6153
+ "label",
6154
+ "li",
6155
+ "nav",
6156
+ "ol",
6157
+ "p",
6158
+ "select",
6159
+ "span",
6160
+ "svg",
6161
+ "ul"
6162
+ ];
6163
+ var Primitive2 = NODES2.reduce((primitive, node) => {
6164
+ const Slot2 = createSlot(`Primitive.${node}`);
6165
+ const Node2 = React42.forwardRef((props, forwardedRef) => {
6166
+ const { asChild, ...primitiveProps } = props;
6167
+ const Comp = asChild ? Slot2 : node;
6168
+ if (typeof window !== "undefined") {
6169
+ window[Symbol.for("radix-ui")] = true;
6170
+ }
6171
+ return /* @__PURE__ */ jsx30(Comp, { ...primitiveProps, ref: forwardedRef });
6172
+ });
6173
+ Node2.displayName = `Primitive.${node}`;
6174
+ return { ...primitive, [node]: Node2 };
6175
+ }, {});
6176
+
6177
+ // ../../node_modules/.bun/@radix-ui+react-use-callback-ref@1.1.1+09a4a3ac15cb54ba/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs
6178
+ import * as React43 from "react";
6179
+ function useCallbackRef3(callback) {
6180
+ const callbackRef = React43.useRef(callback);
6181
+ React43.useEffect(() => {
6182
+ callbackRef.current = callback;
6183
+ });
6184
+ return React43.useMemo(() => (...args) => callbackRef.current?.(...args), []);
6185
+ }
6186
+
6187
+ // ../../node_modules/.bun/@radix-ui+react-use-controllable-state@1.2.2+09a4a3ac15cb54ba/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs
6188
+ import * as React44 from "react";
6189
+ import * as React212 from "react";
6190
+ var useInsertionEffect = React44[" useInsertionEffect ".trim().toString()] || useLayoutEffect22;
6191
+ function useControllableState2({
6192
+ prop,
6193
+ defaultProp,
6194
+ onChange = () => {},
6195
+ caller
6196
+ }) {
6197
+ const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState2({
6198
+ defaultProp,
6199
+ onChange
6200
+ });
6201
+ const isControlled = prop !== undefined;
6202
+ const value = isControlled ? prop : uncontrolledProp;
6203
+ if (true) {
6204
+ const isControlledRef = React44.useRef(prop !== undefined);
6205
+ React44.useEffect(() => {
6206
+ const wasControlled = isControlledRef.current;
6207
+ if (wasControlled !== isControlled) {
6208
+ const from = wasControlled ? "controlled" : "uncontrolled";
6209
+ const to = isControlled ? "controlled" : "uncontrolled";
6210
+ console.warn(`${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`);
6211
+ }
6212
+ isControlledRef.current = isControlled;
6213
+ }, [isControlled, caller]);
6214
+ }
6215
+ const setValue = React44.useCallback((nextValue) => {
6216
+ if (isControlled) {
6217
+ const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;
6218
+ if (value2 !== prop) {
6219
+ onChangeRef.current?.(value2);
6220
+ }
6221
+ } else {
6222
+ setUncontrolledProp(nextValue);
6223
+ }
6224
+ }, [isControlled, prop, setUncontrolledProp, onChangeRef]);
6225
+ return [value, setValue];
6226
+ }
6227
+ function useUncontrolledState2({
6228
+ defaultProp,
6229
+ onChange
6230
+ }) {
6231
+ const [value, setValue] = React44.useState(defaultProp);
6232
+ const prevValueRef = React44.useRef(value);
6233
+ const onChangeRef = React44.useRef(onChange);
6234
+ useInsertionEffect(() => {
6235
+ onChangeRef.current = onChange;
6236
+ }, [onChange]);
6237
+ React44.useEffect(() => {
6238
+ if (prevValueRef.current !== value) {
6239
+ onChangeRef.current?.(value);
6240
+ prevValueRef.current = value;
6241
+ }
6242
+ }, [value, prevValueRef]);
6243
+ return [value, setValue, onChangeRef];
6244
+ }
6245
+ function isFunction(value) {
6246
+ return typeof value === "function";
6247
+ }
6248
+ var SYNC_STATE = Symbol("RADIX:SYNC_STATE");
6249
+
6250
+ // ../../node_modules/.bun/@radix-ui+react-direction@1.1.1+09a4a3ac15cb54ba/node_modules/@radix-ui/react-direction/dist/index.mjs
6251
+ import * as React45 from "react";
6252
+ import { jsx as jsx32 } from "react/jsx-runtime";
6253
+ var DirectionContext2 = React45.createContext(undefined);
6254
+ function useDirection2(localDir) {
6255
+ const globalDir = React45.useContext(DirectionContext2);
6256
+ return localDir || globalDir || "ltr";
6257
+ }
6258
+
6259
+ // ../../node_modules/.bun/@radix-ui+react-roving-focus@1.1.11+f178f9b1194b24ba/node_modules/@radix-ui/react-roving-focus/dist/index.mjs
6260
+ import { jsx as jsx33 } from "react/jsx-runtime";
6261
+ "use client";
6262
+ var ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus";
6263
+ var EVENT_OPTIONS2 = { bubbles: false, cancelable: true };
6264
+ var GROUP_NAME2 = "RovingFocusGroup";
6265
+ var [Collection2, useCollection2, createCollectionScope2] = createCollection2(GROUP_NAME2);
6266
+ var [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope2(GROUP_NAME2, [createCollectionScope2]);
6267
+ var [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME2);
6268
+ var RovingFocusGroup = React46.forwardRef((props, forwardedRef) => {
6269
+ return /* @__PURE__ */ jsx33(Collection2.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx33(Collection2.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx33(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });
6270
+ });
6271
+ RovingFocusGroup.displayName = GROUP_NAME2;
6272
+ var RovingFocusGroupImpl = React46.forwardRef((props, forwardedRef) => {
6273
+ const {
6274
+ __scopeRovingFocusGroup,
6275
+ orientation,
6276
+ loop = false,
6277
+ dir,
6278
+ currentTabStopId: currentTabStopIdProp,
6279
+ defaultCurrentTabStopId,
6280
+ onCurrentTabStopIdChange,
6281
+ onEntryFocus,
6282
+ preventScrollOnEntryFocus = false,
6283
+ ...groupProps
6284
+ } = props;
6285
+ const ref = React46.useRef(null);
6286
+ const composedRefs = useComposedRefs2(forwardedRef, ref);
6287
+ const direction = useDirection2(dir);
6288
+ const [currentTabStopId, setCurrentTabStopId] = useControllableState2({
6289
+ prop: currentTabStopIdProp,
6290
+ defaultProp: defaultCurrentTabStopId ?? null,
6291
+ onChange: onCurrentTabStopIdChange,
6292
+ caller: GROUP_NAME2
6293
+ });
6294
+ const [isTabbingBackOut, setIsTabbingBackOut] = React46.useState(false);
6295
+ const handleEntryFocus = useCallbackRef3(onEntryFocus);
6296
+ const getItems = useCollection2(__scopeRovingFocusGroup);
6297
+ const isClickFocusRef = React46.useRef(false);
6298
+ const [focusableItemsCount, setFocusableItemsCount] = React46.useState(0);
6299
+ React46.useEffect(() => {
6300
+ const node = ref.current;
6301
+ if (node) {
6302
+ node.addEventListener(ENTRY_FOCUS, handleEntryFocus);
6303
+ return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
6304
+ }
6305
+ }, [handleEntryFocus]);
6306
+ return /* @__PURE__ */ jsx33(RovingFocusProvider, {
6307
+ scope: __scopeRovingFocusGroup,
6308
+ orientation,
6309
+ dir: direction,
6310
+ loop,
6311
+ currentTabStopId,
6312
+ onItemFocus: React46.useCallback((tabStopId) => setCurrentTabStopId(tabStopId), [setCurrentTabStopId]),
6313
+ onItemShiftTab: React46.useCallback(() => setIsTabbingBackOut(true), []),
6314
+ onFocusableItemAdd: React46.useCallback(() => setFocusableItemsCount((prevCount) => prevCount + 1), []),
6315
+ onFocusableItemRemove: React46.useCallback(() => setFocusableItemsCount((prevCount) => prevCount - 1), []),
6316
+ children: /* @__PURE__ */ jsx33(Primitive2.div, {
6317
+ tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
6318
+ "data-orientation": orientation,
6319
+ ...groupProps,
6320
+ ref: composedRefs,
6321
+ style: { outline: "none", ...props.style },
6322
+ onMouseDown: composeEventHandlers2(props.onMouseDown, () => {
6323
+ isClickFocusRef.current = true;
6324
+ }),
6325
+ onFocus: composeEventHandlers2(props.onFocus, (event) => {
6326
+ const isKeyboardFocus = !isClickFocusRef.current;
6327
+ if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {
6328
+ const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS2);
6329
+ event.currentTarget.dispatchEvent(entryFocusEvent);
6330
+ if (!entryFocusEvent.defaultPrevented) {
6331
+ const items = getItems().filter((item) => item.focusable);
6332
+ const activeItem = items.find((item) => item.active);
6333
+ const currentItem = items.find((item) => item.id === currentTabStopId);
6334
+ const candidateItems = [activeItem, currentItem, ...items].filter(Boolean);
6335
+ const candidateNodes = candidateItems.map((item) => item.ref.current);
6336
+ focusFirst2(candidateNodes, preventScrollOnEntryFocus);
6337
+ }
6338
+ }
6339
+ isClickFocusRef.current = false;
6340
+ }),
6341
+ onBlur: composeEventHandlers2(props.onBlur, () => setIsTabbingBackOut(false))
6342
+ })
6343
+ });
6344
+ });
6345
+ var ITEM_NAME2 = "RovingFocusGroupItem";
6346
+ var RovingFocusGroupItem = React46.forwardRef((props, forwardedRef) => {
6347
+ const {
6348
+ __scopeRovingFocusGroup,
6349
+ focusable = true,
6350
+ active = false,
6351
+ tabStopId,
6352
+ children,
6353
+ ...itemProps
6354
+ } = props;
6355
+ const autoId = useId2();
6356
+ const id = tabStopId || autoId;
6357
+ const context = useRovingFocusContext(ITEM_NAME2, __scopeRovingFocusGroup);
6358
+ const isCurrentTabStop = context.currentTabStopId === id;
6359
+ const getItems = useCollection2(__scopeRovingFocusGroup);
6360
+ const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;
6361
+ React46.useEffect(() => {
6362
+ if (focusable) {
6363
+ onFocusableItemAdd();
6364
+ return () => onFocusableItemRemove();
6365
+ }
6366
+ }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);
6367
+ return /* @__PURE__ */ jsx33(Collection2.ItemSlot, {
6368
+ scope: __scopeRovingFocusGroup,
6369
+ id,
6370
+ focusable,
6371
+ active,
6372
+ children: /* @__PURE__ */ jsx33(Primitive2.span, {
6373
+ tabIndex: isCurrentTabStop ? 0 : -1,
6374
+ "data-orientation": context.orientation,
6375
+ ...itemProps,
6376
+ ref: forwardedRef,
6377
+ onMouseDown: composeEventHandlers2(props.onMouseDown, (event) => {
6378
+ if (!focusable)
6379
+ event.preventDefault();
6380
+ else
6381
+ context.onItemFocus(id);
6382
+ }),
6383
+ onFocus: composeEventHandlers2(props.onFocus, () => context.onItemFocus(id)),
6384
+ onKeyDown: composeEventHandlers2(props.onKeyDown, (event) => {
6385
+ if (event.key === "Tab" && event.shiftKey) {
6386
+ context.onItemShiftTab();
6387
+ return;
6388
+ }
6389
+ if (event.target !== event.currentTarget)
6390
+ return;
6391
+ const focusIntent = getFocusIntent(event, context.orientation, context.dir);
6392
+ if (focusIntent !== undefined) {
6393
+ if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey)
6394
+ return;
6395
+ event.preventDefault();
6396
+ const items = getItems().filter((item) => item.focusable);
6397
+ let candidateNodes = items.map((item) => item.ref.current);
6398
+ if (focusIntent === "last")
6399
+ candidateNodes.reverse();
6400
+ else if (focusIntent === "prev" || focusIntent === "next") {
6401
+ if (focusIntent === "prev")
6402
+ candidateNodes.reverse();
6403
+ const currentIndex = candidateNodes.indexOf(event.currentTarget);
6404
+ candidateNodes = context.loop ? wrapArray2(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
6405
+ }
6406
+ setTimeout(() => focusFirst2(candidateNodes));
6407
+ }
6408
+ }),
6409
+ children: typeof children === "function" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children
6410
+ })
6411
+ });
6412
+ });
6413
+ RovingFocusGroupItem.displayName = ITEM_NAME2;
6414
+ var MAP_KEY_TO_FOCUS_INTENT = {
6415
+ ArrowLeft: "prev",
6416
+ ArrowUp: "prev",
6417
+ ArrowRight: "next",
6418
+ ArrowDown: "next",
6419
+ PageUp: "first",
6420
+ Home: "first",
6421
+ PageDown: "last",
6422
+ End: "last"
6423
+ };
6424
+ function getDirectionAwareKey(key, dir) {
6425
+ if (dir !== "rtl")
6426
+ return key;
6427
+ return key === "ArrowLeft" ? "ArrowRight" : key === "ArrowRight" ? "ArrowLeft" : key;
6428
+ }
6429
+ function getFocusIntent(event, orientation, dir) {
6430
+ const key = getDirectionAwareKey(event.key, dir);
6431
+ if (orientation === "vertical" && ["ArrowLeft", "ArrowRight"].includes(key))
6432
+ return;
6433
+ if (orientation === "horizontal" && ["ArrowUp", "ArrowDown"].includes(key))
6434
+ return;
6435
+ return MAP_KEY_TO_FOCUS_INTENT[key];
6436
+ }
6437
+ function focusFirst2(candidates, preventScroll = false) {
6438
+ const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
6439
+ for (const candidate of candidates) {
6440
+ if (candidate === PREVIOUSLY_FOCUSED_ELEMENT)
6441
+ return;
6442
+ candidate.focus({ preventScroll });
6443
+ if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT)
6444
+ return;
6445
+ }
6446
+ }
6447
+ function wrapArray2(array, startIndex) {
6448
+ return array.map((_, index2) => array[(startIndex + index2) % array.length]);
6449
+ }
6450
+ var Root3 = RovingFocusGroup;
6451
+ var Item2 = RovingFocusGroupItem;
6452
+
6453
+ // ../../node_modules/.bun/@radix-ui+react-presence@1.1.5+f178f9b1194b24ba/node_modules/@radix-ui/react-presence/dist/index.mjs
6454
+ import * as React213 from "react";
6455
+ import * as React47 from "react";
6456
+ "use client";
6457
+ function useStateMachine(initialState, machine) {
6458
+ return React47.useReducer((state, event) => {
6459
+ const nextState = machine[state][event];
6460
+ return nextState ?? state;
6461
+ }, initialState);
6462
+ }
6463
+ var Presence = (props) => {
6464
+ const { present, children } = props;
6465
+ const presence = usePresence(present);
6466
+ const child = typeof children === "function" ? children({ present: presence.isPresent }) : React213.Children.only(children);
6467
+ const ref = useComposedRefs2(presence.ref, getElementRef3(child));
6468
+ const forceMount = typeof children === "function";
6469
+ return forceMount || presence.isPresent ? React213.cloneElement(child, { ref }) : null;
6470
+ };
6471
+ Presence.displayName = "Presence";
6472
+ function usePresence(present) {
6473
+ const [node, setNode] = React213.useState();
6474
+ const stylesRef = React213.useRef(null);
6475
+ const prevPresentRef = React213.useRef(present);
6476
+ const prevAnimationNameRef = React213.useRef("none");
6477
+ const initialState = present ? "mounted" : "unmounted";
6478
+ const [state, send] = useStateMachine(initialState, {
6479
+ mounted: {
6480
+ UNMOUNT: "unmounted",
6481
+ ANIMATION_OUT: "unmountSuspended"
6482
+ },
6483
+ unmountSuspended: {
6484
+ MOUNT: "mounted",
6485
+ ANIMATION_END: "unmounted"
6486
+ },
6487
+ unmounted: {
6488
+ MOUNT: "mounted"
6489
+ }
6490
+ });
6491
+ React213.useEffect(() => {
6492
+ const currentAnimationName = getAnimationName(stylesRef.current);
6493
+ prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
6494
+ }, [state]);
6495
+ useLayoutEffect22(() => {
6496
+ const styles = stylesRef.current;
6497
+ const wasPresent = prevPresentRef.current;
6498
+ const hasPresentChanged = wasPresent !== present;
6499
+ if (hasPresentChanged) {
6500
+ const prevAnimationName = prevAnimationNameRef.current;
6501
+ const currentAnimationName = getAnimationName(styles);
6502
+ if (present) {
6503
+ send("MOUNT");
6504
+ } else if (currentAnimationName === "none" || styles?.display === "none") {
6505
+ send("UNMOUNT");
6506
+ } else {
6507
+ const isAnimating = prevAnimationName !== currentAnimationName;
6508
+ if (wasPresent && isAnimating) {
6509
+ send("ANIMATION_OUT");
6510
+ } else {
6511
+ send("UNMOUNT");
6512
+ }
6513
+ }
6514
+ prevPresentRef.current = present;
6515
+ }
6516
+ }, [present, send]);
6517
+ useLayoutEffect22(() => {
6518
+ if (node) {
6519
+ let timeoutId;
6520
+ const ownerWindow = node.ownerDocument.defaultView ?? window;
6521
+ const handleAnimationEnd = (event) => {
6522
+ const currentAnimationName = getAnimationName(stylesRef.current);
6523
+ const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));
6524
+ if (event.target === node && isCurrentAnimation) {
6525
+ send("ANIMATION_END");
6526
+ if (!prevPresentRef.current) {
6527
+ const currentFillMode = node.style.animationFillMode;
6528
+ node.style.animationFillMode = "forwards";
6529
+ timeoutId = ownerWindow.setTimeout(() => {
6530
+ if (node.style.animationFillMode === "forwards") {
6531
+ node.style.animationFillMode = currentFillMode;
6532
+ }
6533
+ });
6534
+ }
6535
+ }
6536
+ };
6537
+ const handleAnimationStart = (event) => {
6538
+ if (event.target === node) {
6539
+ prevAnimationNameRef.current = getAnimationName(stylesRef.current);
6540
+ }
6541
+ };
6542
+ node.addEventListener("animationstart", handleAnimationStart);
6543
+ node.addEventListener("animationcancel", handleAnimationEnd);
6544
+ node.addEventListener("animationend", handleAnimationEnd);
6545
+ return () => {
6546
+ ownerWindow.clearTimeout(timeoutId);
6547
+ node.removeEventListener("animationstart", handleAnimationStart);
6548
+ node.removeEventListener("animationcancel", handleAnimationEnd);
6549
+ node.removeEventListener("animationend", handleAnimationEnd);
6550
+ };
6551
+ } else {
6552
+ send("ANIMATION_END");
6553
+ }
6554
+ }, [node, send]);
6555
+ return {
6556
+ isPresent: ["mounted", "unmountSuspended"].includes(state),
6557
+ ref: React213.useCallback((node2) => {
6558
+ stylesRef.current = node2 ? getComputedStyle(node2) : null;
6559
+ setNode(node2);
6560
+ }, [])
6561
+ };
6562
+ }
6563
+ function getAnimationName(styles) {
6564
+ return styles?.animationName || "none";
6565
+ }
6566
+ function getElementRef3(element) {
6567
+ let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
6568
+ let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
6569
+ if (mayWarn) {
6570
+ return element.ref;
6571
+ }
6572
+ getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
6573
+ mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
6574
+ if (mayWarn) {
6575
+ return element.props.ref;
6576
+ }
6577
+ return element.props.ref || element.ref;
6578
+ }
6579
+
6580
+ // ../../node_modules/.bun/@radix-ui+react-tabs@1.1.13+f178f9b1194b24ba/node_modules/@radix-ui/react-tabs/dist/index.mjs
6581
+ import { jsx as jsx34 } from "react/jsx-runtime";
6582
+ "use client";
6583
+ var TABS_NAME = "Tabs";
6584
+ var [createTabsContext, createTabsScope] = createContextScope2(TABS_NAME, [
6585
+ createRovingFocusGroupScope
6586
+ ]);
6587
+ var useRovingFocusGroupScope = createRovingFocusGroupScope();
6588
+ var [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);
6589
+ var Tabs = React48.forwardRef((props, forwardedRef) => {
6590
+ const {
6591
+ __scopeTabs,
6592
+ value: valueProp,
6593
+ onValueChange,
6594
+ defaultValue,
6595
+ orientation = "horizontal",
6596
+ dir,
6597
+ activationMode = "automatic",
6598
+ ...tabsProps
6599
+ } = props;
6600
+ const direction = useDirection2(dir);
6601
+ const [value, setValue] = useControllableState2({
6602
+ prop: valueProp,
6603
+ onChange: onValueChange,
6604
+ defaultProp: defaultValue ?? "",
6605
+ caller: TABS_NAME
6606
+ });
6607
+ return /* @__PURE__ */ jsx34(TabsProvider, {
6608
+ scope: __scopeTabs,
6609
+ baseId: useId2(),
6610
+ value,
6611
+ onValueChange: setValue,
6612
+ orientation,
6613
+ dir: direction,
6614
+ activationMode,
6615
+ children: /* @__PURE__ */ jsx34(Primitive2.div, {
6616
+ dir: direction,
6617
+ "data-orientation": orientation,
6618
+ ...tabsProps,
6619
+ ref: forwardedRef
6620
+ })
6621
+ });
6622
+ });
6623
+ Tabs.displayName = TABS_NAME;
6624
+ var TAB_LIST_NAME = "TabsList";
6625
+ var TabsList = React48.forwardRef((props, forwardedRef) => {
6626
+ const { __scopeTabs, loop = true, ...listProps } = props;
6627
+ const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);
6628
+ const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);
6629
+ return /* @__PURE__ */ jsx34(Root3, {
6630
+ asChild: true,
6631
+ ...rovingFocusGroupScope,
6632
+ orientation: context.orientation,
6633
+ dir: context.dir,
6634
+ loop,
6635
+ children: /* @__PURE__ */ jsx34(Primitive2.div, {
6636
+ role: "tablist",
6637
+ "aria-orientation": context.orientation,
6638
+ ...listProps,
6639
+ ref: forwardedRef
6640
+ })
6641
+ });
6642
+ });
6643
+ TabsList.displayName = TAB_LIST_NAME;
6644
+ var TRIGGER_NAME2 = "TabsTrigger";
6645
+ var TabsTrigger = React48.forwardRef((props, forwardedRef) => {
6646
+ const { __scopeTabs, value, disabled = false, ...triggerProps } = props;
6647
+ const context = useTabsContext(TRIGGER_NAME2, __scopeTabs);
6648
+ const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);
6649
+ const triggerId = makeTriggerId(context.baseId, value);
6650
+ const contentId = makeContentId(context.baseId, value);
6651
+ const isSelected = value === context.value;
6652
+ return /* @__PURE__ */ jsx34(Item2, {
6653
+ asChild: true,
6654
+ ...rovingFocusGroupScope,
6655
+ focusable: !disabled,
6656
+ active: isSelected,
6657
+ children: /* @__PURE__ */ jsx34(Primitive2.button, {
6658
+ type: "button",
6659
+ role: "tab",
6660
+ "aria-selected": isSelected,
6661
+ "aria-controls": contentId,
6662
+ "data-state": isSelected ? "active" : "inactive",
6663
+ "data-disabled": disabled ? "" : undefined,
6664
+ disabled,
6665
+ id: triggerId,
6666
+ ...triggerProps,
6667
+ ref: forwardedRef,
6668
+ onMouseDown: composeEventHandlers2(props.onMouseDown, (event) => {
6669
+ if (!disabled && event.button === 0 && event.ctrlKey === false) {
6670
+ context.onValueChange(value);
6671
+ } else {
6672
+ event.preventDefault();
6673
+ }
6674
+ }),
6675
+ onKeyDown: composeEventHandlers2(props.onKeyDown, (event) => {
6676
+ if ([" ", "Enter"].includes(event.key))
6677
+ context.onValueChange(value);
6678
+ }),
6679
+ onFocus: composeEventHandlers2(props.onFocus, () => {
6680
+ const isAutomaticActivation = context.activationMode !== "manual";
6681
+ if (!isSelected && !disabled && isAutomaticActivation) {
6682
+ context.onValueChange(value);
6683
+ }
6684
+ })
6685
+ })
6686
+ });
6687
+ });
6688
+ TabsTrigger.displayName = TRIGGER_NAME2;
6689
+ var CONTENT_NAME3 = "TabsContent";
6690
+ var TabsContent = React48.forwardRef((props, forwardedRef) => {
6691
+ const { __scopeTabs, value, forceMount, children, ...contentProps } = props;
6692
+ const context = useTabsContext(CONTENT_NAME3, __scopeTabs);
6693
+ const triggerId = makeTriggerId(context.baseId, value);
6694
+ const contentId = makeContentId(context.baseId, value);
6695
+ const isSelected = value === context.value;
6696
+ const isMountAnimationPreventedRef = React48.useRef(isSelected);
6697
+ React48.useEffect(() => {
6698
+ const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);
6699
+ return () => cancelAnimationFrame(rAF);
6700
+ }, []);
6701
+ return /* @__PURE__ */ jsx34(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx34(Primitive2.div, {
6702
+ "data-state": isSelected ? "active" : "inactive",
6703
+ "data-orientation": context.orientation,
6704
+ role: "tabpanel",
6705
+ "aria-labelledby": triggerId,
6706
+ hidden: !present,
6707
+ id: contentId,
6708
+ tabIndex: 0,
6709
+ ...contentProps,
6710
+ ref: forwardedRef,
6711
+ style: {
6712
+ ...props.style,
6713
+ animationDuration: isMountAnimationPreventedRef.current ? "0s" : undefined
6714
+ },
6715
+ children: present && children
6716
+ }) });
6717
+ });
6718
+ TabsContent.displayName = CONTENT_NAME3;
6719
+ function makeTriggerId(baseId, value) {
6720
+ return `${baseId}-trigger-${value}`;
6721
+ }
6722
+ function makeContentId(baseId, value) {
6723
+ return `${baseId}-content-${value}`;
6724
+ }
6725
+ var Root23 = Tabs;
6726
+ var List = TabsList;
6727
+ var Trigger2 = TabsTrigger;
6728
+ var Content3 = TabsContent;
6729
+
6730
+ // src/Tabs.tsx
6731
+ import * as React49 from "react";
6732
+ import { jsx as jsx35 } from "react/jsx-runtime";
6733
+ var Tabs2 = Root23;
6734
+ var TabsList2 = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(List, {
6735
+ ref,
6736
+ className: cn("inline-flex items-center justify-center bg-white p-1 border-2 border-black border-b-4 rounded-full", className),
6737
+ ...props
6738
+ }));
6739
+ TabsList2.displayName = List.displayName;
6740
+ var TabsTrigger2 = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(Trigger2, {
6741
+ ref,
6742
+ className: cn("inline-flex items-center border-none font-brand bg-transparent justify-center whitespace-nowrap rounded-full px-3 py-1.5 text-sm ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-brand data-[state=active]:text-white data-[state=inactive]:hover:bg-gray-100", className),
6743
+ ...props
6744
+ }));
6745
+ TabsTrigger2.displayName = Trigger2.displayName;
6746
+ var TabsContent2 = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(Content3, {
6747
+ ref,
6748
+ className: cn("mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", className),
6749
+ ...props
6750
+ }));
6751
+ TabsContent2.displayName = Content3.displayName;
5535
6752
  // src/Textarea.tsx
5536
- import React36 from "react";
5537
- import { jsx as jsx24 } from "react/jsx-runtime";
5538
- var Textarea = React36.forwardRef(({ className, style, ...props }, ref) => {
5539
- return /* @__PURE__ */ jsx24("textarea", {
6753
+ import React50 from "react";
6754
+ import { jsx as jsx36 } from "react/jsx-runtime";
6755
+ var Textarea = React50.forwardRef(({ className, style, ...props }, ref) => {
6756
+ return /* @__PURE__ */ jsx36("textarea", {
5540
6757
  ref,
5541
6758
  className: cn("w-full bg-white dark:bg-[#121212] rounded-lg border-2 border-b-4 border-black outline-none px-3 py-3 fontbrand text-lg box-border field-sizing-content min-h-[90px]", className),
5542
6759
  style: {
@@ -5547,13 +6764,13 @@ var Textarea = React36.forwardRef(({ className, style, ...props }, ref) => {
5547
6764
  });
5548
6765
  Textarea.displayName = "Textarea";
5549
6766
  // src/Triangle.tsx
5550
- import { jsx as jsx25 } from "react/jsx-runtime";
6767
+ import { jsx as jsx37 } from "react/jsx-runtime";
5551
6768
  var Triangle2 = (props) => {
5552
- return /* @__PURE__ */ jsx25("svg", {
6769
+ return /* @__PURE__ */ jsx37("svg", {
5553
6770
  viewBox: "0 0 127 131",
5554
6771
  fill: "none",
5555
6772
  ...props,
5556
- children: /* @__PURE__ */ jsx25("path", {
6773
+ children: /* @__PURE__ */ jsx37("path", {
5557
6774
  d: "M28.5644 0.011261C25.8196 0.159241 23.6077 0.591782 21.3786 1.43413C20.2669 1.84959 18.4446 2.75455 17.4418 3.38062C13.2472 5.993 10.0496 9.9201 8.38209 14.4903C8.04973 15.3953 7.15007 18.2809 6.5713 20.2672C2.71476 33.5453 0.525761 48.0643 0.0558711 63.4312C-0.0186237 65.8785 -0.0186237 71.7066 0.0558711 74.1141C0.371041 84.3018 1.35093 93.4992 3.12735 102.879C3.84937 106.675 5.00691 111.774 5.67736 114.091C7.04692 118.798 9.84334 122.805 13.8202 125.741C16.4848 127.711 19.5105 129.031 22.8627 129.68C24.4787 129.993 26.6104 130.135 28.1805 130.033C30.3523 129.89 34.6616 129.316 38.1628 128.695C53.9442 125.901 68.5223 120.898 81.7422 113.738C90.1143 109.202 97.2715 104.29 104.177 98.3312C111.059 92.4007 116.927 86.0206 122.09 78.8608C123.287 77.2045 123.889 76.237 124.491 75.019C126.038 71.8773 126.766 68.7527 126.76 65.2582C126.76 62.0027 126.141 59.1114 124.806 56.1518C124.164 54.7233 123.551 53.6988 122.176 51.7523C117.11 44.5868 111.489 38.3433 104.635 32.2762C94.011 22.8739 81.3927 15.1619 67.3017 9.45339C64.2474 8.21835 61.239 7.13128 57.6174 5.95315C49.9502 3.46598 40.4607 1.30891 32.4324 0.233231C31.1718 0.0624847 29.4584 -0.0342712 28.5644 0.011261Z",
5558
6775
  fill: "currentcolor"
5559
6776
  })
@@ -5562,6 +6779,10 @@ var Triangle2 = (props) => {
5562
6779
  export {
5563
6780
  Triangle2 as Triangle,
5564
6781
  Textarea,
6782
+ TabsTrigger2 as TabsTrigger,
6783
+ TabsList2 as TabsList,
6784
+ TabsContent2 as TabsContent,
6785
+ Tabs2 as Tabs,
5565
6786
  Switch,
5566
6787
  SelectValue2 as SelectValue,
5567
6788
  SelectTrigger2 as SelectTrigger,
@@ -5574,7 +6795,9 @@ export {
5574
6795
  SelectContent2 as SelectContent,
5575
6796
  Select2 as Select,
5576
6797
  PlanePaperIcon,
6798
+ Link,
5577
6799
  Input,
6800
+ InlineCode,
5578
6801
  Counter,
5579
6802
  CheckIcon,
5580
6803
  Card,