@ikenga/contract 0.9.1 → 0.11.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.
package/dist/browser.d.ts CHANGED
@@ -7,6 +7,9 @@ export declare const BrowserPaneIdSchema: z.ZodBranded<z.ZodString, "BrowserPane
7
7
  export type BrowserPaneId = z.infer<typeof BrowserPaneIdSchema>;
8
8
  export declare const BrowserRefSchema: z.ZodBranded<z.ZodString, "BrowserRef">;
9
9
  export type BrowserRef = z.infer<typeof BrowserRefSchema>;
10
+ export declare const BROWSER_ENGINES: readonly ["webkit", "chrome"];
11
+ export declare const BrowserEngineSchema: z.ZodEnum<["webkit", "chrome"]>;
12
+ export type BrowserEngine = z.infer<typeof BrowserEngineSchema>;
10
13
  export declare const BrowserSnapshotNodeSchema: z.ZodObject<{
11
14
  ref: z.ZodBranded<z.ZodString, "BrowserRef">;
12
15
  role: z.ZodString;
@@ -185,6 +188,9 @@ export declare const BrowserOpenInputSchema: z.ZodEffects<z.ZodObject<{
185
188
  * Optional initial rect in main-window-client coordinates. Omitted when
186
189
  * the FE owns layout (the kernel will refuse without a rect; the MCP
187
190
  * layer is expected to supply a sane default if the caller didn't).
191
+ *
192
+ * Ignored for `engine: "chrome"` — Managed Chrome renders in its own OS
193
+ * window, not a shell pane.
188
194
  */
189
195
  rect: z.ZodOptional<z.ZodObject<{
190
196
  x: z.ZodNumber;
@@ -202,8 +208,15 @@ export declare const BrowserOpenInputSchema: z.ZodEffects<z.ZodObject<{
202
208
  w: number;
203
209
  h: number;
204
210
  }>>;
211
+ /**
212
+ * Which engine backs this pane. Defaults to `"webkit"` (the in-shell
213
+ * child-webview). `"chrome"` is Managed mode (installed Chrome over CDP).
214
+ * The pkg must declare the engine in `capabilities.webview.engines`.
215
+ */
216
+ engine: z.ZodDefault<z.ZodEnum<["webkit", "chrome"]>>;
205
217
  }, "strip", z.ZodTypeAny, {
206
218
  url: string;
219
+ engine: "webkit" | "chrome";
207
220
  partition?: string | undefined;
208
221
  session?: string | undefined;
209
222
  rect?: {
@@ -222,8 +235,10 @@ export declare const BrowserOpenInputSchema: z.ZodEffects<z.ZodObject<{
222
235
  w: number;
223
236
  h: number;
224
237
  } | undefined;
238
+ engine?: "webkit" | "chrome" | undefined;
225
239
  }>, {
226
240
  url: string;
241
+ engine: "webkit" | "chrome";
227
242
  partition?: string | undefined;
228
243
  session?: string | undefined;
229
244
  rect?: {
@@ -242,20 +257,25 @@ export declare const BrowserOpenInputSchema: z.ZodEffects<z.ZodObject<{
242
257
  w: number;
243
258
  h: number;
244
259
  } | undefined;
260
+ engine?: "webkit" | "chrome" | undefined;
245
261
  }>;
246
262
  export type BrowserOpenInput = z.infer<typeof BrowserOpenInputSchema>;
247
263
  export declare const BrowserOpenResultSchema: z.ZodObject<{
248
264
  id: z.ZodBranded<z.ZodString, "BrowserPaneId">;
249
265
  url: z.ZodString;
250
266
  partition: z.ZodString;
267
+ /** The resolved engine backing this pane (`"webkit"` if absent, for back-compat). */
268
+ engine: z.ZodDefault<z.ZodEnum<["webkit", "chrome"]>>;
251
269
  }, "strip", z.ZodTypeAny, {
252
270
  url: string;
253
271
  id: string & z.BRAND<"BrowserPaneId">;
254
272
  partition: string;
273
+ engine: "webkit" | "chrome";
255
274
  }, {
256
275
  url: string;
257
276
  id: string;
258
277
  partition: string;
278
+ engine?: "webkit" | "chrome" | undefined;
259
279
  }>;
260
280
  export type BrowserOpenResult = z.infer<typeof BrowserOpenResultSchema>;
261
281
  export declare const BrowserPaneIdInputSchema: z.ZodObject<{
@@ -279,16 +299,20 @@ export declare const BrowserListEntrySchema: z.ZodObject<{
279
299
  url: z.ZodString;
280
300
  partition: z.ZodString;
281
301
  focused: z.ZodBoolean;
302
+ /** Which engine backs this pane (`"webkit"` if absent, for back-compat). */
303
+ engine: z.ZodDefault<z.ZodEnum<["webkit", "chrome"]>>;
282
304
  }, "strip", z.ZodTypeAny, {
283
305
  url: string;
284
306
  id: string & z.BRAND<"BrowserPaneId">;
285
307
  partition: string;
308
+ engine: "webkit" | "chrome";
286
309
  focused: boolean;
287
310
  }, {
288
311
  url: string;
289
312
  id: string;
290
313
  partition: string;
291
314
  focused: boolean;
315
+ engine?: "webkit" | "chrome" | undefined;
292
316
  }>;
293
317
  export type BrowserListEntry = z.infer<typeof BrowserListEntrySchema>;
294
318
  export declare const BrowserListResultSchema: z.ZodObject<{
@@ -297,22 +321,27 @@ export declare const BrowserListResultSchema: z.ZodObject<{
297
321
  url: z.ZodString;
298
322
  partition: z.ZodString;
299
323
  focused: z.ZodBoolean;
324
+ /** Which engine backs this pane (`"webkit"` if absent, for back-compat). */
325
+ engine: z.ZodDefault<z.ZodEnum<["webkit", "chrome"]>>;
300
326
  }, "strip", z.ZodTypeAny, {
301
327
  url: string;
302
328
  id: string & z.BRAND<"BrowserPaneId">;
303
329
  partition: string;
330
+ engine: "webkit" | "chrome";
304
331
  focused: boolean;
305
332
  }, {
306
333
  url: string;
307
334
  id: string;
308
335
  partition: string;
309
336
  focused: boolean;
337
+ engine?: "webkit" | "chrome" | undefined;
310
338
  }>, "many">;
311
339
  }, "strip", z.ZodTypeAny, {
312
340
  panes: {
313
341
  url: string;
314
342
  id: string & z.BRAND<"BrowserPaneId">;
315
343
  partition: string;
344
+ engine: "webkit" | "chrome";
316
345
  focused: boolean;
317
346
  }[];
318
347
  }, {
@@ -321,6 +350,7 @@ export declare const BrowserListResultSchema: z.ZodObject<{
321
350
  id: string;
322
351
  partition: string;
323
352
  focused: boolean;
353
+ engine?: "webkit" | "chrome" | undefined;
324
354
  }[];
325
355
  }>;
326
356
  export type BrowserListResult = z.infer<typeof BrowserListResultSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/dist/browser.js CHANGED
@@ -32,6 +32,16 @@ export const BrowserRefSchema = z
32
32
  .string()
33
33
  .regex(BROWSER_REF_PATTERN, 'must match /^e\\d+$/ (e.g. "e0", "e12")')
34
34
  .brand();
35
+ // ---------- Engine ----------
36
+ //
37
+ // Which underlying browser engine backs a pane. `webkit` (default) is the
38
+ // in-shell child-webview (WebKitGTK on Linux / WKWebView / WebView2). `chrome`
39
+ // is "Managed mode": the shell launches the user's installed Google Chrome with
40
+ // a dedicated `--user-data-dir` + `--remote-debugging-port` and drives it over
41
+ // CDP. The engine is chosen at `open()`; subsequent actions address the pane by
42
+ // id and inherit its engine. See plans/chrome-pkg/01-plan.md §Architecture.
43
+ export const BROWSER_ENGINES = ['webkit', 'chrome'];
44
+ export const BrowserEngineSchema = z.enum(BROWSER_ENGINES);
35
45
  // ---------- Snapshot ----------
36
46
  //
37
47
  // Mirrors the shape of Iyke's `DomResult` so models can move between the
@@ -97,8 +107,17 @@ export const BrowserOpenInputSchema = z
97
107
  * Optional initial rect in main-window-client coordinates. Omitted when
98
108
  * the FE owns layout (the kernel will refuse without a rect; the MCP
99
109
  * layer is expected to supply a sane default if the caller didn't).
110
+ *
111
+ * Ignored for `engine: "chrome"` — Managed Chrome renders in its own OS
112
+ * window, not a shell pane.
100
113
  */
101
114
  rect: RectSchema.optional(),
115
+ /**
116
+ * Which engine backs this pane. Defaults to `"webkit"` (the in-shell
117
+ * child-webview). `"chrome"` is Managed mode (installed Chrome over CDP).
118
+ * The pkg must declare the engine in `capabilities.webview.engines`.
119
+ */
120
+ engine: BrowserEngineSchema.default('webkit'),
102
121
  })
103
122
  .refine((v) => !(v.partition && v.session), {
104
123
  message: 'pass at most one of `partition` / `session`',
@@ -107,6 +126,8 @@ export const BrowserOpenResultSchema = z.object({
107
126
  id: BrowserPaneIdSchema,
108
127
  url: z.string(),
109
128
  partition: z.string(),
129
+ /** The resolved engine backing this pane (`"webkit"` if absent, for back-compat). */
130
+ engine: BrowserEngineSchema.default('webkit'),
110
131
  });
111
132
  export const BrowserPaneIdInputSchema = z.object({ id: BrowserPaneIdSchema });
112
133
  export const BrowserOkResultSchema = z.object({ ok: z.literal(true) });
@@ -115,6 +136,8 @@ export const BrowserListEntrySchema = z.object({
115
136
  url: z.string(),
116
137
  partition: z.string(),
117
138
  focused: z.boolean(),
139
+ /** Which engine backs this pane (`"webkit"` if absent, for back-compat). */
140
+ engine: BrowserEngineSchema.default('webkit'),
118
141
  });
119
142
  export const BrowserListResultSchema = z.object({
120
143
  panes: z.array(BrowserListEntrySchema),
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../src/canvas/Canvas.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAA2B,MAAM,YAAY,CAAC;AAmIrF,eAAO,MAAM,MAAM,EAA8B,CAAC,CAAC,EACjD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;CAAE,KACtD,YAAY,CAAC"}
1
+ {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../src/canvas/Canvas.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAA2B,MAAM,YAAY,CAAC;AA2JrF,eAAO,MAAM,MAAM,EAA8B,CAAC,CAAC,EACjD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;CAAE,KACtD,YAAY,CAAC"}
@@ -26,11 +26,12 @@ const ITEM_SELECTOR = '.home-widget, .home-greeting, [data-canvas-item]';
26
26
  const BAR_SELECTOR = '.ikenga-canvas-bar';
27
27
  const PALETTE_SELECTOR = '.home-palette';
28
28
  function CanvasInner(props, ref) {
29
- const { items, itemId, itemKind, layout, viewport, editMode, selectedId = null, gridSnap = 12, renderItem, onLayoutChange, onViewportChange, onEditModeChange, onSelectionChange, autoFitOnResize = true, className, } = props;
29
+ const { items, itemId, itemKind, layout, viewport, editMode, selectedId = null, gridSnap = 12, renderItem, onLayoutChange, onViewportChange, onEditModeChange, onSelectionChange, autoFitOnResize = true, keyboardPan = true, ariaLabel = 'Canvas', className, } = props;
30
30
  const { pan, autoFit, canvasRef, stageRef, spaceDown, beginPan, isPanning } = usePanZoom({
31
31
  layout,
32
32
  editMode,
33
33
  autoFitOnResize,
34
+ keyboardPan,
34
35
  onViewportChange,
35
36
  onEditModeChange,
36
37
  onSelectionChange,
@@ -54,6 +55,12 @@ function CanvasInner(props, ref) {
54
55
  if (!id)
55
56
  return;
56
57
  onSelectionChange?.(id);
58
+ // Move DOM focus to the newly-selected item so keyboard users land on it
59
+ // and screen readers announce the selection (WCAG 2.4.3 Focus Order). The
60
+ // rAF waits for React to commit the tabIndex={0} / aria-selected update.
61
+ requestAnimationFrame(() => canvasRef.current
62
+ ?.querySelector(`[data-id="${CSS.escape(id)}"]`)
63
+ ?.focus());
57
64
  beginDrag(id, e.clientX, e.clientY);
58
65
  e.preventDefault();
59
66
  return;
@@ -72,7 +79,7 @@ function CanvasInner(props, ref) {
72
79
  autoFit(true);
73
80
  }
74
81
  const transform = `translate(${pan.x}px, ${pan.y}px) scale(${pan.scale})`;
75
- return (_jsxs("div", { ref: canvasRef, className: className ? `ikenga-canvas ${className}` : 'ikenga-canvas', "data-mode-edit": editMode ? 'true' : 'false', onMouseDown: onMouseDown, onDoubleClick: onDoubleClick, children: [_jsx("div", { className: "ikenga-canvas-grain" }), _jsx("div", { ref: stageRef, className: "ikenga-canvas-stage", style: { transform }, children: items.map((item) => {
82
+ return (_jsxs("div", { ref: canvasRef, className: className ? `ikenga-canvas ${className}` : 'ikenga-canvas', "data-mode-edit": editMode ? 'true' : 'false', role: "application", "aria-label": ariaLabel, tabIndex: 0, onMouseDown: onMouseDown, onDoubleClick: onDoubleClick, children: [_jsx("div", { className: "ikenga-canvas-grain" }), _jsx("div", { ref: stageRef, className: "ikenga-canvas-stage", style: { transform }, children: items.map((item) => {
76
83
  const id = itemId(item);
77
84
  const placement = layout[id];
78
85
  if (!placement)
@@ -105,6 +112,11 @@ function CanvasInner(props, ref) {
105
112
  'data-id': id,
106
113
  style: injected,
107
114
  className,
115
+ // Selected item is programmatically focusable (tabIndex 0) and
116
+ // announces its selected state; unselected items stay out of the
117
+ // tab sequence (tabIndex -1) like a roving tablist (WCAG 2.4.3).
118
+ 'aria-selected': isSelected,
119
+ tabIndex: isSelected ? 0 : -1,
108
120
  });
109
121
  }) }), props.children] }));
110
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Canvas.js","sourceRoot":"","sources":["../../src/canvas/Canvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Canvas.js","sourceRoot":"","sources":["../../src/canvas/Canvas.tsx"],"names":[],"mappings":"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"}
@@ -35,6 +35,10 @@ export interface CanvasProps<T> {
35
35
  onEditModeChange?: (editMode: boolean) => void;
36
36
  onSelectionChange?: (selectedId: ItemId | null) => void;
37
37
  autoFitOnResize?: boolean;
38
+ /** Arrow-key pan + +/- zoom when the canvas root is focused. Default true (WCAG 2.5.7). */
39
+ keyboardPan?: boolean;
40
+ /** Accessible name on the role="application" canvas root. Default 'Canvas'. */
41
+ ariaLabel?: string;
38
42
  className?: string;
39
43
  /** Consumer chrome (top bar, palette) rendered inside the canvas surface. */
40
44
  children?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/canvas/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,SAAS,CAAC;IAC3D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC;IAC7D,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/canvas/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,SAAS,CAAC;IAC3D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC;IAC7D,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2FAA2F;IAC3F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC"}
@@ -6,6 +6,8 @@ export interface UsePanZoomArgs {
6
6
  editMode: boolean;
7
7
  /** Re-fit on window resize. Default true. */
8
8
  autoFitOnResize?: boolean;
9
+ /** Arrow-key pan + +/- zoom when the canvas root is focused. Default true (WCAG 2.5.7). */
10
+ keyboardPan?: boolean;
9
11
  /** Notified whenever the viewport pan/scale changes (controlled mirror). */
10
12
  onViewportChange?: (viewport: Viewport) => void;
11
13
  /** Escape exits edit mode → parent owns the state flip. */
@@ -1 +1 @@
1
- {"version":3,"file":"use-pan-zoom.d.ts","sourceRoot":"","sources":["../../src/canvas/use-pan-zoom.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,+BAA+B;IAC/B,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,uEAAuE;IACvE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACjD,6DAA6D;IAC7D,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,yEAAyE;IACzE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,kCAAkC;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AAID,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU,CAoK3D"}
1
+ {"version":3,"file":"use-pan-zoom.d.ts","sourceRoot":"","sources":["../../src/canvas/use-pan-zoom.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2FAA2F;IAC3F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAChD,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,+BAA+B;IAC/B,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,uEAAuE;IACvE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACjD,6DAA6D;IAC7D,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,yEAAyE;IACzE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,kCAAkC;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AAID,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU,CA2M3D"}
@@ -10,7 +10,7 @@
10
10
  import { useCallback, useEffect, useRef, useState } from 'react';
11
11
  const RESERVED_PALETTE_WIDTH = 320;
12
12
  export function usePanZoom(args) {
13
- const { layout, editMode, autoFitOnResize = true, onViewportChange, onEditModeChange, onSelectionChange, } = args;
13
+ const { layout, editMode, autoFitOnResize = true, keyboardPan = true, onViewportChange, onEditModeChange, onSelectionChange, } = args;
14
14
  const [pan, setPan] = useState({ x: 0, y: 0, scale: 1 });
15
15
  const canvasRef = useRef(null);
16
16
  const stageRef = useRef(null);
@@ -82,7 +82,9 @@ export function usePanZoom(args) {
82
82
  useEffect(() => {
83
83
  autoFit(true);
84
84
  }, [editMode, autoFit]);
85
- // Keyboard — Escape exits edit, Space arms the pan-grab cursor.
85
+ // Keyboard — Escape exits edit, Space arms the pan-grab cursor. When the
86
+ // canvas root itself holds focus, arrow keys pan and +/- zoom: the keyboard
87
+ // alternative to space+drag / pinch-zoom (WCAG 2.5.7 Dragging Movements).
86
88
  useEffect(() => {
87
89
  const down = (e) => {
88
90
  if (e.key === 'Escape' && editMode) {
@@ -97,6 +99,43 @@ export function usePanZoom(args) {
97
99
  canvasRef.current.style.cursor = 'grab';
98
100
  e.preventDefault();
99
101
  }
102
+ // Arrow-pan / +/- zoom only when the canvas surface itself is focused,
103
+ // so widget-internal controls keep their own arrow-key semantics.
104
+ if (keyboardPan && canvasRef.current && document.activeElement === canvasRef.current) {
105
+ // 24 canvas units per step, scaled so the on-screen nudge feels
106
+ // consistent at any zoom level.
107
+ const PAN_STEP = 24;
108
+ const ZOOM_STEP = 0.1;
109
+ switch (e.key) {
110
+ case 'ArrowUp':
111
+ setPan((p) => ({ ...p, y: p.y + PAN_STEP * p.scale }));
112
+ e.preventDefault();
113
+ break;
114
+ case 'ArrowDown':
115
+ setPan((p) => ({ ...p, y: p.y - PAN_STEP * p.scale }));
116
+ e.preventDefault();
117
+ break;
118
+ case 'ArrowLeft':
119
+ setPan((p) => ({ ...p, x: p.x + PAN_STEP * p.scale }));
120
+ e.preventDefault();
121
+ break;
122
+ case 'ArrowRight':
123
+ setPan((p) => ({ ...p, x: p.x - PAN_STEP * p.scale }));
124
+ e.preventDefault();
125
+ break;
126
+ default:
127
+ // '=' shares the key with '+'; both Equal and NumpadAdd zoom in.
128
+ if (e.code === 'Equal' || e.code === 'NumpadAdd') {
129
+ setPan((p) => ({ ...p, scale: Math.min(2, p.scale + ZOOM_STEP) }));
130
+ e.preventDefault();
131
+ }
132
+ else if (e.code === 'Minus' || e.code === 'NumpadSubtract') {
133
+ setPan((p) => ({ ...p, scale: Math.max(0.2, p.scale - ZOOM_STEP) }));
134
+ e.preventDefault();
135
+ }
136
+ break;
137
+ }
138
+ }
100
139
  };
101
140
  const up = (e) => {
102
141
  if (e.code === 'Space') {
@@ -111,7 +150,7 @@ export function usePanZoom(args) {
111
150
  window.removeEventListener('keydown', down);
112
151
  window.removeEventListener('keyup', up);
113
152
  };
114
- }, [editMode, onEditModeChange, onSelectionChange]);
153
+ }, [editMode, keyboardPan, onEditModeChange, onSelectionChange]);
115
154
  const beginPan = useCallback((clientX, clientY) => {
116
155
  const p = panRef.current;
117
156
  panStart.current = { x: clientX - p.x, y: clientY - p.y };
@@ -1 +1 @@
1
- {"version":3,"file":"use-pan-zoom.js","sourceRoot":"","sources":["../../src/canvas/use-pan-zoom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-pan-zoom.js","sourceRoot":"","sources":["../../src/canvas/use-pan-zoom.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from './iyke.js';
7
7
  export * from './artifact.js';
8
8
  export * from './registry.js';
9
9
  export * from './browser.js';
10
+ export * from './pa-actions.js';
10
11
  /** This package's own version. */
11
12
  export declare const CONTRACT_PACKAGE_VERSION: "0.5.0";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAE7B,kCAAkC;AAClC,eAAO,MAAM,wBAAwB,EAAG,OAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAEhC,kCAAkC;AAClC,eAAO,MAAM,wBAAwB,EAAG,OAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ export * from './iyke.js';
7
7
  export * from './artifact.js';
8
8
  export * from './registry.js';
9
9
  export * from './browser.js';
10
+ export * from './pa-actions.js';
10
11
  /** This package's own version. */
11
12
  export const CONTRACT_PACKAGE_VERSION = '0.5.0';
12
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAE7B,kCAAkC;AAClC,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAEhC,kCAAkC;AAClC,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAgB,CAAC"}