@agent-native/toolkit 0.11.2 → 0.12.1

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 (75) hide show
  1. package/README.md +19 -0
  2. package/agent-native.eject.json +38 -0
  3. package/dist/canvas-annotations/CanvasCommentPins.d.ts +68 -0
  4. package/dist/canvas-annotations/CanvasCommentPins.d.ts.map +1 -0
  5. package/dist/canvas-annotations/CanvasCommentPins.js +513 -0
  6. package/dist/canvas-annotations/CanvasCommentPins.js.map +1 -0
  7. package/dist/canvas-annotations/DrawOverlay.d.ts +108 -0
  8. package/dist/canvas-annotations/DrawOverlay.d.ts.map +1 -0
  9. package/dist/canvas-annotations/DrawOverlay.js +746 -0
  10. package/dist/canvas-annotations/DrawOverlay.js.map +1 -0
  11. package/dist/canvas-annotations/DrawOverlay.spec.d.ts +2 -0
  12. package/dist/canvas-annotations/DrawOverlay.spec.d.ts.map +1 -0
  13. package/dist/canvas-annotations/DrawOverlay.spec.js +111 -0
  14. package/dist/canvas-annotations/DrawOverlay.spec.js.map +1 -0
  15. package/dist/canvas-annotations/index.d.ts +4 -0
  16. package/dist/canvas-annotations/index.d.ts.map +1 -0
  17. package/dist/canvas-annotations/index.js +3 -0
  18. package/dist/canvas-annotations/index.js.map +1 -0
  19. package/dist/canvas-annotations/types.d.ts +8 -0
  20. package/dist/canvas-annotations/types.d.ts.map +1 -0
  21. package/dist/canvas-annotations/types.js +2 -0
  22. package/dist/canvas-annotations/types.js.map +1 -0
  23. package/dist/canvas-interactions/canvas-interactions.d.ts +334 -0
  24. package/dist/canvas-interactions/canvas-interactions.d.ts.map +1 -0
  25. package/dist/canvas-interactions/canvas-interactions.js +451 -0
  26. package/dist/canvas-interactions/canvas-interactions.js.map +1 -0
  27. package/dist/canvas-interactions/canvas-interactions.spec.d.ts +2 -0
  28. package/dist/canvas-interactions/canvas-interactions.spec.d.ts.map +1 -0
  29. package/dist/canvas-interactions/canvas-interactions.spec.js +538 -0
  30. package/dist/canvas-interactions/canvas-interactions.spec.js.map +1 -0
  31. package/dist/canvas-interactions/index.d.ts +2 -0
  32. package/dist/canvas-interactions/index.d.ts.map +1 -0
  33. package/dist/canvas-interactions/index.js +2 -0
  34. package/dist/canvas-interactions/index.js.map +1 -0
  35. package/dist/composer/runtime-adapters.d.ts.map +1 -1
  36. package/dist/composer/runtime-adapters.js +13 -10
  37. package/dist/composer/runtime-adapters.js.map +1 -1
  38. package/dist/composer/runtime-adapters.spec.d.ts +2 -0
  39. package/dist/composer/runtime-adapters.spec.d.ts.map +1 -0
  40. package/dist/composer/runtime-adapters.spec.js +54 -0
  41. package/dist/composer/runtime-adapters.spec.js.map +1 -0
  42. package/dist/design-tweaks/scrub-input-utils.d.ts +61 -0
  43. package/dist/design-tweaks/scrub-input-utils.d.ts.map +1 -0
  44. package/dist/design-tweaks/scrub-input-utils.js +235 -0
  45. package/dist/design-tweaks/scrub-input-utils.js.map +1 -0
  46. package/dist/design-tweaks/scrub-input.d.ts +66 -0
  47. package/dist/design-tweaks/scrub-input.d.ts.map +1 -0
  48. package/dist/design-tweaks/scrub-input.js +313 -0
  49. package/dist/design-tweaks/scrub-input.js.map +1 -0
  50. package/dist/design-tweaks/visual-style-controls.d.ts +2 -12
  51. package/dist/design-tweaks/visual-style-controls.d.ts.map +1 -1
  52. package/dist/design-tweaks/visual-style-controls.js +3 -107
  53. package/dist/design-tweaks/visual-style-controls.js.map +1 -1
  54. package/dist/design-tweaks/visual-style-controls.spec.js +26 -0
  55. package/dist/design-tweaks/visual-style-controls.spec.js.map +1 -1
  56. package/dist/index.d.ts +1 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +1 -0
  59. package/dist/index.js.map +1 -1
  60. package/package.json +29 -1
  61. package/src/canvas-annotations/CanvasCommentPins.tsx +861 -0
  62. package/src/canvas-annotations/DrawOverlay.spec.tsx +145 -0
  63. package/src/canvas-annotations/DrawOverlay.tsx +1233 -0
  64. package/src/canvas-annotations/index.ts +15 -0
  65. package/src/canvas-annotations/types.ts +14 -0
  66. package/src/canvas-interactions/canvas-interactions.spec.ts +688 -0
  67. package/src/canvas-interactions/canvas-interactions.ts +933 -0
  68. package/src/canvas-interactions/index.ts +67 -0
  69. package/src/composer/runtime-adapters.spec.tsx +83 -0
  70. package/src/composer/runtime-adapters.tsx +16 -11
  71. package/src/design-tweaks/scrub-input-utils.ts +311 -0
  72. package/src/design-tweaks/scrub-input.tsx +491 -0
  73. package/src/design-tweaks/visual-style-controls.spec.tsx +60 -0
  74. package/src/design-tweaks/visual-style-controls.tsx +23 -168
  75. package/src/index.ts +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawOverlay.js","sourceRoot":"","sources":["../../src/canvas-annotations/DrawOverlay.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DrawOverlay.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawOverlay.spec.d.ts","sourceRoot":"","sources":["../../src/canvas-annotations/DrawOverlay.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,111 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @vitest-environment happy-dom
3
+ import { act } from "react";
4
+ import { createRoot } from "react-dom/client";
5
+ import { toast } from "sonner";
6
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
7
+ import { DrawOverlay } from "./DrawOverlay.js";
8
+ vi.mock("../ui/tooltip.js", () => ({
9
+ Tooltip: ({ children }) => children,
10
+ TooltipContent: () => null,
11
+ TooltipProvider: ({ children }) => children,
12
+ TooltipTrigger: ({ children }) => children,
13
+ }));
14
+ vi.mock("sonner", () => ({ toast: vi.fn() }));
15
+ const CANVAS_RECT = {
16
+ x: 0,
17
+ y: 0,
18
+ left: 0,
19
+ top: 0,
20
+ right: 200,
21
+ bottom: 100,
22
+ width: 200,
23
+ height: 100,
24
+ toJSON: () => ({}),
25
+ };
26
+ function pointerEvent(type, clientX, clientY) {
27
+ return new PointerEvent(type, {
28
+ bubbles: true,
29
+ cancelable: true,
30
+ button: 0,
31
+ clientX,
32
+ clientY,
33
+ isPrimary: true,
34
+ pointerId: 1,
35
+ pointerType: "mouse",
36
+ });
37
+ }
38
+ describe("DrawOverlay clear undo", () => {
39
+ let container;
40
+ let root;
41
+ let canvas;
42
+ const onSend = vi.fn();
43
+ const render = async (scopeKey) => {
44
+ await act(async () => {
45
+ root.render(_jsx(DrawOverlay, { translate: (key) => key, visible: true, scopeKey: scopeKey, onClose: vi.fn(), onSend: onSend }));
46
+ });
47
+ };
48
+ beforeEach(async () => {
49
+ vi.stubGlobal("IS_REACT_ACT_ENVIRONMENT", true);
50
+ vi.stubGlobal("requestAnimationFrame", vi.fn(() => 1));
51
+ vi.stubGlobal("cancelAnimationFrame", vi.fn());
52
+ vi.stubGlobal("ResizeObserver", class {
53
+ observe() { }
54
+ disconnect() { }
55
+ });
56
+ Object.defineProperty(HTMLCanvasElement.prototype, "getContext", {
57
+ configurable: true,
58
+ value: () => ({
59
+ beginPath: vi.fn(),
60
+ clearRect: vi.fn(),
61
+ lineTo: vi.fn(),
62
+ moveTo: vi.fn(),
63
+ scale: vi.fn(),
64
+ stroke: vi.fn(),
65
+ }),
66
+ });
67
+ container = document.createElement("div");
68
+ document.body.append(container);
69
+ root = createRoot(container);
70
+ await render("screen-a");
71
+ const renderedCanvas = container.querySelector("[data-draw-canvas]");
72
+ if (!renderedCanvas)
73
+ throw new Error("Draw canvas did not render");
74
+ canvas = renderedCanvas;
75
+ Object.defineProperty(canvas, "getBoundingClientRect", {
76
+ configurable: true,
77
+ value: () => CANVAS_RECT,
78
+ });
79
+ Object.defineProperties(canvas, {
80
+ setPointerCapture: { configurable: true, value: vi.fn() },
81
+ hasPointerCapture: { configurable: true, value: () => false },
82
+ releasePointerCapture: { configurable: true, value: vi.fn() },
83
+ });
84
+ });
85
+ afterEach(() => {
86
+ act(() => root.unmount());
87
+ container.remove();
88
+ vi.restoreAllMocks();
89
+ vi.unstubAllGlobals();
90
+ });
91
+ it("does not restore a cleared batch after the canvas scope changes", async () => {
92
+ await act(async () => {
93
+ canvas.dispatchEvent(pointerEvent("pointerdown", 20, 20));
94
+ canvas.dispatchEvent(pointerEvent("pointerup", 60, 40));
95
+ });
96
+ const clear = document.querySelector('[data-testid="draw-clear-all"]');
97
+ expect(clear?.disabled).toBe(false);
98
+ await act(async () => {
99
+ clear?.click();
100
+ });
101
+ const clearToastOptions = vi.mocked(toast).mock.calls.at(-1)?.[1];
102
+ expect(clearToastOptions?.action?.onClick).toBeTypeOf("function");
103
+ await render("screen-b");
104
+ await act(async () => clearToastOptions?.action?.onClick?.());
105
+ const send = document.querySelector('[data-testid="draw-send"]');
106
+ expect(send?.disabled).toBe(true);
107
+ await act(async () => send?.click());
108
+ expect(onSend).not.toHaveBeenCalled();
109
+ });
110
+ });
111
+ //# sourceMappingURL=DrawOverlay.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawOverlay.spec.js","sourceRoot":"","sources":["../../src/canvas-annotations/DrawOverlay.spec.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { CanvasCommentPins, type CanvasCommentPinsProps, type CanvasPin, } from "./CanvasCommentPins.js";
2
+ export { DrawOverlay, type DrawAnnotation, type DrawOverlayProps, } from "./DrawOverlay.js";
3
+ export type { CanvasAnnotationTranslate, SendCanvasAnnotation, SendCanvasAnnotationInput, } from "./types.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canvas-annotations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,SAAS,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { CanvasCommentPins, } from "./CanvasCommentPins.js";
2
+ export { DrawOverlay, } from "./DrawOverlay.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/canvas-annotations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAGlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,WAAW,GAGZ,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type CanvasAnnotationTranslate = (key: string, options?: Record<string, unknown>) => string;
2
+ export interface SendCanvasAnnotationInput {
3
+ message: string;
4
+ submit: boolean;
5
+ openSidebar: boolean;
6
+ }
7
+ export type SendCanvasAnnotation = (input: SendCanvasAnnotationInput) => boolean | Promise<boolean>;
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/canvas-annotations/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,MAAM,CAAC;AAEZ,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,KAAK,EAAE,yBAAyB,KAC7B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/canvas-annotations/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,334 @@
1
+ /**
2
+ * Headless canvas interaction primitives shared by visual editors.
3
+ *
4
+ * This module deliberately knows nothing about React, DOM elements, or how an
5
+ * application persists objects. An app supplies its object adapter and turns
6
+ * the returned semantic commands into its own mutations.
7
+ */
8
+ export declare const DEFAULT_CANVAS_DRAG_THRESHOLD = 3;
9
+ export declare const DEFAULT_CANVAS_NUDGE = 1;
10
+ export declare const DEFAULT_CANVAS_ACCELERATED_NUDGE = 10;
11
+ export declare const DEFAULT_CANVAS_MIN_SIZE = 24;
12
+ export type CanvasTextActivation = "single-click" | "double-click";
13
+ export type CanvasEscapeBehavior = "select-object" | "clear-selection" | "cancel-edit";
14
+ export type CanvasDuplicateModifier = "alt" | "meta" | "ctrl" | "none";
15
+ export type CanvasResizeHandle = "nw" | "n" | "ne" | "w" | "e" | "sw" | "s" | "se";
16
+ export interface CanvasPoint {
17
+ x: number;
18
+ y: number;
19
+ }
20
+ export interface CanvasRect extends CanvasPoint {
21
+ width: number;
22
+ height: number;
23
+ }
24
+ export interface CanvasViewport {
25
+ left: number;
26
+ top: number;
27
+ width: number;
28
+ height: number;
29
+ }
30
+ export interface CanvasSize {
31
+ width: number;
32
+ height: number;
33
+ }
34
+ export interface CanvasModifiers {
35
+ altKey?: boolean;
36
+ ctrlKey?: boolean;
37
+ metaKey?: boolean;
38
+ shiftKey?: boolean;
39
+ }
40
+ export interface CanvasTextEditPolicy {
41
+ activation?: CanvasTextActivation;
42
+ escapeBehavior?: CanvasEscapeBehavior;
43
+ }
44
+ export interface CanvasDragPolicy {
45
+ threshold?: number;
46
+ duplicateModifier?: CanvasDuplicateModifier;
47
+ }
48
+ export interface CanvasNudgePolicy {
49
+ amount?: number;
50
+ acceleratedAmount?: number;
51
+ }
52
+ /** The interaction surface an app can durably support. */
53
+ export interface CanvasInteractionCapabilities {
54
+ selection: boolean;
55
+ multiSelection: boolean;
56
+ move: boolean;
57
+ resize: boolean;
58
+ textEditing: boolean;
59
+ nudge: boolean;
60
+ duplicate: boolean;
61
+ clipboard: boolean;
62
+ delete: boolean;
63
+ arrange: boolean;
64
+ snapping: boolean;
65
+ alignment: boolean;
66
+ distribution: boolean;
67
+ grouping: boolean;
68
+ rotation: boolean;
69
+ marquee: boolean;
70
+ }
71
+ export declare const DEFAULT_CANVAS_INTERACTION_CAPABILITIES: CanvasInteractionCapabilities;
72
+ export interface CanvasInteractionConfig {
73
+ capabilities?: Partial<CanvasInteractionCapabilities>;
74
+ textEditing?: CanvasTextEditPolicy;
75
+ drag?: CanvasDragPolicy;
76
+ nudge?: CanvasNudgePolicy;
77
+ minSize?: number;
78
+ shortcuts?: readonly CanvasShortcut[];
79
+ }
80
+ /** The only persistence seam required by the shared interaction core. */
81
+ export interface CanvasInteractionAdapter<TObjectId = string> {
82
+ readonly capabilities: CanvasInteractionCapabilities;
83
+ dispatch(command: CanvasCommand<TObjectId>): CanvasCommandDispatchResult;
84
+ }
85
+ export type CanvasCommandDispatchResult = {
86
+ handled: true;
87
+ } | {
88
+ handled: false;
89
+ reason: "no-adapter" | "unsupported" | "unhandled";
90
+ };
91
+ export type CanvasCommandId = "select-all" | "undo" | "redo" | "copy" | "cut" | "paste" | "duplicate" | "delete" | "nudge" | "arrange-front" | "arrange-back" | "bring-forward" | "bring-to-front" | "send-backward" | "send-to-back" | "align-left" | "align-center" | "align-right" | "align-top" | "align-middle" | "align-bottom" | "distribute-horizontal" | "distribute-vertical" | "group" | "ungroup" | "frame-selection" | "escape" | "enter" | "nudge-left" | "nudge-right" | "nudge-up" | "nudge-down";
92
+ export interface CanvasCommand<TObjectId = string> {
93
+ id: CanvasCommandId;
94
+ objectIds?: readonly TObjectId[];
95
+ delta?: CanvasPoint;
96
+ }
97
+ export type CanvasShortcutModifier = "primary" | "shift" | "alt" | "ctrl" | "meta";
98
+ export interface CanvasShortcut {
99
+ command: CanvasCommandId;
100
+ key: string;
101
+ /**
102
+ * Optional physical key identity for shifted punctuation. `KeyboardEvent.key`
103
+ * changes `]` to `}` under Shift, while `KeyboardEvent.code` stays stable.
104
+ */
105
+ code?: string;
106
+ modifiers?: readonly CanvasShortcutModifier[];
107
+ }
108
+ export interface CanvasShortcutInput extends CanvasModifiers {
109
+ key: string;
110
+ code?: string;
111
+ }
112
+ export interface CanvasShortcutRegistry {
113
+ readonly shortcuts: readonly CanvasShortcut[];
114
+ resolve(input: CanvasShortcutInput): CanvasCommandId | null;
115
+ }
116
+ export interface CanvasTextActivationInput {
117
+ clickCount: number;
118
+ textEditable: boolean;
119
+ }
120
+ export type CanvasTextActivationResult = "edit" | "select";
121
+ export interface CanvasEscapeInput<TObjectId = string> {
122
+ editingObjectId: TObjectId | null;
123
+ selectedObjectIds?: readonly TObjectId[];
124
+ }
125
+ export type CanvasEscapeResult<TObjectId = string> = {
126
+ action: "select-object";
127
+ editingObjectId: null;
128
+ selectedObjectIds: readonly TObjectId[];
129
+ } | {
130
+ action: "cancel-edit";
131
+ editingObjectId: null;
132
+ selectedObjectIds: readonly TObjectId[];
133
+ } | {
134
+ action: "clear-selection";
135
+ editingObjectId: null;
136
+ selectedObjectIds: readonly TObjectId[];
137
+ } | {
138
+ action: "none";
139
+ editingObjectId: null;
140
+ selectedObjectIds: readonly TObjectId[];
141
+ };
142
+ export interface CanvasResizeInput {
143
+ handle: CanvasResizeHandle;
144
+ delta: CanvasPoint;
145
+ preserveAspectRatio?: boolean;
146
+ minWidth?: number;
147
+ minHeight?: number;
148
+ }
149
+ export interface CanvasNudgeInput extends CanvasModifiers {
150
+ key: string;
151
+ }
152
+ export interface CanvasNudgeResult {
153
+ command: Extract<CanvasCommandId, "nudge-left" | "nudge-right" | "nudge-up" | "nudge-down">;
154
+ delta: CanvasPoint;
155
+ }
156
+ /** A pointer expressed in browser client coordinates. */
157
+ export interface CanvasGesturePointer extends CanvasPoint, CanvasModifiers {
158
+ }
159
+ export type CanvasGestureKind = "move" | "resize";
160
+ export type CanvasGesturePhase = "idle" | "pending" | "active";
161
+ export interface CanvasGestureBase<TObjectId = string> {
162
+ readonly kind: CanvasGestureKind;
163
+ readonly objectIds: readonly TObjectId[];
164
+ /** Pointer location when the gesture began, in browser client coordinates. */
165
+ readonly startPointer: CanvasGesturePointer;
166
+ readonly pointer: CanvasGesturePointer;
167
+ readonly clientDelta: CanvasPoint;
168
+ readonly canvasDelta: CanvasPoint;
169
+ /** Whether this gesture should create copies as part of its one final commit. */
170
+ readonly duplicate: boolean;
171
+ }
172
+ export interface CanvasMoveGesture<TObjectId = string> extends CanvasGestureBase<TObjectId> {
173
+ readonly kind: "move";
174
+ }
175
+ export interface CanvasResizeGesture<TObjectId = string> extends CanvasGestureBase<TObjectId> {
176
+ readonly kind: "resize";
177
+ readonly handle: CanvasResizeHandle;
178
+ readonly startRect: CanvasRect;
179
+ readonly rect: CanvasRect;
180
+ }
181
+ export type CanvasGesture<TObjectId = string> = CanvasMoveGesture<TObjectId> | CanvasResizeGesture<TObjectId>;
182
+ export interface CanvasMoveGestureStart<TObjectId = string> {
183
+ readonly kind: "move";
184
+ readonly objectIds: readonly TObjectId[];
185
+ readonly pointer: CanvasGesturePointer;
186
+ readonly viewport: CanvasViewport;
187
+ readonly canvas: CanvasSize;
188
+ }
189
+ export interface CanvasResizeGestureStart<TObjectId = string> {
190
+ readonly kind: "resize";
191
+ readonly objectIds: readonly TObjectId[];
192
+ readonly pointer: CanvasGesturePointer;
193
+ readonly viewport: CanvasViewport;
194
+ readonly canvas: CanvasSize;
195
+ readonly handle: CanvasResizeHandle;
196
+ readonly rect: CanvasRect;
197
+ }
198
+ export type CanvasGestureStart<TObjectId = string> = CanvasMoveGestureStart<TObjectId> | CanvasResizeGestureStart<TObjectId>;
199
+ /** Typed result returned by host preview, commit, and cancel callbacks. */
200
+ export type CanvasGestureAdapterResult = {
201
+ handled: true;
202
+ } | {
203
+ handled: false;
204
+ reason: "unsupported" | "unhandled";
205
+ };
206
+ /**
207
+ * Persistence-neutral callbacks for a single object gesture. Previews are
208
+ * transient; `commit` is invoked at most once after an active gesture ends.
209
+ */
210
+ export interface CanvasGestureAdapter<TObjectId = string> {
211
+ preview?(gesture: CanvasGesture<TObjectId>): CanvasGestureAdapterResult;
212
+ commit(gesture: CanvasGesture<TObjectId>): CanvasGestureAdapterResult;
213
+ cancel?(gesture: CanvasGesture<TObjectId>): CanvasGestureAdapterResult;
214
+ }
215
+ export interface CanvasGestureControllerConfig<TObjectId = string> extends CanvasInteractionConfig {
216
+ adapter: CanvasGestureAdapter<TObjectId>;
217
+ }
218
+ export interface CanvasGestureState<TObjectId = string> {
219
+ readonly phase: CanvasGesturePhase;
220
+ readonly gesture: CanvasGesture<TObjectId> | null;
221
+ }
222
+ export type CanvasGestureBeginResult<TObjectId = string> = {
223
+ accepted: true;
224
+ state: CanvasGestureState<TObjectId>;
225
+ } | {
226
+ accepted: false;
227
+ reason: "unsupported" | "already-active" | "invalid-resize";
228
+ state: CanvasGestureState<TObjectId>;
229
+ };
230
+ export type CanvasGestureUpdateResult<TObjectId = string> = {
231
+ phase: "idle";
232
+ state: CanvasGestureState<TObjectId>;
233
+ } | {
234
+ phase: "pending";
235
+ state: CanvasGestureState<TObjectId>;
236
+ } | {
237
+ phase: "active";
238
+ gesture: CanvasGesture<TObjectId>;
239
+ preview: CanvasGestureAdapterResult | null;
240
+ state: CanvasGestureState<TObjectId>;
241
+ };
242
+ export type CanvasGestureEndResult<TObjectId = string> = {
243
+ committed: true;
244
+ gesture: CanvasGesture<TObjectId>;
245
+ result: CanvasGestureAdapterResult;
246
+ state: CanvasGestureState<TObjectId>;
247
+ } | {
248
+ committed: false;
249
+ reason: "idle" | "below-threshold" | "unsupported";
250
+ state: CanvasGestureState<TObjectId>;
251
+ };
252
+ export type CanvasGestureCancelResult<TObjectId = string> = {
253
+ cancelled: true;
254
+ gesture: CanvasGesture<TObjectId>;
255
+ result: CanvasGestureAdapterResult | null;
256
+ state: CanvasGestureState<TObjectId>;
257
+ } | {
258
+ cancelled: false;
259
+ reason: "idle";
260
+ state: CanvasGestureState<TObjectId>;
261
+ };
262
+ export declare const DEFAULT_CANVAS_SHORTCUTS: readonly CanvasShortcut[];
263
+ /** Resolves click-to-edit without attaching event listeners. */
264
+ export declare function resolveCanvasTextActivation(input: CanvasTextActivationInput, policy?: CanvasTextEditPolicy): CanvasTextActivationResult;
265
+ /**
266
+ * Escape has one explicit owner: editing wins over any box-selection state.
267
+ * The host applies this result before handing Escape to generic UI dismissal.
268
+ */
269
+ export declare function resolveCanvasEscape<TObjectId>(input: CanvasEscapeInput<TObjectId>, policy?: CanvasTextEditPolicy): CanvasEscapeResult<TObjectId>;
270
+ /** Converts a browser client point into unscaled canvas coordinates. */
271
+ export declare function clientPointToCanvasPoint(point: CanvasPoint, viewport: CanvasViewport, canvas: CanvasSize): CanvasPoint;
272
+ /** Converts a client-space drag delta to the canvas's unscaled coordinate space. */
273
+ export declare function clientDeltaToCanvasDelta(delta: CanvasPoint, viewport: CanvasViewport, canvas: CanvasSize): CanvasPoint;
274
+ /** Whether the client pointer crossed the intentional-drag threshold. */
275
+ export declare function hasCrossedCanvasDragThreshold(start: CanvasPoint, current: CanvasPoint, threshold?: number): boolean;
276
+ /** Locks a drag to its dominant axis, used for Shift-drag. */
277
+ export declare function constrainCanvasDragDelta(delta: CanvasPoint, lockAxis?: boolean): CanvasPoint;
278
+ /**
279
+ * Resizes against the opposite edge. Shift preserves aspect ratio on corners;
280
+ * midpoint handles stay single-axis so their fixed edge remains predictable.
281
+ */
282
+ export declare function resizeCanvasRect(start: CanvasRect, input: CanvasResizeInput): CanvasRect;
283
+ /** Whether this drag gesture should duplicate selected objects before moving. */
284
+ export declare function shouldDuplicateCanvasDrag(modifiers: CanvasModifiers, duplicateModifier?: CanvasDuplicateModifier): boolean;
285
+ /** Resolves standard arrow-key movement, including Shift's accelerated nudge. */
286
+ export declare function resolveCanvasNudge(input: CanvasNudgeInput, policy?: CanvasNudgePolicy): CanvasNudgeResult | null;
287
+ /** Looks up a semantic command without referring to platform-specific events. */
288
+ export declare function resolveCanvasShortcut(input: CanvasShortcutInput, shortcuts?: readonly CanvasShortcut[]): CanvasCommandId | null;
289
+ /** Creates a reusable, immutable shortcut lookup for one editor policy. */
290
+ export declare function createCanvasShortcutRegistry(shortcuts?: readonly CanvasShortcut[]): CanvasShortcutRegistry;
291
+ /**
292
+ * Creates an app-configured pure interaction core. `dispatch` is optional so
293
+ * hosts can either use the helpers directly or receive semantic commands via
294
+ * their adapter without the Toolkit owning any state.
295
+ */
296
+ export declare function createCanvasInteractionCore<TObjectId = string>(config?: CanvasInteractionConfig, adapter?: CanvasInteractionAdapter<TObjectId>): {
297
+ capabilities: CanvasInteractionCapabilities;
298
+ textActivation: (input: CanvasTextActivationInput) => CanvasTextActivationResult;
299
+ escape: (input: CanvasEscapeInput<TObjectId>) => CanvasEscapeResult<TObjectId>;
300
+ clientPointToCanvas: (point: CanvasPoint, viewport: CanvasViewport, canvas: CanvasSize) => CanvasPoint;
301
+ clientDeltaToCanvas: (delta: CanvasPoint, viewport: CanvasViewport, canvas: CanvasSize) => CanvasPoint;
302
+ hasCrossedDragThreshold: (start: CanvasPoint, current: CanvasPoint) => boolean;
303
+ constrainDrag: (delta: CanvasPoint, modifiers?: CanvasModifiers) => CanvasPoint;
304
+ resize: (start: CanvasRect, input: CanvasResizeInput) => CanvasRect;
305
+ shouldDuplicateDrag: (modifiers: CanvasModifiers) => boolean;
306
+ nudge: (input: CanvasNudgeInput) => CanvasNudgeResult | null;
307
+ shortcut: (input: CanvasShortcutInput) => CanvasCommandId | null;
308
+ dispatch: (command: CanvasCommand<TObjectId>) => {
309
+ handled: true;
310
+ } | {
311
+ handled: false;
312
+ reason: "no-adapter" | "unsupported" | "unhandled";
313
+ } | {
314
+ readonly handled: false;
315
+ readonly reason: "no-adapter";
316
+ } | {
317
+ readonly handled: false;
318
+ readonly reason: "unsupported";
319
+ };
320
+ };
321
+ /**
322
+ * Creates a small state machine for one pointer gesture at a time. It keeps
323
+ * browser coordinates at its boundary, while every emitted preview and commit
324
+ * is in stable canvas coordinates. Hosts own rendering and persistence.
325
+ */
326
+ export declare function createCanvasGestureController<TObjectId = string>(config: CanvasGestureControllerConfig<TObjectId>): {
327
+ capabilities: CanvasInteractionCapabilities;
328
+ getState: () => CanvasGestureState<TObjectId>;
329
+ pointerDown: (gestureStart: CanvasGestureStart<TObjectId>) => CanvasGestureBeginResult<TObjectId>;
330
+ pointerMove: (pointer: CanvasGesturePointer) => CanvasGestureUpdateResult<TObjectId>;
331
+ pointerUp: (pointer: CanvasGesturePointer) => CanvasGestureEndResult<TObjectId>;
332
+ cancel: () => CanvasGestureCancelResult<TObjectId>;
333
+ };
334
+ //# sourceMappingURL=canvas-interactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-interactions.d.ts","sourceRoot":"","sources":["../../src/canvas-interactions/canvas-interactions.ts"],"names":[],"mappings":"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"}