@thienvu18/designable-core 2.0.0 → 2.0.2

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 (385) hide show
  1. package/esm/drivers/DragDropDriver.d.ts +12 -12
  2. package/esm/drivers/DragDropDriver.js +127 -105
  3. package/esm/drivers/KeyboardDriver.d.ts +5 -5
  4. package/esm/drivers/KeyboardDriver.js +41 -40
  5. package/esm/drivers/MouseClickDriver.d.ts +6 -6
  6. package/esm/drivers/MouseClickDriver.js +55 -47
  7. package/esm/drivers/MouseMoveDriver.d.ts +6 -6
  8. package/esm/drivers/MouseMoveDriver.js +30 -28
  9. package/esm/drivers/ViewportResizeDriver.d.ts +9 -9
  10. package/esm/drivers/ViewportResizeDriver.js +56 -59
  11. package/esm/drivers/ViewportScrollDriver.d.ts +6 -6
  12. package/esm/drivers/ViewportScrollDriver.js +29 -27
  13. package/esm/drivers/index.d.ts +6 -6
  14. package/esm/drivers/index.js +6 -6
  15. package/esm/effects/index.d.ts +11 -11
  16. package/esm/effects/index.js +11 -11
  17. package/esm/effects/useAutoScrollEffect.d.ts +2 -2
  18. package/esm/effects/useAutoScrollEffect.js +70 -59
  19. package/esm/effects/useContentEditableEffect.d.ts +2 -2
  20. package/esm/effects/useContentEditableEffect.js +174 -150
  21. package/esm/effects/useCursorEffect.d.ts +2 -2
  22. package/esm/effects/useCursorEffect.js +58 -54
  23. package/esm/effects/useDragDropEffect.d.ts +2 -2
  24. package/esm/effects/useDragDropEffect.js +170 -145
  25. package/esm/effects/useFreeSelectionEffect.d.ts +2 -2
  26. package/esm/effects/useFreeSelectionEffect.js +58 -36
  27. package/esm/effects/useKeyboardEffect.d.ts +2 -2
  28. package/esm/effects/useKeyboardEffect.js +16 -16
  29. package/esm/effects/useResizeEffect.d.ts +2 -2
  30. package/esm/effects/useResizeEffect.js +84 -73
  31. package/esm/effects/useSelectionEffect.d.ts +2 -2
  32. package/esm/effects/useSelectionEffect.js +62 -65
  33. package/esm/effects/useTranslateEffect.d.ts +2 -2
  34. package/esm/effects/useTranslateEffect.js +55 -52
  35. package/esm/effects/useViewportEffect.d.ts +2 -2
  36. package/esm/effects/useViewportEffect.js +26 -28
  37. package/esm/effects/useWorkspaceEffect.d.ts +2 -2
  38. package/esm/effects/useWorkspaceEffect.js +30 -27
  39. package/esm/events/cursor/AbstractCursorEvent.d.ts +15 -15
  40. package/esm/events/cursor/AbstractCursorEvent.js +35 -33
  41. package/esm/events/cursor/DragMoveEvent.d.ts +7 -4
  42. package/esm/events/cursor/DragMoveEvent.js +5 -5
  43. package/esm/events/cursor/DragStartEvent.d.ts +7 -4
  44. package/esm/events/cursor/DragStartEvent.js +5 -5
  45. package/esm/events/cursor/DragStopEvent.d.ts +7 -4
  46. package/esm/events/cursor/DragStopEvent.js +5 -5
  47. package/esm/events/cursor/MouseClickEvent.d.ts +12 -6
  48. package/esm/events/cursor/MouseClickEvent.js +9 -9
  49. package/esm/events/cursor/MouseMoveEvent.d.ts +7 -4
  50. package/esm/events/cursor/MouseMoveEvent.js +5 -5
  51. package/esm/events/cursor/index.d.ts +5 -5
  52. package/esm/events/cursor/index.js +5 -5
  53. package/esm/events/history/AbstractHistoryEvent.d.ts +4 -4
  54. package/esm/events/history/AbstractHistoryEvent.js +3 -3
  55. package/esm/events/history/HistoryGotoEvent.d.ts +7 -4
  56. package/esm/events/history/HistoryGotoEvent.js +5 -5
  57. package/esm/events/history/HistoryPushEvent.d.ts +7 -4
  58. package/esm/events/history/HistoryPushEvent.js +5 -5
  59. package/esm/events/history/HistoryRedoEvent.d.ts +7 -4
  60. package/esm/events/history/HistoryRedoEvent.js +5 -5
  61. package/esm/events/history/HistoryUndoEvent.d.ts +7 -4
  62. package/esm/events/history/HistoryUndoEvent.js +5 -5
  63. package/esm/events/history/index.d.ts +4 -4
  64. package/esm/events/history/index.js +4 -4
  65. package/esm/events/index.d.ts +6 -6
  66. package/esm/events/index.js +6 -6
  67. package/esm/events/keyboard/AbstractKeyboardEvent.d.ts +13 -13
  68. package/esm/events/keyboard/AbstractKeyboardEvent.js +34 -36
  69. package/esm/events/keyboard/KeyDownEvent.d.ts +7 -4
  70. package/esm/events/keyboard/KeyDownEvent.js +5 -5
  71. package/esm/events/keyboard/KeyUpEvent.d.ts +7 -4
  72. package/esm/events/keyboard/KeyUpEvent.js +5 -5
  73. package/esm/events/keyboard/index.d.ts +2 -2
  74. package/esm/events/keyboard/index.js +2 -2
  75. package/esm/events/mutation/AbstractMutationNodeEvent.d.ts +9 -9
  76. package/esm/events/mutation/AbstractMutationNodeEvent.js +3 -3
  77. package/esm/events/mutation/AppendNodeEvent.d.ts +7 -4
  78. package/esm/events/mutation/AppendNodeEvent.js +5 -5
  79. package/esm/events/mutation/CloneNodeEvent.d.ts +7 -4
  80. package/esm/events/mutation/CloneNodeEvent.js +5 -5
  81. package/esm/events/mutation/DragNodeEvent.d.ts +7 -4
  82. package/esm/events/mutation/DragNodeEvent.js +5 -5
  83. package/esm/events/mutation/DropNodeEvent.d.ts +7 -4
  84. package/esm/events/mutation/DropNodeEvent.js +5 -5
  85. package/esm/events/mutation/FromNodeEvent.d.ts +9 -9
  86. package/esm/events/mutation/FromNodeEvent.js +4 -4
  87. package/esm/events/mutation/HoverNodeEvent.d.ts +7 -4
  88. package/esm/events/mutation/HoverNodeEvent.js +5 -5
  89. package/esm/events/mutation/InsertAfterEvent.d.ts +7 -4
  90. package/esm/events/mutation/InsertAfterEvent.js +5 -5
  91. package/esm/events/mutation/InsertBeforeEvent.d.ts +7 -4
  92. package/esm/events/mutation/InsertBeforeEvent.js +5 -5
  93. package/esm/events/mutation/InsertChildrenEvent.d.ts +7 -4
  94. package/esm/events/mutation/InsertChildrenEvent.js +5 -5
  95. package/esm/events/mutation/PrependNodeEvent.d.ts +7 -4
  96. package/esm/events/mutation/PrependNodeEvent.js +5 -5
  97. package/esm/events/mutation/RemoveNodeEvent.d.ts +7 -4
  98. package/esm/events/mutation/RemoveNodeEvent.js +5 -5
  99. package/esm/events/mutation/SelectNodeEvent.d.ts +7 -4
  100. package/esm/events/mutation/SelectNodeEvent.js +5 -5
  101. package/esm/events/mutation/UnSelectNodeEvent.d.ts +7 -4
  102. package/esm/events/mutation/UnSelectNodeEvent.js +5 -5
  103. package/esm/events/mutation/UpdateChildrenEvent.d.ts +7 -4
  104. package/esm/events/mutation/UpdateChildrenEvent.js +5 -5
  105. package/esm/events/mutation/UpdateNodePropsEvent.d.ts +7 -4
  106. package/esm/events/mutation/UpdateNodePropsEvent.js +5 -5
  107. package/esm/events/mutation/UserSelectNodeEvent.d.ts +7 -4
  108. package/esm/events/mutation/UserSelectNodeEvent.js +5 -5
  109. package/esm/events/mutation/WrapNodeEvent.d.ts +7 -4
  110. package/esm/events/mutation/WrapNodeEvent.js +5 -5
  111. package/esm/events/mutation/index.d.ts +16 -16
  112. package/esm/events/mutation/index.js +16 -16
  113. package/esm/events/viewport/AbstractViewportEvent.d.ts +12 -12
  114. package/esm/events/viewport/AbstractViewportEvent.js +12 -12
  115. package/esm/events/viewport/ViewportResizeEvent.d.ts +7 -4
  116. package/esm/events/viewport/ViewportResizeEvent.js +5 -5
  117. package/esm/events/viewport/ViewportScrollEvent.d.ts +7 -4
  118. package/esm/events/viewport/ViewportScrollEvent.js +5 -5
  119. package/esm/events/viewport/index.d.ts +2 -2
  120. package/esm/events/viewport/index.js +2 -2
  121. package/esm/events/workbench/AbstractWorkspaceEvent.d.ts +5 -5
  122. package/esm/events/workbench/AbstractWorkspaceEvent.js +3 -3
  123. package/esm/events/workbench/AddWorkspaceEvent.d.ts +7 -4
  124. package/esm/events/workbench/AddWorkspaceEvent.js +5 -5
  125. package/esm/events/workbench/RemoveWorkspaceEvent.d.ts +7 -4
  126. package/esm/events/workbench/RemoveWorkspaceEvent.js +5 -5
  127. package/esm/events/workbench/SwitchWorkspaceEvent.d.ts +7 -4
  128. package/esm/events/workbench/SwitchWorkspaceEvent.js +5 -5
  129. package/esm/events/workbench/index.d.ts +3 -3
  130. package/esm/events/workbench/index.js +3 -3
  131. package/esm/exports.d.ts +5 -5
  132. package/esm/exports.js +5 -5
  133. package/esm/externals.d.ts +25 -12
  134. package/esm/externals.js +57 -50
  135. package/esm/index.d.ts +1 -1
  136. package/esm/index.js +11 -12
  137. package/esm/internals.d.ts +3 -3
  138. package/esm/internals.js +34 -30
  139. package/esm/models/Cursor.d.ts +48 -48
  140. package/esm/models/Cursor.js +129 -125
  141. package/esm/models/Engine.d.ts +24 -24
  142. package/esm/models/Engine.js +73 -73
  143. package/esm/models/History.d.ts +26 -26
  144. package/esm/models/History.js +86 -87
  145. package/esm/models/Hover.d.ts +10 -10
  146. package/esm/models/Hover.js +33 -32
  147. package/esm/models/Keyboard.d.ts +25 -25
  148. package/esm/models/Keyboard.js +95 -94
  149. package/esm/models/MoveHelper.d.ts +57 -54
  150. package/esm/models/MoveHelper.js +304 -290
  151. package/esm/models/Operation.d.ts +25 -25
  152. package/esm/models/Operation.js +59 -60
  153. package/esm/models/Screen.d.ts +25 -25
  154. package/esm/models/Screen.js +67 -67
  155. package/esm/models/Selection.d.ts +25 -25
  156. package/esm/models/Selection.js +143 -149
  157. package/esm/models/Shortcut.d.ts +16 -16
  158. package/esm/models/Shortcut.js +56 -57
  159. package/esm/models/SnapLine.d.ts +24 -24
  160. package/esm/models/SnapLine.js +96 -105
  161. package/esm/models/SpaceBlock.d.ts +41 -36
  162. package/esm/models/SpaceBlock.js +154 -115
  163. package/esm/models/TransformHelper.d.ts +88 -74
  164. package/esm/models/TransformHelper.js +546 -450
  165. package/esm/models/TreeNode.d.ts +117 -109
  166. package/esm/models/TreeNode.js +743 -732
  167. package/esm/models/Viewport.d.ts +83 -81
  168. package/esm/models/Viewport.js +406 -384
  169. package/esm/models/Workbench.d.ts +21 -21
  170. package/esm/models/Workbench.js +90 -88
  171. package/esm/models/Workspace.d.ts +33 -33
  172. package/esm/models/Workspace.js +87 -83
  173. package/esm/models/index.d.ts +13 -13
  174. package/esm/models/index.js +13 -13
  175. package/esm/presets.d.ts +20 -4
  176. package/esm/presets.js +67 -35
  177. package/esm/registry.d.ts +21 -15
  178. package/esm/registry.js +106 -108
  179. package/esm/shortcuts/CursorSwitch.d.ts +2 -2
  180. package/esm/shortcuts/CursorSwitch.js +9 -9
  181. package/esm/shortcuts/MultiSelection.d.ts +5 -5
  182. package/esm/shortcuts/MultiSelection.js +23 -23
  183. package/esm/shortcuts/NodeMutation.d.ts +4 -4
  184. package/esm/shortcuts/NodeMutation.js +33 -33
  185. package/esm/shortcuts/QuickSelection.d.ts +3 -3
  186. package/esm/shortcuts/QuickSelection.js +71 -78
  187. package/esm/shortcuts/UndoRedo.d.ts +3 -3
  188. package/esm/shortcuts/UndoRedo.js +25 -25
  189. package/esm/shortcuts/index.d.ts +5 -5
  190. package/esm/shortcuts/index.js +5 -5
  191. package/esm/types.d.ts +138 -105
  192. package/esm/types.js +1 -1
  193. package/lib/drivers/DragDropDriver.d.ts +12 -12
  194. package/lib/drivers/DragDropDriver.js +131 -109
  195. package/lib/drivers/KeyboardDriver.d.ts +5 -5
  196. package/lib/drivers/KeyboardDriver.js +45 -44
  197. package/lib/drivers/MouseClickDriver.d.ts +6 -6
  198. package/lib/drivers/MouseClickDriver.js +59 -51
  199. package/lib/drivers/MouseMoveDriver.d.ts +6 -6
  200. package/lib/drivers/MouseMoveDriver.js +34 -32
  201. package/lib/drivers/ViewportResizeDriver.d.ts +9 -9
  202. package/lib/drivers/ViewportResizeDriver.js +69 -63
  203. package/lib/drivers/ViewportScrollDriver.d.ts +6 -6
  204. package/lib/drivers/ViewportScrollDriver.js +34 -31
  205. package/lib/drivers/index.d.ts +6 -6
  206. package/lib/drivers/index.js +38 -22
  207. package/lib/effects/index.d.ts +11 -11
  208. package/lib/effects/index.js +43 -27
  209. package/lib/effects/useAutoScrollEffect.d.ts +2 -2
  210. package/lib/effects/useAutoScrollEffect.js +81 -63
  211. package/lib/effects/useContentEditableEffect.d.ts +2 -2
  212. package/lib/effects/useContentEditableEffect.js +178 -154
  213. package/lib/effects/useCursorEffect.d.ts +2 -2
  214. package/lib/effects/useCursorEffect.js +57 -58
  215. package/lib/effects/useDragDropEffect.d.ts +2 -2
  216. package/lib/effects/useDragDropEffect.js +175 -149
  217. package/lib/effects/useFreeSelectionEffect.d.ts +2 -2
  218. package/lib/effects/useFreeSelectionEffect.js +60 -40
  219. package/lib/effects/useKeyboardEffect.d.ts +2 -2
  220. package/lib/effects/useKeyboardEffect.js +20 -20
  221. package/lib/effects/useResizeEffect.d.ts +2 -2
  222. package/lib/effects/useResizeEffect.js +88 -77
  223. package/lib/effects/useSelectionEffect.d.ts +2 -2
  224. package/lib/effects/useSelectionEffect.js +69 -69
  225. package/lib/effects/useTranslateEffect.d.ts +2 -2
  226. package/lib/effects/useTranslateEffect.js +59 -56
  227. package/lib/effects/useViewportEffect.d.ts +2 -2
  228. package/lib/effects/useViewportEffect.js +30 -32
  229. package/lib/effects/useWorkspaceEffect.d.ts +2 -2
  230. package/lib/effects/useWorkspaceEffect.js +34 -31
  231. package/lib/events/cursor/AbstractCursorEvent.d.ts +15 -15
  232. package/lib/events/cursor/AbstractCursorEvent.js +42 -37
  233. package/lib/events/cursor/DragMoveEvent.d.ts +7 -4
  234. package/lib/events/cursor/DragMoveEvent.js +9 -9
  235. package/lib/events/cursor/DragStartEvent.d.ts +7 -4
  236. package/lib/events/cursor/DragStartEvent.js +9 -9
  237. package/lib/events/cursor/DragStopEvent.d.ts +7 -4
  238. package/lib/events/cursor/DragStopEvent.js +9 -9
  239. package/lib/events/cursor/MouseClickEvent.d.ts +12 -6
  240. package/lib/events/cursor/MouseClickEvent.js +14 -14
  241. package/lib/events/cursor/MouseMoveEvent.d.ts +7 -4
  242. package/lib/events/cursor/MouseMoveEvent.js +9 -9
  243. package/lib/events/cursor/index.d.ts +5 -5
  244. package/lib/events/cursor/index.js +37 -21
  245. package/lib/events/history/AbstractHistoryEvent.d.ts +4 -4
  246. package/lib/events/history/AbstractHistoryEvent.js +7 -7
  247. package/lib/events/history/HistoryGotoEvent.d.ts +7 -4
  248. package/lib/events/history/HistoryGotoEvent.js +9 -9
  249. package/lib/events/history/HistoryPushEvent.d.ts +7 -4
  250. package/lib/events/history/HistoryPushEvent.js +9 -9
  251. package/lib/events/history/HistoryRedoEvent.d.ts +7 -4
  252. package/lib/events/history/HistoryRedoEvent.js +9 -9
  253. package/lib/events/history/HistoryUndoEvent.d.ts +7 -4
  254. package/lib/events/history/HistoryUndoEvent.js +9 -9
  255. package/lib/events/history/index.d.ts +4 -4
  256. package/lib/events/history/index.js +36 -20
  257. package/lib/events/index.d.ts +6 -6
  258. package/lib/events/index.js +38 -22
  259. package/lib/events/keyboard/AbstractKeyboardEvent.d.ts +13 -13
  260. package/lib/events/keyboard/AbstractKeyboardEvent.js +38 -40
  261. package/lib/events/keyboard/KeyDownEvent.d.ts +7 -4
  262. package/lib/events/keyboard/KeyDownEvent.js +9 -9
  263. package/lib/events/keyboard/KeyUpEvent.d.ts +7 -4
  264. package/lib/events/keyboard/KeyUpEvent.js +9 -9
  265. package/lib/events/keyboard/index.d.ts +2 -2
  266. package/lib/events/keyboard/index.js +34 -18
  267. package/lib/events/mutation/AbstractMutationNodeEvent.d.ts +9 -9
  268. package/lib/events/mutation/AbstractMutationNodeEvent.js +7 -7
  269. package/lib/events/mutation/AppendNodeEvent.d.ts +7 -4
  270. package/lib/events/mutation/AppendNodeEvent.js +9 -9
  271. package/lib/events/mutation/CloneNodeEvent.d.ts +7 -4
  272. package/lib/events/mutation/CloneNodeEvent.js +9 -9
  273. package/lib/events/mutation/DragNodeEvent.d.ts +7 -4
  274. package/lib/events/mutation/DragNodeEvent.js +9 -9
  275. package/lib/events/mutation/DropNodeEvent.d.ts +7 -4
  276. package/lib/events/mutation/DropNodeEvent.js +9 -9
  277. package/lib/events/mutation/FromNodeEvent.d.ts +9 -9
  278. package/lib/events/mutation/FromNodeEvent.js +8 -8
  279. package/lib/events/mutation/HoverNodeEvent.d.ts +7 -4
  280. package/lib/events/mutation/HoverNodeEvent.js +9 -9
  281. package/lib/events/mutation/InsertAfterEvent.d.ts +7 -4
  282. package/lib/events/mutation/InsertAfterEvent.js +9 -9
  283. package/lib/events/mutation/InsertBeforeEvent.d.ts +7 -4
  284. package/lib/events/mutation/InsertBeforeEvent.js +9 -9
  285. package/lib/events/mutation/InsertChildrenEvent.d.ts +7 -4
  286. package/lib/events/mutation/InsertChildrenEvent.js +9 -9
  287. package/lib/events/mutation/PrependNodeEvent.d.ts +7 -4
  288. package/lib/events/mutation/PrependNodeEvent.js +9 -9
  289. package/lib/events/mutation/RemoveNodeEvent.d.ts +7 -4
  290. package/lib/events/mutation/RemoveNodeEvent.js +9 -9
  291. package/lib/events/mutation/SelectNodeEvent.d.ts +7 -4
  292. package/lib/events/mutation/SelectNodeEvent.js +9 -9
  293. package/lib/events/mutation/UnSelectNodeEvent.d.ts +7 -4
  294. package/lib/events/mutation/UnSelectNodeEvent.js +9 -9
  295. package/lib/events/mutation/UpdateChildrenEvent.d.ts +7 -4
  296. package/lib/events/mutation/UpdateChildrenEvent.js +9 -9
  297. package/lib/events/mutation/UpdateNodePropsEvent.d.ts +7 -4
  298. package/lib/events/mutation/UpdateNodePropsEvent.js +9 -9
  299. package/lib/events/mutation/UserSelectNodeEvent.d.ts +7 -4
  300. package/lib/events/mutation/UserSelectNodeEvent.js +9 -9
  301. package/lib/events/mutation/WrapNodeEvent.d.ts +7 -4
  302. package/lib/events/mutation/WrapNodeEvent.js +9 -9
  303. package/lib/events/mutation/index.d.ts +16 -16
  304. package/lib/events/mutation/index.js +48 -32
  305. package/lib/events/viewport/AbstractViewportEvent.d.ts +12 -12
  306. package/lib/events/viewport/AbstractViewportEvent.js +16 -16
  307. package/lib/events/viewport/ViewportResizeEvent.d.ts +7 -4
  308. package/lib/events/viewport/ViewportResizeEvent.js +9 -9
  309. package/lib/events/viewport/ViewportScrollEvent.d.ts +7 -4
  310. package/lib/events/viewport/ViewportScrollEvent.js +9 -9
  311. package/lib/events/viewport/index.d.ts +2 -2
  312. package/lib/events/viewport/index.js +34 -18
  313. package/lib/events/workbench/AbstractWorkspaceEvent.d.ts +5 -5
  314. package/lib/events/workbench/AbstractWorkspaceEvent.js +7 -7
  315. package/lib/events/workbench/AddWorkspaceEvent.d.ts +7 -4
  316. package/lib/events/workbench/AddWorkspaceEvent.js +9 -9
  317. package/lib/events/workbench/RemoveWorkspaceEvent.d.ts +7 -4
  318. package/lib/events/workbench/RemoveWorkspaceEvent.js +9 -9
  319. package/lib/events/workbench/SwitchWorkspaceEvent.d.ts +7 -4
  320. package/lib/events/workbench/SwitchWorkspaceEvent.js +9 -9
  321. package/lib/events/workbench/index.d.ts +3 -3
  322. package/lib/events/workbench/index.js +35 -19
  323. package/lib/exports.d.ts +5 -5
  324. package/lib/exports.js +37 -21
  325. package/lib/externals.d.ts +25 -12
  326. package/lib/externals.js +81 -63
  327. package/lib/index.d.ts +1 -1
  328. package/lib/index.js +65 -40
  329. package/lib/internals.d.ts +3 -3
  330. package/lib/internals.js +43 -36
  331. package/lib/models/Cursor.d.ts +48 -48
  332. package/lib/models/Cursor.js +140 -129
  333. package/lib/models/Engine.d.ts +24 -24
  334. package/lib/models/Engine.js +77 -77
  335. package/lib/models/History.d.ts +26 -26
  336. package/lib/models/History.js +90 -91
  337. package/lib/models/Hover.d.ts +10 -10
  338. package/lib/models/Hover.js +37 -36
  339. package/lib/models/Keyboard.d.ts +25 -25
  340. package/lib/models/Keyboard.js +103 -98
  341. package/lib/models/MoveHelper.d.ts +57 -54
  342. package/lib/models/MoveHelper.js +316 -294
  343. package/lib/models/Operation.d.ts +25 -25
  344. package/lib/models/Operation.js +63 -64
  345. package/lib/models/Screen.d.ts +25 -25
  346. package/lib/models/Screen.js +71 -71
  347. package/lib/models/Selection.d.ts +25 -25
  348. package/lib/models/Selection.js +151 -153
  349. package/lib/models/Shortcut.d.ts +16 -16
  350. package/lib/models/Shortcut.js +65 -61
  351. package/lib/models/SnapLine.d.ts +24 -24
  352. package/lib/models/SnapLine.js +99 -109
  353. package/lib/models/SpaceBlock.d.ts +41 -36
  354. package/lib/models/SpaceBlock.js +156 -119
  355. package/lib/models/TransformHelper.d.ts +88 -74
  356. package/lib/models/TransformHelper.js +561 -454
  357. package/lib/models/TreeNode.d.ts +117 -109
  358. package/lib/models/TreeNode.js +739 -736
  359. package/lib/models/Viewport.d.ts +83 -81
  360. package/lib/models/Viewport.js +411 -388
  361. package/lib/models/Workbench.d.ts +21 -21
  362. package/lib/models/Workbench.js +92 -92
  363. package/lib/models/Workspace.d.ts +33 -33
  364. package/lib/models/Workspace.js +86 -87
  365. package/lib/models/index.d.ts +13 -13
  366. package/lib/models/index.js +45 -29
  367. package/lib/presets.d.ts +20 -4
  368. package/lib/presets.js +41 -38
  369. package/lib/registry.d.ts +21 -15
  370. package/lib/registry.js +112 -111
  371. package/lib/shortcuts/CursorSwitch.d.ts +2 -2
  372. package/lib/shortcuts/CursorSwitch.js +12 -12
  373. package/lib/shortcuts/MultiSelection.d.ts +5 -5
  374. package/lib/shortcuts/MultiSelection.js +30 -26
  375. package/lib/shortcuts/NodeMutation.d.ts +4 -4
  376. package/lib/shortcuts/NodeMutation.js +36 -36
  377. package/lib/shortcuts/QuickSelection.d.ts +3 -3
  378. package/lib/shortcuts/QuickSelection.js +74 -81
  379. package/lib/shortcuts/UndoRedo.d.ts +3 -3
  380. package/lib/shortcuts/UndoRedo.js +28 -28
  381. package/lib/shortcuts/index.d.ts +5 -5
  382. package/lib/shortcuts/index.js +37 -21
  383. package/lib/types.d.ts +138 -105
  384. package/lib/types.js +2 -2
  385. package/package.json +18 -18
@@ -1,114 +1,104 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SnapLine = void 0;
4
- const designable_shared_1 = require("@thienvu18/designable-shared");
5
- const TransformHelper_1 = require("./TransformHelper");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.SnapLine = void 0
4
+ const designable_shared_1 = require('@thienvu18/designable-shared')
5
+ const TransformHelper_1 = require('./TransformHelper')
6
6
  class SnapLine {
7
- constructor(helper, line) {
8
- this.helper = helper;
9
- this.type = line.type || 'normal';
10
- this._id = line.id;
11
- this.refer = line.refer;
12
- this.start = { ...line.start };
13
- this.end = { ...line.end };
14
- this.distance = line.distance;
7
+ constructor(helper, line) {
8
+ this.helper = helper
9
+ this.type = line.type || 'normal'
10
+ this._id = line.id
11
+ this.refer = line.refer
12
+ this.start = { ...line.start }
13
+ this.end = { ...line.end }
14
+ this.distance = line.distance
15
+ }
16
+ get id() {
17
+ return (
18
+ this._id ?? `${this.start.x}-${this.start.y}-${this.end.x}-${this.end.y}`
19
+ )
20
+ }
21
+ get direction() {
22
+ if (this.start?.x === this.end?.x) return 'v'
23
+ return 'h'
24
+ }
25
+ get closest() {
26
+ return this.distance < TransformHelper_1.TransformHelper.threshold
27
+ }
28
+ get rect() {
29
+ return (0, designable_shared_1.calcRectOfAxisLineSegment)(this)
30
+ }
31
+ translate(node, translate) {
32
+ if (!node || !node?.parent) return
33
+ const parent = node.parent
34
+ const dragNodeRect = node.getValidElementOffsetRect()
35
+ const parentRect = parent.getValidElementOffsetRect()
36
+ const edgeOffset = (0,
37
+ designable_shared_1.calcOffsetOfSnapLineSegmentToEdge)(this, dragNodeRect)
38
+ if (this.direction === 'h') {
39
+ translate.y = this.start.y - parentRect.y - edgeOffset.y
40
+ } else {
41
+ translate.x = this.start.x - parentRect.x - edgeOffset.x
15
42
  }
16
- get id() {
17
- return (this._id ?? `${this.start.x}-${this.start.y}-${this.end.x}-${this.end.y}`);
43
+ }
44
+ resize(node, rect) {
45
+ if (!node || !node?.parent) return
46
+ const parent = node.parent
47
+ const dragNodeRect = node.getValidElementOffsetRect()
48
+ const parentRect = parent.getValidElementOffsetRect()
49
+ const edgeOffset = (0,
50
+ designable_shared_1.calcOffsetOfSnapLineSegmentToEdge)(this, dragNodeRect)
51
+ const cursorRect = this.helper.cursorDragNodesRect
52
+ const snapEdge = this.snapEdge(rect)
53
+ if (this.direction === 'h') {
54
+ const y = this.start.y - parentRect.y - edgeOffset.y
55
+ switch (this.helper.direction) {
56
+ case 'left-top':
57
+ case 'center-top':
58
+ case 'right-top':
59
+ if (snapEdge !== 'ht') return
60
+ rect.y = y
61
+ rect.height = cursorRect.bottom - y
62
+ break
63
+ case 'left-bottom':
64
+ case 'center-bottom':
65
+ case 'right-bottom':
66
+ if (snapEdge !== 'hb') return
67
+ rect.height = this.start.y - cursorRect.top
68
+ break
69
+ }
70
+ } else {
71
+ const x = this.start.x - parentRect.x - edgeOffset.x
72
+ switch (this.helper.direction) {
73
+ case 'left-top':
74
+ case 'left-bottom':
75
+ case 'left-center':
76
+ if (snapEdge !== 'vl') return
77
+ rect.x = x
78
+ rect.width = cursorRect.right - x
79
+ break
80
+ case 'right-center':
81
+ case 'right-top':
82
+ case 'right-bottom':
83
+ if (snapEdge !== 'vr') return
84
+ rect.width = this.start.x - cursorRect.left
85
+ break
86
+ }
18
87
  }
19
- get direction() {
20
- if (this.start?.x === this.end?.x)
21
- return 'v';
22
- return 'h';
23
- }
24
- get closest() {
25
- return this.distance < TransformHelper_1.TransformHelper.threshold;
26
- }
27
- get rect() {
28
- return (0, designable_shared_1.calcRectOfAxisLineSegment)(this);
29
- }
30
- translate(node, translate) {
31
- if (!node || !node?.parent)
32
- return;
33
- const parent = node.parent;
34
- const dragNodeRect = node.getValidElementOffsetRect();
35
- const parentRect = parent.getValidElementOffsetRect();
36
- const edgeOffset = (0, designable_shared_1.calcOffsetOfSnapLineSegmentToEdge)(this, dragNodeRect);
37
- if (this.direction === 'h') {
38
- translate.y = this.start.y - parentRect.y - edgeOffset.y;
39
- }
40
- else {
41
- translate.x = this.start.x - parentRect.x - edgeOffset.x;
42
- }
43
- }
44
- resize(node, rect) {
45
- if (!node || !node?.parent)
46
- return;
47
- const parent = node.parent;
48
- const dragNodeRect = node.getValidElementOffsetRect();
49
- const parentRect = parent.getValidElementOffsetRect();
50
- const edgeOffset = (0, designable_shared_1.calcOffsetOfSnapLineSegmentToEdge)(this, dragNodeRect);
51
- const cursorRect = this.helper.cursorDragNodesRect;
52
- const snapEdge = this.snapEdge(rect);
53
- if (this.direction === 'h') {
54
- const y = this.start.y - parentRect.y - edgeOffset.y;
55
- switch (this.helper.direction) {
56
- case 'left-top':
57
- case 'center-top':
58
- case 'right-top':
59
- if (snapEdge !== 'ht')
60
- return;
61
- rect.y = y;
62
- rect.height = cursorRect.bottom - y;
63
- break;
64
- case 'left-bottom':
65
- case 'center-bottom':
66
- case 'right-bottom':
67
- if (snapEdge !== 'hb')
68
- return;
69
- rect.height = this.start.y - cursorRect.top;
70
- break;
71
- }
72
- }
73
- else {
74
- const x = this.start.x - parentRect.x - edgeOffset.x;
75
- switch (this.helper.direction) {
76
- case 'left-top':
77
- case 'left-bottom':
78
- case 'left-center':
79
- if (snapEdge !== 'vl')
80
- return;
81
- rect.x = x;
82
- rect.width = cursorRect.right - x;
83
- break;
84
- case 'right-center':
85
- case 'right-top':
86
- case 'right-bottom':
87
- if (snapEdge !== 'vr')
88
- return;
89
- rect.width = this.start.x - cursorRect.left;
90
- break;
91
- }
92
- }
93
- }
94
- snapEdge(rect) {
95
- const threshold = TransformHelper_1.TransformHelper.threshold;
96
- if (this.direction === 'h') {
97
- if (Math.abs(this.start.y - rect.top) < threshold)
98
- return 'ht';
99
- if (Math.abs(this.start.y - (rect.top + rect.height / 2)) < threshold)
100
- return 'hc';
101
- if (Math.abs(this.start.y - rect.bottom) < threshold)
102
- return 'hb';
103
- }
104
- else {
105
- if (Math.abs(this.start.x - rect.left) < threshold)
106
- return 'vl';
107
- if (Math.abs(this.start.x - (rect.left + rect.width / 2)) < threshold)
108
- return 'vc';
109
- if (Math.abs(this.start.x - rect.right) < threshold)
110
- return 'vr';
111
- }
88
+ }
89
+ snapEdge(rect) {
90
+ const threshold = TransformHelper_1.TransformHelper.threshold
91
+ if (this.direction === 'h') {
92
+ if (Math.abs(this.start.y - rect.top) < threshold) return 'ht'
93
+ if (Math.abs(this.start.y - (rect.top + rect.height / 2)) < threshold)
94
+ return 'hc'
95
+ if (Math.abs(this.start.y - rect.bottom) < threshold) return 'hb'
96
+ } else {
97
+ if (Math.abs(this.start.x - rect.left) < threshold) return 'vl'
98
+ if (Math.abs(this.start.x - (rect.left + rect.width / 2)) < threshold)
99
+ return 'vc'
100
+ if (Math.abs(this.start.x - rect.right) < threshold) return 'vr'
112
101
  }
102
+ }
113
103
  }
114
- exports.SnapLine = SnapLine;
104
+ exports.SnapLine = SnapLine
@@ -1,40 +1,45 @@
1
- import { Rect } from '@thienvu18/designable-shared';
2
- import { SnapLine } from './SnapLine';
3
- import { TransformHelper } from './TransformHelper';
4
- import { TreeNode } from './TreeNode';
5
- export type ISpaceBlockType = 'top' | 'right' | 'bottom' | 'left' | (string & {});
1
+ import { Rect } from '@thienvu18/designable-shared'
2
+ import { SnapLine } from './SnapLine'
3
+ import { TransformHelper } from './TransformHelper'
4
+ import { TreeNode } from './TreeNode'
5
+ export type ISpaceBlockType =
6
+ | 'top'
7
+ | 'right'
8
+ | 'bottom'
9
+ | 'left'
10
+ | (string & {})
6
11
  export interface ISpaceBlock {
7
- id?: string;
8
- refer?: TreeNode;
9
- rect?: Rect;
10
- distance?: number;
11
- type?: ISpaceBlockType;
12
+ id?: string
13
+ refer?: TreeNode
14
+ rect?: Rect
15
+ distance?: number
16
+ type?: ISpaceBlockType
12
17
  }
13
- export type AroundSpaceBlock = Record<ISpaceBlockType, SpaceBlock>;
18
+ export type AroundSpaceBlock = Record<ISpaceBlockType, SpaceBlock>
14
19
  export declare class SpaceBlock {
15
- _id: string;
16
- distance: number;
17
- refer: TreeNode;
18
- helper: TransformHelper;
19
- rect: Rect;
20
- type: ISpaceBlockType;
21
- constructor(helper: TransformHelper, box: ISpaceBlock);
22
- get referRect(): Rect;
23
- get id(): string;
24
- get next(): SpaceBlock;
25
- get extendsLine(): {
26
- start: {
27
- x: number;
28
- y: number;
29
- };
30
- end: {
31
- x: number;
32
- y: number;
33
- };
34
- };
35
- get needExtendsLine(): boolean;
36
- get crossReferRect(): Rect;
37
- get crossDragNodesRect(): Rect;
38
- get isometrics(): SpaceBlock[];
39
- get snapLine(): SnapLine;
20
+ _id: string
21
+ distance: number
22
+ refer: TreeNode
23
+ helper: TransformHelper
24
+ rect: Rect
25
+ type: ISpaceBlockType
26
+ constructor(helper: TransformHelper, box: ISpaceBlock)
27
+ get referRect(): Rect
28
+ get id(): string
29
+ get next(): SpaceBlock
30
+ get extendsLine(): {
31
+ start: {
32
+ x: number
33
+ y: number
34
+ }
35
+ end: {
36
+ x: number
37
+ y: number
38
+ }
39
+ }
40
+ get needExtendsLine(): boolean
41
+ get crossReferRect(): Rect
42
+ get crossDragNodesRect(): Rect
43
+ get isometrics(): SpaceBlock[]
44
+ get snapLine(): SnapLine
40
45
  }
@@ -1,130 +1,167 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SpaceBlock = void 0;
4
- const designable_shared_1 = require("@thienvu18/designable-shared");
5
- const SnapLine_1 = require("./SnapLine");
6
- const TransformHelper_1 = require("./TransformHelper");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.SpaceBlock = void 0
4
+ const designable_shared_1 = require('@thienvu18/designable-shared')
5
+ const SnapLine_1 = require('./SnapLine')
6
+ const TransformHelper_1 = require('./TransformHelper')
7
7
  class SpaceBlock {
8
- constructor(helper, box) {
9
- this.helper = helper;
10
- this.distance = box.distance;
11
- this.refer = box.refer;
12
- this.rect = box.rect;
13
- this.type = box.type;
8
+ constructor(helper, box) {
9
+ this.helper = helper
10
+ this.distance = box.distance
11
+ this.refer = box.refer
12
+ this.rect = box.rect
13
+ this.type = box.type
14
+ }
15
+ get referRect() {
16
+ if (!this.refer) return
17
+ return this.helper.getNodeRect(this.refer)
18
+ }
19
+ get id() {
20
+ return (
21
+ this._id ??
22
+ `${this.rect.x}-${this.rect.y}-${this.rect.width}-${this.rect.height}`
23
+ )
24
+ }
25
+ get next() {
26
+ const spaceBlock = this.helper.calcAroundSpaceBlocks(this.referRect)
27
+ return spaceBlock[this.type]
28
+ }
29
+ get extendsLine() {
30
+ if (!this.needExtendsLine) return
31
+ const dragNodesRect = this.helper.dragNodesRect
32
+ return (0, designable_shared_1.calcExtendsLineSegmentOfRect)(
33
+ dragNodesRect,
34
+ this.referRect
35
+ )
36
+ }
37
+ get needExtendsLine() {
38
+ const targetRect = this.crossDragNodesRect
39
+ const referRect = this.crossReferRect
40
+ if (this.type === 'top' || this.type === 'bottom') {
41
+ const rightDelta = referRect.right - targetRect.left
42
+ const leftDelta = targetRect.right - referRect.left
43
+ return (
44
+ rightDelta < targetRect.width / 2 || leftDelta < targetRect.width / 2
45
+ )
46
+ } else {
47
+ const topDelta = targetRect.bottom - referRect.top
48
+ const bottomDelta = referRect.bottom - targetRect.top
49
+ return (
50
+ topDelta < targetRect.height / 2 || bottomDelta < targetRect.height / 2
51
+ )
14
52
  }
15
- get referRect() {
16
- if (!this.refer)
17
- return;
18
- return this.helper.getNodeRect(this.refer);
53
+ return true
54
+ }
55
+ get crossReferRect() {
56
+ const referRect = this.referRect
57
+ if (this.type === 'top' || this.type === 'bottom') {
58
+ return new designable_shared_1.Rect(
59
+ referRect.x,
60
+ this.rect.y,
61
+ referRect.width,
62
+ this.rect.height
63
+ )
64
+ } else {
65
+ return new designable_shared_1.Rect(
66
+ this.rect.x,
67
+ referRect.y,
68
+ this.rect.width,
69
+ referRect.height
70
+ )
19
71
  }
20
- get id() {
21
- return (this._id ??
22
- `${this.rect.x}-${this.rect.y}-${this.rect.width}-${this.rect.height}`);
72
+ }
73
+ get crossDragNodesRect() {
74
+ const dragNodesRect = this.helper.dragNodesRect
75
+ if (this.type === 'top' || this.type === 'bottom') {
76
+ return new designable_shared_1.Rect(
77
+ dragNodesRect.x,
78
+ this.rect.y,
79
+ dragNodesRect.width,
80
+ this.rect.height
81
+ )
82
+ } else {
83
+ return new designable_shared_1.Rect(
84
+ this.rect.x,
85
+ dragNodesRect.y,
86
+ this.rect.width,
87
+ dragNodesRect.height
88
+ )
23
89
  }
24
- get next() {
25
- const spaceBlock = this.helper.calcAroundSpaceBlocks(this.referRect);
26
- return spaceBlock[this.type];
90
+ }
91
+ get isometrics() {
92
+ const results = []
93
+ let spaceBlock = this
94
+ while ((spaceBlock = spaceBlock.next)) {
95
+ if (
96
+ Math.abs(spaceBlock.distance - this.distance) <
97
+ TransformHelper_1.TransformHelper.threshold
98
+ ) {
99
+ if (results.some((box) => box.distance !== spaceBlock.distance))
100
+ continue
101
+ results.push(spaceBlock)
102
+ }
27
103
  }
28
- get extendsLine() {
29
- if (!this.needExtendsLine)
30
- return;
31
- const dragNodesRect = this.helper.dragNodesRect;
32
- return (0, designable_shared_1.calcExtendsLineSegmentOfRect)(dragNodesRect, this.referRect);
33
- }
34
- get needExtendsLine() {
35
- const targetRect = this.crossDragNodesRect;
36
- const referRect = this.crossReferRect;
37
- if (this.type === 'top' || this.type === 'bottom') {
38
- const rightDelta = referRect.right - targetRect.left;
39
- const leftDelta = targetRect.right - referRect.left;
40
- return (rightDelta < targetRect.width / 2 || leftDelta < targetRect.width / 2);
41
- }
42
- else {
43
- const topDelta = targetRect.bottom - referRect.top;
44
- const bottomDelta = referRect.bottom - targetRect.top;
45
- return (topDelta < targetRect.height / 2 || bottomDelta < targetRect.height / 2);
46
- }
47
- return true;
48
- }
49
- get crossReferRect() {
50
- const referRect = this.referRect;
51
- if (this.type === 'top' || this.type === 'bottom') {
52
- return new designable_shared_1.Rect(referRect.x, this.rect.y, referRect.width, this.rect.height);
53
- }
54
- else {
55
- return new designable_shared_1.Rect(this.rect.x, referRect.y, this.rect.width, referRect.height);
56
- }
57
- }
58
- get crossDragNodesRect() {
59
- const dragNodesRect = this.helper.dragNodesRect;
60
- if (this.type === 'top' || this.type === 'bottom') {
61
- return new designable_shared_1.Rect(dragNodesRect.x, this.rect.y, dragNodesRect.width, this.rect.height);
62
- }
63
- else {
64
- return new designable_shared_1.Rect(this.rect.x, dragNodesRect.y, this.rect.width, dragNodesRect.height);
65
- }
66
- }
67
- get isometrics() {
68
- const results = [];
69
- let spaceBlock = this;
70
- while ((spaceBlock = spaceBlock.next)) {
71
- if (Math.abs(spaceBlock.distance - this.distance) <
72
- TransformHelper_1.TransformHelper.threshold) {
73
- if (results.some((box) => box.distance !== spaceBlock.distance))
74
- continue;
75
- results.push(spaceBlock);
76
- }
77
- }
78
- return results;
79
- }
80
- get snapLine() {
81
- if (!this.isometrics.length)
82
- return;
83
- const nextRect = this.next.rect;
84
- const referRect = this.referRect;
85
- let line;
86
- if (this.type === 'top') {
87
- line = new designable_shared_1.LineSegment({
88
- x: nextRect.left,
89
- y: referRect.bottom + nextRect.height,
90
- }, {
91
- x: nextRect.right,
92
- y: referRect.bottom + nextRect.height,
93
- });
104
+ return results
105
+ }
106
+ get snapLine() {
107
+ if (!this.isometrics.length) return
108
+ const nextRect = this.next.rect
109
+ const referRect = this.referRect
110
+ let line
111
+ if (this.type === 'top') {
112
+ line = new designable_shared_1.LineSegment(
113
+ {
114
+ x: nextRect.left,
115
+ y: referRect.bottom + nextRect.height,
116
+ },
117
+ {
118
+ x: nextRect.right,
119
+ y: referRect.bottom + nextRect.height,
94
120
  }
95
- else if (this.type === 'bottom') {
96
- line = new designable_shared_1.LineSegment({
97
- x: nextRect.left,
98
- y: referRect.top - nextRect.height,
99
- }, {
100
- x: nextRect.right,
101
- y: referRect.top - nextRect.height,
102
- });
121
+ )
122
+ } else if (this.type === 'bottom') {
123
+ line = new designable_shared_1.LineSegment(
124
+ {
125
+ x: nextRect.left,
126
+ y: referRect.top - nextRect.height,
127
+ },
128
+ {
129
+ x: nextRect.right,
130
+ y: referRect.top - nextRect.height,
103
131
  }
104
- else if (this.type === 'left') {
105
- line = new designable_shared_1.LineSegment({
106
- x: referRect.right + nextRect.width,
107
- y: nextRect.top,
108
- }, {
109
- x: referRect.right + nextRect.width,
110
- y: nextRect.bottom,
111
- });
132
+ )
133
+ } else if (this.type === 'left') {
134
+ line = new designable_shared_1.LineSegment(
135
+ {
136
+ x: referRect.right + nextRect.width,
137
+ y: nextRect.top,
138
+ },
139
+ {
140
+ x: referRect.right + nextRect.width,
141
+ y: nextRect.bottom,
112
142
  }
113
- else {
114
- line = new designable_shared_1.LineSegment({
115
- x: referRect.left - nextRect.width,
116
- y: nextRect.top,
117
- }, {
118
- x: referRect.left - nextRect.width,
119
- y: nextRect.bottom,
120
- });
143
+ )
144
+ } else {
145
+ line = new designable_shared_1.LineSegment(
146
+ {
147
+ x: referRect.left - nextRect.width,
148
+ y: nextRect.top,
149
+ },
150
+ {
151
+ x: referRect.left - nextRect.width,
152
+ y: nextRect.bottom,
121
153
  }
122
- const distance = (0, designable_shared_1.calcDistanceOfSnapLineToEdges)(line, this.helper.dragNodesEdgeLines);
123
- return new SnapLine_1.SnapLine(this.helper, {
124
- ...line,
125
- distance,
126
- type: 'space-block',
127
- });
154
+ )
128
155
  }
156
+ const distance = (0, designable_shared_1.calcDistanceOfSnapLineToEdges)(
157
+ line,
158
+ this.helper.dragNodesEdgeLines
159
+ )
160
+ return new SnapLine_1.SnapLine(this.helper, {
161
+ ...line,
162
+ distance,
163
+ type: 'space-block',
164
+ })
165
+ }
129
166
  }
130
- exports.SpaceBlock = SpaceBlock;
167
+ exports.SpaceBlock = SpaceBlock