@bwp-web/canvas 0.8.2 → 0.8.3

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.
@@ -35,7 +35,7 @@ export interface FixedSizeContentProps extends StackProps {
35
35
  *
36
36
  * @example
37
37
  * ```tsx
38
- * <ObjectOverlay canvasRef={canvasRef} object={obj}>
38
+ * <ObjectOverlay object={obj}>
39
39
  * <OverlayContent>
40
40
  * <Stack alignItems="center">
41
41
  * <MyIcon /> {// scales to fit}
@@ -2,8 +2,13 @@ import { type RefObject, type ReactNode } from 'react';
2
2
  import type { StackProps } from '@mui/material';
3
3
  import type { Canvas as FabricCanvas, FabricObject } from 'fabric';
4
4
  export interface ObjectOverlayProps extends StackProps {
5
- /** Ref to the Fabric canvas instance. */
6
- canvasRef: RefObject<FabricCanvas | null>;
5
+ /**
6
+ * Ref to the Fabric canvas instance.
7
+ * Optional when rendered inside a {@link ViewCanvasProvider} or
8
+ * {@link EditCanvasProvider} — the ref is read from context automatically.
9
+ * If provided, takes precedence over the context value.
10
+ */
11
+ canvasRef?: RefObject<FabricCanvas | null>;
7
12
  /** The Fabric object to overlay. When `null`/`undefined`, nothing renders. */
8
13
  object: FabricObject | null | undefined;
9
14
  children?: ReactNode;
@@ -22,6 +27,14 @@ export interface ObjectOverlayProps extends StackProps {
22
27
  *
23
28
  * @example
24
29
  * ```tsx
30
+ * // Inside a ViewCanvasProvider or EditCanvasProvider — canvasRef is read from context:
31
+ * <ObjectOverlay object={deskObj}>
32
+ * <OverlayContent>
33
+ * <MyLabel>{desk.name}</MyLabel>
34
+ * </OverlayContent>
35
+ * </ObjectOverlay>
36
+ *
37
+ * // Or pass canvasRef explicitly:
25
38
  * <ObjectOverlay canvasRef={canvasRef} object={deskObj}>
26
39
  * <OverlayContent>
27
40
  * <MyLabel>{desk.name}</MyLabel>
@@ -29,5 +42,5 @@ export interface ObjectOverlayProps extends StackProps {
29
42
  * </ObjectOverlay>
30
43
  * ```
31
44
  */
32
- export declare function ObjectOverlay({ canvasRef, object, sx, children, ...rest }: ObjectOverlayProps): import("react/jsx-runtime").JSX.Element | null;
45
+ export declare function ObjectOverlay({ canvasRef: canvasRefProp, object, sx, children, ...rest }: ObjectOverlayProps): import("react/jsx-runtime").JSX.Element | null;
33
46
  //# sourceMappingURL=ObjectOverlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectOverlay.d.ts","sourceRoot":"","sources":["../../src/overlay/ObjectOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGnE,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,yCAAyC;IACzC,SAAS,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC1C,8EAA8E;IAC9E,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,MAAM,EACN,EAAE,EACF,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,kBAAkB,kDA+DpB"}
1
+ {"version":3,"file":"ObjectOverlay.d.ts","sourceRoot":"","sources":["../../src/overlay/ObjectOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAInE,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC3C,8EAA8E;IAC9E,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EAAE,aAAa,EACxB,MAAM,EACN,EAAE,EACF,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,kBAAkB,kDAkEpB"}
@@ -44,7 +44,7 @@ export interface OverlayBadgeProps extends StackProps {
44
44
  *
45
45
  * @example
46
46
  * ```tsx
47
- * <ObjectOverlay canvasRef={canvasRef} object={obj}>
47
+ * <ObjectOverlay object={obj}>
48
48
  * <OverlayContent>
49
49
  * <MyIcon />
50
50
  * <FixedSizeContent><Typography>Label</Typography></FixedSizeContent>
@@ -15,7 +15,7 @@ export interface OverlayContentProps extends StackProps {
15
15
  *
16
16
  * @example
17
17
  * ```tsx
18
- * <ObjectOverlay canvasRef={canvasRef} object={obj}>
18
+ * <ObjectOverlay object={obj}>
19
19
  * <OverlayContent padding={4} maxScale={2}>
20
20
  * <MyBadge>{label}</MyBadge>
21
21
  * </OverlayContent>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bwp-web/canvas",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",