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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","_createForOfIteratorHelper","Array","isArray","_unsupportedIterableToArray","_n","F","s","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_classCallCheck","_defineProperties","key","_createClass","_toPrimitive","_typeof","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","_inherits","_setPrototypeOf","Tooltip","withStyles","ErrorIcon","convert","Map","PropTypes","React","PureComponent","FaPlayCircle","testJsonData","freeze","door_closet","door_exterior","door_interior","door_sliding","door_framed","door_frameless","window_clear","window_cross","window_double_hung","window_vertical","formatNumber","toFixedFloat","FormNumberInput","PlgItem","PS","PanelElementEditor","ConfirmPopup","lShaped","longNarrow","StyledAlert","oRectangle","rectangleData","getInstallationSuffix","getToeKickSKU","isEmpty","isEqualInstallationType","makeSKUForMagento","returnReplaceableDeepSearchType","ADD_APPLIANCES","ADD_CABINETS","ARRAY_3D_MODES","BASE_CABINET_LAYOUTPOS","BG_COLOR_1","DECIMAL_PLACES_2","DEFAULT_FONT_FAMILY","FINISHING_TOUCH","INSTALLATION_SUFFIX_TYPE","INSTALLATION_TYPE_NAME","ITEM_TYPE","KEYBOARD_BUTTON_CODE","MAKE_FLOOR_PLAN","MODE_2D_PAN","MODE_DRAGGING_ITEM_3D","MODE_DRAWING_ITEM_3D","MODE_DRAWING_LINE","MODE_ELEVATION_VIEW","MODE_IDLE","MODE_IDLE_3D","MODE_ROTATING_ITEM_3D","REVIEW_AND_QUOTE","SECONDARY_PURPLE_COLOR","SELECT_DOOR_STYLE","STATUS_NEGATIVE_COLOR","TEXT_COLOR_NEUTRAL_0","TEXT_COLOR_NEUTRAL_1","TEXT_COLOR_NEUTRAL_2","TEXT_COLOR_NEUTRAL_5","TOE_KICK_MOLDING","WARNING_MESSAGE","SharedStyle","GeometryUtils","MoldingUtils","getSignedUrl","isCeilLimitation","isElevationView","SnackBar","ToggleMeasureButton","SetDoorStyleOptionPopup","S","DoorStyleMenu","ReviewForQuote","Pricing","findCatalogElement","buildCurrentCabinetObject","unitData","_name","_unit","ASIDE_STYLE","marginTop","StyledTooltip","tooltip","backgroundColor","color","maxWidth","fontSize","fontFamily","boxShadow","padding","searchInput","width","height","margin","border","hintText","Toolbar","_PureComponent","props","context","_this","layer","layers","get","selectedLayer","elements","lines","holes","items","molding","ceilingHeight","state","scene","ceilHeight","measurementUnit","unit","appliancesData","doorHandle","wallColors","floorStyles","lighting","counterTop","backsplash","furnishing","opened","vData","toData","vDataArray","dData","oData","DoorStyles","dDataArray","currentTexture","doorStyle","undefined","toJS","changeTexture","doorTitle","cabinetTitle","cabinetCollapse","doorCollapse","doorExpand","searchCabinet","searchDoor","floorCollapse","animOpened","closeover","animover","plgItems","plgUrls","activeButton","search","controlButton","topButton","recentStyle","selectAll","cabinetSubCategoryData","cabinetExpand","applianceSubCategoryData","applianceCategoryCollapse","applianceExpand","finishingSubCategoryData","finishingCategoryCollapse","finishingProductCollapse","floorSubCategoryData","floorCategoryCollapse","floorProductCollapse","doorStyleSubCategoryData","doorStyleCategoryCollapse","doorStyleProductCollapse","doorStyleStep","stepSource","doorStyleExpand","reviewCollapse","isMolding","editWidthVisible","isModalVisible","setDoorStylePopupVisible","imageUri","image","croppedImage","isMouseDown","firstMousePoint","x","lastMousePoint","mouse","frame","frames","topLeft","percentToPxHor","percentToPxVert","bottomLeft","topRight","bottomRight","cabinetCategory","data","subCabinetCategory","selectedFinishing","selectedRoomElement","checkedRoomElement","selectedProject","isPopupOpen","resetFilters","toggleFilters","cabinetStyleChanging","cabinetStyle","subCabinetStyle","cabinetColor","install","RTA","viewMoreDoorstyle","searchName","replaceCabinetFlag","chosenReplacedItem","isSnackBarOpen","snackBarMessage","addingJson","helpViewNum","notes","videoUrl","moldingData","onMouseUp_On_New_Save_SQ_DA","onMouseDown","onMouseMove","onKeyDown","onMouseUp","hideModal","setState","editWidth","handleEditWidth","newWidth","layerID","itemID","itemsActions","componentDidMount","document","addEventListener","self","categoryData","success","_data$data","appliances","cabinets","doorStyles","doorColorFamily","cabinet","index","toLowerCase","includes","item","tmp","item1","t2","item2","concat","flatMap","sub","doorCategory","result","path","some","element","type","temp","oStyle","findDefault","brilliantWhiteShaker","find","findFinishing","isSelected","selected","console","log","dStyle","finishing","setInitialDoorStyle","setCounterTop","uri","texture","areaActions","setFloorStyles","componentWillReceiveProps","nextProps","reviewQuotePopupOpened","floorOpened","cabinetOpened","applianceOpened","finishingOpened","doorStyleOpen","propLayer","hashCode","holesActions","endCreatingHole","endCreatingCabinet","projectActions","setIsCabinetDrawing","componentDidUpdate","prevProps","prevState","_this$state$cabinetCo","_this2","allData","map","selectedColorId","id","selectedDoorStyleName","selectedInstallationName","filteredData","matchesSearch","door_style_name","color_family","JSON","stringify","toggleOpen","replacingSupport","getIn","iName","obj","PanelClose","updateplgItems","mode","PanelOpen","Animate","animateObject","animValue","toggleAnimationOpen","planData","window","PanelAnimClose","item3D","sceneGraph","userData","children","animData","animation","PanelAnimOpen","getStyle","rStyle","textureData","unshift","itemIDs","setDoorStyle","setToolbar","applyMaterial","category","metalness","roughness","setBacksplash","setHandleMaterial","setApplianceMaterial","setFinishing","_texture$category","setModelling","setMolding","ELEVATION_VIEW_ACTION_DISABLED","setWallColor","updatePopupOpen","selectToolDrawingItem3D","selectToolDrawingItem","pushLastSelectedCatalogElementToHistory","catalog","getElementsByClassName","style","display","gltfJSON","parse","gltf","el","endsWith","setDoorHandle","setDoorStyleOption","loadProject","_submit","handleConfirmLoad","isProjectEmpty","areas","size","loadProjectFromData","event","preventDefault","cabinetselect","select","unselectAll","linesActions","selectToolDrawingLine","selectToolDrawingHole","collapseAction","expandDoorStyleAction","expandCabinetAction","expandApplianceAction","plgItemAction","url","gltfUrl","purls","pop","replaceSubmodule","urls","getUrl","filterChange","setValue","target","setAnimValue","selectFromRecent","doorId","NAME","onSearch","onUpdate","drawCircle","ctx","radius","beginPath","fillStyle","arc","Math","PI","fill","drawPoly","points","globalAlpha","strokeStyle","moveTo","lineTo","stroke","canvas","intPx","canvasUpdate","_this3","fillRect","drawImage","img","Image","crossOrigin","src","toDataURL","onload","h1","h2","v1","v2","abs","imageBrowserDownload","fileOutputLink","createElement","filename","Date","now","prompt","setAttribute","href","body","appendChild","setTimeout","click","removeChild","zIndex","removeEventListener","makeCroppedImage","croppedCanvas","croppedCtx","getContext","heightAtt","createAttribute","setAttributeNode","widthAtt","setMousePoint","rectCanvas","getBoundingClientRect","positionX","round","clientX","left","positionY","clientY","top","getElementById","textContent","outerHTML","keyCode","ESC","isCabinetDrawing","DELETE","remove","openTab","tabcontent","tablinks","className","replace","render","_this4","_this$state$DoorStyle","_this$state$DoorStyle2","_this$state$DoorStyle3","_this$props","isShowProperty","_this$context","viewer2DActions","viewer3DActions","products","_this$state","panel","dirUrl","tt","userInfo","match","params","update","LengthInput","newLength","updateCeilHeight","updateCeilHeightUnit","update3DCeilHeight","update3DCeilHeightUnit","to","openReplacedItemToolbar","oldItems","newItems","newItemsIds","oldItemIds","replacedItemId","selectItem","wallColor","alterate","topBtnAction","setMode","saveScreenshotToFile","getElementsByTagName","canvas_crop_image","saveSVGScreenshotToFile","_ref","_callee","_maxWidthSVGElement","svgElements","maxWidthSVGElement","images","readBlob","_iterator","_step","response","blob","content","serializer","_t","_t2","_context","baseVal","b","res","reader","FileReader","onloadend","onerror","readAsDataURL","getAttribute","fetch","cache","XMLSerializer","btoa","serializeToString","_x","control","objectProperty","item_warning","values","indexOf","text","onClose","selData","currentObject","_currentObject2","replaceCabinetData","attrPorpSeparatorStyle","position","alignItems","_currentTexture$doorS3","_currentTexture$doorS4","_currentTexture$doorS5","_currentTexture$doorS6","cabinet_category","objSKU","sku_number","skuArray","dcId","tempSKU","door_color_id","sku","isFiller","long_name","toUpperCase","tempWidth","properties","tempDepth","tempHeight","itemHeight","info","sizeinfo","itemWidth","itemDepth","depth","_currentObject","is_euro_cds","_length","euro_width","width_unit","substr","euro_length","length_unit","euro_height","height_unit","doorStyleThumbnail","doorStyleName","installation","thumbnail","doorColor","internalSKU","shouldHideSkuNumber","ItemCustomImageWrapper","ItemCustomImage","onMouseOver","onMouseOut","WarningItem","SubCategoryItemImage","maskImage","marginRight","onClick","ContentObjectWrapper","headerH","SubToolbarWrapper","marginLeft","minWidth","DesignValue","fontWeight","SubCategoryItemWrapper","overflowY","maxHeight","_currentTexture$doorS","_currentTexture$doorS2","cds","cd","SubCategoryItem","selectedItemId","selectedPos","rotation","cursor","paddingLeft","SubCategoryItemLabel","textAlign","tall","ButtonBox","opacity","replaceItem","replaceCabinet","ButtonTitle","justifyContent","duplicateSelected","paddingRight","SelectedBox","objectFit","borderRadius","PropteryValue1","PropteryValue","accessToken","ChildTitle1","onChange","precision","getLinearOfMolding","ChildTitle","description","beforeItem","multiMark","fromCharCode","PanelWrapper","TOOLBAR_COLOR","active","Title","Head","Close","clear","placeholder","gltf_url","focus","MATERIAL_COLORS","red","lineHeight","regexp","RegExp","settingDialog","SettingDialog","TitleBarIconButton","transform","NumberInputWrapper","NumberInputTitle","MeasurementUnitSelect","borderColor","SelectArrow","flexDirection","right","MeasurementUnitOption","outline","isCeiling","evt","CEILING_HEIGHT_NOT_VALID","ToggleWrapper","ToggleLabel","showMeasure","showWallLengthMeasure","settingMode","backgroundImage","changeWallLengthMeasure","icon","showBaseCabinetMeasure","changeBaseCabinetMeasure","showWallCabinetMeasure","changeWallCabinetMeasure","showWindowDoorMeasure","changeWindowDoorMeasure","helpDialog","isHelp","HelpDialog","HCTitle","Support","Video","backgroundSize","VideoText","VideoTitle","VideoTag","VideoButton","HCCard","HCCardTitle","HCLable","HCTag","HCSubTitle","SearchBox","SearchInput","SearchIcon","HCHr","HCCardButton","WebkitMaskImage","WebkitMaskSize","WebkitMaskPosition","HCCollapse","coll","classList","toggle","nextElementSibling","scrollHeight","TitleBarButton","HCSelect","defaultValue","disabled","HCUpload","HCTextArea","maxLength","tabDialog","Tab","TopLine","TabLine","TabLabel","setIsHelp","stopPropagation","ToolLine","setShowProperty","rollback","controlView","onKeyUp","RightButton","undo","RightButtonImage","redo","_currentTexture$doorS7","_currentTexture$doorS8","setSubData","finishingData","roomShapeData","title","roomElementsData","setRoomElement","testData","process","env","MODE","_loop","testJson","testJsonItemWrapper","confirm","project_data","isShowMoldingMenuItem","_currentTexture$doorS9","_currentTexture$doorS0","_this4$state$elements","_this4$state$elements2","toArray","_items$_i2$toJS$doorS","_items$_i","categories","toolbar","SubCategoryTitle","thing","selectToolDrawingHole3D","gap","iconStyle","installationType","getValue","removedFilter","rowGap","alt","marginBottom","background","Button","Fragment","DoorStyleSubToolBarWrapper","DoorstyleCategoryItem","ContentCheckImage","_getInstallationSuffi","_doorStyle$name","_getInstallationSuffi2","installationThumbnail","_this4$props$configDa","cabinetObject","configData","productBlacklist","_currentTexture$doorS1","_currentTexture$doorS10","_currentTexture$doorS11","_currentTexture$doorS12","_currentTexture$doorS13","_currentTexture$doorS14","_currentTexture$doorS15","_currentTexture$doorS16","_currentTexture$doorS17","_currentTexture$doorS18","blMolding","MOLDING","bottom","appliance","isTokenPresent","token","handleSubmitPrompt","handleSubmitForQuote","setDownloadPopupVisible","toolbarData","label","isOpen","message","handleClose","visible","submit","ToolbarWrapper","ToolbarButton","toolBar","cabinetData","moldings","itemCat","it","itemGroups","temp_items","mol","isEnableItemForMolding","itemGroup","_loop2","_idx","isItemSnappedGroup","idx","findIndex","splice","molding_totalLength","itemgroup","allLineRects","buildRectFromLines","getAllLines","_toConsumableArray","MGlines","getLinesOfItem","sortItemsByDistance","_loop3","itemLines","temp_MGLines","line","itemLine","isLinesOverlapped","curItemLine","samePoints","MGLine","mergeOverlappedLines","verticesDistance","count","ceil","tmpMoldingData","toedoorStyles","_item$molding","layoutpos","wUnit","h","hUnit","len","outlinePaths","paths","outlineWidth","svgWidth","outlineHeight","svgHeight","outlinePoints","_iterator2","_step2","_iterator3","subPaths","_step3","subPath","getPoints","err","maxX","minX","maxY","minY","point","isPointInRect","doorIndex","iDS","hasOwnProperty","totalLength","ToolbarButtonImageWrapper","ToolbarButtonImage","ToolbarButtonTitle","handle","setVisible","default","propTypes","object","isRequired","number","allowProjectFileSupport","bool","toolbarButtons","array","contextTypes","translator"],"sources":["../../../../src/components/toolbar/main/index.jsx"],"sourcesContent":["import Tooltip from '@material-ui/core/Tooltip';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport ErrorIcon from '@material-ui/icons/Error';\r\nimport convert from 'convert-units';\r\nimport { Map } from 'immutable';\r\nimport PropTypes from 'prop-types';\r\nimport React, { PureComponent } from 'react';\r\nimport { FaPlayCircle } from 'react-icons/fa';\r\nimport * as testJsonData from '../../../../../../../../../test_projects/*.json';\r\nimport * as door_closet from '../../../../demo/src/catalog/holes/door-closet/planner-element';\r\nimport * as door_exterior from '../../../../demo/src/catalog/holes/door-exterior/planner-element';\r\nimport * as door_interior from '../../../../demo/src/catalog/holes/door-interior/planner-element';\r\nimport * as door_sliding from '../../../../demo/src/catalog/holes/door-sliding/planner-element';\r\nimport * as door_framed from '../../../../demo/src/catalog/holes/doorway-framed/planner-element';\r\nimport * as door_frameless from '../../../../demo/src/catalog/holes/doorway-frameless/planner-element';\r\nimport * as window_clear from '../../../../demo/src/catalog/holes/window-clear/planner-element';\r\nimport * as window_cross from '../../../../demo/src/catalog/holes/window-cross/planner-element';\r\nimport * as window_double_hung from '../../../../demo/src/catalog/holes/window-double-hung/planner-element';\r\nimport * as window_vertical from '../../../../demo/src/catalog/holes/window-vertical/planner-element';\r\nimport { formatNumber, toFixedFloat } from '../../../utils/math';\r\nimport FormNumberInput from '../../style/form-number-input';\r\nimport PlgItem from '../plugin-item.jsx';\r\nimport * as PS from '../popup/styles';\r\nimport PanelElementEditor from './../../sidebar/panel-element-editor/panel-element-editor';\r\nimport ConfirmPopup from './confirm-popup';\r\nimport * as lShaped from './lShaped.json';\r\nimport * as longNarrow from './longNarrow.json';\r\nimport { StyledAlert } from './myComponents';\r\nimport * as oRectangle from './oRectangle.json';\r\nimport * as rectangleData from './rectangle.json';\r\nimport {\r\n getInstallationSuffix,\r\n getToeKickSKU,\r\n isEmpty,\r\n isEqualInstallationType,\r\n makeSKUForMagento,\r\n returnReplaceableDeepSearchType\r\n} from '../../viewer2d/utils';\r\nimport {\r\n ADD_APPLIANCES,\r\n ADD_CABINETS,\r\n ARRAY_3D_MODES,\r\n BASE_CABINET_LAYOUTPOS,\r\n BG_COLOR_1,\r\n DECIMAL_PLACES_2,\r\n DEFAULT_FONT_FAMILY,\r\n FINISHING_TOUCH,\r\n INSTALLATION_SUFFIX_TYPE,\r\n INSTALLATION_TYPE_NAME,\r\n ITEM_TYPE,\r\n KEYBOARD_BUTTON_CODE,\r\n MAKE_FLOOR_PLAN,\r\n MODE_2D_PAN,\r\n MODE_DRAGGING_ITEM_3D,\r\n MODE_DRAWING_ITEM_3D,\r\n MODE_DRAWING_LINE,\r\n MODE_ELEVATION_VIEW,\r\n MODE_IDLE,\r\n MODE_IDLE_3D,\r\n MODE_ROTATING_ITEM_3D,\r\n REVIEW_AND_QUOTE,\r\n SECONDARY_PURPLE_COLOR,\r\n SELECT_DOOR_STYLE,\r\n STATUS_NEGATIVE_COLOR,\r\n TEXT_COLOR_NEUTRAL_0,\r\n TEXT_COLOR_NEUTRAL_1,\r\n TEXT_COLOR_NEUTRAL_2,\r\n TEXT_COLOR_NEUTRAL_5,\r\n TOE_KICK_MOLDING,\r\n WARNING_MESSAGE\r\n} from '../../../constants';\r\nimport * as SharedStyle from '../../../shared-style';\r\nimport { GeometryUtils, MoldingUtils } from '../../../utils/export';\r\nimport {\r\n getSignedUrl,\r\n isCeilLimitation,\r\n isElevationView\r\n} from '../../../utils/helper';\r\nimport SnackBar from '../../atoms/Snackbar/index';\r\nimport ToggleMeasureButton from '../../button/ToggleMeasureButton';\r\nimport SetDoorStyleOptionPopup from '../popup/setDoorStyleOption';\r\nimport * as S from './styles';\r\nimport DoorStyleMenu from '../components/DoorStyleMenu';\r\nimport { ReviewForQuote } from '../../../../src/components/toolbar/components/ReviewForQuote';\r\nimport { Pricing } from '../../../../src/components/toolbar/components/Pricing';\r\nimport { findCatalogElement } from '../../../utils/geometry';\r\nimport { buildCurrentCabinetObject } from '../../../../src/utils/process-black-list';\r\n\r\nlet unitData = [\r\n {\r\n _name: 'inch',\r\n _unit: 'in'\r\n },\r\n {\r\n _name: 'centimeter',\r\n _unit: 'cm'\r\n },\r\n {\r\n _name: 'millimeter',\r\n _unit: 'mm'\r\n },\r\n {\r\n _name: 'meter',\r\n _unit: 'm'\r\n },\r\n {\r\n _name: 'feet',\r\n _unit: 'ft'\r\n }\r\n];\r\n\r\nconst ASIDE_STYLE = {\r\n marginTop: '85px'\r\n};\r\n\r\nconst StyledTooltip = withStyles(() => ({\r\n tooltip: {\r\n backgroundColor: TEXT_COLOR_NEUTRAL_0,\r\n color: BG_COLOR_1,\r\n maxWidth: 180,\r\n fontSize: 9,\r\n fontFamily: DEFAULT_FONT_FAMILY,\r\n boxShadow:\r\n '0px 3px 5px -1px rgba(156, 154, 154, 0.2), 0px 6px 10px 0px rgba(156, 154, 154, 0.39), 0px 1px 18px 0px rgba(156, 154, 154, 0.12)',\r\n padding: '2px 15px'\r\n }\r\n}))(Tooltip);\r\n\r\nconst searchInput = {\r\n width: 'calc( 100% - 2em )',\r\n height: '2em',\r\n marginTop: '15px',\r\n padding: '0 1em',\r\n margin: '0 1em',\r\n border: '1px solid #EEE'\r\n};\r\n\r\nlet hintText = '';\r\n\r\nexport default class Toolbar extends PureComponent {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n let layer = props.layers.get(props.selectedLayer);\r\n let elements = {\r\n lines: layer.lines,\r\n holes: layer.holes,\r\n items: layer.items,\r\n molding: layer.molding\r\n };\r\n let ceilingHeight = props.state.scene.layers.get(\r\n props.selectedLayer\r\n ).ceilHeight;\r\n let measurementUnit = unitData.filter(\r\n unit =>\r\n unit._unit === props.state.scene.layers.get(props.selectedLayer).unit\r\n )[0];\r\n\r\n this.state = {\r\n elements,\r\n appliancesData: [],\r\n doorHandle: [],\r\n wallColors: [],\r\n floorStyles: [],\r\n lighting: [],\r\n counterTop: [],\r\n molding: [],\r\n backsplash: [],\r\n furnishing: [],\r\n opened: false,\r\n vData: [],\r\n toData: [],\r\n vDataArray: [],\r\n dData: [],\r\n oData: [],\r\n DoorStyles: [],\r\n dDataArray: [],\r\n currentTexture:\r\n layer.doorStyle !== null || layer.doorStyle !== undefined\r\n ? layer.doorStyle\r\n : props.state.doorStyle.toJS(),\r\n changeTexture: undefined,\r\n doorTitle: [],\r\n cabinetTitle: [],\r\n cabinetCollapse: true,\r\n doorCollapse: true,\r\n doorExpand: false,\r\n searchCabinet: '',\r\n searchDoor: '',\r\n floorCollapse: true,\r\n animOpened: false,\r\n closeover: false,\r\n animover: false,\r\n plgItems: [],\r\n plgUrls: [],\r\n filter: '',\r\n activeButton: 'Floor Plan',\r\n search: '',\r\n controlButton: '',\r\n topButton: '',\r\n recentStyle: [],\r\n selectAll: false,\r\n cabinetSubCategoryData: [],\r\n cabinetExpand: -1,\r\n applianceSubCategoryData: [],\r\n applianceCategoryCollapse: true,\r\n applianceExpand: -1,\r\n finishingSubCategoryData: [],\r\n finishingCategoryCollapse: true,\r\n finishingProductCollapse: true,\r\n floorSubCategoryData: [],\r\n floorCategoryCollapse: true,\r\n floorProductCollapse: true,\r\n doorStyleSubCategoryData: [],\r\n doorStyleCategoryCollapse: true,\r\n doorStyleProductCollapse: true,\r\n doorStyleStep: 0,\r\n stepSource: [],\r\n doorStyleExpand: -1,\r\n reviewCollapse: true,\r\n isMolding: false,\r\n editWidthVisible: false,\r\n isModalVisible: false,\r\n setDoorStylePopupVisible: false,\r\n imageUri: '',\r\n image: '',\r\n croppedImage: '',\r\n isMouseDown: false,\r\n firstMousePoint: { x: 0, y: 0 },\r\n lastMousePoint: { x: 1000, y: 1000 },\r\n mouse: { p: { x: 0, y: 0 }, frame: 0, frames: 30 },\r\n topLeft: {\r\n x: this.percentToPxHor(17.275),\r\n y: this.percentToPxVert(59.691)\r\n },\r\n bottomLeft: {\r\n x: this.percentToPxHor(17.275),\r\n y: this.percentToPxVert(60.72)\r\n },\r\n topRight: {\r\n x: this.percentToPxHor(71.459),\r\n y: this.percentToPxVert(61.407)\r\n },\r\n bottomRight: {\r\n x: this.percentToPxHor(71.352),\r\n y: this.percentToPxVert(62.436)\r\n },\r\n ceilingHeight: ceilingHeight,\r\n measurementUnit: measurementUnit,\r\n cabinetCategory: { name: '', data: [] },\r\n subCabinetCategory: { name: '', data: [] },\r\n selectedFinishing: '',\r\n selectedRoomElement: '',\r\n checkedRoomElement: {},\r\n selectedProject: '',\r\n isPopupOpen: false,\r\n resetFilters: false,\r\n toggleFilters: false,\r\n cabinetStyleChanging: true,\r\n cabinetStyle: { name: '', data: [] },\r\n subCabinetStyle: { name: '', data: [] },\r\n cabinetColor: {\r\n name: '',\r\n data: []\r\n },\r\n install: INSTALLATION_TYPE_NAME.RTA,\r\n viewMoreDoorstyle: false,\r\n searchName: '',\r\n replaceCabinetFlag: false,\r\n chosenReplacedItem: {},\r\n isSnackBarOpen: false,\r\n snackBarMessage: '',\r\n addingJson: false,\r\n helpViewNum: 1,\r\n notes: '',\r\n videoUrl: '',\r\n moldingData: []\r\n };\r\n this.onMouseUp_On_New_Save_SQ_DA =\r\n this.onMouseUp_On_New_Save_SQ_DA.bind(this);\r\n this.onMouseDown = this.onMouseDown.bind(this);\r\n this.onMouseMove = this.onMouseMove.bind(this);\r\n this.onKeyDown = this.onKeyDown.bind(this);\r\n this.onMouseUp = this.onMouseUp.bind(this);\r\n }\r\n\r\n hideModal() {\r\n this.setState({ isModalVisible: false });\r\n }\r\n editWidth() {\r\n this.setState({ editWidthVisible: true });\r\n }\r\n\r\n handleEditWidth(newWidth, layerID, itemID) {\r\n this.setState({ editWidthVisible: false });\r\n this.context.itemsActions.editWidth(newWidth, layerID, itemID);\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener('keydown', this.onKeyDown, false);\r\n const self = this;\r\n const data = self.props.categoryData;\r\n if (data.success === true) {\r\n const {\r\n appliances,\r\n cabinets,\r\n doorStyles,\r\n doorHandle,\r\n wallColors,\r\n floorStyles,\r\n lighting,\r\n counterTop,\r\n backsplash,\r\n furnishing,\r\n doorColorFamily\r\n } = data.data;\r\n var molding = [];\r\n data.data.cabinets.forEach(cabinet => {\r\n cabinet.items.forEach(index => {\r\n if (index.name.toLowerCase().includes('molding')) {\r\n index.items.forEach(item => {\r\n molding.push(item);\r\n });\r\n }\r\n });\r\n });\r\n let tmp = [];\r\n doorStyles.items.forEach(item => {\r\n let t = [];\r\n item.items.forEach(item1 => {\r\n let t2 = [];\r\n item1.items.forEach(item2 => {\r\n t2.push({ ...item2, install: item.name });\r\n });\r\n t.push({ ...item1, items: [...t2] });\r\n });\r\n tmp.push({ ...item, items: t });\r\n });\r\n self.setState({\r\n appliancesData: appliances,\r\n vData: cabinets,\r\n doorHandle,\r\n wallColors,\r\n floorStyles,\r\n lighting,\r\n counterTop,\r\n backsplash,\r\n furnishing,\r\n toData: cabinets,\r\n molding,\r\n DoorStyles: tmp,\r\n dData: tmp,\r\n stepSource: tmp,\r\n cabinetStyle: {\r\n name: '',\r\n data: tmp[0].items\r\n },\r\n cabinetColor: {\r\n name: '',\r\n data: doorColorFamily\r\n },\r\n subCabinetStyle: {\r\n name: '',\r\n data: tmp.flatMap(item => item.items.flatMap(sub => sub.items))\r\n }\r\n });\r\n\r\n const doorCategory = (result, data, path) => {\r\n if (\r\n data.some(element => {\r\n return element.type === 'door-category';\r\n })\r\n ) {\r\n const temp = data.filter(element => {\r\n return element.type === 'door-category';\r\n });\r\n temp.forEach(t => {\r\n if (t.items !== undefined) {\r\n doorCategory(\r\n result,\r\n t.items,\r\n path != '' ? path + ',' + t.name : t.name\r\n );\r\n }\r\n });\r\n } else {\r\n const temp = data.filter(element => {\r\n return element.type !== 'door-category';\r\n });\r\n temp.forEach(t => {\r\n result.push({\r\n name: t.name,\r\n path: path != '' ? path + ',' + t.name : t.name,\r\n data: t\r\n });\r\n });\r\n }\r\n return result;\r\n };\r\n\r\n let oStyle = doorCategory([], tmp, '');\r\n\r\n if (self.state.currentTexture == null) {\r\n const findDefault = data => {\r\n if (!data || data.length === 0) return undefined;\r\n\r\n const brilliantWhiteShaker = data.find(\r\n item => item.name === 'Brilliant White Shaker'\r\n );\r\n if (brilliantWhiteShaker) {\r\n return {\r\n ...brilliantWhiteShaker\r\n };\r\n }\r\n\r\n var result = undefined;\r\n\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].type === 'door-category') {\r\n result = findDefault(data[i].items);\r\n if (result !== undefined) {\r\n break;\r\n }\r\n } else if (data[i].type === 'door') {\r\n if (data[i].install) {\r\n return data[i];\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n const findFinishing = data => {\r\n let isSelected = false;\r\n let temp = {\r\n counterTop: [],\r\n floorStyles: []\r\n };\r\n if (data.counterTop) {\r\n data.counterTop.forEach(element => {\r\n if (element.selected) isSelected = true;\r\n });\r\n if (!isSelected) data.counterTop[0].selected = true;\r\n temp.counterTop = data.counterTop;\r\n } else {\r\n console.log('There are no counterTops.');\r\n }\r\n isSelected = false;\r\n if (data.floorStyles) {\r\n data.floorStyles.forEach(element => {\r\n if (element.selected) isSelected = true;\r\n });\r\n if (!isSelected) data.floorStyles[0].selected = true;\r\n temp.floorStyles = data.floorStyles;\r\n } else {\r\n console.log('There are no floorStyles.');\r\n }\r\n temp = {\r\n counterTop: temp.counterTop.filter(e => {\r\n return e.selected == true;\r\n }),\r\n floorStyles: temp.floorStyles.filter(e => {\r\n return e.selected == true;\r\n })\r\n };\r\n return temp;\r\n };\r\n\r\n let dStyle = findDefault(tmp);\r\n let finishing = findFinishing({ counterTop, floorStyles });\r\n // let oStyle = doorCategory([], tmp, '');\r\n self.context.itemsActions.setInitialDoorStyle(dStyle, oStyle);\r\n self.context.itemsActions.setCounterTop({\r\n uri: finishing.counterTop[0].texture\r\n });\r\n self.context.areaActions.setFloorStyles({\r\n uri: finishing.floorStyles[0].texture\r\n });\r\n if (dStyle !== undefined) {\r\n self.setState({ currentTexture: dStyle, oData: oStyle });\r\n } else {\r\n self.setState({\r\n currentTexture: tmp[0].items[0].items[0],\r\n oData: oStyle\r\n });\r\n }\r\n } else {\r\n self.context.itemsActions.setInitialDoorStyle(\r\n self.state.currentTexture,\r\n oStyle\r\n );\r\n }\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n let layer = nextProps.layers.get(nextProps.selectedLayer);\r\n this.setState({\r\n measurementUnit: unitData.filter(unit => unit._unit === layer.unit)[0],\r\n ceilingHeight: layer.ceilHeight\r\n });\r\n let tmp = [];\r\n this.props.categoryData.data.doorStyles.items.forEach(item => {\r\n let t = [];\r\n item.items.forEach(item1 => {\r\n let t2 = [];\r\n item1.items.forEach(item2 => {\r\n t2.push({ ...item2, install: item.name });\r\n });\r\n t.push({ ...item1, items: [...t2] });\r\n });\r\n tmp.push({ ...item, items: t });\r\n });\r\n if (\r\n layer.doorStyle !== null &&\r\n layer.doorStyle !== undefined &&\r\n this.state.currentTexture !== undefined\r\n ) {\r\n this.setState({ currentTexture: layer.doorStyle });\r\n } else if (layer.doorStyle === null || layer.doorStyle === undefined) {\r\n this.setState({\r\n currentTexture:\r\n this.props.state.doorStyle === null ||\r\n this.props.state.doorStyle === undefined\r\n ? tmp\r\n .filter(\r\n item =>\r\n item.items.filter(item1 => item1.items.length !== 0)\r\n .length !== 0\r\n )[0]\r\n .items.filter(item => item.items.length !== 0)[0].items[0]\r\n : this.props.state.doorStyle.toJS()\r\n });\r\n }\r\n\r\n let activeButton = '';\r\n if (nextProps.reviewQuotePopupOpened) {\r\n activeButton = REVIEW_AND_QUOTE;\r\n } else if (nextProps.floorOpened) {\r\n activeButton = MAKE_FLOOR_PLAN;\r\n } else if (nextProps.cabinetOpened) {\r\n activeButton = ADD_CABINETS;\r\n } else if (nextProps.applianceOpened) {\r\n activeButton = ADD_APPLIANCES;\r\n } else if (nextProps.finishingOpened) {\r\n activeButton = FINISHING_TOUCH;\r\n } else if (nextProps.doorStyleOpen) {\r\n activeButton = SELECT_DOOR_STYLE;\r\n }\r\n this.setState({ activeButton });\r\n\r\n let propLayer = this.props.layers.get(this.props.selectedLayer);\r\n\r\n if (this.props.layers.hashCode() === nextProps.layers.hashCode()) return;\r\n\r\n let elements = {\r\n lines: layer.lines,\r\n holes: layer.holes,\r\n items: layer.items,\r\n molding: layer.molding\r\n };\r\n\r\n this.setState({\r\n elements\r\n });\r\n\r\n if (nextProps.state.get('isOpen') === true) {\r\n this.context.holesActions.endCreatingHole();\r\n this.context.itemsActions.endCreatingCabinet();\r\n this.context.projectActions.setIsCabinetDrawing(false);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const allData = this.state.DoorStyles.flatMap(item =>\r\n item.items.flatMap(item1 =>\r\n item1.items.map(item2 => ({\r\n ...item2,\r\n install: item.name\r\n }))\r\n )\r\n );\r\n\r\n const selectedColorId =\r\n this.state.cabinetColor.data.find(\r\n color => color.name === this.state.cabinetColor.name\r\n )?.id || '';\r\n const selectedDoorStyleName = this.state.subCabinetStyle.name;\r\n const selectedInstallationName = this.state.cabinetStyle.name;\r\n\r\n const filteredData =\r\n !this.state.subCabinetStyle.name &&\r\n !this.state.cabinetStyle.name &&\r\n !this.state.cabinetColor.name &&\r\n !this.state.searchName\r\n ? allData\r\n : allData.filter(item => {\r\n const matchesSearch =\r\n item.name\r\n .toLowerCase()\r\n .search(this.state.searchName.toLowerCase()) !== -1;\r\n\r\n return (\r\n (!selectedDoorStyleName ||\r\n item.door_style_name === selectedDoorStyleName) &&\r\n (!this.state.cabinetStyle.name ||\r\n item.install === selectedInstallationName) &&\r\n (!this.state.cabinetColor.name ||\r\n item.color_family === `,${selectedColorId},`) &&\r\n matchesSearch\r\n );\r\n });\r\n\r\n // Only update state if filteredData actually changed\r\n if (\r\n JSON.stringify(filteredData) !==\r\n JSON.stringify(this.state.subCabinetStyle.data)\r\n ) {\r\n this.setState({\r\n subCabinetStyle: {\r\n ...this.state.subCabinetStyle,\r\n data: filteredData\r\n }\r\n });\r\n }\r\n\r\n if (this.state.resetFilters) {\r\n this.setState({\r\n cabinetStyle: { ...this.state.cabinetStyle, name: '' },\r\n subCabinetStyle: { ...this.state.subCabinetStyle, name: '' },\r\n cabinetColor: { ...this.state.cabinetColor, name: '' },\r\n searchName: '',\r\n resetFilters: false\r\n });\r\n }\r\n\r\n // sessionStorage.setItem('usedObjects', JSON.stringify(usedObjects));\r\n }\r\n\r\n toggleOpen() {\r\n let { replacingSupport } = this.props.state;\r\n let layerID = replacingSupport.getIn(['layerID']);\r\n let itemID = replacingSupport.getIn(['itemID']);\r\n let iName = null;\r\n if (layerID !== undefined) {\r\n let obj = this.props.state.scene.getIn([\r\n 'layers',\r\n layerID,\r\n 'items',\r\n itemID\r\n ]);\r\n if (obj === undefined) {\r\n this.PanelClose();\r\n return;\r\n }\r\n iName = obj.name;\r\n this.setState({ plgUrls: [iName] });\r\n this.updateplgItems([iName]);\r\n if (ARRAY_3D_MODES.includes(this.props.state.mode) && !this.state.opened)\r\n this.PanelOpen();\r\n else this.PanelClose();\r\n } else {\r\n this.PanelClose();\r\n }\r\n }\r\n\r\n Animate() {\r\n this.context.itemsActions.animateObject(this.state.animValue);\r\n }\r\n\r\n toggleAnimationOpen() {\r\n let { replacingSupport } = this.props.state;\r\n let layerID = replacingSupport.getIn(['layerID']);\r\n let itemID = replacingSupport.getIn(['itemID']);\r\n let planData = window.planData;\r\n let iName = null;\r\n if (layerID !== undefined) {\r\n let obj = this.props.state.scene.getIn([\r\n 'layers',\r\n layerID,\r\n 'items',\r\n itemID\r\n ]);\r\n if (obj === undefined) {\r\n this.PanelAnimClose();\r\n return;\r\n }\r\n iName = obj.name;\r\n let item3D = planData.sceneGraph.layers[layerID].items[itemID];\r\n let userData = item3D.children[0].userData;\r\n this.setState({ animData: userData.animation, animValue: 0 });\r\n this.setState({ plgUrls: [iName] });\r\n this.updateplgItems([iName]);\r\n if (\r\n ARRAY_3D_MODES.includes(this.props.state.mode) &&\r\n !this.state.animOpened\r\n )\r\n this.PanelAnimOpen();\r\n else this.PanelAnimClose();\r\n } else {\r\n this.PanelAnimClose();\r\n }\r\n }\r\n\r\n PanelOpen() {\r\n this.setState({ opened: true, animOpened: false });\r\n }\r\n\r\n PanelClose() {\r\n this.setState({ opened: false, closeover: false });\r\n }\r\n\r\n PanelAnimOpen() {\r\n this.setState({ animOpened: true, opened: false });\r\n }\r\n\r\n PanelAnimClose() {\r\n this.setState({ animOpened: false, closeover: false });\r\n }\r\n\r\n getStyle(texture) {\r\n texture = { ...texture };\r\n let doorTitle = this.state.doorTitle;\r\n let recentStyle = this.state.recentStyle;\r\n let rStyle = { doorTitle: doorTitle, textureData: texture };\r\n if (recentStyle.length == 2) {\r\n recentStyle[1] = recentStyle[0];\r\n recentStyle[0] = rStyle;\r\n } else {\r\n recentStyle.unshift(rStyle);\r\n }\r\n this.setState({ recentStyle: recentStyle });\r\n this.setState({\r\n currentTexture: texture,\r\n doorStyleStep: 0,\r\n doorStyleExpand: -1,\r\n doorStyleSubCategoryData: [],\r\n stepSource: this.state.DoorStyles,\r\n doorTitle: [],\r\n changeTexture: texture\r\n });\r\n\r\n let { scene } = this.props.state;\r\n let layerID = scene.get('selectedLayer');\r\n let itemIDs = scene.layers.getIn([layerID, 'selected', 'items']).toJS();\r\n if (itemIDs.length > 0) {\r\n this.setState({ setDoorStylePopupVisible: true });\r\n } else {\r\n this.context.itemsActions.setDoorStyle(texture, doorTitle, true);\r\n }\r\n\r\n this.props.setToolbar('');\r\n }\r\n\r\n applyMaterial(category, metalness, roughness) {\r\n if (category === 'floor_style')\r\n this.context.areaActions.setFloorStyles({ metalness, roughness });\r\n else if (category === 'backsplash')\r\n this.context.itemsActions.setBacksplash({ metalness, roughness });\r\n else if (category === 'counter_top')\r\n this.context.itemsActions.setCounterTop({ metalness, roughness });\r\n else if (category === 'handle')\r\n this.context.itemsActions.setHandleMaterial({ metalness, roughness });\r\n else if (category === 'appliance')\r\n this.context.itemsActions.setApplianceMaterial({ metalness, roughness });\r\n }\r\n\r\n setFinishing(texture) {\r\n if (texture.category === 'modelling') {\r\n this.context.itemsActions.setModelling(texture.name);\r\n } else if (texture?.category?.toLowerCase()?.includes('molding')) {\r\n this.context.itemsActions.setMolding(texture, true);\r\n } else if (texture.category === 'wall_color') {\r\n // it doesn't have to do this action in elevation mode\r\n if (isElevationView(this.props.state.mode)) {\r\n this.setState({\r\n snackBarMessage: WARNING_MESSAGE.ELEVATION_VIEW_ACTION_DISABLED,\r\n isSnackBarOpen: true\r\n });\r\n } else this.context.itemsActions.setWallColor(texture.color);\r\n } else if (texture.category === 'counter_top') {\r\n this.context.itemsActions.setCounterTop({ uri: texture.texture });\r\n } else if (texture.category === 'floor_style') {\r\n // it doesn't have to do this action in elevation mode\r\n if (isElevationView(this.props.state.mode)) {\r\n this.setState({\r\n snackBarMessage: WARNING_MESSAGE.ELEVATION_VIEW_ACTION_DISABLED,\r\n isSnackBarOpen: true\r\n });\r\n } else this.context.areaActions.setFloorStyles({ uri: texture.texture });\r\n } else if (texture.category === 'backsplash') {\r\n // it doesn't have to do this action in elevation mode\r\n if (isElevationView(this.props.state.mode)) {\r\n this.setState({\r\n snackBarMessage: WARNING_MESSAGE.ELEVATION_VIEW_ACTION_DISABLED,\r\n isSnackBarOpen: true\r\n });\r\n } else this.context.itemsActions.setBacksplash({ uri: texture.texture });\r\n } else if (\r\n texture.category === 'lighting' ||\r\n texture.category === 'furnishing'\r\n ) {\r\n this.context.itemsActions.updatePopupOpen(2);\r\n if (\r\n texture.category === 'lighting' &&\r\n [\r\n MODE_IDLE_3D,\r\n MODE_DRAWING_ITEM_3D,\r\n MODE_DRAGGING_ITEM_3D,\r\n MODE_ROTATING_ITEM_3D\r\n ].includes(this.props.state.mode)\r\n )\r\n // props.itemsActions.selectToolDrawingItem(dataSource[i].name);\r\n this.context.itemsActions.selectToolDrawingItem3D(texture.name);\r\n else {\r\n [\r\n MODE_IDLE_3D,\r\n MODE_DRAWING_ITEM_3D,\r\n MODE_DRAGGING_ITEM_3D,\r\n MODE_ROTATING_ITEM_3D\r\n ].includes(this.props.state.mode)\r\n ? this.context.itemsActions.selectToolDrawingItem3D(texture.name)\r\n : this.context.itemsActions.selectToolDrawingItem(texture.name);\r\n }\r\n this.context.projectActions.pushLastSelectedCatalogElementToHistory(\r\n this.props.catalog.elements[texture.name]\r\n );\r\n if (document.getElementsByClassName('popup-content').length > 0)\r\n document.getElementsByClassName('popup-content')[0].style.display =\r\n 'none';\r\n this.context.projectActions.setIsCabinetDrawing(true);\r\n } else {\r\n const gltfJSON = JSON.parse(texture.gltf);\r\n if (gltfJSON.gltf.some(el => el.endsWith('gltf'))) {\r\n this.context.itemsActions.setDoorHandle(\r\n gltfJSON.gltf.find(el => el.endsWith('gltf'))\r\n );\r\n if (document.getElementsByClassName('popup-content').length > 0)\r\n document.getElementsByClassName('popup-content')[0].style.display =\r\n 'none';\r\n } else {\r\n this.setState({\r\n snackBarMessage: 'Invalid Door Handle!!!',\r\n isSnackBarOpen: true\r\n });\r\n console.log('There are no gltf file in ' + texture.name + 'handle!');\r\n }\r\n }\r\n this.props.setToolbar('');\r\n }\r\n\r\n setDoorStyleOption(value) {\r\n this.setState({ setDoorStylePopupVisible: false });\r\n this.context.itemsActions.setDoorStyle(\r\n this.state.changeTexture,\r\n this.state.doorTitle,\r\n value\r\n );\r\n }\r\n\r\n loadProject(data) {\r\n this.context.projectActions.loadProject(\r\n data || this.state.selectedProject,\r\n this.props.categoryData\r\n );\r\n }\r\n\r\n _submit() {\r\n this.loadProject();\r\n this.handleConfirmLoad();\r\n }\r\n\r\n isProjectEmpty(scene) {\r\n let { layers, selectedLayer } = scene;\r\n let layer = layers.get(selectedLayer);\r\n return (\r\n layer.areas.size +\r\n layer.lines.size +\r\n layer.holes.size +\r\n layer.items.size ===\r\n 0\r\n );\r\n }\r\n\r\n loadProjectFromData(item, event) {\r\n event.preventDefault();\r\n\r\n if (this.isProjectEmpty(this.props.state.scene)) {\r\n this.loadProject(item.data, this.props.categoryData);\r\n } else {\r\n this.setState({ selectedProject: item.data, isPopupOpen: true });\r\n }\r\n this.props.setToolbar('');\r\n }\r\n\r\n handleConfirmLoad() {\r\n this.setState({ isPopupOpen: false });\r\n this.props.setToolbar('');\r\n }\r\n\r\n cabinetselect(name) {\r\n this.select(this.props.catalog.elements[name]);\r\n }\r\n\r\n select(element) {\r\n this.context.projectActions.unselectAll();\r\n switch (element.prototype) {\r\n case 'lines':\r\n this.context.linesActions.selectToolDrawingLine(element.name);\r\n break;\r\n case 'items':\r\n ARRAY_3D_MODES.includes(this.props.state.mode)\r\n ? this.context.itemsActions.selectToolDrawingItem3D(element.name)\r\n : this.context.itemsActions.selectToolDrawingItem(element.name);\r\n break;\r\n case 'holes':\r\n this.context.holesActions.selectToolDrawingHole(element.name);\r\n break;\r\n }\r\n this.context.projectActions.pushLastSelectedCatalogElementToHistory(\r\n element\r\n );\r\n this.context.projectActions.setIsCabinetDrawing(true);\r\n }\r\n\r\n collapseAction(i) {\r\n if (i == 0) {\r\n if (this.state.cabinetCollapse == false)\r\n this.setState({ cabinetCollapse: true, doorCollapse: true });\r\n else this.setState({ cabinetCollapse: false, doorCollapse: true });\r\n }\r\n if (i == 1) {\r\n if (this.state.doorCollapse == false)\r\n this.setState({ cabinetCollapse: true, doorCollapse: true });\r\n else this.setState({ cabinetCollapse: true, doorCollapse: false });\r\n }\r\n if (i == 2) this.setState({ floorCollapse: !this.state.floorCollapse });\r\n if (i == 3) this.setState({ doorExpand: !this.state.doorExpand });\r\n if (i == 4) {\r\n }\r\n }\r\n\r\n expandDoorStyleAction() {\r\n this.setState({ doorStyleExpand: (this.state.doorStyleExpand + 1) % 2 });\r\n }\r\n\r\n expandCabinetAction() {\r\n this.setState({ cabinetExpand: (this.state.cabinetExpand + 1) % 2 });\r\n }\r\n\r\n expandApplianceAction() {\r\n this.setState({ applianceExpand: (this.state.applianceExpand + 1) % 2 });\r\n }\r\n\r\n plgItemAction(url, name, gltfUrl, self) {\r\n let purls = this.state.plgUrls;\r\n if (url == 'dir') {\r\n purls.push(name);\r\n }\r\n if (url == 'before') purls.pop();\r\n if (url != 'dir' && url != 'before') {\r\n this.context.itemsActions.replaceSubmodule(gltfUrl);\r\n }\r\n this.updateplgItems(this.state.plgUrls);\r\n }\r\n\r\n updateplgItems(urls) {\r\n let getUrl = '';\r\n for (let i = 0; i < urls.length; i++) {\r\n getUrl += '/';\r\n getUrl += urls[i];\r\n }\r\n }\r\n\r\n filterChange(self) {\r\n let setValue = self.target.value;\r\n this.setState({ filter: setValue });\r\n }\r\n\r\n setAnimValue(event) {\r\n let value = event.target.value;\r\n this.setState({ animValue: value });\r\n }\r\n\r\n selectFromRecent(i) {\r\n let doorTitle = this.state.recentStyle[i].doorTitle;\r\n doorTitle.pop();\r\n let textureData = this.state.recentStyle[i].textureData;\r\n this.context.itemsActions.setDoorStyle(textureData, doorTitle);\r\n this.setState({\r\n cabinetStyle: 0,\r\n currentTexture: textureData,\r\n dData: this.state.DoorStyles,\r\n doorTitle: [],\r\n dDataArray: []\r\n });\r\n }\r\n\r\n selected(doorId) {\r\n let texture = this.state.currentTexture;\r\n if (texture)\r\n return texture.id === doorId &&\r\n getInstallationSuffix(INSTALLATION_SUFFIX_TYPE.NAME, texture) ===\r\n this.state.install\r\n ? 1\r\n : 0;\r\n else return 0;\r\n }\r\n\r\n onSearch(e, i) {\r\n if (i == 0) this.setState({ searchCabinet: e.target.value });\r\n else this.setState({ searchDoor: e.target.value });\r\n }\r\n\r\n onUpdate(e) {\r\n this.setState({ search: e.target.value });\r\n }\r\n\r\n drawCircle(ctx, p, color, radius) {\r\n if (typeof radius == 'undefined') radius = 2;\r\n if (typeof color == 'undefined') color = 'red';\r\n ctx.beginPath();\r\n ctx.fillStyle = color;\r\n ctx.arc(p.x, p.y, radius, 0, 2 * Math.PI);\r\n ctx.fill();\r\n }\r\n\r\n drawPoly(ctx, points, color) {\r\n ctx.globalAlpha = 1;\r\n ctx.strokeStyle = color ? color : 'red';\r\n ctx.beginPath();\r\n var p = points[points.length - 1];\r\n ctx.moveTo(p.x, p.y);\r\n for (var i = 0; i < points.length; i++) {\r\n var p = points[i];\r\n ctx.lineTo(p.x, p.y);\r\n }\r\n ctx.stroke();\r\n }\r\n\r\n percentToPxHor(canvas, intPx) {\r\n return (intPx * canvas.width) / 100;\r\n }\r\n\r\n percentToPxVert(canvas, intPx) {\r\n return (intPx * canvas.height) / 100;\r\n }\r\n\r\n canvasUpdate(ctx, canvas) {\r\n if (ctx === undefined || this.state.image === '') return;\r\n // clear canvas\r\n ctx.fillStyle = 'white';\r\n ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n ctx.globalAlpha = 0.3;\r\n ctx.drawImage(this.state.image, 0, 0, canvas.width, canvas.height);\r\n if (this.state.isMouseDown) {\r\n ctx.globalAlpha = 1;\r\n ctx.drawImage(\r\n this.state.image,\r\n this.state.firstMousePoint.x,\r\n this.state.firstMousePoint.y,\r\n this.state.mouse.p.x - this.state.firstMousePoint.x,\r\n this.state.mouse.p.y - this.state.firstMousePoint.y,\r\n this.state.firstMousePoint.x,\r\n this.state.firstMousePoint.y,\r\n this.state.mouse.p.x - this.state.firstMousePoint.x,\r\n this.state.mouse.p.y - this.state.firstMousePoint.y\r\n );\r\n\r\n let img = new Image();\r\n img.crossOrigin = 'anonymous';\r\n img.src = canvas.toDataURL();\r\n\r\n img.onload = () => {\r\n this.setState({ croppedImage: img });\r\n };\r\n }\r\n\r\n // draw points and connect\r\n this.drawCircle(ctx, this.state.topLeft, 'blue');\r\n this.drawCircle(ctx, this.state.bottomLeft, 'green');\r\n this.drawCircle(ctx, this.state.topRight, 'red');\r\n this.drawCircle(ctx, this.state.bottomRight, 'orange');\r\n this.drawPoly(ctx, [\r\n this.state.topLeft,\r\n this.state.bottomLeft,\r\n this.state.bottomRight,\r\n this.state.topRight\r\n ]);\r\n\r\n // draw mouse circle\r\n // this.drawCircle(ctx, this.state.mouse.p, 'rgba(255,200,0,.75)', 10);\r\n\r\n // draw mouse lines\r\n let h1 = { x: 0, y: this.state.mouse.p.y };\r\n let h2 = { x: canvas.width, y: this.state.mouse.p.y };\r\n let v1 = { x: this.state.mouse.p.x, y: 0 };\r\n let v2 = { x: this.state.mouse.p.x, y: canvas.height };\r\n if (\r\n Math.abs(this.state.mouse.p.x - this.state.firstMousePoint.x) < 60 &&\r\n this.state.isMouseDown\r\n ) {\r\n this.drawPoly(ctx, [v1, v2]);\r\n } else {\r\n this.drawPoly(ctx, [v1, v2], 'rgba(64, 155, 197, 1)');\r\n }\r\n if (\r\n Math.abs(this.state.mouse.p.y - this.state.firstMousePoint.y) < 60 &&\r\n this.state.isMouseDown\r\n ) {\r\n this.drawPoly(ctx, [h1, h2]);\r\n } else {\r\n this.drawPoly(ctx, [h1, h2], 'rgba(64, 155, 197, 1)');\r\n }\r\n }\r\n\r\n imageBrowserDownload(canvas, imageUri) {\r\n let fileOutputLink = document.createElement('a');\r\n\r\n let filename = 'output' + Date.now() + '.png';\r\n filename = window.prompt('Insert output filename', filename);\r\n if (!filename) return;\r\n\r\n fileOutputLink.setAttribute('download', filename);\r\n fileOutputLink.href = imageUri;\r\n fileOutputLink.style.display = 'none';\r\n document.body.appendChild(fileOutputLink);\r\n setTimeout(() => {\r\n fileOutputLink.click();\r\n }, 100);\r\n document.body.removeChild(fileOutputLink);\r\n this.setState({\r\n isModalVisible: false,\r\n imageUri: '',\r\n image: ''\r\n });\r\n canvas.style.zIndex = -1;\r\n document.removeEventListener('keydown', this.onKeyDown, false);\r\n document.removeEventListener(\r\n 'mouseup',\r\n this.onMouseUp_On_New_Save_SQ_DA,\r\n false\r\n );\r\n canvas.style.display = 'none';\r\n }\r\n\r\n makeCroppedImage(ctx, canvas) {\r\n // clear canvas\r\n ctx.fillStyle = 'white';\r\n ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n ctx.drawImage(this.state.croppedImage, 0, 0, canvas.width, canvas.height);\r\n\r\n let croppedCanvas = document.createElement('canvas');\r\n let croppedCtx = croppedCanvas.getContext('2d');\r\n\r\n // Set width and height for the new croppedCanvas\r\n let heightAtt = document.createAttribute('height');\r\n heightAtt.value = Math.abs(\r\n this.state.mouse.p.y - this.state.firstMousePoint.y\r\n );\r\n croppedCanvas.setAttributeNode(heightAtt);\r\n\r\n let widthAtt = document.createAttribute('width');\r\n widthAtt.value = Math.abs(\r\n this.state.mouse.p.x - this.state.firstMousePoint.x\r\n );\r\n croppedCanvas.setAttributeNode(widthAtt);\r\n\r\n croppedCtx.fillStyle = 'white';\r\n croppedCtx.fillRect(0, 0, croppedCanvas.width, croppedCanvas.height);\r\n\r\n croppedCtx.drawImage(\r\n this.state.image,\r\n this.state.mouse.p.x - this.state.firstMousePoint.x < 0\r\n ? this.state.mouse.p.x\r\n : this.state.firstMousePoint.x,\r\n this.state.mouse.p.y - this.state.firstMousePoint.y < 0\r\n ? this.state.mouse.p.y\r\n : this.state.firstMousePoint.y,\r\n croppedCanvas.width,\r\n croppedCanvas.height,\r\n 0,\r\n 0,\r\n croppedCanvas.width,\r\n croppedCanvas.height\r\n );\r\n this.imageBrowserDownload(canvas, croppedCanvas.toDataURL());\r\n }\r\n\r\n setMousePoint(e, canvas, type) {\r\n let ctx = canvas.getContext('2d');\r\n let rectCanvas = canvas.getBoundingClientRect();\r\n let positionX =\r\n Math.round(((e.clientX - rectCanvas.left) / canvas.width) * 100 * 1000) /\r\n 1000;\r\n let positionY =\r\n Math.round(((e.clientY - rectCanvas.top) / canvas.height) * 100 * 1000) /\r\n 1000;\r\n switch (type) {\r\n case 'down':\r\n this.setState({\r\n firstMousePoint: {\r\n x: this.percentToPxHor(canvas, positionX),\r\n y: this.percentToPxVert(canvas, positionY)\r\n }\r\n });\r\n break;\r\n case 'move':\r\n this.setState({\r\n mouse: {\r\n p: {\r\n x: this.percentToPxHor(canvas, positionX),\r\n y: this.percentToPxVert(canvas, positionY)\r\n }\r\n }\r\n });\r\n break;\r\n case 'up':\r\n this.setState({\r\n lastMousePoint: {\r\n x: this.percentToPxHor(canvas, positionX),\r\n y: this.percentToPxVert(canvas, positionY)\r\n }\r\n });\r\n if (\r\n !(\r\n Math.abs(this.state.mouse.p.x - this.state.firstMousePoint.x) <\r\n 60 ||\r\n Math.abs(this.state.mouse.p.y - this.state.firstMousePoint.y) < 60\r\n ) &&\r\n ctx !== undefined\r\n ) {\r\n this.makeCroppedImage(ctx, canvas);\r\n } else {\r\n this.setState({\r\n isModalVisible: false,\r\n imageUri: '',\r\n image: ''\r\n });\r\n canvas.style.zIndex = -1;\r\n document.removeEventListener('keydown', this.onKeyDown, false);\r\n document.removeEventListener(\r\n 'mouseup',\r\n this.onMouseUp_On_New_Save_SQ_DA,\r\n false\r\n );\r\n canvas.style.display = 'none';\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n onMouseUp_On_New_Save_SQ_DA(e) {\r\n let canvas = document.getElementById('canvas_crop_image');\r\n switch (e.target.textContent) {\r\n case 'New':\r\n case 'Save':\r\n case 'Submit for Quote':\r\n case 'Designer Assistance':\r\n canvas.style.zIndex = -1;\r\n document.removeEventListener('keydown', this.onKeyDown, false);\r\n document.removeEventListener(\r\n 'mouseup',\r\n this.onMouseUp_On_New_Save_SQ_DA,\r\n false\r\n );\r\n canvas.style.display = 'none';\r\n this.setState({\r\n isModalVisible: false,\r\n isMouseDown: false,\r\n imageUri: '',\r\n image: ''\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n if (\r\n e.target.outerHTML.includes('review_quote.svg') ||\r\n e.target.outerHTML.includes('consult_designer.svg')\r\n ) {\r\n canvas.style.zIndex = -1;\r\n document.removeEventListener('keydown', this.onKeyDown, false);\r\n document.removeEventListener(\r\n 'mouseup',\r\n this.onMouseUp_On_New_Save_SQ_DA,\r\n false\r\n );\r\n canvas.style.display = 'none';\r\n this.setState({\r\n isModalVisible: false,\r\n isMouseDown: false,\r\n imageUri: '',\r\n image: ''\r\n });\r\n }\r\n }\r\n\r\n onKeyDown(e) {\r\n if (e.keyCode === KEYBOARD_BUTTON_CODE.ESC) {\r\n // Escape\r\n let canvas = document.getElementById('canvas_crop_image');\r\n document.removeEventListener(\r\n 'mouseup',\r\n this.onMouseUp_On_New_Save_SQ_DA,\r\n false\r\n );\r\n canvas.style.display = 'none';\r\n if (this.props.state.isCabinetDrawing) {\r\n this.context.projectActions.setIsCabinetDrawing(false);\r\n } else {\r\n this.props.setToolbar('');\r\n }\r\n this.setState({\r\n isModalVisible: false,\r\n isMouseDown: false,\r\n imageUri: '',\r\n image: ''\r\n });\r\n }\r\n if (e.keyCode == KEYBOARD_BUTTON_CODE.DELETE) {\r\n this.context.projectActions.remove();\r\n }\r\n }\r\n\r\n onMouseDown(e) {\r\n let canvas = document.getElementById('canvas_crop_image');\r\n this.setMousePoint(e, canvas, 'down');\r\n this.setState({ isMouseDown: true });\r\n }\r\n\r\n onMouseMove(e) {\r\n let canvas = document.getElementById('canvas_crop_image');\r\n let ctx = canvas.getContext('2d');\r\n this.setMousePoint(e, canvas, 'move');\r\n this.canvasUpdate(ctx, canvas);\r\n }\r\n\r\n onMouseUp(e) {\r\n let canvas = document.getElementById('canvas_crop_image');\r\n this.setMousePoint(e, canvas, 'up');\r\n this.setState({ isMouseDown: false });\r\n }\r\n\r\n openTab(name) {\r\n var i, tabcontent, tablinks;\r\n\r\n tabcontent = document.getElementsByClassName('tabcontent');\r\n for (i = 0; i < tabcontent.length; i++) {\r\n tabcontent[i].style.display = 'none';\r\n }\r\n\r\n tablinks = document.getElementsByClassName('tablinks');\r\n for (i = 0; i < tablinks.length; i++) {\r\n tablinks[i].className = tablinks[i].className.replace(' selected', '');\r\n }\r\n\r\n document.getElementById(name).style.display = 'flex';\r\n document.getElementById(name + '_link').className += ' selected';\r\n }\r\n\r\n render() {\r\n let {\r\n props: { state, width, height, isShowProperty },\r\n context: {\r\n projectActions,\r\n viewer2DActions,\r\n linesActions,\r\n viewer3DActions,\r\n itemsActions\r\n }\r\n } = this;\r\n const { products } = this.props;\r\n const {\r\n cabinetCategory,\r\n subCabinetCategory,\r\n selectedFinishing,\r\n cabinetStyleChanging,\r\n cabinetStyle,\r\n subCabinetStyle,\r\n cabinetColor,\r\n currentTexture,\r\n ceilingHeight,\r\n measurementUnit,\r\n viewMoreDoorstyle,\r\n selectedRoomElement,\r\n searchName,\r\n chosenReplacedItem,\r\n helpViewNum,\r\n notes,\r\n videoUrl,\r\n moldingData\r\n } = this.state;\r\n\r\n let scene = state.get('scene');\r\n let layerID = scene.get('selectedLayer');\r\n\r\n var panel;\r\n let dirUrl = '';\r\n let mode = state.get('mode');\r\n\r\n let tt = this;\r\n this.state.counterTop.forEach(data => {\r\n let scene = tt.props.state.get('scene');\r\n let layerID = scene.get('selectedLayer');\r\n let layers = scene.layers.get(layerID);\r\n let counterTop = layers.get('counterTop');\r\n data.selected = (counterTop && counterTop.uri) == data.texture;\r\n });\r\n\r\n let userInfo = [];\r\n if (this.props.match) userInfo = this.props.match.params;\r\n\r\n let update = (LengthInput, unit, type) => {\r\n let newLength = toFixedFloat(LengthInput);\r\n\r\n if (type === 0) {\r\n this.setState({ ceilingHeight: newLength });\r\n viewer2DActions.updateCeilHeight(newLength);\r\n viewer2DActions.updateCeilHeightUnit(unit._unit);\r\n viewer3DActions.update3DCeilHeight(newLength);\r\n viewer3DActions.update3DCeilHeightUnit(unit._unit);\r\n } else {\r\n this.setState({\r\n ceilingHeight: convert(newLength)\r\n .from(this.state.measurementUnit._unit)\r\n .to(unit._unit),\r\n measurementUnit: unit\r\n });\r\n viewer2DActions.updateCeilHeight(\r\n convert(newLength)\r\n .from(this.state.measurementUnit._unit)\r\n .to(unit._unit)\r\n );\r\n viewer2DActions.updateCeilHeightUnit(unit._unit);\r\n viewer3DActions.update3DCeilHeightUnit(unit._unit);\r\n viewer3DActions.update3DCeilHeight(\r\n convert(newLength)\r\n .from(this.state.measurementUnit._unit)\r\n .to(unit._unit)\r\n );\r\n }\r\n };\r\n\r\n const openReplacedItemToolbar = (oldItems, newItems) => {\r\n const newItemsIds = Object.keys(newItems);\r\n const oldItemIds = Object.keys(oldItems);\r\n const replacedItemId = newItemsIds.find(id => !oldItemIds.includes(id));\r\n // closes the setting dialog\r\n document.getElementById('setting_dialog').style.display = 'none';\r\n\r\n itemsActions.selectItem(layerID, replacedItemId);\r\n };\r\n\r\n this.state.backsplash.forEach(data => {\r\n let scene = tt.props.state.get('scene');\r\n let layerID = scene.get('selectedLayer');\r\n let layers = scene.layers.get(layerID);\r\n let backsplash = layers.get('backsplash');\r\n data.selected = (backsplash && backsplash.uri) == data.texture;\r\n });\r\n\r\n this.state.molding.forEach(data => {\r\n let scene = tt.props.state.get('scene');\r\n let layerID = scene.get('selectedLayer');\r\n let layers = scene.layers.get(layerID);\r\n let molding = layers.get('molding');\r\n data.selected =\r\n molding &&\r\n molding.some(m => {\r\n return m.name === data.name;\r\n });\r\n });\r\n\r\n this.state.wallColors.forEach(data => {\r\n let scene = tt.props.state.get('scene');\r\n let layerID = scene.get('selectedLayer');\r\n let layers = scene.layers.get(layerID);\r\n let wallColor = layers.get('wallColor');\r\n data.selected = wallColor == data.color;\r\n });\r\n\r\n this.state.floorStyles.forEach(data => {\r\n let scene = tt.props.state.get('scene');\r\n let layerID = scene.get('selectedLayer');\r\n let layers = scene.layers.get(layerID);\r\n let floorStyles = layers.get('floorStyle');\r\n data.selected = (floorStyles && floorStyles.uri) == data.texture;\r\n });\r\n\r\n this.state.doorHandle.forEach(data => {\r\n let scene = tt.props.state.get('scene');\r\n let layerID = scene.get('selectedLayer');\r\n let layers = scene.layers.get(layerID);\r\n let doorHandle = layers.get('doorHandle');\r\n data.selected = doorHandle && data.gltf.includes(doorHandle);\r\n });\r\n\r\n let alterate = state.get('alterate');\r\n let topBtnAction =\r\n state.mode == MODE_IDLE || state.mode == MODE_2D_PAN\r\n ? () => {\r\n linesActions.selectToolDrawingLine('wall');\r\n this.props.setToolbar('');\r\n }\r\n : () => {\r\n projectActions.setMode(MODE_IDLE);\r\n linesActions.selectToolDrawingLine('wall');\r\n this.props.setToolbar('');\r\n };\r\n\r\n let saveScreenshotToFile = event => {\r\n event.preventDefault();\r\n let canvas = document.getElementsByTagName('canvas')[1];\r\n let canvas_crop_image = document.getElementById('canvas_crop_image');\r\n let ctx = canvas_crop_image.getContext('2d');\r\n\r\n // Set width and height for the new canvas\r\n let heightAtt = document.createAttribute('height');\r\n heightAtt.value = canvas.height;\r\n canvas_crop_image.setAttributeNode(heightAtt);\r\n\r\n let widthAtt = document.createAttribute('width');\r\n widthAtt.value = canvas.width;\r\n canvas_crop_image.setAttributeNode(widthAtt);\r\n\r\n ctx.fillStyle = 'white';\r\n ctx.fillRect(0, 0, canvas_crop_image.width, canvas_crop_image.height);\r\n\r\n let img = new Image();\r\n img.crossOrigin = 'anonymous';\r\n img.src = canvas.toDataURL();\r\n\r\n img.onload = () => {\r\n ctx.globalAlpha = 0.3;\r\n ctx.drawImage(\r\n img,\r\n 0,\r\n 0,\r\n canvas_crop_image.width,\r\n canvas_crop_image.height\r\n );\r\n this.setState({\r\n isModalVisible: true,\r\n imageUri: canvas.toDataURL(),\r\n image: img\r\n });\r\n canvas_crop_image.style.zIndex = 11;\r\n document.addEventListener('keydown', this.onKeyDown, false);\r\n document.addEventListener(\r\n 'mouseup',\r\n this.onMouseUp_On_New_Save_SQ_DA,\r\n false\r\n );\r\n canvas_crop_image.style.display = 'block';\r\n };\r\n };\r\n\r\n let saveSVGScreenshotToFile = async event => {\r\n event.preventDefault();\r\n let svgElements = document.getElementsByTagName('svg');\r\n let maxWidthSVGElement = svgElements[0];\r\n for (let i = 1; i < svgElements.length; i++) {\r\n if (\r\n svgElements[i].width.baseVal.value >\r\n maxWidthSVGElement.width.baseVal.value\r\n ) {\r\n maxWidthSVGElement = svgElements[i];\r\n }\r\n }\r\n\r\n let images = maxWidthSVGElement?.getElementsByTagName('image');\r\n\r\n let readBlob = b => {\r\n return new Promise(res => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n res(reader.result);\r\n };\r\n reader.onerror = () => {\r\n res(b);\r\n };\r\n reader.readAsDataURL(b);\r\n });\r\n };\r\n\r\n try {\r\n for (let image of images) {\r\n const url = getSignedUrl(image.getAttribute('href'));\r\n const response = await fetch(url, { cache: 'no-store' });\r\n const blob = await response.blob();\r\n const content = await readBlob(blob);\r\n image.setAttribute('href', content);\r\n }\r\n } catch (e) {}\r\n\r\n let serializer = new XMLSerializer();\r\n\r\n let img = new Image();\r\n let canvas = document.getElementById('canvas_crop_image');\r\n let ctx = canvas.getContext('2d');\r\n let heightAtt = document.createAttribute('height');\r\n heightAtt.value = maxWidthSVGElement.height.baseVal.value;\r\n canvas.setAttributeNode(heightAtt);\r\n\r\n let widthAtt = document.createAttribute('width');\r\n widthAtt.value = maxWidthSVGElement.width.baseVal.value;\r\n canvas.setAttributeNode(widthAtt);\r\n\r\n ctx.fillStyle = 'white';\r\n ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n\r\n img.crossOrigin = 'anonymous';\r\n img.src = `data:image/svg+xml;base64,${window.btoa(\r\n serializer.serializeToString(maxWidthSVGElement)\r\n )}`;\r\n\r\n img.onload = () => {\r\n ctx.globalAlpha = 0.3;\r\n ctx.drawImage(\r\n img,\r\n 0,\r\n 0,\r\n maxWidthSVGElement.width.baseVal.value,\r\n maxWidthSVGElement.height.baseVal.value\r\n );\r\n this.setState({\r\n isModalVisible: true,\r\n imageUri: canvas.toDataURL(),\r\n image: img\r\n });\r\n };\r\n canvas.style.zIndex = 11;\r\n document.addEventListener('keydown', this.onKeyDown, false);\r\n document.addEventListener(\r\n 'mouseup',\r\n this.onMouseUp_On_New_Save_SQ_DA,\r\n false\r\n );\r\n canvas_crop_image.style.display = 'block';\r\n };\r\n\r\n // control button active remove//\r\n let control = this.state.controlButton;\r\n let objectProperty = '';\r\n let item_warning = '';\r\n let layer = state.scene.layers.get(state.scene.selectedLayer);\r\n let selected = [];\r\n layer.selected.forEach((data, key) => {\r\n if (key == 'vertices') return;\r\n if (data.size > 0) {\r\n let values = data.toJS();\r\n for (let i = 0; i < values.length; i++) {\r\n selected.push({ type: key, id: values[i] });\r\n }\r\n }\r\n });\r\n\r\n if (mode.indexOf('DRAW') != -1) {\r\n // hintText = (<S.hintText>Press ESC key to finish drawing!</S.hintText>);\r\n hintText = (\r\n <StyledAlert\r\n text={\r\n <span style={{ fontSize: 16, fontFamily: DEFAULT_FONT_FAMILY }}>\r\n Press <strong>Enter</strong> key to finish drawing, or{' '}\r\n <strong>ESC</strong> to cancel\r\n </span>\r\n }\r\n onClose={() => (hintText = '')}\r\n />\r\n );\r\n // if (mode.indexOf(\"DRAW\") != -1) {\r\n // hintText = <StyledAlert text = \"Hit ESC to complete the current wall\" />;\r\n } else if (this.state.isModalVisible) {\r\n hintText = (\r\n <StyledAlert\r\n text={\r\n <span style={{ fontSize: 16, fontFamily: DEFAULT_FONT_FAMILY }}>\r\n Press <strong>ESC</strong> key to stop clipping!\r\n </span>\r\n }\r\n onClose={() => (hintText = '')}\r\n />\r\n );\r\n } else {\r\n hintText = '';\r\n }\r\n if (selected.length === 1) {\r\n let planData = window.planData;\r\n let selData = selected[0];\r\n let currentObject;\r\n switch (selData.type) {\r\n case 'holes':\r\n currentObject = layer.holes.get(selData.id);\r\n break;\r\n case 'items':\r\n currentObject = layer.items.get(selData.id);\r\n break;\r\n case 'lines':\r\n currentObject = layer.lines.get(selData.id);\r\n break;\r\n }\r\n if (currentObject !== undefined) {\r\n let select = findCatalogElement(\r\n this.props.catalog,\r\n currentObject?.type\r\n );\r\n let replaceCabinetData;\r\n if (select) {\r\n const attrPorpSeparatorStyle = {\r\n position: 'relative',\r\n height: '50px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n width: '100%'\r\n };\r\n if (select.prototype === 'items') {\r\n this.props.categoryData.data.cabinets.map(value => {\r\n value.items.map(category => {\r\n if (category.name == select.obj.cabinet_category) {\r\n replaceCabinetData = category.items;\r\n }\r\n });\r\n });\r\n var objSKU = select.obj.sku_number;\r\n if (\r\n this.state.currentTexture !== null &&\r\n select.obj.skuArray.length !== 0\r\n ) {\r\n let doorStyle = currentObject.doorStyle,\r\n dcId;\r\n if (doorStyle instanceof Map) {\r\n dcId = currentObject.doorStyle.get('id');\r\n } else {\r\n dcId = currentObject.doorStyle.id;\r\n }\r\n var tempSKU = select.obj.skuArray.find(\r\n el => el.door_color_id === dcId\r\n );\r\n if (tempSKU !== undefined) {\r\n objSKU = tempSKU.sku;\r\n }\r\n }\r\n let isFiller =\r\n select.long_name.toUpperCase().includes('FILLER') ||\r\n select.long_name.toUpperCase().includes('PANEL');\r\n let tempWidth = currentObject.properties.get('width');\r\n let tempDepth = currentObject.properties.get('depth');\r\n let tempHeight = currentObject.properties.get('height');\r\n let itemHeight = select.info.sizeinfo.height;\r\n let itemWidth = select.info.sizeinfo.width;\r\n let itemDepth = select.info.sizeinfo.depth;\r\n let _currentObject = currentObject.toJS();\r\n if (_currentObject.doorStyle.doorStyles !== undefined) {\r\n if (\r\n _currentObject.doorStyle.doorStyles.is_euro_cds !== undefined\r\n ) {\r\n if (\r\n _currentObject.doorStyle.doorStyles.is_euro_cds &&\r\n _currentObject.doorStyle.door_style_name ===\r\n 'Euro & Frameless'\r\n ) {\r\n tempWidth = new Map({\r\n _length: _currentObject.doorStyle.doorStyles.euro_width,\r\n _unit:\r\n _currentObject.doorStyle.doorStyles.width_unit.substr(\r\n 0,\r\n 2\r\n )\r\n });\r\n tempDepth = new Map({\r\n _length: _currentObject.doorStyle.doorStyles.euro_length,\r\n _unit:\r\n _currentObject.doorStyle.doorStyles.length_unit.substr(\r\n 0,\r\n 2\r\n )\r\n });\r\n tempHeight = new Map({\r\n _length: _currentObject.doorStyle.doorStyles.euro_height,\r\n _unit:\r\n _currentObject.doorStyle.doorStyles.height_unit.substr(\r\n 0,\r\n 2\r\n )\r\n });\r\n itemHeight = tempHeight.get('_length');\r\n itemWidth = tempWidth.get('_length');\r\n itemDepth = tempDepth.get('_length');\r\n }\r\n }\r\n }\r\n let doorStyleThumbnail, doorStyleName, installation;\r\n if (_currentObject.doorStyle.thumbnail)\r\n doorStyleThumbnail = _currentObject.doorStyle.thumbnail;\r\n if (_currentObject.doorStyle.name) {\r\n doorStyleName = _currentObject.doorStyle.name;\r\n installation = getInstallationSuffix(\r\n INSTALLATION_SUFFIX_TYPE.NAME,\r\n _currentObject.doorStyle\r\n );\r\n }\r\n let width = tempWidth\r\n ? formatNumber(\r\n convert(tempWidth.get('_length'))\r\n .from(tempWidth.get('_unit'))\r\n .to('in'),\r\n DECIMAL_PLACES_2\r\n )\r\n : itemWidth;\r\n if (tempWidth.get('_unit') === 'in') width = itemWidth;\r\n let height = tempHeight\r\n ? formatNumber(\r\n convert(tempHeight.get('_length'))\r\n .from(tempHeight.get('_unit'))\r\n .to('in'),\r\n DECIMAL_PLACES_2\r\n )\r\n : itemHeight;\r\n if (tempHeight.get('_unit') === 'in') height = itemHeight;\r\n let depth = tempDepth\r\n ? formatNumber(\r\n convert(tempDepth.get('_length'))\r\n .from(tempDepth.get('_unit'))\r\n .to('in'),\r\n DECIMAL_PLACES_2\r\n )\r\n : itemDepth;\r\n if (tempDepth.get('_unit') === 'in') depth = itemDepth;\r\n let doorColor = currentObject.doorStyle;\r\n if (currentObject.doorStyle.size)\r\n doorColor = currentObject.doorStyle.toJS();\r\n\r\n let internalSKU = makeSKUForMagento(\r\n currentObject,\r\n this.props.catalog,\r\n this.props.categoryData\r\n );\r\n\r\n const shouldHideSkuNumber =\r\n select.type === 'appliance' ||\r\n select.type === 'furnishing' ||\r\n select.type === 'lighting' ||\r\n (select.long_name.toLowerCase().includes('wall') &&\r\n select.type !== 'cabinet');\r\n\r\n item_warning = (\r\n <S.ItemCustomImageWrapper id=\"item_warning\">\r\n <S.ItemCustomImage\r\n src=\"/assets/img/svg/3d_item_warning_info.svg\"\r\n onMouseOver={() =>\r\n (document.getElementById('warning_box').style.display =\r\n 'flex')\r\n }\r\n onMouseOut={() =>\r\n (document.getElementById('warning_box').style.display =\r\n 'none')\r\n }\r\n />\r\n <S.WarningItem id=\"warning_box\">\r\n <S.SubCategoryItemImage\r\n maskImage=\"/assets/img/svg/3d_item_warning_info.svg\"\r\n style={{\r\n backgroundColor: BG_COLOR_1,\r\n marginRight: 10,\r\n height: 30,\r\n width: 30\r\n }}\r\n />\r\n This item is not available in the current door style. Replace\r\n it with another one.\r\n </S.WarningItem>\r\n <S.ItemCustomImage\r\n src=\"/assets/img/svg/3d_item_warning_edit.svg\"\r\n style={{ marginTop: 10 }}\r\n onClick={() => {\r\n this.props.setToolbar('door-style');\r\n this.setState({ cabinetStyleChanging: true });\r\n }}\r\n />\r\n </S.ItemCustomImageWrapper>\r\n );\r\n objectProperty =\r\n this.props.replaceCabinetFlag == true ? (\r\n // replace cabinet list\r\n <PS.ContentObjectWrapper\r\n headerH={this.props.headerH}\r\n style={{ width: 'fit-content', height: '100%' }}\r\n >\r\n <S.SubToolbarWrapper\r\n style={{\r\n alignItems: 'flex-start',\r\n marginLeft: 20,\r\n minWidth: 250\r\n }}\r\n >\r\n <PS.DesignValue\r\n style={{ margin: 0, fontSize: 20, fontWeight: 700 }}\r\n >\r\n Replace Cabinet\r\n </PS.DesignValue>\r\n <S.SubCategoryItemWrapper\r\n style={{\r\n overflowY: 'scroll',\r\n maxHeight: 'calc(100vh - 320px)'\r\n }}\r\n >\r\n {replaceCabinetData ? (\r\n replaceCabinetData.map((item, key) => {\r\n return (\r\n (currentTexture?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === item.itemID\r\n ).length != 0 && (\r\n <S.SubCategoryItem\r\n onClick={() => {\r\n let selectedItemId = this.props.layers\r\n .get(this.props.selectedLayer)\r\n .selected.items.toJS()[0];\r\n let selectedPos = {\r\n x: this.props.layers\r\n .get(this.props.selectedLayer)\r\n .items.get(selectedItemId).x,\r\n y: this.props.layers\r\n .get(this.props.selectedLayer)\r\n .items.get(selectedItemId).y,\r\n rotation: this.props.layers\r\n .get(this.props.selectedLayer)\r\n .items.get(selectedItemId).rotation,\r\n selectedItemId: selectedItemId\r\n };\r\n this.setState({\r\n chosenReplacedItem: {\r\n selectedPos: selectedPos,\r\n select: select,\r\n item: item\r\n }\r\n });\r\n }}\r\n style={{\r\n cursor: 'pointer',\r\n paddingLeft: 0,\r\n backgroundColor:\r\n chosenReplacedItem.item &&\r\n chosenReplacedItem.item.itemID ===\r\n item.itemID &&\r\n '#D9E8FF'\r\n }}\r\n key={key}\r\n >\r\n <img\r\n style={{ height: 70, width: 70 }}\r\n src={item.thumbnail}\r\n />\r\n <S.SubCategoryItemLabel\r\n style={{ textAlign: 'left' }}\r\n >\r\n {item.long_name} <br />\r\n Width: {item.info.width}\" <br />\r\n Depth: {item.info.height}\" <br />\r\n Height: {item.info.tall}\"\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n )\r\n );\r\n })\r\n ) : (\r\n <S.SubCategoryItemLabel>\r\n No options found\r\n </S.SubCategoryItemLabel>\r\n )}\r\n </S.SubCategoryItemWrapper>\r\n </S.SubToolbarWrapper>\r\n <PS.ButtonBox\r\n style={{\r\n marginTop: 20,\r\n marginLeft: 0,\r\n opacity: !chosenReplacedItem.item && '0.6',\r\n cursor: !chosenReplacedItem.item && 'not-allowed'\r\n }}\r\n onClick={() => {\r\n if (chosenReplacedItem.item) {\r\n const oldItems = this.state.elements.items.toJS();\r\n const { selectedPos, select, item } =\r\n chosenReplacedItem;\r\n itemsActions.replaceItem(selectedPos, select, item);\r\n this.props.replaceCabinet(false);\r\n this.setState({ chosenReplacedItem: {} }, () => {\r\n const newItems = this.state.elements.items.toJS();\r\n openReplacedItemToolbar(oldItems, newItems);\r\n });\r\n }\r\n }}\r\n >\r\n <img\r\n height={20}\r\n width={20}\r\n src=\"/assets/img/svg/check.svg\"\r\n />\r\n <PS.ButtonTitle\r\n style={{\r\n color: SECONDARY_PURPLE_COLOR,\r\n paddingLeft: 10,\r\n margin: 0,\r\n fontSize: 16\r\n }}\r\n >\r\n Replace\r\n </PS.ButtonTitle>\r\n </PS.ButtonBox>\r\n </PS.ContentObjectWrapper>\r\n ) : (\r\n // normal property window\r\n <PS.ContentObjectWrapper\r\n headerH={this.props.headerH}\r\n style={{ height: '100%' }}\r\n >\r\n {/* <div style={{ display: 'flex' }}>\r\n <PS.TitleBarIconButton\r\n onClick={() => {\r\n this.props.setShowProperty(false);\r\n }}\r\n >\r\n <img\r\n style={{\r\n float: 'left',\r\n height: 20\r\n }}\r\n src=\"/assets/img/svg/bottombar/collapse.svg\"\r\n />\r\n </PS.TitleBarIconButton>\r\n <PS.TitleBarIconButton\r\n onClick={() => projectActions.unselectAll()}\r\n >\r\n <img\r\n style={{\r\n float: 'right',\r\n height: 20,\r\n transform: 'rotate(45deg)'\r\n }}\r\n src=\"/assets/img/svg/bottombar/arrow-plus.svg\"\r\n />\r\n </PS.TitleBarIconButton>\r\n </div> */}\r\n {/* duplicate & delete buttons group */}\r\n <div style={attrPorpSeparatorStyle}>\r\n <PS.ButtonBox\r\n style={{ width: '100%', justifyContent: 'center' }}\r\n >\r\n <img\r\n height={20}\r\n width={20}\r\n src=\"/assets/img/svg/copy.svg\"\r\n />\r\n <PS.ButtonTitle\r\n style={{\r\n color: SECONDARY_PURPLE_COLOR,\r\n paddingLeft: 10,\r\n margin: 0,\r\n fontSize: 16\r\n }}\r\n onClick={() =>\r\n itemsActions.duplicateSelected(currentObject)\r\n }\r\n >\r\n {' Duplicate'}\r\n </PS.ButtonTitle>\r\n </PS.ButtonBox>\r\n <PS.ButtonBox style={{ width: '100%' }}>\r\n <PS.ButtonTitle\r\n style={{ color: STATUS_NEGATIVE_COLOR, fontSize: 16 }}\r\n onClick={() => {\r\n projectActions.setIsCabinetDrawing(false);\r\n projectActions.remove();\r\n }}\r\n >\r\n {'Delete'}\r\n </PS.ButtonTitle>\r\n </PS.ButtonBox>\r\n </div>\r\n <div\r\n style={{\r\n overflowY: 'scroll',\r\n paddingRight: 5,\r\n height: 'calc(100% - 85px)'\r\n }}\r\n >\r\n {!shouldHideSkuNumber && (\r\n <PS.DesignValue\r\n style={{ margin: 0, marginTop: '15px' }}\r\n >{`SKU: ${select.obj.sku_number}`}</PS.DesignValue>\r\n )}\r\n {/* <p style={{display:\"flex\"}}> */}\r\n {/* <PS.PropteryValue>{doorStyleName}</PS.PropteryValue> */}\r\n {/* </p> */}\r\n {/* selected element's images */}\r\n <PS.SelectedBox\r\n style={{ position: 'relative', margin: '15px 0' }}\r\n >\r\n <img\r\n src={select.info.image}\r\n style={{ objectFit: 'contain' }}\r\n />\r\n {doorStyleThumbnail && select.type === 'cabinet' && (\r\n <img\r\n src={doorStyleThumbnail}\r\n style={{ objectFit: 'contain', padding: '28px' }}\r\n />\r\n )}\r\n {/* warnning mask (yellow color box) */}\r\n {select.type === 'cabinet' &&\r\n (currentTexture?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === select.itemID\r\n ).length === 0 && (\r\n <div\r\n style={{\r\n position: 'absolute',\r\n width: 'calc(50% - 10px)',\r\n height: 'calc(100% - 10px)',\r\n backgroundColor: 'rgba(232,187,47,0.7)',\r\n left: 0,\r\n borderRadius: '10px',\r\n border: '3px solid orange',\r\n margin: 5\r\n }}\r\n />\r\n )}\r\n {/* replace icon (pencil icon) */}\r\n {select.type === 'cabinet' &&\r\n (currentTexture?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === select.itemID\r\n ).length === 0 && (\r\n <img\r\n src=\"/assets/img/svg/3d_item_warning_edit.svg\"\r\n onClick={() => {\r\n this.props.replaceCabinet(true);\r\n }}\r\n style={{\r\n position: 'absolute',\r\n left: 15,\r\n top: 15,\r\n width: 30,\r\n height: 30,\r\n backgroundColor: 'white',\r\n borderRadius: 15,\r\n cursor: 'pointer'\r\n }}\r\n />\r\n )}\r\n {/* <PS.Image><div><img src={select.info.image} /></div></PS.Image> */}\r\n {/* <PS.IconButton style={{ 'margin': '10px', 'height': '24px' }}><FaTrash /> Delete</PS.IconButton>\r\n <PS.IconButton style={{ 'margin': '10px', 'height': '24px' }}><FaCopy /> Duplicate</PS.IconButton> */}\r\n </PS.SelectedBox>\r\n {/* main information - name, size, style, installation etc. */}\r\n <PS.PropteryValue1 style={{ fontWeight: 600 }}>\r\n {select.long_name}\r\n </PS.PropteryValue1>\r\n <PS.PropteryValue style={{ fontWeight: 400 }}>\r\n W{' '}\r\n <strong>\r\n {formatNumber(\r\n convert(width).from('in').to(measurementUnit._unit),\r\n DECIMAL_PLACES_2\r\n )}\r\n </strong>\r\n {measurementUnit._unit === 'in'\r\n ? '\"'\r\n : measurementUnit._unit}{' '}\r\n x D{' '}\r\n <strong>\r\n {formatNumber(\r\n convert(depth).from('in').to(measurementUnit._unit),\r\n DECIMAL_PLACES_2\r\n )}\r\n </strong>\r\n {measurementUnit._unit === 'in'\r\n ? '\"'\r\n : measurementUnit._unit}{' '}\r\n x H{' '}\r\n <strong>\r\n {formatNumber(\r\n convert(height).from('in').to(measurementUnit._unit),\r\n DECIMAL_PLACES_2\r\n )}\r\n </strong>\r\n {measurementUnit._unit === 'in'\r\n ? '\"'\r\n : measurementUnit._unit}\r\n </PS.PropteryValue>\r\n {select.type === 'cabinet' && (\r\n <PS.PropteryValue1>\r\n Door Style: <strong>{doorStyleName}</strong>\r\n </PS.PropteryValue1>\r\n )}\r\n {select.type === 'cabinet' && (\r\n <PS.PropteryValue1>\r\n Installation: <strong>{installation}</strong>\r\n </PS.PropteryValue1>\r\n )}\r\n {/* production info - price etc. */}\r\n <Pricing\r\n internalSKU={internalSKU}\r\n accessToken={this.props.accessToken}\r\n />\r\n {/* <PS.PropteryValue>Door Style: <span>{select.obj.door_style}</span></PS.PropteryValue>\r\n <PS.PropteryValue>Manufacturer: <span>{select.obj.manufacturer}</span></PS.PropteryValue>\r\n <PS.PropteryValue>Marterial: <span>Ground Pringles</span></PS.PropteryValue> */}\r\n {isFiller && this.state.editWidthVisible && (\r\n <PS.ChildTitle1>\r\n <FormNumberInput\r\n style={{\r\n width: 88,\r\n height: 24.95,\r\n marginTop: 10\r\n }}\r\n value={width}\r\n onChange={event =>\r\n this.handleEditWidth(\r\n event.target.value,\r\n layerID,\r\n selData.id\r\n )\r\n }\r\n precision={2}\r\n />\r\n </PS.ChildTitle1>\r\n )}\r\n\r\n <PS.DesignValue>Design</PS.DesignValue>\r\n {/* <PS.PositionValue>Rotate</PS.PositionValue>\r\n <PS.PositionValue>Resize</PS.PositionValue> */}\r\n {/* property list of selected element */}\r\n <PanelElementEditor\r\n state={state}\r\n categoryData={this.props.categoryData}\r\n getLinearOfMolding={this.getLinearOfMolding}\r\n planData={planData}\r\n />\r\n </div>\r\n </PS.ContentObjectWrapper>\r\n );\r\n } else if (select.prototype === 'holes') {\r\n objectProperty = (\r\n <PS.ContentObjectWrapper headerH={this.props.headerH}>\r\n {/* <div style={{ display: 'flex' }}>\r\n <PS.TitleBarIconButton\r\n onClick={() => this.props.setShowProperty(false)}\r\n >\r\n <img\r\n style={{\r\n float: 'left',\r\n height: 20\r\n }}\r\n src=\"/assets/img/svg/bottombar/collapse.svg\"\r\n />\r\n </PS.TitleBarIconButton>\r\n <PS.TitleBarIconButton\r\n onClick={() => projectActions.unselectAll()}\r\n >\r\n <img\r\n style={{\r\n float: 'right',\r\n height: 20,\r\n transform: 'rotate(45deg)'\r\n }}\r\n src=\"/assets/img/svg/bottombar/arrow-plus.svg\"\r\n />\r\n </PS.TitleBarIconButton>\r\n </div> */}\r\n <div style={attrPorpSeparatorStyle}>\r\n <PS.ButtonBox\r\n style={{ width: '100%', justifyContent: 'center' }}\r\n >\r\n <img\r\n height={20}\r\n width={20}\r\n src=\"/assets/img/svg/copy.svg\"\r\n />\r\n <PS.ButtonTitle\r\n style={{\r\n color: '${SECONDARY_PURPLE_COLOR}',\r\n margin: 0,\r\n paddingLeft: 10,\r\n fontSize: 16\r\n }}\r\n onClick={() =>\r\n itemsActions.duplicateSelected(currentObject)\r\n }\r\n >\r\n {' Duplicate'}\r\n </PS.ButtonTitle>\r\n </PS.ButtonBox>\r\n <PS.ButtonBox style={{ width: '100%' }}>\r\n <PS.ButtonTitle\r\n style={{ color: 'red', fontSize: 16 }}\r\n onClick={() => projectActions.remove()}\r\n >\r\n {'Delete'}\r\n </PS.ButtonTitle>\r\n </PS.ButtonBox>\r\n </div>\r\n <PS.SelectedBox style={{ margin: 0 }}>\r\n <img\r\n src={select.info.image}\r\n style={{ objectFit: 'contain' }}\r\n />\r\n </PS.SelectedBox>\r\n <PS.PropteryValue style={{ marginTop: 10 }}>\r\n {select.name}\r\n </PS.PropteryValue>\r\n <PS.ChildTitle> </PS.ChildTitle>\r\n {/* <PS.PropteryValue>Base Price: <span>122$</span></PS.PropteryValue>\r\n <PS.PropteryValue>Door Style: <span>{select.obj.door_style}</span></PS.PropteryValue>\r\n <PS.PropteryValue>Manufacturer: <span>{select.obj.manufacturer}</span></PS.PropteryValue>\r\n <PS.PropteryValue>Marterial: <span>Ground Pringles</span></PS.PropteryValue> */}\r\n <PS.DesignValue>Design</PS.DesignValue>\r\n {/* <PS.PositionValue>Rotate</PS.PositionValue>\r\n <PS.PositionValue>Resize</PS.PositionValue> */}\r\n <PanelElementEditor\r\n state={state}\r\n categoryData={this.props.categoryData}\r\n getLinearOfMolding={this.getLinearOfMolding}\r\n planData={planData}\r\n />\r\n </PS.ContentObjectWrapper>\r\n );\r\n } else if (select.prototype === 'lines') {\r\n objectProperty = (\r\n <PS.ContentObjectWrapper headerH={this.props.headerH}>\r\n <div style={attrPorpSeparatorStyle}>\r\n <PS.ButtonBox style={{ justifyContent: 'center' }}>\r\n <img\r\n height={16}\r\n width={16}\r\n src=\"/assets/img/svg/bottombar/elevation.svg\"\r\n />\r\n <PS.ButtonTitle\r\n style={{\r\n color: SECONDARY_PURPLE_COLOR,\r\n paddingLeft: 10,\r\n margin: 0,\r\n fontSize: 16\r\n }}\r\n onClick={() =>\r\n projectActions.setMode(MODE_ELEVATION_VIEW)\r\n }\r\n >\r\n {'Elevation View'}\r\n </PS.ButtonTitle>\r\n </PS.ButtonBox>\r\n <PS.ButtonBox>\r\n <PS.ButtonTitle\r\n style={{ color: STATUS_NEGATIVE_COLOR, fontSize: 16 }}\r\n onClick={() => projectActions.remove()}\r\n >\r\n {'Delete'}\r\n </PS.ButtonTitle>\r\n </PS.ButtonBox>\r\n </div>\r\n\r\n <PS.SelectedBox style={{ margin: 0 }}>\r\n <img\r\n src={select.info.image.default}\r\n style={{ objectFit: 'contain' }}\r\n />\r\n </PS.SelectedBox>\r\n <PS.PropteryValue style={{ marginTop: 10 }}>\r\n {select.name}\r\n </PS.PropteryValue>\r\n <PS.ChildTitle>\r\n <span style={{ fontWeight: 600 }}>\r\n {select.info.description}\r\n </span>\r\n </PS.ChildTitle>\r\n {/* <PS.PropteryValue>Base Price: <span>122$</span></PS.PropteryValue>\r\n <PS.PropteryValue>Door Style: <span>{select.obj.door_style}</span></PS.PropteryValue>\r\n <PS.PropteryValue>Manufacturer: <span>{select.obj.manufacturer}</span></PS.PropteryValue>\r\n <PS.PropteryValue>Marterial: <span>Ground Pringles</span></PS.PropteryValue> */}\r\n <PS.DesignValue>Design</PS.DesignValue>\r\n {/* <PS.PositionValue>Rotate</PS.PositionValue>\r\n <PS.PositionValue>Resize</PS.PositionValue> */}\r\n <PanelElementEditor\r\n state={state}\r\n categoryData={this.props.categoryData}\r\n getLinearOfMolding={this.getLinearOfMolding}\r\n planData={planData}\r\n />\r\n </PS.ContentObjectWrapper>\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n let plgUrls = this.state.plgUrls;\r\n for (let i = 0; i < plgUrls.length; i++) {\r\n dirUrl += '>';\r\n dirUrl += plgUrls[i];\r\n }\r\n let beforeItem;\r\n let plgItems;\r\n if (this.state.filter == '') plgItems = this.state.plgItems;\r\n else {\r\n plgItems = [];\r\n for (let i = 0; i < this.state.plgItems.length; i++) {\r\n if (this.state.plgItems[i].name.indexOf(this.state.filter) != -1)\r\n plgItems.push(this.state.plgItems[i]);\r\n }\r\n }\r\n if (plgUrls.length > 1)\r\n beforeItem = (\r\n <PlgItem\r\n url=\"before\"\r\n gltfUrl={null}\r\n onClick={this.plgItemAction.bind(this)}\r\n name=\"...\"\r\n />\r\n );\r\n if (this.state.opened) {\r\n let multiMark = String.fromCharCode(215); //x Mark\r\n panel = (\r\n <S.PanelWrapper>\r\n <div>\r\n <div style={{ backgroundColor: SharedStyle.TOOLBAR_COLOR.active }}>\r\n <S.Title>\r\n <b>choose room features</b>\r\n </S.Title>\r\n <S.Head>\r\n <S.Close>\r\n <a\r\n onClick={this.PanelClose.bind(this)}\r\n className=\"roundButton\"\r\n onMouseOut={() => this.setState({ closeover: false })}\r\n onMouseOver={() => this.setState({ closeover: true })}\r\n >\r\n <span>{multiMark}</span>\r\n </a>\r\n </S.Close>\r\n </S.Head>\r\n <div style={{ clear: 'both' }} />\r\n </div>\r\n\r\n <input\r\n value={this.state.filter}\r\n onChange={this.filterChange.bind(this)}\r\n placeholder=\"filter\"\r\n style={searchInput}\r\n type=\"text\"\r\n />\r\n <p style={{ float: 'left', fontSize: '80%', paddingLeft: '8px' }}>\r\n <b>{'features' + dirUrl}</b>\r\n </p>\r\n <div style={{ clear: 'both' }} />\r\n <div style={{ padding: '0 12px' }}>\r\n {beforeItem}\r\n {plgItems.map((data, key) => {\r\n return (\r\n <PlgItem\r\n url={data.url}\r\n gltfUrl={data.gltf_url}\r\n onClick={this.plgItemAction.bind(this)}\r\n name={data.name}\r\n key={key}\r\n />\r\n );\r\n })}\r\n </div>\r\n </div>\r\n </S.PanelWrapper>\r\n );\r\n }\r\n if (this.state.animOpened) {\r\n let multiMark = String.fromCharCode(215);\r\n panel = (\r\n <div\r\n style={{\r\n position: 'fixed',\r\n zIndex: 9,\r\n top: '615px',\r\n left: '10px',\r\n marginLeft: '100px',\r\n width: '310px',\r\n backgroundColor: SharedStyle.TOOLBAR_COLOR.focus\r\n }}\r\n >\r\n <div>\r\n <div style={{ backgroundColor: SharedStyle.TOOLBAR_COLOR.active }}>\r\n <p\r\n style={{\r\n float: 'left',\r\n fontSize: '80%',\r\n paddingLeft: '8px',\r\n color: 'white'\r\n }}\r\n >\r\n <b>Animation</b>\r\n </p>\r\n <p\r\n style={{\r\n display: 'inline-block',\r\n float: 'right',\r\n paddingRight: '12px',\r\n fontSize: '80%'\r\n }}\r\n >\r\n <a\r\n onClick={this.PanelAnimClose.bind(this)}\r\n className=\"roundButton\"\r\n onMouseOut={() => this.setState({ closeover: false })}\r\n onMouseOver={() => this.setState({ closeover: true })}\r\n style={{\r\n borderRadius: '50%',\r\n width: '15px',\r\n height: '15px',\r\n color: this.state.closeover ? 'black' : 'white',\r\n backgroundColor: SharedStyle.MATERIAL_COLORS['500'].red,\r\n cursor: 'pointer',\r\n display: 'inline-block',\r\n textAlign: 'center'\r\n }}\r\n >\r\n <span style={{ fontSize: '15px', lineHeight: '15px' }}>\r\n {multiMark}\r\n </span>\r\n </a>\r\n </p>\r\n <div style={{ clear: 'both' }} />\r\n </div>\r\n <div style={{ marginTop: '15px' }}>\r\n <select\r\n value={this.state.animValue}\r\n onChange={this.setAnimValue.bind(this)}\r\n style={searchInput}\r\n >\r\n {this.state.animData.map((data, key) => {\r\n return (\r\n <option key={key} value={key}>\r\n {data.name + ' animation'}\r\n </option>\r\n );\r\n })}\r\n </select>\r\n </div>\r\n <div\r\n style={{\r\n padding: '0 12px',\r\n textAlign: 'center',\r\n marginTop: '15px'\r\n }}\r\n >\r\n <a\r\n onMouseOut={() => this.setState({ animover: false })}\r\n onMouseOver={() => this.setState({ animover: true })}\r\n style={{\r\n color: this.state.animover ? 'white' : 'black',\r\n textAlign: 'center'\r\n }}\r\n >\r\n <FaPlayCircle\r\n onClick={this.Animate.bind(this)}\r\n style={{ fontSize: '40px' }}\r\n />\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // control buttons of right side\r\n\r\n let regexp = new RegExp(`^-?([0-9]+)?\\\\.?([0-9]{0,2})?$`);\r\n\r\n let settingDialog = (\r\n <PS.SettingDialog id=\"setting_dialog\" headerH={this.props.headerH}>\r\n <PS.TitleBarIconButton\r\n onClick={() => {\r\n document.getElementById('setting_dialog').style.display = 'none';\r\n // projectActions.unselectAll();\r\n }}\r\n >\r\n <img\r\n style={{ float: 'right', height: 35, transform: 'rotate(45deg)' }}\r\n src=\"/assets/img/svg/bottombar/arrow-plus.svg\"\r\n />\r\n </PS.TitleBarIconButton>\r\n <S.Title>Settings</S.Title>\r\n <S.NumberInputWrapper>\r\n <S.NumberInputTitle>Measurement Unit</S.NumberInputTitle>\r\n <S.MeasurementUnitSelect\r\n id=\"measurement_select\"\r\n onClick={() => {\r\n document.getElementById('measurement_option').style.display =\r\n document.getElementById('measurement_option').style.display ===\r\n 'none'\r\n ? 'flex'\r\n : 'none';\r\n document.getElementById('measurement_select').style.borderColor =\r\n SECONDARY_PURPLE_COLOR;\r\n document.getElementById('arrow-down').style.display =\r\n document.getElementById('arrow-down').style.display === 'none'\r\n ? 'block'\r\n : 'none';\r\n document.getElementById('arrow-up').style.display =\r\n document.getElementById('arrow-up').style.display === 'block'\r\n ? 'none'\r\n : 'block';\r\n }}\r\n >\r\n {`${measurementUnit._name}(${\r\n measurementUnit._unit !== 'in' ? measurementUnit._unit : '\"'\r\n })`}\r\n </S.MeasurementUnitSelect>\r\n <S.SelectArrow\r\n id=\"arrow-down\"\r\n style={{ display: 'block' }}\r\n maskImage=\"/assets/img/svg/bottombar/arrow-down.svg\"\r\n />\r\n <S.SelectArrow\r\n id=\"arrow-up\"\r\n style={{ display: 'none' }}\r\n maskImage=\"/assets/img/svg/bottombar/arrow-up.svg\"\r\n />\r\n <div\r\n id=\"measurement_option\"\r\n style={{\r\n display: 'none',\r\n flexDirection: 'column',\r\n width: 150,\r\n zIndex: 3,\r\n top: 55,\r\n right: 0,\r\n position: 'absolute',\r\n borderRadius: 5,\r\n backgroundColor: 'white',\r\n boxShadow:\r\n '0px 3px 5px -1px rgba(156, 154, 154, 0.2), 0px 6px 10px 0px rgba(156, 154, 154, 0.39), 0px 1px 18px 0px rgba(156, 154, 154, 0.12)'\r\n }}\r\n >\r\n {unitData.map((unit, key) => {\r\n return (\r\n <S.MeasurementUnitOption\r\n onClick={() => {\r\n document.getElementById(\r\n 'measurement_option'\r\n ).style.display = 'none';\r\n document.getElementById('arrow-down').style.display =\r\n 'block';\r\n document.getElementById('arrow-up').style.display = 'none';\r\n update(ceilingHeight, unit, 1);\r\n }}\r\n key={key}\r\n >\r\n {`${unit._name}(${unit._unit})`}\r\n </S.MeasurementUnitOption>\r\n );\r\n })}\r\n </div>\r\n </S.NumberInputWrapper>\r\n <S.NumberInputWrapper>\r\n <S.NumberInputTitle>Ceiling Height</S.NumberInputTitle>\r\n <FormNumberInput\r\n style={{\r\n width: 167,\r\n textAlign: 'left',\r\n padding: '15px 15px',\r\n color: '#000f33',\r\n fontSize: '13px',\r\n lineHeight: '18px',\r\n border: '2px solid #8791ab',\r\n borderRadius: '5px',\r\n outline: 0,\r\n fontWeight: 600,\r\n paddingRight: 90\r\n }}\r\n value={ceilingHeight}\r\n isCeiling={true}\r\n onChange={evt => {\r\n if (regexp.test(evt.target.value)) {\r\n if (\r\n isCeilLimitation(\r\n this.props.state.scene,\r\n evt.target.value,\r\n measurementUnit\r\n )\r\n ) {\r\n this.setState({\r\n snackBarMessage: WARNING_MESSAGE.CEILING_HEIGHT_NOT_VALID,\r\n isSnackBarOpen: true\r\n });\r\n } else update(evt.target.value, measurementUnit, 0);\r\n } else update(ceilingHeight, measurementUnit, 0);\r\n }}\r\n precision={2}\r\n />\r\n <span\r\n style={{\r\n position: 'absolute',\r\n color: TEXT_COLOR_NEUTRAL_2,\r\n fontSize: 16,\r\n fontFamily: DEFAULT_FONT_FAMILY,\r\n fontWeight: 400,\r\n lineHeight: '22px',\r\n textAlign: 'left',\r\n right: 15\r\n }}\r\n >\r\n {measurementUnit._unit === 'in'\r\n ? `${\r\n measurementUnit._unit !== 'in' ? measurementUnit._unit : '\"'\r\n }(default)`\r\n : measurementUnit._unit}\r\n </span>\r\n </S.NumberInputWrapper>\r\n <S.Title style={{ fontSize: 14 }}>Show/Hide Measurements</S.Title>\r\n <S.ToggleWrapper\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <S.ToggleLabel>Wall length</S.ToggleLabel>\r\n <ToggleMeasureButton\r\n style={{ marginRight: 10, height: 30 }}\r\n key={'S/H Measure'}\r\n showMeasure={this.props.state.scene.showWallLengthMeasure}\r\n active={control === 'show/hide toggle measure '}\r\n settingMode={mode}\r\n state={this.props.state}\r\n backgroundImage={\r\n <img\r\n src={`/assets/img/svg/bottombar/${\r\n this.props.state.scene.showWallLengthMeasure === 0\r\n ? '2d3d_toggle.svg'\r\n : '2d3d_toggle_active.svg'\r\n }`}\r\n style={{ width: '55px', height: '30px' }}\r\n />\r\n }\r\n onClick={() => {\r\n if (!this.props.layers.get(this.props.selectedLayer).areas.size) {\r\n this.setState({\r\n snackBarMessage: 'No Floor plan',\r\n isSnackBarOpen: true\r\n });\r\n return;\r\n }\r\n viewer2DActions.changeWallLengthMeasure(\r\n 1 - this.props.state.scene.get('showWallLengthMeasure')\r\n );\r\n }}\r\n icon={\r\n <img\r\n src={`/assets/img/svg/bottombar/${\r\n this.props.state.scene.showWallLengthMeasure === 0\r\n ? '2d3d_button.svg'\r\n : '2d3d_button_active.svg'\r\n }`}\r\n style={{ width: '30px', height: '30px' }}\r\n />\r\n }\r\n />\r\n </S.ToggleWrapper>\r\n <S.ToggleWrapper\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <S.ToggleLabel>Base cabinets</S.ToggleLabel>\r\n <ToggleMeasureButton\r\n style={{ marginRight: 10, height: 30 }}\r\n key={'S/H Measure'}\r\n active={control === 'show/hide toggle measure '}\r\n settingMode={mode}\r\n showMeasure={this.props.state.scene.showBaseCabinetMeasure}\r\n backgroundImage={\r\n <img\r\n src={`/assets/img/svg/bottombar/${\r\n this.props.state.scene.showBaseCabinetMeasure === 0\r\n ? '2d3d_toggle.svg'\r\n : '2d3d_toggle_active.svg'\r\n }`}\r\n style={{ width: '55px', height: '30px' }}\r\n />\r\n }\r\n onClick={() => {\r\n if (!this.props.layers.get(this.props.selectedLayer).areas.size) {\r\n this.setState({\r\n snackBarMessage: 'No Floor plan',\r\n isSnackBarOpen: true\r\n });\r\n return;\r\n }\r\n viewer2DActions.changeBaseCabinetMeasure(\r\n 1 - this.props.state.scene.get('showBaseCabinetMeasure')\r\n );\r\n }}\r\n icon={\r\n <img\r\n src={`/assets/img/svg/bottombar/${\r\n this.props.state.scene.showBaseCabinetMeasure === 0\r\n ? '2d3d_button.svg'\r\n : '2d3d_button_active.svg'\r\n }`}\r\n style={{ width: '30px', height: '30px' }}\r\n />\r\n }\r\n />\r\n </S.ToggleWrapper>\r\n <S.ToggleWrapper\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <S.ToggleLabel>Wall cabinets</S.ToggleLabel>\r\n <ToggleMeasureButton\r\n style={{ marginRight: 10, height: 30 }}\r\n key={'S/H Measure'}\r\n active={control === 'show/hide toggle measure '}\r\n settingMode={mode}\r\n showMeasure={this.props.state.scene.showWallCabinetMeasure}\r\n backgroundImage={\r\n <img\r\n src={`/assets/img/svg/bottombar/${\r\n this.props.state.scene.showWallCabinetMeasure === 0\r\n ? '2d3d_toggle.svg'\r\n : '2d3d_toggle_active.svg'\r\n }`}\r\n style={{ width: '55px', height: '30px' }}\r\n />\r\n }\r\n onClick={() => {\r\n if (!this.props.layers.get(this.props.selectedLayer).areas.size) {\r\n this.setState({\r\n snackBarMessage: 'No Floor plan',\r\n isSnackBarOpen: true\r\n });\r\n return;\r\n }\r\n viewer2DActions.changeWallCabinetMeasure(\r\n 1 - this.props.state.scene.get('showWallCabinetMeasure')\r\n );\r\n }}\r\n icon={\r\n <img\r\n src={`/assets/img/svg/bottombar/${\r\n this.props.state.scene.showWallCabinetMeasure === 0\r\n ? '2d3d_button.svg'\r\n : '2d3d_button_active.svg'\r\n }`}\r\n style={{ width: '30px', height: '30px' }}\r\n />\r\n }\r\n />\r\n </S.ToggleWrapper>\r\n <S.ToggleWrapper\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <S.ToggleLabel>Windows & Doors</S.ToggleLabel>\r\n <ToggleMeasureButton\r\n style={{ marginRight: 10, height: 30 }}\r\n key={'S/H Measure'}\r\n active={control === 'show/hide toggle measure '}\r\n settingMode={mode}\r\n showMeasure={this.props.state.scene.showWindowDoorMeasure}\r\n backgroundImage={\r\n <img\r\n src={`/assets/img/svg/bottombar/${\r\n this.props.state.scene.showWindowDoorMeasure === 0\r\n ? '2d3d_toggle.svg'\r\n : '2d3d_toggle_active.svg'\r\n }`}\r\n style={{ width: '55px', height: '30px' }}\r\n />\r\n }\r\n onClick={() => {\r\n if (!this.props.layers.get(this.props.selectedLayer).areas.size) {\r\n this.setState({\r\n snackBarMessage: 'No Floor plan',\r\n isSnackBarOpen: true\r\n });\r\n return;\r\n }\r\n viewer2DActions.changeWindowDoorMeasure(\r\n 1 - this.props.state.scene.get('showWindowDoorMeasure')\r\n );\r\n }}\r\n icon={\r\n <img\r\n src={`/assets/img/svg/bottombar/${\r\n this.props.state.scene.showWindowDoorMeasure === 0\r\n ? '2d3d_button.svg'\r\n : '2d3d_button_active.svg'\r\n }`}\r\n style={{ width: '30px', height: '30px' }}\r\n />\r\n }\r\n />\r\n </S.ToggleWrapper>\r\n </PS.SettingDialog>\r\n );\r\n\r\n let helpDialog = '';\r\n helpDialog = this.props.state.isHelp ? (\r\n <PS.HelpDialog id=\"help_dialog\">\r\n <div\r\n style={{\r\n overflowY: 'auto',\r\n maxHeight: 'calc(100vh - 230px)',\r\n padding: '10px'\r\n }}\r\n >\r\n <div style={{ display: 'flex', justifyContent: 'space-between' }}>\r\n <PS.HCTitle>Help Center</PS.HCTitle>\r\n <PS.Support\r\n onClick={() => {\r\n this.setState({ helpViewNum: 3 });\r\n }}\r\n >\r\n <img src=\"/assets/img/svg/lefttoolbar/room-shape-custom.svg\" />\r\n Tech Support\r\n </PS.Support>\r\n </div>\r\n {helpViewNum === 1 ? (\r\n <div>\r\n <PS.Video>\r\n <div\r\n style={{\r\n backgroundImage:\r\n 'url(\"/assets/img/png/helper/video_preview_start.png\")',\r\n backgroundSize: 'cover',\r\n width: '100%',\r\n height: '150px',\r\n borderRadius: '10px'\r\n }}\r\n >\r\n <div\r\n style={{\r\n backgroundImage:\r\n 'linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0))',\r\n width: '100%',\r\n height: '100%',\r\n borderRadius: '10px'\r\n }}\r\n />\r\n </div>\r\n <PS.VideoText>\r\n <PS.VideoTitle>How to get Started</PS.VideoTitle>\r\n <PS.VideoTag>Posted 2 days ago</PS.VideoTag>\r\n </PS.VideoText>\r\n <PS.VideoButton\r\n onClick={() => {\r\n this.setState({\r\n videoUrl: '/assets/001.Welcome-To-The-Course.mp4'\r\n });\r\n document.getElementById('videoModal').style.display =\r\n 'flex';\r\n }}\r\n >\r\n <img\r\n src=\"/assets/img/svg/lefttoolbar/room-shape-custom.svg\"\r\n style={{ width: '100%', height: '100%' }}\r\n />\r\n </PS.VideoButton>\r\n </PS.Video>\r\n <PS.HCCard>\r\n <PS.HCCardTitle>Getting Started Tutorial</PS.HCCardTitle>\r\n <PS.HCLable>\r\n The introductory tutorial showing you the bare bones of the\r\n DIY Design Software\r\n </PS.HCLable>\r\n <PS.HCTag>Posted 2 days ago</PS.HCTag>\r\n </PS.HCCard>\r\n <PS.HCSubTitle>How can we help?</PS.HCSubTitle>\r\n <PS.SearchBox>\r\n <PS.SearchInput placeholder=\"Search for help\" />\r\n <PS.SearchIcon>\r\n <img src=\"/assets/img/svg/help/search.svg\" />\r\n </PS.SearchIcon>\r\n </PS.SearchBox>\r\n <PS.HCSubTitle>Tutorials</PS.HCSubTitle>\r\n <PS.HCHr />\r\n <PS.Video>\r\n <div\r\n style={{\r\n backgroundImage:\r\n 'url(\"/assets/img/png/helper/video_preview_3d.png\")',\r\n backgroundSize: 'cover',\r\n width: '100%',\r\n height: '150px',\r\n borderRadius: '10px'\r\n }}\r\n >\r\n <div\r\n style={{\r\n backgroundImage:\r\n 'linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0))',\r\n width: '100%',\r\n height: '100%',\r\n borderRadius: '10px'\r\n }}\r\n />\r\n </div>\r\n <PS.VideoText>\r\n <PS.VideoTitle>3D Viewport</PS.VideoTitle>\r\n <PS.VideoTag>Posted 2 days ago</PS.VideoTag>\r\n </PS.VideoText>\r\n <PS.VideoButton\r\n onClick={() => {\r\n this.setState({\r\n videoUrl: '/assets/002.A-Look-At-The-Main-App.mp4'\r\n });\r\n document.getElementById('videoModal').style.display =\r\n 'flex';\r\n }}\r\n >\r\n <img\r\n src=\"/assets/img/svg/lefttoolbar/room-shape-custom.svg\"\r\n style={{ width: '100%', height: '100%' }}\r\n />\r\n </PS.VideoButton>\r\n </PS.Video>\r\n <PS.HCCard>\r\n <PS.HCCardTitle>3D Tutorial</PS.HCCardTitle>\r\n <PS.HCLable>\r\n The tutorial showing you the fundamentals of 3D viewport\r\n feature.\r\n </PS.HCLable>\r\n <PS.HCTag>Posted 2 days ago</PS.HCTag>\r\n </PS.HCCard>\r\n <PS.HCHr />\r\n <PS.HCCard>\r\n <div\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <div>\r\n <PS.HCCardTitle>Layout Tutorial</PS.HCCardTitle>\r\n <PS.HCLable>\r\n The tutorial showing you how to create layouts,\r\n dynamically and with presets.\r\n </PS.HCLable>\r\n <PS.HCTag>Posted 2 days ago</PS.HCTag>\r\n </div>\r\n <PS.HCCardButton>\r\n <img\r\n style={{\r\n WebkitMaskImage: 'url(/assets/img/svg/help/check.svg)',\r\n backgroundColor: BG_COLOR_1,\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center',\r\n width: '20px',\r\n height: '20px'\r\n }}\r\n />\r\n </PS.HCCardButton>\r\n </div>\r\n </PS.HCCard>\r\n <PS.HCHr />\r\n <PS.HCCard>\r\n <div\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <div>\r\n <PS.HCCardTitle>Island Walls Tutorial</PS.HCCardTitle>\r\n <PS.HCLable>\r\n The tutorial showing you how to create island walls.\r\n </PS.HCLable>\r\n <PS.HCTag>Posted 2 days ago</PS.HCTag>\r\n </div>\r\n <PS.HCCardButton>\r\n <img\r\n style={{\r\n WebkitMaskImage: 'url(/assets/img/svg/help/check.svg)',\r\n backgroundColor: BG_COLOR_1,\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center',\r\n width: '20px',\r\n height: '20px'\r\n }}\r\n />\r\n </PS.HCCardButton>\r\n </div>\r\n </PS.HCCard>\r\n <PS.HCHr />\r\n <PS.HCCard>\r\n <div\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <div>\r\n <PS.HCCardTitle>Measurements Tutorial</PS.HCCardTitle>\r\n <PS.HCLable>\r\n The tutorial showing you theMeasurementsFeature.\r\n </PS.HCLable>\r\n <PS.HCTag>Posted 2 days ago</PS.HCTag>\r\n </div>\r\n <PS.HCCardButton\r\n onClick={() => {\r\n this.setState({ helpViewNum: 2 });\r\n }}\r\n >\r\n <img\r\n style={{\r\n WebkitMaskImage: 'url(/assets/img/svg/help/check.svg)',\r\n backgroundColor: BG_COLOR_1,\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center',\r\n width: '20px',\r\n height: '20px'\r\n }}\r\n />\r\n </PS.HCCardButton>\r\n </div>\r\n </PS.HCCard>\r\n <PS.HCSubTitle>FAQ</PS.HCSubTitle>\r\n <PS.HCCollapse>\r\n <PS.HCHr />\r\n <button\r\n className=\"collapsible\"\r\n type=\"button\"\r\n onClick={() => {\r\n let coll = document.getElementsByClassName('collapsible');\r\n coll[0].classList.toggle('active');\r\n let content = coll[0].nextElementSibling;\r\n if (content.style.maxHeight) {\r\n content.style.maxHeight = null;\r\n } else {\r\n content.style.maxHeight = content.scrollHeight + 'px';\r\n }\r\n }}\r\n >\r\n <div\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <span>Question here</span>\r\n <img\r\n style={{\r\n WebkitMaskImage: 'url(/assets/img/svg/help/check.svg)',\r\n backgroundColor: SECONDARY_PURPLE_COLOR,\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center',\r\n width: '20px',\r\n height: '20px'\r\n }}\r\n ></img>\r\n </div>\r\n </button>\r\n <div className=\"content\">\r\n Answer displayed here... the tutorial showing you how to\r\n create layouts, dynamically and with presets...\r\n </div>\r\n </PS.HCCollapse>\r\n <PS.HCCollapse>\r\n <PS.HCHr />\r\n <button\r\n className=\"collapsible\"\r\n type=\"button\"\r\n onClick={() => {\r\n let coll = document.getElementsByClassName('collapsible');\r\n coll[1].classList.toggle('active');\r\n let content = coll[1].nextElementSibling;\r\n if (content.style.maxHeight) {\r\n content.style.maxHeight = null;\r\n } else {\r\n content.style.maxHeight = content.scrollHeight + 'px';\r\n }\r\n }}\r\n >\r\n <div\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <span>Question here</span>\r\n <img\r\n style={{\r\n WebkitMaskImage: 'url(/assets/img/svg/help/check.svg)',\r\n backgroundColor: SECONDARY_PURPLE_COLOR,\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center',\r\n width: '20px',\r\n height: '20px'\r\n }}\r\n ></img>\r\n </div>\r\n </button>\r\n <div className=\"content\">\r\n Answer displayed here... the tutorial showing you how to\r\n create layouts, dynamically and with presets...\r\n </div>\r\n </PS.HCCollapse>\r\n <PS.HCCollapse>\r\n <PS.HCHr />\r\n <button\r\n className=\"collapsible\"\r\n type=\"button\"\r\n onClick={() => {\r\n let coll = document.getElementsByClassName('collapsible');\r\n coll[2].classList.toggle('active');\r\n let content = coll[2].nextElementSibling;\r\n if (content.style.maxHeight) {\r\n content.style.maxHeight = null;\r\n } else {\r\n content.style.maxHeight = content.scrollHeight + 'px';\r\n }\r\n }}\r\n >\r\n <div\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <span>Question here</span>\r\n <img\r\n style={{\r\n WebkitMaskImage: 'url(/assets/img/svg/help/check.svg)',\r\n backgroundColor: SECONDARY_PURPLE_COLOR,\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center',\r\n width: '20px',\r\n height: '20px'\r\n }}\r\n ></img>\r\n </div>\r\n </button>\r\n <div className=\"content\">\r\n Answer displayed here... the tutorial showing you how to\r\n create layouts, dynamically and with presets...\r\n </div>\r\n </PS.HCCollapse>\r\n </div>\r\n ) : helpViewNum === 2 ? (\r\n <div>\r\n <PS.TitleBarButton\r\n onClick={() => {\r\n this.setState({ helpViewNum: 1 });\r\n }}\r\n >\r\n <img\r\n style={{ paddingRight: 10 }}\r\n height=\"10px\"\r\n src=\"/assets/img/svg/toolbar/undo_button.svg\"\r\n />\r\n Back\r\n </PS.TitleBarButton>\r\n <PS.HCTitle>Measurements Tutorial</PS.HCTitle>\r\n <PS.HCLable>\r\n Here you willfid how to use theMeasurement Tool\r\n </PS.HCLable>\r\n <PS.HCSubTitle>1. Defiition</PS.HCSubTitle>\r\n <PS.HCLable>\r\n Every object has8 red dots around it.Four of them are located on\r\n the edges and other four are between the edges\r\n </PS.HCLable>\r\n <PS.HCSubTitle>2. StartMeasuring</PS.HCSubTitle>\r\n <PS.HCLable>\r\n To start measuring, click on the starting point. It will turn\r\n dark blue.\r\n </PS.HCLable>\r\n <PS.HCSubTitle>3. Measure</PS.HCSubTitle>\r\n <PS.HCLable>\r\n To measure the distance click on the ending point.\r\n </PS.HCLable>\r\n <PS.HCSubTitle>4. Outcome</PS.HCSubTitle>\r\n <PS.HCLable>The measurement tool outputs 2 outcomes.</PS.HCLable>\r\n <PS.HCLable>\r\n The first outcome is when the angle between points is not big.\r\n You only see the distance between the points.\r\n </PS.HCLable>\r\n <img\r\n src=\"/assets/img/png/helper/outcome.png\"\r\n style={{ width: '100%' }}\r\n ></img>\r\n <PS.HCLable>\r\n The second outcome is when the angle between points is bigger.\r\n You will see the x and y distance as well as the distance\r\n between points.\r\n </PS.HCLable>\r\n <PS.HCHr style={{ marginTop: '50px' }} />\r\n <PS.HCSubTitle>Related Tutorials</PS.HCSubTitle>\r\n <PS.HCHr style={{ marginTop: '20px' }} />\r\n <PS.HCCard>\r\n <div\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <div>\r\n <PS.HCCardTitle>Layout Tutorial</PS.HCCardTitle>\r\n <PS.HCLable>\r\n The tutorial showing you how to create layouts,\r\n dynamically and with presets.\r\n </PS.HCLable>\r\n <PS.HCTag>Posted 2 days ago</PS.HCTag>\r\n </div>\r\n <PS.HCCardButton>\r\n <img\r\n style={{\r\n WebkitMaskImage: 'url(/assets/img/svg/help/check.svg)',\r\n backgroundColor: BG_COLOR_1,\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center',\r\n width: '20px',\r\n height: '20px'\r\n }}\r\n />\r\n </PS.HCCardButton>\r\n </div>\r\n </PS.HCCard>\r\n <PS.HCHr />\r\n <PS.HCCard>\r\n <div\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <div>\r\n <PS.HCCardTitle>Island Walls Tutorial</PS.HCCardTitle>\r\n <PS.HCLable>\r\n The tutorial showing you how to create island walls.\r\n </PS.HCLable>\r\n <PS.HCTag>Posted 2 days ago</PS.HCTag>\r\n </div>\r\n <PS.HCCardButton>\r\n <img\r\n style={{\r\n WebkitMaskImage: 'url(/assets/img/svg/help/check.svg)',\r\n backgroundColor: BG_COLOR_1,\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center',\r\n width: '20px',\r\n height: '20px'\r\n }}\r\n />\r\n </PS.HCCardButton>\r\n </div>\r\n </PS.HCCard>\r\n <PS.HCHr />\r\n <PS.HCCard>\r\n <div\r\n style={{ display: 'flex', justifyContent: 'space-between' }}\r\n >\r\n <div>\r\n <PS.HCCardTitle>Measurements Tutorial</PS.HCCardTitle>\r\n <PS.HCLable>\r\n The tutorial showing you theMeasurementsFeature.\r\n </PS.HCLable>\r\n <PS.HCTag>Posted 2 days ago</PS.HCTag>\r\n </div>\r\n <PS.HCCardButton\r\n onClick={() => {\r\n this.setState({ helpViewNum: 2 });\r\n }}\r\n >\r\n <img\r\n style={{\r\n WebkitMaskImage: 'url(/assets/img/svg/help/check.svg)',\r\n backgroundColor: BG_COLOR_1,\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center',\r\n width: '20px',\r\n height: '20px'\r\n }}\r\n />\r\n </PS.HCCardButton>\r\n </div>\r\n </PS.HCCard>\r\n </div>\r\n ) : (\r\n <div>\r\n <PS.TitleBarButton\r\n onClick={() => {\r\n this.setState({ helpViewNum: 1 });\r\n }}\r\n >\r\n <img\r\n style={{ paddingRight: 10 }}\r\n height=\"10px\"\r\n src=\"/assets/img/svg/toolbar/undo_button.svg\"\r\n />\r\n Back\r\n </PS.TitleBarButton>\r\n <PS.HCTitle>Tech Support</PS.HCTitle>\r\n <PS.HCLable>Support text here.</PS.HCLable>\r\n <div style={{ margin: '0 10px' }}>\r\n <PS.HCSelect>\r\n <div>Select Subject</div>\r\n <select defaultValue=\"\">\r\n <option key={0} value=\"\" disabled>\r\n What issue do you occur\r\n </option>\r\n <option key={1} value=\"1\">\r\n Item 1\r\n </option>\r\n <option key={2} value=\"2\">\r\n Item 2\r\n </option>\r\n <option key={3} value=\"3\">\r\n Item 3\r\n </option>\r\n </select>\r\n </PS.HCSelect>\r\n <PS.HCUpload>\r\n <div className=\"upload\">\r\n <label>\r\n <p>\r\n Drag and drop files or <u>Browse</u>\r\n </p>\r\n <input type=\"file\" />\r\n </label>\r\n </div>\r\n <div className=\"upload-label\">\r\n Please upload files under 5MB, other supporting text.\r\n </div>\r\n </PS.HCUpload>\r\n <div style={{ width: '100%', marginTop: 10 }}>\r\n <PS.HCTextArea\r\n value={notes}\r\n maxLength={200}\r\n placeholder=\"Describe your problem\"\r\n onChange={e => this.setState({ notes: e.target.value })}\r\n />\r\n <span\r\n style={{\r\n fontSize: 13,\r\n color: TEXT_COLOR_NEUTRAL_1,\r\n float: 'right',\r\n lineHeight: '18px',\r\n fontWeight: 400,\r\n marginRight: '20px'\r\n }}\r\n >\r\n {notes.length}/200 characters\r\n </span>\r\n </div>\r\n </div>\r\n <PS.HCCardButton style={{ width: '130px' }}>\r\n <p style={{ margin: 'auto' }}>Submit Ticket</p>\r\n </PS.HCCardButton>\r\n </div>\r\n )}\r\n </div>\r\n </PS.HelpDialog>\r\n ) : (\r\n ''\r\n );\r\n\r\n // property window\r\n let tabDialog = (\r\n <PS.Tab>\r\n {/* top line of property window - object properties tab, collapse icon, close icon */}\r\n <PS.TopLine>\r\n <PS.TabLine>\r\n {objectProperty === '' ? null : (\r\n <PS.TabLabel\r\n onClick={() => {\r\n this.openTab('object');\r\n projectActions.setIsHelp(false);\r\n }}\r\n id=\"object_link\"\r\n className={`tablinks ${helpDialog === '' ? 'selected' : ''}`}\r\n >\r\n <label>Object Properties</label>\r\n <img\r\n style={{\r\n float: 'right',\r\n height: 20,\r\n width: 20,\r\n transform: 'rotate(45deg)',\r\n WebkitMaskImage:\r\n 'url(/assets/img/svg/bottombar/arrow-plus.svg)',\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center'\r\n }}\r\n onClick={e => {\r\n e.stopPropagation();\r\n projectActions.unselectAll();\r\n helpDialog !== '' && this.openTab('help');\r\n }}\r\n />\r\n </PS.TabLabel>\r\n )}\r\n {helpDialog !== '' ? (\r\n <PS.TabLabel\r\n onClick={() => this.openTab('help')}\r\n id=\"help_link\"\r\n className=\"tablinks selected\"\r\n >\r\n <label>Help Center</label>\r\n <img\r\n style={{\r\n float: 'right',\r\n height: 20,\r\n width: 20,\r\n transform: 'rotate(45deg)',\r\n WebkitMaskImage:\r\n 'url(/assets/img/svg/bottombar/arrow-plus.svg)',\r\n WebkitMaskSize: '100%',\r\n WebkitMaskPosition: 'center'\r\n }}\r\n onClick={() => projectActions.setIsHelp(false)}\r\n />\r\n </PS.TabLabel>\r\n ) : null}\r\n </PS.TabLine>\r\n {helpDialog === '' && objectProperty === '' ? null : (\r\n <PS.ToolLine>\r\n <PS.TitleBarIconButton>\r\n <img\r\n style={{\r\n float: 'left',\r\n height: 24,\r\n marginLeft: 10\r\n }}\r\n onClick={() => {\r\n this.props.setShowProperty(false);\r\n }}\r\n src=\"/assets/img/svg/bottombar/collapse.svg\"\r\n />\r\n </PS.TitleBarIconButton>\r\n <PS.TitleBarIconButton>\r\n <img\r\n style={{\r\n float: 'right',\r\n height: 24,\r\n transform: 'rotate(45deg)',\r\n marginRight: 10\r\n }}\r\n onClick={() => {\r\n if (mode === MODE_DRAWING_LINE) {\r\n projectActions.rollback();\r\n }\r\n projectActions.unselectAll();\r\n projectActions.setIsHelp(false);\r\n }}\r\n src=\"/assets/img/svg/bottombar/arrow-plus.svg\"\r\n />\r\n </PS.TitleBarIconButton>\r\n </PS.ToolLine>\r\n )}\r\n </PS.TopLine>\r\n {/* help section */}\r\n <div\r\n id=\"help\"\r\n className=\"tabcontent\"\r\n style={{ display: helpDialog === '' ? 'none' : 'flex' }}\r\n >\r\n {helpDialog}\r\n </div>\r\n {/* property section */}\r\n <div\r\n id=\"object\"\r\n className=\"tabcontent\"\r\n style={{ display: `${helpDialog === '' ? 'flex' : 'none'}` }}\r\n >\r\n {objectProperty}\r\n </div>\r\n </PS.Tab>\r\n );\r\n\r\n let controlView = isElevationView(mode)\r\n ? [\r\n <div\r\n key={'section1'}\r\n onKeyDown={event => event.stopPropagation()}\r\n onKeyUp={event => event.stopPropagation()}\r\n style={{\r\n display: 'flex',\r\n position: 'absolute',\r\n right: 10,\r\n top: this.props.headerH + 10,\r\n zIndex: 10,\r\n maxHeight: 0\r\n }}\r\n >\r\n {settingDialog}\r\n </div>\r\n ]\r\n : !ARRAY_3D_MODES.includes(mode)\r\n ? [\r\n /**\r\n *undo/redo button\r\n */\r\n <div\r\n key={'section1'}\r\n onKeyDown={event => event.stopPropagation()}\r\n onKeyUp={event => event.stopPropagation()}\r\n style={{\r\n display: 'flex',\r\n position: 'absolute',\r\n right: 10,\r\n top: this.props.headerH + 10,\r\n zIndex: 10,\r\n maxHeight: 0\r\n }}\r\n >\r\n <div style={{ textAlign: 'right', display: 'flex' }}>\r\n <div\r\n style={{\r\n display: 'flex',\r\n left: 10,\r\n zIndex: 1,\r\n flexDirection: 'row'\r\n }}\r\n >\r\n <S.RightButton\r\n style={{\r\n padding: '0px 18px',\r\n marginLeft: 10,\r\n marginRight: 'unset'\r\n }}\r\n onClick={() => {\r\n this.props.setToolbar('');\r\n projectActions.undo();\r\n }}\r\n >\r\n <S.RightButtonImage\r\n src=\"/assets/img/svg/toolbar/undo_button.svg\"\r\n style={{ height: 10, width: 14 }}\r\n />\r\n </S.RightButton>\r\n <S.RightButton\r\n style={{\r\n padding: '0px 18px',\r\n marginLeft: 10,\r\n marginRight: 'unset'\r\n }}\r\n onClick={() => {\r\n this.props.setToolbar('');\r\n projectActions.redo();\r\n }}\r\n >\r\n <S.RightButtonImage\r\n src=\"/assets/img/svg/toolbar/redo_button.svg\"\r\n style={{ height: 10, width: 14 }}\r\n />\r\n </S.RightButton>\r\n </div>\r\n\r\n <S.RightButton onClick={topBtnAction}>\r\n <S.RightButtonImage src=\"/assets/img/svg/lefttoolbar/room-shape-custom.svg\" />\r\n <span\r\n style={{\r\n color: SECONDARY_PURPLE_COLOR,\r\n fontFamily: DEFAULT_FONT_FAMILY,\r\n textAlign: 'left',\r\n fontSize: 16,\r\n fontWeight: 600,\r\n lineHeight: '18px',\r\n paddingLeft: 5\r\n }}\r\n >\r\n Add Walls\r\n </span>\r\n </S.RightButton>\r\n <S.RightButton\r\n onClick={saveSVGScreenshotToFile}\r\n style={{ padding: '0px 17px' }}\r\n >\r\n <S.RightButtonImage\r\n src=\"/assets/img/svg/toolbar/take_picture.svg\"\r\n style={{ height: 14, width: 16 }}\r\n />\r\n </S.RightButton>\r\n {!isShowProperty && (\r\n <S.RightButton\r\n onClick={() => this.props.setShowProperty(true)}\r\n style={{ padding: '0px 17px' }}\r\n >\r\n <S.RightButtonImage\r\n src=\"/assets/img/svg/bottombar/expand.svg\"\r\n style={{ height: 14, width: 16 }}\r\n />\r\n </S.RightButton>\r\n )}\r\n </div>\r\n {/* property window */}\r\n {isShowProperty && tabDialog}\r\n {/* {isShowProperty && objectProperty} */}\r\n {settingDialog}\r\n </div>\r\n ]\r\n : [\r\n <div\r\n key={'section1'}\r\n onKeyDown={event => event.stopPropagation()}\r\n onKeyUp={event => event.stopPropagation()}\r\n style={{\r\n display: 'flex',\r\n position: 'absolute',\r\n right: 10,\r\n top: this.props.headerH + 10,\r\n zIndex: 10,\r\n maxHeight: 0\r\n }}\r\n >\r\n <div\r\n style={{\r\n display: 'flex',\r\n left: 10,\r\n zIndex: 1,\r\n flexDirection: 'row'\r\n }}\r\n >\r\n <S.RightButton\r\n style={{\r\n padding: '0px 18px',\r\n marginLeft: 10,\r\n marginRight: 'unset'\r\n }}\r\n onClick={() => {\r\n this.props.setToolbar('');\r\n projectActions.undo();\r\n }}\r\n >\r\n <S.RightButtonImage\r\n src=\"/assets/img/svg/toolbar/undo_button.svg\"\r\n style={{ height: 10, width: 14 }}\r\n />\r\n </S.RightButton>\r\n <S.RightButton\r\n style={{\r\n padding: '0px 18px',\r\n marginLeft: 10,\r\n marginRight: 'unset'\r\n }}\r\n onClick={() => {\r\n this.props.setToolbar('');\r\n projectActions.redo();\r\n }}\r\n >\r\n <S.RightButtonImage\r\n src=\"/assets/img/svg/toolbar/redo_button.svg\"\r\n style={{ height: 10, width: 14 }}\r\n />\r\n </S.RightButton>\r\n </div>\r\n <div style={{ textAlign: 'right', display: 'flex' }}>\r\n <S.RightButton\r\n onClick={saveScreenshotToFile}\r\n style={{ padding: '0px 16px' }}\r\n >\r\n <S.RightButtonImage src=\"/assets/img/svg/toolbar/take_picture.svg\" />\r\n </S.RightButton>\r\n {!isShowProperty && (\r\n <S.RightButton\r\n onClick={() => this.props.setShowProperty(true)}\r\n style={{ padding: '0px 17px' }}\r\n >\r\n <S.RightButtonImage\r\n src=\"/assets/img/svg/bottombar/expand.svg\"\r\n style={{ height: 14, width: 16 }}\r\n />\r\n </S.RightButton>\r\n )}\r\n </div>\r\n {isShowProperty && tabDialog}\r\n {/* {isShowProperty && objectProperty} */}\r\n {settingDialog}\r\n </div>\r\n ];\r\n\r\n let temp = [];\r\n\r\n cabinetCategory.data.forEach(type => {\r\n (type.type !== 'cabinet_category' ||\r\n type.name == 'Molding' ||\r\n type.items.filter(\r\n item =>\r\n (currentTexture?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === item.itemID\r\n ).length !== 0\r\n ).length !== 0) &&\r\n temp.push(\r\n <S.SubCategoryItem\r\n style={{\r\n paddingLeft: 50,\r\n backgroundColor:\r\n subCabinetCategory.name === type.name && TEXT_COLOR_NEUTRAL_5\r\n }}\r\n onClick={() => setSubData(type.name, type.items)}\r\n >\r\n <S.SubCategoryItemLabel\r\n style={{\r\n fontWeight: subCabinetCategory.name === type.name && 700\r\n }}\r\n >\r\n {type.name}\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n );\r\n });\r\n\r\n const finishingData = [\r\n {\r\n name: 'Handles',\r\n thumbnail: '/assets/img/svg/toolbar/handles.svg',\r\n data: this.props.categoryData.data.doorHandle\r\n },\r\n {\r\n name: 'Countertop',\r\n thumbnail: '/assets/img/svg/toolbar/countertop.svg',\r\n data: this.props.categoryData.data.counterTop\r\n },\r\n {\r\n name: 'Backsplash',\r\n thumbnail: '/assets/img/svg/toolbar/backsplash.svg',\r\n data: this.props.categoryData.data.backsplash\r\n },\r\n {\r\n name: 'Wall Color',\r\n thumbnail: '/assets/img/svg/toolbar/wall_color_icon.svg',\r\n data: this.props.categoryData.data.wallColors\r\n },\r\n {\r\n name: 'Floor Styles',\r\n thumbnail: '/assets/img/svg/toolbar/floorstyle.svg',\r\n data: this.props.categoryData.data.floorStyles\r\n },\r\n {\r\n name: 'Lighting',\r\n thumbnail: '/assets/img/svg/toolbar/lighting.svg',\r\n data: this.props.categoryData.data.lighting\r\n },\r\n {\r\n name: 'Furnishing',\r\n thumbnail: '/assets/img/svg/toolbar/furnishings_icon.svg',\r\n data: this.props.categoryData.data.furnishing\r\n }\r\n ];\r\n\r\n let roomShapeData = [\r\n {\r\n title: 'Square',\r\n url: '/assets/img/svg/lefttoolbar/room-shape-square.svg',\r\n data: rectangleData\r\n },\r\n {\r\n title: 'L-Shaped',\r\n url: '/assets/img/svg/lefttoolbar/room-shape-L.svg',\r\n data: lShaped\r\n },\r\n {\r\n title: 'Irregular',\r\n url: '/assets/img/svg/lefttoolbar/room-shape-irregular.svg',\r\n data: longNarrow\r\n },\r\n {\r\n title: 'Open',\r\n url: '/assets/img/svg/lefttoolbar/room-shape-open.svg',\r\n data: oRectangle\r\n },\r\n {\r\n title: 'Custom',\r\n url: '/assets/img/svg/lefttoolbar/room-shape-custom.svg'\r\n }\r\n ];\r\n let roomElementsData = [\r\n {\r\n title: 'Windows',\r\n url: '/assets/img/svg/lefttoolbar/window.svg',\r\n data: [window_clear, window_cross, window_double_hung, window_vertical]\r\n },\r\n {\r\n title: 'Doors',\r\n url: '/assets/img/svg/lefttoolbar/door.svg',\r\n data: [\r\n door_interior,\r\n door_exterior,\r\n door_closet,\r\n door_sliding,\r\n door_framed,\r\n door_frameless\r\n ]\r\n }\r\n ];\r\n\r\n const setSubData = (name, data) => {\r\n if (data.find(item => item.type === 'cabinet'))\r\n this.setState({\r\n subCabinetCategory: {\r\n name: subCabinetCategory.name === name ? '' : name,\r\n data: subCabinetCategory.data === data ? [] : data\r\n }\r\n });\r\n else\r\n this.setState({\r\n cabinetCategory: {\r\n name: cabinetCategory.name === name ? '' : name,\r\n data: cabinetCategory.data === data ? [] : data\r\n },\r\n subCabinetCategory: { name: '', data: [] }\r\n });\r\n };\r\n\r\n const setRoomElement = () => {\r\n this.context.projectActions.setIsCabinetDrawing(true);\r\n if (selectedRoomElement === 'Doors') {\r\n }\r\n };\r\n\r\n let testData = [];\r\n if (process.env.MODE === 'staging') {\r\n for (let testJson in testJsonData) {\r\n testData.push(\r\n <S.testJsonItemWrapper\r\n onClick={() => {\r\n if (\r\n window.confirm(\r\n `Do you really load ${testJson}.json for KC test?`\r\n )\r\n ) {\r\n this.context.projectActions.loadProject(\r\n JSON.parse(testJsonData[testJson].project_data),\r\n this.props.categoryData\r\n );\r\n this.setState({ addingJson: false });\r\n this.props.setToolbar('');\r\n }\r\n }}\r\n >\r\n {testJson}\r\n </S.testJsonItemWrapper>\r\n );\r\n }\r\n }\r\n\r\n const isShowMoldingMenuItem = (subCabinetCategory, item) => {\r\n if (subCabinetCategory.name === TOE_KICK_MOLDING) {\r\n const items = this.state.elements.items?.toArray() ?? [];\r\n for (let i = 0; i < items.length; i++) {\r\n if (\r\n (items[i]?.toJS()?.doorStyle?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === item.itemID\r\n ).length > 0\r\n )\r\n return true;\r\n }\r\n }\r\n\r\n if (\r\n (currentTexture?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === item.itemID\r\n ).length > 0\r\n )\r\n return true;\r\n\r\n return false;\r\n };\r\n\r\n let installation = getInstallationSuffix(\r\n INSTALLATION_SUFFIX_TYPE.NAME,\r\n currentTexture\r\n );\r\n\r\n let categories = [\r\n {\r\n toolbar: 'room-shape',\r\n content: (\r\n <div style={{ display: 'flex' }}>\r\n <S.SubToolbarWrapper style={{ alignItems: 'flex-start' }}>\r\n <S.SubCategoryTitle>Change room shape</S.SubCategoryTitle>\r\n <S.SubCategoryItemWrapper>\r\n {roomShapeData.map((item, key) => {\r\n return (\r\n <S.SubCategoryItem\r\n style={{ marginRight: 0 }}\r\n onClick={event => {\r\n if (item.title === 'Custom') {\r\n topBtnAction();\r\n this.props.setToolbar('');\r\n } else this.loadProjectFromData(item, event);\r\n }}\r\n key={key}\r\n >\r\n <S.SubCategoryItemImage\r\n style={{ height: 25, width: 25 }}\r\n maskImage={item.url}\r\n />\r\n <S.SubCategoryItemLabel>\r\n {item.title}\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n );\r\n })}\r\n </S.SubCategoryItemWrapper>\r\n <S.SubCategoryTitle style={{ marginTop: 15 }}>\r\n Add room elements\r\n </S.SubCategoryTitle>\r\n <S.SubCategoryItemWrapper style={{ marginTop: 10 }}>\r\n {roomElementsData.map((item, key) => {\r\n return (\r\n <S.SubCategoryItem\r\n style={{ marginRight: 0 }}\r\n onClick={() =>\r\n this.setState({\r\n selectedRoomElement:\r\n selectedRoomElement === item.title ? '' : item.title\r\n })\r\n }\r\n key={key}\r\n >\r\n <S.SubCategoryItemImage\r\n style={{ height: 25, width: 25 }}\r\n maskImage={item.url}\r\n />\r\n <S.SubCategoryItemLabel>\r\n {item.title}\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n );\r\n })}\r\n </S.SubCategoryItemWrapper>\r\n {process.env.MODE === 'staging' &&\r\n !!Object.keys(testJsonData).length && (\r\n <S.SubCategoryItemWrapper\r\n onClick={() =>\r\n this.setState({\r\n addingJson: !this.state.addingJson,\r\n selectedRoomElement: ''\r\n })\r\n }\r\n >\r\n <S.SubCategoryItem>\r\n <S.SubCategoryItemLabel\r\n style={{ marginLeft: 15, color: TEXT_COLOR_NEUTRAL_0 }}\r\n >\r\n Test JSONs\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n </S.SubCategoryItemWrapper>\r\n )}\r\n </S.SubToolbarWrapper>\r\n {selectedRoomElement && (\r\n <S.SubToolbarWrapper\r\n style={{\r\n alignItems: 'flex-start',\r\n marginLeft: 20,\r\n minWidth: 250\r\n }}\r\n >\r\n {roomElementsData\r\n .find(item => {\r\n return item.title === selectedRoomElement;\r\n })\r\n .data.map((thing, key) => {\r\n return (\r\n <S.SubCategoryItemWrapper\r\n onClick={() =>\r\n setRoomElement({\r\n type: selectedRoomElement,\r\n item: thing\r\n })\r\n }\r\n key={key}\r\n >\r\n <S.SubCategoryItem\r\n style={{ minWidth: 250 }}\r\n onClick={() =>\r\n ARRAY_3D_MODES.includes(mode)\r\n ? this.props.holesActions.selectToolDrawingHole3D(\r\n thing.default.name\r\n )\r\n : this.props.holesActions.selectToolDrawingHole(\r\n thing.default.name\r\n )\r\n }\r\n >\r\n <S.SubCategoryItemImage\r\n style={{ height: 50, width: 50 }}\r\n maskImage={thing.default.info.image}\r\n />\r\n <S.SubCategoryItemLabel style={{ marginLeft: 15 }}>\r\n {thing.default.info.title}\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n </S.SubCategoryItemWrapper>\r\n );\r\n })}\r\n </S.SubToolbarWrapper>\r\n )}\r\n {process.env.MODE === 'staging' &&\r\n !!Object.keys(testJsonData).length &&\r\n this.state.addingJson && (\r\n <S.SubToolbarWrapper\r\n id=\"test_json_datas\"\r\n style={{\r\n alignItems: 'flex-start',\r\n marginLeft: 20,\r\n minWidth: 250\r\n }}\r\n >\r\n {testData}\r\n </S.SubToolbarWrapper>\r\n )}\r\n </div>\r\n )\r\n },\r\n {\r\n toolbar: 'door-style',\r\n content: (\r\n <div style={{ display: 'flex' }}>\r\n <S.SubToolbarWrapper\r\n style={{\r\n justifyContent: cabinetStyleChanging ? 'unset' : 'center'\r\n }}\r\n >\r\n {cabinetStyleChanging ? (\r\n <div\r\n style={{\r\n width: '100%',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n height: '100%'\r\n }}\r\n >\r\n <S.SubCategoryTitle>Choose Door Style</S.SubCategoryTitle>\r\n <div\r\n style={{\r\n marginTop: 15,\r\n width: '90%',\r\n position: 'relative',\r\n display: 'flex',\r\n alignItems: 'center'\r\n }}\r\n >\r\n <input\r\n style={{\r\n height: 50,\r\n width: '100%',\r\n paddingLeft: 50,\r\n border: '1px solid',\r\n borderRadius: 7,\r\n outline: 0\r\n }}\r\n placeholder=\"Search Doors\"\r\n value={searchName}\r\n onChange={e => {\r\n this.setState({ searchName: e.target.value });\r\n }}\r\n />\r\n <img\r\n src=\"/assets/img/svg/lefttoolbar/search.svg\"\r\n style={{\r\n position: 'absolute',\r\n left: 0,\r\n width: 45,\r\n height: 45,\r\n padding: 10\r\n }}\r\n />\r\n <img\r\n src={\r\n this.state.toggleFilters\r\n ? '/assets/img/svg/filtersActive.svg'\r\n : '/assets/img/svg/toggleFilters.svg'\r\n }\r\n style={{\r\n position: 'absolute',\r\n right: '10px',\r\n top: '50%',\r\n transform: 'translateY(-50%)',\r\n cursor: 'pointer',\r\n width: '35px'\r\n }}\r\n onClick={() => {\r\n if (this.state.toggleFilters) {\r\n this.setState({\r\n resetFilters: true\r\n });\r\n }\r\n this.setState({\r\n toggleFilters: !this.state.toggleFilters\r\n });\r\n }}\r\n />\r\n </div>\r\n {this.state.toggleFilters && (\r\n <div\r\n style={{\r\n marginTop: '2rem',\r\n width: '90%',\r\n position: 'relative',\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexDirection: 'column',\r\n gap: '1rem'\r\n }}\r\n >\r\n <DoorStyleMenu\r\n iconStyle={{\r\n marginLeft: 'auto'\r\n }}\r\n placeholder=\"Instalation\"\r\n selected={this.state.cabinetStyle}\r\n onChange={installationType => {\r\n this.setState({\r\n install: installationType,\r\n cabinetStyle: {\r\n ...cabinetStyle,\r\n name: installationType\r\n }\r\n });\r\n }}\r\n data={this.state.DoorStyles}\r\n getValue={item => {\r\n return item.name;\r\n }}\r\n />\r\n <DoorStyleMenu\r\n iconStyle={{\r\n border: '1px solid rgba(193, 202, 228, 1)',\r\n borderRadius: '24px',\r\n marginLeft: 'auto'\r\n }}\r\n placeholder=\"Color\"\r\n selected={cabinetColor}\r\n onChange={cabinetColor => {\r\n this.setState({\r\n cabinetColor: {\r\n ...this.state.cabinetColor,\r\n name: cabinetColor\r\n }\r\n });\r\n }}\r\n data={cabinetColor.data}\r\n getValue={item => {\r\n return item.name;\r\n }}\r\n />\r\n </div>\r\n )}\r\n <S.SubCategoryItemWrapper>\r\n {cabinetStyle.data.map((type, key) => {\r\n const removedFilter = type.name === subCabinetStyle.name;\r\n\r\n return (\r\n <S.SubCategoryItem\r\n style={{\r\n backgroundColor:\r\n removedFilter && TEXT_COLOR_NEUTRAL_5\r\n }}\r\n onClick={() => {\r\n this.setState({\r\n subCabinetStyle: {\r\n ...subCabinetStyle,\r\n name: removedFilter ? '' : type.name\r\n }\r\n });\r\n }}\r\n key={key}\r\n >\r\n <S.SubCategoryItemImage maskImage={type.thumbnail} />\r\n <S.SubCategoryItemLabel\r\n style={{\r\n fontWeight:\r\n subCabinetStyle.name === type.name && 700\r\n }}\r\n >\r\n {type.name}\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n );\r\n })}\r\n </S.SubCategoryItemWrapper>\r\n </div>\r\n ) : (\r\n <S.SubCategoryItemWrapper\r\n style={{ maxWidth: 250, rowGap: 30, margin: 0 }}\r\n >\r\n <div\r\n style={{\r\n display: 'flex',\r\n flexDirection: 'column',\r\n rowGap: 30\r\n }}\r\n >\r\n <S.SubCategoryTitle\r\n style={{\r\n fontSize: 26,\r\n fontWeight: 700,\r\n padding: 'unset',\r\n lineHeight: '36px',\r\n textAlign: 'center',\r\n color: '#000F33'\r\n }}\r\n >\r\n {(currentTexture && currentTexture.name) ||\r\n currentTexture.toJS().name}\r\n </S.SubCategoryTitle>\r\n <img\r\n src={\r\n currentTexture &&\r\n (currentTexture.thumbnail ||\r\n currentTexture.toJS().thumbnail)\r\n }\r\n alt=\"door\"\r\n width={150}\r\n style={{ margin: 'auto' }}\r\n />\r\n </div>\r\n\r\n <div style={{ display: 'block' }}>\r\n <div>\r\n <div\r\n style={{\r\n fontFamily: 'Open Sans',\r\n fontSize: 13,\r\n fontWeight: 600,\r\n padding: '3px 10px',\r\n textAlign: 'center',\r\n lineHeight: '13px',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginBottom: 10,\r\n background: '#FAFAFF',\r\n width: 'fit-content',\r\n margin: '0 auto 2px'\r\n }}\r\n >\r\n <span style={{ color: '#565F77' }}>Installation:</span>\r\n <div style={{ display: 'flex', alignItems: 'center' }}>\r\n <img\r\n src={\r\n this.state.DoorStyles &&\r\n currentTexture &&\r\n this.state.DoorStyles.filter(\r\n item => item.name === installation\r\n )[0]?.thumbnail\r\n }\r\n style={{ height: 14, margin: 3 }}\r\n />\r\n <b style={{ color: SECONDARY_PURPLE_COLOR }}>\r\n {getInstallationSuffix(\r\n INSTALLATION_SUFFIX_TYPE.NAME,\r\n currentTexture\r\n )}\r\n </b>\r\n </div>\r\n </div>\r\n <div\r\n style={{\r\n fontFamily: 'Open Sans',\r\n fontSize: 13,\r\n fontWeight: 600,\r\n padding: '3px 10px',\r\n textAlign: 'center',\r\n lineHeight: '13px',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginBottom: 10,\r\n background: '#FAFAFF',\r\n width: 'fit-content',\r\n margin: '0 auto 0px'\r\n }}\r\n >\r\n <span style={{ color: '#565F77' }}>Door:</span>\r\n <div style={{ display: 'flex', alignItems: 'center' }}>\r\n <img\r\n src={\r\n this.state.DoorStyles &&\r\n currentTexture &&\r\n this.state.DoorStyles.filter(\r\n item => item.name === installation\r\n )[0]?.items.filter(\r\n i =>\r\n i.name ===\r\n (currentTexture.door_style_name ||\r\n currentTexture.toJS().door_style_name)\r\n )[0]?.thumbnail\r\n }\r\n style={{ height: 14, margin: 3 }}\r\n />\r\n <b style={{ color: SECONDARY_PURPLE_COLOR }}>\r\n {currentTexture &&\r\n (currentTexture.name ||\r\n currentTexture.toJS().name)}\r\n </b>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <S.SubCategoryTitle\r\n style={{\r\n fontSize: 13,\r\n fontWeight: 400,\r\n padding: 'unset',\r\n textAlign: 'center',\r\n lineHeight: '18px',\r\n color: '#000F33'\r\n }}\r\n >\r\n Door selection for all cabinets. To browse the entire\r\n collection of doors see below.\r\n </S.SubCategoryTitle>\r\n <S.Button\r\n style={{ width: '95%', border: '1px solid', fontSize: 14 }}\r\n onClick={() =>\r\n this.setState({ cabinetStyleChanging: true })\r\n }\r\n >\r\n Change Door\r\n </S.Button>\r\n </S.SubCategoryItemWrapper>\r\n )}\r\n </S.SubToolbarWrapper>\r\n {cabinetStyleChanging && (\r\n <>\r\n <S.DoorStyleSubToolBarWrapper\r\n style={{ width: viewMoreDoorstyle ? 765 : 500 }}\r\n >\r\n {!subCabinetStyle.data.length && (\r\n <div\r\n style={{\r\n display: 'flex',\r\n flexDirection: 'column',\r\n gap: '1rem',\r\n margin: 'auto',\r\n marginTop: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n }}\r\n >\r\n <span\r\n style={{\r\n color: 'lightgray'\r\n }}\r\n >\r\n No results found. Try changing / resetting the filters.\r\n </span>\r\n\r\n <span\r\n style={{\r\n color: '#4C12A1',\r\n cursor: 'pointer'\r\n }}\r\n onClick={() =>\r\n this.setState({\r\n resetFilters: true\r\n })\r\n }\r\n >\r\n Reset Filters\r\n </span>\r\n </div>\r\n )}\r\n\r\n {this.state.currentTexture && (\r\n <>\r\n <S.DoorstyleCategoryItem\r\n style={{\r\n position: 'fixed',\r\n zIndex: 1,\r\n backgroundColor: 'white'\r\n }}\r\n >\r\n <img\r\n style={{\r\n width: viewMoreDoorstyle ? 150 : 60,\r\n height: viewMoreDoorstyle ? 300 : 120,\r\n padding: 5\r\n }}\r\n src={this.state.currentTexture.thumbnail}\r\n />\r\n <S.ContentCheckImage\r\n style={{\r\n width: viewMoreDoorstyle ? 150 : 60,\r\n height: viewMoreDoorstyle ? 300 : 120,\r\n padding: viewMoreDoorstyle ? 57 : 12\r\n }}\r\n src=\"/assets/img/svg/wizardstep/check-active.svg\"\r\n />\r\n <S.SubCategoryItemLabel\r\n style={{\r\n width: 120,\r\n marginLeft: 0,\r\n marginTop: 15,\r\n fontWeight: 700\r\n }}\r\n >\r\n <>\r\n {this.state.currentTexture.name}\r\n <Tooltip\r\n title={getInstallationSuffix(\r\n INSTALLATION_SUFFIX_TYPE.NAME,\r\n this.state.currentTexture\r\n )}\r\n >\r\n <img\r\n style={{\r\n fontWeight: 'normal',\r\n marginLeft: '0.5rem'\r\n }}\r\n height=\"18\"\r\n src={\r\n this.state.DoorStyles.find(\r\n doorStyle =>\r\n doorStyle.name.toLowerCase() ===\r\n getInstallationSuffix(\r\n INSTALLATION_SUFFIX_TYPE.NAME,\r\n this.state.currentTexture\r\n )?.toLowerCase()\r\n )?.thumbnail\r\n }\r\n alt=\"\"\r\n />\r\n </Tooltip>\r\n </>\r\n </S.SubCategoryItemLabel>\r\n </S.DoorstyleCategoryItem>\r\n\r\n {/*Dummy door to push results*/}\r\n <S.DoorstyleCategoryItem>\r\n <div\r\n style={{\r\n width: viewMoreDoorstyle ? 150 : 60,\r\n height: viewMoreDoorstyle ? 300 : 120,\r\n padding: 5\r\n }}\r\n />\r\n <span\r\n style={{\r\n width: 120\r\n }}\r\n />\r\n </S.DoorstyleCategoryItem>\r\n </>\r\n )}\r\n\r\n {subCabinetStyle.data\r\n .filter(\r\n item =>\r\n !(\r\n item.name === this.state.currentTexture.name &&\r\n isEqualInstallationType(\r\n item,\r\n this.state.currentTexture\r\n )\r\n )\r\n )\r\n .map((item, key) => {\r\n const installation = this.state.DoorStyles.find(\r\n doorStyle =>\r\n doorStyle.name?.toLowerCase() ===\r\n getInstallationSuffix(\r\n INSTALLATION_SUFFIX_TYPE.NAME,\r\n item\r\n )?.toLowerCase()\r\n );\r\n const installationThumbnail = installation?.thumbnail;\r\n\r\n return (\r\n <S.DoorstyleCategoryItem\r\n onClick={() => {\r\n this.setState({\r\n cabinetStyleChanging: false,\r\n cabinetStyle: { ...cabinetStyle, name: '' },\r\n subCabinetStyle: {\r\n ...subCabinetStyle,\r\n name: ''\r\n },\r\n cabinetColor: { ...cabinetColor, name: '' },\r\n searchName: ''\r\n });\r\n this.getStyle(item);\r\n }}\r\n key={key}\r\n >\r\n <img\r\n style={{\r\n width: viewMoreDoorstyle ? 150 : 60,\r\n height: viewMoreDoorstyle ? 300 : 120,\r\n padding: 5\r\n }}\r\n src={item.thumbnail}\r\n />\r\n <S.ContentCheckImage\r\n style={{\r\n width: viewMoreDoorstyle ? 150 : 60,\r\n height: viewMoreDoorstyle ? 300 : 120,\r\n padding: viewMoreDoorstyle ? 57 : 12\r\n }}\r\n id=\"check\"\r\n src=\"/assets/img/svg/wizardstep/check-normal.svg\"\r\n />\r\n <S.SubCategoryItemLabel\r\n style={{\r\n width: 120,\r\n marginLeft: 0,\r\n marginTop: 15,\r\n fontWeight: 'normal'\r\n }}\r\n >\r\n <>\r\n {item.name}\r\n <Tooltip title={installation?.name}>\r\n <img\r\n style={{\r\n fontWeight: 'normal',\r\n marginLeft: '0.5rem'\r\n }}\r\n height=\"18\"\r\n src={installationThumbnail}\r\n alt=\"\"\r\n />\r\n </Tooltip>\r\n </>\r\n </S.SubCategoryItemLabel>\r\n </S.DoorstyleCategoryItem>\r\n );\r\n })}\r\n </S.DoorStyleSubToolBarWrapper>\r\n\r\n {subCabinetStyle.data.length > 0 && (\r\n <S.Button\r\n style={{\r\n padding: 10,\r\n borderRadius: '50%',\r\n border: `3px solid ${BG_COLOR_1}`,\r\n marginTop: 'unset',\r\n marginLeft: 10,\r\n height: 'max-content'\r\n }}\r\n >\r\n <img\r\n src=\"\\assets\\img\\svg\\lefttoolbar\\view_more.svg\"\r\n onClick={() =>\r\n this.setState({ viewMoreDoorstyle: !viewMoreDoorstyle })\r\n }\r\n style={{\r\n height: 18,\r\n transform: `rotate(${viewMoreDoorstyle ? -90 : 90}deg)`\r\n }}\r\n />\r\n </S.Button>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )\r\n },\r\n {\r\n toolbar: 'cabinet',\r\n content: (\r\n <div style={{ display: 'flex' }}>\r\n <S.SubToolbarWrapper style={{ alignItems: 'flex-start' }}>\r\n <S.SubCategoryTitle>Add Cabinets</S.SubCategoryTitle>\r\n <S.SubCategoryItemWrapper>\r\n {this.props.categoryData.data.cabinets.map((cabinet, key) => {\r\n return (\r\n <div\r\n style={{ display: 'flex', flexDirection: 'column' }}\r\n key={key}\r\n >\r\n <S.SubCategoryItem\r\n onClick={() => setSubData(cabinet.name, cabinet.items)}\r\n style={{\r\n backgroundColor:\r\n cabinetCategory.name === cabinet.name &&\r\n TEXT_COLOR_NEUTRAL_5\r\n }}\r\n >\r\n <S.SubCategoryItemImage maskImage={cabinet.thumbnail} />\r\n <S.SubCategoryItemLabel\r\n style={{\r\n fontWeight:\r\n cabinetCategory.name === cabinet.name && 700\r\n }}\r\n >\r\n {cabinet.name}\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n {cabinetCategory.name === cabinet.name && temp}\r\n </div>\r\n );\r\n })}\r\n </S.SubCategoryItemWrapper>\r\n </S.SubToolbarWrapper>\r\n {subCabinetCategory.name && (\r\n <S.SubToolbarWrapper\r\n style={{\r\n alignItems: 'flex-start',\r\n marginLeft: 20,\r\n minWidth: 250\r\n }}\r\n >\r\n <S.SubCategoryItemWrapper>\r\n {subCabinetCategory.data\r\n .filter(cabinet => {\r\n const cabinetObject = buildCurrentCabinetObject(\r\n cabinet,\r\n currentTexture\r\n );\r\n\r\n const internalSKU = makeSKUForMagento(\r\n cabinetObject,\r\n this.props.catalog\r\n );\r\n\r\n if (!this.props.configData?.productBlacklist) {\r\n return true;\r\n }\r\n\r\n return !this.props.configData.productBlacklist.includes(\r\n internalSKU\r\n );\r\n })\r\n .map((item, key) => {\r\n let blMolding = item.category === ITEM_TYPE.MOLDING;\r\n return blMolding ? (\r\n <S.SubCategoryItem\r\n id={item.id}\r\n style={{\r\n display:\r\n !isShowMoldingMenuItem(\r\n subCabinetCategory,\r\n item\r\n ) && 'none',\r\n minWidth: 250,\r\n opacity:\r\n subCabinetCategory.name === TOE_KICK_MOLDING\r\n ? 0.5\r\n : 1\r\n }}\r\n onClick={() => {\r\n if (subCabinetCategory.name !== TOE_KICK_MOLDING) {\r\n this.setFinishing(item);\r\n }\r\n }}\r\n key={key}\r\n >\r\n <img\r\n id={`molding&${item.id}`}\r\n style={{ height: 70, width: 70, padding: 5 }}\r\n src={item.thumbnail}\r\n />\r\n <S.ContentCheckImage\r\n id=\"check\"\r\n src=\"/assets/img/svg/wizardstep/check-normal.svg\"\r\n />\r\n {(item.selected ||\r\n subCabinetCategory.name === TOE_KICK_MOLDING) && (\r\n <S.ContentCheckImage src=\"/assets/img/svg/wizardstep/check-active.svg\" />\r\n )}\r\n <S.SubCategoryItemLabel\r\n style={{ fontWeight: item.selected && 700 }}\r\n >\r\n {item.name}\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n ) : (\r\n <S.SubCategoryItem\r\n style={{\r\n display:\r\n (currentTexture?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === item.itemID\r\n ).length === 0 && 'none',\r\n minWidth: 400,\r\n cursor:\r\n (currentTexture?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === item.itemID\r\n ).length === 0 && 'no-drop',\r\n paddingLeft: 0\r\n }}\r\n onClick={() =>\r\n currentTexture.doorStyles.cds.filter(\r\n cd => cd.itemID === item.itemID\r\n ).length !== 0 && this.cabinetselect(item.name)\r\n }\r\n key={key}\r\n >\r\n <img\r\n style={{ height: 90, width: 90 }}\r\n src={item.thumbnail}\r\n />\r\n <S.SubCategoryItemLabel style={{ textAlign: 'left' }}>\r\n {item.long_name} <br />\r\n <span style={{ fontSize: 14 }}>\r\n Width:{' '}\r\n {Math.round(\r\n convert(item.info.width)\r\n .from('in')\r\n .to(measurementUnit._unit) * 100\r\n ) / 100}\r\n {measurementUnit._unit !== 'in'\r\n ? measurementUnit._unit\r\n : '\"'}\r\n <br />\r\n Depth:{' '}\r\n {Math.round(\r\n convert(item.info.height)\r\n .from('in')\r\n .to(measurementUnit._unit) * 100\r\n ) / 100}\r\n {measurementUnit._unit !== 'in'\r\n ? measurementUnit._unit\r\n : '\"'}\r\n <br />\r\n Height:{' '}\r\n {Math.round(\r\n convert(item.info.tall)\r\n .from('in')\r\n .to(measurementUnit._unit) * 100\r\n ) / 100}\r\n {measurementUnit._unit !== 'in'\r\n ? measurementUnit._unit\r\n : '\"'}\r\n </span>\r\n </S.SubCategoryItemLabel>\r\n {(currentTexture?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === item.itemID\r\n ).length === 0 && (\r\n <StyledTooltip\r\n id=\"warning_unavailable\"\r\n title=\"This item is not available in the finish you have selected. Please contact us for alternate options in the finish you want.\"\r\n >\r\n <S.SubCategoryItemLabel\r\n style={{\r\n position: 'absolute',\r\n right: 8,\r\n bottom: 15,\r\n color: 'red',\r\n zIndex: 1,\r\n opacity: 0.5\r\n }}\r\n >\r\n <u>Unavailable</u>\r\n </S.SubCategoryItemLabel>\r\n </StyledTooltip>\r\n )}\r\n {(currentTexture?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === item.itemID\r\n ).length === 0 && (\r\n <ErrorIcon\r\n style={{\r\n position: 'absolute',\r\n right: 100,\r\n bottom: 18,\r\n color: 'red',\r\n fontSize: '1rem'\r\n }}\r\n ></ErrorIcon>\r\n )}\r\n {(currentTexture?.doorStyles?.cds ?? []).filter(\r\n cd => cd.itemID === item.itemID\r\n ).length === 0 && (\r\n <div\r\n style={{\r\n position: 'absolute',\r\n width: '100%',\r\n height: '100%',\r\n backgroundColor: 'rgba(255, 255, 255, 0.7)'\r\n }}\r\n />\r\n )}\r\n </S.SubCategoryItem>\r\n );\r\n })}\r\n </S.SubCategoryItemWrapper>\r\n </S.SubToolbarWrapper>\r\n )}\r\n </div>\r\n )\r\n },\r\n {\r\n toolbar: 'appliance',\r\n content: (\r\n <div style={{ display: 'flex' }}>\r\n <S.SubToolbarWrapper style={{ alignItems: 'flex-start' }}>\r\n <S.SubCategoryTitle>Add Appliances</S.SubCategoryTitle>\r\n <S.SubCategoryItemWrapper>\r\n {this.props.categoryData.data.appliances.map(\r\n (appliance, key) => {\r\n return (\r\n <div\r\n style={{ display: 'flex', flexDirection: 'column' }}\r\n key={key}\r\n >\r\n <S.SubCategoryItem\r\n style={{\r\n backgroundColor: appliance.items.find(\r\n item => item.type === 'cabinet'\r\n )\r\n ? subCabinetCategory.name === appliance.name &&\r\n TEXT_COLOR_NEUTRAL_5\r\n : cabinetCategory.name === appliance.name &&\r\n TEXT_COLOR_NEUTRAL_5\r\n }}\r\n onClick={() =>\r\n setSubData(appliance.name, appliance.items)\r\n }\r\n >\r\n <S.SubCategoryItemImage\r\n maskImage={appliance.thumbnail}\r\n />\r\n <S.SubCategoryItemLabel\r\n style={{\r\n fontWeight: appliance.items.find(\r\n item => item.type === 'cabinet'\r\n )\r\n ? subCabinetCategory.name === appliance.name &&\r\n 700\r\n : cabinetCategory.name === appliance.name && 700\r\n }}\r\n >\r\n {appliance.name}\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n {cabinetCategory.name === appliance.name && temp}\r\n </div>\r\n );\r\n }\r\n )}\r\n </S.SubCategoryItemWrapper>\r\n </S.SubToolbarWrapper>\r\n {subCabinetCategory.name && (\r\n <S.SubToolbarWrapper\r\n style={{\r\n alignItems: 'flex-start',\r\n marginLeft: 20,\r\n minWidth: 350\r\n }}\r\n >\r\n <S.SubCategoryItemWrapper>\r\n {subCabinetCategory.data.map((item, key) => {\r\n return (\r\n <S.SubCategoryItem\r\n onClick={() => this.cabinetselect(item.name)}\r\n key={key}\r\n >\r\n <img\r\n style={{ height: 70, width: 70 }}\r\n src={item.thumbnail}\r\n />\r\n <S.SubCategoryItemLabel style={{ textAlign: 'left' }}>\r\n {item.name} <br />\r\n <span style={{ fontSize: 14 }}>\r\n Width:{' '}\r\n {Math.round(\r\n convert(item.info.width)\r\n .from('in')\r\n .to(measurementUnit._unit) * 100\r\n ) / 100}\r\n {measurementUnit._unit !== 'in'\r\n ? measurementUnit._unit\r\n : '\"'}\r\n <br />\r\n Depth:{' '}\r\n {Math.round(\r\n convert(item.info.height)\r\n .from('in')\r\n .to(measurementUnit._unit) * 100\r\n ) / 100}\r\n {measurementUnit._unit !== 'in'\r\n ? measurementUnit._unit\r\n : '\"'}\r\n <br />\r\n Height:{' '}\r\n {Math.round(\r\n convert(item.info.tall)\r\n .from('in')\r\n .to(measurementUnit._unit) * 100\r\n ) / 100}\r\n {measurementUnit._unit !== 'in'\r\n ? measurementUnit._unit\r\n : '\"'}\r\n </span>\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n );\r\n })}\r\n </S.SubCategoryItemWrapper>\r\n </S.SubToolbarWrapper>\r\n )}\r\n </div>\r\n )\r\n },\r\n {\r\n toolbar: 'finishing',\r\n content: (\r\n <div style={{ display: 'flex' }}>\r\n <S.SubToolbarWrapper style={{ alignItems: 'flex-start' }}>\r\n <S.SubCategoryTitle>Add Finishings</S.SubCategoryTitle>\r\n <S.SubCategoryItemWrapper>\r\n {finishingData.map((finishing, key) => {\r\n return (\r\n <S.SubCategoryItem\r\n style={{\r\n backgroundColor:\r\n selectedFinishing === finishing.name &&\r\n TEXT_COLOR_NEUTRAL_5\r\n }}\r\n onClick={() =>\r\n this.setState({\r\n selectedFinishing:\r\n selectedFinishing === finishing.name\r\n ? ''\r\n : finishing.name\r\n })\r\n }\r\n key={key}\r\n >\r\n <S.SubCategoryItemImage maskImage={finishing.thumbnail} />\r\n <S.SubCategoryItemLabel\r\n style={{\r\n fontWeight:\r\n selectedFinishing === finishing.name && 700\r\n }}\r\n >\r\n {finishing.name}\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n );\r\n })}\r\n </S.SubCategoryItemWrapper>\r\n </S.SubToolbarWrapper>\r\n {selectedFinishing && (\r\n <S.SubToolbarWrapper\r\n style={{\r\n alignItems: 'flex-start',\r\n marginLeft: 20,\r\n minWidth: 250\r\n }}\r\n >\r\n <S.SubCategoryItemWrapper>\r\n {finishingData\r\n .filter(element => element.name === selectedFinishing)[0]\r\n .data.map((item, key) => {\r\n if (selectedFinishing === 'Wall Color') {\r\n return (\r\n <S.SubCategoryItem\r\n style={{ minWidth: 250 }}\r\n onClick={() => this.setFinishing(item)}\r\n key={key}\r\n >\r\n <div\r\n style={{\r\n height: 70,\r\n width: 70,\r\n backgroundColor: item.color,\r\n padding: 2\r\n }}\r\n />\r\n <S.ContentCheckImage\r\n id=\"check\"\r\n src=\"/assets/img/svg/wizardstep/check-normal.svg\"\r\n />\r\n {item.selected && (\r\n <S.ContentCheckImage src=\"/assets/img/svg/wizardstep/check-active.svg\" />\r\n )}\r\n <S.SubCategoryItemLabel\r\n style={{ fontWeight: item.selected && 700 }}\r\n >\r\n {item.name}\r\n </S.SubCategoryItemLabel>\r\n </S.SubCategoryItem>\r\n );\r\n } else {\r\n return (\r\n <S.SubCategoryItem\r\n id={item.id}\r\n style={{ minWidth: 250 }}\r\n onClick={() => this.setFinishing(item)}\r\n key={key}\r\n >\r\n <img\r\n id={`finishing&${item.id}`}\r\n style={{ height: 70, width: 70, padding: 5 }}\r\n src={item.thumbnail}\r\n />\r\n {selectedFinishing !== 'Lighting' &&\r\n selectedFinishing !== 'Furnishing' && (\r\n <S.ContentCheckImage\r\n id=\"check\"\r\n src=\"/assets/img/svg/wizardstep/check-normal.svg\"\r\n />\r\n )}\r\n {selectedFinishing !== 'Lighting' &&\r\n selectedFinishing !== 'Furnishing' &&\r\n item.selected && (\r\n <S.ContentCheckImage src=\"/assets/img/svg/wizardstep/check-active.svg\" />\r\n )}\r\n {selectedFinishing !== 'Lighting' &&\r\n selectedFinishing !== 'Furnishing' ? (\r\n <S.SubCategoryItemLabel\r\n style={{ fontWeight: item.selected && 700 }}\r\n >\r\n {item.name}\r\n </S.SubCategoryItemLabel>\r\n ) : (\r\n <S.SubCategoryItemLabel\r\n style={{ textAlign: 'left' }}\r\n >\r\n {item.name}\r\n <br />\r\n <span style={{ fontSize: 14 }}>\r\n Width:{' '}\r\n {Math.round(\r\n convert(item.width)\r\n .from('in')\r\n .to(measurementUnit._unit) * 100\r\n ) / 100}\r\n {measurementUnit._unit !== 'in'\r\n ? measurementUnit._unit\r\n : '\"'}\r\n <br />\r\n Depth:{' '}\r\n {Math.round(\r\n convert(item.length)\r\n .from('in')\r\n .to(measurementUnit._unit) * 100\r\n ) / 100}\r\n {measurementUnit._unit !== 'in'\r\n ? measurementUnit._unit\r\n : '\"'}\r\n <br />\r\n Height:{' '}\r\n {Math.round(\r\n convert(item.height)\r\n .from('in')\r\n .to(measurementUnit._unit) * 100\r\n ) / 100}\r\n {measurementUnit._unit !== 'in'\r\n ? measurementUnit._unit\r\n : '\"'}\r\n </span>\r\n </S.SubCategoryItemLabel>\r\n )}\r\n </S.SubCategoryItem>\r\n );\r\n }\r\n })}\r\n </S.SubCategoryItemWrapper>\r\n </S.SubToolbarWrapper>\r\n )}\r\n </div>\r\n )\r\n },\r\n {\r\n toolbar: 'reviewforquote',\r\n content: (\r\n <ReviewForQuote\r\n accessToken={this.props.accessToken}\r\n isTokenPresent={!!this.props.match.params.token}\r\n currentTexture={currentTexture}\r\n userInfo={userInfo}\r\n doorStyles={this.state.DoorStyles}\r\n catalog={this.props.catalog}\r\n categoryData={this.props.categoryData}\r\n items={this.state.elements.items}\r\n moldingData={this.state.moldingData}\r\n handleSubmitPrompt={this.props.handleSubmitPrompt}\r\n handleSubmitForQuote={this.props.handleSubmitForQuote}\r\n measurementUnit={measurementUnit}\r\n setDownloadPopupVisible={this.props.setDownloadPopupVisible}\r\n />\r\n )\r\n }\r\n ];\r\n\r\n let toolbarData = [\r\n {\r\n key: 'room-shape',\r\n label: 'Room Shape',\r\n url: '/assets/img/svg/lefttoolbar/room-shape.svg'\r\n },\r\n {\r\n key: 'door-style',\r\n label: 'Door Style',\r\n url: '/assets/img/svg/lefttoolbar/door-style.svg'\r\n },\r\n {\r\n key: 'cabinet',\r\n label: 'Cabinets',\r\n url: '/assets/img/svg/lefttoolbar/cabinet.svg'\r\n },\r\n {\r\n key: 'appliance',\r\n label: 'Appliances',\r\n url: '/assets/img/svg/lefttoolbar/appliance.svg'\r\n },\r\n {\r\n key: 'finishing',\r\n label: 'Finishing',\r\n url: '/assets/img/svg/lefttoolbar/finishing.svg'\r\n },\r\n {\r\n key: 'reviewforquote',\r\n label: 'Review & Quote',\r\n url: '/assets/img/svg/lefttoolbar/reviewforquote.svg'\r\n }\r\n ];\r\n\r\n return (\r\n <aside\r\n style={{\r\n ...ASIDE_STYLE,\r\n maxWidth: !ARRAY_3D_MODES.includes(mode) ? width : 90,\r\n maxHeight: height,\r\n marginTop: this.props.headerH + 10\r\n }}\r\n >\r\n <SnackBar\r\n isOpen={this.state.isSnackBarOpen}\r\n message={this.state.snackBarMessage}\r\n handleClose={() =>\r\n this.setState({ isSnackBarOpen: false, snackBarMessage: '' })\r\n }\r\n />\r\n <ConfirmPopup\r\n visible={this.state.isPopupOpen}\r\n handleConfirmLoad={() => this.handleConfirmLoad()}\r\n submit={() => this._submit()}\r\n />\r\n <div\r\n style={{\r\n position: 'absolute',\r\n display: 'flex',\r\n left: 10,\r\n zIndex: 1,\r\n flexDirection: 'row'\r\n }}\r\n >\r\n <S.ToolbarWrapper>\r\n {/* left side bar */}\r\n <S.SubToolbarWrapper style={{ marginLeft: 0, minWidth: 'unset' }}>\r\n {toolbarData.map((data, key) => {\r\n return (\r\n <S.ToolbarButton\r\n onClick={() => {\r\n this.props.setToolbar(\r\n this.props.toolBar === data.key ? '' : data.key\r\n );\r\n this.setState({\r\n cabinetCategory: { name: '', data: [] },\r\n subCabinetCategory: { name: '', data: [] },\r\n cabinetStyleChanging: false,\r\n searchName: ''\r\n });\r\n if (\r\n this.props.toolBar !== data.key &&\r\n data.key === 'reviewforquote'\r\n ) {\r\n let moldingData = [];\r\n const cabinetData =\r\n this.props.categoryData.data.cabinets;\r\n let moldings = [];\r\n // get all moldings info\r\n cabinetData.forEach(itemCat => {\r\n itemCat.items.forEach(item => {\r\n item.items.forEach(it => {\r\n if (it.category === 'molding') {\r\n moldings.push(it);\r\n }\r\n });\r\n });\r\n });\r\n const items = layer.items.toArray();\r\n moldings.forEach(molding => {\r\n let itemGroups = [];\r\n let temp_items = [];\r\n items.forEach(item => {\r\n if (\r\n item.molding.some(\r\n mol => mol.itemID === molding.itemID\r\n ) &&\r\n MoldingUtils.isEnableItemForMolding(layer, item)\r\n ) {\r\n temp_items.push(item);\r\n }\r\n });\r\n if (temp_items.length) {\r\n while (temp_items.length > 0) {\r\n let itemGroup = [temp_items[0]];\r\n for (\r\n let idx = 0;\r\n idx < temp_items.length;\r\n idx++\r\n ) {\r\n if (\r\n !itemGroup.some(\r\n it => it.id === temp_items[idx].id\r\n ) &&\r\n MoldingUtils.isItemSnappedGroup(\r\n temp_items[idx],\r\n itemGroup\r\n )\r\n ) {\r\n itemGroup.push(temp_items[idx]);\r\n idx = 0;\r\n }\r\n }\r\n itemGroup.forEach(item => {\r\n let index = temp_items.findIndex(\r\n it => it.id === item.id\r\n );\r\n if (index > -1) {\r\n temp_items.splice(index, 1);\r\n }\r\n });\r\n itemGroups.push(itemGroup);\r\n }\r\n let molding_totalLength = 0;\r\n itemGroups.forEach(itemgroup => {\r\n let allLineRects =\r\n GeometryUtils.buildRectFromLines(\r\n layer,\r\n GeometryUtils.getAllLines(layer)\r\n );\r\n let items = [...itemgroup];\r\n let MGlines = MoldingUtils.getLinesOfItem(\r\n items[0],\r\n allLineRects,\r\n this.props.catalog\r\n );\r\n items = MoldingUtils.sortItemsByDistance(\r\n items,\r\n items[0]\r\n );\r\n for (let i = 1; i < items.length; i++) {\r\n let itemLines = MoldingUtils.getLinesOfItem(\r\n items[i],\r\n allLineRects,\r\n this.props.catalog\r\n );\r\n let temp_MGLines = [];\r\n MGlines.forEach(line => {\r\n let idx = itemLines.findIndex(itemLine =>\r\n MoldingUtils.isLinesOverlapped(\r\n line,\r\n itemLine\r\n )\r\n );\r\n const curItemLine = itemLines[idx];\r\n if (idx > -1) {\r\n if (\r\n !(\r\n (GeometryUtils.samePoints(\r\n line[0],\r\n curItemLine[0]\r\n ) &&\r\n GeometryUtils.samePoints(\r\n line[1],\r\n curItemLine[1]\r\n )) ||\r\n (GeometryUtils.samePoints(\r\n line[0],\r\n curItemLine[1]\r\n ) &&\r\n GeometryUtils.samePoints(\r\n line[1],\r\n curItemLine[0]\r\n ))\r\n )\r\n ) {\r\n let MGLine =\r\n MoldingUtils.mergeOverlappedLines(\r\n line,\r\n curItemLine\r\n );\r\n temp_MGLines.push(MGLine);\r\n }\r\n itemLines.splice(idx, 1);\r\n } else {\r\n temp_MGLines.push(line);\r\n }\r\n });\r\n itemLines.forEach(itemLine =>\r\n temp_MGLines.push(itemLine)\r\n );\r\n MGlines = [...temp_MGLines];\r\n }\r\n MGlines.forEach(line => {\r\n molding_totalLength +=\r\n GeometryUtils.verticesDistance(\r\n line[0],\r\n line[1]\r\n );\r\n });\r\n });\r\n molding_totalLength = convert(molding_totalLength)\r\n .from('cm')\r\n .to('in');\r\n moldingData.push({\r\n ...molding,\r\n doorStyle: this.state.currentTexture,\r\n count: Math.ceil((molding_totalLength * 1.1) / 96)\r\n });\r\n }\r\n });\r\n\r\n // calc toe kick molding\r\n let tmp = [];\r\n items.forEach(item => {\r\n if (\r\n item.category === 'cabinet' &&\r\n !item.cabinet_category\r\n .toLowerCase()\r\n .includes('microwave')\r\n ) {\r\n tmp.push(item);\r\n }\r\n });\r\n let tmpMoldingData = [];\r\n let toedoorStyles = [];\r\n tmp.map(item => {\r\n if (\r\n item.layoutpos === BASE_CABINET_LAYOUTPOS &&\r\n (isEmpty(item.molding) ||\r\n item.molding?.length < 1 ||\r\n !MoldingUtils.isEnableItemForMolding(layer, item))\r\n ) {\r\n // let layer = state.scene.layers.get(\r\n // state.scene.selectedLayer\r\n // );\r\n // let allLines = GeometryUtils.getAllLines(layer);\r\n // let x = item.x;\r\n // let y = item.y;\r\n // let rotRad = (item.rotation / 180) * Math.PI;\r\n let w = item.properties.get('width').get('_length');\r\n let wUnit =\r\n item.properties.get('width').get('_unit') || 'cm';\r\n w = convert(w / 2)\r\n .from(wUnit)\r\n .to('cm');\r\n let h = item.properties.get('depth').get('_length');\r\n let hUnit =\r\n item.properties.get('depth').get('_unit') || 'cm';\r\n h = convert(h / 2)\r\n .from(hUnit)\r\n .to('cm');\r\n // let mx = x - w * Math.cos(rotRad);\r\n // let my = y - w * Math.sin(rotRad);\r\n // let x0 = mx + h * Math.sin(rotRad);\r\n // let y0 = my - h * Math.cos(rotRad);\r\n // let x3 = mx * 2 - x0;\r\n // let y3 = my * 2 - y0;\r\n // if (\r\n // !GeometryUtils.isSnappedLine(\r\n // {\r\n // rect: [\r\n // { x: x0, y: y0 },\r\n // { x: x1, y: y1 },\r\n // {\r\n // x: x2,\r\n // y: y2\r\n // },\r\n // { x: x3, y: y3 }\r\n // ]\r\n // },\r\n // allLineRects\r\n // )\r\n // )\r\n // return false;\r\n let outline = null;\r\n let element =\r\n this.context.catalog.elements[item.get('type')];\r\n if (!element)\r\n element =\r\n this.context.catalog.elements[\r\n returnReplaceableDeepSearchType(\r\n item.get('type')\r\n )\r\n ];\r\n outline = element.info.outline;\r\n let len = 0;\r\n if (outline) {\r\n // Extract Points from `outline`\r\n var outlinePaths = outline.paths;\r\n var outlineWidth = outline.svgWidth;\r\n var outlineHeight = outline.svgHeight;\r\n var outlinePoints = []; // Hold Points Of SVG\r\n for (let path of outlinePaths) {\r\n for (let subPath of path.subPaths) {\r\n outlinePoints = outlinePoints.concat(\r\n subPath.getPoints()\r\n );\r\n }\r\n }\r\n let maxX = outlinePoints[0].x,\r\n minX = outlinePoints[0].x;\r\n let maxY = outlinePoints[0].y,\r\n minY = outlinePoints[0].y;\r\n\r\n outlinePoints.forEach(point => {\r\n if (point.x > maxX) {\r\n maxX = point.x;\r\n }\r\n if (point.x < minX) {\r\n minX = point.x;\r\n }\r\n if (point.y > maxY) {\r\n maxY = point.y;\r\n }\r\n if (point.y < minY) {\r\n minY = point.y;\r\n }\r\n });\r\n outlinePoints.forEach(point => {\r\n if (\r\n GeometryUtils.isPointInRect(\r\n [\r\n { x: minX, y: minY },\r\n { x: minX, y: maxY },\r\n {\r\n x: maxX,\r\n y: maxY\r\n },\r\n { x: maxX, y: minY }\r\n ],\r\n point\r\n )\r\n ) {\r\n if (point.x > 10)\r\n len +=\r\n (point.x / outlineWidth - 0.5) * w * 2 +\r\n h * 2 -\r\n (point.y / outlineHeight - 0.5) * h * 2;\r\n }\r\n });\r\n len = convert(len).from('cm').to('in');\r\n } else {\r\n w = convert(w * 2)\r\n .from('cm')\r\n .to('in');\r\n len += w;\r\n }\r\n let doorIndex = toedoorStyles.findIndex(a => {\r\n let iDS = item?.doorStyle;\r\n if (!iDS) return false;\r\n if (!iDS.hasOwnProperty('id')) {\r\n iDS = iDS.toJS();\r\n }\r\n return (\r\n a.doorStyle.id === iDS.id &&\r\n isEqualInstallationType(a.doorStyle, iDS)\r\n );\r\n });\r\n if (doorIndex > -1) {\r\n toedoorStyles[doorIndex].totalLength += len;\r\n } else {\r\n toedoorStyles.push({\r\n doorStyle: item.doorStyle.hasOwnProperty('id')\r\n ? item.doorStyle\r\n : item.doorStyle && item.doorStyle.toJS(),\r\n totalLength: len\r\n });\r\n }\r\n }\r\n });\r\n\r\n toedoorStyles.forEach(doorStyle => {\r\n let thumbnail = '';\r\n moldings.forEach(molding => {\r\n if (\r\n molding.name ===\r\n getToeKickSKU(\r\n doorStyle.doorStyle,\r\n this.props.catalog,\r\n true\r\n )\r\n )\r\n thumbnail = molding.thumbnail;\r\n });\r\n\r\n doorStyle.totalLength &&\r\n tmpMoldingData.push({\r\n name: TOE_KICK_MOLDING,\r\n sku: getToeKickSKU(\r\n doorStyle.doorStyle,\r\n this.props.catalog\r\n ),\r\n thumbnail: thumbnail,\r\n category: 'molding',\r\n type: 'cabinet',\r\n doorStyle: doorStyle.doorStyle,\r\n count: Math.ceil(\r\n (doorStyle.totalLength * 1.1) / 96\r\n )\r\n });\r\n });\r\n if (tmpMoldingData.length > 0)\r\n this.setState({\r\n moldingData: [...moldingData, ...tmpMoldingData]\r\n });\r\n else this.setState({ moldingData: moldingData });\r\n }\r\n }}\r\n key={key}\r\n >\r\n <S.ToolbarButtonImageWrapper\r\n style={{\r\n backgroundColor:\r\n this.props.toolBar === data.key &&\r\n SECONDARY_PURPLE_COLOR\r\n }}\r\n >\r\n <S.ToolbarButtonImage\r\n maskImage={data.url}\r\n style={{\r\n backgroundColor:\r\n this.props.toolBar === data.key\r\n ? BG_COLOR_1\r\n : SECONDARY_PURPLE_COLOR\r\n }}\r\n />\r\n </S.ToolbarButtonImageWrapper>\r\n <S.ToolbarButtonTitle\r\n style={{\r\n fontWeight: this.props.toolBar === data.key && 700\r\n }}\r\n >\r\n {data.label}\r\n </S.ToolbarButtonTitle>\r\n </S.ToolbarButton>\r\n );\r\n })}\r\n </S.SubToolbarWrapper>\r\n {/* second tool bar of left side - {Room_Shape, Door_Style, Cabinets, Appliances, Finishing} */}\r\n {toolbar &&\r\n !this.props.state.isCabinetDrawing &&\r\n categories.filter(\r\n category => category.toolbar === this.props.toolBar\r\n ).length !== 0 &&\r\n categories.filter(\r\n category => category.toolbar === this.props.toolBar\r\n )[0].content}\r\n </S.ToolbarWrapper>\r\n </div>\r\n {/* {sorter.sort(sortButtonsCb).map(mapButtonsCb)} */}\r\n {panel}\r\n {hintText}\r\n {/* top side tool bar */}\r\n {controlView}\r\n <canvas\r\n id=\"canvas_crop_image\"\r\n style={{ zIndex: -1, position: 'fixed', top: '0px', left: '0px' }}\r\n onMouseDown={e => this.onMouseDown(e)}\r\n onMouseMove={e => this.onMouseMove(e)}\r\n onMouseUp={e => this.onMouseUp(e)}\r\n >\r\n {' '}\r\n The SCREENSHOT is not available in this browser!!!\r\n </canvas>\r\n {/* <div style={{ zIndex: 4, position: 'absolute', left: '16px' }} onClick={(event) => {\r\n this.props.toggleDoorStyle(!this.props.doorStyleOpen);\r\n }}>\r\n <img style={{ boxShadow: '3px 1px 3px 0px rgba(0,0,0,0.2), -1px -1px 1px 0px rgba(0,0,0,0.14), 0px 2px 1px -1px rgba(0,0,0,0.12)' }} width={75} src={ this.state.currentTexture && this.state.currentTexture.thumbnail}/>\r\n </div> */}\r\n <SetDoorStyleOptionPopup\r\n content={'Do you want to change current cabinet or change ALL?'}\r\n handle={value => this.setDoorStyleOption(value)}\r\n visible={this.state.setDoorStylePopupVisible}\r\n setVisible={value =>\r\n this.setState({ setDoorStylePopupVisible: value })\r\n }\r\n />\r\n {/* {item_custom}\r\n {item_rotation} */}\r\n {/* {videoModal} */}\r\n {item_warning}\r\n <S.WarningItem id=\"warning_box_2d\" style={{ display: 'none' }}>\r\n <S.SubCategoryItemImage\r\n maskImage=\"/assets/img/svg/3d_item_warning_info.svg\"\r\n style={{\r\n backgroundColor: BG_COLOR_1,\r\n marginRight: 10,\r\n height: 30,\r\n width: 30\r\n }}\r\n />\r\n This item is not available in the current door style. Replace it with\r\n another one.\r\n </S.WarningItem>\r\n </aside>\r\n );\r\n }\r\n}\r\n\r\nToolbar.propTypes = {\r\n state: PropTypes.object.isRequired,\r\n width: PropTypes.number.isRequired,\r\n content: PropTypes.number.isRequired,\r\n height: PropTypes.number.isRequired,\r\n allowProjectFileSupport: PropTypes.bool.isRequired,\r\n toolbarButtons: PropTypes.array\r\n};\r\n\r\nToolbar.contextTypes = {\r\n projectActions: PropTypes.object.isRequired,\r\n viewer2DActions: PropTypes.object.isRequired,\r\n viewer3DActions: PropTypes.object.isRequired,\r\n linesActions: PropTypes.object.isRequired,\r\n holesActions: PropTypes.object.isRequired,\r\n itemsActions: PropTypes.object.isRequired,\r\n areaActions: PropTypes.object.isRequired,\r\n translator: PropTypes.object.isRequired,\r\n catalog: PropTypes.object.isRequired\r\n};\r\n"],"mappings":"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","ignoreList":[]}