kitchen-simulator 5.0.0-test.5 → 5.0.0-test.7

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.
Files changed (1092) hide show
  1. package/package.json +34 -41
  2. package/src/@history.js +3 -0
  3. package/src/AppContext.js +5 -0
  4. package/src/KitchenConfigurator.jsx +1517 -0
  5. package/src/KitchenConfiguratorApp.jsx +443 -0
  6. package/src/actions/area-actions.js +15 -0
  7. package/src/actions/export.js +38 -0
  8. package/src/actions/groups-actions.js +102 -0
  9. package/src/actions/holes-actions.js +152 -0
  10. package/src/actions/items-actions.js +393 -0
  11. package/src/actions/lines-actions.js +103 -0
  12. package/src/actions/project-actions.js +391 -0
  13. package/src/actions/scene-actions.js +44 -0
  14. package/src/actions/user-actions.js +75 -0
  15. package/src/actions/vertices-actions.js +34 -0
  16. package/src/actions/viewer2d-actions.js +79 -0
  17. package/src/actions/viewer3d-actions.js +32 -0
  18. package/src/catalog/areas/area/planner-element.jsx +43 -0
  19. package/src/catalog/catalog.js +258 -0
  20. package/src/catalog/factories/area-factory-3d.js +252 -0
  21. package/src/catalog/factories/area-factory.jsx +102 -0
  22. package/src/catalog/factories/export.js +9 -0
  23. package/src/catalog/factories/wall-factory-3d.js +296 -0
  24. package/src/catalog/factories/wall-factory.jsx +321 -0
  25. package/src/catalog/holes/door-closet/planner-element.jsx +251 -0
  26. package/src/catalog/holes/door-double/planner-element.jsx +391 -0
  27. package/src/catalog/holes/door-exterior/planner-element.jsx +245 -0
  28. package/src/catalog/holes/door-interior/planner-element.jsx +256 -0
  29. package/src/catalog/holes/door-panic/planner-element.jsx +594 -0
  30. package/src/catalog/holes/door-panic-double/planner-element.jsx +574 -0
  31. package/src/catalog/holes/door-sliding/planner-element.jsx +256 -0
  32. package/src/catalog/holes/doorway-framed/planner-element.jsx +169 -0
  33. package/src/catalog/holes/doorway-frameless/planner-element.jsx +116 -0
  34. package/src/catalog/holes/window-clear/planner-element.jsx +181 -0
  35. package/src/catalog/holes/window-cross/planner-element.jsx +180 -0
  36. package/src/catalog/holes/window-double-hung/planner-element.jsx +366 -0
  37. package/src/catalog/holes/window-vertical/planner-element.jsx +290 -0
  38. package/src/catalog/lines/wall/planner-element.jsx +73 -0
  39. package/src/catalog/molding/molding-dcm/planner-element.jsx +35 -0
  40. package/src/catalog/molding/molding-fbm/planner-element.jsx +35 -0
  41. package/src/catalog/molding/molding-lrm/planner-element.jsx +35 -0
  42. package/src/catalog/properties/export.js +33 -0
  43. package/src/catalog/properties/property-checkbox.jsx +123 -0
  44. package/src/catalog/properties/property-color.jsx +52 -0
  45. package/src/catalog/properties/property-enum.jsx +87 -0
  46. package/src/catalog/properties/property-hidden.jsx +22 -0
  47. package/src/catalog/properties/property-lenght-measure.jsx +113 -0
  48. package/src/catalog/properties/property-length-measure.jsx +129 -0
  49. package/src/catalog/properties/property-length-measure_hole.jsx +110 -0
  50. package/src/catalog/properties/property-number.jsx +63 -0
  51. package/src/catalog/properties/property-read-only.jsx +37 -0
  52. package/src/catalog/properties/property-string.jsx +59 -0
  53. package/src/catalog/properties/property-toggle.jsx +51 -0
  54. package/src/catalog/properties/shared-property-style.js +13 -0
  55. package/src/catalog/utils/FuseUtils.js +61 -0
  56. package/src/catalog/utils/exporter.js +173 -0
  57. package/src/catalog/utils/geom-utils.js +301 -0
  58. package/src/catalog/utils/item-loader.jsx +2122 -0
  59. package/src/catalog/utils/load-obj.js +113 -0
  60. package/src/catalog/utils/mtl-loader.js +462 -0
  61. package/src/catalog/utils/obj-loader.js +544 -0
  62. package/src/class/FuseUtils.js +61 -0
  63. package/src/class/area.js +159 -0
  64. package/src/class/export.js +37 -0
  65. package/src/class/group.js +565 -0
  66. package/src/class/guide.js +44 -0
  67. package/src/class/hole.js +1359 -0
  68. package/src/class/item.js +2050 -0
  69. package/src/class/layer.js +926 -0
  70. package/src/class/line.js +1780 -0
  71. package/src/class/project.js +875 -0
  72. package/src/class/vertex.js +409 -0
  73. package/src/components/atoms/Snackbar/index.jsx +43 -0
  74. package/src/components/atoms/radio-button/index.jsx +20 -0
  75. package/src/components/atoms/radio-button/styles.js +56 -0
  76. package/src/components/button/MainButton.jsx +157 -0
  77. package/src/components/button/ToggleMeasureButton.jsx +65 -0
  78. package/src/components/catalog-view/catalog-breadcrumb.jsx +53 -0
  79. package/src/components/catalog-view/catalog-item.jsx +229 -0
  80. package/src/components/catalog-view/catalog-list.jsx +173 -0
  81. package/src/components/catalog-view/catalog-page-item.jsx +110 -0
  82. package/src/components/catalog-view/catalog-turn-back-page-item.jsx +80 -0
  83. package/src/components/configurator/custom-configurator.jsx +77 -0
  84. package/src/components/configurator/project-configurator.jsx +120 -0
  85. package/src/components/content.jsx +136 -0
  86. package/src/components/export.js +36 -0
  87. package/src/components/firstsetting/button/styles.js +223 -0
  88. package/src/components/firstsetting/export.js +9 -0
  89. package/src/components/firstsetting/firstsetting-content-button.jsx +198 -0
  90. package/src/components/firstsetting/firstsetting-toggle-button.jsx +101 -0
  91. package/src/components/firstsetting/firstsetting.jsx +814 -0
  92. package/src/components/footerbar/button/ControlButton.jsx +43 -0
  93. package/src/components/footerbar/button/DirectionButton.jsx +54 -0
  94. package/src/components/footerbar/button/DirectionPanSpinButton.jsx +36 -0
  95. package/src/components/footerbar/button/ToggleButton.jsx +58 -0
  96. package/src/components/footerbar/button/ToggleConvertButton.jsx +48 -0
  97. package/src/components/footerbar/button/ToggleMeasureButton.jsx +33 -0
  98. package/src/components/footerbar/button/styles.js +217 -0
  99. package/src/components/footerbar/export.js +9 -0
  100. package/src/components/footerbar/footer-content-button.jsx +198 -0
  101. package/src/components/footerbar/footer-toggle-button.jsx +101 -0
  102. package/src/components/footerbar/footerbar.jsx +1103 -0
  103. package/src/components/footerbar/styles.js +263 -0
  104. package/src/components/header/button/MenuButton.jsx +46 -0
  105. package/src/components/header/button/SaveButton.jsx +54 -0
  106. package/src/components/header/button/styles.js +181 -0
  107. package/src/components/header/export.js +5 -0
  108. package/src/components/header/header.jsx +631 -0
  109. package/src/components/header/styles.js +320 -0
  110. package/src/components/login/Login.js +77 -0
  111. package/src/components/login/LoginForm/index.js +108 -0
  112. package/src/components/login/Register.js +83 -0
  113. package/src/components/login/RegisterForm/index.js +171 -0
  114. package/src/components/login/jwtService.js +201 -0
  115. package/src/components/molecules/slider/index.jsx +15 -0
  116. package/src/components/molecules/slider/styles.js +0 -0
  117. package/src/components/myprojects/export.js +5 -0
  118. package/src/components/myprojects/index.jsx +445 -0
  119. package/src/components/myprojects/styles.js +241 -0
  120. package/src/components/sidebar/custom-accordion.jsx +48 -0
  121. package/src/components/sidebar/export.js +15 -0
  122. package/src/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.jsx +73 -0
  123. package/src/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.jsx +101 -0
  124. package/src/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.jsx +149 -0
  125. package/src/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.jsx +316 -0
  126. package/src/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.jsx +108 -0
  127. package/src/components/sidebar/panel-element-editor/element-editor.jsx +1070 -0
  128. package/src/components/sidebar/panel-element-editor/multi-elements-editor.jsx +0 -0
  129. package/src/components/sidebar/panel-element-editor/panel-element-editor.jsx +104 -0
  130. package/src/components/sidebar/panel-element-editor/panel-multi-elements-editor.jsx +155 -0
  131. package/src/components/sidebar/panel-group-editor.jsx +272 -0
  132. package/src/components/sidebar/panel-groups.jsx +310 -0
  133. package/src/components/sidebar/panel-guides.jsx +192 -0
  134. package/src/components/sidebar/panel-layer-elements.jsx +298 -0
  135. package/src/components/sidebar/panel-layers.jsx +381 -0
  136. package/src/components/sidebar/panel.jsx +71 -0
  137. package/src/components/sidebar/sidebar.jsx +106 -0
  138. package/src/components/sidebar/toolbar-panel.jsx +139 -0
  139. package/src/components/sign/export.js +7 -0
  140. package/src/components/sign/main/index.jsx +523 -0
  141. package/src/components/sign/main/styles.js +163 -0
  142. package/src/components/style/button.jsx +95 -0
  143. package/src/components/style/cancel-button.jsx +20 -0
  144. package/src/components/style/content-container.jsx +29 -0
  145. package/src/components/style/content-title.jsx +20 -0
  146. package/src/components/style/delete-button.jsx +23 -0
  147. package/src/components/style/export.jsx +48 -0
  148. package/src/components/style/form-block.jsx +13 -0
  149. package/src/components/style/form-color-input.jsx +27 -0
  150. package/src/components/style/form-label.jsx +15 -0
  151. package/src/components/style/form-number-input.jsx +196 -0
  152. package/src/components/style/form-number-input_2.jsx +191 -0
  153. package/src/components/style/form-select.jsx +38 -0
  154. package/src/components/style/form-slider.jsx +36 -0
  155. package/src/components/style/form-submit-button.jsx +23 -0
  156. package/src/components/style/form-text-input.jsx +65 -0
  157. package/src/components/toolbar/button/ControlButton.jsx +41 -0
  158. package/src/components/toolbar/button/DirectionButton.jsx +34 -0
  159. package/src/components/toolbar/button/RightButton.jsx +103 -0
  160. package/src/components/toolbar/button/ToggleButton.jsx +41 -0
  161. package/src/components/toolbar/button/index.jsx +55 -0
  162. package/src/components/toolbar/button/styles.js +127 -0
  163. package/src/components/toolbar/components/DoorStyleMenu.jsx +103 -0
  164. package/src/components/toolbar/components/Pricing.jsx +126 -0
  165. package/src/components/toolbar/components/ReviewForQuote.jsx +635 -0
  166. package/src/components/toolbar/export.js +21 -0
  167. package/src/components/toolbar/main/Alert.js +122 -0
  168. package/src/components/toolbar/main/TakePictureModal.jsx +104 -0
  169. package/src/components/toolbar/main/confirm-popup.jsx +99 -0
  170. package/src/components/toolbar/main/index.jsx +5627 -0
  171. package/src/components/toolbar/main/myComponents.js +123 -0
  172. package/src/components/toolbar/main/styles.js +696 -0
  173. package/src/components/toolbar/plugin-item.jsx +123 -0
  174. package/src/components/toolbar/popup/appliance/appliance-category/index.jsx +73 -0
  175. package/src/components/toolbar/popup/appliance/choose-appliance/index.jsx +102 -0
  176. package/src/components/toolbar/popup/appliance/index.jsx +83 -0
  177. package/src/components/toolbar/popup/autosaveprompt/index.jsx +150 -0
  178. package/src/components/toolbar/popup/autosaveprompt/styles.js +40 -0
  179. package/src/components/toolbar/popup/cabinet/cabinet-category/index.jsx +73 -0
  180. package/src/components/toolbar/popup/cabinet/choose-product/index.jsx +119 -0
  181. package/src/components/toolbar/popup/cabinet/index.jsx +85 -0
  182. package/src/components/toolbar/popup/doorStyle/choose-style/index.jsx +63 -0
  183. package/src/components/toolbar/popup/doorStyle/index.jsx +71 -0
  184. package/src/components/toolbar/popup/doorStyle/style-category/index.jsx +139 -0
  185. package/src/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +2 -0
  186. package/src/components/toolbar/popup/downloadsummary/downloadSummaryTemp.jsx +157 -0
  187. package/src/components/toolbar/popup/downloadsummary/index.jsx +643 -0
  188. package/src/components/toolbar/popup/downloadsummary/show2D/show2DView.jsx +51 -0
  189. package/src/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.jsx +175 -0
  190. package/src/components/toolbar/popup/downloadsummary/show3D/show3DView.jsx +283 -0
  191. package/src/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.jsx +2257 -0
  192. package/src/components/toolbar/popup/downloadsummary/showCabinetInfo.js +93 -0
  193. package/src/components/toolbar/popup/downloadsummary/showElevation/showElevationView.jsx +132 -0
  194. package/src/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.jsx +2198 -0
  195. package/src/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.jsx +152 -0
  196. package/src/components/toolbar/popup/downloadsummary/showWarranty.jsx +149 -0
  197. package/src/components/toolbar/popup/downloadsummary/styles.js +453 -0
  198. package/src/components/toolbar/popup/finishingtouch/category/index.jsx +34 -0
  199. package/src/components/toolbar/popup/finishingtouch/index.jsx +58 -0
  200. package/src/components/toolbar/popup/finishingtouch/material-edit.jsx +112 -0
  201. package/src/components/toolbar/popup/finishingtouch/product/index.jsx +116 -0
  202. package/src/components/toolbar/popup/floorplan/choose-floor/confirm-popup.jsx +101 -0
  203. package/src/components/toolbar/popup/floorplan/choose-floor/index.jsx +254 -0
  204. package/src/components/toolbar/popup/floorplan/choose-floor/styles.js +86 -0
  205. package/src/components/toolbar/popup/floorplan/floor-category/index.jsx +109 -0
  206. package/src/components/toolbar/popup/floorplan/index.jsx +60 -0
  207. package/src/components/toolbar/popup/index.jsx +241 -0
  208. package/src/components/toolbar/popup/newproject/index.jsx +59 -0
  209. package/src/components/toolbar/popup/newproject/styles.js +41 -0
  210. package/src/components/toolbar/popup/product/appliance.jsx +54 -0
  211. package/src/components/toolbar/popup/product/cabinetproduct.jsx +15 -0
  212. package/src/components/toolbar/popup/product/doorstyle.jsx +58 -0
  213. package/src/components/toolbar/popup/product/doorstyleproduct.jsx +47 -0
  214. package/src/components/toolbar/popup/product/floor.jsx +36 -0
  215. package/src/components/toolbar/popup/product/floorproduct.jsx +42 -0
  216. package/src/components/toolbar/popup/product/index.jsx +36 -0
  217. package/src/components/toolbar/popup/product/primary.jsx +77 -0
  218. package/src/components/toolbar/popup/product/productline.jsx +93 -0
  219. package/src/components/toolbar/popup/product/reviewItem.jsx +427 -0
  220. package/src/components/toolbar/popup/product/reviewMolding.jsx +310 -0
  221. package/src/components/toolbar/popup/product/styles.js +260 -0
  222. package/src/components/toolbar/popup/savedesign/FullPictureForm.jsx +146 -0
  223. package/src/components/toolbar/popup/savedesign/index.jsx +495 -0
  224. package/src/components/toolbar/popup/savedesign/styles.js +151 -0
  225. package/src/components/toolbar/popup/setDoorStyleOption/index.jsx +87 -0
  226. package/src/components/toolbar/popup/styles.js +909 -0
  227. package/src/components/toolbar/popup/submitforquote/AddToCartOptions.jsx +192 -0
  228. package/src/components/toolbar/popup/submitforquote/CustomerRequestsForm.jsx +96 -0
  229. package/src/components/toolbar/popup/submitforquote/SkipDesignerReview.jsx +54 -0
  230. package/src/components/toolbar/popup/submitforquote/StepDots.jsx +25 -0
  231. package/src/components/toolbar/popup/submitforquote/cart-choice.jsx +116 -0
  232. package/src/components/toolbar/popup/submitforquote/doorstyle-menus.js +38 -0
  233. package/src/components/toolbar/popup/submitforquote/index.jsx +698 -0
  234. package/src/components/toolbar/popup/submitforquote/styles.js +294 -0
  235. package/src/components/toolbar/popup/submitprompt/index.jsx +89 -0
  236. package/src/components/toolbar/popup/submitprompt/styles.js +42 -0
  237. package/src/components/toolbar/toolbar-button.jsx +90 -0
  238. package/src/components/toolbar/toolbar-load-button.jsx +36 -0
  239. package/src/components/toolbar/toolbar-save-button.jsx +32 -0
  240. package/src/components/tutorial-view/Modal.jsx +584 -0
  241. package/src/components/tutorial-view/styles.js +65 -0
  242. package/src/components/viewer2d/area.jsx +98 -0
  243. package/src/components/viewer2d/export.js +48 -0
  244. package/src/components/viewer2d/grids/grid-horizontal-streak.jsx +40 -0
  245. package/src/components/viewer2d/grids/grid-streak.jsx +32 -0
  246. package/src/components/viewer2d/grids/grid-vertical-streak.jsx +41 -0
  247. package/src/components/viewer2d/grids/grids.jsx +30 -0
  248. package/src/components/viewer2d/group.jsx +57 -0
  249. package/src/components/viewer2d/item.jsx +618 -0
  250. package/src/components/viewer2d/layer.jsx +214 -0
  251. package/src/components/viewer2d/line.jsx +1358 -0
  252. package/src/components/viewer2d/ruler.jsx +136 -0
  253. package/src/components/viewer2d/rulerDist.jsx +192 -0
  254. package/src/components/viewer2d/rulerX.jsx +141 -0
  255. package/src/components/viewer2d/rulerY.jsx +138 -0
  256. package/src/components/viewer2d/scene.jsx +94 -0
  257. package/src/components/viewer2d/snap.jsx +118 -0
  258. package/src/components/viewer2d/state.jsx +77 -0
  259. package/src/components/viewer2d/utils.js +195 -0
  260. package/src/components/viewer2d/vertex.jsx +76 -0
  261. package/src/components/viewer2d/viewer2d.jsx +1830 -0
  262. package/src/components/viewer3d/camera-controls-module/camera-controls.module.js +3078 -0
  263. package/src/components/viewer3d/dcm.js +226 -0
  264. package/src/components/viewer3d/fbm.js +383 -0
  265. package/src/components/viewer3d/front3D.jsx +63 -0
  266. package/src/components/viewer3d/grid-creator.js +25 -0
  267. package/src/components/viewer3d/grids/grid-horizontal-streak.js +41 -0
  268. package/src/components/viewer3d/grids/grid-streak.js +34 -0
  269. package/src/components/viewer3d/grids/grid-vertical-streak.js +42 -0
  270. package/src/components/viewer3d/libs/first-person-controls.js +70 -0
  271. package/src/components/viewer3d/libs/helvetiker_regular.typeface.js +1265 -0
  272. package/src/components/viewer3d/libs/mtl-loader.js +462 -0
  273. package/src/components/viewer3d/libs/obj-loader.js +653 -0
  274. package/src/components/viewer3d/libs/orbit-controls.js +945 -0
  275. package/src/components/viewer3d/libs/pointer-lock-controls.js +67 -0
  276. package/src/components/viewer3d/lrm.js +358 -0
  277. package/src/components/viewer3d/model.js +830 -0
  278. package/src/components/viewer3d/pointer-lock-navigation.js +140 -0
  279. package/src/components/viewer3d/ruler-utils/itemRect.jsx +91 -0
  280. package/src/components/viewer3d/ruler-utils/layer3D.jsx +528 -0
  281. package/src/components/viewer3d/ruler-utils/ruler3D.jsx +218 -0
  282. package/src/components/viewer3d/ruler-utils/scene3D.jsx +87 -0
  283. package/src/components/viewer3d/ruler-utils/state3D.jsx +25 -0
  284. package/src/components/viewer3d/scene-creator.js +5169 -0
  285. package/src/components/viewer3d/three-memory-cleaner.js +65 -0
  286. package/src/components/viewer3d/viewer3d-first-person.js +395 -0
  287. package/src/components/viewer3d/viewer3d.js +3376 -0
  288. package/src/components/wizardstep/button/styles.js +677 -0
  289. package/src/components/wizardstep/export.js +5 -0
  290. package/src/components/wizardstep/index.jsx +1372 -0
  291. package/src/components/wizardstep/styles.js +688 -0
  292. package/src/components/wizardstep/wizardstep-content-button.jsx +198 -0
  293. package/src/components/wizardstep/wizardstep-toggle-button.jsx +101 -0
  294. package/src/constants.js +731 -0
  295. package/src/index.js +32 -0
  296. package/src/models.js +541 -0
  297. package/src/plugins/SVGLoader.js +1991 -0
  298. package/src/plugins/autosave.js +39 -0
  299. package/src/plugins/console-debugger.js +36 -0
  300. package/src/plugins/export.js +11 -0
  301. package/src/plugins/keyboard.js +194 -0
  302. package/src/reducers/areas-reducer.js +13 -0
  303. package/src/reducers/export.js +39 -0
  304. package/src/reducers/groups-reducer.js +73 -0
  305. package/src/reducers/holes-reducer.js +125 -0
  306. package/src/reducers/items-reducer.js +286 -0
  307. package/src/reducers/lines-reducer.js +96 -0
  308. package/src/reducers/project-reducer.js +239 -0
  309. package/src/reducers/reducer.js +59 -0
  310. package/src/reducers/scene-reducer.js +41 -0
  311. package/src/reducers/user-reducer.js +30 -0
  312. package/src/reducers/vertices-reducer.js +34 -0
  313. package/src/reducers/viewer2d-reducer.js +81 -0
  314. package/src/reducers/viewer3d-reducer.js +65 -0
  315. package/src/shared-style.js +72 -0
  316. package/src/translator/en.js +106 -0
  317. package/src/translator/it.js +80 -0
  318. package/src/translator/ru.js +80 -0
  319. package/src/translator/translator.js +81 -0
  320. package/src/utils/browser.js +36 -0
  321. package/src/utils/email-validator.js +5 -0
  322. package/src/utils/export.js +39 -0
  323. package/src/utils/geometry.js +2572 -0
  324. package/src/utils/get-edges-of-subgraphs.js +29 -0
  325. package/src/utils/graph-cycles.js +259 -0
  326. package/src/utils/graph-inner-cycles.js +49 -0
  327. package/src/utils/graph.js +147 -0
  328. package/src/utils/helper.js +431 -0
  329. package/src/utils/history.js +37 -0
  330. package/src/utils/id-broker.js +9 -0
  331. package/src/utils/logger.js +8 -0
  332. package/src/utils/math.js +51 -0
  333. package/src/utils/molding.js +973 -0
  334. package/src/utils/name-generator.js +5 -0
  335. package/src/utils/objects-utils.js +56 -0
  336. package/src/utils/phone-validator.js +4 -0
  337. package/src/utils/process-black-list.js +10 -0
  338. package/src/utils/react-if.jsx +20 -0
  339. package/src/utils/snap-scene.js +102 -0
  340. package/src/utils/snap.js +184 -0
  341. package/src/utils/threeCSG.es6.js +578 -0
  342. package/src/version.js +1 -0
  343. package/es/@history.js +0 -3
  344. package/es/@history.js.map +0 -1
  345. package/es/AppContext.js +0 -4
  346. package/es/AppContext.js.map +0 -1
  347. package/es/KitchenConfigurator.js +0 -1345
  348. package/es/KitchenConfigurator.js.map +0 -1
  349. package/es/KitchenConfiguratorApp.js +0 -532
  350. package/es/KitchenConfiguratorApp.js.map +0 -1
  351. package/es/actions/area-actions.js +0 -15
  352. package/es/actions/area-actions.js.map +0 -1
  353. package/es/actions/export.js +0 -26
  354. package/es/actions/export.js.map +0 -1
  355. package/es/actions/groups-actions.js +0 -90
  356. package/es/actions/groups-actions.js.map +0 -1
  357. package/es/actions/holes-actions.js +0 -120
  358. package/es/actions/holes-actions.js.map +0 -1
  359. package/es/actions/items-actions.js +0 -314
  360. package/es/actions/items-actions.js.map +0 -1
  361. package/es/actions/lines-actions.js +0 -83
  362. package/es/actions/lines-actions.js.map +0 -1
  363. package/es/actions/project-actions.js +0 -282
  364. package/es/actions/project-actions.js.map +0 -1
  365. package/es/actions/scene-actions.js +0 -34
  366. package/es/actions/scene-actions.js.map +0 -1
  367. package/es/actions/user-actions.js +0 -59
  368. package/es/actions/user-actions.js.map +0 -1
  369. package/es/actions/vertices-actions.js +0 -28
  370. package/es/actions/vertices-actions.js.map +0 -1
  371. package/es/actions/viewer2d-actions.js +0 -59
  372. package/es/actions/viewer2d-actions.js.map +0 -1
  373. package/es/actions/viewer3d-actions.js +0 -24
  374. package/es/actions/viewer3d-actions.js.map +0 -1
  375. package/es/catalog/areas/area/planner-element.js +0 -41
  376. package/es/catalog/areas/area/planner-element.js.map +0 -1
  377. package/es/catalog/catalog.js +0 -278
  378. package/es/catalog/catalog.js.map +0 -1
  379. package/es/catalog/factories/area-factory-3d.js +0 -183
  380. package/es/catalog/factories/area-factory-3d.js.map +0 -1
  381. package/es/catalog/factories/area-factory.js +0 -82
  382. package/es/catalog/factories/area-factory.js.map +0 -1
  383. package/es/catalog/factories/export.js +0 -8
  384. package/es/catalog/factories/export.js.map +0 -1
  385. package/es/catalog/factories/wall-factory-3d.js +0 -203
  386. package/es/catalog/factories/wall-factory-3d.js.map +0 -1
  387. package/es/catalog/factories/wall-factory.js +0 -269
  388. package/es/catalog/factories/wall-factory.js.map +0 -1
  389. package/es/catalog/holes/door-closet/planner-element.js +0 -223
  390. package/es/catalog/holes/door-closet/planner-element.js.map +0 -1
  391. package/es/catalog/holes/door-double/planner-element.js +0 -316
  392. package/es/catalog/holes/door-double/planner-element.js.map +0 -1
  393. package/es/catalog/holes/door-exterior/planner-element.js +0 -216
  394. package/es/catalog/holes/door-exterior/planner-element.js.map +0 -1
  395. package/es/catalog/holes/door-interior/planner-element.js +0 -228
  396. package/es/catalog/holes/door-interior/planner-element.js.map +0 -1
  397. package/es/catalog/holes/door-panic/planner-element.js +0 -504
  398. package/es/catalog/holes/door-panic/planner-element.js.map +0 -1
  399. package/es/catalog/holes/door-panic-double/planner-element.js +0 -464
  400. package/es/catalog/holes/door-panic-double/planner-element.js.map +0 -1
  401. package/es/catalog/holes/door-sliding/planner-element.js +0 -226
  402. package/es/catalog/holes/door-sliding/planner-element.js.map +0 -1
  403. package/es/catalog/holes/doorway-framed/planner-element.js +0 -146
  404. package/es/catalog/holes/doorway-framed/planner-element.js.map +0 -1
  405. package/es/catalog/holes/doorway-frameless/planner-element.js +0 -105
  406. package/es/catalog/holes/doorway-frameless/planner-element.js.map +0 -1
  407. package/es/catalog/holes/window-clear/planner-element.js +0 -167
  408. package/es/catalog/holes/window-clear/planner-element.js.map +0 -1
  409. package/es/catalog/holes/window-cross/planner-element.js +0 -166
  410. package/es/catalog/holes/window-cross/planner-element.js.map +0 -1
  411. package/es/catalog/holes/window-double-hung/planner-element.js +0 -304
  412. package/es/catalog/holes/window-double-hung/planner-element.js.map +0 -1
  413. package/es/catalog/holes/window-vertical/planner-element.js +0 -277
  414. package/es/catalog/holes/window-vertical/planner-element.js.map +0 -1
  415. package/es/catalog/lines/wall/planner-element.js +0 -71
  416. package/es/catalog/lines/wall/planner-element.js.map +0 -1
  417. package/es/catalog/molding/molding-dcm/planner-element.js +0 -30
  418. package/es/catalog/molding/molding-dcm/planner-element.js.map +0 -1
  419. package/es/catalog/molding/molding-fbm/planner-element.js +0 -30
  420. package/es/catalog/molding/molding-fbm/planner-element.js.map +0 -1
  421. package/es/catalog/molding/molding-lrm/planner-element.js +0 -30
  422. package/es/catalog/molding/molding-lrm/planner-element.js.map +0 -1
  423. package/es/catalog/properties/export.js +0 -22
  424. package/es/catalog/properties/export.js.map +0 -1
  425. package/es/catalog/properties/property-checkbox.js +0 -72
  426. package/es/catalog/properties/property-checkbox.js.map +0 -1
  427. package/es/catalog/properties/property-color.js +0 -40
  428. package/es/catalog/properties/property-color.js.map +0 -1
  429. package/es/catalog/properties/property-enum.js +0 -56
  430. package/es/catalog/properties/property-enum.js.map +0 -1
  431. package/es/catalog/properties/property-hidden.js +0 -20
  432. package/es/catalog/properties/property-hidden.js.map +0 -1
  433. package/es/catalog/properties/property-lenght-measure.js +0 -102
  434. package/es/catalog/properties/property-lenght-measure.js.map +0 -1
  435. package/es/catalog/properties/property-length-measure.js +0 -86
  436. package/es/catalog/properties/property-length-measure.js.map +0 -1
  437. package/es/catalog/properties/property-length-measure_hole.js +0 -102
  438. package/es/catalog/properties/property-length-measure_hole.js.map +0 -1
  439. package/es/catalog/properties/property-number.js +0 -49
  440. package/es/catalog/properties/property-number.js.map +0 -1
  441. package/es/catalog/properties/property-read-only.js +0 -27
  442. package/es/catalog/properties/property-read-only.js.map +0 -1
  443. package/es/catalog/properties/property-string.js +0 -49
  444. package/es/catalog/properties/property-string.js.map +0 -1
  445. package/es/catalog/properties/property-toggle.js +0 -40
  446. package/es/catalog/properties/property-toggle.js.map +0 -1
  447. package/es/catalog/properties/shared-property-style.js +0 -15
  448. package/es/catalog/properties/shared-property-style.js.map +0 -1
  449. package/es/catalog/utils/FuseUtils.js +0 -83
  450. package/es/catalog/utils/FuseUtils.js.map +0 -1
  451. package/es/catalog/utils/exporter.js +0 -149
  452. package/es/catalog/utils/exporter.js.map +0 -1
  453. package/es/catalog/utils/geom-utils.js +0 -190
  454. package/es/catalog/utils/geom-utils.js.map +0 -1
  455. package/es/catalog/utils/item-loader.js +0 -1522
  456. package/es/catalog/utils/item-loader.js.map +0 -1
  457. package/es/catalog/utils/load-obj.js +0 -92
  458. package/es/catalog/utils/load-obj.js.map +0 -1
  459. package/es/catalog/utils/mtl-loader.js +0 -358
  460. package/es/catalog/utils/mtl-loader.js.map +0 -1
  461. package/es/catalog/utils/obj-loader.js +0 -477
  462. package/es/catalog/utils/obj-loader.js.map +0 -1
  463. package/es/class/FuseUtils.js +0 -83
  464. package/es/class/FuseUtils.js.map +0 -1
  465. package/es/class/area.js +0 -146
  466. package/es/class/area.js.map +0 -1
  467. package/es/class/export.js +0 -25
  468. package/es/class/export.js.map +0 -1
  469. package/es/class/group.js +0 -441
  470. package/es/class/group.js.map +0 -1
  471. package/es/class/guide.js +0 -63
  472. package/es/class/guide.js.map +0 -1
  473. package/es/class/hole.js +0 -931
  474. package/es/class/hole.js.map +0 -1
  475. package/es/class/item.js +0 -1888
  476. package/es/class/item.js.map +0 -1
  477. package/es/class/layer.js +0 -668
  478. package/es/class/layer.js.map +0 -1
  479. package/es/class/line.js +0 -1290
  480. package/es/class/line.js.map +0 -1
  481. package/es/class/project.js +0 -823
  482. package/es/class/project.js.map +0 -1
  483. package/es/class/vertex.js +0 -267
  484. package/es/class/vertex.js.map +0 -1
  485. package/es/components/atoms/Snackbar/index.js +0 -50
  486. package/es/components/atoms/Snackbar/index.js.map +0 -1
  487. package/es/components/atoms/radio-button/index.js +0 -26
  488. package/es/components/atoms/radio-button/index.js.map +0 -1
  489. package/es/components/atoms/radio-button/styles.js +0 -5
  490. package/es/components/atoms/radio-button/styles.js.map +0 -1
  491. package/es/components/button/MainButton.js +0 -92
  492. package/es/components/button/MainButton.js.map +0 -1
  493. package/es/components/button/ToggleMeasureButton.js +0 -56
  494. package/es/components/button/ToggleMeasureButton.js.map +0 -1
  495. package/es/components/catalog-view/catalog-breadcrumb.js +0 -53
  496. package/es/components/catalog-view/catalog-breadcrumb.js.map +0 -1
  497. package/es/components/catalog-view/catalog-item.js +0 -226
  498. package/es/components/catalog-view/catalog-item.js.map +0 -1
  499. package/es/components/catalog-view/catalog-list.js +0 -182
  500. package/es/components/catalog-view/catalog-list.js.map +0 -1
  501. package/es/components/catalog-view/catalog-page-item.js +0 -130
  502. package/es/components/catalog-view/catalog-page-item.js.map +0 -1
  503. package/es/components/catalog-view/catalog-turn-back-page-item.js +0 -106
  504. package/es/components/catalog-view/catalog-turn-back-page-item.js.map +0 -1
  505. package/es/components/configurator/custom-configurator.js +0 -94
  506. package/es/components/configurator/custom-configurator.js.map +0 -1
  507. package/es/components/configurator/project-configurator.js +0 -131
  508. package/es/components/configurator/project-configurator.js.map +0 -1
  509. package/es/components/content.js +0 -123
  510. package/es/components/content.js.map +0 -1
  511. package/es/components/export.js +0 -24
  512. package/es/components/export.js.map +0 -1
  513. package/es/components/firstsetting/button/styles.js +0 -27
  514. package/es/components/firstsetting/button/styles.js.map +0 -1
  515. package/es/components/firstsetting/export.js +0 -9
  516. package/es/components/firstsetting/export.js.map +0 -1
  517. package/es/components/firstsetting/firstsetting-content-button.js +0 -217
  518. package/es/components/firstsetting/firstsetting-content-button.js.map +0 -1
  519. package/es/components/firstsetting/firstsetting-toggle-button.js +0 -126
  520. package/es/components/firstsetting/firstsetting-toggle-button.js.map +0 -1
  521. package/es/components/firstsetting/firstsetting.js +0 -626
  522. package/es/components/firstsetting/firstsetting.js.map +0 -1
  523. package/es/components/footerbar/button/ControlButton.js +0 -72
  524. package/es/components/footerbar/button/ControlButton.js.map +0 -1
  525. package/es/components/footerbar/button/DirectionButton.js +0 -69
  526. package/es/components/footerbar/button/DirectionButton.js.map +0 -1
  527. package/es/components/footerbar/button/DirectionPanSpinButton.js +0 -50
  528. package/es/components/footerbar/button/DirectionPanSpinButton.js.map +0 -1
  529. package/es/components/footerbar/button/ToggleButton.js +0 -76
  530. package/es/components/footerbar/button/ToggleButton.js.map +0 -1
  531. package/es/components/footerbar/button/ToggleConvertButton.js +0 -73
  532. package/es/components/footerbar/button/ToggleConvertButton.js.map +0 -1
  533. package/es/components/footerbar/button/ToggleMeasureButton.js +0 -52
  534. package/es/components/footerbar/button/ToggleMeasureButton.js.map +0 -1
  535. package/es/components/footerbar/button/styles.js +0 -22
  536. package/es/components/footerbar/button/styles.js.map +0 -1
  537. package/es/components/footerbar/export.js +0 -9
  538. package/es/components/footerbar/export.js.map +0 -1
  539. package/es/components/footerbar/footer-content-button.js +0 -217
  540. package/es/components/footerbar/footer-content-button.js.map +0 -1
  541. package/es/components/footerbar/footer-toggle-button.js +0 -126
  542. package/es/components/footerbar/footer-toggle-button.js.map +0 -1
  543. package/es/components/footerbar/footerbar.js +0 -801
  544. package/es/components/footerbar/footerbar.js.map +0 -1
  545. package/es/components/footerbar/styles.js +0 -34
  546. package/es/components/footerbar/styles.js.map +0 -1
  547. package/es/components/header/button/MenuButton.js +0 -70
  548. package/es/components/header/button/MenuButton.js.map +0 -1
  549. package/es/components/header/button/SaveButton.js +0 -48
  550. package/es/components/header/button/SaveButton.js.map +0 -1
  551. package/es/components/header/button/styles.js +0 -59
  552. package/es/components/header/button/styles.js.map +0 -1
  553. package/es/components/header/export.js +0 -5
  554. package/es/components/header/export.js.map +0 -1
  555. package/es/components/header/header.js +0 -550
  556. package/es/components/header/header.js.map +0 -1
  557. package/es/components/header/styles.js +0 -41
  558. package/es/components/header/styles.js.map +0 -1
  559. package/es/components/login/Login.js +0 -86
  560. package/es/components/login/Login.js.map +0 -1
  561. package/es/components/login/LoginForm/index.js +0 -132
  562. package/es/components/login/LoginForm/index.js.map +0 -1
  563. package/es/components/login/Register.js +0 -96
  564. package/es/components/login/Register.js.map +0 -1
  565. package/es/components/login/RegisterForm/index.js +0 -230
  566. package/es/components/login/RegisterForm/index.js.map +0 -1
  567. package/es/components/login/jwtService.js +0 -232
  568. package/es/components/login/jwtService.js.map +0 -1
  569. package/es/components/molecules/slider/index.js +0 -13
  570. package/es/components/molecules/slider/index.js.map +0 -1
  571. package/es/components/molecules/slider/styles.js +0 -2
  572. package/es/components/molecules/slider/styles.js.map +0 -1
  573. package/es/components/myprojects/export.js +0 -5
  574. package/es/components/myprojects/export.js.map +0 -1
  575. package/es/components/myprojects/index.js +0 -446
  576. package/es/components/myprojects/index.js.map +0 -1
  577. package/es/components/myprojects/styles.js +0 -24
  578. package/es/components/myprojects/styles.js.map +0 -1
  579. package/es/components/sidebar/custom-accordion.js +0 -38
  580. package/es/components/sidebar/custom-accordion.js.map +0 -1
  581. package/es/components/sidebar/export.js +0 -14
  582. package/es/components/sidebar/export.js.map +0 -1
  583. package/es/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js +0 -65
  584. package/es/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js.map +0 -1
  585. package/es/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js +0 -116
  586. package/es/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js.map +0 -1
  587. package/es/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js +0 -126
  588. package/es/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js.map +0 -1
  589. package/es/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js +0 -251
  590. package/es/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js.map +0 -1
  591. package/es/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js +0 -75
  592. package/es/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js.map +0 -1
  593. package/es/components/sidebar/panel-element-editor/element-editor.js +0 -878
  594. package/es/components/sidebar/panel-element-editor/element-editor.js.map +0 -1
  595. package/es/components/sidebar/panel-element-editor/multi-elements-editor.js +0 -2
  596. package/es/components/sidebar/panel-element-editor/multi-elements-editor.js.map +0 -1
  597. package/es/components/sidebar/panel-element-editor/panel-element-editor.js +0 -49
  598. package/es/components/sidebar/panel-element-editor/panel-element-editor.js.map +0 -1
  599. package/es/components/sidebar/panel-element-editor/panel-multi-elements-editor.js +0 -118
  600. package/es/components/sidebar/panel-element-editor/panel-multi-elements-editor.js.map +0 -1
  601. package/es/components/sidebar/panel-group-editor.js +0 -211
  602. package/es/components/sidebar/panel-group-editor.js.map +0 -1
  603. package/es/components/sidebar/panel-groups.js +0 -267
  604. package/es/components/sidebar/panel-groups.js.map +0 -1
  605. package/es/components/sidebar/panel-guides.js +0 -185
  606. package/es/components/sidebar/panel-guides.js.map +0 -1
  607. package/es/components/sidebar/panel-layer-elements.js +0 -251
  608. package/es/components/sidebar/panel-layer-elements.js.map +0 -1
  609. package/es/components/sidebar/panel-layers.js +0 -340
  610. package/es/components/sidebar/panel-layers.js.map +0 -1
  611. package/es/components/sidebar/panel.js +0 -103
  612. package/es/components/sidebar/panel.js.map +0 -1
  613. package/es/components/sidebar/sidebar.js +0 -109
  614. package/es/components/sidebar/sidebar.js.map +0 -1
  615. package/es/components/sidebar/toolbar-panel.js +0 -164
  616. package/es/components/sidebar/toolbar-panel.js.map +0 -1
  617. package/es/components/sign/export.js +0 -6
  618. package/es/components/sign/export.js.map +0 -1
  619. package/es/components/sign/main/index.js +0 -560
  620. package/es/components/sign/main/index.js.map +0 -1
  621. package/es/components/sign/main/styles.js +0 -20
  622. package/es/components/sign/main/styles.js.map +0 -1
  623. package/es/components/style/button.js +0 -114
  624. package/es/components/style/button.js.map +0 -1
  625. package/es/components/style/cancel-button.js +0 -23
  626. package/es/components/style/cancel-button.js.map +0 -1
  627. package/es/components/style/content-container.js +0 -34
  628. package/es/components/style/content-container.js.map +0 -1
  629. package/es/components/style/content-title.js +0 -30
  630. package/es/components/style/content-title.js.map +0 -1
  631. package/es/components/style/delete-button.js +0 -26
  632. package/es/components/style/delete-button.js.map +0 -1
  633. package/es/components/style/export.js +0 -32
  634. package/es/components/style/export.js.map +0 -1
  635. package/es/components/style/form-block.js +0 -25
  636. package/es/components/style/form-block.js.map +0 -1
  637. package/es/components/style/form-color-input.js +0 -28
  638. package/es/components/style/form-color-input.js.map +0 -1
  639. package/es/components/style/form-label.js +0 -27
  640. package/es/components/style/form-label.js.map +0 -1
  641. package/es/components/style/form-number-input.js +0 -190
  642. package/es/components/style/form-number-input.js.map +0 -1
  643. package/es/components/style/form-number-input_2.js +0 -207
  644. package/es/components/style/form-number-input_2.js.map +0 -1
  645. package/es/components/style/form-select.js +0 -21
  646. package/es/components/style/form-select.js.map +0 -1
  647. package/es/components/style/form-slider.js +0 -46
  648. package/es/components/style/form-slider.js.map +0 -1
  649. package/es/components/style/form-submit-button.js +0 -27
  650. package/es/components/style/form-submit-button.js.map +0 -1
  651. package/es/components/style/form-text-input.js +0 -77
  652. package/es/components/style/form-text-input.js.map +0 -1
  653. package/es/components/toolbar/button/ControlButton.js +0 -69
  654. package/es/components/toolbar/button/ControlButton.js.map +0 -1
  655. package/es/components/toolbar/button/DirectionButton.js +0 -50
  656. package/es/components/toolbar/button/DirectionButton.js.map +0 -1
  657. package/es/components/toolbar/button/RightButton.js +0 -133
  658. package/es/components/toolbar/button/RightButton.js.map +0 -1
  659. package/es/components/toolbar/button/ToggleButton.js +0 -59
  660. package/es/components/toolbar/button/ToggleButton.js.map +0 -1
  661. package/es/components/toolbar/button/index.js +0 -88
  662. package/es/components/toolbar/button/index.js.map +0 -1
  663. package/es/components/toolbar/button/styles.js +0 -14
  664. package/es/components/toolbar/button/styles.js.map +0 -1
  665. package/es/components/toolbar/components/DoorStyleMenu.js +0 -105
  666. package/es/components/toolbar/components/DoorStyleMenu.js.map +0 -1
  667. package/es/components/toolbar/components/Pricing.js +0 -101
  668. package/es/components/toolbar/components/Pricing.js.map +0 -1
  669. package/es/components/toolbar/components/ReviewForQuote.js +0 -476
  670. package/es/components/toolbar/components/ReviewForQuote.js.map +0 -1
  671. package/es/components/toolbar/export.js +0 -14
  672. package/es/components/toolbar/export.js.map +0 -1
  673. package/es/components/toolbar/main/Alert.js +0 -125
  674. package/es/components/toolbar/main/Alert.js.map +0 -1
  675. package/es/components/toolbar/main/TakePictureModal.js +0 -100
  676. package/es/components/toolbar/main/TakePictureModal.js.map +0 -1
  677. package/es/components/toolbar/main/confirm-popup.js +0 -88
  678. package/es/components/toolbar/main/confirm-popup.js.map +0 -1
  679. package/es/components/toolbar/main/index.js +0 -4612
  680. package/es/components/toolbar/main/index.js.map +0 -1
  681. package/es/components/toolbar/main/myComponents.js +0 -118
  682. package/es/components/toolbar/main/myComponents.js.map +0 -1
  683. package/es/components/toolbar/main/styles.js +0 -64
  684. package/es/components/toolbar/main/styles.js.map +0 -1
  685. package/es/components/toolbar/plugin-item.js +0 -150
  686. package/es/components/toolbar/plugin-item.js.map +0 -1
  687. package/es/components/toolbar/popup/appliance/appliance-category/index.js +0 -77
  688. package/es/components/toolbar/popup/appliance/appliance-category/index.js.map +0 -1
  689. package/es/components/toolbar/popup/appliance/choose-appliance/index.js +0 -76
  690. package/es/components/toolbar/popup/appliance/choose-appliance/index.js.map +0 -1
  691. package/es/components/toolbar/popup/appliance/index.js +0 -81
  692. package/es/components/toolbar/popup/appliance/index.js.map +0 -1
  693. package/es/components/toolbar/popup/autosaveprompt/index.js +0 -91
  694. package/es/components/toolbar/popup/autosaveprompt/index.js.map +0 -1
  695. package/es/components/toolbar/popup/autosaveprompt/styles.js +0 -9
  696. package/es/components/toolbar/popup/autosaveprompt/styles.js.map +0 -1
  697. package/es/components/toolbar/popup/cabinet/cabinet-category/index.js +0 -77
  698. package/es/components/toolbar/popup/cabinet/cabinet-category/index.js.map +0 -1
  699. package/es/components/toolbar/popup/cabinet/choose-product/index.js +0 -98
  700. package/es/components/toolbar/popup/cabinet/choose-product/index.js.map +0 -1
  701. package/es/components/toolbar/popup/cabinet/index.js +0 -83
  702. package/es/components/toolbar/popup/cabinet/index.js.map +0 -1
  703. package/es/components/toolbar/popup/doorStyle/choose-style/index.js +0 -50
  704. package/es/components/toolbar/popup/doorStyle/choose-style/index.js.map +0 -1
  705. package/es/components/toolbar/popup/doorStyle/index.js +0 -61
  706. package/es/components/toolbar/popup/doorStyle/index.js.map +0 -1
  707. package/es/components/toolbar/popup/doorStyle/style-category/index.js +0 -143
  708. package/es/components/toolbar/popup/doorStyle/style-category/index.js.map +0 -1
  709. package/es/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -3
  710. package/es/components/toolbar/popup/downloadsummary/downloadSummaryContext.js.map +0 -1
  711. package/es/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js +0 -119
  712. package/es/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js.map +0 -1
  713. package/es/components/toolbar/popup/downloadsummary/index.js +0 -564
  714. package/es/components/toolbar/popup/downloadsummary/index.js.map +0 -1
  715. package/es/components/toolbar/popup/downloadsummary/show2D/show2DView.js +0 -51
  716. package/es/components/toolbar/popup/downloadsummary/show2D/show2DView.js.map +0 -1
  717. package/es/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js +0 -191
  718. package/es/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js.map +0 -1
  719. package/es/components/toolbar/popup/downloadsummary/show3D/show3DView.js +0 -245
  720. package/es/components/toolbar/popup/downloadsummary/show3D/show3DView.js.map +0 -1
  721. package/es/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js +0 -1758
  722. package/es/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js.map +0 -1
  723. package/es/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -87
  724. package/es/components/toolbar/popup/downloadsummary/showCabinetInfo.js.map +0 -1
  725. package/es/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js +0 -116
  726. package/es/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js.map +0 -1
  727. package/es/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js +0 -1710
  728. package/es/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js.map +0 -1
  729. package/es/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js +0 -175
  730. package/es/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js.map +0 -1
  731. package/es/components/toolbar/popup/downloadsummary/showWarranty.js +0 -106
  732. package/es/components/toolbar/popup/downloadsummary/showWarranty.js.map +0 -1
  733. package/es/components/toolbar/popup/downloadsummary/styles.js +0 -40
  734. package/es/components/toolbar/popup/downloadsummary/styles.js.map +0 -1
  735. package/es/components/toolbar/popup/finishingtouch/category/index.js +0 -35
  736. package/es/components/toolbar/popup/finishingtouch/category/index.js.map +0 -1
  737. package/es/components/toolbar/popup/finishingtouch/index.js +0 -47
  738. package/es/components/toolbar/popup/finishingtouch/index.js.map +0 -1
  739. package/es/components/toolbar/popup/finishingtouch/material-edit.js +0 -156
  740. package/es/components/toolbar/popup/finishingtouch/material-edit.js.map +0 -1
  741. package/es/components/toolbar/popup/finishingtouch/product/index.js +0 -56
  742. package/es/components/toolbar/popup/finishingtouch/product/index.js.map +0 -1
  743. package/es/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js +0 -116
  744. package/es/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js.map +0 -1
  745. package/es/components/toolbar/popup/floorplan/choose-floor/index.js +0 -246
  746. package/es/components/toolbar/popup/floorplan/choose-floor/index.js.map +0 -1
  747. package/es/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -11
  748. package/es/components/toolbar/popup/floorplan/choose-floor/styles.js.map +0 -1
  749. package/es/components/toolbar/popup/floorplan/floor-category/index.js +0 -90
  750. package/es/components/toolbar/popup/floorplan/floor-category/index.js.map +0 -1
  751. package/es/components/toolbar/popup/floorplan/index.js +0 -49
  752. package/es/components/toolbar/popup/floorplan/index.js.map +0 -1
  753. package/es/components/toolbar/popup/index.js +0 -188
  754. package/es/components/toolbar/popup/index.js.map +0 -1
  755. package/es/components/toolbar/popup/newproject/index.js +0 -67
  756. package/es/components/toolbar/popup/newproject/index.js.map +0 -1
  757. package/es/components/toolbar/popup/newproject/styles.js +0 -9
  758. package/es/components/toolbar/popup/newproject/styles.js.map +0 -1
  759. package/es/components/toolbar/popup/product/appliance.js +0 -65
  760. package/es/components/toolbar/popup/product/appliance.js.map +0 -1
  761. package/es/components/toolbar/popup/product/cabinetproduct.js +0 -25
  762. package/es/components/toolbar/popup/product/cabinetproduct.js.map +0 -1
  763. package/es/components/toolbar/popup/product/doorstyle.js +0 -50
  764. package/es/components/toolbar/popup/product/doorstyle.js.map +0 -1
  765. package/es/components/toolbar/popup/product/doorstyleproduct.js +0 -51
  766. package/es/components/toolbar/popup/product/doorstyleproduct.js.map +0 -1
  767. package/es/components/toolbar/popup/product/floor.js +0 -52
  768. package/es/components/toolbar/popup/product/floor.js.map +0 -1
  769. package/es/components/toolbar/popup/product/floorproduct.js +0 -61
  770. package/es/components/toolbar/popup/product/floorproduct.js.map +0 -1
  771. package/es/components/toolbar/popup/product/index.js +0 -52
  772. package/es/components/toolbar/popup/product/index.js.map +0 -1
  773. package/es/components/toolbar/popup/product/primary.js +0 -63
  774. package/es/components/toolbar/popup/product/primary.js.map +0 -1
  775. package/es/components/toolbar/popup/product/productline.js +0 -120
  776. package/es/components/toolbar/popup/product/productline.js.map +0 -1
  777. package/es/components/toolbar/popup/product/reviewItem.js +0 -338
  778. package/es/components/toolbar/popup/product/reviewItem.js.map +0 -1
  779. package/es/components/toolbar/popup/product/reviewMolding.js +0 -282
  780. package/es/components/toolbar/popup/product/reviewMolding.js.map +0 -1
  781. package/es/components/toolbar/popup/product/styles.js +0 -71
  782. package/es/components/toolbar/popup/product/styles.js.map +0 -1
  783. package/es/components/toolbar/popup/savedesign/FullPictureForm.js +0 -161
  784. package/es/components/toolbar/popup/savedesign/FullPictureForm.js.map +0 -1
  785. package/es/components/toolbar/popup/savedesign/index.js +0 -508
  786. package/es/components/toolbar/popup/savedesign/index.js.map +0 -1
  787. package/es/components/toolbar/popup/savedesign/styles.js +0 -19
  788. package/es/components/toolbar/popup/savedesign/styles.js.map +0 -1
  789. package/es/components/toolbar/popup/setDoorStyleOption/index.js +0 -57
  790. package/es/components/toolbar/popup/setDoorStyleOption/index.js.map +0 -1
  791. package/es/components/toolbar/popup/styles.js +0 -98
  792. package/es/components/toolbar/popup/styles.js.map +0 -1
  793. package/es/components/toolbar/popup/submitforquote/AddToCartOptions.js +0 -157
  794. package/es/components/toolbar/popup/submitforquote/AddToCartOptions.js.map +0 -1
  795. package/es/components/toolbar/popup/submitforquote/CustomerRequestsForm.js +0 -85
  796. package/es/components/toolbar/popup/submitforquote/CustomerRequestsForm.js.map +0 -1
  797. package/es/components/toolbar/popup/submitforquote/SkipDesignerReview.js +0 -36
  798. package/es/components/toolbar/popup/submitforquote/SkipDesignerReview.js.map +0 -1
  799. package/es/components/toolbar/popup/submitforquote/StepDots.js +0 -33
  800. package/es/components/toolbar/popup/submitforquote/StepDots.js.map +0 -1
  801. package/es/components/toolbar/popup/submitforquote/cart-choice.js +0 -132
  802. package/es/components/toolbar/popup/submitforquote/cart-choice.js.map +0 -1
  803. package/es/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -43
  804. package/es/components/toolbar/popup/submitforquote/doorstyle-menus.js.map +0 -1
  805. package/es/components/toolbar/popup/submitforquote/index.js +0 -690
  806. package/es/components/toolbar/popup/submitforquote/index.js.map +0 -1
  807. package/es/components/toolbar/popup/submitforquote/styles.js +0 -31
  808. package/es/components/toolbar/popup/submitforquote/styles.js.map +0 -1
  809. package/es/components/toolbar/popup/submitprompt/index.js +0 -71
  810. package/es/components/toolbar/popup/submitprompt/index.js.map +0 -1
  811. package/es/components/toolbar/popup/submitprompt/styles.js +0 -9
  812. package/es/components/toolbar/popup/submitprompt/styles.js.map +0 -1
  813. package/es/components/toolbar/toolbar-button.js +0 -105
  814. package/es/components/toolbar/toolbar-button.js.map +0 -1
  815. package/es/components/toolbar/toolbar-load-button.js +0 -29
  816. package/es/components/toolbar/toolbar-load-button.js.map +0 -1
  817. package/es/components/toolbar/toolbar-save-button.js +0 -27
  818. package/es/components/toolbar/toolbar-save-button.js.map +0 -1
  819. package/es/components/tutorial-view/Modal.js +0 -498
  820. package/es/components/tutorial-view/Modal.js.map +0 -1
  821. package/es/components/tutorial-view/styles.js +0 -6
  822. package/es/components/tutorial-view/styles.js.map +0 -1
  823. package/es/components/viewer2d/area.js +0 -83
  824. package/es/components/viewer2d/area.js.map +0 -1
  825. package/es/components/viewer2d/export.js +0 -32
  826. package/es/components/viewer2d/export.js.map +0 -1
  827. package/es/components/viewer2d/grids/grid-horizontal-streak.js +0 -38
  828. package/es/components/viewer2d/grids/grid-horizontal-streak.js.map +0 -1
  829. package/es/components/viewer2d/grids/grid-streak.js +0 -38
  830. package/es/components/viewer2d/grids/grid-streak.js.map +0 -1
  831. package/es/components/viewer2d/grids/grid-vertical-streak.js +0 -38
  832. package/es/components/viewer2d/grids/grid-vertical-streak.js.map +0 -1
  833. package/es/components/viewer2d/grids/grids.js +0 -36
  834. package/es/components/viewer2d/grids/grids.js.map +0 -1
  835. package/es/components/viewer2d/group.js +0 -54
  836. package/es/components/viewer2d/group.js.map +0 -1
  837. package/es/components/viewer2d/item.js +0 -514
  838. package/es/components/viewer2d/item.js.map +0 -1
  839. package/es/components/viewer2d/layer.js +0 -165
  840. package/es/components/viewer2d/layer.js.map +0 -1
  841. package/es/components/viewer2d/line.js +0 -889
  842. package/es/components/viewer2d/line.js.map +0 -1
  843. package/es/components/viewer2d/ruler.js +0 -101
  844. package/es/components/viewer2d/ruler.js.map +0 -1
  845. package/es/components/viewer2d/rulerDist.js +0 -147
  846. package/es/components/viewer2d/rulerDist.js.map +0 -1
  847. package/es/components/viewer2d/rulerX.js +0 -152
  848. package/es/components/viewer2d/rulerX.js.map +0 -1
  849. package/es/components/viewer2d/rulerY.js +0 -154
  850. package/es/components/viewer2d/rulerY.js.map +0 -1
  851. package/es/components/viewer2d/scene.js +0 -141
  852. package/es/components/viewer2d/scene.js.map +0 -1
  853. package/es/components/viewer2d/snap.js +0 -75
  854. package/es/components/viewer2d/snap.js.map +0 -1
  855. package/es/components/viewer2d/state.js +0 -79
  856. package/es/components/viewer2d/state.js.map +0 -1
  857. package/es/components/viewer2d/utils.js +0 -163
  858. package/es/components/viewer2d/utils.js.map +0 -1
  859. package/es/components/viewer2d/vertex.js +0 -67
  860. package/es/components/viewer2d/vertex.js.map +0 -1
  861. package/es/components/viewer2d/viewer2d.js +0 -1402
  862. package/es/components/viewer2d/viewer2d.js.map +0 -1
  863. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2593
  864. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js.map +0 -1
  865. package/es/components/viewer3d/dcm.js +0 -402
  866. package/es/components/viewer3d/dcm.js.map +0 -1
  867. package/es/components/viewer3d/fbm.js +0 -415
  868. package/es/components/viewer3d/fbm.js.map +0 -1
  869. package/es/components/viewer3d/front3D.js +0 -67
  870. package/es/components/viewer3d/front3D.js.map +0 -1
  871. package/es/components/viewer3d/grid-creator.js +0 -26
  872. package/es/components/viewer3d/grid-creator.js.map +0 -1
  873. package/es/components/viewer3d/grids/grid-horizontal-streak.js +0 -37
  874. package/es/components/viewer3d/grids/grid-horizontal-streak.js.map +0 -1
  875. package/es/components/viewer3d/grids/grid-streak.js +0 -28
  876. package/es/components/viewer3d/grids/grid-streak.js.map +0 -1
  877. package/es/components/viewer3d/grids/grid-vertical-streak.js +0 -37
  878. package/es/components/viewer3d/grids/grid-vertical-streak.js.map +0 -1
  879. package/es/components/viewer3d/libs/first-person-controls.js +0 -68
  880. package/es/components/viewer3d/libs/first-person-controls.js.map +0 -1
  881. package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1282
  882. package/es/components/viewer3d/libs/helvetiker_regular.typeface.js.map +0 -1
  883. package/es/components/viewer3d/libs/mtl-loader.js +0 -358
  884. package/es/components/viewer3d/libs/mtl-loader.js.map +0 -1
  885. package/es/components/viewer3d/libs/obj-loader.js +0 -463
  886. package/es/components/viewer3d/libs/obj-loader.js.map +0 -1
  887. package/es/components/viewer3d/libs/orbit-controls.js +0 -699
  888. package/es/components/viewer3d/libs/orbit-controls.js.map +0 -1
  889. package/es/components/viewer3d/libs/pointer-lock-controls.js +0 -46
  890. package/es/components/viewer3d/libs/pointer-lock-controls.js.map +0 -1
  891. package/es/components/viewer3d/lrm.js +0 -306
  892. package/es/components/viewer3d/lrm.js.map +0 -1
  893. package/es/components/viewer3d/model.js +0 -709
  894. package/es/components/viewer3d/model.js.map +0 -1
  895. package/es/components/viewer3d/pointer-lock-navigation.js +0 -116
  896. package/es/components/viewer3d/pointer-lock-navigation.js.map +0 -1
  897. package/es/components/viewer3d/ruler-utils/itemRect.js +0 -62
  898. package/es/components/viewer3d/ruler-utils/itemRect.js.map +0 -1
  899. package/es/components/viewer3d/ruler-utils/layer3D.js +0 -496
  900. package/es/components/viewer3d/ruler-utils/layer3D.js.map +0 -1
  901. package/es/components/viewer3d/ruler-utils/ruler3D.js +0 -228
  902. package/es/components/viewer3d/ruler-utils/ruler3D.js.map +0 -1
  903. package/es/components/viewer3d/ruler-utils/scene3D.js +0 -62
  904. package/es/components/viewer3d/ruler-utils/scene3D.js.map +0 -1
  905. package/es/components/viewer3d/ruler-utils/state3D.js +0 -19
  906. package/es/components/viewer3d/ruler-utils/state3D.js.map +0 -1
  907. package/es/components/viewer3d/scene-creator.js +0 -3607
  908. package/es/components/viewer3d/scene-creator.js.map +0 -1
  909. package/es/components/viewer3d/three-memory-cleaner.js +0 -52
  910. package/es/components/viewer3d/three-memory-cleaner.js.map +0 -1
  911. package/es/components/viewer3d/viewer3d-first-person.js +0 -316
  912. package/es/components/viewer3d/viewer3d-first-person.js.map +0 -1
  913. package/es/components/viewer3d/viewer3d.js +0 -2504
  914. package/es/components/viewer3d/viewer3d.js.map +0 -1
  915. package/es/components/wizardstep/button/styles.js +0 -60
  916. package/es/components/wizardstep/button/styles.js.map +0 -1
  917. package/es/components/wizardstep/export.js +0 -5
  918. package/es/components/wizardstep/export.js.map +0 -1
  919. package/es/components/wizardstep/index.js +0 -971
  920. package/es/components/wizardstep/index.js.map +0 -1
  921. package/es/components/wizardstep/styles.js +0 -61
  922. package/es/components/wizardstep/styles.js.map +0 -1
  923. package/es/components/wizardstep/wizardstep-content-button.js +0 -217
  924. package/es/components/wizardstep/wizardstep-content-button.js.map +0 -1
  925. package/es/components/wizardstep/wizardstep-toggle-button.js +0 -126
  926. package/es/components/wizardstep/wizardstep-toggle-button.js.map +0 -1
  927. package/es/constants.js +0 -637
  928. package/es/constants.js.map +0 -1
  929. package/es/hooks/useCheckCart.js +0 -53
  930. package/es/hooks/useCheckCart.js.map +0 -1
  931. package/es/hooks/useGetPricesBySku.js +0 -74
  932. package/es/hooks/useGetPricesBySku.js.map +0 -1
  933. package/es/hooks/useValidateToken.js +0 -201
  934. package/es/hooks/useValidateToken.js.map +0 -1
  935. package/es/index.js +0 -17
  936. package/es/index.js.map +0 -1
  937. package/es/models.js +0 -511
  938. package/es/models.js.map +0 -1
  939. package/es/plugins/SVGLoader.js +0 -1413
  940. package/es/plugins/SVGLoader.js.map +0 -1
  941. package/es/plugins/autosave.js +0 -34
  942. package/es/plugins/autosave.js.map +0 -1
  943. package/es/plugins/console-debugger.js +0 -38
  944. package/es/plugins/console-debugger.js.map +0 -1
  945. package/es/plugins/export.js +0 -10
  946. package/es/plugins/export.js.map +0 -1
  947. package/es/plugins/keyboard.js +0 -102
  948. package/es/plugins/keyboard.js.map +0 -1
  949. package/es/reducers/areas-reducer.js +0 -13
  950. package/es/reducers/areas-reducer.js.map +0 -1
  951. package/es/reducers/export.js +0 -26
  952. package/es/reducers/export.js.map +0 -1
  953. package/es/reducers/groups-reducer.js +0 -39
  954. package/es/reducers/groups-reducer.js.map +0 -1
  955. package/es/reducers/holes-reducer.js +0 -63
  956. package/es/reducers/holes-reducer.js.map +0 -1
  957. package/es/reducers/items-reducer.js +0 -144
  958. package/es/reducers/items-reducer.js.map +0 -1
  959. package/es/reducers/lines-reducer.js +0 -46
  960. package/es/reducers/lines-reducer.js.map +0 -1
  961. package/es/reducers/project-reducer.js +0 -130
  962. package/es/reducers/project-reducer.js.map +0 -1
  963. package/es/reducers/reducer.js +0 -20
  964. package/es/reducers/reducer.js.map +0 -1
  965. package/es/reducers/scene-reducer.js +0 -29
  966. package/es/reducers/scene-reducer.js.map +0 -1
  967. package/es/reducers/user-reducer.js +0 -42
  968. package/es/reducers/user-reducer.js.map +0 -1
  969. package/es/reducers/vertices-reducer.js +0 -20
  970. package/es/reducers/vertices-reducer.js.map +0 -1
  971. package/es/reducers/viewer2d-reducer.js +0 -76
  972. package/es/reducers/viewer2d-reducer.js.map +0 -1
  973. package/es/reducers/viewer3d-reducer.js +0 -57
  974. package/es/reducers/viewer3d-reducer.js.map +0 -1
  975. package/es/shared-style.js +0 -67
  976. package/es/shared-style.js.map +0 -1
  977. package/es/styles/export.js +0 -6
  978. package/es/styles/export.js.map +0 -1
  979. package/es/styles/tabs.css +0 -40
  980. package/es/translator/en.js +0 -105
  981. package/es/translator/en.js.map +0 -1
  982. package/es/translator/it.js +0 -80
  983. package/es/translator/it.js.map +0 -1
  984. package/es/translator/ru.js +0 -80
  985. package/es/translator/ru.js.map +0 -1
  986. package/es/translator/translator.js +0 -85
  987. package/es/translator/translator.js.map +0 -1
  988. package/es/utils/browser.js +0 -34
  989. package/es/utils/browser.js.map +0 -1
  990. package/es/utils/email-validator.js +0 -5
  991. package/es/utils/email-validator.js.map +0 -1
  992. package/es/utils/export.js +0 -26
  993. package/es/utils/export.js.map +0 -1
  994. package/es/utils/geometry.js +0 -2237
  995. package/es/utils/geometry.js.map +0 -1
  996. package/es/utils/get-edges-of-subgraphs.js +0 -27
  997. package/es/utils/get-edges-of-subgraphs.js.map +0 -1
  998. package/es/utils/graph-cycles.js +0 -239
  999. package/es/utils/graph-cycles.js.map +0 -1
  1000. package/es/utils/graph-inner-cycles.js +0 -47
  1001. package/es/utils/graph-inner-cycles.js.map +0 -1
  1002. package/es/utils/graph.js +0 -150
  1003. package/es/utils/graph.js.map +0 -1
  1004. package/es/utils/helper.js +0 -337
  1005. package/es/utils/helper.js.map +0 -1
  1006. package/es/utils/history.js +0 -30
  1007. package/es/utils/history.js.map +0 -1
  1008. package/es/utils/id-broker.js +0 -20
  1009. package/es/utils/id-broker.js.map +0 -1
  1010. package/es/utils/logger.js +0 -9
  1011. package/es/utils/logger.js.map +0 -1
  1012. package/es/utils/math.js +0 -51
  1013. package/es/utils/math.js.map +0 -1
  1014. package/es/utils/molding.js +0 -840
  1015. package/es/utils/molding.js.map +0 -1
  1016. package/es/utils/name-generator.js +0 -19
  1017. package/es/utils/name-generator.js.map +0 -1
  1018. package/es/utils/objects-utils.js +0 -51
  1019. package/es/utils/objects-utils.js.map +0 -1
  1020. package/es/utils/phone-validator.js +0 -5
  1021. package/es/utils/phone-validator.js.map +0 -1
  1022. package/es/utils/process-black-list.js +0 -19
  1023. package/es/utils/process-black-list.js.map +0 -1
  1024. package/es/utils/react-if.js +0 -19
  1025. package/es/utils/react-if.js.map +0 -1
  1026. package/es/utils/snap-scene.js +0 -100
  1027. package/es/utils/snap-scene.js.map +0 -1
  1028. package/es/utils/snap.js +0 -238
  1029. package/es/utils/snap.js.map +0 -1
  1030. package/es/utils/threeCSG.es6.js +0 -499
  1031. package/es/utils/threeCSG.es6.js.map +0 -1
  1032. package/es/version.js +0 -2
  1033. package/es/version.js.map +0 -1
  1034. /package/{es → src}/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  1035. /package/{es → src}/catalog/areas/area/textures/grass.jpg +0 -0
  1036. /package/{es → src}/catalog/areas/area/textures/parquet.jpg +0 -0
  1037. /package/{es → src}/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  1038. /package/{es → src}/catalog/areas/area/textures/tile1.jpg +0 -0
  1039. /package/{es → src}/catalog/back.png +0 -0
  1040. /package/{es → src}/catalog/doors.png +0 -0
  1041. /package/{es → src}/catalog/doorways.png +0 -0
  1042. /package/{es → src}/catalog/envMap/nx.hdr +0 -0
  1043. /package/{es → src}/catalog/envMap/ny.hdr +0 -0
  1044. /package/{es → src}/catalog/envMap/nz.hdr +0 -0
  1045. /package/{es → src}/catalog/envMap/px.hdr +0 -0
  1046. /package/{es → src}/catalog/envMap/py.hdr +0 -0
  1047. /package/{es → src}/catalog/envMap/pz.hdr +0 -0
  1048. /package/{es → src}/catalog/holes/door-double/door_double.png +0 -0
  1049. /package/{es → src}/catalog/holes/door-panic/panicDoor.png +0 -0
  1050. /package/{es → src}/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  1051. /package/{es → src}/catalog/holes/gate/gate.jpg +0 -0
  1052. /package/{es → src}/catalog/holes/window-clear/texture.png +0 -0
  1053. /package/{es → src}/catalog/holes/window-cross/texture.png +0 -0
  1054. /package/{es → src}/catalog/holes/window-double-hung/texture.png +0 -0
  1055. /package/{es → src}/catalog/holes/window-vertical/texture.png +0 -0
  1056. /package/{es → src}/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  1057. /package/{es → src}/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
  1058. /package/{es → src}/catalog/lines/wall/textures/bricks.jpg +0 -0
  1059. /package/{es → src}/catalog/lines/wall/textures/bricks2.jpg +0 -0
  1060. /package/{es → src}/catalog/lines/wall/textures/bricks3.jpg +0 -0
  1061. /package/{es → src}/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  1062. /package/{es → src}/catalog/lines/wall/textures/morden.jpg +0 -0
  1063. /package/{es → src}/catalog/lines/wall/textures/painted-normal.jpg +0 -0
  1064. /package/{es → src}/catalog/lines/wall/textures/painted.jpg +0 -0
  1065. /package/{es → src}/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  1066. /package/{es → src}/catalog/lines/wall/textures/plaster.jpg +0 -0
  1067. /package/{es → src}/catalog/lines/wall/wall.png +0 -0
  1068. /package/{es → src}/catalog/molding/molding-dcm/texture.png +0 -0
  1069. /package/{es → src}/catalog/molding/molding-fbm/texture.png +0 -0
  1070. /package/{es → src}/catalog/molding/molding-lrm/texture.png +0 -0
  1071. /package/{es → src}/catalog/windows.png +0 -0
  1072. /package/{es → src}/components/header/header.style.css +0 -0
  1073. /package/{es → src}/components/login/style.css +0 -0
  1074. /package/{es → src}/components/login/style.scss +0 -0
  1075. /package/{es → src}/components/molecules/slider/styles.scss +0 -0
  1076. /package/{es → src}/components/toolbar/main/lShaped.json +0 -0
  1077. /package/{es → src}/components/toolbar/main/longNarrow.json +0 -0
  1078. /package/{es → src}/components/toolbar/main/oRectangle.json +0 -0
  1079. /package/{es → src}/components/toolbar/main/rectangle.json +0 -0
  1080. /package/{es → src}/components/toolbar/main/style.css +0 -0
  1081. /package/{es → src}/components/toolbar/popup/autosaveprompt/styles.css +0 -0
  1082. /package/{es → src}/components/toolbar/popup/downloadsummary/styles.css +0 -0
  1083. /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/lShaped.json +0 -0
  1084. /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/longNarrow.json +0 -0
  1085. /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/oRectangle.json +0 -0
  1086. /package/{es → src}/components/toolbar/popup/floorplan/choose-floor/rectangle.json +0 -0
  1087. /package/{es → src}/components/toolbar/popup/newproject/styles.css +0 -0
  1088. /package/{es → src}/components/toolbar/popup/product/style.css +0 -0
  1089. /package/{es → src}/components/toolbar/popup/savedesign/savedesign.style.css +0 -0
  1090. /package/{es → src}/components/toolbar/popup/submitforquote/styles.css +0 -0
  1091. /package/{es → src}/components/toolbar/popup/submitprompt/styles.css +0 -0
  1092. /package/{es → src}/components/tutorial-view/style.css +0 -0
@@ -0,0 +1,1830 @@
1
+ import React, { useEffect, useRef, useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import {
4
+ ReactSVGPanZoom,
5
+ TOOL_AUTO,
6
+ TOOL_NONE,
7
+ TOOL_PAN,
8
+ TOOL_ZOOM_IN,
9
+ TOOL_ZOOM_OUT,
10
+ zoom
11
+ } from 'react-svg-pan-zoom';
12
+ import * as constants from '../../constants';
13
+ import {
14
+ DECIMAL_PLACES_2,
15
+ LINE_THICKNESS,
16
+ MIN_ANGLE_DISALLOW_DRAW_WALL,
17
+ MODE_ELEVATION_VIEW,
18
+ MODE_IDLE,
19
+ UNIT_ANGLE
20
+ } from '../../constants';
21
+ import State from './state';
22
+ import * as SharedStyle from '../../shared-style';
23
+ import { RulerX, RulerY } from './export';
24
+ import { GeometryUtils } from '../../utils/export';
25
+ import FormNumberInput from '../style/form-number-input';
26
+ import convert from 'convert-units';
27
+ import { Map } from 'immutable';
28
+ import { formatNumber } from '../../../src/utils/math';
29
+ import { isEmpty } from '../../utils/helper';
30
+
31
+ // variables
32
+ let pinFlag = false;
33
+ let sFlag = false; //for all object move
34
+ let sPoint = {}; //for all object move
35
+ let endPoint = {};
36
+ let current_sel_obj_id = null;
37
+ let allItemRect;
38
+ let allItemSnap;
39
+ let allLines;
40
+ let allLineRects;
41
+ let allLineSnap;
42
+ let allRect;
43
+ let holeRect;
44
+ let allArea;
45
+
46
+ // /////////
47
+ function mode2Tool(mode) {
48
+ if (pinFlag) {
49
+ return TOOL_NONE;
50
+ }
51
+ switch (mode) {
52
+ case constants.MODE_2D_PAN:
53
+ return TOOL_PAN;
54
+ case constants.MODE_2D_ZOOM_IN:
55
+ return TOOL_ZOOM_IN;
56
+ case constants.MODE_2D_ZOOM_OUT:
57
+ return TOOL_ZOOM_OUT;
58
+ case constants.MODE_IDLE:
59
+ return TOOL_AUTO;
60
+ default:
61
+ return TOOL_NONE;
62
+ }
63
+ }
64
+
65
+ function mode2PointerEvents(mode) {
66
+ switch (mode) {
67
+ case constants.MODE_DRAWING_LINE:
68
+ case constants.MODE_DRAWING_HOLE:
69
+ case constants.MODE_DRAWING_ITEM:
70
+ case constants.MODE_DRAGGING_HOLE:
71
+ case constants.MODE_DRAGGING_ITEM:
72
+ case constants.MODE_DRAGGING_LINE:
73
+ case constants.MODE_DRAGGING_VERTEX:
74
+ return { pointerEvents: 'none' };
75
+
76
+ default:
77
+ return {};
78
+ }
79
+ }
80
+
81
+ function mode2Cursor(mode) {
82
+ switch (mode) {
83
+ case constants.MODE_DRAGGING_HOLE:
84
+ case constants.MODE_DRAGGING_LINE:
85
+ case constants.MODE_DRAGGING_VERTEX:
86
+ case constants.MODE_DRAGGING_ITEM:
87
+ return { cursor: 'move' };
88
+
89
+ case constants.MODE_ROTATING_ITEM:
90
+ return { cursor: 'ew-resize' };
91
+
92
+ case constants.MODE_WAITING_DRAWING_LINE:
93
+ case constants.MODE_DRAWING_LINE:
94
+ return { cursor: 'crosshair' };
95
+ default:
96
+ return { cursor: 'default' };
97
+ }
98
+ }
99
+
100
+ function mode2DetectAutopan(mode) {
101
+ switch (mode) {
102
+ case constants.MODE_DRAWING_LINE:
103
+ case constants.MODE_DRAGGING_LINE:
104
+ case constants.MODE_DRAGGING_VERTEX:
105
+ case constants.MODE_DRAGGING_HOLE:
106
+ case constants.MODE_DRAGGING_ITEM:
107
+ case constants.MODE_DRAWING_HOLE:
108
+ case constants.MODE_DRAWING_ITEM:
109
+ return true;
110
+
111
+ default:
112
+ return false;
113
+ }
114
+ }
115
+
116
+ function extractElementData(node) {
117
+ while (
118
+ !node.attributes.getNamedItem('data-element-root') &&
119
+ node.tagName !== 'svg'
120
+ ) {
121
+ node = node.parentNode;
122
+ }
123
+ if (node.tagName === 'svg') return null;
124
+
125
+ return {
126
+ length: node.attributes.getNamedItem('data-length')
127
+ ? parseFloat(node.attributes.getNamedItem('data-length').value)
128
+ : 0,
129
+ part: node.attributes.getNamedItem('data-part')
130
+ ? node.attributes.getNamedItem('data-part').value
131
+ : undefined,
132
+ layer: node.attributes.getNamedItem('data-layer').value,
133
+ prototype: node.attributes.getNamedItem('data-prototype').value,
134
+ selected: node.attributes.getNamedItem('data-selected').value === 'true',
135
+ id: node.attributes.getNamedItem('data-id').value,
136
+ direct: node.attributes.getNamedItem('data-direct')
137
+ ? node.attributes.getNamedItem('data-direct').value
138
+ : 0
139
+ };
140
+ }
141
+
142
+ export default function Viewer2D(
143
+ { state, width, height, setToolbar, replaceCabinet },
144
+ {
145
+ viewer2DActions,
146
+ linesActions,
147
+ holesActions,
148
+ verticesActions,
149
+ itemsActions,
150
+ areaActions,
151
+ projectActions,
152
+ catalog
153
+ }
154
+ ) {
155
+ const [rulerEdit, setRulerEdit] = useState(null);
156
+ const [rulerEditID, setRulerEditID] = useState(null);
157
+ const Viewer = useRef(null);
158
+
159
+ let { viewer2D, mode, scene } = state;
160
+
161
+ // let relatedLines = [];
162
+ const [relatedLines, setRelatedLines] = useState([]);
163
+ const [drawStart, setdrawStart] = useState(false);
164
+
165
+ useEffect(() => {
166
+ // move viewer point to center
167
+ let selectedLayer = state.scene.layers.get(state.scene.selectedLayer);
168
+
169
+ if (!selectedLayer) {
170
+ return;
171
+ }
172
+
173
+ const vertices = selectedLayer.vertices;
174
+
175
+ if (vertices.isEmpty()) {
176
+ return;
177
+ }
178
+
179
+ let bottomX = 0,
180
+ bottomY = 100000,
181
+ topX = 100000,
182
+ topY = 0;
183
+
184
+ vertices.forEach(vertex => {
185
+ if (bottomX < vertex.x) bottomX = vertex.x;
186
+ if (bottomY > vertex.y) bottomY = vertex.y;
187
+ if (topX > vertex.x) topX = vertex.x;
188
+ if (topY < vertex.y) topY = vertex.y;
189
+ });
190
+
191
+ let moveX = topX + (bottomX - topX) / 2;
192
+ let moveY = 2000 - (bottomY + (topY - bottomY) / 2);
193
+
194
+ Viewer.current.setPointOnViewerCenter(moveX, moveY, viewer2D.get('a'));
195
+ }, []);
196
+
197
+ let layerID = scene.selectedLayer;
198
+ let wall_thickness = LINE_THICKNESS / 2;
199
+ const layer = scene.getIn(['layers', layerID]);
200
+
201
+ let mapCursorPosition = ({ x, y }) => {
202
+ return { x, y: -y + scene.height };
203
+ };
204
+ // let pinBackColor = pinFlag ? "#4488ff" : "black";
205
+ // let topRightImg = state.mode == MODE_IDLE || state.mode == MODE_2D_PAN ? "/assets/img/svg/topbar/edit_inactive.svg" : "/assets/img/svg/topbar/edit_active.svg";
206
+ // let topBtnAction = state.mode == MODE_IDLE || state.mode == MODE_2D_PAN ? () => linesActions.selectToolDrawingLine("wall") : () => projectActions.setMode(MODE_IDLE);
207
+
208
+ let prepareSnap = () => {
209
+ let layerID = scene.selectedLayer;
210
+ let layer = scene.layers.get(layerID);
211
+
212
+ allLines = GeometryUtils.getAllLines(layer);
213
+ allLineRects = GeometryUtils.buildRectFromLines(layer, allLines);
214
+ allItemRect = GeometryUtils.getAllItems(scene, catalog, allLineRects);
215
+ allItemSnap = GeometryUtils.getAllItemSnap(allItemRect);
216
+ allLineSnap = GeometryUtils.getAllLineSnap(allLineRects, allItemRect.cur);
217
+ allRect = allItemRect.others.concat(allLineRects);
218
+ allItemSnap = GeometryUtils.validateSnaps(allItemSnap, allRect);
219
+ allLineSnap = GeometryUtils.validateSnaps(allLineSnap, allRect);
220
+ allArea = GeometryUtils.getAllArea(layer);
221
+ };
222
+
223
+ let updateRulerDistAttribute = (elementData, value) => {
224
+ let newVal = value.get('length');
225
+ let oldVal = elementData.length;
226
+ let direct = elementData.direct;
227
+
228
+ const thisItem = scene
229
+ .getIn(['layers', elementData.layer, 'items', elementData.id])
230
+ .toJS();
231
+
232
+ let oldX = thisItem.x;
233
+ let oldY = thisItem.y;
234
+ let oldRotRad = (thisItem.rotation / 180) * Math.PI;
235
+
236
+ let rotRad = oldRotRad + (direct / 180) * Math.PI;
237
+ let delta = oldVal - newVal;
238
+
239
+ let newX = oldX + delta * Math.cos(rotRad);
240
+ let newY = oldY + delta * Math.sin(rotRad);
241
+
242
+ itemsActions.updateDraggingItemChanged(
243
+ newX,
244
+ newY,
245
+ elementData.layer,
246
+ elementData.id
247
+ );
248
+
249
+ setRulerEdit(null);
250
+ };
251
+
252
+ let updateangleChangeAttribute = (elementData, value) => {
253
+ let verArr = elementData.id.split(',');
254
+ let oldAngle = elementData.length;
255
+ let newAngle = value.getIn(['_length']);
256
+ let cenId = verArr[0];
257
+ let verId = verArr[1];
258
+ let x0 = state.scene.getIn(['layers', layerID, 'vertices', verArr[0], 'x']);
259
+ let y0 = state.scene.getIn(['layers', layerID, 'vertices', verArr[0], 'y']);
260
+ let x1 = state.scene.getIn(['layers', layerID, 'vertices', verArr[1], 'x']);
261
+ let y1 = state.scene.getIn(['layers', layerID, 'vertices', verArr[1], 'y']);
262
+ let x, y, delta;
263
+
264
+ delta = newAngle - oldAngle;
265
+
266
+ if (verArr[2] === 'true') {
267
+ delta = -delta;
268
+ }
269
+
270
+ x =
271
+ (x1 - x0) * Math.cos((delta * Math.PI) / 180) -
272
+ (y1 - y0) * Math.sin((delta * Math.PI) / 180) +
273
+ x0;
274
+ y =
275
+ (x1 - x0) * Math.sin((delta * Math.PI) / 180) +
276
+ (y1 - y0) * Math.cos((delta * Math.PI) / 180) +
277
+ y0;
278
+
279
+ setRulerEdit(null);
280
+ verticesActions.beginDraggingVertex(
281
+ elementData.layer,
282
+ verArr[1],
283
+ x,
284
+ y,
285
+ state.snapMask
286
+ );
287
+ verticesActions.updateDraggingVertex(x, y, state.snapMask);
288
+ verticesActions.endDraggingVertex(x, y, state.snapMask);
289
+ };
290
+
291
+ let updateRulerAttribute = (elementData, value) => {
292
+ const selectedLine = scene
293
+ .getIn(['layers', elementData.layer, 'lines', elementData.id])
294
+ .toJS();
295
+
296
+ let v_0 = scene.getIn([
297
+ 'layers',
298
+ elementData.layer,
299
+ 'vertices',
300
+ selectedLine.vertices[0]
301
+ ]);
302
+
303
+ let v_1 = scene.getIn([
304
+ 'layers',
305
+ elementData.layer,
306
+ 'vertices',
307
+ selectedLine.vertices[1]
308
+ ]);
309
+
310
+ let [v_a, v_b] = GeometryUtils.orderVertices([v_0, v_1]);
311
+ let v_b_new = GeometryUtils.extendLine(
312
+ v_a.x,
313
+ v_a.y,
314
+ v_b.x,
315
+ v_b.y,
316
+ value.get('length'),
317
+ 2
318
+ );
319
+
320
+ // Blocked function that as wall changed, opposite wall should changed together.
321
+ // let layer = scene.getIn(['layers', elementData.layer]);
322
+ // let allLines = layer.lines.toArray()
323
+ // let relatedLine = allLines.filter(line => { return line.vertices.toArray().includes(v_b.id) && line.id != selectedLine.id })[0];
324
+ // let relatedVertexID = relatedLine && (relatedLine.vertices.toArray()[0] == v_b.id ? relatedLine.vertices.toArray()[1] : relatedLine.vertices.toArray()[0]);
325
+ // let v_d = relatedVertexID && layer.getIn(['vertices', relatedVertexID]);
326
+ // let delta = {
327
+ // x : v_b_new.x - v_b.x,
328
+ // y : v_b_new.y - v_b.y
329
+ // };
330
+ // let newPosition = {
331
+ // x : v_d.x + delta.x,
332
+ // y : v_d.y + delta.y
333
+ // }
334
+
335
+ var attributesData = {
336
+ // (v_0 === v_a ? 'vertexTwo' : 'vertexOne') : v_b.merge(v_b_new)),
337
+ lineLength: value
338
+ };
339
+ if (v_0 === v_a) {
340
+ attributesData = {
341
+ ...attributesData,
342
+ vertexTwo: v_b.merge(v_b_new),
343
+ vertexOne: v_a
344
+ };
345
+ } else {
346
+ attributesData = {
347
+ ...attributesData,
348
+ vertexOne: v_b.merge(v_b_new),
349
+ vertexTwo: v_a
350
+ };
351
+ }
352
+ let attributesFormData = new Map({
353
+ ...attributesData
354
+ });
355
+ setRulerEdit(null);
356
+ projectActions.setLinesAttributes(attributesFormData, true, {
357
+ layerID: elementData.layer,
358
+ lineID: elementData.id
359
+ });
360
+
361
+ // Blocked function that as wall changed, opposite wall should changed together.
362
+ // verticesActions.beginDraggingVertex(elementData.layer, relatedVertexID, newPosition.x, newPosition.y, state.snapMask);
363
+ // verticesActions.updateDraggingVertex(newPosition.x, newPosition.y, state.snapMask);
364
+ // verticesActions.endDraggingVertex(newPosition.x, newPosition.y, state.snapMask);
365
+ };
366
+
367
+ let updateTwoHoleRulerAttribute = (elementData, value) => {
368
+ let elementIds = elementData.id.split(',');
369
+ elementData.id = elementIds[1];
370
+ elementData.length /= 2;
371
+ updateLeftHoleRulerAttribute(elementData, value);
372
+ elementData.id = elementIds[0];
373
+ updateRightHoleRulerAttribute(elementData, value);
374
+ };
375
+
376
+ let updateLeftHoleRulerAttribute = (elementData, value) => {
377
+ let newVal = value.get('length');
378
+ let oldVal = elementData.length;
379
+ const thisItem = scene
380
+ .getIn(['layers', elementData.layer, 'holes', elementData.id])
381
+ .toJS();
382
+ let oldX = thisItem.x;
383
+ let oldY = thisItem.y;
384
+ let oldRotRad = thisItem.rotation;
385
+ let delta = oldVal - newVal;
386
+ let newX = oldX - delta * Math.cos(oldRotRad);
387
+ let newY = oldY - delta * Math.sin(oldRotRad);
388
+ holesActions.beginDraggingHole(
389
+ elementData.layer,
390
+ elementData.id,
391
+ newX,
392
+ newY
393
+ );
394
+ holesActions.updateDraggingHoleChanged(
395
+ newX,
396
+ newY,
397
+ elementData.layer,
398
+ elementData.id
399
+ );
400
+ holesActions.endDraggingHole(newX, newY);
401
+ setRulerEdit(null);
402
+ };
403
+
404
+ let updateHoleRulerAttribute = (elementData, value) => {
405
+ let newVal = value.get('length');
406
+ const thisItem = scene
407
+ .getIn(['layers', elementData.layer, 'holes', elementData.id])
408
+ .toJS();
409
+ let oldX = thisItem.x;
410
+ let oldY = thisItem.y;
411
+ holesActions.beginDraggingHole(
412
+ elementData.layer,
413
+ elementData.id,
414
+ oldX,
415
+ oldY
416
+ );
417
+ holesActions.updateDraggingHoleRulerChanged(
418
+ newVal,
419
+ elementData.layer,
420
+ elementData.id
421
+ );
422
+ holesActions.endDraggingHole(oldX, oldY);
423
+ setRulerEdit(null);
424
+ };
425
+
426
+ let updateRightHoleRulerAttribute = (elementData, value) => {
427
+ let newVal = value.get('length');
428
+ let oldVal = elementData.length;
429
+ const thisItem = scene
430
+ .getIn(['layers', elementData.layer, 'holes', elementData.id])
431
+ .toJS();
432
+ let oldX = thisItem.x;
433
+ let oldY = thisItem.y;
434
+ let oldRotRad = thisItem.rotation;
435
+ let delta = oldVal - newVal;
436
+ let newX = oldX + delta * Math.cos(oldRotRad);
437
+ let newY = oldY + delta * Math.sin(oldRotRad);
438
+ holesActions.beginDraggingHole(
439
+ elementData.layer,
440
+ elementData.id,
441
+ newX,
442
+ newY
443
+ );
444
+ holesActions.updateDraggingHoleChanged(
445
+ newX,
446
+ newY,
447
+ elementData.layer,
448
+ elementData.id
449
+ );
450
+ holesActions.endDraggingHole(newX, newY);
451
+ setRulerEdit(null);
452
+ };
453
+
454
+ const getRelatedLines = (tlines, drawingLine, vertices, lines) => {
455
+ // if (drawingLine.vertices[0] !== drawingLine.vertices[1]) {
456
+ for (let i = 0; i < drawingLine.vertices.length; i++) {
457
+ let vertex = vertices[drawingLine.vertices[i]];
458
+ for (let j = 0; j < vertex.lines.length; j++) {
459
+ if (vertex.lines[j] !== drawingLine.id) {
460
+ if (!tlines.some(line => line.id === lines[vertex.lines[j]].id)) {
461
+ tlines.push(lines[vertex.lines[j]]);
462
+ }
463
+ }
464
+ }
465
+ }
466
+ // }
467
+ };
468
+
469
+ const getEndPoint = (vertices, x, y, mode) => {
470
+ let selLineID = state
471
+ .getIn(['scene', 'layers', layerID, 'selected', 'lines'])
472
+ .first();
473
+ if (isEmpty(selLineID)) {
474
+ return {
475
+ isEndDrag: true,
476
+ x: x,
477
+ y: y
478
+ };
479
+ }
480
+ let draggingLine = state
481
+ .getIn(['scene', 'layers', layerID, 'lines', selLineID])
482
+ .toJS();
483
+ let allLines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
484
+ let dragVertexId = state.getIn(['draggingSupport', 'vertexID']);
485
+ dragVertexId = !isEmpty(dragVertexId)
486
+ ? dragVertexId
487
+ : draggingLine.vertices[1];
488
+ let vtx, vty;
489
+ let stepUnit = false;
490
+ vtx = vertices[dragVertexId].x;
491
+ vty = vertices[dragVertexId].y;
492
+ if (!vertices[dragVertexId].lines.some(line => line !== draggingLine.id)) {
493
+ stepUnit = true;
494
+ }
495
+ let endDrag = [];
496
+ if (!isEmpty(relatedLines) && mode !== 'DRAGGING_LINE') {
497
+ vertices[dragVertexId].x = x;
498
+ vertices[dragVertexId].y = y;
499
+ }
500
+ let absAngle, lineAngle;
501
+ if (draggingLine.vertices[0] !== draggingLine.vertices[1]) {
502
+ for (let i = 0; i < relatedLines.length; i++) {
503
+ let line = relatedLines[i];
504
+ lineAngle = GeometryUtils.angleBetweenTwoLines(
505
+ line,
506
+ draggingLine,
507
+ vertices
508
+ );
509
+ absAngle = Math.abs(lineAngle);
510
+ let tmpRelated = [];
511
+ GeometryUtils.getRelatedLines(
512
+ tmpRelated,
513
+ line,
514
+ vertices,
515
+ allLines,
516
+ draggingLine.id
517
+ );
518
+ for (let j = 0; j < tmpRelated.length; j++) {
519
+ let tmpAngle = Math.abs(
520
+ GeometryUtils.angleBetweenTwoLines(tmpRelated[j], line, vertices)
521
+ );
522
+ if (
523
+ tmpAngle < MIN_ANGLE_DISALLOW_DRAW_WALL ||
524
+ tmpAngle > 360 - MIN_ANGLE_DISALLOW_DRAW_WALL
525
+ ) {
526
+ endDrag.push(false);
527
+ } else endDrag.push(true);
528
+ }
529
+ if (
530
+ absAngle < MIN_ANGLE_DISALLOW_DRAW_WALL ||
531
+ absAngle > 360 - MIN_ANGLE_DISALLOW_DRAW_WALL
532
+ ) {
533
+ endDrag.push(false);
534
+ } else endDrag.push(true);
535
+ }
536
+ }
537
+
538
+ if (!endDrag.some(flag => flag === false)) {
539
+ vtx = x;
540
+ vty = y;
541
+ } else {
542
+ let rest = MIN_ANGLE_DISALLOW_DRAW_WALL - absAngle;
543
+ // the origin point of rotation(snapping)
544
+ let originVerId = draggingLine.vertices.findIndex(
545
+ vertice => vertice !== dragVertexId
546
+ );
547
+ originVerId =
548
+ originVerId < 0
549
+ ? draggingLine.vertices[0]
550
+ : draggingLine.vertices[originVerId];
551
+ if (stepUnit) {
552
+ let ox = vertices[originVerId].x;
553
+ let oy = vertices[originVerId].y;
554
+ // determine the direction of rotation.
555
+ rest = lineAngle > 0 ? -rest : rest;
556
+ // rotate the current point to last point around the first point of drawing line.
557
+ let res = GeometryUtils.rotatePointAroundPoint(x, y, ox, oy, rest);
558
+ vtx = res.x;
559
+ vty = res.y;
560
+ }
561
+ }
562
+
563
+ // angle snapping as a value of UNIT_ANGLE
564
+ if (
565
+ !endDrag.some(flag => flag === false) &&
566
+ !isEmpty(absAngle) &&
567
+ absAngle % UNIT_ANGLE !== 0 &&
568
+ stepUnit
569
+ ) {
570
+ let result = GeometryUtils.snapAngleByUnit(
571
+ lineAngle,
572
+ vertices,
573
+ draggingLine,
574
+ vtx,
575
+ vty,
576
+ dragVertexId
577
+ );
578
+ vtx = result.x;
579
+ vty = result.y;
580
+ }
581
+
582
+ let result = {
583
+ isEndDrag: endDrag,
584
+ x: vtx,
585
+ y: vty
586
+ };
587
+ return result;
588
+ };
589
+
590
+ const getProperties = (item, property) => {
591
+ if (!item?.properties?.getIn) return 0;
592
+ const length = item.properties.getIn([property, '_length']);
593
+ const unit = item.properties.getIn([property, '_unit']);
594
+ return length && unit ? convert(length).from(unit).to('cm') : 0;
595
+ };
596
+
597
+ const point = (x, y) => ({ x, y });
598
+
599
+ const getDistant = (x, y, rotRad, curItemInfo, allRect) => {
600
+ const center_h = (3 * height) / 8;
601
+ const center_x1 = x - center_h * Math.sin(rotRad);
602
+ const center_y1 = y + center_h * Math.cos(rotRad);
603
+
604
+ const pointArray = [];
605
+
606
+ curItemInfo.rectCenterPoint.forEach(centerpoint => {
607
+ if (!Array.isArray(centerpoint) || centerpoint.length < 2) return;
608
+
609
+ const [pt, angle] = centerpoint;
610
+ if (!pt) return;
611
+
612
+ // line through centerpoint and reference center
613
+ const rectLine =
614
+ angle === 180 || angle === 0
615
+ ? GeometryUtils.linePassingThroughTwoPoints(
616
+ pt.x,
617
+ pt.y,
618
+ center_x1,
619
+ center_y1
620
+ )
621
+ : GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, x, y);
622
+
623
+ if (!rectLine) return;
624
+
625
+ let minDist;
626
+ allRect.forEach(linerect => {
627
+ if (!linerect?.rect || linerect.rect.length < 4) return;
628
+
629
+ const p0 = GeometryUtils.clone_point(linerect.rect[2]);
630
+ const p1 = GeometryUtils.clone_point(linerect.rect[3]);
631
+ if (!p0 || !p1 || (p0.x === p1.x && p0.y === p1.y)) return;
632
+
633
+ const lineFn = GeometryUtils.linePassingThroughTwoPoints(
634
+ p0.x,
635
+ p0.y,
636
+ p1.x,
637
+ p1.y
638
+ );
639
+ if (!lineFn) return;
640
+
641
+ const ip = GeometryUtils.twoLinesIntersection(
642
+ lineFn.a,
643
+ lineFn.b,
644
+ lineFn.c,
645
+ rectLine.a,
646
+ rectLine.b,
647
+ rectLine.c
648
+ );
649
+ if (!ip) return;
650
+
651
+ // intersection must lie within line segment
652
+ const segLen = GeometryUtils.pointsDistance(p0.x, p0.y, p1.x, p1.y);
653
+ if (
654
+ segLen <= GeometryUtils.pointsDistance(p0.x, p0.y, ip.x, ip.y) ||
655
+ segLen <= GeometryUtils.pointsDistance(p1.x, p1.y, ip.x, ip.y)
656
+ )
657
+ return;
658
+
659
+ // ensure intersection is farther than pt→center
660
+ const distToCenter = GeometryUtils.pointsDistance(ip.x, ip.y, x, y);
661
+ const baseDist = GeometryUtils.pointsDistance(pt.x, pt.y, ip.x, ip.y);
662
+ if (distToCenter <= baseDist) return;
663
+
664
+ const candidate = baseDist;
665
+ minDist =
666
+ minDist !== undefined ? Math.min(minDist, candidate) : candidate;
667
+ });
668
+
669
+ pointArray.push([minDist ?? 0, angle]);
670
+ });
671
+
672
+ return pointArray;
673
+ };
674
+
675
+ const getCalcRectFromItem = item => {
676
+ if (!item?.pos || !item?.size) return { rectCenterPoint: [] };
677
+
678
+ const { x, y } = item.pos;
679
+ const w = item.size.width / 2;
680
+ const h = item.size.height / 2;
681
+ const rotRad = item.rotRad;
682
+ const mh = (3 * h) / 4;
683
+
684
+ const mx = x - w * Math.cos(rotRad) - mh * Math.sin(rotRad);
685
+ const my = y - w * Math.sin(rotRad) + mh * Math.cos(rotRad);
686
+ const m2x = x + w * Math.cos(rotRad) - mh * Math.sin(rotRad);
687
+ const m2y = y + w * Math.sin(rotRad) + mh * Math.cos(rotRad);
688
+ const m3x = x - h * Math.sin(rotRad);
689
+ const m3y = y + h * Math.cos(rotRad);
690
+ const m1x = x + h * Math.sin(rotRad);
691
+ const m1y = y - h * Math.cos(rotRad);
692
+
693
+ return {
694
+ rectCenterPoint: [
695
+ [point(mx, my), 180],
696
+ [point(m1x, m1y), -90],
697
+ [point(m2x, m2y), 0],
698
+ [point(m3x, m3y), 90]
699
+ ]
700
+ };
701
+ };
702
+
703
+ const calcDistanceArray = () => {
704
+ const items = layer?.get('items');
705
+ if (!items) return;
706
+
707
+ items.forEach(item => {
708
+ if (item?.selected === true) {
709
+ const { x, y, rotation, id } = item;
710
+ if (x == null || y == null) return;
711
+
712
+ const val = {
713
+ pos: { x, y },
714
+ rotRad: (rotation / 180) * Math.PI
715
+ };
716
+
717
+ const width = getProperties(item, 'width');
718
+ const depth = getProperties(item, 'depth');
719
+ val.size = { width, height: depth };
720
+
721
+ // collect geometry
722
+ const allLines = GeometryUtils.getAllLines(layer) || [];
723
+ const allLineRects =
724
+ GeometryUtils.buildRectFromLines(layer, allLines) || [];
725
+ const allItemRect = GeometryUtils.getAllItems(
726
+ scene,
727
+ catalog,
728
+ allLineRects
729
+ ) || { others: [] };
730
+ const allRect = [...(allItemRect.others || []), ...allLineRects];
731
+
732
+ // current item
733
+ const curItemInfo = getCalcRectFromItem(val);
734
+ const pointArray = getDistant(x, y, val.rotRad, curItemInfo, allRect);
735
+
736
+ // store results safely
737
+ if (Array.isArray(pointArray)) {
738
+ itemsActions.storeDistArray(layerID, id, pointArray);
739
+ }
740
+ }
741
+ });
742
+ };
743
+
744
+ let onMouseMove = viewerEvent => {
745
+ //workaround that allow imageful component to work
746
+
747
+ // let evt = new Event('mousemove-planner-event');
748
+ // evt.viewerEvent = viewerEvent;
749
+ // document.dispatchEvent(evt);
750
+ let { x, y } = mapCursorPosition(viewerEvent);
751
+ projectActions.updateMouseCoord({ x, y });
752
+ if (sFlag) {
753
+ let differs = { x: x - sPoint.x, y: y - sPoint.y };
754
+ projectActions.selectAll(differs);
755
+ } else
756
+ switch (mode) {
757
+ case constants.MODE_DRAWING_LINE:
758
+ // check whether the drawing line is started.
759
+ if (drawStart || state.getIn(['scene', 'setLineAttributes'])) {
760
+ let lineID = state
761
+ .getIn(['scene', 'layers', layerID, 'selected', 'lines'])
762
+ .first();
763
+
764
+ let vertices = state
765
+ .getIn(['scene', 'layers', layerID, 'vertices'])
766
+ .toJS();
767
+ let lines = state
768
+ .getIn(['scene', 'layers', layerID, 'lines'])
769
+ .toJS();
770
+ let drawingLine = state
771
+ .getIn(['scene', 'layers', layerID, 'lines', lineID])
772
+ .toJS();
773
+ let tlines = [];
774
+
775
+ setdrawStart(false);
776
+ // get the lines that have same points with drawing line.
777
+ getRelatedLines(tlines, drawingLine, vertices, lines);
778
+ setRelatedLines(tlines);
779
+ linesActions.updateDrawingLine(x, y, tlines, state.snapMask);
780
+ } else {
781
+ linesActions.updateDrawingLine(x, y, relatedLines, state.snapMask);
782
+ }
783
+ // Blocked 90 degree snap.
784
+ // let prevVertexID = state.getIn(['scene', 'layers', layerID, 'selected', 'vertices']).toJS()[0];
785
+ // let prevVertex = state.getIn(['scene', 'layers', layerID, 'vertices', prevVertexID]);
786
+ // let dx = Math.abs(x - prevVertex.x);
787
+ // let dy = Math.abs(y - prevVertex.y);
788
+ // if (dx > dy) y = prevVertex.y
789
+ // else x = prevVertex.x;
790
+ break;
791
+
792
+ case constants.MODE_DRAWING_HOLE:
793
+ holesActions.updateDrawingHole(layerID, x, y);
794
+ break;
795
+
796
+ case constants.MODE_DRAWING_ITEM:
797
+ calcDistanceArray();
798
+ let layer = scene.layers.get(layerID);
799
+ let flag = false;
800
+ layer.items.some(item => {
801
+ if (item.selected) {
802
+ item.counterTop.uri = layer.counterTop.uri;
803
+ current_sel_obj_id = item.id;
804
+ flag = true;
805
+ }
806
+ });
807
+ if (current_sel_obj_id === null || !flag) {
808
+ itemsActions.updateDrawingItem(layerID, x, y);
809
+ endPoint.x = x;
810
+ endPoint.y = y;
811
+ } else {
812
+ prepareSnap();
813
+ var { nx, ny, rot, rotRad } = GeometryUtils.calcSnap(
814
+ allItemRect,
815
+ allItemSnap,
816
+ allLineRects,
817
+ allLineSnap,
818
+ allRect,
819
+ x,
820
+ y,
821
+ allArea
822
+ );
823
+ let val = {
824
+ pos: { x, y },
825
+ rotRad,
826
+ size: allItemRect.cur && allItemRect.cur.size,
827
+ layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
828
+ is_corner: allItemRect.cur && allItemRect.cur.is_corner
829
+ };
830
+ let { isSect, snap } = GeometryUtils.getAllHoleRect(scene, val);
831
+ if (!isEmpty(snap) && isSect) {
832
+ if (snap.length == 1) val.pos = { x: snap[0].x, y: snap[0].y };
833
+ else {
834
+ if (
835
+ (snap[0].x - x) * (snap[0].x - x) +
836
+ (snap[0].y - y) * (snap[0].y - y) <
837
+ (snap[1].x - x) * (snap[1].x - x) +
838
+ (snap[1].y - y) * (snap[1].y - y)
839
+ )
840
+ val.pos = { x: snap[0].x, y: snap[0].y };
841
+ else val.pos = { x: snap[1].x, y: snap[1].y };
842
+ }
843
+ let interSect = GeometryUtils.validInterSect(
844
+ allItemRect.others,
845
+ val
846
+ );
847
+ if (interSect) {
848
+ nx = val.pos.x;
849
+ ny = val.pos.y;
850
+ }
851
+ }
852
+
853
+ val.pos = { x: nx, y: ny };
854
+ let isrectSect = GeometryUtils.validInterSect(
855
+ allItemRect.others,
856
+ val
857
+ );
858
+ if (isrectSect && isSect) {
859
+ itemsActions.updateDraggingItemChanged(
860
+ nx,
861
+ ny,
862
+ layerID,
863
+ current_sel_obj_id
864
+ );
865
+ itemsActions.updateRotatingItemChanged(
866
+ rot,
867
+ layerID,
868
+ current_sel_obj_id
869
+ );
870
+ endPoint.x = nx;
871
+ endPoint.y = ny;
872
+ }
873
+ if (
874
+ (allItemRect.cur &&
875
+ allItemRect.cur.itemInfo.name.includes('Cook Top')) ||
876
+ (allItemRect.cur &&
877
+ allItemRect.cur.itemInfo.name.includes('cabinet'))
878
+ ) {
879
+ itemsActions.updateDraggingItemChanged(
880
+ nx,
881
+ ny,
882
+ layerID,
883
+ current_sel_obj_id
884
+ );
885
+ itemsActions.updateRotatingItemChanged(
886
+ rot,
887
+ layerID,
888
+ current_sel_obj_id
889
+ );
890
+ endPoint.x = nx;
891
+ endPoint.y = ny;
892
+ }
893
+ if (
894
+ (allItemRect.cur &&
895
+ allItemRect.cur.itemInfo.name.includes('Hood')) ||
896
+ (allItemRect.cur &&
897
+ allItemRect.cur.itemInfo.name.includes('Range')) ||
898
+ (allItemRect.cur &&
899
+ allItemRect.cur.itemInfo.name.includes('Cook Top'))
900
+ ) {
901
+ itemsActions.updateDraggingItemChanged(
902
+ nx,
903
+ ny,
904
+ layerID,
905
+ current_sel_obj_id
906
+ );
907
+ itemsActions.updateRotatingItemChanged(
908
+ rot,
909
+ layerID,
910
+ current_sel_obj_id
911
+ );
912
+ endPoint.x = nx;
913
+ endPoint.y = ny;
914
+ }
915
+ }
916
+ break;
917
+
918
+ case constants.MODE_DRAGGING_HOLE:
919
+ holesActions.updateDraggingHole(x, y);
920
+ break;
921
+
922
+ case constants.MODE_DRAGGING_LINE:
923
+ linesActions.updateDraggingLine(x, y, relatedLines, state.snapMask);
924
+ break;
925
+
926
+ case constants.MODE_DRAGGING_VERTEX:
927
+ let vertices = state
928
+ .getIn(['scene', 'layers', layerID, 'vertices'])
929
+ .toJS();
930
+ let result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
931
+ verticesActions.updateDraggingVertex(
932
+ result.x,
933
+ result.y,
934
+ state.snapMask
935
+ );
936
+ break;
937
+
938
+ case constants.MODE_DRAGGING_ITEM:
939
+ calcDistanceArray();
940
+ prepareSnap();
941
+ var { nx, ny, rot, rotRad } = GeometryUtils.calcSnap(
942
+ allItemRect,
943
+ allItemSnap,
944
+ allLineRects,
945
+ allLineSnap,
946
+ allRect,
947
+ x,
948
+ y,
949
+ allArea
950
+ );
951
+ let val = {
952
+ pos: { x, y },
953
+ rotRad,
954
+ size: allItemRect.cur && allItemRect.cur.size,
955
+ layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
956
+ is_corner: allItemRect.cur && allItemRect.cur.is_corner
957
+ };
958
+ let { isSect, snap } = GeometryUtils.getAllHoleRect(scene, val);
959
+ if (!isEmpty(snap) && isSect) {
960
+ if (snap.length == 1) val.pos = { x: snap[0].x, y: snap[0].y };
961
+ else if (snap.length == 2) {
962
+ if (
963
+ (snap[0].x - x) * (snap[0].x - x) +
964
+ (snap[0].y - y) * (snap[0].y - y) <
965
+ (snap[1].x - x) * (snap[1].x - x) +
966
+ (snap[1].y - y) * (snap[1].y - y)
967
+ )
968
+ val.pos = { x: snap[0].x, y: snap[0].y };
969
+ else val.pos = { x: snap[1].x, y: snap[1].y };
970
+ }
971
+ let interSect = GeometryUtils.validInterSect(
972
+ allItemRect.others,
973
+ val
974
+ );
975
+ if (interSect) {
976
+ nx = val.pos.x;
977
+ ny = val.pos.y;
978
+ }
979
+ }
980
+
981
+ val.pos = { x: nx, y: ny };
982
+ let isrectSect = GeometryUtils.validInterSect(
983
+ allItemRect.others,
984
+ val
985
+ );
986
+ if (isrectSect && isSect) {
987
+ itemsActions.updateDraggingItemChanged(
988
+ nx,
989
+ ny,
990
+ layerID,
991
+ current_sel_obj_id
992
+ );
993
+ itemsActions.updateRotatingItemChanged(
994
+ rot,
995
+ layerID,
996
+ current_sel_obj_id
997
+ );
998
+ }
999
+ if (
1000
+ (allItemRect.cur &&
1001
+ allItemRect.cur.itemInfo.name.includes('Cook Top')) ||
1002
+ (allItemRect.cur &&
1003
+ allItemRect.cur.itemInfo.name.includes('Cabinet'))
1004
+ ) {
1005
+ itemsActions.updateDraggingItemChanged(
1006
+ nx,
1007
+ ny,
1008
+ layerID,
1009
+ current_sel_obj_id
1010
+ );
1011
+ itemsActions.updateRotatingItemChanged(
1012
+ rot,
1013
+ layerID,
1014
+ current_sel_obj_id
1015
+ );
1016
+ }
1017
+ if (
1018
+ (allItemRect.cur &&
1019
+ allItemRect.cur.itemInfo.name.includes('Hood')) ||
1020
+ (allItemRect.cur &&
1021
+ allItemRect.cur.itemInfo.name.includes('Range')) ||
1022
+ (allItemRect.cur &&
1023
+ allItemRect.cur.itemInfo.name.includes('Cook Top'))
1024
+ ) {
1025
+ itemsActions.updateDraggingItemChanged(
1026
+ nx,
1027
+ ny,
1028
+ layerID,
1029
+ current_sel_obj_id
1030
+ );
1031
+ itemsActions.updateRotatingItemChanged(
1032
+ rot,
1033
+ layerID,
1034
+ current_sel_obj_id
1035
+ );
1036
+ }
1037
+ break;
1038
+
1039
+ case constants.MODE_ROTATING_ITEM:
1040
+ itemsActions.updateRotatingItem(x, y);
1041
+ break;
1042
+ }
1043
+
1044
+ viewerEvent.originalEvent.stopPropagation();
1045
+ };
1046
+
1047
+ let onMouseDown = viewerEvent => {
1048
+ let event = viewerEvent.originalEvent;
1049
+ //workaround that allow imageful component to work
1050
+ // let evt = new Event('mousedown-planner-event');
1051
+ // evt.viewerEvent = viewerEvent;
1052
+ // document.dispatchEvent(evt);
1053
+ let { x, y } = mapCursorPosition(viewerEvent);
1054
+ let layer = state.scene.getIn(['layers', state.scene.selectedLayer]);
1055
+ let sCount =
1056
+ layer.selected.areas.size +
1057
+ layer.selected.holes.size +
1058
+ layer.selected.items.size +
1059
+ layer.selected.lines.size;
1060
+ if (mode === constants.MODE_DRAWING_LINE) {
1061
+ if (event.nativeEvent.which === 3) {
1062
+ projectActions.rollback();
1063
+ event.stopPropagation();
1064
+ return;
1065
+ }
1066
+ }
1067
+ if (mode === constants.MODE_IDLE) {
1068
+ let elementData = extractElementData(event.target);
1069
+ if (!elementData) return;
1070
+
1071
+ if (sCount < 2)
1072
+ switch (elementData.prototype) {
1073
+ case 'lines':
1074
+ if (elementData.selected) {
1075
+ if (elementData.part === 'remove') break;
1076
+ else if (elementData.part === 'elevation') break;
1077
+ linesActions.beginDraggingLine(
1078
+ elementData.layer,
1079
+ elementData.id,
1080
+ x,
1081
+ y,
1082
+ state.snapMask
1083
+ );
1084
+ }
1085
+ break;
1086
+ case 'vertices':
1087
+ verticesActions.beginDraggingVertex(
1088
+ elementData.layer,
1089
+ elementData.id,
1090
+ x,
1091
+ y,
1092
+ state.snapMask
1093
+ );
1094
+ break;
1095
+
1096
+ case 'items':
1097
+ setToolbar('');
1098
+ current_sel_obj_id = elementData.id;
1099
+ if (elementData.part === 'rotation-anchor')
1100
+ itemsActions.beginRotatingItem(
1101
+ elementData.layer,
1102
+ elementData.id,
1103
+ x,
1104
+ y
1105
+ );
1106
+ else if (elementData.part === 'remove') break;
1107
+ else if (elementData.part === 'duplicate') break;
1108
+ else if (elementData.part === 'warning_edit') break;
1109
+ else {
1110
+ // closes the setting dialog
1111
+ // document.getElementById('setting_dialog').style.display = 'none';
1112
+
1113
+ itemsActions.selectItem(elementData.layer, elementData.id);
1114
+ // projectActions.setMode(constants.MODE_DRAGGING_ITEM);
1115
+ itemsActions.beginDraggingItem(
1116
+ elementData.layer,
1117
+ elementData.id,
1118
+ x,
1119
+ y
1120
+ );
1121
+ replaceCabinet(false);
1122
+ }
1123
+ break;
1124
+
1125
+ case 'holes':
1126
+ if (elementData.selected)
1127
+ holesActions.beginDraggingHole(
1128
+ elementData.layer,
1129
+ elementData.id,
1130
+ x,
1131
+ y
1132
+ );
1133
+ break;
1134
+
1135
+ default:
1136
+ break;
1137
+ }
1138
+ else {
1139
+ sPoint.x = x;
1140
+ sPoint.y = y;
1141
+ sFlag = true;
1142
+ }
1143
+ }
1144
+ event.stopPropagation();
1145
+ };
1146
+
1147
+ let onMouseUp = viewerEvent => {
1148
+ //set move all flag false
1149
+ sFlag = false;
1150
+ // //////////////////////
1151
+ // setRulerEdit(null);
1152
+ let event = viewerEvent.originalEvent;
1153
+ let bbox = event.target.getBoundingClientRect();
1154
+ if (!mode.includes('ING')) {
1155
+ setToolbar('');
1156
+ }
1157
+ // bbox.width = event.target.getBBox().width;
1158
+ // bbox.height = event.target.getBBox().height;
1159
+ if (event.target.tagName === 'rect') {
1160
+ if (event.target.id) {
1161
+ setRulerEditID(event.target.id);
1162
+ }
1163
+ }
1164
+ setRulerEdit(null);
1165
+ // let evt = new Event('mouseup-planner-event');
1166
+ // evt.viewerEvent = viewerEvent;
1167
+ // document.dispatchEvent(evt);
1168
+
1169
+ let { x, y } = mapCursorPosition(viewerEvent);
1170
+
1171
+ let vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
1172
+ let lines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
1173
+
1174
+ switch (mode) {
1175
+ case constants.MODE_IDLE:
1176
+ let elementData = extractElementData(event.target);
1177
+ let selectedLayer = scene.getIn(['layers', layerID]);
1178
+ switch (elementData ? elementData.prototype : 'none') {
1179
+ case 'areas':
1180
+ // document.getElementById('setting_dialog').style.display = 'none';
1181
+ areaActions.selectArea(elementData.layer, elementData.id);
1182
+ break;
1183
+
1184
+ case 'lines':
1185
+ // document.getElementById('setting_dialog').style.display = 'none';
1186
+ if (elementData.part === 'remove') {
1187
+ projectActions.remove();
1188
+ break;
1189
+ } else if (elementData.part === 'elevation') {
1190
+ // handle action when click elevation about selected line
1191
+ let mode = MODE_ELEVATION_VIEW;
1192
+ projectActions.setMode(mode);
1193
+ break;
1194
+ } else {
1195
+ let tlines = [];
1196
+ let drawingLine = state
1197
+ .getIn(['scene', 'layers', layerID, 'lines', elementData.id])
1198
+ .toJS();
1199
+ getRelatedLines(tlines, drawingLine, vertices, lines);
1200
+ setRelatedLines(tlines);
1201
+ linesActions.selectLine(elementData.layer, elementData.id);
1202
+ break;
1203
+ }
1204
+
1205
+ case 'holes':
1206
+ // document.getElementById('setting_dialog').style.display = 'none';
1207
+ holesActions.selectHole(elementData.layer, elementData.id);
1208
+ break;
1209
+
1210
+ case 'items':
1211
+ if (elementData.part === 'duplicate') {
1212
+ let currentObject = state.getIn([
1213
+ 'scene',
1214
+ 'layers',
1215
+ layerID,
1216
+ 'items',
1217
+ elementData.id
1218
+ ]);
1219
+ itemsActions.duplicateSelected(currentObject);
1220
+ break;
1221
+ } else if (elementData.part === 'remove') {
1222
+ projectActions.remove();
1223
+ break;
1224
+ } else if (elementData.part === 'warning_edit') {
1225
+ // closes the setting dialog
1226
+ // document.getElementById('setting_dialog').style.display = 'none';
1227
+
1228
+ itemsActions.selectItem(elementData.layer, elementData.id);
1229
+ replaceCabinet(true);
1230
+ break;
1231
+ } else {
1232
+ projectActions.unselectAll();
1233
+ break;
1234
+ }
1235
+ case 'rulerDist':
1236
+ let _length1 = convert(elementData.length)
1237
+ .from(scene.unit)
1238
+ .to(scene.rulerUnit);
1239
+ let distanceText1 = `${formatNumber(_length1, DECIMAL_PLACES_2)}`;
1240
+ const numberInput1 = (
1241
+ <div
1242
+ id="ruler_numberInput"
1243
+ style={{
1244
+ position: 'absolute',
1245
+ left: bbox.left - (150 - bbox.width) / 2,
1246
+ top: bbox.top - (50 - bbox.height) / 2,
1247
+ zIndex: 1000
1248
+ }}
1249
+ >
1250
+ <FormNumberInput
1251
+ style={{
1252
+ width: 150,
1253
+ height: 50,
1254
+ textAlign: 'center',
1255
+ paddingRight: 10,
1256
+ fontSize: '16px',
1257
+ lineHeight: '22px',
1258
+ fontWeight: 600
1259
+ }}
1260
+ value={distanceText1}
1261
+ onChange={event => {
1262
+ const value = new Map({
1263
+ length: convert(event.target.value)
1264
+ .from(scene.rulerUnit)
1265
+ .to(scene.unit),
1266
+ _length: event.target.value,
1267
+ _unit: scene.rulerUnit
1268
+ });
1269
+ updateRulerDistAttribute(elementData, value);
1270
+ }}
1271
+ precision={2}
1272
+ />
1273
+ </div>
1274
+ );
1275
+ setRulerEdit(numberInput1);
1276
+ projectActions.unselectAll();
1277
+ break;
1278
+ case 'ruler':
1279
+ let _length = convert(elementData.length)
1280
+ .from(scene.unit)
1281
+ .to(selectedLayer.unit);
1282
+ const numberInput = (
1283
+ <div
1284
+ id="ruler_numberInput"
1285
+ style={{
1286
+ position: 'absolute',
1287
+ left: bbox.left - (150 - bbox.width) / 2,
1288
+ top: bbox.top - (50 - bbox.height) / 2,
1289
+ zIndex: 1000
1290
+ }}
1291
+ >
1292
+ <FormNumberInput
1293
+ style={{
1294
+ width: 150,
1295
+ height: 50,
1296
+ textAlign: 'center',
1297
+ paddingRight: 10,
1298
+ fontSize: '16px',
1299
+ lineHeight: '22px',
1300
+ fontWeight: 600
1301
+ }}
1302
+ value={formatNumber(_length, DECIMAL_PLACES_2)}
1303
+ onChange={event => {
1304
+ const value = new Map({
1305
+ length: convert(event.target.value)
1306
+ .from(selectedLayer.unit)
1307
+ .to(scene.unit),
1308
+ _length: event.target.value,
1309
+ _unit: selectedLayer.unit
1310
+ });
1311
+ updateRulerAttribute(elementData, value);
1312
+ }}
1313
+ precision={2}
1314
+ />
1315
+ </div>
1316
+ );
1317
+ setRulerEdit(numberInput);
1318
+ projectActions.unselectAll();
1319
+ break;
1320
+ case 'twoHoleRuler':
1321
+ let _lengthTwoHoleRuler = convert(elementData.length)
1322
+ .from(scene.unit)
1323
+ .to(scene.rulerUnit);
1324
+ let distanceTextTwoHoleRuler = `${formatNumber(
1325
+ _lengthTwoHoleRuler,
1326
+ DECIMAL_PLACES_2
1327
+ )}`;
1328
+ const numberInputTwoHoleRuler = (
1329
+ <div
1330
+ id="ruler_numberInput"
1331
+ style={{
1332
+ position: 'absolute',
1333
+ left: bbox.left - (150 - bbox.width) / 2,
1334
+ top: bbox.top - (50 - bbox.height) / 2,
1335
+ zIndex: 1000
1336
+ }}
1337
+ >
1338
+ <FormNumberInput
1339
+ style={{
1340
+ width: 150,
1341
+ height: 50,
1342
+ textAlign: 'center',
1343
+ padding: 'auto',
1344
+ fontSize: '16px',
1345
+ lineHeight: '22px',
1346
+ fontWeight: 600
1347
+ }}
1348
+ value={distanceTextTwoHoleRuler}
1349
+ onChange={event => {
1350
+ const value = new Map({
1351
+ length: convert(event.target.value / 2)
1352
+ .from(scene.rulerUnit)
1353
+ .to(scene.unit),
1354
+ _length: event.target.value / 2,
1355
+ _unit: scene.rulerUnit
1356
+ });
1357
+ updateTwoHoleRulerAttribute(elementData, value);
1358
+ }}
1359
+ precision={2}
1360
+ />
1361
+ </div>
1362
+ );
1363
+ setRulerEdit(numberInputTwoHoleRuler);
1364
+ projectActions.unselectAll();
1365
+ break;
1366
+ case 'leftHoleRuler':
1367
+ let _lengthLeftHoleRuler = convert(elementData.length)
1368
+ .from(scene.unit)
1369
+ .to(scene.rulerUnit);
1370
+ let distanceTextLeftHoleRuler = `${_lengthLeftHoleRuler.toFixed(
1371
+ 2
1372
+ )}`;
1373
+ const numberInputLeftHoleRuler = (
1374
+ <div
1375
+ id="ruler_numberInput"
1376
+ style={{
1377
+ position: 'absolute',
1378
+ left: bbox.left - (150 - bbox.width) / 2,
1379
+ top: bbox.top - (50 - bbox.height) / 2,
1380
+ zIndex: 1000
1381
+ }}
1382
+ >
1383
+ <FormNumberInput
1384
+ style={{
1385
+ width: 150,
1386
+ height: 50,
1387
+ textAlign: 'center',
1388
+ paddingRight: 10,
1389
+ fontSize: '16px',
1390
+ lineHeight: '22px',
1391
+ fontWeight: 600
1392
+ }}
1393
+ value={distanceTextLeftHoleRuler}
1394
+ onChange={event => {
1395
+ const value = new Map({
1396
+ length: convert(event.target.value)
1397
+ .from(scene.rulerUnit)
1398
+ .to(scene.unit),
1399
+ _length: event.target.value,
1400
+ _unit: scene.rulerUnit
1401
+ });
1402
+ updateLeftHoleRulerAttribute(elementData, value);
1403
+ }}
1404
+ precision={2}
1405
+ />
1406
+ </div>
1407
+ );
1408
+ setRulerEdit(numberInputLeftHoleRuler);
1409
+ projectActions.unselectAll();
1410
+ break;
1411
+ case 'rulerHole':
1412
+ let _lengthRulerHole = convert(elementData.length)
1413
+ .from(scene.unit)
1414
+ .to(scene.rulerUnit);
1415
+ let distanceTextRulerHole = `${formatNumber(
1416
+ _lengthRulerHole,
1417
+ DECIMAL_PLACES_2
1418
+ )}`;
1419
+ const numberInputRulerHole = (
1420
+ <div
1421
+ id="ruler_numberInput"
1422
+ style={{
1423
+ position: 'absolute',
1424
+ left: bbox.left - (150 - bbox.width) / 2,
1425
+ top: bbox.top - (50 - bbox.height) / 2,
1426
+ zIndex: 1000
1427
+ }}
1428
+ >
1429
+ <FormNumberInput
1430
+ style={{
1431
+ width: 150,
1432
+ height: 50,
1433
+ textAlign: 'center',
1434
+ paddingRight: 10,
1435
+ fontSize: '16px',
1436
+ lineHeight: '22px',
1437
+ fontWeight: 600
1438
+ }}
1439
+ value={distanceTextRulerHole}
1440
+ onChange={event => {
1441
+ const value = new Map({
1442
+ length: convert(event.target.value)
1443
+ .from(scene.rulerUnit)
1444
+ .to(scene.unit),
1445
+ _length: event.target.value,
1446
+ _unit: scene.rulerUnit
1447
+ });
1448
+ updateHoleRulerAttribute(elementData, value);
1449
+ }}
1450
+ precision={2}
1451
+ />
1452
+ </div>
1453
+ );
1454
+ setRulerEdit(numberInputRulerHole);
1455
+ projectActions.unselectAll();
1456
+ break;
1457
+ case 'rightHoleRuler':
1458
+ let _lengthRightHoleRuler = convert(elementData.length)
1459
+ .from(scene.unit)
1460
+ .to(scene.rulerUnit);
1461
+ let distanceTextRightHoleRuler = `${_lengthRightHoleRuler.toFixed(
1462
+ 2
1463
+ )}`;
1464
+ const numberInputRightHoleRuler = (
1465
+ <div
1466
+ id="ruler_numberInput"
1467
+ style={{
1468
+ position: 'absolute',
1469
+ left: bbox.left - (150 - bbox.width) / 2,
1470
+ top: bbox.top - (50 - bbox.height) / 2,
1471
+ zIndex: 1000
1472
+ }}
1473
+ >
1474
+ <FormNumberInput
1475
+ style={{
1476
+ width: 150,
1477
+ height: 50,
1478
+ textAlign: 'center',
1479
+ paddingRight: 10,
1480
+ fontSize: '16px',
1481
+ lineHeight: '22px',
1482
+ fontWeight: 600
1483
+ }}
1484
+ value={distanceTextRightHoleRuler}
1485
+ onChange={event => {
1486
+ const value = new Map({
1487
+ length: convert(event.target.value)
1488
+ .from(scene.rulerUnit)
1489
+ .to(scene.unit),
1490
+ _length: event.target.value,
1491
+ _unit: scene.rulerUnit
1492
+ });
1493
+ updateRightHoleRulerAttribute(elementData, value);
1494
+ }}
1495
+ precision={2}
1496
+ />
1497
+ </div>
1498
+ );
1499
+ setRulerEdit(numberInputRightHoleRuler);
1500
+ projectActions.unselectAll();
1501
+ break;
1502
+ case 'angleChange':
1503
+ let _length2 = elementData.length;
1504
+ const numberInput2 = (
1505
+ <div
1506
+ id="ruler_numberInput"
1507
+ style={{
1508
+ position: 'absolute',
1509
+ left: bbox.left - (150 - bbox.width) / 2,
1510
+ top: bbox.top - (50 - bbox.height) / 2,
1511
+ zIndex: 1000
1512
+ }}
1513
+ >
1514
+ <FormNumberInput
1515
+ style={{
1516
+ width: 50,
1517
+ height: 50
1518
+ }}
1519
+ value={_length2}
1520
+ onChange={event => {
1521
+ const value = new Map({
1522
+ length: convert(event.target.value)
1523
+ .from(scene.rulerUnit)
1524
+ .to(scene.unit),
1525
+ _length: event.target.value,
1526
+ _unit: scene.rulerUnit
1527
+ });
1528
+ updateangleChangeAttribute(elementData, value);
1529
+ }}
1530
+ precision={2}
1531
+ />
1532
+ </div>
1533
+ );
1534
+ setRulerEdit(numberInput2);
1535
+ projectActions.unselectAll();
1536
+ break;
1537
+ case 'none':
1538
+ projectActions.unselectAll();
1539
+ break;
1540
+ }
1541
+ break;
1542
+
1543
+ case constants.MODE_WAITING_DRAWING_LINE:
1544
+ setdrawStart(true);
1545
+ linesActions.beginDrawingLine(layerID, x, y, state.snapMask);
1546
+ break;
1547
+
1548
+ case constants.MODE_DRAWING_LINE:
1549
+ // Blocked 90 degree snap.
1550
+ // let prevVertexID = state.getIn(['scene', 'layers', layerID, 'selected', 'vertices']).toJS()[0];
1551
+ // let prevVertex = state.getIn(['scene', 'layers', layerID, 'vertices', prevVertexID]);
1552
+ // let dx = Math.abs(x - prevVertex.x);
1553
+ // let dy = Math.abs(y - prevVertex.y);
1554
+ // if (dx > dy) y = prevVertex.y
1555
+ // else x = prevVertex.x;
1556
+ setdrawStart(true);
1557
+ let lineID = state
1558
+ .getIn(['scene', 'layers', layerID, 'selected', 'lines'])
1559
+ .first();
1560
+ let drawingLine = state
1561
+ .getIn(['scene', 'layers', layerID, 'lines', lineID])
1562
+ .toJS();
1563
+ // get the lines that have same points with drawing line.
1564
+ let tlines = [];
1565
+ getRelatedLines(tlines, drawingLine, vertices, lines);
1566
+ setRelatedLines(tlines);
1567
+ let endInfor = getEndPoint(vertices, x, y, 'END_DRAWIN_LINE');
1568
+ linesActions.endDrawingLine(
1569
+ endInfor.x,
1570
+ endInfor.y,
1571
+ tlines,
1572
+ state.snapMask
1573
+ );
1574
+ linesActions.beginDrawingLine(
1575
+ layerID,
1576
+ endInfor.x,
1577
+ endInfor.y,
1578
+ state.snapMask
1579
+ );
1580
+ break;
1581
+
1582
+ case constants.MODE_DRAWING_HOLE:
1583
+ holesActions.endDrawingHole(layerID, x, y);
1584
+ break;
1585
+
1586
+ case constants.MODE_DRAWING_ITEM:
1587
+ itemsActions.endDrawingItem(layerID, endPoint.x, endPoint.y);
1588
+ break;
1589
+
1590
+ case constants.MODE_DRAGGING_LINE:
1591
+ linesActions.endDraggingLine(x, y, relatedLines, state.snapMask);
1592
+ break;
1593
+
1594
+ case constants.MODE_DRAGGING_VERTEX:
1595
+ let result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
1596
+ verticesActions.endDraggingVertex(result.x, result.y, state.snapMask);
1597
+ break;
1598
+
1599
+ case constants.MODE_DRAGGING_ITEM:
1600
+ itemsActions.updateMolding();
1601
+ projectActions.setMode(MODE_IDLE);
1602
+ break;
1603
+
1604
+ case constants.MODE_DRAGGING_HOLE:
1605
+ holesActions.endDraggingHole(x, y);
1606
+ break;
1607
+
1608
+ case constants.MODE_ROTATING_ITEM:
1609
+ itemsActions.endRotatingItem(x, y);
1610
+ break;
1611
+ }
1612
+
1613
+ event.stopPropagation();
1614
+ };
1615
+
1616
+ let onChangeValue = value => {
1617
+ if (sFlag) return;
1618
+ let _zoomValue = parseInt((value.a - 0.5) / constants.ZOOM_VARIABLE);
1619
+ if (_zoomValue > 404) return;
1620
+ if (_zoomValue < 0 || Number.isNaN(_zoomValue)) return;
1621
+
1622
+ if (
1623
+ (rulerEdit !== null && value.startX && value.startY) ||
1624
+ value.lastAction === 'zoom'
1625
+ ) {
1626
+ let _rulerEdit = document.getElementById('ruler_numberInput'),
1627
+ _rect;
1628
+ if (rulerEditID !== null) {
1629
+ _rect = document.getElementById(rulerEditID);
1630
+ }
1631
+ let bbox;
1632
+ if (_rect && _rulerEdit) {
1633
+ bbox = _rect.getBoundingClientRect();
1634
+ // bbox.width = _rect.getBBox().width;
1635
+ // bbox.height = _rect.getBBox().height;
1636
+ _rulerEdit.style.left = `${bbox.left - (150 - bbox.width) / 2}px`;
1637
+ _rulerEdit.style.top = `${bbox.top - (50 - bbox.height) / 2}px`;
1638
+ }
1639
+ }
1640
+
1641
+ if (
1642
+ value.e <= 10 &&
1643
+ value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
1644
+ value.f <= 80 &&
1645
+ value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
1646
+ ) {
1647
+ /*let val = Object.assign({}, value);
1648
+ if (refresh === 2) {
1649
+ val.a += 0.4; val.d += 0.4;
1650
+ val.e -= (val.SVGWidth * val.a - val.SVGWidth * (val.a - 0.4)) / 2;
1651
+ val.f -= (val.SVGHeight * val.d - val.SVGHeight * (val.d - 0.4)) / 2;
1652
+ console.log('----', val)
1653
+ }*/
1654
+ projectActions.updateZoomScale(value.a);
1655
+ return viewer2DActions.updateCameraView(value);
1656
+ }
1657
+ };
1658
+
1659
+ let onChangeTool = tool => {
1660
+ switch (tool) {
1661
+ case TOOL_NONE:
1662
+ projectActions.selectToolEdit();
1663
+ break;
1664
+
1665
+ case TOOL_PAN:
1666
+ viewer2DActions.selectToolPan();
1667
+ break;
1668
+
1669
+ case TOOL_ZOOM_IN:
1670
+ viewer2DActions.selectToolZoomIn();
1671
+ break;
1672
+
1673
+ case TOOL_ZOOM_OUT:
1674
+ viewer2DActions.selectToolZoomOut();
1675
+ break;
1676
+ }
1677
+ };
1678
+
1679
+ let onZoom = value => {
1680
+ // var nextValue = viewer2D.toJS();
1681
+ // nextValue = zoom(nextValue, 0, 0, value.a / nextValue.a)
1682
+ // projectActions.updateZoomScale(nextValue.a);
1683
+ // return viewer2DActions.updateCameraView(nextValue)
1684
+ };
1685
+
1686
+ let { e, f, SVGWidth, SVGHeight } = state.get('viewer2D').toJS();
1687
+
1688
+ let rulerSize = 0; //px
1689
+ let rulerUnitPixelSize = 100;
1690
+ let rulerBgColor = SharedStyle.PRIMARY_COLOR.main;
1691
+ let rulerFnColor = SharedStyle.COLORS.white;
1692
+ let rulerMkColor = SharedStyle.SECONDARY_COLOR.main;
1693
+ let sceneWidth = SVGWidth || state.getIn(['scene', 'width']);
1694
+ let sceneHeight = SVGHeight || state.getIn(['scene', 'height']);
1695
+ let sceneZoom = state.zoom || 1;
1696
+ let rulerXElements = Math.ceil(sceneWidth / rulerUnitPixelSize) + 1;
1697
+ let rulerYElements = Math.ceil(sceneHeight / rulerUnitPixelSize) + 1;
1698
+ return (
1699
+ <div>
1700
+ {rulerEdit}
1701
+ <div
1702
+ style={{
1703
+ margin: 0,
1704
+ padding: 0,
1705
+ display: 'grid',
1706
+ gridRowGap: '0',
1707
+ gridColumnGap: '0',
1708
+ gridTemplateColumns: `${rulerSize}px ${width - rulerSize}px`,
1709
+ gridTemplateRows: `${rulerSize}px ${height - rulerSize}px`,
1710
+ position: 'relative'
1711
+ }}
1712
+ >
1713
+ <div
1714
+ style={{ gridColumn: 1, gridRow: 1, backgroundColor: rulerBgColor }}
1715
+ ></div>
1716
+ <div
1717
+ style={{
1718
+ gridRow: 1,
1719
+ gridColumn: 2,
1720
+ position: 'relative',
1721
+ overflow: 'hidden'
1722
+ }}
1723
+ id="rulerX"
1724
+ >
1725
+ {sceneWidth ? (
1726
+ <RulerX
1727
+ unitPixelSize={rulerUnitPixelSize}
1728
+ zoom={sceneZoom}
1729
+ mouseX={state.mouse.get('x')}
1730
+ width={width - rulerSize}
1731
+ zeroLeftPosition={e || 0}
1732
+ backgroundColor={rulerBgColor}
1733
+ fontColor={rulerFnColor}
1734
+ markerColor={rulerMkColor}
1735
+ positiveUnitsNumber={rulerXElements}
1736
+ negativeUnitsNumber={0}
1737
+ />
1738
+ ) : null}
1739
+ </div>
1740
+ <div
1741
+ style={{
1742
+ gridColumn: 1,
1743
+ gridRow: 2,
1744
+ position: 'relative',
1745
+ overflow: 'hidden'
1746
+ }}
1747
+ id="rulerY"
1748
+ >
1749
+ {sceneHeight ? (
1750
+ <RulerY
1751
+ unitPixelSize={rulerUnitPixelSize}
1752
+ zoom={sceneZoom}
1753
+ mouseY={state.mouse.get('y')}
1754
+ height={height - rulerSize}
1755
+ zeroTopPosition={sceneHeight * sceneZoom + f || 0}
1756
+ backgroundColor={rulerBgColor}
1757
+ fontColor={rulerFnColor}
1758
+ markerColor={rulerMkColor}
1759
+ positiveUnitsNumber={rulerYElements}
1760
+ negativeUnitsNumber={0}
1761
+ />
1762
+ ) : null}
1763
+ </div>
1764
+ <ReactSVGPanZoom
1765
+ style={{ gridColumn: 2, gridRow: 2 }}
1766
+ width={width - rulerSize}
1767
+ height={height - rulerSize}
1768
+ value={viewer2D.isEmpty() ? null : viewer2D.toJS()}
1769
+ onChangeValue={onChangeValue}
1770
+ tool={mode2Tool(mode)}
1771
+ onChangeTool={onChangeTool}
1772
+ detectAutoPan={mode2DetectAutopan(mode)}
1773
+ onMouseDown={onMouseDown}
1774
+ onMouseMove={onMouseMove}
1775
+ onMouseUp={onMouseUp}
1776
+ miniaturePosition="none"
1777
+ toolbarPosition="none"
1778
+ detectPinchGesture={false}
1779
+ disableDoubleClickZoomWithToolAuto={true}
1780
+ ref={Viewer}
1781
+ >
1782
+ <svg width={scene.width} height={scene.height}>
1783
+ <defs>
1784
+ <pattern
1785
+ id="diagonalFill"
1786
+ patternUnits="userSpaceOnUse"
1787
+ width="4"
1788
+ height="4"
1789
+ fill="#FFF"
1790
+ >
1791
+ <rect x="0" y="0" width="4" height="4" fill="#FFF" />
1792
+ <path
1793
+ d="M-1,1 l2,-2 M0,4 l4,-4 M3,5 l2,-2"
1794
+ style={{ stroke: '#8E9BA2', strokeWidth: 1 }}
1795
+ />
1796
+ </pattern>
1797
+ </defs>
1798
+ <g
1799
+ style={Object.assign(mode2Cursor(mode), mode2PointerEvents(mode))}
1800
+ >
1801
+ <State
1802
+ state={state}
1803
+ catalog={catalog}
1804
+ viewer2DActions={viewer2DActions}
1805
+ relatedLines={relatedLines}
1806
+ />
1807
+ </g>
1808
+ </svg>
1809
+ </ReactSVGPanZoom>
1810
+ </div>
1811
+ </div>
1812
+ );
1813
+ }
1814
+
1815
+ Viewer2D.propTypes = {
1816
+ state: PropTypes.object.isRequired,
1817
+ width: PropTypes.number.isRequired,
1818
+ height: PropTypes.number.isRequired
1819
+ };
1820
+
1821
+ Viewer2D.contextTypes = {
1822
+ viewer2DActions: PropTypes.object.isRequired,
1823
+ linesActions: PropTypes.object.isRequired,
1824
+ holesActions: PropTypes.object.isRequired,
1825
+ verticesActions: PropTypes.object.isRequired,
1826
+ itemsActions: PropTypes.object.isRequired,
1827
+ areaActions: PropTypes.object.isRequired,
1828
+ projectActions: PropTypes.object.isRequired,
1829
+ catalog: PropTypes.object.isRequired
1830
+ };