kitchen-simulator 1.1.1-test.75 → 1.1.1-test.77

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 (876) hide show
  1. package/README.md +24 -1
  2. package/es/CrossSignOn.js +84 -0
  3. package/es/KitchenConfigurator.js +811 -48
  4. package/es/LiteKitchenConfigurator.js +631 -0
  5. package/es/{KitchenConfiguratorApp.js → LiteRenderer.js} +4 -4
  6. package/es/actions/export.js +4 -2
  7. package/es/actions/holes-actions.js +1 -1
  8. package/es/actions/items-actions.js +1 -1
  9. package/es/actions/lines-actions.js +1 -1
  10. package/es/actions/project-actions.js +1 -1
  11. package/es/actions/scene-actions.js +1 -1
  12. package/es/actions/user-actions.js +58 -0
  13. package/es/actions/vertices-actions.js +1 -1
  14. package/es/actions/viewer2d-actions.js +1 -1
  15. package/es/actions/viewer3d-actions.js +1 -1
  16. package/es/analytics/ga4.js +188 -0
  17. package/es/analytics/posthog.js +60 -0
  18. package/es/assets/Window.hdr +2100 -0
  19. package/es/assets/brown_photostudio_02_1k.hdr +0 -0
  20. package/es/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  21. package/es/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  22. package/es/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  23. package/es/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  24. package/es/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  25. package/es/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  26. package/es/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  27. package/es/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  28. package/es/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  29. package/es/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  30. package/es/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  31. package/es/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  32. package/es/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  33. package/es/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  34. package/es/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  35. package/es/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  36. package/es/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  37. package/es/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  38. package/es/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  39. package/es/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  40. package/es/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  41. package/es/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  42. package/es/assets/fonts/style.css +177 -0
  43. package/es/assets/gltf/door_closet.bin +0 -0
  44. package/es/assets/gltf/door_closet.fbx +0 -0
  45. package/es/assets/gltf/door_closet.gltf +1 -0
  46. package/es/assets/gltf/door_exterior.bin +0 -0
  47. package/es/assets/gltf/door_exterior.fbx +0 -0
  48. package/es/assets/gltf/door_exterior.gltf +1 -0
  49. package/es/assets/gltf/door_interior.bin +0 -0
  50. package/es/assets/gltf/door_interior.fbx +0 -0
  51. package/es/assets/gltf/door_interior.gltf +1 -0
  52. package/es/assets/gltf/door_sliding.bin +0 -0
  53. package/es/assets/gltf/door_sliding.fbx +0 -0
  54. package/es/assets/gltf/door_sliding.gltf +1 -0
  55. package/es/assets/gltf/doorway_framed.bin +0 -0
  56. package/es/assets/gltf/doorway_framed.fbx +0 -0
  57. package/es/assets/gltf/doorway_framed.gltf +1 -0
  58. package/es/assets/gltf/window_clear.bin +0 -0
  59. package/es/assets/gltf/window_clear.fbx +0 -0
  60. package/es/assets/gltf/window_clear.gltf +1 -0
  61. package/es/assets/gltf/window_cross.bin +0 -0
  62. package/es/assets/gltf/window_cross.fbx +0 -0
  63. package/es/assets/gltf/window_cross.gltf +1 -0
  64. package/es/assets/gltf/window_double_hung.bin +0 -0
  65. package/es/assets/gltf/window_double_hung.fbx +0 -0
  66. package/es/assets/gltf/window_double_hung.gltf +1 -0
  67. package/es/assets/gltf/window_vertical.bin +0 -0
  68. package/es/assets/gltf/window_vertical.fbx +0 -0
  69. package/es/assets/gltf/window_vertical.gltf +1 -0
  70. package/es/assets/img/1.jpg +0 -0
  71. package/es/assets/img/TKC_thumbnail.png +0 -0
  72. package/es/assets/img/Toggle.png +0 -0
  73. package/es/assets/img/loading/loading.gif +0 -0
  74. package/es/assets/img/loading/loading_1.svg +11 -0
  75. package/es/assets/img/loading_large.gif +0 -0
  76. package/es/assets/img/png/door/closet.png +0 -0
  77. package/es/assets/img/png/door/doorwaysframed.png +0 -0
  78. package/es/assets/img/png/door/doorwaysframeles.png +0 -0
  79. package/es/assets/img/png/door/doorwaysframeless.png +0 -0
  80. package/es/assets/img/png/door/exterior.png +0 -0
  81. package/es/assets/img/png/door/interior.png +0 -0
  82. package/es/assets/img/png/door/sliding.png +0 -0
  83. package/es/assets/img/png/helper/outcome.png +0 -0
  84. package/es/assets/img/png/helper/video_preview_3d.png +0 -0
  85. package/es/assets/img/png/helper/video_preview_start.png +0 -0
  86. package/es/assets/img/project_img.png +0 -0
  87. package/es/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  88. package/es/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  89. package/es/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  90. package/es/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  91. package/es/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  92. package/es/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  93. package/es/assets/img/rta/rta_logo_box_maroon.png +0 -0
  94. package/es/assets/img/rta/rta_logo_box_white.png +0 -0
  95. package/es/assets/img/rta_menu.png +0 -0
  96. package/es/assets/img/step2.jpg +0 -0
  97. package/es/assets/img/step3.jpg +0 -0
  98. package/es/assets/img/step4.jpg +0 -0
  99. package/es/assets/img/step5.jpg +0 -0
  100. package/es/assets/img/step6.jpg +0 -0
  101. package/es/assets/img/step7.jpg +0 -0
  102. package/es/assets/img/step8.jpg +0 -0
  103. package/es/assets/img/svg/2d_delete_object.svg +33 -0
  104. package/es/assets/img/svg/2d_delete_object1.svg +33 -0
  105. package/es/assets/img/svg/2d_lock_object.svg +33 -0
  106. package/es/assets/img/svg/3d_item_move.svg +106 -0
  107. package/es/assets/img/svg/3d_item_rotation.svg +76 -0
  108. package/es/assets/img/svg/3d_item_warning_edit.svg +77 -0
  109. package/es/assets/img/svg/3d_item_warning_info.svg +81 -0
  110. package/es/assets/img/svg/accessories.svg +4 -0
  111. package/es/assets/img/svg/angle_icon.svg +39 -0
  112. package/es/assets/img/svg/blank_div.svg +14 -0
  113. package/es/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  114. package/es/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  115. package/es/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  116. package/es/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  117. package/es/assets/img/svg/bottombar/arrow-down.svg +3 -0
  118. package/es/assets/img/svg/bottombar/arrow-left.svg +3 -0
  119. package/es/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  120. package/es/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  121. package/es/assets/img/svg/bottombar/arrow-right.svg +3 -0
  122. package/es/assets/img/svg/bottombar/arrow-up.svg +3 -0
  123. package/es/assets/img/svg/bottombar/collapse.svg +3 -0
  124. package/es/assets/img/svg/bottombar/elevation-back.svg +6 -0
  125. package/es/assets/img/svg/bottombar/elevation-front.svg +6 -0
  126. package/es/assets/img/svg/bottombar/elevation-left.svg +6 -0
  127. package/es/assets/img/svg/bottombar/elevation-right.svg +7 -0
  128. package/es/assets/img/svg/bottombar/elevation.svg +6 -0
  129. package/es/assets/img/svg/bottombar/expand.svg +3 -0
  130. package/es/assets/img/svg/bottombar/help.svg +72 -0
  131. package/es/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  132. package/es/assets/img/svg/bottombar/pan_1.svg +57 -0
  133. package/es/assets/img/svg/bottombar/pan_2.svg +27 -0
  134. package/es/assets/img/svg/bottombar/pan_3.svg +27 -0
  135. package/es/assets/img/svg/bottombar/pan_4.svg +27 -0
  136. package/es/assets/img/svg/bottombar/pan_5.svg +27 -0
  137. package/es/assets/img/svg/bottombar/settings.svg +23 -0
  138. package/es/assets/img/svg/bottombar/spin-down.svg +76 -0
  139. package/es/assets/img/svg/bottombar/spin-left.svg +75 -0
  140. package/es/assets/img/svg/bottombar/spin-right.svg +75 -0
  141. package/es/assets/img/svg/bottombar/spin-up.svg +76 -0
  142. package/es/assets/img/svg/bottombar/spin_1.svg +48 -0
  143. package/es/assets/img/svg/bottombar/spin_2.svg +31 -0
  144. package/es/assets/img/svg/bottombar/spin_3.svg +31 -0
  145. package/es/assets/img/svg/bottombar/spin_4.svg +31 -0
  146. package/es/assets/img/svg/bottombar/spin_5.svg +31 -0
  147. package/es/assets/img/svg/bottombar/zoomin.svg +29 -0
  148. package/es/assets/img/svg/bottombar/zoomout.svg +26 -0
  149. package/es/assets/img/svg/check.svg +10 -0
  150. package/es/assets/img/svg/close.svg +11 -0
  151. package/es/assets/img/svg/color/Black.svg +3 -0
  152. package/es/assets/img/svg/color/Blue.svg +3 -0
  153. package/es/assets/img/svg/color/Brown.svg +9 -0
  154. package/es/assets/img/svg/color/Cream.svg +3 -0
  155. package/es/assets/img/svg/color/Dark.svg +9 -0
  156. package/es/assets/img/svg/color/Gray.svg +3 -0
  157. package/es/assets/img/svg/color/Green.svg +3 -0
  158. package/es/assets/img/svg/color/Light.svg +9 -0
  159. package/es/assets/img/svg/color/Medium.svg +9 -0
  160. package/es/assets/img/svg/color/Unfinished.svg +9 -0
  161. package/es/assets/img/svg/color/White.svg +3 -0
  162. package/es/assets/img/svg/color/White.svg.bak +3 -0
  163. package/es/assets/img/svg/color/stone2.jpg +0 -0
  164. package/es/assets/img/svg/color/wood2.jpg +0 -0
  165. package/es/assets/img/svg/copy.svg +11 -0
  166. package/es/assets/img/svg/delete.svg +3 -0
  167. package/es/assets/img/svg/detail.svg +77 -0
  168. package/es/assets/img/svg/disclaimer/background.svg +758 -0
  169. package/es/assets/img/svg/disclaimer/logo-dots.svg +11 -0
  170. package/es/assets/img/svg/door/Closet.svg +11 -0
  171. package/es/assets/img/svg/door/Exterior.svg +5 -0
  172. package/es/assets/img/svg/door/Framed_dorway.svg +5 -0
  173. package/es/assets/img/svg/door/Frameless_dorway.svg +5 -0
  174. package/es/assets/img/svg/door/Interior.svg +7 -0
  175. package/es/assets/img/svg/door/Sliding.svg +5 -0
  176. package/es/assets/img/svg/doors_closet.svg +47 -0
  177. package/es/assets/img/svg/doors_exterior.svg +25 -0
  178. package/es/assets/img/svg/doors_interior.svg +29 -0
  179. package/es/assets/img/svg/doors_patio.svg +26 -0
  180. package/es/assets/img/svg/duplicate.svg +11 -0
  181. package/es/assets/img/svg/duplicate_object_left.svg +32 -0
  182. package/es/assets/img/svg/duplicate_object_right.svg +32 -0
  183. package/es/assets/img/svg/filtersActive.svg +19 -0
  184. package/es/assets/img/svg/firstsetting/L.svg +3 -0
  185. package/es/assets/img/svg/firstsetting/L2.svg +3 -0
  186. package/es/assets/img/svg/firstsetting/Open.svg +3 -0
  187. package/es/assets/img/svg/firstsetting/Square.svg +3 -0
  188. package/es/assets/img/svg/firstsetting/bar-active.svg +9 -0
  189. package/es/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  190. package/es/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  191. package/es/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  192. package/es/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  193. package/es/assets/img/svg/firstsetting/check-active.svg +3 -0
  194. package/es/assets/img/svg/firstsetting/check-normal.svg +3 -0
  195. package/es/assets/img/svg/firstsetting/pencil.svg +11 -0
  196. package/es/assets/img/svg/green_checkmark.svg +27 -0
  197. package/es/assets/img/svg/headerbar/assist.svg +3 -0
  198. package/es/assets/img/svg/headerbar/cart.svg +3 -0
  199. package/es/assets/img/svg/headerbar/check.svg +10 -0
  200. package/es/assets/img/svg/headerbar/consult_designer.svg +45 -0
  201. package/es/assets/img/svg/headerbar/edit_name.svg +26 -0
  202. package/es/assets/img/svg/headerbar/file-dollar.svg +13 -0
  203. package/es/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  204. package/es/assets/img/svg/headerbar/plus.svg +11 -0
  205. package/es/assets/img/svg/headerbar/review_quote.svg +44 -0
  206. package/es/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  207. package/es/assets/img/svg/headerbar/save.svg +3 -0
  208. package/es/assets/img/svg/headerbar/setting.svg +75 -0
  209. package/es/assets/img/svg/help/check.svg +10 -0
  210. package/es/assets/img/svg/help/search.svg +76 -0
  211. package/es/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  212. package/es/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  213. package/es/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  214. package/es/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  215. package/es/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  216. package/es/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  217. package/es/assets/img/svg/invert.svg +127 -0
  218. package/es/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  219. package/es/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  220. package/es/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  221. package/es/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  222. package/es/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  223. package/es/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  224. package/es/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  225. package/es/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  226. package/es/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  227. package/es/assets/img/svg/lefttoolbar/door.svg +12 -0
  228. package/es/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  229. package/es/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  230. package/es/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  231. package/es/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  232. package/es/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  233. package/es/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  234. package/es/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  235. package/es/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  236. package/es/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  237. package/es/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  238. package/es/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  239. package/es/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  240. package/es/assets/img/svg/lefttoolbar/search.svg +76 -0
  241. package/es/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  242. package/es/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  243. package/es/assets/img/svg/lefttoolbar/window.svg +12 -0
  244. package/es/assets/img/svg/menubar/login.svg +84 -0
  245. package/es/assets/img/svg/menubar/my_projects.svg +85 -0
  246. package/es/assets/img/svg/menubar/new_project.svg +110 -0
  247. package/es/assets/img/svg/menubar/save_project.svg +84 -0
  248. package/es/assets/img/svg/options.svg +3 -0
  249. package/es/assets/img/svg/positioning.svg +3 -0
  250. package/es/assets/img/svg/rotate.png +0 -0
  251. package/es/assets/img/svg/rotate.svg +17 -0
  252. package/es/assets/img/svg/rotate_object_clockwise.svg +26 -0
  253. package/es/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  254. package/es/assets/img/svg/toggleFilters.svg +19 -0
  255. package/es/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  256. package/es/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  257. package/es/assets/img/svg/toolbar/add_button.svg +36 -0
  258. package/es/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  259. package/es/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  260. package/es/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  261. package/es/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  262. package/es/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  263. package/es/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  264. package/es/assets/img/svg/toolbar/apply_button.svg +38 -0
  265. package/es/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  266. package/es/assets/img/svg/toolbar/backsplash.svg +8 -0
  267. package/es/assets/img/svg/toolbar/cancel_button.svg +37 -0
  268. package/es/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  269. package/es/assets/img/svg/toolbar/countertop.svg +7 -0
  270. package/es/assets/img/svg/toolbar/dcm.png +0 -0
  271. package/es/assets/img/svg/toolbar/dcm_off.svg +12 -0
  272. package/es/assets/img/svg/toolbar/dcm_on.svg +474 -0
  273. package/es/assets/img/svg/toolbar/delete_button.svg +37 -0
  274. package/es/assets/img/svg/toolbar/download.svg +77 -0
  275. package/es/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  276. package/es/assets/img/svg/toolbar/edit_button.svg +75 -0
  277. package/es/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  278. package/es/assets/img/svg/toolbar/fbm.png +0 -0
  279. package/es/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  280. package/es/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  281. package/es/assets/img/svg/toolbar/floorstyle.svg +9 -0
  282. package/es/assets/img/svg/toolbar/fmb.png +0 -0
  283. package/es/assets/img/svg/toolbar/fmb_off.svg +12 -0
  284. package/es/assets/img/svg/toolbar/fmb_on.svg +489 -0
  285. package/es/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  286. package/es/assets/img/svg/toolbar/get_started_button.svg +41 -0
  287. package/es/assets/img/svg/toolbar/handles.svg +5 -0
  288. package/es/assets/img/svg/toolbar/lighting.svg +7 -0
  289. package/es/assets/img/svg/toolbar/lrm.png +0 -0
  290. package/es/assets/img/svg/toolbar/lrm_off.svg +12 -0
  291. package/es/assets/img/svg/toolbar/lrm_on.svg +470 -0
  292. package/es/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  293. package/es/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  294. package/es/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  295. package/es/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  296. package/es/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  297. package/es/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  298. package/es/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  299. package/es/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  300. package/es/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  301. package/es/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  302. package/es/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  303. package/es/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  304. package/es/assets/img/svg/toolbar/redo_button.svg +75 -0
  305. package/es/assets/img/svg/toolbar/redo_button1.svg +75 -0
  306. package/es/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  307. package/es/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  308. package/es/assets/img/svg/toolbar/save_project_button.svg +44 -0
  309. package/es/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  310. package/es/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  311. package/es/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  312. package/es/assets/img/svg/toolbar/style_change_button.svg +47 -0
  313. package/es/assets/img/svg/toolbar/take_picture.svg +75 -0
  314. package/es/assets/img/svg/toolbar/undo_button.svg +76 -0
  315. package/es/assets/img/svg/toolbar/undo_button1.svg +76 -0
  316. package/es/assets/img/svg/toolbar/use_button.svg +37 -0
  317. package/es/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  318. package/es/assets/img/svg/topbar/edit_active.svg +10 -0
  319. package/es/assets/img/svg/topbar/edit_inactive.svg +10 -0
  320. package/es/assets/img/svg/topbar/redo_active.svg +42 -0
  321. package/es/assets/img/svg/topbar/redo_inactive.svg +23 -0
  322. package/es/assets/img/svg/topbar/select_all_active.svg +50 -0
  323. package/es/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  324. package/es/assets/img/svg/topbar/take_picture_active.svg +51 -0
  325. package/es/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  326. package/es/assets/img/svg/topbar/undo_active.svg +42 -0
  327. package/es/assets/img/svg/topbar/undo_inactive.svg +23 -0
  328. package/es/assets/img/svg/warning_info_2d.svg +81 -0
  329. package/es/assets/img/svg/window/Clear.svg +3 -0
  330. package/es/assets/img/svg/window/Cross.svg +5 -0
  331. package/es/assets/img/svg/window/Double_hung.svg +4 -0
  332. package/es/assets/img/svg/window/Vertical.svg +4 -0
  333. package/es/assets/img/svg/windows_clear.svg +23 -0
  334. package/es/assets/img/svg/windows_cross.svg +28 -0
  335. package/es/assets/img/svg/windows_double_hung.svg +24 -0
  336. package/es/assets/img/svg/windows_vertical.svg +24 -0
  337. package/es/assets/img/svg/wizardstep/Custom.svg +3 -0
  338. package/es/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  339. package/es/assets/img/svg/wizardstep/L.svg +3 -0
  340. package/es/assets/img/svg/wizardstep/L2.svg +3 -0
  341. package/es/assets/img/svg/wizardstep/Open.svg +3 -0
  342. package/es/assets/img/svg/wizardstep/Square.svg +3 -0
  343. package/es/assets/img/svg/wizardstep/bar-active.svg +9 -0
  344. package/es/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  345. package/es/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  346. package/es/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  347. package/es/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  348. package/es/assets/img/svg/wizardstep/check-active.svg +3 -0
  349. package/es/assets/img/svg/wizardstep/check-normal.svg +3 -0
  350. package/es/assets/img/svg/wizardstep/detail_view.svg +87 -0
  351. package/es/assets/img/svg/wizardstep/pencil.svg +11 -0
  352. package/es/assets/img/svg/wizardstep/tile_view.svg +95 -0
  353. package/es/assets/img/texture/glass.jpg +0 -0
  354. package/es/assets/img/texture/steel.jpg +0 -0
  355. package/es/assets/img/texture/white1px.jpg +0 -0
  356. package/es/assets/img/texture/wood.jpg +0 -0
  357. package/es/assets/model/DCM.bin +0 -0
  358. package/es/assets/model/DCM.fbx +0 -0
  359. package/es/assets/model/DCM.gltf +1 -0
  360. package/es/assets/model/FBM.bin +0 -0
  361. package/es/assets/model/FBM.fbx +0 -0
  362. package/es/assets/model/FBM.gltf +1 -0
  363. package/es/assets/model/LRM.bin +0 -0
  364. package/es/assets/model/LRM.fbx +0 -0
  365. package/es/assets/model/LRM.gltf +1 -0
  366. package/es/assets/rtastore_logo.png +0 -0
  367. package/es/catalog/areas/area/planner-element.js +8 -11
  368. package/es/catalog/back.png +0 -0
  369. package/es/catalog/doors.png +0 -0
  370. package/es/catalog/doorways.png +0 -0
  371. package/es/catalog/export.js +0 -0
  372. package/es/catalog/factories/wall-factory.js +1 -2
  373. package/es/catalog/lines/wall/planner-element.js +11 -14
  374. package/es/catalog/molding/molding-dcm/planner-element.js +0 -2
  375. package/es/catalog/molding/molding-fbm/planner-element.js +0 -2
  376. package/es/catalog/molding/molding-lrm/planner-element.js +0 -2
  377. package/es/catalog/properties/property-checkbox.js +18 -63
  378. package/es/catalog/properties/property-enum.js +9 -51
  379. package/es/catalog/properties/property-lenght-measure.js +1 -1
  380. package/es/catalog/properties/property-length-measure.js +6 -50
  381. package/es/catalog/utils/item-loader.js +1 -2
  382. package/es/catalog/utils/mtl-loader.js +2 -3
  383. package/es/catalog/utils/obj-loader.js +2 -3
  384. package/es/catalog/windows.png +0 -0
  385. package/es/class/area.js +1 -1
  386. package/es/class/group.js +3 -3
  387. package/es/class/hole.js +6 -5
  388. package/es/class/item.js +8 -3
  389. package/es/class/layer.js +2 -2
  390. package/es/class/line.js +87 -52
  391. package/es/class/project.js +8 -6
  392. package/es/class/vertex.js +1 -1
  393. package/es/components/content.js +16 -1
  394. package/es/components/style/form-number-input.js +7 -31
  395. package/es/components/style/form-select.js +8 -48
  396. package/es/components/style/form-text-input.js +12 -31
  397. package/es/components/viewer2d/area.js +1 -1
  398. package/es/components/viewer2d/line.js +13 -3
  399. package/es/components/viewer2d/scene.js +2 -2
  400. package/es/components/viewer2d/utils.js +0 -6
  401. package/es/components/viewer2d/viewer2d.js +33 -20
  402. package/es/components/viewer3d/libs/mtl-loader.js +2 -2
  403. package/es/components/viewer3d/libs/obj-loader.js +2 -2
  404. package/es/components/viewer3d/libs/orbit-controls.js +5 -6
  405. package/es/components/viewer3d/libs/pointer-lock-controls.js +4 -5
  406. package/es/components/viewer3d/ruler-utils/scene3D.js +0 -1
  407. package/es/components/viewer3d/scene-creator.js +22 -7
  408. package/es/components/viewer3d/viewer3d.js +279 -180
  409. package/es/devLiteRenderer.js +44 -0
  410. package/es/index.js +2 -2
  411. package/es/models.js +1 -2
  412. package/es/plugins/export.js +1 -3
  413. package/es/plugins/keyboard.js +2 -2
  414. package/es/reducers/holes-reducer.js +1 -1
  415. package/es/reducers/items-reducer.js +5 -2
  416. package/es/reducers/lines-reducer.js +1 -1
  417. package/es/reducers/project-reducer.js +1 -1
  418. package/es/reducers/reducer.js +2 -2
  419. package/es/reducers/scene-reducer.js +1 -1
  420. package/es/reducers/user-reducer.js +2 -1
  421. package/es/reducers/vertices-reducer.js +1 -1
  422. package/es/renderer.js +474 -0
  423. package/es/utils/geometry.js +61 -26
  424. package/es/utils/get-edges-of-subgraphs.js +1 -2
  425. package/es/utils/graph-cycles.js +3 -2
  426. package/es/utils/graph.js +1 -2
  427. package/es/utils/helper.js +68 -0
  428. package/es/version.js +1 -2
  429. package/lib/CrossSignOn.js +93 -0
  430. package/lib/KitchenConfigurator.js +817 -54
  431. package/lib/LiteKitchenConfigurator.js +641 -0
  432. package/lib/{KitchenConfiguratorApp.js → LiteRenderer.js} +5 -5
  433. package/lib/actions/export.js +5 -2
  434. package/lib/actions/user-actions.js +68 -0
  435. package/lib/analytics/ga4.js +194 -0
  436. package/lib/analytics/posthog.js +68 -0
  437. package/lib/assets/Window.hdr +2100 -0
  438. package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
  439. package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  440. package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  441. package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  442. package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  443. package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  444. package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  445. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  446. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  447. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  448. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  449. package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  450. package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  451. package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  452. package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  453. package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  454. package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  455. package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  456. package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  457. package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  458. package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  459. package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  460. package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  461. package/lib/assets/fonts/style.css +177 -0
  462. package/lib/assets/gltf/door_closet.bin +0 -0
  463. package/lib/assets/gltf/door_closet.fbx +0 -0
  464. package/lib/assets/gltf/door_closet.gltf +1 -0
  465. package/lib/assets/gltf/door_exterior.bin +0 -0
  466. package/lib/assets/gltf/door_exterior.fbx +0 -0
  467. package/lib/assets/gltf/door_exterior.gltf +1 -0
  468. package/lib/assets/gltf/door_interior.bin +0 -0
  469. package/lib/assets/gltf/door_interior.fbx +0 -0
  470. package/lib/assets/gltf/door_interior.gltf +1 -0
  471. package/lib/assets/gltf/door_sliding.bin +0 -0
  472. package/lib/assets/gltf/door_sliding.fbx +0 -0
  473. package/lib/assets/gltf/door_sliding.gltf +1 -0
  474. package/lib/assets/gltf/doorway_framed.bin +0 -0
  475. package/lib/assets/gltf/doorway_framed.fbx +0 -0
  476. package/lib/assets/gltf/doorway_framed.gltf +1 -0
  477. package/lib/assets/gltf/window_clear.bin +0 -0
  478. package/lib/assets/gltf/window_clear.fbx +0 -0
  479. package/lib/assets/gltf/window_clear.gltf +1 -0
  480. package/lib/assets/gltf/window_cross.bin +0 -0
  481. package/lib/assets/gltf/window_cross.fbx +0 -0
  482. package/lib/assets/gltf/window_cross.gltf +1 -0
  483. package/lib/assets/gltf/window_double_hung.bin +0 -0
  484. package/lib/assets/gltf/window_double_hung.fbx +0 -0
  485. package/lib/assets/gltf/window_double_hung.gltf +1 -0
  486. package/lib/assets/gltf/window_vertical.bin +0 -0
  487. package/lib/assets/gltf/window_vertical.fbx +0 -0
  488. package/lib/assets/gltf/window_vertical.gltf +1 -0
  489. package/lib/assets/img/1.jpg +0 -0
  490. package/lib/assets/img/TKC_thumbnail.png +0 -0
  491. package/lib/assets/img/Toggle.png +0 -0
  492. package/lib/assets/img/loading/loading.gif +0 -0
  493. package/lib/assets/img/loading/loading_1.svg +11 -0
  494. package/lib/assets/img/loading_large.gif +0 -0
  495. package/lib/assets/img/png/door/closet.png +0 -0
  496. package/lib/assets/img/png/door/doorwaysframed.png +0 -0
  497. package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
  498. package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
  499. package/lib/assets/img/png/door/exterior.png +0 -0
  500. package/lib/assets/img/png/door/interior.png +0 -0
  501. package/lib/assets/img/png/door/sliding.png +0 -0
  502. package/lib/assets/img/png/helper/outcome.png +0 -0
  503. package/lib/assets/img/png/helper/video_preview_3d.png +0 -0
  504. package/lib/assets/img/png/helper/video_preview_start.png +0 -0
  505. package/lib/assets/img/project_img.png +0 -0
  506. package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  507. package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  508. package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  509. package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  510. package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  511. package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  512. package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
  513. package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
  514. package/lib/assets/img/rta_menu.png +0 -0
  515. package/lib/assets/img/step2.jpg +0 -0
  516. package/lib/assets/img/step3.jpg +0 -0
  517. package/lib/assets/img/step4.jpg +0 -0
  518. package/lib/assets/img/step5.jpg +0 -0
  519. package/lib/assets/img/step6.jpg +0 -0
  520. package/lib/assets/img/step7.jpg +0 -0
  521. package/lib/assets/img/step8.jpg +0 -0
  522. package/lib/assets/img/svg/2d_delete_object.svg +33 -0
  523. package/lib/assets/img/svg/2d_delete_object1.svg +33 -0
  524. package/lib/assets/img/svg/2d_lock_object.svg +33 -0
  525. package/lib/assets/img/svg/3d_item_move.svg +106 -0
  526. package/lib/assets/img/svg/3d_item_rotation.svg +76 -0
  527. package/lib/assets/img/svg/3d_item_warning_edit.svg +77 -0
  528. package/lib/assets/img/svg/3d_item_warning_info.svg +81 -0
  529. package/lib/assets/img/svg/accessories.svg +4 -0
  530. package/lib/assets/img/svg/angle_icon.svg +39 -0
  531. package/lib/assets/img/svg/blank_div.svg +14 -0
  532. package/lib/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  533. package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  534. package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  535. package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  536. package/lib/assets/img/svg/bottombar/arrow-down.svg +3 -0
  537. package/lib/assets/img/svg/bottombar/arrow-left.svg +3 -0
  538. package/lib/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  539. package/lib/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  540. package/lib/assets/img/svg/bottombar/arrow-right.svg +3 -0
  541. package/lib/assets/img/svg/bottombar/arrow-up.svg +3 -0
  542. package/lib/assets/img/svg/bottombar/collapse.svg +3 -0
  543. package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -0
  544. package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -0
  545. package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -0
  546. package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -0
  547. package/lib/assets/img/svg/bottombar/elevation.svg +6 -0
  548. package/lib/assets/img/svg/bottombar/expand.svg +3 -0
  549. package/lib/assets/img/svg/bottombar/help.svg +72 -0
  550. package/lib/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  551. package/lib/assets/img/svg/bottombar/pan_1.svg +57 -0
  552. package/lib/assets/img/svg/bottombar/pan_2.svg +27 -0
  553. package/lib/assets/img/svg/bottombar/pan_3.svg +27 -0
  554. package/lib/assets/img/svg/bottombar/pan_4.svg +27 -0
  555. package/lib/assets/img/svg/bottombar/pan_5.svg +27 -0
  556. package/lib/assets/img/svg/bottombar/settings.svg +23 -0
  557. package/lib/assets/img/svg/bottombar/spin-down.svg +76 -0
  558. package/lib/assets/img/svg/bottombar/spin-left.svg +75 -0
  559. package/lib/assets/img/svg/bottombar/spin-right.svg +75 -0
  560. package/lib/assets/img/svg/bottombar/spin-up.svg +76 -0
  561. package/lib/assets/img/svg/bottombar/spin_1.svg +48 -0
  562. package/lib/assets/img/svg/bottombar/spin_2.svg +31 -0
  563. package/lib/assets/img/svg/bottombar/spin_3.svg +31 -0
  564. package/lib/assets/img/svg/bottombar/spin_4.svg +31 -0
  565. package/lib/assets/img/svg/bottombar/spin_5.svg +31 -0
  566. package/lib/assets/img/svg/bottombar/zoomin.svg +29 -0
  567. package/lib/assets/img/svg/bottombar/zoomout.svg +26 -0
  568. package/lib/assets/img/svg/check.svg +10 -0
  569. package/lib/assets/img/svg/close.svg +11 -0
  570. package/lib/assets/img/svg/color/Black.svg +3 -0
  571. package/lib/assets/img/svg/color/Blue.svg +3 -0
  572. package/lib/assets/img/svg/color/Brown.svg +9 -0
  573. package/lib/assets/img/svg/color/Cream.svg +3 -0
  574. package/lib/assets/img/svg/color/Dark.svg +9 -0
  575. package/lib/assets/img/svg/color/Gray.svg +3 -0
  576. package/lib/assets/img/svg/color/Green.svg +3 -0
  577. package/lib/assets/img/svg/color/Light.svg +9 -0
  578. package/lib/assets/img/svg/color/Medium.svg +9 -0
  579. package/lib/assets/img/svg/color/Unfinished.svg +9 -0
  580. package/lib/assets/img/svg/color/White.svg +3 -0
  581. package/lib/assets/img/svg/color/White.svg.bak +3 -0
  582. package/lib/assets/img/svg/color/stone2.jpg +0 -0
  583. package/lib/assets/img/svg/color/wood2.jpg +0 -0
  584. package/lib/assets/img/svg/copy.svg +11 -0
  585. package/lib/assets/img/svg/delete.svg +3 -0
  586. package/lib/assets/img/svg/detail.svg +77 -0
  587. package/lib/assets/img/svg/disclaimer/background.svg +758 -0
  588. package/lib/assets/img/svg/disclaimer/logo-dots.svg +11 -0
  589. package/lib/assets/img/svg/door/Closet.svg +11 -0
  590. package/lib/assets/img/svg/door/Exterior.svg +5 -0
  591. package/lib/assets/img/svg/door/Framed_dorway.svg +5 -0
  592. package/lib/assets/img/svg/door/Frameless_dorway.svg +5 -0
  593. package/lib/assets/img/svg/door/Interior.svg +7 -0
  594. package/lib/assets/img/svg/door/Sliding.svg +5 -0
  595. package/lib/assets/img/svg/doors_closet.svg +47 -0
  596. package/lib/assets/img/svg/doors_exterior.svg +25 -0
  597. package/lib/assets/img/svg/doors_interior.svg +29 -0
  598. package/lib/assets/img/svg/doors_patio.svg +26 -0
  599. package/lib/assets/img/svg/duplicate.svg +11 -0
  600. package/lib/assets/img/svg/duplicate_object_left.svg +32 -0
  601. package/lib/assets/img/svg/duplicate_object_right.svg +32 -0
  602. package/lib/assets/img/svg/filtersActive.svg +19 -0
  603. package/lib/assets/img/svg/firstsetting/L.svg +3 -0
  604. package/lib/assets/img/svg/firstsetting/L2.svg +3 -0
  605. package/lib/assets/img/svg/firstsetting/Open.svg +3 -0
  606. package/lib/assets/img/svg/firstsetting/Square.svg +3 -0
  607. package/lib/assets/img/svg/firstsetting/bar-active.svg +9 -0
  608. package/lib/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  609. package/lib/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  610. package/lib/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  611. package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  612. package/lib/assets/img/svg/firstsetting/check-active.svg +3 -0
  613. package/lib/assets/img/svg/firstsetting/check-normal.svg +3 -0
  614. package/lib/assets/img/svg/firstsetting/pencil.svg +11 -0
  615. package/lib/assets/img/svg/green_checkmark.svg +27 -0
  616. package/lib/assets/img/svg/headerbar/assist.svg +3 -0
  617. package/lib/assets/img/svg/headerbar/cart.svg +3 -0
  618. package/lib/assets/img/svg/headerbar/check.svg +10 -0
  619. package/lib/assets/img/svg/headerbar/consult_designer.svg +45 -0
  620. package/lib/assets/img/svg/headerbar/edit_name.svg +26 -0
  621. package/lib/assets/img/svg/headerbar/file-dollar.svg +13 -0
  622. package/lib/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  623. package/lib/assets/img/svg/headerbar/plus.svg +11 -0
  624. package/lib/assets/img/svg/headerbar/review_quote.svg +44 -0
  625. package/lib/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  626. package/lib/assets/img/svg/headerbar/save.svg +3 -0
  627. package/lib/assets/img/svg/headerbar/setting.svg +75 -0
  628. package/lib/assets/img/svg/help/check.svg +10 -0
  629. package/lib/assets/img/svg/help/search.svg +76 -0
  630. package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  631. package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  632. package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  633. package/lib/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  634. package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  635. package/lib/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  636. package/lib/assets/img/svg/invert.svg +127 -0
  637. package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  638. package/lib/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  639. package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  640. package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  641. package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  642. package/lib/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  643. package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  644. package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  645. package/lib/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  646. package/lib/assets/img/svg/lefttoolbar/door.svg +12 -0
  647. package/lib/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  648. package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  649. package/lib/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  650. package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  651. package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  652. package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  653. package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  654. package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  655. package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  656. package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  657. package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  658. package/lib/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  659. package/lib/assets/img/svg/lefttoolbar/search.svg +76 -0
  660. package/lib/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  661. package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  662. package/lib/assets/img/svg/lefttoolbar/window.svg +12 -0
  663. package/lib/assets/img/svg/menubar/login.svg +84 -0
  664. package/lib/assets/img/svg/menubar/my_projects.svg +85 -0
  665. package/lib/assets/img/svg/menubar/new_project.svg +110 -0
  666. package/lib/assets/img/svg/menubar/save_project.svg +84 -0
  667. package/lib/assets/img/svg/options.svg +3 -0
  668. package/lib/assets/img/svg/positioning.svg +3 -0
  669. package/lib/assets/img/svg/rotate.png +0 -0
  670. package/lib/assets/img/svg/rotate.svg +17 -0
  671. package/lib/assets/img/svg/rotate_object_clockwise.svg +26 -0
  672. package/lib/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  673. package/lib/assets/img/svg/toggleFilters.svg +19 -0
  674. package/lib/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  675. package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  676. package/lib/assets/img/svg/toolbar/add_button.svg +36 -0
  677. package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  678. package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  679. package/lib/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  680. package/lib/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  681. package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  682. package/lib/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  683. package/lib/assets/img/svg/toolbar/apply_button.svg +38 -0
  684. package/lib/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  685. package/lib/assets/img/svg/toolbar/backsplash.svg +8 -0
  686. package/lib/assets/img/svg/toolbar/cancel_button.svg +37 -0
  687. package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  688. package/lib/assets/img/svg/toolbar/countertop.svg +7 -0
  689. package/lib/assets/img/svg/toolbar/dcm.png +0 -0
  690. package/lib/assets/img/svg/toolbar/dcm_off.svg +12 -0
  691. package/lib/assets/img/svg/toolbar/dcm_on.svg +474 -0
  692. package/lib/assets/img/svg/toolbar/delete_button.svg +37 -0
  693. package/lib/assets/img/svg/toolbar/download.svg +77 -0
  694. package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  695. package/lib/assets/img/svg/toolbar/edit_button.svg +75 -0
  696. package/lib/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  697. package/lib/assets/img/svg/toolbar/fbm.png +0 -0
  698. package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  699. package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  700. package/lib/assets/img/svg/toolbar/floorstyle.svg +9 -0
  701. package/lib/assets/img/svg/toolbar/fmb.png +0 -0
  702. package/lib/assets/img/svg/toolbar/fmb_off.svg +12 -0
  703. package/lib/assets/img/svg/toolbar/fmb_on.svg +489 -0
  704. package/lib/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  705. package/lib/assets/img/svg/toolbar/get_started_button.svg +41 -0
  706. package/lib/assets/img/svg/toolbar/handles.svg +5 -0
  707. package/lib/assets/img/svg/toolbar/lighting.svg +7 -0
  708. package/lib/assets/img/svg/toolbar/lrm.png +0 -0
  709. package/lib/assets/img/svg/toolbar/lrm_off.svg +12 -0
  710. package/lib/assets/img/svg/toolbar/lrm_on.svg +470 -0
  711. package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  712. package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  713. package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  714. package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  715. package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  716. package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  717. package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  718. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  719. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  720. package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  721. package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  722. package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  723. package/lib/assets/img/svg/toolbar/redo_button.svg +75 -0
  724. package/lib/assets/img/svg/toolbar/redo_button1.svg +75 -0
  725. package/lib/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  726. package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  727. package/lib/assets/img/svg/toolbar/save_project_button.svg +44 -0
  728. package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  729. package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  730. package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  731. package/lib/assets/img/svg/toolbar/style_change_button.svg +47 -0
  732. package/lib/assets/img/svg/toolbar/take_picture.svg +75 -0
  733. package/lib/assets/img/svg/toolbar/undo_button.svg +76 -0
  734. package/lib/assets/img/svg/toolbar/undo_button1.svg +76 -0
  735. package/lib/assets/img/svg/toolbar/use_button.svg +37 -0
  736. package/lib/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  737. package/lib/assets/img/svg/topbar/edit_active.svg +10 -0
  738. package/lib/assets/img/svg/topbar/edit_inactive.svg +10 -0
  739. package/lib/assets/img/svg/topbar/redo_active.svg +42 -0
  740. package/lib/assets/img/svg/topbar/redo_inactive.svg +23 -0
  741. package/lib/assets/img/svg/topbar/select_all_active.svg +50 -0
  742. package/lib/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  743. package/lib/assets/img/svg/topbar/take_picture_active.svg +51 -0
  744. package/lib/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  745. package/lib/assets/img/svg/topbar/undo_active.svg +42 -0
  746. package/lib/assets/img/svg/topbar/undo_inactive.svg +23 -0
  747. package/lib/assets/img/svg/warning_info_2d.svg +81 -0
  748. package/lib/assets/img/svg/window/Clear.svg +3 -0
  749. package/lib/assets/img/svg/window/Cross.svg +5 -0
  750. package/lib/assets/img/svg/window/Double_hung.svg +4 -0
  751. package/lib/assets/img/svg/window/Vertical.svg +4 -0
  752. package/lib/assets/img/svg/windows_clear.svg +23 -0
  753. package/lib/assets/img/svg/windows_cross.svg +28 -0
  754. package/lib/assets/img/svg/windows_double_hung.svg +24 -0
  755. package/lib/assets/img/svg/windows_vertical.svg +24 -0
  756. package/lib/assets/img/svg/wizardstep/Custom.svg +3 -0
  757. package/lib/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  758. package/lib/assets/img/svg/wizardstep/L.svg +3 -0
  759. package/lib/assets/img/svg/wizardstep/L2.svg +3 -0
  760. package/lib/assets/img/svg/wizardstep/Open.svg +3 -0
  761. package/lib/assets/img/svg/wizardstep/Square.svg +3 -0
  762. package/lib/assets/img/svg/wizardstep/bar-active.svg +9 -0
  763. package/lib/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  764. package/lib/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  765. package/lib/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  766. package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  767. package/lib/assets/img/svg/wizardstep/check-active.svg +3 -0
  768. package/lib/assets/img/svg/wizardstep/check-normal.svg +3 -0
  769. package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -0
  770. package/lib/assets/img/svg/wizardstep/pencil.svg +11 -0
  771. package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -0
  772. package/lib/assets/img/texture/glass.jpg +0 -0
  773. package/lib/assets/img/texture/steel.jpg +0 -0
  774. package/lib/assets/img/texture/white1px.jpg +0 -0
  775. package/lib/assets/img/texture/wood.jpg +0 -0
  776. package/lib/assets/model/DCM.bin +0 -0
  777. package/lib/assets/model/DCM.fbx +0 -0
  778. package/lib/assets/model/DCM.gltf +1 -0
  779. package/lib/assets/model/FBM.bin +0 -0
  780. package/lib/assets/model/FBM.fbx +0 -0
  781. package/lib/assets/model/FBM.gltf +1 -0
  782. package/lib/assets/model/LRM.bin +0 -0
  783. package/lib/assets/model/LRM.fbx +0 -0
  784. package/lib/assets/model/LRM.gltf +1 -0
  785. package/lib/assets/rtastore_logo.png +0 -0
  786. package/lib/catalog/areas/area/planner-element.js +8 -12
  787. package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  788. package/lib/catalog/areas/area/textures/grass.jpg +0 -0
  789. package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
  790. package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  791. package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
  792. package/lib/catalog/back.png +0 -0
  793. package/lib/catalog/doors.png +0 -0
  794. package/lib/catalog/doorways.png +0 -0
  795. package/lib/catalog/envMap/nx.hdr +0 -0
  796. package/lib/catalog/envMap/ny.hdr +0 -0
  797. package/lib/catalog/envMap/nz.hdr +0 -0
  798. package/lib/catalog/envMap/px.hdr +0 -0
  799. package/lib/catalog/envMap/py.hdr +0 -0
  800. package/lib/catalog/envMap/pz.hdr +0 -0
  801. package/lib/catalog/export.js +1 -0
  802. package/lib/catalog/holes/door-double/door_double.png +0 -0
  803. package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
  804. package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  805. package/lib/catalog/holes/gate/gate.jpg +0 -0
  806. package/lib/catalog/holes/window-clear/texture.png +0 -0
  807. package/lib/catalog/holes/window-cross/texture.png +0 -0
  808. package/lib/catalog/holes/window-double-hung/texture.png +0 -0
  809. package/lib/catalog/holes/window-vertical/texture.png +0 -0
  810. package/lib/catalog/lines/wall/planner-element.js +11 -15
  811. package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  812. package/lib/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
  813. package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
  814. package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
  815. package/lib/catalog/lines/wall/textures/bricks3.jpg +0 -0
  816. package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  817. package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
  818. package/lib/catalog/lines/wall/textures/painted-normal.jpg +0 -0
  819. package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
  820. package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  821. package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
  822. package/lib/catalog/lines/wall/wall.png +0 -0
  823. package/lib/catalog/molding/molding-dcm/planner-element.js +0 -5
  824. package/lib/catalog/molding/molding-dcm/texture.png +0 -0
  825. package/lib/catalog/molding/molding-fbm/planner-element.js +0 -5
  826. package/lib/catalog/molding/molding-fbm/texture.png +0 -0
  827. package/lib/catalog/molding/molding-lrm/planner-element.js +0 -5
  828. package/lib/catalog/molding/molding-lrm/texture.png +0 -0
  829. package/lib/catalog/properties/property-checkbox.js +18 -63
  830. package/lib/catalog/properties/property-enum.js +7 -49
  831. package/lib/catalog/properties/property-lenght-measure.js +1 -1
  832. package/lib/catalog/properties/property-length-measure.js +6 -50
  833. package/lib/catalog/utils/item-loader.js +1 -0
  834. package/lib/catalog/utils/mtl-loader.js +3 -7
  835. package/lib/catalog/utils/obj-loader.js +3 -7
  836. package/lib/catalog/windows.png +0 -0
  837. package/lib/class/item.js +8 -3
  838. package/lib/class/line.js +87 -52
  839. package/lib/class/project.js +4 -2
  840. package/lib/class/vertex.js +1 -1
  841. package/lib/components/content.js +16 -1
  842. package/lib/components/style/form-number-input.js +6 -30
  843. package/lib/components/style/form-select.js +9 -47
  844. package/lib/components/style/form-text-input.js +11 -30
  845. package/lib/components/viewer2d/area.js +1 -1
  846. package/lib/components/viewer2d/line.js +13 -3
  847. package/lib/components/viewer2d/scene.js +1 -1
  848. package/lib/components/viewer2d/utils.js +0 -6
  849. package/lib/components/viewer2d/viewer2d.js +32 -19
  850. package/lib/components/viewer3d/libs/mtl-loader.js +2 -7
  851. package/lib/components/viewer3d/libs/obj-loader.js +2 -7
  852. package/lib/components/viewer3d/libs/orbit-controls.js +5 -10
  853. package/lib/components/viewer3d/libs/pointer-lock-controls.js +4 -9
  854. package/lib/components/viewer3d/ruler-utils/scene3D.js +0 -1
  855. package/lib/components/viewer3d/scene-creator.js +22 -7
  856. package/lib/components/viewer3d/viewer3d.js +279 -180
  857. package/lib/devLiteRenderer.js +46 -0
  858. package/lib/index.js +2 -2
  859. package/lib/models.js +2 -3
  860. package/lib/plugins/export.js +0 -8
  861. package/lib/reducers/user-reducer.js +1 -0
  862. package/lib/renderer.js +478 -0
  863. package/lib/styles/tabs.css +40 -0
  864. package/lib/utils/geometry.js +63 -26
  865. package/lib/utils/get-edges-of-subgraphs.js +1 -7
  866. package/lib/utils/graph-cycles.js +9 -9
  867. package/lib/utils/graph.js +3 -9
  868. package/lib/utils/helper.js +69 -1
  869. package/lib/version.js +1 -2
  870. package/package.json +30 -11
  871. package/es/components/disclaimer/disclaimer.js +0 -97
  872. package/es/components/export.js +0 -9
  873. package/es/plugins/autosave.js +0 -33
  874. package/lib/components/disclaimer/disclaimer.js +0 -106
  875. package/lib/components/export.js +0 -33
  876. package/lib/plugins/autosave.js +0 -40
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
3
4
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
5
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
5
6
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
@@ -10,38 +11,68 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
10
11
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
11
12
  var _excluded = ["width", "height", "state", "stateExtractor"];
12
13
  import _regeneratorRuntime from "@babel/runtime/regenerator";
14
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
15
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
16
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
19
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
16
20
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
17
21
  import axios from 'axios';
18
22
  import { convert } from "./utils/convert-units-lite";
19
- import { Autosave } from "./plugins/export";
20
23
  import PropTypes from 'prop-types';
21
24
  import React, { Component } from 'react';
25
+ import { hotjar } from 'react-hotjar';
22
26
  import { connect } from 'react-redux';
23
27
  import { bindActionCreators } from 'redux';
28
+ import SnackBar from "./components/atoms/Snackbar";
29
+ import AutosavePromptPopup from "./components/toolbar/popup/autosaveprompt";
30
+ import DownloadSummaryPopup from "./components/toolbar/popup/downloadsummary";
31
+ import NewProjectPopup from "./components/toolbar/popup/newproject";
32
+ import SaveDesignPopup from "./components/toolbar/popup/savedesign";
33
+ import SubmitForQuotePopup from "./components/toolbar/popup/submitforquote";
24
34
  import * as constants from "./constants";
25
- import { base64Decode } from "./utils/helper";
35
+ import { API_SERVER_URL, CLIENTS_NAME, DEFAULT_FONT_FAMILY, LOCAL_STORAGE_CART_ACTION, LOCAL_STORAGE_ORIGINAL_TOKEN, LOCAL_STORAGE_TOKEN_NAME, LOCAL_STORAGE_TOKEN_VALUE, MODE, PRIMARY_GREEN_COLOR } from "./constants";
36
+ import _ from 'lodash';
37
+ import { base64Decode, getPath } from "./utils/helper";
38
+ import { isEmpty } from "./components/viewer2d/utils";
26
39
  import actions from "./actions/export";
27
40
  import Catalog from "./catalog/catalog";
28
- import { Content } from "./components/export";
41
+ import { Project } from "./class/export";
42
+ import { Content, FooterBarComponents, HeaderComponents, MyProjectsComonents, SignComponents, ToolbarComponents, WizardStepComponents } from "./components/export";
43
+ import jwtService from "./components/login/jwtService";
44
+ import SubmitPromptPopup from "./components/toolbar/popup/submitprompt/index";
45
+ import "./styles/export";
29
46
  import Translator from "./translator/translator";
30
47
  import { objectsMap } from "./utils/objects-utils";
31
48
  import { VERSION } from "./version";
49
+ import ls from 'localstorage-slim';
50
+ import { GA } from "./analytics/ga4";
51
+ import { summarizeItems } from "./utils/summarizeCart";
52
+ import { PH } from "./analytics/posthog";
53
+ var Header = HeaderComponents.Header;
54
+ var Toolbar = ToolbarComponents.Toolbar;
55
+ var FooterBar = FooterBarComponents.FooterBar;
56
+ var WizardStep = WizardStepComponents.WizardStep;
57
+ var Sign = SignComponents.Sign;
58
+ var MyProjects = MyProjectsComonents.MyProjects;
32
59
  var toolbarW = 0;
33
60
  var wrapperStyle = {
34
61
  display: 'flex',
35
62
  flexFlow: 'row nowrap'
36
63
  };
64
+ var saveAlert = '';
37
65
  var KitchenConfigurator = /*#__PURE__*/function (_Component) {
38
66
  function KitchenConfigurator(props) {
39
- var _utmRequestData2, _utmRequestData3, _utmRequestData4, _utmRequestData5, _utmRequestData6, _utmRequestData7, _utmRequestData8, _utmRequestData9, _utmRequestData0;
67
+ var _this$props$match, _this$props$match2, _this$props$match3, _utmRequestData2, _utmRequestData3, _utmRequestData4, _utmRequestData5, _utmRequestData6, _utmRequestData7, _utmRequestData8, _utmRequestData9, _utmRequestData0;
40
68
  var _this;
41
69
  _classCallCheck(this, KitchenConfigurator);
42
70
  _this = _callSuper(this, KitchenConfigurator, [props]);
43
-
44
- // utm tracking
71
+ _defineProperty(_this, "debouncedSetIsSaved", _.debounce(function () {
72
+ return _this.setState({
73
+ isSaved: false
74
+ });
75
+ }, 200));
45
76
  _defineProperty(_this, "handleBeforeUnload", function (e) {
46
77
  var areas = _this.props.stateExtractor(_this.props.state).getIn(['scene', 'layers', _this.props.stateExtractor(_this.props.state).scene.selectedLayer, 'areas']);
47
78
  if (!_this.state.isSaved && areas.size > 0) {
@@ -87,7 +118,6 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
87
118
  myProjectsOpen: false,
88
119
  myProjectsToLogin: false,
89
120
  downloadPopupVisible: false,
90
- // For Toolbar Item
91
121
  toolbar: '',
92
122
  reviewQuotePopupOpened: false,
93
123
  floorOpened: false,
@@ -95,18 +125,16 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
95
125
  applianceOpened: false,
96
126
  finishingOpened: false,
97
127
  doorStyleOpen: false,
98
- wizardStepOpend: false,
128
+ wizardStepOpend: ((_this$props$match = _this.props.match) === null || _this$props$match === void 0 || (_this$props$match = _this$props$match.params) === null || _this$props$match === void 0 ? void 0 : _this$props$match.pid) === undefined || ((_this$props$match2 = _this.props.match) === null || _this$props$match2 === void 0 || (_this$props$match2 = _this$props$match2.params) === null || _this$props$match2 === void 0 ? void 0 : _this$props$match2.pid) === 'null' ? true : false,
99
129
  tutorialMouseEventsAdd: false,
100
130
  replaceCabinetFlag: false,
101
131
  isSnackBarOpen: false,
102
132
  isSnackBar1Open: false,
103
133
  redirectURL: '',
104
134
  snackBarMessage: '',
105
- isSaved: false,
135
+ isSaved: !!((_this$props$match3 = _this.props.match) !== null && _this$props$match3 !== void 0 && (_this$props$match3 = _this$props$match3.params) !== null && _this$props$match3 !== void 0 && _this$props$match3.token),
106
136
  isLeaving: false
107
137
  };
108
-
109
- // For UTM tracking
110
138
  _this.utm = {
111
139
  utm_source: ((_utmRequestData2 = utmRequestData) === null || _utmRequestData2 === void 0 ? void 0 : _utmRequestData2.source) || 'source',
112
140
  utm_medium: ((_utmRequestData3 = utmRequestData) === null || _utmRequestData3 === void 0 ? void 0 : _utmRequestData3.medium) || 'medium',
@@ -118,6 +146,7 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
118
146
  fbclid: ((_utmRequestData9 = utmRequestData) === null || _utmRequestData9 === void 0 ? void 0 : _utmRequestData9.fbclid) || 'fbclid',
119
147
  ttclid: ((_utmRequestData0 = utmRequestData) === null || _utmRequestData0 === void 0 ? void 0 : _utmRequestData0.ttclid) || 'ttclid'
120
148
  };
149
+ _this.jwtCheck();
121
150
  _this.openFloor = _this.openFloor.bind(_this);
122
151
  _this.openCabinet = _this.openCabinet.bind(_this);
123
152
  _this.openFinishing = _this.openFinishing.bind(_this);
@@ -139,8 +168,6 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
139
168
  _this.setShowProperty = _this.setShowProperty.bind(_this);
140
169
  return _this;
141
170
  }
142
-
143
- // Toolbar control functions
144
171
  _inherits(KitchenConfigurator, _Component);
145
172
  return _createClass(KitchenConfigurator, [{
146
173
  key: "setToolbar",
@@ -320,12 +347,42 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
320
347
  this.setState({});
321
348
  document.getElementById('review_quote_inactive').parentElement.parentElement.style.zIndex = 6;
322
349
  }
350
+ }, {
351
+ key: "jwtCheck",
352
+ value: function jwtCheck() {
353
+ var _this2 = this;
354
+ jwtService.on('onAutoLogin', function () {
355
+ /**
356
+ * Sign in and retrieve user data from Api
357
+ */
358
+ jwtService.signInWithToken().then(function (user) {
359
+ //this.props.userActions.setUserData(user);
360
+ _this2.props.userActions.login(user.id, user.role, jwtService.getAccessToken(), _this2.utm);
361
+ //this.props.showMessage(option)
362
+ //this.props.showMessage({message: 'Logged in with token data', variant: 'success'});
363
+ //alert('Logged in with token data');
364
+ })["catch"](function (error) {
365
+ //this.props.showMessage({message: error});
366
+ _this2.setState({
367
+ isSnackBarOpen: true,
368
+ snackBarMessage: error
369
+ });
370
+ });
371
+ });
372
+ jwtService.on('onAutoLogout', function (message) {
373
+ if (message) {
374
+ //this.props.showMessage({message, variant: 'error'});
375
+ }
376
+ _this2.props.userActions.logout();
377
+ });
378
+ jwtService.init();
379
+ }
323
380
  }, {
324
381
  key: "getChildContext",
325
382
  value: function getChildContext() {
326
- var _this2 = this;
383
+ var _this3 = this;
327
384
  return _objectSpread(_objectSpread({}, objectsMap(actions, function (actionNamespace) {
328
- return _this2.props[actionNamespace];
385
+ return _this3.props[actionNamespace];
329
386
  })), {}, {
330
387
  translator: this.props.translator,
331
388
  catalog: this.props.catalog
@@ -341,12 +398,102 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
341
398
  var projectData = JSON.stringify(extractedState.get('scene').toJS());
342
399
  sessionStorage.setItem(window.location.href, projectData);
343
400
  }
401
+ }, {
402
+ key: "componentDidUpdate",
403
+ value: function componentDidUpdate(prevProps) {
404
+ // Only strip properties if the object is not null/undefined
405
+ function stripProperty(obj, properties) {
406
+ if (!obj) return obj;
407
+ var changed = false;
408
+ var newObj = _objectSpread({}, obj);
409
+ var _iterator = _createForOfIteratorHelper(properties),
410
+ _step;
411
+ try {
412
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
413
+ var prop = _step.value;
414
+ if (prop in newObj) {
415
+ delete newObj[prop];
416
+ changed = true;
417
+ }
418
+ }
419
+ } catch (err) {
420
+ _iterator.e(err);
421
+ } finally {
422
+ _iterator.f();
423
+ }
424
+ return changed ? newObj : obj;
425
+ }
426
+ var prevState = this.props.stateExtractor(prevProps.state);
427
+ var currState = this.props.stateExtractor(this.props.state);
428
+
429
+ // Only convert to JS once per items/areas/lines
430
+ var prevLayer = prevState.scene.selectedLayer;
431
+ var currLayer = currState.scene.selectedLayer;
432
+ var prevItems = prevState.getIn(['scene', 'layers', prevLayer, 'items']).toJS();
433
+ var currItems = currState.getIn(['scene', 'layers', currLayer, 'items']).toJS();
434
+ var prevItemsProps = Object.values(prevItems).map(function (_ref) {
435
+ var x = _ref.x,
436
+ y = _ref.y,
437
+ rotation = _ref.rotation;
438
+ return {
439
+ x: x,
440
+ y: y,
441
+ rotation: rotation
442
+ };
443
+ });
444
+ var currItemsProps = Object.values(currItems).map(function (_ref2) {
445
+ var x = _ref2.x,
446
+ y = _ref2.y,
447
+ rotation = _ref2.rotation;
448
+ return {
449
+ x: x,
450
+ y: y,
451
+ rotation: rotation
452
+ };
453
+ });
454
+ var prevDoorStyleRaw = prevState.getIn(['scene', 'layers', prevLayer, 'doorStyle']);
455
+ var currDoorStyleRaw = currState.getIn(['scene', 'layers', currLayer, 'doorStyle']);
456
+ var prevDoorStyle = stripProperty(prevDoorStyleRaw, ['doorStyles']);
457
+ var currDoorStyle = stripProperty(currDoorStyleRaw, ['doorStyles']);
458
+ var prevAreasRaw = prevState.getIn(['scene', 'layers', prevLayer, 'areas']).toJS();
459
+ var currAreasRaw = currState.getIn(['scene', 'layers', currLayer, 'areas']).toJS();
460
+ var prevAreas = stripProperty(Object.values(prevAreasRaw)[0], ['selected']);
461
+ var currAreas = stripProperty(Object.values(currAreasRaw)[0], ['selected']);
462
+ var prevLinesRaw = prevState.getIn(['scene', 'layers', prevLayer, 'lines']).toJS();
463
+ var currLinesRaw = currState.getIn(['scene', 'layers', currLayer, 'lines']).toJS();
464
+ var prevLines = stripProperty(Object.values(prevLinesRaw)[0], ['selected']);
465
+ var currLines = stripProperty(Object.values(currLinesRaw)[0], ['selected']);
466
+ var prevCeilingHeight = prevState.getIn(['scene', 'layers', prevLayer, 'ceilHeight']);
467
+ var currCeilingHeight = currState.getIn(['scene', 'layers', currLayer, 'ceilHeight']);
468
+ var changed = !_.isEqual(prevItemsProps, currItemsProps) || !_.isEqual(prevDoorStyle, currDoorStyle) || !_.isEqual(prevAreas, currAreas) || !_.isEqual(prevLines, currLines) || prevCeilingHeight !== currCeilingHeight;
469
+ if (changed) {
470
+ this.debouncedSetIsSaved();
471
+ var currentItemsLength = Object.keys(currItems).length;
472
+ var prevItemsLength = Object.keys(prevItems).length;
473
+ // make sure prompt appears only when adding cabinets
474
+ var allowedItemLengths = [5, 10, 15];
475
+ if (prevItemsLength === currentItemsLength - 1 && currentItemsLength === 1) {
476
+ GA.events.cabinetPlaced();
477
+ }
478
+ if (allowedItemLengths.includes(currentItemsLength) && prevItemsLength === currentItemsLength - 1 && !this.props.match.params.token) {
479
+ this.setState({
480
+ savePromptVisible: true
481
+ });
482
+ }
483
+ }
484
+ }
344
485
  }, {
345
486
  key: "componentDidMount",
346
487
  value: function componentDidMount() {
347
- var _this3 = this;
488
+ var _this4 = this;
489
+ var cross = GA.deriveCrossAuthFromUrl(window.location.search);
490
+ var entry = GA.deriveProjectEntry();
491
+ GA.bootSessionContext({
492
+ projectEntry: entry,
493
+ crossAuth: cross
494
+ });
495
+ hotjar.event && hotjar.event("pageview:".concat(getPath()));
348
496
  window.addEventListener('beforeunload', this.handleBeforeUnload);
349
- console.log('context =>', this.context);
350
497
  window.forRedo = [];
351
498
  var store = this.context.store;
352
499
  var _this$props2 = this.props,
@@ -364,7 +511,7 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
364
511
  return;
365
512
  }
366
513
  if (match && match.params.pid === undefined) {
367
- var newplugins = [].concat(_toConsumableArray(plugins), [Autosave('KitchenConfigurator_v0', false)]);
514
+ var newplugins = _toConsumableArray(plugins);
368
515
  newplugins.forEach(function (newplugin) {
369
516
  return newplugin(store, stateExtractor);
370
517
  });
@@ -393,7 +540,7 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
393
540
  pid: match.params.pid,
394
541
  visualizerName: sessionStorage.getItem('visualizerName')
395
542
  }).then(/*#__PURE__*/function () {
396
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(response) {
543
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(response) {
397
544
  var projectElement, jsonData, _t;
398
545
  return _regeneratorRuntime.wrap(function (_context) {
399
546
  while (1) switch (_context.prev = _context.next) {
@@ -432,13 +579,13 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
432
579
  case 4:
433
580
  _context.prev = 4;
434
581
  _t = _context["catch"](2);
435
- _this3.setState({
582
+ _this4.setState({
436
583
  isSnackBarOpen: true,
437
584
  snackBarMessage: _t
438
585
  });
439
586
  case 5:
440
587
  jsonData.isLoadingCabinet = false;
441
- projectActions.loadProject(jsonData, _this3.props.categoryData);
588
+ projectActions.loadProject(jsonData, _this4.props.categoryData);
442
589
  case 6:
443
590
  case "end":
444
591
  return _context.stop();
@@ -446,7 +593,7 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
446
593
  }, _callee, null, [[2, 4]]);
447
594
  }));
448
595
  return function (_x) {
449
- return _ref.apply(this, arguments);
596
+ return _ref3.apply(this, arguments);
450
597
  };
451
598
  }());
452
599
  }
@@ -486,33 +633,159 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
486
633
  return layer.areas.size + layer.lines.size + layer.holes.size + layer.items.size === 0;
487
634
  }
488
635
  }, {
489
- key: "render",
490
- value: function render() {
636
+ key: "handleSaveDesign",
637
+ value: function handleSaveDesign(value) {
491
638
  var _this$props3 = this.props,
492
- width = _this$props3.width,
493
- height = _this$props3.height,
494
- state = _this$props3.state,
495
639
  stateExtractor = _this$props3.stateExtractor,
496
- props = _objectWithoutProperties(_this$props3, _excluded);
640
+ state = _this$props3.state;
641
+ var plannerState = stateExtractor(state);
642
+ var items = plannerState.getIn(['scene', 'layers', 'layer-1', 'items']);
643
+ var areas = plannerState.getIn(['scene', 'layers', 'layer-1', 'areas']);
644
+ if (areas.size === 0) {
645
+ this.setState({
646
+ isSnackBarOpen: true,
647
+ snackBarMessage: 'Your project is empty.'
648
+ });
649
+ return;
650
+ }
651
+ // if (items.size === 0) {
652
+ // saveAlert = <StyledAlert text={<span style={{fontSize: 16, fontFamily: DEFAULT_FONT_FAMILY}}>Add at least one item</span>} onClose={() => saveAlert = ""} />
653
+ // return;
654
+ // } else saveAlert = '';
655
+ this.setState({
656
+ reviewQuotePopupOpened: false
657
+ });
658
+ this.setState({
659
+ savePopupVisible: value
660
+ });
661
+ this.setState({
662
+ assistPopupVisible: false
663
+ });
664
+ this.setState({
665
+ newProjectPopupVisible: false
666
+ });
667
+ this.setState({
668
+ savePromptVisible: false
669
+ });
670
+ this.setState({
671
+ submitPromptVisible: false
672
+ });
673
+ }
674
+ }, {
675
+ key: "handleNewProject",
676
+ value: function handleNewProject(value) {
677
+ this.setState({
678
+ reviewQuotePopupOpened: false
679
+ });
680
+ this.setState({
681
+ savePopupVisible: false
682
+ });
683
+ this.setState({
684
+ quotePopupVisible: false
685
+ });
686
+ this.setState({
687
+ assistPopupVisible: false
688
+ });
689
+ this.setState({
690
+ newProjectPopupVisible: value
691
+ });
692
+ }
693
+ }, {
694
+ key: "handleSubmitForQuote",
695
+ value: function handleSubmitForQuote(isVisible) {
696
+ var submitType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : constants.SUBMIT_REQUEST_ASSIST;
697
+ var items = this.props.stateExtractor(this.props.state).getIn(['scene', 'layers', this.props.stateExtractor(this.props.state).scene.selectedLayer, 'items']);
698
+ if (submitType === constants.SUBMIT_ADD_CART) {
699
+ this.setToolbar('reviewforquote');
700
+ }
701
+ if (submitType === constants.SUBMIT_ADD_CART && !items.size) {
702
+ this.setState({
703
+ isSnackBarOpen: true,
704
+ snackBarMessage: 'Your project is empty. Please add at least one item.'
705
+ });
706
+ } else {
707
+ this.setState({
708
+ reviewQuotePopupOpened: false
709
+ });
710
+ this.setState({
711
+ savePopupVisible: false
712
+ });
713
+ this.setState({
714
+ quotePopupVisible: isVisible
715
+ });
716
+ this.setState({
717
+ submitTosave: false
718
+ });
719
+ this.setState({
720
+ assistPopupVisible: false
721
+ });
722
+ this.setState({
723
+ newProjectPopupVisible: false
724
+ });
725
+ this.setState({
726
+ stateSubmitType: submitType
727
+ });
728
+ }
729
+ }
730
+ }, {
731
+ key: "findDelkeys",
732
+ value: function findDelkeys(obj, deleteKeys, path) {
733
+ if (_typeof(obj) === 'object') {
734
+ var allkeys = Object.keys(obj);
735
+ for (var i = 0; i < allkeys.length; i++) {
736
+ var value = obj[allkeys[i]];
737
+ if (isEmpty(value)) {
738
+ deleteKeys.push({
739
+ path: path,
740
+ key: allkeys[i]
741
+ });
742
+ } else if (_typeof(value) === 'object') {
743
+ var newPath = path + allkeys[i] + ',';
744
+ this.findDelkeys(value, deleteKeys, newPath);
745
+ }
746
+ }
747
+ } else if (isEmpty(obj)) {
748
+ var tmpkey = path.split(',');
749
+ deleteKeys.push({
750
+ path: path,
751
+ key: tmpkey[tmpkey.length - 1]
752
+ });
753
+ }
754
+ }
755
+ }, {
756
+ key: "render",
757
+ value: function render() {
758
+ var _this5 = this;
759
+ var _this$props4 = this.props,
760
+ width = _this$props4.width,
761
+ height = _this$props4.height,
762
+ state = _this$props4.state,
763
+ stateExtractor = _this$props4.stateExtractor,
764
+ props = _objectWithoutProperties(_this$props4, _excluded);
497
765
  var _this$state = this.state,
498
766
  savePopupVisible = _this$state.savePopupVisible,
499
767
  quotePopupVisible = _this$state.quotePopupVisible,
500
768
  assistPopupVisible = _this$state.assistPopupVisible,
769
+ newProjectPopupVisible = _this$state.newProjectPopupVisible,
770
+ savePromptVisible = _this$state.savePromptVisible,
771
+ isLeaving = _this$state.isLeaving,
772
+ submitPromptVisible = _this$state.submitPromptVisible,
773
+ stateSubmitType = _this$state.stateSubmitType,
774
+ submitTosave = _this$state.submitTosave,
501
775
  signOpen = _this$state.signOpen,
502
- myProjectsOpen = _this$state.myProjectsOpen;
776
+ myProjectsOpen = _this$state.myProjectsOpen,
777
+ myProjectsToLogin = _this$state.myProjectsToLogin,
778
+ downloadPopupVisible = _this$state.downloadPopupVisible;
503
779
  var contentW = width - toolbarW;
504
780
  var categoryData = this.props.categoryData;
505
- // console.log(categoryData);
506
- // let contentW = width - toolbarW - sidebarW;
507
- // let toolbarH = height - footerBarH;
508
- // let contentH = height - footerBarH;
509
- // let sidebarH = height - footerBarH;
510
781
  var toolbarH = height;
511
782
  var contentH = height;
512
783
  var sidebarH = height;
513
784
  var headerW = width;
514
785
  var headerH = 60;
786
+ var userInfo = this.props.match ? this.props.match.params : [];
515
787
  var extractedState = stateExtractor(state);
788
+ //console.log('KC state - mode: ', extractedState.mode);
516
789
  var doorStyle = extractedState.get('doorStyle');
517
790
  if (extractedState.getIn(['scene', 'layers', extractedState.scene.selectedLayer, 'doorStyle']) !== undefined && extractedState.getIn(['scene', 'layers', extractedState.scene.selectedLayer, 'doorStyle']) !== null) {
518
791
  var extractedStateData = extractedState.getIn(['scene', 'layers', extractedState.scene.selectedLayer, 'doorStyle']);
@@ -523,12 +796,7 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
523
796
  var item = style.items.find(function (it) {
524
797
  return it.id === extractedStateData.id;
525
798
  });
526
- if (item) {
527
- colorItem = item;
528
- return true;
529
- } else {
530
- return false;
531
- }
799
+ return !!item;
532
800
  });
533
801
  });
534
802
  }
@@ -558,13 +826,437 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
558
826
  extractedState = extractedState.merge({
559
827
  viewer2D: _viewer2D
560
828
  });
561
- return /*#__PURE__*/React.createElement("section", null, /*#__PURE__*/React.createElement("div", {
829
+ var history = this.props.history;
830
+ var handleContinueQuote = function handleContinueQuote() {
831
+ _this5.setToolbar('reviewforquote');
832
+ _this5.setState({
833
+ savePopupVisible: false,
834
+ quotePopupVisible: true
835
+ });
836
+ };
837
+ var newProject = function newProject() {
838
+ _this5.props.projectActions.newProject();
839
+ sessionStorage.setItem('projectTitle', 'Untitled');
840
+ _this5.props.projectActions.rename('Untitled');
841
+ sessionStorage.removeItem('projectId');
842
+ sessionStorage.removeItem('usedObjects');
843
+ var visualizerName = sessionStorage.getItem('visualizerName');
844
+ var originalAccessToken = ls.get(LOCAL_STORAGE_ORIGINAL_TOKEN);
845
+ var tokenName = ls.get(LOCAL_STORAGE_TOKEN_NAME);
846
+ var pathname = "/".concat(visualizerName);
847
+ if (tokenName && originalAccessToken) {
848
+ pathname += "?".concat(tokenName).concat(originalAccessToken);
849
+ }
850
+ history.push({
851
+ pathname: pathname
852
+ });
853
+ _this5.setState({
854
+ wizardStepOpend: false
855
+ });
856
+ };
857
+
858
+ /**
859
+ * @description Save Projects
860
+ * @param {{email,firstName,lastName,notes,projectName}} param Project information to save
861
+ */
862
+ var saveProject = /*#__PURE__*/function () {
863
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(param) {
864
+ var _state2, _state3;
865
+ var rlt, title, projectId, projectTitle, utm, state, _state, scene, itemData, newScene, deleteKeys, i, tmp, deletePath, j, projectData, object_count, originalAccessToken, tokenName, response, _response$data, success, message, userData, access_token, insertId, currentProjectID, _t2;
866
+ return _regeneratorRuntime.wrap(function (_context2) {
867
+ while (1) switch (_context2.prev = _context2.next) {
868
+ case 0:
869
+ rlt = {
870
+ success: false
871
+ }; // Get storage info
872
+ title = sessionStorage.getItem('projectTitle');
873
+ projectId = sessionStorage.getItem('projectId');
874
+ projectTitle = param && param.projectName || title || "Project-".concat(new Date().toLocaleString());
875
+ utm = _this5.utm; // State
876
+ state = Project.unselectAll(extractedState).updatedState;
877
+ _state = state, scene = _state.scene;
878
+ state = state.merge({
879
+ scene: scene.merge({
880
+ title: projectTitle
881
+ })
882
+ });
883
+
884
+ // Set storage info
885
+ sessionStorage.setItem('projectTitle', projectTitle);
886
+ props.projectActions.rename(projectTitle);
887
+
888
+ // Filter cds
889
+ itemData = state.getIn(['scene', 'layers', state.get('scene').toJS().selectedLayer, 'items']).toArray();
890
+ itemData.forEach(function (it) {
891
+ var _item$doorStyle;
892
+ var item = it.toJS();
893
+ var doorStyles = item === null || item === void 0 || (_item$doorStyle = item.doorStyle) === null || _item$doorStyle === void 0 ? void 0 : _item$doorStyle.doorStyles;
894
+
895
+ // Skip if no doorStyles data at all
896
+ if (!doorStyles) return;
897
+ var newCDSdata = Array.isArray(doorStyles.cds) ? doorStyles.cds.filter(function (it1) {
898
+ return it1.cabinet_door_style_id === doorStyles.cabinet_door_style_id;
899
+ }) : [];
900
+ var layerId = state.get('scene').toJS().selectedLayer;
901
+ var basePath = ['scene', 'layers', layerId, 'items', it.id, 'doorStyle', 'doorStyles'];
902
+ if (state.hasIn(basePath)) {
903
+ state = state.setIn([].concat(basePath, ['cds']), newCDSdata);
904
+ }
905
+ });
906
+
907
+ // Delete null values
908
+ newScene = state.getIn(['scene']);
909
+ deleteKeys = [];
910
+ _this5.findDelkeys(newScene.toJS(), deleteKeys, '');
911
+ for (i = 0; i < deleteKeys.length; i++) {
912
+ tmp = newScene.toJS();
913
+ deletePath = deleteKeys[i].path.split(',');
914
+ for (j = 0; j < deletePath.length; j++) {
915
+ if (!isEmpty(deletePath[j])) {
916
+ tmp = tmp[deletePath[j]];
917
+ }
918
+ }
919
+ if (deletePath.length >= 2) {
920
+ delete tmp[deleteKeys[i].key];
921
+ deletePath.pop();
922
+ if (!isEmpty(newScene.getIn(deletePath))) newScene = newScene.setIn(deletePath, tmp);
923
+ } else {
924
+ newScene = newScene["delete"](deleteKeys[i].key);
925
+ }
926
+ }
927
+ state = state.setIn(['scene'], newScene);
928
+
929
+ // Data to save
930
+ projectData = JSON.stringify(state.get('scene').toJS());
931
+ object_count = Object.keys(((_state2 = state) === null || _state2 === void 0 || (_state2 = _state2.scene) === null || _state2 === void 0 || (_state2 = _state2.layers) === null || _state2 === void 0 || (_state2 = _state2.get((_state3 = state) === null || _state3 === void 0 || (_state3 = _state3.scene) === null || _state3 === void 0 ? void 0 : _state3.selectedLayer)) === null || _state2 === void 0 ? void 0 : _state2.items) || {}).length;
932
+ _context2.prev = 1;
933
+ originalAccessToken = ls.get(LOCAL_STORAGE_ORIGINAL_TOKEN);
934
+ tokenName = ls.get(LOCAL_STORAGE_TOKEN_NAME);
935
+ _context2.next = 2;
936
+ return axios.post('/api/project/saveProject', _objectSpread(_objectSpread({
937
+ pid: projectId,
938
+ title: projectTitle,
939
+ mode: MODE,
940
+ access_token: userInfo.token ? userInfo.token : null,
941
+ userrole: userInfo.role ? userInfo.role : null,
942
+ saveData: _objectSpread(_objectSpread(_objectSpread({}, param), utm), {}, {
943
+ projectData: projectData,
944
+ object_count: object_count
945
+ }),
946
+ url: window.location.hostname,
947
+ visualizerName: sessionStorage.getItem('visualizerName')
948
+ }, originalAccessToken ? {
949
+ original_token: originalAccessToken
950
+ } : undefined), tokenName ? {
951
+ query_params_token_prefix: tokenName
952
+ } : undefined));
953
+ case 2:
954
+ response = _context2.sent;
955
+ _response$data = response.data, success = _response$data.success, message = _response$data.message, userData = _response$data.userData, access_token = _response$data.access_token;
956
+ if (success === true) {
957
+ rlt.success = true;
958
+ insertId = response.data.execResult.insertId;
959
+ currentProjectID = insertId !== 0 ? insertId : state.getIn(['scene', 'currentProjectID']); // Set storage data
960
+ sessionStorage.setItem('projectId', currentProjectID);
961
+ sessionStorage.setItem('email', param.email);
962
+ sessionStorage.setItem('phone', param.phone);
963
+ sessionStorage.setItem('firstName', param.firstName);
964
+ sessionStorage.setItem('lastName', param.lastName);
965
+ props.projectActions.setProjectID({
966
+ currentProjectID: currentProjectID
967
+ });
968
+ actions.userActions.login(userData[0].id, userData[0].role, access_token, utm);
969
+ _this5.setState({
970
+ toolbar: _this5.state.toolbar,
971
+ isSaved: true,
972
+ isSnackBarOpen: true,
973
+ snackBarMessage: 'Your project has been saved. </br> You can now request <b>Designer Assistance</b> or <b>Add to Cart</b>'
974
+ });
975
+ GA.events.projectSaved(currentProjectID, 'manual');
976
+ PH.projectSaved(currentProjectID);
977
+ if (_this5.state.submitTosave) {
978
+ handleContinueQuote();
979
+ }
980
+ } else {
981
+ rlt.success = false;
982
+ rlt.message = message;
983
+ _this5.setState({
984
+ isSnackBarOpen: true,
985
+ snackBarMessage: "Failed to add project data: ".concat(message)
986
+ });
987
+ }
988
+ _context2.next = 4;
989
+ break;
990
+ case 3:
991
+ _context2.prev = 3;
992
+ _t2 = _context2["catch"](1);
993
+ rlt.success = false;
994
+ console.error(_t2);
995
+ _this5.setState({
996
+ isSnackBarOpen: true,
997
+ snackBarMessage: 'Failed to add project data.'
998
+ });
999
+ case 4:
1000
+ return _context2.abrupt("return", rlt);
1001
+ case 5:
1002
+ case "end":
1003
+ return _context2.stop();
1004
+ }
1005
+ }, _callee2, null, [[1, 3]]);
1006
+ }));
1007
+ return function saveProject(_x2) {
1008
+ return _ref4.apply(this, arguments);
1009
+ };
1010
+ }();
1011
+ var pidSplit = userInfo.pid && userInfo.pid.indexOf('?');
1012
+ // If pidSplit is undefined pid is undefined
1013
+ var pid = pidSplit === undefined || pidSplit === -1 ? userInfo.pid : userInfo.pid.slice(0, pidSplit);
1014
+ var submitForQuote = /*#__PURE__*/function () {
1015
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(param) {
1016
+ var rlt, apiUrl, extraFormData, originalAccessToken, tokenName, customerRequests, notes, response, _response$data2, success, message, redirect_url, _summarizeItems, totalCount, totalPrice, _t3;
1017
+ return _regeneratorRuntime.wrap(function (_context3) {
1018
+ while (1) switch (_context3.prev = _context3.next) {
1019
+ case 0:
1020
+ rlt = {
1021
+ success: false
1022
+ };
1023
+ if (userInfo.token) {
1024
+ _context3.next = 1;
1025
+ break;
1026
+ }
1027
+ _this5.setState({
1028
+ isSnackBarOpen: true,
1029
+ snackBarMessage: 'You should save the project first.'
1030
+ });
1031
+ return _context3.abrupt("return");
1032
+ case 1:
1033
+ apiUrl = '';
1034
+ if (param.flag === constants.SUBMIT_REQUEST_ASSIST) {
1035
+ apiUrl = "".concat(API_SERVER_URL, "/api/project/submitProject");
1036
+ } else if (param.flag === constants.SUBMIT_ADD_CART) {
1037
+ apiUrl = "".concat(API_SERVER_URL, "/api/project/addCart");
1038
+ }
1039
+ _context3.prev = 2;
1040
+ extraFormData = {
1041
+ userType: sessionStorage.getItem('user_type') || '',
1042
+ designType: sessionStorage.getItem('project_type') || '',
1043
+ startTime: sessionStorage.getItem('project_timeline') || ''
1044
+ };
1045
+ originalAccessToken = ls.get(LOCAL_STORAGE_ORIGINAL_TOKEN);
1046
+ tokenName = ls.get(LOCAL_STORAGE_TOKEN_NAME);
1047
+ customerRequests = param.customer_requests;
1048
+ notes = customerRequests.notes;
1049
+ _context3.next = 3;
1050
+ return axios.post(apiUrl, {
1051
+ access_token: userInfo.token,
1052
+ data: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, param), extraFormData.userType ? {
1053
+ user_type: extraFormData.userType
1054
+ } : undefined), extraFormData.designType ? {
1055
+ project_type: extraFormData.designType
1056
+ } : undefined), extraFormData.startTime ? {
1057
+ project_timeline: extraFormData.startTime
1058
+ } : undefined), {}, {
1059
+ cart_total: parseFloat(sessionStorage.getItem('cart_total')),
1060
+ client_name: sessionStorage.getItem('visualizerName'),
1061
+ user_token: ls.get(LOCAL_STORAGE_TOKEN_VALUE),
1062
+ cart_action_type: ls.get(LOCAL_STORAGE_CART_ACTION),
1063
+ customer_requests: Object.values(customerRequests.reviewOptions).filter(Boolean).join(', ')
1064
+ }, param.flag === constants.SUBMIT_ADD_CART ? {
1065
+ cart_notes: notes
1066
+ } : {
1067
+ designer_notes: notes
1068
+ }), {}, {
1069
+ question_add_to_cart: param.flag === constants.SUBMIT_ADD_CART
1070
+ }, originalAccessToken ? {
1071
+ original_token: originalAccessToken
1072
+ } : undefined), tokenName ? {
1073
+ query_params_token_prefix: tokenName
1074
+ } : undefined),
1075
+ num: true,
1076
+ projectid: pid,
1077
+ search: _this5.props.location.search,
1078
+ userrole: userInfo.role,
1079
+ url: window.location.hostname
1080
+ });
1081
+ case 3:
1082
+ response = _context3.sent;
1083
+ _response$data2 = response.data, success = _response$data2.success, message = _response$data2.message, redirect_url = _response$data2.redirect_url;
1084
+ if (success) {
1085
+ rlt.success = true;
1086
+ param.email && sessionStorage.setItem('email', param.email);
1087
+ param.phone && sessionStorage.setItem('phone', param.phone);
1088
+ _this5.setState({
1089
+ redirectURL: redirect_url,
1090
+ isSnackBarOpen: true,
1091
+ snackBarMessage: "".concat(param.flag === constants.SUBMIT_REQUEST_ASSIST ? 'Project submitted' : 'Added to cart', " successfully.").concat(customerRequests.reviewOptions.length > 0 || customerRequests.notes ? ' <br /> A confirmation has been emailed to you and a designer will be in contact shortly' : ''),
1092
+ isSnackBar1Open: param.flag === constants.SUBMIT_ADD_CART
1093
+ });
1094
+ try {
1095
+ if (param.flag === constants.SUBMIT_REQUEST_ASSIST) {
1096
+ GA.events.assistanceRequested('manual', pid);
1097
+ PH.assistanceRequested('manual', pid);
1098
+ } else {
1099
+ _summarizeItems = summarizeItems(JSON.parse(sessionStorage.getItem('usedObjects'))), totalCount = _summarizeItems.totalCount, totalPrice = _summarizeItems.totalPrice;
1100
+ GA.events.addToCart(pid, totalCount, totalPrice);
1101
+ PH.addToCart(pid, totalCount, totalPrice);
1102
+ }
1103
+ } catch (e) {
1104
+ console.log('Error logging GA event', e);
1105
+ }
1106
+ } else {
1107
+ rlt.success = false;
1108
+ rlt.message = message;
1109
+ _this5.setState({
1110
+ isSnackBarOpen: true,
1111
+ snackBarMessage: "".concat(param.flag === constants.SUBMIT_REQUEST_ASSIST ? 'Submitting project' : 'Adding to cart', " failed: ").concat(message)
1112
+ });
1113
+ }
1114
+ _context3.next = 5;
1115
+ break;
1116
+ case 4:
1117
+ _context3.prev = 4;
1118
+ _t3 = _context3["catch"](2);
1119
+ rlt.success = false;
1120
+ console.log('err', _t3);
1121
+ _this5.setState({
1122
+ isSnackBarOpen: true,
1123
+ snackBarMessage: "".concat(param.flag === constants.SUBMIT_REQUEST_ASSIST ? 'Submitting project' : 'Adding to cart', " failed.")
1124
+ });
1125
+ case 5:
1126
+ return _context3.abrupt("return", rlt);
1127
+ case 6:
1128
+ case "end":
1129
+ return _context3.stop();
1130
+ }
1131
+ }, _callee3, null, [[2, 4]]);
1132
+ }));
1133
+ return function submitForQuote(_x3) {
1134
+ return _ref5.apply(this, arguments);
1135
+ };
1136
+ }();
1137
+ return /*#__PURE__*/React.createElement("section", null, /*#__PURE__*/React.createElement(SnackBar, {
1138
+ isOpen: this.state.isSnackBarOpen,
1139
+ message: this.state.snackBarMessage,
1140
+ handleClose: function handleClose() {
1141
+ return _this5.setState({
1142
+ isSnackBarOpen: false,
1143
+ snackBarMessage: ''
1144
+ });
1145
+ },
1146
+ autoHideDuration: 10000
1147
+ }), /*#__PURE__*/React.createElement(SnackBar, {
1148
+ style: {
1149
+ marginTop: this.state.isSnackBarOpen ? 75 : 'unset'
1150
+ },
1151
+ isOpen: this.state.isSnackBar1Open,
1152
+ message: "The items in your design have been added to your shopping cart at ".concat(CLIENTS_NAME[sessionStorage.getItem('visualizerName')], ". <br />Please log in with the same email address."),
1153
+ autoHideDuration: 20000,
1154
+ action: /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("a", {
1155
+ href: this.state.redirectURL,
1156
+ target: "_blank",
1157
+ style: {
1158
+ fontFamily: DEFAULT_FONT_FAMILY,
1159
+ color: PRIMARY_GREEN_COLOR,
1160
+ fontWeight: 700,
1161
+ marginRight: 10
1162
+ }
1163
+ }, "View Cart"), /*#__PURE__*/React.createElement("img", {
1164
+ onClick: function onClick() {
1165
+ return _this5.setState({
1166
+ isSnackBar1Open: false
1167
+ });
1168
+ },
1169
+ style: {
1170
+ "float": 'right',
1171
+ height: 24,
1172
+ cursor: 'pointer'
1173
+ },
1174
+ src: "/assets/img/svg/close.svg"
1175
+ }))
1176
+ }), /*#__PURE__*/React.createElement("div", {
562
1177
  style: _objectSpread(_objectSpread({}, wrapperStyle), {}, {
563
- height: height,
564
- display: 'flex',
565
- justifyContent: 'center'
1178
+ height: height
566
1179
  })
567
- }, /*#__PURE__*/React.createElement(Content, _extends({
1180
+ }, /*#__PURE__*/React.createElement(Header, _extends({
1181
+ isTokenPresent: !!this.props.match.params.token,
1182
+ isSaved: this.state.isSaved,
1183
+ width: headerW,
1184
+ height: headerH,
1185
+ state: extractedState,
1186
+ reviewQuoteHandler: this.onReviewQuoteClicked.bind(this),
1187
+ handleSaveDesign: this.handleSaveDesign.bind(this),
1188
+ handleSubmitForQuote: this.handleSubmitForQuote.bind(this),
1189
+ handleNewProject: this.handleNewProject.bind(this),
1190
+ handleSubmitPrompt: function handleSubmitPrompt(submitType) {
1191
+ _this5.setState({
1192
+ submitPromptVisible: true
1193
+ });
1194
+ _this5.setState({
1195
+ stateSubmitType: submitType
1196
+ });
1197
+ },
1198
+ logoImage: this.props.logoImage,
1199
+ companyURL: this.props.companyURL,
1200
+ setToolbar: this.setToolbar,
1201
+ saveProject: saveProject,
1202
+ newProject: newProject,
1203
+ isModalVisible: this.state.isModalVisible,
1204
+ allVisible: allVisible,
1205
+ wizardStepOpend: firstVisit
1206
+ }, props)), signOpen && /*#__PURE__*/React.createElement(Sign, {
1207
+ setSignOpen: this.setSignOpen.bind(this),
1208
+ setMyProjectsOpen: this.setMyProjectsOpen.bind(this),
1209
+ setMyProjectsToLogin: this.setMyProjectsToLogin.bind(this),
1210
+ myProjectsToLogin: myProjectsToLogin
1211
+ }), !allVisible &&
1212
+ /*#__PURE__*/
1213
+ // left side bar & top tools bar
1214
+ React.createElement(Toolbar, _extends({
1215
+ width: toolbarW,
1216
+ content: contentW,
1217
+ height: toolbarH,
1218
+ headerH: headerH,
1219
+ state: extractedState,
1220
+ layers: extractedState.scene.layers,
1221
+ selectedLayer: extractedState.scene.selectedLayer
1222
+ }, props, {
1223
+ handleSaveDesign: this.handleSaveDesign.bind(this),
1224
+ handleSubmitForQuote: this.handleSubmitForQuote.bind(this),
1225
+ handleNewProject: this.handleNewProject.bind(this),
1226
+ handleSubmitPrompt: function handleSubmitPrompt(submitType) {
1227
+ _this5.setState({
1228
+ submitPromptVisible: true
1229
+ });
1230
+ _this5.setState({
1231
+ stateSubmitType: submitType
1232
+ });
1233
+ },
1234
+ toolBar: this.state.toolbar,
1235
+ setToolbar: this.setToolbar,
1236
+ setDownloadPopupVisible: this.setDownloadPopupVisible.bind(this),
1237
+ openFloor: this.openFloor,
1238
+ openCabinet: this.openCabinet,
1239
+ openAppliance: this.openAppliance,
1240
+ openFinishing: this.openFinishing,
1241
+ closeFloorTB: this.closeFloorTB,
1242
+ closeCabinetTB: this.closeCabinetTB,
1243
+ closeFinishingTB: this.closeFinishingTB,
1244
+ closeApplianceTB: this.closeApplianceTB,
1245
+ setShowProperty: this.setShowProperty,
1246
+ reviewQuotePopupOpened: this.state.reviewQuotePopupOpened,
1247
+ isShowProperty: this.state.isShowProperty,
1248
+ categoryData: this.props.categoryData,
1249
+ floorOpened: this.state.floorOpened,
1250
+ cabinetOpened: this.state.cabinetOpened,
1251
+ applianceOpened: this.state.applianceOpened,
1252
+ finishingOpened: this.state.finishingOpened,
1253
+ doorStyleOpen: this.state.doorStyleOpen,
1254
+ toggleDoorStyle: this.toggleDoorStyle,
1255
+ onReviewQuoteClicked: this.onReviewQuoteClicked,
1256
+ wizardStepOpend: firstVisit,
1257
+ replaceCabinetFlag: this.state.replaceCabinetFlag,
1258
+ replaceCabinet: this.replaceCabinet
1259
+ })), /*#__PURE__*/React.createElement(Content, _extends({
568
1260
  width: contentW,
569
1261
  height: contentH,
570
1262
  catalog: this.props.catalog,
@@ -577,7 +1269,78 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
577
1269
  onWheel: function onWheel(event) {
578
1270
  return event.preventDefault();
579
1271
  }
580
- }))));
1272
+ })), !allVisible && /*#__PURE__*/React.createElement(FooterBar, _extends({
1273
+ content: contentW,
1274
+ setToolbar: this.setToolbar,
1275
+ layers: extractedState.scene.layers,
1276
+ setShowProperty: this.setShowProperty,
1277
+ state: extractedState,
1278
+ selectedLayer: extractedState.scene.selectedLayer
1279
+ }, props)), firstVisit && /*#__PURE__*/React.createElement(WizardStep, _extends({
1280
+ key: "first-setting",
1281
+ content: contentW,
1282
+ layers: extractedState.scene.layers,
1283
+ close: function close() {
1284
+ return _this5.setState({
1285
+ wizardStepOpend: false
1286
+ });
1287
+ },
1288
+ state: extractedState,
1289
+ setMyProjectsToLogin: this.setMyProjectsToLogin.bind(this),
1290
+ setSignOpen: this.setSignOpen.bind(this),
1291
+ selectedLayer: extractedState.scene.selectedLayer,
1292
+ setMyProjectsOpen: this.setMyProjectsOpen.bind(this)
1293
+ }, props)), myProjectsOpen && /*#__PURE__*/React.createElement(MyProjects, _extends({
1294
+ setMyProjectsOpen: this.setMyProjectsOpen.bind(this)
1295
+ }, props)), /*#__PURE__*/React.createElement(SaveDesignPopup, _extends({
1296
+ visible: savePopupVisible,
1297
+ submitTosave: submitTosave,
1298
+ handleSaveDesign: this.handleSaveDesign.bind(this),
1299
+ saveProject: saveProject,
1300
+ state: extractedState
1301
+ }, props)), /*#__PURE__*/React.createElement(SubmitForQuotePopup, _extends({
1302
+ categoryData: categoryData,
1303
+ curDoorStyle: doorStyle,
1304
+ handleSubmitForQuote: this.handleSubmitForQuote.bind(this),
1305
+ submitForQuote: submitForQuote,
1306
+ visible: quotePopupVisible,
1307
+ setDoorStyle: this.props.itemsActions.setDoorStyle,
1308
+ submitType: stateSubmitType
1309
+ }, props)), /*#__PURE__*/React.createElement(NewProjectPopup, {
1310
+ isSaved: this.state.isSaved,
1311
+ visible: newProjectPopupVisible,
1312
+ handleNewProject: this.handleNewProject.bind(this),
1313
+ newProject: newProject,
1314
+ areas: extractedState.getIn(['scene', 'layers', extractedState.scene.selectedLayer, 'areas'])
1315
+ }), /*#__PURE__*/React.createElement(SubmitPromptPopup, {
1316
+ visible: submitPromptVisible,
1317
+ submitType: stateSubmitType,
1318
+ handleOk: function handleOk(value) {
1319
+ return _this5.handleSaveDesign(value) || _this5.setState({
1320
+ submitTosave: true
1321
+ });
1322
+ },
1323
+ handleClose: function handleClose() {
1324
+ _this5.setState({
1325
+ submitPromptVisible: false
1326
+ });
1327
+ }
1328
+ }), /*#__PURE__*/React.createElement(AutosavePromptPopup, {
1329
+ isLeaving: isLeaving,
1330
+ visible: savePromptVisible,
1331
+ handleOk: this.handleSaveDesign.bind(this),
1332
+ handleClose: function handleClose() {
1333
+ return _this5.setState({
1334
+ savePromptVisible: false,
1335
+ submitTosave: false
1336
+ });
1337
+ }
1338
+ }), /*#__PURE__*/React.createElement(DownloadSummaryPopup, _extends({
1339
+ visible: downloadPopupVisible,
1340
+ state: extractedState,
1341
+ catalog: this.props.catalog,
1342
+ setDownloadPopupVisible: this.setDownloadPopupVisible.bind(this)
1343
+ }, props)), saveAlert));
581
1344
  }
582
1345
  }]);
583
1346
  }(Component);
@@ -591,6 +1354,7 @@ KitchenConfigurator.propTypes = {
591
1354
  width: PropTypes.number.isRequired,
592
1355
  height: PropTypes.number.isRequired,
593
1356
  stateExtractor: PropTypes.func.isRequired,
1357
+ toolbarButtons: PropTypes.array,
594
1358
  sidebarComponents: PropTypes.array,
595
1359
  footerbarComponents: PropTypes.array,
596
1360
  customContents: PropTypes.object,
@@ -612,13 +1376,12 @@ KitchenConfigurator.defaultProps = {
612
1376
  plugins: [],
613
1377
  allowProjectFileSupport: true,
614
1378
  softwareSignature: "KitchenConfigurator ".concat(VERSION),
1379
+ toolbarButtons: [],
615
1380
  sidebarComponents: [],
616
1381
  footerbarComponents: [],
617
1382
  customContents: {},
618
1383
  configData: {}
619
1384
  };
620
-
621
- //redux connect
622
1385
  function mapStateToProps(reduxState) {
623
1386
  return {
624
1387
  state: reduxState