@thienvu18/designable-core 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/esm/drivers/DragDropDriver.d.ts +12 -12
  2. package/esm/drivers/DragDropDriver.js +127 -105
  3. package/esm/drivers/KeyboardDriver.d.ts +5 -5
  4. package/esm/drivers/KeyboardDriver.js +41 -40
  5. package/esm/drivers/MouseClickDriver.d.ts +6 -6
  6. package/esm/drivers/MouseClickDriver.js +55 -47
  7. package/esm/drivers/MouseMoveDriver.d.ts +6 -6
  8. package/esm/drivers/MouseMoveDriver.js +30 -28
  9. package/esm/drivers/ViewportResizeDriver.d.ts +9 -9
  10. package/esm/drivers/ViewportResizeDriver.js +56 -59
  11. package/esm/drivers/ViewportScrollDriver.d.ts +6 -6
  12. package/esm/drivers/ViewportScrollDriver.js +29 -27
  13. package/esm/drivers/index.d.ts +6 -6
  14. package/esm/drivers/index.js +6 -6
  15. package/esm/effects/index.d.ts +11 -11
  16. package/esm/effects/index.js +11 -11
  17. package/esm/effects/useAutoScrollEffect.d.ts +2 -2
  18. package/esm/effects/useAutoScrollEffect.js +70 -59
  19. package/esm/effects/useContentEditableEffect.d.ts +2 -2
  20. package/esm/effects/useContentEditableEffect.js +174 -150
  21. package/esm/effects/useCursorEffect.d.ts +2 -2
  22. package/esm/effects/useCursorEffect.js +58 -54
  23. package/esm/effects/useDragDropEffect.d.ts +2 -2
  24. package/esm/effects/useDragDropEffect.js +170 -145
  25. package/esm/effects/useFreeSelectionEffect.d.ts +2 -2
  26. package/esm/effects/useFreeSelectionEffect.js +58 -36
  27. package/esm/effects/useKeyboardEffect.d.ts +2 -2
  28. package/esm/effects/useKeyboardEffect.js +16 -16
  29. package/esm/effects/useResizeEffect.d.ts +2 -2
  30. package/esm/effects/useResizeEffect.js +84 -73
  31. package/esm/effects/useSelectionEffect.d.ts +2 -2
  32. package/esm/effects/useSelectionEffect.js +62 -65
  33. package/esm/effects/useTranslateEffect.d.ts +2 -2
  34. package/esm/effects/useTranslateEffect.js +55 -52
  35. package/esm/effects/useViewportEffect.d.ts +2 -2
  36. package/esm/effects/useViewportEffect.js +26 -28
  37. package/esm/effects/useWorkspaceEffect.d.ts +2 -2
  38. package/esm/effects/useWorkspaceEffect.js +30 -27
  39. package/esm/events/cursor/AbstractCursorEvent.d.ts +15 -15
  40. package/esm/events/cursor/AbstractCursorEvent.js +35 -33
  41. package/esm/events/cursor/DragMoveEvent.d.ts +7 -4
  42. package/esm/events/cursor/DragMoveEvent.js +5 -5
  43. package/esm/events/cursor/DragStartEvent.d.ts +7 -4
  44. package/esm/events/cursor/DragStartEvent.js +5 -5
  45. package/esm/events/cursor/DragStopEvent.d.ts +7 -4
  46. package/esm/events/cursor/DragStopEvent.js +5 -5
  47. package/esm/events/cursor/MouseClickEvent.d.ts +12 -6
  48. package/esm/events/cursor/MouseClickEvent.js +9 -9
  49. package/esm/events/cursor/MouseMoveEvent.d.ts +7 -4
  50. package/esm/events/cursor/MouseMoveEvent.js +5 -5
  51. package/esm/events/cursor/index.d.ts +5 -5
  52. package/esm/events/cursor/index.js +5 -5
  53. package/esm/events/history/AbstractHistoryEvent.d.ts +4 -4
  54. package/esm/events/history/AbstractHistoryEvent.js +3 -3
  55. package/esm/events/history/HistoryGotoEvent.d.ts +7 -4
  56. package/esm/events/history/HistoryGotoEvent.js +5 -5
  57. package/esm/events/history/HistoryPushEvent.d.ts +7 -4
  58. package/esm/events/history/HistoryPushEvent.js +5 -5
  59. package/esm/events/history/HistoryRedoEvent.d.ts +7 -4
  60. package/esm/events/history/HistoryRedoEvent.js +5 -5
  61. package/esm/events/history/HistoryUndoEvent.d.ts +7 -4
  62. package/esm/events/history/HistoryUndoEvent.js +5 -5
  63. package/esm/events/history/index.d.ts +4 -4
  64. package/esm/events/history/index.js +4 -4
  65. package/esm/events/index.d.ts +6 -6
  66. package/esm/events/index.js +6 -6
  67. package/esm/events/keyboard/AbstractKeyboardEvent.d.ts +13 -13
  68. package/esm/events/keyboard/AbstractKeyboardEvent.js +34 -36
  69. package/esm/events/keyboard/KeyDownEvent.d.ts +7 -4
  70. package/esm/events/keyboard/KeyDownEvent.js +5 -5
  71. package/esm/events/keyboard/KeyUpEvent.d.ts +7 -4
  72. package/esm/events/keyboard/KeyUpEvent.js +5 -5
  73. package/esm/events/keyboard/index.d.ts +2 -2
  74. package/esm/events/keyboard/index.js +2 -2
  75. package/esm/events/mutation/AbstractMutationNodeEvent.d.ts +9 -9
  76. package/esm/events/mutation/AbstractMutationNodeEvent.js +3 -3
  77. package/esm/events/mutation/AppendNodeEvent.d.ts +7 -4
  78. package/esm/events/mutation/AppendNodeEvent.js +5 -5
  79. package/esm/events/mutation/CloneNodeEvent.d.ts +7 -4
  80. package/esm/events/mutation/CloneNodeEvent.js +5 -5
  81. package/esm/events/mutation/DragNodeEvent.d.ts +7 -4
  82. package/esm/events/mutation/DragNodeEvent.js +5 -5
  83. package/esm/events/mutation/DropNodeEvent.d.ts +7 -4
  84. package/esm/events/mutation/DropNodeEvent.js +5 -5
  85. package/esm/events/mutation/FromNodeEvent.d.ts +9 -9
  86. package/esm/events/mutation/FromNodeEvent.js +4 -4
  87. package/esm/events/mutation/HoverNodeEvent.d.ts +7 -4
  88. package/esm/events/mutation/HoverNodeEvent.js +5 -5
  89. package/esm/events/mutation/InsertAfterEvent.d.ts +7 -4
  90. package/esm/events/mutation/InsertAfterEvent.js +5 -5
  91. package/esm/events/mutation/InsertBeforeEvent.d.ts +7 -4
  92. package/esm/events/mutation/InsertBeforeEvent.js +5 -5
  93. package/esm/events/mutation/InsertChildrenEvent.d.ts +7 -4
  94. package/esm/events/mutation/InsertChildrenEvent.js +5 -5
  95. package/esm/events/mutation/PrependNodeEvent.d.ts +7 -4
  96. package/esm/events/mutation/PrependNodeEvent.js +5 -5
  97. package/esm/events/mutation/RemoveNodeEvent.d.ts +7 -4
  98. package/esm/events/mutation/RemoveNodeEvent.js +5 -5
  99. package/esm/events/mutation/SelectNodeEvent.d.ts +7 -4
  100. package/esm/events/mutation/SelectNodeEvent.js +5 -5
  101. package/esm/events/mutation/UnSelectNodeEvent.d.ts +7 -4
  102. package/esm/events/mutation/UnSelectNodeEvent.js +5 -5
  103. package/esm/events/mutation/UpdateChildrenEvent.d.ts +7 -4
  104. package/esm/events/mutation/UpdateChildrenEvent.js +5 -5
  105. package/esm/events/mutation/UpdateNodePropsEvent.d.ts +7 -4
  106. package/esm/events/mutation/UpdateNodePropsEvent.js +5 -5
  107. package/esm/events/mutation/UserSelectNodeEvent.d.ts +7 -4
  108. package/esm/events/mutation/UserSelectNodeEvent.js +5 -5
  109. package/esm/events/mutation/WrapNodeEvent.d.ts +7 -4
  110. package/esm/events/mutation/WrapNodeEvent.js +5 -5
  111. package/esm/events/mutation/index.d.ts +16 -16
  112. package/esm/events/mutation/index.js +16 -16
  113. package/esm/events/viewport/AbstractViewportEvent.d.ts +12 -12
  114. package/esm/events/viewport/AbstractViewportEvent.js +12 -12
  115. package/esm/events/viewport/ViewportResizeEvent.d.ts +7 -4
  116. package/esm/events/viewport/ViewportResizeEvent.js +5 -5
  117. package/esm/events/viewport/ViewportScrollEvent.d.ts +7 -4
  118. package/esm/events/viewport/ViewportScrollEvent.js +5 -5
  119. package/esm/events/viewport/index.d.ts +2 -2
  120. package/esm/events/viewport/index.js +2 -2
  121. package/esm/events/workbench/AbstractWorkspaceEvent.d.ts +5 -5
  122. package/esm/events/workbench/AbstractWorkspaceEvent.js +3 -3
  123. package/esm/events/workbench/AddWorkspaceEvent.d.ts +7 -4
  124. package/esm/events/workbench/AddWorkspaceEvent.js +5 -5
  125. package/esm/events/workbench/RemoveWorkspaceEvent.d.ts +7 -4
  126. package/esm/events/workbench/RemoveWorkspaceEvent.js +5 -5
  127. package/esm/events/workbench/SwitchWorkspaceEvent.d.ts +7 -4
  128. package/esm/events/workbench/SwitchWorkspaceEvent.js +5 -5
  129. package/esm/events/workbench/index.d.ts +3 -3
  130. package/esm/events/workbench/index.js +3 -3
  131. package/esm/exports.d.ts +5 -5
  132. package/esm/exports.js +5 -5
  133. package/esm/externals.d.ts +25 -12
  134. package/esm/externals.js +57 -50
  135. package/esm/index.d.ts +1 -1
  136. package/esm/index.js +11 -12
  137. package/esm/internals.d.ts +3 -3
  138. package/esm/internals.js +34 -30
  139. package/esm/models/Cursor.d.ts +48 -48
  140. package/esm/models/Cursor.js +129 -125
  141. package/esm/models/Engine.d.ts +24 -24
  142. package/esm/models/Engine.js +73 -73
  143. package/esm/models/History.d.ts +26 -26
  144. package/esm/models/History.js +86 -87
  145. package/esm/models/Hover.d.ts +10 -10
  146. package/esm/models/Hover.js +33 -32
  147. package/esm/models/Keyboard.d.ts +25 -25
  148. package/esm/models/Keyboard.js +95 -94
  149. package/esm/models/MoveHelper.d.ts +57 -54
  150. package/esm/models/MoveHelper.js +304 -290
  151. package/esm/models/Operation.d.ts +25 -25
  152. package/esm/models/Operation.js +59 -60
  153. package/esm/models/Screen.d.ts +25 -25
  154. package/esm/models/Screen.js +67 -67
  155. package/esm/models/Selection.d.ts +25 -25
  156. package/esm/models/Selection.js +143 -149
  157. package/esm/models/Shortcut.d.ts +16 -16
  158. package/esm/models/Shortcut.js +56 -57
  159. package/esm/models/SnapLine.d.ts +24 -24
  160. package/esm/models/SnapLine.js +96 -105
  161. package/esm/models/SpaceBlock.d.ts +41 -36
  162. package/esm/models/SpaceBlock.js +154 -115
  163. package/esm/models/TransformHelper.d.ts +88 -74
  164. package/esm/models/TransformHelper.js +546 -450
  165. package/esm/models/TreeNode.d.ts +117 -109
  166. package/esm/models/TreeNode.js +743 -732
  167. package/esm/models/Viewport.d.ts +83 -81
  168. package/esm/models/Viewport.js +406 -384
  169. package/esm/models/Workbench.d.ts +21 -21
  170. package/esm/models/Workbench.js +90 -88
  171. package/esm/models/Workspace.d.ts +33 -33
  172. package/esm/models/Workspace.js +87 -83
  173. package/esm/models/index.d.ts +13 -13
  174. package/esm/models/index.js +13 -13
  175. package/esm/presets.d.ts +20 -4
  176. package/esm/presets.js +67 -35
  177. package/esm/registry.d.ts +21 -15
  178. package/esm/registry.js +106 -108
  179. package/esm/shortcuts/CursorSwitch.d.ts +2 -2
  180. package/esm/shortcuts/CursorSwitch.js +9 -9
  181. package/esm/shortcuts/MultiSelection.d.ts +5 -5
  182. package/esm/shortcuts/MultiSelection.js +23 -23
  183. package/esm/shortcuts/NodeMutation.d.ts +4 -4
  184. package/esm/shortcuts/NodeMutation.js +33 -33
  185. package/esm/shortcuts/QuickSelection.d.ts +3 -3
  186. package/esm/shortcuts/QuickSelection.js +71 -78
  187. package/esm/shortcuts/UndoRedo.d.ts +3 -3
  188. package/esm/shortcuts/UndoRedo.js +25 -25
  189. package/esm/shortcuts/index.d.ts +5 -5
  190. package/esm/shortcuts/index.js +5 -5
  191. package/esm/types.d.ts +138 -105
  192. package/esm/types.js +1 -1
  193. package/lib/drivers/DragDropDriver.d.ts +12 -12
  194. package/lib/drivers/DragDropDriver.js +131 -109
  195. package/lib/drivers/KeyboardDriver.d.ts +5 -5
  196. package/lib/drivers/KeyboardDriver.js +45 -44
  197. package/lib/drivers/MouseClickDriver.d.ts +6 -6
  198. package/lib/drivers/MouseClickDriver.js +59 -51
  199. package/lib/drivers/MouseMoveDriver.d.ts +6 -6
  200. package/lib/drivers/MouseMoveDriver.js +34 -32
  201. package/lib/drivers/ViewportResizeDriver.d.ts +9 -9
  202. package/lib/drivers/ViewportResizeDriver.js +69 -63
  203. package/lib/drivers/ViewportScrollDriver.d.ts +6 -6
  204. package/lib/drivers/ViewportScrollDriver.js +34 -31
  205. package/lib/drivers/index.d.ts +6 -6
  206. package/lib/drivers/index.js +38 -22
  207. package/lib/effects/index.d.ts +11 -11
  208. package/lib/effects/index.js +43 -27
  209. package/lib/effects/useAutoScrollEffect.d.ts +2 -2
  210. package/lib/effects/useAutoScrollEffect.js +81 -63
  211. package/lib/effects/useContentEditableEffect.d.ts +2 -2
  212. package/lib/effects/useContentEditableEffect.js +178 -154
  213. package/lib/effects/useCursorEffect.d.ts +2 -2
  214. package/lib/effects/useCursorEffect.js +57 -58
  215. package/lib/effects/useDragDropEffect.d.ts +2 -2
  216. package/lib/effects/useDragDropEffect.js +175 -149
  217. package/lib/effects/useFreeSelectionEffect.d.ts +2 -2
  218. package/lib/effects/useFreeSelectionEffect.js +60 -40
  219. package/lib/effects/useKeyboardEffect.d.ts +2 -2
  220. package/lib/effects/useKeyboardEffect.js +20 -20
  221. package/lib/effects/useResizeEffect.d.ts +2 -2
  222. package/lib/effects/useResizeEffect.js +88 -77
  223. package/lib/effects/useSelectionEffect.d.ts +2 -2
  224. package/lib/effects/useSelectionEffect.js +69 -69
  225. package/lib/effects/useTranslateEffect.d.ts +2 -2
  226. package/lib/effects/useTranslateEffect.js +59 -56
  227. package/lib/effects/useViewportEffect.d.ts +2 -2
  228. package/lib/effects/useViewportEffect.js +30 -32
  229. package/lib/effects/useWorkspaceEffect.d.ts +2 -2
  230. package/lib/effects/useWorkspaceEffect.js +34 -31
  231. package/lib/events/cursor/AbstractCursorEvent.d.ts +15 -15
  232. package/lib/events/cursor/AbstractCursorEvent.js +42 -37
  233. package/lib/events/cursor/DragMoveEvent.d.ts +7 -4
  234. package/lib/events/cursor/DragMoveEvent.js +9 -9
  235. package/lib/events/cursor/DragStartEvent.d.ts +7 -4
  236. package/lib/events/cursor/DragStartEvent.js +9 -9
  237. package/lib/events/cursor/DragStopEvent.d.ts +7 -4
  238. package/lib/events/cursor/DragStopEvent.js +9 -9
  239. package/lib/events/cursor/MouseClickEvent.d.ts +12 -6
  240. package/lib/events/cursor/MouseClickEvent.js +14 -14
  241. package/lib/events/cursor/MouseMoveEvent.d.ts +7 -4
  242. package/lib/events/cursor/MouseMoveEvent.js +9 -9
  243. package/lib/events/cursor/index.d.ts +5 -5
  244. package/lib/events/cursor/index.js +37 -21
  245. package/lib/events/history/AbstractHistoryEvent.d.ts +4 -4
  246. package/lib/events/history/AbstractHistoryEvent.js +7 -7
  247. package/lib/events/history/HistoryGotoEvent.d.ts +7 -4
  248. package/lib/events/history/HistoryGotoEvent.js +9 -9
  249. package/lib/events/history/HistoryPushEvent.d.ts +7 -4
  250. package/lib/events/history/HistoryPushEvent.js +9 -9
  251. package/lib/events/history/HistoryRedoEvent.d.ts +7 -4
  252. package/lib/events/history/HistoryRedoEvent.js +9 -9
  253. package/lib/events/history/HistoryUndoEvent.d.ts +7 -4
  254. package/lib/events/history/HistoryUndoEvent.js +9 -9
  255. package/lib/events/history/index.d.ts +4 -4
  256. package/lib/events/history/index.js +36 -20
  257. package/lib/events/index.d.ts +6 -6
  258. package/lib/events/index.js +38 -22
  259. package/lib/events/keyboard/AbstractKeyboardEvent.d.ts +13 -13
  260. package/lib/events/keyboard/AbstractKeyboardEvent.js +38 -40
  261. package/lib/events/keyboard/KeyDownEvent.d.ts +7 -4
  262. package/lib/events/keyboard/KeyDownEvent.js +9 -9
  263. package/lib/events/keyboard/KeyUpEvent.d.ts +7 -4
  264. package/lib/events/keyboard/KeyUpEvent.js +9 -9
  265. package/lib/events/keyboard/index.d.ts +2 -2
  266. package/lib/events/keyboard/index.js +34 -18
  267. package/lib/events/mutation/AbstractMutationNodeEvent.d.ts +9 -9
  268. package/lib/events/mutation/AbstractMutationNodeEvent.js +7 -7
  269. package/lib/events/mutation/AppendNodeEvent.d.ts +7 -4
  270. package/lib/events/mutation/AppendNodeEvent.js +9 -9
  271. package/lib/events/mutation/CloneNodeEvent.d.ts +7 -4
  272. package/lib/events/mutation/CloneNodeEvent.js +9 -9
  273. package/lib/events/mutation/DragNodeEvent.d.ts +7 -4
  274. package/lib/events/mutation/DragNodeEvent.js +9 -9
  275. package/lib/events/mutation/DropNodeEvent.d.ts +7 -4
  276. package/lib/events/mutation/DropNodeEvent.js +9 -9
  277. package/lib/events/mutation/FromNodeEvent.d.ts +9 -9
  278. package/lib/events/mutation/FromNodeEvent.js +8 -8
  279. package/lib/events/mutation/HoverNodeEvent.d.ts +7 -4
  280. package/lib/events/mutation/HoverNodeEvent.js +9 -9
  281. package/lib/events/mutation/InsertAfterEvent.d.ts +7 -4
  282. package/lib/events/mutation/InsertAfterEvent.js +9 -9
  283. package/lib/events/mutation/InsertBeforeEvent.d.ts +7 -4
  284. package/lib/events/mutation/InsertBeforeEvent.js +9 -9
  285. package/lib/events/mutation/InsertChildrenEvent.d.ts +7 -4
  286. package/lib/events/mutation/InsertChildrenEvent.js +9 -9
  287. package/lib/events/mutation/PrependNodeEvent.d.ts +7 -4
  288. package/lib/events/mutation/PrependNodeEvent.js +9 -9
  289. package/lib/events/mutation/RemoveNodeEvent.d.ts +7 -4
  290. package/lib/events/mutation/RemoveNodeEvent.js +9 -9
  291. package/lib/events/mutation/SelectNodeEvent.d.ts +7 -4
  292. package/lib/events/mutation/SelectNodeEvent.js +9 -9
  293. package/lib/events/mutation/UnSelectNodeEvent.d.ts +7 -4
  294. package/lib/events/mutation/UnSelectNodeEvent.js +9 -9
  295. package/lib/events/mutation/UpdateChildrenEvent.d.ts +7 -4
  296. package/lib/events/mutation/UpdateChildrenEvent.js +9 -9
  297. package/lib/events/mutation/UpdateNodePropsEvent.d.ts +7 -4
  298. package/lib/events/mutation/UpdateNodePropsEvent.js +9 -9
  299. package/lib/events/mutation/UserSelectNodeEvent.d.ts +7 -4
  300. package/lib/events/mutation/UserSelectNodeEvent.js +9 -9
  301. package/lib/events/mutation/WrapNodeEvent.d.ts +7 -4
  302. package/lib/events/mutation/WrapNodeEvent.js +9 -9
  303. package/lib/events/mutation/index.d.ts +16 -16
  304. package/lib/events/mutation/index.js +48 -32
  305. package/lib/events/viewport/AbstractViewportEvent.d.ts +12 -12
  306. package/lib/events/viewport/AbstractViewportEvent.js +16 -16
  307. package/lib/events/viewport/ViewportResizeEvent.d.ts +7 -4
  308. package/lib/events/viewport/ViewportResizeEvent.js +9 -9
  309. package/lib/events/viewport/ViewportScrollEvent.d.ts +7 -4
  310. package/lib/events/viewport/ViewportScrollEvent.js +9 -9
  311. package/lib/events/viewport/index.d.ts +2 -2
  312. package/lib/events/viewport/index.js +34 -18
  313. package/lib/events/workbench/AbstractWorkspaceEvent.d.ts +5 -5
  314. package/lib/events/workbench/AbstractWorkspaceEvent.js +7 -7
  315. package/lib/events/workbench/AddWorkspaceEvent.d.ts +7 -4
  316. package/lib/events/workbench/AddWorkspaceEvent.js +9 -9
  317. package/lib/events/workbench/RemoveWorkspaceEvent.d.ts +7 -4
  318. package/lib/events/workbench/RemoveWorkspaceEvent.js +9 -9
  319. package/lib/events/workbench/SwitchWorkspaceEvent.d.ts +7 -4
  320. package/lib/events/workbench/SwitchWorkspaceEvent.js +9 -9
  321. package/lib/events/workbench/index.d.ts +3 -3
  322. package/lib/events/workbench/index.js +35 -19
  323. package/lib/exports.d.ts +5 -5
  324. package/lib/exports.js +37 -21
  325. package/lib/externals.d.ts +25 -12
  326. package/lib/externals.js +81 -63
  327. package/lib/index.d.ts +1 -1
  328. package/lib/index.js +65 -40
  329. package/lib/internals.d.ts +3 -3
  330. package/lib/internals.js +43 -36
  331. package/lib/models/Cursor.d.ts +48 -48
  332. package/lib/models/Cursor.js +140 -129
  333. package/lib/models/Engine.d.ts +24 -24
  334. package/lib/models/Engine.js +77 -77
  335. package/lib/models/History.d.ts +26 -26
  336. package/lib/models/History.js +90 -91
  337. package/lib/models/Hover.d.ts +10 -10
  338. package/lib/models/Hover.js +37 -36
  339. package/lib/models/Keyboard.d.ts +25 -25
  340. package/lib/models/Keyboard.js +103 -98
  341. package/lib/models/MoveHelper.d.ts +57 -54
  342. package/lib/models/MoveHelper.js +316 -294
  343. package/lib/models/Operation.d.ts +25 -25
  344. package/lib/models/Operation.js +63 -64
  345. package/lib/models/Screen.d.ts +25 -25
  346. package/lib/models/Screen.js +71 -71
  347. package/lib/models/Selection.d.ts +25 -25
  348. package/lib/models/Selection.js +151 -153
  349. package/lib/models/Shortcut.d.ts +16 -16
  350. package/lib/models/Shortcut.js +65 -61
  351. package/lib/models/SnapLine.d.ts +24 -24
  352. package/lib/models/SnapLine.js +99 -109
  353. package/lib/models/SpaceBlock.d.ts +41 -36
  354. package/lib/models/SpaceBlock.js +156 -119
  355. package/lib/models/TransformHelper.d.ts +88 -74
  356. package/lib/models/TransformHelper.js +561 -454
  357. package/lib/models/TreeNode.d.ts +117 -109
  358. package/lib/models/TreeNode.js +739 -736
  359. package/lib/models/Viewport.d.ts +83 -81
  360. package/lib/models/Viewport.js +411 -388
  361. package/lib/models/Workbench.d.ts +21 -21
  362. package/lib/models/Workbench.js +92 -92
  363. package/lib/models/Workspace.d.ts +33 -33
  364. package/lib/models/Workspace.js +86 -87
  365. package/lib/models/index.d.ts +13 -13
  366. package/lib/models/index.js +45 -29
  367. package/lib/presets.d.ts +20 -4
  368. package/lib/presets.js +41 -38
  369. package/lib/registry.d.ts +21 -15
  370. package/lib/registry.js +112 -111
  371. package/lib/shortcuts/CursorSwitch.d.ts +2 -2
  372. package/lib/shortcuts/CursorSwitch.js +12 -12
  373. package/lib/shortcuts/MultiSelection.d.ts +5 -5
  374. package/lib/shortcuts/MultiSelection.js +30 -26
  375. package/lib/shortcuts/NodeMutation.d.ts +4 -4
  376. package/lib/shortcuts/NodeMutation.js +36 -36
  377. package/lib/shortcuts/QuickSelection.d.ts +3 -3
  378. package/lib/shortcuts/QuickSelection.js +74 -81
  379. package/lib/shortcuts/UndoRedo.d.ts +3 -3
  380. package/lib/shortcuts/UndoRedo.js +28 -28
  381. package/lib/shortcuts/index.d.ts +5 -5
  382. package/lib/shortcuts/index.js +37 -21
  383. package/lib/types.d.ts +138 -105
  384. package/lib/types.js +2 -2
  385. package/package.json +18 -18
@@ -1,133 +1,137 @@
1
- import { action, define, observable } from '@formily/reactive';
2
- import { globalThisPolyfill, isValidNumber } from '@thienvu18/designable-shared';
3
- export var CursorStatus;
4
- (function (CursorStatus) {
5
- CursorStatus["Normal"] = "NORMAL";
6
- CursorStatus["DragStart"] = "DRAG_START";
7
- CursorStatus["Dragging"] = "DRAGGING";
8
- CursorStatus["DragStop"] = "DRAG_STOP";
9
- })(CursorStatus || (CursorStatus = {}));
10
- export var CursorDragType;
11
- (function (CursorDragType) {
12
- CursorDragType["Move"] = "MOVE";
13
- CursorDragType["Resize"] = "RESIZE";
14
- CursorDragType["Rotate"] = "ROTATE";
15
- CursorDragType["Scale"] = "SCALE";
16
- CursorDragType["Translate"] = "TRANSLATE";
17
- CursorDragType["Round"] = "ROUND";
18
- })(CursorDragType || (CursorDragType = {}));
19
- export var CursorType;
20
- (function (CursorType) {
21
- CursorType["Normal"] = "NORMAL";
22
- CursorType["Selection"] = "SELECTION";
23
- CursorType["Sketch"] = "SKETCH";
24
- })(CursorType || (CursorType = {}));
1
+ import { action, define, observable } from '@formily/reactive'
2
+ import { globalThisPolyfill, isValidNumber } from '@thienvu18/designable-shared'
3
+ export var CursorStatus
4
+ ;(function (CursorStatus) {
5
+ CursorStatus['Normal'] = 'NORMAL'
6
+ CursorStatus['DragStart'] = 'DRAG_START'
7
+ CursorStatus['Dragging'] = 'DRAGGING'
8
+ CursorStatus['DragStop'] = 'DRAG_STOP'
9
+ })(CursorStatus || (CursorStatus = {}))
10
+ export var CursorDragType
11
+ ;(function (CursorDragType) {
12
+ CursorDragType['Move'] = 'MOVE'
13
+ CursorDragType['Resize'] = 'RESIZE'
14
+ CursorDragType['Rotate'] = 'ROTATE'
15
+ CursorDragType['Scale'] = 'SCALE'
16
+ CursorDragType['Translate'] = 'TRANSLATE'
17
+ CursorDragType['Round'] = 'ROUND'
18
+ })(CursorDragType || (CursorDragType = {}))
19
+ export var CursorType
20
+ ;(function (CursorType) {
21
+ CursorType['Normal'] = 'NORMAL'
22
+ CursorType['Selection'] = 'SELECTION'
23
+ CursorType['Sketch'] = 'SKETCH'
24
+ })(CursorType || (CursorType = {}))
25
25
  const DEFAULT_POSITION = {
26
- pageX: 0,
27
- pageY: 0,
28
- clientX: 0,
29
- clientY: 0,
30
- topPageX: 0,
31
- topPageY: 0,
32
- topClientX: 0,
33
- topClientY: 0,
34
- };
26
+ pageX: 0,
27
+ pageY: 0,
28
+ clientX: 0,
29
+ clientY: 0,
30
+ topPageX: 0,
31
+ topPageY: 0,
32
+ topClientX: 0,
33
+ topClientY: 0,
34
+ }
35
35
  const setCursorStyle = (contentWindow, style) => {
36
- const currentRoot = document?.getElementsByTagName?.('html')?.[0];
37
- const root = contentWindow?.document?.getElementsByTagName('html')?.[0];
38
- if (root && root.style.cursor !== style) {
39
- root.style.cursor = style;
40
- }
41
- if (currentRoot && currentRoot.style.cursor !== style) {
42
- currentRoot.style.cursor = style;
43
- }
44
- };
36
+ const currentRoot = document?.getElementsByTagName?.('html')?.[0]
37
+ const root = contentWindow?.document?.getElementsByTagName('html')?.[0]
38
+ if (root && root.style.cursor !== style) {
39
+ root.style.cursor = style
40
+ }
41
+ if (currentRoot && currentRoot.style.cursor !== style) {
42
+ currentRoot.style.cursor = style
43
+ }
44
+ }
45
45
  const calcPositionDelta = (end, start) => {
46
- return Object.keys(end || {}).reduce((buf, key) => {
47
- if (isValidNumber(end?.[key]) && isValidNumber(start?.[key])) {
48
- buf[key] = end[key] - start[key];
49
- }
50
- else {
51
- buf[key] = end[key];
52
- }
53
- return buf;
54
- }, {});
55
- };
56
- export class Cursor {
57
- constructor(engine) {
58
- this.type = CursorType.Normal;
59
- this.dragType = CursorDragType.Move;
60
- this.status = CursorStatus.Normal;
61
- this.position = DEFAULT_POSITION;
62
- this.dragAtomDelta = DEFAULT_POSITION;
63
- this.dragStartToCurrentDelta = DEFAULT_POSITION;
64
- this.dragStartToEndDelta = DEFAULT_POSITION;
65
- this.view = globalThisPolyfill;
66
- this.engine = engine;
67
- this.makeObservable();
68
- }
69
- makeObservable() {
70
- define(this, {
71
- type: observable.ref,
72
- dragType: observable.ref,
73
- status: observable.ref,
74
- position: observable.ref,
75
- dragStartPosition: observable.ref,
76
- dragEndPosition: observable.ref,
77
- dragAtomDelta: observable.ref,
78
- dragStartToCurrentDelta: observable.ref,
79
- dragStartToEndDelta: observable.ref,
80
- view: observable.ref,
81
- setStyle: action,
82
- setPosition: action,
83
- setStatus: action,
84
- setType: action,
85
- });
86
- }
87
- get speed() {
88
- return Math.sqrt(Math.pow(this.dragAtomDelta.clientX, 2) +
89
- Math.pow(this.dragAtomDelta.clientY, 2));
46
+ return Object.keys(end || {}).reduce((buf, key) => {
47
+ if (isValidNumber(end?.[key]) && isValidNumber(start?.[key])) {
48
+ buf[key] = end[key] - start[key]
49
+ } else {
50
+ buf[key] = end[key]
90
51
  }
91
- setStatus(status) {
92
- this.status = status;
93
- }
94
- setType(type) {
95
- this.type = type;
96
- }
97
- setDragType(type) {
98
- this.dragType = type;
99
- }
100
- setStyle(style) {
101
- this.engine.workbench.eachWorkspace((workspace) => {
102
- setCursorStyle(workspace.viewport.contentWindow, style);
103
- });
104
- }
105
- setPosition(position) {
106
- this.dragAtomDelta = calcPositionDelta(this.position, position);
107
- this.position = { ...position };
108
- if (this.status === CursorStatus.Dragging) {
109
- this.dragStartToCurrentDelta = calcPositionDelta(this.position, this.dragStartPosition);
110
- }
52
+ return buf
53
+ }, {})
54
+ }
55
+ export class Cursor {
56
+ constructor(engine) {
57
+ this.type = CursorType.Normal
58
+ this.dragType = CursorDragType.Move
59
+ this.status = CursorStatus.Normal
60
+ this.position = DEFAULT_POSITION
61
+ this.dragAtomDelta = DEFAULT_POSITION
62
+ this.dragStartToCurrentDelta = DEFAULT_POSITION
63
+ this.dragStartToEndDelta = DEFAULT_POSITION
64
+ this.view = globalThisPolyfill
65
+ this.engine = engine
66
+ this.makeObservable()
67
+ }
68
+ makeObservable() {
69
+ define(this, {
70
+ type: observable.ref,
71
+ dragType: observable.ref,
72
+ status: observable.ref,
73
+ position: observable.ref,
74
+ dragStartPosition: observable.ref,
75
+ dragEndPosition: observable.ref,
76
+ dragAtomDelta: observable.ref,
77
+ dragStartToCurrentDelta: observable.ref,
78
+ dragStartToEndDelta: observable.ref,
79
+ view: observable.ref,
80
+ setStyle: action,
81
+ setPosition: action,
82
+ setStatus: action,
83
+ setType: action,
84
+ })
85
+ }
86
+ get speed() {
87
+ return Math.sqrt(
88
+ Math.pow(this.dragAtomDelta.clientX, 2) +
89
+ Math.pow(this.dragAtomDelta.clientY, 2)
90
+ )
91
+ }
92
+ setStatus(status) {
93
+ this.status = status
94
+ }
95
+ setType(type) {
96
+ this.type = type
97
+ }
98
+ setDragType(type) {
99
+ this.dragType = type
100
+ }
101
+ setStyle(style) {
102
+ this.engine.workbench.eachWorkspace((workspace) => {
103
+ setCursorStyle(workspace.viewport.contentWindow, style)
104
+ })
105
+ }
106
+ setPosition(position) {
107
+ this.dragAtomDelta = calcPositionDelta(this.position, position)
108
+ this.position = { ...position }
109
+ if (this.status === CursorStatus.Dragging) {
110
+ this.dragStartToCurrentDelta = calcPositionDelta(
111
+ this.position,
112
+ this.dragStartPosition
113
+ )
111
114
  }
112
- setDragStartPosition(position) {
113
- if (position) {
114
- this.dragStartPosition = { ...position };
115
- }
116
- else {
117
- this.dragStartPosition = null;
118
- this.dragStartToCurrentDelta = DEFAULT_POSITION;
119
- }
115
+ }
116
+ setDragStartPosition(position) {
117
+ if (position) {
118
+ this.dragStartPosition = { ...position }
119
+ } else {
120
+ this.dragStartPosition = null
121
+ this.dragStartToCurrentDelta = DEFAULT_POSITION
120
122
  }
121
- setDragEndPosition(position) {
122
- if (!this.dragStartPosition)
123
- return;
124
- if (position) {
125
- this.dragEndPosition = { ...position };
126
- this.dragStartToEndDelta = calcPositionDelta(this.dragStartPosition, this.dragEndPosition);
127
- }
128
- else {
129
- this.dragEndPosition = null;
130
- this.dragStartToEndDelta = DEFAULT_POSITION;
131
- }
123
+ }
124
+ setDragEndPosition(position) {
125
+ if (!this.dragStartPosition) return
126
+ if (position) {
127
+ this.dragEndPosition = { ...position }
128
+ this.dragStartToEndDelta = calcPositionDelta(
129
+ this.dragStartPosition,
130
+ this.dragEndPosition
131
+ )
132
+ } else {
133
+ this.dragEndPosition = null
134
+ this.dragStartToEndDelta = DEFAULT_POSITION
132
135
  }
136
+ }
133
137
  }
@@ -1,29 +1,29 @@
1
- import { IEngineProps } from '../types';
2
- import { ITreeNode, TreeNode } from './TreeNode';
3
- import { Workbench } from './Workbench';
4
- import { Cursor } from './Cursor';
5
- import { Keyboard } from './Keyboard';
6
- import { Screen } from './Screen';
7
- import { Event } from '@thienvu18/designable-shared';
1
+ import { Event } from '@thienvu18/designable-shared'
2
+ import { IEngineProps } from '../types'
3
+ import { Cursor } from './Cursor'
4
+ import { Keyboard } from './Keyboard'
5
+ import { Screen } from './Screen'
6
+ import { ITreeNode, TreeNode } from './TreeNode'
7
+ import { Workbench } from './Workbench'
8
8
  /**
9
9
  * 设计器引擎
10
10
  */
11
11
  export declare class Engine extends Event {
12
- id: string;
13
- props: IEngineProps<Engine>;
14
- cursor: Cursor;
15
- workbench: Workbench;
16
- keyboard: Keyboard;
17
- screen: Screen;
18
- constructor(props: IEngineProps<Engine>);
19
- init(): void;
20
- setCurrentTree(tree?: ITreeNode): void;
21
- getCurrentTree(): TreeNode;
22
- getAllSelectedNodes(): TreeNode[];
23
- findNodeById(id: string): TreeNode;
24
- findMovingNodes(): TreeNode[];
25
- createNode(node: ITreeNode, parent?: TreeNode): TreeNode;
26
- mount(): void;
27
- unmount(): void;
28
- static defaultProps: IEngineProps<Engine>;
12
+ id: string
13
+ props: IEngineProps<Engine>
14
+ cursor: Cursor
15
+ workbench: Workbench
16
+ keyboard: Keyboard
17
+ screen: Screen
18
+ constructor(props: IEngineProps<Engine>)
19
+ init(): void
20
+ setCurrentTree(tree?: ITreeNode): void
21
+ getCurrentTree(): TreeNode
22
+ getAllSelectedNodes(): TreeNode[]
23
+ findNodeById(id: string): TreeNode
24
+ findMovingNodes(): TreeNode[]
25
+ createNode(node: ITreeNode, parent?: TreeNode): TreeNode
26
+ mount(): void
27
+ unmount(): void
28
+ static defaultProps: IEngineProps<Engine>
29
29
  }
@@ -1,83 +1,83 @@
1
- import { TreeNode } from './TreeNode';
2
- import { Workbench } from './Workbench';
3
- import { Cursor } from './Cursor';
4
- import { Keyboard } from './Keyboard';
5
- import { Screen, ScreenType } from './Screen';
6
- import { Event, uid, globalThisPolyfill } from '@thienvu18/designable-shared';
1
+ import { Event, globalThisPolyfill, uid } from '@thienvu18/designable-shared'
2
+ import { Cursor } from './Cursor'
3
+ import { Keyboard } from './Keyboard'
4
+ import { Screen, ScreenType } from './Screen'
5
+ import { TreeNode } from './TreeNode'
6
+ import { Workbench } from './Workbench'
7
7
  /**
8
8
  * 设计器引擎
9
9
  */
10
10
  export class Engine extends Event {
11
- constructor(props) {
12
- super(props);
13
- this.props = {
14
- ...Engine.defaultProps,
15
- ...props,
16
- };
17
- this.init();
18
- this.id = uid();
11
+ constructor(props) {
12
+ super(props)
13
+ this.props = {
14
+ ...Engine.defaultProps,
15
+ ...props,
19
16
  }
20
- init() {
21
- this.workbench = new Workbench(this);
22
- this.screen = new Screen(this);
23
- this.cursor = new Cursor(this);
24
- this.keyboard = new Keyboard(this);
17
+ this.init()
18
+ this.id = uid()
19
+ }
20
+ init() {
21
+ this.workbench = new Workbench(this)
22
+ this.screen = new Screen(this)
23
+ this.cursor = new Cursor(this)
24
+ this.keyboard = new Keyboard(this)
25
+ }
26
+ setCurrentTree(tree) {
27
+ if (this.workbench.currentWorkspace) {
28
+ this.workbench.currentWorkspace.operation.tree.from(tree)
25
29
  }
26
- setCurrentTree(tree) {
27
- if (this.workbench.currentWorkspace) {
28
- this.workbench.currentWorkspace.operation.tree.from(tree);
29
- }
30
- }
31
- getCurrentTree() {
32
- return this.workbench?.currentWorkspace?.operation?.tree;
30
+ }
31
+ getCurrentTree() {
32
+ return this.workbench?.currentWorkspace?.operation?.tree
33
+ }
34
+ getAllSelectedNodes() {
35
+ let results = []
36
+ for (let i = 0; i < this.workbench.workspaces.length; i++) {
37
+ const workspace = this.workbench.workspaces[i]
38
+ results = results.concat(workspace.operation.selection.selectedNodes)
33
39
  }
34
- getAllSelectedNodes() {
35
- let results = [];
36
- for (let i = 0; i < this.workbench.workspaces.length; i++) {
37
- const workspace = this.workbench.workspaces[i];
38
- results = results.concat(workspace.operation.selection.selectedNodes);
40
+ return results
41
+ }
42
+ findNodeById(id) {
43
+ return TreeNode.findById(id)
44
+ }
45
+ findMovingNodes() {
46
+ const results = []
47
+ this.workbench.eachWorkspace((workspace) => {
48
+ workspace.operation.moveHelper.dragNodes?.forEach((node) => {
49
+ if (!results.includes(node)) {
50
+ results.push(node)
39
51
  }
40
- return results;
41
- }
42
- findNodeById(id) {
43
- return TreeNode.findById(id);
44
- }
45
- findMovingNodes() {
46
- const results = [];
47
- this.workbench.eachWorkspace((workspace) => {
48
- workspace.operation.moveHelper.dragNodes?.forEach((node) => {
49
- if (!results.includes(node)) {
50
- results.push(node);
51
- }
52
- });
53
- });
54
- return results;
55
- }
56
- createNode(node, parent) {
57
- return new TreeNode(node, parent);
58
- }
59
- mount() {
60
- this.attachEvents(globalThisPolyfill);
61
- }
62
- unmount() {
63
- this.detachEvents();
64
- }
52
+ })
53
+ })
54
+ return results
55
+ }
56
+ createNode(node, parent) {
57
+ return new TreeNode(node, parent)
58
+ }
59
+ mount() {
60
+ this.attachEvents(globalThisPolyfill)
61
+ }
62
+ unmount() {
63
+ this.detachEvents()
64
+ }
65
65
  }
66
66
  Engine.defaultProps = {
67
- shortcuts: [],
68
- effects: [],
69
- drivers: [],
70
- rootComponentName: 'Root',
71
- sourceIdAttrName: 'data-designer-source-id',
72
- nodeIdAttrName: 'data-designer-node-id',
73
- contentEditableAttrName: 'data-content-editable',
74
- contentEditableNodeIdAttrName: 'data-content-editable-node-id',
75
- clickStopPropagationAttrName: 'data-click-stop-propagation',
76
- nodeSelectionIdAttrName: 'data-designer-node-helpers-id',
77
- nodeDragHandlerAttrName: 'data-designer-node-drag-handler',
78
- screenResizeHandlerAttrName: 'data-designer-screen-resize-handler',
79
- nodeResizeHandlerAttrName: 'data-designer-node-resize-handler',
80
- outlineNodeIdAttrName: 'data-designer-outline-node-id',
81
- nodeTranslateAttrName: 'data-designer-node-translate-handler',
82
- defaultScreenType: ScreenType.PC,
83
- };
67
+ shortcuts: [],
68
+ effects: [],
69
+ drivers: [],
70
+ rootComponentName: 'Root',
71
+ sourceIdAttrName: 'data-designer-source-id',
72
+ nodeIdAttrName: 'data-designer-node-id',
73
+ contentEditableAttrName: 'data-content-editable',
74
+ contentEditableNodeIdAttrName: 'data-content-editable-node-id',
75
+ clickStopPropagationAttrName: 'data-click-stop-propagation',
76
+ nodeSelectionIdAttrName: 'data-designer-node-helpers-id',
77
+ nodeDragHandlerAttrName: 'data-designer-node-drag-handler',
78
+ screenResizeHandlerAttrName: 'data-designer-screen-resize-handler',
79
+ nodeResizeHandlerAttrName: 'data-designer-node-resize-handler',
80
+ outlineNodeIdAttrName: 'data-designer-outline-node-id',
81
+ nodeTranslateAttrName: 'data-designer-node-translate-handler',
82
+ defaultScreenType: ScreenType.PC,
83
+ }
@@ -1,34 +1,34 @@
1
1
  export interface IHistoryProps<T> {
2
- onPush?: (item: T) => void;
3
- onRedo?: (item: T) => void;
4
- onUndo?: (item: T) => void;
5
- onGoto?: (item: T) => void;
2
+ onPush?: (item: T) => void
3
+ onRedo?: (item: T) => void
4
+ onUndo?: (item: T) => void
5
+ onGoto?: (item: T) => void
6
6
  }
7
7
  export interface HistoryItem<T> {
8
- data: T;
9
- type?: string;
10
- timestamp: number;
8
+ data: T
9
+ type?: string
10
+ timestamp: number
11
11
  }
12
12
  export interface ISerializable {
13
- from(json: any): void;
14
- serialize(): any;
13
+ from(json: any): void
14
+ serialize(): any
15
15
  }
16
16
  export declare class History<T extends ISerializable = any> {
17
- context: ISerializable;
18
- props: IHistoryProps<HistoryItem<T>>;
19
- current: number;
20
- history: HistoryItem<T>[];
21
- updateTimer: any;
22
- maxSize: number;
23
- locking: boolean;
24
- constructor(context: T, props?: IHistoryProps<HistoryItem<T>>);
25
- makeObservable(): void;
26
- list(): HistoryItem<T>[];
27
- push(type?: string): void;
28
- get allowUndo(): boolean;
29
- get allowRedo(): boolean;
30
- redo(): void;
31
- undo(): void;
32
- goTo(index: number): void;
33
- clear(): void;
17
+ context: ISerializable
18
+ props: IHistoryProps<HistoryItem<T>>
19
+ current: number
20
+ history: HistoryItem<T>[]
21
+ updateTimer: any
22
+ maxSize: number
23
+ locking: boolean
24
+ constructor(context: T, props?: IHistoryProps<HistoryItem<T>>)
25
+ makeObservable(): void
26
+ list(): HistoryItem<T>[]
27
+ push(type?: string): void
28
+ get allowUndo(): boolean
29
+ get allowRedo(): boolean
30
+ redo(): void
31
+ undo(): void
32
+ goTo(index: number): void
33
+ clear(): void
34
34
  }