@bwp-web/canvas 0.8.1 → 0.8.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/index.d.ts CHANGED
@@ -11,6 +11,10 @@ export { useCanvasTooltip } from './hooks';
11
11
  export type { UseCanvasTooltipOptions, CanvasTooltipState } from './hooks';
12
12
  export { useCanvasClick } from './hooks';
13
13
  export type { UseCanvasClickOptions } from './hooks';
14
+ export { EditCanvasProvider, useEditCanvasContext } from './context';
15
+ export type { EditCanvasProviderProps, EditCanvasContextValue, } from './context';
16
+ export { ViewCanvasProvider, useViewCanvasContext } from './context';
17
+ export type { ViewCanvasProviderProps, ViewCanvasContextValue, } from './context';
14
18
  export { ObjectOverlay } from './overlay';
15
19
  export type { ObjectOverlayProps } from './overlay';
16
20
  export { OverlayContent } from './overlay';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2126,7 +2126,8 @@ function enableVertexEdit(canvas, polygon, options, onExit) {
2126
2126
  // src/serialization.ts
2127
2127
  import {
2128
2128
  FabricImage as FabricImage2,
2129
- Rect as Rect5
2129
+ Rect as Rect5,
2130
+ filters as filters2
2130
2131
  } from "fabric";
2131
2132
  var strokeBaseMap = /* @__PURE__ */ new WeakMap();
2132
2133
  var borderRadiusBaseMap = /* @__PURE__ */ new WeakMap();
@@ -2319,6 +2320,10 @@ async function loadCanvas(canvas, json, options) {
2319
2320
  });
2320
2321
  bg.setCoords();
2321
2322
  }
2323
+ if (bg.filters?.some((f) => f instanceof filters2.Invert)) {
2324
+ bg.filters = bg.filters.filter((f) => !(f instanceof filters2.Invert));
2325
+ bg.applyFilters();
2326
+ }
2322
2327
  }
2323
2328
  if (options?.filter) {
2324
2329
  const toRemove = [];
@@ -2991,11 +2996,53 @@ function useCanvasClick(canvasRef, onClick, options) {
2991
2996
  }, [canvasRef]);
2992
2997
  }
2993
2998
 
2999
+ // src/context/EditCanvasContext.tsx
3000
+ import { createContext, useContext } from "react";
3001
+ import { jsx as jsx2 } from "react/jsx-runtime";
3002
+ var EditCanvasContext = createContext(null);
3003
+ function EditCanvasProvider({
3004
+ options,
3005
+ children
3006
+ }) {
3007
+ const canvas = useEditCanvas(options);
3008
+ return /* @__PURE__ */ jsx2(EditCanvasContext.Provider, { value: canvas, children });
3009
+ }
3010
+ function useEditCanvasContext() {
3011
+ const ctx = useContext(EditCanvasContext);
3012
+ if (ctx === null) {
3013
+ throw new Error(
3014
+ "useEditCanvasContext must be used within an <EditCanvasProvider>"
3015
+ );
3016
+ }
3017
+ return ctx;
3018
+ }
3019
+
3020
+ // src/context/ViewCanvasContext.tsx
3021
+ import { createContext as createContext2, useContext as useContext2 } from "react";
3022
+ import { jsx as jsx3 } from "react/jsx-runtime";
3023
+ var ViewCanvasContext = createContext2(null);
3024
+ function ViewCanvasProvider({
3025
+ options,
3026
+ children
3027
+ }) {
3028
+ const canvas = useViewCanvas(options);
3029
+ return /* @__PURE__ */ jsx3(ViewCanvasContext.Provider, { value: canvas, children });
3030
+ }
3031
+ function useViewCanvasContext() {
3032
+ const ctx = useContext2(ViewCanvasContext);
3033
+ if (ctx === null) {
3034
+ throw new Error(
3035
+ "useViewCanvasContext must be used within a <ViewCanvasProvider>"
3036
+ );
3037
+ }
3038
+ return ctx;
3039
+ }
3040
+
2994
3041
  // src/overlay/ObjectOverlay.tsx
2995
3042
  import { useEffect as useEffect6, useRef as useRef7 } from "react";
2996
3043
  import { Stack } from "@mui/material";
2997
3044
  import { util as util4 } from "fabric";
2998
- import { jsx as jsx2 } from "react/jsx-runtime";
3045
+ import { jsx as jsx4 } from "react/jsx-runtime";
2999
3046
  function ObjectOverlay({
3000
3047
  canvasRef,
3001
3048
  object,
@@ -3039,7 +3086,7 @@ function ObjectOverlay({
3039
3086
  };
3040
3087
  }, [canvasRef, object]);
3041
3088
  if (!object) return null;
3042
- return /* @__PURE__ */ jsx2(
3089
+ return /* @__PURE__ */ jsx4(
3043
3090
  Stack,
3044
3091
  {
3045
3092
  ref: stackRef,
@@ -3060,7 +3107,7 @@ function ObjectOverlay({
3060
3107
  // src/overlay/OverlayContent.tsx
3061
3108
  import { Stack as Stack2 } from "@mui/material";
3062
3109
  import { useEffect as useEffect7, useRef as useRef8 } from "react";
3063
- import { jsx as jsx3 } from "react/jsx-runtime";
3110
+ import { jsx as jsx5 } from "react/jsx-runtime";
3064
3111
  function OverlayContent({
3065
3112
  children,
3066
3113
  padding = 4,
@@ -3099,7 +3146,7 @@ function OverlayContent({
3099
3146
  fit();
3100
3147
  return () => observer.disconnect();
3101
3148
  }, [padding, maxScale]);
3102
- return /* @__PURE__ */ jsx3(
3149
+ return /* @__PURE__ */ jsx5(
3103
3150
  Stack2,
3104
3151
  {
3105
3152
  ref: outerRef,
@@ -3112,7 +3159,7 @@ function OverlayContent({
3112
3159
  ...sx
3113
3160
  },
3114
3161
  ...rest,
3115
- children: /* @__PURE__ */ jsx3(
3162
+ children: /* @__PURE__ */ jsx5(
3116
3163
  Stack2,
3117
3164
  {
3118
3165
  ref: innerRef,
@@ -3132,7 +3179,7 @@ function OverlayContent({
3132
3179
  // src/overlay/FixedSizeContent.tsx
3133
3180
  import { Stack as Stack3 } from "@mui/material";
3134
3181
  import { useEffect as useEffect8, useRef as useRef9 } from "react";
3135
- import { jsx as jsx4 } from "react/jsx-runtime";
3182
+ import { jsx as jsx6 } from "react/jsx-runtime";
3136
3183
  function FixedSizeContent({
3137
3184
  children,
3138
3185
  hideOnOverflow = true,
@@ -3179,7 +3226,7 @@ function FixedSizeContent({
3179
3226
  check();
3180
3227
  return () => observer.disconnect();
3181
3228
  }, [hideOnOverflow, truncationPadding]);
3182
- return /* @__PURE__ */ jsx4(
3229
+ return /* @__PURE__ */ jsx6(
3183
3230
  Stack3,
3184
3231
  {
3185
3232
  ref,
@@ -3206,7 +3253,7 @@ function FixedSizeContent({
3206
3253
  // src/overlay/OverlayBadge.tsx
3207
3254
  import { Stack as Stack4 } from "@mui/material";
3208
3255
  import { useEffect as useEffect9, useRef as useRef10 } from "react";
3209
- import { jsx as jsx5 } from "react/jsx-runtime";
3256
+ import { jsx as jsx7 } from "react/jsx-runtime";
3210
3257
  function toPx(v) {
3211
3258
  if (v === void 0) return void 0;
3212
3259
  return typeof v === "number" ? `${v}px` : v;
@@ -3302,7 +3349,7 @@ function OverlayBadge({
3302
3349
  bottom: toPx(bottom),
3303
3350
  left: toPx(left)
3304
3351
  };
3305
- return /* @__PURE__ */ jsx5(
3352
+ return /* @__PURE__ */ jsx7(
3306
3353
  Stack4,
3307
3354
  {
3308
3355
  ref,
@@ -3340,6 +3387,7 @@ export {
3340
3387
  DEFAULT_DRAG_SHAPE_STYLE,
3341
3388
  DEFAULT_GUIDELINE_SHAPE_STYLE,
3342
3389
  DEFAULT_SHAPE_STYLE,
3390
+ EditCanvasProvider,
3343
3391
  Canvas2 as FabricCanvas,
3344
3392
  FabricImage3 as FabricImage,
3345
3393
  FabricObject5 as FabricObject,
@@ -3350,6 +3398,7 @@ export {
3350
3398
  Point9 as Point,
3351
3399
  Polygon5 as Polygon,
3352
3400
  Rect6 as Rect,
3401
+ ViewCanvasProvider,
3353
3402
  createCircle,
3354
3403
  createCircleAtPoint,
3355
3404
  createHistoryTracker,
@@ -3392,7 +3441,9 @@ export {
3392
3441
  useCanvasEvents,
3393
3442
  useCanvasTooltip,
3394
3443
  useEditCanvas,
3444
+ useEditCanvasContext,
3395
3445
  useViewCanvas,
3446
+ useViewCanvasContext,
3396
3447
  util5 as util
3397
3448
  };
3398
3449
  //# sourceMappingURL=index.js.map