kitchen-simulator 7.0.9-react-18 → 10.0.0

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