canvu-react 0.4.69 → 0.4.71

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/react.d.cts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { V as VectorSceneItem } from './types-fJNwEnHf.cjs';
2
2
  export { C as CustomShapeResizeHandles, b as ResizeHandleId } from './types-fJNwEnHf.cjs';
3
- import { V as VectorViewportAssetKind, a as VectorViewportAssetStore } from './raster-image-canvas-nK9kM9UJ.cjs';
4
- export { b as RasterImageCanvasRenderRequest, c as RasterImageCanvasRenderTarget, d as RasterImageCanvasRenderTargetResolver, R as RasterImageCanvasRenderingOptions, e as RasterImageCanvasSourceSizeRequest, f as RasterImageCanvasSourceSizeResolver, g as VectorViewportAssetHydrationRequest, h as VectorViewportAssetResolveRequest, i as VectorViewportAssetResolveResult, j as VectorViewportAssetUploadRequest, k as VectorViewportAssetUploadResult } from './raster-image-canvas-nK9kM9UJ.cjs';
5
- import { I as IndexedDbImageStore } from './asset-hydration-D2xaUoAT.cjs';
6
- export { H as HydratedSceneItemsWithAssetsResult, h as hydrateSceneItemsWithAssets } from './asset-hydration-D2xaUoAT.cjs';
7
- import { B as BoardComponentPosition, V as VectorToolDefinition, C as CustomShapePlacementOptions, a as CanvuBeforeInteractionHook, b as CanvuAfterInteractionHook, c as CanvasPlugin, d as VectorSelectionInspector } from './types-D402X18k.cjs';
8
- export { e as CanvasPluginComponentProps, f as CanvasPluginContribution, g as CanvasPluginItemsChangeMiddlewareContext, h as CanvasPluginRenderContext, i as CanvuAfterInteractionDetail, j as CanvuBeforeInteractionResult, k as CanvuChromeActiveToolStyle, l as CanvuChromeContext, m as CanvuChromeContextValue, n as CanvuChromeSelectionStyleChange, o as CanvuInteractionDetail, p as CanvuInteractionKind, q as CanvuInteractionOutcome, r as CanvuInteractionPoint, s as CanvuPluginContext, t as CanvuPluginContextValue, u as CanvuPluginViewportSnapshot, P as PlacementPreview, R as ReadOnlyInteractionOptions, v as ReadOnlyItemClickCandidateDetail, w as ReadOnlyItemClickScope, S as SHAPE_CONTEXT_MENU_ITEM_IDS, x as SelectModeItemClickDetail, y as SelectModeItemClickResult, z as ShapeContextMenu, A as ShapeContextMenuItem, D as ShapeContextMenuProps, E as ShapeContextMenuRenderContext, F as VectorCanvasSpacePosition, G as VectorItemsChangeInfo, H as VectorItemsChangeMotive, I as VectorSelectionInspectorProps, J as VectorViewport, K as VectorViewportHandle, L as VectorViewportProps, W as WorldPointerDownDetail, M as createCanvuPlugin, N as getBoardPositionStyle, O as useCanvuChromeContext, Q as useCanvuDocumentContext, T as useCanvuPluginContext, U as useCanvuPluginContribution, X as useCanvuResolvedTools, Y as useCanvuViewportContext } from './types-D402X18k.cjs';
3
+ import { V as VectorViewportAssetKind, a as VectorViewportAssetStore } from './raster-image-canvas-Byq087t9.cjs';
4
+ export { b as RasterImageCanvasRenderRequest, c as RasterImageCanvasRenderTarget, d as RasterImageCanvasRenderTargetResolver, R as RasterImageCanvasRenderingOptions, e as RasterImageCanvasSource, f as RasterImageCanvasSourceRequest, g as RasterImageCanvasSourceResolver, h as RasterImageCanvasSourceSizeRequest, i as RasterImageCanvasSourceSizeResolver, j as VectorViewportAssetHydrationRequest, k as VectorViewportAssetResolveRequest, l as VectorViewportAssetResolveResult, m as VectorViewportAssetUploadRequest, n as VectorViewportAssetUploadResult } from './raster-image-canvas-Byq087t9.cjs';
5
+ import { I as IndexedDbImageStore } from './asset-hydration-BeWWxiBq.cjs';
6
+ export { H as HydratedSceneItemsWithAssetsResult, h as hydrateSceneItemsWithAssets } from './asset-hydration-BeWWxiBq.cjs';
7
+ import { B as BoardComponentPosition, V as VectorToolDefinition, C as CustomShapePlacementOptions, a as CanvuBeforeInteractionHook, b as CanvuAfterInteractionHook, c as CanvasPlugin, d as VectorSelectionInspector } from './types-f8d-2-6N.cjs';
8
+ export { e as CanvasPluginComponentProps, f as CanvasPluginContribution, g as CanvasPluginItemsChangeMiddlewareContext, h as CanvasPluginRenderContext, i as CanvuAfterInteractionDetail, j as CanvuBeforeInteractionResult, k as CanvuChromeActiveToolStyle, l as CanvuChromeContext, m as CanvuChromeContextValue, n as CanvuChromeSelectionStyleChange, o as CanvuInteractionDetail, p as CanvuInteractionKind, q as CanvuInteractionOutcome, r as CanvuInteractionPoint, s as CanvuPluginContext, t as CanvuPluginContextValue, u as CanvuPluginViewportSnapshot, P as PlacementPreview, R as ReadOnlyInteractionOptions, v as ReadOnlyItemClickCandidateDetail, w as ReadOnlyItemClickScope, S as SHAPE_CONTEXT_MENU_ITEM_IDS, x as SelectModeItemClickDetail, y as SelectModeItemClickResult, z as ShapeContextMenu, A as ShapeContextMenuItem, D as ShapeContextMenuProps, E as ShapeContextMenuRenderContext, F as VectorCanvasSpacePosition, G as VectorItemsChangeInfo, H as VectorItemsChangeMotive, I as VectorSelectionInspectorProps, J as VectorViewport, K as VectorViewportHandle, L as VectorViewportProps, W as WorldPointerDownDetail, M as createCanvuPlugin, N as getBoardPositionStyle, O as useCanvuChromeContext, Q as useCanvuDocumentContext, T as useCanvuPluginContext, U as useCanvuPluginContribution, X as useCanvuResolvedTools, Y as useCanvuViewportContext } from './types-f8d-2-6N.cjs';
9
9
  import * as react_jsx_runtime from 'react/jsx-runtime';
10
10
  import * as react from 'react';
11
11
  import { CSSProperties, ReactNode, ReactElement, SVGProps } from 'react';
package/dist/react.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { V as VectorSceneItem } from './types-fJNwEnHf.js';
2
2
  export { C as CustomShapeResizeHandles, b as ResizeHandleId } from './types-fJNwEnHf.js';
3
- import { V as VectorViewportAssetKind, a as VectorViewportAssetStore } from './raster-image-canvas-CCOmB4NY.js';
4
- export { b as RasterImageCanvasRenderRequest, c as RasterImageCanvasRenderTarget, d as RasterImageCanvasRenderTargetResolver, R as RasterImageCanvasRenderingOptions, e as RasterImageCanvasSourceSizeRequest, f as RasterImageCanvasSourceSizeResolver, g as VectorViewportAssetHydrationRequest, h as VectorViewportAssetResolveRequest, i as VectorViewportAssetResolveResult, j as VectorViewportAssetUploadRequest, k as VectorViewportAssetUploadResult } from './raster-image-canvas-CCOmB4NY.js';
5
- import { I as IndexedDbImageStore } from './asset-hydration-D9eThWse.js';
6
- export { H as HydratedSceneItemsWithAssetsResult, h as hydrateSceneItemsWithAssets } from './asset-hydration-D9eThWse.js';
7
- import { B as BoardComponentPosition, V as VectorToolDefinition, C as CustomShapePlacementOptions, a as CanvuBeforeInteractionHook, b as CanvuAfterInteractionHook, c as CanvasPlugin, d as VectorSelectionInspector } from './types-CMuEaiM7.js';
8
- export { e as CanvasPluginComponentProps, f as CanvasPluginContribution, g as CanvasPluginItemsChangeMiddlewareContext, h as CanvasPluginRenderContext, i as CanvuAfterInteractionDetail, j as CanvuBeforeInteractionResult, k as CanvuChromeActiveToolStyle, l as CanvuChromeContext, m as CanvuChromeContextValue, n as CanvuChromeSelectionStyleChange, o as CanvuInteractionDetail, p as CanvuInteractionKind, q as CanvuInteractionOutcome, r as CanvuInteractionPoint, s as CanvuPluginContext, t as CanvuPluginContextValue, u as CanvuPluginViewportSnapshot, P as PlacementPreview, R as ReadOnlyInteractionOptions, v as ReadOnlyItemClickCandidateDetail, w as ReadOnlyItemClickScope, S as SHAPE_CONTEXT_MENU_ITEM_IDS, x as SelectModeItemClickDetail, y as SelectModeItemClickResult, z as ShapeContextMenu, A as ShapeContextMenuItem, D as ShapeContextMenuProps, E as ShapeContextMenuRenderContext, F as VectorCanvasSpacePosition, G as VectorItemsChangeInfo, H as VectorItemsChangeMotive, I as VectorSelectionInspectorProps, J as VectorViewport, K as VectorViewportHandle, L as VectorViewportProps, W as WorldPointerDownDetail, M as createCanvuPlugin, N as getBoardPositionStyle, O as useCanvuChromeContext, Q as useCanvuDocumentContext, T as useCanvuPluginContext, U as useCanvuPluginContribution, X as useCanvuResolvedTools, Y as useCanvuViewportContext } from './types-CMuEaiM7.js';
3
+ import { V as VectorViewportAssetKind, a as VectorViewportAssetStore } from './raster-image-canvas-BqBgE8C-.js';
4
+ export { b as RasterImageCanvasRenderRequest, c as RasterImageCanvasRenderTarget, d as RasterImageCanvasRenderTargetResolver, R as RasterImageCanvasRenderingOptions, e as RasterImageCanvasSource, f as RasterImageCanvasSourceRequest, g as RasterImageCanvasSourceResolver, h as RasterImageCanvasSourceSizeRequest, i as RasterImageCanvasSourceSizeResolver, j as VectorViewportAssetHydrationRequest, k as VectorViewportAssetResolveRequest, l as VectorViewportAssetResolveResult, m as VectorViewportAssetUploadRequest, n as VectorViewportAssetUploadResult } from './raster-image-canvas-BqBgE8C-.js';
5
+ import { I as IndexedDbImageStore } from './asset-hydration-CLoDkZDh.js';
6
+ export { H as HydratedSceneItemsWithAssetsResult, h as hydrateSceneItemsWithAssets } from './asset-hydration-CLoDkZDh.js';
7
+ import { B as BoardComponentPosition, V as VectorToolDefinition, C as CustomShapePlacementOptions, a as CanvuBeforeInteractionHook, b as CanvuAfterInteractionHook, c as CanvasPlugin, d as VectorSelectionInspector } from './types-D_cQxUug.js';
8
+ export { e as CanvasPluginComponentProps, f as CanvasPluginContribution, g as CanvasPluginItemsChangeMiddlewareContext, h as CanvasPluginRenderContext, i as CanvuAfterInteractionDetail, j as CanvuBeforeInteractionResult, k as CanvuChromeActiveToolStyle, l as CanvuChromeContext, m as CanvuChromeContextValue, n as CanvuChromeSelectionStyleChange, o as CanvuInteractionDetail, p as CanvuInteractionKind, q as CanvuInteractionOutcome, r as CanvuInteractionPoint, s as CanvuPluginContext, t as CanvuPluginContextValue, u as CanvuPluginViewportSnapshot, P as PlacementPreview, R as ReadOnlyInteractionOptions, v as ReadOnlyItemClickCandidateDetail, w as ReadOnlyItemClickScope, S as SHAPE_CONTEXT_MENU_ITEM_IDS, x as SelectModeItemClickDetail, y as SelectModeItemClickResult, z as ShapeContextMenu, A as ShapeContextMenuItem, D as ShapeContextMenuProps, E as ShapeContextMenuRenderContext, F as VectorCanvasSpacePosition, G as VectorItemsChangeInfo, H as VectorItemsChangeMotive, I as VectorSelectionInspectorProps, J as VectorViewport, K as VectorViewportHandle, L as VectorViewportProps, W as WorldPointerDownDetail, M as createCanvuPlugin, N as getBoardPositionStyle, O as useCanvuChromeContext, Q as useCanvuDocumentContext, T as useCanvuPluginContext, U as useCanvuPluginContribution, X as useCanvuResolvedTools, Y as useCanvuViewportContext } from './types-D_cQxUug.js';
9
9
  import * as react_jsx_runtime from 'react/jsx-runtime';
10
10
  import * as react from 'react';
11
11
  import { CSSProperties, ReactNode, ReactElement, SVGProps } from 'react';
package/dist/react.js CHANGED
@@ -6889,6 +6889,7 @@ function resolveRasterImageCanvasRenderingOptions(options) {
6889
6889
  return {
6890
6890
  resolveSourceSize: options.resolveSourceSize,
6891
6891
  resolveRenderTarget: options.resolveRenderTarget,
6892
+ resolveCanvasSource: options.resolveCanvasSource,
6892
6893
  devicePixelRatio: toPositiveFiniteNumber(
6893
6894
  options.devicePixelRatio,
6894
6895
  fallbackDevicePixelRatio
@@ -7153,6 +7154,36 @@ function loadImageElement(href, signal) {
7153
7154
  image.src = href;
7154
7155
  });
7155
7156
  }
7157
+ function normalizeDecodedRasterImageSource(source) {
7158
+ if (!source) return null;
7159
+ const width = Math.max(1, Math.round(source.width));
7160
+ const height = Math.max(1, Math.round(source.height));
7161
+ if (!Number.isFinite(width) || !Number.isFinite(height)) return null;
7162
+ return {
7163
+ width,
7164
+ height,
7165
+ draw: source.draw,
7166
+ close: source.close ?? (() => {
7167
+ })
7168
+ };
7169
+ }
7170
+ async function resolveDecodedRasterImageSource({
7171
+ options,
7172
+ request,
7173
+ width,
7174
+ height,
7175
+ signal
7176
+ }) {
7177
+ if (options?.resolveCanvasSource) {
7178
+ const source = await options.resolveCanvasSource({
7179
+ ...request,
7180
+ signal
7181
+ });
7182
+ const decoded = normalizeDecodedRasterImageSource(source);
7183
+ if (decoded) return decoded;
7184
+ }
7185
+ return decodeRasterImage(request.targetHref, width, height, signal);
7186
+ }
7156
7187
  var SvgVectorRenderer = class {
7157
7188
  container;
7158
7189
  scene;
@@ -7385,7 +7416,20 @@ var SvgVectorRenderer = class {
7385
7416
  }
7386
7417
  const request = {
7387
7418
  itemHref: item.imageRasterHref,
7388
- target
7419
+ target,
7420
+ sourceRequest: {
7421
+ item,
7422
+ href: item.imageRasterHref,
7423
+ intrinsicSize: item.imageIntrinsicSize,
7424
+ sourceSize,
7425
+ contentRect: target.contentRect,
7426
+ targetSize: target.targetSize,
7427
+ viewportSize,
7428
+ cameraZoom: this.camera.zoom,
7429
+ devicePixelRatio: options.devicePixelRatio,
7430
+ targetHref: target.href,
7431
+ sourceKey: target.sourceKey
7432
+ }
7389
7433
  };
7390
7434
  if (rasterCanvas.abortController) {
7391
7435
  if (rasterCanvas.loadingItemHref !== item.imageRasterHref) {
@@ -7475,7 +7519,13 @@ var SvgVectorRenderer = class {
7475
7519
  rasterCanvas.loadingWidth = width;
7476
7520
  rasterCanvas.loadingHeight = height;
7477
7521
  rasterCanvas.queuedTarget = null;
7478
- decodeRasterImage(target.href, width, height, abortController.signal).then((decoded) => {
7522
+ resolveDecodedRasterImageSource({
7523
+ options: this.rasterImageCanvasRendering,
7524
+ request: request.sourceRequest,
7525
+ width,
7526
+ height,
7527
+ signal: abortController.signal
7528
+ }).then((decoded) => {
7479
7529
  if (abortController.signal.aborted || rasterCanvas.loadSequence !== sequence) {
7480
7530
  decoded.close();
7481
7531
  return;