kitchen-simulator 1.1.1-test.7 → 1.1.1-test.70

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 (354) hide show
  1. package/es/@history.js +8 -2
  2. package/es/AppContext.js +8 -3
  3. package/es/KitchenConfigurator.js +93 -106
  4. package/es/KitchenConfiguratorApp.js +143 -154
  5. package/es/actions/area-actions.js +10 -5
  6. package/es/actions/export.js +27 -12
  7. package/es/actions/groups-actions.js +43 -27
  8. package/es/actions/holes-actions.js +53 -34
  9. package/es/actions/items-actions.js +143 -94
  10. package/es/actions/lines-actions.js +34 -21
  11. package/es/actions/project-actions.js +143 -94
  12. package/es/actions/scene-actions.js +19 -11
  13. package/es/actions/vertices-actions.js +13 -7
  14. package/es/actions/viewer2d-actions.js +34 -21
  15. package/es/actions/viewer3d-actions.js +16 -9
  16. package/es/catalog/areas/area/planner-element.js +16 -8
  17. package/es/catalog/catalog.js +19 -24
  18. package/es/catalog/factories/area-factory-3d.js +29 -22
  19. package/es/catalog/factories/area-factory.js +18 -14
  20. package/es/catalog/factories/export.js +12 -6
  21. package/es/catalog/factories/wall-factory-3d.js +39 -31
  22. package/es/catalog/factories/wall-factory.js +29 -21
  23. package/es/catalog/holes/door-closet/planner-element.js +22 -15
  24. package/es/catalog/holes/door-double/planner-element.js +22 -15
  25. package/es/catalog/holes/door-exterior/planner-element.js +23 -16
  26. package/es/catalog/holes/door-interior/planner-element.js +23 -16
  27. package/es/catalog/holes/door-panic/planner-element.js +14 -7
  28. package/es/catalog/holes/door-panic-double/planner-element.js +22 -15
  29. package/es/catalog/holes/door-sliding/planner-element.js +23 -16
  30. package/es/catalog/holes/doorway-framed/planner-element.js +18 -11
  31. package/es/catalog/holes/doorway-frameless/planner-element.js +14 -7
  32. package/es/catalog/holes/export.js +31 -13
  33. package/es/catalog/holes/window-clear/planner-element.js +17 -10
  34. package/es/catalog/holes/window-cross/planner-element.js +17 -10
  35. package/es/catalog/holes/window-double-hung/planner-element.js +17 -10
  36. package/es/catalog/holes/window-vertical/planner-element.js +17 -10
  37. package/es/catalog/lines/wall/planner-element.js +19 -11
  38. package/es/catalog/molding/molding-dcm/planner-element.js +12 -5
  39. package/es/catalog/molding/molding-fbm/planner-element.js +12 -5
  40. package/es/catalog/molding/molding-lrm/planner-element.js +12 -5
  41. package/es/catalog/properties/export.js +33 -20
  42. package/es/catalog/properties/property-checkbox.js +82 -35
  43. package/es/catalog/properties/property-color.js +21 -16
  44. package/es/catalog/properties/property-enum.js +70 -28
  45. package/es/catalog/properties/property-hidden.js +14 -9
  46. package/es/catalog/properties/property-lenght-measure.js +43 -39
  47. package/es/catalog/properties/property-length-measure.js +82 -34
  48. package/es/catalog/properties/property-length-measure_hole.js +43 -39
  49. package/es/catalog/properties/property-number.js +22 -17
  50. package/es/catalog/properties/property-read-only.js +21 -16
  51. package/es/catalog/properties/property-string.js +21 -16
  52. package/es/catalog/properties/property-toggle.js +21 -16
  53. package/es/catalog/properties/shared-property-style.js +5 -1
  54. package/es/catalog/utils/FuseUtils.js +13 -11
  55. package/es/catalog/utils/exporter.js +13 -11
  56. package/es/catalog/utils/geom-utils.js +27 -13
  57. package/es/catalog/utils/item-loader.js +95 -91
  58. package/es/catalog/utils/load-obj.js +26 -20
  59. package/es/catalog/utils/mtl-loader.js +7 -3
  60. package/es/catalog/utils/obj-loader.js +7 -3
  61. package/es/class/FuseUtils.js +13 -11
  62. package/es/class/area.js +26 -26
  63. package/es/class/export.js +38 -23
  64. package/es/class/group.js +57 -62
  65. package/es/class/guide.js +19 -19
  66. package/es/class/hole.js +87 -88
  67. package/es/class/item.js +148 -155
  68. package/es/class/layer.js +63 -63
  69. package/es/class/line.js +141 -144
  70. package/es/class/project.js +96 -94
  71. package/es/class/vertex.js +33 -33
  72. package/es/components/content.js +27 -19
  73. package/es/components/disclaimer/disclaimer.js +79 -93
  74. package/es/components/export.js +15 -8
  75. package/es/components/style/button.js +29 -30
  76. package/es/components/style/cancel-button.js +12 -8
  77. package/es/components/style/content-container.js +14 -12
  78. package/es/components/style/content-title.js +18 -15
  79. package/es/components/style/delete-button.js +15 -9
  80. package/es/components/style/export.js +48 -30
  81. package/es/components/style/form-block.js +13 -12
  82. package/es/components/style/form-color-input.js +12 -8
  83. package/es/components/style/form-label.js +13 -12
  84. package/es/components/style/form-number-input.js +71 -47
  85. package/es/components/style/form-number-input_2.js +42 -42
  86. package/es/components/style/form-select.js +58 -14
  87. package/es/components/style/form-slider.js +36 -16
  88. package/es/components/style/form-submit-button.js +15 -9
  89. package/es/components/style/form-text-input.js +55 -37
  90. package/es/components/viewer2d/area.js +22 -17
  91. package/es/components/viewer2d/export.js +48 -30
  92. package/es/components/viewer2d/grids/grid-horizontal-streak.js +15 -11
  93. package/es/components/viewer2d/grids/grid-streak.js +15 -11
  94. package/es/components/viewer2d/grids/grid-vertical-streak.js +15 -11
  95. package/es/components/viewer2d/grids/grids.js +17 -15
  96. package/es/components/viewer2d/group.js +22 -15
  97. package/es/components/viewer2d/item.js +68 -68
  98. package/es/components/viewer2d/layer.js +28 -23
  99. package/es/components/viewer2d/line.js +109 -104
  100. package/es/components/viewer2d/ruler.js +27 -23
  101. package/es/components/viewer2d/rulerDist.js +26 -21
  102. package/es/components/viewer2d/rulerX.js +45 -45
  103. package/es/components/viewer2d/rulerY.js +43 -43
  104. package/es/components/viewer2d/scene.js +40 -46
  105. package/es/components/viewer2d/snap.js +20 -13
  106. package/es/components/viewer2d/state.js +25 -23
  107. package/es/components/viewer2d/utils.js +63 -21
  108. package/es/components/viewer2d/vertex.js +15 -8
  109. package/es/components/viewer2d/viewer2d.js +169 -166
  110. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +21 -24
  111. package/es/components/viewer3d/dcm.js +5 -1
  112. package/es/components/viewer3d/fbm.js +5 -1
  113. package/es/components/viewer3d/front3D.js +19 -17
  114. package/es/components/viewer3d/grid-creator.js +15 -8
  115. package/es/components/viewer3d/grids/grid-horizontal-streak.js +12 -6
  116. package/es/components/viewer3d/grids/grid-streak.js +11 -5
  117. package/es/components/viewer3d/grids/grid-vertical-streak.js +12 -6
  118. package/es/components/viewer3d/libs/first-person-controls.js +7 -2
  119. package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +5 -1
  120. package/es/components/viewer3d/libs/mtl-loader.js +6 -2
  121. package/es/components/viewer3d/libs/obj-loader.js +6 -2
  122. package/es/components/viewer3d/libs/orbit-controls.js +10 -5
  123. package/es/components/viewer3d/libs/pointer-lock-controls.js +9 -4
  124. package/es/components/viewer3d/lrm.js +5 -1
  125. package/es/components/viewer3d/model.js +5 -1
  126. package/es/components/viewer3d/pointer-lock-navigation.js +8 -3
  127. package/es/components/viewer3d/ruler-utils/itemRect.js +23 -18
  128. package/es/components/viewer3d/ruler-utils/layer3D.js +64 -59
  129. package/es/components/viewer3d/ruler-utils/ruler3D.js +44 -42
  130. package/es/components/viewer3d/ruler-utils/scene3D.js +16 -11
  131. package/es/components/viewer3d/ruler-utils/state3D.js +9 -4
  132. package/es/components/viewer3d/scene-creator.js +225 -198
  133. package/es/components/viewer3d/three-memory-cleaner.js +10 -3
  134. package/es/components/viewer3d/viewer3d-first-person.js +44 -46
  135. package/es/components/viewer3d/viewer3d.js +206 -209
  136. package/es/constants.js +356 -349
  137. package/es/index.js +20 -15
  138. package/es/models.js +183 -183
  139. package/es/plugins/SVGLoader.js +51 -48
  140. package/es/plugins/autosave.js +7 -3
  141. package/es/plugins/console-debugger.js +10 -8
  142. package/es/plugins/export.js +15 -8
  143. package/es/plugins/keyboard.js +33 -29
  144. package/es/reducers/areas-reducer.js +11 -7
  145. package/es/reducers/export.js +39 -24
  146. package/es/reducers/groups-reducer.js +35 -31
  147. package/es/reducers/holes-reducer.js +47 -43
  148. package/es/reducers/items-reducer.js +110 -109
  149. package/es/reducers/lines-reducer.js +32 -28
  150. package/es/reducers/project-reducer.js +109 -105
  151. package/es/reducers/reducer.js +21 -16
  152. package/es/reducers/scene-reducer.js +19 -15
  153. package/es/reducers/user-reducer.js +9 -6
  154. package/es/reducers/vertices-reducer.js +15 -11
  155. package/es/reducers/viewer2d-reducer.js +22 -18
  156. package/es/reducers/viewer3d-reducer.js +20 -16
  157. package/es/shared-style.js +14 -10
  158. package/es/styles/export.js +9 -3
  159. package/es/translator/en.js +5 -1
  160. package/es/translator/it.js +5 -1
  161. package/es/translator/ru.js +5 -1
  162. package/es/translator/translator.js +17 -17
  163. package/es/utils/browser.js +7 -2
  164. package/es/utils/convert-units-lite.js +33 -0
  165. package/es/utils/email-validator.js +5 -1
  166. package/es/utils/export.js +32 -15
  167. package/es/utils/geometry.js +277 -191
  168. package/es/utils/get-edges-of-subgraphs.js +7 -1
  169. package/es/utils/graph-cycles.js +9 -9
  170. package/es/utils/graph-inner-cycles.js +16 -10
  171. package/es/utils/graph.js +15 -12
  172. package/es/utils/helper.js +61 -109
  173. package/es/utils/history.js +13 -8
  174. package/es/utils/id-broker.js +13 -12
  175. package/es/utils/logger.js +5 -1
  176. package/es/utils/math.js +10 -5
  177. package/es/utils/molding.js +175 -158
  178. package/es/utils/name-generator.js +11 -11
  179. package/es/utils/objects-utils.js +17 -7
  180. package/es/utils/phone-validator.js +5 -1
  181. package/es/utils/process-black-list.js +8 -6
  182. package/es/utils/react-if.js +10 -6
  183. package/es/utils/snap-scene.js +32 -32
  184. package/es/utils/snap.js +57 -51
  185. package/es/utils/summarizeCart.js +5 -1
  186. package/es/utils/threeCSG.es6.js +20 -17
  187. package/es/version.js +5 -1
  188. package/lib/@history.js +3 -2
  189. package/lib/AppContext.js +3 -2
  190. package/lib/KitchenConfigurator.js +70 -88
  191. package/lib/KitchenConfiguratorApp.js +98 -113
  192. package/lib/actions/export.js +1 -1
  193. package/lib/catalog/areas/area/planner-element.js +13 -8
  194. package/lib/catalog/catalog.js +9 -16
  195. package/lib/catalog/factories/area-factory-3d.js +1 -1
  196. package/lib/catalog/factories/area-factory.js +6 -7
  197. package/lib/catalog/factories/export.js +1 -1
  198. package/lib/catalog/factories/wall-factory-3d.js +4 -4
  199. package/lib/catalog/factories/wall-factory.js +4 -3
  200. package/lib/catalog/holes/door-closet/planner-element.js +4 -3
  201. package/lib/catalog/holes/door-double/planner-element.js +4 -3
  202. package/lib/catalog/holes/door-exterior/planner-element.js +4 -3
  203. package/lib/catalog/holes/door-interior/planner-element.js +4 -3
  204. package/lib/catalog/holes/door-panic/planner-element.js +4 -3
  205. package/lib/catalog/holes/door-panic-double/planner-element.js +4 -3
  206. package/lib/catalog/holes/door-sliding/planner-element.js +4 -3
  207. package/lib/catalog/holes/doorway-framed/planner-element.js +4 -3
  208. package/lib/catalog/holes/doorway-frameless/planner-element.js +4 -3
  209. package/lib/catalog/holes/export.js +14 -14
  210. package/lib/catalog/holes/window-clear/planner-element.js +4 -3
  211. package/lib/catalog/holes/window-cross/planner-element.js +4 -3
  212. package/lib/catalog/holes/window-double-hung/planner-element.js +4 -3
  213. package/lib/catalog/holes/window-vertical/planner-element.js +4 -3
  214. package/lib/catalog/lines/wall/planner-element.js +16 -11
  215. package/lib/catalog/molding/molding-dcm/planner-element.js +4 -3
  216. package/lib/catalog/molding/molding-fbm/planner-element.js +4 -3
  217. package/lib/catalog/molding/molding-lrm/planner-element.js +4 -3
  218. package/lib/catalog/properties/export.js +1 -1
  219. package/lib/catalog/properties/property-checkbox.js +68 -25
  220. package/lib/catalog/properties/property-color.js +3 -2
  221. package/lib/catalog/properties/property-enum.js +54 -16
  222. package/lib/catalog/properties/property-hidden.js +3 -2
  223. package/lib/catalog/properties/property-lenght-measure.js +10 -10
  224. package/lib/catalog/properties/property-length-measure.js +61 -17
  225. package/lib/catalog/properties/property-length-measure_hole.js +10 -10
  226. package/lib/catalog/properties/property-number.js +3 -2
  227. package/lib/catalog/properties/property-read-only.js +3 -2
  228. package/lib/catalog/properties/property-string.js +3 -2
  229. package/lib/catalog/properties/property-toggle.js +3 -2
  230. package/lib/catalog/properties/shared-property-style.js +2 -1
  231. package/lib/catalog/utils/FuseUtils.js +10 -11
  232. package/lib/catalog/utils/exporter.js +10 -12
  233. package/lib/catalog/utils/geom-utils.js +1 -1
  234. package/lib/catalog/utils/item-loader.js +29 -35
  235. package/lib/catalog/utils/mtl-loader.js +7 -3
  236. package/lib/catalog/utils/obj-loader.js +7 -3
  237. package/lib/class/FuseUtils.js +10 -11
  238. package/lib/class/area.js +9 -11
  239. package/lib/class/export.js +1 -1
  240. package/lib/class/group.js +13 -20
  241. package/lib/class/guide.js +9 -12
  242. package/lib/class/hole.js +7 -9
  243. package/lib/class/item.js +25 -35
  244. package/lib/class/layer.js +7 -9
  245. package/lib/class/line.js +14 -20
  246. package/lib/class/project.js +10 -11
  247. package/lib/class/vertex.js +9 -11
  248. package/lib/components/content.js +5 -3
  249. package/lib/components/disclaimer/disclaimer.js +69 -88
  250. package/lib/components/export.js +1 -1
  251. package/lib/components/style/button.js +17 -22
  252. package/lib/components/style/cancel-button.js +7 -7
  253. package/lib/components/style/content-container.js +5 -7
  254. package/lib/components/style/content-title.js +10 -12
  255. package/lib/components/style/delete-button.js +8 -8
  256. package/lib/components/style/export.js +1 -1
  257. package/lib/components/style/form-block.js +9 -12
  258. package/lib/components/style/form-color-input.js +7 -7
  259. package/lib/components/style/form-label.js +9 -12
  260. package/lib/components/style/form-number-input.js +43 -23
  261. package/lib/components/style/form-number-input_2.js +15 -19
  262. package/lib/components/style/form-select.js +53 -15
  263. package/lib/components/style/form-slider.js +28 -12
  264. package/lib/components/style/form-submit-button.js +8 -8
  265. package/lib/components/style/form-text-input.js +46 -32
  266. package/lib/components/viewer2d/area.js +8 -7
  267. package/lib/components/viewer2d/export.js +1 -1
  268. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +3 -3
  269. package/lib/components/viewer2d/grids/grid-streak.js +3 -3
  270. package/lib/components/viewer2d/grids/grid-vertical-streak.js +3 -3
  271. package/lib/components/viewer2d/grids/grids.js +6 -10
  272. package/lib/components/viewer2d/group.js +4 -3
  273. package/lib/components/viewer2d/item.js +14 -19
  274. package/lib/components/viewer2d/layer.js +3 -2
  275. package/lib/components/viewer2d/line.js +4 -7
  276. package/lib/components/viewer2d/ruler.js +9 -9
  277. package/lib/components/viewer2d/rulerDist.js +7 -6
  278. package/lib/components/viewer2d/rulerX.js +15 -19
  279. package/lib/components/viewer2d/rulerY.js +15 -19
  280. package/lib/components/viewer2d/scene.js +24 -34
  281. package/lib/components/viewer2d/snap.js +4 -3
  282. package/lib/components/viewer2d/state.js +7 -11
  283. package/lib/components/viewer2d/utils.js +35 -2
  284. package/lib/components/viewer2d/vertex.js +4 -3
  285. package/lib/components/viewer2d/viewer2d.js +40 -41
  286. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +14 -20
  287. package/lib/components/viewer3d/dcm.js +2 -1
  288. package/lib/components/viewer3d/fbm.js +2 -1
  289. package/lib/components/viewer3d/front3D.js +6 -10
  290. package/lib/components/viewer3d/grid-creator.js +4 -3
  291. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +3 -2
  292. package/lib/components/viewer3d/grids/grid-streak.js +3 -2
  293. package/lib/components/viewer3d/grids/grid-vertical-streak.js +3 -2
  294. package/lib/components/viewer3d/libs/mtl-loader.js +7 -2
  295. package/lib/components/viewer3d/libs/obj-loader.js +7 -2
  296. package/lib/components/viewer3d/libs/orbit-controls.js +10 -5
  297. package/lib/components/viewer3d/libs/pointer-lock-controls.js +9 -4
  298. package/lib/components/viewer3d/lrm.js +2 -1
  299. package/lib/components/viewer3d/pointer-lock-navigation.js +1 -1
  300. package/lib/components/viewer3d/ruler-utils/itemRect.js +10 -9
  301. package/lib/components/viewer3d/ruler-utils/layer3D.js +35 -34
  302. package/lib/components/viewer3d/ruler-utils/ruler3D.js +5 -7
  303. package/lib/components/viewer3d/ruler-utils/scene3D.js +4 -5
  304. package/lib/components/viewer3d/ruler-utils/state3D.js +3 -2
  305. package/lib/components/viewer3d/scene-creator.js +40 -45
  306. package/lib/components/viewer3d/three-memory-cleaner.js +1 -1
  307. package/lib/components/viewer3d/viewer3d-first-person.js +13 -17
  308. package/lib/components/viewer3d/viewer3d.js +34 -38
  309. package/lib/index.js +16 -88
  310. package/lib/models.js +58 -63
  311. package/lib/plugins/autosave.js +2 -1
  312. package/lib/plugins/console-debugger.js +5 -7
  313. package/lib/plugins/export.js +1 -1
  314. package/lib/plugins/keyboard.js +2 -1
  315. package/lib/reducers/areas-reducer.js +2 -1
  316. package/lib/reducers/export.js +1 -1
  317. package/lib/reducers/groups-reducer.js +2 -1
  318. package/lib/reducers/holes-reducer.js +2 -1
  319. package/lib/reducers/items-reducer.js +2 -1
  320. package/lib/reducers/lines-reducer.js +2 -1
  321. package/lib/reducers/project-reducer.js +2 -1
  322. package/lib/reducers/scene-reducer.js +2 -1
  323. package/lib/reducers/user-reducer.js +2 -2
  324. package/lib/reducers/vertices-reducer.js +2 -1
  325. package/lib/reducers/viewer2d-reducer.js +5 -5
  326. package/lib/reducers/viewer3d-reducer.js +5 -5
  327. package/lib/styles/export.js +1 -1
  328. package/lib/translator/en.js +2 -1
  329. package/lib/translator/it.js +2 -1
  330. package/lib/translator/ru.js +2 -1
  331. package/lib/translator/translator.js +7 -10
  332. package/lib/utils/convert-units-lite.js +35 -0
  333. package/lib/utils/export.js +2 -2
  334. package/lib/utils/geometry.js +20 -28
  335. package/lib/utils/get-edges-of-subgraphs.js +7 -1
  336. package/lib/utils/graph-cycles.js +9 -9
  337. package/lib/utils/graph-inner-cycles.js +1 -1
  338. package/lib/utils/graph.js +15 -12
  339. package/lib/utils/helper.js +14 -83
  340. package/lib/utils/history.js +1 -1
  341. package/lib/utils/id-broker.js +7 -10
  342. package/lib/utils/molding.js +66 -71
  343. package/lib/utils/name-generator.js +7 -9
  344. package/lib/utils/objects-utils.js +5 -3
  345. package/lib/utils/process-black-list.js +3 -5
  346. package/lib/utils/react-if.js +3 -2
  347. package/lib/utils/snap-scene.js +3 -7
  348. package/lib/utils/snap.js +22 -26
  349. package/lib/utils/threeCSG.es6.js +16 -15
  350. package/package.json +26 -54
  351. package/es/analytics/ga4.js +0 -191
  352. package/es/analytics/posthog.js +0 -60
  353. package/lib/analytics/ga4.js +0 -197
  354. package/lib/analytics/posthog.js +0 -68
@@ -1,33 +1,30 @@
1
- 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); }
2
- function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
3
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
- function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
5
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ exports.__esModule = true;
6
+ exports["default"] = Viewer2D;
7
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _reactSvgPanZoom = require("react-svg-pan-zoom");
13
+ var _constants = _interopRequireWildcard(require("../../constants"));
14
+ var constants = _constants;
15
+ var _state = _interopRequireDefault(require("./state"));
16
+ var SharedStyle = _interopRequireWildcard(require("../../shared-style"));
17
+ var _export = require("./export");
18
+ var _export2 = require("../../utils/export");
19
+ var _formNumberInput = _interopRequireDefault(require("../style/form-number-input"));
20
+ var _convertUnitsLite = require("../../utils/convert-units-lite");
21
+ var _immutable = require("immutable");
22
+ var _math = require("../../utils/math");
23
+ var _helper = require("../../utils/helper");
24
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
6
25
  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; }
7
- 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; }
8
- 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; }
9
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
10
- 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); }
11
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
15
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
- import React, { useEffect, useRef, useState } from 'react';
18
- import PropTypes from 'prop-types';
19
- import { ReactSVGPanZoom, TOOL_AUTO, TOOL_NONE, TOOL_PAN, TOOL_ZOOM_IN, TOOL_ZOOM_OUT, zoom } from 'react-svg-pan-zoom';
20
- import * as constants from "../../constants";
21
- import State from "./state";
22
- import * as SharedStyle from "../../shared-style";
23
- import { RulerX, RulerY } from "./export";
24
- import { DECIMAL_PLACES_2, LINE_THICKNESS, MIN_ANGLE_DISALLOW_DRAW_WALL, MODE_ELEVATION_VIEW, MODE_IDLE, UNIT_ANGLE } from "../../constants";
25
- import { GeometryUtils } from "../../utils/export";
26
- import FormNumberInput from "../style/form-number-input";
27
- import convert from 'convert-units';
28
- import { Map } from 'immutable';
29
- import { formatNumber } from "../../utils/math";
30
- import { isEmpty } from "../../utils/helper";
26
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27
+ // variables
31
28
 
32
29
  // variables
33
30
  var pinFlag = false;
@@ -47,19 +44,19 @@ var allArea;
47
44
  // /////////
48
45
  function mode2Tool(mode) {
49
46
  if (pinFlag) {
50
- return TOOL_NONE;
47
+ return _reactSvgPanZoom.TOOL_NONE;
51
48
  }
52
49
  switch (mode) {
53
50
  case constants.MODE_2D_PAN:
54
- return TOOL_PAN;
51
+ return _reactSvgPanZoom.TOOL_PAN;
55
52
  case constants.MODE_2D_ZOOM_IN:
56
- return TOOL_ZOOM_IN;
53
+ return _reactSvgPanZoom.TOOL_ZOOM_IN;
57
54
  case constants.MODE_2D_ZOOM_OUT:
58
- return TOOL_ZOOM_OUT;
55
+ return _reactSvgPanZoom.TOOL_ZOOM_OUT;
59
56
  case constants.MODE_IDLE:
60
- return TOOL_AUTO;
57
+ return _reactSvgPanZoom.TOOL_AUTO;
61
58
  default:
62
- return TOOL_NONE;
59
+ return _reactSvgPanZoom.TOOL_NONE;
63
60
  }
64
61
  }
65
62
  function mode2PointerEvents(mode) {
@@ -131,7 +128,7 @@ function extractElementData(node) {
131
128
  direct: node.attributes.getNamedItem('data-direct') ? node.attributes.getNamedItem('data-direct').value : 0
132
129
  };
133
130
  }
134
- export default function Viewer2D(_ref, _ref2) {
131
+ function Viewer2D(_ref, _ref2) {
135
132
  var state = _ref.state,
136
133
  width = _ref.width,
137
134
  height = _ref.height,
@@ -145,29 +142,29 @@ export default function Viewer2D(_ref, _ref2) {
145
142
  areaActions = _ref2.areaActions,
146
143
  projectActions = _ref2.projectActions,
147
144
  catalog = _ref2.catalog;
148
- var _useState = useState(null),
149
- _useState2 = _slicedToArray(_useState, 2),
145
+ var _useState = (0, _react.useState)(null),
146
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
150
147
  rulerEdit = _useState2[0],
151
148
  setRulerEdit = _useState2[1];
152
- var _useState3 = useState(null),
153
- _useState4 = _slicedToArray(_useState3, 2),
149
+ var _useState3 = (0, _react.useState)(null),
150
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
154
151
  rulerEditID = _useState4[0],
155
152
  setRulerEditID = _useState4[1];
156
- var Viewer = useRef(null);
153
+ var Viewer = (0, _react.useRef)(null);
157
154
  var viewer2D = state.viewer2D,
158
155
  mode = state.mode,
159
156
  scene = state.scene;
160
157
 
161
158
  // let relatedLines = [];
162
- var _useState5 = useState([]),
163
- _useState6 = _slicedToArray(_useState5, 2),
159
+ var _useState5 = (0, _react.useState)([]),
160
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
164
161
  relatedLines = _useState6[0],
165
162
  setRelatedLines = _useState6[1];
166
- var _useState7 = useState(false),
167
- _useState8 = _slicedToArray(_useState7, 2),
163
+ var _useState7 = (0, _react.useState)(false),
164
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
168
165
  drawStart = _useState8[0],
169
166
  setdrawStart = _useState8[1];
170
- useEffect(function () {
167
+ (0, _react.useEffect)(function () {
171
168
  // move viewer point to center
172
169
  var selectedLayer = state.scene.layers.get(state.scene.selectedLayer);
173
170
  var vertices = selectedLayer.vertices;
@@ -189,7 +186,7 @@ export default function Viewer2D(_ref, _ref2) {
189
186
  Viewer.current.setPointOnViewerCenter(moveX, moveY, viewer2D.get('a'));
190
187
  }, []);
191
188
  var layerID = scene.selectedLayer;
192
- var wall_thickness = LINE_THICKNESS / 2;
189
+ var wall_thickness = _constants.LINE_THICKNESS / 2;
193
190
  var layer = scene.getIn(['layers', layerID]);
194
191
  var mapCursorPosition = function mapCursorPosition(_ref3) {
195
192
  var x = _ref3.x,
@@ -206,15 +203,15 @@ export default function Viewer2D(_ref, _ref2) {
206
203
  var prepareSnap = function prepareSnap() {
207
204
  var layerID = scene.selectedLayer;
208
205
  var layer = scene.layers.get(layerID);
209
- allLines = GeometryUtils.getAllLines(layer);
210
- allLineRects = GeometryUtils.buildRectFromLines(layer, allLines);
211
- allItemRect = GeometryUtils.getAllItems(scene, catalog, allLineRects);
212
- allItemSnap = GeometryUtils.getAllItemSnap(allItemRect);
213
- allLineSnap = GeometryUtils.getAllLineSnap(allLineRects, allItemRect.cur);
206
+ allLines = _export2.GeometryUtils.getAllLines(layer);
207
+ allLineRects = _export2.GeometryUtils.buildRectFromLines(layer, allLines);
208
+ allItemRect = _export2.GeometryUtils.getAllItems(scene, catalog, allLineRects);
209
+ allItemSnap = _export2.GeometryUtils.getAllItemSnap(allItemRect);
210
+ allLineSnap = _export2.GeometryUtils.getAllLineSnap(allLineRects, allItemRect.cur);
214
211
  allRect = allItemRect.others.concat(allLineRects);
215
- allItemSnap = GeometryUtils.validateSnaps(allItemSnap, allRect);
216
- allLineSnap = GeometryUtils.validateSnaps(allLineSnap, allRect);
217
- allArea = GeometryUtils.getAllArea(layer);
212
+ allItemSnap = _export2.GeometryUtils.validateSnaps(allItemSnap, allRect);
213
+ allLineSnap = _export2.GeometryUtils.validateSnaps(allLineSnap, allRect);
214
+ allArea = _export2.GeometryUtils.getAllArea(layer);
218
215
  };
219
216
  var updateRulerDistAttribute = function updateRulerDistAttribute(elementData, value) {
220
217
  var newVal = value.get('length');
@@ -257,11 +254,11 @@ export default function Viewer2D(_ref, _ref2) {
257
254
  var selectedLine = scene.getIn(['layers', elementData.layer, 'lines', elementData.id]).toJS();
258
255
  var v_0 = scene.getIn(['layers', elementData.layer, 'vertices', selectedLine.vertices[0]]);
259
256
  var v_1 = scene.getIn(['layers', elementData.layer, 'vertices', selectedLine.vertices[1]]);
260
- var _GeometryUtils$orderV = GeometryUtils.orderVertices([v_0, v_1]),
261
- _GeometryUtils$orderV2 = _slicedToArray(_GeometryUtils$orderV, 2),
257
+ var _GeometryUtils$orderV = _export2.GeometryUtils.orderVertices([v_0, v_1]),
258
+ _GeometryUtils$orderV2 = (0, _slicedToArray2["default"])(_GeometryUtils$orderV, 2),
262
259
  v_a = _GeometryUtils$orderV2[0],
263
260
  v_b = _GeometryUtils$orderV2[1];
264
- var v_b_new = GeometryUtils.extendLine(v_a.x, v_a.y, v_b.x, v_b.y, value.get('length'), 2);
261
+ var v_b_new = _export2.GeometryUtils.extendLine(v_a.x, v_a.y, v_b.x, v_b.y, value.get('length'), 2);
265
262
 
266
263
  // Blocked function that as wall changed, opposite wall should changed together.
267
264
  // let layer = scene.getIn(['layers', elementData.layer]);
@@ -293,7 +290,7 @@ export default function Viewer2D(_ref, _ref2) {
293
290
  vertexTwo: v_a
294
291
  });
295
292
  }
296
- var attributesFormData = new Map(_objectSpread({}, attributesData));
293
+ var attributesFormData = new _immutable.Map(_objectSpread({}, attributesData));
297
294
  setRulerEdit(null);
298
295
  projectActions.setLinesAttributes(attributesFormData, true, {
299
296
  layerID: elementData.layer,
@@ -377,7 +374,7 @@ export default function Viewer2D(_ref, _ref2) {
377
374
  };
378
375
  var getEndPoint = function getEndPoint(vertices, x, y, mode) {
379
376
  var selLineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
380
- if (isEmpty(selLineID)) {
377
+ if ((0, _helper.isEmpty)(selLineID)) {
381
378
  return {
382
379
  isEndDrag: true,
383
380
  x: x,
@@ -387,7 +384,7 @@ export default function Viewer2D(_ref, _ref2) {
387
384
  var draggingLine = state.getIn(['scene', 'layers', layerID, 'lines', selLineID]).toJS();
388
385
  var allLines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
389
386
  var dragVertexId = state.getIn(['draggingSupport', 'vertexID']);
390
- dragVertexId = !isEmpty(dragVertexId) ? dragVertexId : draggingLine.vertices[1];
387
+ dragVertexId = !(0, _helper.isEmpty)(dragVertexId) ? dragVertexId : draggingLine.vertices[1];
391
388
  var vtx, vty;
392
389
  var stepUnit = false;
393
390
  vtx = vertices[dragVertexId].x;
@@ -398,7 +395,7 @@ export default function Viewer2D(_ref, _ref2) {
398
395
  stepUnit = true;
399
396
  }
400
397
  var endDrag = [];
401
- if (!isEmpty(relatedLines) && mode !== 'DRAGGING_LINE') {
398
+ if (!(0, _helper.isEmpty)(relatedLines) && mode !== 'DRAGGING_LINE') {
402
399
  vertices[dragVertexId].x = x;
403
400
  vertices[dragVertexId].y = y;
404
401
  }
@@ -406,17 +403,17 @@ export default function Viewer2D(_ref, _ref2) {
406
403
  if (draggingLine.vertices[0] !== draggingLine.vertices[1]) {
407
404
  for (var i = 0; i < relatedLines.length; i++) {
408
405
  var line = relatedLines[i];
409
- lineAngle = GeometryUtils.angleBetweenTwoLines(line, draggingLine, vertices);
406
+ lineAngle = _export2.GeometryUtils.angleBetweenTwoLines(line, draggingLine, vertices);
410
407
  absAngle = Math.abs(lineAngle);
411
408
  var tmpRelated = [];
412
- GeometryUtils.getRelatedLines(tmpRelated, line, vertices, allLines, draggingLine.id);
409
+ _export2.GeometryUtils.getRelatedLines(tmpRelated, line, vertices, allLines, draggingLine.id);
413
410
  for (var j = 0; j < tmpRelated.length; j++) {
414
- var tmpAngle = Math.abs(GeometryUtils.angleBetweenTwoLines(tmpRelated[j], line, vertices));
415
- if (tmpAngle < MIN_ANGLE_DISALLOW_DRAW_WALL || tmpAngle > 360 - MIN_ANGLE_DISALLOW_DRAW_WALL) {
411
+ var tmpAngle = Math.abs(_export2.GeometryUtils.angleBetweenTwoLines(tmpRelated[j], line, vertices));
412
+ if (tmpAngle < _constants.MIN_ANGLE_DISALLOW_DRAW_WALL || tmpAngle > 360 - _constants.MIN_ANGLE_DISALLOW_DRAW_WALL) {
416
413
  endDrag.push(false);
417
414
  } else endDrag.push(true);
418
415
  }
419
- if (absAngle < MIN_ANGLE_DISALLOW_DRAW_WALL || absAngle > 360 - MIN_ANGLE_DISALLOW_DRAW_WALL) {
416
+ if (absAngle < _constants.MIN_ANGLE_DISALLOW_DRAW_WALL || absAngle > 360 - _constants.MIN_ANGLE_DISALLOW_DRAW_WALL) {
420
417
  endDrag.push(false);
421
418
  } else endDrag.push(true);
422
419
  }
@@ -427,7 +424,7 @@ export default function Viewer2D(_ref, _ref2) {
427
424
  vtx = x;
428
425
  vty = y;
429
426
  } else {
430
- var rest = MIN_ANGLE_DISALLOW_DRAW_WALL - absAngle;
427
+ var rest = _constants.MIN_ANGLE_DISALLOW_DRAW_WALL - absAngle;
431
428
  // the origin point of rotation(snapping)
432
429
  var originVerId = draggingLine.vertices.findIndex(function (vertice) {
433
430
  return vertice !== dragVertexId;
@@ -439,7 +436,7 @@ export default function Viewer2D(_ref, _ref2) {
439
436
  // determine the direction of rotation.
440
437
  rest = lineAngle > 0 ? -rest : rest;
441
438
  // rotate the current point to last point around the first point of drawing line.
442
- var res = GeometryUtils.rotatePointAroundPoint(x, y, ox, oy, rest);
439
+ var res = _export2.GeometryUtils.rotatePointAroundPoint(x, y, ox, oy, rest);
443
440
  vtx = res.x;
444
441
  vty = res.y;
445
442
  }
@@ -448,8 +445,8 @@ export default function Viewer2D(_ref, _ref2) {
448
445
  // angle snapping as a value of UNIT_ANGLE
449
446
  if (!endDrag.some(function (flag) {
450
447
  return flag === false;
451
- }) && !isEmpty(absAngle) && absAngle % UNIT_ANGLE !== 0 && stepUnit) {
452
- var _result = GeometryUtils.snapAngleByUnit(lineAngle, vertices, draggingLine, vtx, vty, dragVertexId);
448
+ }) && !(0, _helper.isEmpty)(absAngle) && absAngle % _constants.UNIT_ANGLE !== 0 && stepUnit) {
449
+ var _result = _export2.GeometryUtils.snapAngleByUnit(lineAngle, vertices, draggingLine, vtx, vty, dragVertexId);
453
450
  vtx = _result.x;
454
451
  vty = _result.y;
455
452
  }
@@ -465,7 +462,7 @@ export default function Viewer2D(_ref, _ref2) {
465
462
  if (!(item !== null && item !== void 0 && (_item$properties = item.properties) !== null && _item$properties !== void 0 && _item$properties.getIn)) return 0;
466
463
  var length = item.properties.getIn([property, '_length']);
467
464
  var unit = item.properties.getIn([property, '_unit']);
468
- return length && unit ? convert(length).from(unit).to('cm') : 0;
465
+ return length && unit ? (0, _convertUnitsLite.convert)(length).from(unit).to('cm') : 0;
469
466
  };
470
467
  var point = function point(x, y) {
471
468
  return {
@@ -480,32 +477,32 @@ export default function Viewer2D(_ref, _ref2) {
480
477
  var pointArray = [];
481
478
  curItemInfo.rectCenterPoint.forEach(function (centerpoint) {
482
479
  if (!Array.isArray(centerpoint) || centerpoint.length < 2) return;
483
- var _centerpoint = _slicedToArray(centerpoint, 2),
480
+ var _centerpoint = (0, _slicedToArray2["default"])(centerpoint, 2),
484
481
  pt = _centerpoint[0],
485
482
  angle = _centerpoint[1];
486
483
  if (!pt) return;
487
484
 
488
485
  // line through centerpoint and reference center
489
- var rectLine = angle === 180 || angle === 0 ? GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, center_x1, center_y1) : GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, x, y);
486
+ var rectLine = angle === 180 || angle === 0 ? _export2.GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, center_x1, center_y1) : _export2.GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, x, y);
490
487
  if (!rectLine) return;
491
488
  var minDist;
492
489
  allRect.forEach(function (linerect) {
493
490
  if (!(linerect !== null && linerect !== void 0 && linerect.rect) || linerect.rect.length < 4) return;
494
- var p0 = GeometryUtils.clone_point(linerect.rect[2]);
495
- var p1 = GeometryUtils.clone_point(linerect.rect[3]);
491
+ var p0 = _export2.GeometryUtils.clone_point(linerect.rect[2]);
492
+ var p1 = _export2.GeometryUtils.clone_point(linerect.rect[3]);
496
493
  if (!p0 || !p1 || p0.x === p1.x && p0.y === p1.y) return;
497
- var lineFn = GeometryUtils.linePassingThroughTwoPoints(p0.x, p0.y, p1.x, p1.y);
494
+ var lineFn = _export2.GeometryUtils.linePassingThroughTwoPoints(p0.x, p0.y, p1.x, p1.y);
498
495
  if (!lineFn) return;
499
- var ip = GeometryUtils.twoLinesIntersection(lineFn.a, lineFn.b, lineFn.c, rectLine.a, rectLine.b, rectLine.c);
496
+ var ip = _export2.GeometryUtils.twoLinesIntersection(lineFn.a, lineFn.b, lineFn.c, rectLine.a, rectLine.b, rectLine.c);
500
497
  if (!ip) return;
501
498
 
502
499
  // intersection must lie within line segment
503
- var segLen = GeometryUtils.pointsDistance(p0.x, p0.y, p1.x, p1.y);
504
- if (segLen <= GeometryUtils.pointsDistance(p0.x, p0.y, ip.x, ip.y) || segLen <= GeometryUtils.pointsDistance(p1.x, p1.y, ip.x, ip.y)) return;
500
+ var segLen = _export2.GeometryUtils.pointsDistance(p0.x, p0.y, p1.x, p1.y);
501
+ if (segLen <= _export2.GeometryUtils.pointsDistance(p0.x, p0.y, ip.x, ip.y) || segLen <= _export2.GeometryUtils.pointsDistance(p1.x, p1.y, ip.x, ip.y)) return;
505
502
 
506
503
  // ensure intersection is farther than pt→center
507
- var distToCenter = GeometryUtils.pointsDistance(ip.x, ip.y, x, y);
508
- var baseDist = GeometryUtils.pointsDistance(pt.x, pt.y, ip.x, ip.y);
504
+ var distToCenter = _export2.GeometryUtils.pointsDistance(ip.x, ip.y, x, y);
505
+ var baseDist = _export2.GeometryUtils.pointsDistance(pt.x, pt.y, ip.x, ip.y);
509
506
  if (distToCenter <= baseDist) return;
510
507
  var candidate = baseDist;
511
508
  minDist = minDist !== undefined ? Math.min(minDist, candidate) : candidate;
@@ -562,12 +559,12 @@ export default function Viewer2D(_ref, _ref2) {
562
559
  };
563
560
 
564
561
  // collect geometry
565
- var _allLines = GeometryUtils.getAllLines(layer) || [];
566
- var _allLineRects = GeometryUtils.buildRectFromLines(layer, _allLines) || [];
567
- var _allItemRect = GeometryUtils.getAllItems(scene, catalog, _allLineRects) || {
562
+ var _allLines = _export2.GeometryUtils.getAllLines(layer) || [];
563
+ var _allLineRects = _export2.GeometryUtils.buildRectFromLines(layer, _allLines) || [];
564
+ var _allItemRect = _export2.GeometryUtils.getAllItems(scene, catalog, _allLineRects) || {
568
565
  others: []
569
566
  };
570
- var _allRect = [].concat(_toConsumableArray(_allItemRect.others || []), _toConsumableArray(_allLineRects));
567
+ var _allRect = [].concat((0, _toConsumableArray2["default"])(_allItemRect.others || []), (0, _toConsumableArray2["default"])(_allLineRects));
571
568
 
572
569
  // current item
573
570
  var curItemInfo = getCalcRectFromItem(val);
@@ -644,7 +641,7 @@ export default function Viewer2D(_ref, _ref2) {
644
641
  endPoint.y = y;
645
642
  } else {
646
643
  prepareSnap();
647
- var _GeometryUtils$calcSn = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
644
+ var _GeometryUtils$calcSn = _export2.GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
648
645
  nx = _GeometryUtils$calcSn.nx,
649
646
  ny = _GeometryUtils$calcSn.ny,
650
647
  rot = _GeometryUtils$calcSn.rot,
@@ -659,10 +656,10 @@ export default function Viewer2D(_ref, _ref2) {
659
656
  layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
660
657
  is_corner: allItemRect.cur && allItemRect.cur.is_corner
661
658
  };
662
- var _GeometryUtils$getAll = GeometryUtils.getAllHoleRect(scene, _val),
659
+ var _GeometryUtils$getAll = _export2.GeometryUtils.getAllHoleRect(scene, _val),
663
660
  _isSect = _GeometryUtils$getAll.isSect,
664
661
  _snap = _GeometryUtils$getAll.snap;
665
- if (!isEmpty(_snap) && _isSect) {
662
+ if (!(0, _helper.isEmpty)(_snap) && _isSect) {
666
663
  if (_snap.length == 1) _val.pos = {
667
664
  x: _snap[0].x,
668
665
  y: _snap[0].y
@@ -675,7 +672,7 @@ export default function Viewer2D(_ref, _ref2) {
675
672
  y: _snap[1].y
676
673
  };
677
674
  }
678
- var interSect = GeometryUtils.validInterSect(allItemRect.others, _val);
675
+ var interSect = _export2.GeometryUtils.validInterSect(allItemRect.others, _val);
679
676
  if (interSect) {
680
677
  nx = _val.pos.x;
681
678
  ny = _val.pos.y;
@@ -685,7 +682,7 @@ export default function Viewer2D(_ref, _ref2) {
685
682
  x: nx,
686
683
  y: ny
687
684
  };
688
- var _isrectSect = GeometryUtils.validInterSect(allItemRect.others, _val);
685
+ var _isrectSect = _export2.GeometryUtils.validInterSect(allItemRect.others, _val);
689
686
  if (_isrectSect && _isSect) {
690
687
  itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
691
688
  itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
@@ -720,7 +717,7 @@ export default function Viewer2D(_ref, _ref2) {
720
717
  case constants.MODE_DRAGGING_ITEM:
721
718
  calcDistanceArray();
722
719
  prepareSnap();
723
- var _GeometryUtils$calcSn2 = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
720
+ var _GeometryUtils$calcSn2 = _export2.GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
724
721
  nx = _GeometryUtils$calcSn2.nx,
725
722
  ny = _GeometryUtils$calcSn2.ny,
726
723
  rot = _GeometryUtils$calcSn2.rot,
@@ -735,10 +732,10 @@ export default function Viewer2D(_ref, _ref2) {
735
732
  layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
736
733
  is_corner: allItemRect.cur && allItemRect.cur.is_corner
737
734
  };
738
- var _GeometryUtils$getAll2 = GeometryUtils.getAllHoleRect(scene, val),
735
+ var _GeometryUtils$getAll2 = _export2.GeometryUtils.getAllHoleRect(scene, val),
739
736
  isSect = _GeometryUtils$getAll2.isSect,
740
737
  snap = _GeometryUtils$getAll2.snap;
741
- if (!isEmpty(snap) && isSect) {
738
+ if (!(0, _helper.isEmpty)(snap) && isSect) {
742
739
  if (snap.length == 1) val.pos = {
743
740
  x: snap[0].x,
744
741
  y: snap[0].y
@@ -751,7 +748,7 @@ export default function Viewer2D(_ref, _ref2) {
751
748
  y: snap[1].y
752
749
  };
753
750
  }
754
- var _interSect = GeometryUtils.validInterSect(allItemRect.others, val);
751
+ var _interSect = _export2.GeometryUtils.validInterSect(allItemRect.others, val);
755
752
  if (_interSect) {
756
753
  nx = val.pos.x;
757
754
  ny = val.pos.y;
@@ -761,7 +758,7 @@ export default function Viewer2D(_ref, _ref2) {
761
758
  x: nx,
762
759
  y: ny
763
760
  };
764
- var isrectSect = GeometryUtils.validInterSect(allItemRect.others, val);
761
+ var isrectSect = _export2.GeometryUtils.validInterSect(allItemRect.others, val);
765
762
  if (isrectSect && isSect) {
766
763
  itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
767
764
  itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
@@ -881,7 +878,7 @@ export default function Viewer2D(_ref, _ref2) {
881
878
  break;
882
879
  } else if (elementData.part === 'elevation') {
883
880
  // handle action when click elevation about selected line
884
- var _mode = MODE_ELEVATION_VIEW;
881
+ var _mode = _constants.MODE_ELEVATION_VIEW;
885
882
  projectActions.setMode(_mode);
886
883
  break;
887
884
  } else {
@@ -916,9 +913,9 @@ export default function Viewer2D(_ref, _ref2) {
916
913
  break;
917
914
  }
918
915
  case 'rulerDist':
919
- var _length1 = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
920
- var distanceText1 = "".concat(formatNumber(_length1, DECIMAL_PLACES_2));
921
- var numberInput1 = /*#__PURE__*/React.createElement("div", {
916
+ var _length1 = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(scene.rulerUnit);
917
+ var distanceText1 = "".concat((0, _math.formatNumber)(_length1, _constants.DECIMAL_PLACES_2));
918
+ var numberInput1 = /*#__PURE__*/_react["default"].createElement("div", {
922
919
  id: "ruler_numberInput",
923
920
  style: {
924
921
  position: 'absolute',
@@ -926,7 +923,7 @@ export default function Viewer2D(_ref, _ref2) {
926
923
  top: bbox.top - (50 - bbox.height) / 2,
927
924
  zIndex: 1000
928
925
  }
929
- }, /*#__PURE__*/React.createElement(FormNumberInput, {
926
+ }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
930
927
  style: {
931
928
  width: 150,
932
929
  height: 50,
@@ -938,8 +935,8 @@ export default function Viewer2D(_ref, _ref2) {
938
935
  },
939
936
  value: distanceText1,
940
937
  onChange: function onChange(event) {
941
- var value = new Map({
942
- length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
938
+ var value = new _immutable.Map({
939
+ length: (0, _convertUnitsLite.convert)(event.target.value).from(scene.rulerUnit).to(scene.unit),
943
940
  _length: event.target.value,
944
941
  _unit: scene.rulerUnit
945
942
  });
@@ -951,8 +948,8 @@ export default function Viewer2D(_ref, _ref2) {
951
948
  projectActions.unselectAll();
952
949
  break;
953
950
  case 'ruler':
954
- var _length = convert(elementData.length).from(scene.unit).to(selectedLayer.unit);
955
- var numberInput = /*#__PURE__*/React.createElement("div", {
951
+ var _length = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(selectedLayer.unit);
952
+ var numberInput = /*#__PURE__*/_react["default"].createElement("div", {
956
953
  id: "ruler_numberInput",
957
954
  style: {
958
955
  position: 'absolute',
@@ -960,7 +957,7 @@ export default function Viewer2D(_ref, _ref2) {
960
957
  top: bbox.top - (50 - bbox.height) / 2,
961
958
  zIndex: 1000
962
959
  }
963
- }, /*#__PURE__*/React.createElement(FormNumberInput, {
960
+ }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
964
961
  style: {
965
962
  width: 150,
966
963
  height: 50,
@@ -970,10 +967,10 @@ export default function Viewer2D(_ref, _ref2) {
970
967
  lineHeight: '22px',
971
968
  fontWeight: 600
972
969
  },
973
- value: formatNumber(_length, DECIMAL_PLACES_2),
970
+ value: (0, _math.formatNumber)(_length, _constants.DECIMAL_PLACES_2),
974
971
  onChange: function onChange(event) {
975
- var value = new Map({
976
- length: convert(event.target.value).from(selectedLayer.unit).to(scene.unit),
972
+ var value = new _immutable.Map({
973
+ length: (0, _convertUnitsLite.convert)(event.target.value).from(selectedLayer.unit).to(scene.unit),
977
974
  _length: event.target.value,
978
975
  _unit: selectedLayer.unit
979
976
  });
@@ -985,9 +982,9 @@ export default function Viewer2D(_ref, _ref2) {
985
982
  projectActions.unselectAll();
986
983
  break;
987
984
  case 'twoHoleRuler':
988
- var _lengthTwoHoleRuler = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
989
- var distanceTextTwoHoleRuler = "".concat(formatNumber(_lengthTwoHoleRuler, DECIMAL_PLACES_2));
990
- var numberInputTwoHoleRuler = /*#__PURE__*/React.createElement("div", {
985
+ var _lengthTwoHoleRuler = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(scene.rulerUnit);
986
+ var distanceTextTwoHoleRuler = "".concat((0, _math.formatNumber)(_lengthTwoHoleRuler, _constants.DECIMAL_PLACES_2));
987
+ var numberInputTwoHoleRuler = /*#__PURE__*/_react["default"].createElement("div", {
991
988
  id: "ruler_numberInput",
992
989
  style: {
993
990
  position: 'absolute',
@@ -995,7 +992,7 @@ export default function Viewer2D(_ref, _ref2) {
995
992
  top: bbox.top - (50 - bbox.height) / 2,
996
993
  zIndex: 1000
997
994
  }
998
- }, /*#__PURE__*/React.createElement(FormNumberInput, {
995
+ }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
999
996
  style: {
1000
997
  width: 150,
1001
998
  height: 50,
@@ -1007,8 +1004,8 @@ export default function Viewer2D(_ref, _ref2) {
1007
1004
  },
1008
1005
  value: distanceTextTwoHoleRuler,
1009
1006
  onChange: function onChange(event) {
1010
- var value = new Map({
1011
- length: convert(event.target.value / 2).from(scene.rulerUnit).to(scene.unit),
1007
+ var value = new _immutable.Map({
1008
+ length: (0, _convertUnitsLite.convert)(event.target.value / 2).from(scene.rulerUnit).to(scene.unit),
1012
1009
  _length: event.target.value / 2,
1013
1010
  _unit: scene.rulerUnit
1014
1011
  });
@@ -1020,9 +1017,9 @@ export default function Viewer2D(_ref, _ref2) {
1020
1017
  projectActions.unselectAll();
1021
1018
  break;
1022
1019
  case 'leftHoleRuler':
1023
- var _lengthLeftHoleRuler = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
1020
+ var _lengthLeftHoleRuler = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(scene.rulerUnit);
1024
1021
  var distanceTextLeftHoleRuler = "".concat(_lengthLeftHoleRuler.toFixed(2));
1025
- var numberInputLeftHoleRuler = /*#__PURE__*/React.createElement("div", {
1022
+ var numberInputLeftHoleRuler = /*#__PURE__*/_react["default"].createElement("div", {
1026
1023
  id: "ruler_numberInput",
1027
1024
  style: {
1028
1025
  position: 'absolute',
@@ -1030,7 +1027,7 @@ export default function Viewer2D(_ref, _ref2) {
1030
1027
  top: bbox.top - (50 - bbox.height) / 2,
1031
1028
  zIndex: 1000
1032
1029
  }
1033
- }, /*#__PURE__*/React.createElement(FormNumberInput, {
1030
+ }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1034
1031
  style: {
1035
1032
  width: 150,
1036
1033
  height: 50,
@@ -1042,8 +1039,8 @@ export default function Viewer2D(_ref, _ref2) {
1042
1039
  },
1043
1040
  value: distanceTextLeftHoleRuler,
1044
1041
  onChange: function onChange(event) {
1045
- var value = new Map({
1046
- length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
1042
+ var value = new _immutable.Map({
1043
+ length: (0, _convertUnitsLite.convert)(event.target.value).from(scene.rulerUnit).to(scene.unit),
1047
1044
  _length: event.target.value,
1048
1045
  _unit: scene.rulerUnit
1049
1046
  });
@@ -1055,9 +1052,9 @@ export default function Viewer2D(_ref, _ref2) {
1055
1052
  projectActions.unselectAll();
1056
1053
  break;
1057
1054
  case 'rulerHole':
1058
- var _lengthRulerHole = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
1059
- var distanceTextRulerHole = "".concat(formatNumber(_lengthRulerHole, DECIMAL_PLACES_2));
1060
- var numberInputRulerHole = /*#__PURE__*/React.createElement("div", {
1055
+ var _lengthRulerHole = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(scene.rulerUnit);
1056
+ var distanceTextRulerHole = "".concat((0, _math.formatNumber)(_lengthRulerHole, _constants.DECIMAL_PLACES_2));
1057
+ var numberInputRulerHole = /*#__PURE__*/_react["default"].createElement("div", {
1061
1058
  id: "ruler_numberInput",
1062
1059
  style: {
1063
1060
  position: 'absolute',
@@ -1065,7 +1062,7 @@ export default function Viewer2D(_ref, _ref2) {
1065
1062
  top: bbox.top - (50 - bbox.height) / 2,
1066
1063
  zIndex: 1000
1067
1064
  }
1068
- }, /*#__PURE__*/React.createElement(FormNumberInput, {
1065
+ }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1069
1066
  style: {
1070
1067
  width: 150,
1071
1068
  height: 50,
@@ -1077,8 +1074,8 @@ export default function Viewer2D(_ref, _ref2) {
1077
1074
  },
1078
1075
  value: distanceTextRulerHole,
1079
1076
  onChange: function onChange(event) {
1080
- var value = new Map({
1081
- length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
1077
+ var value = new _immutable.Map({
1078
+ length: (0, _convertUnitsLite.convert)(event.target.value).from(scene.rulerUnit).to(scene.unit),
1082
1079
  _length: event.target.value,
1083
1080
  _unit: scene.rulerUnit
1084
1081
  });
@@ -1090,9 +1087,9 @@ export default function Viewer2D(_ref, _ref2) {
1090
1087
  projectActions.unselectAll();
1091
1088
  break;
1092
1089
  case 'rightHoleRuler':
1093
- var _lengthRightHoleRuler = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
1090
+ var _lengthRightHoleRuler = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(scene.rulerUnit);
1094
1091
  var distanceTextRightHoleRuler = "".concat(_lengthRightHoleRuler.toFixed(2));
1095
- var numberInputRightHoleRuler = /*#__PURE__*/React.createElement("div", {
1092
+ var numberInputRightHoleRuler = /*#__PURE__*/_react["default"].createElement("div", {
1096
1093
  id: "ruler_numberInput",
1097
1094
  style: {
1098
1095
  position: 'absolute',
@@ -1100,7 +1097,7 @@ export default function Viewer2D(_ref, _ref2) {
1100
1097
  top: bbox.top - (50 - bbox.height) / 2,
1101
1098
  zIndex: 1000
1102
1099
  }
1103
- }, /*#__PURE__*/React.createElement(FormNumberInput, {
1100
+ }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1104
1101
  style: {
1105
1102
  width: 150,
1106
1103
  height: 50,
@@ -1112,8 +1109,8 @@ export default function Viewer2D(_ref, _ref2) {
1112
1109
  },
1113
1110
  value: distanceTextRightHoleRuler,
1114
1111
  onChange: function onChange(event) {
1115
- var value = new Map({
1116
- length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
1112
+ var value = new _immutable.Map({
1113
+ length: (0, _convertUnitsLite.convert)(event.target.value).from(scene.rulerUnit).to(scene.unit),
1117
1114
  _length: event.target.value,
1118
1115
  _unit: scene.rulerUnit
1119
1116
  });
@@ -1126,7 +1123,7 @@ export default function Viewer2D(_ref, _ref2) {
1126
1123
  break;
1127
1124
  case 'angleChange':
1128
1125
  var _length2 = elementData.length;
1129
- var numberInput2 = /*#__PURE__*/React.createElement("div", {
1126
+ var numberInput2 = /*#__PURE__*/_react["default"].createElement("div", {
1130
1127
  id: "ruler_numberInput",
1131
1128
  style: {
1132
1129
  position: 'absolute',
@@ -1134,15 +1131,15 @@ export default function Viewer2D(_ref, _ref2) {
1134
1131
  top: bbox.top - (50 - bbox.height) / 2,
1135
1132
  zIndex: 1000
1136
1133
  }
1137
- }, /*#__PURE__*/React.createElement(FormNumberInput, {
1134
+ }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1138
1135
  style: {
1139
1136
  width: 50,
1140
1137
  height: 50
1141
1138
  },
1142
1139
  value: _length2,
1143
1140
  onChange: function onChange(event) {
1144
- var value = new Map({
1145
- length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
1141
+ var value = new _immutable.Map({
1142
+ length: (0, _convertUnitsLite.convert)(event.target.value).from(scene.rulerUnit).to(scene.unit),
1146
1143
  _length: event.target.value,
1147
1144
  _unit: scene.rulerUnit
1148
1145
  });
@@ -1196,7 +1193,7 @@ export default function Viewer2D(_ref, _ref2) {
1196
1193
  break;
1197
1194
  case constants.MODE_DRAGGING_ITEM:
1198
1195
  itemsActions.updateMolding();
1199
- projectActions.setMode(MODE_IDLE);
1196
+ projectActions.setMode(_constants.MODE_IDLE);
1200
1197
  break;
1201
1198
  case constants.MODE_DRAGGING_HOLE:
1202
1199
  holesActions.endDraggingHole(x, y);
@@ -1241,16 +1238,16 @@ export default function Viewer2D(_ref, _ref2) {
1241
1238
  };
1242
1239
  var onChangeTool = function onChangeTool(tool) {
1243
1240
  switch (tool) {
1244
- case TOOL_NONE:
1241
+ case _reactSvgPanZoom.TOOL_NONE:
1245
1242
  projectActions.selectToolEdit();
1246
1243
  break;
1247
- case TOOL_PAN:
1244
+ case _reactSvgPanZoom.TOOL_PAN:
1248
1245
  viewer2DActions.selectToolPan();
1249
1246
  break;
1250
- case TOOL_ZOOM_IN:
1247
+ case _reactSvgPanZoom.TOOL_ZOOM_IN:
1251
1248
  viewer2DActions.selectToolZoomIn();
1252
1249
  break;
1253
- case TOOL_ZOOM_OUT:
1250
+ case _reactSvgPanZoom.TOOL_ZOOM_OUT:
1254
1251
  viewer2DActions.selectToolZoomOut();
1255
1252
  break;
1256
1253
  }
@@ -1276,7 +1273,9 @@ export default function Viewer2D(_ref, _ref2) {
1276
1273
  var sceneZoom = state.zoom || 1;
1277
1274
  var rulerXElements = Math.ceil(sceneWidth / rulerUnitPixelSize) + 1;
1278
1275
  var rulerYElements = Math.ceil(sceneHeight / rulerUnitPixelSize) + 1;
1279
- return /*#__PURE__*/React.createElement("div", null, rulerEdit, /*#__PURE__*/React.createElement("div", {
1276
+ console.log('---render viewer2d');
1277
+ console.log(viewer2D.isEmpty());
1278
+ return /*#__PURE__*/_react["default"].createElement("div", null, rulerEdit, /*#__PURE__*/_react["default"].createElement("div", {
1280
1279
  style: {
1281
1280
  margin: 0,
1282
1281
  padding: 0,
@@ -1287,13 +1286,13 @@ export default function Viewer2D(_ref, _ref2) {
1287
1286
  gridTemplateRows: "".concat(rulerSize, "px ").concat(height - rulerSize, "px"),
1288
1287
  position: 'relative'
1289
1288
  }
1290
- }, /*#__PURE__*/React.createElement("div", {
1289
+ }, /*#__PURE__*/_react["default"].createElement("div", {
1291
1290
  style: {
1292
1291
  gridColumn: 1,
1293
1292
  gridRow: 1,
1294
1293
  backgroundColor: rulerBgColor
1295
1294
  }
1296
- }), /*#__PURE__*/React.createElement("div", {
1295
+ }), /*#__PURE__*/_react["default"].createElement("div", {
1297
1296
  style: {
1298
1297
  gridRow: 1,
1299
1298
  gridColumn: 2,
@@ -1301,7 +1300,7 @@ export default function Viewer2D(_ref, _ref2) {
1301
1300
  overflow: 'hidden'
1302
1301
  },
1303
1302
  id: "rulerX"
1304
- }, sceneWidth ? /*#__PURE__*/React.createElement(RulerX, {
1303
+ }, sceneWidth ? /*#__PURE__*/_react["default"].createElement(_export.RulerX, {
1305
1304
  unitPixelSize: rulerUnitPixelSize,
1306
1305
  zoom: sceneZoom,
1307
1306
  mouseX: state.mouse.get('x'),
@@ -1312,7 +1311,7 @@ export default function Viewer2D(_ref, _ref2) {
1312
1311
  markerColor: rulerMkColor,
1313
1312
  positiveUnitsNumber: rulerXElements,
1314
1313
  negativeUnitsNumber: 0
1315
- }) : null), /*#__PURE__*/React.createElement("div", {
1314
+ }) : null), /*#__PURE__*/_react["default"].createElement("div", {
1316
1315
  style: {
1317
1316
  gridColumn: 1,
1318
1317
  gridRow: 2,
@@ -1320,7 +1319,7 @@ export default function Viewer2D(_ref, _ref2) {
1320
1319
  overflow: 'hidden'
1321
1320
  },
1322
1321
  id: "rulerY"
1323
- }, sceneHeight ? /*#__PURE__*/React.createElement(RulerY, {
1322
+ }, sceneHeight ? /*#__PURE__*/_react["default"].createElement(_export.RulerY, {
1324
1323
  unitPixelSize: rulerUnitPixelSize,
1325
1324
  zoom: sceneZoom,
1326
1325
  mouseY: state.mouse.get('y'),
@@ -1331,7 +1330,7 @@ export default function Viewer2D(_ref, _ref2) {
1331
1330
  markerColor: rulerMkColor,
1332
1331
  positiveUnitsNumber: rulerYElements,
1333
1332
  negativeUnitsNumber: 0
1334
- }) : null), /*#__PURE__*/React.createElement(ReactSVGPanZoom, {
1333
+ }) : null), /*#__PURE__*/_react["default"].createElement(_reactSvgPanZoom.ReactSVGPanZoom, {
1335
1334
  style: {
1336
1335
  gridColumn: 2,
1337
1336
  gridRow: 2
@@ -1346,35 +1345,39 @@ export default function Viewer2D(_ref, _ref2) {
1346
1345
  onMouseDown: onMouseDown,
1347
1346
  onMouseMove: onMouseMove,
1348
1347
  onMouseUp: onMouseUp,
1349
- miniaturePosition: "none",
1350
- toolbarPosition: "none",
1348
+ miniatureProps: {
1349
+ position: 'none'
1350
+ },
1351
+ toolbarProps: {
1352
+ position: 'right'
1353
+ },
1351
1354
  detectPinchGesture: false,
1352
1355
  disableDoubleClickZoomWithToolAuto: true,
1353
1356
  ref: Viewer
1354
- }, /*#__PURE__*/React.createElement("svg", {
1357
+ }, /*#__PURE__*/_react["default"].createElement("svg", {
1355
1358
  width: scene.width,
1356
1359
  height: scene.height
1357
- }, /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("pattern", {
1360
+ }, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement("pattern", {
1358
1361
  id: "diagonalFill",
1359
1362
  patternUnits: "userSpaceOnUse",
1360
1363
  width: "4",
1361
1364
  height: "4",
1362
1365
  fill: "#FFF"
1363
- }, /*#__PURE__*/React.createElement("rect", {
1366
+ }, /*#__PURE__*/_react["default"].createElement("rect", {
1364
1367
  x: "0",
1365
1368
  y: "0",
1366
1369
  width: "4",
1367
1370
  height: "4",
1368
1371
  fill: "#FFF"
1369
- }), /*#__PURE__*/React.createElement("path", {
1372
+ }), /*#__PURE__*/_react["default"].createElement("path", {
1370
1373
  d: "M-1,1 l2,-2 M0,4 l4,-4 M3,5 l2,-2",
1371
1374
  style: {
1372
1375
  stroke: '#8E9BA2',
1373
1376
  strokeWidth: 1
1374
1377
  }
1375
- }))), /*#__PURE__*/React.createElement("g", {
1378
+ }))), /*#__PURE__*/_react["default"].createElement("g", {
1376
1379
  style: Object.assign(mode2Cursor(mode), mode2PointerEvents(mode))
1377
- }, /*#__PURE__*/React.createElement(State, {
1380
+ }, /*#__PURE__*/_react["default"].createElement(_state["default"], {
1378
1381
  state: state,
1379
1382
  catalog: catalog,
1380
1383
  viewer2DActions: viewer2DActions,
@@ -1382,17 +1385,17 @@ export default function Viewer2D(_ref, _ref2) {
1382
1385
  }))))));
1383
1386
  }
1384
1387
  Viewer2D.propTypes = {
1385
- state: PropTypes.object.isRequired,
1386
- width: PropTypes.number.isRequired,
1387
- height: PropTypes.number.isRequired
1388
+ state: _propTypes["default"].object.isRequired,
1389
+ width: _propTypes["default"].number.isRequired,
1390
+ height: _propTypes["default"].number.isRequired
1388
1391
  };
1389
1392
  Viewer2D.contextTypes = {
1390
- viewer2DActions: PropTypes.object.isRequired,
1391
- linesActions: PropTypes.object.isRequired,
1392
- holesActions: PropTypes.object.isRequired,
1393
- verticesActions: PropTypes.object.isRequired,
1394
- itemsActions: PropTypes.object.isRequired,
1395
- areaActions: PropTypes.object.isRequired,
1396
- projectActions: PropTypes.object.isRequired,
1397
- catalog: PropTypes.object.isRequired
1393
+ viewer2DActions: _propTypes["default"].object.isRequired,
1394
+ linesActions: _propTypes["default"].object.isRequired,
1395
+ holesActions: _propTypes["default"].object.isRequired,
1396
+ verticesActions: _propTypes["default"].object.isRequired,
1397
+ itemsActions: _propTypes["default"].object.isRequired,
1398
+ areaActions: _propTypes["default"].object.isRequired,
1399
+ projectActions: _propTypes["default"].object.isRequired,
1400
+ catalog: _propTypes["default"].object.isRequired
1398
1401
  };