@bwp-web/canvas 0.4.1 → 0.4.2
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/background.d.ts +10 -3
- package/dist/background.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useCanvasClick.d.ts +27 -0
- package/dist/hooks/useCanvasClick.d.ts.map +1 -0
- package/dist/hooks/useCanvasEvents.d.ts +35 -0
- package/dist/hooks/useCanvasEvents.d.ts.map +1 -0
- package/dist/hooks/useCanvasTooltip.d.ts +45 -0
- package/dist/hooks/useCanvasTooltip.d.ts.map +1 -0
- package/dist/hooks/useEditCanvas.d.ts +16 -1
- package/dist/hooks/useEditCanvas.d.ts.map +1 -1
- package/dist/index.cjs +277 -87
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +204 -16
- package/dist/index.js.map +1 -1
- package/dist/serialization.d.ts +12 -1
- package/dist/serialization.d.ts.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -5
package/dist/background.d.ts
CHANGED
|
@@ -69,11 +69,18 @@ export interface ResizeImageOptions {
|
|
|
69
69
|
* ```
|
|
70
70
|
*/
|
|
71
71
|
export declare function resizeImageUrl(url: string, options?: ResizeImageOptions): Promise<ResizeResult>;
|
|
72
|
+
export interface SetBackgroundImageOptions extends ResizeImageOptions {
|
|
73
|
+
/** Preserve the current background opacity when replacing the image. */
|
|
74
|
+
preserveOpacity?: boolean;
|
|
75
|
+
}
|
|
72
76
|
/**
|
|
73
77
|
* Set an image URL as the canvas background image.
|
|
74
|
-
*
|
|
75
|
-
*
|
|
78
|
+
*
|
|
79
|
+
* Pass options to control auto-resize (`maxSize`, `minSize`) and/or
|
|
80
|
+
* preserve the current background opacity when replacing the image.
|
|
81
|
+
* Omit to load the URL as-is without resizing.
|
|
82
|
+
*
|
|
76
83
|
* Returns the created FabricImage for further manipulation.
|
|
77
84
|
*/
|
|
78
|
-
export declare function setBackgroundImage(canvas: FabricCanvas, url: string,
|
|
85
|
+
export declare function setBackgroundImage(canvas: FabricCanvas, url: string, options?: SetBackgroundImageOptions): Promise<FabricImage>;
|
|
79
86
|
//# sourceMappingURL=background.d.ts.map
|
package/dist/background.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,WAAW,EAAW,MAAM,QAAQ,CAAC;AAatE,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,IAAI,CAiCN;AAID;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,GACd,IAAI,CAKN;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAGjE;AAID;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,OAAO,GAChB,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAInE;AAID,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,YAAY,CAAC,CAkDvB;AAID
|
|
1
|
+
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,WAAW,EAAW,MAAM,QAAQ,CAAC;AAatE,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,IAAI,CAiCN;AAID;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,GACd,IAAI,CAKN;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAGjE;AAID;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,OAAO,GAChB,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAInE;AAID,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,YAAY,CAAC,CAkDvB;AAID,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,WAAW,CAAC,CAmBtB"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -2,4 +2,10 @@ export { useEditCanvas } from './useEditCanvas';
|
|
|
2
2
|
export type { UseEditCanvasOptions } from './useEditCanvas';
|
|
3
3
|
export { useViewCanvas } from './useViewCanvas';
|
|
4
4
|
export type { UseViewCanvasOptions, ViewObjectStyle } from './useViewCanvas';
|
|
5
|
+
export { useCanvasEvents } from './useCanvasEvents';
|
|
6
|
+
export type { CanvasEventHandlers } from './useCanvasEvents';
|
|
7
|
+
export { useCanvasTooltip } from './useCanvasTooltip';
|
|
8
|
+
export type { UseCanvasTooltipOptions, CanvasTooltipState, } from './useCanvasTooltip';
|
|
9
|
+
export { useCanvasClick } from './useCanvasClick';
|
|
10
|
+
export type { UseCanvasClickOptions } from './useCanvasClick';
|
|
5
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { Canvas as FabricCanvas, FabricObject } from 'fabric';
|
|
3
|
+
export interface UseCanvasClickOptions {
|
|
4
|
+
/** Maximum movement in pixels before the gesture is treated as a pan. Default: 5. */
|
|
5
|
+
threshold?: number;
|
|
6
|
+
/** Maximum duration in milliseconds for the gesture to count as a click. Default: 300. */
|
|
7
|
+
maxDuration?: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Distinguish clicks from pan gestures on a canvas.
|
|
11
|
+
*
|
|
12
|
+
* On view-mode canvases where pan is always active, a regular Fabric `mouse:up`
|
|
13
|
+
* fires for both clicks and drag-to-pan. This hook tracks pointer movement and
|
|
14
|
+
* timing to determine whether the user intended a click or a pan, then calls
|
|
15
|
+
* `onClick` only for genuine clicks.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* useCanvasClick(view.canvasRef, (target) => {
|
|
20
|
+
* if (target?.data?.id) {
|
|
21
|
+
* navigate(`/locations/${target.data.id}`);
|
|
22
|
+
* }
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function useCanvasClick(canvasRef: RefObject<FabricCanvas | null>, onClick: (target: FabricObject | undefined) => void, options?: UseCanvasClickOptions): void;
|
|
27
|
+
//# sourceMappingURL=useCanvasClick.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCanvasClick.d.ts","sourceRoot":"","sources":["../../src/hooks/useCanvasClick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,KAAK,EACV,MAAM,IAAI,YAAY,EAEtB,YAAY,EACb,MAAM,QAAQ,CAAC;AAEhB,MAAM,WAAW,qBAAqB;IACpC,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,EACzC,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,EACnD,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI,CA2DN"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { Canvas as FabricCanvas, CanvasEvents } from 'fabric';
|
|
3
|
+
/**
|
|
4
|
+
* A map of Fabric canvas event names to their handler functions.
|
|
5
|
+
*
|
|
6
|
+
* Each key is a valid `CanvasEvents` event name and each handler receives the
|
|
7
|
+
* correctly-typed event payload. Set a handler to `undefined` to skip it.
|
|
8
|
+
*
|
|
9
|
+
* Common events include:
|
|
10
|
+
* - `'object:added'`, `'object:removed'`, `'object:modified'`
|
|
11
|
+
* - `'mouse:over'`, `'mouse:out'`, `'mouse:down'`, `'mouse:up'`, `'mouse:move'`
|
|
12
|
+
* - `'mouse:wheel'`, `'after:render'`
|
|
13
|
+
* - `'selection:created'`, `'selection:updated'`, `'selection:cleared'`
|
|
14
|
+
*/
|
|
15
|
+
export type CanvasEventHandlers = {
|
|
16
|
+
[K in keyof CanvasEvents]?: (event: CanvasEvents[K]) => void;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Subscribe to Fabric canvas events with automatic cleanup.
|
|
20
|
+
*
|
|
21
|
+
* Handlers are stored in a ref so they always call the latest version without
|
|
22
|
+
* re-subscribing. The hook subscribes once when the canvas becomes available
|
|
23
|
+
* (child `<Canvas>` effects fire before parent effects) and cleans up on unmount.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* useCanvasEvents(editor.canvasRef, {
|
|
28
|
+
* 'object:added': (e) => updateList(),
|
|
29
|
+
* 'object:modified': () => setDirty(true),
|
|
30
|
+
* 'object:removed': () => updateList(),
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function useCanvasEvents(canvasRef: RefObject<FabricCanvas | null>, events: CanvasEventHandlers): void;
|
|
35
|
+
//# sourceMappingURL=useCanvasEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCanvasEvents.d.ts","sourceRoot":"","sources":["../../src/hooks/useCanvasEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,IAAI,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG;KAC/B,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI;CAC7D,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,EACzC,MAAM,EAAE,mBAAmB,GAC1B,IAAI,CA8BN"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { Canvas as FabricCanvas, FabricObject } from 'fabric';
|
|
3
|
+
export interface UseCanvasTooltipOptions<T> {
|
|
4
|
+
/** Extract tooltip content from a hovered object. Return `null` to skip the tooltip. */
|
|
5
|
+
getContent: (obj: FabricObject) => T | null;
|
|
6
|
+
}
|
|
7
|
+
export interface CanvasTooltipState<T> {
|
|
8
|
+
/** Whether the tooltip is currently visible. */
|
|
9
|
+
visible: boolean;
|
|
10
|
+
/** The content extracted from the hovered object, or `null` when hidden. */
|
|
11
|
+
content: T | null;
|
|
12
|
+
/** Screen-space position (relative to the canvas container) for the tooltip. */
|
|
13
|
+
position: {
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Track mouse hover over canvas objects and return tooltip state.
|
|
20
|
+
*
|
|
21
|
+
* Listens to `mouse:over`, `mouse:out`, `after:render`, and `mouse:wheel` to
|
|
22
|
+
* maintain a reactive tooltip state. The returned position is in screen-space
|
|
23
|
+
* coordinates relative to the canvas container element — suitable for absolute
|
|
24
|
+
* positioning of a tooltip component.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* const tooltip = useCanvasTooltip(view.canvasRef, {
|
|
29
|
+
* getContent: (obj) => obj.data ? { id: obj.data.id, type: obj.data.type } : null,
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* return (
|
|
33
|
+
* <>
|
|
34
|
+
* <Canvas onReady={view.onReady} />
|
|
35
|
+
* {tooltip.visible && (
|
|
36
|
+
* <div style={{ position: 'absolute', left: tooltip.position.x, top: tooltip.position.y }}>
|
|
37
|
+
* {tooltip.content?.id}
|
|
38
|
+
* </div>
|
|
39
|
+
* )}
|
|
40
|
+
* </>
|
|
41
|
+
* );
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function useCanvasTooltip<T>(canvasRef: RefObject<FabricCanvas | null>, options: UseCanvasTooltipOptions<T>): CanvasTooltipState<T>;
|
|
45
|
+
//# sourceMappingURL=useCanvasTooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCanvasTooltip.d.ts","sourceRoot":"","sources":["../../src/hooks/useCanvasTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EACV,MAAM,IAAI,YAAY,EAEtB,YAAY,EACb,MAAM,QAAQ,CAAC;AAEhB,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,wFAAwF;IACxF,UAAU,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,CAAC,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,gFAAgF;IAChF,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,SAAS,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,EACzC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAClC,kBAAkB,CAAC,CAAC,CAAC,CA0EvB"}
|
|
@@ -53,6 +53,12 @@ export interface UseEditCanvasOptions {
|
|
|
53
53
|
* Pass `false` to disable. Default: enabled (maxSize: 4096, minSize: 480).
|
|
54
54
|
*/
|
|
55
55
|
backgroundResize?: boolean | ResizeImageOptions;
|
|
56
|
+
/**
|
|
57
|
+
* Track object add/remove/modify events and expose an `isDirty` flag.
|
|
58
|
+
* Call `resetDirty()` after a successful save to clear the flag.
|
|
59
|
+
* Default: disabled.
|
|
60
|
+
*/
|
|
61
|
+
trackChanges?: boolean;
|
|
56
62
|
}
|
|
57
63
|
/**
|
|
58
64
|
* Hook that provides a batteries-included canvas experience with full
|
|
@@ -120,7 +126,16 @@ export declare function useEditCanvas(options?: UseEditCanvasOptions): {
|
|
|
120
126
|
* Set a background image from a URL. Automatically resizes if the image
|
|
121
127
|
* exceeds the configured limits (opt out via `backgroundResize: false`),
|
|
122
128
|
* and fits the viewport after setting if `autoFitToBackground` is enabled.
|
|
129
|
+
*
|
|
130
|
+
* Pass `{ preserveOpacity: true }` to keep the current background opacity
|
|
131
|
+
* when replacing the image.
|
|
123
132
|
*/
|
|
124
|
-
setBackground: (url: string
|
|
133
|
+
setBackground: (url: string, bgOpts?: {
|
|
134
|
+
preserveOpacity?: boolean;
|
|
135
|
+
}) => Promise<import("fabric").FabricImage<Partial<import("fabric").ImageProps>, import("fabric").SerializedImageProps, import("fabric").ObjectEvents>>;
|
|
136
|
+
/** Whether the canvas has been modified since the last `resetDirty()` call. Requires `trackChanges: true`. */
|
|
137
|
+
isDirty: boolean;
|
|
138
|
+
/** Reset the dirty flag (e.g., after a successful save). */
|
|
139
|
+
resetDirty: () => void;
|
|
125
140
|
};
|
|
126
141
|
//# sourceMappingURL=useEditCanvas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditCanvas.d.ts","sourceRoot":"","sources":["../../src/hooks/useEditCanvas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,KAAK,YAAY,EAAW,MAAM,QAAQ,CAAC;AAC5E,OAAO,EAEL,KAAK,iBAAiB,EAEtB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAMrB,OAAO,EAEL,KAAK,sBAAsB,EAE3B,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAGL,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"useEditCanvas.d.ts","sourceRoot":"","sources":["../../src/hooks/useEditCanvas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,KAAK,YAAY,EAAW,MAAM,QAAQ,CAAC;AAC5E,OAAO,EAEL,KAAK,iBAAiB,EAEtB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAMrB,OAAO,EAEL,KAAK,sBAAsB,EAE3B,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,kGAAkG;IAClG,UAAU,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IACzC,mIAAmI;IACnI,SAAS,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;IAC7C;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAC7C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IACzC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IAChD;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB;IAuOxD,8CAA8C;sBA9KrC,YAAY;IAgLrB,oDAAoD;;IAEpD,qCAAqC;;IAErC,6CAA6C;;IAE7C,yBAAyB;;QAEvB,wCAAwC;;QAExC,wDAAwD;wBAnDjB,YAAY;QAqDnD,wFAAwF;;QAExF,2DAA2D;;QAE3D,0DAA0D;;;IAG5D,+DAA+D;;IAE/D;;;;;;;;;;;;;;OAcG;qBAnP+B,SAAS,GAAG,IAAI;IAqPlD;;;;;;;OAOG;yBAzES,MAAM,WAAW;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE;IA2E1D,8GAA8G;;IAE9G,4DAA4D;;EAG/D"}
|