@buerli.io/react-cad 0.0.23-beta.0 → 0.0.23-beta.1

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/build/index.js CHANGED
@@ -1,12 +1,15 @@
1
- import { useDrawing, CameraHelper, useBuerli, usePlugin, useCamera, useEmbeddedPlugin, useGeometryInteraction, GlobalTransform, getCamera, Product, useFeaturePluginDef, usePluginExists, Canvas, Viewcube } from '@buerli.io/react';
1
+ import { useDrawing, CameraHelper, useBuerli, getCamera, usePlugin, useCamera, useEmbeddedPlugin, useGeometryInteraction, GlobalTransform, Product, useFeaturePluginDef, usePluginExists, Canvas, Viewcube } from '@buerli.io/react';
2
2
  import * as React from 'react';
3
3
  import React__default, { useMemo, useRef, useCallback, useState, useEffect, memo, useContext, useReducer } from 'react';
4
- import { getDrawing, createGraphicItem, GraphicType, MemberType, MathUtils, getPlugin, NOID, BuerliScope, Measure, MeasureResultType, api } from '@buerli.io/core';
4
+ import { getDrawing, createGraphicItem, GraphicType, MemberType, MathUtils, api, getPlugin, NOID, BuerliScope, Measure, MeasureResultType } from '@buerli.io/core';
5
5
  import { CCClasses, ccAPI, ReorientedType, FlipType, BooleanOperationType, ExtrusionType, ChamferType, WorkAxisType, WorkPlaneType, WorkPointType, WorkCoordSystemType, DataType } from '@buerli.io/classcad';
6
6
  import * as THREE from 'three';
7
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
8
8
  import { useFrame, useThree, createPortal, extend } from '@react-three/fiber';
9
- import { Html, Merged } from '@react-three/drei';
9
+ import { Html, useCursor, Merged } from '@react-three/drei';
10
+ import create from 'zustand';
11
+ import vanilla from 'zustand/vanilla';
12
+ import 'antd/dist/antd.css';
10
13
  import { ArrowUpOutlined, CheckOutlined, CaretRightOutlined, CaretDownOutlined, EditOutlined, DeleteOutlined, PlusOutlined, SelectOutlined, PlusSquareOutlined, ExportOutlined, CloseOutlined, EyeFilled, EyeOutlined, ExclamationCircleTwoTone, AppstoreOutlined, FileOutlined, LeftOutlined, AppstoreAddOutlined, CheckCircleTwoTone, CloseCircleTwoTone, ExpandAltOutlined, CodeSandboxOutlined, FontSizeOutlined, DownOutlined, InfoCircleTwoTone, UnorderedListOutlined } from '@ant-design/icons';
11
14
  import _extends from '@babel/runtime/helpers/esm/extends';
12
15
  import Switch from 'antd/lib/switch';
@@ -17,14 +20,11 @@ import Tooltip from 'antd/lib/tooltip';
17
20
  import RadioGroupImpl from 'antd/lib/radio/group';
18
21
  import RadioButtonImpl from 'antd/lib/radio/radioButton';
19
22
  import { Menu as Menu$1, Dropdown, Input, Typography, Space, Table, Tabs, Divider as Divider$1, Button, Tooltip as Tooltip$1, Modal, Badge } from 'antd';
20
- import 'antd/dist/antd.css';
21
23
  import guid from 'uuid';
22
24
  import shallow from 'zustand/shallow';
23
25
  import { Geometry } from 'three-stdlib';
24
26
  import SelectImpl from 'antd/lib/select';
25
27
  import { basename, extname } from 'path';
26
- import create from 'zustand';
27
- import vanilla from 'zustand/vanilla';
28
28
  import { useUID } from 'react-uid';
29
29
  import * as deepmerge from 'deepmerge';
30
30
  import { SortableContainer, SortableElement } from 'react-sortable-hoc';
@@ -878,6 +878,133 @@ const isAngular = dim => {
878
878
  return dim.class === CCClasses.CCAngularDimension || dim.class === CCClasses.CCAngularFeatureDimension || dim.class === CCClasses.CCAngularRefDimension;
879
879
  };
880
880
 
881
+ const zoomToFit = drawingId => {
882
+ var _getCamera;
883
+
884
+ const drawing = getDrawing(drawingId);
885
+ const camApi = (_getCamera = getCamera(drawingId)) == null ? void 0 : _getCamera.api;
886
+
887
+ if (!drawing || !camApi) {
888
+ return;
889
+ }
890
+
891
+ const {
892
+ structure,
893
+ api: drawingApi
894
+ } = drawing;
895
+ const {
896
+ root,
897
+ currentProduct,
898
+ currentNode
899
+ } = structure;
900
+ let currRoot = currentNode || currentProduct || root;
901
+
902
+ if (currentProduct && structure.tree[currentProduct].class === 'CC_Part') {
903
+ currRoot = currentProduct;
904
+ }
905
+
906
+ const bounds = drawingApi.structure.calculateProductBounds(currRoot);
907
+ camApi.setZoom('fit', bounds);
908
+ };
909
+
910
+ function ownKeys$k(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
911
+
912
+ function _objectSpread$k(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$k(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$k(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
913
+ const appApi = (set, get) => ({
914
+ assemblyTree: {
915
+ startProdEditing: (drawingId, objId) => {
916
+ set(state => {
917
+ let res = [];
918
+ const curNode = api.getState().drawing.refs[drawingId].structure.currentNode;
919
+ res = state.assemblyTree.prodStack;
920
+ curNode && res.push(curNode);
921
+ return _objectSpread$k(_objectSpread$k({}, state), {}, {
922
+ assemblyTree: {
923
+ prodStack: [...res]
924
+ }
925
+ });
926
+ });
927
+ ccAPI.assemblyBuilder.setCurrentNode(drawingId, objId).then(() => zoomToFit(drawingId)).catch();
928
+ },
929
+ goBack: drawingId => {
930
+ const prodStack = get().assemblyTree.prodStack;
931
+ const prevProd = prodStack[prodStack.length - 1];
932
+ if (!prevProd) return;
933
+ set(state => {
934
+ const res = state.assemblyTree.prodStack;
935
+ res.pop();
936
+ return _objectSpread$k(_objectSpread$k({}, state), {}, {
937
+ assemblyTree: {
938
+ prodStack: [...res]
939
+ }
940
+ });
941
+ });
942
+ ccAPI.assemblyBuilder.setCurrentNode(drawingId, prevProd).then(() => zoomToFit(drawingId)).catch();
943
+ },
944
+ clearProdStack: () => {
945
+ set(state => _objectSpread$k(_objectSpread$k({}, state), {}, {
946
+ assemblyTree: {
947
+ prodStack: []
948
+ }
949
+ }));
950
+ }
951
+ },
952
+ blankDiv: {
953
+ show: callback => {
954
+ set(state => _objectSpread$k(_objectSpread$k({}, state), {}, {
955
+ blankDiv: {
956
+ isActive: true,
957
+ onClose: callback
958
+ }
959
+ }));
960
+ },
961
+ hide: () => {
962
+ set(state => _objectSpread$k(_objectSpread$k({}, state), {}, {
963
+ blankDiv: {
964
+ isActive: false,
965
+ onClose: undefined
966
+ }
967
+ }));
968
+ }
969
+ }
970
+ });
971
+
972
+ const createAppState = (set, get) => ({
973
+ assemblyTree: {
974
+ prodStack: []
975
+ },
976
+ blankDiv: {
977
+ isActive: false,
978
+ onClose: undefined
979
+ },
980
+ api: appApi(set, get)
981
+ });
982
+
983
+ const CADApi = vanilla((set, get) => createAppState(set, get));
984
+ const useCADStore = create(CADApi);
985
+ const getCADState = CADApi.getState;
986
+
987
+ const blankZIndex = 1000;
988
+ const BlankDiv = () => {
989
+ const isActive = useCADStore(s => s.blankDiv.isActive);
990
+ const onClick = React__default.useCallback(() => {
991
+ const cadState = getCADState();
992
+ cadState.blankDiv.onClose && cadState.blankDiv.onClose();
993
+ cadState.api.blankDiv.hide();
994
+ }, []);
995
+ return isActive ? /*#__PURE__*/React__default.createElement("div", {
996
+ onClick: onClick,
997
+ style: {
998
+ zIndex: blankZIndex,
999
+ position: 'fixed',
1000
+ top: 0,
1001
+ left: 0,
1002
+ bottom: 0,
1003
+ right: 0
1004
+ }
1005
+ }) : null;
1006
+ };
1007
+
881
1008
  const mainColor = 0x424242;
882
1009
  const lineWidth$1 = 0.5;
883
1010
  const arrowSize = 5;
@@ -901,7 +1028,7 @@ const TextValue = ({
901
1028
  backgroundColor: backgroundColor ? `#${backgroundColor.toString(16)}` : undefined,
902
1029
  color: `#${mainColor.toString(16)}`,
903
1030
  fontSize: '17px',
904
- cursor: 'pointer'
1031
+ cursor: 'text'
905
1032
  }
906
1033
  }, value)));
907
1034
  };
@@ -938,6 +1065,12 @@ const DimValue = ({
938
1065
  return expr ? expr + ' (' + value.toFixed(2) + ')' : value.toFixed(2);
939
1066
  }, [master, dimension, memberName]);
940
1067
  const [editMode, setEditMode] = React__default.useState(false);
1068
+ React__default.useEffect(() => {
1069
+ if (editMode) {
1070
+ getCADState().api.blankDiv.show(() => setEditMode(false));
1071
+ return () => getCADState().api.blankDiv.hide();
1072
+ }
1073
+ }, [editMode, setEditMode]);
941
1074
  const update = React__default.useCallback(() => {
942
1075
  const master_ = getDrawing(drawingId).structure.tree[masterId];
943
1076
 
@@ -980,7 +1113,7 @@ const DimValue = ({
980
1113
  return /*#__PURE__*/React__default.createElement("group", {
981
1114
  position: position
982
1115
  }, /*#__PURE__*/React__default.createElement(Html, {
983
- zIndexRange: [0, 0],
1116
+ zIndexRange: [blankZIndex + 1, blankZIndex + 1],
984
1117
  style: {
985
1118
  marginTop: '22px'
986
1119
  },
@@ -995,7 +1128,7 @@ const DimValue = ({
995
1128
  backgroundColor: backgroundColor ? `#${backgroundColor.toString(16)}` : undefined,
996
1129
  color: `#${mainColor.toString(16)}`,
997
1130
  fontSize: '17px',
998
- cursor: 'pointer'
1131
+ cursor: 'text'
999
1132
  }
1000
1133
  }, caption) : /*#__PURE__*/React__default.createElement("div", {
1001
1134
  style: {
@@ -1094,6 +1227,8 @@ const PositionHandler = ({
1094
1227
  camera
1095
1228
  } = useThree();
1096
1229
  const ref = useScale$1(position, sf => [hRadius$1 * sf, hRadius$1 * sf, hRadius$1 * sf]);
1230
+ const [isHovered, setIsHovered] = React__default.useState(false);
1231
+ useCursor(isHovered, 'move');
1097
1232
  const onPointerDown = React__default.useCallback(e => {
1098
1233
  if (e.buttons !== 1) // Continue only if 'primary' mouse button is pressed
1099
1234
  return;
@@ -1133,6 +1268,10 @@ const PositionHandler = ({
1133
1268
  te.target.releasePointerCapture(te.pointerId);
1134
1269
  te.stopPropagation();
1135
1270
  }, [dimId, drawingId, position, setPState]);
1271
+ const onPointerOver = React__default.useCallback(e => {
1272
+ setIsHovered(true);
1273
+ e.stopPropagation();
1274
+ }, []);
1136
1275
  const onPointerMove = React__default.useCallback(e => {
1137
1276
  if (isPressed.current) {
1138
1277
  isDragged.current = true;
@@ -1142,12 +1281,18 @@ const PositionHandler = ({
1142
1281
 
1143
1282
  e.stopPropagation();
1144
1283
  }, [setPosition, globalToLocalM, camera]);
1284
+ const onPointerOut = React__default.useCallback(e => {
1285
+ setIsHovered(false);
1286
+ e.stopPropagation();
1287
+ }, []);
1145
1288
  return /*#__PURE__*/React__default.createElement("mesh", {
1146
1289
  ref: ref,
1147
1290
  position: position,
1148
1291
  onPointerDown: onPointerDown,
1149
1292
  onPointerMove: onPointerMove,
1150
- onPointerUp: onPointerUp
1293
+ onPointerUp: onPointerUp,
1294
+ onPointerOver: onPointerOver,
1295
+ onPointerOut: onPointerOut
1151
1296
  }, /*#__PURE__*/React__default.createElement("sphereGeometry", {
1152
1297
  args: [1.5, 16, 16]
1153
1298
  }), /*#__PURE__*/React__default.createElement("meshBasicMaterial", {
@@ -1941,9 +2086,9 @@ var index$w = /*#__PURE__*/Object.freeze({
1941
2086
  useDimensionSetId: useDimensionSetId
1942
2087
  });
1943
2088
 
1944
- function ownKeys$k(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2089
+ function ownKeys$j(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1945
2090
 
1946
- function _objectSpread$k(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$k(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$k(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2091
+ function _objectSpread$j(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$j(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$j(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1947
2092
  /**
1948
2093
  * Implies the following data structure:
1949
2094
  * data: {
@@ -2046,7 +2191,7 @@ function useMateSelection(drawingId, matePath, csysId) {
2046
2191
  }));
2047
2192
  const handlers = React__default.useMemo(() => {
2048
2193
  if (isSelectable) {
2049
- return _objectSpread$k(_objectSpread$k({}, hHandlers), sHandlers);
2194
+ return _objectSpread$j(_objectSpread$j({}, hHandlers), sHandlers);
2050
2195
  }
2051
2196
 
2052
2197
  return {};
@@ -2062,9 +2207,9 @@ function useMateSelection(drawingId, matePath, csysId) {
2062
2207
  }, [isHovered, isSelected, isSelectable, handlers]);
2063
2208
  }
2064
2209
 
2065
- function ownKeys$j(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2210
+ function ownKeys$i(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2066
2211
 
2067
- function _objectSpread$j(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$j(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$j(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2212
+ function _objectSpread$i(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$i(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$i(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2068
2213
  /**
2069
2214
  * Implies the following data structure:
2070
2215
  * data: {
@@ -2193,7 +2338,7 @@ function useTreeObjSelection(drawingId, objId) {
2193
2338
  const isSelected = useIsSelected(drawingId, objId);
2194
2339
  const handlers = React__default.useMemo(() => {
2195
2340
  if (isSelectable) {
2196
- return _objectSpread$j(_objectSpread$j({}, hHandlers), sHandlers);
2341
+ return _objectSpread$i(_objectSpread$i({}, hHandlers), sHandlers);
2197
2342
  }
2198
2343
 
2199
2344
  return {};
@@ -5716,9 +5861,9 @@ function getSketchState(drawingId, pluginId) {
5716
5861
  return plugin.state;
5717
5862
  }
5718
5863
 
5719
- function ownKeys$i(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5864
+ function ownKeys$h(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5720
5865
 
5721
- function _objectSpread$i(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$i(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$i(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5866
+ function _objectSpread$h(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$h(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$h(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5722
5867
  function CreateAngle(drawingId, pluginId) {
5723
5868
  const {
5724
5869
  set
@@ -5768,8 +5913,8 @@ function CreateAngle(drawingId, pluginId) {
5768
5913
  set(state_ => {
5769
5914
  const tmpAngularDimension = state_.tmpObjects[tmpDimensionId];
5770
5915
  return {
5771
- tmpObjects: _objectSpread$i(_objectSpread$i({}, state_.tmpObjects), {}, {
5772
- [tmpDimensionId]: _objectSpread$i(_objectSpread$i({}, tmpAngularDimension), params)
5916
+ tmpObjects: _objectSpread$h(_objectSpread$h({}, state_.tmpObjects), {}, {
5917
+ [tmpDimensionId]: _objectSpread$h(_objectSpread$h({}, tmpAngularDimension), params)
5773
5918
  })
5774
5919
  };
5775
5920
  });
@@ -5816,7 +5961,7 @@ function CreateAngle(drawingId, pluginId) {
5816
5961
  const center = linesInfo.center;
5817
5962
  const dimPos = center.clone().addScaledVector(dir0.clone().add(dir1).normalize(), 10);
5818
5963
 
5819
- const tmpAngularDimension = _objectSpread$i(_objectSpread$i({
5964
+ const tmpAngularDimension = _objectSpread$h(_objectSpread$h({
5820
5965
  class: CCClasses.CCAngularDimension,
5821
5966
  id: tmpDimensionId
5822
5967
  }, linesInfo), {}, {
@@ -5896,9 +6041,9 @@ function CreateAngle(drawingId, pluginId) {
5896
6041
  };
5897
6042
  }
5898
6043
 
5899
- function ownKeys$h(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6044
+ function ownKeys$g(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5900
6045
 
5901
- function _objectSpread$h(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$h(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$h(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6046
+ function _objectSpread$g(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$g(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$g(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5902
6047
  let timerId;
5903
6048
  const hover = (drawingId, pluginId, hoveredId) => {
5904
6049
  const {
@@ -5932,7 +6077,7 @@ const hover = (drawingId, pluginId, hoveredId) => {
5932
6077
  return {
5933
6078
  hovered: hoveredId,
5934
6079
  highlighted: [hoveredId, ...linkedConstraints],
5935
- constraintsToGeometry: _objectSpread$h(_objectSpread$h({}, state_.constraintsToGeometry), constraintsToGeometry)
6080
+ constraintsToGeometry: _objectSpread$g(_objectSpread$g({}, state_.constraintsToGeometry), constraintsToGeometry)
5936
6081
  };
5937
6082
  });
5938
6083
  }
@@ -6113,9 +6258,9 @@ const snapDraggedPoints = (diff, drawingId) => {
6113
6258
  return snapResult;
6114
6259
  };
6115
6260
 
6116
- function ownKeys$g(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6261
+ function ownKeys$f(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6117
6262
 
6118
- function _objectSpread$g(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$g(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$g(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6263
+ function _objectSpread$f(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$f(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$f(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6119
6264
 
6120
6265
  const artifDelay = 16;
6121
6266
 
@@ -6389,7 +6534,7 @@ function Drag(drawingId, pluginId) {
6389
6534
  name: HandlersList.DRAG,
6390
6535
  filter,
6391
6536
  onDestruct: destructor,
6392
- pointerHandlers: _objectSpread$g({
6537
+ pointerHandlers: _objectSpread$f({
6393
6538
  onPointerDown,
6394
6539
  onPointerUp,
6395
6540
  onPointerMove
@@ -6401,9 +6546,9 @@ function Drag(drawingId, pluginId) {
6401
6546
  };
6402
6547
  }
6403
6548
 
6404
- function ownKeys$f(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6549
+ function ownKeys$e(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6405
6550
 
6406
- function _objectSpread$f(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$f(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$f(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6551
+ function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$e(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6407
6552
  function DrawPoint(drawingId, pluginId) {
6408
6553
  const {
6409
6554
  set
@@ -6472,8 +6617,8 @@ function DrawPoint(drawingId, pluginId) {
6472
6617
  set(state => {
6473
6618
  const tmpPoint = state.tmpObjects[tmpPointId];
6474
6619
  return {
6475
- tmpObjects: _objectSpread$f(_objectSpread$f({}, state.tmpObjects), {}, {
6476
- [tmpPointId]: _objectSpread$f(_objectSpread$f({}, tmpPoint), {}, {
6620
+ tmpObjects: _objectSpread$e(_objectSpread$e({}, state.tmpObjects), {}, {
6621
+ [tmpPointId]: _objectSpread$e(_objectSpread$e({}, tmpPoint), {}, {
6477
6622
  position: mousePos
6478
6623
  })
6479
6624
  })
@@ -6495,9 +6640,9 @@ function DrawPoint(drawingId, pluginId) {
6495
6640
  };
6496
6641
  }
6497
6642
 
6498
- function ownKeys$e(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6643
+ function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6499
6644
 
6500
- function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$e(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6645
+ function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$d(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6501
6646
  function DrawLine(drawingId, pluginId) {
6502
6647
  // Global hooks:
6503
6648
  const {
@@ -6583,7 +6728,7 @@ function DrawLine(drawingId, pluginId) {
6583
6728
  endPId: tmpEndP.id
6584
6729
  };
6585
6730
  return {
6586
- tmpObjects: _objectSpread$e(_objectSpread$e({}, state.tmpObjects), {}, {
6731
+ tmpObjects: _objectSpread$d(_objectSpread$d({}, state.tmpObjects), {}, {
6587
6732
  [tmpStartP.id]: tmpStartP,
6588
6733
  [tmpLine.id]: tmpLine
6589
6734
  })
@@ -6621,8 +6766,8 @@ function DrawLine(drawingId, pluginId) {
6621
6766
  const tmpStartP = state.tmpObjects[tmpStartPId];
6622
6767
  const tmpEndP = state.tmpObjects[tmpEndPId];
6623
6768
  return {
6624
- tmpObjects: _objectSpread$e(_objectSpread$e({}, state.tmpObjects), {}, {
6625
- [tmpStartPId]: _objectSpread$e(_objectSpread$e({}, tmpStartP), {}, {
6769
+ tmpObjects: _objectSpread$d(_objectSpread$d({}, state.tmpObjects), {}, {
6770
+ [tmpStartPId]: _objectSpread$d(_objectSpread$d({}, tmpStartP), {}, {
6626
6771
  position: tmpEndP.position.clone()
6627
6772
  })
6628
6773
  })
@@ -6644,8 +6789,8 @@ function DrawLine(drawingId, pluginId) {
6644
6789
  set(state => {
6645
6790
  const tmpEndP = state.tmpObjects[tmpEndPId];
6646
6791
  return {
6647
- tmpObjects: _objectSpread$e(_objectSpread$e({}, state.tmpObjects), {}, {
6648
- [tmpEndPId]: _objectSpread$e(_objectSpread$e({}, tmpEndP), {}, {
6792
+ tmpObjects: _objectSpread$d(_objectSpread$d({}, state.tmpObjects), {}, {
6793
+ [tmpEndPId]: _objectSpread$d(_objectSpread$d({}, tmpEndP), {}, {
6649
6794
  position: mousePos
6650
6795
  })
6651
6796
  })
@@ -6670,9 +6815,9 @@ function DrawLine(drawingId, pluginId) {
6670
6815
  };
6671
6816
  }
6672
6817
 
6673
- function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6818
+ function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6674
6819
 
6675
- function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$d(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6820
+ function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6676
6821
  function DrawRectangle(drawingId, pluginId) {
6677
6822
  // Global hooks:
6678
6823
  const {
@@ -6728,7 +6873,7 @@ function DrawRectangle(drawingId, pluginId) {
6728
6873
  set(state => {
6729
6874
  const tmpPoint11 = state.tmpObjects[tmpPoint11Id];
6730
6875
 
6731
- const tmpPoint00 = _objectSpread$d(_objectSpread$d({}, state.tmpObjects[tmpPoint00Id]), {}, {
6876
+ const tmpPoint00 = _objectSpread$c(_objectSpread$c({}, state.tmpObjects[tmpPoint00Id]), {}, {
6732
6877
  position: tmpPoint11.position.clone()
6733
6878
  });
6734
6879
 
@@ -6796,7 +6941,7 @@ function DrawRectangle(drawingId, pluginId) {
6796
6941
  endPId: tmpPoint11.id
6797
6942
  };
6798
6943
  return {
6799
- tmpObjects: _objectSpread$d(_objectSpread$d({}, state.tmpObjects), {}, {
6944
+ tmpObjects: _objectSpread$c(_objectSpread$c({}, state.tmpObjects), {}, {
6800
6945
  [tmpPoint00.id]: tmpPoint00,
6801
6946
  [tmpPoint01.id]: tmpPoint01,
6802
6947
  [tmpPoint10.id]: tmpPoint10,
@@ -6824,7 +6969,7 @@ function DrawRectangle(drawingId, pluginId) {
6824
6969
  const tmpPoint11 = state.tmpObjects[tmpPoint11Id];
6825
6970
  return {
6826
6971
  tmpObjects: {
6827
- [tmpPoint00Id]: _objectSpread$d(_objectSpread$d({}, tmpPoint00), {}, {
6972
+ [tmpPoint00Id]: _objectSpread$c(_objectSpread$c({}, tmpPoint00), {}, {
6828
6973
  position: tmpPoint11.position.clone()
6829
6974
  })
6830
6975
  }
@@ -6848,8 +6993,8 @@ function DrawRectangle(drawingId, pluginId) {
6848
6993
  if (additionIndex === 0) {
6849
6994
  const tmpPoint00 = state.tmpObjects[tmpPoint00Id];
6850
6995
  return {
6851
- tmpObjects: _objectSpread$d(_objectSpread$d({}, state.tmpObjects), {}, {
6852
- [tmpPoint00Id]: _objectSpread$d(_objectSpread$d({}, tmpPoint00), {}, {
6996
+ tmpObjects: _objectSpread$c(_objectSpread$c({}, state.tmpObjects), {}, {
6997
+ [tmpPoint00Id]: _objectSpread$c(_objectSpread$c({}, tmpPoint00), {}, {
6853
6998
  position: snappedPos
6854
6999
  })
6855
7000
  })
@@ -6860,14 +7005,14 @@ function DrawRectangle(drawingId, pluginId) {
6860
7005
  const tmpPoint10 = state.tmpObjects[tmpPoint10Id];
6861
7006
  const tmpPoint11 = state.tmpObjects[tmpPoint11Id];
6862
7007
  return {
6863
- tmpObjects: _objectSpread$d(_objectSpread$d({}, state.tmpObjects), {}, {
6864
- [tmpPoint01Id]: _objectSpread$d(_objectSpread$d({}, tmpPoint01), {}, {
7008
+ tmpObjects: _objectSpread$c(_objectSpread$c({}, state.tmpObjects), {}, {
7009
+ [tmpPoint01Id]: _objectSpread$c(_objectSpread$c({}, tmpPoint01), {}, {
6865
7010
  position: new THREE.Vector3(startPos.x, snappedPos.y, startPos.z)
6866
7011
  }),
6867
- [tmpPoint10Id]: _objectSpread$d(_objectSpread$d({}, tmpPoint10), {}, {
7012
+ [tmpPoint10Id]: _objectSpread$c(_objectSpread$c({}, tmpPoint10), {}, {
6868
7013
  position: new THREE.Vector3(snappedPos.x, startPos.y, startPos.z)
6869
7014
  }),
6870
- [tmpPoint11Id]: _objectSpread$d(_objectSpread$d({}, tmpPoint11), {}, {
7015
+ [tmpPoint11Id]: _objectSpread$c(_objectSpread$c({}, tmpPoint11), {}, {
6871
7016
  position: new THREE.Vector3(snappedPos.x, snappedPos.y, startPos.z)
6872
7017
  })
6873
7018
  })
@@ -7034,9 +7179,9 @@ const Circle = ({
7034
7179
  }), /*#__PURE__*/React__default.createElement("meshBasicMaterial", materialProps));
7035
7180
  };
7036
7181
 
7037
- function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7182
+ function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7038
7183
 
7039
- function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7184
+ function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7040
7185
  function DrawArc(drawingId, pluginId, arcType) {
7041
7186
  // Global hooks:
7042
7187
  const {
@@ -7092,7 +7237,7 @@ function DrawArc(drawingId, pluginId, arcType) {
7092
7237
  additionIndex = 0;
7093
7238
  lastAddedEndPointId = UNDEFINEDID;
7094
7239
  set(state => {
7095
- const tmpStartP = _objectSpread$c(_objectSpread$c({}, state.tmpObjects[tmpStartPId]), {}, {
7240
+ const tmpStartP = _objectSpread$b(_objectSpread$b({}, state.tmpObjects[tmpStartPId]), {}, {
7096
7241
  position: lastMousePos.clone()
7097
7242
  });
7098
7243
 
@@ -7107,24 +7252,24 @@ function DrawArc(drawingId, pluginId, arcType) {
7107
7252
  set(state => {
7108
7253
  const tmpStartP = state.tmpObjects[tmpStartPId];
7109
7254
 
7110
- const tmpEndP = _objectSpread$c(_objectSpread$c({}, state.tmpObjects[tmpEndPId]), {}, {
7255
+ const tmpEndP = _objectSpread$b(_objectSpread$b({}, state.tmpObjects[tmpEndPId]), {}, {
7111
7256
  position: lastMousePos.clone()
7112
7257
  });
7113
7258
 
7114
7259
  const centerPos = calculateCenterPoint(tmpStartP.position, lastMousePos, lastMousePos);
7115
7260
 
7116
- const tmpCenterP = _objectSpread$c(_objectSpread$c({}, state.tmpObjects[tmpCenterPId]), {}, {
7261
+ const tmpCenterP = _objectSpread$b(_objectSpread$b({}, state.tmpObjects[tmpCenterPId]), {}, {
7117
7262
  position: centerPos ? centerPos : lastMousePos.clone()
7118
7263
  });
7119
7264
 
7120
- const tmpArc = _objectSpread$c(_objectSpread$c({}, state.tmpObjects[tmpArcId]), {}, {
7265
+ const tmpArc = _objectSpread$b(_objectSpread$b({}, state.tmpObjects[tmpArcId]), {}, {
7121
7266
  // In case centerPos couldn't be calculated, the arc should be drawn as a line
7122
7267
  drawAsLine: centerPos === undefined,
7123
7268
  clockwise: false
7124
7269
  });
7125
7270
 
7126
7271
  return {
7127
- tmpObjects: _objectSpread$c(_objectSpread$c({}, state.tmpObjects), {}, {
7272
+ tmpObjects: _objectSpread$b(_objectSpread$b({}, state.tmpObjects), {}, {
7128
7273
  [tmpEndP.id]: tmpEndP,
7129
7274
  [tmpCenterP.id]: tmpCenterP,
7130
7275
  [tmpArc.id]: tmpArc
@@ -7245,7 +7390,7 @@ function DrawArc(drawingId, pluginId, arcType) {
7245
7390
  clockwise: false
7246
7391
  };
7247
7392
  return {
7248
- tmpObjects: _objectSpread$c(_objectSpread$c({}, state.tmpObjects), {}, {
7393
+ tmpObjects: _objectSpread$b(_objectSpread$b({}, state.tmpObjects), {}, {
7249
7394
  [tmpEndP.id]: tmpEndP,
7250
7395
  [tmpCenterP.id]: tmpCenterP,
7251
7396
  [tmpArc.id]: tmpArc
@@ -7274,7 +7419,7 @@ function DrawArc(drawingId, pluginId, arcType) {
7274
7419
  clockwise: false
7275
7420
  };
7276
7421
  return {
7277
- tmpObjects: _objectSpread$c(_objectSpread$c({}, state.tmpObjects), {}, {
7422
+ tmpObjects: _objectSpread$b(_objectSpread$b({}, state.tmpObjects), {}, {
7278
7423
  [tmpCenterP.id]: tmpCenterP,
7279
7424
  [tmpArc.id]: tmpArc
7280
7425
  })
@@ -7332,11 +7477,11 @@ function DrawArc(drawingId, pluginId, arcType) {
7332
7477
  const tmpEndP = state.tmpObjects[tmpEndPId];
7333
7478
  const tmpCenterP = state.tmpObjects[tmpCenterPId];
7334
7479
  return {
7335
- tmpObjects: _objectSpread$c(_objectSpread$c({}, state.tmpObjects), {}, {
7336
- [tmpStartPId]: _objectSpread$c(_objectSpread$c({}, tmpStartP), {}, {
7480
+ tmpObjects: _objectSpread$b(_objectSpread$b({}, state.tmpObjects), {}, {
7481
+ [tmpStartPId]: _objectSpread$b(_objectSpread$b({}, tmpStartP), {}, {
7337
7482
  position: tmpEndP.position.clone()
7338
7483
  }),
7339
- [tmpCenterPId]: _objectSpread$c(_objectSpread$c({}, tmpCenterP), {}, {
7484
+ [tmpCenterPId]: _objectSpread$b(_objectSpread$b({}, tmpCenterP), {}, {
7340
7485
  position: tmpEndP.position.clone()
7341
7486
  })
7342
7487
  })
@@ -7360,8 +7505,8 @@ function DrawArc(drawingId, pluginId, arcType) {
7360
7505
  if (additionIndex === 0) {
7361
7506
  const tmpStartP = state.tmpObjects[tmpStartPId];
7362
7507
  return {
7363
- tmpObjects: _objectSpread$c(_objectSpread$c({}, state.tmpObjects), {}, {
7364
- [tmpStartPId]: _objectSpread$c(_objectSpread$c({}, tmpStartP), {}, {
7508
+ tmpObjects: _objectSpread$b(_objectSpread$b({}, state.tmpObjects), {}, {
7509
+ [tmpStartPId]: _objectSpread$b(_objectSpread$b({}, tmpStartP), {}, {
7365
7510
  position: lastMousePos.clone()
7366
7511
  })
7367
7512
  })
@@ -7373,14 +7518,14 @@ function DrawArc(drawingId, pluginId, arcType) {
7373
7518
  const tmpCenterP = state.tmpObjects[tmpCenterPId];
7374
7519
  const centerPos = calculateCenterPoint(tmpStartP.position, lastMousePos, lastMousePos);
7375
7520
  return {
7376
- tmpObjects: _objectSpread$c(_objectSpread$c({}, state.tmpObjects), {}, {
7377
- [tmpEndPId]: _objectSpread$c(_objectSpread$c({}, tmpEndP), {}, {
7521
+ tmpObjects: _objectSpread$b(_objectSpread$b({}, state.tmpObjects), {}, {
7522
+ [tmpEndPId]: _objectSpread$b(_objectSpread$b({}, tmpEndP), {}, {
7378
7523
  position: lastMousePos.clone()
7379
7524
  }),
7380
- [tmpCenterPId]: _objectSpread$c(_objectSpread$c({}, tmpCenterP), {}, {
7525
+ [tmpCenterPId]: _objectSpread$b(_objectSpread$b({}, tmpCenterP), {}, {
7381
7526
  position: centerPos ? centerPos : lastMousePos.clone()
7382
7527
  }),
7383
- [tmpArcId]: _objectSpread$c(_objectSpread$c({}, tmpArc), {}, {
7528
+ [tmpArcId]: _objectSpread$b(_objectSpread$b({}, tmpArc), {}, {
7384
7529
  // In case centerPos couldn't be calculated, the arc should be drawn as a line
7385
7530
  drawAsLine: centerPos === undefined,
7386
7531
  clockwise: false
@@ -7394,14 +7539,14 @@ function DrawArc(drawingId, pluginId, arcType) {
7394
7539
  const tmpCenterP = state.tmpObjects[tmpCenterPId];
7395
7540
  const centerPos = calculateCenterPoint(tmpStartP.position, tmpEndP.position, lastMousePos);
7396
7541
  return {
7397
- tmpObjects: _objectSpread$c(_objectSpread$c({}, state.tmpObjects), {}, {
7398
- [tmpEndPId]: _objectSpread$c(_objectSpread$c({}, tmpEndP), {}, {
7542
+ tmpObjects: _objectSpread$b(_objectSpread$b({}, state.tmpObjects), {}, {
7543
+ [tmpEndPId]: _objectSpread$b(_objectSpread$b({}, tmpEndP), {}, {
7399
7544
  position: arcType === HandlersList.DRAWARCTANGENT ? lastMousePos.clone() : tmpEndP.position
7400
7545
  }),
7401
- [tmpCenterPId]: _objectSpread$c(_objectSpread$c({}, tmpCenterP), {}, {
7546
+ [tmpCenterPId]: _objectSpread$b(_objectSpread$b({}, tmpCenterP), {}, {
7402
7547
  position: centerPos ? centerPos : lastMousePos.clone()
7403
7548
  }),
7404
- [tmpArcId]: _objectSpread$c(_objectSpread$c({}, tmpArc), {}, {
7549
+ [tmpArcId]: _objectSpread$b(_objectSpread$b({}, tmpArc), {}, {
7405
7550
  // In case centerPos couldn't be calculated, the arc should be drawn as a line
7406
7551
  drawAsLine: centerPos === undefined,
7407
7552
  clockwise: evaluateClockwise(tmpStartP.position, tmpEndP.position, lastMousePos)
@@ -7429,9 +7574,9 @@ function DrawArc(drawingId, pluginId, arcType) {
7429
7574
  };
7430
7575
  }
7431
7576
 
7432
- function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7577
+ function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7433
7578
 
7434
- function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7579
+ function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$a(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7435
7580
  function DrawCircle(drawingId, pluginId) {
7436
7581
  const {
7437
7582
  set
@@ -7478,7 +7623,7 @@ function DrawCircle(drawingId, pluginId) {
7478
7623
  } else {
7479
7624
  additionIndex = 0;
7480
7625
  set(state => {
7481
- const tmpCenterP = _objectSpread$b(_objectSpread$b({}, state.tmpObjects[tmpCenterPId]), {}, {
7626
+ const tmpCenterP = _objectSpread$a(_objectSpread$a({}, state.tmpObjects[tmpCenterPId]), {}, {
7482
7627
  position: lastMousePos.clone()
7483
7628
  });
7484
7629
 
@@ -7512,7 +7657,7 @@ function DrawCircle(drawingId, pluginId) {
7512
7657
  radius: 0.001
7513
7658
  };
7514
7659
  return {
7515
- tmpObjects: _objectSpread$b(_objectSpread$b({}, state.tmpObjects), {}, {
7660
+ tmpObjects: _objectSpread$a(_objectSpread$a({}, state.tmpObjects), {}, {
7516
7661
  [tmpCenterP.id]: tmpCenterP,
7517
7662
  [tmpCircle.id]: tmpCircle
7518
7663
  })
@@ -7533,7 +7678,7 @@ function DrawCircle(drawingId, pluginId) {
7533
7678
  const tmpCenterP = state.tmpObjects[tmpCenterPId];
7534
7679
  return {
7535
7680
  tmpObjects: {
7536
- [tmpCenterPId]: _objectSpread$b(_objectSpread$b({}, tmpCenterP), {}, {
7681
+ [tmpCenterPId]: _objectSpread$a(_objectSpread$a({}, tmpCenterP), {}, {
7537
7682
  position: e.point.clone().applyMatrix4(getGlobalToLocalMatrix(drawingId, sketchId))
7538
7683
  })
7539
7684
  }
@@ -7557,8 +7702,8 @@ function DrawCircle(drawingId, pluginId) {
7557
7702
  if (additionIndex === 0) {
7558
7703
  const tmpCenterP = state.tmpObjects[tmpCenterPId];
7559
7704
  return {
7560
- tmpObjects: _objectSpread$b(_objectSpread$b({}, state.tmpObjects), {}, {
7561
- [tmpCenterPId]: _objectSpread$b(_objectSpread$b({}, tmpCenterP), {}, {
7705
+ tmpObjects: _objectSpread$a(_objectSpread$a({}, state.tmpObjects), {}, {
7706
+ [tmpCenterPId]: _objectSpread$a(_objectSpread$a({}, tmpCenterP), {}, {
7562
7707
  position: snappedPos || localPos
7563
7708
  })
7564
7709
  })
@@ -7567,8 +7712,8 @@ function DrawCircle(drawingId, pluginId) {
7567
7712
  const tmpCenterP = state.tmpObjects[tmpCenterPId];
7568
7713
  const tmpCircle = state.tmpObjects[tmpCircleId];
7569
7714
  return {
7570
- tmpObjects: _objectSpread$b(_objectSpread$b({}, state.tmpObjects), {}, {
7571
- [tmpCircleId]: _objectSpread$b(_objectSpread$b({}, tmpCircle), {}, {
7715
+ tmpObjects: _objectSpread$a(_objectSpread$a({}, state.tmpObjects), {}, {
7716
+ [tmpCircleId]: _objectSpread$a(_objectSpread$a({}, tmpCircle), {}, {
7572
7717
  radius: Math.max(tmpCenterP.position.distanceTo(localPos), 0.001)
7573
7718
  })
7574
7719
  })
@@ -8066,9 +8211,9 @@ function recognizeFilletByArc(object, tree, sketchId) {
8066
8211
  };
8067
8212
  }
8068
8213
 
8069
- function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8214
+ function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8070
8215
 
8071
- function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$a(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8216
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8072
8217
  function Fillet(drawingId, pluginId) {
8073
8218
  const actions = getDrawing(drawingId).api;
8074
8219
  const plugin = getPlugin(drawingId, pluginId);
@@ -8217,7 +8362,7 @@ function Fillet(drawingId, pluginId) {
8217
8362
  return;
8218
8363
  }
8219
8364
 
8220
- ccAPI.sketcher.createFillet(drawingId, sketchId, data.info.lines.map(line => line.id), data.info.lineStarts.map(lineStart => lineStart.id), data.info.incidence, data.info.control, data.params.start, getArcAngles(_objectSpread$a(_objectSpread$a({}, data.params), {}, {
8365
+ ccAPI.sketcher.createFillet(drawingId, sketchId, data.info.lines.map(line => line.id), data.info.lineStarts.map(lineStart => lineStart.id), data.info.incidence, data.info.control, data.params.start, getArcAngles(_objectSpread$9(_objectSpread$9({}, data.params), {}, {
8221
8366
  radius: 1
8222
8367
  })).mid, data.params.end);
8223
8368
  set({
@@ -9478,9 +9623,9 @@ const Point = ({
9478
9623
  }));
9479
9624
  };
9480
9625
 
9481
- function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9626
+ function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9482
9627
 
9483
- function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9628
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9484
9629
  /*
9485
9630
  * !polygonOffset!
9486
9631
  * For correct drawing of objects that lie in the same plane, polygonOffset is used.
@@ -9526,7 +9671,7 @@ const CCLine = props => {
9526
9671
  start: start,
9527
9672
  end: end,
9528
9673
  scalePlus: isHovered || isSelected,
9529
- meshProps: _objectSpread$9(_objectSpread$9({
9674
+ meshProps: _objectSpread$8(_objectSpread$8({
9530
9675
  renderOrder
9531
9676
  }, handlers), {}, {
9532
9677
  userData
@@ -9575,7 +9720,7 @@ const CCPoint = props => {
9575
9720
  // so we have to increase size of hovered or selected point to make the point not occluded buy other ones
9576
9721
  ,
9577
9722
  scalePlus: isHovered || isSelected,
9578
- meshProps: _objectSpread$9(_objectSpread$9({
9723
+ meshProps: _objectSpread$8(_objectSpread$8({
9579
9724
  renderOrder
9580
9725
  }, handlers), {}, {
9581
9726
  userData
@@ -9626,7 +9771,7 @@ const CCArc = props => {
9626
9771
  end: endPoint,
9627
9772
  center: centerPoint,
9628
9773
  clockwise: clockwise,
9629
- meshProps: _objectSpread$9({
9774
+ meshProps: _objectSpread$8({
9630
9775
  renderOrder,
9631
9776
  userData
9632
9777
  }, handlers),
@@ -9683,7 +9828,7 @@ const CCCircle = props => {
9683
9828
  radius: radius,
9684
9829
  scale: scale,
9685
9830
  width: arcWidth + hoverZone,
9686
- meshProps: _objectSpread$9(_objectSpread$9({}, handlers), {}, {
9831
+ meshProps: _objectSpread$8(_objectSpread$8({}, handlers), {}, {
9687
9832
  renderOrder,
9688
9833
  userData
9689
9834
  }),
@@ -10136,7 +10281,8 @@ function useHandleGSelection(drawingId, pluginId, activeHandler) {
10136
10281
  prevHandler.current = undefined;
10137
10282
  }
10138
10283
  }, [drawingId, pluginId, activeSelection, activeHandler, set]);
10139
- }
10284
+ } // Creates reference geometry in the sketch for all the graphic objects appearing in the 'UseRef' selection; the selection is reset after each triggering
10285
+
10140
10286
 
10141
10287
  function useUseRef(drawingId, sketchId) {
10142
10288
  const itemsUseRef = useDrawing(drawingId, d => {
@@ -10826,11 +10972,20 @@ const NameEdit = ({
10826
10972
  React__default.useEffect(() => {
10827
10973
  var _ref$current;
10828
10974
 
10975
+ getCADState().api.blankDiv.show(() => setEditName(false));
10829
10976
  (_ref$current = ref.current) == null ? void 0 : _ref$current.focus({
10830
10977
  cursor: 'all'
10831
- });
10832
- }, []);
10978
+ }); // Deactivate BlankDiv on dismount
10979
+
10980
+ return () => getCADState().api.blankDiv.hide();
10981
+ }, [setEditName]); // When BlankDiv is active, increase zIndex so this element would overlap it
10982
+
10983
+ const showBlankDiv = useCADStore(s => s.blankDiv.isActive);
10984
+ const zIndex = showBlankDiv ? blankZIndex + 1 : 0;
10833
10985
  return /*#__PURE__*/React__default.createElement(Input, {
10986
+ style: {
10987
+ zIndex
10988
+ },
10834
10989
  ref: ref,
10835
10990
  onPressEnter: onEnter,
10836
10991
  defaultValue: name,
@@ -12138,9 +12293,9 @@ var index$c = /*#__PURE__*/Object.freeze({
12138
12293
  description: description$c
12139
12294
  });
12140
12295
 
12141
- function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
12296
+ function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
12142
12297
 
12143
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
12298
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
12144
12299
 
12145
12300
  const NumInput = ({
12146
12301
  onChange,
@@ -12201,7 +12356,7 @@ const CSysEditor = ({
12201
12356
  const [z, setZ] = React__default.useState(() => userValue[csysRow].z);
12202
12357
  React__default.useEffect(() => {
12203
12358
  setUserValue(val => {
12204
- const newVal = [_objectSpread$8({}, val[0]), _objectSpread$8({}, val[1]), _objectSpread$8({}, val[2]), _objectSpread$8({}, val[3])];
12359
+ const newVal = [_objectSpread$7({}, val[0]), _objectSpread$7({}, val[1]), _objectSpread$7({}, val[2]), _objectSpread$7({}, val[3])];
12205
12360
  newVal[csysRow] = {
12206
12361
  x,
12207
12362
  y,
@@ -15695,90 +15850,6 @@ const FileUtils = {
15695
15850
  }
15696
15851
  };
15697
15852
 
15698
- const zoomToFit = drawingId => {
15699
- var _getCamera;
15700
-
15701
- const drawing = getDrawing(drawingId);
15702
- const camApi = (_getCamera = getCamera(drawingId)) == null ? void 0 : _getCamera.api;
15703
-
15704
- if (!drawing || !camApi) {
15705
- return;
15706
- }
15707
-
15708
- const {
15709
- structure,
15710
- api: drawingApi
15711
- } = drawing;
15712
- const {
15713
- root,
15714
- currentProduct,
15715
- currentNode
15716
- } = structure;
15717
- let currRoot = currentNode || currentProduct || root;
15718
-
15719
- if (currentProduct && structure.tree[currentProduct].class === 'CC_Part') {
15720
- currRoot = currentProduct;
15721
- }
15722
-
15723
- const bounds = drawingApi.structure.calculateProductBounds(currRoot);
15724
- camApi.setZoom('fit', bounds);
15725
- };
15726
-
15727
- function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15728
-
15729
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15730
- const appApi = (set, get) => ({
15731
- assemblyTree: {
15732
- startProdEditing: (drawingId, objId) => {
15733
- set(state => {
15734
- let res = [];
15735
- const curNode = api.getState().drawing.refs[drawingId].structure.currentNode;
15736
- res = state.assemblyTree.prodStack;
15737
- curNode && res.push(curNode);
15738
- return _objectSpread$7(_objectSpread$7({}, state), {}, {
15739
- assemblyTree: {
15740
- prodStack: [...res]
15741
- }
15742
- });
15743
- });
15744
- ccAPI.assemblyBuilder.setCurrentNode(drawingId, objId).then(() => zoomToFit(drawingId)).catch();
15745
- },
15746
- goBack: drawingId => {
15747
- const prodStack = get().assemblyTree.prodStack;
15748
- const prevProd = prodStack[prodStack.length - 1];
15749
- if (!prevProd) return;
15750
- set(state => {
15751
- const res = state.assemblyTree.prodStack;
15752
- res.pop();
15753
- return _objectSpread$7(_objectSpread$7({}, state), {}, {
15754
- assemblyTree: {
15755
- prodStack: [...res]
15756
- }
15757
- });
15758
- });
15759
- ccAPI.assemblyBuilder.setCurrentNode(drawingId, prevProd).then(() => zoomToFit(drawingId)).catch();
15760
- },
15761
- clearProdStack: () => {
15762
- set(state => _objectSpread$7(_objectSpread$7({}, state), {}, {
15763
- assemblyTree: {
15764
- prodStack: []
15765
- }
15766
- }));
15767
- }
15768
- }
15769
- });
15770
-
15771
- const createAppState = (set, get) => ({
15772
- assemblyTree: {
15773
- prodStack: []
15774
- },
15775
- api: appApi(set, get)
15776
- });
15777
-
15778
- const CADApi = vanilla((set, get) => createAppState(set, get));
15779
- const useCADStore = create(CADApi);
15780
- const getCADState = CADApi.getState;
15781
-
15782
15853
  function useMenuItems$3(drawingId, prodId, setEditName, pluginId) {
15783
15854
  const isCurrent = useDrawing(drawingId, d => d.structure.currentProduct === prodId);
15784
15855
  const isAssembly = useDrawing(drawingId, d => d.structure.tree[prodId].class === CCClasses.CCAssembly);
@@ -19219,23 +19290,6 @@ const useMsgStore = create((set, get) => ({
19219
19290
  api: createApi(set)
19220
19291
  }));
19221
19292
 
19222
- const blankZIndex = 1000;
19223
- const BlankDiv = ({
19224
- onClick
19225
- }) => {
19226
- return /*#__PURE__*/React__default.createElement("div", {
19227
- onClick: onClick,
19228
- style: {
19229
- zIndex: blankZIndex,
19230
- position: 'fixed',
19231
- top: 0,
19232
- left: 0,
19233
- bottom: 0,
19234
- right: 0
19235
- }
19236
- });
19237
- };
19238
-
19239
19293
  function getBorderColor(msg) {
19240
19294
  if (msg.isShown) return '#dddddd';
19241
19295
  if (msg.type === 'success') return '#b7eb8f';
@@ -19405,20 +19459,24 @@ const Messages = ({
19405
19459
  if (msgsLen === 0) setShowList(false);
19406
19460
  }, [msgsLen]);
19407
19461
  const onClick = React__default.useCallback(() => {
19462
+ if (showList) {
19463
+ getCADState().api.blankDiv.hide();
19464
+ } else {
19465
+ getCADState().api.blankDiv.show(() => setShowList(false));
19466
+ }
19467
+
19408
19468
  setShowList(s => !s);
19409
19469
  setShowBadge(false);
19410
- }, []);
19470
+ }, [showList]);
19411
19471
  return /*#__PURE__*/React__default.createElement("div", {
19412
19472
  style: {
19413
19473
  display: 'flex',
19414
19474
  flexDirection: 'column',
19415
19475
  alignItems: 'flex-end'
19416
19476
  }
19417
- }, showList && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MessageList, {
19477
+ }, showList && /*#__PURE__*/React__default.createElement(MessageList, {
19418
19478
  drawingId: drawingId
19419
- }), /*#__PURE__*/React__default.createElement(BlankDiv, {
19420
- onClick: () => setShowList(false)
19421
- })), /*#__PURE__*/React__default.createElement(Tooltip, {
19479
+ }), /*#__PURE__*/React__default.createElement(Tooltip, {
19422
19480
  title: "Messages"
19423
19481
  }, /*#__PURE__*/React__default.createElement(Badge, {
19424
19482
  dot: showBadge
@@ -19575,7 +19633,7 @@ const Drawing = ({
19575
19633
  }
19576
19634
  }, /*#__PURE__*/React__default.createElement(Messages, {
19577
19635
  drawingId: drawingId
19578
- }))));
19636
+ })), /*#__PURE__*/React__default.createElement(BlankDiv, null)));
19579
19637
  };
19580
19638
 
19581
19639
  const CAD = ({