@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.
- package/dist/InlineCode.d.ts +3 -0
- package/dist/InlineCode.js +4 -0
- package/dist/Link.d.ts +2 -0
- package/dist/Link.js +5 -0
- package/dist/Tabs.d.ts +7 -0
- package/dist/Tabs.js +12 -0
- package/dist/esm/index.mjs +1323 -100
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/tailwind.css +66 -0
- package/package.json +7 -6
package/dist/esm/index.mjs
CHANGED
|
@@ -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
|
|
584
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
577
585
|
var Input = React5.forwardRef(({ className, ...props }, ref) => {
|
|
578
|
-
return /* @__PURE__ */
|
|
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
|
|
606
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
587
607
|
var PlanePaperIcon = (props) => {
|
|
588
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
735
|
+
return /* @__PURE__ */ jsx13(SlotClone, { ...slotProps, ref: forwardedRef, children: React8.isValidElement(newElement) ? React8.cloneElement(newElement, undefined, newChildren) : null });
|
|
716
736
|
}
|
|
717
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
4608
|
+
return /* @__PURE__ */ jsx23(Primitive.span, {
|
|
4589
4609
|
...valueProps,
|
|
4590
4610
|
ref: composedRefs,
|
|
4591
4611
|
style: { pointerEvents: "none" },
|
|
4592
|
-
children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
4957
|
+
return /* @__PURE__ */ jsx23(SelectViewportProvider, {
|
|
4938
4958
|
scope: __scopeSelect,
|
|
4939
4959
|
contentWrapper,
|
|
4940
4960
|
shouldExpandOnScrollRef,
|
|
4941
4961
|
onScrollButtonChange: handleScrollButtonChange,
|
|
4942
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
5116
|
+
children: /* @__PURE__ */ jsx23(Collection.ItemSlot, {
|
|
5097
5117
|
scope: __scopeSelect,
|
|
5098
5118
|
value,
|
|
5099
5119
|
disabled,
|
|
5100
5120
|
textValue,
|
|
5101
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
5467
|
+
/* @__PURE__ */ jsx24(Icon, {
|
|
5448
5468
|
asChild: true,
|
|
5449
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
5482
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
5522
|
+
/* @__PURE__ */ jsx24("span", {
|
|
5503
5523
|
className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
|
|
5504
|
-
children: /* @__PURE__ */
|
|
5505
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
5543
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
5524
5544
|
var Switch = ({ active, onToggle }) => {
|
|
5525
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
5537
|
-
import { jsx as
|
|
5538
|
-
var Textarea =
|
|
5539
|
-
return /* @__PURE__ */
|
|
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
|
|
6767
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
5551
6768
|
var Triangle2 = (props) => {
|
|
5552
|
-
return /* @__PURE__ */
|
|
6769
|
+
return /* @__PURE__ */ jsx37("svg", {
|
|
5553
6770
|
viewBox: "0 0 127 131",
|
|
5554
6771
|
fill: "none",
|
|
5555
6772
|
...props,
|
|
5556
|
-
children: /* @__PURE__ */
|
|
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,
|