kitchen-simulator 5.0.0-test.3 → 5.0.0-test.4

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 (694) hide show
  1. package/es/KitchenConfigurator.js +1 -1
  2. package/es/KitchenConfigurator.js.map +1 -1
  3. package/package.json +8 -12
  4. package/src/KitchenConfigurator.jsx +1 -1
  5. package/lib/@history.js +0 -11
  6. package/lib/@history.js.map +0 -1
  7. package/lib/AppContext.js +0 -11
  8. package/lib/AppContext.js.map +0 -1
  9. package/lib/KitchenConfigurator.js +0 -1353
  10. package/lib/KitchenConfigurator.js.map +0 -1
  11. package/lib/KitchenConfiguratorApp.js +0 -539
  12. package/lib/KitchenConfiguratorApp.js.map +0 -1
  13. package/lib/actions/area-actions.js +0 -22
  14. package/lib/actions/area-actions.js.map +0 -1
  15. package/lib/actions/export.js +0 -44
  16. package/lib/actions/export.js.map +0 -1
  17. package/lib/actions/groups-actions.js +0 -108
  18. package/lib/actions/groups-actions.js.map +0 -1
  19. package/lib/actions/holes-actions.js +0 -141
  20. package/lib/actions/holes-actions.js.map +0 -1
  21. package/lib/actions/items-actions.js +0 -365
  22. package/lib/actions/items-actions.js.map +0 -1
  23. package/lib/actions/lines-actions.js +0 -98
  24. package/lib/actions/lines-actions.js.map +0 -1
  25. package/lib/actions/project-actions.js +0 -333
  26. package/lib/actions/project-actions.js.map +0 -1
  27. package/lib/actions/scene-actions.js +0 -44
  28. package/lib/actions/scene-actions.js.map +0 -1
  29. package/lib/actions/user-actions.js +0 -69
  30. package/lib/actions/user-actions.js.map +0 -1
  31. package/lib/actions/vertices-actions.js +0 -36
  32. package/lib/actions/vertices-actions.js.map +0 -1
  33. package/lib/actions/viewer2d-actions.js +0 -74
  34. package/lib/actions/viewer2d-actions.js.map +0 -1
  35. package/lib/actions/viewer3d-actions.js +0 -33
  36. package/lib/actions/viewer3d-actions.js.map +0 -1
  37. package/lib/catalog/areas/area/planner-element.js +0 -47
  38. package/lib/catalog/areas/area/planner-element.js.map +0 -1
  39. package/lib/catalog/catalog.js +0 -283
  40. package/lib/catalog/catalog.js.map +0 -1
  41. package/lib/catalog/factories/area-factory-3d.js +0 -192
  42. package/lib/catalog/factories/area-factory-3d.js.map +0 -1
  43. package/lib/catalog/factories/area-factory.js +0 -90
  44. package/lib/catalog/factories/area-factory.js.map +0 -1
  45. package/lib/catalog/factories/export.js +0 -26
  46. package/lib/catalog/factories/export.js.map +0 -1
  47. package/lib/catalog/factories/wall-factory-3d.js +0 -213
  48. package/lib/catalog/factories/wall-factory-3d.js.map +0 -1
  49. package/lib/catalog/factories/wall-factory.js +0 -279
  50. package/lib/catalog/factories/wall-factory.js.map +0 -1
  51. package/lib/catalog/holes/door-closet/planner-element.js +0 -232
  52. package/lib/catalog/holes/door-closet/planner-element.js.map +0 -1
  53. package/lib/catalog/holes/door-double/planner-element.js +0 -325
  54. package/lib/catalog/holes/door-double/planner-element.js.map +0 -1
  55. package/lib/catalog/holes/door-exterior/planner-element.js +0 -225
  56. package/lib/catalog/holes/door-exterior/planner-element.js.map +0 -1
  57. package/lib/catalog/holes/door-interior/planner-element.js +0 -237
  58. package/lib/catalog/holes/door-interior/planner-element.js.map +0 -1
  59. package/lib/catalog/holes/door-panic/planner-element.js +0 -513
  60. package/lib/catalog/holes/door-panic/planner-element.js.map +0 -1
  61. package/lib/catalog/holes/door-panic-double/planner-element.js +0 -473
  62. package/lib/catalog/holes/door-panic-double/planner-element.js.map +0 -1
  63. package/lib/catalog/holes/door-sliding/planner-element.js +0 -235
  64. package/lib/catalog/holes/door-sliding/planner-element.js.map +0 -1
  65. package/lib/catalog/holes/doorway-framed/planner-element.js +0 -155
  66. package/lib/catalog/holes/doorway-framed/planner-element.js.map +0 -1
  67. package/lib/catalog/holes/doorway-frameless/planner-element.js +0 -114
  68. package/lib/catalog/holes/doorway-frameless/planner-element.js.map +0 -1
  69. package/lib/catalog/holes/window-clear/planner-element.js +0 -176
  70. package/lib/catalog/holes/window-clear/planner-element.js.map +0 -1
  71. package/lib/catalog/holes/window-cross/planner-element.js +0 -175
  72. package/lib/catalog/holes/window-cross/planner-element.js.map +0 -1
  73. package/lib/catalog/holes/window-double-hung/planner-element.js +0 -313
  74. package/lib/catalog/holes/window-double-hung/planner-element.js.map +0 -1
  75. package/lib/catalog/holes/window-vertical/planner-element.js +0 -286
  76. package/lib/catalog/holes/window-vertical/planner-element.js.map +0 -1
  77. package/lib/catalog/lines/wall/planner-element.js +0 -77
  78. package/lib/catalog/lines/wall/planner-element.js.map +0 -1
  79. package/lib/catalog/molding/molding-dcm/planner-element.js +0 -39
  80. package/lib/catalog/molding/molding-dcm/planner-element.js.map +0 -1
  81. package/lib/catalog/molding/molding-fbm/planner-element.js +0 -39
  82. package/lib/catalog/molding/molding-fbm/planner-element.js.map +0 -1
  83. package/lib/catalog/molding/molding-lrm/planner-element.js +0 -39
  84. package/lib/catalog/molding/molding-lrm/planner-element.js.map +0 -1
  85. package/lib/catalog/properties/export.js +0 -82
  86. package/lib/catalog/properties/export.js.map +0 -1
  87. package/lib/catalog/properties/property-checkbox.js +0 -79
  88. package/lib/catalog/properties/property-checkbox.js.map +0 -1
  89. package/lib/catalog/properties/property-color.js +0 -47
  90. package/lib/catalog/properties/property-color.js.map +0 -1
  91. package/lib/catalog/properties/property-enum.js +0 -63
  92. package/lib/catalog/properties/property-enum.js.map +0 -1
  93. package/lib/catalog/properties/property-hidden.js +0 -27
  94. package/lib/catalog/properties/property-hidden.js.map +0 -1
  95. package/lib/catalog/properties/property-lenght-measure.js +0 -109
  96. package/lib/catalog/properties/property-lenght-measure.js.map +0 -1
  97. package/lib/catalog/properties/property-length-measure.js +0 -93
  98. package/lib/catalog/properties/property-length-measure.js.map +0 -1
  99. package/lib/catalog/properties/property-length-measure_hole.js +0 -109
  100. package/lib/catalog/properties/property-length-measure_hole.js.map +0 -1
  101. package/lib/catalog/properties/property-number.js +0 -56
  102. package/lib/catalog/properties/property-number.js.map +0 -1
  103. package/lib/catalog/properties/property-read-only.js +0 -34
  104. package/lib/catalog/properties/property-read-only.js.map +0 -1
  105. package/lib/catalog/properties/property-string.js +0 -56
  106. package/lib/catalog/properties/property-string.js.map +0 -1
  107. package/lib/catalog/properties/property-toggle.js +0 -47
  108. package/lib/catalog/properties/property-toggle.js.map +0 -1
  109. package/lib/catalog/properties/shared-property-style.js +0 -21
  110. package/lib/catalog/properties/shared-property-style.js.map +0 -1
  111. package/lib/catalog/utils/FuseUtils.js +0 -89
  112. package/lib/catalog/utils/FuseUtils.js.map +0 -1
  113. package/lib/catalog/utils/exporter.js +0 -156
  114. package/lib/catalog/utils/exporter.js.map +0 -1
  115. package/lib/catalog/utils/geom-utils.js +0 -206
  116. package/lib/catalog/utils/geom-utils.js.map +0 -1
  117. package/lib/catalog/utils/item-loader.js +0 -1534
  118. package/lib/catalog/utils/item-loader.js.map +0 -1
  119. package/lib/catalog/utils/load-obj.js +0 -100
  120. package/lib/catalog/utils/load-obj.js.map +0 -1
  121. package/lib/catalog/utils/mtl-loader.js +0 -360
  122. package/lib/catalog/utils/mtl-loader.js.map +0 -1
  123. package/lib/catalog/utils/obj-loader.js +0 -479
  124. package/lib/catalog/utils/obj-loader.js.map +0 -1
  125. package/lib/class/FuseUtils.js +0 -89
  126. package/lib/class/FuseUtils.js.map +0 -1
  127. package/lib/class/area.js +0 -151
  128. package/lib/class/area.js.map +0 -1
  129. package/lib/class/export.js +0 -97
  130. package/lib/class/export.js.map +0 -1
  131. package/lib/class/group.js +0 -446
  132. package/lib/class/group.js.map +0 -1
  133. package/lib/class/guide.js +0 -68
  134. package/lib/class/guide.js.map +0 -1
  135. package/lib/class/hole.js +0 -935
  136. package/lib/class/hole.js.map +0 -1
  137. package/lib/class/item.js +0 -1894
  138. package/lib/class/item.js.map +0 -1
  139. package/lib/class/layer.js +0 -673
  140. package/lib/class/layer.js.map +0 -1
  141. package/lib/class/line.js +0 -1296
  142. package/lib/class/line.js.map +0 -1
  143. package/lib/class/project.js +0 -829
  144. package/lib/class/project.js.map +0 -1
  145. package/lib/class/vertex.js +0 -272
  146. package/lib/class/vertex.js.map +0 -1
  147. package/lib/components/atoms/Snackbar/index.js +0 -57
  148. package/lib/components/atoms/Snackbar/index.js.map +0 -1
  149. package/lib/components/atoms/radio-button/index.js +0 -33
  150. package/lib/components/atoms/radio-button/index.js.map +0 -1
  151. package/lib/components/atoms/radio-button/styles.js +0 -12
  152. package/lib/components/atoms/radio-button/styles.js.map +0 -1
  153. package/lib/components/button/MainButton.js +0 -98
  154. package/lib/components/button/MainButton.js.map +0 -1
  155. package/lib/components/button/ToggleMeasureButton.js +0 -63
  156. package/lib/components/button/ToggleMeasureButton.js.map +0 -1
  157. package/lib/components/catalog-view/catalog-breadcrumb.js +0 -61
  158. package/lib/components/catalog-view/catalog-breadcrumb.js.map +0 -1
  159. package/lib/components/catalog-view/catalog-item.js +0 -233
  160. package/lib/components/catalog-view/catalog-item.js.map +0 -1
  161. package/lib/components/catalog-view/catalog-list.js +0 -189
  162. package/lib/components/catalog-view/catalog-list.js.map +0 -1
  163. package/lib/components/catalog-view/catalog-page-item.js +0 -137
  164. package/lib/components/catalog-view/catalog-page-item.js.map +0 -1
  165. package/lib/components/catalog-view/catalog-turn-back-page-item.js +0 -113
  166. package/lib/components/catalog-view/catalog-turn-back-page-item.js.map +0 -1
  167. package/lib/components/configurator/custom-configurator.js +0 -101
  168. package/lib/components/configurator/custom-configurator.js.map +0 -1
  169. package/lib/components/configurator/project-configurator.js +0 -138
  170. package/lib/components/configurator/project-configurator.js.map +0 -1
  171. package/lib/components/content.js +0 -132
  172. package/lib/components/content.js.map +0 -1
  173. package/lib/components/export.js +0 -90
  174. package/lib/components/export.js.map +0 -1
  175. package/lib/components/firstsetting/button/styles.js +0 -34
  176. package/lib/components/firstsetting/button/styles.js.map +0 -1
  177. package/lib/components/firstsetting/export.js +0 -16
  178. package/lib/components/firstsetting/export.js.map +0 -1
  179. package/lib/components/firstsetting/firstsetting-content-button.js +0 -224
  180. package/lib/components/firstsetting/firstsetting-content-button.js.map +0 -1
  181. package/lib/components/firstsetting/firstsetting-toggle-button.js +0 -133
  182. package/lib/components/firstsetting/firstsetting-toggle-button.js.map +0 -1
  183. package/lib/components/firstsetting/firstsetting.js +0 -633
  184. package/lib/components/firstsetting/firstsetting.js.map +0 -1
  185. package/lib/components/footerbar/button/ControlButton.js +0 -79
  186. package/lib/components/footerbar/button/ControlButton.js.map +0 -1
  187. package/lib/components/footerbar/button/DirectionButton.js +0 -76
  188. package/lib/components/footerbar/button/DirectionButton.js.map +0 -1
  189. package/lib/components/footerbar/button/DirectionPanSpinButton.js +0 -57
  190. package/lib/components/footerbar/button/DirectionPanSpinButton.js.map +0 -1
  191. package/lib/components/footerbar/button/ToggleButton.js +0 -83
  192. package/lib/components/footerbar/button/ToggleButton.js.map +0 -1
  193. package/lib/components/footerbar/button/ToggleConvertButton.js +0 -80
  194. package/lib/components/footerbar/button/ToggleConvertButton.js.map +0 -1
  195. package/lib/components/footerbar/button/ToggleMeasureButton.js +0 -59
  196. package/lib/components/footerbar/button/ToggleMeasureButton.js.map +0 -1
  197. package/lib/components/footerbar/button/styles.js +0 -29
  198. package/lib/components/footerbar/button/styles.js.map +0 -1
  199. package/lib/components/footerbar/export.js +0 -16
  200. package/lib/components/footerbar/export.js.map +0 -1
  201. package/lib/components/footerbar/footer-content-button.js +0 -224
  202. package/lib/components/footerbar/footer-content-button.js.map +0 -1
  203. package/lib/components/footerbar/footer-toggle-button.js +0 -133
  204. package/lib/components/footerbar/footer-toggle-button.js.map +0 -1
  205. package/lib/components/footerbar/footerbar.js +0 -808
  206. package/lib/components/footerbar/footerbar.js.map +0 -1
  207. package/lib/components/footerbar/styles.js +0 -41
  208. package/lib/components/footerbar/styles.js.map +0 -1
  209. package/lib/components/header/button/MenuButton.js +0 -77
  210. package/lib/components/header/button/MenuButton.js.map +0 -1
  211. package/lib/components/header/button/SaveButton.js +0 -57
  212. package/lib/components/header/button/SaveButton.js.map +0 -1
  213. package/lib/components/header/button/styles.js +0 -68
  214. package/lib/components/header/button/styles.js.map +0 -1
  215. package/lib/components/header/export.js +0 -12
  216. package/lib/components/header/export.js.map +0 -1
  217. package/lib/components/header/header.js +0 -556
  218. package/lib/components/header/header.js.map +0 -1
  219. package/lib/components/header/styles.js +0 -47
  220. package/lib/components/header/styles.js.map +0 -1
  221. package/lib/components/login/Login.js +0 -94
  222. package/lib/components/login/Login.js.map +0 -1
  223. package/lib/components/login/LoginForm/index.js +0 -140
  224. package/lib/components/login/LoginForm/index.js.map +0 -1
  225. package/lib/components/login/Register.js +0 -104
  226. package/lib/components/login/Register.js.map +0 -1
  227. package/lib/components/login/RegisterForm/index.js +0 -237
  228. package/lib/components/login/RegisterForm/index.js.map +0 -1
  229. package/lib/components/login/jwtService.js +0 -239
  230. package/lib/components/login/jwtService.js.map +0 -1
  231. package/lib/components/molecules/slider/index.js +0 -22
  232. package/lib/components/molecules/slider/index.js.map +0 -1
  233. package/lib/components/molecules/slider/styles.js +0 -2
  234. package/lib/components/molecules/slider/styles.js.map +0 -1
  235. package/lib/components/myprojects/export.js +0 -12
  236. package/lib/components/myprojects/export.js.map +0 -1
  237. package/lib/components/myprojects/index.js +0 -453
  238. package/lib/components/myprojects/index.js.map +0 -1
  239. package/lib/components/myprojects/styles.js +0 -31
  240. package/lib/components/myprojects/styles.js.map +0 -1
  241. package/lib/components/sidebar/custom-accordion.js +0 -45
  242. package/lib/components/sidebar/custom-accordion.js.map +0 -1
  243. package/lib/components/sidebar/export.js +0 -50
  244. package/lib/components/sidebar/export.js.map +0 -1
  245. package/lib/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js +0 -74
  246. package/lib/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js.map +0 -1
  247. package/lib/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js +0 -124
  248. package/lib/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js.map +0 -1
  249. package/lib/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js +0 -135
  250. package/lib/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js.map +0 -1
  251. package/lib/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js +0 -260
  252. package/lib/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js.map +0 -1
  253. package/lib/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js +0 -84
  254. package/lib/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js.map +0 -1
  255. package/lib/components/sidebar/panel-element-editor/element-editor.js +0 -884
  256. package/lib/components/sidebar/panel-element-editor/element-editor.js.map +0 -1
  257. package/lib/components/sidebar/panel-element-editor/multi-elements-editor.js +0 -2
  258. package/lib/components/sidebar/panel-element-editor/multi-elements-editor.js.map +0 -1
  259. package/lib/components/sidebar/panel-element-editor/panel-element-editor.js +0 -56
  260. package/lib/components/sidebar/panel-element-editor/panel-element-editor.js.map +0 -1
  261. package/lib/components/sidebar/panel-element-editor/panel-multi-elements-editor.js +0 -125
  262. package/lib/components/sidebar/panel-element-editor/panel-multi-elements-editor.js.map +0 -1
  263. package/lib/components/sidebar/panel-group-editor.js +0 -218
  264. package/lib/components/sidebar/panel-group-editor.js.map +0 -1
  265. package/lib/components/sidebar/panel-groups.js +0 -274
  266. package/lib/components/sidebar/panel-groups.js.map +0 -1
  267. package/lib/components/sidebar/panel-guides.js +0 -192
  268. package/lib/components/sidebar/panel-guides.js.map +0 -1
  269. package/lib/components/sidebar/panel-layer-elements.js +0 -258
  270. package/lib/components/sidebar/panel-layer-elements.js.map +0 -1
  271. package/lib/components/sidebar/panel-layers.js +0 -347
  272. package/lib/components/sidebar/panel-layers.js.map +0 -1
  273. package/lib/components/sidebar/panel.js +0 -110
  274. package/lib/components/sidebar/panel.js.map +0 -1
  275. package/lib/components/sidebar/sidebar.js +0 -117
  276. package/lib/components/sidebar/sidebar.js.map +0 -1
  277. package/lib/components/sidebar/toolbar-panel.js +0 -171
  278. package/lib/components/sidebar/toolbar-panel.js.map +0 -1
  279. package/lib/components/sign/export.js +0 -18
  280. package/lib/components/sign/export.js.map +0 -1
  281. package/lib/components/sign/main/index.js +0 -567
  282. package/lib/components/sign/main/index.js.map +0 -1
  283. package/lib/components/sign/main/styles.js +0 -27
  284. package/lib/components/sign/main/styles.js.map +0 -1
  285. package/lib/components/style/button.js +0 -121
  286. package/lib/components/style/button.js.map +0 -1
  287. package/lib/components/style/cancel-button.js +0 -30
  288. package/lib/components/style/cancel-button.js.map +0 -1
  289. package/lib/components/style/content-container.js +0 -41
  290. package/lib/components/style/content-container.js.map +0 -1
  291. package/lib/components/style/content-title.js +0 -38
  292. package/lib/components/style/content-title.js.map +0 -1
  293. package/lib/components/style/delete-button.js +0 -35
  294. package/lib/components/style/delete-button.js.map +0 -1
  295. package/lib/components/style/export.js +0 -122
  296. package/lib/components/style/export.js.map +0 -1
  297. package/lib/components/style/form-block.js +0 -32
  298. package/lib/components/style/form-block.js.map +0 -1
  299. package/lib/components/style/form-color-input.js +0 -35
  300. package/lib/components/style/form-color-input.js.map +0 -1
  301. package/lib/components/style/form-label.js +0 -34
  302. package/lib/components/style/form-label.js.map +0 -1
  303. package/lib/components/style/form-number-input.js +0 -197
  304. package/lib/components/style/form-number-input.js.map +0 -1
  305. package/lib/components/style/form-number-input_2.js +0 -214
  306. package/lib/components/style/form-number-input_2.js.map +0 -1
  307. package/lib/components/style/form-select.js +0 -30
  308. package/lib/components/style/form-select.js.map +0 -1
  309. package/lib/components/style/form-slider.js +0 -53
  310. package/lib/components/style/form-slider.js.map +0 -1
  311. package/lib/components/style/form-submit-button.js +0 -36
  312. package/lib/components/style/form-submit-button.js.map +0 -1
  313. package/lib/components/style/form-text-input.js +0 -84
  314. package/lib/components/style/form-text-input.js.map +0 -1
  315. package/lib/components/toolbar/button/ControlButton.js +0 -76
  316. package/lib/components/toolbar/button/ControlButton.js.map +0 -1
  317. package/lib/components/toolbar/button/DirectionButton.js +0 -57
  318. package/lib/components/toolbar/button/DirectionButton.js.map +0 -1
  319. package/lib/components/toolbar/button/RightButton.js +0 -140
  320. package/lib/components/toolbar/button/RightButton.js.map +0 -1
  321. package/lib/components/toolbar/button/ToggleButton.js +0 -66
  322. package/lib/components/toolbar/button/ToggleButton.js.map +0 -1
  323. package/lib/components/toolbar/button/index.js +0 -94
  324. package/lib/components/toolbar/button/index.js.map +0 -1
  325. package/lib/components/toolbar/button/styles.js +0 -21
  326. package/lib/components/toolbar/button/styles.js.map +0 -1
  327. package/lib/components/toolbar/components/DoorStyleMenu.js +0 -112
  328. package/lib/components/toolbar/components/DoorStyleMenu.js.map +0 -1
  329. package/lib/components/toolbar/components/Pricing.js +0 -110
  330. package/lib/components/toolbar/components/Pricing.js.map +0 -1
  331. package/lib/components/toolbar/components/ReviewForQuote.js +0 -485
  332. package/lib/components/toolbar/components/ReviewForQuote.js.map +0 -1
  333. package/lib/components/toolbar/export.js +0 -50
  334. package/lib/components/toolbar/export.js.map +0 -1
  335. package/lib/components/toolbar/main/Alert.js +0 -132
  336. package/lib/components/toolbar/main/Alert.js.map +0 -1
  337. package/lib/components/toolbar/main/TakePictureModal.js +0 -109
  338. package/lib/components/toolbar/main/TakePictureModal.js.map +0 -1
  339. package/lib/components/toolbar/main/confirm-popup.js +0 -95
  340. package/lib/components/toolbar/main/confirm-popup.js.map +0 -1
  341. package/lib/components/toolbar/main/index.js +0 -4619
  342. package/lib/components/toolbar/main/index.js.map +0 -1
  343. package/lib/components/toolbar/main/myComponents.js +0 -125
  344. package/lib/components/toolbar/main/myComponents.js.map +0 -1
  345. package/lib/components/toolbar/main/styles.js +0 -73
  346. package/lib/components/toolbar/main/styles.js.map +0 -1
  347. package/lib/components/toolbar/plugin-item.js +0 -156
  348. package/lib/components/toolbar/plugin-item.js.map +0 -1
  349. package/lib/components/toolbar/popup/appliance/appliance-category/index.js +0 -86
  350. package/lib/components/toolbar/popup/appliance/appliance-category/index.js.map +0 -1
  351. package/lib/components/toolbar/popup/appliance/choose-appliance/index.js +0 -85
  352. package/lib/components/toolbar/popup/appliance/choose-appliance/index.js.map +0 -1
  353. package/lib/components/toolbar/popup/appliance/index.js +0 -89
  354. package/lib/components/toolbar/popup/appliance/index.js.map +0 -1
  355. package/lib/components/toolbar/popup/autosaveprompt/index.js +0 -99
  356. package/lib/components/toolbar/popup/autosaveprompt/index.js.map +0 -1
  357. package/lib/components/toolbar/popup/autosaveprompt/styles.js +0 -16
  358. package/lib/components/toolbar/popup/autosaveprompt/styles.js.map +0 -1
  359. package/lib/components/toolbar/popup/cabinet/cabinet-category/index.js +0 -86
  360. package/lib/components/toolbar/popup/cabinet/cabinet-category/index.js.map +0 -1
  361. package/lib/components/toolbar/popup/cabinet/choose-product/index.js +0 -107
  362. package/lib/components/toolbar/popup/cabinet/choose-product/index.js.map +0 -1
  363. package/lib/components/toolbar/popup/cabinet/index.js +0 -91
  364. package/lib/components/toolbar/popup/cabinet/index.js.map +0 -1
  365. package/lib/components/toolbar/popup/doorStyle/choose-style/index.js +0 -59
  366. package/lib/components/toolbar/popup/doorStyle/choose-style/index.js.map +0 -1
  367. package/lib/components/toolbar/popup/doorStyle/index.js +0 -68
  368. package/lib/components/toolbar/popup/doorStyle/index.js.map +0 -1
  369. package/lib/components/toolbar/popup/doorStyle/style-category/index.js +0 -152
  370. package/lib/components/toolbar/popup/doorStyle/style-category/index.js.map +0 -1
  371. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -9
  372. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryContext.js.map +0 -1
  373. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js +0 -128
  374. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js.map +0 -1
  375. package/lib/components/toolbar/popup/downloadsummary/index.js +0 -572
  376. package/lib/components/toolbar/popup/downloadsummary/index.js.map +0 -1
  377. package/lib/components/toolbar/popup/downloadsummary/show2D/show2DView.js +0 -60
  378. package/lib/components/toolbar/popup/downloadsummary/show2D/show2DView.js.map +0 -1
  379. package/lib/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js +0 -200
  380. package/lib/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js.map +0 -1
  381. package/lib/components/toolbar/popup/downloadsummary/show3D/show3DView.js +0 -254
  382. package/lib/components/toolbar/popup/downloadsummary/show3D/show3DView.js.map +0 -1
  383. package/lib/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js +0 -1762
  384. package/lib/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js.map +0 -1
  385. package/lib/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -96
  386. package/lib/components/toolbar/popup/downloadsummary/showCabinetInfo.js.map +0 -1
  387. package/lib/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js +0 -125
  388. package/lib/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js.map +0 -1
  389. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js +0 -1713
  390. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js.map +0 -1
  391. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js +0 -184
  392. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js.map +0 -1
  393. package/lib/components/toolbar/popup/downloadsummary/showWarranty.js +0 -115
  394. package/lib/components/toolbar/popup/downloadsummary/showWarranty.js.map +0 -1
  395. package/lib/components/toolbar/popup/downloadsummary/styles.js +0 -47
  396. package/lib/components/toolbar/popup/downloadsummary/styles.js.map +0 -1
  397. package/lib/components/toolbar/popup/finishingtouch/category/index.js +0 -44
  398. package/lib/components/toolbar/popup/finishingtouch/category/index.js.map +0 -1
  399. package/lib/components/toolbar/popup/finishingtouch/index.js +0 -54
  400. package/lib/components/toolbar/popup/finishingtouch/index.js.map +0 -1
  401. package/lib/components/toolbar/popup/finishingtouch/material-edit.js +0 -163
  402. package/lib/components/toolbar/popup/finishingtouch/material-edit.js.map +0 -1
  403. package/lib/components/toolbar/popup/finishingtouch/product/index.js +0 -65
  404. package/lib/components/toolbar/popup/finishingtouch/product/index.js.map +0 -1
  405. package/lib/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js +0 -124
  406. package/lib/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js.map +0 -1
  407. package/lib/components/toolbar/popup/floorplan/choose-floor/index.js +0 -255
  408. package/lib/components/toolbar/popup/floorplan/choose-floor/index.js.map +0 -1
  409. package/lib/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -20
  410. package/lib/components/toolbar/popup/floorplan/choose-floor/styles.js.map +0 -1
  411. package/lib/components/toolbar/popup/floorplan/floor-category/index.js +0 -99
  412. package/lib/components/toolbar/popup/floorplan/floor-category/index.js.map +0 -1
  413. package/lib/components/toolbar/popup/floorplan/index.js +0 -56
  414. package/lib/components/toolbar/popup/floorplan/index.js.map +0 -1
  415. package/lib/components/toolbar/popup/index.js +0 -195
  416. package/lib/components/toolbar/popup/index.js.map +0 -1
  417. package/lib/components/toolbar/popup/newproject/index.js +0 -75
  418. package/lib/components/toolbar/popup/newproject/index.js.map +0 -1
  419. package/lib/components/toolbar/popup/newproject/styles.js +0 -16
  420. package/lib/components/toolbar/popup/newproject/styles.js.map +0 -1
  421. package/lib/components/toolbar/popup/product/appliance.js +0 -73
  422. package/lib/components/toolbar/popup/product/appliance.js.map +0 -1
  423. package/lib/components/toolbar/popup/product/cabinetproduct.js +0 -33
  424. package/lib/components/toolbar/popup/product/cabinetproduct.js.map +0 -1
  425. package/lib/components/toolbar/popup/product/doorstyle.js +0 -59
  426. package/lib/components/toolbar/popup/product/doorstyle.js.map +0 -1
  427. package/lib/components/toolbar/popup/product/doorstyleproduct.js +0 -59
  428. package/lib/components/toolbar/popup/product/doorstyleproduct.js.map +0 -1
  429. package/lib/components/toolbar/popup/product/floor.js +0 -59
  430. package/lib/components/toolbar/popup/product/floor.js.map +0 -1
  431. package/lib/components/toolbar/popup/product/floorproduct.js +0 -68
  432. package/lib/components/toolbar/popup/product/floorproduct.js.map +0 -1
  433. package/lib/components/toolbar/popup/product/index.js +0 -59
  434. package/lib/components/toolbar/popup/product/index.js.map +0 -1
  435. package/lib/components/toolbar/popup/product/primary.js +0 -71
  436. package/lib/components/toolbar/popup/product/primary.js.map +0 -1
  437. package/lib/components/toolbar/popup/product/productline.js +0 -128
  438. package/lib/components/toolbar/popup/product/productline.js.map +0 -1
  439. package/lib/components/toolbar/popup/product/reviewItem.js +0 -346
  440. package/lib/components/toolbar/popup/product/reviewItem.js.map +0 -1
  441. package/lib/components/toolbar/popup/product/reviewMolding.js +0 -291
  442. package/lib/components/toolbar/popup/product/reviewMolding.js.map +0 -1
  443. package/lib/components/toolbar/popup/product/styles.js +0 -79
  444. package/lib/components/toolbar/popup/product/styles.js.map +0 -1
  445. package/lib/components/toolbar/popup/savedesign/FullPictureForm.js +0 -169
  446. package/lib/components/toolbar/popup/savedesign/FullPictureForm.js.map +0 -1
  447. package/lib/components/toolbar/popup/savedesign/index.js +0 -516
  448. package/lib/components/toolbar/popup/savedesign/index.js.map +0 -1
  449. package/lib/components/toolbar/popup/savedesign/styles.js +0 -26
  450. package/lib/components/toolbar/popup/savedesign/styles.js.map +0 -1
  451. package/lib/components/toolbar/popup/setDoorStyleOption/index.js +0 -64
  452. package/lib/components/toolbar/popup/setDoorStyleOption/index.js.map +0 -1
  453. package/lib/components/toolbar/popup/styles.js +0 -104
  454. package/lib/components/toolbar/popup/styles.js.map +0 -1
  455. package/lib/components/toolbar/popup/submitforquote/AddToCartOptions.js +0 -166
  456. package/lib/components/toolbar/popup/submitforquote/AddToCartOptions.js.map +0 -1
  457. package/lib/components/toolbar/popup/submitforquote/CustomerRequestsForm.js +0 -93
  458. package/lib/components/toolbar/popup/submitforquote/CustomerRequestsForm.js.map +0 -1
  459. package/lib/components/toolbar/popup/submitforquote/SkipDesignerReview.js +0 -45
  460. package/lib/components/toolbar/popup/submitforquote/SkipDesignerReview.js.map +0 -1
  461. package/lib/components/toolbar/popup/submitforquote/StepDots.js +0 -40
  462. package/lib/components/toolbar/popup/submitforquote/StepDots.js.map +0 -1
  463. package/lib/components/toolbar/popup/submitforquote/cart-choice.js +0 -141
  464. package/lib/components/toolbar/popup/submitforquote/cart-choice.js.map +0 -1
  465. package/lib/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -50
  466. package/lib/components/toolbar/popup/submitforquote/doorstyle-menus.js.map +0 -1
  467. package/lib/components/toolbar/popup/submitforquote/index.js +0 -698
  468. package/lib/components/toolbar/popup/submitforquote/index.js.map +0 -1
  469. package/lib/components/toolbar/popup/submitforquote/styles.js +0 -38
  470. package/lib/components/toolbar/popup/submitforquote/styles.js.map +0 -1
  471. package/lib/components/toolbar/popup/submitprompt/index.js +0 -79
  472. package/lib/components/toolbar/popup/submitprompt/index.js.map +0 -1
  473. package/lib/components/toolbar/popup/submitprompt/styles.js +0 -16
  474. package/lib/components/toolbar/popup/submitprompt/styles.js.map +0 -1
  475. package/lib/components/toolbar/toolbar-button.js +0 -111
  476. package/lib/components/toolbar/toolbar-button.js.map +0 -1
  477. package/lib/components/toolbar/toolbar-load-button.js +0 -36
  478. package/lib/components/toolbar/toolbar-load-button.js.map +0 -1
  479. package/lib/components/toolbar/toolbar-save-button.js +0 -34
  480. package/lib/components/toolbar/toolbar-save-button.js.map +0 -1
  481. package/lib/components/tutorial-view/Modal.js +0 -503
  482. package/lib/components/tutorial-view/Modal.js.map +0 -1
  483. package/lib/components/tutorial-view/styles.js +0 -13
  484. package/lib/components/tutorial-view/styles.js.map +0 -1
  485. package/lib/components/viewer2d/area.js +0 -90
  486. package/lib/components/viewer2d/area.js.map +0 -1
  487. package/lib/components/viewer2d/export.js +0 -122
  488. package/lib/components/viewer2d/export.js.map +0 -1
  489. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +0 -45
  490. package/lib/components/viewer2d/grids/grid-horizontal-streak.js.map +0 -1
  491. package/lib/components/viewer2d/grids/grid-streak.js +0 -45
  492. package/lib/components/viewer2d/grids/grid-streak.js.map +0 -1
  493. package/lib/components/viewer2d/grids/grid-vertical-streak.js +0 -45
  494. package/lib/components/viewer2d/grids/grid-vertical-streak.js.map +0 -1
  495. package/lib/components/viewer2d/grids/grids.js +0 -45
  496. package/lib/components/viewer2d/grids/grids.js.map +0 -1
  497. package/lib/components/viewer2d/group.js +0 -63
  498. package/lib/components/viewer2d/group.js.map +0 -1
  499. package/lib/components/viewer2d/item.js +0 -522
  500. package/lib/components/viewer2d/item.js.map +0 -1
  501. package/lib/components/viewer2d/layer.js +0 -172
  502. package/lib/components/viewer2d/layer.js.map +0 -1
  503. package/lib/components/viewer2d/line.js +0 -899
  504. package/lib/components/viewer2d/line.js.map +0 -1
  505. package/lib/components/viewer2d/ruler.js +0 -108
  506. package/lib/components/viewer2d/ruler.js.map +0 -1
  507. package/lib/components/viewer2d/rulerDist.js +0 -154
  508. package/lib/components/viewer2d/rulerDist.js.map +0 -1
  509. package/lib/components/viewer2d/rulerX.js +0 -159
  510. package/lib/components/viewer2d/rulerX.js.map +0 -1
  511. package/lib/components/viewer2d/rulerY.js +0 -161
  512. package/lib/components/viewer2d/rulerY.js.map +0 -1
  513. package/lib/components/viewer2d/scene.js +0 -148
  514. package/lib/components/viewer2d/scene.js.map +0 -1
  515. package/lib/components/viewer2d/snap.js +0 -84
  516. package/lib/components/viewer2d/snap.js.map +0 -1
  517. package/lib/components/viewer2d/state.js +0 -88
  518. package/lib/components/viewer2d/state.js.map +0 -1
  519. package/lib/components/viewer2d/utils.js +0 -174
  520. package/lib/components/viewer2d/utils.js.map +0 -1
  521. package/lib/components/viewer2d/vertex.js +0 -76
  522. package/lib/components/viewer2d/vertex.js.map +0 -1
  523. package/lib/components/viewer2d/viewer2d.js +0 -1409
  524. package/lib/components/viewer2d/viewer2d.js.map +0 -1
  525. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2598
  526. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js.map +0 -1
  527. package/lib/components/viewer3d/dcm.js +0 -408
  528. package/lib/components/viewer3d/dcm.js.map +0 -1
  529. package/lib/components/viewer3d/fbm.js +0 -421
  530. package/lib/components/viewer3d/fbm.js.map +0 -1
  531. package/lib/components/viewer3d/front3D.js +0 -76
  532. package/lib/components/viewer3d/front3D.js.map +0 -1
  533. package/lib/components/viewer3d/grid-creator.js +0 -35
  534. package/lib/components/viewer3d/grid-creator.js.map +0 -1
  535. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +0 -45
  536. package/lib/components/viewer3d/grids/grid-horizontal-streak.js.map +0 -1
  537. package/lib/components/viewer3d/grids/grid-streak.js +0 -36
  538. package/lib/components/viewer3d/grids/grid-streak.js.map +0 -1
  539. package/lib/components/viewer3d/grids/grid-vertical-streak.js +0 -45
  540. package/lib/components/viewer3d/grids/grid-vertical-streak.js.map +0 -1
  541. package/lib/components/viewer3d/libs/first-person-controls.js +0 -75
  542. package/lib/components/viewer3d/libs/first-person-controls.js.map +0 -1
  543. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1288
  544. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js.map +0 -1
  545. package/lib/components/viewer3d/libs/mtl-loader.js +0 -360
  546. package/lib/components/viewer3d/libs/mtl-loader.js.map +0 -1
  547. package/lib/components/viewer3d/libs/obj-loader.js +0 -465
  548. package/lib/components/viewer3d/libs/obj-loader.js.map +0 -1
  549. package/lib/components/viewer3d/libs/orbit-controls.js +0 -701
  550. package/lib/components/viewer3d/libs/orbit-controls.js.map +0 -1
  551. package/lib/components/viewer3d/libs/pointer-lock-controls.js +0 -48
  552. package/lib/components/viewer3d/libs/pointer-lock-controls.js.map +0 -1
  553. package/lib/components/viewer3d/lrm.js +0 -312
  554. package/lib/components/viewer3d/lrm.js.map +0 -1
  555. package/lib/components/viewer3d/model.js +0 -715
  556. package/lib/components/viewer3d/model.js.map +0 -1
  557. package/lib/components/viewer3d/pointer-lock-navigation.js +0 -123
  558. package/lib/components/viewer3d/pointer-lock-navigation.js.map +0 -1
  559. package/lib/components/viewer3d/ruler-utils/itemRect.js +0 -69
  560. package/lib/components/viewer3d/ruler-utils/itemRect.js.map +0 -1
  561. package/lib/components/viewer3d/ruler-utils/layer3D.js +0 -503
  562. package/lib/components/viewer3d/ruler-utils/layer3D.js.map +0 -1
  563. package/lib/components/viewer3d/ruler-utils/ruler3D.js +0 -235
  564. package/lib/components/viewer3d/ruler-utils/ruler3D.js.map +0 -1
  565. package/lib/components/viewer3d/ruler-utils/scene3D.js +0 -70
  566. package/lib/components/viewer3d/ruler-utils/scene3D.js.map +0 -1
  567. package/lib/components/viewer3d/ruler-utils/state3D.js +0 -26
  568. package/lib/components/viewer3d/ruler-utils/state3D.js.map +0 -1
  569. package/lib/components/viewer3d/scene-creator.js +0 -3641
  570. package/lib/components/viewer3d/scene-creator.js.map +0 -1
  571. package/lib/components/viewer3d/three-memory-cleaner.js +0 -61
  572. package/lib/components/viewer3d/three-memory-cleaner.js.map +0 -1
  573. package/lib/components/viewer3d/viewer3d-first-person.js +0 -321
  574. package/lib/components/viewer3d/viewer3d-first-person.js.map +0 -1
  575. package/lib/components/viewer3d/viewer3d.js +0 -2508
  576. package/lib/components/viewer3d/viewer3d.js.map +0 -1
  577. package/lib/components/wizardstep/button/styles.js +0 -67
  578. package/lib/components/wizardstep/button/styles.js.map +0 -1
  579. package/lib/components/wizardstep/export.js +0 -12
  580. package/lib/components/wizardstep/export.js.map +0 -1
  581. package/lib/components/wizardstep/index.js +0 -978
  582. package/lib/components/wizardstep/index.js.map +0 -1
  583. package/lib/components/wizardstep/styles.js +0 -68
  584. package/lib/components/wizardstep/styles.js.map +0 -1
  585. package/lib/components/wizardstep/wizardstep-content-button.js +0 -224
  586. package/lib/components/wizardstep/wizardstep-content-button.js.map +0 -1
  587. package/lib/components/wizardstep/wizardstep-toggle-button.js +0 -133
  588. package/lib/components/wizardstep/wizardstep-toggle-button.js.map +0 -1
  589. package/lib/constants.js +0 -646
  590. package/lib/constants.js.map +0 -1
  591. package/lib/hooks/useCheckCart.js +0 -60
  592. package/lib/hooks/useCheckCart.js.map +0 -1
  593. package/lib/hooks/useGetPricesBySku.js +0 -81
  594. package/lib/hooks/useGetPricesBySku.js.map +0 -1
  595. package/lib/hooks/useValidateToken.js +0 -207
  596. package/lib/hooks/useValidateToken.js.map +0 -1
  597. package/lib/index.js +0 -102
  598. package/lib/index.js.map +0 -1
  599. package/lib/models.js +0 -518
  600. package/lib/models.js.map +0 -1
  601. package/lib/plugins/SVGLoader.js +0 -1418
  602. package/lib/plugins/SVGLoader.js.map +0 -1
  603. package/lib/plugins/autosave.js +0 -40
  604. package/lib/plugins/autosave.js.map +0 -1
  605. package/lib/plugins/console-debugger.js +0 -45
  606. package/lib/plugins/console-debugger.js.map +0 -1
  607. package/lib/plugins/export.js +0 -34
  608. package/lib/plugins/export.js.map +0 -1
  609. package/lib/plugins/keyboard.js +0 -108
  610. package/lib/plugins/keyboard.js.map +0 -1
  611. package/lib/reducers/areas-reducer.js +0 -19
  612. package/lib/reducers/areas-reducer.js.map +0 -1
  613. package/lib/reducers/export.js +0 -98
  614. package/lib/reducers/export.js.map +0 -1
  615. package/lib/reducers/groups-reducer.js +0 -45
  616. package/lib/reducers/groups-reducer.js.map +0 -1
  617. package/lib/reducers/holes-reducer.js +0 -69
  618. package/lib/reducers/holes-reducer.js.map +0 -1
  619. package/lib/reducers/items-reducer.js +0 -147
  620. package/lib/reducers/items-reducer.js.map +0 -1
  621. package/lib/reducers/lines-reducer.js +0 -52
  622. package/lib/reducers/lines-reducer.js.map +0 -1
  623. package/lib/reducers/project-reducer.js +0 -136
  624. package/lib/reducers/project-reducer.js.map +0 -1
  625. package/lib/reducers/reducer.js +0 -27
  626. package/lib/reducers/reducer.js.map +0 -1
  627. package/lib/reducers/scene-reducer.js +0 -35
  628. package/lib/reducers/scene-reducer.js.map +0 -1
  629. package/lib/reducers/user-reducer.js +0 -48
  630. package/lib/reducers/user-reducer.js.map +0 -1
  631. package/lib/reducers/vertices-reducer.js +0 -26
  632. package/lib/reducers/vertices-reducer.js.map +0 -1
  633. package/lib/reducers/viewer2d-reducer.js +0 -83
  634. package/lib/reducers/viewer2d-reducer.js.map +0 -1
  635. package/lib/reducers/viewer3d-reducer.js +0 -64
  636. package/lib/reducers/viewer3d-reducer.js.map +0 -1
  637. package/lib/shared-style.js +0 -73
  638. package/lib/shared-style.js.map +0 -1
  639. package/lib/styles/export.js +0 -14
  640. package/lib/styles/export.js.map +0 -1
  641. package/lib/translator/en.js +0 -111
  642. package/lib/translator/en.js.map +0 -1
  643. package/lib/translator/it.js +0 -86
  644. package/lib/translator/it.js.map +0 -1
  645. package/lib/translator/ru.js +0 -86
  646. package/lib/translator/ru.js.map +0 -1
  647. package/lib/translator/translator.js +0 -91
  648. package/lib/translator/translator.js.map +0 -1
  649. package/lib/utils/browser.js +0 -41
  650. package/lib/utils/browser.js.map +0 -1
  651. package/lib/utils/email-validator.js +0 -11
  652. package/lib/utils/email-validator.js.map +0 -1
  653. package/lib/utils/export.js +0 -57
  654. package/lib/utils/export.js.map +0 -1
  655. package/lib/utils/geometry.js +0 -2329
  656. package/lib/utils/geometry.js.map +0 -1
  657. package/lib/utils/get-edges-of-subgraphs.js +0 -29
  658. package/lib/utils/get-edges-of-subgraphs.js.map +0 -1
  659. package/lib/utils/graph-cycles.js +0 -241
  660. package/lib/utils/graph-cycles.js.map +0 -1
  661. package/lib/utils/graph-inner-cycles.js +0 -55
  662. package/lib/utils/graph-inner-cycles.js.map +0 -1
  663. package/lib/utils/graph.js +0 -152
  664. package/lib/utils/graph.js.map +0 -1
  665. package/lib/utils/helper.js +0 -360
  666. package/lib/utils/helper.js.map +0 -1
  667. package/lib/utils/history.js +0 -37
  668. package/lib/utils/history.js.map +0 -1
  669. package/lib/utils/id-broker.js +0 -26
  670. package/lib/utils/id-broker.js.map +0 -1
  671. package/lib/utils/logger.js +0 -15
  672. package/lib/utils/logger.js.map +0 -1
  673. package/lib/utils/math.js +0 -58
  674. package/lib/utils/math.js.map +0 -1
  675. package/lib/utils/molding.js +0 -864
  676. package/lib/utils/molding.js.map +0 -1
  677. package/lib/utils/name-generator.js +0 -24
  678. package/lib/utils/name-generator.js.map +0 -1
  679. package/lib/utils/objects-utils.js +0 -61
  680. package/lib/utils/objects-utils.js.map +0 -1
  681. package/lib/utils/phone-validator.js +0 -11
  682. package/lib/utils/phone-validator.js.map +0 -1
  683. package/lib/utils/process-black-list.js +0 -25
  684. package/lib/utils/process-black-list.js.map +0 -1
  685. package/lib/utils/react-if.js +0 -25
  686. package/lib/utils/react-if.js.map +0 -1
  687. package/lib/utils/snap-scene.js +0 -106
  688. package/lib/utils/snap-scene.js.map +0 -1
  689. package/lib/utils/snap.js +0 -250
  690. package/lib/utils/snap.js.map +0 -1
  691. package/lib/utils/threeCSG.es6.js +0 -504
  692. package/lib/utils/threeCSG.es6.js.map +0 -1
  693. package/lib/version.js +0 -8
  694. package/lib/version.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"SVGLoader.js","names":["_three","require","SVGLoader","exports","manager","Loader","call","defaultDPI","defaultUnit","prototype","Object","assign","create","constructor","load","url","onLoad","onProgress","onError","scope","loader","FileLoader","setPath","path","setRequestHeader","requestHeader","setWithCredentials","withCredentials","text","parse","e","console","error","itemError","parseNode","node","style","nodeType","transform","getNodeTransform","traverseChildNodes","nodeName","parseCSSStylesheet","parseStyle","hasAttribute","parsePathNode","parseRectNode","parsePolygonNode","parsePolylineNode","parseCircleNode","parseEllipseNode","parseLineNode","usedNodeId","href","baseVal","substring","usedNode","viewportElement","getElementById","warn","fill","undefined","color","setStyle","transformPath","currentTransform","paths","push","userData","nodes","childNodes","i","length","transformStack","pop","copy","identity","ShapePath","point","Vector2","control","firstPoint","isFirstPoint","doSetFirstPoint","d","getAttribute","commands","match","l","command","type","charAt","data","substr","trim","numbers","parseFloats","j","jl","x","y","moveTo","lineTo","bezierCurveTo","getReflection","quadraticCurveTo","rx","ry","start","clone","parseArcCommand","currentPath","autoClose","curves","currentPoint","sheet","cssRules","stylesheet","selectorList","selectorText","split","filter","Boolean","map","stylesheets","x_axis_rotation","large_arc_flag","sweep_flag","end","Math","PI","abs","dx2","dy2","x1p","cos","sin","y1p","rxs","rys","x1ps","y1ps","cr","s","sqrt","dq","pq","q","max","cxp","cyp","cx","cy","theta","svgAngle","delta","absellipse","ux","uy","vx","vy","dot","len","ang","acos","min","parseFloatWithUnits","w","h","iterator","a","b","index","regex","replace","r","subpath","Path","absarc","subPaths","x1","y1","x2","y2","stylesheetStyles","classSelectors","addStyle","svgName","jsName","adjustFunction","v","startsWith","clamp","positive","string","array","number","indexOf","lastIndexOf","splice","units","unitConversion","mm","cm","pt","pc","px","theUnit","String","n","u","endsWith","scale","parseFloat","parseNodeTransform","premultiply","Matrix3","tempTransform0","tx","ty","translate","transformsTexts","tIndex","transformText","openParPos","closeParPos","transformType","angle","tempTransform1","tempTransform2","rotate","tempTransform3","multiplyMatrices","scaleX","scaleY","set","tan","m","transfVec2","v2","tempV3","applyMatrix3","isRotated","isTransformRotated","subPath","curve","isLineCurve","v1","isCubicBezierCurve","v0","v3","isQuadraticBezierCurve","isEllipseCurve","tempV2","aX","aY","xRadius","getTransformScaleX","yRadius","getTransformScaleY","elements","te","Vector3","xml","DOMParser","parseFromString","documentElement","fillOpacity","strokeOpacity","strokeWidth","strokeLineJoin","strokeLineCap","strokeMiterLimit","getStrokeStyle","width","lineJoin","lineCap","miterLimit","strokeColor","pointsToStroke","points","arcDivisions","minDistance","vertices","normals","uvs","pointsToStrokeWithBuffers","geometry","BufferGeometry","setAttribute","Float32BufferAttribute","tempV2_1","tempV2_2","tempV2_3","tempV2_4","tempV2_5","tempV2_6","tempV2_7","lastPointL","lastPointR","point0L","point0R","currentPointL","currentPointR","nextPointL","nextPointR","innerPoint","outerPoint","vertexOffset","removeDuplicatedPoints","numPoints","isClosed","equals","previousPoint","nextPoint","strokeWidth2","deltaU","u0","innerSideModified","joinIsOnLeftSide","isMiter","initialJoinIsOnLeftSide","numVertices","currentCoordinate","currentCoordinateUV","getNormal","multiplyScalar","sub","add","iPoint","normal1","u1","subVectors","normalize","miterSide","setLength","negate","miterLength2","segmentLengthPrev","divideScalar","segmentLengthNext","makeSegmentTriangles","makeSegmentWithBevelJoin","createSegmentTrianglesWithMiddleSection","makeCircularSector","miterFraction","addVertex","addCapGeometry","lastOuter","lastInner","toArray","p1","p2","result","position","center","il","rotateAround","addVectors","vl","dupPoints","distanceTo","newPoints"],"sources":["../../src/plugins/SVGLoader.js"],"sourcesContent":["import {\r\n BufferGeometry,\r\n FileLoader,\r\n Float32BufferAttribute,\r\n Loader,\r\n Matrix3,\r\n Path,\r\n ShapePath,\r\n Vector2,\r\n Vector3\r\n} from 'three';\r\n\r\nvar SVGLoader = function (manager) {\r\n Loader.call(this, manager);\r\n\r\n // Default dots per inch\r\n this.defaultDPI = 90;\r\n\r\n // Accepted units: 'mm', 'cm', 'in', 'pt', 'pc', 'px'\r\n this.defaultUnit = 'px';\r\n};\r\n\r\nSVGLoader.prototype = Object.assign(Object.create(Loader.prototype), {\r\n constructor: SVGLoader,\r\n\r\n load: function (url, onLoad, onProgress, onError) {\r\n var scope = this;\r\n\r\n var loader = new FileLoader(scope.manager);\r\n loader.setPath(scope.path);\r\n loader.setRequestHeader(scope.requestHeader);\r\n loader.setWithCredentials(scope.withCredentials);\r\n loader.load(\r\n url,\r\n function (text) {\r\n try {\r\n onLoad(scope.parse(text));\r\n } catch (e) {\r\n if (onError) {\r\n onError(e);\r\n } else {\r\n console.error(e);\r\n }\r\n\r\n scope.manager.itemError(url);\r\n }\r\n },\r\n onProgress,\r\n onError\r\n );\r\n },\r\n\r\n parse: function (text) {\r\n var scope = this;\r\n\r\n function parseNode(node, style) {\r\n if (node.nodeType !== 1) return;\r\n\r\n var transform = getNodeTransform(node);\r\n\r\n var traverseChildNodes = true;\r\n\r\n var path = null;\r\n\r\n switch (node.nodeName) {\r\n case 'svg':\r\n break;\r\n\r\n case 'style':\r\n parseCSSStylesheet(node);\r\n break;\r\n\r\n case 'g':\r\n style = parseStyle(node, style);\r\n break;\r\n\r\n case 'path':\r\n style = parseStyle(node, style);\r\n if (node.hasAttribute('d')) path = parsePathNode(node);\r\n break;\r\n\r\n case 'rect':\r\n style = parseStyle(node, style);\r\n path = parseRectNode(node);\r\n break;\r\n\r\n case 'polygon':\r\n style = parseStyle(node, style);\r\n path = parsePolygonNode(node);\r\n break;\r\n\r\n case 'polyline':\r\n style = parseStyle(node, style);\r\n path = parsePolylineNode(node);\r\n break;\r\n\r\n case 'circle':\r\n style = parseStyle(node, style);\r\n path = parseCircleNode(node);\r\n break;\r\n\r\n case 'ellipse':\r\n style = parseStyle(node, style);\r\n path = parseEllipseNode(node);\r\n break;\r\n\r\n case 'line':\r\n style = parseStyle(node, style);\r\n path = parseLineNode(node);\r\n break;\r\n\r\n case 'defs':\r\n traverseChildNodes = false;\r\n break;\r\n\r\n case 'use':\r\n style = parseStyle(node, style);\r\n var usedNodeId = node.href.baseVal.substring(1);\r\n var usedNode = node.viewportElement.getElementById(usedNodeId);\r\n if (usedNode) {\r\n parseNode(usedNode, style);\r\n } else {\r\n console.warn(\r\n \"SVGLoader: 'use node' references non-existent node id: \" +\r\n usedNodeId\r\n );\r\n }\r\n\r\n break;\r\n\r\n default:\r\n // console.log( node );\r\n }\r\n\r\n if (path) {\r\n if (style.fill !== undefined && style.fill !== 'none') {\r\n path.color.setStyle(style.fill);\r\n }\r\n\r\n transformPath(path, currentTransform);\r\n\r\n paths.push(path);\r\n\r\n path.userData = { node: node, style: style };\r\n }\r\n\r\n if (traverseChildNodes) {\r\n var nodes = node.childNodes;\r\n\r\n for (var i = 0; i < nodes.length; i++) {\r\n parseNode(nodes[i], style);\r\n }\r\n }\r\n\r\n if (transform) {\r\n transformStack.pop();\r\n\r\n if (transformStack.length > 0) {\r\n currentTransform.copy(transformStack[transformStack.length - 1]);\r\n } else {\r\n currentTransform.identity();\r\n }\r\n }\r\n }\r\n\r\n function parsePathNode(node) {\r\n var path = new ShapePath();\r\n\r\n var point = new Vector2();\r\n var control = new Vector2();\r\n\r\n var firstPoint = new Vector2();\r\n var isFirstPoint = true;\r\n var doSetFirstPoint = false;\r\n\r\n var d = node.getAttribute('d');\r\n\r\n // console.log( d );\r\n\r\n var commands = d.match(/[a-df-z][^a-df-z]*/gi);\r\n\r\n for (var i = 0, l = commands.length; i < l; i++) {\r\n var command = commands[i];\r\n\r\n var type = command.charAt(0);\r\n var data = command.substr(1).trim();\r\n\r\n if (isFirstPoint === true) {\r\n doSetFirstPoint = true;\r\n isFirstPoint = false;\r\n }\r\n\r\n switch (type) {\r\n case 'M':\r\n var numbers = parseFloats(data);\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n point.x = numbers[j + 0];\r\n point.y = numbers[j + 1];\r\n control.x = point.x;\r\n control.y = point.y;\r\n\r\n if (j === 0) {\r\n path.moveTo(point.x, point.y);\r\n } else {\r\n path.lineTo(point.x, point.y);\r\n }\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'H':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j++) {\r\n point.x = numbers[j];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'V':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j++) {\r\n point.y = numbers[j];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'L':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n point.x = numbers[j + 0];\r\n point.y = numbers[j + 1];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'C':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 6) {\r\n path.bezierCurveTo(\r\n numbers[j + 0],\r\n numbers[j + 1],\r\n numbers[j + 2],\r\n numbers[j + 3],\r\n numbers[j + 4],\r\n numbers[j + 5]\r\n );\r\n control.x = numbers[j + 2];\r\n control.y = numbers[j + 3];\r\n point.x = numbers[j + 4];\r\n point.y = numbers[j + 5];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'S':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 4) {\r\n path.bezierCurveTo(\r\n getReflection(point.x, control.x),\r\n getReflection(point.y, control.y),\r\n numbers[j + 0],\r\n numbers[j + 1],\r\n numbers[j + 2],\r\n numbers[j + 3]\r\n );\r\n control.x = numbers[j + 0];\r\n control.y = numbers[j + 1];\r\n point.x = numbers[j + 2];\r\n point.y = numbers[j + 3];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'Q':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 4) {\r\n path.quadraticCurveTo(\r\n numbers[j + 0],\r\n numbers[j + 1],\r\n numbers[j + 2],\r\n numbers[j + 3]\r\n );\r\n control.x = numbers[j + 0];\r\n control.y = numbers[j + 1];\r\n point.x = numbers[j + 2];\r\n point.y = numbers[j + 3];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'T':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n var rx = getReflection(point.x, control.x);\r\n var ry = getReflection(point.y, control.y);\r\n path.quadraticCurveTo(rx, ry, numbers[j + 0], numbers[j + 1]);\r\n control.x = rx;\r\n control.y = ry;\r\n point.x = numbers[j + 0];\r\n point.y = numbers[j + 1];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'A':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 7) {\r\n var start = point.clone();\r\n point.x = numbers[j + 5];\r\n point.y = numbers[j + 6];\r\n control.x = point.x;\r\n control.y = point.y;\r\n parseArcCommand(\r\n path,\r\n numbers[j],\r\n numbers[j + 1],\r\n numbers[j + 2],\r\n numbers[j + 3],\r\n numbers[j + 4],\r\n start,\r\n point\r\n );\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'm':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n point.x += numbers[j + 0];\r\n point.y += numbers[j + 1];\r\n control.x = point.x;\r\n control.y = point.y;\r\n\r\n if (j === 0) {\r\n path.moveTo(point.x, point.y);\r\n } else {\r\n path.lineTo(point.x, point.y);\r\n }\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'h':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j++) {\r\n point.x += numbers[j];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'v':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j++) {\r\n point.y += numbers[j];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'l':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n point.x += numbers[j + 0];\r\n point.y += numbers[j + 1];\r\n control.x = point.x;\r\n control.y = point.y;\r\n path.lineTo(point.x, point.y);\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'c':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 6) {\r\n path.bezierCurveTo(\r\n point.x + numbers[j + 0],\r\n point.y + numbers[j + 1],\r\n point.x + numbers[j + 2],\r\n point.y + numbers[j + 3],\r\n point.x + numbers[j + 4],\r\n point.y + numbers[j + 5]\r\n );\r\n control.x = point.x + numbers[j + 2];\r\n control.y = point.y + numbers[j + 3];\r\n point.x += numbers[j + 4];\r\n point.y += numbers[j + 5];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 's':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 4) {\r\n path.bezierCurveTo(\r\n getReflection(point.x, control.x),\r\n getReflection(point.y, control.y),\r\n point.x + numbers[j + 0],\r\n point.y + numbers[j + 1],\r\n point.x + numbers[j + 2],\r\n point.y + numbers[j + 3]\r\n );\r\n control.x = point.x + numbers[j + 0];\r\n control.y = point.y + numbers[j + 1];\r\n point.x += numbers[j + 2];\r\n point.y += numbers[j + 3];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'q':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 4) {\r\n path.quadraticCurveTo(\r\n point.x + numbers[j + 0],\r\n point.y + numbers[j + 1],\r\n point.x + numbers[j + 2],\r\n point.y + numbers[j + 3]\r\n );\r\n control.x = point.x + numbers[j + 0];\r\n control.y = point.y + numbers[j + 1];\r\n point.x += numbers[j + 2];\r\n point.y += numbers[j + 3];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 't':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 2) {\r\n var rx = getReflection(point.x, control.x);\r\n var ry = getReflection(point.y, control.y);\r\n path.quadraticCurveTo(\r\n rx,\r\n ry,\r\n point.x + numbers[j + 0],\r\n point.y + numbers[j + 1]\r\n );\r\n control.x = rx;\r\n control.y = ry;\r\n point.x = point.x + numbers[j + 0];\r\n point.y = point.y + numbers[j + 1];\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'a':\r\n var numbers = parseFloats(data);\r\n\r\n for (var j = 0, jl = numbers.length; j < jl; j += 7) {\r\n var start = point.clone();\r\n point.x += numbers[j + 5];\r\n point.y += numbers[j + 6];\r\n control.x = point.x;\r\n control.y = point.y;\r\n parseArcCommand(\r\n path,\r\n numbers[j],\r\n numbers[j + 1],\r\n numbers[j + 2],\r\n numbers[j + 3],\r\n numbers[j + 4],\r\n start,\r\n point\r\n );\r\n\r\n if (j === 0 && doSetFirstPoint === true) firstPoint.copy(point);\r\n }\r\n\r\n break;\r\n\r\n case 'Z':\r\n case 'z':\r\n path.currentPath.autoClose = true;\r\n\r\n if (path.currentPath.curves.length > 0) {\r\n // Reset point to beginning of Path\r\n point.copy(firstPoint);\r\n path.currentPath.currentPoint.copy(point);\r\n isFirstPoint = true;\r\n }\r\n\r\n break;\r\n\r\n default:\r\n console.warn(command);\r\n }\r\n\r\n // console.log( type, parseFloats( data ), parseFloats( data ).length )\r\n\r\n doSetFirstPoint = false;\r\n }\r\n\r\n return path;\r\n }\r\n\r\n function parseCSSStylesheet(node) {\r\n if (!node.sheet || !node.sheet.cssRules || !node.sheet.cssRules.length)\r\n return;\r\n\r\n for (var i = 0; i < node.sheet.cssRules.length; i++) {\r\n var stylesheet = node.sheet.cssRules[i];\r\n\r\n if (stylesheet.type !== 1) continue;\r\n\r\n var selectorList = stylesheet.selectorText\r\n .split(/,/gm)\r\n .filter(Boolean)\r\n .map(i => i.trim());\r\n\r\n for (var j = 0; j < selectorList.length; j++) {\r\n stylesheets[selectorList[j]] = Object.assign(\r\n stylesheets[selectorList[j]] || {},\r\n stylesheet.style\r\n );\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * https://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes\r\n * https://mortoray.com/2017/02/16/rendering-an-svg-elliptical-arc-as-bezier-curves/ Appendix: Endpoint to center arc conversion\r\n * From\r\n * rx ry x-axis-rotation large-arc-flag sweep-flag x y\r\n * To\r\n * aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation\r\n */\r\n\r\n function parseArcCommand(\r\n path,\r\n rx,\r\n ry,\r\n x_axis_rotation,\r\n large_arc_flag,\r\n sweep_flag,\r\n start,\r\n end\r\n ) {\r\n x_axis_rotation = (x_axis_rotation * Math.PI) / 180;\r\n\r\n // Ensure radii are positive\r\n rx = Math.abs(rx);\r\n ry = Math.abs(ry);\r\n\r\n // Compute (x1', y1')\r\n var dx2 = (start.x - end.x) / 2.0;\r\n var dy2 = (start.y - end.y) / 2.0;\r\n var x1p =\r\n Math.cos(x_axis_rotation) * dx2 + Math.sin(x_axis_rotation) * dy2;\r\n var y1p =\r\n -Math.sin(x_axis_rotation) * dx2 + Math.cos(x_axis_rotation) * dy2;\r\n\r\n // Compute (cx', cy')\r\n var rxs = rx * rx;\r\n var rys = ry * ry;\r\n var x1ps = x1p * x1p;\r\n var y1ps = y1p * y1p;\r\n\r\n // Ensure radii are large enough\r\n var cr = x1ps / rxs + y1ps / rys;\r\n\r\n if (cr > 1) {\r\n // scale up rx,ry equally so cr == 1\r\n var s = Math.sqrt(cr);\r\n rx = s * rx;\r\n ry = s * ry;\r\n rxs = rx * rx;\r\n rys = ry * ry;\r\n }\r\n\r\n var dq = rxs * y1ps + rys * x1ps;\r\n var pq = (rxs * rys - dq) / dq;\r\n var q = Math.sqrt(Math.max(0, pq));\r\n if (large_arc_flag === sweep_flag) q = -q;\r\n var cxp = (q * rx * y1p) / ry;\r\n var cyp = (-q * ry * x1p) / rx;\r\n\r\n // Step 3: Compute (cx, cy) from (cx', cy')\r\n var cx =\r\n Math.cos(x_axis_rotation) * cxp -\r\n Math.sin(x_axis_rotation) * cyp +\r\n (start.x + end.x) / 2;\r\n var cy =\r\n Math.sin(x_axis_rotation) * cxp +\r\n Math.cos(x_axis_rotation) * cyp +\r\n (start.y + end.y) / 2;\r\n\r\n // Step 4: Compute ��1 and ����\r\n var theta = svgAngle(1, 0, (x1p - cxp) / rx, (y1p - cyp) / ry);\r\n var delta =\r\n svgAngle(\r\n (x1p - cxp) / rx,\r\n (y1p - cyp) / ry,\r\n (-x1p - cxp) / rx,\r\n (-y1p - cyp) / ry\r\n ) %\r\n (Math.PI * 2);\r\n\r\n path.currentPath.absellipse(\r\n cx,\r\n cy,\r\n rx,\r\n ry,\r\n theta,\r\n theta + delta,\r\n sweep_flag === 0,\r\n x_axis_rotation\r\n );\r\n }\r\n\r\n function svgAngle(ux, uy, vx, vy) {\r\n var dot = ux * vx + uy * vy;\r\n var len = Math.sqrt(ux * ux + uy * uy) * Math.sqrt(vx * vx + vy * vy);\r\n var ang = Math.acos(Math.max(-1, Math.min(1, dot / len))); // floating point precision, slightly over values appear\r\n if (ux * vy - uy * vx < 0) ang = -ang;\r\n return ang;\r\n }\r\n\r\n /*\r\n * According to https://www.w3.org/TR/SVG/shapes.html#RectElementRXAttribute\r\n * rounded corner should be rendered to elliptical arc, but bezier curve does the job well enough\r\n */\r\n function parseRectNode(node) {\r\n var x = parseFloatWithUnits(node.getAttribute('x') || 0);\r\n var y = parseFloatWithUnits(node.getAttribute('y') || 0);\r\n var rx = parseFloatWithUnits(node.getAttribute('rx') || 0);\r\n var ry = parseFloatWithUnits(node.getAttribute('ry') || 0);\r\n var w = parseFloatWithUnits(node.getAttribute('width'));\r\n var h = parseFloatWithUnits(node.getAttribute('height'));\r\n\r\n var path = new ShapePath();\r\n path.moveTo(x + 2 * rx, y);\r\n path.lineTo(x + w - 2 * rx, y);\r\n if (rx !== 0 || ry !== 0)\r\n path.bezierCurveTo(x + w, y, x + w, y, x + w, y + 2 * ry);\r\n path.lineTo(x + w, y + h - 2 * ry);\r\n if (rx !== 0 || ry !== 0)\r\n path.bezierCurveTo(x + w, y + h, x + w, y + h, x + w - 2 * rx, y + h);\r\n path.lineTo(x + 2 * rx, y + h);\r\n\r\n if (rx !== 0 || ry !== 0) {\r\n path.bezierCurveTo(x, y + h, x, y + h, x, y + h - 2 * ry);\r\n }\r\n\r\n path.lineTo(x, y + 2 * ry);\r\n\r\n if (rx !== 0 || ry !== 0) {\r\n path.bezierCurveTo(x, y, x, y, x + 2 * rx, y);\r\n }\r\n\r\n return path;\r\n }\r\n\r\n function parsePolygonNode(node) {\r\n function iterator(match, a, b) {\r\n var x = parseFloatWithUnits(a);\r\n var y = parseFloatWithUnits(b);\r\n\r\n if (index === 0) {\r\n path.moveTo(x, y);\r\n } else {\r\n path.lineTo(x, y);\r\n }\r\n\r\n index++;\r\n }\r\n\r\n var regex = /(-?[\\d\\.?]+)[,|\\s](-?[\\d\\.?]+)/g;\r\n\r\n var path = new ShapePath();\r\n\r\n var index = 0;\r\n\r\n node.getAttribute('points').replace(regex, iterator);\r\n\r\n path.currentPath.autoClose = true;\r\n\r\n return path;\r\n }\r\n\r\n function parsePolylineNode(node) {\r\n function iterator(match, a, b) {\r\n var x = parseFloatWithUnits(a);\r\n var y = parseFloatWithUnits(b);\r\n\r\n if (index === 0) {\r\n path.moveTo(x, y);\r\n } else {\r\n path.lineTo(x, y);\r\n }\r\n\r\n index++;\r\n }\r\n\r\n var regex = /(-?[\\d\\.?]+)[,|\\s](-?[\\d\\.?]+)/g;\r\n\r\n var path = new ShapePath();\r\n\r\n var index = 0;\r\n\r\n node.getAttribute('points').replace(regex, iterator);\r\n\r\n path.currentPath.autoClose = false;\r\n\r\n return path;\r\n }\r\n\r\n function parseCircleNode(node) {\r\n var x = parseFloatWithUnits(node.getAttribute('cx'));\r\n var y = parseFloatWithUnits(node.getAttribute('cy'));\r\n var r = parseFloatWithUnits(node.getAttribute('r'));\r\n\r\n var subpath = new Path();\r\n subpath.absarc(x, y, r, 0, Math.PI * 2);\r\n\r\n var path = new ShapePath();\r\n path.subPaths.push(subpath);\r\n\r\n return path;\r\n }\r\n\r\n function parseEllipseNode(node) {\r\n var x = parseFloatWithUnits(node.getAttribute('cx'));\r\n var y = parseFloatWithUnits(node.getAttribute('cy'));\r\n var rx = parseFloatWithUnits(node.getAttribute('rx'));\r\n var ry = parseFloatWithUnits(node.getAttribute('ry'));\r\n\r\n var subpath = new Path();\r\n subpath.absellipse(x, y, rx, ry, 0, Math.PI * 2);\r\n\r\n var path = new ShapePath();\r\n path.subPaths.push(subpath);\r\n\r\n return path;\r\n }\r\n\r\n function parseLineNode(node) {\r\n var x1 = parseFloatWithUnits(node.getAttribute('x1'));\r\n var y1 = parseFloatWithUnits(node.getAttribute('y1'));\r\n var x2 = parseFloatWithUnits(node.getAttribute('x2'));\r\n var y2 = parseFloatWithUnits(node.getAttribute('y2'));\r\n\r\n var path = new ShapePath();\r\n path.moveTo(x1, y1);\r\n path.lineTo(x2, y2);\r\n path.currentPath.autoClose = false;\r\n\r\n return path;\r\n }\r\n\r\n //\r\n\r\n function parseStyle(node, style) {\r\n style = Object.assign({}, style); // clone style\r\n\r\n var stylesheetStyles = {};\r\n\r\n if (node.hasAttribute('class')) {\r\n var classSelectors = node\r\n .getAttribute('class')\r\n .split(/\\s/)\r\n .filter(Boolean)\r\n .map(i => i.trim());\r\n\r\n for (var i = 0; i < classSelectors.length; i++) {\r\n stylesheetStyles = Object.assign(\r\n stylesheetStyles,\r\n stylesheets['.' + classSelectors[i]]\r\n );\r\n }\r\n }\r\n\r\n if (node.hasAttribute('id')) {\r\n stylesheetStyles = Object.assign(\r\n stylesheetStyles,\r\n stylesheets['#' + node.getAttribute('id')]\r\n );\r\n }\r\n\r\n function addStyle(svgName, jsName, adjustFunction) {\r\n if (adjustFunction === undefined)\r\n adjustFunction = function copy(v) {\r\n if (v.startsWith('url'))\r\n console.warn(\r\n 'SVGLoader: url access in attributes is not implemented.'\r\n );\r\n\r\n return v;\r\n };\r\n\r\n if (node.hasAttribute(svgName))\r\n style[jsName] = adjustFunction(node.getAttribute(svgName));\r\n if (stylesheetStyles[svgName])\r\n style[jsName] = adjustFunction(stylesheetStyles[svgName]);\r\n if (node.style && node.style[svgName] !== '')\r\n style[jsName] = adjustFunction(node.style[svgName]);\r\n }\r\n\r\n function clamp(v) {\r\n return Math.max(0, Math.min(1, parseFloatWithUnits(v)));\r\n }\r\n\r\n function positive(v) {\r\n return Math.max(0, parseFloatWithUnits(v));\r\n }\r\n\r\n addStyle('fill', 'fill');\r\n addStyle('fill-opacity', 'fillOpacity', clamp);\r\n addStyle('opacity', 'opacity', clamp);\r\n addStyle('stroke', 'stroke');\r\n addStyle('stroke-opacity', 'strokeOpacity', clamp);\r\n addStyle('stroke-width', 'strokeWidth', positive);\r\n addStyle('stroke-linejoin', 'strokeLineJoin');\r\n addStyle('stroke-linecap', 'strokeLineCap');\r\n addStyle('stroke-miterlimit', 'strokeMiterLimit', positive);\r\n addStyle('visibility', 'visibility');\r\n\r\n return style;\r\n }\r\n\r\n // http://www.w3.org/TR/SVG11/implnote.html#PathElementImplementationNotes\r\n\r\n function getReflection(a, b) {\r\n return a - (b - a);\r\n }\r\n\r\n function parseFloats(string) {\r\n var array = string.split(/[\\s,]+|(?=\\s?[+\\-])/);\r\n\r\n for (var i = 0; i < array.length; i++) {\r\n var number = array[i];\r\n\r\n // Handle values like 48.6037.7.8\r\n // TODO Find a regex for this\r\n\r\n if (number.indexOf('.') !== number.lastIndexOf('.')) {\r\n var split = number.split('.');\r\n\r\n for (var s = 2; s < split.length; s++) {\r\n array.splice(i + s - 1, 0, '0.' + split[s]);\r\n }\r\n }\r\n\r\n array[i] = parseFloatWithUnits(number);\r\n }\r\n\r\n return array;\r\n }\r\n\r\n // Units\r\n\r\n var units = ['mm', 'cm', 'in', 'pt', 'pc', 'px'];\r\n\r\n // Conversion: [ fromUnit ][ toUnit ] (-1 means dpi dependent)\r\n var unitConversion = {\r\n mm: {\r\n mm: 1,\r\n cm: 0.1,\r\n in: 1 / 25.4,\r\n pt: 72 / 25.4,\r\n pc: 6 / 25.4,\r\n px: -1\r\n },\r\n cm: {\r\n mm: 10,\r\n cm: 1,\r\n in: 1 / 2.54,\r\n pt: 72 / 2.54,\r\n pc: 6 / 2.54,\r\n px: -1\r\n },\r\n in: {\r\n mm: 25.4,\r\n cm: 2.54,\r\n in: 1,\r\n pt: 72,\r\n pc: 6,\r\n px: -1\r\n },\r\n pt: {\r\n mm: 25.4 / 72,\r\n cm: 2.54 / 72,\r\n in: 1 / 72,\r\n pt: 1,\r\n pc: 6 / 72,\r\n px: -1\r\n },\r\n pc: {\r\n mm: 25.4 / 6,\r\n cm: 2.54 / 6,\r\n in: 1 / 6,\r\n pt: 72 / 6,\r\n pc: 1,\r\n px: -1\r\n },\r\n px: {\r\n px: 1\r\n }\r\n };\r\n\r\n function parseFloatWithUnits(string) {\r\n var theUnit = 'px';\r\n\r\n if (typeof string === 'string' || string instanceof String) {\r\n for (var i = 0, n = units.length; i < n; i++) {\r\n var u = units[i];\r\n\r\n if (string.endsWith(u)) {\r\n theUnit = u;\r\n string = string.substring(0, string.length - u.length);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n var scale = undefined;\r\n\r\n if (theUnit === 'px' && scope.defaultUnit !== 'px') {\r\n // Conversion scale from pixels to inches, then to default units\r\n\r\n scale = unitConversion['in'][scope.defaultUnit] / scope.defaultDPI;\r\n } else {\r\n scale = unitConversion[theUnit][scope.defaultUnit];\r\n\r\n if (scale < 0) {\r\n // Conversion scale to pixels\r\n\r\n scale = unitConversion[theUnit]['in'] * scope.defaultDPI;\r\n }\r\n }\r\n\r\n return scale * parseFloat(string);\r\n }\r\n\r\n // Transforms\r\n\r\n function getNodeTransform(node) {\r\n if (\r\n !(\r\n node.hasAttribute('transform') ||\r\n (node.nodeName === 'use' &&\r\n (node.hasAttribute('x') || node.hasAttribute('y')))\r\n )\r\n ) {\r\n return null;\r\n }\r\n\r\n var transform = parseNodeTransform(node);\r\n\r\n if (transformStack.length > 0) {\r\n transform.premultiply(transformStack[transformStack.length - 1]);\r\n }\r\n\r\n currentTransform.copy(transform);\r\n transformStack.push(transform);\r\n\r\n return transform;\r\n }\r\n\r\n function parseNodeTransform(node) {\r\n var transform = new Matrix3();\r\n var currentTransform = tempTransform0;\r\n\r\n if (\r\n node.nodeName === 'use' &&\r\n (node.hasAttribute('x') || node.hasAttribute('y'))\r\n ) {\r\n var tx = parseFloatWithUnits(node.getAttribute('x'));\r\n var ty = parseFloatWithUnits(node.getAttribute('y'));\r\n\r\n transform.translate(tx, ty);\r\n }\r\n\r\n if (node.hasAttribute('transform')) {\r\n var transformsTexts = node.getAttribute('transform').split(')');\r\n\r\n for (var tIndex = transformsTexts.length - 1; tIndex >= 0; tIndex--) {\r\n var transformText = transformsTexts[tIndex].trim();\r\n\r\n if (transformText === '') continue;\r\n\r\n var openParPos = transformText.indexOf('(');\r\n var closeParPos = transformText.length;\r\n\r\n if (openParPos > 0 && openParPos < closeParPos) {\r\n var transformType = transformText.substr(0, openParPos);\r\n\r\n var array = parseFloats(\r\n transformText.substr(openParPos + 1, closeParPos - openParPos - 1)\r\n );\r\n\r\n currentTransform.identity();\r\n\r\n switch (transformType) {\r\n case 'translate':\r\n if (array.length >= 1) {\r\n var tx = array[0];\r\n var ty = tx;\r\n\r\n if (array.length >= 2) {\r\n ty = array[1];\r\n }\r\n\r\n currentTransform.translate(tx, ty);\r\n }\r\n\r\n break;\r\n\r\n case 'rotate':\r\n if (array.length >= 1) {\r\n var angle = 0;\r\n var cx = 0;\r\n var cy = 0;\r\n\r\n // Angle\r\n angle = (-array[0] * Math.PI) / 180;\r\n\r\n if (array.length >= 3) {\r\n // Center x, y\r\n cx = array[1];\r\n cy = array[2];\r\n }\r\n\r\n // Rotate around center (cx, cy)\r\n tempTransform1.identity().translate(-cx, -cy);\r\n tempTransform2.identity().rotate(angle);\r\n tempTransform3.multiplyMatrices(\r\n tempTransform2,\r\n tempTransform1\r\n );\r\n tempTransform1.identity().translate(cx, cy);\r\n currentTransform.multiplyMatrices(\r\n tempTransform1,\r\n tempTransform3\r\n );\r\n }\r\n\r\n break;\r\n\r\n case 'scale':\r\n if (array.length >= 1) {\r\n var scaleX = array[0];\r\n var scaleY = scaleX;\r\n\r\n if (array.length >= 2) {\r\n scaleY = array[1];\r\n }\r\n\r\n currentTransform.scale(scaleX, scaleY);\r\n }\r\n\r\n break;\r\n\r\n case 'skewX':\r\n if (array.length === 1) {\r\n currentTransform.set(\r\n 1,\r\n Math.tan((array[0] * Math.PI) / 180),\r\n 0,\r\n 0,\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 1\r\n );\r\n }\r\n\r\n break;\r\n\r\n case 'skewY':\r\n if (array.length === 1) {\r\n currentTransform.set(\r\n 1,\r\n 0,\r\n 0,\r\n Math.tan((array[0] * Math.PI) / 180),\r\n 1,\r\n 0,\r\n 0,\r\n 0,\r\n 1\r\n );\r\n }\r\n\r\n break;\r\n\r\n case 'matrix':\r\n if (array.length === 6) {\r\n currentTransform.set(\r\n array[0],\r\n array[2],\r\n array[4],\r\n array[1],\r\n array[3],\r\n array[5],\r\n 0,\r\n 0,\r\n 1\r\n );\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n transform.premultiply(currentTransform);\r\n }\r\n }\r\n\r\n return transform;\r\n }\r\n\r\n function transformPath(path, m) {\r\n function transfVec2(v2) {\r\n tempV3.set(v2.x, v2.y, 1).applyMatrix3(m);\r\n\r\n v2.set(tempV3.x, tempV3.y);\r\n }\r\n\r\n var isRotated = isTransformRotated(m);\r\n\r\n var subPaths = path.subPaths;\r\n\r\n for (var i = 0, n = subPaths.length; i < n; i++) {\r\n var subPath = subPaths[i];\r\n var curves = subPath.curves;\r\n\r\n for (var j = 0; j < curves.length; j++) {\r\n var curve = curves[j];\r\n\r\n if (curve.isLineCurve) {\r\n transfVec2(curve.v1);\r\n transfVec2(curve.v2);\r\n } else if (curve.isCubicBezierCurve) {\r\n transfVec2(curve.v0);\r\n transfVec2(curve.v1);\r\n transfVec2(curve.v2);\r\n transfVec2(curve.v3);\r\n } else if (curve.isQuadraticBezierCurve) {\r\n transfVec2(curve.v0);\r\n transfVec2(curve.v1);\r\n transfVec2(curve.v2);\r\n } else if (curve.isEllipseCurve) {\r\n if (isRotated) {\r\n console.warn(\r\n 'SVGLoader: Elliptic arc or ellipse rotation or skewing is not implemented.'\r\n );\r\n }\r\n\r\n tempV2.set(curve.aX, curve.aY);\r\n transfVec2(tempV2);\r\n curve.aX = tempV2.x;\r\n curve.aY = tempV2.y;\r\n\r\n curve.xRadius *= getTransformScaleX(m);\r\n curve.yRadius *= getTransformScaleY(m);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function isTransformRotated(m) {\r\n return m.elements[1] !== 0 || m.elements[3] !== 0;\r\n }\r\n\r\n function getTransformScaleX(m) {\r\n var te = m.elements;\r\n return Math.sqrt(te[0] * te[0] + te[1] * te[1]);\r\n }\r\n\r\n function getTransformScaleY(m) {\r\n var te = m.elements;\r\n return Math.sqrt(te[3] * te[3] + te[4] * te[4]);\r\n }\r\n\r\n //\r\n\r\n var paths = [];\r\n var stylesheets = {};\r\n\r\n var transformStack = [];\r\n\r\n var tempTransform0 = new Matrix3();\r\n var tempTransform1 = new Matrix3();\r\n var tempTransform2 = new Matrix3();\r\n var tempTransform3 = new Matrix3();\r\n var tempV2 = new Vector2();\r\n var tempV3 = new Vector3();\r\n\r\n var currentTransform = new Matrix3();\r\n\r\n var xml = new DOMParser().parseFromString(text, 'image/svg+xml'); // application/xml\r\n\r\n parseNode(xml.documentElement, {\r\n fill: '#000',\r\n fillOpacity: 1,\r\n strokeOpacity: 1,\r\n strokeWidth: 1,\r\n strokeLineJoin: 'miter',\r\n strokeLineCap: 'butt',\r\n strokeMiterLimit: 4\r\n });\r\n\r\n var data = { paths: paths, xml: xml.documentElement };\r\n\r\n // console.log( paths );\r\n return data;\r\n }\r\n});\r\n\r\nSVGLoader.getStrokeStyle = function (\r\n width,\r\n color,\r\n lineJoin,\r\n lineCap,\r\n miterLimit\r\n) {\r\n // Param width: Stroke width\r\n // Param color: As returned by THREE.Color.getStyle()\r\n // Param lineJoin: One of \"round\", \"bevel\", \"miter\" or \"miter-limit\"\r\n // Param lineCap: One of \"round\", \"square\" or \"butt\"\r\n // Param miterLimit: Maximum join length, in multiples of the \"width\" parameter (join is truncated if it exceeds that distance)\r\n // Returns style object\r\n\r\n width = width !== undefined ? width : 1;\r\n color = color !== undefined ? color : '#000';\r\n lineJoin = lineJoin !== undefined ? lineJoin : 'miter';\r\n lineCap = lineCap !== undefined ? lineCap : 'butt';\r\n miterLimit = miterLimit !== undefined ? miterLimit : 4;\r\n\r\n return {\r\n strokeColor: color,\r\n strokeWidth: width,\r\n strokeLineJoin: lineJoin,\r\n strokeLineCap: lineCap,\r\n strokeMiterLimit: miterLimit\r\n };\r\n};\r\n\r\nSVGLoader.pointsToStroke = function (points, style, arcDivisions, minDistance) {\r\n // Generates a stroke with some witdh around the given path.\r\n // The path can be open or closed (last point equals to first point)\r\n // Param points: Array of Vector2D (the path). Minimum 2 points.\r\n // Param style: Object with SVG properties as returned by SVGLoader.getStrokeStyle(), or SVGLoader.parse() in the path.userData.style object\r\n // Params arcDivisions: Arc divisions for round joins and endcaps. (Optional)\r\n // Param minDistance: Points closer to this distance will be merged. (Optional)\r\n // Returns BufferGeometry with stroke triangles (In plane z = 0). UV coordinates are generated ('u' along path. 'v' across it, from left to right)\r\n\r\n var vertices = [];\r\n var normals = [];\r\n var uvs = [];\r\n\r\n if (\r\n SVGLoader.pointsToStrokeWithBuffers(\r\n points,\r\n style,\r\n arcDivisions,\r\n minDistance,\r\n vertices,\r\n normals,\r\n uvs\r\n ) === 0\r\n ) {\r\n return null;\r\n }\r\n\r\n var geometry = new BufferGeometry();\r\n geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3));\r\n geometry.setAttribute('normal', new Float32BufferAttribute(normals, 3));\r\n geometry.setAttribute('uv', new Float32BufferAttribute(uvs, 2));\r\n\r\n return geometry;\r\n};\r\n\r\nSVGLoader.pointsToStrokeWithBuffers = (function () {\r\n var tempV2_1 = new Vector2();\r\n var tempV2_2 = new Vector2();\r\n var tempV2_3 = new Vector2();\r\n var tempV2_4 = new Vector2();\r\n var tempV2_5 = new Vector2();\r\n var tempV2_6 = new Vector2();\r\n var tempV2_7 = new Vector2();\r\n var lastPointL = new Vector2();\r\n var lastPointR = new Vector2();\r\n var point0L = new Vector2();\r\n var point0R = new Vector2();\r\n var currentPointL = new Vector2();\r\n var currentPointR = new Vector2();\r\n var nextPointL = new Vector2();\r\n var nextPointR = new Vector2();\r\n var innerPoint = new Vector2();\r\n var outerPoint = new Vector2();\r\n\r\n return function (\r\n points,\r\n style,\r\n arcDivisions,\r\n minDistance,\r\n vertices,\r\n normals,\r\n uvs,\r\n vertexOffset\r\n ) {\r\n // This function can be called to update existing arrays or buffers.\r\n // Accepts same parameters as pointsToStroke, plus the buffers and optional offset.\r\n // Param vertexOffset: Offset vertices to start writing in the buffers (3 elements/vertex for vertices and normals, and 2 elements/vertex for uvs)\r\n // Returns number of written vertices / normals / uvs pairs\r\n // if 'vertices' parameter is undefined no triangles will be generated, but the returned vertices count will still be valid (useful to preallocate the buffers)\r\n // 'normals' and 'uvs' buffers are optional\r\n\r\n arcDivisions = arcDivisions !== undefined ? arcDivisions : 12;\r\n minDistance = minDistance !== undefined ? minDistance : 0.001;\r\n vertexOffset = vertexOffset !== undefined ? vertexOffset : 0;\r\n\r\n // First ensure there are no duplicated points\r\n points = removeDuplicatedPoints(points);\r\n\r\n var numPoints = points.length;\r\n\r\n if (numPoints < 2) return 0;\r\n\r\n var isClosed = points[0].equals(points[numPoints - 1]);\r\n\r\n var currentPoint;\r\n var previousPoint = points[0];\r\n var nextPoint;\r\n\r\n var strokeWidth2 = style.strokeWidth / 2;\r\n\r\n var deltaU = 1 / (numPoints - 1);\r\n var u0 = 0;\r\n\r\n var innerSideModified;\r\n var joinIsOnLeftSide;\r\n var isMiter;\r\n var initialJoinIsOnLeftSide = false;\r\n\r\n var numVertices = 0;\r\n var currentCoordinate = vertexOffset * 3;\r\n var currentCoordinateUV = vertexOffset * 2;\r\n\r\n // Get initial left and right stroke points\r\n getNormal(points[0], points[1], tempV2_1).multiplyScalar(strokeWidth2);\r\n lastPointL.copy(points[0]).sub(tempV2_1);\r\n lastPointR.copy(points[0]).add(tempV2_1);\r\n point0L.copy(lastPointL);\r\n point0R.copy(lastPointR);\r\n\r\n for (var iPoint = 1; iPoint < numPoints; iPoint++) {\r\n currentPoint = points[iPoint];\r\n\r\n // Get next point\r\n if (iPoint === numPoints - 1) {\r\n if (isClosed) {\r\n // Skip duplicated initial point\r\n nextPoint = points[1];\r\n } else nextPoint = undefined;\r\n } else {\r\n nextPoint = points[iPoint + 1];\r\n }\r\n\r\n // Normal of previous segment in tempV2_1\r\n var normal1 = tempV2_1;\r\n getNormal(previousPoint, currentPoint, normal1);\r\n\r\n tempV2_3.copy(normal1).multiplyScalar(strokeWidth2);\r\n currentPointL.copy(currentPoint).sub(tempV2_3);\r\n currentPointR.copy(currentPoint).add(tempV2_3);\r\n\r\n var u1 = u0 + deltaU;\r\n\r\n innerSideModified = false;\r\n\r\n if (nextPoint !== undefined) {\r\n // Normal of next segment in tempV2_2\r\n getNormal(currentPoint, nextPoint, tempV2_2);\r\n\r\n tempV2_3.copy(tempV2_2).multiplyScalar(strokeWidth2);\r\n nextPointL.copy(currentPoint).sub(tempV2_3);\r\n nextPointR.copy(currentPoint).add(tempV2_3);\r\n\r\n joinIsOnLeftSide = true;\r\n tempV2_3.subVectors(nextPoint, previousPoint);\r\n if (normal1.dot(tempV2_3) < 0) {\r\n joinIsOnLeftSide = false;\r\n }\r\n\r\n if (iPoint === 1) initialJoinIsOnLeftSide = joinIsOnLeftSide;\r\n\r\n tempV2_3.subVectors(nextPoint, currentPoint);\r\n tempV2_3.normalize();\r\n var dot = Math.abs(normal1.dot(tempV2_3));\r\n\r\n // If path is straight, don't create join\r\n if (dot !== 0) {\r\n // Compute inner and outer segment intersections\r\n var miterSide = strokeWidth2 / dot;\r\n tempV2_3.multiplyScalar(-miterSide);\r\n tempV2_4.subVectors(currentPoint, previousPoint);\r\n tempV2_5.copy(tempV2_4).setLength(miterSide).add(tempV2_3);\r\n innerPoint.copy(tempV2_5).negate();\r\n var miterLength2 = tempV2_5.length();\r\n var segmentLengthPrev = tempV2_4.length();\r\n tempV2_4.divideScalar(segmentLengthPrev);\r\n tempV2_6.subVectors(nextPoint, currentPoint);\r\n var segmentLengthNext = tempV2_6.length();\r\n tempV2_6.divideScalar(segmentLengthNext);\r\n // Check that previous and next segments doesn't overlap with the innerPoint of intersection\r\n if (\r\n tempV2_4.dot(innerPoint) < segmentLengthPrev &&\r\n tempV2_6.dot(innerPoint) < segmentLengthNext\r\n ) {\r\n innerSideModified = true;\r\n }\r\n\r\n outerPoint.copy(tempV2_5).add(currentPoint);\r\n innerPoint.add(currentPoint);\r\n\r\n isMiter = false;\r\n\r\n if (innerSideModified) {\r\n if (joinIsOnLeftSide) {\r\n nextPointR.copy(innerPoint);\r\n currentPointR.copy(innerPoint);\r\n } else {\r\n nextPointL.copy(innerPoint);\r\n currentPointL.copy(innerPoint);\r\n }\r\n } else {\r\n // The segment triangles are generated here if there was overlapping\r\n\r\n makeSegmentTriangles();\r\n }\r\n\r\n switch (style.strokeLineJoin) {\r\n case 'bevel':\r\n makeSegmentWithBevelJoin(joinIsOnLeftSide, innerSideModified, u1);\r\n\r\n break;\r\n\r\n case 'round':\r\n // Segment triangles\r\n\r\n createSegmentTrianglesWithMiddleSection(\r\n joinIsOnLeftSide,\r\n innerSideModified\r\n );\r\n\r\n // Join triangles\r\n\r\n if (joinIsOnLeftSide) {\r\n makeCircularSector(\r\n currentPoint,\r\n currentPointL,\r\n nextPointL,\r\n u1,\r\n 0\r\n );\r\n } else {\r\n makeCircularSector(\r\n currentPoint,\r\n nextPointR,\r\n currentPointR,\r\n u1,\r\n 1\r\n );\r\n }\r\n\r\n break;\r\n\r\n case 'miter':\r\n case 'miter-clip':\r\n default:\r\n var miterFraction =\r\n (strokeWidth2 * style.strokeMiterLimit) / miterLength2;\r\n\r\n if (miterFraction < 1) {\r\n // The join miter length exceeds the miter limit\r\n\r\n if (style.strokeLineJoin !== 'miter-clip') {\r\n makeSegmentWithBevelJoin(\r\n joinIsOnLeftSide,\r\n innerSideModified,\r\n u1\r\n );\r\n break;\r\n } else {\r\n // Segment triangles\r\n\r\n createSegmentTrianglesWithMiddleSection(\r\n joinIsOnLeftSide,\r\n innerSideModified\r\n );\r\n\r\n // Miter-clip join triangles\r\n\r\n if (joinIsOnLeftSide) {\r\n tempV2_6\r\n .subVectors(outerPoint, currentPointL)\r\n .multiplyScalar(miterFraction)\r\n .add(currentPointL);\r\n tempV2_7\r\n .subVectors(outerPoint, nextPointL)\r\n .multiplyScalar(miterFraction)\r\n .add(nextPointL);\r\n\r\n addVertex(currentPointL, u1, 0);\r\n addVertex(tempV2_6, u1, 0);\r\n addVertex(currentPoint, u1, 0.5);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(tempV2_6, u1, 0);\r\n addVertex(tempV2_7, u1, 0);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(tempV2_7, u1, 0);\r\n addVertex(nextPointL, u1, 0);\r\n } else {\r\n tempV2_6\r\n .subVectors(outerPoint, currentPointR)\r\n .multiplyScalar(miterFraction)\r\n .add(currentPointR);\r\n tempV2_7\r\n .subVectors(outerPoint, nextPointR)\r\n .multiplyScalar(miterFraction)\r\n .add(nextPointR);\r\n\r\n addVertex(currentPointR, u1, 1);\r\n addVertex(tempV2_6, u1, 1);\r\n addVertex(currentPoint, u1, 0.5);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(tempV2_6, u1, 1);\r\n addVertex(tempV2_7, u1, 1);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(tempV2_7, u1, 1);\r\n addVertex(nextPointR, u1, 1);\r\n }\r\n }\r\n } else {\r\n // Miter join segment triangles\r\n\r\n if (innerSideModified) {\r\n // Optimized segment + join triangles\r\n\r\n if (joinIsOnLeftSide) {\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(outerPoint, u1, 0);\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(outerPoint, u1, 0);\r\n addVertex(innerPoint, u1, 1);\r\n } else {\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(outerPoint, u1, 1);\r\n\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(innerPoint, u1, 0);\r\n addVertex(outerPoint, u1, 1);\r\n }\r\n\r\n if (joinIsOnLeftSide) {\r\n nextPointL.copy(outerPoint);\r\n } else {\r\n nextPointR.copy(outerPoint);\r\n }\r\n } else {\r\n // Add extra miter join triangles\r\n\r\n if (joinIsOnLeftSide) {\r\n addVertex(currentPointL, u1, 0);\r\n addVertex(outerPoint, u1, 0);\r\n addVertex(currentPoint, u1, 0.5);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(outerPoint, u1, 0);\r\n addVertex(nextPointL, u1, 0);\r\n } else {\r\n addVertex(currentPointR, u1, 1);\r\n addVertex(outerPoint, u1, 1);\r\n addVertex(currentPoint, u1, 0.5);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(outerPoint, u1, 1);\r\n addVertex(nextPointR, u1, 1);\r\n }\r\n }\r\n\r\n isMiter = true;\r\n }\r\n\r\n break;\r\n }\r\n } else {\r\n // The segment triangles are generated here when two consecutive points are collinear\r\n\r\n makeSegmentTriangles();\r\n }\r\n } else {\r\n // The segment triangles are generated here if it is the ending segment\r\n\r\n makeSegmentTriangles();\r\n }\r\n\r\n if (!isClosed && iPoint === numPoints - 1) {\r\n // Start line endcap\r\n addCapGeometry(points[0], point0L, point0R, joinIsOnLeftSide, true, u0);\r\n }\r\n\r\n // Increment loop variables\r\n\r\n u0 = u1;\r\n\r\n previousPoint = currentPoint;\r\n\r\n lastPointL.copy(nextPointL);\r\n lastPointR.copy(nextPointR);\r\n }\r\n\r\n if (!isClosed) {\r\n // Ending line endcap\r\n addCapGeometry(\r\n currentPoint,\r\n currentPointL,\r\n currentPointR,\r\n joinIsOnLeftSide,\r\n false,\r\n u1\r\n );\r\n } else if (innerSideModified && vertices) {\r\n // Modify path first segment vertices to adjust to the segments inner and outer intersections\r\n\r\n var lastOuter = outerPoint;\r\n var lastInner = innerPoint;\r\n\r\n if (initialJoinIsOnLeftSide !== joinIsOnLeftSide) {\r\n lastOuter = innerPoint;\r\n lastInner = outerPoint;\r\n }\r\n\r\n if (joinIsOnLeftSide) {\r\n if (isMiter || initialJoinIsOnLeftSide) {\r\n lastInner.toArray(vertices, 0 * 3);\r\n lastInner.toArray(vertices, 3 * 3);\r\n\r\n if (isMiter) {\r\n lastOuter.toArray(vertices, 1 * 3);\r\n }\r\n }\r\n } else {\r\n if (isMiter || !initialJoinIsOnLeftSide) {\r\n lastInner.toArray(vertices, 1 * 3);\r\n lastInner.toArray(vertices, 3 * 3);\r\n\r\n if (isMiter) {\r\n lastOuter.toArray(vertices, 0 * 3);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return numVertices;\r\n\r\n // -- End of algorithm\r\n\r\n // -- Functions\r\n\r\n function getNormal(p1, p2, result) {\r\n result.subVectors(p2, p1);\r\n return result.set(-result.y, result.x).normalize();\r\n }\r\n\r\n function addVertex(position, u, v) {\r\n if (vertices) {\r\n vertices[currentCoordinate] = position.x;\r\n vertices[currentCoordinate + 1] = position.y;\r\n vertices[currentCoordinate + 2] = 0;\r\n\r\n if (normals) {\r\n normals[currentCoordinate] = 0;\r\n normals[currentCoordinate + 1] = 0;\r\n normals[currentCoordinate + 2] = 1;\r\n }\r\n\r\n currentCoordinate += 3;\r\n\r\n if (uvs) {\r\n uvs[currentCoordinateUV] = u;\r\n uvs[currentCoordinateUV + 1] = v;\r\n\r\n currentCoordinateUV += 2;\r\n }\r\n }\r\n\r\n numVertices += 3;\r\n }\r\n\r\n function makeCircularSector(center, p1, p2, u, v) {\r\n // param p1, p2: Points in the circle arc.\r\n // p1 and p2 are in clockwise direction.\r\n\r\n tempV2_1.copy(p1).sub(center).normalize();\r\n tempV2_2.copy(p2).sub(center).normalize();\r\n\r\n var angle = Math.PI;\r\n var dot = tempV2_1.dot(tempV2_2);\r\n if (Math.abs(dot) < 1) angle = Math.abs(Math.acos(dot));\r\n\r\n angle /= arcDivisions;\r\n\r\n tempV2_3.copy(p1);\r\n\r\n for (var i = 0, il = arcDivisions - 1; i < il; i++) {\r\n tempV2_4.copy(tempV2_3).rotateAround(center, angle);\r\n\r\n addVertex(tempV2_3, u, v);\r\n addVertex(tempV2_4, u, v);\r\n addVertex(center, u, 0.5);\r\n\r\n tempV2_3.copy(tempV2_4);\r\n }\r\n\r\n addVertex(tempV2_4, u, v);\r\n addVertex(p2, u, v);\r\n addVertex(center, u, 0.5);\r\n }\r\n\r\n function makeSegmentTriangles() {\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(currentPointL, u1, 0);\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(currentPointL, u1, 1);\r\n addVertex(currentPointR, u1, 0);\r\n }\r\n\r\n function makeSegmentWithBevelJoin(joinIsOnLeftSide, innerSideModified, u) {\r\n if (innerSideModified) {\r\n // Optimized segment + bevel triangles\r\n\r\n if (joinIsOnLeftSide) {\r\n // Path segments triangles\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(currentPointL, u1, 0);\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(currentPointL, u1, 0);\r\n addVertex(innerPoint, u1, 1);\r\n\r\n // Bevel join triangle\r\n\r\n addVertex(currentPointL, u, 0);\r\n addVertex(nextPointL, u, 0);\r\n addVertex(innerPoint, u, 0.5);\r\n } else {\r\n // Path segments triangles\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(currentPointR, u1, 1);\r\n\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(innerPoint, u1, 0);\r\n addVertex(currentPointR, u1, 1);\r\n\r\n // Bevel join triangle\r\n\r\n addVertex(currentPointR, u, 1);\r\n addVertex(nextPointR, u, 0);\r\n addVertex(innerPoint, u, 0.5);\r\n }\r\n } else {\r\n // Bevel join triangle. The segment triangles are done in the main loop\r\n\r\n if (joinIsOnLeftSide) {\r\n addVertex(currentPointL, u, 0);\r\n addVertex(nextPointL, u, 0);\r\n addVertex(currentPoint, u, 0.5);\r\n } else {\r\n addVertex(currentPointR, u, 1);\r\n addVertex(nextPointR, u, 0);\r\n addVertex(currentPoint, u, 0.5);\r\n }\r\n }\r\n }\r\n\r\n function createSegmentTrianglesWithMiddleSection(\r\n joinIsOnLeftSide,\r\n innerSideModified\r\n ) {\r\n if (innerSideModified) {\r\n if (joinIsOnLeftSide) {\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(currentPointL, u1, 0);\r\n\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(currentPointL, u1, 0);\r\n addVertex(innerPoint, u1, 1);\r\n\r\n addVertex(currentPointL, u0, 0);\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(innerPoint, u1, 1);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(nextPointL, u0, 0);\r\n addVertex(innerPoint, u1, 1);\r\n } else {\r\n addVertex(lastPointR, u0, 1);\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(currentPointR, u1, 1);\r\n\r\n addVertex(lastPointL, u0, 0);\r\n addVertex(innerPoint, u1, 0);\r\n addVertex(currentPointR, u1, 1);\r\n\r\n addVertex(currentPointR, u0, 1);\r\n addVertex(innerPoint, u1, 0);\r\n addVertex(currentPoint, u1, 0.5);\r\n\r\n addVertex(currentPoint, u1, 0.5);\r\n addVertex(innerPoint, u1, 0);\r\n addVertex(nextPointR, u0, 1);\r\n }\r\n }\r\n }\r\n\r\n function addCapGeometry(center, p1, p2, joinIsOnLeftSide, start, u) {\r\n // param center: End point of the path\r\n // param p1, p2: Left and right cap points\r\n\r\n switch (style.strokeLineCap) {\r\n case 'round':\r\n if (start) {\r\n makeCircularSector(center, p2, p1, u, 0.5);\r\n } else {\r\n makeCircularSector(center, p1, p2, u, 0.5);\r\n }\r\n\r\n break;\r\n\r\n case 'square':\r\n if (start) {\r\n tempV2_1.subVectors(p1, center);\r\n tempV2_2.set(tempV2_1.y, -tempV2_1.x);\r\n\r\n tempV2_3.addVectors(tempV2_1, tempV2_2).add(center);\r\n tempV2_4.subVectors(tempV2_2, tempV2_1).add(center);\r\n\r\n // Modify already existing vertices\r\n if (joinIsOnLeftSide) {\r\n tempV2_3.toArray(vertices, 1 * 3);\r\n tempV2_4.toArray(vertices, 0 * 3);\r\n tempV2_4.toArray(vertices, 3 * 3);\r\n } else {\r\n tempV2_3.toArray(vertices, 1 * 3);\r\n tempV2_3.toArray(vertices, 3 * 3);\r\n tempV2_4.toArray(vertices, 0 * 3);\r\n }\r\n } else {\r\n tempV2_1.subVectors(p2, center);\r\n tempV2_2.set(tempV2_1.y, -tempV2_1.x);\r\n\r\n tempV2_3.addVectors(tempV2_1, tempV2_2).add(center);\r\n tempV2_4.subVectors(tempV2_2, tempV2_1).add(center);\r\n\r\n var vl = vertices.length;\r\n\r\n // Modify already existing vertices\r\n if (joinIsOnLeftSide) {\r\n tempV2_3.toArray(vertices, vl - 1 * 3);\r\n tempV2_4.toArray(vertices, vl - 2 * 3);\r\n tempV2_4.toArray(vertices, vl - 4 * 3);\r\n } else {\r\n tempV2_3.toArray(vertices, vl - 2 * 3);\r\n tempV2_4.toArray(vertices, vl - 1 * 3);\r\n tempV2_4.toArray(vertices, vl - 4 * 3);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case 'butt':\r\n default:\r\n // Nothing to do here\r\n break;\r\n }\r\n }\r\n\r\n function removeDuplicatedPoints(points) {\r\n // Creates a new array if necessary with duplicated points removed.\r\n // This does not remove duplicated initial and ending points of a closed path.\r\n\r\n var dupPoints = false;\r\n for (var i = 1, n = points.length - 1; i < n; i++) {\r\n if (points[i].distanceTo(points[i + 1]) < minDistance) {\r\n dupPoints = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!dupPoints) return points;\r\n\r\n var newPoints = [];\r\n newPoints.push(points[0]);\r\n\r\n for (var i = 1, n = points.length - 1; i < n; i++) {\r\n if (points[i].distanceTo(points[i + 1]) >= minDistance) {\r\n newPoints.push(points[i]);\r\n }\r\n }\r\n\r\n newPoints.push(points[points.length - 1]);\r\n\r\n return newPoints;\r\n }\r\n };\r\n})();\r\n\r\nexport { SVGLoader };\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = autosave;
7
- var _projectActions = require("../actions/project-actions");
8
- var sessionStorage = window.hasOwnProperty('sessionStorage') ? window.sessionStorage : false;
9
- var TIMEOUT_DELAY = 500;
10
- var timeout = null;
11
- function autosave(autosaveKey, revert, delay) {
12
- return function (store, stateExtractor) {
13
- delay = delay || TIMEOUT_DELAY;
14
- if (revert === undefined) return;
15
- if (!autosaveKey) return;
16
- if (!sessionStorage) return;
17
-
18
- //revert
19
- if (revert && sessionStorage.getItem(autosaveKey) !== null) {
20
- var data = sessionStorage.getItem(autosaveKey);
21
- var json = JSON.parse(data);
22
- store.dispatch((0, _projectActions.loadProject)(json));
23
- }
24
-
25
- //update
26
- store.subscribe(function () {
27
- if (timeout) clearTimeout(timeout);
28
- timeout = setTimeout(function () {
29
- var state = stateExtractor(store.getState());
30
- // sessionStorage.setItem(autosaveKey, JSON.stringify(state.scene.toJS()));
31
- /*let scene = state.sceneHistory.last;
32
- if (scene) {
33
- let json = JSON.stringify(scene.toJS());
34
- sessionStorage.setItem(autosaveKey, json);
35
- }*/
36
- }, delay);
37
- });
38
- };
39
- }
40
- //# sourceMappingURL=autosave.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autosave.js","names":["_projectActions","require","sessionStorage","window","hasOwnProperty","TIMEOUT_DELAY","timeout","autosave","autosaveKey","revert","delay","store","stateExtractor","undefined","getItem","data","json","JSON","parse","dispatch","loadProject","subscribe","clearTimeout","setTimeout","state","getState"],"sources":["../../src/plugins/autosave.js"],"sourcesContent":["const sessionStorage = window.hasOwnProperty('sessionStorage')\r\n ? window.sessionStorage\r\n : false;\r\nimport { loadProject } from '../actions/project-actions';\r\n\r\nconst TIMEOUT_DELAY = 500;\r\n\r\nlet timeout = null;\r\n\r\nexport default function autosave(autosaveKey, revert, delay) {\r\n return (store, stateExtractor) => {\r\n delay = delay || TIMEOUT_DELAY;\r\n\r\n if (revert === undefined) return;\r\n if (!autosaveKey) return;\r\n if (!sessionStorage) return;\r\n\r\n //revert\r\n if (revert && sessionStorage.getItem(autosaveKey) !== null) {\r\n let data = sessionStorage.getItem(autosaveKey);\r\n let json = JSON.parse(data);\r\n store.dispatch(loadProject(json));\r\n }\r\n\r\n //update\r\n store.subscribe(() => {\r\n if (timeout) clearTimeout(timeout);\r\n timeout = setTimeout(() => {\r\n let state = stateExtractor(store.getState());\r\n // sessionStorage.setItem(autosaveKey, JSON.stringify(state.scene.toJS()));\r\n /*let scene = state.sceneHistory.last;\r\n if (scene) {\r\n let json = JSON.stringify(scene.toJS());\r\n sessionStorage.setItem(autosaveKey, json);\r\n }*/\r\n }, delay);\r\n });\r\n };\r\n}\r\n"],"mappings":";;;;;;AAGA,IAAAA,eAAA,GAAAC,OAAA;AAHA,IAAMC,cAAc,GAAGC,MAAM,CAACC,cAAc,CAAC,gBAAgB,CAAC,GAC1DD,MAAM,CAACD,cAAc,GACrB,KAAK;AAGT,IAAMG,aAAa,GAAG,GAAG;AAEzB,IAAIC,OAAO,GAAG,IAAI;AAEH,SAASC,QAAQA,CAACC,WAAW,EAAEC,MAAM,EAAEC,KAAK,EAAE;EAC3D,OAAO,UAACC,KAAK,EAAEC,cAAc,EAAK;IAChCF,KAAK,GAAGA,KAAK,IAAIL,aAAa;IAE9B,IAAII,MAAM,KAAKI,SAAS,EAAE;IAC1B,IAAI,CAACL,WAAW,EAAE;IAClB,IAAI,CAACN,cAAc,EAAE;;IAErB;IACA,IAAIO,MAAM,IAAIP,cAAc,CAACY,OAAO,CAACN,WAAW,CAAC,KAAK,IAAI,EAAE;MAC1D,IAAIO,IAAI,GAAGb,cAAc,CAACY,OAAO,CAACN,WAAW,CAAC;MAC9C,IAAIQ,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;MAC3BJ,KAAK,CAACQ,QAAQ,CAAC,IAAAC,2BAAW,EAACJ,IAAI,CAAC,CAAC;IACnC;;IAEA;IACAL,KAAK,CAACU,SAAS,CAAC,YAAM;MACpB,IAAIf,OAAO,EAAEgB,YAAY,CAAChB,OAAO,CAAC;MAClCA,OAAO,GAAGiB,UAAU,CAAC,YAAM;QACzB,IAAIC,KAAK,GAAGZ,cAAc,CAACD,KAAK,CAACc,QAAQ,CAAC,CAAC,CAAC;QAC5C;QACA;AACR;AACA;AACA;AACA;MACM,CAAC,EAAEf,KAAK,CAAC;IACX,CAAC,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = consoleDebugger;
7
- var _export = _interopRequireDefault(require("../actions/export"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
- 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; }
11
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
- function consoleDebugger() {
16
- return function (store, stateExtractor) {
17
- window.KitchenConfigurator = _objectSpread(_objectSpread({}, _export["default"]), {}, {
18
- getStore: function getStore() {
19
- return store;
20
- },
21
- getState: function getState() {
22
- return stateExtractor(store.getState());
23
- },
24
- "do": function _do(actions) {
25
- var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300;
26
- actions = actions.reverse();
27
- var dispatch = store.dispatch;
28
- var _dispatchAction = function dispatchAction() {
29
- console.info("There are other ".concat(actions.length, " actions on stack"));
30
- if (actions.length === 0) return;
31
- dispatch(actions.pop());
32
- if (actions.length === 0) return;
33
- setTimeout(_dispatchAction, delay);
34
- };
35
- setTimeout(_dispatchAction, 0);
36
- }
37
- });
38
- console.groupCollapsed('KitchenConfigurator');
39
- console.info('KitchenConfigurator is ready');
40
- console.info('console.log(KitchenConfigurator)');
41
- console.log(window.KitchenConfigurator);
42
- console.groupEnd();
43
- };
44
- }
45
- //# sourceMappingURL=console-debugger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console-debugger.js","names":["_export","_interopRequireDefault","require","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","consoleDebugger","store","stateExtractor","window","KitchenConfigurator","actions","getStore","getState","do","delay","undefined","reverse","dispatch","dispatchAction","console","info","concat","pop","setTimeout","groupCollapsed","log","groupEnd"],"sources":["../../src/plugins/console-debugger.js"],"sourcesContent":["import actions from '../actions/export';\r\n\r\nexport default function consoleDebugger() {\r\n return (store, stateExtractor) => {\r\n window.KitchenConfigurator = {\r\n ...actions,\r\n\r\n getStore() {\r\n return store;\r\n },\r\n\r\n getState() {\r\n return stateExtractor(store.getState());\r\n },\r\n\r\n do(actions, delay = 300) {\r\n actions = actions.reverse();\r\n let dispatch = store.dispatch;\r\n let dispatchAction = () => {\r\n console.info(`There are other ${actions.length} actions on stack`);\r\n if (actions.length === 0) return;\r\n dispatch(actions.pop());\r\n if (actions.length === 0) return;\r\n setTimeout(dispatchAction, delay);\r\n };\r\n setTimeout(dispatchAction, 0);\r\n }\r\n };\r\n\r\n console.groupCollapsed('KitchenConfigurator');\r\n console.info('KitchenConfigurator is ready');\r\n console.info('console.log(KitchenConfigurator)');\r\n console.log(window.KitchenConfigurator);\r\n console.groupEnd();\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Autosave", {
7
- enumerable: true,
8
- get: function get() {
9
- return _autosave["default"];
10
- }
11
- });
12
- Object.defineProperty(exports, "ConsoleDebugger", {
13
- enumerable: true,
14
- get: function get() {
15
- return _consoleDebugger["default"];
16
- }
17
- });
18
- Object.defineProperty(exports, "Keyboard", {
19
- enumerable: true,
20
- get: function get() {
21
- return _keyboard["default"];
22
- }
23
- });
24
- exports["default"] = void 0;
25
- var _autosave = _interopRequireDefault(require("./autosave"));
26
- var _keyboard = _interopRequireDefault(require("./keyboard"));
27
- var _consoleDebugger = _interopRequireDefault(require("./console-debugger"));
28
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
29
- var _default = exports["default"] = {
30
- Autosave: _autosave["default"],
31
- Keyboard: _keyboard["default"],
32
- ConsoleDebugger: _consoleDebugger["default"]
33
- };
34
- //# sourceMappingURL=export.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export.js","names":["_autosave","_interopRequireDefault","require","_keyboard","_consoleDebugger","e","__esModule","_default","exports","Autosave","Keyboard","ConsoleDebugger"],"sources":["../../src/plugins/export.js"],"sourcesContent":["import Autosave from './autosave';\r\nimport Keyboard from './keyboard';\r\nimport ConsoleDebugger from './console-debugger';\r\n\r\nexport { Autosave, Keyboard, ConsoleDebugger };\r\n\r\nexport default {\r\n Autosave,\r\n Keyboard,\r\n ConsoleDebugger\r\n};\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,gBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAiD,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,IAAAE,QAAA,GAAAC,OAAA,cAIlC;EACbC,QAAQ,EAARA,oBAAQ;EACRC,QAAQ,EAARA,oBAAQ;EACRC,eAAe,EAAfA;AACF,CAAC","ignoreList":[]}
@@ -1,108 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = keyboard;
7
- var _constants = require("../constants");
8
- var _projectActions = require("../actions/project-actions");
9
- function keyboard() {
10
- return function (store, stateExtractor) {
11
- window.addEventListener('keydown', function (event) {
12
- var state = stateExtractor(store.getState());
13
- var mode = state.get('mode');
14
- switch (event.keyCode) {
15
- case _constants.KEYBOARD_BUTTON_CODE.BACKSPACE:
16
- case _constants.KEYBOARD_BUTTON_CODE.DELETE:
17
- {
18
- if ([_constants.MODE_IDLE, _constants.MODE_3D_FIRST_PERSON, _constants.MODE_3D_VIEW, _constants.MODE_IDLE_3D, _constants.MODE_ROTATING_ITEM_3D, _constants.MODE_DRAGGING_ITEM_3D].includes(mode)) store.dispatch((0, _projectActions.remove)());
19
- break;
20
- }
21
- case _constants.KEYBOARD_BUTTON_CODE.ESC:
22
- {
23
- store.dispatch((0, _projectActions.rollback)());
24
- break;
25
- }
26
- case _constants.KEYBOARD_BUTTON_CODE.Z:
27
- {
28
- if (event.getModifierState('Control') || event.getModifierState('Meta')) store.dispatch((0, _projectActions.undo)());
29
- break;
30
- }
31
- case _constants.KEYBOARD_BUTTON_CODE.Q:
32
- {
33
- if (event.getModifierState('Control') || event.getModifierState('Meta')) store.dispatch((0, _projectActions.redo)());
34
- break;
35
- }
36
- case _constants.KEYBOARD_BUTTON_CODE.ALT:
37
- {
38
- if (_constants.MODE_SNAPPING.includes(mode)) store.dispatch((0, _projectActions.toggleSnap)(state.snapMask.merge({
39
- SNAP_POINT: false,
40
- SNAP_LINE: false,
41
- SNAP_SEGMENT: false,
42
- SNAP_GRID: false,
43
- SNAP_GUIDE: false,
44
- tempSnapConfiguartion: state.snapMask.toJS()
45
- })));
46
- break;
47
- }
48
- case _constants.KEYBOARD_BUTTON_CODE.C:
49
- {
50
- var selectedLayer = state.getIn(['scene', 'selectedLayer']);
51
- var selected = state.getIn(['scene', 'layers', selectedLayer, 'selected']);
52
- if ((mode === _constants.MODE_IDLE || mode === _constants.MODE_3D_VIEW) && (selected.holes.size || selected.areas.size || selected.items.size || selected.lines.size)) {
53
- if (selected.holes.size) {
54
- var hole = state.getIn(['scene', 'layers', selectedLayer, 'holes', selected.holes.get(0)]);
55
- store.dispatch((0, _projectActions.copyProperties)(hole.get('properties')));
56
- } else if (selected.areas.size) {
57
- var area = state.getIn(['scene', 'layers', selectedLayer, 'areas', selected.areas.get(0)]);
58
- store.dispatch((0, _projectActions.copyProperties)(area.properties));
59
- } else if (selected.items.size) {
60
- var item = state.getIn(['scene', 'layers', selectedLayer, 'items', selected.items.get(0)]);
61
- store.dispatch((0, _projectActions.copyProperties)(item.properties));
62
- } else if (selected.lines.size) {
63
- var line = state.getIn(['scene', 'layers', selectedLayer, 'lines', selected.lines.get(0)]);
64
- store.dispatch((0, _projectActions.copyProperties)(line.properties));
65
- }
66
- }
67
- break;
68
- }
69
- case _constants.KEYBOARD_BUTTON_CODE.V:
70
- {
71
- store.dispatch((0, _projectActions.pasteProperties)());
72
- break;
73
- }
74
- case _constants.KEYBOARD_BUTTON_CODE.SHIFT:
75
- {
76
- if (['TEXTAREA', 'INPUT'].includes(document.activeElement.tagName) === false) {
77
- if ([_constants.MODE_DRAWING_ITEM_3D, _constants.MODE_IDLE_3D].includes(mode)) store.dispatch((0, _projectActions.recreate)());else if ([_constants.MODE_DRAWING_ITEM, _constants.MODE_IDLE].includes(mode)) store.dispatch((0, _projectActions.shift2doff)());
78
- }
79
- break;
80
- }
81
- }
82
- });
83
- window.addEventListener('keyup', function (event) {
84
- var state = stateExtractor(store.getState());
85
- var mode = state.get('mode');
86
- switch (event.keyCode) {
87
- case _constants.KEYBOARD_BUTTON_CODE.ALT:
88
- {
89
- if (_constants.MODE_SNAPPING.includes(mode)) store.dispatch((0, _projectActions.toggleSnap)(state.snapMask.merge(state.snapMask.get('tempSnapConfiguartion'))));
90
- break;
91
- }
92
- case _constants.KEYBOARD_BUTTON_CODE.CTRL:
93
- {
94
- // store.dispatch(setAlterateState());
95
- break;
96
- }
97
- case _constants.KEYBOARD_BUTTON_CODE.SHIFT:
98
- {
99
- if (['TEXTAREA', 'INPUT'].includes(document.activeElement.tagName) === false) {
100
- if ([_constants.MODE_DRAWING_ITEM_3D, _constants.MODE_IDLE_3D].includes(mode)) store.dispatch((0, _projectActions.uncreate)());else if ([_constants.MODE_DRAWING_ITEM, _constants.MODE_IDLE].includes(mode)) store.dispatch((0, _projectActions.shift2don)());
101
- }
102
- break;
103
- }
104
- }
105
- });
106
- };
107
- }
108
- //# sourceMappingURL=keyboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard.js","names":["_constants","require","_projectActions","keyboard","store","stateExtractor","window","addEventListener","event","state","getState","mode","get","keyCode","KEYBOARD_BUTTON_CODE","BACKSPACE","DELETE","MODE_IDLE","MODE_3D_FIRST_PERSON","MODE_3D_VIEW","MODE_IDLE_3D","MODE_ROTATING_ITEM_3D","MODE_DRAGGING_ITEM_3D","includes","dispatch","remove","ESC","rollback","Z","getModifierState","undo","Q","redo","ALT","MODE_SNAPPING","toggleSnap","snapMask","merge","SNAP_POINT","SNAP_LINE","SNAP_SEGMENT","SNAP_GRID","SNAP_GUIDE","tempSnapConfiguartion","toJS","C","selectedLayer","getIn","selected","holes","size","areas","items","lines","hole","copyProperties","area","properties","item","line","V","pasteProperties","SHIFT","document","activeElement","tagName","MODE_DRAWING_ITEM_3D","recreate","MODE_DRAWING_ITEM","shift2doff","CTRL","uncreate","shift2don"],"sources":["../../src/plugins/keyboard.js"],"sourcesContent":["import {\r\n MODE_IDLE,\r\n MODE_3D_FIRST_PERSON,\r\n MODE_3D_VIEW,\r\n MODE_SNAPPING,\r\n KEYBOARD_BUTTON_CODE,\r\n MODE_IDLE_3D,\r\n MODE_ROTATING_ITEM_3D,\r\n MODE_DRAGGING_ITEM_3D,\r\n MODE_DRAWING_ITEM_3D,\r\n MODE_DRAWING_ITEM\r\n} from '../constants';\r\n\r\nimport {\r\n rollback,\r\n undo,\r\n redo,\r\n recreate,\r\n uncreate,\r\n remove,\r\n toggleSnap,\r\n copyProperties,\r\n pasteProperties,\r\n shift2doff,\r\n shift2don\r\n} from '../actions/project-actions';\r\n\r\nexport default function keyboard() {\r\n return (store, stateExtractor) => {\r\n window.addEventListener('keydown', event => {\r\n let state = stateExtractor(store.getState());\r\n let mode = state.get('mode');\r\n switch (event.keyCode) {\r\n case KEYBOARD_BUTTON_CODE.BACKSPACE:\r\n case KEYBOARD_BUTTON_CODE.DELETE: {\r\n if (\r\n [\r\n MODE_IDLE,\r\n MODE_3D_FIRST_PERSON,\r\n MODE_3D_VIEW,\r\n MODE_IDLE_3D,\r\n MODE_ROTATING_ITEM_3D,\r\n MODE_DRAGGING_ITEM_3D\r\n ].includes(mode)\r\n )\r\n store.dispatch(remove());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.ESC: {\r\n store.dispatch(rollback());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.Z: {\r\n if (\r\n event.getModifierState('Control') ||\r\n event.getModifierState('Meta')\r\n )\r\n store.dispatch(undo());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.Q: {\r\n if (\r\n event.getModifierState('Control') ||\r\n event.getModifierState('Meta')\r\n )\r\n store.dispatch(redo());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.ALT: {\r\n if (MODE_SNAPPING.includes(mode))\r\n store.dispatch(\r\n toggleSnap(\r\n state.snapMask.merge({\r\n SNAP_POINT: false,\r\n SNAP_LINE: false,\r\n SNAP_SEGMENT: false,\r\n SNAP_GRID: false,\r\n SNAP_GUIDE: false,\r\n tempSnapConfiguartion: state.snapMask.toJS()\r\n })\r\n )\r\n );\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.C: {\r\n let selectedLayer = state.getIn(['scene', 'selectedLayer']);\r\n let selected = state.getIn([\r\n 'scene',\r\n 'layers',\r\n selectedLayer,\r\n 'selected'\r\n ]);\r\n if (\r\n (mode === MODE_IDLE || mode === MODE_3D_VIEW) &&\r\n (selected.holes.size ||\r\n selected.areas.size ||\r\n selected.items.size ||\r\n selected.lines.size)\r\n ) {\r\n if (selected.holes.size) {\r\n let hole = state.getIn([\r\n 'scene',\r\n 'layers',\r\n selectedLayer,\r\n 'holes',\r\n selected.holes.get(0)\r\n ]);\r\n store.dispatch(copyProperties(hole.get('properties')));\r\n } else if (selected.areas.size) {\r\n let area = state.getIn([\r\n 'scene',\r\n 'layers',\r\n selectedLayer,\r\n 'areas',\r\n selected.areas.get(0)\r\n ]);\r\n store.dispatch(copyProperties(area.properties));\r\n } else if (selected.items.size) {\r\n let item = state.getIn([\r\n 'scene',\r\n 'layers',\r\n selectedLayer,\r\n 'items',\r\n selected.items.get(0)\r\n ]);\r\n store.dispatch(copyProperties(item.properties));\r\n } else if (selected.lines.size) {\r\n let line = state.getIn([\r\n 'scene',\r\n 'layers',\r\n selectedLayer,\r\n 'lines',\r\n selected.lines.get(0)\r\n ]);\r\n store.dispatch(copyProperties(line.properties));\r\n }\r\n }\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.V: {\r\n store.dispatch(pasteProperties());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.SHIFT: {\r\n if (\r\n ['TEXTAREA', 'INPUT'].includes(document.activeElement.tagName) ===\r\n false\r\n ) {\r\n if ([MODE_DRAWING_ITEM_3D, MODE_IDLE_3D].includes(mode))\r\n store.dispatch(recreate());\r\n else if ([MODE_DRAWING_ITEM, MODE_IDLE].includes(mode))\r\n store.dispatch(shift2doff());\r\n }\r\n break;\r\n }\r\n }\r\n });\r\n\r\n window.addEventListener('keyup', event => {\r\n let state = stateExtractor(store.getState());\r\n let mode = state.get('mode');\r\n\r\n switch (event.keyCode) {\r\n case KEYBOARD_BUTTON_CODE.ALT: {\r\n if (MODE_SNAPPING.includes(mode))\r\n store.dispatch(\r\n toggleSnap(\r\n state.snapMask.merge(\r\n state.snapMask.get('tempSnapConfiguartion')\r\n )\r\n )\r\n );\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.CTRL: {\r\n // store.dispatch(setAlterateState());\r\n break;\r\n }\r\n case KEYBOARD_BUTTON_CODE.SHIFT: {\r\n if (\r\n ['TEXTAREA', 'INPUT'].includes(document.activeElement.tagName) ===\r\n false\r\n ) {\r\n if ([MODE_DRAWING_ITEM_3D, MODE_IDLE_3D].includes(mode))\r\n store.dispatch(uncreate());\r\n else if ([MODE_DRAWING_ITEM, MODE_IDLE].includes(mode))\r\n store.dispatch(shift2don());\r\n }\r\n break;\r\n }\r\n }\r\n });\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = _default;
7
- var _export = require("../class/export");
8
- var _constants = require("../constants");
9
- function _default(state, action) {
10
- switch (action.type) {
11
- case _constants.SELECT_AREA:
12
- return _export.Area.select(state, action.layerID, action.areaID).updatedState;
13
- case _constants.SET_FLOOR_STYLES:
14
- return _export.Area.setFloorStyles(state, action.texture).updatedState;
15
- default:
16
- return state;
17
- }
18
- }
19
- //# sourceMappingURL=areas-reducer.js.map