@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,23 +1,23 @@
1
- import { Engine } from './Engine';
2
- import { Workspace, IWorkspaceProps } from './Workspace';
3
- import { IEngineContext, WorkbenchTypes } from '../types';
1
+ import { IEngineContext, WorkbenchTypes } from '../types'
2
+ import { Engine } from './Engine'
3
+ import { IWorkspaceProps, Workspace } from './Workspace'
4
4
  export declare class Workbench {
5
- workspaces: Workspace[];
6
- currentWorkspace: Workspace;
7
- activeWorkspace: Workspace;
8
- engine: Engine;
9
- type: WorkbenchTypes;
10
- constructor(engine: Engine);
11
- makeObservable(): void;
12
- getEventContext(): IEngineContext;
13
- switchWorkspace(id: string): Workspace;
14
- setActiveWorkspace(workspace: Workspace): Workspace;
15
- setWorkbenchType(type: WorkbenchTypes): void;
16
- addWorkspace(props: IWorkspaceProps): Workspace;
17
- removeWorkspace(id: string): void;
18
- ensureWorkspace(props?: IWorkspaceProps): Workspace;
19
- findWorkspaceById(id: string): Workspace;
20
- findWorkspaceIndexById(id: string): number;
21
- mapWorkspace<T>(callbackFn: (value: Workspace, index: number) => T): T[];
22
- eachWorkspace<T>(callbackFn: (value: Workspace, index: number) => T): void;
5
+ workspaces: Workspace[]
6
+ currentWorkspace: Workspace
7
+ activeWorkspace: Workspace
8
+ engine: Engine
9
+ type: WorkbenchTypes
10
+ constructor(engine: Engine)
11
+ makeObservable(): void
12
+ getEventContext(): IEngineContext
13
+ switchWorkspace(id: string): Workspace
14
+ setActiveWorkspace(workspace: Workspace): Workspace
15
+ setWorkbenchType(type: WorkbenchTypes): void
16
+ addWorkspace(props: IWorkspaceProps): Workspace
17
+ removeWorkspace(id: string): void
18
+ ensureWorkspace(props?: IWorkspaceProps): Workspace
19
+ findWorkspaceById(id: string): Workspace
20
+ findWorkspaceIndexById(id: string): number
21
+ mapWorkspace<T>(callbackFn: (value: Workspace, index: number) => T): T[]
22
+ eachWorkspace<T>(callbackFn: (value: Workspace, index: number) => T): void
23
23
  }
@@ -1,95 +1,97 @@
1
- import { Workspace } from './Workspace';
2
- import { observable, define, action } from '@formily/reactive';
3
- import { AddWorkspaceEvent, RemoveWorkspaceEvent, SwitchWorkspaceEvent, } from '../events';
1
+ import { action, define, observable } from '@formily/reactive'
2
+ import {
3
+ AddWorkspaceEvent,
4
+ RemoveWorkspaceEvent,
5
+ SwitchWorkspaceEvent,
6
+ } from '../events'
7
+ import { Workspace } from './Workspace'
4
8
  export class Workbench {
5
- constructor(engine) {
6
- this.type = 'DESIGNABLE';
7
- this.engine = engine;
8
- this.workspaces = [];
9
- this.currentWorkspace = null;
10
- this.activeWorkspace = null;
11
- this.makeObservable();
9
+ constructor(engine) {
10
+ this.type = 'DESIGNABLE'
11
+ this.engine = engine
12
+ this.workspaces = []
13
+ this.currentWorkspace = null
14
+ this.activeWorkspace = null
15
+ this.makeObservable()
16
+ }
17
+ makeObservable() {
18
+ define(this, {
19
+ currentWorkspace: observable.ref,
20
+ workspaces: observable.shallow,
21
+ activeWorkspace: observable.ref,
22
+ type: observable.ref,
23
+ switchWorkspace: action,
24
+ addWorkspace: action,
25
+ removeWorkspace: action,
26
+ setActiveWorkspace: action,
27
+ setWorkbenchType: action,
28
+ })
29
+ }
30
+ getEventContext() {
31
+ return {
32
+ engine: this.engine,
33
+ workbench: this.engine.workbench,
34
+ workspace: null,
35
+ viewport: null,
12
36
  }
13
- makeObservable() {
14
- define(this, {
15
- currentWorkspace: observable.ref,
16
- workspaces: observable.shallow,
17
- activeWorkspace: observable.ref,
18
- type: observable.ref,
19
- switchWorkspace: action,
20
- addWorkspace: action,
21
- removeWorkspace: action,
22
- setActiveWorkspace: action,
23
- setWorkbenchType: action,
24
- });
37
+ }
38
+ switchWorkspace(id) {
39
+ const finded = this.findWorkspaceById(id)
40
+ if (finded) {
41
+ this.currentWorkspace = finded
42
+ this.engine.dispatch(new SwitchWorkspaceEvent(finded))
25
43
  }
26
- getEventContext() {
27
- return {
28
- engine: this.engine,
29
- workbench: this.engine.workbench,
30
- workspace: null,
31
- viewport: null,
32
- };
44
+ return this.currentWorkspace
45
+ }
46
+ setActiveWorkspace(workspace) {
47
+ this.activeWorkspace = workspace
48
+ return workspace
49
+ }
50
+ setWorkbenchType(type) {
51
+ this.type = type
52
+ }
53
+ addWorkspace(props) {
54
+ const finded = this.findWorkspaceById(props.id)
55
+ if (!finded) {
56
+ this.currentWorkspace = new Workspace(this.engine, props)
57
+ this.workspaces.push(this.currentWorkspace)
58
+ this.engine.dispatch(new AddWorkspaceEvent(this.currentWorkspace))
59
+ return this.currentWorkspace
33
60
  }
34
- switchWorkspace(id) {
35
- const finded = this.findWorkspaceById(id);
36
- if (finded) {
37
- this.currentWorkspace = finded;
38
- this.engine.dispatch(new SwitchWorkspaceEvent(finded));
61
+ return finded
62
+ }
63
+ removeWorkspace(id) {
64
+ const findIndex = this.findWorkspaceIndexById(id)
65
+ if (findIndex > -1 && findIndex < this.workspaces.length) {
66
+ const findedWorkspace = this.workspaces[findIndex]
67
+ findedWorkspace.viewport.detachEvents()
68
+ this.workspaces.splice(findIndex, 1)
69
+ if (findedWorkspace === this.currentWorkspace) {
70
+ if (this.workspaces.length && this.workspaces[findIndex]) {
71
+ this.currentWorkspace = this.workspaces[findIndex]
72
+ } else {
73
+ this.currentWorkspace = this.workspaces[this.workspaces.length - 1]
39
74
  }
40
- return this.currentWorkspace;
41
- }
42
- setActiveWorkspace(workspace) {
43
- this.activeWorkspace = workspace;
44
- return workspace;
45
- }
46
- setWorkbenchType(type) {
47
- this.type = type;
48
- }
49
- addWorkspace(props) {
50
- const finded = this.findWorkspaceById(props.id);
51
- if (!finded) {
52
- this.currentWorkspace = new Workspace(this.engine, props);
53
- this.workspaces.push(this.currentWorkspace);
54
- this.engine.dispatch(new AddWorkspaceEvent(this.currentWorkspace));
55
- return this.currentWorkspace;
56
- }
57
- return finded;
58
- }
59
- removeWorkspace(id) {
60
- const findIndex = this.findWorkspaceIndexById(id);
61
- if (findIndex > -1 && findIndex < this.workspaces.length) {
62
- const findedWorkspace = this.workspaces[findIndex];
63
- findedWorkspace.viewport.detachEvents();
64
- this.workspaces.splice(findIndex, 1);
65
- if (findedWorkspace === this.currentWorkspace) {
66
- if (this.workspaces.length && this.workspaces[findIndex]) {
67
- this.currentWorkspace = this.workspaces[findIndex];
68
- }
69
- else {
70
- this.currentWorkspace = this.workspaces[this.workspaces.length - 1];
71
- }
72
- }
73
- this.engine.dispatch(new RemoveWorkspaceEvent(findedWorkspace));
74
- }
75
- }
76
- ensureWorkspace(props = {}) {
77
- const workspace = this.findWorkspaceById(props.id);
78
- if (workspace)
79
- return workspace;
80
- this.addWorkspace(props);
81
- return this.currentWorkspace;
82
- }
83
- findWorkspaceById(id) {
84
- return this.workspaces.find((item) => item.id === id);
85
- }
86
- findWorkspaceIndexById(id) {
87
- return this.workspaces.findIndex((item) => item.id === id);
88
- }
89
- mapWorkspace(callbackFn) {
90
- return this.workspaces.map(callbackFn);
91
- }
92
- eachWorkspace(callbackFn) {
93
- this.workspaces.forEach(callbackFn);
75
+ }
76
+ this.engine.dispatch(new RemoveWorkspaceEvent(findedWorkspace))
94
77
  }
78
+ }
79
+ ensureWorkspace(props = {}) {
80
+ const workspace = this.findWorkspaceById(props.id)
81
+ if (workspace) return workspace
82
+ this.addWorkspace(props)
83
+ return this.currentWorkspace
84
+ }
85
+ findWorkspaceById(id) {
86
+ return this.workspaces.find((item) => item.id === id)
87
+ }
88
+ findWorkspaceIndexById(id) {
89
+ return this.workspaces.findIndex((item) => item.id === id)
90
+ }
91
+ mapWorkspace(callbackFn) {
92
+ return this.workspaces.map(callbackFn)
93
+ }
94
+ eachWorkspace(callbackFn) {
95
+ this.workspaces.forEach(callbackFn)
96
+ }
95
97
  }
@@ -1,41 +1,41 @@
1
- import { Engine } from './Engine';
2
- import { Viewport } from './Viewport';
3
- import { Operation, IOperation } from './Operation';
4
- import { History } from './History';
5
- import { ICustomEvent, EventContainer } from '@thienvu18/designable-shared';
6
- import { IEngineContext } from '../types';
1
+ import { EventContainer, ICustomEvent } from '@thienvu18/designable-shared'
2
+ import { IEngineContext } from '../types'
3
+ import { Engine } from './Engine'
4
+ import { History } from './History'
5
+ import { IOperation, Operation } from './Operation'
6
+ import { Viewport } from './Viewport'
7
7
  export interface IViewportMatcher {
8
- contentWindow?: Window;
9
- viewportElement?: HTMLElement;
8
+ contentWindow?: Window
9
+ viewportElement?: HTMLElement
10
10
  }
11
11
  export interface IWorkspace {
12
- id?: string;
13
- title?: string;
14
- description?: string;
15
- operation: IOperation;
12
+ id?: string
13
+ title?: string
14
+ description?: string
15
+ operation: IOperation
16
16
  }
17
17
  export interface IWorkspaceProps {
18
- id?: string;
19
- title?: string;
20
- description?: string;
21
- contentWindow?: Window;
22
- viewportElement?: HTMLElement;
18
+ id?: string
19
+ title?: string
20
+ description?: string
21
+ contentWindow?: Window
22
+ viewportElement?: HTMLElement
23
23
  }
24
24
  export declare class Workspace {
25
- id: string;
26
- title: string;
27
- description: string;
28
- engine: Engine;
29
- viewport: Viewport;
30
- outline: Viewport;
31
- operation: Operation;
32
- history: History<Workspace>;
33
- props: IWorkspaceProps;
34
- constructor(engine: Engine, props: IWorkspaceProps);
35
- getEventContext(): IEngineContext;
36
- attachEvents(container: EventContainer, contentWindow: Window): void;
37
- detachEvents(container: EventContainer): void;
38
- dispatch(event: ICustomEvent): boolean;
39
- serialize(): IWorkspace;
40
- from(workspace?: IWorkspace): void;
25
+ id: string
26
+ title: string
27
+ description: string
28
+ engine: Engine
29
+ viewport: Viewport
30
+ outline: Viewport
31
+ operation: Operation
32
+ history: History<Workspace>
33
+ props: IWorkspaceProps
34
+ constructor(engine: Engine, props: IWorkspaceProps)
35
+ getEventContext(): IEngineContext
36
+ attachEvents(container: EventContainer, contentWindow: Window): void
37
+ detachEvents(container: EventContainer): void
38
+ dispatch(event: ICustomEvent): boolean
39
+ serialize(): IWorkspace
40
+ from(workspace?: IWorkspace): void
41
41
  }
@@ -1,92 +1,96 @@
1
- import { Viewport } from './Viewport';
2
- import { Operation } from './Operation';
3
- import { History } from './History';
4
- import { uid } from '@thienvu18/designable-shared';
5
- import { HistoryGotoEvent, HistoryRedoEvent, HistoryUndoEvent, HistoryPushEvent, } from '../events';
1
+ import { uid } from '@thienvu18/designable-shared'
2
+ import {
3
+ HistoryGotoEvent,
4
+ HistoryPushEvent,
5
+ HistoryRedoEvent,
6
+ HistoryUndoEvent,
7
+ } from '../events'
8
+ import { History } from './History'
9
+ import { Operation } from './Operation'
10
+ import { Viewport } from './Viewport'
6
11
  //工作区模型
7
12
  export class Workspace {
8
- constructor(engine, props) {
9
- this.engine = engine;
10
- this.props = props;
11
- this.id = props.id || uid();
12
- this.title = props.title;
13
- this.description = props.description;
14
- this.viewport = new Viewport({
15
- engine: this.engine,
16
- workspace: this,
17
- viewportElement: props.viewportElement,
18
- contentWindow: props.contentWindow,
19
- nodeIdAttrName: this.engine.props.nodeIdAttrName,
20
- moveSensitive: true,
21
- moveInsertionType: 'all',
22
- });
23
- this.outline = new Viewport({
24
- engine: this.engine,
25
- workspace: this,
26
- viewportElement: props.viewportElement,
27
- contentWindow: props.contentWindow,
28
- nodeIdAttrName: this.engine.props.outlineNodeIdAttrName,
29
- moveSensitive: false,
30
- moveInsertionType: 'block',
31
- });
32
- this.operation = new Operation(this);
33
- this.history = new History(this, {
34
- onPush: (item) => {
35
- this.operation.dispatch(new HistoryPushEvent(item));
36
- },
37
- onRedo: (item) => {
38
- this.operation.hover.clear();
39
- this.operation.dispatch(new HistoryRedoEvent(item));
40
- },
41
- onUndo: (item) => {
42
- this.operation.hover.clear();
43
- this.operation.dispatch(new HistoryUndoEvent(item));
44
- },
45
- onGoto: (item) => {
46
- this.operation.hover.clear();
47
- this.operation.dispatch(new HistoryGotoEvent(item));
48
- },
49
- });
13
+ constructor(engine, props) {
14
+ this.engine = engine
15
+ this.props = props
16
+ this.id = props.id || uid()
17
+ this.title = props.title
18
+ this.description = props.description
19
+ this.viewport = new Viewport({
20
+ engine: this.engine,
21
+ workspace: this,
22
+ viewportElement: props.viewportElement,
23
+ contentWindow: props.contentWindow,
24
+ nodeIdAttrName: this.engine.props.nodeIdAttrName,
25
+ moveSensitive: true,
26
+ moveInsertionType: 'all',
27
+ })
28
+ this.outline = new Viewport({
29
+ engine: this.engine,
30
+ workspace: this,
31
+ viewportElement: props.viewportElement,
32
+ contentWindow: props.contentWindow,
33
+ nodeIdAttrName: this.engine.props.outlineNodeIdAttrName,
34
+ moveSensitive: false,
35
+ moveInsertionType: 'block',
36
+ })
37
+ this.operation = new Operation(this)
38
+ this.history = new History(this, {
39
+ onPush: (item) => {
40
+ this.operation.dispatch(new HistoryPushEvent(item))
41
+ },
42
+ onRedo: (item) => {
43
+ this.operation.hover.clear()
44
+ this.operation.dispatch(new HistoryRedoEvent(item))
45
+ },
46
+ onUndo: (item) => {
47
+ this.operation.hover.clear()
48
+ this.operation.dispatch(new HistoryUndoEvent(item))
49
+ },
50
+ onGoto: (item) => {
51
+ this.operation.hover.clear()
52
+ this.operation.dispatch(new HistoryGotoEvent(item))
53
+ },
54
+ })
55
+ }
56
+ getEventContext() {
57
+ return {
58
+ workbench: this.engine.workbench,
59
+ workspace: this,
60
+ engine: this.engine,
61
+ viewport: this.viewport,
50
62
  }
51
- getEventContext() {
52
- return {
53
- workbench: this.engine.workbench,
54
- workspace: this,
55
- engine: this.engine,
56
- viewport: this.viewport,
57
- };
63
+ }
64
+ attachEvents(container, contentWindow) {
65
+ this.engine.attachEvents(container, contentWindow, this.getEventContext())
66
+ }
67
+ detachEvents(container) {
68
+ this.engine.detachEvents(container)
69
+ }
70
+ dispatch(event) {
71
+ return this.engine.dispatch(event, this.getEventContext())
72
+ }
73
+ serialize() {
74
+ return {
75
+ id: this.id,
76
+ title: this.title,
77
+ description: this.description,
78
+ operation: this.operation.serialize(),
58
79
  }
59
- attachEvents(container, contentWindow) {
60
- this.engine.attachEvents(container, contentWindow, this.getEventContext());
80
+ }
81
+ from(workspace) {
82
+ if (!workspace) return
83
+ if (workspace.operation) {
84
+ this.operation.from(workspace.operation)
61
85
  }
62
- detachEvents(container) {
63
- this.engine.detachEvents(container);
86
+ if (workspace.id) {
87
+ this.id = workspace.id
64
88
  }
65
- dispatch(event) {
66
- return this.engine.dispatch(event, this.getEventContext());
89
+ if (workspace.title) {
90
+ this.title = workspace.title
67
91
  }
68
- serialize() {
69
- return {
70
- id: this.id,
71
- title: this.title,
72
- description: this.description,
73
- operation: this.operation.serialize(),
74
- };
75
- }
76
- from(workspace) {
77
- if (!workspace)
78
- return;
79
- if (workspace.operation) {
80
- this.operation.from(workspace.operation);
81
- }
82
- if (workspace.id) {
83
- this.id = workspace.id;
84
- }
85
- if (workspace.title) {
86
- this.title = workspace.title;
87
- }
88
- if (workspace.description) {
89
- this.description = workspace.description;
90
- }
92
+ if (workspace.description) {
93
+ this.description = workspace.description
91
94
  }
95
+ }
92
96
  }
@@ -1,13 +1,13 @@
1
- export * from './Engine';
2
- export * from './Screen';
3
- export * from './Cursor';
4
- export * from './Operation';
5
- export * from './Viewport';
6
- export * from './TreeNode';
7
- export * from './Workbench';
8
- export * from './Workspace';
9
- export * from './Selection';
10
- export * from './MoveHelper';
11
- export * from './Keyboard';
12
- export * from './Shortcut';
13
- export * from './History';
1
+ export * from './Cursor'
2
+ export * from './Engine'
3
+ export * from './History'
4
+ export * from './Keyboard'
5
+ export * from './MoveHelper'
6
+ export * from './Operation'
7
+ export * from './Screen'
8
+ export * from './Selection'
9
+ export * from './Shortcut'
10
+ export * from './TreeNode'
11
+ export * from './Viewport'
12
+ export * from './Workbench'
13
+ export * from './Workspace'
@@ -1,13 +1,13 @@
1
- export * from './Engine';
2
- export * from './Screen';
3
- export * from './Cursor';
4
- export * from './Operation';
5
- export * from './Viewport';
6
- export * from './TreeNode';
7
- export * from './Workbench';
8
- export * from './Workspace';
9
- export * from './Selection';
10
- export * from './MoveHelper';
11
- export * from './Keyboard';
12
- export * from './Shortcut';
13
- export * from './History';
1
+ export * from './Cursor'
2
+ export * from './Engine'
3
+ export * from './History'
4
+ export * from './Keyboard'
5
+ export * from './MoveHelper'
6
+ export * from './Operation'
7
+ export * from './Screen'
8
+ export * from './Selection'
9
+ export * from './Shortcut'
10
+ export * from './TreeNode'
11
+ export * from './Viewport'
12
+ export * from './Workbench'
13
+ export * from './Workspace'
package/esm/presets.d.ts CHANGED
@@ -1,4 +1,20 @@
1
- import { DragDropDriver, MouseClickDriver, MouseMoveDriver, ViewportResizeDriver, ViewportScrollDriver, KeyboardDriver } from './drivers';
2
- export declare const DEFAULT_EFFECTS: ((engine: import("./models").Engine) => void)[];
3
- export declare const DEFAULT_DRIVERS: (typeof DragDropDriver | typeof MouseClickDriver | typeof MouseMoveDriver | typeof ViewportResizeDriver | typeof ViewportScrollDriver | typeof KeyboardDriver)[];
4
- export declare const DEFAULT_SHORTCUTS: import("./models").Shortcut[];
1
+ import {
2
+ DragDropDriver,
3
+ KeyboardDriver,
4
+ MouseClickDriver,
5
+ MouseMoveDriver,
6
+ ViewportResizeDriver,
7
+ ViewportScrollDriver,
8
+ } from './drivers'
9
+ export declare const DEFAULT_EFFECTS: ((
10
+ engine: import('./models').Engine
11
+ ) => void)[]
12
+ export declare const DEFAULT_DRIVERS: (
13
+ | typeof DragDropDriver
14
+ | typeof MouseClickDriver
15
+ | typeof MouseMoveDriver
16
+ | typeof ViewportResizeDriver
17
+ | typeof ViewportScrollDriver
18
+ | typeof KeyboardDriver
19
+ )[]
20
+ export declare const DEFAULT_SHORTCUTS: import('./models').Shortcut[]