@oh-just-another/state 0.57.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 (269) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/LICENSE +21 -0
  3. package/README.md +60 -0
  4. package/dist/.tsbuildinfo +1 -0
  5. package/dist/actions/actionClipboard.d.ts +6 -0
  6. package/dist/actions/actionClipboard.d.ts.map +1 -0
  7. package/dist/actions/actionClipboard.js +26 -0
  8. package/dist/actions/actionClipboard.js.map +1 -0
  9. package/dist/actions/actionGrouping.d.ts +5 -0
  10. package/dist/actions/actionGrouping.d.ts.map +1 -0
  11. package/dist/actions/actionGrouping.js +26 -0
  12. package/dist/actions/actionGrouping.js.map +1 -0
  13. package/dist/actions/actionHistory.d.ts +5 -0
  14. package/dist/actions/actionHistory.d.ts.map +1 -0
  15. package/dist/actions/actionHistory.js +25 -0
  16. package/dist/actions/actionHistory.js.map +1 -0
  17. package/dist/actions/actionKeyboard.d.ts +3 -0
  18. package/dist/actions/actionKeyboard.d.ts.map +1 -0
  19. package/dist/actions/actionKeyboard.js +130 -0
  20. package/dist/actions/actionKeyboard.js.map +1 -0
  21. package/dist/actions/actionLayout.d.ts +3 -0
  22. package/dist/actions/actionLayout.d.ts.map +1 -0
  23. package/dist/actions/actionLayout.js +65 -0
  24. package/dist/actions/actionLayout.js.map +1 -0
  25. package/dist/actions/actionMode.d.ts +13 -0
  26. package/dist/actions/actionMode.d.ts.map +1 -0
  27. package/dist/actions/actionMode.js +116 -0
  28. package/dist/actions/actionMode.js.map +1 -0
  29. package/dist/actions/actionSelection.d.ts +9 -0
  30. package/dist/actions/actionSelection.d.ts.map +1 -0
  31. package/dist/actions/actionSelection.js +57 -0
  32. package/dist/actions/actionSelection.js.map +1 -0
  33. package/dist/actions/actionView.d.ts +7 -0
  34. package/dist/actions/actionView.d.ts.map +1 -0
  35. package/dist/actions/actionView.js +14 -0
  36. package/dist/actions/actionView.js.map +1 -0
  37. package/dist/actions/actionZOrder.d.ts +7 -0
  38. package/dist/actions/actionZOrder.d.ts.map +1 -0
  39. package/dist/actions/actionZOrder.js +42 -0
  40. package/dist/actions/actionZOrder.js.map +1 -0
  41. package/dist/actions/actionZoom.d.ts +8 -0
  42. package/dist/actions/actionZoom.d.ts.map +1 -0
  43. package/dist/actions/actionZoom.js +61 -0
  44. package/dist/actions/actionZoom.js.map +1 -0
  45. package/dist/actions/index.d.ts +12 -0
  46. package/dist/actions/index.d.ts.map +1 -0
  47. package/dist/actions/index.js +11 -0
  48. package/dist/actions/index.js.map +1 -0
  49. package/dist/actions/registry.d.ts +68 -0
  50. package/dist/actions/registry.d.ts.map +1 -0
  51. package/dist/actions/registry.js +300 -0
  52. package/dist/actions/registry.js.map +1 -0
  53. package/dist/actions/types.d.ts +103 -0
  54. package/dist/actions/types.d.ts.map +1 -0
  55. package/dist/actions/types.js +10 -0
  56. package/dist/actions/types.js.map +1 -0
  57. package/dist/animation-tick.d.ts +28 -0
  58. package/dist/animation-tick.d.ts.map +1 -0
  59. package/dist/animation-tick.js +50 -0
  60. package/dist/animation-tick.js.map +1 -0
  61. package/dist/auto-compact.d.ts +27 -0
  62. package/dist/auto-compact.d.ts.map +1 -0
  63. package/dist/auto-compact.js +46 -0
  64. package/dist/auto-compact.js.map +1 -0
  65. package/dist/auto-layout-scheduler.d.ts +50 -0
  66. package/dist/auto-layout-scheduler.d.ts.map +1 -0
  67. package/dist/auto-layout-scheduler.js +94 -0
  68. package/dist/auto-layout-scheduler.js.map +1 -0
  69. package/dist/built-in-handlers.d.ts +24 -0
  70. package/dist/built-in-handlers.d.ts.map +1 -0
  71. package/dist/built-in-handlers.js +210 -0
  72. package/dist/built-in-handlers.js.map +1 -0
  73. package/dist/clipboard.d.ts +51 -0
  74. package/dist/clipboard.d.ts.map +1 -0
  75. package/dist/clipboard.js +105 -0
  76. package/dist/clipboard.js.map +1 -0
  77. package/dist/constants.d.ts +544 -0
  78. package/dist/constants.d.ts.map +1 -0
  79. package/dist/constants.js +537 -0
  80. package/dist/constants.js.map +1 -0
  81. package/dist/dom-events.d.ts +13 -0
  82. package/dist/dom-events.d.ts.map +1 -0
  83. package/dist/dom-events.js +70 -0
  84. package/dist/dom-events.js.map +1 -0
  85. package/dist/editor/anchor-points.d.ts +22 -0
  86. package/dist/editor/anchor-points.d.ts.map +1 -0
  87. package/dist/editor/anchor-points.js +28 -0
  88. package/dist/editor/anchor-points.js.map +1 -0
  89. package/dist/editor/applies/create.d.ts +60 -0
  90. package/dist/editor/applies/create.d.ts.map +1 -0
  91. package/dist/editor/applies/create.js +107 -0
  92. package/dist/editor/applies/create.js.map +1 -0
  93. package/dist/editor/applies/edge.d.ts +32 -0
  94. package/dist/editor/applies/edge.d.ts.map +1 -0
  95. package/dist/editor/applies/edge.js +44 -0
  96. package/dist/editor/applies/edge.js.map +1 -0
  97. package/dist/editor/applies/link-move.d.ts +53 -0
  98. package/dist/editor/applies/link-move.d.ts.map +1 -0
  99. package/dist/editor/applies/link-move.js +160 -0
  100. package/dist/editor/applies/link-move.js.map +1 -0
  101. package/dist/editor/applies/move.d.ts +38 -0
  102. package/dist/editor/applies/move.d.ts.map +1 -0
  103. package/dist/editor/applies/move.js +83 -0
  104. package/dist/editor/applies/move.js.map +1 -0
  105. package/dist/editor/applies/resize.d.ts +68 -0
  106. package/dist/editor/applies/resize.d.ts.map +1 -0
  107. package/dist/editor/applies/resize.js +199 -0
  108. package/dist/editor/applies/resize.js.map +1 -0
  109. package/dist/editor/applies/selection.d.ts +34 -0
  110. package/dist/editor/applies/selection.d.ts.map +1 -0
  111. package/dist/editor/applies/selection.js +65 -0
  112. package/dist/editor/applies/selection.js.map +1 -0
  113. package/dist/editor/applies/snap-grid.d.ts +45 -0
  114. package/dist/editor/applies/snap-grid.d.ts.map +1 -0
  115. package/dist/editor/applies/snap-grid.js +90 -0
  116. package/dist/editor/applies/snap-grid.js.map +1 -0
  117. package/dist/editor/container-ops.d.ts +74 -0
  118. package/dist/editor/container-ops.d.ts.map +1 -0
  119. package/dist/editor/container-ops.js +262 -0
  120. package/dist/editor/container-ops.js.map +1 -0
  121. package/dist/editor/event-fanout.d.ts +48 -0
  122. package/dist/editor/event-fanout.d.ts.map +1 -0
  123. package/dist/editor/event-fanout.js +53 -0
  124. package/dist/editor/event-fanout.js.map +1 -0
  125. package/dist/editor/gesture-tx.d.ts +77 -0
  126. package/dist/editor/gesture-tx.d.ts.map +1 -0
  127. package/dist/editor/gesture-tx.js +93 -0
  128. package/dist/editor/gesture-tx.js.map +1 -0
  129. package/dist/editor/hit-test.d.ts +178 -0
  130. package/dist/editor/hit-test.d.ts.map +1 -0
  131. package/dist/editor/hit-test.js +460 -0
  132. package/dist/editor/hit-test.js.map +1 -0
  133. package/dist/editor/long-press.d.ts +34 -0
  134. package/dist/editor/long-press.d.ts.map +1 -0
  135. package/dist/editor/long-press.js +58 -0
  136. package/dist/editor/long-press.js.map +1 -0
  137. package/dist/editor/pinch.d.ts +37 -0
  138. package/dist/editor/pinch.d.ts.map +1 -0
  139. package/dist/editor/pinch.js +90 -0
  140. package/dist/editor/pinch.js.map +1 -0
  141. package/dist/editor/pointer-binding.d.ts +18 -0
  142. package/dist/editor/pointer-binding.d.ts.map +1 -0
  143. package/dist/editor/pointer-binding.js +1087 -0
  144. package/dist/editor/pointer-binding.js.map +1 -0
  145. package/dist/editor/public/annotations.d.ts +54 -0
  146. package/dist/editor/public/annotations.d.ts.map +1 -0
  147. package/dist/editor/public/annotations.js +106 -0
  148. package/dist/editor/public/annotations.js.map +1 -0
  149. package/dist/editor/public/arrange-group.d.ts +81 -0
  150. package/dist/editor/public/arrange-group.d.ts.map +1 -0
  151. package/dist/editor/public/arrange-group.js +193 -0
  152. package/dist/editor/public/arrange-group.js.map +1 -0
  153. package/dist/editor/public/brush.d.ts +33 -0
  154. package/dist/editor/public/brush.d.ts.map +1 -0
  155. package/dist/editor/public/brush.js +54 -0
  156. package/dist/editor/public/brush.js.map +1 -0
  157. package/dist/editor/public/clipboard.d.ts +31 -0
  158. package/dist/editor/public/clipboard.d.ts.map +1 -0
  159. package/dist/editor/public/clipboard.js +35 -0
  160. package/dist/editor/public/clipboard.js.map +1 -0
  161. package/dist/editor/public/image-insert.d.ts +30 -0
  162. package/dist/editor/public/image-insert.d.ts.map +1 -0
  163. package/dist/editor/public/image-insert.js +57 -0
  164. package/dist/editor/public/image-insert.js.map +1 -0
  165. package/dist/editor/public/layers.d.ts +56 -0
  166. package/dist/editor/public/layers.d.ts.map +1 -0
  167. package/dist/editor/public/layers.js +104 -0
  168. package/dist/editor/public/layers.js.map +1 -0
  169. package/dist/editor/public/link.d.ts +25 -0
  170. package/dist/editor/public/link.d.ts.map +1 -0
  171. package/dist/editor/public/link.js +74 -0
  172. package/dist/editor/public/link.js.map +1 -0
  173. package/dist/editor/public/placement.d.ts +60 -0
  174. package/dist/editor/public/placement.d.ts.map +1 -0
  175. package/dist/editor/public/placement.js +111 -0
  176. package/dist/editor/public/placement.js.map +1 -0
  177. package/dist/editor/public/selection-ops.d.ts +78 -0
  178. package/dist/editor/public/selection-ops.d.ts.map +1 -0
  179. package/dist/editor/public/selection-ops.js +226 -0
  180. package/dist/editor/public/selection-ops.js.map +1 -0
  181. package/dist/editor/public/text-edit.d.ts +17 -0
  182. package/dist/editor/public/text-edit.d.ts.map +1 -0
  183. package/dist/editor/public/text-edit.js +28 -0
  184. package/dist/editor/public/text-edit.js.map +1 -0
  185. package/dist/editor/public/z-order.d.ts +47 -0
  186. package/dist/editor/public/z-order.d.ts.map +1 -0
  187. package/dist/editor/public/z-order.js +151 -0
  188. package/dist/editor/public/z-order.js.map +1 -0
  189. package/dist/editor/public/zoom-pan.d.ts +44 -0
  190. package/dist/editor/public/zoom-pan.d.ts.map +1 -0
  191. package/dist/editor/public/zoom-pan.js +116 -0
  192. package/dist/editor/public/zoom-pan.js.map +1 -0
  193. package/dist/editor/render-orchestrator.d.ts +11 -0
  194. package/dist/editor/render-orchestrator.d.ts.map +1 -0
  195. package/dist/editor/render-orchestrator.js +473 -0
  196. package/dist/editor/render-orchestrator.js.map +1 -0
  197. package/dist/editor/resize-helpers.d.ts +30 -0
  198. package/dist/editor/resize-helpers.d.ts.map +1 -0
  199. package/dist/editor/resize-helpers.js +121 -0
  200. package/dist/editor/resize-helpers.js.map +1 -0
  201. package/dist/editor/shape-filters.d.ts +11 -0
  202. package/dist/editor/shape-filters.d.ts.map +1 -0
  203. package/dist/editor/shape-filters.js +19 -0
  204. package/dist/editor/shape-filters.js.map +1 -0
  205. package/dist/editor/shape-traits.d.ts +16 -0
  206. package/dist/editor/shape-traits.d.ts.map +1 -0
  207. package/dist/editor/shape-traits.js +29 -0
  208. package/dist/editor/shape-traits.js.map +1 -0
  209. package/dist/editor/viewport-helpers.d.ts +24 -0
  210. package/dist/editor/viewport-helpers.d.ts.map +1 -0
  211. package/dist/editor/viewport-helpers.js +63 -0
  212. package/dist/editor/viewport-helpers.js.map +1 -0
  213. package/dist/editor-events.d.ts +33 -0
  214. package/dist/editor-events.d.ts.map +1 -0
  215. package/dist/editor-events.js +2 -0
  216. package/dist/editor-events.js.map +1 -0
  217. package/dist/editor.d.ts +1841 -0
  218. package/dist/editor.d.ts.map +1 -0
  219. package/dist/editor.js +4803 -0
  220. package/dist/editor.js.map +1 -0
  221. package/dist/file-drop.d.ts +99 -0
  222. package/dist/file-drop.d.ts.map +1 -0
  223. package/dist/file-drop.js +198 -0
  224. package/dist/file-drop.js.map +1 -0
  225. package/dist/frame-helpers.d.ts +30 -0
  226. package/dist/frame-helpers.d.ts.map +1 -0
  227. package/dist/frame-helpers.js +105 -0
  228. package/dist/frame-helpers.js.map +1 -0
  229. package/dist/group-helpers.d.ts +39 -0
  230. package/dist/group-helpers.d.ts.map +1 -0
  231. package/dist/group-helpers.js +116 -0
  232. package/dist/group-helpers.js.map +1 -0
  233. package/dist/handle.d.ts +73 -0
  234. package/dist/handle.d.ts.map +1 -0
  235. package/dist/handle.js +184 -0
  236. package/dist/handle.js.map +1 -0
  237. package/dist/index.d.ts +26 -0
  238. package/dist/index.d.ts.map +1 -0
  239. package/dist/index.js +16 -0
  240. package/dist/index.js.map +1 -0
  241. package/dist/interactive.d.ts +21 -0
  242. package/dist/interactive.d.ts.map +1 -0
  243. package/dist/interactive.js +11 -0
  244. package/dist/interactive.js.map +1 -0
  245. package/dist/link-selection.d.ts +21 -0
  246. package/dist/link-selection.d.ts.map +1 -0
  247. package/dist/link-selection.js +37 -0
  248. package/dist/link-selection.js.map +1 -0
  249. package/dist/machine.d.ts +322 -0
  250. package/dist/machine.d.ts.map +1 -0
  251. package/dist/machine.js +568 -0
  252. package/dist/machine.js.map +1 -0
  253. package/dist/modes.d.ts +24 -0
  254. package/dist/modes.d.ts.map +1 -0
  255. package/dist/modes.js +2 -0
  256. package/dist/modes.js.map +1 -0
  257. package/dist/overlay.d.ts +262 -0
  258. package/dist/overlay.d.ts.map +1 -0
  259. package/dist/overlay.js +673 -0
  260. package/dist/overlay.js.map +1 -0
  261. package/dist/platform.d.ts +70 -0
  262. package/dist/platform.d.ts.map +1 -0
  263. package/dist/platform.js +115 -0
  264. package/dist/platform.js.map +1 -0
  265. package/dist/selection.d.ts +18 -0
  266. package/dist/selection.d.ts.map +1 -0
  267. package/dist/selection.js +31 -0
  268. package/dist/selection.js.map +1 -0
  269. package/package.json +59 -0
@@ -0,0 +1,65 @@
1
+ import { getAutoLayoutSpec } from "@oh-just-another/scene";
2
+ /**
3
+ * Layout / arrange commands surfaced in the context menu. All are pure editor
4
+ * operations (no pointer position / DOM), unlike the annotation / comment /
5
+ * move-to-layer menu items which stay menu-local because they need the
6
+ * right-click world point or a DOM prompt.
7
+ */
8
+ const arrangeGrid = {
9
+ id: "arrange-grid",
10
+ label: "Arrange as grid",
11
+ category: "layout",
12
+ predicate: ({ editor }) => editor.selection.size > 1,
13
+ perform: ({ editor }) => { editor.arrangeAsGrid(); },
14
+ };
15
+ const arrangeStackH = {
16
+ id: "arrange-stack-h",
17
+ label: "Stack horizontally",
18
+ category: "layout",
19
+ predicate: ({ editor }) => editor.selection.size > 1,
20
+ perform: ({ editor }) => { editor.arrangeAsStack({ direction: "horizontal" }); },
21
+ };
22
+ const arrangeStackV = {
23
+ id: "arrange-stack-v",
24
+ label: "Stack vertically",
25
+ category: "layout",
26
+ predicate: ({ editor }) => editor.selection.size > 1,
27
+ perform: ({ editor }) => { editor.arrangeAsStack({ direction: "vertical" }); },
28
+ };
29
+ /**
30
+ * Rebuild a single auto-layout container's children from its spec. Only
31
+ * applies when exactly one shape carrying an auto-layout spec is selected.
32
+ */
33
+ const autoArrange = {
34
+ id: "auto-arrange",
35
+ label: "Auto-arrange children",
36
+ category: "layout",
37
+ predicate: ({ editor }) => {
38
+ if (editor.selection.size !== 1)
39
+ return false;
40
+ const [id] = [...editor.selection];
41
+ if (!id)
42
+ return false;
43
+ const shape = editor.scene.elements.get(id);
44
+ return shape ? getAutoLayoutSpec(shape) !== null : false;
45
+ },
46
+ perform: ({ editor }) => {
47
+ const [id] = [...editor.selection];
48
+ if (id)
49
+ editor.runLayout(id);
50
+ },
51
+ };
52
+ const compactZOrder = {
53
+ id: "compact-z-order",
54
+ label: "Compact z-order",
55
+ category: "z-order",
56
+ perform: ({ editor }) => { editor.compactLayerZOrder(); },
57
+ };
58
+ export const layoutActions = [
59
+ arrangeGrid,
60
+ arrangeStackH,
61
+ arrangeStackV,
62
+ autoArrange,
63
+ compactZOrder,
64
+ ];
65
+ //# sourceMappingURL=actionLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionLayout.js","sourceRoot":"","sources":["../../src/actions/actionLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D;;;;;GAKG;AAEH,MAAM,WAAW,GAAW;IAC1B,EAAE,EAAE,cAAc;IAClB,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;IACpD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,aAAa,GAAW;IAC5B,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;IACpD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;CACjF,CAAC;AAEF,MAAM,aAAa,GAAW;IAC5B,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,kBAAkB;IACzB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;IACpD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;CAC/E,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,GAAW;IAC1B,EAAE,EAAE,cAAc;IAClB,KAAK,EAAE,uBAAuB;IAC9B,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACxB,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACtB,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,EAAE;YAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF,CAAC;AAEF,MAAM,aAAa,GAAW;IAC5B,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,WAAW;IACX,aAAa;IACb,aAAa;IACb,WAAW;IACX,aAAa;CACd,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Action } from "./types.js";
2
+ export declare const actionModeSelect: Action;
3
+ export declare const actionModeHand: Action;
4
+ export declare const actionModeRect: Action;
5
+ export declare const actionModeEllipse: Action;
6
+ export declare const actionModeText: Action;
7
+ export declare const actionModeLink: Action;
8
+ export declare const actionModeBrush: Action;
9
+ export declare const actionModeFrame: Action;
10
+ export declare const actionToggleToolLock: Action;
11
+ export declare const actionCancel: Action;
12
+ export declare const modeActions: readonly Action[];
13
+ //# sourceMappingURL=actionMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionMode.d.ts","sourceRoot":"","sources":["../../src/actions/actionMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMzC,eAAO,MAAM,gBAAgB,EAAE,MAS9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAS5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAS5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAU/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAS5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAS5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAS7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAS7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAWlC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAM1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAWxC,CAAC"}
@@ -0,0 +1,116 @@
1
+ // `iconId` keys the react-ui icon registry; `uiKind: "toggle"` + `checked`
2
+ // (active mode) drive the pressed-state highlight when the toolbar is built
3
+ // from the registry.
4
+ export const actionModeSelect = {
5
+ id: "mode-select",
6
+ label: "Select tool",
7
+ category: "mode",
8
+ hotkey: { key: "v" },
9
+ iconId: "mode-select",
10
+ uiKind: "toggle",
11
+ checked: ({ editor }) => editor.mode === "select",
12
+ perform: ({ editor }) => { editor.setMode("select"); },
13
+ };
14
+ export const actionModeHand = {
15
+ id: "mode-hand",
16
+ label: "Hand tool",
17
+ category: "mode",
18
+ hotkey: { key: "h" },
19
+ iconId: "mode-hand",
20
+ uiKind: "toggle",
21
+ checked: ({ editor }) => editor.mode === "hand",
22
+ perform: ({ editor }) => { editor.setMode("hand"); },
23
+ };
24
+ export const actionModeRect = {
25
+ id: "mode-rect",
26
+ label: "Rectangle tool",
27
+ category: "mode",
28
+ hotkey: { key: "r" },
29
+ iconId: "mode-rect",
30
+ uiKind: "toggle",
31
+ checked: ({ editor }) => editor.mode === "draw-rect",
32
+ perform: ({ editor }) => { editor.setMode("draw-rect"); },
33
+ };
34
+ export const actionModeEllipse = {
35
+ id: "mode-ellipse",
36
+ label: "Ellipse tool",
37
+ category: "mode",
38
+ // `O` (standard "Oval").
39
+ hotkey: { key: "o" },
40
+ iconId: "mode-ellipse",
41
+ uiKind: "toggle",
42
+ checked: ({ editor }) => editor.mode === "draw-ellipse",
43
+ perform: ({ editor }) => { editor.setMode("draw-ellipse"); },
44
+ };
45
+ export const actionModeText = {
46
+ id: "mode-text",
47
+ label: "Text tool",
48
+ category: "mode",
49
+ hotkey: { key: "t" },
50
+ iconId: "mode-text",
51
+ uiKind: "toggle",
52
+ checked: ({ editor }) => editor.mode === "draw-text",
53
+ perform: ({ editor }) => { editor.setMode("draw-text"); },
54
+ };
55
+ export const actionModeLink = {
56
+ id: "mode-edge",
57
+ label: "Link tool",
58
+ category: "mode",
59
+ hotkey: { key: "l" },
60
+ iconId: "mode-edge",
61
+ uiKind: "toggle",
62
+ checked: ({ editor }) => editor.mode === "draw-edge",
63
+ perform: ({ editor }) => { editor.setMode("draw-edge"); },
64
+ };
65
+ export const actionModeBrush = {
66
+ id: "mode-brush",
67
+ label: "Brush tool",
68
+ category: "mode",
69
+ hotkey: { key: "b" },
70
+ iconId: "mode-brush",
71
+ uiKind: "toggle",
72
+ checked: ({ editor }) => editor.mode === "brush",
73
+ perform: ({ editor }) => { editor.setMode("brush"); },
74
+ };
75
+ export const actionModeFrame = {
76
+ id: "mode-frame",
77
+ label: "Frame tool",
78
+ category: "mode",
79
+ hotkey: { key: "f" },
80
+ iconId: "mode-frame",
81
+ uiKind: "toggle",
82
+ checked: ({ editor }) => editor.mode === "draw-frame",
83
+ perform: ({ editor }) => { editor.setMode("draw-frame"); },
84
+ };
85
+ export const actionToggleToolLock = {
86
+ id: "toggle-tool-lock",
87
+ label: "Toggle tool lock",
88
+ category: "mode",
89
+ iconId: "tool-lock",
90
+ uiKind: "toggle",
91
+ checked: ({ editor }) => editor.toolLocked,
92
+ // No default hotkey — toolbar button only. Hosts can register one
93
+ // via `defaultActionRegistry.replace({...actionToggleToolLock,
94
+ // hotkey: ...})` if needed.
95
+ perform: ({ editor }) => { editor.setToolLocked(!editor.toolLocked); },
96
+ };
97
+ export const actionCancel = {
98
+ id: "cancel",
99
+ label: "Cancel / clear selection",
100
+ category: "edit",
101
+ hotkey: { key: "Escape" },
102
+ perform: ({ editor }) => { editor.cancelInteraction(); },
103
+ };
104
+ export const modeActions = [
105
+ actionModeSelect,
106
+ actionModeHand,
107
+ actionModeRect,
108
+ actionModeEllipse,
109
+ actionModeText,
110
+ actionModeLink,
111
+ actionModeBrush,
112
+ actionModeFrame,
113
+ actionToggleToolLock,
114
+ actionCancel,
115
+ ];
116
+ //# sourceMappingURL=actionMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionMode.js","sourceRoot":"","sources":["../../src/actions/actionMode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type Action } from "./types.js";
2
+ export declare const actionSelectAll: Action;
3
+ export declare const actionDeleteSelection: Action;
4
+ export declare const actionDuplicateSelection: Action;
5
+ export declare const actionToggleLock: Action;
6
+ export declare const actionEnterContainer: Action;
7
+ export declare const actionExitContainer: Action;
8
+ export declare const selectionActions: readonly Action[];
9
+ //# sourceMappingURL=actionSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionSelection.d.ts","sourceRoot":"","sources":["../../src/actions/actionSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAoC,MAAM,YAAY,CAAC;AAE3E,eAAO,MAAM,eAAe,EAAE,MAM7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAOnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAOtC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAO9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAOlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAOjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAO7C,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { hasSelection, hasSelectionOrLink } from "./types.js";
2
+ export const actionSelectAll = {
3
+ id: "select-all",
4
+ label: "Select all",
5
+ category: "selection",
6
+ hotkey: { key: "a", meta: true },
7
+ perform: ({ editor }) => { editor.selectAll(); },
8
+ };
9
+ export const actionDeleteSelection = {
10
+ id: "delete-selection",
11
+ label: "Delete",
12
+ category: "selection",
13
+ hotkey: [{ key: "Delete" }, { key: "Backspace" }],
14
+ predicate: hasSelectionOrLink,
15
+ perform: ({ editor }) => { editor.deleteSelected(); },
16
+ };
17
+ export const actionDuplicateSelection = {
18
+ id: "duplicate-selection",
19
+ label: "Duplicate",
20
+ category: "selection",
21
+ hotkey: { key: "d", meta: true },
22
+ predicate: hasSelection,
23
+ perform: ({ editor }) => { editor.duplicateSelected(); },
24
+ };
25
+ export const actionToggleLock = {
26
+ id: "toggle-lock",
27
+ label: "Lock / Unlock",
28
+ category: "selection",
29
+ hotkey: { key: "l", meta: true, shift: true },
30
+ predicate: hasSelection,
31
+ perform: ({ editor }) => { editor.toggleLockSelection(); },
32
+ };
33
+ export const actionEnterContainer = {
34
+ id: "enter-container",
35
+ label: "Enter container",
36
+ category: "selection",
37
+ hotkey: { key: "ArrowDown", meta: true, shift: true },
38
+ predicate: ({ editor }) => editor.selection.size === 1,
39
+ perform: ({ editor }) => { editor.enterContainer(); },
40
+ };
41
+ export const actionExitContainer = {
42
+ id: "exit-container",
43
+ label: "Exit container",
44
+ category: "selection",
45
+ hotkey: { key: "ArrowUp", meta: true, shift: true },
46
+ predicate: hasSelection,
47
+ perform: ({ editor }) => { editor.exitContainer(); },
48
+ };
49
+ export const selectionActions = [
50
+ actionSelectAll,
51
+ actionDeleteSelection,
52
+ actionDuplicateSelection,
53
+ actionToggleLock,
54
+ actionEnterContainer,
55
+ actionExitContainer,
56
+ ];
57
+ //# sourceMappingURL=actionSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionSelection.js","sourceRoot":"","sources":["../../src/actions/actionSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE3E,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAChC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAW;IAC3C,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;IACjD,SAAS,EAAE,kBAAkB;IAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAW;IAC9C,EAAE,EAAE,qBAAqB;IACzB,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAChC,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACtC,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAC7C,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAW;IAC1C,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,iBAAiB;IACxB,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACrD,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;IACtD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAW;IACzC,EAAE,EAAE,gBAAgB;IACpB,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACnD,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,eAAe;IACf,qBAAqB;IACrB,wBAAwB;IACxB,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;CACpB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Action } from "./types.js";
2
+ /**
3
+ * View toggles (grid, …) — not part of the document, not in history.
4
+ */
5
+ export declare const actionToggleGrid: Action;
6
+ export declare const viewActions: readonly Action[];
7
+ //# sourceMappingURL=actionView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionView.d.ts","sourceRoot":"","sources":["../../src/actions/actionView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AAEH,eAAO,MAAM,gBAAgB,EAAE,MAQ9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAAuB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * View toggles (grid, …) — not part of the document, not in history.
3
+ */
4
+ export const actionToggleGrid = {
5
+ id: "toggle-grid",
6
+ label: "Toggle grid",
7
+ category: "other",
8
+ hotkey: { key: "g" },
9
+ uiKind: "toggle",
10
+ checked: ({ editor }) => editor.gridVisible,
11
+ perform: ({ editor }) => { editor.toggleGrid(); },
12
+ };
13
+ export const viewActions = [actionToggleGrid];
14
+ //# sourceMappingURL=actionView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionView.js","sourceRoot":"","sources":["../../src/actions/actionView.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACtC,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;IACpB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW;IAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB,CAAC,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type Action } from "./types.js";
2
+ export declare const actionBringToFront: Action;
3
+ export declare const actionSendToBack: Action;
4
+ export declare const actionBringForward: Action;
5
+ export declare const actionSendBackward: Action;
6
+ export declare const zOrderActions: readonly Action[];
7
+ //# sourceMappingURL=actionZOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionZOrder.d.ts","sourceRoot":"","sources":["../../src/actions/actionZOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,kBAAkB,EAAE,MAShC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAO9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAOhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAOhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAK1C,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { hasSelection } from "./types.js";
2
+ export const actionBringToFront = {
3
+ id: "bring-to-front",
4
+ label: "Bring to front",
5
+ category: "z-order",
6
+ // Cmd+Shift+] (Mac) / Ctrl+Shift+] (others). Without `shift`,
7
+ // Cmd+] is bound to `bringForward`.
8
+ hotkey: { key: "]", meta: true, shift: true },
9
+ predicate: hasSelection,
10
+ perform: ({ editor }) => { editor.bringToFront(); },
11
+ };
12
+ export const actionSendToBack = {
13
+ id: "send-to-back",
14
+ label: "Send to back",
15
+ category: "z-order",
16
+ hotkey: { key: "[", meta: true, shift: true },
17
+ predicate: hasSelection,
18
+ perform: ({ editor }) => { editor.sendToBack(); },
19
+ };
20
+ export const actionBringForward = {
21
+ id: "bring-forward",
22
+ label: "Bring forward",
23
+ category: "z-order",
24
+ hotkey: { key: "]", meta: true },
25
+ predicate: hasSelection,
26
+ perform: ({ editor }) => { editor.bringForward(); },
27
+ };
28
+ export const actionSendBackward = {
29
+ id: "send-backward",
30
+ label: "Send backward",
31
+ category: "z-order",
32
+ hotkey: { key: "[", meta: true },
33
+ predicate: hasSelection,
34
+ perform: ({ editor }) => { editor.sendBackward(); },
35
+ };
36
+ export const zOrderActions = [
37
+ actionBringToFront,
38
+ actionBringForward,
39
+ actionSendBackward,
40
+ actionSendToBack,
41
+ ];
42
+ //# sourceMappingURL=actionZOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionZOrder.js","sourceRoot":"","sources":["../../src/actions/actionZOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,CAAC,MAAM,kBAAkB,GAAW;IACxC,EAAE,EAAE,gBAAgB;IACpB,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,SAAS;IACnB,8DAA8D;IAC9D,oCAAoC;IACpC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAC7C,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACtC,EAAE,EAAE,cAAc;IAClB,KAAK,EAAE,cAAc;IACrB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAC7C,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAW;IACxC,EAAE,EAAE,eAAe;IACnB,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAChC,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAW;IACxC,EAAE,EAAE,eAAe;IACnB,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAChC,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;CACjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type Action } from "./types.js";
2
+ export declare const actionZoomIn: Action;
3
+ export declare const actionZoomOut: Action;
4
+ export declare const actionZoomReset: Action;
5
+ export declare const actionZoomToFit: Action;
6
+ export declare const actionZoomToSelection: Action;
7
+ export declare const zoomActions: readonly Action[];
8
+ //# sourceMappingURL=actionZoom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionZoom.d.ts","sourceRoot":"","sources":["../../src/actions/actionZoom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,MAY1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAY3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAM7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAU7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAOnC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAMxC,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { hasSelection } from "./types.js";
2
+ export const actionZoomIn = {
3
+ id: "zoom-in",
4
+ label: "Zoom in",
5
+ category: "zoom",
6
+ // `⌘=`/`⌘+` and bare `+`/`=`.
7
+ hotkey: [
8
+ { key: "=", meta: true },
9
+ { key: "+", meta: true },
10
+ { key: "+" },
11
+ { key: "=" },
12
+ ],
13
+ perform: ({ editor }) => { editor.zoomIn(); },
14
+ };
15
+ export const actionZoomOut = {
16
+ id: "zoom-out",
17
+ label: "Zoom out",
18
+ category: "zoom",
19
+ // `⌘-`/`⌘_` and bare `-`/`_`.
20
+ hotkey: [
21
+ { key: "-", meta: true },
22
+ { key: "_", meta: true },
23
+ { key: "-" },
24
+ { key: "_" },
25
+ ],
26
+ perform: ({ editor }) => { editor.zoomOut(); },
27
+ };
28
+ export const actionZoomReset = {
29
+ id: "zoom-reset",
30
+ label: "Reset zoom",
31
+ category: "zoom",
32
+ hotkey: { key: "0", meta: true },
33
+ perform: ({ editor }) => { editor.resetZoom(); },
34
+ };
35
+ export const actionZoomToFit = {
36
+ id: "zoom-to-fit",
37
+ label: "Fit to screen",
38
+ category: "zoom",
39
+ // `⌥1` (standard "Zoom to fit"); `⌘1` is an alias.
40
+ hotkey: [
41
+ { key: "1", alt: true },
42
+ { key: "1", meta: true },
43
+ ],
44
+ perform: ({ editor }) => { editor.zoomToFit(); },
45
+ };
46
+ export const actionZoomToSelection = {
47
+ id: "zoom-to-selection",
48
+ label: "Zoom to selection",
49
+ category: "zoom",
50
+ hotkey: { key: "2", alt: true },
51
+ predicate: hasSelection,
52
+ perform: ({ editor }) => { editor.zoomToSelection(); },
53
+ };
54
+ export const zoomActions = [
55
+ actionZoomIn,
56
+ actionZoomOut,
57
+ actionZoomReset,
58
+ actionZoomToFit,
59
+ actionZoomToSelection,
60
+ ];
61
+ //# sourceMappingURL=actionZoom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionZoom.js","sourceRoot":"","sources":["../../src/actions/actionZoom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,YAAY,CAAC;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAW;IAClC,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,MAAM;IAChB,8BAA8B;IAC9B,MAAM,EAAE;QACN,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;QACxB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;QACxB,EAAE,GAAG,EAAE,GAAG,EAAE;QACZ,EAAE,GAAG,EAAE,GAAG,EAAE;KACb;IACD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,MAAM;IAChB,8BAA8B;IAC9B,MAAM,EAAE;QACN,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;QACxB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;QACxB,EAAE,GAAG,EAAE,GAAG,EAAE;QACZ,EAAE,GAAG,EAAE,GAAG,EAAE;KACb;IACD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAChC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,MAAM;IAChB,mDAAmD;IACnD,MAAM,EAAE;QACN,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;QACvB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;KACzB;IACD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAW;IAC3C,EAAE,EAAE,mBAAmB;IACvB,KAAK,EAAE,mBAAmB;IAC1B,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAC/B,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,YAAY;IACZ,aAAa;IACb,eAAe;IACf,eAAe;IACf,qBAAqB;CACtB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export type { Action, ActionCategory, ActionContext, HotkeyMatcher } from "./types.js";
2
+ export { hasSelection, hasSelectionOrLink } from "./types.js";
3
+ export { ActionRegistry, defaultActionRegistry, registerBuiltinActions } from "./registry.js";
4
+ export { actionUndo, actionRedo, historyActions } from "./actionHistory.js";
5
+ export { actionSelectAll, actionDeleteSelection, actionDuplicateSelection, actionToggleLock, actionEnterContainer, actionExitContainer, selectionActions, } from "./actionSelection.js";
6
+ export { actionCopy, actionCut, actionPaste, clipboardActions } from "./actionClipboard.js";
7
+ export { actionBringToFront, actionSendToBack, zOrderActions } from "./actionZOrder.js";
8
+ export { actionGroupSelection, actionUngroupSelection, groupingActions } from "./actionGrouping.js";
9
+ export { actionZoomIn, actionZoomOut, actionZoomReset, actionZoomToFit, actionZoomToSelection, zoomActions, } from "./actionZoom.js";
10
+ export { actionModeSelect, actionModeHand, actionModeRect, actionModeEllipse, actionModeText, actionModeLink, actionModeBrush, actionModeFrame, actionToggleToolLock, actionCancel, modeActions, } from "./actionMode.js";
11
+ export { actionToggleGrid, viewActions } from "./actionView.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EACL,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { hasSelection, hasSelectionOrLink } from "./types.js";
2
+ export { ActionRegistry, defaultActionRegistry, registerBuiltinActions } from "./registry.js";
3
+ export { actionUndo, actionRedo, historyActions } from "./actionHistory.js";
4
+ export { actionSelectAll, actionDeleteSelection, actionDuplicateSelection, actionToggleLock, actionEnterContainer, actionExitContainer, selectionActions, } from "./actionSelection.js";
5
+ export { actionCopy, actionCut, actionPaste, clipboardActions } from "./actionClipboard.js";
6
+ export { actionBringToFront, actionSendToBack, zOrderActions } from "./actionZOrder.js";
7
+ export { actionGroupSelection, actionUngroupSelection, groupingActions } from "./actionGrouping.js";
8
+ export { actionZoomIn, actionZoomOut, actionZoomReset, actionZoomToFit, actionZoomToSelection, zoomActions, } from "./actionZoom.js";
9
+ export { actionModeSelect, actionModeHand, actionModeRect, actionModeEllipse, actionModeText, actionModeLink, actionModeBrush, actionModeFrame, actionToggleToolLock, actionCancel, modeActions, } from "./actionMode.js";
10
+ export { actionToggleGrid, viewActions } from "./actionView.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EACL,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,68 @@
1
+ import type { Action, ActionContext } from "./types.js";
2
+ /**
3
+ * Registry of actions. Hosts construct one (or use the shared
4
+ * `defaultActionRegistry` populated by `registerBuiltinActions`),
5
+ * register custom actions on top, and pass it to the hotkey listener
6
+ * + context menu builder. Order of registration is preserved so
7
+ * `dispatchHotkey` returns the first match.
8
+ */
9
+ export declare class ActionRegistry {
10
+ private readonly entries;
11
+ /** Registered keys for ordered iteration on dispatch. */
12
+ private readonly order;
13
+ /**
14
+ * Rolling buffer of recent plain keypresses (key + event timestamp) for
15
+ * matching multi-key `sequence` actions like `g d`. Pruned to the
16
+ * `SEQUENCE_HOTKEY_WINDOW_MS` window on each feed; cleared on a match or
17
+ * when a modifier combo interrupts the chain.
18
+ */
19
+ private seqBuffer;
20
+ register(action: Action): void;
21
+ /** Re-registering the same id overwrites it in place. */
22
+ replace(action: Action): void;
23
+ unregister(id: string): void;
24
+ get(id: string): Action | undefined;
25
+ getAll(): readonly Action[];
26
+ /**
27
+ * Dispatch by id. Returns `true` if an action ran (predicate passed
28
+ * AND perform was called), `false` otherwise.
29
+ */
30
+ dispatch(id: string, ctx: ActionContext): boolean;
31
+ /**
32
+ * Match the keyboard event against every registered action's
33
+ * `hotkey` matcher(s) and dispatch the first whose predicate
34
+ * passes. Returns `true` on hit (caller should `preventDefault`),
35
+ * `false` when no action matched.
36
+ *
37
+ * Honours platform convention for `meta`: on macOS the
38
+ * platform's Cmd key (event.metaKey) qualifies; elsewhere it's
39
+ * Ctrl (event.ctrlKey).
40
+ */
41
+ dispatchHotkey(event: KeyboardEvent, ctx: Omit<ActionContext, "event">): boolean;
42
+ /**
43
+ * Feed the event into the sequence buffer and dispatch the first action
44
+ * whose `sequence` the buffer's tail now completes (within the time
45
+ * window). Only plain keypresses (single char, no Meta/Ctrl/Alt) chain;
46
+ * any modifier combo clears the buffer so `g`-then-`Cmd+d` can't match.
47
+ */
48
+ private trySequence;
49
+ }
50
+ /**
51
+ * Register the kernel's built-in actions on the given registry.
52
+ * Pure side-effect — call once at host bootstrap (or use
53
+ * `defaultActionRegistry` which has them pre-registered).
54
+ *
55
+ * Covers: undo / redo, clipboard (copy / cut / paste), selection
56
+ * (all / clear / duplicate / delete), z-order (front / back),
57
+ * grouping (group / ungroup), zoom (in / out / reset / fit),
58
+ * mode switching (select / hand / draw-rect / draw-ellipse /
59
+ * draw-edge / brush), tool-lock toggle, cancel. Anything host-
60
+ * specific (Save / Load / Export) is registered by the host on top.
61
+ */
62
+ export declare const registerBuiltinActions: (registry: ActionRegistry) => void;
63
+ /**
64
+ * Shared registry with built-in actions pre-registered. Hosts can add
65
+ * more on top via `register` or replace existing ones via `replace`.
66
+ */
67
+ export declare const defaultActionRegistry: ActionRegistry;
68
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/actions/registry.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC;;;;;OAKG;IACH,OAAO,CAAC,SAAS,CAAkD;IAEnE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ9B,yDAAyD;IACzD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ7B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAM5B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInC,MAAM,IAAI,SAAS,MAAM,EAAE;IAM3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO;IAQjD;;;;;;;;;OASG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO;IA6BhF;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CA0BpB;AA4GD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU,cAAc,KAAG,IAgBjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gBAAuB,CAAC"}