@tscircuit/3d-viewer 0.0.631 → 0.0.632
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.d.ts +1 -0
- package/dist/index.js +37 -3
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -19385,7 +19385,8 @@ var defaultVisibility = {
|
|
|
19385
19385
|
pcbNotes: false,
|
|
19386
19386
|
backgroundStart: true,
|
|
19387
19387
|
backgroundEnd: true,
|
|
19388
|
-
enclosure: "translucent"
|
|
19388
|
+
enclosure: "translucent",
|
|
19389
|
+
assembly: true
|
|
19389
19390
|
};
|
|
19390
19391
|
var LayerVisibilityContext = createContext4(void 0);
|
|
19391
19392
|
var LayerVisibilityProvider = ({ children }) => {
|
|
@@ -21226,6 +21227,7 @@ var AnyCadComponent = ({
|
|
|
21226
21227
|
}
|
|
21227
21228
|
);
|
|
21228
21229
|
}
|
|
21230
|
+
if (!cad_component.pcb_component_id && !visibility.assembly) return null;
|
|
21229
21231
|
if (isEnclosure) {
|
|
21230
21232
|
if (visibility.enclosure === "hidden") return null;
|
|
21231
21233
|
} else if (cad_component.show_as_translucent_model) {
|
|
@@ -22049,7 +22051,7 @@ import * as THREE30 from "three";
|
|
|
22049
22051
|
// package.json
|
|
22050
22052
|
var package_default = {
|
|
22051
22053
|
name: "@tscircuit/3d-viewer",
|
|
22052
|
-
version: "0.0.
|
|
22054
|
+
version: "0.0.631",
|
|
22053
22055
|
repository: {
|
|
22054
22056
|
type: "git",
|
|
22055
22057
|
url: "https://github.com/tscircuit/3d-viewer"
|
|
@@ -38369,6 +38371,7 @@ var iconContainerStyles = {
|
|
|
38369
38371
|
flexShrink: 0
|
|
38370
38372
|
};
|
|
38371
38373
|
var AppearanceMenu = ({
|
|
38374
|
+
hasAssembly = false,
|
|
38372
38375
|
showLayerControls = true
|
|
38373
38376
|
}) => {
|
|
38374
38377
|
const { visibility, setLayerVisibility } = useLayerVisibility();
|
|
@@ -38380,6 +38383,8 @@ var AppearanceMenu = ({
|
|
|
38380
38383
|
} = useAppearance();
|
|
38381
38384
|
const [appearanceSubOpen, setAppearanceSubOpen] = useState40(false);
|
|
38382
38385
|
const [hoveredItem, setHoveredItem] = useState40(null);
|
|
38386
|
+
const assemblyStyles = { ...itemStyles };
|
|
38387
|
+
if (hoveredItem === "assembly") assemblyStyles.backgroundColor = "#404040";
|
|
38383
38388
|
return /* @__PURE__ */ jsxs8(Fragment9, { children: [
|
|
38384
38389
|
/* @__PURE__ */ jsx37(DropdownMenuSeparator, { style: separatorStyles }),
|
|
38385
38390
|
/* @__PURE__ */ jsxs8(DropdownMenuSub, { onOpenChange: setAppearanceSubOpen, children: [
|
|
@@ -38730,6 +38735,24 @@ var AppearanceMenu = ({
|
|
|
38730
38735
|
/* @__PURE__ */ jsx37("span", { style: { display: "flex", alignItems: "center" }, children: "Enclosure" })
|
|
38731
38736
|
]
|
|
38732
38737
|
}
|
|
38738
|
+
),
|
|
38739
|
+
hasAssembly && /* @__PURE__ */ jsxs8(
|
|
38740
|
+
DropdownMenuItem,
|
|
38741
|
+
{
|
|
38742
|
+
style: assemblyStyles,
|
|
38743
|
+
onSelect: (e) => e.preventDefault(),
|
|
38744
|
+
onPointerDown: (e) => {
|
|
38745
|
+
e.preventDefault();
|
|
38746
|
+
setLayerVisibility("assembly", !visibility.assembly);
|
|
38747
|
+
},
|
|
38748
|
+
onMouseEnter: () => setHoveredItem("assembly"),
|
|
38749
|
+
onMouseLeave: () => setHoveredItem(null),
|
|
38750
|
+
onTouchStart: () => setHoveredItem("assembly"),
|
|
38751
|
+
children: [
|
|
38752
|
+
/* @__PURE__ */ jsx37("span", { style: iconContainerStyles, children: visibility.assembly && /* @__PURE__ */ jsx37(CheckIcon, {}) }),
|
|
38753
|
+
/* @__PURE__ */ jsx37("span", { style: { display: "flex", alignItems: "center" }, children: "Assembly" })
|
|
38754
|
+
]
|
|
38755
|
+
}
|
|
38733
38756
|
)
|
|
38734
38757
|
] })
|
|
38735
38758
|
]
|
|
@@ -38810,6 +38833,7 @@ var badgeStyles = {
|
|
|
38810
38833
|
letterSpacing: "0.3px"
|
|
38811
38834
|
};
|
|
38812
38835
|
var ContextMenu = ({
|
|
38836
|
+
hasAssembly = false,
|
|
38813
38837
|
menuRef,
|
|
38814
38838
|
menuPos,
|
|
38815
38839
|
engine,
|
|
@@ -39118,7 +39142,13 @@ var ContextMenu = ({
|
|
|
39118
39142
|
]
|
|
39119
39143
|
}
|
|
39120
39144
|
),
|
|
39121
|
-
/* @__PURE__ */ jsx38(
|
|
39145
|
+
/* @__PURE__ */ jsx38(
|
|
39146
|
+
AppearanceMenu,
|
|
39147
|
+
{
|
|
39148
|
+
hasAssembly,
|
|
39149
|
+
showLayerControls: !preRendered
|
|
39150
|
+
}
|
|
39151
|
+
),
|
|
39122
39152
|
/* @__PURE__ */ jsx38(DropdownMenuSeparator, { style: separatorStyles2 }),
|
|
39123
39153
|
/* @__PURE__ */ jsx38(
|
|
39124
39154
|
DropdownMenuItem,
|
|
@@ -39991,6 +40021,9 @@ var CadViewerInner = (props) => {
|
|
|
39991
40021
|
props.circuitJson || glbSource !== void 0 ? void 0 : props.children
|
|
39992
40022
|
);
|
|
39993
40023
|
const circuitJson = props.circuitJson ?? childrenCircuitJson;
|
|
40024
|
+
const hasAssembly = circuitJson.some(
|
|
40025
|
+
(element) => element.type === "cad_component" && !element.pcb_component_id
|
|
40026
|
+
);
|
|
39994
40027
|
const hasBends = circuitJson.some((element) => element.type === "pcb_bend");
|
|
39995
40028
|
const hasFlexGeometry = hasBends || circuitJson.some((element) => element.type === "pcb_stiffener");
|
|
39996
40029
|
const [foldPcbsOverride, setFoldPcbs] = useState45(
|
|
@@ -40230,6 +40263,7 @@ var CadViewerInner = (props) => {
|
|
|
40230
40263
|
menuVisible && /* @__PURE__ */ jsx41(
|
|
40231
40264
|
ContextMenu,
|
|
40232
40265
|
{
|
|
40266
|
+
hasAssembly,
|
|
40233
40267
|
componentName: selectedCadComponent?.componentName,
|
|
40234
40268
|
onHideComponent: selectedCadComponent ? () => {
|
|
40235
40269
|
hideComponent(selectedCadComponent.cad_component_id);
|