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,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
@@ -9,6 +9,7 @@ exports["default"] = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
13
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
15
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -19,38 +20,68 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
19
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
21
  var _axios = _interopRequireDefault(require("axios"));
21
22
  var _convertUnitsLite = require("./utils/convert-units-lite");
22
- var _export = require("./plugins/export");
23
23
  var _propTypes = _interopRequireDefault(require("prop-types"));
24
24
  var _react = _interopRequireWildcard(require("react"));
25
+ var _reactHotjar = require("react-hotjar");
25
26
  var _reactRedux = require("react-redux");
26
27
  var _redux = require("redux");
27
- var constants = _interopRequireWildcard(require("./constants"));
28
+ var _Snackbar = _interopRequireDefault(require("./components/atoms/Snackbar"));
29
+ var _autosaveprompt = _interopRequireDefault(require("./components/toolbar/popup/autosaveprompt"));
30
+ var _downloadsummary = _interopRequireDefault(require("./components/toolbar/popup/downloadsummary"));
31
+ var _newproject = _interopRequireDefault(require("./components/toolbar/popup/newproject"));
32
+ var _savedesign = _interopRequireDefault(require("./components/toolbar/popup/savedesign"));
33
+ var _submitforquote = _interopRequireDefault(require("./components/toolbar/popup/submitforquote"));
34
+ var _constants = _interopRequireWildcard(require("./constants"));
35
+ var constants = _constants;
36
+ var _lodash = _interopRequireDefault(require("lodash"));
28
37
  var _helper = require("./utils/helper");
29
- var _export2 = _interopRequireDefault(require("./actions/export"));
38
+ var _utils = require("./components/viewer2d/utils");
39
+ var _export = _interopRequireDefault(require("./actions/export"));
30
40
  var _catalog = _interopRequireDefault(require("./catalog/catalog"));
41
+ var _export2 = require("./class/export");
31
42
  var _export3 = require("./components/export");
43
+ var _jwtService = _interopRequireDefault(require("./components/login/jwtService"));
44
+ var _index = _interopRequireDefault(require("./components/toolbar/popup/submitprompt/index"));
45
+ require("./styles/export");
32
46
  var _translator = _interopRequireDefault(require("./translator/translator"));
33
47
  var _objectsUtils = require("./utils/objects-utils");
34
48
  var _version = require("./version");
49
+ var _localstorageSlim = _interopRequireDefault(require("localstorage-slim"));
50
+ var _ga = require("./analytics/ga4");
51
+ var _summarizeCart = require("./utils/summarizeCart");
52
+ var _posthog = require("./analytics/posthog");
35
53
  var _excluded = ["width", "height", "state", "stateExtractor"];
36
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
54
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t4 in e) "default" !== _t4 && {}.hasOwnProperty.call(e, _t4) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t4)) && (i.get || i.set) ? o(f, _t4, i) : f[_t4] = e[_t4]); return f; })(e, t); }
55
+ 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; } } }; }
56
+ 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; } }
57
+ 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; }
37
58
  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; }
38
59
  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) { (0, _defineProperty2["default"])(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; }
39
60
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
40
61
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
62
+ var Header = _export3.HeaderComponents.Header;
63
+ var Toolbar = _export3.ToolbarComponents.Toolbar;
64
+ var FooterBar = _export3.FooterBarComponents.FooterBar;
65
+ var WizardStep = _export3.WizardStepComponents.WizardStep;
66
+ var Sign = _export3.SignComponents.Sign;
67
+ var MyProjects = _export3.MyProjectsComonents.MyProjects;
41
68
  var toolbarW = 0;
42
69
  var wrapperStyle = {
43
70
  display: 'flex',
44
71
  flexFlow: 'row nowrap'
45
72
  };
73
+ var saveAlert = '';
46
74
  var KitchenConfigurator = /*#__PURE__*/function (_Component) {
47
75
  function KitchenConfigurator(props) {
48
- var _utmRequestData2, _utmRequestData3, _utmRequestData4, _utmRequestData5, _utmRequestData6, _utmRequestData7, _utmRequestData8, _utmRequestData9, _utmRequestData0;
76
+ var _this$props$match, _this$props$match2, _this$props$match3, _utmRequestData2, _utmRequestData3, _utmRequestData4, _utmRequestData5, _utmRequestData6, _utmRequestData7, _utmRequestData8, _utmRequestData9, _utmRequestData0;
49
77
  var _this;
50
78
  (0, _classCallCheck2["default"])(this, KitchenConfigurator);
51
79
  _this = _callSuper(this, KitchenConfigurator, [props]);
52
-
53
- // utm tracking
80
+ (0, _defineProperty2["default"])(_this, "debouncedSetIsSaved", _lodash["default"].debounce(function () {
81
+ return _this.setState({
82
+ isSaved: false
83
+ });
84
+ }, 200));
54
85
  (0, _defineProperty2["default"])(_this, "handleBeforeUnload", function (e) {
55
86
  var areas = _this.props.stateExtractor(_this.props.state).getIn(['scene', 'layers', _this.props.stateExtractor(_this.props.state).scene.selectedLayer, 'areas']);
56
87
  if (!_this.state.isSaved && areas.size > 0) {
@@ -96,7 +127,6 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
96
127
  myProjectsOpen: false,
97
128
  myProjectsToLogin: false,
98
129
  downloadPopupVisible: false,
99
- // For Toolbar Item
100
130
  toolbar: '',
101
131
  reviewQuotePopupOpened: false,
102
132
  floorOpened: false,
@@ -104,18 +134,16 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
104
134
  applianceOpened: false,
105
135
  finishingOpened: false,
106
136
  doorStyleOpen: false,
107
- wizardStepOpend: false,
137
+ 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,
108
138
  tutorialMouseEventsAdd: false,
109
139
  replaceCabinetFlag: false,
110
140
  isSnackBarOpen: false,
111
141
  isSnackBar1Open: false,
112
142
  redirectURL: '',
113
143
  snackBarMessage: '',
114
- isSaved: false,
144
+ 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),
115
145
  isLeaving: false
116
146
  };
117
-
118
- // For UTM tracking
119
147
  _this.utm = {
120
148
  utm_source: ((_utmRequestData2 = utmRequestData) === null || _utmRequestData2 === void 0 ? void 0 : _utmRequestData2.source) || 'source',
121
149
  utm_medium: ((_utmRequestData3 = utmRequestData) === null || _utmRequestData3 === void 0 ? void 0 : _utmRequestData3.medium) || 'medium',
@@ -127,6 +155,7 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
127
155
  fbclid: ((_utmRequestData9 = utmRequestData) === null || _utmRequestData9 === void 0 ? void 0 : _utmRequestData9.fbclid) || 'fbclid',
128
156
  ttclid: ((_utmRequestData0 = utmRequestData) === null || _utmRequestData0 === void 0 ? void 0 : _utmRequestData0.ttclid) || 'ttclid'
129
157
  };
158
+ _this.jwtCheck();
130
159
  _this.openFloor = _this.openFloor.bind(_this);
131
160
  _this.openCabinet = _this.openCabinet.bind(_this);
132
161
  _this.openFinishing = _this.openFinishing.bind(_this);
@@ -148,8 +177,6 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
148
177
  _this.setShowProperty = _this.setShowProperty.bind(_this);
149
178
  return _this;
150
179
  }
151
-
152
- // Toolbar control functions
153
180
  (0, _inherits2["default"])(KitchenConfigurator, _Component);
154
181
  return (0, _createClass2["default"])(KitchenConfigurator, [{
155
182
  key: "setToolbar",
@@ -329,12 +356,42 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
329
356
  this.setState({});
330
357
  document.getElementById('review_quote_inactive').parentElement.parentElement.style.zIndex = 6;
331
358
  }
359
+ }, {
360
+ key: "jwtCheck",
361
+ value: function jwtCheck() {
362
+ var _this2 = this;
363
+ _jwtService["default"].on('onAutoLogin', function () {
364
+ /**
365
+ * Sign in and retrieve user data from Api
366
+ */
367
+ _jwtService["default"].signInWithToken().then(function (user) {
368
+ //this.props.userActions.setUserData(user);
369
+ _this2.props.userActions.login(user.id, user.role, _jwtService["default"].getAccessToken(), _this2.utm);
370
+ //this.props.showMessage(option)
371
+ //this.props.showMessage({message: 'Logged in with token data', variant: 'success'});
372
+ //alert('Logged in with token data');
373
+ })["catch"](function (error) {
374
+ //this.props.showMessage({message: error});
375
+ _this2.setState({
376
+ isSnackBarOpen: true,
377
+ snackBarMessage: error
378
+ });
379
+ });
380
+ });
381
+ _jwtService["default"].on('onAutoLogout', function (message) {
382
+ if (message) {
383
+ //this.props.showMessage({message, variant: 'error'});
384
+ }
385
+ _this2.props.userActions.logout();
386
+ });
387
+ _jwtService["default"].init();
388
+ }
332
389
  }, {
333
390
  key: "getChildContext",
334
391
  value: function getChildContext() {
335
- var _this2 = this;
336
- return _objectSpread(_objectSpread({}, (0, _objectsUtils.objectsMap)(_export2["default"], function (actionNamespace) {
337
- return _this2.props[actionNamespace];
392
+ var _this3 = this;
393
+ return _objectSpread(_objectSpread({}, (0, _objectsUtils.objectsMap)(_export["default"], function (actionNamespace) {
394
+ return _this3.props[actionNamespace];
338
395
  })), {}, {
339
396
  translator: this.props.translator,
340
397
  catalog: this.props.catalog
@@ -350,12 +407,102 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
350
407
  var projectData = JSON.stringify(extractedState.get('scene').toJS());
351
408
  sessionStorage.setItem(window.location.href, projectData);
352
409
  }
410
+ }, {
411
+ key: "componentDidUpdate",
412
+ value: function componentDidUpdate(prevProps) {
413
+ // Only strip properties if the object is not null/undefined
414
+ function stripProperty(obj, properties) {
415
+ if (!obj) return obj;
416
+ var changed = false;
417
+ var newObj = _objectSpread({}, obj);
418
+ var _iterator = _createForOfIteratorHelper(properties),
419
+ _step;
420
+ try {
421
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
422
+ var prop = _step.value;
423
+ if (prop in newObj) {
424
+ delete newObj[prop];
425
+ changed = true;
426
+ }
427
+ }
428
+ } catch (err) {
429
+ _iterator.e(err);
430
+ } finally {
431
+ _iterator.f();
432
+ }
433
+ return changed ? newObj : obj;
434
+ }
435
+ var prevState = this.props.stateExtractor(prevProps.state);
436
+ var currState = this.props.stateExtractor(this.props.state);
437
+
438
+ // Only convert to JS once per items/areas/lines
439
+ var prevLayer = prevState.scene.selectedLayer;
440
+ var currLayer = currState.scene.selectedLayer;
441
+ var prevItems = prevState.getIn(['scene', 'layers', prevLayer, 'items']).toJS();
442
+ var currItems = currState.getIn(['scene', 'layers', currLayer, 'items']).toJS();
443
+ var prevItemsProps = Object.values(prevItems).map(function (_ref) {
444
+ var x = _ref.x,
445
+ y = _ref.y,
446
+ rotation = _ref.rotation;
447
+ return {
448
+ x: x,
449
+ y: y,
450
+ rotation: rotation
451
+ };
452
+ });
453
+ var currItemsProps = Object.values(currItems).map(function (_ref2) {
454
+ var x = _ref2.x,
455
+ y = _ref2.y,
456
+ rotation = _ref2.rotation;
457
+ return {
458
+ x: x,
459
+ y: y,
460
+ rotation: rotation
461
+ };
462
+ });
463
+ var prevDoorStyleRaw = prevState.getIn(['scene', 'layers', prevLayer, 'doorStyle']);
464
+ var currDoorStyleRaw = currState.getIn(['scene', 'layers', currLayer, 'doorStyle']);
465
+ var prevDoorStyle = stripProperty(prevDoorStyleRaw, ['doorStyles']);
466
+ var currDoorStyle = stripProperty(currDoorStyleRaw, ['doorStyles']);
467
+ var prevAreasRaw = prevState.getIn(['scene', 'layers', prevLayer, 'areas']).toJS();
468
+ var currAreasRaw = currState.getIn(['scene', 'layers', currLayer, 'areas']).toJS();
469
+ var prevAreas = stripProperty(Object.values(prevAreasRaw)[0], ['selected']);
470
+ var currAreas = stripProperty(Object.values(currAreasRaw)[0], ['selected']);
471
+ var prevLinesRaw = prevState.getIn(['scene', 'layers', prevLayer, 'lines']).toJS();
472
+ var currLinesRaw = currState.getIn(['scene', 'layers', currLayer, 'lines']).toJS();
473
+ var prevLines = stripProperty(Object.values(prevLinesRaw)[0], ['selected']);
474
+ var currLines = stripProperty(Object.values(currLinesRaw)[0], ['selected']);
475
+ var prevCeilingHeight = prevState.getIn(['scene', 'layers', prevLayer, 'ceilHeight']);
476
+ var currCeilingHeight = currState.getIn(['scene', 'layers', currLayer, 'ceilHeight']);
477
+ var changed = !_lodash["default"].isEqual(prevItemsProps, currItemsProps) || !_lodash["default"].isEqual(prevDoorStyle, currDoorStyle) || !_lodash["default"].isEqual(prevAreas, currAreas) || !_lodash["default"].isEqual(prevLines, currLines) || prevCeilingHeight !== currCeilingHeight;
478
+ if (changed) {
479
+ this.debouncedSetIsSaved();
480
+ var currentItemsLength = Object.keys(currItems).length;
481
+ var prevItemsLength = Object.keys(prevItems).length;
482
+ // make sure prompt appears only when adding cabinets
483
+ var allowedItemLengths = [5, 10, 15];
484
+ if (prevItemsLength === currentItemsLength - 1 && currentItemsLength === 1) {
485
+ _ga.GA.events.cabinetPlaced();
486
+ }
487
+ if (allowedItemLengths.includes(currentItemsLength) && prevItemsLength === currentItemsLength - 1 && !this.props.match.params.token) {
488
+ this.setState({
489
+ savePromptVisible: true
490
+ });
491
+ }
492
+ }
493
+ }
353
494
  }, {
354
495
  key: "componentDidMount",
355
496
  value: function componentDidMount() {
356
- var _this3 = this;
497
+ var _this4 = this;
498
+ var cross = _ga.GA.deriveCrossAuthFromUrl(window.location.search);
499
+ var entry = _ga.GA.deriveProjectEntry();
500
+ _ga.GA.bootSessionContext({
501
+ projectEntry: entry,
502
+ crossAuth: cross
503
+ });
504
+ _reactHotjar.hotjar.event && _reactHotjar.hotjar.event("pageview:".concat((0, _helper.getPath)()));
357
505
  window.addEventListener('beforeunload', this.handleBeforeUnload);
358
- console.log('context =>', this.context);
359
506
  window.forRedo = [];
360
507
  var store = this.context.store;
361
508
  var _this$props2 = this.props,
@@ -373,7 +520,7 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
373
520
  return;
374
521
  }
375
522
  if (match && match.params.pid === undefined) {
376
- var newplugins = [].concat((0, _toConsumableArray2["default"])(plugins), [(0, _export.Autosave)('KitchenConfigurator_v0', false)]);
523
+ var newplugins = (0, _toConsumableArray2["default"])(plugins);
377
524
  newplugins.forEach(function (newplugin) {
378
525
  return newplugin(store, stateExtractor);
379
526
  });
@@ -402,7 +549,7 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
402
549
  pid: match.params.pid,
403
550
  visualizerName: sessionStorage.getItem('visualizerName')
404
551
  }).then(/*#__PURE__*/function () {
405
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(response) {
552
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(response) {
406
553
  var projectElement, jsonData, _t;
407
554
  return _regenerator["default"].wrap(function (_context) {
408
555
  while (1) switch (_context.prev = _context.next) {
@@ -441,13 +588,13 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
441
588
  case 4:
442
589
  _context.prev = 4;
443
590
  _t = _context["catch"](2);
444
- _this3.setState({
591
+ _this4.setState({
445
592
  isSnackBarOpen: true,
446
593
  snackBarMessage: _t
447
594
  });
448
595
  case 5:
449
596
  jsonData.isLoadingCabinet = false;
450
- projectActions.loadProject(jsonData, _this3.props.categoryData);
597
+ projectActions.loadProject(jsonData, _this4.props.categoryData);
451
598
  case 6:
452
599
  case "end":
453
600
  return _context.stop();
@@ -455,7 +602,7 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
455
602
  }, _callee, null, [[2, 4]]);
456
603
  }));
457
604
  return function (_x) {
458
- return _ref.apply(this, arguments);
605
+ return _ref3.apply(this, arguments);
459
606
  };
460
607
  }());
461
608
  }
@@ -495,33 +642,159 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
495
642
  return layer.areas.size + layer.lines.size + layer.holes.size + layer.items.size === 0;
496
643
  }
497
644
  }, {
498
- key: "render",
499
- value: function render() {
645
+ key: "handleSaveDesign",
646
+ value: function handleSaveDesign(value) {
500
647
  var _this$props3 = this.props,
501
- width = _this$props3.width,
502
- height = _this$props3.height,
503
- state = _this$props3.state,
504
648
  stateExtractor = _this$props3.stateExtractor,
505
- props = (0, _objectWithoutProperties2["default"])(_this$props3, _excluded);
649
+ state = _this$props3.state;
650
+ var plannerState = stateExtractor(state);
651
+ var items = plannerState.getIn(['scene', 'layers', 'layer-1', 'items']);
652
+ var areas = plannerState.getIn(['scene', 'layers', 'layer-1', 'areas']);
653
+ if (areas.size === 0) {
654
+ this.setState({
655
+ isSnackBarOpen: true,
656
+ snackBarMessage: 'Your project is empty.'
657
+ });
658
+ return;
659
+ }
660
+ // if (items.size === 0) {
661
+ // saveAlert = <StyledAlert text={<span style={{fontSize: 16, fontFamily: DEFAULT_FONT_FAMILY}}>Add at least one item</span>} onClose={() => saveAlert = ""} />
662
+ // return;
663
+ // } else saveAlert = '';
664
+ this.setState({
665
+ reviewQuotePopupOpened: false
666
+ });
667
+ this.setState({
668
+ savePopupVisible: value
669
+ });
670
+ this.setState({
671
+ assistPopupVisible: false
672
+ });
673
+ this.setState({
674
+ newProjectPopupVisible: false
675
+ });
676
+ this.setState({
677
+ savePromptVisible: false
678
+ });
679
+ this.setState({
680
+ submitPromptVisible: false
681
+ });
682
+ }
683
+ }, {
684
+ key: "handleNewProject",
685
+ value: function handleNewProject(value) {
686
+ this.setState({
687
+ reviewQuotePopupOpened: false
688
+ });
689
+ this.setState({
690
+ savePopupVisible: false
691
+ });
692
+ this.setState({
693
+ quotePopupVisible: false
694
+ });
695
+ this.setState({
696
+ assistPopupVisible: false
697
+ });
698
+ this.setState({
699
+ newProjectPopupVisible: value
700
+ });
701
+ }
702
+ }, {
703
+ key: "handleSubmitForQuote",
704
+ value: function handleSubmitForQuote(isVisible) {
705
+ var submitType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : constants.SUBMIT_REQUEST_ASSIST;
706
+ var items = this.props.stateExtractor(this.props.state).getIn(['scene', 'layers', this.props.stateExtractor(this.props.state).scene.selectedLayer, 'items']);
707
+ if (submitType === constants.SUBMIT_ADD_CART) {
708
+ this.setToolbar('reviewforquote');
709
+ }
710
+ if (submitType === constants.SUBMIT_ADD_CART && !items.size) {
711
+ this.setState({
712
+ isSnackBarOpen: true,
713
+ snackBarMessage: 'Your project is empty. Please add at least one item.'
714
+ });
715
+ } else {
716
+ this.setState({
717
+ reviewQuotePopupOpened: false
718
+ });
719
+ this.setState({
720
+ savePopupVisible: false
721
+ });
722
+ this.setState({
723
+ quotePopupVisible: isVisible
724
+ });
725
+ this.setState({
726
+ submitTosave: false
727
+ });
728
+ this.setState({
729
+ assistPopupVisible: false
730
+ });
731
+ this.setState({
732
+ newProjectPopupVisible: false
733
+ });
734
+ this.setState({
735
+ stateSubmitType: submitType
736
+ });
737
+ }
738
+ }
739
+ }, {
740
+ key: "findDelkeys",
741
+ value: function findDelkeys(obj, deleteKeys, path) {
742
+ if ((0, _typeof2["default"])(obj) === 'object') {
743
+ var allkeys = Object.keys(obj);
744
+ for (var i = 0; i < allkeys.length; i++) {
745
+ var value = obj[allkeys[i]];
746
+ if ((0, _utils.isEmpty)(value)) {
747
+ deleteKeys.push({
748
+ path: path,
749
+ key: allkeys[i]
750
+ });
751
+ } else if ((0, _typeof2["default"])(value) === 'object') {
752
+ var newPath = path + allkeys[i] + ',';
753
+ this.findDelkeys(value, deleteKeys, newPath);
754
+ }
755
+ }
756
+ } else if ((0, _utils.isEmpty)(obj)) {
757
+ var tmpkey = path.split(',');
758
+ deleteKeys.push({
759
+ path: path,
760
+ key: tmpkey[tmpkey.length - 1]
761
+ });
762
+ }
763
+ }
764
+ }, {
765
+ key: "render",
766
+ value: function render() {
767
+ var _this5 = this;
768
+ var _this$props4 = this.props,
769
+ width = _this$props4.width,
770
+ height = _this$props4.height,
771
+ state = _this$props4.state,
772
+ stateExtractor = _this$props4.stateExtractor,
773
+ props = (0, _objectWithoutProperties2["default"])(_this$props4, _excluded);
506
774
  var _this$state = this.state,
507
775
  savePopupVisible = _this$state.savePopupVisible,
508
776
  quotePopupVisible = _this$state.quotePopupVisible,
509
777
  assistPopupVisible = _this$state.assistPopupVisible,
778
+ newProjectPopupVisible = _this$state.newProjectPopupVisible,
779
+ savePromptVisible = _this$state.savePromptVisible,
780
+ isLeaving = _this$state.isLeaving,
781
+ submitPromptVisible = _this$state.submitPromptVisible,
782
+ stateSubmitType = _this$state.stateSubmitType,
783
+ submitTosave = _this$state.submitTosave,
510
784
  signOpen = _this$state.signOpen,
511
- myProjectsOpen = _this$state.myProjectsOpen;
785
+ myProjectsOpen = _this$state.myProjectsOpen,
786
+ myProjectsToLogin = _this$state.myProjectsToLogin,
787
+ downloadPopupVisible = _this$state.downloadPopupVisible;
512
788
  var contentW = width - toolbarW;
513
789
  var categoryData = this.props.categoryData;
514
- // console.log(categoryData);
515
- // let contentW = width - toolbarW - sidebarW;
516
- // let toolbarH = height - footerBarH;
517
- // let contentH = height - footerBarH;
518
- // let sidebarH = height - footerBarH;
519
790
  var toolbarH = height;
520
791
  var contentH = height;
521
792
  var sidebarH = height;
522
793
  var headerW = width;
523
794
  var headerH = 60;
795
+ var userInfo = this.props.match ? this.props.match.params : [];
524
796
  var extractedState = stateExtractor(state);
797
+ //console.log('KC state - mode: ', extractedState.mode);
525
798
  var doorStyle = extractedState.get('doorStyle');
526
799
  if (extractedState.getIn(['scene', 'layers', extractedState.scene.selectedLayer, 'doorStyle']) !== undefined && extractedState.getIn(['scene', 'layers', extractedState.scene.selectedLayer, 'doorStyle']) !== null) {
527
800
  var extractedStateData = extractedState.getIn(['scene', 'layers', extractedState.scene.selectedLayer, 'doorStyle']);
@@ -532,12 +805,7 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
532
805
  var item = style.items.find(function (it) {
533
806
  return it.id === extractedStateData.id;
534
807
  });
535
- if (item) {
536
- colorItem = item;
537
- return true;
538
- } else {
539
- return false;
540
- }
808
+ return !!item;
541
809
  });
542
810
  });
543
811
  }
@@ -567,13 +835,437 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
567
835
  extractedState = extractedState.merge({
568
836
  viewer2D: _viewer2D
569
837
  });
570
- return /*#__PURE__*/_react["default"].createElement("section", null, /*#__PURE__*/_react["default"].createElement("div", {
838
+ var history = this.props.history;
839
+ var handleContinueQuote = function handleContinueQuote() {
840
+ _this5.setToolbar('reviewforquote');
841
+ _this5.setState({
842
+ savePopupVisible: false,
843
+ quotePopupVisible: true
844
+ });
845
+ };
846
+ var newProject = function newProject() {
847
+ _this5.props.projectActions.newProject();
848
+ sessionStorage.setItem('projectTitle', 'Untitled');
849
+ _this5.props.projectActions.rename('Untitled');
850
+ sessionStorage.removeItem('projectId');
851
+ sessionStorage.removeItem('usedObjects');
852
+ var visualizerName = sessionStorage.getItem('visualizerName');
853
+ var originalAccessToken = _localstorageSlim["default"].get(_constants.LOCAL_STORAGE_ORIGINAL_TOKEN);
854
+ var tokenName = _localstorageSlim["default"].get(_constants.LOCAL_STORAGE_TOKEN_NAME);
855
+ var pathname = "/".concat(visualizerName);
856
+ if (tokenName && originalAccessToken) {
857
+ pathname += "?".concat(tokenName).concat(originalAccessToken);
858
+ }
859
+ history.push({
860
+ pathname: pathname
861
+ });
862
+ _this5.setState({
863
+ wizardStepOpend: false
864
+ });
865
+ };
866
+
867
+ /**
868
+ * @description Save Projects
869
+ * @param {{email,firstName,lastName,notes,projectName}} param Project information to save
870
+ */
871
+ var saveProject = /*#__PURE__*/function () {
872
+ var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(param) {
873
+ var _state2, _state3;
874
+ 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;
875
+ return _regenerator["default"].wrap(function (_context2) {
876
+ while (1) switch (_context2.prev = _context2.next) {
877
+ case 0:
878
+ rlt = {
879
+ success: false
880
+ }; // Get storage info
881
+ title = sessionStorage.getItem('projectTitle');
882
+ projectId = sessionStorage.getItem('projectId');
883
+ projectTitle = param && param.projectName || title || "Project-".concat(new Date().toLocaleString());
884
+ utm = _this5.utm; // State
885
+ state = _export2.Project.unselectAll(extractedState).updatedState;
886
+ _state = state, scene = _state.scene;
887
+ state = state.merge({
888
+ scene: scene.merge({
889
+ title: projectTitle
890
+ })
891
+ });
892
+
893
+ // Set storage info
894
+ sessionStorage.setItem('projectTitle', projectTitle);
895
+ props.projectActions.rename(projectTitle);
896
+
897
+ // Filter cds
898
+ itemData = state.getIn(['scene', 'layers', state.get('scene').toJS().selectedLayer, 'items']).toArray();
899
+ itemData.forEach(function (it) {
900
+ var _item$doorStyle;
901
+ var item = it.toJS();
902
+ var doorStyles = item === null || item === void 0 || (_item$doorStyle = item.doorStyle) === null || _item$doorStyle === void 0 ? void 0 : _item$doorStyle.doorStyles;
903
+
904
+ // Skip if no doorStyles data at all
905
+ if (!doorStyles) return;
906
+ var newCDSdata = Array.isArray(doorStyles.cds) ? doorStyles.cds.filter(function (it1) {
907
+ return it1.cabinet_door_style_id === doorStyles.cabinet_door_style_id;
908
+ }) : [];
909
+ var layerId = state.get('scene').toJS().selectedLayer;
910
+ var basePath = ['scene', 'layers', layerId, 'items', it.id, 'doorStyle', 'doorStyles'];
911
+ if (state.hasIn(basePath)) {
912
+ state = state.setIn([].concat(basePath, ['cds']), newCDSdata);
913
+ }
914
+ });
915
+
916
+ // Delete null values
917
+ newScene = state.getIn(['scene']);
918
+ deleteKeys = [];
919
+ _this5.findDelkeys(newScene.toJS(), deleteKeys, '');
920
+ for (i = 0; i < deleteKeys.length; i++) {
921
+ tmp = newScene.toJS();
922
+ deletePath = deleteKeys[i].path.split(',');
923
+ for (j = 0; j < deletePath.length; j++) {
924
+ if (!(0, _utils.isEmpty)(deletePath[j])) {
925
+ tmp = tmp[deletePath[j]];
926
+ }
927
+ }
928
+ if (deletePath.length >= 2) {
929
+ delete tmp[deleteKeys[i].key];
930
+ deletePath.pop();
931
+ if (!(0, _utils.isEmpty)(newScene.getIn(deletePath))) newScene = newScene.setIn(deletePath, tmp);
932
+ } else {
933
+ newScene = newScene["delete"](deleteKeys[i].key);
934
+ }
935
+ }
936
+ state = state.setIn(['scene'], newScene);
937
+
938
+ // Data to save
939
+ projectData = JSON.stringify(state.get('scene').toJS());
940
+ 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;
941
+ _context2.prev = 1;
942
+ originalAccessToken = _localstorageSlim["default"].get(_constants.LOCAL_STORAGE_ORIGINAL_TOKEN);
943
+ tokenName = _localstorageSlim["default"].get(_constants.LOCAL_STORAGE_TOKEN_NAME);
944
+ _context2.next = 2;
945
+ return _axios["default"].post('/api/project/saveProject', _objectSpread(_objectSpread({
946
+ pid: projectId,
947
+ title: projectTitle,
948
+ mode: _constants.MODE,
949
+ access_token: userInfo.token ? userInfo.token : null,
950
+ userrole: userInfo.role ? userInfo.role : null,
951
+ saveData: _objectSpread(_objectSpread(_objectSpread({}, param), utm), {}, {
952
+ projectData: projectData,
953
+ object_count: object_count
954
+ }),
955
+ url: window.location.hostname,
956
+ visualizerName: sessionStorage.getItem('visualizerName')
957
+ }, originalAccessToken ? {
958
+ original_token: originalAccessToken
959
+ } : undefined), tokenName ? {
960
+ query_params_token_prefix: tokenName
961
+ } : undefined));
962
+ case 2:
963
+ response = _context2.sent;
964
+ _response$data = response.data, success = _response$data.success, message = _response$data.message, userData = _response$data.userData, access_token = _response$data.access_token;
965
+ if (success === true) {
966
+ rlt.success = true;
967
+ insertId = response.data.execResult.insertId;
968
+ currentProjectID = insertId !== 0 ? insertId : state.getIn(['scene', 'currentProjectID']); // Set storage data
969
+ sessionStorage.setItem('projectId', currentProjectID);
970
+ sessionStorage.setItem('email', param.email);
971
+ sessionStorage.setItem('phone', param.phone);
972
+ sessionStorage.setItem('firstName', param.firstName);
973
+ sessionStorage.setItem('lastName', param.lastName);
974
+ props.projectActions.setProjectID({
975
+ currentProjectID: currentProjectID
976
+ });
977
+ _export["default"].userActions.login(userData[0].id, userData[0].role, access_token, utm);
978
+ _this5.setState({
979
+ toolbar: _this5.state.toolbar,
980
+ isSaved: true,
981
+ isSnackBarOpen: true,
982
+ snackBarMessage: 'Your project has been saved. </br> You can now request <b>Designer Assistance</b> or <b>Add to Cart</b>'
983
+ });
984
+ _ga.GA.events.projectSaved(currentProjectID, 'manual');
985
+ _posthog.PH.projectSaved(currentProjectID);
986
+ if (_this5.state.submitTosave) {
987
+ handleContinueQuote();
988
+ }
989
+ } else {
990
+ rlt.success = false;
991
+ rlt.message = message;
992
+ _this5.setState({
993
+ isSnackBarOpen: true,
994
+ snackBarMessage: "Failed to add project data: ".concat(message)
995
+ });
996
+ }
997
+ _context2.next = 4;
998
+ break;
999
+ case 3:
1000
+ _context2.prev = 3;
1001
+ _t2 = _context2["catch"](1);
1002
+ rlt.success = false;
1003
+ console.error(_t2);
1004
+ _this5.setState({
1005
+ isSnackBarOpen: true,
1006
+ snackBarMessage: 'Failed to add project data.'
1007
+ });
1008
+ case 4:
1009
+ return _context2.abrupt("return", rlt);
1010
+ case 5:
1011
+ case "end":
1012
+ return _context2.stop();
1013
+ }
1014
+ }, _callee2, null, [[1, 3]]);
1015
+ }));
1016
+ return function saveProject(_x2) {
1017
+ return _ref4.apply(this, arguments);
1018
+ };
1019
+ }();
1020
+ var pidSplit = userInfo.pid && userInfo.pid.indexOf('?');
1021
+ // If pidSplit is undefined pid is undefined
1022
+ var pid = pidSplit === undefined || pidSplit === -1 ? userInfo.pid : userInfo.pid.slice(0, pidSplit);
1023
+ var submitForQuote = /*#__PURE__*/function () {
1024
+ var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(param) {
1025
+ var rlt, apiUrl, extraFormData, originalAccessToken, tokenName, customerRequests, notes, response, _response$data2, success, message, redirect_url, _summarizeItems, totalCount, totalPrice, _t3;
1026
+ return _regenerator["default"].wrap(function (_context3) {
1027
+ while (1) switch (_context3.prev = _context3.next) {
1028
+ case 0:
1029
+ rlt = {
1030
+ success: false
1031
+ };
1032
+ if (userInfo.token) {
1033
+ _context3.next = 1;
1034
+ break;
1035
+ }
1036
+ _this5.setState({
1037
+ isSnackBarOpen: true,
1038
+ snackBarMessage: 'You should save the project first.'
1039
+ });
1040
+ return _context3.abrupt("return");
1041
+ case 1:
1042
+ apiUrl = '';
1043
+ if (param.flag === constants.SUBMIT_REQUEST_ASSIST) {
1044
+ apiUrl = "".concat(_constants.API_SERVER_URL, "/api/project/submitProject");
1045
+ } else if (param.flag === constants.SUBMIT_ADD_CART) {
1046
+ apiUrl = "".concat(_constants.API_SERVER_URL, "/api/project/addCart");
1047
+ }
1048
+ _context3.prev = 2;
1049
+ extraFormData = {
1050
+ userType: sessionStorage.getItem('user_type') || '',
1051
+ designType: sessionStorage.getItem('project_type') || '',
1052
+ startTime: sessionStorage.getItem('project_timeline') || ''
1053
+ };
1054
+ originalAccessToken = _localstorageSlim["default"].get(_constants.LOCAL_STORAGE_ORIGINAL_TOKEN);
1055
+ tokenName = _localstorageSlim["default"].get(_constants.LOCAL_STORAGE_TOKEN_NAME);
1056
+ customerRequests = param.customer_requests;
1057
+ notes = customerRequests.notes;
1058
+ _context3.next = 3;
1059
+ return _axios["default"].post(apiUrl, {
1060
+ access_token: userInfo.token,
1061
+ data: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, param), extraFormData.userType ? {
1062
+ user_type: extraFormData.userType
1063
+ } : undefined), extraFormData.designType ? {
1064
+ project_type: extraFormData.designType
1065
+ } : undefined), extraFormData.startTime ? {
1066
+ project_timeline: extraFormData.startTime
1067
+ } : undefined), {}, {
1068
+ cart_total: parseFloat(sessionStorage.getItem('cart_total')),
1069
+ client_name: sessionStorage.getItem('visualizerName'),
1070
+ user_token: _localstorageSlim["default"].get(_constants.LOCAL_STORAGE_TOKEN_VALUE),
1071
+ cart_action_type: _localstorageSlim["default"].get(_constants.LOCAL_STORAGE_CART_ACTION),
1072
+ customer_requests: Object.values(customerRequests.reviewOptions).filter(Boolean).join(', ')
1073
+ }, param.flag === constants.SUBMIT_ADD_CART ? {
1074
+ cart_notes: notes
1075
+ } : {
1076
+ designer_notes: notes
1077
+ }), {}, {
1078
+ question_add_to_cart: param.flag === constants.SUBMIT_ADD_CART
1079
+ }, originalAccessToken ? {
1080
+ original_token: originalAccessToken
1081
+ } : undefined), tokenName ? {
1082
+ query_params_token_prefix: tokenName
1083
+ } : undefined),
1084
+ num: true,
1085
+ projectid: pid,
1086
+ search: _this5.props.location.search,
1087
+ userrole: userInfo.role,
1088
+ url: window.location.hostname
1089
+ });
1090
+ case 3:
1091
+ response = _context3.sent;
1092
+ _response$data2 = response.data, success = _response$data2.success, message = _response$data2.message, redirect_url = _response$data2.redirect_url;
1093
+ if (success) {
1094
+ rlt.success = true;
1095
+ param.email && sessionStorage.setItem('email', param.email);
1096
+ param.phone && sessionStorage.setItem('phone', param.phone);
1097
+ _this5.setState({
1098
+ redirectURL: redirect_url,
1099
+ isSnackBarOpen: true,
1100
+ 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' : ''),
1101
+ isSnackBar1Open: param.flag === constants.SUBMIT_ADD_CART
1102
+ });
1103
+ try {
1104
+ if (param.flag === constants.SUBMIT_REQUEST_ASSIST) {
1105
+ _ga.GA.events.assistanceRequested('manual', pid);
1106
+ _posthog.PH.assistanceRequested('manual', pid);
1107
+ } else {
1108
+ _summarizeItems = (0, _summarizeCart.summarizeItems)(JSON.parse(sessionStorage.getItem('usedObjects'))), totalCount = _summarizeItems.totalCount, totalPrice = _summarizeItems.totalPrice;
1109
+ _ga.GA.events.addToCart(pid, totalCount, totalPrice);
1110
+ _posthog.PH.addToCart(pid, totalCount, totalPrice);
1111
+ }
1112
+ } catch (e) {
1113
+ console.log('Error logging GA event', e);
1114
+ }
1115
+ } else {
1116
+ rlt.success = false;
1117
+ rlt.message = message;
1118
+ _this5.setState({
1119
+ isSnackBarOpen: true,
1120
+ snackBarMessage: "".concat(param.flag === constants.SUBMIT_REQUEST_ASSIST ? 'Submitting project' : 'Adding to cart', " failed: ").concat(message)
1121
+ });
1122
+ }
1123
+ _context3.next = 5;
1124
+ break;
1125
+ case 4:
1126
+ _context3.prev = 4;
1127
+ _t3 = _context3["catch"](2);
1128
+ rlt.success = false;
1129
+ console.log('err', _t3);
1130
+ _this5.setState({
1131
+ isSnackBarOpen: true,
1132
+ snackBarMessage: "".concat(param.flag === constants.SUBMIT_REQUEST_ASSIST ? 'Submitting project' : 'Adding to cart', " failed.")
1133
+ });
1134
+ case 5:
1135
+ return _context3.abrupt("return", rlt);
1136
+ case 6:
1137
+ case "end":
1138
+ return _context3.stop();
1139
+ }
1140
+ }, _callee3, null, [[2, 4]]);
1141
+ }));
1142
+ return function submitForQuote(_x3) {
1143
+ return _ref5.apply(this, arguments);
1144
+ };
1145
+ }();
1146
+ return /*#__PURE__*/_react["default"].createElement("section", null, /*#__PURE__*/_react["default"].createElement(_Snackbar["default"], {
1147
+ isOpen: this.state.isSnackBarOpen,
1148
+ message: this.state.snackBarMessage,
1149
+ handleClose: function handleClose() {
1150
+ return _this5.setState({
1151
+ isSnackBarOpen: false,
1152
+ snackBarMessage: ''
1153
+ });
1154
+ },
1155
+ autoHideDuration: 10000
1156
+ }), /*#__PURE__*/_react["default"].createElement(_Snackbar["default"], {
1157
+ style: {
1158
+ marginTop: this.state.isSnackBarOpen ? 75 : 'unset'
1159
+ },
1160
+ isOpen: this.state.isSnackBar1Open,
1161
+ message: "The items in your design have been added to your shopping cart at ".concat(_constants.CLIENTS_NAME[sessionStorage.getItem('visualizerName')], ". <br />Please log in with the same email address."),
1162
+ autoHideDuration: 20000,
1163
+ action: /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("a", {
1164
+ href: this.state.redirectURL,
1165
+ target: "_blank",
1166
+ style: {
1167
+ fontFamily: _constants.DEFAULT_FONT_FAMILY,
1168
+ color: _constants.PRIMARY_GREEN_COLOR,
1169
+ fontWeight: 700,
1170
+ marginRight: 10
1171
+ }
1172
+ }, "View Cart"), /*#__PURE__*/_react["default"].createElement("img", {
1173
+ onClick: function onClick() {
1174
+ return _this5.setState({
1175
+ isSnackBar1Open: false
1176
+ });
1177
+ },
1178
+ style: {
1179
+ "float": 'right',
1180
+ height: 24,
1181
+ cursor: 'pointer'
1182
+ },
1183
+ src: "/assets/img/svg/close.svg"
1184
+ }))
1185
+ }), /*#__PURE__*/_react["default"].createElement("div", {
571
1186
  style: _objectSpread(_objectSpread({}, wrapperStyle), {}, {
572
- height: height,
573
- display: 'flex',
574
- justifyContent: 'center'
1187
+ height: height
575
1188
  })
576
- }, /*#__PURE__*/_react["default"].createElement(_export3.Content, (0, _extends2["default"])({
1189
+ }, /*#__PURE__*/_react["default"].createElement(Header, (0, _extends2["default"])({
1190
+ isTokenPresent: !!this.props.match.params.token,
1191
+ isSaved: this.state.isSaved,
1192
+ width: headerW,
1193
+ height: headerH,
1194
+ state: extractedState,
1195
+ reviewQuoteHandler: this.onReviewQuoteClicked.bind(this),
1196
+ handleSaveDesign: this.handleSaveDesign.bind(this),
1197
+ handleSubmitForQuote: this.handleSubmitForQuote.bind(this),
1198
+ handleNewProject: this.handleNewProject.bind(this),
1199
+ handleSubmitPrompt: function handleSubmitPrompt(submitType) {
1200
+ _this5.setState({
1201
+ submitPromptVisible: true
1202
+ });
1203
+ _this5.setState({
1204
+ stateSubmitType: submitType
1205
+ });
1206
+ },
1207
+ logoImage: this.props.logoImage,
1208
+ companyURL: this.props.companyURL,
1209
+ setToolbar: this.setToolbar,
1210
+ saveProject: saveProject,
1211
+ newProject: newProject,
1212
+ isModalVisible: this.state.isModalVisible,
1213
+ allVisible: allVisible,
1214
+ wizardStepOpend: firstVisit
1215
+ }, props)), signOpen && /*#__PURE__*/_react["default"].createElement(Sign, {
1216
+ setSignOpen: this.setSignOpen.bind(this),
1217
+ setMyProjectsOpen: this.setMyProjectsOpen.bind(this),
1218
+ setMyProjectsToLogin: this.setMyProjectsToLogin.bind(this),
1219
+ myProjectsToLogin: myProjectsToLogin
1220
+ }), !allVisible &&
1221
+ /*#__PURE__*/
1222
+ // left side bar & top tools bar
1223
+ _react["default"].createElement(Toolbar, (0, _extends2["default"])({
1224
+ width: toolbarW,
1225
+ content: contentW,
1226
+ height: toolbarH,
1227
+ headerH: headerH,
1228
+ state: extractedState,
1229
+ layers: extractedState.scene.layers,
1230
+ selectedLayer: extractedState.scene.selectedLayer
1231
+ }, props, {
1232
+ handleSaveDesign: this.handleSaveDesign.bind(this),
1233
+ handleSubmitForQuote: this.handleSubmitForQuote.bind(this),
1234
+ handleNewProject: this.handleNewProject.bind(this),
1235
+ handleSubmitPrompt: function handleSubmitPrompt(submitType) {
1236
+ _this5.setState({
1237
+ submitPromptVisible: true
1238
+ });
1239
+ _this5.setState({
1240
+ stateSubmitType: submitType
1241
+ });
1242
+ },
1243
+ toolBar: this.state.toolbar,
1244
+ setToolbar: this.setToolbar,
1245
+ setDownloadPopupVisible: this.setDownloadPopupVisible.bind(this),
1246
+ openFloor: this.openFloor,
1247
+ openCabinet: this.openCabinet,
1248
+ openAppliance: this.openAppliance,
1249
+ openFinishing: this.openFinishing,
1250
+ closeFloorTB: this.closeFloorTB,
1251
+ closeCabinetTB: this.closeCabinetTB,
1252
+ closeFinishingTB: this.closeFinishingTB,
1253
+ closeApplianceTB: this.closeApplianceTB,
1254
+ setShowProperty: this.setShowProperty,
1255
+ reviewQuotePopupOpened: this.state.reviewQuotePopupOpened,
1256
+ isShowProperty: this.state.isShowProperty,
1257
+ categoryData: this.props.categoryData,
1258
+ floorOpened: this.state.floorOpened,
1259
+ cabinetOpened: this.state.cabinetOpened,
1260
+ applianceOpened: this.state.applianceOpened,
1261
+ finishingOpened: this.state.finishingOpened,
1262
+ doorStyleOpen: this.state.doorStyleOpen,
1263
+ toggleDoorStyle: this.toggleDoorStyle,
1264
+ onReviewQuoteClicked: this.onReviewQuoteClicked,
1265
+ wizardStepOpend: firstVisit,
1266
+ replaceCabinetFlag: this.state.replaceCabinetFlag,
1267
+ replaceCabinet: this.replaceCabinet
1268
+ })), /*#__PURE__*/_react["default"].createElement(_export3.Content, (0, _extends2["default"])({
577
1269
  width: contentW,
578
1270
  height: contentH,
579
1271
  catalog: this.props.catalog,
@@ -586,7 +1278,78 @@ var KitchenConfigurator = /*#__PURE__*/function (_Component) {
586
1278
  onWheel: function onWheel(event) {
587
1279
  return event.preventDefault();
588
1280
  }
589
- }))));
1281
+ })), !allVisible && /*#__PURE__*/_react["default"].createElement(FooterBar, (0, _extends2["default"])({
1282
+ content: contentW,
1283
+ setToolbar: this.setToolbar,
1284
+ layers: extractedState.scene.layers,
1285
+ setShowProperty: this.setShowProperty,
1286
+ state: extractedState,
1287
+ selectedLayer: extractedState.scene.selectedLayer
1288
+ }, props)), firstVisit && /*#__PURE__*/_react["default"].createElement(WizardStep, (0, _extends2["default"])({
1289
+ key: "first-setting",
1290
+ content: contentW,
1291
+ layers: extractedState.scene.layers,
1292
+ close: function close() {
1293
+ return _this5.setState({
1294
+ wizardStepOpend: false
1295
+ });
1296
+ },
1297
+ state: extractedState,
1298
+ setMyProjectsToLogin: this.setMyProjectsToLogin.bind(this),
1299
+ setSignOpen: this.setSignOpen.bind(this),
1300
+ selectedLayer: extractedState.scene.selectedLayer,
1301
+ setMyProjectsOpen: this.setMyProjectsOpen.bind(this)
1302
+ }, props)), myProjectsOpen && /*#__PURE__*/_react["default"].createElement(MyProjects, (0, _extends2["default"])({
1303
+ setMyProjectsOpen: this.setMyProjectsOpen.bind(this)
1304
+ }, props)), /*#__PURE__*/_react["default"].createElement(_savedesign["default"], (0, _extends2["default"])({
1305
+ visible: savePopupVisible,
1306
+ submitTosave: submitTosave,
1307
+ handleSaveDesign: this.handleSaveDesign.bind(this),
1308
+ saveProject: saveProject,
1309
+ state: extractedState
1310
+ }, props)), /*#__PURE__*/_react["default"].createElement(_submitforquote["default"], (0, _extends2["default"])({
1311
+ categoryData: categoryData,
1312
+ curDoorStyle: doorStyle,
1313
+ handleSubmitForQuote: this.handleSubmitForQuote.bind(this),
1314
+ submitForQuote: submitForQuote,
1315
+ visible: quotePopupVisible,
1316
+ setDoorStyle: this.props.itemsActions.setDoorStyle,
1317
+ submitType: stateSubmitType
1318
+ }, props)), /*#__PURE__*/_react["default"].createElement(_newproject["default"], {
1319
+ isSaved: this.state.isSaved,
1320
+ visible: newProjectPopupVisible,
1321
+ handleNewProject: this.handleNewProject.bind(this),
1322
+ newProject: newProject,
1323
+ areas: extractedState.getIn(['scene', 'layers', extractedState.scene.selectedLayer, 'areas'])
1324
+ }), /*#__PURE__*/_react["default"].createElement(_index["default"], {
1325
+ visible: submitPromptVisible,
1326
+ submitType: stateSubmitType,
1327
+ handleOk: function handleOk(value) {
1328
+ return _this5.handleSaveDesign(value) || _this5.setState({
1329
+ submitTosave: true
1330
+ });
1331
+ },
1332
+ handleClose: function handleClose() {
1333
+ _this5.setState({
1334
+ submitPromptVisible: false
1335
+ });
1336
+ }
1337
+ }), /*#__PURE__*/_react["default"].createElement(_autosaveprompt["default"], {
1338
+ isLeaving: isLeaving,
1339
+ visible: savePromptVisible,
1340
+ handleOk: this.handleSaveDesign.bind(this),
1341
+ handleClose: function handleClose() {
1342
+ return _this5.setState({
1343
+ savePromptVisible: false,
1344
+ submitTosave: false
1345
+ });
1346
+ }
1347
+ }), /*#__PURE__*/_react["default"].createElement(_downloadsummary["default"], (0, _extends2["default"])({
1348
+ visible: downloadPopupVisible,
1349
+ state: extractedState,
1350
+ catalog: this.props.catalog,
1351
+ setDownloadPopupVisible: this.setDownloadPopupVisible.bind(this)
1352
+ }, props)), saveAlert));
590
1353
  }
591
1354
  }]);
592
1355
  }(_react.Component);
@@ -600,6 +1363,7 @@ KitchenConfigurator.propTypes = {
600
1363
  width: _propTypes["default"].number.isRequired,
601
1364
  height: _propTypes["default"].number.isRequired,
602
1365
  stateExtractor: _propTypes["default"].func.isRequired,
1366
+ toolbarButtons: _propTypes["default"].array,
603
1367
  sidebarComponents: _propTypes["default"].array,
604
1368
  footerbarComponents: _propTypes["default"].array,
605
1369
  customContents: _propTypes["default"].object,
@@ -609,7 +1373,7 @@ KitchenConfigurator.propTypes = {
609
1373
  KitchenConfigurator.contextTypes = {
610
1374
  store: _propTypes["default"].object.isRequired
611
1375
  };
612
- KitchenConfigurator.childContextTypes = _objectSpread(_objectSpread({}, (0, _objectsUtils.objectsMap)(_export2["default"], function () {
1376
+ KitchenConfigurator.childContextTypes = _objectSpread(_objectSpread({}, (0, _objectsUtils.objectsMap)(_export["default"], function () {
613
1377
  return _propTypes["default"].object;
614
1378
  })), {}, {
615
1379
  translator: _propTypes["default"].object,
@@ -621,21 +1385,20 @@ KitchenConfigurator.defaultProps = {
621
1385
  plugins: [],
622
1386
  allowProjectFileSupport: true,
623
1387
  softwareSignature: "KitchenConfigurator ".concat(_version.VERSION),
1388
+ toolbarButtons: [],
624
1389
  sidebarComponents: [],
625
1390
  footerbarComponents: [],
626
1391
  customContents: {},
627
1392
  configData: {}
628
1393
  };
629
-
630
- //redux connect
631
1394
  function mapStateToProps(reduxState) {
632
1395
  return {
633
1396
  state: reduxState
634
1397
  };
635
1398
  }
636
1399
  function mapDispatchToProps(dispatch) {
637
- return (0, _objectsUtils.objectsMap)(_export2["default"], function (actionNamespace) {
638
- return (0, _redux.bindActionCreators)(_export2["default"][actionNamespace], dispatch);
1400
+ return (0, _objectsUtils.objectsMap)(_export["default"], function (actionNamespace) {
1401
+ return (0, _redux.bindActionCreators)(_export["default"][actionNamespace], dispatch);
639
1402
  });
640
1403
  }
641
1404
  var _default = exports["default"] = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(KitchenConfigurator);