@oh-just-another/state 0.59.0 → 0.61.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 (163) hide show
  1. package/CHANGELOG.md +189 -0
  2. package/README.md +6 -4
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/actions/actionArrange.js +4 -4
  5. package/dist/actions/actionArrange.js.map +1 -1
  6. package/dist/actions/actionClipboard.d.ts.map +1 -1
  7. package/dist/actions/actionClipboard.js +5 -0
  8. package/dist/actions/actionClipboard.js.map +1 -1
  9. package/dist/actions/actionKeyboard.d.ts.map +1 -1
  10. package/dist/actions/actionKeyboard.js +79 -11
  11. package/dist/actions/actionKeyboard.js.map +1 -1
  12. package/dist/actions/actionMode.d.ts +2 -0
  13. package/dist/actions/actionMode.d.ts.map +1 -1
  14. package/dist/actions/actionMode.js +81 -27
  15. package/dist/actions/actionMode.js.map +1 -1
  16. package/dist/actions/actionSelection.d.ts.map +1 -1
  17. package/dist/actions/actionSelection.js +1 -0
  18. package/dist/actions/actionSelection.js.map +1 -1
  19. package/dist/actions/actionView.d.ts +6 -0
  20. package/dist/actions/actionView.d.ts.map +1 -1
  21. package/dist/actions/actionView.js +19 -1
  22. package/dist/actions/actionView.js.map +1 -1
  23. package/dist/actions/actionZoom.d.ts.map +1 -1
  24. package/dist/actions/actionZoom.js +5 -0
  25. package/dist/actions/actionZoom.js.map +1 -1
  26. package/dist/actions/index.d.ts +3 -3
  27. package/dist/actions/index.d.ts.map +1 -1
  28. package/dist/actions/index.js +3 -3
  29. package/dist/actions/index.js.map +1 -1
  30. package/dist/actions/registry.d.ts.map +1 -1
  31. package/dist/actions/registry.js +13 -0
  32. package/dist/actions/registry.js.map +1 -1
  33. package/dist/actions/types.d.ts +10 -1
  34. package/dist/actions/types.d.ts.map +1 -1
  35. package/dist/actions/types.js.map +1 -1
  36. package/dist/built-in-handlers.d.ts +8 -0
  37. package/dist/built-in-handlers.d.ts.map +1 -1
  38. package/dist/built-in-handlers.js +31 -16
  39. package/dist/built-in-handlers.js.map +1 -1
  40. package/dist/clipboard.d.ts +0 -14
  41. package/dist/clipboard.d.ts.map +1 -1
  42. package/dist/clipboard.js +1 -1
  43. package/dist/clipboard.js.map +1 -1
  44. package/dist/constants.d.ts +253 -18
  45. package/dist/constants.d.ts.map +1 -1
  46. package/dist/constants.js +255 -2
  47. package/dist/constants.js.map +1 -1
  48. package/dist/dom-events.d.ts +1 -2
  49. package/dist/dom-events.d.ts.map +1 -1
  50. package/dist/dom-events.js.map +1 -1
  51. package/dist/editor/animation-scene.d.ts +15 -0
  52. package/dist/editor/animation-scene.d.ts.map +1 -1
  53. package/dist/editor/animation-scene.js +159 -0
  54. package/dist/editor/animation-scene.js.map +1 -1
  55. package/dist/editor/applies/create.d.ts +0 -6
  56. package/dist/editor/applies/create.d.ts.map +1 -1
  57. package/dist/editor/applies/create.js +1 -1
  58. package/dist/editor/applies/create.js.map +1 -1
  59. package/dist/editor/applies/link-move.d.ts +0 -8
  60. package/dist/editor/applies/link-move.d.ts.map +1 -1
  61. package/dist/editor/applies/link-move.js +1 -1
  62. package/dist/editor/applies/link-move.js.map +1 -1
  63. package/dist/editor/event-fanout.d.ts +6 -6
  64. package/dist/editor/event-fanout.d.ts.map +1 -1
  65. package/dist/editor/event-fanout.js +8 -8
  66. package/dist/editor/event-fanout.js.map +1 -1
  67. package/dist/editor/hit-test.d.ts +8 -0
  68. package/dist/editor/hit-test.d.ts.map +1 -1
  69. package/dist/editor/hit-test.js +31 -16
  70. package/dist/editor/hit-test.js.map +1 -1
  71. package/dist/editor/interaction-state.d.ts +184 -0
  72. package/dist/editor/interaction-state.d.ts.map +1 -0
  73. package/dist/editor/interaction-state.js +139 -0
  74. package/dist/editor/interaction-state.js.map +1 -0
  75. package/dist/editor/link-handle-drag.d.ts +172 -0
  76. package/dist/editor/link-handle-drag.d.ts.map +1 -0
  77. package/dist/editor/link-handle-drag.js +369 -0
  78. package/dist/editor/link-handle-drag.js.map +1 -0
  79. package/dist/editor/pointer-binding.d.ts +9 -11
  80. package/dist/editor/pointer-binding.d.ts.map +1 -1
  81. package/dist/editor/pointer-binding.js +1247 -909
  82. package/dist/editor/pointer-binding.js.map +1 -1
  83. package/dist/editor/public/brush.d.ts +93 -13
  84. package/dist/editor/public/brush.d.ts.map +1 -1
  85. package/dist/editor/public/brush.js +240 -22
  86. package/dist/editor/public/brush.js.map +1 -1
  87. package/dist/editor/public/cursor.d.ts +1 -15
  88. package/dist/editor/public/cursor.d.ts.map +1 -1
  89. package/dist/editor/public/cursor.js +17 -7
  90. package/dist/editor/public/cursor.js.map +1 -1
  91. package/dist/editor/public/eraser.d.ts +55 -0
  92. package/dist/editor/public/eraser.d.ts.map +1 -0
  93. package/dist/editor/public/eraser.js +65 -0
  94. package/dist/editor/public/eraser.js.map +1 -0
  95. package/dist/editor/public/laser.d.ts +38 -0
  96. package/dist/editor/public/laser.d.ts.map +1 -0
  97. package/dist/editor/public/laser.js +42 -0
  98. package/dist/editor/public/laser.js.map +1 -0
  99. package/dist/editor/public/placement.d.ts.map +1 -1
  100. package/dist/editor/public/placement.js +9 -1
  101. package/dist/editor/public/placement.js.map +1 -1
  102. package/dist/editor/public/selection-ops.d.ts +12 -0
  103. package/dist/editor/public/selection-ops.d.ts.map +1 -1
  104. package/dist/editor/public/selection-ops.js +19 -1
  105. package/dist/editor/public/selection-ops.js.map +1 -1
  106. package/dist/editor/public/stroke-eraser-coverage.d.ts +37 -0
  107. package/dist/editor/public/stroke-eraser-coverage.d.ts.map +1 -0
  108. package/dist/editor/public/stroke-eraser-coverage.js +168 -0
  109. package/dist/editor/public/stroke-eraser-coverage.js.map +1 -0
  110. package/dist/editor/public/stroke-eraser.d.ts +50 -0
  111. package/dist/editor/public/stroke-eraser.d.ts.map +1 -0
  112. package/dist/editor/public/stroke-eraser.js +176 -0
  113. package/dist/editor/public/stroke-eraser.js.map +1 -0
  114. package/dist/editor/public/stroke-smoothing.d.ts +21 -0
  115. package/dist/editor/public/stroke-smoothing.d.ts.map +1 -0
  116. package/dist/editor/public/stroke-smoothing.js +37 -0
  117. package/dist/editor/public/stroke-smoothing.js.map +1 -0
  118. package/dist/editor/public/tool-ops.d.ts +130 -0
  119. package/dist/editor/public/tool-ops.d.ts.map +1 -0
  120. package/dist/editor/public/tool-ops.js +392 -0
  121. package/dist/editor/public/tool-ops.js.map +1 -0
  122. package/dist/editor/public/z-order.d.ts +1 -12
  123. package/dist/editor/public/z-order.d.ts.map +1 -1
  124. package/dist/editor/public/z-order.js +1 -1
  125. package/dist/editor/public/z-order.js.map +1 -1
  126. package/dist/editor/public/zoom-pan.d.ts +9 -0
  127. package/dist/editor/public/zoom-pan.d.ts.map +1 -1
  128. package/dist/editor/public/zoom-pan.js +31 -0
  129. package/dist/editor/public/zoom-pan.js.map +1 -1
  130. package/dist/editor/render-orchestrator.d.ts +180 -5
  131. package/dist/editor/render-orchestrator.d.ts.map +1 -1
  132. package/dist/editor/render-orchestrator.js +516 -353
  133. package/dist/editor/render-orchestrator.js.map +1 -1
  134. package/dist/editor/text-edit.d.ts +136 -0
  135. package/dist/editor/text-edit.d.ts.map +1 -0
  136. package/dist/editor/text-edit.js +328 -0
  137. package/dist/editor/text-edit.js.map +1 -0
  138. package/dist/editor-events.d.ts +5 -5
  139. package/dist/editor-events.d.ts.map +1 -1
  140. package/dist/editor.d.ts +560 -250
  141. package/dist/editor.d.ts.map +1 -1
  142. package/dist/editor.js +1650 -743
  143. package/dist/editor.js.map +1 -1
  144. package/dist/handle.d.ts +0 -2
  145. package/dist/handle.d.ts.map +1 -1
  146. package/dist/handle.js +0 -6
  147. package/dist/handle.js.map +1 -1
  148. package/dist/index.d.ts +7 -2
  149. package/dist/index.d.ts.map +1 -1
  150. package/dist/index.js +7 -1
  151. package/dist/index.js.map +1 -1
  152. package/dist/modes.d.ts +34 -1
  153. package/dist/modes.d.ts.map +1 -1
  154. package/dist/modes.js.map +1 -1
  155. package/dist/overlay.d.ts +98 -21
  156. package/dist/overlay.d.ts.map +1 -1
  157. package/dist/overlay.js +442 -116
  158. package/dist/overlay.js.map +1 -1
  159. package/dist/search.d.ts +37 -0
  160. package/dist/search.d.ts.map +1 -0
  161. package/dist/search.js +45 -0
  162. package/dist/search.js.map +1 -0
  163. package/package.json +5 -4
@@ -6,11 +6,21 @@ import { NUDGE_STEP_PX, NUDGE_STEP_SHIFT_PX } from "../constants.js";
6
6
  * host-/component-registered — they need the DOM, which the L2 kernel can't
7
7
  * import.
8
8
  */
9
- /** Arrow keys nudge the selection (Shift = coarse step). Always consumes the arrow. */
9
+ /**
10
+ * Arrow keys nudge the selection (Shift = coarse step). Always consumes the
11
+ * arrow. `displayHotkey` only feeds the help-dialog chips — dispatch runs
12
+ * purely off `keyTest`, so the declarative entries never fire.
13
+ */
10
14
  const nudgeSelection = {
11
15
  id: "nudge-selection",
12
16
  label: "Nudge selection",
13
17
  category: "selection",
18
+ displayHotkey: [
19
+ { key: "ArrowLeft" },
20
+ { key: "ArrowRight" },
21
+ { key: "ArrowUp" },
22
+ { key: "ArrowDown" },
23
+ ],
14
24
  keyTest: (ev) => (ev.key === "ArrowLeft" ||
15
25
  ev.key === "ArrowRight" ||
16
26
  ev.key === "ArrowUp" ||
@@ -39,14 +49,68 @@ const nudgeSelection = {
39
49
  },
40
50
  };
41
51
  /**
42
- * `⌘`/`Ctrl` + arrows select the nearest element in that direction.
43
- * Distinct from plain arrows (nudge) by the modifier. Always consumes the
44
- * combo so the page doesn't scroll.
52
+ * `⌥`/`Alt` + arrows navigate the selection to the adjacent node: a graph
53
+ * neighbour (linked node) best aligned with the arrow, falling back to the
54
+ * spatially nearest element that way. Distinct from plain arrows (nudge) by the
55
+ * modifier. Always consumes the combo so the page doesn't scroll.
56
+ * `displayHotkey` only feeds the help-dialog chips; dispatch runs off `keyTest`.
45
57
  */
46
58
  const selectClosest = {
47
59
  id: "select-closest",
48
- label: "Select closest in direction",
60
+ label: "Navigate to adjacent node",
49
61
  category: "selection",
62
+ displayHotkey: [
63
+ { key: "ArrowLeft", alt: true },
64
+ { key: "ArrowRight", alt: true },
65
+ { key: "ArrowUp", alt: true },
66
+ { key: "ArrowDown", alt: true },
67
+ ],
68
+ keyTest: (ev) => ev.altKey &&
69
+ !ev.metaKey &&
70
+ !ev.ctrlKey &&
71
+ !ev.shiftKey &&
72
+ (ev.key === "ArrowLeft" ||
73
+ ev.key === "ArrowRight" ||
74
+ ev.key === "ArrowUp" ||
75
+ ev.key === "ArrowDown"),
76
+ perform: ({ editor, event }) => {
77
+ if (!event)
78
+ return;
79
+ switch (event.key) {
80
+ case "ArrowLeft":
81
+ editor.navigateFlowchart("left");
82
+ return;
83
+ case "ArrowRight":
84
+ editor.navigateFlowchart("right");
85
+ return;
86
+ case "ArrowUp":
87
+ editor.navigateFlowchart("up");
88
+ return;
89
+ case "ArrowDown":
90
+ editor.navigateFlowchart("down");
91
+ return;
92
+ }
93
+ },
94
+ };
95
+ /**
96
+ * `⌘`/`Ctrl` + arrows grow a flowchart CREATE session from the single selected
97
+ * node in that direction: each press adds a pending connected sibling (preview
98
+ * only) until `Cmd/Ctrl` is released (commit) or `Escape` (cancel). Distinct
99
+ * from plain arrows (nudge), Alt+arrows (navigate) and Cmd+Shift+arrows (align)
100
+ * by requiring meta without alt/shift. No-op unless exactly one element is
101
+ * selected. `displayHotkey` only feeds the help-dialog chips; dispatch runs off
102
+ * `keyTest`.
103
+ */
104
+ const spawnConnected = {
105
+ id: "spawn-connected",
106
+ label: "Create connected node",
107
+ category: "edit",
108
+ displayHotkey: [
109
+ { key: "ArrowLeft", meta: true },
110
+ { key: "ArrowRight", meta: true },
111
+ { key: "ArrowUp", meta: true },
112
+ { key: "ArrowDown", meta: true },
113
+ ],
50
114
  keyTest: (ev) => (ev.metaKey || ev.ctrlKey) &&
51
115
  !ev.altKey &&
52
116
  !ev.shiftKey &&
@@ -54,21 +118,22 @@ const selectClosest = {
54
118
  ev.key === "ArrowRight" ||
55
119
  ev.key === "ArrowUp" ||
56
120
  ev.key === "ArrowDown"),
121
+ predicate: ({ editor }) => editor.selection.size === 1,
57
122
  perform: ({ editor, event }) => {
58
123
  if (!event)
59
124
  return;
60
125
  switch (event.key) {
61
126
  case "ArrowLeft":
62
- editor.selectClosest("left");
127
+ editor.growFlowchart("left");
63
128
  return;
64
129
  case "ArrowRight":
65
- editor.selectClosest("right");
130
+ editor.growFlowchart("right");
66
131
  return;
67
132
  case "ArrowUp":
68
- editor.selectClosest("up");
133
+ editor.growFlowchart("up");
69
134
  return;
70
135
  case "ArrowDown":
71
- editor.selectClosest("down");
136
+ editor.growFlowchart("down");
72
137
  return;
73
138
  }
74
139
  },
@@ -102,6 +167,8 @@ const editOrCreate = {
102
167
  id: "edit-or-create",
103
168
  label: "Edit / create",
104
169
  category: "edit",
170
+ // Display-only chip; `keyTest` drives dispatch.
171
+ displayHotkey: { key: "Enter" },
105
172
  keyTest: (ev) => ev.key === "Enter" && !ev.metaKey && !ev.ctrlKey && !ev.altKey,
106
173
  predicate: ({ editor }) => {
107
174
  if (editor.selection.size === 1) {
@@ -109,7 +176,7 @@ const editOrCreate = {
109
176
  if (id && editor.scene.elements.get(id)?.type === "text")
110
177
  return true;
111
178
  }
112
- return editor.mode === "draw-rect" || editor.mode === "draw-ellipse";
179
+ return editor.activeTool.type === "draw-rect" || editor.activeTool.type === "draw-ellipse";
113
180
  },
114
181
  perform: ({ editor }) => {
115
182
  if (editor.selection.size === 1) {
@@ -119,7 +186,7 @@ const editOrCreate = {
119
186
  return;
120
187
  }
121
188
  }
122
- if (editor.mode === "draw-rect" || editor.mode === "draw-ellipse") {
189
+ if (editor.activeTool.type === "draw-rect" || editor.activeTool.type === "draw-ellipse") {
123
190
  editor.createElementAtCursor();
124
191
  }
125
192
  },
@@ -127,6 +194,7 @@ const editOrCreate = {
127
194
  export const keyboardActions = [
128
195
  nudgeSelection,
129
196
  selectClosest,
197
+ spawnConnected,
130
198
  focusNext,
131
199
  focusPrev,
132
200
  editOrCreate,
@@ -1 +1 @@
1
- {"version":3,"file":"actionKeyboard.js","sourceRoot":"","sources":["../../src/actions/actionKeyboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actionKeyboard.js","sourceRoot":"","sources":["../../src/actions/actionKeyboard.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export declare const actionModeEllipse: Action;
6
6
  export declare const actionModeText: Action;
7
7
  export declare const actionModeLink: Action;
8
8
  export declare const actionModeBrush: Action;
9
+ export declare const actionModeErase: Action;
10
+ export declare const actionModeLaser: Action;
9
11
  export declare const actionModeFrame: Action;
10
12
  export declare const actionToggleToolLock: Action;
11
13
  export declare const actionCancel: Action;
@@ -1 +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,MAW9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAW5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAW5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAY/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAW5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAW5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAW7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAW7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAalC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAQ1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAWxC,CAAC"}
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,MAY9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAY5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAW5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAY/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAW5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAW5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAW7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAW7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAa7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAW7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAalC,CAAC;AAyBF,eAAO,MAAM,YAAY,EAAE,MAS1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAexC,CAAC"}
@@ -4,118 +4,168 @@
4
4
  export const actionModeSelect = {
5
5
  id: "mode-select",
6
6
  label: "Select tool",
7
- category: "mode",
7
+ category: "tool",
8
+ viewMode: true,
8
9
  hotkey: { key: "v" },
9
10
  iconId: "mode-select",
10
11
  uiKind: "toggle",
11
- checked: ({ editor }) => editor.mode === "select",
12
+ checked: ({ editor }) => editor.activeTool.type === "select",
12
13
  perform: ({ editor }) => {
13
- editor.setMode("select");
14
+ editor.setActiveTool("select");
14
15
  },
15
16
  };
16
17
  export const actionModeHand = {
17
18
  id: "mode-hand",
18
19
  label: "Hand tool",
19
- category: "mode",
20
+ category: "tool",
21
+ viewMode: true,
20
22
  hotkey: { key: "h" },
21
23
  iconId: "mode-hand",
22
24
  uiKind: "toggle",
23
- checked: ({ editor }) => editor.mode === "hand",
25
+ checked: ({ editor }) => editor.activeTool.type === "hand",
24
26
  perform: ({ editor }) => {
25
- editor.setMode("hand");
27
+ editor.setActiveTool("hand");
26
28
  },
27
29
  };
28
30
  export const actionModeRect = {
29
31
  id: "mode-rect",
30
32
  label: "Rectangle tool",
31
- category: "mode",
33
+ category: "tool",
32
34
  hotkey: { key: "r" },
33
35
  iconId: "mode-rect",
34
36
  uiKind: "toggle",
35
- checked: ({ editor }) => editor.mode === "draw-rect",
37
+ checked: ({ editor }) => editor.activeTool.type === "draw-rect",
36
38
  perform: ({ editor }) => {
37
- editor.setMode("draw-rect");
39
+ editor.setActiveTool("draw-rect");
38
40
  },
39
41
  };
40
42
  export const actionModeEllipse = {
41
43
  id: "mode-ellipse",
42
44
  label: "Ellipse tool",
43
- category: "mode",
45
+ category: "tool",
44
46
  // `O` (standard "Oval").
45
47
  hotkey: { key: "o" },
46
48
  iconId: "mode-ellipse",
47
49
  uiKind: "toggle",
48
- checked: ({ editor }) => editor.mode === "draw-ellipse",
50
+ checked: ({ editor }) => editor.activeTool.type === "draw-ellipse",
49
51
  perform: ({ editor }) => {
50
- editor.setMode("draw-ellipse");
52
+ editor.setActiveTool("draw-ellipse");
51
53
  },
52
54
  };
53
55
  export const actionModeText = {
54
56
  id: "mode-text",
55
57
  label: "Text tool",
56
- category: "mode",
58
+ category: "tool",
57
59
  hotkey: { key: "t" },
58
60
  iconId: "mode-text",
59
61
  uiKind: "toggle",
60
- checked: ({ editor }) => editor.mode === "draw-text",
62
+ checked: ({ editor }) => editor.activeTool.type === "draw-text",
61
63
  perform: ({ editor }) => {
62
- editor.setMode("draw-text");
64
+ editor.setActiveTool("draw-text");
63
65
  },
64
66
  };
65
67
  export const actionModeLink = {
66
68
  id: "mode-edge",
67
69
  label: "Link tool",
68
- category: "mode",
70
+ category: "tool",
69
71
  hotkey: { key: "l" },
70
72
  iconId: "mode-edge",
71
73
  uiKind: "toggle",
72
- checked: ({ editor }) => editor.mode === "draw-edge",
74
+ checked: ({ editor }) => editor.activeTool.type === "draw-edge",
73
75
  perform: ({ editor }) => {
74
- editor.setMode("draw-edge");
76
+ editor.setActiveTool("draw-edge");
75
77
  },
76
78
  };
77
79
  export const actionModeBrush = {
78
80
  id: "mode-brush",
79
81
  label: "Brush tool",
80
- category: "mode",
82
+ category: "tool",
81
83
  hotkey: { key: "b" },
82
84
  iconId: "mode-brush",
83
85
  uiKind: "toggle",
84
- checked: ({ editor }) => editor.mode === "brush",
86
+ checked: ({ editor }) => editor.activeTool.type === "brush",
85
87
  perform: ({ editor }) => {
86
- editor.setMode("brush");
88
+ editor.setActiveTool("brush");
89
+ },
90
+ };
91
+ export const actionModeErase = {
92
+ id: "mode-erase",
93
+ label: "Eraser tool",
94
+ category: "tool",
95
+ hotkey: { key: "e" },
96
+ iconId: "mode-erase",
97
+ uiKind: "toggle",
98
+ checked: ({ editor }) => editor.activeTool.type === "erase",
99
+ perform: ({ editor }) => {
100
+ editor.setActiveTool("erase");
101
+ },
102
+ };
103
+ export const actionModeLaser = {
104
+ id: "mode-laser",
105
+ label: "Laser pointer",
106
+ category: "tool",
107
+ // Laser is presentation-only (no scene mutation) → available in read-only.
108
+ viewMode: true,
109
+ hotkey: { key: "k" },
110
+ iconId: "mode-laser",
111
+ uiKind: "toggle",
112
+ checked: ({ editor }) => editor.activeTool.type === "laser",
113
+ perform: ({ editor }) => {
114
+ editor.setActiveTool("laser");
87
115
  },
88
116
  };
89
117
  export const actionModeFrame = {
90
118
  id: "mode-frame",
91
119
  label: "Frame tool",
92
- category: "mode",
120
+ category: "tool",
93
121
  hotkey: { key: "f" },
94
122
  iconId: "mode-frame",
95
123
  uiKind: "toggle",
96
- checked: ({ editor }) => editor.mode === "draw-frame",
124
+ checked: ({ editor }) => editor.activeTool.type === "draw-frame",
97
125
  perform: ({ editor }) => {
98
- editor.setMode("draw-frame");
126
+ editor.setActiveTool("draw-frame");
99
127
  },
100
128
  };
101
129
  export const actionToggleToolLock = {
102
130
  id: "toggle-tool-lock",
103
131
  label: "Toggle tool lock",
104
- category: "mode",
132
+ category: "tool",
105
133
  iconId: "tool-lock",
106
134
  uiKind: "toggle",
107
- checked: ({ editor }) => editor.toolLocked,
135
+ checked: ({ editor }) => editor.activeTool.locked,
108
136
  // No default hotkey — toolbar button only. Hosts can register one
109
137
  // via `defaultActionRegistry.replace({...actionToggleToolLock,
110
138
  // hotkey: ...})` if needed.
111
139
  perform: ({ editor }) => {
112
- editor.setToolLocked(!editor.toolLocked);
140
+ editor.setToolLocked(!editor.activeTool.locked);
141
+ },
142
+ };
143
+ const actionCommitCrop = {
144
+ id: "commit-image-crop",
145
+ label: "Apply crop",
146
+ category: "edit",
147
+ hotkey: { key: "Enter" },
148
+ predicate: ({ editor }) => editor.activeTool.type === "crop",
149
+ perform: ({ editor }) => {
150
+ editor.commitImageCrop();
151
+ },
152
+ };
153
+ const actionCancelCrop = {
154
+ id: "cancel-image-crop",
155
+ label: "Cancel crop",
156
+ category: "edit",
157
+ viewMode: true,
158
+ hotkey: { key: "Escape" },
159
+ predicate: ({ editor }) => editor.activeTool.type === "crop",
160
+ perform: ({ editor }) => {
161
+ editor.cancelImageCrop();
113
162
  },
114
163
  };
115
164
  export const actionCancel = {
116
165
  id: "cancel",
117
166
  label: "Cancel / clear selection",
118
167
  category: "edit",
168
+ viewMode: true,
119
169
  hotkey: { key: "Escape" },
120
170
  perform: ({ editor }) => {
121
171
  editor.cancelInteraction();
@@ -129,8 +179,12 @@ export const modeActions = [
129
179
  actionModeText,
130
180
  actionModeLink,
131
181
  actionModeBrush,
182
+ actionModeErase,
183
+ actionModeLaser,
132
184
  actionModeFrame,
133
185
  actionToggleToolLock,
186
+ actionCommitCrop,
187
+ actionCancelCrop,
134
188
  actionCancel,
135
189
  ];
136
190
  //# sourceMappingURL=actionMode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actionMode.js","sourceRoot":"","sources":["../../src/actions/actionMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actionMode.js","sourceRoot":"","sources":["../../src/actions/actionMode.ts"],"names":[],"mappings":"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"}
@@ -1 +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,MAQ7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MASnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAStC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAS9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MASlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MASjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAO7C,CAAC"}
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,MAS7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MASnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAStC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAS9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MASlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MASjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAO7C,CAAC"}
@@ -3,6 +3,7 @@ export const actionSelectAll = {
3
3
  id: "select-all",
4
4
  label: "Select all",
5
5
  category: "selection",
6
+ viewMode: true,
6
7
  hotkey: { key: "a", meta: true },
7
8
  perform: ({ editor }) => {
8
9
  editor.selectAll();
@@ -1 +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;QACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;CACF,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;QACtB,MAAM,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;CACF,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;QACtB,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;CACF,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;QACtB,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;CACF,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;QACtB,MAAM,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;CACF,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;QACtB,MAAM,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,eAAe;IACf,qBAAqB;IACrB,wBAAwB;IACxB,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;CACpB,CAAC"}
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,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAChC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;CACF,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;QACtB,MAAM,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;CACF,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;QACtB,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;CACF,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;QACtB,MAAM,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;CACF,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;QACtB,MAAM,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;CACF,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;QACtB,MAAM,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,eAAe;IACf,qBAAqB;IACrB,wBAAwB;IACxB,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;CACpB,CAAC"}
@@ -3,5 +3,11 @@ import type { Action } from "./types.js";
3
3
  * View toggles (grid, …) — not part of the document, not in history.
4
4
  */
5
5
  export declare const actionToggleGrid: Action;
6
+ /**
7
+ * Read-only / view mode toggle (`⌥R`). Flagged `viewMode` so it stays
8
+ * live once the editor is read-only — otherwise you could enter view
9
+ * mode but never leave it via the keyboard.
10
+ */
11
+ export declare const actionToggleReadOnly: Action;
6
12
  export declare const viewActions: readonly Action[];
7
13
  //# sourceMappingURL=actionView.d.ts.map
@@ -1 +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,MAU9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAAuB,CAAC"}
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,MAW9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAWlC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAA6C,CAAC"}
@@ -5,6 +5,7 @@ export const actionToggleGrid = {
5
5
  id: "toggle-grid",
6
6
  label: "Toggle grid",
7
7
  category: "other",
8
+ viewMode: true,
8
9
  hotkey: { key: "g" },
9
10
  uiKind: "toggle",
10
11
  checked: ({ editor }) => editor.gridEnabled,
@@ -12,5 +13,22 @@ export const actionToggleGrid = {
12
13
  editor.toggleGrid();
13
14
  },
14
15
  };
15
- export const viewActions = [actionToggleGrid];
16
+ /**
17
+ * Read-only / view mode toggle (`⌥R`). Flagged `viewMode` so it stays
18
+ * live once the editor is read-only — otherwise you could enter view
19
+ * mode but never leave it via the keyboard.
20
+ */
21
+ export const actionToggleReadOnly = {
22
+ id: "toggle-read-only",
23
+ label: "Read-only mode",
24
+ category: "other",
25
+ viewMode: true,
26
+ hotkey: { key: "r", alt: true },
27
+ uiKind: "toggle",
28
+ checked: ({ editor }) => editor.readOnly,
29
+ perform: ({ editor }) => {
30
+ editor.toggleReadOnly();
31
+ },
32
+ };
33
+ export const viewActions = [actionToggleGrid, actionToggleReadOnly];
16
34
  //# sourceMappingURL=actionView.js.map
@@ -1 +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;QACtB,MAAM,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB,CAAC,gBAAgB,CAAC,CAAC"}
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,QAAQ,EAAE,IAAI;IACd,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;QACtB,MAAM,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAW;IAC1C,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;IAC/B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ;IACxC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACtB,MAAM,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC"}
@@ -1 +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,MAS1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAS3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAQ7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAY7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MASnC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAMxC,CAAC"}
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,MAU1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAU3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAS7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAa7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAUnC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAMxC,CAAC"}
@@ -3,6 +3,7 @@ export const actionZoomIn = {
3
3
  id: "zoom-in",
4
4
  label: "Zoom in",
5
5
  category: "zoom",
6
+ viewMode: true,
6
7
  // `⌘=`/`⌘+` and bare `+`/`=`.
7
8
  hotkey: [{ key: "=", meta: true }, { key: "+", meta: true }, { key: "+" }, { key: "=" }],
8
9
  perform: ({ editor }) => {
@@ -13,6 +14,7 @@ export const actionZoomOut = {
13
14
  id: "zoom-out",
14
15
  label: "Zoom out",
15
16
  category: "zoom",
17
+ viewMode: true,
16
18
  // `⌘-`/`⌘_` and bare `-`/`_`.
17
19
  hotkey: [{ key: "-", meta: true }, { key: "_", meta: true }, { key: "-" }, { key: "_" }],
18
20
  perform: ({ editor }) => {
@@ -23,6 +25,7 @@ export const actionZoomReset = {
23
25
  id: "zoom-reset",
24
26
  label: "Reset zoom",
25
27
  category: "zoom",
28
+ viewMode: true,
26
29
  hotkey: { key: "0", meta: true },
27
30
  perform: ({ editor }) => {
28
31
  editor.resetZoom();
@@ -32,6 +35,7 @@ export const actionZoomToFit = {
32
35
  id: "zoom-to-fit",
33
36
  label: "Fit to screen",
34
37
  category: "zoom",
38
+ viewMode: true,
35
39
  // `⌥1` (standard "Zoom to fit"); `⌘1` is an alias.
36
40
  hotkey: [
37
41
  { key: "1", alt: true },
@@ -45,6 +49,7 @@ export const actionZoomToSelection = {
45
49
  id: "zoom-to-selection",
46
50
  label: "Zoom to selection",
47
51
  category: "zoom",
52
+ viewMode: true,
48
53
  hotkey: { key: "2", alt: true },
49
54
  predicate: hasSelection,
50
55
  perform: ({ editor }) => {
@@ -1 +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,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxF,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACtB,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,MAAM;IAChB,8BAA8B;IAC9B,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxF,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACtB,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;CACF,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;QACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;CACF,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;QACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;CACF,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;QACtB,MAAM,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,YAAY;IACZ,aAAa;IACb,eAAe;IACf,eAAe;IACf,qBAAqB;CACtB,CAAC"}
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,QAAQ,EAAE,IAAI;IACd,8BAA8B;IAC9B,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxF,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACtB,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,IAAI;IACd,8BAA8B;IAC9B,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACxF,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACtB,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAChC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,eAAe;IACtB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,IAAI;IACd,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;QACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAW;IAC3C,EAAE,EAAE,mBAAmB;IACvB,KAAK,EAAE,mBAAmB;IAC1B,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,IAAI;IACd,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;QACtB,MAAM,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,YAAY;IACZ,aAAa;IACb,eAAe;IACf,eAAe;IACf,qBAAqB;CACtB,CAAC"}
@@ -4,11 +4,11 @@ export { ActionRegistry, defaultActionRegistry, registerBuiltinActions } from ".
4
4
  export { actionUndo, actionRedo, historyActions } from "./actionHistory.js";
5
5
  export { actionSelectAll, actionDeleteSelection, actionDuplicateSelection, actionToggleLock, actionEnterContainer, actionExitContainer, selectionActions, } from "./actionSelection.js";
6
6
  export { actionCopy, actionCut, actionPaste, actionCopyStyle, actionPasteStyle, clipboardActions, } from "./actionClipboard.js";
7
- export { actionBringToFront, actionSendToBack, zOrderActions } from "./actionZOrder.js";
7
+ export { actionBringToFront, actionSendToBack, actionBringForward, actionSendBackward, zOrderActions, } from "./actionZOrder.js";
8
8
  export { actionGroupSelection, actionUngroupSelection, groupingActions } from "./actionGrouping.js";
9
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";
10
+ export { actionModeSelect, actionModeHand, actionModeRect, actionModeEllipse, actionModeText, actionModeLink, actionModeBrush, actionModeErase, actionModeLaser, actionModeFrame, actionToggleToolLock, actionCancel, modeActions, } from "./actionMode.js";
11
+ export { actionToggleGrid, actionToggleReadOnly, viewActions } from "./actionView.js";
12
12
  export { actionFlipHorizontal, actionFlipVertical, actionAlignLeft, actionAlignHCenter, actionAlignRight, actionAlignTop, actionAlignVCenter, actionAlignBottom, actionDistributeHorizontal, actionDistributeVertical, arrangeActions, } from "./actionArrange.js";
13
13
  export { actionIncreaseFontSize, actionDecreaseFontSize, textActions } from "./actionText.js";
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,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;AAChE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
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,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,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,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -3,11 +3,11 @@ export { ActionRegistry, defaultActionRegistry, registerBuiltinActions } from ".
3
3
  export { actionUndo, actionRedo, historyActions } from "./actionHistory.js";
4
4
  export { actionSelectAll, actionDeleteSelection, actionDuplicateSelection, actionToggleLock, actionEnterContainer, actionExitContainer, selectionActions, } from "./actionSelection.js";
5
5
  export { actionCopy, actionCut, actionPaste, actionCopyStyle, actionPasteStyle, clipboardActions, } from "./actionClipboard.js";
6
- export { actionBringToFront, actionSendToBack, zOrderActions } from "./actionZOrder.js";
6
+ export { actionBringToFront, actionSendToBack, actionBringForward, actionSendBackward, zOrderActions, } from "./actionZOrder.js";
7
7
  export { actionGroupSelection, actionUngroupSelection, groupingActions } from "./actionGrouping.js";
8
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";
9
+ export { actionModeSelect, actionModeHand, actionModeRect, actionModeEllipse, actionModeText, actionModeLink, actionModeBrush, actionModeErase, actionModeLaser, actionModeFrame, actionToggleToolLock, actionCancel, modeActions, } from "./actionMode.js";
10
+ export { actionToggleGrid, actionToggleReadOnly, viewActions } from "./actionView.js";
11
11
  export { actionFlipHorizontal, actionFlipVertical, actionAlignLeft, actionAlignHCenter, actionAlignRight, actionAlignTop, actionAlignVCenter, actionAlignBottom, actionDistributeHorizontal, actionDistributeVertical, arrangeActions, } from "./actionArrange.js";
12
12
  export { actionIncreaseFontSize, actionDecreaseFontSize, textActions } from "./actionText.js";
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +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,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,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;AAChE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
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,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,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,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/actions/registry.ts"],"names":[],"mappings":"AAcA,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;IAI3B;;;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;CAyBpB;AA4GD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU,cAAc,KAAG,IAkBjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gBAAuB,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/actions/registry.ts"],"names":[],"mappings":"AAcA,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;IAI3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO;IASjD;;;;;;;;;OASG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO;IA8BhF;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CA0BpB;AAqHD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU,cAAc,KAAG,IAkBjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gBAAuB,CAAC"}