@tscircuit/3d-viewer 0.0.578 → 0.0.579
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/index.js +248 -338
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -31245,9 +31245,9 @@ function getObjectBoundsRelativeToParent(object) {
|
|
|
31245
31245
|
node.geometry.computeBoundingBox();
|
|
31246
31246
|
}
|
|
31247
31247
|
if (node.geometry.boundingBox) {
|
|
31248
|
+
const localMatrix = parentInverseMatrix.clone().multiply(node.matrixWorld);
|
|
31248
31249
|
const transformedBounds = node.geometry.boundingBox.clone();
|
|
31249
|
-
transformedBounds.applyMatrix4(
|
|
31250
|
-
transformedBounds.applyMatrix4(parentInverseMatrix);
|
|
31250
|
+
transformedBounds.applyMatrix4(localMatrix);
|
|
31251
31251
|
if (!hasBounds) {
|
|
31252
31252
|
bounds.copy(transformedBounds);
|
|
31253
31253
|
hasBounds = true;
|
|
@@ -32710,7 +32710,7 @@ import * as THREE21 from "three";
|
|
|
32710
32710
|
// package.json
|
|
32711
32711
|
var package_default = {
|
|
32712
32712
|
name: "@tscircuit/3d-viewer",
|
|
32713
|
-
version: "0.0.
|
|
32713
|
+
version: "0.0.578",
|
|
32714
32714
|
main: "./dist/index.js",
|
|
32715
32715
|
module: "./dist/index.js",
|
|
32716
32716
|
type: "module",
|
|
@@ -40377,67 +40377,12 @@ import * as ReactDOM2 from "react-dom";
|
|
|
40377
40377
|
|
|
40378
40378
|
// node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
40379
40379
|
import * as React18 from "react";
|
|
40380
|
-
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
40381
40380
|
var __defProp8 = Object.defineProperty;
|
|
40382
40381
|
var __name6 = (target, value) => __defProp8(target, "name", { value, configurable: true });
|
|
40383
|
-
var mergeProps = /* @__PURE__ */ __name6(((slotProps, childProps) => {
|
|
40384
|
-
const overrideProps = { ...childProps };
|
|
40385
|
-
for (const propName in childProps) {
|
|
40386
|
-
const slotPropValue = slotProps[propName];
|
|
40387
|
-
const childPropValue = childProps[propName];
|
|
40388
|
-
const isHandler = /^on[A-Z]/.test(propName);
|
|
40389
|
-
if (isHandler) {
|
|
40390
|
-
if (slotPropValue && childPropValue) {
|
|
40391
|
-
const slotIsFunction = typeof slotPropValue === "function";
|
|
40392
|
-
const childIsFunction = typeof childPropValue === "function";
|
|
40393
|
-
if (IS_DEVELOPMENT) {
|
|
40394
|
-
if (!slotIsFunction || !childIsFunction) {
|
|
40395
|
-
console.warn(
|
|
40396
|
-
`Slot: Expected a function for ${propName}, but received ${[typeof slotPropValue, typeof childPropValue].filter((v) => v !== "function").join(" and ")}.`
|
|
40397
|
-
);
|
|
40398
|
-
}
|
|
40399
|
-
}
|
|
40400
|
-
overrideProps[propName] = (...args) => {
|
|
40401
|
-
const result = childIsFunction ? childPropValue(...args) : void 0;
|
|
40402
|
-
if (slotIsFunction) {
|
|
40403
|
-
slotPropValue(...args);
|
|
40404
|
-
}
|
|
40405
|
-
return result;
|
|
40406
|
-
};
|
|
40407
|
-
} else if (slotPropValue) {
|
|
40408
|
-
overrideProps[propName] = slotPropValue;
|
|
40409
|
-
}
|
|
40410
|
-
} else if (propName === "style") {
|
|
40411
|
-
overrideProps[propName] = {
|
|
40412
|
-
...typeof slotPropValue === "object" ? slotPropValue : null,
|
|
40413
|
-
...typeof childPropValue === "object" ? childPropValue : null
|
|
40414
|
-
};
|
|
40415
|
-
} else if (propName === "className") {
|
|
40416
|
-
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
|
40417
|
-
} else if (propName === "aria-describedby") {
|
|
40418
|
-
overrideProps[propName] = concatAriaDescribedby(childPropValue, slotPropValue);
|
|
40419
|
-
}
|
|
40420
|
-
}
|
|
40421
|
-
return { ...slotProps, ...overrideProps };
|
|
40422
|
-
}), "mergeProps");
|
|
40423
|
-
function concatAriaDescribedby(...values) {
|
|
40424
|
-
const ids = /* @__PURE__ */ new Set();
|
|
40425
|
-
for (const value of values) {
|
|
40426
|
-
if (typeof value !== "string") continue;
|
|
40427
|
-
for (const id of String(value).trim().split(/\s+/)) {
|
|
40428
|
-
if (id) ids.add(id);
|
|
40429
|
-
}
|
|
40430
|
-
}
|
|
40431
|
-
return ids.size > 0 ? Array.from(ids).join(" ") : void 0;
|
|
40432
|
-
}
|
|
40433
|
-
__name6(concatAriaDescribedby, "concatAriaDescribedby");
|
|
40434
|
-
var SlotContext = React18.createContext(mergeProps);
|
|
40435
|
-
SlotContext.displayName = "SlotContext";
|
|
40436
40382
|
// @__NO_SIDE_EFFECTS__
|
|
40437
40383
|
function createSlot(ownerName) {
|
|
40438
40384
|
const Slot2 = React18.forwardRef((props, forwardedRef) => {
|
|
40439
|
-
|
|
40440
|
-
let { children, mergeProps: mergePropsProp = context, ...slotProps } = props;
|
|
40385
|
+
let { children, ...slotProps } = props;
|
|
40441
40386
|
let slottableElement = null;
|
|
40442
40387
|
let hasSlottable = false;
|
|
40443
40388
|
const newChildren = [];
|
|
@@ -40479,10 +40424,7 @@ function createSlot(ownerName) {
|
|
|
40479
40424
|
}
|
|
40480
40425
|
return children;
|
|
40481
40426
|
}
|
|
40482
|
-
const mergedProps =
|
|
40483
|
-
slotProps,
|
|
40484
|
-
slottableElement.props ?? {}
|
|
40485
|
-
);
|
|
40427
|
+
const mergedProps = mergeProps(slotProps, slottableElement.props ?? {});
|
|
40486
40428
|
if (slottableElement.type !== React18.Fragment) {
|
|
40487
40429
|
mergedProps.ref = forwardedRef ? composedRef : slottableElementRef;
|
|
40488
40430
|
}
|
|
@@ -40509,6 +40451,31 @@ var getSlottableElementFromSlottable = /* @__PURE__ */ __name6((slottable, child
|
|
|
40509
40451
|
}
|
|
40510
40452
|
return React18.isValidElement(child) ? child : null;
|
|
40511
40453
|
}, "getSlottableElementFromSlottable");
|
|
40454
|
+
function mergeProps(slotProps, childProps) {
|
|
40455
|
+
const overrideProps = { ...childProps };
|
|
40456
|
+
for (const propName in childProps) {
|
|
40457
|
+
const slotPropValue = slotProps[propName];
|
|
40458
|
+
const childPropValue = childProps[propName];
|
|
40459
|
+
const isHandler = /^on[A-Z]/.test(propName);
|
|
40460
|
+
if (isHandler) {
|
|
40461
|
+
if (slotPropValue && childPropValue) {
|
|
40462
|
+
overrideProps[propName] = (...args) => {
|
|
40463
|
+
const result = childPropValue(...args);
|
|
40464
|
+
slotPropValue(...args);
|
|
40465
|
+
return result;
|
|
40466
|
+
};
|
|
40467
|
+
} else if (slotPropValue) {
|
|
40468
|
+
overrideProps[propName] = slotPropValue;
|
|
40469
|
+
}
|
|
40470
|
+
} else if (propName === "style") {
|
|
40471
|
+
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
|
|
40472
|
+
} else if (propName === "className") {
|
|
40473
|
+
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
|
40474
|
+
}
|
|
40475
|
+
}
|
|
40476
|
+
return { ...slotProps, ...overrideProps };
|
|
40477
|
+
}
|
|
40478
|
+
__name6(mergeProps, "mergeProps");
|
|
40512
40479
|
function getElementRef(element) {
|
|
40513
40480
|
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
|
40514
40481
|
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
@@ -40545,7 +40512,7 @@ var createSlottableError = /* @__PURE__ */ __name6((ownerName) => {
|
|
|
40545
40512
|
var use = React18[" use ".trim().toString()];
|
|
40546
40513
|
|
|
40547
40514
|
// node_modules/@radix-ui/react-primitive/dist/index.mjs
|
|
40548
|
-
import { jsx as
|
|
40515
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
40549
40516
|
var __defProp9 = Object.defineProperty;
|
|
40550
40517
|
var __name7 = (target, value) => __defProp9(target, "name", { value, configurable: true });
|
|
40551
40518
|
var NODES = [
|
|
@@ -40575,7 +40542,7 @@ var Primitive = NODES.reduce((primitive, node) => {
|
|
|
40575
40542
|
if (typeof window !== "undefined") {
|
|
40576
40543
|
window[/* @__PURE__ */ Symbol.for("radix-ui")] = true;
|
|
40577
40544
|
}
|
|
40578
|
-
return /* @__PURE__ */
|
|
40545
|
+
return /* @__PURE__ */ jsx22(Comp, { ...primitiveProps, ref: forwardedRef });
|
|
40579
40546
|
});
|
|
40580
40547
|
Node2.displayName = `Primitive.${node}`;
|
|
40581
40548
|
return { ...primitive, [node]: Node2 };
|
|
@@ -40590,9 +40557,9 @@ import * as React43 from "react";
|
|
|
40590
40557
|
|
|
40591
40558
|
// node_modules/@radix-ui/react-collection/dist/index.mjs
|
|
40592
40559
|
import * as React20 from "react";
|
|
40593
|
-
import { jsx as
|
|
40560
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
40594
40561
|
import * as React23 from "react";
|
|
40595
|
-
import { jsx as
|
|
40562
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
40596
40563
|
var __defProp10 = Object.defineProperty;
|
|
40597
40564
|
var __name8 = (target, value) => __defProp10(target, "name", { value, configurable: true });
|
|
40598
40565
|
// @__NO_SIDE_EFFECTS__
|
|
@@ -40607,7 +40574,7 @@ function createCollection(name) {
|
|
|
40607
40574
|
const { scope, children } = props;
|
|
40608
40575
|
const ref = React20.useRef(null);
|
|
40609
40576
|
const itemMap = React20.useRef(/* @__PURE__ */ new Map()).current;
|
|
40610
|
-
return /* @__PURE__ */
|
|
40577
|
+
return /* @__PURE__ */ jsx23(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
|
|
40611
40578
|
}, "CollectionProvider");
|
|
40612
40579
|
CollectionProvider.displayName = PROVIDER_NAME;
|
|
40613
40580
|
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
|
@@ -40617,7 +40584,7 @@ function createCollection(name) {
|
|
|
40617
40584
|
const { scope, children } = props;
|
|
40618
40585
|
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
|
40619
40586
|
const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
|
|
40620
|
-
return /* @__PURE__ */
|
|
40587
|
+
return /* @__PURE__ */ jsx23(CollectionSlotImpl, { ref: composedRefs, children });
|
|
40621
40588
|
}
|
|
40622
40589
|
);
|
|
40623
40590
|
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
|
@@ -40634,7 +40601,7 @@ function createCollection(name) {
|
|
|
40634
40601
|
context.itemMap.set(ref, { ref, ...itemData });
|
|
40635
40602
|
return () => void context.itemMap.delete(ref);
|
|
40636
40603
|
});
|
|
40637
|
-
return /* @__PURE__ */
|
|
40604
|
+
return /* @__PURE__ */ jsx23(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
|
|
40638
40605
|
}
|
|
40639
40606
|
);
|
|
40640
40607
|
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
|
@@ -40984,12 +40951,12 @@ function createCollection2(name) {
|
|
|
40984
40951
|
}
|
|
40985
40952
|
);
|
|
40986
40953
|
const CollectionProvider = /* @__PURE__ */ __name8(({ state, ...props }) => {
|
|
40987
|
-
return state ? /* @__PURE__ */
|
|
40954
|
+
return state ? /* @__PURE__ */ jsx24(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx24(CollectionInit, { ...props });
|
|
40988
40955
|
}, "CollectionProvider");
|
|
40989
40956
|
CollectionProvider.displayName = PROVIDER_NAME;
|
|
40990
40957
|
const CollectionInit = /* @__PURE__ */ __name8((props) => {
|
|
40991
40958
|
const state = useInitCollection();
|
|
40992
|
-
return /* @__PURE__ */
|
|
40959
|
+
return /* @__PURE__ */ jsx24(CollectionProviderImpl, { ...props, state });
|
|
40993
40960
|
}, "CollectionInit");
|
|
40994
40961
|
CollectionInit.displayName = PROVIDER_NAME + "Init";
|
|
40995
40962
|
const CollectionProviderImpl = /* @__PURE__ */ __name8((props) => {
|
|
@@ -41012,7 +40979,7 @@ function createCollection2(name) {
|
|
|
41012
40979
|
observer.disconnect();
|
|
41013
40980
|
};
|
|
41014
40981
|
}, [collectionElement]);
|
|
41015
|
-
return /* @__PURE__ */
|
|
40982
|
+
return /* @__PURE__ */ jsx24(
|
|
41016
40983
|
CollectionContextProvider,
|
|
41017
40984
|
{
|
|
41018
40985
|
scope,
|
|
@@ -41033,7 +41000,7 @@ function createCollection2(name) {
|
|
|
41033
41000
|
const { scope, children } = props;
|
|
41034
41001
|
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
|
41035
41002
|
const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
|
|
41036
|
-
return /* @__PURE__ */
|
|
41003
|
+
return /* @__PURE__ */ jsx24(CollectionSlotImpl, { ref: composedRefs, children });
|
|
41037
41004
|
}
|
|
41038
41005
|
);
|
|
41039
41006
|
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
|
@@ -41075,7 +41042,7 @@ function createCollection2(name) {
|
|
|
41075
41042
|
});
|
|
41076
41043
|
};
|
|
41077
41044
|
}, [element, memoizedItemData, setItemMap]);
|
|
41078
|
-
return /* @__PURE__ */
|
|
41045
|
+
return /* @__PURE__ */ jsx24(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
|
|
41079
41046
|
}
|
|
41080
41047
|
);
|
|
41081
41048
|
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
|
@@ -41136,7 +41103,7 @@ __name8(getChildListObserver, "getChildListObserver");
|
|
|
41136
41103
|
|
|
41137
41104
|
// node_modules/@radix-ui/react-direction/dist/index.mjs
|
|
41138
41105
|
import * as React21 from "react";
|
|
41139
|
-
import { jsx as
|
|
41106
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
41140
41107
|
var __defProp11 = Object.defineProperty;
|
|
41141
41108
|
var __name9 = (target, value) => __defProp11(target, "name", { value, configurable: true });
|
|
41142
41109
|
var DirectionContext = React21.createContext(void 0);
|
|
@@ -41163,7 +41130,7 @@ function useCallbackRef(callback) {
|
|
|
41163
41130
|
__name10(useCallbackRef, "useCallbackRef");
|
|
41164
41131
|
|
|
41165
41132
|
// node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
|
|
41166
|
-
import { jsx as
|
|
41133
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
41167
41134
|
var __defProp13 = Object.defineProperty;
|
|
41168
41135
|
var __name11 = (target, value) => __defProp13(target, "name", { value, configurable: true });
|
|
41169
41136
|
var CONTEXT_UPDATE = "dismissableLayer.update";
|
|
@@ -41295,7 +41262,7 @@ var DismissableLayer = /* @__PURE__ */ React25.forwardRef(
|
|
|
41295
41262
|
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
41296
41263
|
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
41297
41264
|
}, []);
|
|
41298
|
-
return /* @__PURE__ */
|
|
41265
|
+
return /* @__PURE__ */ jsx26(
|
|
41299
41266
|
Primitive.div,
|
|
41300
41267
|
{
|
|
41301
41268
|
...layerProps,
|
|
@@ -41544,7 +41511,7 @@ __name12(createFocusGuard, "createFocusGuard");
|
|
|
41544
41511
|
|
|
41545
41512
|
// node_modules/@radix-ui/react-focus-scope/dist/index.mjs
|
|
41546
41513
|
import * as React27 from "react";
|
|
41547
|
-
import { jsx as
|
|
41514
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
41548
41515
|
var __defProp15 = Object.defineProperty;
|
|
41549
41516
|
var __name13 = (target, value) => __defProp15(target, "name", { value, configurable: true });
|
|
41550
41517
|
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
|
@@ -41555,7 +41522,6 @@ var FocusScope = /* @__PURE__ */ React27.forwardRef(
|
|
|
41555
41522
|
const {
|
|
41556
41523
|
loop = false,
|
|
41557
41524
|
trapped = false,
|
|
41558
|
-
branches,
|
|
41559
41525
|
onMountAutoFocus: onMountAutoFocusProp,
|
|
41560
41526
|
onUnmountAutoFocus: onUnmountAutoFocusProp,
|
|
41561
41527
|
...scopeProps
|
|
@@ -41565,18 +41531,6 @@ var FocusScope = /* @__PURE__ */ React27.forwardRef(
|
|
|
41565
41531
|
const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);
|
|
41566
41532
|
const lastFocusedElementRef = React27.useRef(null);
|
|
41567
41533
|
const composedRefs = useComposedRefs(forwardedRef, setContainer);
|
|
41568
|
-
const branchesRef = React27.useRef(branches);
|
|
41569
|
-
React27.useEffect(() => {
|
|
41570
|
-
branchesRef.current = branches;
|
|
41571
|
-
});
|
|
41572
|
-
const isTargetInScope = React27.useCallback(
|
|
41573
|
-
(target) => {
|
|
41574
|
-
if (!target) return false;
|
|
41575
|
-
if (container?.contains(target)) return true;
|
|
41576
|
-
return Boolean(branchesRef.current?.some((branch) => branch.contains(target)));
|
|
41577
|
-
},
|
|
41578
|
-
[container]
|
|
41579
|
-
);
|
|
41580
41534
|
const focusScope = React27.useRef({
|
|
41581
41535
|
paused: false,
|
|
41582
41536
|
pause() {
|
|
@@ -41591,7 +41545,7 @@ var FocusScope = /* @__PURE__ */ React27.forwardRef(
|
|
|
41591
41545
|
let handleFocusIn2 = function(event) {
|
|
41592
41546
|
if (focusScope.paused || !container) return;
|
|
41593
41547
|
const target = event.target;
|
|
41594
|
-
if (
|
|
41548
|
+
if (container.contains(target)) {
|
|
41595
41549
|
lastFocusedElementRef.current = target;
|
|
41596
41550
|
} else {
|
|
41597
41551
|
focus(lastFocusedElementRef.current, { select: true });
|
|
@@ -41600,7 +41554,7 @@ var FocusScope = /* @__PURE__ */ React27.forwardRef(
|
|
|
41600
41554
|
if (focusScope.paused || !container) return;
|
|
41601
41555
|
const relatedTarget = event.relatedTarget;
|
|
41602
41556
|
if (relatedTarget === null) return;
|
|
41603
|
-
if (!
|
|
41557
|
+
if (!container.contains(relatedTarget)) {
|
|
41604
41558
|
focus(lastFocusedElementRef.current, { select: true });
|
|
41605
41559
|
}
|
|
41606
41560
|
}, handleMutations2 = function(mutations) {
|
|
@@ -41624,7 +41578,7 @@ var FocusScope = /* @__PURE__ */ React27.forwardRef(
|
|
|
41624
41578
|
mutationObserver.disconnect();
|
|
41625
41579
|
};
|
|
41626
41580
|
}
|
|
41627
|
-
}, [trapped, container, focusScope.paused
|
|
41581
|
+
}, [trapped, container, focusScope.paused]);
|
|
41628
41582
|
React27.useEffect(() => {
|
|
41629
41583
|
if (container) {
|
|
41630
41584
|
focusScopesStack.add(focusScope);
|
|
@@ -41681,32 +41635,9 @@ var FocusScope = /* @__PURE__ */ React27.forwardRef(
|
|
|
41681
41635
|
},
|
|
41682
41636
|
[loop, trapped, focusScope.paused]
|
|
41683
41637
|
);
|
|
41684
|
-
return /* @__PURE__ */
|
|
41638
|
+
return /* @__PURE__ */ jsx27(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });
|
|
41685
41639
|
}, "FocusScope")
|
|
41686
41640
|
);
|
|
41687
|
-
var FocusScopeBranchContext = React27.createContext(null);
|
|
41688
|
-
var FocusScopeBranchProvider = FocusScopeBranchContext.Provider;
|
|
41689
|
-
function useFocusScopeBranchRegistry() {
|
|
41690
|
-
const [nodes, setNodes] = React27.useState([]);
|
|
41691
|
-
const registry = React27.useMemo(
|
|
41692
|
-
() => ({
|
|
41693
|
-
add: /* @__PURE__ */ __name13((node) => setNodes((prev) => prev.includes(node) ? prev : [...prev, node]), "add"),
|
|
41694
|
-
remove: /* @__PURE__ */ __name13((node) => setNodes((prev) => prev.filter((current) => current !== node)), "remove")
|
|
41695
|
-
}),
|
|
41696
|
-
[]
|
|
41697
|
-
);
|
|
41698
|
-
return { nodes, registry };
|
|
41699
|
-
}
|
|
41700
|
-
__name13(useFocusScopeBranchRegistry, "useFocusScopeBranchRegistry");
|
|
41701
|
-
function useFocusScopeBranch(node) {
|
|
41702
|
-
const registry = React27.useContext(FocusScopeBranchContext);
|
|
41703
|
-
React27.useEffect(() => {
|
|
41704
|
-
if (!node || !registry) return;
|
|
41705
|
-
registry.add(node);
|
|
41706
|
-
return () => registry.remove(node);
|
|
41707
|
-
}, [node, registry]);
|
|
41708
|
-
}
|
|
41709
|
-
__name13(useFocusScopeBranch, "useFocusScopeBranch");
|
|
41710
41641
|
function focusFirst(candidates, { select = false } = {}) {
|
|
41711
41642
|
const previouslyFocusedElement = document.activeElement;
|
|
41712
41643
|
for (const candidate of candidates) {
|
|
@@ -43763,17 +43694,9 @@ function useSize(element) {
|
|
|
43763
43694
|
__name15(useSize, "useSize");
|
|
43764
43695
|
|
|
43765
43696
|
// node_modules/@radix-ui/react-popper/dist/index.mjs
|
|
43766
|
-
import { jsx as
|
|
43697
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
43767
43698
|
var __defProp18 = Object.defineProperty;
|
|
43768
43699
|
var __name16 = (target, value) => __defProp18(target, "name", { value, configurable: true });
|
|
43769
|
-
var Sticky = {
|
|
43770
|
-
Partial: "partial",
|
|
43771
|
-
Always: "always"
|
|
43772
|
-
};
|
|
43773
|
-
var UpdatePositionStrategy = {
|
|
43774
|
-
Optimized: "optimized",
|
|
43775
|
-
Always: "always"
|
|
43776
|
-
};
|
|
43777
43700
|
var POPPER_NAME = "Popper";
|
|
43778
43701
|
var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
|
|
43779
43702
|
var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
|
|
@@ -43781,7 +43704,7 @@ var Popper = /* @__PURE__ */ __name16((props) => {
|
|
|
43781
43704
|
const { __scopePopper, children } = props;
|
|
43782
43705
|
const [anchor, setAnchor] = React31.useState(null);
|
|
43783
43706
|
const [placementState, setPlacementState] = React31.useState(void 0);
|
|
43784
|
-
return /* @__PURE__ */
|
|
43707
|
+
return /* @__PURE__ */ jsx28(
|
|
43785
43708
|
PopperProvider,
|
|
43786
43709
|
{
|
|
43787
43710
|
scope: __scopePopper,
|
|
@@ -43824,7 +43747,7 @@ var PopperAnchor = /* @__PURE__ */ React31.forwardRef(
|
|
|
43824
43747
|
const sideAndAlign = context.placementState && getSideAndAlignFromPlacement(context.placementState);
|
|
43825
43748
|
const placedSide = sideAndAlign?.[0];
|
|
43826
43749
|
const placedAlign = sideAndAlign?.[1];
|
|
43827
|
-
return virtualRef ? null : /* @__PURE__ */
|
|
43750
|
+
return virtualRef ? null : /* @__PURE__ */ jsx28(
|
|
43828
43751
|
Primitive.div,
|
|
43829
43752
|
{
|
|
43830
43753
|
"data-radix-popper-side": placedSide,
|
|
@@ -43849,9 +43772,9 @@ var PopperContent = /* @__PURE__ */ React31.forwardRef(
|
|
|
43849
43772
|
avoidCollisions = true,
|
|
43850
43773
|
collisionBoundary = [],
|
|
43851
43774
|
collisionPadding: collisionPaddingProp = 0,
|
|
43852
|
-
sticky =
|
|
43775
|
+
sticky = "partial",
|
|
43853
43776
|
hideWhenDetached = false,
|
|
43854
|
-
updatePositionStrategy =
|
|
43777
|
+
updatePositionStrategy = "optimized",
|
|
43855
43778
|
onPlaced,
|
|
43856
43779
|
...contentProps
|
|
43857
43780
|
} = props;
|
|
@@ -43878,7 +43801,7 @@ var PopperContent = /* @__PURE__ */ React31.forwardRef(
|
|
|
43878
43801
|
placement: desiredPlacement,
|
|
43879
43802
|
whileElementsMounted: /* @__PURE__ */ __name16((...args) => {
|
|
43880
43803
|
const cleanup = autoUpdate(...args, {
|
|
43881
|
-
animationFrame: updatePositionStrategy ===
|
|
43804
|
+
animationFrame: updatePositionStrategy === "always"
|
|
43882
43805
|
});
|
|
43883
43806
|
return cleanup;
|
|
43884
43807
|
}, "whileElementsMounted"),
|
|
@@ -43890,7 +43813,7 @@ var PopperContent = /* @__PURE__ */ React31.forwardRef(
|
|
|
43890
43813
|
avoidCollisions && shift3({
|
|
43891
43814
|
mainAxis: true,
|
|
43892
43815
|
crossAxis: false,
|
|
43893
|
-
limiter: sticky ===
|
|
43816
|
+
limiter: sticky === "partial" ? limitShift3() : void 0,
|
|
43894
43817
|
...detectOverflowOptions
|
|
43895
43818
|
}),
|
|
43896
43819
|
avoidCollisions && flip3({ ...detectOverflowOptions }),
|
|
@@ -43942,7 +43865,7 @@ var PopperContent = /* @__PURE__ */ React31.forwardRef(
|
|
|
43942
43865
|
useLayoutEffect2(() => {
|
|
43943
43866
|
if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
|
|
43944
43867
|
}, [content]);
|
|
43945
|
-
return /* @__PURE__ */
|
|
43868
|
+
return /* @__PURE__ */ jsx28(
|
|
43946
43869
|
"div",
|
|
43947
43870
|
{
|
|
43948
43871
|
ref: refs.setFloating,
|
|
@@ -43966,7 +43889,7 @@ var PopperContent = /* @__PURE__ */ React31.forwardRef(
|
|
|
43966
43889
|
}
|
|
43967
43890
|
},
|
|
43968
43891
|
dir: props.dir,
|
|
43969
|
-
children: /* @__PURE__ */
|
|
43892
|
+
children: /* @__PURE__ */ jsx28(
|
|
43970
43893
|
PopperContentProvider,
|
|
43971
43894
|
{
|
|
43972
43895
|
scope: __scopePopper,
|
|
@@ -43976,7 +43899,7 @@ var PopperContent = /* @__PURE__ */ React31.forwardRef(
|
|
|
43976
43899
|
arrowX,
|
|
43977
43900
|
arrowY,
|
|
43978
43901
|
shouldHideArrow: cannotCenterArrow,
|
|
43979
|
-
children: /* @__PURE__ */
|
|
43902
|
+
children: /* @__PURE__ */ jsx28(
|
|
43980
43903
|
Primitive.div,
|
|
43981
43904
|
{
|
|
43982
43905
|
"data-side": placedSide,
|
|
@@ -44038,11 +43961,14 @@ function getSideAndAlignFromPlacement(placement) {
|
|
|
44038
43961
|
return [side, align];
|
|
44039
43962
|
}
|
|
44040
43963
|
__name16(getSideAndAlignFromPlacement, "getSideAndAlignFromPlacement");
|
|
43964
|
+
var Root2 = Popper;
|
|
43965
|
+
var Anchor = PopperAnchor;
|
|
43966
|
+
var Content = PopperContent;
|
|
44041
43967
|
|
|
44042
43968
|
// node_modules/@radix-ui/react-portal/dist/index.mjs
|
|
44043
43969
|
import * as React32 from "react";
|
|
44044
43970
|
import * as ReactDOM4 from "react-dom";
|
|
44045
|
-
import { jsx as
|
|
43971
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
44046
43972
|
var __defProp19 = Object.defineProperty;
|
|
44047
43973
|
var __name17 = (target, value) => __defProp19(target, "name", { value, configurable: true });
|
|
44048
43974
|
var Portal = /* @__PURE__ */ React32.forwardRef(
|
|
@@ -44051,7 +43977,7 @@ var Portal = /* @__PURE__ */ React32.forwardRef(
|
|
|
44051
43977
|
const [mounted, setMounted] = React32.useState(false);
|
|
44052
43978
|
useLayoutEffect2(() => setMounted(true), []);
|
|
44053
43979
|
const container = containerProp || mounted && globalThis?.document?.body;
|
|
44054
|
-
return container ? ReactDOM4.createPortal(/* @__PURE__ */
|
|
43980
|
+
return container ? ReactDOM4.createPortal(/* @__PURE__ */ jsx29(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
|
|
44055
43981
|
}, "Portal")
|
|
44056
43982
|
);
|
|
44057
43983
|
|
|
@@ -44271,7 +44197,7 @@ __name19(useIsHydratedModern, "useIsHydratedModern");
|
|
|
44271
44197
|
var useIsHydrated2 = typeof useReactSyncExternalStore === "function" ? useIsHydratedModern : useIsHydrated;
|
|
44272
44198
|
|
|
44273
44199
|
// node_modules/@radix-ui/react-roving-focus/dist/index.mjs
|
|
44274
|
-
import { jsx as
|
|
44200
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
44275
44201
|
var __defProp22 = Object.defineProperty;
|
|
44276
44202
|
var __name20 = (target, value) => __defProp22(target, "name", { value, configurable: true });
|
|
44277
44203
|
var ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus";
|
|
@@ -44282,19 +44208,11 @@ var [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContext
|
|
|
44282
44208
|
GROUP_NAME,
|
|
44283
44209
|
[createCollectionScope]
|
|
44284
44210
|
);
|
|
44285
|
-
var Orientation = {
|
|
44286
|
-
Vertical: "vertical",
|
|
44287
|
-
Horizontal: "horizontal"
|
|
44288
|
-
};
|
|
44289
|
-
var Direction = {
|
|
44290
|
-
LTR: "ltr",
|
|
44291
|
-
RTL: "rtl"
|
|
44292
|
-
};
|
|
44293
44211
|
var [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);
|
|
44294
44212
|
var RovingFocusGroup = /* @__PURE__ */ React35.forwardRef(
|
|
44295
44213
|
// blank line to reduce diff noise
|
|
44296
44214
|
/* @__PURE__ */ __name20(function RovingFocusGroup2(props, forwardedRef) {
|
|
44297
|
-
return /* @__PURE__ */
|
|
44215
|
+
return /* @__PURE__ */ jsx30(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx30(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx30(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });
|
|
44298
44216
|
}, "RovingFocusGroup")
|
|
44299
44217
|
);
|
|
44300
44218
|
var RovingFocusGroupImpl = /* @__PURE__ */ React35.forwardRef(/* @__PURE__ */ __name20(function RovingFocusGroupImpl2(props, forwardedRef) {
|
|
@@ -44331,7 +44249,7 @@ var RovingFocusGroupImpl = /* @__PURE__ */ React35.forwardRef(/* @__PURE__ */ __
|
|
|
44331
44249
|
return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
|
|
44332
44250
|
}
|
|
44333
44251
|
}, [handleEntryFocus]);
|
|
44334
|
-
return /* @__PURE__ */
|
|
44252
|
+
return /* @__PURE__ */ jsx30(
|
|
44335
44253
|
RovingFocusProvider,
|
|
44336
44254
|
{
|
|
44337
44255
|
scope: __scopeRovingFocusGroup,
|
|
@@ -44352,7 +44270,7 @@ var RovingFocusGroupImpl = /* @__PURE__ */ React35.forwardRef(/* @__PURE__ */ __
|
|
|
44352
44270
|
() => setFocusableItemsCount((prevCount) => prevCount - 1),
|
|
44353
44271
|
[]
|
|
44354
44272
|
),
|
|
44355
|
-
children: /* @__PURE__ */
|
|
44273
|
+
children: /* @__PURE__ */ jsx30(
|
|
44356
44274
|
Primitive.div,
|
|
44357
44275
|
{
|
|
44358
44276
|
tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
|
|
@@ -44420,14 +44338,14 @@ var RovingFocusGroupItem = /* @__PURE__ */ React35.forwardRef(
|
|
|
44420
44338
|
onFocusableItemAdd();
|
|
44421
44339
|
return () => onFocusableItemRemove();
|
|
44422
44340
|
}, [isHydrated, focusable, onFocusableItemAdd, onFocusableItemRemove]);
|
|
44423
|
-
return /* @__PURE__ */
|
|
44341
|
+
return /* @__PURE__ */ jsx30(
|
|
44424
44342
|
Collection.ItemSlot,
|
|
44425
44343
|
{
|
|
44426
44344
|
scope: __scopeRovingFocusGroup,
|
|
44427
44345
|
id,
|
|
44428
44346
|
focusable,
|
|
44429
44347
|
active,
|
|
44430
|
-
children: /* @__PURE__ */
|
|
44348
|
+
children: /* @__PURE__ */ jsx30(
|
|
44431
44349
|
Primitive.span,
|
|
44432
44350
|
{
|
|
44433
44351
|
tabIndex: isCurrentTabStop ? 0 : -1,
|
|
@@ -44478,18 +44396,14 @@ var MAP_KEY_TO_FOCUS_INTENT = {
|
|
|
44478
44396
|
End: "last"
|
|
44479
44397
|
};
|
|
44480
44398
|
function getDirectionAwareKey(key, dir) {
|
|
44481
|
-
if (dir !==
|
|
44399
|
+
if (dir !== "rtl") return key;
|
|
44482
44400
|
return key === "ArrowLeft" ? "ArrowRight" : key === "ArrowRight" ? "ArrowLeft" : key;
|
|
44483
44401
|
}
|
|
44484
44402
|
__name20(getDirectionAwareKey, "getDirectionAwareKey");
|
|
44485
44403
|
function getFocusIntent(event, orientation2, dir) {
|
|
44486
44404
|
const key = getDirectionAwareKey(event.key, dir);
|
|
44487
|
-
if (orientation2 ===
|
|
44488
|
-
|
|
44489
|
-
}
|
|
44490
|
-
if (orientation2 === Orientation.Horizontal && ["ArrowUp", "ArrowDown"].includes(key)) {
|
|
44491
|
-
return void 0;
|
|
44492
|
-
}
|
|
44405
|
+
if (orientation2 === "vertical" && ["ArrowLeft", "ArrowRight"].includes(key)) return void 0;
|
|
44406
|
+
if (orientation2 === "horizontal" && ["ArrowUp", "ArrowDown"].includes(key)) return void 0;
|
|
44493
44407
|
return MAP_KEY_TO_FOCUS_INTENT[key];
|
|
44494
44408
|
}
|
|
44495
44409
|
__name20(getFocusIntent, "getFocusIntent");
|
|
@@ -44506,6 +44420,8 @@ function wrapArray(array, startIndex) {
|
|
|
44506
44420
|
return array.map((_, index2) => array[(startIndex + index2) % array.length]);
|
|
44507
44421
|
}
|
|
44508
44422
|
__name20(wrapArray, "wrapArray");
|
|
44423
|
+
var Root = RovingFocusGroup;
|
|
44424
|
+
var Item = RovingFocusGroupItem;
|
|
44509
44425
|
|
|
44510
44426
|
// node_modules/aria-hidden/dist/es2015/index.js
|
|
44511
44427
|
var getDefaultParent = function(originalTarget) {
|
|
@@ -45349,13 +45265,9 @@ ReactRemoveScroll.classNames = RemoveScroll.classNames;
|
|
|
45349
45265
|
var Combination_default = ReactRemoveScroll;
|
|
45350
45266
|
|
|
45351
45267
|
// node_modules/@radix-ui/react-menu/dist/index.mjs
|
|
45352
|
-
import { jsx as
|
|
45268
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
45353
45269
|
var __defProp23 = Object.defineProperty;
|
|
45354
45270
|
var __name21 = (target, value) => __defProp23(target, "name", { value, configurable: true });
|
|
45355
|
-
var Direction2 = {
|
|
45356
|
-
LTR: "ltr",
|
|
45357
|
-
RTL: "rtl"
|
|
45358
|
-
};
|
|
45359
45271
|
var SELECTION_KEYS = ["Enter", " "];
|
|
45360
45272
|
var FIRST_KEYS = ["ArrowDown", "PageUp", "Home"];
|
|
45361
45273
|
var LAST_KEYS = ["ArrowUp", "PageDown", "End"];
|
|
@@ -45408,7 +45320,7 @@ var Menu = /* @__PURE__ */ __name21((props) => {
|
|
|
45408
45320
|
window.addEventListener("blur", handleBlur);
|
|
45409
45321
|
return () => window.removeEventListener("blur", handleBlur);
|
|
45410
45322
|
}, [open, handleOpenChange]);
|
|
45411
|
-
return /* @__PURE__ */
|
|
45323
|
+
return /* @__PURE__ */ jsx31(Root2, { ...popperScope, children: /* @__PURE__ */ jsx31(
|
|
45412
45324
|
MenuProvider,
|
|
45413
45325
|
{
|
|
45414
45326
|
scope: __scopeMenu,
|
|
@@ -45416,7 +45328,7 @@ var Menu = /* @__PURE__ */ __name21((props) => {
|
|
|
45416
45328
|
onOpenChange: handleOpenChange,
|
|
45417
45329
|
content,
|
|
45418
45330
|
onContentChange: setContent,
|
|
45419
|
-
children: /* @__PURE__ */
|
|
45331
|
+
children: /* @__PURE__ */ jsx31(
|
|
45420
45332
|
MenuRootProvider,
|
|
45421
45333
|
{
|
|
45422
45334
|
scope: __scopeMenu,
|
|
@@ -45434,7 +45346,7 @@ var MenuAnchor = /* @__PURE__ */ React43.forwardRef(
|
|
|
45434
45346
|
/* @__PURE__ */ __name21(function MenuAnchor2(props, forwardedRef) {
|
|
45435
45347
|
const { __scopeMenu, ...anchorProps } = props;
|
|
45436
45348
|
const popperScope = usePopperScope(__scopeMenu);
|
|
45437
|
-
return /* @__PURE__ */
|
|
45349
|
+
return /* @__PURE__ */ jsx31(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
|
|
45438
45350
|
}, "MenuAnchor")
|
|
45439
45351
|
);
|
|
45440
45352
|
var PORTAL_NAME = "MenuPortal";
|
|
@@ -45444,7 +45356,7 @@ var [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {
|
|
|
45444
45356
|
var MenuPortal = /* @__PURE__ */ __name21((props) => {
|
|
45445
45357
|
const { __scopeMenu, forceMount, children, container } = props;
|
|
45446
45358
|
const context = useMenuContext(PORTAL_NAME, __scopeMenu);
|
|
45447
|
-
return /* @__PURE__ */
|
|
45359
|
+
return /* @__PURE__ */ jsx31(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx31(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx31(Portal, { asChild: true, container, children }) }) });
|
|
45448
45360
|
}, "MenuPortal");
|
|
45449
45361
|
var CONTENT_NAME2 = "MenuContent";
|
|
45450
45362
|
var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME2);
|
|
@@ -45454,7 +45366,7 @@ var MenuContent = /* @__PURE__ */ React43.forwardRef(
|
|
|
45454
45366
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
45455
45367
|
const context = useMenuContext(CONTENT_NAME2, props.__scopeMenu);
|
|
45456
45368
|
const rootContext = useMenuRootContext(CONTENT_NAME2, props.__scopeMenu);
|
|
45457
|
-
return /* @__PURE__ */
|
|
45369
|
+
return /* @__PURE__ */ jsx31(Collection2.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx31(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx31(Collection2.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx31(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx31(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });
|
|
45458
45370
|
}, "MenuContent")
|
|
45459
45371
|
);
|
|
45460
45372
|
var MenuRootContentModal = /* @__PURE__ */ React43.forwardRef(
|
|
@@ -45467,7 +45379,7 @@ var MenuRootContentModal = /* @__PURE__ */ React43.forwardRef(
|
|
|
45467
45379
|
const content = ref.current;
|
|
45468
45380
|
if (content) return hideOthers(content);
|
|
45469
45381
|
}, []);
|
|
45470
|
-
return /* @__PURE__ */
|
|
45382
|
+
return /* @__PURE__ */ jsx31(
|
|
45471
45383
|
MenuContentImpl,
|
|
45472
45384
|
{
|
|
45473
45385
|
...props,
|
|
@@ -45487,7 +45399,7 @@ var MenuRootContentModal = /* @__PURE__ */ React43.forwardRef(
|
|
|
45487
45399
|
);
|
|
45488
45400
|
var MenuRootContentNonModal = /* @__PURE__ */ React43.forwardRef(/* @__PURE__ */ __name21(function MenuRootContentNonModal2(props, forwardedRef) {
|
|
45489
45401
|
const context = useMenuContext(CONTENT_NAME2, props.__scopeMenu);
|
|
45490
|
-
return /* @__PURE__ */
|
|
45402
|
+
return /* @__PURE__ */ jsx31(
|
|
45491
45403
|
MenuContentImpl,
|
|
45492
45404
|
{
|
|
45493
45405
|
...props,
|
|
@@ -45517,7 +45429,6 @@ var MenuContentImpl = /* @__PURE__ */ React43.forwardRef(
|
|
|
45517
45429
|
onInteractOutside,
|
|
45518
45430
|
onDismiss,
|
|
45519
45431
|
disableOutsideScroll,
|
|
45520
|
-
children,
|
|
45521
45432
|
...contentProps
|
|
45522
45433
|
} = props;
|
|
45523
45434
|
const context = useMenuContext(CONTENT_NAME2, __scopeMenu);
|
|
@@ -45527,32 +45438,15 @@ var MenuContentImpl = /* @__PURE__ */ React43.forwardRef(
|
|
|
45527
45438
|
const getItems = useCollection2(__scopeMenu);
|
|
45528
45439
|
const [currentItemId, setCurrentItemId] = React43.useState(null);
|
|
45529
45440
|
const contentRef = React43.useRef(null);
|
|
45530
|
-
const
|
|
45531
|
-
useFocusScopeBranch(branchNode);
|
|
45532
|
-
const { nodes: branchNodes, registry: branchRegistry } = useFocusScopeBranchRegistry();
|
|
45533
|
-
const isModal = Boolean(trapFocus || disableOutsideScroll);
|
|
45534
|
-
const composedRefs = useComposedRefs(
|
|
45535
|
-
forwardedRef,
|
|
45536
|
-
contentRef,
|
|
45537
|
-
context.onContentChange,
|
|
45538
|
-
setBranchNode
|
|
45539
|
-
);
|
|
45441
|
+
const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);
|
|
45540
45442
|
const timerRef = React43.useRef(0);
|
|
45541
45443
|
const searchRef = React43.useRef("");
|
|
45542
45444
|
const pointerGraceTimerRef = React43.useRef(0);
|
|
45543
45445
|
const pointerGraceIntentRef = React43.useRef(null);
|
|
45544
45446
|
const pointerDirRef = React43.useRef("right");
|
|
45545
45447
|
const lastPointerXRef = React43.useRef(0);
|
|
45546
|
-
const shards = React43.useMemo(
|
|
45547
|
-
() => disableOutsideScroll ? [contentRef, ...branchNodes.map((node) => ({ current: node }))] : [],
|
|
45548
|
-
[contentRef, branchNodes, disableOutsideScroll]
|
|
45549
|
-
);
|
|
45550
45448
|
const ScrollLockWrapper = disableOutsideScroll ? Combination_default : React43.Fragment;
|
|
45551
|
-
const scrollLockWrapperProps = disableOutsideScroll ? {
|
|
45552
|
-
as: Slot,
|
|
45553
|
-
allowPinchZoom: true,
|
|
45554
|
-
shards
|
|
45555
|
-
} : void 0;
|
|
45449
|
+
const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;
|
|
45556
45450
|
const handleTypeaheadSearch = /* @__PURE__ */ __name21((key) => {
|
|
45557
45451
|
const search = searchRef.current + key;
|
|
45558
45452
|
const items = getItems().filter((item) => !item.disabled);
|
|
@@ -45578,7 +45472,7 @@ var MenuContentImpl = /* @__PURE__ */ React43.forwardRef(
|
|
|
45578
45472
|
const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;
|
|
45579
45473
|
return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);
|
|
45580
45474
|
}, []);
|
|
45581
|
-
return /* @__PURE__ */
|
|
45475
|
+
return /* @__PURE__ */ jsx31(
|
|
45582
45476
|
MenuContentProvider,
|
|
45583
45477
|
{
|
|
45584
45478
|
scope: __scopeMenu,
|
|
@@ -45607,18 +45501,17 @@ var MenuContentImpl = /* @__PURE__ */ React43.forwardRef(
|
|
|
45607
45501
|
onPointerGraceIntentChange: React43.useCallback((intent) => {
|
|
45608
45502
|
pointerGraceIntentRef.current = intent;
|
|
45609
45503
|
}, []),
|
|
45610
|
-
children: /* @__PURE__ */
|
|
45504
|
+
children: /* @__PURE__ */ jsx31(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx31(
|
|
45611
45505
|
FocusScope,
|
|
45612
45506
|
{
|
|
45613
45507
|
asChild: true,
|
|
45614
45508
|
trapped: trapFocus,
|
|
45615
|
-
branches: branchNodes,
|
|
45616
45509
|
onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {
|
|
45617
45510
|
event.preventDefault();
|
|
45618
45511
|
contentRef.current?.focus({ preventScroll: true });
|
|
45619
45512
|
}),
|
|
45620
45513
|
onUnmountAutoFocus: onCloseAutoFocus,
|
|
45621
|
-
children: /* @__PURE__ */
|
|
45514
|
+
children: /* @__PURE__ */ jsx31(
|
|
45622
45515
|
DismissableLayer,
|
|
45623
45516
|
{
|
|
45624
45517
|
asChild: true,
|
|
@@ -45628,8 +45521,8 @@ var MenuContentImpl = /* @__PURE__ */ React43.forwardRef(
|
|
|
45628
45521
|
onFocusOutside,
|
|
45629
45522
|
onInteractOutside,
|
|
45630
45523
|
onDismiss,
|
|
45631
|
-
children: /* @__PURE__ */
|
|
45632
|
-
|
|
45524
|
+
children: /* @__PURE__ */ jsx31(
|
|
45525
|
+
Root,
|
|
45633
45526
|
{
|
|
45634
45527
|
asChild: true,
|
|
45635
45528
|
...rovingFocusGroupScope,
|
|
@@ -45642,8 +45535,8 @@ var MenuContentImpl = /* @__PURE__ */ React43.forwardRef(
|
|
|
45642
45535
|
if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();
|
|
45643
45536
|
}),
|
|
45644
45537
|
preventScrollOnEntryFocus: true,
|
|
45645
|
-
children: /* @__PURE__ */
|
|
45646
|
-
|
|
45538
|
+
children: /* @__PURE__ */ jsx31(
|
|
45539
|
+
Content,
|
|
45647
45540
|
{
|
|
45648
45541
|
role: "menu",
|
|
45649
45542
|
"aria-orientation": "vertical",
|
|
@@ -45689,8 +45582,7 @@ var MenuContentImpl = /* @__PURE__ */ React43.forwardRef(
|
|
|
45689
45582
|
lastPointerXRef.current = event.clientX;
|
|
45690
45583
|
}
|
|
45691
45584
|
})
|
|
45692
|
-
)
|
|
45693
|
-
children: isModal ? /* @__PURE__ */ jsx32(FocusScopeBranchProvider, { value: branchRegistry, children }) : children
|
|
45585
|
+
)
|
|
45694
45586
|
}
|
|
45695
45587
|
)
|
|
45696
45588
|
}
|
|
@@ -45727,7 +45619,7 @@ var MenuItem = /* @__PURE__ */ React43.forwardRef(
|
|
|
45727
45619
|
}
|
|
45728
45620
|
}
|
|
45729
45621
|
}, "handleSelect");
|
|
45730
|
-
return /* @__PURE__ */
|
|
45622
|
+
return /* @__PURE__ */ jsx31(
|
|
45731
45623
|
MenuItemImpl,
|
|
45732
45624
|
{
|
|
45733
45625
|
...itemProps,
|
|
@@ -45773,13 +45665,13 @@ var MenuItemImpl = /* @__PURE__ */ React43.forwardRef(
|
|
|
45773
45665
|
setTextContent((menuItem.textContent ?? "").trim());
|
|
45774
45666
|
}
|
|
45775
45667
|
}, [itemProps.children]);
|
|
45776
|
-
return /* @__PURE__ */
|
|
45668
|
+
return /* @__PURE__ */ jsx31(
|
|
45777
45669
|
Collection2.ItemSlot,
|
|
45778
45670
|
{
|
|
45779
45671
|
scope: __scopeMenu,
|
|
45780
45672
|
disabled,
|
|
45781
45673
|
textValue: textValue ?? textContent,
|
|
45782
|
-
children: /* @__PURE__ */
|
|
45674
|
+
children: /* @__PURE__ */ jsx31(Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx31(
|
|
45783
45675
|
Primitive.div,
|
|
45784
45676
|
{
|
|
45785
45677
|
role: "menuitem",
|
|
@@ -45828,7 +45720,7 @@ var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(
|
|
|
45828
45720
|
var MenuSeparator = /* @__PURE__ */ React43.forwardRef(
|
|
45829
45721
|
/* @__PURE__ */ __name21(function MenuSeparator2(props, forwardedRef) {
|
|
45830
45722
|
const { __scopeMenu, ...separatorProps } = props;
|
|
45831
|
-
return /* @__PURE__ */
|
|
45723
|
+
return /* @__PURE__ */ jsx31(
|
|
45832
45724
|
Primitive.div,
|
|
45833
45725
|
{
|
|
45834
45726
|
role: "separator",
|
|
@@ -45852,7 +45744,7 @@ var MenuSub = /* @__PURE__ */ __name21((props) => {
|
|
|
45852
45744
|
if (parentMenuContext.open === false) handleOpenChange(false);
|
|
45853
45745
|
return () => handleOpenChange(false);
|
|
45854
45746
|
}, [parentMenuContext.open, handleOpenChange]);
|
|
45855
|
-
return /* @__PURE__ */
|
|
45747
|
+
return /* @__PURE__ */ jsx31(Root2, { ...popperScope, children: /* @__PURE__ */ jsx31(
|
|
45856
45748
|
MenuProvider,
|
|
45857
45749
|
{
|
|
45858
45750
|
scope: __scopeMenu,
|
|
@@ -45860,7 +45752,7 @@ var MenuSub = /* @__PURE__ */ __name21((props) => {
|
|
|
45860
45752
|
onOpenChange: handleOpenChange,
|
|
45861
45753
|
content,
|
|
45862
45754
|
onContentChange: setContent,
|
|
45863
|
-
children: /* @__PURE__ */
|
|
45755
|
+
children: /* @__PURE__ */ jsx31(
|
|
45864
45756
|
MenuSubProvider,
|
|
45865
45757
|
{
|
|
45866
45758
|
scope: __scopeMenu,
|
|
@@ -45897,7 +45789,7 @@ var MenuSubTrigger = /* @__PURE__ */ React43.forwardRef(
|
|
|
45897
45789
|
};
|
|
45898
45790
|
}, [pointerGraceTimerRef, onPointerGraceIntentChange]);
|
|
45899
45791
|
const composedRefs = useComposedRefs(forwardedRef, subContext.onTriggerChange);
|
|
45900
|
-
return /* @__PURE__ */
|
|
45792
|
+
return /* @__PURE__ */ jsx31(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx31(
|
|
45901
45793
|
MenuItemImpl,
|
|
45902
45794
|
{
|
|
45903
45795
|
id: subContext.triggerId,
|
|
@@ -45990,7 +45882,7 @@ var MenuSubContent = /* @__PURE__ */ React43.forwardRef(
|
|
|
45990
45882
|
const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);
|
|
45991
45883
|
const ref = React43.useRef(null);
|
|
45992
45884
|
const composedRefs = useComposedRefs(forwardedRef, ref);
|
|
45993
|
-
return /* @__PURE__ */
|
|
45885
|
+
return /* @__PURE__ */ jsx31(Collection2.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx31(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx31(Collection2.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx31(
|
|
45994
45886
|
MenuContentImpl,
|
|
45995
45887
|
{
|
|
45996
45888
|
id: subContext.contentId,
|
|
@@ -45998,7 +45890,7 @@ var MenuSubContent = /* @__PURE__ */ React43.forwardRef(
|
|
|
45998
45890
|
...subContentProps,
|
|
45999
45891
|
ref: composedRefs,
|
|
46000
45892
|
align,
|
|
46001
|
-
side: rootContext.dir ===
|
|
45893
|
+
side: rootContext.dir === "rtl" ? "left" : "right",
|
|
46002
45894
|
disableOutsidePointerEvents: false,
|
|
46003
45895
|
disableOutsideScroll: false,
|
|
46004
45896
|
trapFocus: false,
|
|
@@ -46091,9 +45983,18 @@ function whenMouse(handler) {
|
|
|
46091
45983
|
return (event) => event.pointerType === "mouse" ? handler(event) : void 0;
|
|
46092
45984
|
}
|
|
46093
45985
|
__name21(whenMouse, "whenMouse");
|
|
45986
|
+
var Root3 = Menu;
|
|
45987
|
+
var Anchor2 = MenuAnchor;
|
|
45988
|
+
var Portal3 = MenuPortal;
|
|
45989
|
+
var Content2 = MenuContent;
|
|
45990
|
+
var Item2 = MenuItem;
|
|
45991
|
+
var Separator = MenuSeparator;
|
|
45992
|
+
var Sub = MenuSub;
|
|
45993
|
+
var SubTrigger = MenuSubTrigger;
|
|
45994
|
+
var SubContent = MenuSubContent;
|
|
46094
45995
|
|
|
46095
45996
|
// node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs
|
|
46096
|
-
import { jsx as
|
|
45997
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
46097
45998
|
var __defProp24 = Object.defineProperty;
|
|
46098
45999
|
var __name22 = (target, value) => __defProp24(target, "name", { value, configurable: true });
|
|
46099
46000
|
var DROPDOWN_MENU_NAME = "DropdownMenu";
|
|
@@ -46121,7 +46022,7 @@ var DropdownMenu = /* @__PURE__ */ __name22((props) => {
|
|
|
46121
46022
|
onChange: onOpenChange,
|
|
46122
46023
|
caller: DROPDOWN_MENU_NAME
|
|
46123
46024
|
});
|
|
46124
|
-
return /* @__PURE__ */
|
|
46025
|
+
return /* @__PURE__ */ jsx32(
|
|
46125
46026
|
DropdownMenuProvider,
|
|
46126
46027
|
{
|
|
46127
46028
|
scope: __scopeDropdownMenu,
|
|
@@ -46132,7 +46033,7 @@ var DropdownMenu = /* @__PURE__ */ __name22((props) => {
|
|
|
46132
46033
|
onOpenChange: setOpen,
|
|
46133
46034
|
onOpenToggle: React44.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
|
46134
46035
|
modal,
|
|
46135
|
-
children: /* @__PURE__ */
|
|
46036
|
+
children: /* @__PURE__ */ jsx32(Root3, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })
|
|
46136
46037
|
}
|
|
46137
46038
|
);
|
|
46138
46039
|
}, "DropdownMenu");
|
|
@@ -46144,7 +46045,7 @@ var DropdownMenuTrigger = /* @__PURE__ */ React44.forwardRef(
|
|
|
46144
46045
|
const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);
|
|
46145
46046
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
46146
46047
|
const composedRefs = useComposedRefs(forwardedRef, context.triggerRef);
|
|
46147
|
-
return /* @__PURE__ */
|
|
46048
|
+
return /* @__PURE__ */ jsx32(Anchor2, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx32(
|
|
46148
46049
|
Primitive.button,
|
|
46149
46050
|
{
|
|
46150
46051
|
type: "button",
|
|
@@ -46176,7 +46077,7 @@ var DropdownMenuTrigger = /* @__PURE__ */ React44.forwardRef(
|
|
|
46176
46077
|
var DropdownMenuPortal = /* @__PURE__ */ __name22((props) => {
|
|
46177
46078
|
const { __scopeDropdownMenu, ...portalProps } = props;
|
|
46178
46079
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
46179
|
-
return /* @__PURE__ */
|
|
46080
|
+
return /* @__PURE__ */ jsx32(Portal3, { ...menuScope, ...portalProps });
|
|
46180
46081
|
}, "DropdownMenuPortal");
|
|
46181
46082
|
var CONTENT_NAME3 = "DropdownMenuContent";
|
|
46182
46083
|
var DropdownMenuContent = /* @__PURE__ */ React44.forwardRef(
|
|
@@ -46186,8 +46087,8 @@ var DropdownMenuContent = /* @__PURE__ */ React44.forwardRef(
|
|
|
46186
46087
|
const context = useDropdownMenuContext(CONTENT_NAME3, __scopeDropdownMenu);
|
|
46187
46088
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
46188
46089
|
const hasInteractedOutsideRef = React44.useRef(false);
|
|
46189
|
-
return /* @__PURE__ */
|
|
46190
|
-
|
|
46090
|
+
return /* @__PURE__ */ jsx32(
|
|
46091
|
+
Content2,
|
|
46191
46092
|
{
|
|
46192
46093
|
id: context.contentId,
|
|
46193
46094
|
"aria-labelledby": context.triggerId,
|
|
@@ -46225,13 +46126,13 @@ var DropdownMenuItem = /* @__PURE__ */ React44.forwardRef(
|
|
|
46225
46126
|
/* @__PURE__ */ __name22(function DropdownMenuItem2(props, forwardedRef) {
|
|
46226
46127
|
const { __scopeDropdownMenu, ...itemProps } = props;
|
|
46227
46128
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
46228
|
-
return /* @__PURE__ */
|
|
46129
|
+
return /* @__PURE__ */ jsx32(Item2, { ...menuScope, ...itemProps, ref: forwardedRef });
|
|
46229
46130
|
}, "DropdownMenuItem")
|
|
46230
46131
|
);
|
|
46231
46132
|
var DropdownMenuSeparator = /* @__PURE__ */ React44.forwardRef(/* @__PURE__ */ __name22(function DropdownMenuSeparator2(props, forwardedRef) {
|
|
46232
46133
|
const { __scopeDropdownMenu, ...separatorProps } = props;
|
|
46233
46134
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
46234
|
-
return /* @__PURE__ */
|
|
46135
|
+
return /* @__PURE__ */ jsx32(Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });
|
|
46235
46136
|
}, "DropdownMenuSeparator"));
|
|
46236
46137
|
var DropdownMenuSub = /* @__PURE__ */ __name22((props) => {
|
|
46237
46138
|
const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;
|
|
@@ -46242,18 +46143,18 @@ var DropdownMenuSub = /* @__PURE__ */ __name22((props) => {
|
|
|
46242
46143
|
onChange: onOpenChange,
|
|
46243
46144
|
caller: "DropdownMenuSub"
|
|
46244
46145
|
});
|
|
46245
|
-
return /* @__PURE__ */
|
|
46146
|
+
return /* @__PURE__ */ jsx32(Sub, { ...menuScope, open, onOpenChange: setOpen, children });
|
|
46246
46147
|
}, "DropdownMenuSub");
|
|
46247
46148
|
var DropdownMenuSubTrigger = /* @__PURE__ */ React44.forwardRef(/* @__PURE__ */ __name22(function DropdownMenuSubTrigger2(props, forwardedRef) {
|
|
46248
46149
|
const { __scopeDropdownMenu, ...subTriggerProps } = props;
|
|
46249
46150
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
46250
|
-
return /* @__PURE__ */
|
|
46151
|
+
return /* @__PURE__ */ jsx32(SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });
|
|
46251
46152
|
}, "DropdownMenuSubTrigger"));
|
|
46252
46153
|
var DropdownMenuSubContent = /* @__PURE__ */ React44.forwardRef(/* @__PURE__ */ __name22(function DropdownMenuSubContent2(props, forwardedRef) {
|
|
46253
46154
|
const { __scopeDropdownMenu, ...subContentProps } = props;
|
|
46254
46155
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
46255
|
-
return /* @__PURE__ */
|
|
46256
|
-
|
|
46156
|
+
return /* @__PURE__ */ jsx32(
|
|
46157
|
+
SubContent,
|
|
46257
46158
|
{
|
|
46258
46159
|
...menuScope,
|
|
46259
46160
|
...subContentProps,
|
|
@@ -46272,13 +46173,22 @@ var DropdownMenuSubContent = /* @__PURE__ */ React44.forwardRef(/* @__PURE__ */
|
|
|
46272
46173
|
}
|
|
46273
46174
|
);
|
|
46274
46175
|
}, "DropdownMenuSubContent"));
|
|
46176
|
+
var Root22 = DropdownMenu;
|
|
46177
|
+
var Trigger = DropdownMenuTrigger;
|
|
46178
|
+
var Portal22 = DropdownMenuPortal;
|
|
46179
|
+
var Content22 = DropdownMenuContent;
|
|
46180
|
+
var Item22 = DropdownMenuItem;
|
|
46181
|
+
var Separator2 = DropdownMenuSeparator;
|
|
46182
|
+
var Sub2 = DropdownMenuSub;
|
|
46183
|
+
var SubTrigger2 = DropdownMenuSubTrigger;
|
|
46184
|
+
var SubContent2 = DropdownMenuSubContent;
|
|
46275
46185
|
|
|
46276
46186
|
// src/components/AppearanceMenu.tsx
|
|
46277
46187
|
import { useState as useState36 } from "react";
|
|
46278
46188
|
|
|
46279
46189
|
// src/components/Icons.tsx
|
|
46280
|
-
import { jsx as
|
|
46281
|
-
var CheckIcon = () => /* @__PURE__ */
|
|
46190
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
46191
|
+
var CheckIcon = () => /* @__PURE__ */ jsx33(
|
|
46282
46192
|
"svg",
|
|
46283
46193
|
{
|
|
46284
46194
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -46290,10 +46200,10 @@ var CheckIcon = () => /* @__PURE__ */ jsx34(
|
|
|
46290
46200
|
strokeWidth: "2",
|
|
46291
46201
|
strokeLinecap: "round",
|
|
46292
46202
|
strokeLinejoin: "round",
|
|
46293
|
-
children: /* @__PURE__ */
|
|
46203
|
+
children: /* @__PURE__ */ jsx33("path", { d: "M20 6 9 17l-5-5" })
|
|
46294
46204
|
}
|
|
46295
46205
|
);
|
|
46296
|
-
var ChevronRightIcon = ({ isOpen }) => /* @__PURE__ */
|
|
46206
|
+
var ChevronRightIcon = ({ isOpen }) => /* @__PURE__ */ jsx33(
|
|
46297
46207
|
"svg",
|
|
46298
46208
|
{
|
|
46299
46209
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -46310,10 +46220,10 @@ var ChevronRightIcon = ({ isOpen }) => /* @__PURE__ */ jsx34(
|
|
|
46310
46220
|
transform: isOpen ? "rotate(90deg)" : "rotate(0deg)",
|
|
46311
46221
|
opacity: 0.6
|
|
46312
46222
|
},
|
|
46313
|
-
children: /* @__PURE__ */
|
|
46223
|
+
children: /* @__PURE__ */ jsx33("path", { d: "m9 18 6-6-6-6" })
|
|
46314
46224
|
}
|
|
46315
46225
|
);
|
|
46316
|
-
var DotIcon = () => /* @__PURE__ */
|
|
46226
|
+
var DotIcon = () => /* @__PURE__ */ jsx33(
|
|
46317
46227
|
"svg",
|
|
46318
46228
|
{
|
|
46319
46229
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -46326,12 +46236,12 @@ var DotIcon = () => /* @__PURE__ */ jsx34(
|
|
|
46326
46236
|
strokeLinecap: "round",
|
|
46327
46237
|
strokeLinejoin: "round",
|
|
46328
46238
|
className: "lucide lucide-dot-icon lucide-dot",
|
|
46329
|
-
children: /* @__PURE__ */
|
|
46239
|
+
children: /* @__PURE__ */ jsx33("circle", { cx: "12.1", cy: "12.1", r: "4.5", fill: "white" })
|
|
46330
46240
|
}
|
|
46331
46241
|
);
|
|
46332
46242
|
|
|
46333
46243
|
// src/components/AppearanceMenu.tsx
|
|
46334
|
-
import { Fragment as Fragment11, jsx as
|
|
46244
|
+
import { Fragment as Fragment11, jsx as jsx34, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
46335
46245
|
var itemStyles = {
|
|
46336
46246
|
padding: "6px 8px",
|
|
46337
46247
|
borderRadius: 6,
|
|
@@ -46384,10 +46294,10 @@ var AppearanceMenu = () => {
|
|
|
46384
46294
|
const [appearanceSubOpen, setAppearanceSubOpen] = useState36(false);
|
|
46385
46295
|
const [hoveredItem, setHoveredItem] = useState36(null);
|
|
46386
46296
|
return /* @__PURE__ */ jsxs8(Fragment11, { children: [
|
|
46387
|
-
/* @__PURE__ */
|
|
46388
|
-
/* @__PURE__ */ jsxs8(
|
|
46297
|
+
/* @__PURE__ */ jsx34(Separator2, { style: separatorStyles }),
|
|
46298
|
+
/* @__PURE__ */ jsxs8(Sub2, { onOpenChange: setAppearanceSubOpen, children: [
|
|
46389
46299
|
/* @__PURE__ */ jsxs8(
|
|
46390
|
-
|
|
46300
|
+
SubTrigger2,
|
|
46391
46301
|
{
|
|
46392
46302
|
style: {
|
|
46393
46303
|
...itemStyles,
|
|
@@ -46398,8 +46308,8 @@ var AppearanceMenu = () => {
|
|
|
46398
46308
|
onMouseLeave: () => setHoveredItem(null),
|
|
46399
46309
|
onTouchStart: () => setHoveredItem("appearance"),
|
|
46400
46310
|
children: [
|
|
46401
|
-
/* @__PURE__ */
|
|
46402
|
-
/* @__PURE__ */
|
|
46311
|
+
/* @__PURE__ */ jsx34("span", { style: { flex: 1, display: "flex", alignItems: "center" }, children: "Appearance" }),
|
|
46312
|
+
/* @__PURE__ */ jsx34(
|
|
46403
46313
|
"div",
|
|
46404
46314
|
{
|
|
46405
46315
|
style: {
|
|
@@ -46408,21 +46318,21 @@ var AppearanceMenu = () => {
|
|
|
46408
46318
|
alignItems: "flex-end",
|
|
46409
46319
|
marginBottom: "-5px"
|
|
46410
46320
|
},
|
|
46411
|
-
children: /* @__PURE__ */
|
|
46321
|
+
children: /* @__PURE__ */ jsx34(ChevronRightIcon, { isOpen: appearanceSubOpen })
|
|
46412
46322
|
}
|
|
46413
46323
|
)
|
|
46414
46324
|
]
|
|
46415
46325
|
}
|
|
46416
46326
|
),
|
|
46417
|
-
/* @__PURE__ */
|
|
46418
|
-
|
|
46327
|
+
/* @__PURE__ */ jsx34(Portal22, { children: /* @__PURE__ */ jsxs8(
|
|
46328
|
+
SubContent2,
|
|
46419
46329
|
{
|
|
46420
46330
|
style: { ...contentStyles, marginLeft: -2 },
|
|
46421
46331
|
collisionPadding: 10,
|
|
46422
46332
|
avoidCollisions: true,
|
|
46423
46333
|
children: [
|
|
46424
46334
|
/* @__PURE__ */ jsxs8(
|
|
46425
|
-
|
|
46335
|
+
Item22,
|
|
46426
46336
|
{
|
|
46427
46337
|
style: {
|
|
46428
46338
|
...itemStyles,
|
|
@@ -46437,14 +46347,14 @@ var AppearanceMenu = () => {
|
|
|
46437
46347
|
onMouseLeave: () => setHoveredItem(null),
|
|
46438
46348
|
onTouchStart: () => setHoveredItem("lighting"),
|
|
46439
46349
|
children: [
|
|
46440
|
-
/* @__PURE__ */
|
|
46441
|
-
/* @__PURE__ */
|
|
46350
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: lightingEnabled && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46351
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Lighting" })
|
|
46442
46352
|
]
|
|
46443
46353
|
}
|
|
46444
46354
|
),
|
|
46445
|
-
/* @__PURE__ */
|
|
46355
|
+
/* @__PURE__ */ jsx34(Separator2, { style: separatorStyles }),
|
|
46446
46356
|
/* @__PURE__ */ jsxs8(
|
|
46447
|
-
|
|
46357
|
+
Item22,
|
|
46448
46358
|
{
|
|
46449
46359
|
style: {
|
|
46450
46360
|
...itemStyles,
|
|
@@ -46459,13 +46369,13 @@ var AppearanceMenu = () => {
|
|
|
46459
46369
|
onMouseLeave: () => setHoveredItem(null),
|
|
46460
46370
|
onTouchStart: () => setHoveredItem("boardBody"),
|
|
46461
46371
|
children: [
|
|
46462
|
-
/* @__PURE__ */
|
|
46463
|
-
/* @__PURE__ */
|
|
46372
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.boardBody && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46373
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Board Body" })
|
|
46464
46374
|
]
|
|
46465
46375
|
}
|
|
46466
46376
|
),
|
|
46467
46377
|
/* @__PURE__ */ jsxs8(
|
|
46468
|
-
|
|
46378
|
+
Item22,
|
|
46469
46379
|
{
|
|
46470
46380
|
style: {
|
|
46471
46381
|
...itemStyles,
|
|
@@ -46480,13 +46390,13 @@ var AppearanceMenu = () => {
|
|
|
46480
46390
|
onMouseLeave: () => setHoveredItem(null),
|
|
46481
46391
|
onTouchStart: () => setHoveredItem("topCopper"),
|
|
46482
46392
|
children: [
|
|
46483
|
-
/* @__PURE__ */
|
|
46484
|
-
/* @__PURE__ */
|
|
46393
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.topCopper && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46394
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Top Copper" })
|
|
46485
46395
|
]
|
|
46486
46396
|
}
|
|
46487
46397
|
),
|
|
46488
46398
|
/* @__PURE__ */ jsxs8(
|
|
46489
|
-
|
|
46399
|
+
Item22,
|
|
46490
46400
|
{
|
|
46491
46401
|
style: {
|
|
46492
46402
|
...itemStyles,
|
|
@@ -46501,13 +46411,13 @@ var AppearanceMenu = () => {
|
|
|
46501
46411
|
onMouseLeave: () => setHoveredItem(null),
|
|
46502
46412
|
onTouchStart: () => setHoveredItem("bottomCopper"),
|
|
46503
46413
|
children: [
|
|
46504
|
-
/* @__PURE__ */
|
|
46505
|
-
/* @__PURE__ */
|
|
46414
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.bottomCopper && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46415
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Bottom Copper" })
|
|
46506
46416
|
]
|
|
46507
46417
|
}
|
|
46508
46418
|
),
|
|
46509
46419
|
/* @__PURE__ */ jsxs8(
|
|
46510
|
-
|
|
46420
|
+
Item22,
|
|
46511
46421
|
{
|
|
46512
46422
|
style: {
|
|
46513
46423
|
...itemStyles,
|
|
@@ -46522,13 +46432,13 @@ var AppearanceMenu = () => {
|
|
|
46522
46432
|
onMouseLeave: () => setHoveredItem(null),
|
|
46523
46433
|
onTouchStart: () => setHoveredItem("keepout"),
|
|
46524
46434
|
children: [
|
|
46525
|
-
/* @__PURE__ */
|
|
46526
|
-
/* @__PURE__ */
|
|
46435
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.keepout && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46436
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Keepout" })
|
|
46527
46437
|
]
|
|
46528
46438
|
}
|
|
46529
46439
|
),
|
|
46530
46440
|
/* @__PURE__ */ jsxs8(
|
|
46531
|
-
|
|
46441
|
+
Item22,
|
|
46532
46442
|
{
|
|
46533
46443
|
style: {
|
|
46534
46444
|
...itemStyles,
|
|
@@ -46543,13 +46453,13 @@ var AppearanceMenu = () => {
|
|
|
46543
46453
|
onMouseLeave: () => setHoveredItem(null),
|
|
46544
46454
|
onTouchStart: () => setHoveredItem("topSilkscreen"),
|
|
46545
46455
|
children: [
|
|
46546
|
-
/* @__PURE__ */
|
|
46547
|
-
/* @__PURE__ */
|
|
46456
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.topSilkscreen && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46457
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Top Silkscreen" })
|
|
46548
46458
|
]
|
|
46549
46459
|
}
|
|
46550
46460
|
),
|
|
46551
46461
|
/* @__PURE__ */ jsxs8(
|
|
46552
|
-
|
|
46462
|
+
Item22,
|
|
46553
46463
|
{
|
|
46554
46464
|
style: {
|
|
46555
46465
|
...itemStyles,
|
|
@@ -46567,13 +46477,13 @@ var AppearanceMenu = () => {
|
|
|
46567
46477
|
onMouseLeave: () => setHoveredItem(null),
|
|
46568
46478
|
onTouchStart: () => setHoveredItem("bottomSilkscreen"),
|
|
46569
46479
|
children: [
|
|
46570
|
-
/* @__PURE__ */
|
|
46571
|
-
/* @__PURE__ */
|
|
46480
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.bottomSilkscreen && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46481
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Bottom Silkscreen" })
|
|
46572
46482
|
]
|
|
46573
46483
|
}
|
|
46574
46484
|
),
|
|
46575
46485
|
/* @__PURE__ */ jsxs8(
|
|
46576
|
-
|
|
46486
|
+
Item22,
|
|
46577
46487
|
{
|
|
46578
46488
|
style: {
|
|
46579
46489
|
...itemStyles,
|
|
@@ -46588,13 +46498,13 @@ var AppearanceMenu = () => {
|
|
|
46588
46498
|
onMouseLeave: () => setHoveredItem(null),
|
|
46589
46499
|
onTouchStart: () => setHoveredItem("topMask"),
|
|
46590
46500
|
children: [
|
|
46591
|
-
/* @__PURE__ */
|
|
46592
|
-
/* @__PURE__ */
|
|
46501
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.topMask && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46502
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Top Soldermask" })
|
|
46593
46503
|
]
|
|
46594
46504
|
}
|
|
46595
46505
|
),
|
|
46596
46506
|
/* @__PURE__ */ jsxs8(
|
|
46597
|
-
|
|
46507
|
+
Item22,
|
|
46598
46508
|
{
|
|
46599
46509
|
style: {
|
|
46600
46510
|
...itemStyles,
|
|
@@ -46609,13 +46519,13 @@ var AppearanceMenu = () => {
|
|
|
46609
46519
|
onMouseLeave: () => setHoveredItem(null),
|
|
46610
46520
|
onTouchStart: () => setHoveredItem("bottomMask"),
|
|
46611
46521
|
children: [
|
|
46612
|
-
/* @__PURE__ */
|
|
46613
|
-
/* @__PURE__ */
|
|
46522
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.bottomMask && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46523
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Bottom Soldermask" })
|
|
46614
46524
|
]
|
|
46615
46525
|
}
|
|
46616
46526
|
),
|
|
46617
46527
|
/* @__PURE__ */ jsxs8(
|
|
46618
|
-
|
|
46528
|
+
Item22,
|
|
46619
46529
|
{
|
|
46620
46530
|
style: {
|
|
46621
46531
|
...itemStyles,
|
|
@@ -46630,13 +46540,13 @@ var AppearanceMenu = () => {
|
|
|
46630
46540
|
onMouseLeave: () => setHoveredItem(null),
|
|
46631
46541
|
onTouchStart: () => setHoveredItem("pcbNotes"),
|
|
46632
46542
|
children: [
|
|
46633
|
-
/* @__PURE__ */
|
|
46634
|
-
/* @__PURE__ */
|
|
46543
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.pcbNotes && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46544
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "PCB Notes" })
|
|
46635
46545
|
]
|
|
46636
46546
|
}
|
|
46637
46547
|
),
|
|
46638
46548
|
/* @__PURE__ */ jsxs8(
|
|
46639
|
-
|
|
46549
|
+
Item22,
|
|
46640
46550
|
{
|
|
46641
46551
|
style: {
|
|
46642
46552
|
...itemStyles,
|
|
@@ -46651,13 +46561,13 @@ var AppearanceMenu = () => {
|
|
|
46651
46561
|
onMouseLeave: () => setHoveredItem(null),
|
|
46652
46562
|
onTouchStart: () => setHoveredItem("smtModels"),
|
|
46653
46563
|
children: [
|
|
46654
|
-
/* @__PURE__ */
|
|
46655
|
-
/* @__PURE__ */
|
|
46564
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.smtModels && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46565
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Surface Mount Components" })
|
|
46656
46566
|
]
|
|
46657
46567
|
}
|
|
46658
46568
|
),
|
|
46659
46569
|
/* @__PURE__ */ jsxs8(
|
|
46660
|
-
|
|
46570
|
+
Item22,
|
|
46661
46571
|
{
|
|
46662
46572
|
style: {
|
|
46663
46573
|
...itemStyles,
|
|
@@ -46675,8 +46585,8 @@ var AppearanceMenu = () => {
|
|
|
46675
46585
|
onMouseLeave: () => setHoveredItem(null),
|
|
46676
46586
|
onTouchStart: () => setHoveredItem("throughHoleModels"),
|
|
46677
46587
|
children: [
|
|
46678
|
-
/* @__PURE__ */
|
|
46679
|
-
/* @__PURE__ */
|
|
46588
|
+
/* @__PURE__ */ jsx34("span", { style: iconContainerStyles, children: visibility.throughHoleModels && /* @__PURE__ */ jsx34(CheckIcon, {}) }),
|
|
46589
|
+
/* @__PURE__ */ jsx34("span", { style: { display: "flex", alignItems: "center" }, children: "Through-Hole Components" })
|
|
46680
46590
|
]
|
|
46681
46591
|
}
|
|
46682
46592
|
)
|
|
@@ -46688,7 +46598,7 @@ var AppearanceMenu = () => {
|
|
|
46688
46598
|
};
|
|
46689
46599
|
|
|
46690
46600
|
// src/components/ContextMenu.tsx
|
|
46691
|
-
import { jsx as
|
|
46601
|
+
import { jsx as jsx35, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
46692
46602
|
var cameraOptions = [
|
|
46693
46603
|
"Custom",
|
|
46694
46604
|
"Top Center Angled",
|
|
@@ -46772,7 +46682,7 @@ var ContextMenu = ({
|
|
|
46772
46682
|
const { cameraType, setCameraType } = useCameraController();
|
|
46773
46683
|
const [cameraSubOpen, setCameraSubOpen] = useState37(false);
|
|
46774
46684
|
const [hoveredItem, setHoveredItem] = useState37(null);
|
|
46775
|
-
return /* @__PURE__ */
|
|
46685
|
+
return /* @__PURE__ */ jsx35(
|
|
46776
46686
|
"div",
|
|
46777
46687
|
{
|
|
46778
46688
|
ref: menuRef,
|
|
@@ -46783,10 +46693,10 @@ var ContextMenu = ({
|
|
|
46783
46693
|
width: 0,
|
|
46784
46694
|
height: 0
|
|
46785
46695
|
},
|
|
46786
|
-
children: /* @__PURE__ */ jsxs9(
|
|
46787
|
-
/* @__PURE__ */
|
|
46788
|
-
/* @__PURE__ */
|
|
46789
|
-
|
|
46696
|
+
children: /* @__PURE__ */ jsxs9(Root22, { open: true, modal: false, children: [
|
|
46697
|
+
/* @__PURE__ */ jsx35(Trigger, { asChild: true, children: /* @__PURE__ */ jsx35("div", { style: { position: "absolute", width: 1, height: 1 } }) }),
|
|
46698
|
+
/* @__PURE__ */ jsx35(Portal22, { children: /* @__PURE__ */ jsxs9(
|
|
46699
|
+
Content22,
|
|
46790
46700
|
{
|
|
46791
46701
|
style: contentStyles2,
|
|
46792
46702
|
collisionPadding: 10,
|
|
@@ -46794,9 +46704,9 @@ var ContextMenu = ({
|
|
|
46794
46704
|
sideOffset: 0,
|
|
46795
46705
|
align: "start",
|
|
46796
46706
|
children: [
|
|
46797
|
-
/* @__PURE__ */ jsxs9(
|
|
46707
|
+
/* @__PURE__ */ jsxs9(Sub2, { onOpenChange: setCameraSubOpen, children: [
|
|
46798
46708
|
/* @__PURE__ */ jsxs9(
|
|
46799
|
-
|
|
46709
|
+
SubTrigger2,
|
|
46800
46710
|
{
|
|
46801
46711
|
style: {
|
|
46802
46712
|
...itemStyles2,
|
|
@@ -46807,7 +46717,7 @@ var ContextMenu = ({
|
|
|
46807
46717
|
onMouseLeave: () => setHoveredItem(null),
|
|
46808
46718
|
onTouchStart: () => setHoveredItem("camera"),
|
|
46809
46719
|
children: [
|
|
46810
|
-
/* @__PURE__ */
|
|
46720
|
+
/* @__PURE__ */ jsx35(
|
|
46811
46721
|
"span",
|
|
46812
46722
|
{
|
|
46813
46723
|
style: { flex: 1, display: "flex", alignItems: "center" },
|
|
@@ -46824,22 +46734,22 @@ var ContextMenu = ({
|
|
|
46824
46734
|
marginLeft: "auto"
|
|
46825
46735
|
},
|
|
46826
46736
|
children: [
|
|
46827
|
-
/* @__PURE__ */
|
|
46828
|
-
/* @__PURE__ */
|
|
46737
|
+
/* @__PURE__ */ jsx35("span", { style: { opacity: 0.55, fontSize: 13 }, children: cameraPreset }),
|
|
46738
|
+
/* @__PURE__ */ jsx35(ChevronRightIcon, { isOpen: cameraSubOpen })
|
|
46829
46739
|
]
|
|
46830
46740
|
}
|
|
46831
46741
|
)
|
|
46832
46742
|
]
|
|
46833
46743
|
}
|
|
46834
46744
|
),
|
|
46835
|
-
/* @__PURE__ */
|
|
46836
|
-
|
|
46745
|
+
/* @__PURE__ */ jsx35(Portal22, { children: /* @__PURE__ */ jsx35(
|
|
46746
|
+
SubContent2,
|
|
46837
46747
|
{
|
|
46838
46748
|
style: { ...contentStyles2, marginLeft: -2 },
|
|
46839
46749
|
collisionPadding: 10,
|
|
46840
46750
|
avoidCollisions: true,
|
|
46841
46751
|
children: cameraOptions.map((option) => /* @__PURE__ */ jsxs9(
|
|
46842
|
-
|
|
46752
|
+
Item22,
|
|
46843
46753
|
{
|
|
46844
46754
|
style: {
|
|
46845
46755
|
...itemStyles2,
|
|
@@ -46854,8 +46764,8 @@ var ContextMenu = ({
|
|
|
46854
46764
|
onMouseLeave: () => setHoveredItem(null),
|
|
46855
46765
|
onTouchStart: () => setHoveredItem(option),
|
|
46856
46766
|
children: [
|
|
46857
|
-
/* @__PURE__ */
|
|
46858
|
-
/* @__PURE__ */
|
|
46767
|
+
/* @__PURE__ */ jsx35("span", { style: iconContainerStyles2, children: cameraPreset === option && /* @__PURE__ */ jsx35(DotIcon, {}) }),
|
|
46768
|
+
/* @__PURE__ */ jsx35("span", { style: { display: "flex", alignItems: "center" }, children: option })
|
|
46859
46769
|
]
|
|
46860
46770
|
},
|
|
46861
46771
|
option
|
|
@@ -46864,7 +46774,7 @@ var ContextMenu = ({
|
|
|
46864
46774
|
) })
|
|
46865
46775
|
] }),
|
|
46866
46776
|
/* @__PURE__ */ jsxs9(
|
|
46867
|
-
|
|
46777
|
+
Item22,
|
|
46868
46778
|
{
|
|
46869
46779
|
style: {
|
|
46870
46780
|
...itemStyles2,
|
|
@@ -46879,13 +46789,13 @@ var ContextMenu = ({
|
|
|
46879
46789
|
onMouseLeave: () => setHoveredItem(null),
|
|
46880
46790
|
onTouchStart: () => setHoveredItem("autorotate"),
|
|
46881
46791
|
children: [
|
|
46882
|
-
/* @__PURE__ */
|
|
46883
|
-
/* @__PURE__ */
|
|
46792
|
+
/* @__PURE__ */ jsx35("span", { style: iconContainerStyles2, children: autoRotate && /* @__PURE__ */ jsx35(CheckIcon, {}) }),
|
|
46793
|
+
/* @__PURE__ */ jsx35("span", { style: { display: "flex", alignItems: "center" }, children: "Auto rotate" })
|
|
46884
46794
|
]
|
|
46885
46795
|
}
|
|
46886
46796
|
),
|
|
46887
46797
|
/* @__PURE__ */ jsxs9(
|
|
46888
|
-
|
|
46798
|
+
Item22,
|
|
46889
46799
|
{
|
|
46890
46800
|
style: {
|
|
46891
46801
|
...itemStyles2,
|
|
@@ -46902,15 +46812,15 @@ var ContextMenu = ({
|
|
|
46902
46812
|
onMouseLeave: () => setHoveredItem(null),
|
|
46903
46813
|
onTouchStart: () => setHoveredItem("cameratype"),
|
|
46904
46814
|
children: [
|
|
46905
|
-
/* @__PURE__ */
|
|
46906
|
-
/* @__PURE__ */
|
|
46815
|
+
/* @__PURE__ */ jsx35("span", { style: iconContainerStyles2, children: cameraType === "orthographic" && /* @__PURE__ */ jsx35(CheckIcon, {}) }),
|
|
46816
|
+
/* @__PURE__ */ jsx35("span", { style: { display: "flex", alignItems: "center" }, children: "Orthographic Camera" })
|
|
46907
46817
|
]
|
|
46908
46818
|
}
|
|
46909
46819
|
),
|
|
46910
|
-
/* @__PURE__ */
|
|
46911
|
-
/* @__PURE__ */
|
|
46912
|
-
/* @__PURE__ */
|
|
46913
|
-
|
|
46820
|
+
/* @__PURE__ */ jsx35(AppearanceMenu, {}),
|
|
46821
|
+
/* @__PURE__ */ jsx35(Separator2, { style: separatorStyles2 }),
|
|
46822
|
+
/* @__PURE__ */ jsx35(
|
|
46823
|
+
Item22,
|
|
46914
46824
|
{
|
|
46915
46825
|
style: {
|
|
46916
46826
|
...itemStyles2,
|
|
@@ -46921,12 +46831,12 @@ var ContextMenu = ({
|
|
|
46921
46831
|
onMouseEnter: () => setHoveredItem("download"),
|
|
46922
46832
|
onMouseLeave: () => setHoveredItem(null),
|
|
46923
46833
|
onTouchStart: () => setHoveredItem("download"),
|
|
46924
|
-
children: /* @__PURE__ */
|
|
46834
|
+
children: /* @__PURE__ */ jsx35("span", { style: { display: "flex", alignItems: "center" }, children: "Download GLTF" })
|
|
46925
46835
|
}
|
|
46926
46836
|
),
|
|
46927
|
-
/* @__PURE__ */
|
|
46837
|
+
/* @__PURE__ */ jsx35(Separator2, { style: separatorStyles2 }),
|
|
46928
46838
|
/* @__PURE__ */ jsxs9(
|
|
46929
|
-
|
|
46839
|
+
Item22,
|
|
46930
46840
|
{
|
|
46931
46841
|
style: {
|
|
46932
46842
|
...itemStyles2,
|
|
@@ -46947,7 +46857,7 @@ var ContextMenu = ({
|
|
|
46947
46857
|
engine === "jscad" ? "Manifold" : "JSCAD",
|
|
46948
46858
|
" Engine"
|
|
46949
46859
|
] }),
|
|
46950
|
-
/* @__PURE__ */
|
|
46860
|
+
/* @__PURE__ */ jsx35(
|
|
46951
46861
|
"div",
|
|
46952
46862
|
{
|
|
46953
46863
|
style: {
|
|
@@ -46961,9 +46871,9 @@ var ContextMenu = ({
|
|
|
46961
46871
|
]
|
|
46962
46872
|
}
|
|
46963
46873
|
),
|
|
46964
|
-
/* @__PURE__ */
|
|
46874
|
+
/* @__PURE__ */ jsx35(Separator2, { style: separatorStyles2 }),
|
|
46965
46875
|
/* @__PURE__ */ jsxs9(
|
|
46966
|
-
|
|
46876
|
+
Item22,
|
|
46967
46877
|
{
|
|
46968
46878
|
style: {
|
|
46969
46879
|
...itemStyles2,
|
|
@@ -46975,8 +46885,8 @@ var ContextMenu = ({
|
|
|
46975
46885
|
onMouseLeave: () => setHoveredItem(null),
|
|
46976
46886
|
onTouchStart: () => setHoveredItem("shortcuts"),
|
|
46977
46887
|
children: [
|
|
46978
|
-
/* @__PURE__ */
|
|
46979
|
-
/* @__PURE__ */
|
|
46888
|
+
/* @__PURE__ */ jsx35("span", { style: { flex: 1, display: "flex", alignItems: "center" }, children: "Keyboard Shortcuts" }),
|
|
46889
|
+
/* @__PURE__ */ jsx35(
|
|
46980
46890
|
"div",
|
|
46981
46891
|
{
|
|
46982
46892
|
style: {
|
|
@@ -46990,8 +46900,8 @@ var ContextMenu = ({
|
|
|
46990
46900
|
]
|
|
46991
46901
|
}
|
|
46992
46902
|
),
|
|
46993
|
-
/* @__PURE__ */
|
|
46994
|
-
/* @__PURE__ */
|
|
46903
|
+
/* @__PURE__ */ jsx35(Separator2, { style: separatorStyles2 }),
|
|
46904
|
+
/* @__PURE__ */ jsx35(
|
|
46995
46905
|
"div",
|
|
46996
46906
|
{
|
|
46997
46907
|
style: {
|
|
@@ -47029,8 +46939,8 @@ var ContextMenu = ({
|
|
|
47029
46939
|
};
|
|
47030
46940
|
|
|
47031
46941
|
// src/components/KeyboardShortcutsDialog.tsx
|
|
47032
|
-
import { useEffect as useEffect47, useMemo as
|
|
47033
|
-
import { jsx as
|
|
46942
|
+
import { useEffect as useEffect47, useMemo as useMemo31, useRef as useRef28, useState as useState38 } from "react";
|
|
46943
|
+
import { jsx as jsx36, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
47034
46944
|
var KeyboardShortcutsDialog = ({
|
|
47035
46945
|
open,
|
|
47036
46946
|
onClose
|
|
@@ -47056,7 +46966,7 @@ var KeyboardShortcutsDialog = ({
|
|
|
47056
46966
|
}, 0);
|
|
47057
46967
|
}
|
|
47058
46968
|
}, [open]);
|
|
47059
|
-
const filteredHotkeys =
|
|
46969
|
+
const filteredHotkeys = useMemo31(() => {
|
|
47060
46970
|
const normalizedQuery = query.trim().toLowerCase();
|
|
47061
46971
|
if (!normalizedQuery) {
|
|
47062
46972
|
return hotkeys;
|
|
@@ -47069,7 +46979,7 @@ var KeyboardShortcutsDialog = ({
|
|
|
47069
46979
|
if (!open) {
|
|
47070
46980
|
return null;
|
|
47071
46981
|
}
|
|
47072
|
-
return /* @__PURE__ */
|
|
46982
|
+
return /* @__PURE__ */ jsx36(
|
|
47073
46983
|
"div",
|
|
47074
46984
|
{
|
|
47075
46985
|
role: "dialog",
|
|
@@ -47109,7 +47019,7 @@ var KeyboardShortcutsDialog = ({
|
|
|
47109
47019
|
},
|
|
47110
47020
|
children: [
|
|
47111
47021
|
/* @__PURE__ */ jsxs10("div", { style: { display: "flex", justifyContent: "space-between" }, children: [
|
|
47112
|
-
/* @__PURE__ */
|
|
47022
|
+
/* @__PURE__ */ jsx36(
|
|
47113
47023
|
"h2",
|
|
47114
47024
|
{
|
|
47115
47025
|
style: {
|
|
@@ -47121,7 +47031,7 @@ var KeyboardShortcutsDialog = ({
|
|
|
47121
47031
|
children: "Keyboard Shortcuts"
|
|
47122
47032
|
}
|
|
47123
47033
|
),
|
|
47124
|
-
/* @__PURE__ */
|
|
47034
|
+
/* @__PURE__ */ jsx36(
|
|
47125
47035
|
"button",
|
|
47126
47036
|
{
|
|
47127
47037
|
type: "button",
|
|
@@ -47137,7 +47047,7 @@ var KeyboardShortcutsDialog = ({
|
|
|
47137
47047
|
}
|
|
47138
47048
|
)
|
|
47139
47049
|
] }),
|
|
47140
|
-
/* @__PURE__ */
|
|
47050
|
+
/* @__PURE__ */ jsx36(
|
|
47141
47051
|
"input",
|
|
47142
47052
|
{
|
|
47143
47053
|
ref: inputRef,
|
|
@@ -47160,7 +47070,7 @@ var KeyboardShortcutsDialog = ({
|
|
|
47160
47070
|
]
|
|
47161
47071
|
}
|
|
47162
47072
|
),
|
|
47163
|
-
/* @__PURE__ */
|
|
47073
|
+
/* @__PURE__ */ jsx36("div", { style: { overflowY: "auto" }, children: /* @__PURE__ */ jsxs10(
|
|
47164
47074
|
"table",
|
|
47165
47075
|
{
|
|
47166
47076
|
style: {
|
|
@@ -47169,11 +47079,11 @@ var KeyboardShortcutsDialog = ({
|
|
|
47169
47079
|
fontSize: "0.95rem"
|
|
47170
47080
|
},
|
|
47171
47081
|
children: [
|
|
47172
|
-
/* @__PURE__ */
|
|
47173
|
-
/* @__PURE__ */
|
|
47174
|
-
/* @__PURE__ */
|
|
47082
|
+
/* @__PURE__ */ jsx36("thead", { children: /* @__PURE__ */ jsxs10("tr", { style: { textAlign: "left", color: "#a1a1b5" }, children: [
|
|
47083
|
+
/* @__PURE__ */ jsx36("th", { style: { padding: "12px 24px", width: "25%" }, children: "Key" }),
|
|
47084
|
+
/* @__PURE__ */ jsx36("th", { style: { padding: "12px 24px" }, children: "Description" })
|
|
47175
47085
|
] }) }),
|
|
47176
|
-
/* @__PURE__ */
|
|
47086
|
+
/* @__PURE__ */ jsx36("tbody", { children: filteredHotkeys.length === 0 ? /* @__PURE__ */ jsx36("tr", { children: /* @__PURE__ */ jsx36(
|
|
47177
47087
|
"td",
|
|
47178
47088
|
{
|
|
47179
47089
|
colSpan: 2,
|
|
@@ -47185,7 +47095,7 @@ var KeyboardShortcutsDialog = ({
|
|
|
47185
47095
|
{
|
|
47186
47096
|
style: { borderTop: "1px solid rgba(255, 255, 255, 0.05)" },
|
|
47187
47097
|
children: [
|
|
47188
|
-
/* @__PURE__ */
|
|
47098
|
+
/* @__PURE__ */ jsx36("td", { style: { padding: "12px 24px" }, children: /* @__PURE__ */ jsx36(
|
|
47189
47099
|
"span",
|
|
47190
47100
|
{
|
|
47191
47101
|
style: {
|
|
@@ -47203,7 +47113,7 @@ var KeyboardShortcutsDialog = ({
|
|
|
47203
47113
|
children: hotkey.shortcut
|
|
47204
47114
|
}
|
|
47205
47115
|
) }),
|
|
47206
|
-
/* @__PURE__ */
|
|
47116
|
+
/* @__PURE__ */ jsx36("td", { style: { padding: "12px 24px" }, children: hotkey.description })
|
|
47207
47117
|
]
|
|
47208
47118
|
},
|
|
47209
47119
|
hotkey.id
|
|
@@ -47219,7 +47129,7 @@ var KeyboardShortcutsDialog = ({
|
|
|
47219
47129
|
};
|
|
47220
47130
|
|
|
47221
47131
|
// src/CadViewer.tsx
|
|
47222
|
-
import { jsx as
|
|
47132
|
+
import { jsx as jsx37, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
47223
47133
|
var DEFAULT_TARGET = new THREE46.Vector3(0, 0, 0);
|
|
47224
47134
|
var INITIAL_CAMERA_POSITION = [5, -5, 5];
|
|
47225
47135
|
var readStoredCameraType = () => {
|
|
@@ -47390,7 +47300,7 @@ var CadViewerInner = (props) => {
|
|
|
47390
47300
|
},
|
|
47391
47301
|
...contextMenuEventHandlers,
|
|
47392
47302
|
children: [
|
|
47393
|
-
engine === "jscad" ? /* @__PURE__ */
|
|
47303
|
+
engine === "jscad" ? /* @__PURE__ */ jsx37(
|
|
47394
47304
|
CadViewerJscad,
|
|
47395
47305
|
{
|
|
47396
47306
|
...props,
|
|
@@ -47399,7 +47309,7 @@ var CadViewerInner = (props) => {
|
|
|
47399
47309
|
onUserInteraction: handleUserInteraction,
|
|
47400
47310
|
onCameraControllerReady: handleCameraControllerReady
|
|
47401
47311
|
}
|
|
47402
|
-
) : /* @__PURE__ */
|
|
47312
|
+
) : /* @__PURE__ */ jsx37(
|
|
47403
47313
|
CadViewerManifold_default,
|
|
47404
47314
|
{
|
|
47405
47315
|
...props,
|
|
@@ -47426,11 +47336,11 @@ var CadViewerInner = (props) => {
|
|
|
47426
47336
|
},
|
|
47427
47337
|
children: [
|
|
47428
47338
|
"Engine: ",
|
|
47429
|
-
/* @__PURE__ */
|
|
47339
|
+
/* @__PURE__ */ jsx37("b", { children: engine === "jscad" ? "JSCAD" : "Manifold" })
|
|
47430
47340
|
]
|
|
47431
47341
|
}
|
|
47432
47342
|
),
|
|
47433
|
-
menuVisible && /* @__PURE__ */
|
|
47343
|
+
menuVisible && /* @__PURE__ */ jsx37(
|
|
47434
47344
|
ContextMenu,
|
|
47435
47345
|
{
|
|
47436
47346
|
menuRef,
|
|
@@ -47457,7 +47367,7 @@ var CadViewerInner = (props) => {
|
|
|
47457
47367
|
}
|
|
47458
47368
|
}
|
|
47459
47369
|
),
|
|
47460
|
-
/* @__PURE__ */
|
|
47370
|
+
/* @__PURE__ */ jsx37(
|
|
47461
47371
|
KeyboardShortcutsDialog,
|
|
47462
47372
|
{
|
|
47463
47373
|
open: isKeyboardShortcutsDialogOpen,
|
|
@@ -47470,13 +47380,13 @@ var CadViewerInner = (props) => {
|
|
|
47470
47380
|
);
|
|
47471
47381
|
};
|
|
47472
47382
|
var CadViewer = (props) => {
|
|
47473
|
-
return /* @__PURE__ */
|
|
47383
|
+
return /* @__PURE__ */ jsx37(
|
|
47474
47384
|
CameraControllerProvider,
|
|
47475
47385
|
{
|
|
47476
47386
|
defaultTarget: DEFAULT_TARGET,
|
|
47477
47387
|
initialCameraPosition: INITIAL_CAMERA_POSITION,
|
|
47478
47388
|
initialCameraType: readStoredCameraType(),
|
|
47479
|
-
children: /* @__PURE__ */
|
|
47389
|
+
children: /* @__PURE__ */ jsx37(LayerVisibilityProvider, { children: /* @__PURE__ */ jsx37(RenderingModeProvider, { children: /* @__PURE__ */ jsx37(ToastProvider, { children: /* @__PURE__ */ jsx37(CadViewerInner, { ...props }) }) }) })
|
|
47480
47390
|
}
|
|
47481
47391
|
);
|
|
47482
47392
|
};
|
|
@@ -47771,10 +47681,10 @@ async function convertCircuitJsonTo3dSvg(circuitJson, options = {}) {
|
|
|
47771
47681
|
|
|
47772
47682
|
// src/hooks/exporter/gltf.ts
|
|
47773
47683
|
import { GLTFExporter as GLTFExporter3 } from "three-stdlib";
|
|
47774
|
-
import { useEffect as useEffect49, useState as useState40, useMemo as
|
|
47684
|
+
import { useEffect as useEffect49, useState as useState40, useMemo as useMemo32, useCallback as useCallback26 } from "react";
|
|
47775
47685
|
function useSaveGltfAs(options = {}) {
|
|
47776
47686
|
const parse2 = useParser(options);
|
|
47777
|
-
const link =
|
|
47687
|
+
const link = useMemo32(() => document.createElement("a"), []);
|
|
47778
47688
|
const saveAs = async (filename) => {
|
|
47779
47689
|
const name = filename ?? options.filename ?? "";
|
|
47780
47690
|
if (options.binary == null) options.binary = name.endsWith(".glb");
|
|
@@ -47809,7 +47719,7 @@ function useExportGltfUrl(options = {}) {
|
|
|
47809
47719
|
return [ref, url, error];
|
|
47810
47720
|
}
|
|
47811
47721
|
function useParser(options = {}) {
|
|
47812
|
-
const exporter =
|
|
47722
|
+
const exporter = useMemo32(() => new GLTFExporter3(), []);
|
|
47813
47723
|
return (instance) => {
|
|
47814
47724
|
const { promise, resolve, reject } = Promise.withResolvers();
|
|
47815
47725
|
exporter.parse(
|