kitchen-simulator 7.0.9-react-18 → 10.0.0-unique-id

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 (704) hide show
  1. package/es/AppContext.js +1 -4
  2. package/es/LiteKitchenConfigurator.js +67 -23
  3. package/es/LiteRenderer.js +15 -100
  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 +10 -23
  26. package/es/class/area.js +0 -1
  27. package/es/class/export.js +1 -3
  28. package/es/class/item.js +185 -86
  29. package/es/class/project.js +17 -21
  30. package/es/components/content.js +3 -1
  31. package/es/components/export.js +3 -5
  32. package/es/components/style/export.js +2 -28
  33. package/es/components/style/form-number-input.js +34 -43
  34. package/es/components/viewer2d/group.js +12 -7
  35. package/es/components/viewer2d/item.js +160 -168
  36. package/es/components/viewer2d/line.js +18 -51
  37. package/es/components/viewer2d/rulerX.js +3 -0
  38. package/es/components/viewer2d/rulerY.js +3 -0
  39. package/es/components/viewer2d/scene.js +67 -47
  40. package/es/components/viewer2d/state.js +1 -1
  41. package/es/components/viewer2d/viewer2d.js +564 -506
  42. package/es/components/viewer3d/front3D.js +1 -2
  43. package/es/components/viewer3d/pointer-lock-navigation.js +0 -90
  44. package/es/components/viewer3d/scene-creator.js +80 -47
  45. package/es/components/viewer3d/three-memory-cleaner.js +0 -14
  46. package/es/components/viewer3d/viewer3d-first-person.js +132 -134
  47. package/es/components/viewer3d/viewer3d.js +37 -22
  48. package/es/constants/catalog/skinPanel.js +9 -0
  49. package/es/constants.js +20 -8
  50. package/es/{WorkSpaceOriginal.js → devLiteRenderer.js} +228 -174
  51. package/es/events/external/handleExternalEvent.js +140 -0
  52. package/es/{utils/isolate-event-handler.js → events/external/handleExternalEvent.util.js} +87 -593
  53. package/es/events/external/handlers.addItem.js +47 -0
  54. package/es/events/external/handlers.changeDoorStyle.js +135 -0
  55. package/es/events/external/handlers.elementOps.js +8 -0
  56. package/es/events/external/handlers.finishing.js +26 -0
  57. package/es/events/external/handlers.hole.js +4 -0
  58. package/es/events/external/handlers.loadProject.js +124 -0
  59. package/es/events/external/handlers.molding.js +24 -0
  60. package/es/events/external/handlers.projectLifecycle.js +11 -0
  61. package/es/events/external/handlers.projectSettings.js +32 -0
  62. package/es/events/external/handlers.replaceCabinet.js +41 -0
  63. package/es/events/external/handlers.roomShape.js +8 -0
  64. package/es/events/external/handlers.syncScene.js +21 -0
  65. package/es/events/external/handlers.updateSelectedElements.js +11 -0
  66. package/es/events/external/handlers.viewMode.js +11 -0
  67. package/es/events/external/handlers.viewerNavigation.js +108 -0
  68. package/es/events/external/handlers.wall.js +7 -0
  69. package/es/index.js +37 -84
  70. package/es/mappings/external-events/mapExternalEventPayload.js +28 -0
  71. package/es/mappings/external-events/mappers/addItemMapper.js +95 -0
  72. package/es/mappings/external-events/mappers/ccdfMapper.js +95 -0
  73. package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +52 -0
  74. package/es/mappings/external-events/mappers/changeDoorStyleMapper.js +37 -0
  75. package/es/mappings/external-events/mappers/loadProjectMapper.js +62 -0
  76. package/es/mappings/holesToCatalog.js +139 -0
  77. package/es/models.js +16 -1
  78. package/es/plugins/keyboard.js +1 -1
  79. package/es/reducers/export.js +2 -4
  80. package/es/reducers/items-reducer.js +4 -2
  81. package/es/reducers/project-reducer.js +1 -1
  82. package/es/reducers/reducer.js +2 -3
  83. package/es/reducers/viewer2d-reducer.js +0 -2
  84. package/es/shared/domain/cabinet-identity.js +6 -0
  85. package/es/shared/objects/immutable.js +3 -0
  86. package/es/utils/convert-units-lite.js +9 -0
  87. package/es/utils/geometry.js +598 -78
  88. package/es/utils/helper.js +45 -30
  89. package/es/utils/history.js +13 -1
  90. package/es/utils/molding.js +12 -241
  91. package/es/utils/name-generator.js +0 -3
  92. package/es/utils/skinPanelEngine.js +526 -0
  93. package/lib/@history.js +11 -0
  94. package/lib/AppContext.js +11 -0
  95. package/lib/LiteKitchenConfigurator.js +527 -0
  96. package/lib/LiteRenderer.js +323 -0
  97. package/lib/actions/area-actions.js +21 -0
  98. package/lib/actions/export.js +36 -0
  99. package/lib/actions/groups-actions.js +107 -0
  100. package/lib/actions/holes-actions.js +140 -0
  101. package/lib/actions/items-actions.js +383 -0
  102. package/lib/actions/lines-actions.js +98 -0
  103. package/lib/actions/project-actions.js +351 -0
  104. package/lib/actions/scene-actions.js +43 -0
  105. package/lib/actions/vertices-actions.js +35 -0
  106. package/lib/actions/viewer2d-actions.js +73 -0
  107. package/lib/actions/viewer3d-actions.js +32 -0
  108. package/lib/analytics/ga4.js +194 -0
  109. package/lib/analytics/posthog.js +68 -0
  110. package/lib/assets/Window.hdr +2100 -0
  111. package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
  112. package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  113. package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  114. package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  115. package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  116. package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  117. package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  118. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  119. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  120. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  121. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  122. package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  123. package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  124. package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  125. package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  126. package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  127. package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  128. package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  129. package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  130. package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  131. package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  132. package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  133. package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  134. package/lib/assets/fonts/style.css +177 -0
  135. package/lib/assets/gltf/door_closet.gltf +1 -0
  136. package/lib/assets/gltf/door_exterior.gltf +1 -0
  137. package/lib/assets/gltf/door_interior.gltf +1 -0
  138. package/lib/assets/gltf/door_sliding.gltf +1 -0
  139. package/lib/assets/gltf/doorway_framed.bin +0 -0
  140. package/lib/assets/gltf/doorway_framed.fbx +0 -0
  141. package/lib/assets/gltf/doorway_framed.gltf +1 -0
  142. package/lib/assets/gltf/window_clear.bin +0 -0
  143. package/lib/assets/gltf/window_clear.fbx +0 -0
  144. package/lib/assets/gltf/window_clear.gltf +1 -0
  145. package/lib/assets/gltf/window_cross.bin +0 -0
  146. package/lib/assets/gltf/window_cross.fbx +0 -0
  147. package/lib/assets/gltf/window_cross.gltf +1 -0
  148. package/lib/assets/gltf/window_double_hung.bin +0 -0
  149. package/lib/assets/gltf/window_double_hung.fbx +0 -0
  150. package/lib/assets/gltf/window_double_hung.gltf +1 -0
  151. package/lib/assets/gltf/window_vertical.bin +0 -0
  152. package/lib/assets/gltf/window_vertical.fbx +0 -0
  153. package/lib/assets/gltf/window_vertical.gltf +1 -0
  154. package/lib/assets/img/TKC_thumbnail.png +0 -0
  155. package/lib/assets/img/Toggle.png +0 -0
  156. package/lib/assets/img/default/maple.jpg +0 -0
  157. package/lib/assets/img/default/steel.jpg +0 -0
  158. package/lib/assets/img/loading/loading.gif +0 -0
  159. package/lib/assets/img/loading/loading_1.svg +11 -0
  160. package/lib/assets/img/loading_large.gif +0 -0
  161. package/lib/assets/img/png/door/closet.png +0 -0
  162. package/lib/assets/img/png/door/doorwaysframed.png +0 -0
  163. package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
  164. package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
  165. package/lib/assets/img/png/door/exterior.png +0 -0
  166. package/lib/assets/img/png/door/interior.png +0 -0
  167. package/lib/assets/img/png/door/sliding.png +0 -0
  168. package/lib/assets/img/png/helper/outcome.png +0 -0
  169. package/lib/assets/img/project_img.png +0 -0
  170. package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  171. package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  172. package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  173. package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  174. package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  175. package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  176. package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
  177. package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
  178. package/lib/assets/img/rta_menu.png +0 -0
  179. package/lib/assets/img/step2.jpg +0 -0
  180. package/lib/assets/img/step3.jpg +0 -0
  181. package/lib/assets/img/step4.jpg +0 -0
  182. package/lib/assets/img/step5.jpg +0 -0
  183. package/lib/assets/img/step6.jpg +0 -0
  184. package/lib/assets/img/step7.jpg +0 -0
  185. package/lib/assets/img/step8.jpg +0 -0
  186. package/lib/assets/img/svg/2d_delete_object.svg +33 -0
  187. package/lib/assets/img/svg/2d_delete_object1.svg +33 -0
  188. package/lib/assets/img/svg/2d_lock_object.svg +33 -0
  189. package/lib/assets/img/svg/3d_item_move.svg +106 -0
  190. package/lib/assets/img/svg/3d_item_rotation.svg +76 -0
  191. package/lib/assets/img/svg/3d_item_warning_edit.svg +77 -0
  192. package/lib/assets/img/svg/3d_item_warning_info.svg +81 -0
  193. package/lib/assets/img/svg/accessories.svg +4 -0
  194. package/lib/assets/img/svg/angle_icon.svg +39 -0
  195. package/lib/assets/img/svg/blank_div.svg +14 -0
  196. package/lib/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  197. package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  198. package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  199. package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  200. package/lib/assets/img/svg/bottombar/arrow-down.svg +3 -0
  201. package/lib/assets/img/svg/bottombar/arrow-left.svg +3 -0
  202. package/lib/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  203. package/lib/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  204. package/lib/assets/img/svg/bottombar/arrow-right.svg +3 -0
  205. package/lib/assets/img/svg/bottombar/arrow-up.svg +3 -0
  206. package/lib/assets/img/svg/bottombar/collapse.svg +3 -0
  207. package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -0
  208. package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -0
  209. package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -0
  210. package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -0
  211. package/lib/assets/img/svg/bottombar/elevation.svg +13 -0
  212. package/lib/assets/img/svg/bottombar/expand.svg +3 -0
  213. package/lib/assets/img/svg/bottombar/help.svg +72 -0
  214. package/lib/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  215. package/lib/assets/img/svg/bottombar/pan_1.svg +57 -0
  216. package/lib/assets/img/svg/bottombar/pan_2.svg +27 -0
  217. package/lib/assets/img/svg/bottombar/pan_3.svg +27 -0
  218. package/lib/assets/img/svg/bottombar/pan_4.svg +27 -0
  219. package/lib/assets/img/svg/bottombar/pan_5.svg +27 -0
  220. package/lib/assets/img/svg/bottombar/settings.svg +23 -0
  221. package/lib/assets/img/svg/bottombar/spin-down.svg +76 -0
  222. package/lib/assets/img/svg/bottombar/spin-left.svg +75 -0
  223. package/lib/assets/img/svg/bottombar/spin-right.svg +75 -0
  224. package/lib/assets/img/svg/bottombar/spin-up.svg +76 -0
  225. package/lib/assets/img/svg/bottombar/spin_1.svg +48 -0
  226. package/lib/assets/img/svg/bottombar/spin_2.svg +31 -0
  227. package/lib/assets/img/svg/bottombar/spin_3.svg +31 -0
  228. package/lib/assets/img/svg/bottombar/spin_4.svg +31 -0
  229. package/lib/assets/img/svg/bottombar/spin_5.svg +31 -0
  230. package/lib/assets/img/svg/bottombar/zoomin.svg +29 -0
  231. package/lib/assets/img/svg/bottombar/zoomout.svg +26 -0
  232. package/lib/assets/img/svg/check.svg +10 -0
  233. package/lib/assets/img/svg/close.svg +11 -0
  234. package/lib/assets/img/svg/color/Black.svg +3 -0
  235. package/lib/assets/img/svg/color/Blue.svg +3 -0
  236. package/lib/assets/img/svg/color/Cream.svg +3 -0
  237. package/lib/assets/img/svg/color/Gray.svg +3 -0
  238. package/lib/assets/img/svg/color/Green.svg +3 -0
  239. package/lib/assets/img/svg/color/White.svg +3 -0
  240. package/lib/assets/img/svg/color/White.svg.bak +3 -0
  241. package/lib/assets/img/svg/color/stone2.jpg +0 -0
  242. package/lib/assets/img/svg/color/wood2.jpg +0 -0
  243. package/lib/assets/img/svg/copy.svg +11 -0
  244. package/lib/assets/img/svg/delete.svg +3 -0
  245. package/lib/assets/img/svg/detail.svg +77 -0
  246. package/lib/assets/img/svg/disclaimer/background.svg +758 -0
  247. package/lib/assets/img/svg/disclaimer/logo-dots.svg +11 -0
  248. package/lib/assets/img/svg/door/Closet.svg +11 -0
  249. package/lib/assets/img/svg/door/Exterior.svg +5 -0
  250. package/lib/assets/img/svg/door/Framed_dorway.svg +5 -0
  251. package/lib/assets/img/svg/door/Frameless_dorway.svg +5 -0
  252. package/lib/assets/img/svg/door/Interior.svg +7 -0
  253. package/lib/assets/img/svg/door/Sliding.svg +5 -0
  254. package/lib/assets/img/svg/doors_closet.svg +47 -0
  255. package/lib/assets/img/svg/doors_exterior.svg +25 -0
  256. package/lib/assets/img/svg/doors_interior.svg +29 -0
  257. package/lib/assets/img/svg/doors_patio.svg +26 -0
  258. package/lib/assets/img/svg/duplicate.svg +11 -0
  259. package/lib/assets/img/svg/duplicate_object_left.svg +32 -0
  260. package/lib/assets/img/svg/duplicate_object_right.svg +32 -0
  261. package/lib/assets/img/svg/filtersActive.svg +19 -0
  262. package/lib/assets/img/svg/firstsetting/L.svg +3 -0
  263. package/lib/assets/img/svg/firstsetting/L2.svg +3 -0
  264. package/lib/assets/img/svg/firstsetting/Open.svg +3 -0
  265. package/lib/assets/img/svg/firstsetting/Square.svg +3 -0
  266. package/lib/assets/img/svg/firstsetting/bar-active.svg +9 -0
  267. package/lib/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  268. package/lib/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  269. package/lib/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  270. package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  271. package/lib/assets/img/svg/firstsetting/check-active.svg +3 -0
  272. package/lib/assets/img/svg/firstsetting/check-normal.svg +3 -0
  273. package/lib/assets/img/svg/firstsetting/pencil.svg +11 -0
  274. package/lib/assets/img/svg/green_checkmark.svg +27 -0
  275. package/lib/assets/img/svg/headerbar/assist.svg +3 -0
  276. package/lib/assets/img/svg/headerbar/cart.svg +3 -0
  277. package/lib/assets/img/svg/headerbar/check.svg +10 -0
  278. package/lib/assets/img/svg/headerbar/consult_designer.svg +45 -0
  279. package/lib/assets/img/svg/headerbar/edit_name.svg +26 -0
  280. package/lib/assets/img/svg/headerbar/file-dollar.svg +13 -0
  281. package/lib/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  282. package/lib/assets/img/svg/headerbar/plus.svg +11 -0
  283. package/lib/assets/img/svg/headerbar/review_quote.svg +44 -0
  284. package/lib/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  285. package/lib/assets/img/svg/headerbar/save.svg +3 -0
  286. package/lib/assets/img/svg/headerbar/setting.svg +75 -0
  287. package/lib/assets/img/svg/help/check.svg +10 -0
  288. package/lib/assets/img/svg/help/search.svg +76 -0
  289. package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  290. package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  291. package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  292. package/lib/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  293. package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  294. package/lib/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  295. package/lib/assets/img/svg/invert.svg +127 -0
  296. package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  297. package/lib/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  298. package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  299. package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  300. package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  301. package/lib/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  302. package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  303. package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  304. package/lib/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  305. package/lib/assets/img/svg/lefttoolbar/door.svg +12 -0
  306. package/lib/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  307. package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  308. package/lib/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  309. package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  310. package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  311. package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  312. package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  313. package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  314. package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  315. package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  316. package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  317. package/lib/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  318. package/lib/assets/img/svg/lefttoolbar/search.svg +76 -0
  319. package/lib/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  320. package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  321. package/lib/assets/img/svg/lefttoolbar/window.svg +12 -0
  322. package/lib/assets/img/svg/logo.svg +11 -0
  323. package/lib/assets/img/svg/logo_with_text.svg +25 -0
  324. package/lib/assets/img/svg/menubar/login.svg +84 -0
  325. package/lib/assets/img/svg/menubar/my_projects.svg +85 -0
  326. package/lib/assets/img/svg/menubar/new_project.svg +110 -0
  327. package/lib/assets/img/svg/menubar/save_project.svg +84 -0
  328. package/lib/assets/img/svg/options.svg +3 -0
  329. package/lib/assets/img/svg/positioning.svg +3 -0
  330. package/lib/assets/img/svg/rotate.png +0 -0
  331. package/lib/assets/img/svg/rotate.svg +17 -0
  332. package/lib/assets/img/svg/rotate_object_clockwise.svg +26 -0
  333. package/lib/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  334. package/lib/assets/img/svg/toggleFilters.svg +19 -0
  335. package/lib/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  336. package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  337. package/lib/assets/img/svg/toolbar/add_button.svg +36 -0
  338. package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  339. package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  340. package/lib/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  341. package/lib/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  342. package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  343. package/lib/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  344. package/lib/assets/img/svg/toolbar/apply_button.svg +38 -0
  345. package/lib/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  346. package/lib/assets/img/svg/toolbar/backsplash.svg +8 -0
  347. package/lib/assets/img/svg/toolbar/cancel_button.svg +37 -0
  348. package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  349. package/lib/assets/img/svg/toolbar/countertop.svg +7 -0
  350. package/lib/assets/img/svg/toolbar/dcm.png +0 -0
  351. package/lib/assets/img/svg/toolbar/dcm_off.svg +12 -0
  352. package/lib/assets/img/svg/toolbar/dcm_on.svg +474 -0
  353. package/lib/assets/img/svg/toolbar/delete_button.svg +37 -0
  354. package/lib/assets/img/svg/toolbar/download.svg +77 -0
  355. package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  356. package/lib/assets/img/svg/toolbar/edit_button.svg +75 -0
  357. package/lib/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  358. package/lib/assets/img/svg/toolbar/fbm.png +0 -0
  359. package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  360. package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  361. package/lib/assets/img/svg/toolbar/floorstyle.svg +9 -0
  362. package/lib/assets/img/svg/toolbar/fmb.png +0 -0
  363. package/lib/assets/img/svg/toolbar/fmb_off.svg +12 -0
  364. package/lib/assets/img/svg/toolbar/fmb_on.svg +489 -0
  365. package/lib/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  366. package/lib/assets/img/svg/toolbar/get_started_button.svg +41 -0
  367. package/lib/assets/img/svg/toolbar/handles.svg +5 -0
  368. package/lib/assets/img/svg/toolbar/lighting.svg +7 -0
  369. package/lib/assets/img/svg/toolbar/lrm.png +0 -0
  370. package/lib/assets/img/svg/toolbar/lrm_off.svg +12 -0
  371. package/lib/assets/img/svg/toolbar/lrm_on.svg +470 -0
  372. package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  373. package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  374. package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  375. package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  376. package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  377. package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  378. package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  379. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  380. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  381. package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  382. package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  383. package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  384. package/lib/assets/img/svg/toolbar/redo_button.svg +75 -0
  385. package/lib/assets/img/svg/toolbar/redo_button1.svg +75 -0
  386. package/lib/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  387. package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  388. package/lib/assets/img/svg/toolbar/save_project_button.svg +44 -0
  389. package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  390. package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  391. package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  392. package/lib/assets/img/svg/toolbar/style_change_button.svg +47 -0
  393. package/lib/assets/img/svg/toolbar/take_picture.svg +75 -0
  394. package/lib/assets/img/svg/toolbar/undo_button.svg +76 -0
  395. package/lib/assets/img/svg/toolbar/undo_button1.svg +76 -0
  396. package/lib/assets/img/svg/toolbar/use_button.svg +37 -0
  397. package/lib/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  398. package/lib/assets/img/svg/topbar/edit_active.svg +10 -0
  399. package/lib/assets/img/svg/topbar/edit_inactive.svg +10 -0
  400. package/lib/assets/img/svg/topbar/redo_active.svg +42 -0
  401. package/lib/assets/img/svg/topbar/redo_inactive.svg +23 -0
  402. package/lib/assets/img/svg/topbar/select_all_active.svg +50 -0
  403. package/lib/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  404. package/lib/assets/img/svg/topbar/take_picture_active.svg +51 -0
  405. package/lib/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  406. package/lib/assets/img/svg/topbar/undo_active.svg +42 -0
  407. package/lib/assets/img/svg/topbar/undo_inactive.svg +23 -0
  408. package/lib/assets/img/svg/warning_info_2d.svg +81 -0
  409. package/lib/assets/img/svg/window/Clear.svg +3 -0
  410. package/lib/assets/img/svg/window/Cross.svg +5 -0
  411. package/lib/assets/img/svg/window/Double_hung.svg +4 -0
  412. package/lib/assets/img/svg/window/Vertical.svg +4 -0
  413. package/lib/assets/img/svg/windows_clear.svg +23 -0
  414. package/lib/assets/img/svg/windows_cross.svg +28 -0
  415. package/lib/assets/img/svg/windows_double_hung.svg +24 -0
  416. package/lib/assets/img/svg/windows_vertical.svg +24 -0
  417. package/lib/assets/img/svg/wizardstep/Custom.svg +3 -0
  418. package/lib/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  419. package/lib/assets/img/svg/wizardstep/L.svg +3 -0
  420. package/lib/assets/img/svg/wizardstep/L2.svg +3 -0
  421. package/lib/assets/img/svg/wizardstep/Open.svg +3 -0
  422. package/lib/assets/img/svg/wizardstep/Square.svg +3 -0
  423. package/lib/assets/img/svg/wizardstep/bar-active.svg +9 -0
  424. package/lib/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  425. package/lib/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  426. package/lib/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  427. package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  428. package/lib/assets/img/svg/wizardstep/check-active.svg +3 -0
  429. package/lib/assets/img/svg/wizardstep/check-normal.svg +3 -0
  430. package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -0
  431. package/lib/assets/img/svg/wizardstep/pencil.svg +11 -0
  432. package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -0
  433. package/lib/assets/img/texture/glass.jpg +0 -0
  434. package/lib/assets/img/texture/steel.jpg +0 -0
  435. package/lib/assets/img/texture/white1px.jpg +0 -0
  436. package/lib/assets/img/texture/wood.jpg +0 -0
  437. package/lib/assets/model/DCM.bin +0 -0
  438. package/lib/assets/model/DCM.fbx +0 -0
  439. package/lib/assets/model/DCM.gltf +1 -0
  440. package/lib/assets/model/FBM.bin +0 -0
  441. package/lib/assets/model/FBM.fbx +0 -0
  442. package/lib/assets/model/FBM.gltf +1 -0
  443. package/lib/assets/model/LRM.bin +0 -0
  444. package/lib/assets/model/LRM.fbx +0 -0
  445. package/lib/assets/model/LRM.gltf +1 -0
  446. package/lib/assets/rtastore_logo.png +0 -0
  447. package/lib/catalog/areas/area/planner-element.js +53 -0
  448. package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  449. package/lib/catalog/areas/area/textures/grass.jpg +0 -0
  450. package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
  451. package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  452. package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
  453. package/lib/catalog/back.png +0 -0
  454. package/lib/catalog/cabinet/cabinet-assembly-order.js +42 -0
  455. package/lib/catalog/catalog.js +270 -0
  456. package/lib/catalog/doors.png +0 -0
  457. package/lib/catalog/doorways.png +0 -0
  458. package/lib/catalog/envMap/nx.hdr +0 -0
  459. package/lib/catalog/envMap/ny.hdr +0 -0
  460. package/lib/catalog/envMap/nz.hdr +0 -0
  461. package/lib/catalog/envMap/px.hdr +0 -0
  462. package/lib/catalog/envMap/py.hdr +0 -0
  463. package/lib/catalog/envMap/pz.hdr +0 -0
  464. package/lib/catalog/export.js +1 -0
  465. package/lib/catalog/factories/area-factory-3d.js +187 -0
  466. package/lib/catalog/factories/area-factory.js +88 -0
  467. package/lib/catalog/factories/export.js +25 -0
  468. package/lib/catalog/factories/wall-factory-3d.js +212 -0
  469. package/lib/catalog/factories/wall-factory.js +279 -0
  470. package/lib/catalog/holes/door-closet/planner-element.js +232 -0
  471. package/lib/catalog/holes/door-double/door_double.png +0 -0
  472. package/lib/catalog/holes/door-double/planner-element.js +325 -0
  473. package/lib/catalog/holes/door-exterior/planner-element.js +225 -0
  474. package/lib/catalog/holes/door-interior/planner-element.js +237 -0
  475. package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
  476. package/lib/catalog/holes/door-panic/planner-element.js +513 -0
  477. package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  478. package/lib/catalog/holes/door-panic-double/planner-element.js +473 -0
  479. package/lib/catalog/holes/door-sliding/planner-element.js +235 -0
  480. package/lib/catalog/holes/doorway-framed/planner-element.js +155 -0
  481. package/lib/catalog/holes/doorway-frameless/planner-element.js +114 -0
  482. package/lib/catalog/holes/export.js +97 -0
  483. package/lib/catalog/holes/gate/gate.jpg +0 -0
  484. package/lib/catalog/holes/window-clear/planner-element.js +176 -0
  485. package/lib/catalog/holes/window-clear/texture.png +0 -0
  486. package/lib/catalog/holes/window-cross/planner-element.js +175 -0
  487. package/lib/catalog/holes/window-cross/texture.png +0 -0
  488. package/lib/catalog/holes/window-double-hung/planner-element.js +313 -0
  489. package/lib/catalog/holes/window-double-hung/texture.png +0 -0
  490. package/lib/catalog/holes/window-vertical/planner-element.js +286 -0
  491. package/lib/catalog/holes/window-vertical/texture.png +0 -0
  492. package/lib/catalog/lines/wall/planner-element.js +87 -0
  493. package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  494. package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
  495. package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
  496. package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  497. package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
  498. package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
  499. package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  500. package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
  501. package/lib/catalog/lines/wall/wall.png +0 -0
  502. package/lib/catalog/molding/molding-dcm/planner-element.js +33 -0
  503. package/lib/catalog/molding/molding-dcm/texture.png +0 -0
  504. package/lib/catalog/molding/molding-fbm/planner-element.js +33 -0
  505. package/lib/catalog/molding/molding-fbm/texture.png +0 -0
  506. package/lib/catalog/molding/molding-lrm/planner-element.js +33 -0
  507. package/lib/catalog/molding/molding-lrm/texture.png +0 -0
  508. package/lib/catalog/utils/exporter.js +173 -0
  509. package/lib/catalog/utils/geom-utils.js +205 -0
  510. package/lib/catalog/utils/item-loader.js +1603 -0
  511. package/lib/catalog/utils/load-obj.js +99 -0
  512. package/lib/catalog/utils/mtl-loader.js +366 -0
  513. package/lib/catalog/utils/obj-loader.js +486 -0
  514. package/lib/catalog/windows.png +0 -0
  515. package/lib/class/area.js +147 -0
  516. package/lib/class/export.js +88 -0
  517. package/lib/class/group.js +438 -0
  518. package/lib/class/guide.js +64 -0
  519. package/lib/class/hole.js +930 -0
  520. package/lib/class/item.js +1990 -0
  521. package/lib/class/layer.js +670 -0
  522. package/lib/class/line.js +1238 -0
  523. package/lib/class/project.js +949 -0
  524. package/lib/class/vertex.js +205 -0
  525. package/lib/components/content.js +148 -0
  526. package/lib/components/export.js +7 -0
  527. package/lib/components/style/export.js +17 -0
  528. package/lib/components/style/form-number-input.js +192 -0
  529. package/lib/components/style/form-submit-button.js +35 -0
  530. package/lib/components/viewer2d/area.js +89 -0
  531. package/lib/components/viewer2d/export.js +121 -0
  532. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +44 -0
  533. package/lib/components/viewer2d/grids/grid-streak.js +44 -0
  534. package/lib/components/viewer2d/grids/grid-vertical-streak.js +44 -0
  535. package/lib/components/viewer2d/grids/grids.js +40 -0
  536. package/lib/components/viewer2d/group.js +63 -0
  537. package/lib/components/viewer2d/item.js +245 -0
  538. package/lib/components/viewer2d/layer.js +172 -0
  539. package/lib/components/viewer2d/line.js +975 -0
  540. package/lib/components/viewer2d/ruler.js +92 -0
  541. package/lib/components/viewer2d/rulerDist.js +110 -0
  542. package/lib/components/viewer2d/rulerX.js +154 -0
  543. package/lib/components/viewer2d/rulerY.js +156 -0
  544. package/lib/components/viewer2d/scene.js +137 -0
  545. package/lib/components/viewer2d/snap.js +84 -0
  546. package/lib/components/viewer2d/state.js +83 -0
  547. package/lib/components/viewer2d/utils.js +207 -0
  548. package/lib/components/viewer2d/vertex.js +76 -0
  549. package/lib/components/viewer2d/viewer2d.js +1472 -0
  550. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +2591 -0
  551. package/lib/components/viewer3d/dcm.js +408 -0
  552. package/lib/components/viewer3d/fbm.js +421 -0
  553. package/lib/components/viewer3d/front3D.js +71 -0
  554. package/lib/components/viewer3d/grid-creator.js +35 -0
  555. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +45 -0
  556. package/lib/components/viewer3d/grids/grid-streak.js +36 -0
  557. package/lib/components/viewer3d/grids/grid-vertical-streak.js +45 -0
  558. package/lib/components/viewer3d/libs/first-person-controls.js +74 -0
  559. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +1287 -0
  560. package/lib/components/viewer3d/libs/mtl-loader.js +366 -0
  561. package/lib/components/viewer3d/libs/obj-loader.js +471 -0
  562. package/lib/components/viewer3d/libs/orbit-controls.js +706 -0
  563. package/lib/components/viewer3d/libs/pointer-lock-controls.js +53 -0
  564. package/lib/components/viewer3d/lrm.js +312 -0
  565. package/lib/components/viewer3d/model.js +714 -0
  566. package/lib/components/viewer3d/pointer-lock-navigation.js +32 -0
  567. package/lib/components/viewer3d/ruler-utils/itemRect.js +69 -0
  568. package/lib/components/viewer3d/ruler-utils/layer3D.js +503 -0
  569. package/lib/components/viewer3d/ruler-utils/ruler3D.js +232 -0
  570. package/lib/components/viewer3d/ruler-utils/scene3D.js +67 -0
  571. package/lib/components/viewer3d/ruler-utils/state3D.js +26 -0
  572. package/lib/components/viewer3d/scene-creator.js +3886 -0
  573. package/lib/components/viewer3d/three-memory-cleaner.js +46 -0
  574. package/lib/components/viewer3d/viewer3d-first-person.js +316 -0
  575. package/lib/components/viewer3d/viewer3d.js +2676 -0
  576. package/lib/constants/catalog/skinPanel.js +15 -0
  577. package/lib/constants.js +791 -0
  578. package/lib/devLiteRenderer.js +903 -0
  579. package/lib/events/external/handleExternalEvent.js +147 -0
  580. package/lib/events/external/handleExternalEvent.util.js +1127 -0
  581. package/lib/events/external/handlers.addItem.js +54 -0
  582. package/lib/events/external/handlers.changeDoorStyle.js +142 -0
  583. package/lib/events/external/handlers.elementOps.js +15 -0
  584. package/lib/events/external/handlers.finishing.js +32 -0
  585. package/lib/events/external/handlers.hole.js +10 -0
  586. package/lib/events/external/handlers.loadProject.js +131 -0
  587. package/lib/events/external/handlers.molding.js +31 -0
  588. package/lib/events/external/handlers.projectLifecycle.js +19 -0
  589. package/lib/events/external/handlers.projectSettings.js +38 -0
  590. package/lib/events/external/handlers.replaceCabinet.js +48 -0
  591. package/lib/events/external/handlers.roomShape.js +14 -0
  592. package/lib/events/external/handlers.syncScene.js +27 -0
  593. package/lib/events/external/handlers.updateSelectedElements.js +17 -0
  594. package/lib/events/external/handlers.viewMode.js +19 -0
  595. package/lib/events/external/handlers.viewerNavigation.js +117 -0
  596. package/lib/events/external/handlers.wall.js +13 -0
  597. package/lib/index.js +637 -0
  598. package/lib/mappings/external-events/mapExternalEventPayload.js +33 -0
  599. package/lib/mappings/external-events/mappers/addItemMapper.js +101 -0
  600. package/lib/mappings/external-events/mappers/ccdfMapper.js +102 -0
  601. package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +58 -0
  602. package/lib/mappings/external-events/mappers/changeDoorStyleMapper.js +44 -0
  603. package/lib/mappings/external-events/mappers/loadProjectMapper.js +70 -0
  604. package/lib/mappings/holesToCatalog.js +148 -0
  605. package/lib/models.js +534 -0
  606. package/lib/plugins/SVGLoader.js +1419 -0
  607. package/lib/plugins/console-debugger.js +42 -0
  608. package/lib/plugins/export.js +25 -0
  609. package/lib/plugins/keyboard.js +117 -0
  610. package/lib/reducers/areas-reducer.js +19 -0
  611. package/lib/reducers/export.js +89 -0
  612. package/lib/reducers/groups-reducer.js +45 -0
  613. package/lib/reducers/holes-reducer.js +69 -0
  614. package/lib/reducers/items-reducer.js +152 -0
  615. package/lib/reducers/lines-reducer.js +52 -0
  616. package/lib/reducers/project-reducer.js +143 -0
  617. package/lib/reducers/reducer.js +25 -0
  618. package/lib/reducers/scene-reducer.js +35 -0
  619. package/lib/reducers/vertices-reducer.js +26 -0
  620. package/lib/reducers/viewer2d-reducer.js +84 -0
  621. package/lib/reducers/viewer3d-reducer.js +65 -0
  622. package/lib/shared/domain/cabinet-identity.js +12 -0
  623. package/lib/shared/objects/immutable.js +9 -0
  624. package/lib/shared-style.js +72 -0
  625. package/lib/translator/en.js +111 -0
  626. package/lib/translator/it.js +86 -0
  627. package/lib/translator/ru.js +86 -0
  628. package/lib/translator/translator.js +87 -0
  629. package/lib/utils/browser.js +40 -0
  630. package/lib/utils/convert-units-lite.js +44 -0
  631. package/lib/utils/email-validator.js +10 -0
  632. package/lib/utils/export.js +56 -0
  633. package/lib/utils/geometry.js +3233 -0
  634. package/lib/utils/get-edges-of-subgraphs.js +33 -0
  635. package/lib/utils/graph-cycles.js +239 -0
  636. package/lib/utils/graph-inner-cycles.js +54 -0
  637. package/lib/utils/graph.js +153 -0
  638. package/lib/utils/helper.js +490 -0
  639. package/lib/utils/history.js +48 -0
  640. package/lib/utils/id-broker.js +22 -0
  641. package/lib/utils/logger.js +14 -0
  642. package/lib/utils/math.js +57 -0
  643. package/lib/utils/molding.js +1146 -0
  644. package/lib/utils/name-generator.js +21 -0
  645. package/lib/utils/objects-utils.js +62 -0
  646. package/lib/utils/phone-validator.js +10 -0
  647. package/lib/utils/process-black-list.js +22 -0
  648. package/lib/utils/react-if.js +25 -0
  649. package/lib/utils/ruler.js +63 -0
  650. package/lib/utils/skinPanelEngine.js +534 -0
  651. package/lib/utils/snap-scene.js +101 -0
  652. package/lib/utils/snap.js +245 -0
  653. package/lib/utils/summarizeCart.js +30 -0
  654. package/lib/utils/threeCSG.es6.js +504 -0
  655. package/lib/version.js +7 -0
  656. package/package.json +29 -24
  657. package/es/WorkSpace.js +0 -30
  658. package/es/WorkSpaceHostMimic.js +0 -132
  659. package/es/assets/gltf/door_closet.bin +0 -0
  660. package/es/assets/gltf/door_closet.fbx +0 -0
  661. package/es/assets/gltf/door_exterior.bin +0 -0
  662. package/es/assets/gltf/door_exterior.fbx +0 -0
  663. package/es/assets/gltf/door_interior.bin +0 -0
  664. package/es/assets/gltf/door_interior.fbx +0 -0
  665. package/es/assets/gltf/door_sliding.bin +0 -0
  666. package/es/assets/gltf/door_sliding.fbx +0 -0
  667. package/es/assets/img/png/helper/video_preview_3d.png +0 -0
  668. package/es/assets/img/png/helper/video_preview_start.png +0 -0
  669. package/es/assets/img/svg/color/Brown.svg +0 -9
  670. package/es/assets/img/svg/color/Dark.svg +0 -9
  671. package/es/assets/img/svg/color/Light.svg +0 -9
  672. package/es/assets/img/svg/color/Medium.svg +0 -9
  673. package/es/assets/img/svg/color/Unfinished.svg +0 -9
  674. package/es/catalog/lines/wall/textures/bricks3.jpg +0 -0
  675. package/es/catalog/properties/export.js +0 -21
  676. package/es/catalog/properties/property-checkbox.js +0 -68
  677. package/es/catalog/properties/property-color.js +0 -39
  678. package/es/catalog/properties/property-enum.js +0 -50
  679. package/es/catalog/properties/property-hidden.js +0 -19
  680. package/es/catalog/properties/property-lenght-measure.js +0 -96
  681. package/es/catalog/properties/property-length-measure.js +0 -80
  682. package/es/catalog/properties/property-length-measure_hole.js +0 -96
  683. package/es/catalog/properties/property-number.js +0 -48
  684. package/es/catalog/properties/property-read-only.js +0 -26
  685. package/es/catalog/properties/property-string.js +0 -48
  686. package/es/catalog/properties/property-toggle.js +0 -39
  687. package/es/catalog/properties/shared-property-style.js +0 -14
  688. package/es/catalog/utils/FuseUtils.js +0 -79
  689. package/es/class/FuseUtils.js +0 -79
  690. package/es/components/style/button.js +0 -106
  691. package/es/components/style/cancel-button.js +0 -21
  692. package/es/components/style/content-container.js +0 -30
  693. package/es/components/style/content-title.js +0 -25
  694. package/es/components/style/delete-button.js +0 -24
  695. package/es/components/style/form-block.js +0 -20
  696. package/es/components/style/form-color-input.js +0 -26
  697. package/es/components/style/form-label.js +0 -22
  698. package/es/components/style/form-number-input_2.js +0 -238
  699. package/es/components/style/form-select.js +0 -19
  700. package/es/components/style/form-slider.js +0 -60
  701. package/es/components/style/form-text-input.js +0 -69
  702. package/es/index.html.ejs +0 -264
  703. package/es/reducers/user-reducer.js +0 -41
  704. /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,14 @@ 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";
18
+ import { normalizeLongName } from "../shared/domain/cabinet-identity";
17
19
  var allItemRect;
18
20
  var allItemSnap;
19
21
  var allLines;
@@ -27,6 +29,31 @@ var Item = /*#__PURE__*/function () {
27
29
  _classCallCheck(this, Item);
28
30
  }
29
31
  return _createClass(Item, null, [{
32
+ key: "__getDesiredDoorFinishId",
33
+ value: function __getDesiredDoorFinishId(layer) {
34
+ var _layer$doorFinish, _js$id;
35
+ // Transitional naming: prefer future `doorFinish`, fall back to legacy `doorStyle`.
36
+ // IMPORTANT: use `doorStyle.id` as door_finish_id (ignore doorStyle.door_style_id).
37
+ 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;
38
+ var js = toJSIfNeeded(lf);
39
+ return (_js$id = js === null || js === void 0 ? void 0 : js.id) !== null && _js$id !== void 0 ? _js$id : null;
40
+ }
41
+ }, {
42
+ key: "__pickCCDFForDoorFinish",
43
+ value: function __pickCCDFForDoorFinish(definitionCCDFList, desiredDoorFinishId, itemID) {
44
+ var _match$door_finish_id;
45
+ if (!Array.isArray(definitionCCDFList) || !desiredDoorFinishId) return null;
46
+ // Host ccdf_list entries may NOT include `door_finish_id` (only `cabinet_id`).
47
+ // When missing, we can still pick by cabinet_id and then *stamp* door_finish_id from scene context.
48
+ var match = definitionCCDFList.find(function (c) {
49
+ 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;
50
+ });
51
+ if (!match) return null;
52
+ return _objectSpread(_objectSpread({}, match), {}, {
53
+ 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
54
+ });
55
+ }
56
+ }, {
30
57
  key: "create",
31
58
  value: function create(state, layerID, type, x, y, width, height, rotation, isDuplication) {
32
59
  var _item;
@@ -39,7 +66,16 @@ var Item = /*#__PURE__*/function () {
39
66
  id: itemID,
40
67
  itemID: state.catalog.getIn(['elements', type, 'itemID']),
41
68
  name: NameGenerator.generateName('items', state.catalog.getIn(['elements', type, 'info', 'title'])),
69
+ long_name: state.catalog.getIn(['elements', type, 'long_name']),
70
+ sizeinfo: state.catalog.getIn(['elements', type, 'info', 'sizeinfo']),
71
+ description: state.catalog.getIn(['elements', type, 'info', 'description']),
72
+ base: state.catalog.getIn(['elements', type, 'info', 'image']),
73
+ shape_svg: state.catalog.getIn(['elements', type, 'info', 'shape_svg']),
74
+ gltf: state.catalog.getIn(['elements', type, 'gltf']),
75
+ is_corner: state.catalog.getIn(['elements', type, 'info', 'is_corner']),
76
+ obj_property: state.catalog.getIn(['elements', type, 'obj']),
42
77
  sku_number: state.catalog.getIn(['elements', type, 'obj']).toJS().sku_number,
78
+ outline: state.catalog.getIn(['elements', type, 'info', 'outline']),
43
79
  //style: state.catalog.getIn(['elements', type, 'info', 'door']),
44
80
  category: state.catalog.getIn(['elements', type, 'type']),
45
81
  layoutpos: state.catalog.getIn(['elements', type, 'info', 'layoutpos']),
@@ -53,24 +89,41 @@ var Item = /*#__PURE__*/function () {
53
89
  isDuplication: isDuplication,
54
90
  isInitialPos: isInitialPos ? isInitialPos : false
55
91
  }, null, state);
92
+ // Attach selected ccdf onto the placed instance so SYNC can return it.
93
+ // This does not affect legacy `structure_json/tempPlaceholders` behavior.
94
+ try {
95
+ var _state, _definitions$get$toJS, _definitions$get, _definitions$get$toJS2, _state2;
96
+ var layerForFinish = state.getIn(['scene', 'layers', layerID]);
97
+ var desiredDoorFinishId = this.__getDesiredDoorFinishId(layerForFinish);
98
+ var definitions = (_state = state) === null || _state === void 0 || (_state = _state.catalog) === null || _state === void 0 ? void 0 : _state.getIn(['elements', type]);
99
+ 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;
100
+ 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']));
101
+ if (picked) item = item.merge({
102
+ ccdf: picked
103
+ });
104
+ } catch (e) {
105
+ // best-effort only; never block item creation
106
+ }
56
107
  if (item.category === 'cabinet') {
57
108
  if (isDuplication && refItem) {
58
109
  item = item.merge({
59
110
  doorStyle: refItem.doorStyle
60
111
  });
61
112
  } else {
62
- var _state$doorStyle, _ref, _temp$doorStyles$cds$, _temp$doorStyles, _temp$cds, _state3;
113
+ var _layer$doorStyle, _temp, _ref, _temp$doorStyles$cds$, _temp2, _temp3, _state5;
63
114
  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']);
115
+ var temp = (_layer$doorStyle = layer === null || layer === void 0 ? void 0 : layer.doorStyle) !== null && _layer$doorStyle !== void 0 ? _layer$doorStyle : state.doorStyle;
116
+ if (!isEmpty(temp) && Map.isMap(temp)) temp = (_temp = temp) === null || _temp === void 0 ? void 0 : _temp.toJS();
117
+ 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) {
118
+ var _state3;
119
+ return elem.itemID === ((_state3 = state) === null || _state3 === void 0 || (_state3 = _state3.catalog) === null || _state3 === void 0 ? void 0 : _state3.getIn(['elements', type, 'itemID']));
120
+ })) !== 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) {
121
+ var _state4;
122
+ return elem.itemID === ((_state4 = state) === null || _state4 === void 0 || (_state4 = _state4.catalog) === null || _state4 === void 0 ? void 0 : _state4.getIn(['elements', type, 'itemID']));
123
+ })) !== 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
124
  if (cds) {
73
- var updatedDoorStyles = _objectSpread(_objectSpread({}, temp === null || temp === void 0 ? void 0 : temp.doorStyles), {}, {
125
+ var _temp4;
126
+ var updatedDoorStyles = _objectSpread(_objectSpread({}, (_temp4 = temp) === null || _temp4 === void 0 ? void 0 : _temp4.doorStyles), {}, {
74
127
  cds: [cds],
75
128
  cabinet_door_style_id: cds.cabinet_door_style_id
76
129
  });
@@ -195,6 +248,46 @@ var Item = /*#__PURE__*/function () {
195
248
  item: item
196
249
  };
197
250
  }
251
+ }, {
252
+ key: "setItemsCCDF",
253
+ value: function setItemsCCDF(state, ccdf_list, applyScope) {
254
+ var targetItemIDs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
255
+ var doorFinishId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
256
+ var layerID = state.getIn(['scene', 'selectedLayer']);
257
+ var layer = state.getIn(['scene', 'layers', layerID]);
258
+ var desiredDoorFinishId = doorFinishId !== null && doorFinishId !== void 0 ? doorFinishId : this.__getDesiredDoorFinishId(layer);
259
+ if (!Array.isArray(ccdf_list) || !desiredDoorFinishId) return {
260
+ updatedState: state
261
+ };
262
+
263
+ // resolve which instance IDs to process
264
+ var idSet = null;
265
+ if (applyScope === DOORSTYLE_SCOPE_SINGLE) {
266
+ var selectedItemIds = state.getIn(['scene', 'layers', layerID, 'selected', 'items']).toJS();
267
+ idSet = new Set(selectedItemIds);
268
+ } else if (applyScope === DOORSTYLE_SCOPE_MULTIPLE) {
269
+ idSet = new Set(targetItemIDs);
270
+ }
271
+ layer.items.forEach(function (it) {
272
+ var _idSet, _ccdf_list$find, _picked$door_finish_i;
273
+ var should = applyScope === DOORSTYLE_SCOPE_ALL ? true : (_idSet = idSet) === null || _idSet === void 0 ? void 0 : _idSet.has(it.id);
274
+ if (!should) return;
275
+
276
+ // Prefer stable join key: long_name. Fall back to cabinet_id for older payloads.
277
+ var picked = (_ccdf_list$find = ccdf_list.find(function (c) {
278
+ return (c === null || c === void 0 ? void 0 : c.long_name) && (it === null || it === void 0 ? void 0 : it.long_name) && normalizeLongName(c.long_name) === normalizeLongName(it.long_name);
279
+ })) !== null && _ccdf_list$find !== void 0 ? _ccdf_list$find : ccdf_list.find(function (c) {
280
+ return (c === null || c === void 0 ? void 0 : c.cabinet_id) === it.itemID;
281
+ });
282
+ if (!picked) return;
283
+ state = state.setIn(['scene', 'layers', layerID, 'items', it.id, 'ccdf'], _objectSpread(_objectSpread({}, picked), {}, {
284
+ 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
285
+ }));
286
+ });
287
+ return {
288
+ updatedState: state
289
+ };
290
+ }
198
291
  }, {
199
292
  key: "updateDoorHandle",
200
293
  value: function updateDoorHandle(item, layer) {
@@ -552,7 +645,7 @@ var Item = /*#__PURE__*/function () {
552
645
  if (!isEmpty(currentObject === null || currentObject === void 0 || (_currentObject$counte = currentObject.counterTop) === null || _currentObject$counte === void 0 ? void 0 : _currentObject$counte.uri)) {
553
646
  var _currentObject$counte2;
554
647
  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';
648
+ } else if (!isEmpty(state.getIn(['scene', 'layers', 'layer-1', 'counterTop']))) counterTopURI = state.getIn(['scene', 'layers', 'layer-1', 'counterTop']).uri;
556
649
  state = this.remove(state, state.scene.selectedLayer, selectedPos.selectedItemId).updatedState;
557
650
  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
651
  // state = this.select(state, state.scene.selectedLayer, selectedPos.selectedItemId).updatedState;
@@ -672,8 +765,8 @@ var Item = /*#__PURE__*/function () {
672
765
  }, {
673
766
  key: "updateDraggingItemChanged",
674
767
  value: function updateDraggingItemChanged(state, x, y, layerID, itemID) {
675
- var _state4 = state,
676
- scene = _state4.scene;
768
+ var _state6 = state,
769
+ scene = _state6.scene;
677
770
  // let originalX = draggingSupport.get('originalX');
678
771
  // let originalY = draggingSupport.get('originalY');
679
772
 
@@ -765,9 +858,9 @@ var Item = /*#__PURE__*/function () {
765
858
  }, {
766
859
  key: "updateDraggingItem",
767
860
  value: function updateDraggingItem(state, x, y) {
768
- var _state5 = state,
769
- draggingSupport = _state5.draggingSupport,
770
- scene = _state5.scene;
861
+ var _state7 = state,
862
+ draggingSupport = _state7.draggingSupport,
863
+ scene = _state7.scene;
771
864
  var layerID = draggingSupport.get('layerID');
772
865
  var itemID = draggingSupport.get('itemID');
773
866
  var startPointX = draggingSupport.get('startPointX');
@@ -799,9 +892,9 @@ var Item = /*#__PURE__*/function () {
799
892
  }, {
800
893
  key: "updateDraggingItem3DX",
801
894
  value: function updateDraggingItem3DX(state, x) {
802
- var _state6 = state,
803
- draggingSupport = _state6.draggingSupport,
804
- scene = _state6.scene;
895
+ var _state8 = state,
896
+ draggingSupport = _state8.draggingSupport,
897
+ scene = _state8.scene;
805
898
  var layerID = draggingSupport.get('layerID');
806
899
  var itemID = draggingSupport.get('itemID');
807
900
  var startPointX = draggingSupport.get('startPointX');
@@ -821,9 +914,9 @@ var Item = /*#__PURE__*/function () {
821
914
  }, {
822
915
  key: "updateDraggingItem3DY",
823
916
  value: function updateDraggingItem3DY(state, y) {
824
- var _state7 = state,
825
- draggingSupport = _state7.draggingSupport,
826
- scene = _state7.scene;
917
+ var _state9 = state,
918
+ draggingSupport = _state9.draggingSupport,
919
+ scene = _state9.scene;
827
920
  var layerID = draggingSupport.get('layerID');
828
921
  var itemID = draggingSupport.get('itemID');
829
922
  var startPointY = draggingSupport.get('startPointY');
@@ -904,9 +997,9 @@ var Item = /*#__PURE__*/function () {
904
997
  }, {
905
998
  key: "updateRotatingItem",
906
999
  value: function updateRotatingItem(state, x, y) {
907
- var _state8 = state,
908
- rotatingSupport = _state8.rotatingSupport,
909
- scene = _state8.scene;
1000
+ var _state0 = state,
1001
+ rotatingSupport = _state0.rotatingSupport,
1002
+ scene = _state0.scene;
910
1003
  var layerID = rotatingSupport.get('layerID');
911
1004
  var itemID = rotatingSupport.get('itemID');
912
1005
  var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -989,9 +1082,9 @@ var Item = /*#__PURE__*/function () {
989
1082
  }, {
990
1083
  key: "replaceSubmodule",
991
1084
  value: function replaceSubmodule(state, url) {
992
- var _state9 = state,
993
- replacingSupport = _state9.replacingSupport,
994
- scene = _state9.scene;
1085
+ var _state1 = state,
1086
+ replacingSupport = _state1.replacingSupport,
1087
+ scene = _state1.scene;
995
1088
  url = 'catalog/texture.png';
996
1089
  var urlData = url.split('/');
997
1090
  var newURL = '';
@@ -1092,9 +1185,9 @@ var Item = /*#__PURE__*/function () {
1092
1185
  }, {
1093
1186
  key: "animateObject",
1094
1187
  value: function animateObject(state, value) {
1095
- var _state0 = state,
1096
- replacingSupport = _state0.replacingSupport,
1097
- scene = _state0.scene;
1188
+ var _state10 = state,
1189
+ replacingSupport = _state10.replacingSupport,
1190
+ scene = _state10.scene;
1098
1191
  var layerID = replacingSupport.get('layerID');
1099
1192
  var itemID = replacingSupport.get('itemID');
1100
1193
  var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -1131,8 +1224,8 @@ var Item = /*#__PURE__*/function () {
1131
1224
  state = state.merge({
1132
1225
  doorStyle: doorStyle
1133
1226
  });
1134
- var _state1 = state,
1135
- scene = _state1.scene;
1227
+ var _state11 = state,
1228
+ scene = _state11.scene;
1136
1229
  var layerID = scene.get('selectedLayer');
1137
1230
  var layers = scene.layers.get(layerID);
1138
1231
  var items = layers.items;
@@ -1161,8 +1254,9 @@ var Item = /*#__PURE__*/function () {
1161
1254
  }
1162
1255
  }, {
1163
1256
  key: "setDoorStyle",
1164
- value: function setDoorStyle(state, doorStyle, itemCDS, isAll) {
1257
+ value: function setDoorStyle(state, doorStyle, itemCDS, applyScope) {
1165
1258
  var _this2 = this;
1259
+ var targetItemIDs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
1166
1260
  if (isEmpty(doorStyle)) return {
1167
1261
  updatedState: state
1168
1262
  };
@@ -1187,10 +1281,33 @@ var Item = /*#__PURE__*/function () {
1187
1281
  });
1188
1282
  });
1189
1283
  state = state.setIn(['scene', 'layers', layerID, 'molding'], temp_layer_molding);
1190
- var itemIDs = state.scene.layers.getIn([layerID, 'selected', 'items']).toJS();
1284
+
1285
+ // 🔥 Determine which items to update
1286
+ var items = state.scene.layers.get(layerID).items;
1287
+ var itemsToProcess = [];
1288
+ var idSet = null;
1289
+ if (applyScope === DOORSTYLE_SCOPE_SINGLE) {
1290
+ var selectedItemIds = state.scene.layers.getIn([layerID, 'selected', 'items']).toJS();
1291
+ idSet = new Set(selectedItemIds);
1292
+ }
1293
+ if (applyScope === DOORSTYLE_SCOPE_MULTIPLE) {
1294
+ // targetItemIds contains item.id (instance IDs)
1295
+ idSet = new Set(targetItemIDs);
1296
+ }
1297
+ if (applyScope === DOORSTYLE_SCOPE_ALL) {
1298
+ items.forEach(function (item) {
1299
+ itemsToProcess.push(item);
1300
+ });
1301
+ } else if (idSet) {
1302
+ items.forEach(function (item) {
1303
+ if (idSet.has(item.id)) {
1304
+ itemsToProcess.push(item);
1305
+ }
1306
+ });
1307
+ }
1191
1308
  var setDoorStyleOfItem = function setDoorStyleOfItem(data) {
1192
1309
  var _cds$data;
1193
- if (data.category !== 'cabinet') return; //CDS should effect to cabinets
1310
+ if (data.category !== 'cabinet') return;
1194
1311
  var itemID = data.id;
1195
1312
  var curItem = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
1196
1313
  var layer = state.getIn(['scene', 'layers', layerID]);
@@ -1214,9 +1331,7 @@ var Item = /*#__PURE__*/function () {
1214
1331
  return element && element.is_euro_cds;
1215
1332
  })) || [];
1216
1333
  var cds_data = cds ? [cds] : [];
1217
- if (
1218
- // doorStyle.door_style_name === 'Euro & Frameless' &&
1219
- euro_cds.length > 0) {
1334
+ if (euro_cds.length > 0) {
1220
1335
  var newProperties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
1221
1336
  if (newProperties.hasOwnProperty('depth')) {
1222
1337
  if (!newProperties.hasOwnProperty('oldDepth')) {
@@ -1293,12 +1408,12 @@ var Item = /*#__PURE__*/function () {
1293
1408
  glossness: doorStyle.glossness,
1294
1409
  name: doorStyle.name,
1295
1410
  door_style_name: doorStyle.door_style_name,
1411
+ door_style_id: doorStyle.door_style_id,
1296
1412
  texture: doorStyle.texture,
1297
1413
  thumbnail: doorStyle.thumbnail,
1298
1414
  type: doorStyle.type,
1299
1415
  sku: doorStyle.sku,
1300
1416
  color_sku_alias: doorStyle.color_sku_alias,
1301
- // alias name of color_sku for the current dealer
1302
1417
  install: getInstallationSuffix(INSTALLATION_SUFFIX_TYPE.NAME, doorStyle),
1303
1418
  doorStyles: _objectSpread(_objectSpread({}, tmp), {}, {
1304
1419
  cds: cds_data
@@ -1306,25 +1421,9 @@ var Item = /*#__PURE__*/function () {
1306
1421
  };
1307
1422
  state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'doorStyle'], fromJS(tmpDS));
1308
1423
  };
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
- }
1424
+
1425
+ // 🔥 Apply to resolved items
1426
+ itemsToProcess.forEach(setDoorStyleOfItem);
1328
1427
  return {
1329
1428
  updatedState: state
1330
1429
  };
@@ -1332,8 +1431,8 @@ var Item = /*#__PURE__*/function () {
1332
1431
  }, {
1333
1432
  key: "setCounterTop",
1334
1433
  value: function setCounterTop(state, counterTop) {
1335
- var _state10 = state,
1336
- scene = _state10.scene;
1434
+ var _state12 = state,
1435
+ scene = _state12.scene;
1337
1436
  var layerID = scene.get('selectedLayer');
1338
1437
  var layers = scene.layers.get(layerID);
1339
1438
  layers = layers.mergeIn(['counterTop'], counterTop);
@@ -1377,8 +1476,8 @@ var Item = /*#__PURE__*/function () {
1377
1476
  }, {
1378
1477
  key: "setDoorHandle",
1379
1478
  value: function setDoorHandle(state, doorHandle) {
1380
- var _state11 = state,
1381
- scene = _state11.scene;
1479
+ var _state13 = state,
1480
+ scene = _state13.scene;
1382
1481
  var layerID = scene.get('selectedLayer');
1383
1482
  var layer = scene.layers.get(layerID);
1384
1483
  layer = layer.mergeIn(['doorHandle'], doorHandle);
@@ -1402,8 +1501,8 @@ var Item = /*#__PURE__*/function () {
1402
1501
  }, {
1403
1502
  key: "setHandleMaterial",
1404
1503
  value: function setHandleMaterial(state, material) {
1405
- var _state12 = state,
1406
- scene = _state12.scene;
1504
+ var _state14 = state,
1505
+ scene = _state14.scene;
1407
1506
  var layerID = scene.get('selectedLayer');
1408
1507
  var layers = scene.layers.get(layerID);
1409
1508
  var items = layers.items;
@@ -1428,8 +1527,8 @@ var Item = /*#__PURE__*/function () {
1428
1527
  }, {
1429
1528
  key: "setWallColor",
1430
1529
  value: function setWallColor(state, wallColor) {
1431
- var _state13 = state,
1432
- scene = _state13.scene;
1530
+ var _state15 = state,
1531
+ scene = _state15.scene;
1433
1532
  var layerID = scene.get('selectedLayer');
1434
1533
  var layer = scene.layers.get(layerID);
1435
1534
  layer = layer.merge({
@@ -1455,8 +1554,8 @@ var Item = /*#__PURE__*/function () {
1455
1554
  }, {
1456
1555
  key: "setBacksplash",
1457
1556
  value: function setBacksplash(state, backsplash) {
1458
- var _state14 = state,
1459
- scene = _state14.scene;
1557
+ var _state16 = state,
1558
+ scene = _state16.scene;
1460
1559
  var layerID = scene.get('selectedLayer');
1461
1560
  var layer = scene.layers.get(layerID);
1462
1561
  var dataJSON = layer.toJS();
@@ -1484,8 +1583,8 @@ var Item = /*#__PURE__*/function () {
1484
1583
  }, {
1485
1584
  key: "setMolding",
1486
1585
  value: function setMolding(state, molding, isAll) {
1487
- var _state15 = state,
1488
- scene = _state15.scene;
1586
+ var _state17 = state,
1587
+ scene = _state17.scene;
1489
1588
  var layerID = scene.get('selectedLayer');
1490
1589
  var layer = scene.layers.get(layerID);
1491
1590
  if (isAll) {
@@ -1577,8 +1676,8 @@ var Item = /*#__PURE__*/function () {
1577
1676
  }, {
1578
1677
  key: "updateMolding",
1579
1678
  value: function updateMolding(state) {
1580
- var _state16 = state,
1581
- scene = _state16.scene;
1679
+ var _state18 = state,
1680
+ scene = _state18.scene;
1582
1681
  var layerID = scene.get('selectedLayer');
1583
1682
  var layer = scene.layers.get(layerID);
1584
1683
  var selectedItem = layer.getIn(['items', layer.selected.toJS().items[0]]);
@@ -1606,7 +1705,7 @@ var Item = /*#__PURE__*/function () {
1606
1705
  }
1607
1706
  });
1608
1707
  var updateSelectItemMolding = function updateSelectItemMolding() {
1609
- var _loop2 = function _loop2() {
1708
+ var _loop = function _loop() {
1610
1709
  // check whether snapped item is same as selected item in layoutpos(Wall, Tall, Base)
1611
1710
  if (MoldingUtils.isSameMoldingLayoutpos(selectedItem, snappedItemGroup[i])) {
1612
1711
  // check whether snapped item is same in location(same location type and height).
@@ -1628,7 +1727,7 @@ var Item = /*#__PURE__*/function () {
1628
1727
  }
1629
1728
  };
1630
1729
  for (var i = 0; i < snappedItemGroup.length; i++) {
1631
- _loop2();
1730
+ _loop();
1632
1731
  }
1633
1732
  };
1634
1733
  var emptyMoldingArray = function emptyMoldingArray() {
@@ -1702,8 +1801,8 @@ var Item = /*#__PURE__*/function () {
1702
1801
  }, {
1703
1802
  key: "setBacksplashVisible",
1704
1803
  value: function setBacksplashVisible(state, itemID, backsplashVisible) {
1705
- var _state17 = state,
1706
- scene = _state17.scene;
1804
+ var _state19 = state,
1805
+ scene = _state19.scene;
1707
1806
  var layerID = scene.get('selectedLayer');
1708
1807
  var layer = scene.layers.get(layerID);
1709
1808
  layer = layer.mergeIn(['items', itemID, 'backsplashVisible'], backsplashVisible);
@@ -1723,8 +1822,8 @@ var Item = /*#__PURE__*/function () {
1723
1822
  }, {
1724
1823
  key: "setApplianceMaterial",
1725
1824
  value: function setApplianceMaterial(state, material) {
1726
- var _state18 = state,
1727
- scene = _state18.scene;
1825
+ var _state20 = state,
1826
+ scene = _state20.scene;
1728
1827
  var layerID = scene.get('selectedLayer');
1729
1828
  var layers = scene.layers.get(layerID);
1730
1829
  var items = layers.items;
@@ -1748,8 +1847,8 @@ var Item = /*#__PURE__*/function () {
1748
1847
  }, {
1749
1848
  key: "setModelling",
1750
1849
  value: function setModelling(state, molding) {
1751
- var _state19 = state,
1752
- scene = _state19.scene;
1850
+ var _state21 = state,
1851
+ scene = _state21.scene;
1753
1852
  var layerID = scene.get('selectedLayer');
1754
1853
  var layers = scene.layers.get(layerID);
1755
1854
  var items = layers.items;
@@ -1859,8 +1958,8 @@ var Item = /*#__PURE__*/function () {
1859
1958
  }, {
1860
1959
  key: "toggleLoadingCabinet",
1861
1960
  value: function toggleLoadingCabinet(state) {
1862
- var _state20 = state,
1863
- scene = _state20.scene;
1961
+ var _state22 = state,
1962
+ scene = _state22.scene;
1864
1963
  console.log('scene.isLoadingCabinet: ', !scene.isLoadingCabinet);
1865
1964
  // scene = scene.set('isLoadingCabinet', !scene.isLoadingCabinet);
1866
1965
  // state = state.set('scene', scene);
@@ -1872,8 +1971,8 @@ var Item = /*#__PURE__*/function () {
1872
1971
  }, {
1873
1972
  key: "endLoading",
1874
1973
  value: function endLoading(state) {
1875
- var _state21 = state,
1876
- scene = _state21.scene;
1974
+ var _state23 = state,
1975
+ scene = _state23.scene;
1877
1976
  state = state.setIn(['scene', 'loadFlag'], true);
1878
1977
  return {
1879
1978
  updatedState: state
@@ -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);
@@ -857,8 +853,8 @@ var Project = /*#__PURE__*/function () {
857
853
  if (isEmpty(viewer)) return {
858
854
  updatedState: state
859
855
  };
860
- width = convert(width).from(measurementUnit).to('cm');
861
- height = convert(height).from(measurementUnit).to('cm');
856
+ width = convert(width).from(measurementUnit !== null && measurementUnit !== void 0 ? measurementUnit : 'in').to('cm');
857
+ height = convert(height).from(measurementUnit !== null && measurementUnit !== void 0 ? measurementUnit : 'in').to('cm');
862
858
  var halfWidth = width / 2;
863
859
  var halfHeight = height / 2;
864
860
  var viewerWidth = viewer.SVGWidth;
@@ -12,7 +12,6 @@ export default function Content(_ref) {
12
12
  height = _ref.height,
13
13
  state = _ref.state,
14
14
  customContents = _ref.customContents,
15
- match = _ref.match,
16
15
  setToolbar = _ref.setToolbar,
17
16
  replaceCabinet = _ref.replaceCabinet,
18
17
  keyDownEnable = _ref.keyDownEnable,
@@ -132,4 +131,7 @@ Content.propTypes = {
132
131
  height: PropTypes.number.isRequired,
133
132
  replaceCabinet: PropTypes.func.isRequired,
134
133
  onInternalEvent: PropTypes.func.isRequired
134
+ };
135
+ Content.contextTypes = {
136
+ projectActions: PropTypes.object.isRequired
135
137
  };
@@ -1,9 +1,7 @@
1
1
  import Content from "./content";
2
2
  import Viewer2DComponents from "./viewer2d/export";
3
3
  import StyleComponents from "./style/export";
4
+
4
5
  export { Content, Viewer2DComponents, StyleComponents };
5
- export default {
6
- Content: Content,
7
- Viewer2DComponents: Viewer2DComponents,
8
- StyleComponents: StyleComponents
9
- };
6
+
7
+ export default { Content, Viewer2DComponents, StyleComponents };
@@ -1,31 +1,5 @@
1
- import Button from "./button";
2
- import CancelButton from "./cancel-button";
3
- import ContentContainer from "./content-container";
4
- import ContentTitle from "./content-title";
5
- import DeleteButton from "./delete-button";
6
- import FormBlock from "./form-block";
7
- import FormColorInput from "./form-color-input";
8
- import FormLabel from "./form-label";
9
1
  import FormNumberInput from "./form-number-input";
10
- import FormSelect from "./form-select";
11
- import FormSlider from "./form-slider";
12
- import FormSubmitButton from "./form-submit-button";
13
- import FormTextInput from "./form-text-input";
14
- import FormNumberInput2 from "./form-number-input_2";
15
- export { Button, CancelButton, ContentContainer, ContentTitle, DeleteButton, FormBlock, FormColorInput, FormLabel, FormNumberInput, FormSelect, FormSlider, FormSubmitButton, FormTextInput, FormNumberInput2 };
2
+ export { FormNumberInput };
16
3
  export default {
17
- Button: Button,
18
- CancelButton: CancelButton,
19
- ContentContainer: ContentContainer,
20
- ContentTitle: ContentTitle,
21
- DeleteButton: DeleteButton,
22
- FormBlock: FormBlock,
23
- FormColorInput: FormColorInput,
24
- FormLabel: FormLabel,
25
- FormNumberInput: FormNumberInput,
26
- FormSelect: FormSelect,
27
- FormSlider: FormSlider,
28
- FormSubmitButton: FormSubmitButton,
29
- FormTextInput: FormTextInput,
30
- FormNumberInput2: FormNumberInput2
4
+ FormNumberInput: FormNumberInput
31
5
  };