@elizaos/capacitor-canvas 1.0.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.
@@ -0,0 +1,473 @@
1
+ import type { PluginListenerHandle } from "@capacitor/core";
2
+ export interface CanvasSize {
3
+ width: number;
4
+ height: number;
5
+ }
6
+ export interface CanvasPoint {
7
+ x: number;
8
+ y: number;
9
+ }
10
+ export interface CanvasRect {
11
+ x: number;
12
+ y: number;
13
+ width: number;
14
+ height: number;
15
+ }
16
+ export interface CanvasColor {
17
+ r: number;
18
+ g: number;
19
+ b: number;
20
+ a?: number;
21
+ }
22
+ export interface CanvasStrokeStyle {
23
+ color: CanvasColor | string;
24
+ width: number;
25
+ lineCap?: "butt" | "round" | "square";
26
+ lineJoin?: "miter" | "round" | "bevel";
27
+ dashPattern?: number[];
28
+ }
29
+ export interface CanvasFillStyle {
30
+ color: CanvasColor | string;
31
+ }
32
+ export interface CanvasTextStyle {
33
+ font: string;
34
+ size: number;
35
+ color: CanvasColor | string;
36
+ align?: "left" | "center" | "right";
37
+ baseline?: "top" | "middle" | "bottom" | "alphabetic";
38
+ maxWidth?: number;
39
+ }
40
+ export interface CanvasShadow {
41
+ color: CanvasColor | string;
42
+ blur: number;
43
+ offsetX: number;
44
+ offsetY: number;
45
+ }
46
+ export interface CanvasGradientStop {
47
+ offset: number;
48
+ color: CanvasColor | string;
49
+ }
50
+ export interface CanvasLinearGradient {
51
+ type: "linear";
52
+ x0: number;
53
+ y0: number;
54
+ x1: number;
55
+ y1: number;
56
+ stops: CanvasGradientStop[];
57
+ }
58
+ export interface CanvasRadialGradient {
59
+ type: "radial";
60
+ x0: number;
61
+ y0: number;
62
+ r0: number;
63
+ x1: number;
64
+ y1: number;
65
+ r1: number;
66
+ stops: CanvasGradientStop[];
67
+ }
68
+ export type CanvasGradient = CanvasLinearGradient | CanvasRadialGradient;
69
+ export interface CanvasLayer {
70
+ id: string;
71
+ name?: string;
72
+ visible: boolean;
73
+ opacity: number;
74
+ zIndex: number;
75
+ transform?: CanvasTransform;
76
+ }
77
+ export interface CanvasTransform {
78
+ translateX?: number;
79
+ translateY?: number;
80
+ scaleX?: number;
81
+ scaleY?: number;
82
+ rotation?: number;
83
+ skewX?: number;
84
+ skewY?: number;
85
+ }
86
+ export interface CanvasImageData {
87
+ base64: string;
88
+ format: "png" | "jpeg" | "webp";
89
+ width: number;
90
+ height: number;
91
+ }
92
+ export interface CanvasDrawPathCommand {
93
+ type: "moveTo" | "lineTo" | "quadraticCurveTo" | "bezierCurveTo" | "arcTo" | "arc" | "ellipse" | "rect" | "closePath";
94
+ args: number[];
95
+ }
96
+ export interface CanvasPath {
97
+ commands: CanvasDrawPathCommand[];
98
+ }
99
+ export interface CanvasDrawOptions {
100
+ layerId?: string;
101
+ blendMode?: "normal" | "multiply" | "screen" | "overlay" | "darken" | "lighten" | "color-dodge" | "color-burn";
102
+ opacity?: number;
103
+ shadow?: CanvasShadow;
104
+ transform?: CanvasTransform;
105
+ }
106
+ export type CanvasDrawBatchCommand = {
107
+ type: "rect";
108
+ args: {
109
+ rect: CanvasRect;
110
+ fill?: CanvasFillStyle | CanvasGradient;
111
+ stroke?: CanvasStrokeStyle;
112
+ cornerRadius?: number;
113
+ drawOptions?: CanvasDrawOptions;
114
+ };
115
+ } | {
116
+ type: "ellipse";
117
+ args: {
118
+ center: CanvasPoint;
119
+ radiusX: number;
120
+ radiusY: number;
121
+ fill?: CanvasFillStyle | CanvasGradient;
122
+ stroke?: CanvasStrokeStyle;
123
+ drawOptions?: CanvasDrawOptions;
124
+ };
125
+ } | {
126
+ type: "line";
127
+ args: {
128
+ from: CanvasPoint;
129
+ to: CanvasPoint;
130
+ stroke: CanvasStrokeStyle;
131
+ drawOptions?: CanvasDrawOptions;
132
+ };
133
+ } | {
134
+ type: "path";
135
+ args: {
136
+ path: CanvasPath;
137
+ fill?: CanvasFillStyle | CanvasGradient;
138
+ stroke?: CanvasStrokeStyle;
139
+ drawOptions?: CanvasDrawOptions;
140
+ };
141
+ } | {
142
+ type: "text";
143
+ args: {
144
+ text: string;
145
+ position: CanvasPoint;
146
+ style: CanvasTextStyle;
147
+ drawOptions?: CanvasDrawOptions;
148
+ };
149
+ } | {
150
+ type: "image";
151
+ args: {
152
+ image: CanvasImageData | string;
153
+ destRect: CanvasRect;
154
+ srcRect?: CanvasRect;
155
+ drawOptions?: CanvasDrawOptions;
156
+ };
157
+ } | {
158
+ type: "clear";
159
+ args: {
160
+ rect?: CanvasRect;
161
+ layerId?: string;
162
+ };
163
+ };
164
+ export interface CanvasTouchEvent {
165
+ type: "start" | "move" | "end" | "cancel";
166
+ touches: Array<{
167
+ id: number;
168
+ x: number;
169
+ y: number;
170
+ force?: number;
171
+ }>;
172
+ timestamp: number;
173
+ }
174
+ export interface CanvasRenderEvent {
175
+ timestamp: number;
176
+ frameNumber: number;
177
+ fps: number;
178
+ }
179
+ export type WebViewPlacement = "inline" | "fullscreen" | "popup";
180
+ export interface NavigateOptions {
181
+ url: string;
182
+ placement?: WebViewPlacement;
183
+ }
184
+ export interface EvalOptions {
185
+ script: string;
186
+ }
187
+ export interface EvalResult {
188
+ result: string;
189
+ }
190
+ export type SnapshotFormat = "png" | "jpeg" | "webp";
191
+ export interface SnapshotOptions {
192
+ maxWidth?: number;
193
+ quality?: number;
194
+ format?: SnapshotFormat;
195
+ }
196
+ export interface SnapshotResult {
197
+ base64: string;
198
+ width: number;
199
+ height: number;
200
+ format: SnapshotFormat;
201
+ }
202
+ export interface A2UIMessage {
203
+ role: "assistant" | "user" | "system";
204
+ type: "text" | "card" | "action" | "form" | "list" | "image" | "status";
205
+ content: string;
206
+ id?: string;
207
+ timestamp?: number;
208
+ metadata?: Record<string, string | number | boolean>;
209
+ }
210
+ export interface A2UIPayload {
211
+ action: string;
212
+ data?: Record<string, string | number | boolean>;
213
+ }
214
+ export interface A2UIPushOptions {
215
+ messages?: A2UIMessage[];
216
+ jsonl?: string;
217
+ payload?: A2UIPayload;
218
+ }
219
+ export interface WebViewReadyEvent {
220
+ url: string;
221
+ title: string;
222
+ }
223
+ export interface NavigationErrorEvent {
224
+ url: string;
225
+ code: number;
226
+ message: string;
227
+ }
228
+ export interface DeepLinkEvent {
229
+ url: string;
230
+ path: string;
231
+ params: Record<string, string>;
232
+ }
233
+ export interface A2UIActionEvent {
234
+ action: string;
235
+ data: Record<string, string | number | boolean>;
236
+ messageId?: string;
237
+ }
238
+ export interface CanvasPlugin {
239
+ /**
240
+ * Create a new canvas with the specified size
241
+ */
242
+ create(options: {
243
+ size: CanvasSize;
244
+ backgroundColor?: CanvasColor | string;
245
+ }): Promise<{
246
+ canvasId: string;
247
+ }>;
248
+ /**
249
+ * Destroy a canvas and free resources
250
+ */
251
+ destroy(options: {
252
+ canvasId: string;
253
+ }): Promise<void>;
254
+ /**
255
+ * Attach canvas to a DOM element
256
+ */
257
+ attach(options: {
258
+ canvasId: string;
259
+ element: HTMLElement;
260
+ }): Promise<void>;
261
+ /**
262
+ * Detach canvas from its DOM element
263
+ */
264
+ detach(options: {
265
+ canvasId: string;
266
+ }): Promise<void>;
267
+ /**
268
+ * Resize the canvas
269
+ */
270
+ resize(options: {
271
+ canvasId: string;
272
+ size: CanvasSize;
273
+ }): Promise<void>;
274
+ /**
275
+ * Clear the entire canvas or a specific area
276
+ */
277
+ clear(options: {
278
+ canvasId: string;
279
+ rect?: CanvasRect;
280
+ layerId?: string;
281
+ }): Promise<void>;
282
+ /**
283
+ * Create a new layer
284
+ */
285
+ createLayer(options: {
286
+ canvasId: string;
287
+ layer: Omit<CanvasLayer, "id">;
288
+ }): Promise<{
289
+ layerId: string;
290
+ }>;
291
+ /**
292
+ * Update layer properties
293
+ */
294
+ updateLayer(options: {
295
+ canvasId: string;
296
+ layerId: string;
297
+ layer: Partial<CanvasLayer>;
298
+ }): Promise<void>;
299
+ /**
300
+ * Delete a layer
301
+ */
302
+ deleteLayer(options: {
303
+ canvasId: string;
304
+ layerId: string;
305
+ }): Promise<void>;
306
+ /**
307
+ * Get all layers
308
+ */
309
+ getLayers(options: {
310
+ canvasId: string;
311
+ }): Promise<{
312
+ layers: CanvasLayer[];
313
+ }>;
314
+ /**
315
+ * Draw a rectangle
316
+ */
317
+ drawRect(options: {
318
+ canvasId: string;
319
+ rect: CanvasRect;
320
+ fill?: CanvasFillStyle | CanvasGradient;
321
+ stroke?: CanvasStrokeStyle;
322
+ cornerRadius?: number;
323
+ drawOptions?: CanvasDrawOptions;
324
+ }): Promise<void>;
325
+ /**
326
+ * Draw an ellipse
327
+ */
328
+ drawEllipse(options: {
329
+ canvasId: string;
330
+ center: CanvasPoint;
331
+ radiusX: number;
332
+ radiusY: number;
333
+ fill?: CanvasFillStyle | CanvasGradient;
334
+ stroke?: CanvasStrokeStyle;
335
+ drawOptions?: CanvasDrawOptions;
336
+ }): Promise<void>;
337
+ /**
338
+ * Draw a line
339
+ */
340
+ drawLine(options: {
341
+ canvasId: string;
342
+ from: CanvasPoint;
343
+ to: CanvasPoint;
344
+ stroke: CanvasStrokeStyle;
345
+ drawOptions?: CanvasDrawOptions;
346
+ }): Promise<void>;
347
+ /**
348
+ * Draw a path
349
+ */
350
+ drawPath(options: {
351
+ canvasId: string;
352
+ path: CanvasPath;
353
+ fill?: CanvasFillStyle | CanvasGradient;
354
+ stroke?: CanvasStrokeStyle;
355
+ drawOptions?: CanvasDrawOptions;
356
+ }): Promise<void>;
357
+ /**
358
+ * Draw text
359
+ */
360
+ drawText(options: {
361
+ canvasId: string;
362
+ text: string;
363
+ position: CanvasPoint;
364
+ style: CanvasTextStyle;
365
+ drawOptions?: CanvasDrawOptions;
366
+ }): Promise<void>;
367
+ /**
368
+ * Draw an image
369
+ */
370
+ drawImage(options: {
371
+ canvasId: string;
372
+ image: CanvasImageData | string;
373
+ destRect: CanvasRect;
374
+ srcRect?: CanvasRect;
375
+ drawOptions?: CanvasDrawOptions;
376
+ }): Promise<void>;
377
+ /**
378
+ * Execute a batch of drawing commands
379
+ */
380
+ drawBatch(options: {
381
+ canvasId: string;
382
+ commands: CanvasDrawBatchCommand[];
383
+ }): Promise<void>;
384
+ /**
385
+ * Get pixel data from the canvas
386
+ */
387
+ getPixelData(options: {
388
+ canvasId: string;
389
+ rect?: CanvasRect;
390
+ }): Promise<{
391
+ data: Uint8ClampedArray;
392
+ width: number;
393
+ height: number;
394
+ }>;
395
+ /**
396
+ * Export the canvas to an image
397
+ */
398
+ toImage(options: {
399
+ canvasId: string;
400
+ format?: "png" | "jpeg" | "webp";
401
+ quality?: number;
402
+ layerIds?: string[];
403
+ }): Promise<CanvasImageData>;
404
+ /**
405
+ * Set global canvas transform
406
+ */
407
+ setTransform(options: {
408
+ canvasId: string;
409
+ transform: CanvasTransform;
410
+ }): Promise<void>;
411
+ /**
412
+ * Reset global canvas transform
413
+ */
414
+ resetTransform(options: {
415
+ canvasId: string;
416
+ }): Promise<void>;
417
+ /**
418
+ * Enable or disable touch input handling
419
+ */
420
+ setTouchEnabled(options: {
421
+ canvasId: string;
422
+ enabled: boolean;
423
+ }): Promise<void>;
424
+ /**
425
+ * Load a URL in a web view
426
+ */
427
+ navigate(options: NavigateOptions): Promise<void>;
428
+ /**
429
+ * Evaluate JavaScript in the web view and return the result as a string
430
+ */
431
+ eval(options: EvalOptions): Promise<EvalResult>;
432
+ /**
433
+ * Take a screenshot of the web view content
434
+ */
435
+ snapshot(options?: SnapshotOptions): Promise<SnapshotResult>;
436
+ /**
437
+ * Push A2UI messages to the web view
438
+ */
439
+ a2uiPush(options: A2UIPushOptions): Promise<void>;
440
+ /**
441
+ * Reset A2UI state in the web view
442
+ */
443
+ a2uiReset(): Promise<void>;
444
+ /**
445
+ * Add listener for touch events
446
+ */
447
+ addListener(eventName: "touch", listenerFunc: (event: CanvasTouchEvent) => void): Promise<PluginListenerHandle>;
448
+ /**
449
+ * Add listener for render frame events
450
+ */
451
+ addListener(eventName: "render", listenerFunc: (event: CanvasRenderEvent) => void): Promise<PluginListenerHandle>;
452
+ /**
453
+ * Add listener for web view ready events (fired when navigation completes)
454
+ */
455
+ addListener(eventName: "webViewReady", listenerFunc: (event: WebViewReadyEvent) => void): Promise<PluginListenerHandle>;
456
+ /**
457
+ * Add listener for navigation error events
458
+ */
459
+ addListener(eventName: "navigationError", listenerFunc: (event: NavigationErrorEvent) => void): Promise<PluginListenerHandle>;
460
+ /**
461
+ * Add listener for deep link events (eliza:// URL intercepts)
462
+ */
463
+ addListener(eventName: "deepLink", listenerFunc: (event: DeepLinkEvent) => void): Promise<PluginListenerHandle>;
464
+ /**
465
+ * Add listener for A2UI action events from web content
466
+ */
467
+ addListener(eventName: "a2uiAction", listenerFunc: (event: A2UIActionEvent) => void): Promise<PluginListenerHandle>;
468
+ /**
469
+ * Remove all event listeners
470
+ */
471
+ removeAllListeners(): Promise<void>;
472
+ }
473
+ //# sourceMappingURL=definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EACA,QAAQ,GACR,QAAQ,GACR,kBAAkB,GAClB,eAAe,GACf,OAAO,GACP,KAAK,GACL,SAAS,GACT,MAAM,GACN,WAAW,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EACN,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,aAAa,GACb,YAAY,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU,CAAC;QACjB,IAAI,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;QACxC,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,CAAC;CACH,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE;QACJ,MAAM,EAAE,WAAW,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;QACxC,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,CAAC;CACH,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW,CAAC;QAClB,EAAE,EAAE,WAAW,CAAC;QAChB,MAAM,EAAE,iBAAiB,CAAC;QAC1B,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,CAAC;CACH,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU,CAAC;QACjB,IAAI,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;QACxC,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,CAAC;CACH,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,WAAW,CAAC;QACtB,KAAK,EAAE,eAAe,CAAC;QACvB,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,CAAC;CACH,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QACJ,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC;QAChC,QAAQ,EAAE,UAAU,CAAC;QACrB,OAAO,CAAC,EAAE,UAAU,CAAC;QACrB,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,CAAC;CACH,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEN,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAID,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;IACtC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAID,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE;QACd,IAAI,EAAE,UAAU,CAAC;QACjB,eAAe,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;KACxC,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAElC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;KAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC,CAAC;IAE7E;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,UAAU,CAAC;QACjB,IAAI,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;QACxC,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,WAAW,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;QACxC,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,WAAW,CAAC;QAClB,EAAE,EAAE,WAAW,CAAC;QAChB,MAAM,EAAE,iBAAiB,CAAC;QAC1B,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,UAAU,CAAC;QACjB,IAAI,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;QACxC,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,WAAW,CAAC;QACtB,KAAK,EAAE,eAAe,CAAC;QACvB,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC;QAChC,QAAQ,EAAE,UAAU,CAAC;QACrB,OAAO,CAAC,EAAE,UAAU,CAAC;QACrB,WAAW,CAAC,EAAE,iBAAiB,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,sBAAsB,EAAE,CAAC;KACpC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC;QACtE,IAAI,EAAE,iBAAiB,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAEH;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,eAAe,CAAC;KAC5B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAIlB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE7D;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAI3B;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAC9C,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,QAAQ,EACnB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAC/C,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAC/C,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAClD,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAC3C,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,YAAY,EACvB,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAC7C,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { CanvasPlugin } from "./definitions";
2
+ export * from "./definitions";
3
+ export declare const Canvas: CanvasPlugin;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,cAAc,eAAe,CAAC;AAI9B,eAAO,MAAM,MAAM,cAEjB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { registerPlugin } from "@capacitor/core";
2
+ export * from "./definitions";
3
+ const loadWeb = () => import("./web").then((m) => new m.CanvasWeb());
4
+ export const Canvas = registerPlugin("ElizaCanvas", {
5
+ web: loadWeb,
6
+ });
@@ -0,0 +1,154 @@
1
+ import { WebPlugin } from "@capacitor/core";
2
+ import type { A2UIActionEvent, A2UIPushOptions, CanvasColor, CanvasDrawBatchCommand, CanvasDrawOptions, CanvasFillStyle, CanvasGradient, CanvasImageData, CanvasLayer, CanvasPath, CanvasPoint, CanvasRect, CanvasRenderEvent, CanvasSize, CanvasStrokeStyle, CanvasTextStyle, CanvasTouchEvent, CanvasTransform, DeepLinkEvent, EvalOptions, EvalResult, NavigateOptions, NavigationErrorEvent, SnapshotOptions, SnapshotResult, WebViewReadyEvent } from "./definitions";
3
+ type CanvasEventData = CanvasTouchEvent | CanvasRenderEvent | WebViewReadyEvent | NavigationErrorEvent | DeepLinkEvent | A2UIActionEvent;
4
+ export declare class CanvasWeb extends WebPlugin {
5
+ private canvases;
6
+ private nextCanvasId;
7
+ private nextLayerId;
8
+ private pluginListeners;
9
+ private webViewIframe;
10
+ private webViewPopup;
11
+ private messageListenerBound;
12
+ create(options: {
13
+ size: CanvasSize;
14
+ backgroundColor?: CanvasColor | string;
15
+ }): Promise<{
16
+ canvasId: string;
17
+ }>;
18
+ destroy(options: {
19
+ canvasId: string;
20
+ }): Promise<void>;
21
+ attach(options: {
22
+ canvasId: string;
23
+ element: HTMLElement;
24
+ }): Promise<void>;
25
+ detach(options: {
26
+ canvasId: string;
27
+ }): Promise<void>;
28
+ resize(options: {
29
+ canvasId: string;
30
+ size: CanvasSize;
31
+ }): Promise<void>;
32
+ clear(options: {
33
+ canvasId: string;
34
+ rect?: CanvasRect;
35
+ layerId?: string;
36
+ }): Promise<void>;
37
+ createLayer(options: {
38
+ canvasId: string;
39
+ layer: Omit<CanvasLayer, "id">;
40
+ }): Promise<{
41
+ layerId: string;
42
+ }>;
43
+ updateLayer(options: {
44
+ canvasId: string;
45
+ layerId: string;
46
+ layer: Partial<CanvasLayer>;
47
+ }): Promise<void>;
48
+ deleteLayer(options: {
49
+ canvasId: string;
50
+ layerId: string;
51
+ }): Promise<void>;
52
+ getLayers(options: {
53
+ canvasId: string;
54
+ }): Promise<{
55
+ layers: CanvasLayer[];
56
+ }>;
57
+ drawRect(options: {
58
+ canvasId: string;
59
+ rect: CanvasRect;
60
+ fill?: CanvasFillStyle | CanvasGradient;
61
+ stroke?: CanvasStrokeStyle;
62
+ cornerRadius?: number;
63
+ drawOptions?: CanvasDrawOptions;
64
+ }): Promise<void>;
65
+ drawEllipse(options: {
66
+ canvasId: string;
67
+ center: CanvasPoint;
68
+ radiusX: number;
69
+ radiusY: number;
70
+ fill?: CanvasFillStyle | CanvasGradient;
71
+ stroke?: CanvasStrokeStyle;
72
+ drawOptions?: CanvasDrawOptions;
73
+ }): Promise<void>;
74
+ drawLine(options: {
75
+ canvasId: string;
76
+ from: CanvasPoint;
77
+ to: CanvasPoint;
78
+ stroke: CanvasStrokeStyle;
79
+ drawOptions?: CanvasDrawOptions;
80
+ }): Promise<void>;
81
+ drawPath(options: {
82
+ canvasId: string;
83
+ path: CanvasPath;
84
+ fill?: CanvasFillStyle | CanvasGradient;
85
+ stroke?: CanvasStrokeStyle;
86
+ drawOptions?: CanvasDrawOptions;
87
+ }): Promise<void>;
88
+ drawText(options: {
89
+ canvasId: string;
90
+ text: string;
91
+ position: CanvasPoint;
92
+ style: CanvasTextStyle;
93
+ drawOptions?: CanvasDrawOptions;
94
+ }): Promise<void>;
95
+ drawImage(options: {
96
+ canvasId: string;
97
+ image: CanvasImageData | string;
98
+ destRect: CanvasRect;
99
+ srcRect?: CanvasRect;
100
+ drawOptions?: CanvasDrawOptions;
101
+ }): Promise<void>;
102
+ drawBatch(options: {
103
+ canvasId: string;
104
+ commands: CanvasDrawBatchCommand[];
105
+ }): Promise<void>;
106
+ getPixelData(options: {
107
+ canvasId: string;
108
+ rect?: CanvasRect;
109
+ }): Promise<{
110
+ data: Uint8ClampedArray;
111
+ width: number;
112
+ height: number;
113
+ }>;
114
+ toImage(options: {
115
+ canvasId: string;
116
+ format?: "png" | "jpeg" | "webp";
117
+ quality?: number;
118
+ layerIds?: string[];
119
+ }): Promise<CanvasImageData>;
120
+ setTransform(options: {
121
+ canvasId: string;
122
+ transform: CanvasTransform;
123
+ }): Promise<void>;
124
+ resetTransform(options: {
125
+ canvasId: string;
126
+ }): Promise<void>;
127
+ setTouchEnabled(options: {
128
+ canvasId: string;
129
+ enabled: boolean;
130
+ }): Promise<void>;
131
+ navigate(options: NavigateOptions): Promise<void>;
132
+ eval(options: EvalOptions): Promise<EvalResult>;
133
+ snapshot(options?: SnapshotOptions): Promise<SnapshotResult>;
134
+ a2uiPush(options: A2UIPushOptions): Promise<void>;
135
+ a2uiReset(): Promise<void>;
136
+ private destroyWebView;
137
+ private evalViaPostMessage;
138
+ private ensureMessageListener;
139
+ private getContext;
140
+ private colorToString;
141
+ private createFillStyle;
142
+ private createGradient;
143
+ private applyStrokeStyle;
144
+ private applyDrawOptions;
145
+ private applyTransform;
146
+ private setupTouchHandlers;
147
+ addListener(eventName: string, listenerFunc: (event: CanvasEventData) => void): Promise<{
148
+ remove: () => Promise<void>;
149
+ }>;
150
+ removeAllListeners(): Promise<void>;
151
+ protected notifyListeners(eventName: string, data: CanvasEventData): void;
152
+ }
153
+ export {};
154
+ //# sourceMappingURL=web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}