kitchen-simulator 11.0.0-react.18 → 11.1.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 +211 -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 +2013 -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,52 @@ 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, _refItem$properties, _refItem$properties$g;
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
+ });
118
+
119
+ // Preserve altitude so wall cabinets don't drop to the floor on duplicate.
120
+ var refAlt = refItem === null || refItem === void 0 || (_refItem$properties = refItem.properties) === null || _refItem$properties === void 0 || (_refItem$properties$g = _refItem$properties.get) === null || _refItem$properties$g === void 0 ? void 0 : _refItem$properties$g.call(_refItem$properties, 'altitude');
121
+ if (refAlt) item = item.setIn(['properties', 'altitude'], refAlt);
61
122
  } else {
62
- var _state$doorStyle, _ref, _temp$doorStyles$cds$, _temp$doorStyles, _temp$cds, _state3;
123
+ var _layer$doorStyle, _temp, _ref, _temp$doorStyles$cds$, _temp2, _temp3, _state5;
63
124
  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']);
125
+ var temp = (_layer$doorStyle = layer === null || layer === void 0 ? void 0 : layer.doorStyle) !== null && _layer$doorStyle !== void 0 ? _layer$doorStyle : state.doorStyle;
126
+ if (!isEmpty(temp) && Map.isMap(temp)) temp = (_temp = temp) === null || _temp === void 0 ? void 0 : _temp.toJS();
127
+ 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) {
128
+ var _state3;
129
+ return elem.itemID === ((_state3 = state) === null || _state3 === void 0 || (_state3 = _state3.catalog) === null || _state3 === void 0 ? void 0 : _state3.getIn(['elements', type, 'itemID']));
130
+ })) !== 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) {
131
+ var _state4;
132
+ return elem.itemID === ((_state4 = state) === null || _state4 === void 0 || (_state4 = _state4.catalog) === null || _state4 === void 0 ? void 0 : _state4.getIn(['elements', type, 'itemID']));
133
+ })) !== 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
134
  if (cds) {
73
- var updatedDoorStyles = _objectSpread(_objectSpread({}, temp === null || temp === void 0 ? void 0 : temp.doorStyles), {}, {
135
+ var _temp4;
136
+ var updatedDoorStyles = _objectSpread(_objectSpread({}, (_temp4 = temp) === null || _temp4 === void 0 ? void 0 : _temp4.doorStyles), {}, {
74
137
  cds: [cds],
75
138
  cabinet_door_style_id: cds.cabinet_door_style_id
76
139
  });
@@ -195,6 +258,61 @@ var Item = /*#__PURE__*/function () {
195
258
  item: item
196
259
  };
197
260
  }
261
+ }, {
262
+ key: "setItemsCCDF",
263
+ value: function setItemsCCDF(state, ccdf_list, applyScope) {
264
+ var targetItemIDs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
265
+ var doorFinishId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
266
+ var layerID = state.getIn(['scene', 'selectedLayer']);
267
+ var layer = state.getIn(['scene', 'layers', layerID]);
268
+ if (!Array.isArray(ccdf_list)) return {
269
+ updatedState: state
270
+ };
271
+
272
+ // resolve which instance IDs to process
273
+ var idSet = null;
274
+ if (applyScope === DOORSTYLE_SCOPE_SINGLE) {
275
+ var selectedItemIds = state.getIn(['scene', 'layers', layerID, 'selected', 'items']).toJS();
276
+ idSet = new Set(selectedItemIds);
277
+ } else if (applyScope === DOORSTYLE_SCOPE_MULTIPLE) {
278
+ idSet = new Set(targetItemIDs);
279
+ }
280
+
281
+ // If host returns an empty ccdf_list, remove assets3d of persisted ccdf from affected instances.
282
+ // This keeps SYNC payload from sending stale `items[].ccdf`.
283
+ if (ccdf_list.length === 0) {
284
+ layer.items.forEach(function (it) {
285
+ var _idSet;
286
+ var should = applyScope === DOORSTYLE_SCOPE_ALL ? true : (_idSet = idSet) === null || _idSet === void 0 ? void 0 : _idSet.has(it.id);
287
+ if (!should) return;
288
+ state = state.deleteIn(['scene', 'layers', layerID, 'items', it.id, 'ccdf', 'assets3d']);
289
+ });
290
+ return {
291
+ updatedState: state
292
+ };
293
+ }
294
+ var desiredDoorFinishId = doorFinishId !== null && doorFinishId !== void 0 ? doorFinishId : this.__getDesiredDoorFinishId(layer);
295
+ if (!desiredDoorFinishId) return {
296
+ updatedState: state
297
+ };
298
+ layer.items.forEach(function (it) {
299
+ var _idSet2, _picked$door_finish_i;
300
+ var should = applyScope === DOORSTYLE_SCOPE_ALL ? true : (_idSet2 = idSet) === null || _idSet2 === void 0 ? void 0 : _idSet2.has(it.id);
301
+ if (!should) return;
302
+
303
+ // Join key: scene_cabinet_id (instance id).
304
+ var picked = ccdf_list.find(function (c) {
305
+ return (c === null || c === void 0 ? void 0 : c.scene_cabinet_id) && c.scene_cabinet_id === it.id;
306
+ });
307
+ if (!picked) return;
308
+ state = state.setIn(['scene', 'layers', layerID, 'items', it.id, 'ccdf'], _objectSpread(_objectSpread({}, picked), {}, {
309
+ 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
310
+ }));
311
+ });
312
+ return {
313
+ updatedState: state
314
+ };
315
+ }
198
316
  }, {
199
317
  key: "updateDoorHandle",
200
318
  value: function updateDoorHandle(item, layer) {
@@ -477,9 +595,7 @@ var Item = /*#__PURE__*/function () {
477
595
  break;
478
596
  }
479
597
  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);
598
+ var jsElement = updatePayloadOfInternalEvent(duplicatedElement, layer);
483
599
  onInternalEvent({
484
600
  type: INTERNAL_EVENT_DRAW_ELEMENT,
485
601
  value: jsElement
@@ -552,7 +668,7 @@ var Item = /*#__PURE__*/function () {
552
668
  if (!isEmpty(currentObject === null || currentObject === void 0 || (_currentObject$counte = currentObject.counterTop) === null || _currentObject$counte === void 0 ? void 0 : _currentObject$counte.uri)) {
553
669
  var _currentObject$counte2;
554
670
  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';
671
+ } else if (!isEmpty(state.getIn(['scene', 'layers', 'layer-1', 'counterTop']))) counterTopURI = state.getIn(['scene', 'layers', 'layer-1', 'counterTop']).uri;
556
672
  state = this.remove(state, state.scene.selectedLayer, selectedPos.selectedItemId).updatedState;
557
673
  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
674
  // state = this.select(state, state.scene.selectedLayer, selectedPos.selectedItemId).updatedState;
@@ -672,8 +788,8 @@ var Item = /*#__PURE__*/function () {
672
788
  }, {
673
789
  key: "updateDraggingItemChanged",
674
790
  value: function updateDraggingItemChanged(state, x, y, layerID, itemID) {
675
- var _state4 = state,
676
- scene = _state4.scene;
791
+ var _state6 = state,
792
+ scene = _state6.scene;
677
793
  // let originalX = draggingSupport.get('originalX');
678
794
  // let originalY = draggingSupport.get('originalY');
679
795
 
@@ -765,9 +881,9 @@ var Item = /*#__PURE__*/function () {
765
881
  }, {
766
882
  key: "updateDraggingItem",
767
883
  value: function updateDraggingItem(state, x, y) {
768
- var _state5 = state,
769
- draggingSupport = _state5.draggingSupport,
770
- scene = _state5.scene;
884
+ var _state7 = state,
885
+ draggingSupport = _state7.draggingSupport,
886
+ scene = _state7.scene;
771
887
  var layerID = draggingSupport.get('layerID');
772
888
  var itemID = draggingSupport.get('itemID');
773
889
  var startPointX = draggingSupport.get('startPointX');
@@ -799,9 +915,9 @@ var Item = /*#__PURE__*/function () {
799
915
  }, {
800
916
  key: "updateDraggingItem3DX",
801
917
  value: function updateDraggingItem3DX(state, x) {
802
- var _state6 = state,
803
- draggingSupport = _state6.draggingSupport,
804
- scene = _state6.scene;
918
+ var _state8 = state,
919
+ draggingSupport = _state8.draggingSupport,
920
+ scene = _state8.scene;
805
921
  var layerID = draggingSupport.get('layerID');
806
922
  var itemID = draggingSupport.get('itemID');
807
923
  var startPointX = draggingSupport.get('startPointX');
@@ -821,9 +937,9 @@ var Item = /*#__PURE__*/function () {
821
937
  }, {
822
938
  key: "updateDraggingItem3DY",
823
939
  value: function updateDraggingItem3DY(state, y) {
824
- var _state7 = state,
825
- draggingSupport = _state7.draggingSupport,
826
- scene = _state7.scene;
940
+ var _state9 = state,
941
+ draggingSupport = _state9.draggingSupport,
942
+ scene = _state9.scene;
827
943
  var layerID = draggingSupport.get('layerID');
828
944
  var itemID = draggingSupport.get('itemID');
829
945
  var startPointY = draggingSupport.get('startPointY');
@@ -904,9 +1020,9 @@ var Item = /*#__PURE__*/function () {
904
1020
  }, {
905
1021
  key: "updateRotatingItem",
906
1022
  value: function updateRotatingItem(state, x, y) {
907
- var _state8 = state,
908
- rotatingSupport = _state8.rotatingSupport,
909
- scene = _state8.scene;
1023
+ var _state0 = state,
1024
+ rotatingSupport = _state0.rotatingSupport,
1025
+ scene = _state0.scene;
910
1026
  var layerID = rotatingSupport.get('layerID');
911
1027
  var itemID = rotatingSupport.get('itemID');
912
1028
  var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -989,9 +1105,9 @@ var Item = /*#__PURE__*/function () {
989
1105
  }, {
990
1106
  key: "replaceSubmodule",
991
1107
  value: function replaceSubmodule(state, url) {
992
- var _state9 = state,
993
- replacingSupport = _state9.replacingSupport,
994
- scene = _state9.scene;
1108
+ var _state1 = state,
1109
+ replacingSupport = _state1.replacingSupport,
1110
+ scene = _state1.scene;
995
1111
  url = 'catalog/texture.png';
996
1112
  var urlData = url.split('/');
997
1113
  var newURL = '';
@@ -1092,9 +1208,9 @@ var Item = /*#__PURE__*/function () {
1092
1208
  }, {
1093
1209
  key: "animateObject",
1094
1210
  value: function animateObject(state, value) {
1095
- var _state0 = state,
1096
- replacingSupport = _state0.replacingSupport,
1097
- scene = _state0.scene;
1211
+ var _state10 = state,
1212
+ replacingSupport = _state10.replacingSupport,
1213
+ scene = _state10.scene;
1098
1214
  var layerID = replacingSupport.get('layerID');
1099
1215
  var itemID = replacingSupport.get('itemID');
1100
1216
  var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -1131,8 +1247,8 @@ var Item = /*#__PURE__*/function () {
1131
1247
  state = state.merge({
1132
1248
  doorStyle: doorStyle
1133
1249
  });
1134
- var _state1 = state,
1135
- scene = _state1.scene;
1250
+ var _state11 = state,
1251
+ scene = _state11.scene;
1136
1252
  var layerID = scene.get('selectedLayer');
1137
1253
  var layers = scene.layers.get(layerID);
1138
1254
  var items = layers.items;
@@ -1161,8 +1277,9 @@ var Item = /*#__PURE__*/function () {
1161
1277
  }
1162
1278
  }, {
1163
1279
  key: "setDoorStyle",
1164
- value: function setDoorStyle(state, doorStyle, itemCDS, isAll) {
1280
+ value: function setDoorStyle(state, doorStyle, itemCDS, applyScope) {
1165
1281
  var _this2 = this;
1282
+ var targetItemIDs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
1166
1283
  if (isEmpty(doorStyle)) return {
1167
1284
  updatedState: state
1168
1285
  };
@@ -1187,10 +1304,33 @@ var Item = /*#__PURE__*/function () {
1187
1304
  });
1188
1305
  });
1189
1306
  state = state.setIn(['scene', 'layers', layerID, 'molding'], temp_layer_molding);
1190
- var itemIDs = state.scene.layers.getIn([layerID, 'selected', 'items']).toJS();
1307
+
1308
+ // 🔥 Determine which items to update
1309
+ var items = state.scene.layers.get(layerID).items;
1310
+ var itemsToProcess = [];
1311
+ var idSet = null;
1312
+ if (applyScope === DOORSTYLE_SCOPE_SINGLE) {
1313
+ var selectedItemIds = state.scene.layers.getIn([layerID, 'selected', 'items']).toJS();
1314
+ idSet = new Set(selectedItemIds);
1315
+ }
1316
+ if (applyScope === DOORSTYLE_SCOPE_MULTIPLE) {
1317
+ // targetItemIds contains item.id (instance IDs)
1318
+ idSet = new Set(targetItemIDs);
1319
+ }
1320
+ if (applyScope === DOORSTYLE_SCOPE_ALL) {
1321
+ items.forEach(function (item) {
1322
+ itemsToProcess.push(item);
1323
+ });
1324
+ } else if (idSet) {
1325
+ items.forEach(function (item) {
1326
+ if (idSet.has(item.id)) {
1327
+ itemsToProcess.push(item);
1328
+ }
1329
+ });
1330
+ }
1191
1331
  var setDoorStyleOfItem = function setDoorStyleOfItem(data) {
1192
1332
  var _cds$data;
1193
- if (data.category !== 'cabinet') return; //CDS should effect to cabinets
1333
+ if (data.category !== 'cabinet') return;
1194
1334
  var itemID = data.id;
1195
1335
  var curItem = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
1196
1336
  var layer = state.getIn(['scene', 'layers', layerID]);
@@ -1214,9 +1354,7 @@ var Item = /*#__PURE__*/function () {
1214
1354
  return element && element.is_euro_cds;
1215
1355
  })) || [];
1216
1356
  var cds_data = cds ? [cds] : [];
1217
- if (
1218
- // doorStyle.door_style_name === 'Euro & Frameless' &&
1219
- euro_cds.length > 0) {
1357
+ if (euro_cds.length > 0) {
1220
1358
  var newProperties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
1221
1359
  if (newProperties.hasOwnProperty('depth')) {
1222
1360
  if (!newProperties.hasOwnProperty('oldDepth')) {
@@ -1293,12 +1431,12 @@ var Item = /*#__PURE__*/function () {
1293
1431
  glossness: doorStyle.glossness,
1294
1432
  name: doorStyle.name,
1295
1433
  door_style_name: doorStyle.door_style_name,
1434
+ door_style_id: doorStyle.door_style_id,
1296
1435
  texture: doorStyle.texture,
1297
1436
  thumbnail: doorStyle.thumbnail,
1298
1437
  type: doorStyle.type,
1299
1438
  sku: doorStyle.sku,
1300
1439
  color_sku_alias: doorStyle.color_sku_alias,
1301
- // alias name of color_sku for the current dealer
1302
1440
  install: getInstallationSuffix(INSTALLATION_SUFFIX_TYPE.NAME, doorStyle),
1303
1441
  doorStyles: _objectSpread(_objectSpread({}, tmp), {}, {
1304
1442
  cds: cds_data
@@ -1306,25 +1444,9 @@ var Item = /*#__PURE__*/function () {
1306
1444
  };
1307
1445
  state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'doorStyle'], fromJS(tmpDS));
1308
1446
  };
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
- }
1447
+
1448
+ // 🔥 Apply to resolved items
1449
+ itemsToProcess.forEach(setDoorStyleOfItem);
1328
1450
  return {
1329
1451
  updatedState: state
1330
1452
  };
@@ -1332,8 +1454,8 @@ var Item = /*#__PURE__*/function () {
1332
1454
  }, {
1333
1455
  key: "setCounterTop",
1334
1456
  value: function setCounterTop(state, counterTop) {
1335
- var _state10 = state,
1336
- scene = _state10.scene;
1457
+ var _state12 = state,
1458
+ scene = _state12.scene;
1337
1459
  var layerID = scene.get('selectedLayer');
1338
1460
  var layers = scene.layers.get(layerID);
1339
1461
  layers = layers.mergeIn(['counterTop'], counterTop);
@@ -1377,8 +1499,8 @@ var Item = /*#__PURE__*/function () {
1377
1499
  }, {
1378
1500
  key: "setDoorHandle",
1379
1501
  value: function setDoorHandle(state, doorHandle) {
1380
- var _state11 = state,
1381
- scene = _state11.scene;
1502
+ var _state13 = state,
1503
+ scene = _state13.scene;
1382
1504
  var layerID = scene.get('selectedLayer');
1383
1505
  var layer = scene.layers.get(layerID);
1384
1506
  layer = layer.mergeIn(['doorHandle'], doorHandle);
@@ -1402,8 +1524,8 @@ var Item = /*#__PURE__*/function () {
1402
1524
  }, {
1403
1525
  key: "setHandleMaterial",
1404
1526
  value: function setHandleMaterial(state, material) {
1405
- var _state12 = state,
1406
- scene = _state12.scene;
1527
+ var _state14 = state,
1528
+ scene = _state14.scene;
1407
1529
  var layerID = scene.get('selectedLayer');
1408
1530
  var layers = scene.layers.get(layerID);
1409
1531
  var items = layers.items;
@@ -1428,8 +1550,8 @@ var Item = /*#__PURE__*/function () {
1428
1550
  }, {
1429
1551
  key: "setWallColor",
1430
1552
  value: function setWallColor(state, wallColor) {
1431
- var _state13 = state,
1432
- scene = _state13.scene;
1553
+ var _state15 = state,
1554
+ scene = _state15.scene;
1433
1555
  var layerID = scene.get('selectedLayer');
1434
1556
  var layer = scene.layers.get(layerID);
1435
1557
  layer = layer.merge({
@@ -1455,8 +1577,8 @@ var Item = /*#__PURE__*/function () {
1455
1577
  }, {
1456
1578
  key: "setBacksplash",
1457
1579
  value: function setBacksplash(state, backsplash) {
1458
- var _state14 = state,
1459
- scene = _state14.scene;
1580
+ var _state16 = state,
1581
+ scene = _state16.scene;
1460
1582
  var layerID = scene.get('selectedLayer');
1461
1583
  var layer = scene.layers.get(layerID);
1462
1584
  var dataJSON = layer.toJS();
@@ -1484,8 +1606,8 @@ var Item = /*#__PURE__*/function () {
1484
1606
  }, {
1485
1607
  key: "setMolding",
1486
1608
  value: function setMolding(state, molding, isAll) {
1487
- var _state15 = state,
1488
- scene = _state15.scene;
1609
+ var _state17 = state,
1610
+ scene = _state17.scene;
1489
1611
  var layerID = scene.get('selectedLayer');
1490
1612
  var layer = scene.layers.get(layerID);
1491
1613
  if (isAll) {
@@ -1577,8 +1699,8 @@ var Item = /*#__PURE__*/function () {
1577
1699
  }, {
1578
1700
  key: "updateMolding",
1579
1701
  value: function updateMolding(state) {
1580
- var _state16 = state,
1581
- scene = _state16.scene;
1702
+ var _state18 = state,
1703
+ scene = _state18.scene;
1582
1704
  var layerID = scene.get('selectedLayer');
1583
1705
  var layer = scene.layers.get(layerID);
1584
1706
  var selectedItem = layer.getIn(['items', layer.selected.toJS().items[0]]);
@@ -1606,7 +1728,7 @@ var Item = /*#__PURE__*/function () {
1606
1728
  }
1607
1729
  });
1608
1730
  var updateSelectItemMolding = function updateSelectItemMolding() {
1609
- var _loop2 = function _loop2() {
1731
+ var _loop = function _loop() {
1610
1732
  // check whether snapped item is same as selected item in layoutpos(Wall, Tall, Base)
1611
1733
  if (MoldingUtils.isSameMoldingLayoutpos(selectedItem, snappedItemGroup[i])) {
1612
1734
  // check whether snapped item is same in location(same location type and height).
@@ -1628,7 +1750,7 @@ var Item = /*#__PURE__*/function () {
1628
1750
  }
1629
1751
  };
1630
1752
  for (var i = 0; i < snappedItemGroup.length; i++) {
1631
- _loop2();
1753
+ _loop();
1632
1754
  }
1633
1755
  };
1634
1756
  var emptyMoldingArray = function emptyMoldingArray() {
@@ -1702,8 +1824,8 @@ var Item = /*#__PURE__*/function () {
1702
1824
  }, {
1703
1825
  key: "setBacksplashVisible",
1704
1826
  value: function setBacksplashVisible(state, itemID, backsplashVisible) {
1705
- var _state17 = state,
1706
- scene = _state17.scene;
1827
+ var _state19 = state,
1828
+ scene = _state19.scene;
1707
1829
  var layerID = scene.get('selectedLayer');
1708
1830
  var layer = scene.layers.get(layerID);
1709
1831
  layer = layer.mergeIn(['items', itemID, 'backsplashVisible'], backsplashVisible);
@@ -1723,8 +1845,8 @@ var Item = /*#__PURE__*/function () {
1723
1845
  }, {
1724
1846
  key: "setApplianceMaterial",
1725
1847
  value: function setApplianceMaterial(state, material) {
1726
- var _state18 = state,
1727
- scene = _state18.scene;
1848
+ var _state20 = state,
1849
+ scene = _state20.scene;
1728
1850
  var layerID = scene.get('selectedLayer');
1729
1851
  var layers = scene.layers.get(layerID);
1730
1852
  var items = layers.items;
@@ -1748,8 +1870,8 @@ var Item = /*#__PURE__*/function () {
1748
1870
  }, {
1749
1871
  key: "setModelling",
1750
1872
  value: function setModelling(state, molding) {
1751
- var _state19 = state,
1752
- scene = _state19.scene;
1873
+ var _state21 = state,
1874
+ scene = _state21.scene;
1753
1875
  var layerID = scene.get('selectedLayer');
1754
1876
  var layers = scene.layers.get(layerID);
1755
1877
  var items = layers.items;
@@ -1859,8 +1981,8 @@ var Item = /*#__PURE__*/function () {
1859
1981
  }, {
1860
1982
  key: "toggleLoadingCabinet",
1861
1983
  value: function toggleLoadingCabinet(state) {
1862
- var _state20 = state,
1863
- scene = _state20.scene;
1984
+ var _state22 = state,
1985
+ scene = _state22.scene;
1864
1986
  console.log('scene.isLoadingCabinet: ', !scene.isLoadingCabinet);
1865
1987
  // scene = scene.set('isLoadingCabinet', !scene.isLoadingCabinet);
1866
1988
  // state = state.set('scene', scene);
@@ -1872,8 +1994,8 @@ var Item = /*#__PURE__*/function () {
1872
1994
  }, {
1873
1995
  key: "endLoading",
1874
1996
  value: function endLoading(state) {
1875
- var _state21 = state,
1876
- scene = _state21.scene;
1997
+ var _state23 = state,
1998
+ scene = _state23.scene;
1877
1999
  state = state.setIn(['scene', 'loadFlag'], true);
1878
2000
  return {
1879
2001
  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);