kitchen-simulator 5.0.0-test.2 → 5.0.0-test.4

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 (697) hide show
  1. package/es/KitchenConfigurator.js +1 -1
  2. package/es/KitchenConfigurator.js.map +1 -1
  3. package/es/index.js +2 -2
  4. package/es/index.js.map +1 -1
  5. package/package.json +8 -16
  6. package/src/KitchenConfigurator.jsx +1 -1
  7. package/src/index.js +3 -3
  8. package/lib/@history.js +0 -11
  9. package/lib/@history.js.map +0 -1
  10. package/lib/AppContext.js +0 -11
  11. package/lib/AppContext.js.map +0 -1
  12. package/lib/KitchenConfigurator.js +0 -1353
  13. package/lib/KitchenConfigurator.js.map +0 -1
  14. package/lib/KitchenConfiguratorApp.js +0 -539
  15. package/lib/KitchenConfiguratorApp.js.map +0 -1
  16. package/lib/actions/area-actions.js +0 -22
  17. package/lib/actions/area-actions.js.map +0 -1
  18. package/lib/actions/export.js +0 -44
  19. package/lib/actions/export.js.map +0 -1
  20. package/lib/actions/groups-actions.js +0 -108
  21. package/lib/actions/groups-actions.js.map +0 -1
  22. package/lib/actions/holes-actions.js +0 -141
  23. package/lib/actions/holes-actions.js.map +0 -1
  24. package/lib/actions/items-actions.js +0 -365
  25. package/lib/actions/items-actions.js.map +0 -1
  26. package/lib/actions/lines-actions.js +0 -98
  27. package/lib/actions/lines-actions.js.map +0 -1
  28. package/lib/actions/project-actions.js +0 -333
  29. package/lib/actions/project-actions.js.map +0 -1
  30. package/lib/actions/scene-actions.js +0 -44
  31. package/lib/actions/scene-actions.js.map +0 -1
  32. package/lib/actions/user-actions.js +0 -69
  33. package/lib/actions/user-actions.js.map +0 -1
  34. package/lib/actions/vertices-actions.js +0 -36
  35. package/lib/actions/vertices-actions.js.map +0 -1
  36. package/lib/actions/viewer2d-actions.js +0 -74
  37. package/lib/actions/viewer2d-actions.js.map +0 -1
  38. package/lib/actions/viewer3d-actions.js +0 -33
  39. package/lib/actions/viewer3d-actions.js.map +0 -1
  40. package/lib/catalog/areas/area/planner-element.js +0 -47
  41. package/lib/catalog/areas/area/planner-element.js.map +0 -1
  42. package/lib/catalog/catalog.js +0 -283
  43. package/lib/catalog/catalog.js.map +0 -1
  44. package/lib/catalog/factories/area-factory-3d.js +0 -192
  45. package/lib/catalog/factories/area-factory-3d.js.map +0 -1
  46. package/lib/catalog/factories/area-factory.js +0 -90
  47. package/lib/catalog/factories/area-factory.js.map +0 -1
  48. package/lib/catalog/factories/export.js +0 -26
  49. package/lib/catalog/factories/export.js.map +0 -1
  50. package/lib/catalog/factories/wall-factory-3d.js +0 -213
  51. package/lib/catalog/factories/wall-factory-3d.js.map +0 -1
  52. package/lib/catalog/factories/wall-factory.js +0 -279
  53. package/lib/catalog/factories/wall-factory.js.map +0 -1
  54. package/lib/catalog/holes/door-closet/planner-element.js +0 -232
  55. package/lib/catalog/holes/door-closet/planner-element.js.map +0 -1
  56. package/lib/catalog/holes/door-double/planner-element.js +0 -325
  57. package/lib/catalog/holes/door-double/planner-element.js.map +0 -1
  58. package/lib/catalog/holes/door-exterior/planner-element.js +0 -225
  59. package/lib/catalog/holes/door-exterior/planner-element.js.map +0 -1
  60. package/lib/catalog/holes/door-interior/planner-element.js +0 -237
  61. package/lib/catalog/holes/door-interior/planner-element.js.map +0 -1
  62. package/lib/catalog/holes/door-panic/planner-element.js +0 -513
  63. package/lib/catalog/holes/door-panic/planner-element.js.map +0 -1
  64. package/lib/catalog/holes/door-panic-double/planner-element.js +0 -473
  65. package/lib/catalog/holes/door-panic-double/planner-element.js.map +0 -1
  66. package/lib/catalog/holes/door-sliding/planner-element.js +0 -235
  67. package/lib/catalog/holes/door-sliding/planner-element.js.map +0 -1
  68. package/lib/catalog/holes/doorway-framed/planner-element.js +0 -155
  69. package/lib/catalog/holes/doorway-framed/planner-element.js.map +0 -1
  70. package/lib/catalog/holes/doorway-frameless/planner-element.js +0 -114
  71. package/lib/catalog/holes/doorway-frameless/planner-element.js.map +0 -1
  72. package/lib/catalog/holes/window-clear/planner-element.js +0 -176
  73. package/lib/catalog/holes/window-clear/planner-element.js.map +0 -1
  74. package/lib/catalog/holes/window-cross/planner-element.js +0 -175
  75. package/lib/catalog/holes/window-cross/planner-element.js.map +0 -1
  76. package/lib/catalog/holes/window-double-hung/planner-element.js +0 -313
  77. package/lib/catalog/holes/window-double-hung/planner-element.js.map +0 -1
  78. package/lib/catalog/holes/window-vertical/planner-element.js +0 -286
  79. package/lib/catalog/holes/window-vertical/planner-element.js.map +0 -1
  80. package/lib/catalog/lines/wall/planner-element.js +0 -77
  81. package/lib/catalog/lines/wall/planner-element.js.map +0 -1
  82. package/lib/catalog/molding/molding-dcm/planner-element.js +0 -39
  83. package/lib/catalog/molding/molding-dcm/planner-element.js.map +0 -1
  84. package/lib/catalog/molding/molding-fbm/planner-element.js +0 -39
  85. package/lib/catalog/molding/molding-fbm/planner-element.js.map +0 -1
  86. package/lib/catalog/molding/molding-lrm/planner-element.js +0 -39
  87. package/lib/catalog/molding/molding-lrm/planner-element.js.map +0 -1
  88. package/lib/catalog/properties/export.js +0 -82
  89. package/lib/catalog/properties/export.js.map +0 -1
  90. package/lib/catalog/properties/property-checkbox.js +0 -79
  91. package/lib/catalog/properties/property-checkbox.js.map +0 -1
  92. package/lib/catalog/properties/property-color.js +0 -47
  93. package/lib/catalog/properties/property-color.js.map +0 -1
  94. package/lib/catalog/properties/property-enum.js +0 -63
  95. package/lib/catalog/properties/property-enum.js.map +0 -1
  96. package/lib/catalog/properties/property-hidden.js +0 -27
  97. package/lib/catalog/properties/property-hidden.js.map +0 -1
  98. package/lib/catalog/properties/property-lenght-measure.js +0 -109
  99. package/lib/catalog/properties/property-lenght-measure.js.map +0 -1
  100. package/lib/catalog/properties/property-length-measure.js +0 -93
  101. package/lib/catalog/properties/property-length-measure.js.map +0 -1
  102. package/lib/catalog/properties/property-length-measure_hole.js +0 -109
  103. package/lib/catalog/properties/property-length-measure_hole.js.map +0 -1
  104. package/lib/catalog/properties/property-number.js +0 -56
  105. package/lib/catalog/properties/property-number.js.map +0 -1
  106. package/lib/catalog/properties/property-read-only.js +0 -34
  107. package/lib/catalog/properties/property-read-only.js.map +0 -1
  108. package/lib/catalog/properties/property-string.js +0 -56
  109. package/lib/catalog/properties/property-string.js.map +0 -1
  110. package/lib/catalog/properties/property-toggle.js +0 -47
  111. package/lib/catalog/properties/property-toggle.js.map +0 -1
  112. package/lib/catalog/properties/shared-property-style.js +0 -21
  113. package/lib/catalog/properties/shared-property-style.js.map +0 -1
  114. package/lib/catalog/utils/FuseUtils.js +0 -89
  115. package/lib/catalog/utils/FuseUtils.js.map +0 -1
  116. package/lib/catalog/utils/exporter.js +0 -156
  117. package/lib/catalog/utils/exporter.js.map +0 -1
  118. package/lib/catalog/utils/geom-utils.js +0 -206
  119. package/lib/catalog/utils/geom-utils.js.map +0 -1
  120. package/lib/catalog/utils/item-loader.js +0 -1534
  121. package/lib/catalog/utils/item-loader.js.map +0 -1
  122. package/lib/catalog/utils/load-obj.js +0 -100
  123. package/lib/catalog/utils/load-obj.js.map +0 -1
  124. package/lib/catalog/utils/mtl-loader.js +0 -360
  125. package/lib/catalog/utils/mtl-loader.js.map +0 -1
  126. package/lib/catalog/utils/obj-loader.js +0 -479
  127. package/lib/catalog/utils/obj-loader.js.map +0 -1
  128. package/lib/class/FuseUtils.js +0 -89
  129. package/lib/class/FuseUtils.js.map +0 -1
  130. package/lib/class/area.js +0 -151
  131. package/lib/class/area.js.map +0 -1
  132. package/lib/class/export.js +0 -97
  133. package/lib/class/export.js.map +0 -1
  134. package/lib/class/group.js +0 -446
  135. package/lib/class/group.js.map +0 -1
  136. package/lib/class/guide.js +0 -68
  137. package/lib/class/guide.js.map +0 -1
  138. package/lib/class/hole.js +0 -935
  139. package/lib/class/hole.js.map +0 -1
  140. package/lib/class/item.js +0 -1894
  141. package/lib/class/item.js.map +0 -1
  142. package/lib/class/layer.js +0 -673
  143. package/lib/class/layer.js.map +0 -1
  144. package/lib/class/line.js +0 -1296
  145. package/lib/class/line.js.map +0 -1
  146. package/lib/class/project.js +0 -829
  147. package/lib/class/project.js.map +0 -1
  148. package/lib/class/vertex.js +0 -272
  149. package/lib/class/vertex.js.map +0 -1
  150. package/lib/components/atoms/Snackbar/index.js +0 -57
  151. package/lib/components/atoms/Snackbar/index.js.map +0 -1
  152. package/lib/components/atoms/radio-button/index.js +0 -33
  153. package/lib/components/atoms/radio-button/index.js.map +0 -1
  154. package/lib/components/atoms/radio-button/styles.js +0 -12
  155. package/lib/components/atoms/radio-button/styles.js.map +0 -1
  156. package/lib/components/button/MainButton.js +0 -98
  157. package/lib/components/button/MainButton.js.map +0 -1
  158. package/lib/components/button/ToggleMeasureButton.js +0 -63
  159. package/lib/components/button/ToggleMeasureButton.js.map +0 -1
  160. package/lib/components/catalog-view/catalog-breadcrumb.js +0 -61
  161. package/lib/components/catalog-view/catalog-breadcrumb.js.map +0 -1
  162. package/lib/components/catalog-view/catalog-item.js +0 -233
  163. package/lib/components/catalog-view/catalog-item.js.map +0 -1
  164. package/lib/components/catalog-view/catalog-list.js +0 -189
  165. package/lib/components/catalog-view/catalog-list.js.map +0 -1
  166. package/lib/components/catalog-view/catalog-page-item.js +0 -137
  167. package/lib/components/catalog-view/catalog-page-item.js.map +0 -1
  168. package/lib/components/catalog-view/catalog-turn-back-page-item.js +0 -113
  169. package/lib/components/catalog-view/catalog-turn-back-page-item.js.map +0 -1
  170. package/lib/components/configurator/custom-configurator.js +0 -101
  171. package/lib/components/configurator/custom-configurator.js.map +0 -1
  172. package/lib/components/configurator/project-configurator.js +0 -138
  173. package/lib/components/configurator/project-configurator.js.map +0 -1
  174. package/lib/components/content.js +0 -132
  175. package/lib/components/content.js.map +0 -1
  176. package/lib/components/export.js +0 -90
  177. package/lib/components/export.js.map +0 -1
  178. package/lib/components/firstsetting/button/styles.js +0 -34
  179. package/lib/components/firstsetting/button/styles.js.map +0 -1
  180. package/lib/components/firstsetting/export.js +0 -16
  181. package/lib/components/firstsetting/export.js.map +0 -1
  182. package/lib/components/firstsetting/firstsetting-content-button.js +0 -224
  183. package/lib/components/firstsetting/firstsetting-content-button.js.map +0 -1
  184. package/lib/components/firstsetting/firstsetting-toggle-button.js +0 -133
  185. package/lib/components/firstsetting/firstsetting-toggle-button.js.map +0 -1
  186. package/lib/components/firstsetting/firstsetting.js +0 -633
  187. package/lib/components/firstsetting/firstsetting.js.map +0 -1
  188. package/lib/components/footerbar/button/ControlButton.js +0 -79
  189. package/lib/components/footerbar/button/ControlButton.js.map +0 -1
  190. package/lib/components/footerbar/button/DirectionButton.js +0 -76
  191. package/lib/components/footerbar/button/DirectionButton.js.map +0 -1
  192. package/lib/components/footerbar/button/DirectionPanSpinButton.js +0 -57
  193. package/lib/components/footerbar/button/DirectionPanSpinButton.js.map +0 -1
  194. package/lib/components/footerbar/button/ToggleButton.js +0 -83
  195. package/lib/components/footerbar/button/ToggleButton.js.map +0 -1
  196. package/lib/components/footerbar/button/ToggleConvertButton.js +0 -80
  197. package/lib/components/footerbar/button/ToggleConvertButton.js.map +0 -1
  198. package/lib/components/footerbar/button/ToggleMeasureButton.js +0 -59
  199. package/lib/components/footerbar/button/ToggleMeasureButton.js.map +0 -1
  200. package/lib/components/footerbar/button/styles.js +0 -29
  201. package/lib/components/footerbar/button/styles.js.map +0 -1
  202. package/lib/components/footerbar/export.js +0 -16
  203. package/lib/components/footerbar/export.js.map +0 -1
  204. package/lib/components/footerbar/footer-content-button.js +0 -224
  205. package/lib/components/footerbar/footer-content-button.js.map +0 -1
  206. package/lib/components/footerbar/footer-toggle-button.js +0 -133
  207. package/lib/components/footerbar/footer-toggle-button.js.map +0 -1
  208. package/lib/components/footerbar/footerbar.js +0 -808
  209. package/lib/components/footerbar/footerbar.js.map +0 -1
  210. package/lib/components/footerbar/styles.js +0 -41
  211. package/lib/components/footerbar/styles.js.map +0 -1
  212. package/lib/components/header/button/MenuButton.js +0 -77
  213. package/lib/components/header/button/MenuButton.js.map +0 -1
  214. package/lib/components/header/button/SaveButton.js +0 -57
  215. package/lib/components/header/button/SaveButton.js.map +0 -1
  216. package/lib/components/header/button/styles.js +0 -68
  217. package/lib/components/header/button/styles.js.map +0 -1
  218. package/lib/components/header/export.js +0 -12
  219. package/lib/components/header/export.js.map +0 -1
  220. package/lib/components/header/header.js +0 -556
  221. package/lib/components/header/header.js.map +0 -1
  222. package/lib/components/header/styles.js +0 -47
  223. package/lib/components/header/styles.js.map +0 -1
  224. package/lib/components/login/Login.js +0 -94
  225. package/lib/components/login/Login.js.map +0 -1
  226. package/lib/components/login/LoginForm/index.js +0 -140
  227. package/lib/components/login/LoginForm/index.js.map +0 -1
  228. package/lib/components/login/Register.js +0 -104
  229. package/lib/components/login/Register.js.map +0 -1
  230. package/lib/components/login/RegisterForm/index.js +0 -237
  231. package/lib/components/login/RegisterForm/index.js.map +0 -1
  232. package/lib/components/login/jwtService.js +0 -239
  233. package/lib/components/login/jwtService.js.map +0 -1
  234. package/lib/components/molecules/slider/index.js +0 -22
  235. package/lib/components/molecules/slider/index.js.map +0 -1
  236. package/lib/components/molecules/slider/styles.js +0 -2
  237. package/lib/components/molecules/slider/styles.js.map +0 -1
  238. package/lib/components/myprojects/export.js +0 -12
  239. package/lib/components/myprojects/export.js.map +0 -1
  240. package/lib/components/myprojects/index.js +0 -453
  241. package/lib/components/myprojects/index.js.map +0 -1
  242. package/lib/components/myprojects/styles.js +0 -31
  243. package/lib/components/myprojects/styles.js.map +0 -1
  244. package/lib/components/sidebar/custom-accordion.js +0 -45
  245. package/lib/components/sidebar/custom-accordion.js.map +0 -1
  246. package/lib/components/sidebar/export.js +0 -50
  247. package/lib/components/sidebar/export.js.map +0 -1
  248. package/lib/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js +0 -74
  249. package/lib/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js.map +0 -1
  250. package/lib/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js +0 -124
  251. package/lib/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js.map +0 -1
  252. package/lib/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js +0 -135
  253. package/lib/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js.map +0 -1
  254. package/lib/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js +0 -260
  255. package/lib/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js.map +0 -1
  256. package/lib/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js +0 -84
  257. package/lib/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js.map +0 -1
  258. package/lib/components/sidebar/panel-element-editor/element-editor.js +0 -884
  259. package/lib/components/sidebar/panel-element-editor/element-editor.js.map +0 -1
  260. package/lib/components/sidebar/panel-element-editor/multi-elements-editor.js +0 -2
  261. package/lib/components/sidebar/panel-element-editor/multi-elements-editor.js.map +0 -1
  262. package/lib/components/sidebar/panel-element-editor/panel-element-editor.js +0 -56
  263. package/lib/components/sidebar/panel-element-editor/panel-element-editor.js.map +0 -1
  264. package/lib/components/sidebar/panel-element-editor/panel-multi-elements-editor.js +0 -125
  265. package/lib/components/sidebar/panel-element-editor/panel-multi-elements-editor.js.map +0 -1
  266. package/lib/components/sidebar/panel-group-editor.js +0 -218
  267. package/lib/components/sidebar/panel-group-editor.js.map +0 -1
  268. package/lib/components/sidebar/panel-groups.js +0 -274
  269. package/lib/components/sidebar/panel-groups.js.map +0 -1
  270. package/lib/components/sidebar/panel-guides.js +0 -192
  271. package/lib/components/sidebar/panel-guides.js.map +0 -1
  272. package/lib/components/sidebar/panel-layer-elements.js +0 -258
  273. package/lib/components/sidebar/panel-layer-elements.js.map +0 -1
  274. package/lib/components/sidebar/panel-layers.js +0 -347
  275. package/lib/components/sidebar/panel-layers.js.map +0 -1
  276. package/lib/components/sidebar/panel.js +0 -110
  277. package/lib/components/sidebar/panel.js.map +0 -1
  278. package/lib/components/sidebar/sidebar.js +0 -117
  279. package/lib/components/sidebar/sidebar.js.map +0 -1
  280. package/lib/components/sidebar/toolbar-panel.js +0 -171
  281. package/lib/components/sidebar/toolbar-panel.js.map +0 -1
  282. package/lib/components/sign/export.js +0 -18
  283. package/lib/components/sign/export.js.map +0 -1
  284. package/lib/components/sign/main/index.js +0 -567
  285. package/lib/components/sign/main/index.js.map +0 -1
  286. package/lib/components/sign/main/styles.js +0 -27
  287. package/lib/components/sign/main/styles.js.map +0 -1
  288. package/lib/components/style/button.js +0 -121
  289. package/lib/components/style/button.js.map +0 -1
  290. package/lib/components/style/cancel-button.js +0 -30
  291. package/lib/components/style/cancel-button.js.map +0 -1
  292. package/lib/components/style/content-container.js +0 -41
  293. package/lib/components/style/content-container.js.map +0 -1
  294. package/lib/components/style/content-title.js +0 -38
  295. package/lib/components/style/content-title.js.map +0 -1
  296. package/lib/components/style/delete-button.js +0 -35
  297. package/lib/components/style/delete-button.js.map +0 -1
  298. package/lib/components/style/export.js +0 -122
  299. package/lib/components/style/export.js.map +0 -1
  300. package/lib/components/style/form-block.js +0 -32
  301. package/lib/components/style/form-block.js.map +0 -1
  302. package/lib/components/style/form-color-input.js +0 -35
  303. package/lib/components/style/form-color-input.js.map +0 -1
  304. package/lib/components/style/form-label.js +0 -34
  305. package/lib/components/style/form-label.js.map +0 -1
  306. package/lib/components/style/form-number-input.js +0 -197
  307. package/lib/components/style/form-number-input.js.map +0 -1
  308. package/lib/components/style/form-number-input_2.js +0 -214
  309. package/lib/components/style/form-number-input_2.js.map +0 -1
  310. package/lib/components/style/form-select.js +0 -30
  311. package/lib/components/style/form-select.js.map +0 -1
  312. package/lib/components/style/form-slider.js +0 -53
  313. package/lib/components/style/form-slider.js.map +0 -1
  314. package/lib/components/style/form-submit-button.js +0 -36
  315. package/lib/components/style/form-submit-button.js.map +0 -1
  316. package/lib/components/style/form-text-input.js +0 -84
  317. package/lib/components/style/form-text-input.js.map +0 -1
  318. package/lib/components/toolbar/button/ControlButton.js +0 -76
  319. package/lib/components/toolbar/button/ControlButton.js.map +0 -1
  320. package/lib/components/toolbar/button/DirectionButton.js +0 -57
  321. package/lib/components/toolbar/button/DirectionButton.js.map +0 -1
  322. package/lib/components/toolbar/button/RightButton.js +0 -140
  323. package/lib/components/toolbar/button/RightButton.js.map +0 -1
  324. package/lib/components/toolbar/button/ToggleButton.js +0 -66
  325. package/lib/components/toolbar/button/ToggleButton.js.map +0 -1
  326. package/lib/components/toolbar/button/index.js +0 -94
  327. package/lib/components/toolbar/button/index.js.map +0 -1
  328. package/lib/components/toolbar/button/styles.js +0 -21
  329. package/lib/components/toolbar/button/styles.js.map +0 -1
  330. package/lib/components/toolbar/components/DoorStyleMenu.js +0 -112
  331. package/lib/components/toolbar/components/DoorStyleMenu.js.map +0 -1
  332. package/lib/components/toolbar/components/Pricing.js +0 -110
  333. package/lib/components/toolbar/components/Pricing.js.map +0 -1
  334. package/lib/components/toolbar/components/ReviewForQuote.js +0 -485
  335. package/lib/components/toolbar/components/ReviewForQuote.js.map +0 -1
  336. package/lib/components/toolbar/export.js +0 -50
  337. package/lib/components/toolbar/export.js.map +0 -1
  338. package/lib/components/toolbar/main/Alert.js +0 -132
  339. package/lib/components/toolbar/main/Alert.js.map +0 -1
  340. package/lib/components/toolbar/main/TakePictureModal.js +0 -109
  341. package/lib/components/toolbar/main/TakePictureModal.js.map +0 -1
  342. package/lib/components/toolbar/main/confirm-popup.js +0 -95
  343. package/lib/components/toolbar/main/confirm-popup.js.map +0 -1
  344. package/lib/components/toolbar/main/index.js +0 -4619
  345. package/lib/components/toolbar/main/index.js.map +0 -1
  346. package/lib/components/toolbar/main/myComponents.js +0 -125
  347. package/lib/components/toolbar/main/myComponents.js.map +0 -1
  348. package/lib/components/toolbar/main/styles.js +0 -73
  349. package/lib/components/toolbar/main/styles.js.map +0 -1
  350. package/lib/components/toolbar/plugin-item.js +0 -156
  351. package/lib/components/toolbar/plugin-item.js.map +0 -1
  352. package/lib/components/toolbar/popup/appliance/appliance-category/index.js +0 -86
  353. package/lib/components/toolbar/popup/appliance/appliance-category/index.js.map +0 -1
  354. package/lib/components/toolbar/popup/appliance/choose-appliance/index.js +0 -85
  355. package/lib/components/toolbar/popup/appliance/choose-appliance/index.js.map +0 -1
  356. package/lib/components/toolbar/popup/appliance/index.js +0 -89
  357. package/lib/components/toolbar/popup/appliance/index.js.map +0 -1
  358. package/lib/components/toolbar/popup/autosaveprompt/index.js +0 -99
  359. package/lib/components/toolbar/popup/autosaveprompt/index.js.map +0 -1
  360. package/lib/components/toolbar/popup/autosaveprompt/styles.js +0 -16
  361. package/lib/components/toolbar/popup/autosaveprompt/styles.js.map +0 -1
  362. package/lib/components/toolbar/popup/cabinet/cabinet-category/index.js +0 -86
  363. package/lib/components/toolbar/popup/cabinet/cabinet-category/index.js.map +0 -1
  364. package/lib/components/toolbar/popup/cabinet/choose-product/index.js +0 -107
  365. package/lib/components/toolbar/popup/cabinet/choose-product/index.js.map +0 -1
  366. package/lib/components/toolbar/popup/cabinet/index.js +0 -91
  367. package/lib/components/toolbar/popup/cabinet/index.js.map +0 -1
  368. package/lib/components/toolbar/popup/doorStyle/choose-style/index.js +0 -59
  369. package/lib/components/toolbar/popup/doorStyle/choose-style/index.js.map +0 -1
  370. package/lib/components/toolbar/popup/doorStyle/index.js +0 -68
  371. package/lib/components/toolbar/popup/doorStyle/index.js.map +0 -1
  372. package/lib/components/toolbar/popup/doorStyle/style-category/index.js +0 -152
  373. package/lib/components/toolbar/popup/doorStyle/style-category/index.js.map +0 -1
  374. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -9
  375. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryContext.js.map +0 -1
  376. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js +0 -128
  377. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js.map +0 -1
  378. package/lib/components/toolbar/popup/downloadsummary/index.js +0 -572
  379. package/lib/components/toolbar/popup/downloadsummary/index.js.map +0 -1
  380. package/lib/components/toolbar/popup/downloadsummary/show2D/show2DView.js +0 -60
  381. package/lib/components/toolbar/popup/downloadsummary/show2D/show2DView.js.map +0 -1
  382. package/lib/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js +0 -200
  383. package/lib/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js.map +0 -1
  384. package/lib/components/toolbar/popup/downloadsummary/show3D/show3DView.js +0 -254
  385. package/lib/components/toolbar/popup/downloadsummary/show3D/show3DView.js.map +0 -1
  386. package/lib/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js +0 -1762
  387. package/lib/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js.map +0 -1
  388. package/lib/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -96
  389. package/lib/components/toolbar/popup/downloadsummary/showCabinetInfo.js.map +0 -1
  390. package/lib/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js +0 -125
  391. package/lib/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js.map +0 -1
  392. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js +0 -1713
  393. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js.map +0 -1
  394. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js +0 -184
  395. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js.map +0 -1
  396. package/lib/components/toolbar/popup/downloadsummary/showWarranty.js +0 -115
  397. package/lib/components/toolbar/popup/downloadsummary/showWarranty.js.map +0 -1
  398. package/lib/components/toolbar/popup/downloadsummary/styles.js +0 -47
  399. package/lib/components/toolbar/popup/downloadsummary/styles.js.map +0 -1
  400. package/lib/components/toolbar/popup/finishingtouch/category/index.js +0 -44
  401. package/lib/components/toolbar/popup/finishingtouch/category/index.js.map +0 -1
  402. package/lib/components/toolbar/popup/finishingtouch/index.js +0 -54
  403. package/lib/components/toolbar/popup/finishingtouch/index.js.map +0 -1
  404. package/lib/components/toolbar/popup/finishingtouch/material-edit.js +0 -163
  405. package/lib/components/toolbar/popup/finishingtouch/material-edit.js.map +0 -1
  406. package/lib/components/toolbar/popup/finishingtouch/product/index.js +0 -65
  407. package/lib/components/toolbar/popup/finishingtouch/product/index.js.map +0 -1
  408. package/lib/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js +0 -124
  409. package/lib/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js.map +0 -1
  410. package/lib/components/toolbar/popup/floorplan/choose-floor/index.js +0 -255
  411. package/lib/components/toolbar/popup/floorplan/choose-floor/index.js.map +0 -1
  412. package/lib/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -20
  413. package/lib/components/toolbar/popup/floorplan/choose-floor/styles.js.map +0 -1
  414. package/lib/components/toolbar/popup/floorplan/floor-category/index.js +0 -99
  415. package/lib/components/toolbar/popup/floorplan/floor-category/index.js.map +0 -1
  416. package/lib/components/toolbar/popup/floorplan/index.js +0 -56
  417. package/lib/components/toolbar/popup/floorplan/index.js.map +0 -1
  418. package/lib/components/toolbar/popup/index.js +0 -195
  419. package/lib/components/toolbar/popup/index.js.map +0 -1
  420. package/lib/components/toolbar/popup/newproject/index.js +0 -75
  421. package/lib/components/toolbar/popup/newproject/index.js.map +0 -1
  422. package/lib/components/toolbar/popup/newproject/styles.js +0 -16
  423. package/lib/components/toolbar/popup/newproject/styles.js.map +0 -1
  424. package/lib/components/toolbar/popup/product/appliance.js +0 -73
  425. package/lib/components/toolbar/popup/product/appliance.js.map +0 -1
  426. package/lib/components/toolbar/popup/product/cabinetproduct.js +0 -33
  427. package/lib/components/toolbar/popup/product/cabinetproduct.js.map +0 -1
  428. package/lib/components/toolbar/popup/product/doorstyle.js +0 -59
  429. package/lib/components/toolbar/popup/product/doorstyle.js.map +0 -1
  430. package/lib/components/toolbar/popup/product/doorstyleproduct.js +0 -59
  431. package/lib/components/toolbar/popup/product/doorstyleproduct.js.map +0 -1
  432. package/lib/components/toolbar/popup/product/floor.js +0 -59
  433. package/lib/components/toolbar/popup/product/floor.js.map +0 -1
  434. package/lib/components/toolbar/popup/product/floorproduct.js +0 -68
  435. package/lib/components/toolbar/popup/product/floorproduct.js.map +0 -1
  436. package/lib/components/toolbar/popup/product/index.js +0 -59
  437. package/lib/components/toolbar/popup/product/index.js.map +0 -1
  438. package/lib/components/toolbar/popup/product/primary.js +0 -71
  439. package/lib/components/toolbar/popup/product/primary.js.map +0 -1
  440. package/lib/components/toolbar/popup/product/productline.js +0 -128
  441. package/lib/components/toolbar/popup/product/productline.js.map +0 -1
  442. package/lib/components/toolbar/popup/product/reviewItem.js +0 -346
  443. package/lib/components/toolbar/popup/product/reviewItem.js.map +0 -1
  444. package/lib/components/toolbar/popup/product/reviewMolding.js +0 -291
  445. package/lib/components/toolbar/popup/product/reviewMolding.js.map +0 -1
  446. package/lib/components/toolbar/popup/product/styles.js +0 -79
  447. package/lib/components/toolbar/popup/product/styles.js.map +0 -1
  448. package/lib/components/toolbar/popup/savedesign/FullPictureForm.js +0 -169
  449. package/lib/components/toolbar/popup/savedesign/FullPictureForm.js.map +0 -1
  450. package/lib/components/toolbar/popup/savedesign/index.js +0 -516
  451. package/lib/components/toolbar/popup/savedesign/index.js.map +0 -1
  452. package/lib/components/toolbar/popup/savedesign/styles.js +0 -26
  453. package/lib/components/toolbar/popup/savedesign/styles.js.map +0 -1
  454. package/lib/components/toolbar/popup/setDoorStyleOption/index.js +0 -64
  455. package/lib/components/toolbar/popup/setDoorStyleOption/index.js.map +0 -1
  456. package/lib/components/toolbar/popup/styles.js +0 -104
  457. package/lib/components/toolbar/popup/styles.js.map +0 -1
  458. package/lib/components/toolbar/popup/submitforquote/AddToCartOptions.js +0 -166
  459. package/lib/components/toolbar/popup/submitforquote/AddToCartOptions.js.map +0 -1
  460. package/lib/components/toolbar/popup/submitforquote/CustomerRequestsForm.js +0 -93
  461. package/lib/components/toolbar/popup/submitforquote/CustomerRequestsForm.js.map +0 -1
  462. package/lib/components/toolbar/popup/submitforquote/SkipDesignerReview.js +0 -45
  463. package/lib/components/toolbar/popup/submitforquote/SkipDesignerReview.js.map +0 -1
  464. package/lib/components/toolbar/popup/submitforquote/StepDots.js +0 -40
  465. package/lib/components/toolbar/popup/submitforquote/StepDots.js.map +0 -1
  466. package/lib/components/toolbar/popup/submitforquote/cart-choice.js +0 -141
  467. package/lib/components/toolbar/popup/submitforquote/cart-choice.js.map +0 -1
  468. package/lib/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -50
  469. package/lib/components/toolbar/popup/submitforquote/doorstyle-menus.js.map +0 -1
  470. package/lib/components/toolbar/popup/submitforquote/index.js +0 -698
  471. package/lib/components/toolbar/popup/submitforquote/index.js.map +0 -1
  472. package/lib/components/toolbar/popup/submitforquote/styles.js +0 -38
  473. package/lib/components/toolbar/popup/submitforquote/styles.js.map +0 -1
  474. package/lib/components/toolbar/popup/submitprompt/index.js +0 -79
  475. package/lib/components/toolbar/popup/submitprompt/index.js.map +0 -1
  476. package/lib/components/toolbar/popup/submitprompt/styles.js +0 -16
  477. package/lib/components/toolbar/popup/submitprompt/styles.js.map +0 -1
  478. package/lib/components/toolbar/toolbar-button.js +0 -111
  479. package/lib/components/toolbar/toolbar-button.js.map +0 -1
  480. package/lib/components/toolbar/toolbar-load-button.js +0 -36
  481. package/lib/components/toolbar/toolbar-load-button.js.map +0 -1
  482. package/lib/components/toolbar/toolbar-save-button.js +0 -34
  483. package/lib/components/toolbar/toolbar-save-button.js.map +0 -1
  484. package/lib/components/tutorial-view/Modal.js +0 -503
  485. package/lib/components/tutorial-view/Modal.js.map +0 -1
  486. package/lib/components/tutorial-view/styles.js +0 -13
  487. package/lib/components/tutorial-view/styles.js.map +0 -1
  488. package/lib/components/viewer2d/area.js +0 -90
  489. package/lib/components/viewer2d/area.js.map +0 -1
  490. package/lib/components/viewer2d/export.js +0 -122
  491. package/lib/components/viewer2d/export.js.map +0 -1
  492. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +0 -45
  493. package/lib/components/viewer2d/grids/grid-horizontal-streak.js.map +0 -1
  494. package/lib/components/viewer2d/grids/grid-streak.js +0 -45
  495. package/lib/components/viewer2d/grids/grid-streak.js.map +0 -1
  496. package/lib/components/viewer2d/grids/grid-vertical-streak.js +0 -45
  497. package/lib/components/viewer2d/grids/grid-vertical-streak.js.map +0 -1
  498. package/lib/components/viewer2d/grids/grids.js +0 -45
  499. package/lib/components/viewer2d/grids/grids.js.map +0 -1
  500. package/lib/components/viewer2d/group.js +0 -63
  501. package/lib/components/viewer2d/group.js.map +0 -1
  502. package/lib/components/viewer2d/item.js +0 -522
  503. package/lib/components/viewer2d/item.js.map +0 -1
  504. package/lib/components/viewer2d/layer.js +0 -172
  505. package/lib/components/viewer2d/layer.js.map +0 -1
  506. package/lib/components/viewer2d/line.js +0 -899
  507. package/lib/components/viewer2d/line.js.map +0 -1
  508. package/lib/components/viewer2d/ruler.js +0 -108
  509. package/lib/components/viewer2d/ruler.js.map +0 -1
  510. package/lib/components/viewer2d/rulerDist.js +0 -154
  511. package/lib/components/viewer2d/rulerDist.js.map +0 -1
  512. package/lib/components/viewer2d/rulerX.js +0 -159
  513. package/lib/components/viewer2d/rulerX.js.map +0 -1
  514. package/lib/components/viewer2d/rulerY.js +0 -161
  515. package/lib/components/viewer2d/rulerY.js.map +0 -1
  516. package/lib/components/viewer2d/scene.js +0 -148
  517. package/lib/components/viewer2d/scene.js.map +0 -1
  518. package/lib/components/viewer2d/snap.js +0 -84
  519. package/lib/components/viewer2d/snap.js.map +0 -1
  520. package/lib/components/viewer2d/state.js +0 -88
  521. package/lib/components/viewer2d/state.js.map +0 -1
  522. package/lib/components/viewer2d/utils.js +0 -174
  523. package/lib/components/viewer2d/utils.js.map +0 -1
  524. package/lib/components/viewer2d/vertex.js +0 -76
  525. package/lib/components/viewer2d/vertex.js.map +0 -1
  526. package/lib/components/viewer2d/viewer2d.js +0 -1409
  527. package/lib/components/viewer2d/viewer2d.js.map +0 -1
  528. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2598
  529. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js.map +0 -1
  530. package/lib/components/viewer3d/dcm.js +0 -408
  531. package/lib/components/viewer3d/dcm.js.map +0 -1
  532. package/lib/components/viewer3d/fbm.js +0 -421
  533. package/lib/components/viewer3d/fbm.js.map +0 -1
  534. package/lib/components/viewer3d/front3D.js +0 -76
  535. package/lib/components/viewer3d/front3D.js.map +0 -1
  536. package/lib/components/viewer3d/grid-creator.js +0 -35
  537. package/lib/components/viewer3d/grid-creator.js.map +0 -1
  538. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +0 -45
  539. package/lib/components/viewer3d/grids/grid-horizontal-streak.js.map +0 -1
  540. package/lib/components/viewer3d/grids/grid-streak.js +0 -36
  541. package/lib/components/viewer3d/grids/grid-streak.js.map +0 -1
  542. package/lib/components/viewer3d/grids/grid-vertical-streak.js +0 -45
  543. package/lib/components/viewer3d/grids/grid-vertical-streak.js.map +0 -1
  544. package/lib/components/viewer3d/libs/first-person-controls.js +0 -75
  545. package/lib/components/viewer3d/libs/first-person-controls.js.map +0 -1
  546. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1288
  547. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js.map +0 -1
  548. package/lib/components/viewer3d/libs/mtl-loader.js +0 -360
  549. package/lib/components/viewer3d/libs/mtl-loader.js.map +0 -1
  550. package/lib/components/viewer3d/libs/obj-loader.js +0 -465
  551. package/lib/components/viewer3d/libs/obj-loader.js.map +0 -1
  552. package/lib/components/viewer3d/libs/orbit-controls.js +0 -701
  553. package/lib/components/viewer3d/libs/orbit-controls.js.map +0 -1
  554. package/lib/components/viewer3d/libs/pointer-lock-controls.js +0 -48
  555. package/lib/components/viewer3d/libs/pointer-lock-controls.js.map +0 -1
  556. package/lib/components/viewer3d/lrm.js +0 -312
  557. package/lib/components/viewer3d/lrm.js.map +0 -1
  558. package/lib/components/viewer3d/model.js +0 -715
  559. package/lib/components/viewer3d/model.js.map +0 -1
  560. package/lib/components/viewer3d/pointer-lock-navigation.js +0 -123
  561. package/lib/components/viewer3d/pointer-lock-navigation.js.map +0 -1
  562. package/lib/components/viewer3d/ruler-utils/itemRect.js +0 -69
  563. package/lib/components/viewer3d/ruler-utils/itemRect.js.map +0 -1
  564. package/lib/components/viewer3d/ruler-utils/layer3D.js +0 -503
  565. package/lib/components/viewer3d/ruler-utils/layer3D.js.map +0 -1
  566. package/lib/components/viewer3d/ruler-utils/ruler3D.js +0 -235
  567. package/lib/components/viewer3d/ruler-utils/ruler3D.js.map +0 -1
  568. package/lib/components/viewer3d/ruler-utils/scene3D.js +0 -70
  569. package/lib/components/viewer3d/ruler-utils/scene3D.js.map +0 -1
  570. package/lib/components/viewer3d/ruler-utils/state3D.js +0 -26
  571. package/lib/components/viewer3d/ruler-utils/state3D.js.map +0 -1
  572. package/lib/components/viewer3d/scene-creator.js +0 -3641
  573. package/lib/components/viewer3d/scene-creator.js.map +0 -1
  574. package/lib/components/viewer3d/three-memory-cleaner.js +0 -61
  575. package/lib/components/viewer3d/three-memory-cleaner.js.map +0 -1
  576. package/lib/components/viewer3d/viewer3d-first-person.js +0 -321
  577. package/lib/components/viewer3d/viewer3d-first-person.js.map +0 -1
  578. package/lib/components/viewer3d/viewer3d.js +0 -2508
  579. package/lib/components/viewer3d/viewer3d.js.map +0 -1
  580. package/lib/components/wizardstep/button/styles.js +0 -67
  581. package/lib/components/wizardstep/button/styles.js.map +0 -1
  582. package/lib/components/wizardstep/export.js +0 -12
  583. package/lib/components/wizardstep/export.js.map +0 -1
  584. package/lib/components/wizardstep/index.js +0 -978
  585. package/lib/components/wizardstep/index.js.map +0 -1
  586. package/lib/components/wizardstep/styles.js +0 -68
  587. package/lib/components/wizardstep/styles.js.map +0 -1
  588. package/lib/components/wizardstep/wizardstep-content-button.js +0 -224
  589. package/lib/components/wizardstep/wizardstep-content-button.js.map +0 -1
  590. package/lib/components/wizardstep/wizardstep-toggle-button.js +0 -133
  591. package/lib/components/wizardstep/wizardstep-toggle-button.js.map +0 -1
  592. package/lib/constants.js +0 -646
  593. package/lib/constants.js.map +0 -1
  594. package/lib/hooks/useCheckCart.js +0 -60
  595. package/lib/hooks/useCheckCart.js.map +0 -1
  596. package/lib/hooks/useGetPricesBySku.js +0 -81
  597. package/lib/hooks/useGetPricesBySku.js.map +0 -1
  598. package/lib/hooks/useValidateToken.js +0 -207
  599. package/lib/hooks/useValidateToken.js.map +0 -1
  600. package/lib/index.js +0 -102
  601. package/lib/index.js.map +0 -1
  602. package/lib/models.js +0 -518
  603. package/lib/models.js.map +0 -1
  604. package/lib/plugins/SVGLoader.js +0 -1418
  605. package/lib/plugins/SVGLoader.js.map +0 -1
  606. package/lib/plugins/autosave.js +0 -40
  607. package/lib/plugins/autosave.js.map +0 -1
  608. package/lib/plugins/console-debugger.js +0 -45
  609. package/lib/plugins/console-debugger.js.map +0 -1
  610. package/lib/plugins/export.js +0 -34
  611. package/lib/plugins/export.js.map +0 -1
  612. package/lib/plugins/keyboard.js +0 -108
  613. package/lib/plugins/keyboard.js.map +0 -1
  614. package/lib/reducers/areas-reducer.js +0 -19
  615. package/lib/reducers/areas-reducer.js.map +0 -1
  616. package/lib/reducers/export.js +0 -98
  617. package/lib/reducers/export.js.map +0 -1
  618. package/lib/reducers/groups-reducer.js +0 -45
  619. package/lib/reducers/groups-reducer.js.map +0 -1
  620. package/lib/reducers/holes-reducer.js +0 -69
  621. package/lib/reducers/holes-reducer.js.map +0 -1
  622. package/lib/reducers/items-reducer.js +0 -147
  623. package/lib/reducers/items-reducer.js.map +0 -1
  624. package/lib/reducers/lines-reducer.js +0 -52
  625. package/lib/reducers/lines-reducer.js.map +0 -1
  626. package/lib/reducers/project-reducer.js +0 -136
  627. package/lib/reducers/project-reducer.js.map +0 -1
  628. package/lib/reducers/reducer.js +0 -27
  629. package/lib/reducers/reducer.js.map +0 -1
  630. package/lib/reducers/scene-reducer.js +0 -35
  631. package/lib/reducers/scene-reducer.js.map +0 -1
  632. package/lib/reducers/user-reducer.js +0 -48
  633. package/lib/reducers/user-reducer.js.map +0 -1
  634. package/lib/reducers/vertices-reducer.js +0 -26
  635. package/lib/reducers/vertices-reducer.js.map +0 -1
  636. package/lib/reducers/viewer2d-reducer.js +0 -83
  637. package/lib/reducers/viewer2d-reducer.js.map +0 -1
  638. package/lib/reducers/viewer3d-reducer.js +0 -64
  639. package/lib/reducers/viewer3d-reducer.js.map +0 -1
  640. package/lib/shared-style.js +0 -73
  641. package/lib/shared-style.js.map +0 -1
  642. package/lib/styles/export.js +0 -14
  643. package/lib/styles/export.js.map +0 -1
  644. package/lib/translator/en.js +0 -111
  645. package/lib/translator/en.js.map +0 -1
  646. package/lib/translator/it.js +0 -86
  647. package/lib/translator/it.js.map +0 -1
  648. package/lib/translator/ru.js +0 -86
  649. package/lib/translator/ru.js.map +0 -1
  650. package/lib/translator/translator.js +0 -91
  651. package/lib/translator/translator.js.map +0 -1
  652. package/lib/utils/browser.js +0 -41
  653. package/lib/utils/browser.js.map +0 -1
  654. package/lib/utils/email-validator.js +0 -11
  655. package/lib/utils/email-validator.js.map +0 -1
  656. package/lib/utils/export.js +0 -57
  657. package/lib/utils/export.js.map +0 -1
  658. package/lib/utils/geometry.js +0 -2329
  659. package/lib/utils/geometry.js.map +0 -1
  660. package/lib/utils/get-edges-of-subgraphs.js +0 -29
  661. package/lib/utils/get-edges-of-subgraphs.js.map +0 -1
  662. package/lib/utils/graph-cycles.js +0 -241
  663. package/lib/utils/graph-cycles.js.map +0 -1
  664. package/lib/utils/graph-inner-cycles.js +0 -55
  665. package/lib/utils/graph-inner-cycles.js.map +0 -1
  666. package/lib/utils/graph.js +0 -152
  667. package/lib/utils/graph.js.map +0 -1
  668. package/lib/utils/helper.js +0 -360
  669. package/lib/utils/helper.js.map +0 -1
  670. package/lib/utils/history.js +0 -37
  671. package/lib/utils/history.js.map +0 -1
  672. package/lib/utils/id-broker.js +0 -26
  673. package/lib/utils/id-broker.js.map +0 -1
  674. package/lib/utils/logger.js +0 -15
  675. package/lib/utils/logger.js.map +0 -1
  676. package/lib/utils/math.js +0 -58
  677. package/lib/utils/math.js.map +0 -1
  678. package/lib/utils/molding.js +0 -864
  679. package/lib/utils/molding.js.map +0 -1
  680. package/lib/utils/name-generator.js +0 -24
  681. package/lib/utils/name-generator.js.map +0 -1
  682. package/lib/utils/objects-utils.js +0 -61
  683. package/lib/utils/objects-utils.js.map +0 -1
  684. package/lib/utils/phone-validator.js +0 -11
  685. package/lib/utils/phone-validator.js.map +0 -1
  686. package/lib/utils/process-black-list.js +0 -25
  687. package/lib/utils/process-black-list.js.map +0 -1
  688. package/lib/utils/react-if.js +0 -25
  689. package/lib/utils/react-if.js.map +0 -1
  690. package/lib/utils/snap-scene.js +0 -106
  691. package/lib/utils/snap-scene.js.map +0 -1
  692. package/lib/utils/snap.js +0 -250
  693. package/lib/utils/snap.js.map +0 -1
  694. package/lib/utils/threeCSG.es6.js +0 -504
  695. package/lib/utils/threeCSG.es6.js.map +0 -1
  696. package/lib/version.js +0 -8
  697. package/lib/version.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_Tooltip","_interopRequireDefault","require","_styles","_Error","_convertUnits","_immutable","_propTypes","_react","_interopRequireWildcard","_fa","door_closet","door_exterior","door_interior","door_sliding","door_framed","door_frameless","window_clear","window_cross","window_double_hung","window_vertical","_math","_formNumberInput","_pluginItem","PS","_panelElementEditor","_confirmPopup","lShaped","longNarrow","_myComponents","oRectangle","rectangleData","_utils","_constants","SharedStyle","_export","_helper","_index","_ToggleMeasureButton","_setDoorStyleOption","S","_DoorStyleMenu","_ReviewForQuote","_Pricing","_geometry","_processBlackList","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t3","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_regenerator","toStringTag","c","prototype","Generator","u","create","_regeneratorDefine2","p","y","G","v","a","d","bind","length","l","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","displayName","w","m","_regeneratorDefine","_invoke","enumerable","configurable","writable","_createForOfIteratorHelper","_n","F","s","next","toString","slice","constructor","name","test","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","ownKeys","keys","getOwnPropertySymbols","filter","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_classCallCheck","_defineProperties","key","_createClass","_toPrimitive","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","_inherits","_setPrototypeOf","testJsonData","freeze","unitData","_name","_unit","ASIDE_STYLE","marginTop","StyledTooltip","withStyles","tooltip","backgroundColor","TEXT_COLOR_NEUTRAL_0","color","BG_COLOR_1","maxWidth","fontSize","fontFamily","DEFAULT_FONT_FAMILY","boxShadow","padding","Tooltip","searchInput","width","height","margin","border","hintText","Toolbar","exports","_PureComponent","props","context","_this","layer","layers","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","INSTALLATION_TYPE_NAME","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","REVIEW_AND_QUOTE","floorOpened","MAKE_FLOOR_PLAN","cabinetOpened","ADD_CABINETS","applianceOpened","ADD_APPLIANCES","finishingOpened","FINISHING_TOUCH","doorStyleOpen","SELECT_DOOR_STYLE","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","ARRAY_3D_MODES","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","isElevationView","WARNING_MESSAGE","ELEVATION_VIEW_ACTION_DISABLED","setWallColor","updatePopupOpen","MODE_IDLE_3D","MODE_DRAWING_ITEM_3D","MODE_DRAGGING_ITEM_3D","MODE_ROTATING_ITEM_3D","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","getInstallationSuffix","INSTALLATION_SUFFIX_TYPE","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","KEYBOARD_BUTTON_CODE","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","toFixedFloat","updateCeilHeight","updateCeilHeightUnit","update3DCeilHeight","update3DCeilHeightUnit","convert","to","openReplacedItemToolbar","oldItems","newItems","newItemsIds","oldItemIds","replacedItemId","selectItem","wallColor","alterate","topBtnAction","MODE_IDLE","MODE_2D_PAN","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","getSignedUrl","getAttribute","fetch","cache","XMLSerializer","btoa","serializeToString","_x","control","objectProperty","item_warning","values","indexOf","StyledAlert","text","onClose","selData","currentObject","_currentObject2","findCatalogElement","replaceCabinetData","attrPorpSeparatorStyle","position","alignItems","_currentTexture$doorS3","_currentTexture$doorS4","_currentTexture$doorS5","_currentTexture$doorS6","cabinet_category","objSKU","sku_number","skuArray","dcId","Map","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","formatNumber","DECIMAL_PLACES_2","doorColor","internalSKU","makeSKUForMagento","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","SECONDARY_PURPLE_COLOR","justifyContent","duplicateSelected","STATUS_NEGATIVE_COLOR","paddingRight","SelectedBox","objectFit","borderRadius","PropteryValue1","PropteryValue","Pricing","accessToken","ChildTitle1","onChange","precision","getLinearOfMolding","ChildTitle","MODE_ELEVATION_VIEW","description","beforeItem","multiMark","fromCharCode","PanelWrapper","TOOLBAR_COLOR","active","Title","Head","Close","clear","placeholder","gltf_url","focus","MATERIAL_COLORS","red","lineHeight","FaPlayCircle","regexp","RegExp","settingDialog","SettingDialog","TitleBarIconButton","transform","NumberInputWrapper","NumberInputTitle","MeasurementUnitSelect","borderColor","SelectArrow","flexDirection","right","MeasurementUnitOption","outline","isCeiling","evt","isCeilLimitation","CEILING_HEIGHT_NOT_VALID","TEXT_COLOR_NEUTRAL_2","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","TEXT_COLOR_NEUTRAL_1","tabDialog","Tab","TopLine","TabLine","TabLabel","setIsHelp","stopPropagation","ToolLine","setShowProperty","MODE_DRAWING_LINE","rollback","controlView","onKeyUp","RightButton","undo","RightButtonImage","redo","_currentTexture$doorS7","_currentTexture$doorS8","TEXT_COLOR_NEUTRAL_5","setSubData","finishingData","roomShapeData","title","roomElementsData","setRoomElement","testData","process","env","MODE","_loop","testJson","testJsonItemWrapper","confirm","project_data","isShowMoldingMenuItem","_currentTexture$doorS9","_currentTexture$doorS0","TOE_KICK_MOLDING","_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","isEqualInstallationType","_doorStyle$name","_getInstallationSuffi2","installationThumbnail","_this4$props$configDa","cabinetObject","buildCurrentCabinetObject","configData","productBlacklist","_currentTexture$doorS1","_currentTexture$doorS10","_currentTexture$doorS11","_currentTexture$doorS12","_currentTexture$doorS13","_currentTexture$doorS14","_currentTexture$doorS15","_currentTexture$doorS16","_currentTexture$doorS17","_currentTexture$doorS18","blMolding","ITEM_TYPE","MOLDING","bottom","appliance","ReviewForQuote","isTokenPresent","token","handleSubmitPrompt","handleSubmitForQuote","setDownloadPopupVisible","toolbarData","label","isOpen","message","handleClose","visible","submit","ToolbarWrapper","ToolbarButton","toolBar","cabinetData","moldings","itemCat","it","itemGroups","temp_items","mol","MoldingUtils","isEnableItemForMolding","itemGroup","_loop2","_idx","isItemSnappedGroup","idx","findIndex","splice","molding_totalLength","itemgroup","allLineRects","GeometryUtils","buildRectFromLines","getAllLines","MGlines","getLinesOfItem","sortItemsByDistance","_loop3","itemLines","temp_MGLines","line","itemLine","isLinesOverlapped","curItemLine","samePoints","MGLine","mergeOverlappedLines","verticesDistance","count","ceil","tmpMoldingData","toedoorStyles","_item$molding","layoutpos","BASE_CABINET_LAYOUTPOS","isEmpty","wUnit","h","hUnit","returnReplaceableDeepSearchType","len","outlinePaths","paths","outlineWidth","svgWidth","outlineHeight","svgHeight","outlinePoints","_iterator2","_step2","_iterator3","subPaths","_step3","subPath","getPoints","err","maxX","minX","maxY","minY","point","isPointInRect","doorIndex","iDS","totalLength","getToeKickSKU","ToolbarButtonImageWrapper","ToolbarButtonImage","ToolbarButtonTitle","handle","setVisible","PureComponent","propTypes","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":[]}