@vertexvis/viewer 0.24.5-canary.8 → 0.24.5

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.
Files changed (28) hide show
  1. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +15 -5
  2. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js.map +1 -1
  3. package/dist/collection/components/viewer-markup/viewer-markup-components.js +12 -2
  4. package/dist/collection/components/viewer-markup/viewer-markup-components.js.map +1 -1
  5. package/dist/collection/components/viewer-markup-arrow/viewer-markup-arrow.js +1 -1
  6. package/dist/collection/components/viewer-markup-arrow/viewer-markup-arrow.js.map +1 -1
  7. package/dist/collection/components/viewer-markup-circle/viewer-markup-circle.js +1 -1
  8. package/dist/collection/components/viewer-markup-circle/viewer-markup-circle.js.map +1 -1
  9. package/dist/collection/components/viewer-markup-freeform/viewer-markup-freeform.js +1 -1
  10. package/dist/collection/components/viewer-markup-freeform/viewer-markup-freeform.js.map +1 -1
  11. package/dist/components/interactions.js +12 -2
  12. package/dist/components/interactions.js.map +1 -1
  13. package/dist/components/viewer-markup-arrow.js +1 -1
  14. package/dist/components/viewer-markup-arrow.js.map +1 -1
  15. package/dist/components/viewer-markup-circle.js +1 -1
  16. package/dist/components/viewer-markup-circle.js.map +1 -1
  17. package/dist/components/viewer-markup-freeform.js +1 -1
  18. package/dist/components/viewer-markup-freeform.js.map +1 -1
  19. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +15 -5
  20. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js.map +1 -1
  21. package/dist/types/components/viewer-markup/viewer-markup-components.d.ts +1 -0
  22. package/dist/viewer/p-8ec43ed1.entry.js +5 -0
  23. package/dist/viewer/p-8ec43ed1.entry.js.map +1 -0
  24. package/dist/viewer/viewer.esm.js +1 -1
  25. package/package.json +7 -7
  26. package/readme.md +4 -4
  27. package/dist/viewer/p-b947f42b.entry.js +0 -5
  28. package/dist/viewer/p-b947f42b.entry.js.map +0 -1
@@ -171,8 +171,18 @@ const RelativeAnchor = ({ id, transform, rotation, name, point, onPointerDown },
171
171
  } },
172
172
  index.h("slot", { name: name }, children)))));
173
173
  };
174
- const SvgShadow = ({ id }) => {
175
- return (index.h("filter", { id: id },
174
+ const SvgShadow = ({ id, scale, }) => {
175
+ // Scale default values for a `<filter>` element by the provided scale.
176
+ // This prevents the filter area from being too small when scale is greater than 1,
177
+ // and uses the default values for a scale less than 1 to prevent the same issue.
178
+ // See https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/filter
179
+ // for more details on the default values used here.
180
+ const effectiveScale = scale !== null && scale !== void 0 ? scale : 1;
181
+ const xOffset = Math.max(10, 10 * effectiveScale);
182
+ const yOffset = Math.max(10, 10 * effectiveScale);
183
+ const width = Math.max(120, 110 * effectiveScale + xOffset);
184
+ const height = Math.max(120, 110 * effectiveScale + yOffset);
185
+ return (index.h("filter", { id: id, filterUnits: "userSpaceOnUse", x: `${-xOffset}%`, y: `${-yOffset}%`, width: `${width}%`, height: `${height}%` },
176
186
  index.h("feGaussianBlur", { in: "SourceAlpha", stdDeviation: "2" }),
177
187
  index.h("feOffset", { dx: "0", dy: "1", result: "offsetblur" }),
178
188
  index.h("feFlood", { "flood-color": "#000000", "flood-opacity": "0.25" }),
@@ -456,7 +466,7 @@ const ViewerMarkupArrow = class {
456
466
  if (isValidPointData(screenStart, screenEnd)) {
457
467
  const arrowheadStartPoints = utils.createLineAnchorStylePoints(screenEnd, screenStart);
458
468
  const arrowheadEndPoints = utils.createLineAnchorStylePoints(screenStart, screenEnd);
459
- return (index.h(index.Host, null, index.h("svg", { class: "svg", onTouchStart: this.handleTouchStart }, index.h("defs", null, index.h(SvgShadow, { id: "arrow-shadow" })), index.h("g", { transform: `translate(${offsetX} ${offsetY})`, filter: "url(#arrow-shadow)" }, this.renderLineAnchorStyle(this.startLineAnchorStyle, arrowheadStartPoints), index.h("line", { id: "arrow-line", class: "line", x1: arrowheadEndPoints.tip.x, y1: arrowheadEndPoints.tip.y, x2: arrowheadStartPoints.tip.x, y2: arrowheadStartPoints.tip.y }), this.renderLineAnchorStyle(this.endLineAnchorStyle, arrowheadEndPoints)), this.mode === 'edit' && (index.h("g", { transform: `translate(${offsetX} ${offsetY})` }, index.h("line", { id: "bounding-box-1d-line", class: "bounds-line", x1: screenStart.x, y1: screenStart.y, x2: screenEnd.x, y2: screenEnd.y })))), this.mode === 'edit' && (index.h(BoundingBox1d, { start: screenStart, end: screenEnd, offset: { x: offsetX, y: offsetY }, onStartAnchorPointerDown: (event) => this.interactionHandler.editAnchor('start', event), onCenterAnchorPointerDown: (event) => this.interactionHandler.editAnchor('center', event), onEndAnchorPointerDown: (event) => this.interactionHandler.editAnchor('end', event) })), this.mode === 'create' && (index.h("div", { class: "create-overlay", onTouchStart: this.handleTouchStart }))));
469
+ return (index.h(index.Host, null, index.h("svg", { class: "svg", onTouchStart: this.handleTouchStart }, index.h("defs", null, index.h(SvgShadow, { id: "arrow-shadow", scale: this.scale })), index.h("g", { transform: `translate(${offsetX} ${offsetY})`, filter: "url(#arrow-shadow)" }, this.renderLineAnchorStyle(this.startLineAnchorStyle, arrowheadStartPoints), index.h("line", { id: "arrow-line", class: "line", x1: arrowheadEndPoints.tip.x, y1: arrowheadEndPoints.tip.y, x2: arrowheadStartPoints.tip.x, y2: arrowheadStartPoints.tip.y }), this.renderLineAnchorStyle(this.endLineAnchorStyle, arrowheadEndPoints)), this.mode === 'edit' && (index.h("g", { transform: `translate(${offsetX} ${offsetY})` }, index.h("line", { id: "bounding-box-1d-line", class: "bounds-line", x1: screenStart.x, y1: screenStart.y, x2: screenEnd.x, y2: screenEnd.y })))), this.mode === 'edit' && (index.h(BoundingBox1d, { start: screenStart, end: screenEnd, offset: { x: offsetX, y: offsetY }, onStartAnchorPointerDown: (event) => this.interactionHandler.editAnchor('start', event), onCenterAnchorPointerDown: (event) => this.interactionHandler.editAnchor('center', event), onEndAnchorPointerDown: (event) => this.interactionHandler.editAnchor('end', event) })), this.mode === 'create' && (index.h("div", { class: "create-overlay", onTouchStart: this.handleTouchStart }))));
460
470
  }
461
471
  else {
462
472
  return index.h(index.Host, null);
@@ -689,7 +699,7 @@ const ViewerMarkupCircle = class {
689
699
  const center = bundle_esm.rectangle.center(relativeBounds);
690
700
  const offsetX = ((_b = (_a = this.offset) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0) / dom$1.getWindowDevicePixelRatio();
691
701
  const offsetY = ((_d = (_c = this.offset) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0) / dom$1.getWindowDevicePixelRatio();
692
- return (index.h(index.Host, null, index.h("svg", { class: "svg", onTouchStart: this.handleTouchStart }, index.h("defs", null, index.h(SvgShadow, { id: "circle-shadow" })), index.h("g", { transform: `translate(${offsetX} ${offsetY})`, filter: "url(#circle-shadow)" }, index.h("ellipse", { class: "ellipse", cx: center.x, cy: center.y, rx: relativeBounds.width / 2, ry: relativeBounds.height / 2, stroke: '#000ff0', "stroke-width": 4, fill: 'none' }))), this.mode === 'edit' && (index.h(BoundingBox2d, { bounds: relativeBounds, offset: { x: offsetX, y: offsetY }, onTopLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top-left', e), onTopRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top-right', e), onTopAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top', e), onBottomLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom-left', e), onBottomRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom-right', e), onBottomAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom', e), onLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('left', e), onRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('right', e), onCenterAnchorPointerDown: (e) => this.interactionHandler.editAnchor('center', e) })), this.mode === 'create' && (index.h("div", { class: "create-overlay", onTouchStart: this.handleTouchStart }))));
702
+ return (index.h(index.Host, null, index.h("svg", { class: "svg", onTouchStart: this.handleTouchStart }, index.h("defs", null, index.h(SvgShadow, { id: "circle-shadow", scale: this.scale })), index.h("g", { transform: `translate(${offsetX} ${offsetY})`, filter: "url(#circle-shadow)" }, index.h("ellipse", { class: "ellipse", cx: center.x, cy: center.y, rx: relativeBounds.width / 2, ry: relativeBounds.height / 2, stroke: '#000ff0', "stroke-width": 4, fill: 'none' }))), this.mode === 'edit' && (index.h(BoundingBox2d, { bounds: relativeBounds, offset: { x: offsetX, y: offsetY }, onTopLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top-left', e), onTopRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top-right', e), onTopAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top', e), onBottomLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom-left', e), onBottomRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom-right', e), onBottomAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom', e), onLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('left', e), onRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('right', e), onCenterAnchorPointerDown: (e) => this.interactionHandler.editAnchor('center', e) })), this.mode === 'create' && (index.h("div", { class: "create-overlay", onTouchStart: this.handleTouchStart }))));
693
703
  }
694
704
  else {
695
705
  return (index.h(index.Host, null, index.h("div", { class: "create-overlay", onTouchStart: this.handleTouchStart })));
@@ -921,7 +931,7 @@ const ViewerMarkupFreeform = class {
921
931
  if (this.screenPoints.length > 0 && this.elementBounds != null) {
922
932
  const offsetX = ((_b = (_a = this.offset) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0) / dom$1.getWindowDevicePixelRatio();
923
933
  const offsetY = ((_d = (_c = this.offset) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0) / dom$1.getWindowDevicePixelRatio();
924
- return (index.h(index.Host, null, index.h("svg", { class: "svg", onTouchStart: this.handleTouchStart }, index.h("defs", null, index.h(SvgShadow, { id: "freeform-markup-shadow" })), index.h("g", { transform: `translate(${offsetX} ${offsetY})`, filter: "url(#freeform-markup-shadow)" }, index.h("path", { class: "path", d: this.screenPoints.reduce((d, pt) => `${d}L${pt.x},${pt.y}`, `M${this.screenPoints[0].x},${this.screenPoints[0].y}`), fill: "none" }))), this.mode === 'edit' && this.bounds != null && (index.h(BoundingBox2d, { bounds: translateRectToScreen(this.bounds, this.elementBounds, this.originatingViewport, this.centeringBehavior, this.scale), offset: { x: offsetX, y: offsetY }, onTopLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top-left', e), onTopRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top-right', e), onTopAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top', e), onBottomLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom-left', e), onBottomRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom-right', e), onBottomAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom', e), onLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('left', e), onRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('right', e), onCenterAnchorPointerDown: (e) => this.interactionHandler.editAnchor('center', e) })), this.mode === 'create' && (index.h("div", { class: "create-overlay", onTouchStart: this.handleTouchStart }))));
934
+ return (index.h(index.Host, null, index.h("svg", { class: "svg", onTouchStart: this.handleTouchStart }, index.h("defs", null, index.h(SvgShadow, { id: "freeform-markup-shadow", scale: this.scale })), index.h("g", { transform: `translate(${offsetX} ${offsetY})`, filter: "url(#freeform-markup-shadow)" }, index.h("path", { class: "path", d: this.screenPoints.reduce((d, pt) => `${d}L${pt.x},${pt.y}`, `M${this.screenPoints[0].x},${this.screenPoints[0].y}`), fill: "none" }))), this.mode === 'edit' && this.bounds != null && (index.h(BoundingBox2d, { bounds: translateRectToScreen(this.bounds, this.elementBounds, this.originatingViewport, this.centeringBehavior, this.scale), offset: { x: offsetX, y: offsetY }, onTopLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top-left', e), onTopRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top-right', e), onTopAnchorPointerDown: (e) => this.interactionHandler.editAnchor('top', e), onBottomLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom-left', e), onBottomRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom-right', e), onBottomAnchorPointerDown: (e) => this.interactionHandler.editAnchor('bottom', e), onLeftAnchorPointerDown: (e) => this.interactionHandler.editAnchor('left', e), onRightAnchorPointerDown: (e) => this.interactionHandler.editAnchor('right', e), onCenterAnchorPointerDown: (e) => this.interactionHandler.editAnchor('center', e) })), this.mode === 'create' && (index.h("div", { class: "create-overlay", onTouchStart: this.handleTouchStart }))));
925
935
  }
926
936
  else {
927
937
  return (index.h(index.Host, null, index.h("div", { class: "create-overlay", onTouchStart: this.handleTouchStart })));