kitchen-simulator 11.0.0-react.18 → 11.0.0

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 (707) hide show
  1. package/es/AppContext.js +1 -4
  2. package/es/LiteKitchenConfigurator.js +67 -23
  3. package/es/LiteRenderer.js +15 -64
  4. package/es/actions/export.js +25 -12
  5. package/es/actions/items-actions.js +18 -2
  6. package/es/analytics/ga4.js +188 -0
  7. package/es/analytics/posthog.js +60 -0
  8. package/es/assets/Window.hdr +2100 -0
  9. package/es/assets/img/default/maple.jpg +0 -0
  10. package/es/assets/img/default/steel.jpg +0 -0
  11. package/es/assets/img/loading/loading.gif +0 -0
  12. package/es/catalog/cabinet/cabinet-assembly-order.js +36 -0
  13. package/es/catalog/catalog.js +0 -2
  14. package/es/catalog/factories/area-factory-3d.js +1 -5
  15. package/es/catalog/factories/wall-factory.js +1 -1
  16. package/es/catalog/holes/door-double/door_double.png +0 -0
  17. package/es/catalog/holes/door-panic/panicDoor.png +0 -0
  18. package/es/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  19. package/es/catalog/holes/gate/gate.jpg +0 -0
  20. package/es/catalog/holes/window-clear/texture.png +0 -0
  21. package/es/catalog/holes/window-cross/texture.png +0 -0
  22. package/es/catalog/holes/window-double-hung/texture.png +0 -0
  23. package/es/catalog/holes/window-vertical/texture.png +0 -0
  24. package/es/catalog/utils/exporter.js +4 -0
  25. package/es/catalog/utils/item-loader.js +12 -25
  26. package/es/class/area.js +0 -1
  27. package/es/class/export.js +1 -3
  28. package/es/class/item.js +207 -89
  29. package/es/class/line.js +1 -3
  30. package/es/class/project.js +15 -19
  31. package/es/components/content.js +20 -6
  32. package/es/components/export.js +3 -5
  33. package/es/components/style/export.js +2 -28
  34. package/es/components/style/form-number-input.js +34 -43
  35. package/es/components/viewer2d/group.js +12 -7
  36. package/es/components/viewer2d/item.js +159 -168
  37. package/es/components/viewer2d/line.js +18 -51
  38. package/es/components/viewer2d/rulerX.js +3 -0
  39. package/es/components/viewer2d/rulerY.js +3 -0
  40. package/es/components/viewer2d/scene.js +67 -47
  41. package/es/components/viewer2d/state.js +1 -1
  42. package/es/components/viewer2d/utils.js +0 -6
  43. package/es/components/viewer2d/viewer2d.js +566 -508
  44. package/es/components/viewer3d/front3D.js +1 -2
  45. package/es/components/viewer3d/pointer-lock-navigation.js +0 -90
  46. package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
  47. package/es/components/viewer3d/scene-creator.js +113 -120
  48. package/es/components/viewer3d/three-memory-cleaner.js +0 -14
  49. package/es/components/viewer3d/viewer3d-first-person.js +132 -134
  50. package/es/components/viewer3d/viewer3d.js +40 -28
  51. package/es/constants/catalog/skinPanel.js +9 -0
  52. package/es/constants.js +19 -8
  53. package/es/{WorkSpaceOriginal.js → devLiteRenderer.js} +241 -173
  54. package/es/events/external/handleExternalEvent.js +141 -0
  55. package/es/events/external/handleExternalEvent.util.js +1099 -0
  56. package/es/events/external/handlers.addItem.js +47 -0
  57. package/es/events/external/handlers.changeDoorStyle.js +140 -0
  58. package/es/events/external/handlers.elementOps.js +8 -0
  59. package/es/events/external/handlers.finishing.js +26 -0
  60. package/es/events/external/handlers.hole.js +4 -0
  61. package/es/events/external/handlers.loadProject.js +128 -0
  62. package/es/events/external/handlers.molding.js +24 -0
  63. package/es/events/external/handlers.projectLifecycle.js +11 -0
  64. package/es/events/external/handlers.projectSettings.js +32 -0
  65. package/es/events/external/handlers.replaceCabinet.js +41 -0
  66. package/es/events/external/handlers.roomShape.js +8 -0
  67. package/es/events/external/handlers.syncScene.js +21 -0
  68. package/es/events/external/handlers.updateSelectedElements.js +11 -0
  69. package/es/events/external/handlers.viewMode.js +11 -0
  70. package/es/events/external/handlers.viewerNavigation.js +108 -0
  71. package/es/events/external/handlers.wall.js +7 -0
  72. package/es/index.js +36 -76
  73. package/es/mappings/external-events/mapExternalEventPayload.js +28 -0
  74. package/es/mappings/external-events/mappers/addItemMapper.js +97 -0
  75. package/es/mappings/external-events/mappers/ccdfMapper.js +100 -0
  76. package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +49 -0
  77. package/es/mappings/external-events/mappers/changeDoorStyleMapper.js +37 -0
  78. package/es/mappings/external-events/mappers/loadProjectMapper.js +62 -0
  79. package/es/mappings/holesToCatalog.js +139 -0
  80. package/es/models.js +16 -1
  81. package/es/plugins/keyboard.js +1 -1
  82. package/es/reducers/export.js +2 -4
  83. package/es/reducers/items-reducer.js +4 -2
  84. package/es/reducers/project-reducer.js +1 -1
  85. package/es/reducers/reducer.js +2 -3
  86. package/es/reducers/viewer2d-reducer.js +0 -2
  87. package/es/shared/domain/cabinet-warning.js +15 -0
  88. package/es/shared/objects/immutable.js +3 -0
  89. package/es/utils/geometry.js +418 -95
  90. package/es/utils/helper.js +41 -35
  91. package/es/utils/history.js +2 -2
  92. package/es/utils/molding.js +12 -241
  93. package/es/utils/name-generator.js +0 -3
  94. package/es/utils/skinPanelEngine.js +522 -0
  95. package/lib/@history.js +11 -0
  96. package/lib/AppContext.js +11 -0
  97. package/lib/LiteKitchenConfigurator.js +527 -0
  98. package/lib/LiteRenderer.js +323 -0
  99. package/lib/actions/area-actions.js +21 -0
  100. package/lib/actions/export.js +36 -0
  101. package/lib/actions/groups-actions.js +107 -0
  102. package/lib/actions/holes-actions.js +140 -0
  103. package/lib/actions/items-actions.js +383 -0
  104. package/lib/actions/lines-actions.js +98 -0
  105. package/lib/actions/project-actions.js +351 -0
  106. package/lib/actions/scene-actions.js +43 -0
  107. package/lib/actions/vertices-actions.js +35 -0
  108. package/lib/actions/viewer2d-actions.js +73 -0
  109. package/lib/actions/viewer3d-actions.js +32 -0
  110. package/lib/analytics/ga4.js +194 -0
  111. package/lib/analytics/posthog.js +68 -0
  112. package/lib/assets/Window.hdr +2100 -0
  113. package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
  114. package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  115. package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  116. package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  117. package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  118. package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  119. package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  120. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  121. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  122. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  123. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  124. package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  125. package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  126. package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  127. package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  128. package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  129. package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  130. package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  131. package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  132. package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  133. package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  134. package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  135. package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  136. package/lib/assets/fonts/style.css +177 -0
  137. package/lib/assets/gltf/door_closet.gltf +1 -0
  138. package/lib/assets/gltf/door_exterior.gltf +1 -0
  139. package/lib/assets/gltf/door_interior.gltf +1 -0
  140. package/lib/assets/gltf/door_sliding.gltf +1 -0
  141. package/lib/assets/gltf/doorway_framed.bin +0 -0
  142. package/lib/assets/gltf/doorway_framed.fbx +0 -0
  143. package/lib/assets/gltf/doorway_framed.gltf +1 -0
  144. package/lib/assets/gltf/window_clear.bin +0 -0
  145. package/lib/assets/gltf/window_clear.fbx +0 -0
  146. package/lib/assets/gltf/window_clear.gltf +1 -0
  147. package/lib/assets/gltf/window_cross.bin +0 -0
  148. package/lib/assets/gltf/window_cross.fbx +0 -0
  149. package/lib/assets/gltf/window_cross.gltf +1 -0
  150. package/lib/assets/gltf/window_double_hung.bin +0 -0
  151. package/lib/assets/gltf/window_double_hung.fbx +0 -0
  152. package/lib/assets/gltf/window_double_hung.gltf +1 -0
  153. package/lib/assets/gltf/window_vertical.bin +0 -0
  154. package/lib/assets/gltf/window_vertical.fbx +0 -0
  155. package/lib/assets/gltf/window_vertical.gltf +1 -0
  156. package/lib/assets/img/TKC_thumbnail.png +0 -0
  157. package/lib/assets/img/Toggle.png +0 -0
  158. package/lib/assets/img/default/maple.jpg +0 -0
  159. package/lib/assets/img/default/steel.jpg +0 -0
  160. package/lib/assets/img/loading/loading.gif +0 -0
  161. package/lib/assets/img/loading/loading_1.svg +11 -0
  162. package/lib/assets/img/loading_large.gif +0 -0
  163. package/lib/assets/img/png/door/closet.png +0 -0
  164. package/lib/assets/img/png/door/doorwaysframed.png +0 -0
  165. package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
  166. package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
  167. package/lib/assets/img/png/door/exterior.png +0 -0
  168. package/lib/assets/img/png/door/interior.png +0 -0
  169. package/lib/assets/img/png/door/sliding.png +0 -0
  170. package/lib/assets/img/png/helper/outcome.png +0 -0
  171. package/lib/assets/img/project_img.png +0 -0
  172. package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  173. package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  174. package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  175. package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  176. package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  177. package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  178. package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
  179. package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
  180. package/lib/assets/img/rta_menu.png +0 -0
  181. package/lib/assets/img/step2.jpg +0 -0
  182. package/lib/assets/img/step3.jpg +0 -0
  183. package/lib/assets/img/step4.jpg +0 -0
  184. package/lib/assets/img/step5.jpg +0 -0
  185. package/lib/assets/img/step6.jpg +0 -0
  186. package/lib/assets/img/step7.jpg +0 -0
  187. package/lib/assets/img/step8.jpg +0 -0
  188. package/lib/assets/img/svg/2d_delete_object.svg +33 -0
  189. package/lib/assets/img/svg/2d_delete_object1.svg +33 -0
  190. package/lib/assets/img/svg/2d_lock_object.svg +33 -0
  191. package/lib/assets/img/svg/3d_item_move.svg +106 -0
  192. package/lib/assets/img/svg/3d_item_rotation.svg +76 -0
  193. package/lib/assets/img/svg/3d_item_warning_edit.svg +77 -0
  194. package/lib/assets/img/svg/3d_item_warning_info.svg +81 -0
  195. package/lib/assets/img/svg/accessories.svg +4 -0
  196. package/lib/assets/img/svg/angle_icon.svg +39 -0
  197. package/lib/assets/img/svg/blank_div.svg +14 -0
  198. package/lib/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  199. package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  200. package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  201. package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  202. package/lib/assets/img/svg/bottombar/arrow-down.svg +3 -0
  203. package/lib/assets/img/svg/bottombar/arrow-left.svg +3 -0
  204. package/lib/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  205. package/lib/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  206. package/lib/assets/img/svg/bottombar/arrow-right.svg +3 -0
  207. package/lib/assets/img/svg/bottombar/arrow-up.svg +3 -0
  208. package/lib/assets/img/svg/bottombar/collapse.svg +3 -0
  209. package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -0
  210. package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -0
  211. package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -0
  212. package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -0
  213. package/lib/assets/img/svg/bottombar/elevation.svg +13 -0
  214. package/lib/assets/img/svg/bottombar/expand.svg +3 -0
  215. package/lib/assets/img/svg/bottombar/help.svg +72 -0
  216. package/lib/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  217. package/lib/assets/img/svg/bottombar/pan_1.svg +57 -0
  218. package/lib/assets/img/svg/bottombar/pan_2.svg +27 -0
  219. package/lib/assets/img/svg/bottombar/pan_3.svg +27 -0
  220. package/lib/assets/img/svg/bottombar/pan_4.svg +27 -0
  221. package/lib/assets/img/svg/bottombar/pan_5.svg +27 -0
  222. package/lib/assets/img/svg/bottombar/settings.svg +23 -0
  223. package/lib/assets/img/svg/bottombar/spin-down.svg +76 -0
  224. package/lib/assets/img/svg/bottombar/spin-left.svg +75 -0
  225. package/lib/assets/img/svg/bottombar/spin-right.svg +75 -0
  226. package/lib/assets/img/svg/bottombar/spin-up.svg +76 -0
  227. package/lib/assets/img/svg/bottombar/spin_1.svg +48 -0
  228. package/lib/assets/img/svg/bottombar/spin_2.svg +31 -0
  229. package/lib/assets/img/svg/bottombar/spin_3.svg +31 -0
  230. package/lib/assets/img/svg/bottombar/spin_4.svg +31 -0
  231. package/lib/assets/img/svg/bottombar/spin_5.svg +31 -0
  232. package/lib/assets/img/svg/bottombar/zoomin.svg +29 -0
  233. package/lib/assets/img/svg/bottombar/zoomout.svg +26 -0
  234. package/lib/assets/img/svg/check.svg +10 -0
  235. package/lib/assets/img/svg/close.svg +11 -0
  236. package/lib/assets/img/svg/color/Black.svg +3 -0
  237. package/lib/assets/img/svg/color/Blue.svg +3 -0
  238. package/lib/assets/img/svg/color/Cream.svg +3 -0
  239. package/lib/assets/img/svg/color/Gray.svg +3 -0
  240. package/lib/assets/img/svg/color/Green.svg +3 -0
  241. package/lib/assets/img/svg/color/White.svg +3 -0
  242. package/lib/assets/img/svg/color/White.svg.bak +3 -0
  243. package/lib/assets/img/svg/color/stone2.jpg +0 -0
  244. package/lib/assets/img/svg/color/wood2.jpg +0 -0
  245. package/lib/assets/img/svg/copy.svg +11 -0
  246. package/lib/assets/img/svg/delete.svg +3 -0
  247. package/lib/assets/img/svg/detail.svg +77 -0
  248. package/lib/assets/img/svg/disclaimer/background.svg +758 -0
  249. package/lib/assets/img/svg/disclaimer/logo-dots.svg +11 -0
  250. package/lib/assets/img/svg/door/Closet.svg +11 -0
  251. package/lib/assets/img/svg/door/Exterior.svg +5 -0
  252. package/lib/assets/img/svg/door/Framed_dorway.svg +5 -0
  253. package/lib/assets/img/svg/door/Frameless_dorway.svg +5 -0
  254. package/lib/assets/img/svg/door/Interior.svg +7 -0
  255. package/lib/assets/img/svg/door/Sliding.svg +5 -0
  256. package/lib/assets/img/svg/doors_closet.svg +47 -0
  257. package/lib/assets/img/svg/doors_exterior.svg +25 -0
  258. package/lib/assets/img/svg/doors_interior.svg +29 -0
  259. package/lib/assets/img/svg/doors_patio.svg +26 -0
  260. package/lib/assets/img/svg/duplicate.svg +11 -0
  261. package/lib/assets/img/svg/duplicate_object_left.svg +32 -0
  262. package/lib/assets/img/svg/duplicate_object_right.svg +32 -0
  263. package/lib/assets/img/svg/filtersActive.svg +19 -0
  264. package/lib/assets/img/svg/firstsetting/L.svg +3 -0
  265. package/lib/assets/img/svg/firstsetting/L2.svg +3 -0
  266. package/lib/assets/img/svg/firstsetting/Open.svg +3 -0
  267. package/lib/assets/img/svg/firstsetting/Square.svg +3 -0
  268. package/lib/assets/img/svg/firstsetting/bar-active.svg +9 -0
  269. package/lib/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  270. package/lib/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  271. package/lib/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  272. package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  273. package/lib/assets/img/svg/firstsetting/check-active.svg +3 -0
  274. package/lib/assets/img/svg/firstsetting/check-normal.svg +3 -0
  275. package/lib/assets/img/svg/firstsetting/pencil.svg +11 -0
  276. package/lib/assets/img/svg/green_checkmark.svg +27 -0
  277. package/lib/assets/img/svg/headerbar/assist.svg +3 -0
  278. package/lib/assets/img/svg/headerbar/cart.svg +3 -0
  279. package/lib/assets/img/svg/headerbar/check.svg +10 -0
  280. package/lib/assets/img/svg/headerbar/consult_designer.svg +45 -0
  281. package/lib/assets/img/svg/headerbar/edit_name.svg +26 -0
  282. package/lib/assets/img/svg/headerbar/file-dollar.svg +13 -0
  283. package/lib/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  284. package/lib/assets/img/svg/headerbar/plus.svg +11 -0
  285. package/lib/assets/img/svg/headerbar/review_quote.svg +44 -0
  286. package/lib/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  287. package/lib/assets/img/svg/headerbar/save.svg +3 -0
  288. package/lib/assets/img/svg/headerbar/setting.svg +75 -0
  289. package/lib/assets/img/svg/help/check.svg +10 -0
  290. package/lib/assets/img/svg/help/search.svg +76 -0
  291. package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  292. package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  293. package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  294. package/lib/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  295. package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  296. package/lib/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  297. package/lib/assets/img/svg/invert.svg +127 -0
  298. package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  299. package/lib/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  300. package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  301. package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  302. package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  303. package/lib/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  304. package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  305. package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  306. package/lib/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  307. package/lib/assets/img/svg/lefttoolbar/door.svg +12 -0
  308. package/lib/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  309. package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  310. package/lib/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  311. package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  312. package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  313. package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  314. package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  315. package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  316. package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  317. package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  318. package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  319. package/lib/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  320. package/lib/assets/img/svg/lefttoolbar/search.svg +76 -0
  321. package/lib/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  322. package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  323. package/lib/assets/img/svg/lefttoolbar/window.svg +12 -0
  324. package/lib/assets/img/svg/logo.svg +11 -0
  325. package/lib/assets/img/svg/logo_with_text.svg +25 -0
  326. package/lib/assets/img/svg/menubar/login.svg +84 -0
  327. package/lib/assets/img/svg/menubar/my_projects.svg +85 -0
  328. package/lib/assets/img/svg/menubar/new_project.svg +110 -0
  329. package/lib/assets/img/svg/menubar/save_project.svg +84 -0
  330. package/lib/assets/img/svg/options.svg +3 -0
  331. package/lib/assets/img/svg/positioning.svg +3 -0
  332. package/lib/assets/img/svg/rotate.png +0 -0
  333. package/lib/assets/img/svg/rotate.svg +17 -0
  334. package/lib/assets/img/svg/rotate_object_clockwise.svg +26 -0
  335. package/lib/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  336. package/lib/assets/img/svg/toggleFilters.svg +19 -0
  337. package/lib/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  338. package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  339. package/lib/assets/img/svg/toolbar/add_button.svg +36 -0
  340. package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  341. package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  342. package/lib/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  343. package/lib/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  344. package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  345. package/lib/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  346. package/lib/assets/img/svg/toolbar/apply_button.svg +38 -0
  347. package/lib/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  348. package/lib/assets/img/svg/toolbar/backsplash.svg +8 -0
  349. package/lib/assets/img/svg/toolbar/cancel_button.svg +37 -0
  350. package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  351. package/lib/assets/img/svg/toolbar/countertop.svg +7 -0
  352. package/lib/assets/img/svg/toolbar/dcm.png +0 -0
  353. package/lib/assets/img/svg/toolbar/dcm_off.svg +12 -0
  354. package/lib/assets/img/svg/toolbar/dcm_on.svg +474 -0
  355. package/lib/assets/img/svg/toolbar/delete_button.svg +37 -0
  356. package/lib/assets/img/svg/toolbar/download.svg +77 -0
  357. package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  358. package/lib/assets/img/svg/toolbar/edit_button.svg +75 -0
  359. package/lib/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  360. package/lib/assets/img/svg/toolbar/fbm.png +0 -0
  361. package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  362. package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  363. package/lib/assets/img/svg/toolbar/floorstyle.svg +9 -0
  364. package/lib/assets/img/svg/toolbar/fmb.png +0 -0
  365. package/lib/assets/img/svg/toolbar/fmb_off.svg +12 -0
  366. package/lib/assets/img/svg/toolbar/fmb_on.svg +489 -0
  367. package/lib/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  368. package/lib/assets/img/svg/toolbar/get_started_button.svg +41 -0
  369. package/lib/assets/img/svg/toolbar/handles.svg +5 -0
  370. package/lib/assets/img/svg/toolbar/lighting.svg +7 -0
  371. package/lib/assets/img/svg/toolbar/lrm.png +0 -0
  372. package/lib/assets/img/svg/toolbar/lrm_off.svg +12 -0
  373. package/lib/assets/img/svg/toolbar/lrm_on.svg +470 -0
  374. package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  375. package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  376. package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  377. package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  378. package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  379. package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  380. package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  381. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  382. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  383. package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  384. package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  385. package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  386. package/lib/assets/img/svg/toolbar/redo_button.svg +75 -0
  387. package/lib/assets/img/svg/toolbar/redo_button1.svg +75 -0
  388. package/lib/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  389. package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  390. package/lib/assets/img/svg/toolbar/save_project_button.svg +44 -0
  391. package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  392. package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  393. package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  394. package/lib/assets/img/svg/toolbar/style_change_button.svg +47 -0
  395. package/lib/assets/img/svg/toolbar/take_picture.svg +75 -0
  396. package/lib/assets/img/svg/toolbar/undo_button.svg +76 -0
  397. package/lib/assets/img/svg/toolbar/undo_button1.svg +76 -0
  398. package/lib/assets/img/svg/toolbar/use_button.svg +37 -0
  399. package/lib/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  400. package/lib/assets/img/svg/topbar/edit_active.svg +10 -0
  401. package/lib/assets/img/svg/topbar/edit_inactive.svg +10 -0
  402. package/lib/assets/img/svg/topbar/redo_active.svg +42 -0
  403. package/lib/assets/img/svg/topbar/redo_inactive.svg +23 -0
  404. package/lib/assets/img/svg/topbar/select_all_active.svg +50 -0
  405. package/lib/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  406. package/lib/assets/img/svg/topbar/take_picture_active.svg +51 -0
  407. package/lib/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  408. package/lib/assets/img/svg/topbar/undo_active.svg +42 -0
  409. package/lib/assets/img/svg/topbar/undo_inactive.svg +23 -0
  410. package/lib/assets/img/svg/warning_info_2d.svg +81 -0
  411. package/lib/assets/img/svg/window/Clear.svg +3 -0
  412. package/lib/assets/img/svg/window/Cross.svg +5 -0
  413. package/lib/assets/img/svg/window/Double_hung.svg +4 -0
  414. package/lib/assets/img/svg/window/Vertical.svg +4 -0
  415. package/lib/assets/img/svg/windows_clear.svg +23 -0
  416. package/lib/assets/img/svg/windows_cross.svg +28 -0
  417. package/lib/assets/img/svg/windows_double_hung.svg +24 -0
  418. package/lib/assets/img/svg/windows_vertical.svg +24 -0
  419. package/lib/assets/img/svg/wizardstep/Custom.svg +3 -0
  420. package/lib/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  421. package/lib/assets/img/svg/wizardstep/L.svg +3 -0
  422. package/lib/assets/img/svg/wizardstep/L2.svg +3 -0
  423. package/lib/assets/img/svg/wizardstep/Open.svg +3 -0
  424. package/lib/assets/img/svg/wizardstep/Square.svg +3 -0
  425. package/lib/assets/img/svg/wizardstep/bar-active.svg +9 -0
  426. package/lib/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  427. package/lib/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  428. package/lib/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  429. package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  430. package/lib/assets/img/svg/wizardstep/check-active.svg +3 -0
  431. package/lib/assets/img/svg/wizardstep/check-normal.svg +3 -0
  432. package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -0
  433. package/lib/assets/img/svg/wizardstep/pencil.svg +11 -0
  434. package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -0
  435. package/lib/assets/img/texture/glass.jpg +0 -0
  436. package/lib/assets/img/texture/steel.jpg +0 -0
  437. package/lib/assets/img/texture/white1px.jpg +0 -0
  438. package/lib/assets/img/texture/wood.jpg +0 -0
  439. package/lib/assets/model/DCM.bin +0 -0
  440. package/lib/assets/model/DCM.fbx +0 -0
  441. package/lib/assets/model/DCM.gltf +1 -0
  442. package/lib/assets/model/FBM.bin +0 -0
  443. package/lib/assets/model/FBM.fbx +0 -0
  444. package/lib/assets/model/FBM.gltf +1 -0
  445. package/lib/assets/model/LRM.bin +0 -0
  446. package/lib/assets/model/LRM.fbx +0 -0
  447. package/lib/assets/model/LRM.gltf +1 -0
  448. package/lib/assets/rtastore_logo.png +0 -0
  449. package/lib/catalog/areas/area/planner-element.js +53 -0
  450. package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  451. package/lib/catalog/areas/area/textures/grass.jpg +0 -0
  452. package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
  453. package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  454. package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
  455. package/lib/catalog/back.png +0 -0
  456. package/lib/catalog/cabinet/cabinet-assembly-order.js +42 -0
  457. package/lib/catalog/catalog.js +270 -0
  458. package/lib/catalog/doors.png +0 -0
  459. package/lib/catalog/doorways.png +0 -0
  460. package/lib/catalog/envMap/nx.hdr +0 -0
  461. package/lib/catalog/envMap/ny.hdr +0 -0
  462. package/lib/catalog/envMap/nz.hdr +0 -0
  463. package/lib/catalog/envMap/px.hdr +0 -0
  464. package/lib/catalog/envMap/py.hdr +0 -0
  465. package/lib/catalog/envMap/pz.hdr +0 -0
  466. package/lib/catalog/export.js +1 -0
  467. package/lib/catalog/factories/area-factory-3d.js +187 -0
  468. package/lib/catalog/factories/area-factory.js +88 -0
  469. package/lib/catalog/factories/export.js +25 -0
  470. package/lib/catalog/factories/wall-factory-3d.js +212 -0
  471. package/lib/catalog/factories/wall-factory.js +279 -0
  472. package/lib/catalog/holes/door-closet/planner-element.js +232 -0
  473. package/lib/catalog/holes/door-double/door_double.png +0 -0
  474. package/lib/catalog/holes/door-double/planner-element.js +325 -0
  475. package/lib/catalog/holes/door-exterior/planner-element.js +225 -0
  476. package/lib/catalog/holes/door-interior/planner-element.js +237 -0
  477. package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
  478. package/lib/catalog/holes/door-panic/planner-element.js +513 -0
  479. package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  480. package/lib/catalog/holes/door-panic-double/planner-element.js +473 -0
  481. package/lib/catalog/holes/door-sliding/planner-element.js +235 -0
  482. package/lib/catalog/holes/doorway-framed/planner-element.js +155 -0
  483. package/lib/catalog/holes/doorway-frameless/planner-element.js +114 -0
  484. package/lib/catalog/holes/export.js +97 -0
  485. package/lib/catalog/holes/gate/gate.jpg +0 -0
  486. package/lib/catalog/holes/window-clear/planner-element.js +176 -0
  487. package/lib/catalog/holes/window-clear/texture.png +0 -0
  488. package/lib/catalog/holes/window-cross/planner-element.js +175 -0
  489. package/lib/catalog/holes/window-cross/texture.png +0 -0
  490. package/lib/catalog/holes/window-double-hung/planner-element.js +313 -0
  491. package/lib/catalog/holes/window-double-hung/texture.png +0 -0
  492. package/lib/catalog/holes/window-vertical/planner-element.js +286 -0
  493. package/lib/catalog/holes/window-vertical/texture.png +0 -0
  494. package/lib/catalog/lines/wall/planner-element.js +87 -0
  495. package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  496. package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
  497. package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
  498. package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  499. package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
  500. package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
  501. package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  502. package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
  503. package/lib/catalog/lines/wall/wall.png +0 -0
  504. package/lib/catalog/molding/molding-dcm/planner-element.js +33 -0
  505. package/lib/catalog/molding/molding-dcm/texture.png +0 -0
  506. package/lib/catalog/molding/molding-fbm/planner-element.js +33 -0
  507. package/lib/catalog/molding/molding-fbm/texture.png +0 -0
  508. package/lib/catalog/molding/molding-lrm/planner-element.js +33 -0
  509. package/lib/catalog/molding/molding-lrm/texture.png +0 -0
  510. package/lib/catalog/utils/exporter.js +173 -0
  511. package/lib/catalog/utils/geom-utils.js +205 -0
  512. package/lib/catalog/utils/item-loader.js +1603 -0
  513. package/lib/catalog/utils/load-obj.js +99 -0
  514. package/lib/catalog/utils/mtl-loader.js +366 -0
  515. package/lib/catalog/utils/obj-loader.js +486 -0
  516. package/lib/catalog/windows.png +0 -0
  517. package/lib/class/area.js +147 -0
  518. package/lib/class/export.js +88 -0
  519. package/lib/class/group.js +438 -0
  520. package/lib/class/guide.js +64 -0
  521. package/lib/class/hole.js +930 -0
  522. package/lib/class/item.js +2009 -0
  523. package/lib/class/layer.js +670 -0
  524. package/lib/class/line.js +1236 -0
  525. package/lib/class/project.js +949 -0
  526. package/lib/class/vertex.js +205 -0
  527. package/lib/components/content.js +160 -0
  528. package/lib/components/export.js +7 -0
  529. package/lib/components/style/export.js +17 -0
  530. package/lib/components/style/form-number-input.js +192 -0
  531. package/lib/components/style/form-submit-button.js +35 -0
  532. package/lib/components/viewer2d/area.js +89 -0
  533. package/lib/components/viewer2d/export.js +121 -0
  534. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +44 -0
  535. package/lib/components/viewer2d/grids/grid-streak.js +44 -0
  536. package/lib/components/viewer2d/grids/grid-vertical-streak.js +44 -0
  537. package/lib/components/viewer2d/grids/grids.js +40 -0
  538. package/lib/components/viewer2d/group.js +63 -0
  539. package/lib/components/viewer2d/item.js +244 -0
  540. package/lib/components/viewer2d/layer.js +172 -0
  541. package/lib/components/viewer2d/line.js +975 -0
  542. package/lib/components/viewer2d/ruler.js +92 -0
  543. package/lib/components/viewer2d/rulerDist.js +110 -0
  544. package/lib/components/viewer2d/rulerX.js +154 -0
  545. package/lib/components/viewer2d/rulerY.js +156 -0
  546. package/lib/components/viewer2d/scene.js +137 -0
  547. package/lib/components/viewer2d/snap.js +84 -0
  548. package/lib/components/viewer2d/state.js +83 -0
  549. package/lib/components/viewer2d/utils.js +200 -0
  550. package/lib/components/viewer2d/vertex.js +76 -0
  551. package/lib/components/viewer2d/viewer2d.js +1472 -0
  552. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +2591 -0
  553. package/lib/components/viewer3d/dcm.js +408 -0
  554. package/lib/components/viewer3d/fbm.js +421 -0
  555. package/lib/components/viewer3d/front3D.js +71 -0
  556. package/lib/components/viewer3d/grid-creator.js +35 -0
  557. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +45 -0
  558. package/lib/components/viewer3d/grids/grid-streak.js +36 -0
  559. package/lib/components/viewer3d/grids/grid-vertical-streak.js +45 -0
  560. package/lib/components/viewer3d/libs/first-person-controls.js +74 -0
  561. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +1287 -0
  562. package/lib/components/viewer3d/libs/mtl-loader.js +366 -0
  563. package/lib/components/viewer3d/libs/obj-loader.js +471 -0
  564. package/lib/components/viewer3d/libs/orbit-controls.js +706 -0
  565. package/lib/components/viewer3d/libs/pointer-lock-controls.js +53 -0
  566. package/lib/components/viewer3d/lrm.js +312 -0
  567. package/lib/components/viewer3d/model.js +714 -0
  568. package/lib/components/viewer3d/pointer-lock-navigation.js +32 -0
  569. package/lib/components/viewer3d/ruler-utils/itemRect.js +69 -0
  570. package/lib/components/viewer3d/ruler-utils/layer3D.js +503 -0
  571. package/lib/components/viewer3d/ruler-utils/ruler3D.js +232 -0
  572. package/lib/components/viewer3d/ruler-utils/scene3D.js +67 -0
  573. package/lib/components/viewer3d/ruler-utils/state3D.js +26 -0
  574. package/lib/components/viewer3d/scene-creator.js +3850 -0
  575. package/lib/components/viewer3d/three-memory-cleaner.js +46 -0
  576. package/lib/components/viewer3d/viewer3d-first-person.js +316 -0
  577. package/lib/components/viewer3d/viewer3d.js +2673 -0
  578. package/lib/constants/catalog/skinPanel.js +15 -0
  579. package/lib/constants.js +791 -0
  580. package/lib/devLiteRenderer.js +917 -0
  581. package/lib/events/external/handleExternalEvent.js +148 -0
  582. package/lib/events/external/handleExternalEvent.util.js +1110 -0
  583. package/lib/events/external/handlers.addItem.js +54 -0
  584. package/lib/events/external/handlers.changeDoorStyle.js +147 -0
  585. package/lib/events/external/handlers.elementOps.js +15 -0
  586. package/lib/events/external/handlers.finishing.js +32 -0
  587. package/lib/events/external/handlers.hole.js +10 -0
  588. package/lib/events/external/handlers.loadProject.js +135 -0
  589. package/lib/events/external/handlers.molding.js +31 -0
  590. package/lib/events/external/handlers.projectLifecycle.js +19 -0
  591. package/lib/events/external/handlers.projectSettings.js +38 -0
  592. package/lib/events/external/handlers.replaceCabinet.js +48 -0
  593. package/lib/events/external/handlers.roomShape.js +14 -0
  594. package/lib/events/external/handlers.syncScene.js +27 -0
  595. package/lib/events/external/handlers.updateSelectedElements.js +17 -0
  596. package/lib/events/external/handlers.viewMode.js +19 -0
  597. package/lib/events/external/handlers.viewerNavigation.js +117 -0
  598. package/lib/events/external/handlers.wall.js +13 -0
  599. package/lib/index.js +637 -0
  600. package/lib/mappings/external-events/mapExternalEventPayload.js +33 -0
  601. package/lib/mappings/external-events/mappers/addItemMapper.js +103 -0
  602. package/lib/mappings/external-events/mappers/ccdfMapper.js +107 -0
  603. package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +55 -0
  604. package/lib/mappings/external-events/mappers/changeDoorStyleMapper.js +44 -0
  605. package/lib/mappings/external-events/mappers/loadProjectMapper.js +70 -0
  606. package/lib/mappings/holesToCatalog.js +148 -0
  607. package/lib/models.js +534 -0
  608. package/lib/plugins/SVGLoader.js +1419 -0
  609. package/lib/plugins/console-debugger.js +42 -0
  610. package/lib/plugins/export.js +25 -0
  611. package/lib/plugins/keyboard.js +117 -0
  612. package/lib/reducers/areas-reducer.js +19 -0
  613. package/lib/reducers/export.js +89 -0
  614. package/lib/reducers/groups-reducer.js +45 -0
  615. package/lib/reducers/holes-reducer.js +69 -0
  616. package/lib/reducers/items-reducer.js +152 -0
  617. package/lib/reducers/lines-reducer.js +52 -0
  618. package/lib/reducers/project-reducer.js +143 -0
  619. package/lib/reducers/reducer.js +25 -0
  620. package/lib/reducers/scene-reducer.js +35 -0
  621. package/lib/reducers/vertices-reducer.js +26 -0
  622. package/lib/reducers/viewer2d-reducer.js +84 -0
  623. package/lib/reducers/viewer3d-reducer.js +65 -0
  624. package/lib/shared/domain/cabinet-warning.js +20 -0
  625. package/lib/shared/objects/immutable.js +9 -0
  626. package/lib/shared-style.js +72 -0
  627. package/lib/translator/en.js +111 -0
  628. package/lib/translator/it.js +86 -0
  629. package/lib/translator/ru.js +86 -0
  630. package/lib/translator/translator.js +87 -0
  631. package/lib/utils/browser.js +40 -0
  632. package/lib/utils/convert-units-lite.js +44 -0
  633. package/lib/utils/email-validator.js +10 -0
  634. package/lib/utils/export.js +56 -0
  635. package/lib/utils/geometry.js +3230 -0
  636. package/lib/utils/get-edges-of-subgraphs.js +33 -0
  637. package/lib/utils/graph-cycles.js +239 -0
  638. package/lib/utils/graph-inner-cycles.js +54 -0
  639. package/lib/utils/graph.js +153 -0
  640. package/lib/utils/helper.js +480 -0
  641. package/lib/utils/history.js +48 -0
  642. package/lib/utils/id-broker.js +22 -0
  643. package/lib/utils/logger.js +14 -0
  644. package/lib/utils/math.js +57 -0
  645. package/lib/utils/molding.js +1146 -0
  646. package/lib/utils/name-generator.js +21 -0
  647. package/lib/utils/objects-utils.js +62 -0
  648. package/lib/utils/phone-validator.js +10 -0
  649. package/lib/utils/process-black-list.js +22 -0
  650. package/lib/utils/react-if.js +25 -0
  651. package/lib/utils/ruler.js +63 -0
  652. package/lib/utils/skinPanelEngine.js +530 -0
  653. package/lib/utils/snap-scene.js +101 -0
  654. package/lib/utils/snap.js +245 -0
  655. package/lib/utils/summarizeCart.js +30 -0
  656. package/lib/utils/threeCSG.es6.js +504 -0
  657. package/lib/version.js +7 -0
  658. package/package.json +29 -24
  659. package/es/WorkSpace.js +0 -30
  660. package/es/WorkSpaceHostMimic.js +0 -132
  661. package/es/assets/gltf/door_closet.bin +0 -0
  662. package/es/assets/gltf/door_closet.fbx +0 -0
  663. package/es/assets/gltf/door_exterior.bin +0 -0
  664. package/es/assets/gltf/door_exterior.fbx +0 -0
  665. package/es/assets/gltf/door_interior.bin +0 -0
  666. package/es/assets/gltf/door_interior.fbx +0 -0
  667. package/es/assets/gltf/door_sliding.bin +0 -0
  668. package/es/assets/gltf/door_sliding.fbx +0 -0
  669. package/es/assets/img/png/helper/video_preview_3d.png +0 -0
  670. package/es/assets/img/png/helper/video_preview_start.png +0 -0
  671. package/es/assets/img/svg/color/Brown.svg +0 -9
  672. package/es/assets/img/svg/color/Dark.svg +0 -9
  673. package/es/assets/img/svg/color/Light.svg +0 -9
  674. package/es/assets/img/svg/color/Medium.svg +0 -9
  675. package/es/assets/img/svg/color/Unfinished.svg +0 -9
  676. package/es/catalog/lines/wall/textures/bricks3.jpg +0 -0
  677. package/es/catalog/properties/export.js +0 -21
  678. package/es/catalog/properties/property-checkbox.js +0 -68
  679. package/es/catalog/properties/property-color.js +0 -39
  680. package/es/catalog/properties/property-enum.js +0 -50
  681. package/es/catalog/properties/property-hidden.js +0 -19
  682. package/es/catalog/properties/property-lenght-measure.js +0 -96
  683. package/es/catalog/properties/property-length-measure.js +0 -80
  684. package/es/catalog/properties/property-length-measure_hole.js +0 -96
  685. package/es/catalog/properties/property-number.js +0 -48
  686. package/es/catalog/properties/property-read-only.js +0 -26
  687. package/es/catalog/properties/property-string.js +0 -48
  688. package/es/catalog/properties/property-toggle.js +0 -39
  689. package/es/catalog/properties/shared-property-style.js +0 -14
  690. package/es/catalog/utils/FuseUtils.js +0 -79
  691. package/es/class/FuseUtils.js +0 -79
  692. package/es/components/style/button.js +0 -106
  693. package/es/components/style/cancel-button.js +0 -21
  694. package/es/components/style/content-container.js +0 -30
  695. package/es/components/style/content-title.js +0 -25
  696. package/es/components/style/delete-button.js +0 -24
  697. package/es/components/style/form-block.js +0 -20
  698. package/es/components/style/form-color-input.js +0 -26
  699. package/es/components/style/form-label.js +0 -22
  700. package/es/components/style/form-number-input_2.js +0 -238
  701. package/es/components/style/form-select.js +0 -19
  702. package/es/components/style/form-slider.js +0 -60
  703. package/es/components/style/form-text-input.js +0 -69
  704. package/es/index.html.ejs +0 -264
  705. package/es/reducers/user-reducer.js +0 -41
  706. package/es/utils/isolate-event-handler.js +0 -1622
  707. /package/{es/catalog/lines/wall/textures/bricks-normal2.jpg → lib/catalog/lines/wall/textures/painted-normal.jpg} +0 -0
package/es/class/item.js CHANGED
@@ -8,12 +8,13 @@ import { convert } from "../utils/convert-units-lite";
8
8
  import { Group, Hole, Layer } from "./export";
9
9
  import { GeometryUtils, IDBroker, MoldingUtils, NameGenerator } from "../utils/export";
10
10
  import { fromJS, Map } from 'immutable';
11
- import { INSTALLATION_SUFFIX_TYPE, INTERNAL_EVENT_DRAW_ELEMENT, MODE_DRAGGING_ITEM, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_ITEM, MODE_DRAWING_ITEM_3D, MODE_IDLE, MODE_IDLE_3D, MODE_ROTATING_ITEM, MODE_ROTATING_ITEM_3D, MOLDING_LOCATIONS } from "../constants";
11
+ import { DOORSTYLE_SCOPE_ALL, DOORSTYLE_SCOPE_MULTIPLE, DOORSTYLE_SCOPE_SINGLE, INSTALLATION_SUFFIX_TYPE, INTERNAL_EVENT_DRAW_ELEMENT, MODE_DRAGGING_ITEM, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_ITEM, MODE_DRAWING_ITEM_3D, MODE_IDLE, MODE_IDLE_3D, MODE_ROTATING_ITEM, MODE_ROTATING_ITEM_3D, MOLDING_LOCATIONS } from "../constants";
12
12
  import { debugUtil, updatePayloadOfInternalEvent } from "../utils/helper";
13
13
  import { isUndefined } from 'util';
14
14
  import { hasMoldingLayout } from "../utils/molding";
15
15
  import { getInstallationSuffix, isEmpty } from "../components/viewer2d/utils";
16
16
  import { historyPush } from "../utils/history";
17
+ import { toJSIfNeeded } from "../shared/objects/immutable";
17
18
  var allItemRect;
18
19
  var allItemSnap;
19
20
  var allLines;
@@ -27,6 +28,31 @@ var Item = /*#__PURE__*/function () {
27
28
  _classCallCheck(this, Item);
28
29
  }
29
30
  return _createClass(Item, null, [{
31
+ key: "__getDesiredDoorFinishId",
32
+ value: function __getDesiredDoorFinishId(layer) {
33
+ var _layer$doorFinish, _js$id;
34
+ // Transitional naming: prefer future `doorFinish`, fall back to legacy `doorStyle`.
35
+ // IMPORTANT: use `doorStyle.id` as door_finish_id (ignore doorStyle.door_style_id).
36
+ var lf = (_layer$doorFinish = layer === null || layer === void 0 ? void 0 : layer.doorFinish) !== null && _layer$doorFinish !== void 0 ? _layer$doorFinish : layer === null || layer === void 0 ? void 0 : layer.doorStyle;
37
+ var js = toJSIfNeeded(lf);
38
+ return (_js$id = js === null || js === void 0 ? void 0 : js.id) !== null && _js$id !== void 0 ? _js$id : null;
39
+ }
40
+ }, {
41
+ key: "__pickCCDFForDoorFinish",
42
+ value: function __pickCCDFForDoorFinish(definitionCCDFList, desiredDoorFinishId, itemID) {
43
+ var _match$door_finish_id;
44
+ if (!Array.isArray(definitionCCDFList) || !desiredDoorFinishId) return null;
45
+ // Host ccdf_list entries may NOT include `door_finish_id` (only `cabinet_id`).
46
+ // When missing, we can still pick by cabinet_id and then *stamp* door_finish_id from scene context.
47
+ var match = definitionCCDFList.find(function (c) {
48
+ return itemID == null || (c === null || c === void 0 ? void 0 : c.cabinet_id) == null || (c === null || c === void 0 ? void 0 : c.cabinet_id) === itemID;
49
+ });
50
+ if (!match) return null;
51
+ return _objectSpread(_objectSpread({}, match), {}, {
52
+ door_finish_id: (_match$door_finish_id = match === null || match === void 0 ? void 0 : match.door_finish_id) !== null && _match$door_finish_id !== void 0 ? _match$door_finish_id : desiredDoorFinishId
53
+ });
54
+ }
55
+ }, {
30
56
  key: "create",
31
57
  value: function create(state, layerID, type, x, y, width, height, rotation, isDuplication) {
32
58
  var _item;
@@ -39,7 +65,16 @@ var Item = /*#__PURE__*/function () {
39
65
  id: itemID,
40
66
  itemID: state.catalog.getIn(['elements', type, 'itemID']),
41
67
  name: NameGenerator.generateName('items', state.catalog.getIn(['elements', type, 'info', 'title'])),
68
+ long_name: state.catalog.getIn(['elements', type, 'long_name']),
69
+ sizeinfo: state.catalog.getIn(['elements', type, 'info', 'sizeinfo']),
70
+ description: state.catalog.getIn(['elements', type, 'info', 'description']),
71
+ base: state.catalog.getIn(['elements', type, 'info', 'image']),
72
+ shape_svg: state.catalog.getIn(['elements', type, 'info', 'shape_svg']),
73
+ gltf: state.catalog.getIn(['elements', type, 'gltf']),
74
+ is_corner: state.catalog.getIn(['elements', type, 'info', 'is_corner']),
75
+ obj_property: state.catalog.getIn(['elements', type, 'obj']),
42
76
  sku_number: state.catalog.getIn(['elements', type, 'obj']).toJS().sku_number,
77
+ outline: state.catalog.getIn(['elements', type, 'info', 'outline']),
43
78
  //style: state.catalog.getIn(['elements', type, 'info', 'door']),
44
79
  category: state.catalog.getIn(['elements', type, 'type']),
45
80
  layoutpos: state.catalog.getIn(['elements', type, 'info', 'layoutpos']),
@@ -53,24 +88,48 @@ var Item = /*#__PURE__*/function () {
53
88
  isDuplication: isDuplication,
54
89
  isInitialPos: isInitialPos ? isInitialPos : false
55
90
  }, null, state);
91
+ // Attach selected ccdf onto the placed instance so SYNC can return it.
92
+ // This does not affect legacy `structure_json/tempPlaceholders` behavior.
93
+ try {
94
+ var _state, _definitions$get$toJS, _definitions$get, _definitions$get$toJS2, _state2;
95
+ var layerForFinish = state.getIn(['scene', 'layers', layerID]);
96
+ var desiredDoorFinishId = this.__getDesiredDoorFinishId(layerForFinish);
97
+ var definitions = (_state = state) === null || _state === void 0 || (_state = _state.catalog) === null || _state === void 0 ? void 0 : _state.getIn(['elements', type]);
98
+ var definitionCCDFList = definitions !== null && definitions !== void 0 && definitions.get ? (_definitions$get$toJS = (_definitions$get = definitions.get('ccdf_list')) === null || _definitions$get === void 0 || (_definitions$get$toJS2 = _definitions$get.toJS) === null || _definitions$get$toJS2 === void 0 ? void 0 : _definitions$get$toJS2.call(_definitions$get)) !== null && _definitions$get$toJS !== void 0 ? _definitions$get$toJS : definitions.get('ccdf_list') : definitions === null || definitions === void 0 ? void 0 : definitions.ccdf_list;
99
+ var picked = this.__pickCCDFForDoorFinish(definitionCCDFList, desiredDoorFinishId, (_state2 = state) === null || _state2 === void 0 || (_state2 = _state2.catalog) === null || _state2 === void 0 ? void 0 : _state2.getIn(['elements', type, 'itemID']));
100
+ if (picked) item = item.merge({
101
+ ccdf: picked
102
+ });
103
+ } catch (e) {
104
+ // best-effort only; never block item creation
105
+ }
56
106
  if (item.category === 'cabinet') {
57
107
  if (isDuplication && refItem) {
108
+ var _refItem$ccdf, _refItem$get;
58
109
  item = item.merge({
59
110
  doorStyle: refItem.doorStyle
60
111
  });
112
+ // When duplicating, preserve the instance-selected CCDF from the source cabinet.
113
+ var refCcdf = (_refItem$ccdf = refItem === null || refItem === void 0 ? void 0 : refItem.ccdf) !== null && _refItem$ccdf !== void 0 ? _refItem$ccdf : refItem === null || refItem === void 0 || (_refItem$get = refItem.get) === null || _refItem$get === void 0 ? void 0 : _refItem$get.call(refItem, 'ccdf');
114
+ refCcdf = toJSIfNeeded(refCcdf);
115
+ if (!isEmpty(refCcdf)) item = item.merge({
116
+ ccdf: refCcdf
117
+ });
61
118
  } else {
62
- var _state$doorStyle, _ref, _temp$doorStyles$cds$, _temp$doorStyles, _temp$cds, _state3;
119
+ var _layer$doorStyle, _temp, _ref, _temp$doorStyles$cds$, _temp2, _temp3, _state5;
63
120
  var layer = state.getIn(['scene', 'layers', layerID]);
64
- var temp = layer.doorStyle || ((_state$doorStyle = state.doorStyle) === null || _state$doorStyle === void 0 ? void 0 : _state$doorStyle.toJS());
65
- var cds = (_ref = (_temp$doorStyles$cds$ = temp === null || temp === void 0 || (_temp$doorStyles = temp.doorStyles) === null || _temp$doorStyles === void 0 || (_temp$doorStyles = _temp$doorStyles.cds) === null || _temp$doorStyles === void 0 ? void 0 : _temp$doorStyles.find(function (elem) {
66
- var _state;
67
- return elem.itemID === ((_state = state) === null || _state === void 0 || (_state = _state.catalog) === null || _state === void 0 ? void 0 : _state.getIn(['elements', type, 'itemID']));
68
- })) !== null && _temp$doorStyles$cds$ !== void 0 ? _temp$doorStyles$cds$ : temp === null || temp === void 0 || (_temp$cds = temp.cds) === null || _temp$cds === void 0 ? void 0 : _temp$cds.find(function (elem) {
69
- var _state2;
70
- return elem.itemID === ((_state2 = state) === null || _state2 === void 0 || (_state2 = _state2.catalog) === null || _state2 === void 0 ? void 0 : _state2.getIn(['elements', type, 'itemID']));
71
- })) !== null && _ref !== void 0 ? _ref : (_state3 = state) === null || _state3 === void 0 || (_state3 = _state3.catalog) === null || _state3 === void 0 ? void 0 : _state3.getIn(['elements', type, 'cds']);
121
+ var temp = (_layer$doorStyle = layer === null || layer === void 0 ? void 0 : layer.doorStyle) !== null && _layer$doorStyle !== void 0 ? _layer$doorStyle : state.doorStyle;
122
+ if (!isEmpty(temp) && Map.isMap(temp)) temp = (_temp = temp) === null || _temp === void 0 ? void 0 : _temp.toJS();
123
+ var cds = (_ref = (_temp$doorStyles$cds$ = (_temp2 = temp) === null || _temp2 === void 0 || (_temp2 = _temp2.doorStyles) === null || _temp2 === void 0 || (_temp2 = _temp2.cds) === null || _temp2 === void 0 ? void 0 : _temp2.find(function (elem) {
124
+ var _state3;
125
+ return elem.itemID === ((_state3 = state) === null || _state3 === void 0 || (_state3 = _state3.catalog) === null || _state3 === void 0 ? void 0 : _state3.getIn(['elements', type, 'itemID']));
126
+ })) !== null && _temp$doorStyles$cds$ !== void 0 ? _temp$doorStyles$cds$ : (_temp3 = temp) === null || _temp3 === void 0 || (_temp3 = _temp3.cds) === null || _temp3 === void 0 ? void 0 : _temp3.find(function (elem) {
127
+ var _state4;
128
+ return elem.itemID === ((_state4 = state) === null || _state4 === void 0 || (_state4 = _state4.catalog) === null || _state4 === void 0 ? void 0 : _state4.getIn(['elements', type, 'itemID']));
129
+ })) !== null && _ref !== void 0 ? _ref : (_state5 = state) === null || _state5 === void 0 || (_state5 = _state5.catalog) === null || _state5 === void 0 ? void 0 : _state5.getIn(['elements', type, 'cds']);
72
130
  if (cds) {
73
- var updatedDoorStyles = _objectSpread(_objectSpread({}, temp === null || temp === void 0 ? void 0 : temp.doorStyles), {}, {
131
+ var _temp4;
132
+ var updatedDoorStyles = _objectSpread(_objectSpread({}, (_temp4 = temp) === null || _temp4 === void 0 ? void 0 : _temp4.doorStyles), {}, {
74
133
  cds: [cds],
75
134
  cabinet_door_style_id: cds.cabinet_door_style_id
76
135
  });
@@ -195,6 +254,61 @@ var Item = /*#__PURE__*/function () {
195
254
  item: item
196
255
  };
197
256
  }
257
+ }, {
258
+ key: "setItemsCCDF",
259
+ value: function setItemsCCDF(state, ccdf_list, applyScope) {
260
+ var targetItemIDs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
261
+ var doorFinishId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
262
+ var layerID = state.getIn(['scene', 'selectedLayer']);
263
+ var layer = state.getIn(['scene', 'layers', layerID]);
264
+ if (!Array.isArray(ccdf_list)) return {
265
+ updatedState: state
266
+ };
267
+
268
+ // resolve which instance IDs to process
269
+ var idSet = null;
270
+ if (applyScope === DOORSTYLE_SCOPE_SINGLE) {
271
+ var selectedItemIds = state.getIn(['scene', 'layers', layerID, 'selected', 'items']).toJS();
272
+ idSet = new Set(selectedItemIds);
273
+ } else if (applyScope === DOORSTYLE_SCOPE_MULTIPLE) {
274
+ idSet = new Set(targetItemIDs);
275
+ }
276
+
277
+ // If host returns an empty ccdf_list, remove assets3d of persisted ccdf from affected instances.
278
+ // This keeps SYNC payload from sending stale `items[].ccdf`.
279
+ if (ccdf_list.length === 0) {
280
+ layer.items.forEach(function (it) {
281
+ var _idSet;
282
+ var should = applyScope === DOORSTYLE_SCOPE_ALL ? true : (_idSet = idSet) === null || _idSet === void 0 ? void 0 : _idSet.has(it.id);
283
+ if (!should) return;
284
+ state = state.deleteIn(['scene', 'layers', layerID, 'items', it.id, 'ccdf', 'assets3d']);
285
+ });
286
+ return {
287
+ updatedState: state
288
+ };
289
+ }
290
+ var desiredDoorFinishId = doorFinishId !== null && doorFinishId !== void 0 ? doorFinishId : this.__getDesiredDoorFinishId(layer);
291
+ if (!desiredDoorFinishId) return {
292
+ updatedState: state
293
+ };
294
+ layer.items.forEach(function (it) {
295
+ var _idSet2, _picked$door_finish_i;
296
+ var should = applyScope === DOORSTYLE_SCOPE_ALL ? true : (_idSet2 = idSet) === null || _idSet2 === void 0 ? void 0 : _idSet2.has(it.id);
297
+ if (!should) return;
298
+
299
+ // Join key: scene_cabinet_id (instance id).
300
+ var picked = ccdf_list.find(function (c) {
301
+ return (c === null || c === void 0 ? void 0 : c.scene_cabinet_id) && c.scene_cabinet_id === it.id;
302
+ });
303
+ if (!picked) return;
304
+ state = state.setIn(['scene', 'layers', layerID, 'items', it.id, 'ccdf'], _objectSpread(_objectSpread({}, picked), {}, {
305
+ door_finish_id: (_picked$door_finish_i = picked === null || picked === void 0 ? void 0 : picked.door_finish_id) !== null && _picked$door_finish_i !== void 0 ? _picked$door_finish_i : desiredDoorFinishId
306
+ }));
307
+ });
308
+ return {
309
+ updatedState: state
310
+ };
311
+ }
198
312
  }, {
199
313
  key: "updateDoorHandle",
200
314
  value: function updateDoorHandle(item, layer) {
@@ -477,9 +591,7 @@ var Item = /*#__PURE__*/function () {
477
591
  break;
478
592
  }
479
593
  if (onInternalEvent && duplicatedElement) {
480
- var _state$get;
481
- var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
482
- var jsElement = updatePayloadOfInternalEvent(duplicatedElement, layer, catalog);
594
+ var jsElement = updatePayloadOfInternalEvent(duplicatedElement, layer);
483
595
  onInternalEvent({
484
596
  type: INTERNAL_EVENT_DRAW_ELEMENT,
485
597
  value: jsElement
@@ -552,7 +664,7 @@ var Item = /*#__PURE__*/function () {
552
664
  if (!isEmpty(currentObject === null || currentObject === void 0 || (_currentObject$counte = currentObject.counterTop) === null || _currentObject$counte === void 0 ? void 0 : _currentObject$counte.uri)) {
553
665
  var _currentObject$counte2;
554
666
  counterTopURI = currentObject === null || currentObject === void 0 || (_currentObject$counte2 = currentObject.counterTop) === null || _currentObject$counte2 === void 0 ? void 0 : _currentObject$counte2.uri;
555
- } else if (!isEmpty(state.getIn(['scene', 'layers', 'layer-1', 'counterTop']))) counterTopURI = state.getIn(['scene', 'layers', 'layer-1', 'counterTop']).uri;else counterTopURI = 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg';
667
+ } else if (!isEmpty(state.getIn(['scene', 'layers', 'layer-1', 'counterTop']))) counterTopURI = state.getIn(['scene', 'layers', 'layer-1', 'counterTop']).uri;
556
668
  state = this.remove(state, state.scene.selectedLayer, selectedPos.selectedItemId).updatedState;
557
669
  state = this.create(state, state.scene.selectedLayer, selectedObject.name, selectedPos.x, selectedPos.y, selectedObject.info.width, selectedObject.info.height, selectedPos.rotation, false, [], false, null, counterTopURI).updatedState;
558
670
  // state = this.select(state, state.scene.selectedLayer, selectedPos.selectedItemId).updatedState;
@@ -672,8 +784,8 @@ var Item = /*#__PURE__*/function () {
672
784
  }, {
673
785
  key: "updateDraggingItemChanged",
674
786
  value: function updateDraggingItemChanged(state, x, y, layerID, itemID) {
675
- var _state4 = state,
676
- scene = _state4.scene;
787
+ var _state6 = state,
788
+ scene = _state6.scene;
677
789
  // let originalX = draggingSupport.get('originalX');
678
790
  // let originalY = draggingSupport.get('originalY');
679
791
 
@@ -765,9 +877,9 @@ var Item = /*#__PURE__*/function () {
765
877
  }, {
766
878
  key: "updateDraggingItem",
767
879
  value: function updateDraggingItem(state, x, y) {
768
- var _state5 = state,
769
- draggingSupport = _state5.draggingSupport,
770
- scene = _state5.scene;
880
+ var _state7 = state,
881
+ draggingSupport = _state7.draggingSupport,
882
+ scene = _state7.scene;
771
883
  var layerID = draggingSupport.get('layerID');
772
884
  var itemID = draggingSupport.get('itemID');
773
885
  var startPointX = draggingSupport.get('startPointX');
@@ -799,9 +911,9 @@ var Item = /*#__PURE__*/function () {
799
911
  }, {
800
912
  key: "updateDraggingItem3DX",
801
913
  value: function updateDraggingItem3DX(state, x) {
802
- var _state6 = state,
803
- draggingSupport = _state6.draggingSupport,
804
- scene = _state6.scene;
914
+ var _state8 = state,
915
+ draggingSupport = _state8.draggingSupport,
916
+ scene = _state8.scene;
805
917
  var layerID = draggingSupport.get('layerID');
806
918
  var itemID = draggingSupport.get('itemID');
807
919
  var startPointX = draggingSupport.get('startPointX');
@@ -821,9 +933,9 @@ var Item = /*#__PURE__*/function () {
821
933
  }, {
822
934
  key: "updateDraggingItem3DY",
823
935
  value: function updateDraggingItem3DY(state, y) {
824
- var _state7 = state,
825
- draggingSupport = _state7.draggingSupport,
826
- scene = _state7.scene;
936
+ var _state9 = state,
937
+ draggingSupport = _state9.draggingSupport,
938
+ scene = _state9.scene;
827
939
  var layerID = draggingSupport.get('layerID');
828
940
  var itemID = draggingSupport.get('itemID');
829
941
  var startPointY = draggingSupport.get('startPointY');
@@ -904,9 +1016,9 @@ var Item = /*#__PURE__*/function () {
904
1016
  }, {
905
1017
  key: "updateRotatingItem",
906
1018
  value: function updateRotatingItem(state, x, y) {
907
- var _state8 = state,
908
- rotatingSupport = _state8.rotatingSupport,
909
- scene = _state8.scene;
1019
+ var _state0 = state,
1020
+ rotatingSupport = _state0.rotatingSupport,
1021
+ scene = _state0.scene;
910
1022
  var layerID = rotatingSupport.get('layerID');
911
1023
  var itemID = rotatingSupport.get('itemID');
912
1024
  var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -989,9 +1101,9 @@ var Item = /*#__PURE__*/function () {
989
1101
  }, {
990
1102
  key: "replaceSubmodule",
991
1103
  value: function replaceSubmodule(state, url) {
992
- var _state9 = state,
993
- replacingSupport = _state9.replacingSupport,
994
- scene = _state9.scene;
1104
+ var _state1 = state,
1105
+ replacingSupport = _state1.replacingSupport,
1106
+ scene = _state1.scene;
995
1107
  url = 'catalog/texture.png';
996
1108
  var urlData = url.split('/');
997
1109
  var newURL = '';
@@ -1092,9 +1204,9 @@ var Item = /*#__PURE__*/function () {
1092
1204
  }, {
1093
1205
  key: "animateObject",
1094
1206
  value: function animateObject(state, value) {
1095
- var _state0 = state,
1096
- replacingSupport = _state0.replacingSupport,
1097
- scene = _state0.scene;
1207
+ var _state10 = state,
1208
+ replacingSupport = _state10.replacingSupport,
1209
+ scene = _state10.scene;
1098
1210
  var layerID = replacingSupport.get('layerID');
1099
1211
  var itemID = replacingSupport.get('itemID');
1100
1212
  var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -1131,8 +1243,8 @@ var Item = /*#__PURE__*/function () {
1131
1243
  state = state.merge({
1132
1244
  doorStyle: doorStyle
1133
1245
  });
1134
- var _state1 = state,
1135
- scene = _state1.scene;
1246
+ var _state11 = state,
1247
+ scene = _state11.scene;
1136
1248
  var layerID = scene.get('selectedLayer');
1137
1249
  var layers = scene.layers.get(layerID);
1138
1250
  var items = layers.items;
@@ -1161,8 +1273,9 @@ var Item = /*#__PURE__*/function () {
1161
1273
  }
1162
1274
  }, {
1163
1275
  key: "setDoorStyle",
1164
- value: function setDoorStyle(state, doorStyle, itemCDS, isAll) {
1276
+ value: function setDoorStyle(state, doorStyle, itemCDS, applyScope) {
1165
1277
  var _this2 = this;
1278
+ var targetItemIDs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
1166
1279
  if (isEmpty(doorStyle)) return {
1167
1280
  updatedState: state
1168
1281
  };
@@ -1187,10 +1300,33 @@ var Item = /*#__PURE__*/function () {
1187
1300
  });
1188
1301
  });
1189
1302
  state = state.setIn(['scene', 'layers', layerID, 'molding'], temp_layer_molding);
1190
- var itemIDs = state.scene.layers.getIn([layerID, 'selected', 'items']).toJS();
1303
+
1304
+ // 🔥 Determine which items to update
1305
+ var items = state.scene.layers.get(layerID).items;
1306
+ var itemsToProcess = [];
1307
+ var idSet = null;
1308
+ if (applyScope === DOORSTYLE_SCOPE_SINGLE) {
1309
+ var selectedItemIds = state.scene.layers.getIn([layerID, 'selected', 'items']).toJS();
1310
+ idSet = new Set(selectedItemIds);
1311
+ }
1312
+ if (applyScope === DOORSTYLE_SCOPE_MULTIPLE) {
1313
+ // targetItemIds contains item.id (instance IDs)
1314
+ idSet = new Set(targetItemIDs);
1315
+ }
1316
+ if (applyScope === DOORSTYLE_SCOPE_ALL) {
1317
+ items.forEach(function (item) {
1318
+ itemsToProcess.push(item);
1319
+ });
1320
+ } else if (idSet) {
1321
+ items.forEach(function (item) {
1322
+ if (idSet.has(item.id)) {
1323
+ itemsToProcess.push(item);
1324
+ }
1325
+ });
1326
+ }
1191
1327
  var setDoorStyleOfItem = function setDoorStyleOfItem(data) {
1192
1328
  var _cds$data;
1193
- if (data.category !== 'cabinet') return; //CDS should effect to cabinets
1329
+ if (data.category !== 'cabinet') return;
1194
1330
  var itemID = data.id;
1195
1331
  var curItem = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
1196
1332
  var layer = state.getIn(['scene', 'layers', layerID]);
@@ -1214,9 +1350,7 @@ var Item = /*#__PURE__*/function () {
1214
1350
  return element && element.is_euro_cds;
1215
1351
  })) || [];
1216
1352
  var cds_data = cds ? [cds] : [];
1217
- if (
1218
- // doorStyle.door_style_name === 'Euro & Frameless' &&
1219
- euro_cds.length > 0) {
1353
+ if (euro_cds.length > 0) {
1220
1354
  var newProperties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
1221
1355
  if (newProperties.hasOwnProperty('depth')) {
1222
1356
  if (!newProperties.hasOwnProperty('oldDepth')) {
@@ -1293,12 +1427,12 @@ var Item = /*#__PURE__*/function () {
1293
1427
  glossness: doorStyle.glossness,
1294
1428
  name: doorStyle.name,
1295
1429
  door_style_name: doorStyle.door_style_name,
1430
+ door_style_id: doorStyle.door_style_id,
1296
1431
  texture: doorStyle.texture,
1297
1432
  thumbnail: doorStyle.thumbnail,
1298
1433
  type: doorStyle.type,
1299
1434
  sku: doorStyle.sku,
1300
1435
  color_sku_alias: doorStyle.color_sku_alias,
1301
- // alias name of color_sku for the current dealer
1302
1436
  install: getInstallationSuffix(INSTALLATION_SUFFIX_TYPE.NAME, doorStyle),
1303
1437
  doorStyles: _objectSpread(_objectSpread({}, tmp), {}, {
1304
1438
  cds: cds_data
@@ -1306,25 +1440,9 @@ var Item = /*#__PURE__*/function () {
1306
1440
  };
1307
1441
  state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'doorStyle'], fromJS(tmpDS));
1308
1442
  };
1309
- if (isAll) {
1310
- var items = state.scene.layers.get(layerID).items;
1311
- items.forEach(setDoorStyleOfItem);
1312
- } else {
1313
- if (itemIDs.length > 0) {
1314
- var _loop = function _loop() {
1315
- var itemID = itemIDs[i];
1316
- var items = state.scene.layers.get(layerID).items;
1317
- items.forEach(function (data) {
1318
- if (itemID === data.id) {
1319
- setDoorStyleOfItem(data);
1320
- }
1321
- });
1322
- };
1323
- for (var i = 0; i < itemIDs.length; i++) {
1324
- _loop();
1325
- }
1326
- }
1327
- }
1443
+
1444
+ // 🔥 Apply to resolved items
1445
+ itemsToProcess.forEach(setDoorStyleOfItem);
1328
1446
  return {
1329
1447
  updatedState: state
1330
1448
  };
@@ -1332,8 +1450,8 @@ var Item = /*#__PURE__*/function () {
1332
1450
  }, {
1333
1451
  key: "setCounterTop",
1334
1452
  value: function setCounterTop(state, counterTop) {
1335
- var _state10 = state,
1336
- scene = _state10.scene;
1453
+ var _state12 = state,
1454
+ scene = _state12.scene;
1337
1455
  var layerID = scene.get('selectedLayer');
1338
1456
  var layers = scene.layers.get(layerID);
1339
1457
  layers = layers.mergeIn(['counterTop'], counterTop);
@@ -1377,8 +1495,8 @@ var Item = /*#__PURE__*/function () {
1377
1495
  }, {
1378
1496
  key: "setDoorHandle",
1379
1497
  value: function setDoorHandle(state, doorHandle) {
1380
- var _state11 = state,
1381
- scene = _state11.scene;
1498
+ var _state13 = state,
1499
+ scene = _state13.scene;
1382
1500
  var layerID = scene.get('selectedLayer');
1383
1501
  var layer = scene.layers.get(layerID);
1384
1502
  layer = layer.mergeIn(['doorHandle'], doorHandle);
@@ -1402,8 +1520,8 @@ var Item = /*#__PURE__*/function () {
1402
1520
  }, {
1403
1521
  key: "setHandleMaterial",
1404
1522
  value: function setHandleMaterial(state, material) {
1405
- var _state12 = state,
1406
- scene = _state12.scene;
1523
+ var _state14 = state,
1524
+ scene = _state14.scene;
1407
1525
  var layerID = scene.get('selectedLayer');
1408
1526
  var layers = scene.layers.get(layerID);
1409
1527
  var items = layers.items;
@@ -1428,8 +1546,8 @@ var Item = /*#__PURE__*/function () {
1428
1546
  }, {
1429
1547
  key: "setWallColor",
1430
1548
  value: function setWallColor(state, wallColor) {
1431
- var _state13 = state,
1432
- scene = _state13.scene;
1549
+ var _state15 = state,
1550
+ scene = _state15.scene;
1433
1551
  var layerID = scene.get('selectedLayer');
1434
1552
  var layer = scene.layers.get(layerID);
1435
1553
  layer = layer.merge({
@@ -1455,8 +1573,8 @@ var Item = /*#__PURE__*/function () {
1455
1573
  }, {
1456
1574
  key: "setBacksplash",
1457
1575
  value: function setBacksplash(state, backsplash) {
1458
- var _state14 = state,
1459
- scene = _state14.scene;
1576
+ var _state16 = state,
1577
+ scene = _state16.scene;
1460
1578
  var layerID = scene.get('selectedLayer');
1461
1579
  var layer = scene.layers.get(layerID);
1462
1580
  var dataJSON = layer.toJS();
@@ -1484,8 +1602,8 @@ var Item = /*#__PURE__*/function () {
1484
1602
  }, {
1485
1603
  key: "setMolding",
1486
1604
  value: function setMolding(state, molding, isAll) {
1487
- var _state15 = state,
1488
- scene = _state15.scene;
1605
+ var _state17 = state,
1606
+ scene = _state17.scene;
1489
1607
  var layerID = scene.get('selectedLayer');
1490
1608
  var layer = scene.layers.get(layerID);
1491
1609
  if (isAll) {
@@ -1577,8 +1695,8 @@ var Item = /*#__PURE__*/function () {
1577
1695
  }, {
1578
1696
  key: "updateMolding",
1579
1697
  value: function updateMolding(state) {
1580
- var _state16 = state,
1581
- scene = _state16.scene;
1698
+ var _state18 = state,
1699
+ scene = _state18.scene;
1582
1700
  var layerID = scene.get('selectedLayer');
1583
1701
  var layer = scene.layers.get(layerID);
1584
1702
  var selectedItem = layer.getIn(['items', layer.selected.toJS().items[0]]);
@@ -1606,7 +1724,7 @@ var Item = /*#__PURE__*/function () {
1606
1724
  }
1607
1725
  });
1608
1726
  var updateSelectItemMolding = function updateSelectItemMolding() {
1609
- var _loop2 = function _loop2() {
1727
+ var _loop = function _loop() {
1610
1728
  // check whether snapped item is same as selected item in layoutpos(Wall, Tall, Base)
1611
1729
  if (MoldingUtils.isSameMoldingLayoutpos(selectedItem, snappedItemGroup[i])) {
1612
1730
  // check whether snapped item is same in location(same location type and height).
@@ -1628,7 +1746,7 @@ var Item = /*#__PURE__*/function () {
1628
1746
  }
1629
1747
  };
1630
1748
  for (var i = 0; i < snappedItemGroup.length; i++) {
1631
- _loop2();
1749
+ _loop();
1632
1750
  }
1633
1751
  };
1634
1752
  var emptyMoldingArray = function emptyMoldingArray() {
@@ -1702,8 +1820,8 @@ var Item = /*#__PURE__*/function () {
1702
1820
  }, {
1703
1821
  key: "setBacksplashVisible",
1704
1822
  value: function setBacksplashVisible(state, itemID, backsplashVisible) {
1705
- var _state17 = state,
1706
- scene = _state17.scene;
1823
+ var _state19 = state,
1824
+ scene = _state19.scene;
1707
1825
  var layerID = scene.get('selectedLayer');
1708
1826
  var layer = scene.layers.get(layerID);
1709
1827
  layer = layer.mergeIn(['items', itemID, 'backsplashVisible'], backsplashVisible);
@@ -1723,8 +1841,8 @@ var Item = /*#__PURE__*/function () {
1723
1841
  }, {
1724
1842
  key: "setApplianceMaterial",
1725
1843
  value: function setApplianceMaterial(state, material) {
1726
- var _state18 = state,
1727
- scene = _state18.scene;
1844
+ var _state20 = state,
1845
+ scene = _state20.scene;
1728
1846
  var layerID = scene.get('selectedLayer');
1729
1847
  var layers = scene.layers.get(layerID);
1730
1848
  var items = layers.items;
@@ -1748,8 +1866,8 @@ var Item = /*#__PURE__*/function () {
1748
1866
  }, {
1749
1867
  key: "setModelling",
1750
1868
  value: function setModelling(state, molding) {
1751
- var _state19 = state,
1752
- scene = _state19.scene;
1869
+ var _state21 = state,
1870
+ scene = _state21.scene;
1753
1871
  var layerID = scene.get('selectedLayer');
1754
1872
  var layers = scene.layers.get(layerID);
1755
1873
  var items = layers.items;
@@ -1859,8 +1977,8 @@ var Item = /*#__PURE__*/function () {
1859
1977
  }, {
1860
1978
  key: "toggleLoadingCabinet",
1861
1979
  value: function toggleLoadingCabinet(state) {
1862
- var _state20 = state,
1863
- scene = _state20.scene;
1980
+ var _state22 = state,
1981
+ scene = _state22.scene;
1864
1982
  console.log('scene.isLoadingCabinet: ', !scene.isLoadingCabinet);
1865
1983
  // scene = scene.set('isLoadingCabinet', !scene.isLoadingCabinet);
1866
1984
  // state = state.set('scene', scene);
@@ -1872,8 +1990,8 @@ var Item = /*#__PURE__*/function () {
1872
1990
  }, {
1873
1991
  key: "endLoading",
1874
1992
  value: function endLoading(state) {
1875
- var _state21 = state,
1876
- scene = _state21.scene;
1993
+ var _state23 = state,
1994
+ scene = _state23.scene;
1877
1995
  state = state.setIn(['scene', 'loadFlag'], true);
1878
1996
  return {
1879
1997
  updatedState: state
package/es/class/line.js CHANGED
@@ -427,7 +427,6 @@ var Line = /*#__PURE__*/function () {
427
427
  }, {
428
428
  key: "beginDrawingLine",
429
429
  value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
430
- var _state$get;
431
430
  // if end drawing by created area
432
431
  if (state.mode == MODE_IDLE) {
433
432
  return {
@@ -481,8 +480,7 @@ var Line = /*#__PURE__*/function () {
481
480
  drawingSupport: drawingSupport
482
481
  });
483
482
  var layer = state.getIn(['scene', 'layers', layerID]);
484
- var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
485
- var payload = updatePayloadOfInternalEvent(line, layer, catalog);
483
+ var payload = updatePayloadOfInternalEvent(line, layer);
486
484
  if (onInternalEvent) onInternalEvent({
487
485
  type: INTERNAL_EVENT_START_DRAW_WALL,
488
486
  value: payload
@@ -105,6 +105,9 @@ var Project = /*#__PURE__*/function () {
105
105
 
106
106
  // check type of ceilHeight and make it to Number
107
107
  if (typeof sceneJSON.layers[layerID].ceilHeight !== 'number') sceneJSON.layers[layerID].ceilHeight = Number(sceneJSON.layers[layerID].ceilHeight);
108
+
109
+ // force change the [isLoadingCabinet] to [false], otherwise 3D view will be stay in loading
110
+ if (sceneJSON.isLoadingCabinet !== false) sceneJSON.isLoadingCabinet = false;
108
111
  var newScene = new Scene(sceneJSON);
109
112
  state = new State({
110
113
  scene: newScene.toJS(),
@@ -145,25 +148,19 @@ var Project = /*#__PURE__*/function () {
145
148
  var h = bb.maxY - bb.minY;
146
149
  if (w != 0 && Math.abs(w) != Infinity && h != 0 && Math.abs(h) != Infinity) {
147
150
  a = viewer.viewerHeight < h ? viewer.viewerHeight / h : (viewer.viewerHeight / h * 3 / 5 - 0.5) / constants.ZOOM_VARIABLE > 400 ? viewer.viewerHeight / h * 400 / ((viewer.viewerHeight / h - 0.5) / constants.ZOOM_VARIABLE) : viewer.viewerHeight / h * 3 / 5;
148
- var scaledWidth = a * viewer.SVGWidth;
149
- var scaledHeight = a * viewer.SVGHeight;
150
-
151
- // Horizontal
152
- if (scaledWidth <= viewer.viewerWidth) {
153
- e = (viewer.viewerWidth - scaledWidth) / 2;
154
- } else {
155
- var maxE = 10;
156
- var minE = viewer.viewerWidth - (scaledWidth + 10);
157
- e = Math.min(maxE, Math.max(minE, e));
151
+ e = (viewer.viewerWidth - (bb.maxX + bb.minX) * a) / 2;
152
+ f = (viewer.viewerHeight - (viewer.SVGHeight * 2 - bb.maxY - bb.minY) * a) / 2;
153
+ while (!(e <= 10)) {
154
+ e -= 0.1;
158
155
  }
159
-
160
- // Vertical
161
- if (scaledHeight <= viewer.viewerHeight) {
162
- f = (viewer.viewerHeight - scaledHeight) / 2;
163
- } else {
164
- var maxF = 80;
165
- var minF = viewer.viewerHeight - (scaledHeight + 10);
166
- f = Math.min(maxF, Math.max(minF, f));
156
+ while (!(e + a * viewer.SVGWidth + 10 >= viewer.viewerWidth)) {
157
+ e += 0.1;
158
+ }
159
+ while (!(f <= 80)) {
160
+ f -= 0.1;
161
+ }
162
+ while (!(f + a * viewer.SVGHeight + 10 >= viewer.viewerHeight)) {
163
+ f += 0.1;
167
164
  }
168
165
  _viewer2D = _viewer2D.merge({
169
166
  a: a,
@@ -183,7 +180,6 @@ var Project = /*#__PURE__*/function () {
183
180
  doorStyle: doorStyle,
184
181
  viewer2D: _viewer2D
185
182
  });
186
- state = centering2D(state, viewer2DActions);
187
183
  state = Item.setCounterTop(state, counterTop).updatedState;
188
184
  state = Area.setFloorStyles(state, floorStyle).updatedState;
189
185
  this.updateZoomScale(state, a);