@thienvu18/designable-core 2.0.0

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 (387) hide show
  1. package/LICENSE.md +20 -0
  2. package/README.md +1 -0
  3. package/esm/drivers/DragDropDriver.d.ts +14 -0
  4. package/esm/drivers/DragDropDriver.js +111 -0
  5. package/esm/drivers/KeyboardDriver.d.ts +7 -0
  6. package/esm/drivers/KeyboardDriver.js +46 -0
  7. package/esm/drivers/MouseClickDriver.d.ts +8 -0
  8. package/esm/drivers/MouseClickDriver.js +51 -0
  9. package/esm/drivers/MouseMoveDriver.d.ts +8 -0
  10. package/esm/drivers/MouseMoveDriver.js +31 -0
  11. package/esm/drivers/ViewportResizeDriver.d.ts +11 -0
  12. package/esm/drivers/ViewportResizeDriver.js +64 -0
  13. package/esm/drivers/ViewportScrollDriver.d.ts +8 -0
  14. package/esm/drivers/ViewportScrollDriver.js +30 -0
  15. package/esm/drivers/index.d.ts +6 -0
  16. package/esm/drivers/index.js +6 -0
  17. package/esm/effects/index.d.ts +11 -0
  18. package/esm/effects/index.js +11 -0
  19. package/esm/effects/useAutoScrollEffect.d.ts +2 -0
  20. package/esm/effects/useAutoScrollEffect.js +65 -0
  21. package/esm/effects/useContentEditableEffect.d.ts +2 -0
  22. package/esm/effects/useContentEditableEffect.js +163 -0
  23. package/esm/effects/useCursorEffect.d.ts +2 -0
  24. package/esm/effects/useCursorEffect.js +57 -0
  25. package/esm/effects/useDragDropEffect.d.ts +2 -0
  26. package/esm/effects/useDragDropEffect.js +155 -0
  27. package/esm/effects/useFreeSelectionEffect.d.ts +2 -0
  28. package/esm/effects/useFreeSelectionEffect.js +39 -0
  29. package/esm/effects/useKeyboardEffect.d.ts +2 -0
  30. package/esm/effects/useKeyboardEffect.js +17 -0
  31. package/esm/effects/useResizeEffect.d.ts +2 -0
  32. package/esm/effects/useResizeEffect.js +77 -0
  33. package/esm/effects/useSelectionEffect.d.ts +2 -0
  34. package/esm/effects/useSelectionEffect.js +70 -0
  35. package/esm/effects/useTranslateEffect.d.ts +2 -0
  36. package/esm/effects/useTranslateEffect.js +55 -0
  37. package/esm/effects/useViewportEffect.d.ts +2 -0
  38. package/esm/effects/useViewportEffect.js +29 -0
  39. package/esm/effects/useWorkspaceEffect.d.ts +2 -0
  40. package/esm/effects/useWorkspaceEffect.js +28 -0
  41. package/esm/events/cursor/AbstractCursorEvent.d.ts +21 -0
  42. package/esm/events/cursor/AbstractCursorEvent.js +37 -0
  43. package/esm/events/cursor/DragMoveEvent.d.ts +5 -0
  44. package/esm/events/cursor/DragMoveEvent.js +7 -0
  45. package/esm/events/cursor/DragStartEvent.d.ts +5 -0
  46. package/esm/events/cursor/DragStartEvent.js +7 -0
  47. package/esm/events/cursor/DragStopEvent.d.ts +5 -0
  48. package/esm/events/cursor/DragStopEvent.js +7 -0
  49. package/esm/events/cursor/MouseClickEvent.d.ts +8 -0
  50. package/esm/events/cursor/MouseClickEvent.js +13 -0
  51. package/esm/events/cursor/MouseMoveEvent.d.ts +5 -0
  52. package/esm/events/cursor/MouseMoveEvent.js +7 -0
  53. package/esm/events/cursor/index.d.ts +5 -0
  54. package/esm/events/cursor/index.js +5 -0
  55. package/esm/events/history/AbstractHistoryEvent.d.ts +6 -0
  56. package/esm/events/history/AbstractHistoryEvent.js +5 -0
  57. package/esm/events/history/HistoryGotoEvent.d.ts +5 -0
  58. package/esm/events/history/HistoryGotoEvent.js +7 -0
  59. package/esm/events/history/HistoryPushEvent.d.ts +5 -0
  60. package/esm/events/history/HistoryPushEvent.js +7 -0
  61. package/esm/events/history/HistoryRedoEvent.d.ts +5 -0
  62. package/esm/events/history/HistoryRedoEvent.js +7 -0
  63. package/esm/events/history/HistoryUndoEvent.d.ts +5 -0
  64. package/esm/events/history/HistoryUndoEvent.js +7 -0
  65. package/esm/events/history/index.d.ts +4 -0
  66. package/esm/events/history/index.js +4 -0
  67. package/esm/events/index.d.ts +6 -0
  68. package/esm/events/index.js +6 -0
  69. package/esm/events/keyboard/AbstractKeyboardEvent.d.ts +15 -0
  70. package/esm/events/keyboard/AbstractKeyboardEvent.js +38 -0
  71. package/esm/events/keyboard/KeyDownEvent.d.ts +5 -0
  72. package/esm/events/keyboard/KeyDownEvent.js +7 -0
  73. package/esm/events/keyboard/KeyUpEvent.d.ts +5 -0
  74. package/esm/events/keyboard/KeyUpEvent.js +7 -0
  75. package/esm/events/keyboard/index.d.ts +2 -0
  76. package/esm/events/keyboard/index.js +2 -0
  77. package/esm/events/mutation/AbstractMutationNodeEvent.d.ts +13 -0
  78. package/esm/events/mutation/AbstractMutationNodeEvent.js +5 -0
  79. package/esm/events/mutation/AppendNodeEvent.d.ts +5 -0
  80. package/esm/events/mutation/AppendNodeEvent.js +7 -0
  81. package/esm/events/mutation/CloneNodeEvent.d.ts +5 -0
  82. package/esm/events/mutation/CloneNodeEvent.js +7 -0
  83. package/esm/events/mutation/DragNodeEvent.d.ts +5 -0
  84. package/esm/events/mutation/DragNodeEvent.js +7 -0
  85. package/esm/events/mutation/DropNodeEvent.d.ts +5 -0
  86. package/esm/events/mutation/DropNodeEvent.js +7 -0
  87. package/esm/events/mutation/FromNodeEvent.d.ts +13 -0
  88. package/esm/events/mutation/FromNodeEvent.js +6 -0
  89. package/esm/events/mutation/HoverNodeEvent.d.ts +5 -0
  90. package/esm/events/mutation/HoverNodeEvent.js +7 -0
  91. package/esm/events/mutation/InsertAfterEvent.d.ts +5 -0
  92. package/esm/events/mutation/InsertAfterEvent.js +7 -0
  93. package/esm/events/mutation/InsertBeforeEvent.d.ts +5 -0
  94. package/esm/events/mutation/InsertBeforeEvent.js +7 -0
  95. package/esm/events/mutation/InsertChildrenEvent.d.ts +5 -0
  96. package/esm/events/mutation/InsertChildrenEvent.js +7 -0
  97. package/esm/events/mutation/PrependNodeEvent.d.ts +5 -0
  98. package/esm/events/mutation/PrependNodeEvent.js +7 -0
  99. package/esm/events/mutation/RemoveNodeEvent.d.ts +5 -0
  100. package/esm/events/mutation/RemoveNodeEvent.js +7 -0
  101. package/esm/events/mutation/SelectNodeEvent.d.ts +5 -0
  102. package/esm/events/mutation/SelectNodeEvent.js +7 -0
  103. package/esm/events/mutation/UnSelectNodeEvent.d.ts +5 -0
  104. package/esm/events/mutation/UnSelectNodeEvent.js +7 -0
  105. package/esm/events/mutation/UpdateChildrenEvent.d.ts +5 -0
  106. package/esm/events/mutation/UpdateChildrenEvent.js +7 -0
  107. package/esm/events/mutation/UpdateNodePropsEvent.d.ts +5 -0
  108. package/esm/events/mutation/UpdateNodePropsEvent.js +7 -0
  109. package/esm/events/mutation/UserSelectNodeEvent.d.ts +5 -0
  110. package/esm/events/mutation/UserSelectNodeEvent.js +7 -0
  111. package/esm/events/mutation/WrapNodeEvent.d.ts +5 -0
  112. package/esm/events/mutation/WrapNodeEvent.js +7 -0
  113. package/esm/events/mutation/index.d.ts +16 -0
  114. package/esm/events/mutation/index.js +16 -0
  115. package/esm/events/viewport/AbstractViewportEvent.d.ts +16 -0
  116. package/esm/events/viewport/AbstractViewportEvent.js +15 -0
  117. package/esm/events/viewport/ViewportResizeEvent.d.ts +5 -0
  118. package/esm/events/viewport/ViewportResizeEvent.js +7 -0
  119. package/esm/events/viewport/ViewportScrollEvent.d.ts +5 -0
  120. package/esm/events/viewport/ViewportScrollEvent.js +7 -0
  121. package/esm/events/viewport/index.d.ts +2 -0
  122. package/esm/events/viewport/index.js +2 -0
  123. package/esm/events/workbench/AbstractWorkspaceEvent.d.ts +7 -0
  124. package/esm/events/workbench/AbstractWorkspaceEvent.js +5 -0
  125. package/esm/events/workbench/AddWorkspaceEvent.d.ts +5 -0
  126. package/esm/events/workbench/AddWorkspaceEvent.js +7 -0
  127. package/esm/events/workbench/RemoveWorkspaceEvent.d.ts +5 -0
  128. package/esm/events/workbench/RemoveWorkspaceEvent.js +7 -0
  129. package/esm/events/workbench/SwitchWorkspaceEvent.d.ts +5 -0
  130. package/esm/events/workbench/SwitchWorkspaceEvent.js +7 -0
  131. package/esm/events/workbench/index.d.ts +3 -0
  132. package/esm/events/workbench/index.js +3 -0
  133. package/esm/exports.d.ts +5 -0
  134. package/esm/exports.js +5 -0
  135. package/esm/externals.d.ts +12 -0
  136. package/esm/externals.js +58 -0
  137. package/esm/index.d.ts +1 -0
  138. package/esm/index.js +15 -0
  139. package/esm/internals.d.ts +3 -0
  140. package/esm/internals.js +33 -0
  141. package/esm/models/Cursor.d.ts +60 -0
  142. package/esm/models/Cursor.js +133 -0
  143. package/esm/models/Engine.d.ts +29 -0
  144. package/esm/models/Engine.js +83 -0
  145. package/esm/models/History.d.ts +34 -0
  146. package/esm/models/History.js +96 -0
  147. package/esm/models/Hover.d.ts +14 -0
  148. package/esm/models/Hover.js +36 -0
  149. package/esm/models/Keyboard.d.ts +29 -0
  150. package/esm/models/Keyboard.js +102 -0
  151. package/esm/models/MoveHelper.d.ts +66 -0
  152. package/esm/models/MoveHelper.js +313 -0
  153. package/esm/models/Operation.d.ts +29 -0
  154. package/esm/models/Operation.js +66 -0
  155. package/esm/models/Screen.d.ts +31 -0
  156. package/esm/models/Screen.js +71 -0
  157. package/esm/models/Selection.d.ts +29 -0
  158. package/esm/models/Selection.js +155 -0
  159. package/esm/models/Shortcut.d.ts +20 -0
  160. package/esm/models/Shortcut.js +64 -0
  161. package/esm/models/SnapLine.d.ts +27 -0
  162. package/esm/models/SnapLine.js +110 -0
  163. package/esm/models/SpaceBlock.d.ts +40 -0
  164. package/esm/models/SpaceBlock.js +126 -0
  165. package/esm/models/TransformHelper.d.ts +80 -0
  166. package/esm/models/TransformHelper.js +455 -0
  167. package/esm/models/TreeNode.d.ts +115 -0
  168. package/esm/models/TreeNode.js +747 -0
  169. package/esm/models/Viewport.d.ts +90 -0
  170. package/esm/models/Viewport.js +393 -0
  171. package/esm/models/Workbench.d.ts +23 -0
  172. package/esm/models/Workbench.js +95 -0
  173. package/esm/models/Workspace.d.ts +41 -0
  174. package/esm/models/Workspace.js +92 -0
  175. package/esm/models/index.d.ts +13 -0
  176. package/esm/models/index.js +13 -0
  177. package/esm/presets.d.ts +4 -0
  178. package/esm/presets.js +38 -0
  179. package/esm/registry.d.ts +16 -0
  180. package/esm/registry.js +113 -0
  181. package/esm/shortcuts/CursorSwitch.d.ts +2 -0
  182. package/esm/shortcuts/CursorSwitch.js +10 -0
  183. package/esm/shortcuts/MultiSelection.d.ts +5 -0
  184. package/esm/shortcuts/MultiSelection.js +27 -0
  185. package/esm/shortcuts/NodeMutation.d.ts +7 -0
  186. package/esm/shortcuts/NodeMutation.js +40 -0
  187. package/esm/shortcuts/QuickSelection.d.ts +3 -0
  188. package/esm/shortcuts/QuickSelection.js +84 -0
  189. package/esm/shortcuts/UndoRedo.d.ts +3 -0
  190. package/esm/shortcuts/UndoRedo.js +27 -0
  191. package/esm/shortcuts/index.d.ts +5 -0
  192. package/esm/shortcuts/index.js +5 -0
  193. package/esm/types.d.ts +131 -0
  194. package/esm/types.js +1 -0
  195. package/lib/drivers/DragDropDriver.d.ts +14 -0
  196. package/lib/drivers/DragDropDriver.js +115 -0
  197. package/lib/drivers/KeyboardDriver.d.ts +7 -0
  198. package/lib/drivers/KeyboardDriver.js +50 -0
  199. package/lib/drivers/MouseClickDriver.d.ts +8 -0
  200. package/lib/drivers/MouseClickDriver.js +55 -0
  201. package/lib/drivers/MouseMoveDriver.d.ts +8 -0
  202. package/lib/drivers/MouseMoveDriver.js +35 -0
  203. package/lib/drivers/ViewportResizeDriver.d.ts +11 -0
  204. package/lib/drivers/ViewportResizeDriver.js +68 -0
  205. package/lib/drivers/ViewportScrollDriver.d.ts +8 -0
  206. package/lib/drivers/ViewportScrollDriver.js +34 -0
  207. package/lib/drivers/index.d.ts +6 -0
  208. package/lib/drivers/index.js +22 -0
  209. package/lib/effects/index.d.ts +11 -0
  210. package/lib/effects/index.js +27 -0
  211. package/lib/effects/useAutoScrollEffect.d.ts +2 -0
  212. package/lib/effects/useAutoScrollEffect.js +69 -0
  213. package/lib/effects/useContentEditableEffect.d.ts +2 -0
  214. package/lib/effects/useContentEditableEffect.js +167 -0
  215. package/lib/effects/useCursorEffect.d.ts +2 -0
  216. package/lib/effects/useCursorEffect.js +61 -0
  217. package/lib/effects/useDragDropEffect.d.ts +2 -0
  218. package/lib/effects/useDragDropEffect.js +159 -0
  219. package/lib/effects/useFreeSelectionEffect.d.ts +2 -0
  220. package/lib/effects/useFreeSelectionEffect.js +43 -0
  221. package/lib/effects/useKeyboardEffect.d.ts +2 -0
  222. package/lib/effects/useKeyboardEffect.js +21 -0
  223. package/lib/effects/useResizeEffect.d.ts +2 -0
  224. package/lib/effects/useResizeEffect.js +81 -0
  225. package/lib/effects/useSelectionEffect.d.ts +2 -0
  226. package/lib/effects/useSelectionEffect.js +74 -0
  227. package/lib/effects/useTranslateEffect.d.ts +2 -0
  228. package/lib/effects/useTranslateEffect.js +59 -0
  229. package/lib/effects/useViewportEffect.d.ts +2 -0
  230. package/lib/effects/useViewportEffect.js +33 -0
  231. package/lib/effects/useWorkspaceEffect.d.ts +2 -0
  232. package/lib/effects/useWorkspaceEffect.js +32 -0
  233. package/lib/events/cursor/AbstractCursorEvent.d.ts +21 -0
  234. package/lib/events/cursor/AbstractCursorEvent.js +41 -0
  235. package/lib/events/cursor/DragMoveEvent.d.ts +5 -0
  236. package/lib/events/cursor/DragMoveEvent.js +11 -0
  237. package/lib/events/cursor/DragStartEvent.d.ts +5 -0
  238. package/lib/events/cursor/DragStartEvent.js +11 -0
  239. package/lib/events/cursor/DragStopEvent.d.ts +5 -0
  240. package/lib/events/cursor/DragStopEvent.js +11 -0
  241. package/lib/events/cursor/MouseClickEvent.d.ts +8 -0
  242. package/lib/events/cursor/MouseClickEvent.js +18 -0
  243. package/lib/events/cursor/MouseMoveEvent.d.ts +5 -0
  244. package/lib/events/cursor/MouseMoveEvent.js +11 -0
  245. package/lib/events/cursor/index.d.ts +5 -0
  246. package/lib/events/cursor/index.js +21 -0
  247. package/lib/events/history/AbstractHistoryEvent.d.ts +6 -0
  248. package/lib/events/history/AbstractHistoryEvent.js +9 -0
  249. package/lib/events/history/HistoryGotoEvent.d.ts +5 -0
  250. package/lib/events/history/HistoryGotoEvent.js +11 -0
  251. package/lib/events/history/HistoryPushEvent.d.ts +5 -0
  252. package/lib/events/history/HistoryPushEvent.js +11 -0
  253. package/lib/events/history/HistoryRedoEvent.d.ts +5 -0
  254. package/lib/events/history/HistoryRedoEvent.js +11 -0
  255. package/lib/events/history/HistoryUndoEvent.d.ts +5 -0
  256. package/lib/events/history/HistoryUndoEvent.js +11 -0
  257. package/lib/events/history/index.d.ts +4 -0
  258. package/lib/events/history/index.js +20 -0
  259. package/lib/events/index.d.ts +6 -0
  260. package/lib/events/index.js +22 -0
  261. package/lib/events/keyboard/AbstractKeyboardEvent.d.ts +15 -0
  262. package/lib/events/keyboard/AbstractKeyboardEvent.js +42 -0
  263. package/lib/events/keyboard/KeyDownEvent.d.ts +5 -0
  264. package/lib/events/keyboard/KeyDownEvent.js +11 -0
  265. package/lib/events/keyboard/KeyUpEvent.d.ts +5 -0
  266. package/lib/events/keyboard/KeyUpEvent.js +11 -0
  267. package/lib/events/keyboard/index.d.ts +2 -0
  268. package/lib/events/keyboard/index.js +18 -0
  269. package/lib/events/mutation/AbstractMutationNodeEvent.d.ts +13 -0
  270. package/lib/events/mutation/AbstractMutationNodeEvent.js +9 -0
  271. package/lib/events/mutation/AppendNodeEvent.d.ts +5 -0
  272. package/lib/events/mutation/AppendNodeEvent.js +11 -0
  273. package/lib/events/mutation/CloneNodeEvent.d.ts +5 -0
  274. package/lib/events/mutation/CloneNodeEvent.js +11 -0
  275. package/lib/events/mutation/DragNodeEvent.d.ts +5 -0
  276. package/lib/events/mutation/DragNodeEvent.js +11 -0
  277. package/lib/events/mutation/DropNodeEvent.d.ts +5 -0
  278. package/lib/events/mutation/DropNodeEvent.js +11 -0
  279. package/lib/events/mutation/FromNodeEvent.d.ts +13 -0
  280. package/lib/events/mutation/FromNodeEvent.js +10 -0
  281. package/lib/events/mutation/HoverNodeEvent.d.ts +5 -0
  282. package/lib/events/mutation/HoverNodeEvent.js +11 -0
  283. package/lib/events/mutation/InsertAfterEvent.d.ts +5 -0
  284. package/lib/events/mutation/InsertAfterEvent.js +11 -0
  285. package/lib/events/mutation/InsertBeforeEvent.d.ts +5 -0
  286. package/lib/events/mutation/InsertBeforeEvent.js +11 -0
  287. package/lib/events/mutation/InsertChildrenEvent.d.ts +5 -0
  288. package/lib/events/mutation/InsertChildrenEvent.js +11 -0
  289. package/lib/events/mutation/PrependNodeEvent.d.ts +5 -0
  290. package/lib/events/mutation/PrependNodeEvent.js +11 -0
  291. package/lib/events/mutation/RemoveNodeEvent.d.ts +5 -0
  292. package/lib/events/mutation/RemoveNodeEvent.js +11 -0
  293. package/lib/events/mutation/SelectNodeEvent.d.ts +5 -0
  294. package/lib/events/mutation/SelectNodeEvent.js +11 -0
  295. package/lib/events/mutation/UnSelectNodeEvent.d.ts +5 -0
  296. package/lib/events/mutation/UnSelectNodeEvent.js +11 -0
  297. package/lib/events/mutation/UpdateChildrenEvent.d.ts +5 -0
  298. package/lib/events/mutation/UpdateChildrenEvent.js +11 -0
  299. package/lib/events/mutation/UpdateNodePropsEvent.d.ts +5 -0
  300. package/lib/events/mutation/UpdateNodePropsEvent.js +11 -0
  301. package/lib/events/mutation/UserSelectNodeEvent.d.ts +5 -0
  302. package/lib/events/mutation/UserSelectNodeEvent.js +11 -0
  303. package/lib/events/mutation/WrapNodeEvent.d.ts +5 -0
  304. package/lib/events/mutation/WrapNodeEvent.js +11 -0
  305. package/lib/events/mutation/index.d.ts +16 -0
  306. package/lib/events/mutation/index.js +32 -0
  307. package/lib/events/viewport/AbstractViewportEvent.d.ts +16 -0
  308. package/lib/events/viewport/AbstractViewportEvent.js +19 -0
  309. package/lib/events/viewport/ViewportResizeEvent.d.ts +5 -0
  310. package/lib/events/viewport/ViewportResizeEvent.js +11 -0
  311. package/lib/events/viewport/ViewportScrollEvent.d.ts +5 -0
  312. package/lib/events/viewport/ViewportScrollEvent.js +11 -0
  313. package/lib/events/viewport/index.d.ts +2 -0
  314. package/lib/events/viewport/index.js +18 -0
  315. package/lib/events/workbench/AbstractWorkspaceEvent.d.ts +7 -0
  316. package/lib/events/workbench/AbstractWorkspaceEvent.js +9 -0
  317. package/lib/events/workbench/AddWorkspaceEvent.d.ts +5 -0
  318. package/lib/events/workbench/AddWorkspaceEvent.js +11 -0
  319. package/lib/events/workbench/RemoveWorkspaceEvent.d.ts +5 -0
  320. package/lib/events/workbench/RemoveWorkspaceEvent.js +11 -0
  321. package/lib/events/workbench/SwitchWorkspaceEvent.d.ts +5 -0
  322. package/lib/events/workbench/SwitchWorkspaceEvent.js +11 -0
  323. package/lib/events/workbench/index.d.ts +3 -0
  324. package/lib/events/workbench/index.js +19 -0
  325. package/lib/exports.d.ts +5 -0
  326. package/lib/exports.js +21 -0
  327. package/lib/externals.d.ts +12 -0
  328. package/lib/externals.js +71 -0
  329. package/lib/index.d.ts +1 -0
  330. package/lib/index.js +43 -0
  331. package/lib/internals.d.ts +3 -0
  332. package/lib/internals.js +39 -0
  333. package/lib/models/Cursor.d.ts +60 -0
  334. package/lib/models/Cursor.js +137 -0
  335. package/lib/models/Engine.d.ts +29 -0
  336. package/lib/models/Engine.js +87 -0
  337. package/lib/models/History.d.ts +34 -0
  338. package/lib/models/History.js +100 -0
  339. package/lib/models/Hover.d.ts +14 -0
  340. package/lib/models/Hover.js +40 -0
  341. package/lib/models/Keyboard.d.ts +29 -0
  342. package/lib/models/Keyboard.js +106 -0
  343. package/lib/models/MoveHelper.d.ts +66 -0
  344. package/lib/models/MoveHelper.js +317 -0
  345. package/lib/models/Operation.d.ts +29 -0
  346. package/lib/models/Operation.js +70 -0
  347. package/lib/models/Screen.d.ts +31 -0
  348. package/lib/models/Screen.js +75 -0
  349. package/lib/models/Selection.d.ts +29 -0
  350. package/lib/models/Selection.js +159 -0
  351. package/lib/models/Shortcut.d.ts +20 -0
  352. package/lib/models/Shortcut.js +68 -0
  353. package/lib/models/SnapLine.d.ts +27 -0
  354. package/lib/models/SnapLine.js +114 -0
  355. package/lib/models/SpaceBlock.d.ts +40 -0
  356. package/lib/models/SpaceBlock.js +130 -0
  357. package/lib/models/TransformHelper.d.ts +80 -0
  358. package/lib/models/TransformHelper.js +459 -0
  359. package/lib/models/TreeNode.d.ts +115 -0
  360. package/lib/models/TreeNode.js +751 -0
  361. package/lib/models/Viewport.d.ts +90 -0
  362. package/lib/models/Viewport.js +397 -0
  363. package/lib/models/Workbench.d.ts +23 -0
  364. package/lib/models/Workbench.js +99 -0
  365. package/lib/models/Workspace.d.ts +41 -0
  366. package/lib/models/Workspace.js +96 -0
  367. package/lib/models/index.d.ts +13 -0
  368. package/lib/models/index.js +29 -0
  369. package/lib/presets.d.ts +4 -0
  370. package/lib/presets.js +41 -0
  371. package/lib/registry.d.ts +16 -0
  372. package/lib/registry.js +116 -0
  373. package/lib/shortcuts/CursorSwitch.d.ts +2 -0
  374. package/lib/shortcuts/CursorSwitch.js +13 -0
  375. package/lib/shortcuts/MultiSelection.d.ts +5 -0
  376. package/lib/shortcuts/MultiSelection.js +30 -0
  377. package/lib/shortcuts/NodeMutation.d.ts +7 -0
  378. package/lib/shortcuts/NodeMutation.js +43 -0
  379. package/lib/shortcuts/QuickSelection.d.ts +3 -0
  380. package/lib/shortcuts/QuickSelection.js +87 -0
  381. package/lib/shortcuts/UndoRedo.d.ts +3 -0
  382. package/lib/shortcuts/UndoRedo.js +30 -0
  383. package/lib/shortcuts/index.d.ts +5 -0
  384. package/lib/shortcuts/index.js +21 -0
  385. package/lib/types.d.ts +131 -0
  386. package/lib/types.js +2 -0
  387. package/package.json +48 -0
@@ -0,0 +1,29 @@
1
+ import { ViewportResizeEvent, ViewportScrollEvent } from '../events';
2
+ export const useViewportEffect = (engine) => {
3
+ engine.subscribeTo(ViewportResizeEvent, (event) => {
4
+ const currentWorkspace = event?.context?.workspace;
5
+ if (!currentWorkspace)
6
+ return;
7
+ const viewport = currentWorkspace.viewport;
8
+ const outline = currentWorkspace.outline;
9
+ if (viewport.matchViewport(event.data.target)) {
10
+ viewport.digestViewport();
11
+ }
12
+ if (outline.matchViewport(event.data.target)) {
13
+ outline.digestViewport();
14
+ }
15
+ });
16
+ engine.subscribeTo(ViewportScrollEvent, (event) => {
17
+ const currentWorkspace = event?.context?.workspace;
18
+ if (!currentWorkspace)
19
+ return;
20
+ const viewport = currentWorkspace.viewport;
21
+ const outline = currentWorkspace.outline;
22
+ if (viewport.matchViewport(event.data.target)) {
23
+ viewport.digestViewport();
24
+ }
25
+ if (outline.matchViewport(event.data.target)) {
26
+ outline.digestViewport();
27
+ }
28
+ });
29
+ };
@@ -0,0 +1,2 @@
1
+ import { Engine } from '../models';
2
+ export declare const useWorkspaceEffect: (engine: Engine) => void;
@@ -0,0 +1,28 @@
1
+ import { SelectNodeEvent } from '../events';
2
+ export const useWorkspaceEffect = (engine) => {
3
+ engine.subscribeWith([
4
+ 'append:node',
5
+ 'insert:after',
6
+ 'insert:before',
7
+ 'insert:children',
8
+ 'drag:node',
9
+ 'drop:node',
10
+ 'prepend:node',
11
+ 'remove:node',
12
+ 'select:node',
13
+ 'update:children',
14
+ 'wrap:node',
15
+ 'update:node:props',
16
+ ], (event) => {
17
+ if (event.context?.workbench) {
18
+ engine.workbench.setActiveWorkspace(event.context.workspace);
19
+ }
20
+ });
21
+ engine.subscribeTo(SelectNodeEvent, (event) => {
22
+ engine.workbench.eachWorkspace((workspace) => {
23
+ if (workspace !== event.context.workspace) {
24
+ workspace.operation.selection.clear();
25
+ }
26
+ });
27
+ });
28
+ };
@@ -0,0 +1,21 @@
1
+ import { IEngineContext } from '../../types';
2
+ export interface ICursorEventOriginData {
3
+ clientX: number;
4
+ clientY: number;
5
+ pageX: number;
6
+ pageY: number;
7
+ target: EventTarget;
8
+ view: Window;
9
+ }
10
+ export interface ICursorEventData extends ICursorEventOriginData {
11
+ topClientX?: number;
12
+ topClientY?: number;
13
+ topPageX?: number;
14
+ topPageY?: number;
15
+ }
16
+ export declare class AbstractCursorEvent {
17
+ data: ICursorEventData;
18
+ context: IEngineContext;
19
+ constructor(data: ICursorEventOriginData);
20
+ transformCoordinates(): void;
21
+ }
@@ -0,0 +1,37 @@
1
+ import { globalThisPolyfill } from '@thienvu18/designable-shared';
2
+ export class AbstractCursorEvent {
3
+ constructor(data) {
4
+ this.data = data || {
5
+ clientX: 0,
6
+ clientY: 0,
7
+ pageX: 0,
8
+ pageY: 0,
9
+ target: null,
10
+ view: globalThisPolyfill,
11
+ };
12
+ this.transformCoordinates();
13
+ }
14
+ transformCoordinates() {
15
+ const { frameElement } = this.data?.view || {};
16
+ if (frameElement && this.data.view !== globalThisPolyfill) {
17
+ const frameRect = frameElement.getBoundingClientRect();
18
+ const scale = frameRect.width / frameElement['offsetWidth'];
19
+ this.data.topClientX = this.data.clientX * scale + frameRect.x;
20
+ this.data.topClientY = this.data.clientY * scale + frameRect.y;
21
+ this.data.topPageX =
22
+ this.data.pageX + frameRect.x - this.data.view.scrollX;
23
+ this.data.topPageY =
24
+ this.data.pageY + frameRect.y - this.data.view.scrollY;
25
+ const topElement = document.elementFromPoint(this.data.topPageX, this.data.topClientY);
26
+ if (topElement !== frameElement) {
27
+ this.data.target = topElement;
28
+ }
29
+ }
30
+ else {
31
+ this.data.topClientX = this.data.clientX;
32
+ this.data.topClientY = this.data.clientY;
33
+ this.data.topPageX = this.data.pageX;
34
+ this.data.topPageY = this.data.pageY;
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractCursorEvent } from './AbstractCursorEvent';
3
+ export declare class DragMoveEvent extends AbstractCursorEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractCursorEvent } from './AbstractCursorEvent';
2
+ export class DragMoveEvent extends AbstractCursorEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'drag:move';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractCursorEvent } from './AbstractCursorEvent';
3
+ export declare class DragStartEvent extends AbstractCursorEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractCursorEvent } from './AbstractCursorEvent';
2
+ export class DragStartEvent extends AbstractCursorEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'drag:start';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractCursorEvent } from './AbstractCursorEvent';
3
+ export declare class DragStopEvent extends AbstractCursorEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractCursorEvent } from './AbstractCursorEvent';
2
+ export class DragStopEvent extends AbstractCursorEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'drag:stop';
6
+ }
7
+ }
@@ -0,0 +1,8 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractCursorEvent } from './AbstractCursorEvent';
3
+ export declare class MouseClickEvent extends AbstractCursorEvent implements ICustomEvent {
4
+ type: string;
5
+ }
6
+ export declare class MouseDoubleClickEvent extends AbstractCursorEvent implements ICustomEvent {
7
+ type: string;
8
+ }
@@ -0,0 +1,13 @@
1
+ import { AbstractCursorEvent } from './AbstractCursorEvent';
2
+ export class MouseClickEvent extends AbstractCursorEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'mouse:click';
6
+ }
7
+ }
8
+ export class MouseDoubleClickEvent extends AbstractCursorEvent {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.type = 'mouse:dblclick';
12
+ }
13
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractCursorEvent } from './AbstractCursorEvent';
3
+ export declare class MouseMoveEvent extends AbstractCursorEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractCursorEvent } from './AbstractCursorEvent';
2
+ export class MouseMoveEvent extends AbstractCursorEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'mouse:move';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ export * from './DragMoveEvent';
2
+ export * from './DragStartEvent';
3
+ export * from './DragStopEvent';
4
+ export * from './MouseClickEvent';
5
+ export * from './MouseMoveEvent';
@@ -0,0 +1,5 @@
1
+ export * from './DragMoveEvent';
2
+ export * from './DragStartEvent';
3
+ export * from './DragStopEvent';
4
+ export * from './MouseClickEvent';
5
+ export * from './MouseMoveEvent';
@@ -0,0 +1,6 @@
1
+ import { IEngineContext } from '../../types';
2
+ export declare class AbstractHistoryEvent {
3
+ data: any;
4
+ context: IEngineContext;
5
+ constructor(data: any);
6
+ }
@@ -0,0 +1,5 @@
1
+ export class AbstractHistoryEvent {
2
+ constructor(data) {
3
+ this.data = data;
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractHistoryEvent } from './AbstractHistoryEvent';
3
+ export declare class HistoryGotoEvent extends AbstractHistoryEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractHistoryEvent } from './AbstractHistoryEvent';
2
+ export class HistoryGotoEvent extends AbstractHistoryEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'history:goto';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractHistoryEvent } from './AbstractHistoryEvent';
3
+ export declare class HistoryPushEvent extends AbstractHistoryEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractHistoryEvent } from './AbstractHistoryEvent';
2
+ export class HistoryPushEvent extends AbstractHistoryEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'history:push';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractHistoryEvent } from './AbstractHistoryEvent';
3
+ export declare class HistoryUndoEvent extends AbstractHistoryEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractHistoryEvent } from './AbstractHistoryEvent';
2
+ export class HistoryUndoEvent extends AbstractHistoryEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'history:undo';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractHistoryEvent } from './AbstractHistoryEvent';
3
+ export declare class HistoryRedoEvent extends AbstractHistoryEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractHistoryEvent } from './AbstractHistoryEvent';
2
+ export class HistoryRedoEvent extends AbstractHistoryEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'history:redo';
6
+ }
7
+ }
@@ -0,0 +1,4 @@
1
+ export * from './HistoryRedoEvent';
2
+ export * from './HistoryUndoEvent';
3
+ export * from './HistoryGotoEvent';
4
+ export * from './HistoryPushEvent';
@@ -0,0 +1,4 @@
1
+ export * from './HistoryRedoEvent';
2
+ export * from './HistoryUndoEvent';
3
+ export * from './HistoryGotoEvent';
4
+ export * from './HistoryPushEvent';
@@ -0,0 +1,6 @@
1
+ export * from './cursor';
2
+ export * from './keyboard';
3
+ export * from './mutation';
4
+ export * from './viewport';
5
+ export * from './workbench';
6
+ export * from './history';
@@ -0,0 +1,6 @@
1
+ export * from './cursor';
2
+ export * from './keyboard';
3
+ export * from './mutation';
4
+ export * from './viewport';
5
+ export * from './workbench';
6
+ export * from './history';
@@ -0,0 +1,15 @@
1
+ import { KeyCode } from '@thienvu18/designable-shared';
2
+ import { IEngineContext } from '../../types';
3
+ export declare class AbstractKeyboardEvent {
4
+ data: KeyCode;
5
+ context: IEngineContext;
6
+ originEvent: KeyboardEvent;
7
+ constructor(e: KeyboardEvent);
8
+ get eventType(): string;
9
+ get ctrlKey(): boolean;
10
+ get shiftKey(): boolean;
11
+ get metaKey(): boolean;
12
+ get altkey(): boolean;
13
+ preventDefault(): void;
14
+ stopPropagation(): void;
15
+ }
@@ -0,0 +1,38 @@
1
+ import { getKeyCodeFromEvent } from '@thienvu18/designable-shared';
2
+ export class AbstractKeyboardEvent {
3
+ constructor(e) {
4
+ this.data = getKeyCodeFromEvent(e);
5
+ this.originEvent = e;
6
+ }
7
+ get eventType() {
8
+ return this.originEvent.type;
9
+ }
10
+ get ctrlKey() {
11
+ return this.originEvent.ctrlKey;
12
+ }
13
+ get shiftKey() {
14
+ return this.originEvent.shiftKey;
15
+ }
16
+ get metaKey() {
17
+ return this.originEvent.metaKey;
18
+ }
19
+ get altkey() {
20
+ return this.originEvent.altKey;
21
+ }
22
+ preventDefault() {
23
+ if (this.originEvent.preventDefault) {
24
+ this.originEvent.preventDefault();
25
+ }
26
+ else {
27
+ this.originEvent.returnValue = false;
28
+ }
29
+ }
30
+ stopPropagation() {
31
+ if (this.originEvent?.stopPropagation) {
32
+ this.originEvent.stopPropagation();
33
+ }
34
+ else {
35
+ this.originEvent.cancelBubble = true;
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractKeyboardEvent } from './AbstractKeyboardEvent';
3
+ export declare class KeyDownEvent extends AbstractKeyboardEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractKeyboardEvent } from './AbstractKeyboardEvent';
2
+ export class KeyDownEvent extends AbstractKeyboardEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'key:down';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractKeyboardEvent } from './AbstractKeyboardEvent';
3
+ export declare class KeyUpEvent extends AbstractKeyboardEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractKeyboardEvent } from './AbstractKeyboardEvent';
2
+ export class KeyUpEvent extends AbstractKeyboardEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'key:up';
6
+ }
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './KeyDownEvent';
2
+ export * from './KeyUpEvent';
@@ -0,0 +1,2 @@
1
+ export * from './KeyDownEvent';
2
+ export * from './KeyUpEvent';
@@ -0,0 +1,13 @@
1
+ import { TreeNode } from '../../models';
2
+ import { IEngineContext } from '../../types';
3
+ export interface IMutationNodeEventData {
4
+ source: TreeNode | TreeNode[];
5
+ target: TreeNode | TreeNode[];
6
+ originSourceParents?: TreeNode | TreeNode[];
7
+ extra?: any;
8
+ }
9
+ export declare class AbstractMutationNodeEvent {
10
+ data: IMutationNodeEventData;
11
+ context: IEngineContext;
12
+ constructor(data: IMutationNodeEventData);
13
+ }
@@ -0,0 +1,5 @@
1
+ export class AbstractMutationNodeEvent {
2
+ constructor(data) {
3
+ this.data = data;
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
3
+ export declare class AppendNodeEvent extends AbstractMutationNodeEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
2
+ export class AppendNodeEvent extends AbstractMutationNodeEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'append:node';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
3
+ export declare class CloneNodeEvent extends AbstractMutationNodeEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
2
+ export class CloneNodeEvent extends AbstractMutationNodeEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'clone:node';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
3
+ export declare class DragNodeEvent extends AbstractMutationNodeEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
2
+ export class DragNodeEvent extends AbstractMutationNodeEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'drag:node';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
3
+ export declare class DropNodeEvent extends AbstractMutationNodeEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
2
+ export class DropNodeEvent extends AbstractMutationNodeEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'drop:node';
6
+ }
7
+ }
@@ -0,0 +1,13 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { ITreeNode, TreeNode } from '../../models';
3
+ import { IEngineContext } from '../../types';
4
+ export interface IFromNodeEventData {
5
+ source: ITreeNode;
6
+ target: TreeNode;
7
+ }
8
+ export declare class FromNodeEvent implements ICustomEvent {
9
+ type: string;
10
+ data: IFromNodeEventData;
11
+ context: IEngineContext;
12
+ constructor(data: IFromNodeEventData);
13
+ }
@@ -0,0 +1,6 @@
1
+ export class FromNodeEvent {
2
+ constructor(data) {
3
+ this.type = 'from:node';
4
+ this.data = data;
5
+ }
6
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
3
+ export declare class HoverNodeEvent extends AbstractMutationNodeEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
2
+ export class HoverNodeEvent extends AbstractMutationNodeEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'hover:node';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
3
+ export declare class InsertAfterEvent extends AbstractMutationNodeEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
2
+ export class InsertAfterEvent extends AbstractMutationNodeEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'insert:after';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
3
+ export declare class InsertBeforeEvent extends AbstractMutationNodeEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
2
+ export class InsertBeforeEvent extends AbstractMutationNodeEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'insert:before';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
3
+ export declare class InsertChildrenEvent extends AbstractMutationNodeEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
2
+ export class InsertChildrenEvent extends AbstractMutationNodeEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'insert:children';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
3
+ export declare class PrependNodeEvent extends AbstractMutationNodeEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
2
+ export class PrependNodeEvent extends AbstractMutationNodeEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'prepend:node';
6
+ }
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ICustomEvent } from '@thienvu18/designable-shared';
2
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
3
+ export declare class RemoveNodeEvent extends AbstractMutationNodeEvent implements ICustomEvent {
4
+ type: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractMutationNodeEvent } from './AbstractMutationNodeEvent';
2
+ export class RemoveNodeEvent extends AbstractMutationNodeEvent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.type = 'remove:node';
6
+ }
7
+ }