@thienvu18/designable-core 2.0.1 → 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 +2 -2
@@ -1,81 +1,92 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useResizeEffect = void 0;
4
- const models_1 = require("../models");
5
- const events_1 = require("../events");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.useResizeEffect = void 0
4
+ const models_1 = require('../models')
5
+ const events_1 = require('../events')
6
6
  const useResizeEffect = (engine) => {
7
- const findStartNodeHandler = (target) => {
8
- const handler = target?.closest(`*[${engine.props.nodeResizeHandlerAttrName}]`);
9
- if (handler) {
10
- const direction = handler.getAttribute(engine.props.nodeResizeHandlerAttrName);
11
- if (direction) {
12
- const element = handler.closest(`*[${engine.props.nodeSelectionIdAttrName}]`);
13
- if (element) {
14
- const nodeId = element.getAttribute(engine.props.nodeSelectionIdAttrName);
15
- if (nodeId) {
16
- const node = engine.findNodeById(nodeId);
17
- if (node) {
18
- return { direction, node, element };
19
- }
20
- }
21
- }
7
+ const findStartNodeHandler = (target) => {
8
+ const handler = target?.closest(
9
+ `*[${engine.props.nodeResizeHandlerAttrName}]`
10
+ )
11
+ if (handler) {
12
+ const direction = handler.getAttribute(
13
+ engine.props.nodeResizeHandlerAttrName
14
+ )
15
+ if (direction) {
16
+ const element = handler.closest(
17
+ `*[${engine.props.nodeSelectionIdAttrName}]`
18
+ )
19
+ if (element) {
20
+ const nodeId = element.getAttribute(
21
+ engine.props.nodeSelectionIdAttrName
22
+ )
23
+ if (nodeId) {
24
+ const node = engine.findNodeById(nodeId)
25
+ if (node) {
26
+ return { direction, node, element }
22
27
  }
28
+ }
23
29
  }
24
- return;
25
- };
26
- engine.subscribeTo(events_1.DragStartEvent, (event) => {
27
- const target = event.data.target;
28
- const currentWorkspace = event.context?.workspace ?? engine.workbench.activeWorkspace;
29
- if (!currentWorkspace)
30
- return;
31
- const handler = findStartNodeHandler(target);
32
- const helper = currentWorkspace.operation.transformHelper;
33
- if (handler) {
34
- const selectionElement = handler.element.closest(`*[${engine.props.nodeSelectionIdAttrName}]`);
35
- if (selectionElement) {
36
- const nodeId = selectionElement.getAttribute(engine.props.nodeSelectionIdAttrName);
37
- if (nodeId) {
38
- const node = engine.findNodeById(nodeId);
39
- if (node) {
40
- helper.dragStart({
41
- dragNodes: [node],
42
- type: 'resize',
43
- direction: handler.direction,
44
- });
45
- }
46
- }
47
- }
48
- }
49
- });
50
- engine.subscribeTo(events_1.DragMoveEvent, (event) => {
51
- if (engine.cursor.dragType !== models_1.CursorDragType.Resize)
52
- return;
53
- const currentWorkspace = event.context?.workspace ?? engine.workbench.activeWorkspace;
54
- const helper = currentWorkspace?.operation.transformHelper;
55
- const dragNodes = helper.dragNodes;
56
- if (!dragNodes.length)
57
- return;
58
- helper.dragMove();
59
- dragNodes.forEach((node) => {
60
- const element = node.getElement();
61
- helper.resize(node, (rect) => {
62
- element.style.width = rect.width + 'px';
63
- element.style.height = rect.height + 'px';
64
- element.style.position = 'absolute';
65
- element.style.left = '0px';
66
- element.style.top = '0px';
67
- element.style.transform = `translate3d(${rect.x}px,${rect.y}px,0)`;
68
- });
69
- });
70
- });
71
- engine.subscribeTo(events_1.DragStopEvent, (event) => {
72
- if (engine.cursor.dragType !== models_1.CursorDragType.Resize)
73
- return;
74
- const currentWorkspace = event.context?.workspace ?? engine.workbench.activeWorkspace;
75
- const helper = currentWorkspace?.operation.transformHelper;
76
- if (helper) {
77
- helper.dragEnd();
30
+ }
31
+ }
32
+ return
33
+ }
34
+ engine.subscribeTo(events_1.DragStartEvent, (event) => {
35
+ const target = event.data.target
36
+ const currentWorkspace =
37
+ event.context?.workspace ?? engine.workbench.activeWorkspace
38
+ if (!currentWorkspace) return
39
+ const handler = findStartNodeHandler(target)
40
+ const helper = currentWorkspace.operation.transformHelper
41
+ if (handler) {
42
+ const selectionElement = handler.element.closest(
43
+ `*[${engine.props.nodeSelectionIdAttrName}]`
44
+ )
45
+ if (selectionElement) {
46
+ const nodeId = selectionElement.getAttribute(
47
+ engine.props.nodeSelectionIdAttrName
48
+ )
49
+ if (nodeId) {
50
+ const node = engine.findNodeById(nodeId)
51
+ if (node) {
52
+ helper.dragStart({
53
+ dragNodes: [node],
54
+ type: 'resize',
55
+ direction: handler.direction,
56
+ })
57
+ }
78
58
  }
79
- });
80
- };
81
- exports.useResizeEffect = useResizeEffect;
59
+ }
60
+ }
61
+ })
62
+ engine.subscribeTo(events_1.DragMoveEvent, (event) => {
63
+ if (engine.cursor.dragType !== models_1.CursorDragType.Resize) return
64
+ const currentWorkspace =
65
+ event.context?.workspace ?? engine.workbench.activeWorkspace
66
+ const helper = currentWorkspace?.operation.transformHelper
67
+ const dragNodes = helper.dragNodes
68
+ if (!dragNodes.length) return
69
+ helper.dragMove()
70
+ dragNodes.forEach((node) => {
71
+ const element = node.getElement()
72
+ helper.resize(node, (rect) => {
73
+ element.style.width = rect.width + 'px'
74
+ element.style.height = rect.height + 'px'
75
+ element.style.position = 'absolute'
76
+ element.style.left = '0px'
77
+ element.style.top = '0px'
78
+ element.style.transform = `translate3d(${rect.x}px,${rect.y}px,0)`
79
+ })
80
+ })
81
+ })
82
+ engine.subscribeTo(events_1.DragStopEvent, (event) => {
83
+ if (engine.cursor.dragType !== models_1.CursorDragType.Resize) return
84
+ const currentWorkspace =
85
+ event.context?.workspace ?? engine.workbench.activeWorkspace
86
+ const helper = currentWorkspace?.operation.transformHelper
87
+ if (helper) {
88
+ helper.dragEnd()
89
+ }
90
+ })
91
+ }
92
+ exports.useResizeEffect = useResizeEffect
@@ -1,2 +1,2 @@
1
- import { Engine } from '../models';
2
- export declare const useSelectionEffect: (engine: Engine) => void;
1
+ import { Engine } from '../models'
2
+ export declare const useSelectionEffect: (engine: Engine) => void
@@ -1,74 +1,74 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useSelectionEffect = void 0;
4
- const models_1 = require("../models");
5
- const events_1 = require("../events");
6
- const designable_shared_1 = require("@thienvu18/designable-shared");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.useSelectionEffect = void 0
4
+ const models_1 = require('../models')
5
+ const events_1 = require('../events')
6
+ const designable_shared_1 = require('@thienvu18/designable-shared')
7
7
  const useSelectionEffect = (engine) => {
8
- engine.subscribeTo(events_1.MouseClickEvent, (event) => {
9
- if (engine.cursor.status !== models_1.CursorStatus.Normal)
10
- return;
11
- const target = event.data.target;
12
- const el = target?.closest?.(`
8
+ engine.subscribeTo(events_1.MouseClickEvent, (event) => {
9
+ if (engine.cursor.status !== models_1.CursorStatus.Normal) return
10
+ const target = event.data.target
11
+ const el = target?.closest?.(`
13
12
  *[${engine.props.nodeIdAttrName}],
14
13
  *[${engine.props.outlineNodeIdAttrName}]
15
- `);
16
- const isHelpers = target?.closest?.(`*[${engine.props.nodeSelectionIdAttrName}]`);
17
- const currentWorkspace = event.context?.workspace ?? engine.workbench.activeWorkspace;
18
- if (!currentWorkspace)
19
- return;
20
- if (!el?.getAttribute) {
21
- const point = new designable_shared_1.Point(event.data.topClientX, event.data.topClientY);
22
- const operation = currentWorkspace.operation;
23
- const viewport = currentWorkspace.viewport;
24
- const outline = currentWorkspace.outline;
25
- const isInViewport = viewport.isPointInViewport(point, false);
26
- const isInOutline = outline.isPointInViewport(point, false);
27
- if (isHelpers)
28
- return;
29
- if (isInViewport || isInOutline) {
30
- const selection = operation.selection;
31
- const tree = operation.tree;
32
- selection.select(tree);
33
- }
34
- return;
14
+ `)
15
+ const isHelpers = target?.closest?.(
16
+ `*[${engine.props.nodeSelectionIdAttrName}]`
17
+ )
18
+ const currentWorkspace =
19
+ event.context?.workspace ?? engine.workbench.activeWorkspace
20
+ if (!currentWorkspace) return
21
+ if (!el?.getAttribute) {
22
+ const point = new designable_shared_1.Point(
23
+ event.data.topClientX,
24
+ event.data.topClientY
25
+ )
26
+ const operation = currentWorkspace.operation
27
+ const viewport = currentWorkspace.viewport
28
+ const outline = currentWorkspace.outline
29
+ const isInViewport = viewport.isPointInViewport(point, false)
30
+ const isInOutline = outline.isPointInViewport(point, false)
31
+ if (isHelpers) return
32
+ if (isInViewport || isInOutline) {
33
+ const selection = operation.selection
34
+ const tree = operation.tree
35
+ selection.select(tree)
36
+ }
37
+ return
38
+ }
39
+ const nodeId = el.getAttribute(engine.props.nodeIdAttrName)
40
+ const structNodeId = el.getAttribute(engine.props.outlineNodeIdAttrName)
41
+ const operation = currentWorkspace.operation
42
+ const selection = operation.selection
43
+ const tree = operation.tree
44
+ const node = tree.findById(nodeId || structNodeId)
45
+ if (node) {
46
+ engine.keyboard.requestClean()
47
+ if (
48
+ engine.keyboard.isKeyDown(designable_shared_1.KeyCode.Meta) ||
49
+ engine.keyboard.isKeyDown(designable_shared_1.KeyCode.Control)
50
+ ) {
51
+ if (selection.has(node)) {
52
+ if (selection.selected.length > 1) {
53
+ selection.remove(node)
54
+ }
55
+ } else {
56
+ selection.add(node)
35
57
  }
36
- const nodeId = el.getAttribute(engine.props.nodeIdAttrName);
37
- const structNodeId = el.getAttribute(engine.props.outlineNodeIdAttrName);
38
- const operation = currentWorkspace.operation;
39
- const selection = operation.selection;
40
- const tree = operation.tree;
41
- const node = tree.findById(nodeId || structNodeId);
42
- if (node) {
43
- engine.keyboard.requestClean();
44
- if (engine.keyboard.isKeyDown(designable_shared_1.KeyCode.Meta) ||
45
- engine.keyboard.isKeyDown(designable_shared_1.KeyCode.Control)) {
46
- if (selection.has(node)) {
47
- if (selection.selected.length > 1) {
48
- selection.remove(node);
49
- }
50
- }
51
- else {
52
- selection.add(node);
53
- }
54
- }
55
- else if (engine.keyboard.isKeyDown(designable_shared_1.KeyCode.Shift)) {
56
- if (selection.has(node)) {
57
- if (selection.selected.length > 1) {
58
- selection.remove(node);
59
- }
60
- }
61
- else {
62
- selection.crossAddTo(node);
63
- }
64
- }
65
- else {
66
- selection.select(node);
67
- }
58
+ } else if (engine.keyboard.isKeyDown(designable_shared_1.KeyCode.Shift)) {
59
+ if (selection.has(node)) {
60
+ if (selection.selected.length > 1) {
61
+ selection.remove(node)
62
+ }
63
+ } else {
64
+ selection.crossAddTo(node)
68
65
  }
69
- else {
70
- selection.select(tree);
71
- }
72
- });
73
- };
74
- exports.useSelectionEffect = useSelectionEffect;
66
+ } else {
67
+ selection.select(node)
68
+ }
69
+ } else {
70
+ selection.select(tree)
71
+ }
72
+ })
73
+ }
74
+ exports.useSelectionEffect = useSelectionEffect
@@ -1,2 +1,2 @@
1
- import { Engine } from '../models';
2
- export declare const useTranslateEffect: (engine: Engine) => void;
1
+ import { Engine } from '../models'
2
+ export declare const useTranslateEffect: (engine: Engine) => void
@@ -1,59 +1,62 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useTranslateEffect = void 0;
4
- const models_1 = require("../models");
5
- const events_1 = require("../events");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.useTranslateEffect = void 0
4
+ const models_1 = require('../models')
5
+ const events_1 = require('../events')
6
6
  const useTranslateEffect = (engine) => {
7
- engine.subscribeTo(events_1.DragStartEvent, (event) => {
8
- const target = event.data.target;
9
- const currentWorkspace = event.context?.workspace ?? engine.workbench.activeWorkspace;
10
- const handler = target?.closest(`*[${engine.props.nodeTranslateAttrName}]`);
11
- if (!currentWorkspace)
12
- return;
13
- const helper = currentWorkspace.operation.transformHelper;
14
- if (handler) {
15
- const type = handler.getAttribute(engine.props.nodeTranslateAttrName);
16
- if (type) {
17
- const selectionElement = handler.closest(`*[${engine.props.nodeSelectionIdAttrName}]`);
18
- if (selectionElement) {
19
- const nodeId = selectionElement.getAttribute(engine.props.nodeSelectionIdAttrName);
20
- if (nodeId) {
21
- const node = engine.findNodeById(nodeId);
22
- if (node) {
23
- helper.dragStart({ dragNodes: [node], type: 'translate' });
24
- }
25
- }
26
- }
7
+ engine.subscribeTo(events_1.DragStartEvent, (event) => {
8
+ const target = event.data.target
9
+ const currentWorkspace =
10
+ event.context?.workspace ?? engine.workbench.activeWorkspace
11
+ const handler = target?.closest(`*[${engine.props.nodeTranslateAttrName}]`)
12
+ if (!currentWorkspace) return
13
+ const helper = currentWorkspace.operation.transformHelper
14
+ if (handler) {
15
+ const type = handler.getAttribute(engine.props.nodeTranslateAttrName)
16
+ if (type) {
17
+ const selectionElement = handler.closest(
18
+ `*[${engine.props.nodeSelectionIdAttrName}]`
19
+ )
20
+ if (selectionElement) {
21
+ const nodeId = selectionElement.getAttribute(
22
+ engine.props.nodeSelectionIdAttrName
23
+ )
24
+ if (nodeId) {
25
+ const node = engine.findNodeById(nodeId)
26
+ if (node) {
27
+ helper.dragStart({ dragNodes: [node], type: 'translate' })
27
28
  }
29
+ }
28
30
  }
29
- });
30
- engine.subscribeTo(events_1.DragMoveEvent, (event) => {
31
- if (engine.cursor.dragType !== models_1.CursorDragType.Translate)
32
- return;
33
- const currentWorkspace = event.context?.workspace ?? engine.workbench.activeWorkspace;
34
- const helper = currentWorkspace?.operation.transformHelper;
35
- const dragNodes = helper.dragNodes;
36
- if (!dragNodes.length)
37
- return;
38
- helper.dragMove();
39
- dragNodes.forEach((node) => {
40
- const element = node.getElement();
41
- helper.translate(node, (translate) => {
42
- element.style.position = 'absolute';
43
- element.style.left = '0px';
44
- element.style.top = '0px';
45
- element.style.transform = `translate3d(${translate.x}px,${translate.y}px,0)`;
46
- });
47
- });
48
- });
49
- engine.subscribeTo(events_1.DragStopEvent, (event) => {
50
- if (engine.cursor.dragType !== models_1.CursorDragType.Translate)
51
- return;
52
- const currentWorkspace = event.context?.workspace ?? engine.workbench.activeWorkspace;
53
- const helper = currentWorkspace?.operation.transformHelper;
54
- if (helper) {
55
- helper.dragEnd();
56
- }
57
- });
58
- };
59
- exports.useTranslateEffect = useTranslateEffect;
31
+ }
32
+ }
33
+ })
34
+ engine.subscribeTo(events_1.DragMoveEvent, (event) => {
35
+ if (engine.cursor.dragType !== models_1.CursorDragType.Translate) return
36
+ const currentWorkspace =
37
+ event.context?.workspace ?? engine.workbench.activeWorkspace
38
+ const helper = currentWorkspace?.operation.transformHelper
39
+ const dragNodes = helper.dragNodes
40
+ if (!dragNodes.length) return
41
+ helper.dragMove()
42
+ dragNodes.forEach((node) => {
43
+ const element = node.getElement()
44
+ helper.translate(node, (translate) => {
45
+ element.style.position = 'absolute'
46
+ element.style.left = '0px'
47
+ element.style.top = '0px'
48
+ element.style.transform = `translate3d(${translate.x}px,${translate.y}px,0)`
49
+ })
50
+ })
51
+ })
52
+ engine.subscribeTo(events_1.DragStopEvent, (event) => {
53
+ if (engine.cursor.dragType !== models_1.CursorDragType.Translate) return
54
+ const currentWorkspace =
55
+ event.context?.workspace ?? engine.workbench.activeWorkspace
56
+ const helper = currentWorkspace?.operation.transformHelper
57
+ if (helper) {
58
+ helper.dragEnd()
59
+ }
60
+ })
61
+ }
62
+ exports.useTranslateEffect = useTranslateEffect
@@ -1,2 +1,2 @@
1
- import { Engine } from '../models';
2
- export declare const useViewportEffect: (engine: Engine) => void;
1
+ import { Engine } from '../models'
2
+ export declare const useViewportEffect: (engine: Engine) => void
@@ -1,33 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useViewportEffect = void 0;
4
- const events_1 = require("../events");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.useViewportEffect = void 0
4
+ const events_1 = require('../events')
5
5
  const useViewportEffect = (engine) => {
6
- engine.subscribeTo(events_1.ViewportResizeEvent, (event) => {
7
- const currentWorkspace = event?.context?.workspace;
8
- if (!currentWorkspace)
9
- return;
10
- const viewport = currentWorkspace.viewport;
11
- const outline = currentWorkspace.outline;
12
- if (viewport.matchViewport(event.data.target)) {
13
- viewport.digestViewport();
14
- }
15
- if (outline.matchViewport(event.data.target)) {
16
- outline.digestViewport();
17
- }
18
- });
19
- engine.subscribeTo(events_1.ViewportScrollEvent, (event) => {
20
- const currentWorkspace = event?.context?.workspace;
21
- if (!currentWorkspace)
22
- return;
23
- const viewport = currentWorkspace.viewport;
24
- const outline = currentWorkspace.outline;
25
- if (viewport.matchViewport(event.data.target)) {
26
- viewport.digestViewport();
27
- }
28
- if (outline.matchViewport(event.data.target)) {
29
- outline.digestViewport();
30
- }
31
- });
32
- };
33
- exports.useViewportEffect = useViewportEffect;
6
+ engine.subscribeTo(events_1.ViewportResizeEvent, (event) => {
7
+ const currentWorkspace = event?.context?.workspace
8
+ if (!currentWorkspace) return
9
+ const viewport = currentWorkspace.viewport
10
+ const outline = currentWorkspace.outline
11
+ if (viewport.matchViewport(event.data.target)) {
12
+ viewport.digestViewport()
13
+ }
14
+ if (outline.matchViewport(event.data.target)) {
15
+ outline.digestViewport()
16
+ }
17
+ })
18
+ engine.subscribeTo(events_1.ViewportScrollEvent, (event) => {
19
+ const currentWorkspace = event?.context?.workspace
20
+ if (!currentWorkspace) return
21
+ const viewport = currentWorkspace.viewport
22
+ const outline = currentWorkspace.outline
23
+ if (viewport.matchViewport(event.data.target)) {
24
+ viewport.digestViewport()
25
+ }
26
+ if (outline.matchViewport(event.data.target)) {
27
+ outline.digestViewport()
28
+ }
29
+ })
30
+ }
31
+ exports.useViewportEffect = useViewportEffect
@@ -1,2 +1,2 @@
1
- import { Engine } from '../models';
2
- export declare const useWorkspaceEffect: (engine: Engine) => void;
1
+ import { Engine } from '../models'
2
+ export declare const useWorkspaceEffect: (engine: Engine) => void
@@ -1,32 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useWorkspaceEffect = void 0;
4
- const events_1 = require("../events");
1
+ 'use strict'
2
+ Object.defineProperty(exports, '__esModule', { value: true })
3
+ exports.useWorkspaceEffect = void 0
4
+ const events_1 = require('../events')
5
5
  const useWorkspaceEffect = (engine) => {
6
- engine.subscribeWith([
7
- 'append:node',
8
- 'insert:after',
9
- 'insert:before',
10
- 'insert:children',
11
- 'drag:node',
12
- 'drop:node',
13
- 'prepend:node',
14
- 'remove:node',
15
- 'select:node',
16
- 'update:children',
17
- 'wrap:node',
18
- 'update:node:props',
19
- ], (event) => {
20
- if (event.context?.workbench) {
21
- engine.workbench.setActiveWorkspace(event.context.workspace);
22
- }
23
- });
24
- engine.subscribeTo(events_1.SelectNodeEvent, (event) => {
25
- engine.workbench.eachWorkspace((workspace) => {
26
- if (workspace !== event.context.workspace) {
27
- workspace.operation.selection.clear();
28
- }
29
- });
30
- });
31
- };
32
- exports.useWorkspaceEffect = useWorkspaceEffect;
6
+ engine.subscribeWith(
7
+ [
8
+ 'append:node',
9
+ 'insert:after',
10
+ 'insert:before',
11
+ 'insert:children',
12
+ 'drag:node',
13
+ 'drop:node',
14
+ 'prepend:node',
15
+ 'remove:node',
16
+ 'select:node',
17
+ 'update:children',
18
+ 'wrap:node',
19
+ 'update:node:props',
20
+ ],
21
+ (event) => {
22
+ if (event.context?.workbench) {
23
+ engine.workbench.setActiveWorkspace(event.context.workspace)
24
+ }
25
+ }
26
+ )
27
+ engine.subscribeTo(events_1.SelectNodeEvent, (event) => {
28
+ engine.workbench.eachWorkspace((workspace) => {
29
+ if (workspace !== event.context.workspace) {
30
+ workspace.operation.selection.clear()
31
+ }
32
+ })
33
+ })
34
+ }
35
+ exports.useWorkspaceEffect = useWorkspaceEffect
@@ -1,21 +1,21 @@
1
- import { IEngineContext } from '../../types';
1
+ import { IEngineContext } from '../../types'
2
2
  export interface ICursorEventOriginData {
3
- clientX: number;
4
- clientY: number;
5
- pageX: number;
6
- pageY: number;
7
- target: EventTarget;
8
- view: Window;
3
+ clientX: number
4
+ clientY: number
5
+ pageX: number
6
+ pageY: number
7
+ target: EventTarget
8
+ view: Window
9
9
  }
10
10
  export interface ICursorEventData extends ICursorEventOriginData {
11
- topClientX?: number;
12
- topClientY?: number;
13
- topPageX?: number;
14
- topPageY?: number;
11
+ topClientX?: number
12
+ topClientY?: number
13
+ topPageX?: number
14
+ topPageY?: number
15
15
  }
16
16
  export declare class AbstractCursorEvent {
17
- data: ICursorEventData;
18
- context: IEngineContext;
19
- constructor(data: ICursorEventOriginData);
20
- transformCoordinates(): void;
17
+ data: ICursorEventData
18
+ context: IEngineContext
19
+ constructor(data: ICursorEventOriginData)
20
+ transformCoordinates(): void
21
21
  }