@vertexvis/viewer 0.10.2-canary.7 → 0.11.0
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/cjs/{browser.esm-ae55f058.js → browser.esm-17419694.js} +25 -25
- package/dist/cjs/{bundle.esm-c457ad4d.js → bundle.esm-b79513ef.js} +231 -207
- package/dist/cjs/{constants-4277684a.js → constants-1d65ed39.js} +1 -1
- package/dist/cjs/{cursors-b93b43ef.js → cursors-8aaf500f.js} +1 -1
- package/dist/cjs/{dom-cdb50ebc.js → dom-40804039.js} +1 -1
- package/dist/cjs/index.cjs.js +8 -7
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{markup-3dac4cef.js → markup-e84a143f.js} +11 -2
- package/dist/cjs/{measurement-b494bf55.js → measurement-4579193b.js} +2 -2
- package/dist/cjs/{orientation-42cc9e8d.js → orientation-09d0f3ef.js} +14 -7
- package/dist/cjs/{png-decoder-2add73dd.js → png-decoder-97ea96ba.js} +3 -3
- package/dist/cjs/{scene-23a0a330.js → scene-4397373a.js} +28524 -2446
- package/dist/cjs/{utils-6933381f.js → utils-414e6cfe.js} +2 -2
- package/dist/cjs/utils-440f0f7d.js +61 -0
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +6 -5
- package/dist/cjs/vertex-viewer-dom-element_3.cjs.entry.js +4 -4
- package/dist/cjs/{vertex-viewer-markup-arrow_2.cjs.entry.js → vertex-viewer-markup-arrow_3.cjs.entry.js} +267 -4
- package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +43 -9
- package/dist/cjs/vertex-viewer-markup.cjs.entry.js +25 -5
- package/dist/cjs/vertex-viewer-measurement-distance_2.cjs.entry.js +8 -8
- package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +5 -5
- package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +5 -5
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +3 -3
- package/dist/cjs/vertex-viewer.cjs.entry.js +141 -48
- package/dist/cjs/viewer.cjs.js +1 -1
- package/dist/cjs/{viewport-e69f8223.js → viewport-fc405a48.js} +31 -7
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/scene-tree/scene-tree.js +3 -2
- package/dist/collection/components/viewer/viewer.js +28 -3
- package/dist/collection/components/viewer-markup/utils.js +65 -1
- package/dist/collection/components/viewer-markup/viewer-markup.js +72 -16
- package/dist/collection/components/viewer-markup-circle/utils.js +2 -55
- package/dist/collection/components/viewer-markup-circle/viewer-markup-circle.js +4 -4
- package/dist/collection/components/viewer-markup-freeform.tsx/utils.js +10 -0
- package/dist/collection/components/viewer-markup-freeform.tsx/viewer-markup-freeform.css +157 -0
- package/dist/collection/components/viewer-markup-freeform.tsx/viewer-markup-freeform.js +413 -0
- package/dist/collection/components/viewer-markup-tool/viewer-markup-tool.js +63 -9
- package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance-components.js +1 -1
- package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js +2 -2
- package/dist/collection/lib/cursors.js +1 -1
- package/dist/collection/lib/interactions/baseInteractionHandler.js +5 -4
- package/dist/collection/lib/interactions/flyToPartKeyInteraction.js +1 -1
- package/dist/collection/lib/interactions/interactionApi.js +101 -22
- package/dist/collection/lib/interactions/mouseInteractions.js +17 -15
- package/dist/collection/lib/interactions/multiTouchInteractionHandler.js +2 -2
- package/dist/collection/lib/mappers.js +4 -3
- package/dist/collection/lib/scenes/camera.js +8 -2
- package/dist/collection/lib/scenes/operations.js +1 -1
- package/dist/collection/lib/scenes/scene.js +5 -2
- package/dist/collection/lib/types/frame.js +8 -2
- package/dist/collection/lib/types/markup.js +9 -1
- package/dist/collection/lib/types/stencilBuffer.js +2 -2
- package/dist/collection/lib/types/viewport.js +32 -8
- package/dist/collection/testing/fixtures.js +2 -1
- package/dist/esm/{browser.esm-7dbdf78a.js → browser.esm-e4fb17dc.js} +25 -25
- package/dist/esm/{bundle.esm-590d2273.js → bundle.esm-d891316f.js} +232 -208
- package/dist/esm/{constants-083f6b2c.js → constants-037e417f.js} +1 -1
- package/dist/esm/{cursors-39294365.js → cursors-00835249.js} +1 -1
- package/dist/esm/{dom-43682375.js → dom-d0877f90.js} +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/index.mjs +7 -7
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loader.mjs +1 -1
- package/dist/esm/{markup-3ce3dccd.js → markup-9b29aa94.js} +11 -3
- package/dist/esm/{measurement-78bd27fc.js → measurement-8430d5d6.js} +2 -2
- package/dist/esm/{orientation-c3e2af18.js → orientation-bb34b652.js} +14 -7
- package/dist/esm/{png-decoder-dfb97536.js → png-decoder-c4745070.js} +3 -3
- package/dist/esm/{scene-30ac6229.js → scene-72760305.js} +28532 -2454
- package/dist/esm/utils-5fe43b8a.js +52 -0
- package/dist/esm/{utils-b857bd7c.js → utils-f8e0baf7.js} +2 -2
- package/dist/esm/vertex-scene-tree.entry.js +6 -5
- package/dist/esm/vertex-viewer-dom-element_3.entry.js +4 -4
- package/dist/esm/{vertex-viewer-markup-arrow_2.entry.js → vertex-viewer-markup-arrow_3.entry.js} +267 -5
- package/dist/esm/vertex-viewer-markup-tool.entry.js +43 -9
- package/dist/esm/vertex-viewer-markup.entry.js +25 -5
- package/dist/esm/vertex-viewer-measurement-distance_2.entry.js +8 -8
- package/dist/esm/vertex-viewer-measurement-tool.entry.js +5 -5
- package/dist/esm/vertex-viewer-measurements.entry.js +5 -5
- package/dist/esm/vertex-viewer-view-cube.entry.js +3 -3
- package/dist/esm/vertex-viewer.entry.js +141 -48
- package/dist/esm/viewer.js +1 -1
- package/dist/esm/{viewport-8fea0743.js → viewport-d6f5cd7b.js} +31 -7
- package/dist/types/components/viewer/viewer.d.ts +4 -0
- package/dist/types/components/viewer-markup/utils.d.ts +8 -0
- package/dist/types/components/viewer-markup/viewer-markup.d.ts +13 -6
- package/dist/types/components/viewer-markup-circle/utils.d.ts +1 -4
- package/dist/types/components/viewer-markup-freeform.tsx/utils.d.ts +3 -0
- package/dist/types/components/viewer-markup-freeform.tsx/viewer-markup-freeform.d.ts +116 -0
- package/dist/types/components/viewer-markup-tool/viewer-markup-tool.d.ts +13 -1
- package/dist/types/components.d.ts +107 -10
- package/dist/types/lib/interactions/interactionApi.d.ts +22 -6
- package/dist/types/lib/interactions/mouseInteractions.d.ts +7 -6
- package/dist/types/lib/scenes/camera.d.ts +5 -1
- package/dist/types/lib/scenes/scene.d.ts +1 -1
- package/dist/types/lib/types/frame.d.ts +4 -1
- package/dist/types/lib/types/markup.d.ts +12 -1
- package/dist/types/lib/types/viewport.d.ts +17 -0
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/p-012fb54f.js +4 -0
- package/dist/viewer/{p-3dc15d99.entry.js → p-117324c0.entry.js} +1 -1
- package/dist/viewer/{p-1ee75110.entry.js → p-1c772ec1.entry.js} +1 -1
- package/dist/viewer/p-1f8a238b.js +4 -0
- package/dist/viewer/p-21e8510d.js +4 -0
- package/dist/viewer/{p-e3105f9a.entry.js → p-3c2aff67.entry.js} +1 -1
- package/dist/viewer/p-5389e9d4.js +4 -0
- package/dist/viewer/p-59d075d4.js +17 -0
- package/dist/viewer/{p-5b078339.js → p-62c6f482.js} +1 -1
- package/dist/viewer/p-640cb5f8.js +18 -0
- package/dist/viewer/p-68aaf1f8.entry.js +4 -0
- package/dist/viewer/{p-05b2444e.js → p-75682963.js} +1 -1
- package/dist/viewer/{p-4183c421.entry.js → p-79c45c02.entry.js} +1 -1
- package/dist/viewer/p-835e158e.js +4 -0
- package/dist/viewer/p-8c255868.entry.js +4 -0
- package/dist/viewer/{p-f4a492e1.js → p-9faabd97.js} +1 -1
- package/dist/viewer/p-b122ee39.js +4 -0
- package/dist/viewer/p-b36b3d1a.js +4 -0
- package/dist/viewer/{p-7c71db57.entry.js → p-bc9e6919.entry.js} +1 -1
- package/dist/viewer/{p-f090a3f3.entry.js → p-c818c80e.entry.js} +1 -1
- package/dist/viewer/{p-e96bc9a2.js → p-d42a482c.js} +1 -1
- package/dist/viewer/p-f43e8cc2.entry.js +4 -0
- package/dist/viewer/p-f75436be.entry.js +4 -0
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +18 -16
- package/readme.md +6 -6
- package/dist/cjs/utils-96f244e1.js +0 -104
- package/dist/esm/utils-a550c58f.js +0 -96
- package/dist/viewer/p-11bdd2c4.js +0 -4
- package/dist/viewer/p-14182324.entry.js +0 -4
- package/dist/viewer/p-2768474e.js +0 -4
- package/dist/viewer/p-2e11803d.js +0 -4
- package/dist/viewer/p-6d4ab5fc.js +0 -17
- package/dist/viewer/p-964642c6.js +0 -4
- package/dist/viewer/p-9e856d0a.entry.js +0 -4
- package/dist/viewer/p-a717d9ff.js +0 -4
- package/dist/viewer/p-a9434d8e.entry.js +0 -4
- package/dist/viewer/p-af806858.js +0 -4
- package/dist/viewer/p-b5c350a7.js +0 -4
- package/dist/viewer/p-d912dd24.js +0 -18
- package/dist/viewer/p-f6d75616.entry.js +0 -4
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
import { Component, Host, h, Element, Prop, Watch, Event, State, Method, } from '@stencil/core';
|
|
2
|
+
import { Point, Rectangle } from '@vertexvis/geometry';
|
|
3
|
+
import { getMouseClientPosition } from '../../lib/dom';
|
|
4
|
+
import { translateRectToScreen, translatePointToRelative, translatePointToScreen, translatePointsToBounds, transformRectangle, } from '../viewer-markup/utils';
|
|
5
|
+
import { SvgShadow } from '../viewer-markup/viewer-markup-components';
|
|
6
|
+
import { getMarkupBoundingClientRect } from '../viewer-markup/dom';
|
|
7
|
+
import { parsePoints } from './utils';
|
|
8
|
+
import { BoundingBox2d } from '../viewer-markup-circle/viewer-markup-circle-components';
|
|
9
|
+
import { parseBounds } from '../viewer-markup-circle/utils';
|
|
10
|
+
export class ViewerMarkupFreeform {
|
|
11
|
+
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* A mode that specifies how the markup component should behave. When
|
|
14
|
+
* unset, the component will not respond to interactions with the handles.
|
|
15
|
+
* When `edit`, the markup anchors are interactive and the user is able
|
|
16
|
+
* to reposition them. When `create`, anytime the user clicks on the canvas,
|
|
17
|
+
* a new markup will be performed.
|
|
18
|
+
*/
|
|
19
|
+
this.mode = '';
|
|
20
|
+
this.editAnchor = 'bottom-right';
|
|
21
|
+
this.screenPoints = [];
|
|
22
|
+
this.updateEditAnchor = (event, anchor) => {
|
|
23
|
+
if (this.elementBounds != null) {
|
|
24
|
+
this.resizeBounds = this.bounds;
|
|
25
|
+
this.resizePoints = this.points;
|
|
26
|
+
this.editAnchor = anchor;
|
|
27
|
+
this.resizeStartPosition = translatePointToRelative(getMouseClientPosition(event, this.elementBounds), this.elementBounds);
|
|
28
|
+
this.addEditingInteractionListeners();
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
this.updateBounds = (event) => {
|
|
32
|
+
var _a;
|
|
33
|
+
if (this.resizeStartPosition != null &&
|
|
34
|
+
this.elementBounds != null &&
|
|
35
|
+
this.resizeBounds != null &&
|
|
36
|
+
this.resizePoints != null) {
|
|
37
|
+
const position = translatePointToRelative(getMouseClientPosition(event, this.elementBounds), this.elementBounds);
|
|
38
|
+
const updatedBounds = transformRectangle(this.resizeBounds, this.resizeStartPosition, position, this.editAnchor, event.shiftKey);
|
|
39
|
+
this.points = translatePointsToBounds(this.resizePoints, this.resizeBounds, updatedBounds);
|
|
40
|
+
this.screenPoints = (_a = this.convertPointsToScreen()) !== null && _a !== void 0 ? _a : this.screenPoints;
|
|
41
|
+
this.bounds = updatedBounds;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
this.updatePoints = (event) => {
|
|
45
|
+
if (this.points != null && this.elementBounds != null) {
|
|
46
|
+
const screenPosition = getMouseClientPosition(event, this.elementBounds);
|
|
47
|
+
const position = translatePointToRelative(screenPosition, this.elementBounds);
|
|
48
|
+
this.updateMinAndMax(position);
|
|
49
|
+
this.points = [...this.points, position];
|
|
50
|
+
this.screenPoints = [...this.screenPoints, screenPosition];
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
this.startMarkup = (event) => {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
if (this.mode !== '' && this.elementBounds != null) {
|
|
56
|
+
const screenPosition = getMouseClientPosition(event, this.elementBounds);
|
|
57
|
+
const position = translatePointToRelative(screenPosition, this.elementBounds);
|
|
58
|
+
this.updateMinAndMax(position);
|
|
59
|
+
this.points = (_a = this.points) !== null && _a !== void 0 ? _a : [position];
|
|
60
|
+
this.screenPoints = (_b = this.screenPoints) !== null && _b !== void 0 ? _b : [screenPosition];
|
|
61
|
+
this.editBegin.emit();
|
|
62
|
+
this.addDrawingInteractionListeners();
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
this.endMarkup = (event) => {
|
|
66
|
+
if (this.mode !== '' &&
|
|
67
|
+
this.points != null &&
|
|
68
|
+
this.points.length > 1 &&
|
|
69
|
+
this.elementBounds != null) {
|
|
70
|
+
const screenPosition = getMouseClientPosition(event, this.elementBounds);
|
|
71
|
+
const position = translatePointToRelative(screenPosition, this.elementBounds);
|
|
72
|
+
this.updateMinAndMax(position);
|
|
73
|
+
this.points = [...this.points, position];
|
|
74
|
+
this.screenPoints = [...this.screenPoints, screenPosition];
|
|
75
|
+
this.editEnd.emit();
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.points = undefined;
|
|
79
|
+
this.editCancel.emit();
|
|
80
|
+
}
|
|
81
|
+
this.min = undefined;
|
|
82
|
+
this.max = undefined;
|
|
83
|
+
this.removeDrawingInteractionListeners();
|
|
84
|
+
};
|
|
85
|
+
this.endEdit = () => {
|
|
86
|
+
this.resizeBounds = undefined;
|
|
87
|
+
this.removeEditingInteractionListeners();
|
|
88
|
+
this.editEnd.emit();
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* @ignore
|
|
93
|
+
*/
|
|
94
|
+
componentWillLoad() {
|
|
95
|
+
this.updateViewport();
|
|
96
|
+
this.handleViewerChanged(this.viewer);
|
|
97
|
+
this.updatePointsFromProps();
|
|
98
|
+
}
|
|
99
|
+
componentDidLoad() {
|
|
100
|
+
this.updatePointsFromProps();
|
|
101
|
+
const resize = new ResizeObserver(() => this.updateViewport());
|
|
102
|
+
resize.observe(this.hostEl);
|
|
103
|
+
}
|
|
104
|
+
async dispose() {
|
|
105
|
+
if (this.viewer != null) {
|
|
106
|
+
this.removeInteractionListeners(this.viewer);
|
|
107
|
+
}
|
|
108
|
+
this.removeDrawingInteractionListeners();
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* @ignore
|
|
112
|
+
*/
|
|
113
|
+
handleViewerChanged(newViewer, oldViewer) {
|
|
114
|
+
if (oldViewer != null) {
|
|
115
|
+
this.removeInteractionListeners(oldViewer);
|
|
116
|
+
}
|
|
117
|
+
if (newViewer != null) {
|
|
118
|
+
this.addInteractionListeners(newViewer);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
handlePointsJsonChange() {
|
|
122
|
+
this.updatePointsFromProps();
|
|
123
|
+
}
|
|
124
|
+
handleBoundsJsonChange() {
|
|
125
|
+
this.updatePointsFromProps();
|
|
126
|
+
}
|
|
127
|
+
updateViewport() {
|
|
128
|
+
var _a;
|
|
129
|
+
const rect = getMarkupBoundingClientRect(this.hostEl);
|
|
130
|
+
this.elementBounds = rect;
|
|
131
|
+
this.screenPoints = (_a = this.convertPointsToScreen()) !== null && _a !== void 0 ? _a : this.screenPoints;
|
|
132
|
+
}
|
|
133
|
+
updatePointsFromProps() {
|
|
134
|
+
var _a, _b, _c;
|
|
135
|
+
this.points = (_a = this.points) !== null && _a !== void 0 ? _a : parsePoints(this.pointsJson);
|
|
136
|
+
this.screenPoints = (_b = this.convertPointsToScreen()) !== null && _b !== void 0 ? _b : [];
|
|
137
|
+
this.bounds = (_c = this.bounds) !== null && _c !== void 0 ? _c : parseBounds(this.boundsJson);
|
|
138
|
+
}
|
|
139
|
+
render() {
|
|
140
|
+
if (this.screenPoints.length > 0 && this.elementBounds != null) {
|
|
141
|
+
return (h(Host, null,
|
|
142
|
+
h("svg", { class: "svg" },
|
|
143
|
+
h("defs", null,
|
|
144
|
+
h(SvgShadow, { id: "freeform-markup-shadow" })),
|
|
145
|
+
h("g", { filter: "url(#freeform-markup-shadow)" },
|
|
146
|
+
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" }))),
|
|
147
|
+
this.mode === 'edit' && this.bounds != null && (h(BoundingBox2d, { bounds: translateRectToScreen(this.bounds, this.elementBounds), onTopLeftAnchorPointerDown: (e) => this.updateEditAnchor(e, 'top-left'), onTopRightAnchorPointerDown: (e) => this.updateEditAnchor(e, 'top-right'), onTopAnchorPointerDown: (e) => this.updateEditAnchor(e, 'top'), onBottomLeftAnchorPointerDown: (e) => this.updateEditAnchor(e, 'bottom-left'), onBottomRightAnchorPointerDown: (e) => this.updateEditAnchor(e, 'bottom-right'), onBottomAnchorPointerDown: (e) => this.updateEditAnchor(e, 'bottom'), onLeftAnchorPointerDown: (e) => this.updateEditAnchor(e, 'left'), onRightAnchorPointerDown: (e) => this.updateEditAnchor(e, 'right'), onCenterAnchorPointerDown: (e) => this.updateEditAnchor(e, 'center') }))));
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
return (h(Host, null,
|
|
151
|
+
h("div", { class: "create-overlay", onPointerDown: (event) => this.startMarkup(event) })));
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
async addInteractionListeners(viewer) {
|
|
155
|
+
const interactionTarget = await viewer.getInteractionTarget();
|
|
156
|
+
if (this.mode === 'create') {
|
|
157
|
+
interactionTarget.addEventListener('pointerdown', this.startMarkup);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
async addDrawingInteractionListeners() {
|
|
161
|
+
if (this.mode !== '') {
|
|
162
|
+
window.addEventListener('pointermove', this.updatePoints);
|
|
163
|
+
window.addEventListener('pointerup', this.endMarkup);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
async addEditingInteractionListeners() {
|
|
167
|
+
if (this.mode === 'edit') {
|
|
168
|
+
window.addEventListener('pointermove', this.updateBounds);
|
|
169
|
+
window.addEventListener('pointerup', this.endEdit);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
async removeInteractionListeners(viewer) {
|
|
173
|
+
const interactionTarget = await viewer.getInteractionTarget();
|
|
174
|
+
interactionTarget.removeEventListener('pointerdown', this.startMarkup);
|
|
175
|
+
}
|
|
176
|
+
async removeDrawingInteractionListeners() {
|
|
177
|
+
window.removeEventListener('pointermove', this.updatePoints);
|
|
178
|
+
window.removeEventListener('pointerup', this.endMarkup);
|
|
179
|
+
}
|
|
180
|
+
async removeEditingInteractionListeners() {
|
|
181
|
+
if (this.mode === 'edit') {
|
|
182
|
+
window.removeEventListener('pointermove', this.updateBounds);
|
|
183
|
+
window.removeEventListener('pointerup', this.endEdit);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
updateMinAndMax(position) {
|
|
187
|
+
this.min =
|
|
188
|
+
this.min != null
|
|
189
|
+
? Point.create(Math.min(this.min.x, position.x), Math.min(this.min.y, position.y))
|
|
190
|
+
: position;
|
|
191
|
+
this.max =
|
|
192
|
+
this.max != null
|
|
193
|
+
? Point.create(Math.max(this.max.x, position.x), Math.max(this.max.y, position.y))
|
|
194
|
+
: position;
|
|
195
|
+
this.bounds = Rectangle.create(this.min.x, this.min.y, this.max.x - this.min.x, this.max.y - this.min.y);
|
|
196
|
+
}
|
|
197
|
+
convertPointsToScreen() {
|
|
198
|
+
var _a;
|
|
199
|
+
const elementBounds = this.elementBounds;
|
|
200
|
+
if (elementBounds != null) {
|
|
201
|
+
return (_a = this.points) === null || _a === void 0 ? void 0 : _a.map((pt) => translatePointToScreen(pt, elementBounds));
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
static get is() { return "vertex-viewer-markup-freeform"; }
|
|
205
|
+
static get encapsulation() { return "shadow"; }
|
|
206
|
+
static get originalStyleUrls() { return {
|
|
207
|
+
"$": ["viewer-markup-freeform.css"]
|
|
208
|
+
}; }
|
|
209
|
+
static get styleUrls() { return {
|
|
210
|
+
"$": ["viewer-markup-freeform.css"]
|
|
211
|
+
}; }
|
|
212
|
+
static get properties() { return {
|
|
213
|
+
"points": {
|
|
214
|
+
"type": "unknown",
|
|
215
|
+
"mutable": true,
|
|
216
|
+
"complexType": {
|
|
217
|
+
"original": "Point.Point[]",
|
|
218
|
+
"resolved": "Point[] | undefined",
|
|
219
|
+
"references": {
|
|
220
|
+
"Point": {
|
|
221
|
+
"location": "import",
|
|
222
|
+
"path": "@vertexvis/geometry"
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"required": false,
|
|
227
|
+
"optional": true,
|
|
228
|
+
"docs": {
|
|
229
|
+
"tags": [],
|
|
230
|
+
"text": "The positions of the various points of this freeform markup. Can either be an array of\n`Point`s or a JSON string representation in the format of `[[x1, y1], [x2, y2]]` or\n`[{\"x\": 0, \"y\": 0}, {\"x\": 0, \"y\": 0}]`.\n\nPoints are expected to be relative coordinates from `[-0.5, 0.5]`,\ne.g. `[0, 0]` corresponds to a point in the center of the viewport."
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
"pointsJson": {
|
|
234
|
+
"type": "string",
|
|
235
|
+
"mutable": false,
|
|
236
|
+
"complexType": {
|
|
237
|
+
"original": "string",
|
|
238
|
+
"resolved": "string | undefined",
|
|
239
|
+
"references": {}
|
|
240
|
+
},
|
|
241
|
+
"required": false,
|
|
242
|
+
"optional": true,
|
|
243
|
+
"docs": {
|
|
244
|
+
"tags": [],
|
|
245
|
+
"text": "The positions of the various points of this freeform markup. Can either be an array of\n`Point`s or a JSON string representation in the format of `[[x1, y1], [x2, y2]]` or\n`[{\"x\": 0, \"y\": 0}, {\"x\": 0, \"y\": 0}]`.\n\nPoints are expected to be relative coordinates from `[-0.5, 0.5]`,\ne.g. `[0, 0]` corresponds to a point in the center of the viewport."
|
|
246
|
+
},
|
|
247
|
+
"attribute": "points",
|
|
248
|
+
"reflect": false
|
|
249
|
+
},
|
|
250
|
+
"bounds": {
|
|
251
|
+
"type": "unknown",
|
|
252
|
+
"mutable": true,
|
|
253
|
+
"complexType": {
|
|
254
|
+
"original": "Rectangle.Rectangle",
|
|
255
|
+
"resolved": "Rectangle | undefined",
|
|
256
|
+
"references": {
|
|
257
|
+
"Rectangle": {
|
|
258
|
+
"location": "import",
|
|
259
|
+
"path": "@vertexvis/geometry"
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
"required": false,
|
|
264
|
+
"optional": true,
|
|
265
|
+
"docs": {
|
|
266
|
+
"tags": [],
|
|
267
|
+
"text": "The bounds of the freeform. Can either be an instance of a `Rectangle` or\na JSON string representation in the format of `[x, y, width, height]` or\n`{\"x\": 0, \"y\": 0, \"width\": 10, \"height\": 10}`.\n\nBounds are expected to have relative coordinates, with `[x, y]` from `[-0.5, 0.5]`\nand `[width, height]` from `[0, 1]`, e.g. `[0, 0, 0.25, 0.25]`corresponds to a freeform\nwith a diameter of one fourth the viewport's smallest size in the center of the viewport."
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
"boundsJson": {
|
|
271
|
+
"type": "string",
|
|
272
|
+
"mutable": false,
|
|
273
|
+
"complexType": {
|
|
274
|
+
"original": "string",
|
|
275
|
+
"resolved": "string | undefined",
|
|
276
|
+
"references": {}
|
|
277
|
+
},
|
|
278
|
+
"required": false,
|
|
279
|
+
"optional": true,
|
|
280
|
+
"docs": {
|
|
281
|
+
"tags": [],
|
|
282
|
+
"text": "The bounds of the freeform. Can either be an instance of a `Rectangle` or\na JSON string representation in the format of `[x, y, width, height]` or\n`{\"x\": 0, \"y\": 0, \"width\": 0.1, \"height\": 0.1}`.\n\nBounds are expected to have relative coordinates, with `[x, y]` from `[-0.5, 0.5]`\nand `[width, height]` from `[0, 1]`, e.g. `[0, 0, 0.25, 0.25]`corresponds to a freeform\nwith a diameter of one fourth the viewport's smallest size in the center of the viewport."
|
|
283
|
+
},
|
|
284
|
+
"attribute": "bounds",
|
|
285
|
+
"reflect": false
|
|
286
|
+
},
|
|
287
|
+
"mode": {
|
|
288
|
+
"type": "string",
|
|
289
|
+
"mutable": false,
|
|
290
|
+
"complexType": {
|
|
291
|
+
"original": "ViewerMarkupFreeformMode",
|
|
292
|
+
"resolved": "\"\" | \"create\" | \"edit\"",
|
|
293
|
+
"references": {
|
|
294
|
+
"ViewerMarkupFreeformMode": {
|
|
295
|
+
"location": "local"
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
"required": false,
|
|
300
|
+
"optional": false,
|
|
301
|
+
"docs": {
|
|
302
|
+
"tags": [],
|
|
303
|
+
"text": "A mode that specifies how the markup component should behave. When\nunset, the component will not respond to interactions with the handles.\nWhen `edit`, the markup anchors are interactive and the user is able\nto reposition them. When `create`, anytime the user clicks on the canvas,\na new markup will be performed."
|
|
304
|
+
},
|
|
305
|
+
"attribute": "mode",
|
|
306
|
+
"reflect": true,
|
|
307
|
+
"defaultValue": "''"
|
|
308
|
+
},
|
|
309
|
+
"viewer": {
|
|
310
|
+
"type": "unknown",
|
|
311
|
+
"mutable": false,
|
|
312
|
+
"complexType": {
|
|
313
|
+
"original": "HTMLVertexViewerElement",
|
|
314
|
+
"resolved": "HTMLVertexViewerElement | undefined",
|
|
315
|
+
"references": {
|
|
316
|
+
"HTMLVertexViewerElement": {
|
|
317
|
+
"location": "global"
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
"required": false,
|
|
322
|
+
"optional": true,
|
|
323
|
+
"docs": {
|
|
324
|
+
"tags": [],
|
|
325
|
+
"text": "The viewer to connect to markups.\n\nThis property will automatically be set when a child of a\n`<vertex-viewer-markup>` or `<vertex-viewer>` element."
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}; }
|
|
329
|
+
static get states() { return {
|
|
330
|
+
"elementBounds": {},
|
|
331
|
+
"resizeStartPosition": {},
|
|
332
|
+
"editAnchor": {},
|
|
333
|
+
"resizeBounds": {},
|
|
334
|
+
"resizePoints": {},
|
|
335
|
+
"screenPoints": {}
|
|
336
|
+
}; }
|
|
337
|
+
static get events() { return [{
|
|
338
|
+
"method": "editBegin",
|
|
339
|
+
"name": "editBegin",
|
|
340
|
+
"bubbles": true,
|
|
341
|
+
"cancelable": true,
|
|
342
|
+
"composed": true,
|
|
343
|
+
"docs": {
|
|
344
|
+
"tags": [],
|
|
345
|
+
"text": "An event that is dispatched anytime the user begins editing the\nmarkup."
|
|
346
|
+
},
|
|
347
|
+
"complexType": {
|
|
348
|
+
"original": "void",
|
|
349
|
+
"resolved": "void",
|
|
350
|
+
"references": {}
|
|
351
|
+
}
|
|
352
|
+
}, {
|
|
353
|
+
"method": "editEnd",
|
|
354
|
+
"name": "editEnd",
|
|
355
|
+
"bubbles": true,
|
|
356
|
+
"cancelable": true,
|
|
357
|
+
"composed": true,
|
|
358
|
+
"docs": {
|
|
359
|
+
"tags": [],
|
|
360
|
+
"text": "An event that is dispatched when the user has finished editing the\nmarkup."
|
|
361
|
+
},
|
|
362
|
+
"complexType": {
|
|
363
|
+
"original": "void",
|
|
364
|
+
"resolved": "void",
|
|
365
|
+
"references": {}
|
|
366
|
+
}
|
|
367
|
+
}, {
|
|
368
|
+
"method": "editCancel",
|
|
369
|
+
"name": "editCancel",
|
|
370
|
+
"bubbles": true,
|
|
371
|
+
"cancelable": true,
|
|
372
|
+
"composed": true,
|
|
373
|
+
"docs": {
|
|
374
|
+
"tags": [],
|
|
375
|
+
"text": "An event that is dispatched when the user cancels editing of the\nmarkup."
|
|
376
|
+
},
|
|
377
|
+
"complexType": {
|
|
378
|
+
"original": "void",
|
|
379
|
+
"resolved": "void",
|
|
380
|
+
"references": {}
|
|
381
|
+
}
|
|
382
|
+
}]; }
|
|
383
|
+
static get methods() { return {
|
|
384
|
+
"dispose": {
|
|
385
|
+
"complexType": {
|
|
386
|
+
"signature": "() => Promise<void>",
|
|
387
|
+
"parameters": [],
|
|
388
|
+
"references": {
|
|
389
|
+
"Promise": {
|
|
390
|
+
"location": "global"
|
|
391
|
+
}
|
|
392
|
+
},
|
|
393
|
+
"return": "Promise<void>"
|
|
394
|
+
},
|
|
395
|
+
"docs": {
|
|
396
|
+
"text": "",
|
|
397
|
+
"tags": []
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}; }
|
|
401
|
+
static get elementRef() { return "hostEl"; }
|
|
402
|
+
static get watchers() { return [{
|
|
403
|
+
"propName": "viewer",
|
|
404
|
+
"methodName": "handleViewerChanged"
|
|
405
|
+
}, {
|
|
406
|
+
"propName": "points",
|
|
407
|
+
"methodName": "handlePointsJsonChange"
|
|
408
|
+
}, {
|
|
409
|
+
"propName": "bounds",
|
|
410
|
+
"methodName": "handleBoundsJsonChange"
|
|
411
|
+
}]; }
|
|
412
|
+
}
|
|
413
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLW1hcmt1cC1mcmVlZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdlci1tYXJrdXAtZnJlZWZvcm0udHN4L3ZpZXdlci1tYXJrdXAtZnJlZWZvcm0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsSUFBSSxFQUNKLENBQUMsRUFDRCxPQUFPLEVBQ1AsSUFBSSxFQUNKLEtBQUssRUFFTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFFdEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNuQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFjNUQsTUFBTSxPQUFPLG9CQUFvQjtFQUxqQztJQW9ERTs7Ozs7O09BTUc7SUFFSSxTQUFJLEdBQTZCLEVBQUUsQ0FBQztJQTBDbkMsZUFBVSxHQUFnQyxjQUFjLENBQUM7SUFTekQsaUJBQVksR0FBa0IsRUFBRSxDQUFDO0lBNktqQyxxQkFBZ0IsR0FBRyxDQUN6QixLQUFtQixFQUNuQixNQUFtQyxFQUM3QixFQUFFO01BQ1IsSUFBSSxJ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
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Component, Element, Event, h, Host, Prop, State, Watch, } from '@stencil/core';
|
|
2
2
|
import { stampTemplateWithId } from '../../lib/templates';
|
|
3
3
|
import { isVertexViewerArrowMarkup } from '../viewer-markup-arrow/utils';
|
|
4
|
-
import { ArrowMarkup, CircleMarkup } from '../../lib/types/markup';
|
|
4
|
+
import { ArrowMarkup, CircleMarkup, FreeformMarkup, } from '../../lib/types/markup';
|
|
5
5
|
import { isVertexViewerCircleMarkup } from '../viewer-markup-circle/utils';
|
|
6
|
+
import { isVertexViewerFreeformMarkup } from '../viewer-markup-freeform.tsx/utils';
|
|
6
7
|
export class ViewerMarkupTool {
|
|
7
8
|
constructor() {
|
|
8
9
|
/**
|
|
@@ -29,7 +30,15 @@ export class ViewerMarkupTool {
|
|
|
29
30
|
};
|
|
30
31
|
this.handleMarkupEditEnd = () => {
|
|
31
32
|
const { markupElement } = this.stateMap;
|
|
32
|
-
if (
|
|
33
|
+
if (isVertexViewerFreeformMarkup(markupElement)) {
|
|
34
|
+
const { points, bounds } = markupElement;
|
|
35
|
+
markupElement.points = undefined;
|
|
36
|
+
markupElement.bounds = undefined;
|
|
37
|
+
if (points != null && points.length > 0 && bounds != null) {
|
|
38
|
+
this.markupEnd.emit(new FreeformMarkup({ points, bounds }));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else if (isVertexViewerCircleMarkup(markupElement)) {
|
|
33
42
|
const { bounds } = markupElement;
|
|
34
43
|
markupElement.bounds = undefined;
|
|
35
44
|
if (bounds != null) {
|
|
@@ -73,6 +82,12 @@ export class ViewerMarkupTool {
|
|
|
73
82
|
handleCircleTemplateIdChanged() {
|
|
74
83
|
this.updateMarkupElement();
|
|
75
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* @ignore
|
|
87
|
+
*/
|
|
88
|
+
handleFreeformTemplateIdChanged() {
|
|
89
|
+
this.updateMarkupElement();
|
|
90
|
+
}
|
|
76
91
|
/**
|
|
77
92
|
* @ignore
|
|
78
93
|
*/
|
|
@@ -90,7 +105,9 @@ export class ViewerMarkupTool {
|
|
|
90
105
|
*/
|
|
91
106
|
render() {
|
|
92
107
|
if (!this.disabled) {
|
|
93
|
-
if (this.tool === 'arrow' ||
|
|
108
|
+
if (this.tool === 'arrow' ||
|
|
109
|
+
this.tool === 'circle' ||
|
|
110
|
+
this.tool === 'freeform') {
|
|
94
111
|
return (h(Host, null,
|
|
95
112
|
h("slot", null)));
|
|
96
113
|
}
|
|
@@ -120,6 +137,25 @@ export class ViewerMarkupTool {
|
|
|
120
137
|
}
|
|
121
138
|
return document.createElement('vertex-viewer-markup-circle');
|
|
122
139
|
}
|
|
140
|
+
createFreeformMarkupElement() {
|
|
141
|
+
if (this.freeformTemplateId != null) {
|
|
142
|
+
const element = stampTemplateWithId(window.document.body, this.freeformTemplateId, isVertexViewerFreeformMarkup, () => console.warn(`Freeform template with ID ${this.freeformTemplateId} not found. Using default freeform element.`), () => console.warn(`Freeform template does not contain a vertex-viewer-markup-freeform. Using default freeform element.`));
|
|
143
|
+
if (element != null) {
|
|
144
|
+
return element;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return document.createElement('vertex-viewer-markup-freeform');
|
|
148
|
+
}
|
|
149
|
+
createNewMarkupElement() {
|
|
150
|
+
switch (this.tool) {
|
|
151
|
+
case 'arrow':
|
|
152
|
+
return this.createArrowMarkupElement();
|
|
153
|
+
case 'circle':
|
|
154
|
+
return this.createCircleMarkupElement();
|
|
155
|
+
case 'freeform':
|
|
156
|
+
return this.createFreeformMarkupElement();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
123
159
|
updateMarkupElement() {
|
|
124
160
|
const { markupElement } = this.stateMap;
|
|
125
161
|
if (markupElement != null) {
|
|
@@ -131,9 +167,7 @@ export class ViewerMarkupTool {
|
|
|
131
167
|
markupElement.removeEventListener('editCancel', this.handleMarkupEditCancel);
|
|
132
168
|
}
|
|
133
169
|
if (!this.disabled) {
|
|
134
|
-
const newMarkupElement = this.
|
|
135
|
-
? this.createArrowMarkupElement()
|
|
136
|
-
: this.createCircleMarkupElement();
|
|
170
|
+
const newMarkupElement = this.createNewMarkupElement();
|
|
137
171
|
newMarkupElement.mode = 'create';
|
|
138
172
|
newMarkupElement.viewer = this.viewer;
|
|
139
173
|
newMarkupElement.addEventListener('editBegin', this.handleMarkupEditBegin);
|
|
@@ -186,12 +220,29 @@ export class ViewerMarkupTool {
|
|
|
186
220
|
"attribute": "circle-template-id",
|
|
187
221
|
"reflect": false
|
|
188
222
|
},
|
|
223
|
+
"freeformTemplateId": {
|
|
224
|
+
"type": "string",
|
|
225
|
+
"mutable": false,
|
|
226
|
+
"complexType": {
|
|
227
|
+
"original": "string",
|
|
228
|
+
"resolved": "string | undefined",
|
|
229
|
+
"references": {}
|
|
230
|
+
},
|
|
231
|
+
"required": false,
|
|
232
|
+
"optional": true,
|
|
233
|
+
"docs": {
|
|
234
|
+
"tags": [],
|
|
235
|
+
"text": "An HTML template that describes the HTML to use for new freeform\nmarkup. It's expected that the template contains a\n`<vertex-viewer-markup-freeform>`."
|
|
236
|
+
},
|
|
237
|
+
"attribute": "freeform-template-id",
|
|
238
|
+
"reflect": false
|
|
239
|
+
},
|
|
189
240
|
"tool": {
|
|
190
241
|
"type": "string",
|
|
191
242
|
"mutable": false,
|
|
192
243
|
"complexType": {
|
|
193
244
|
"original": "ViewerMarkupToolType",
|
|
194
|
-
"resolved": "\"arrow\" | \"circle\"",
|
|
245
|
+
"resolved": "\"arrow\" | \"circle\" | \"freeform\"",
|
|
195
246
|
"references": {
|
|
196
247
|
"ViewerMarkupToolType": {
|
|
197
248
|
"location": "local"
|
|
@@ -276,7 +327,7 @@ export class ViewerMarkupTool {
|
|
|
276
327
|
},
|
|
277
328
|
"complexType": {
|
|
278
329
|
"original": "Markup",
|
|
279
|
-
"resolved": "ArrowMarkup | CircleMarkup",
|
|
330
|
+
"resolved": "ArrowMarkup | CircleMarkup | FreeformMarkup",
|
|
280
331
|
"references": {
|
|
281
332
|
"Markup": {
|
|
282
333
|
"location": "import",
|
|
@@ -313,9 +364,12 @@ export class ViewerMarkupTool {
|
|
|
313
364
|
}, {
|
|
314
365
|
"propName": "circleTemplateId",
|
|
315
366
|
"methodName": "handleCircleTemplateIdChanged"
|
|
367
|
+
}, {
|
|
368
|
+
"propName": "freeformTemplateId",
|
|
369
|
+
"methodName": "handleFreeformTemplateIdChanged"
|
|
316
370
|
}, {
|
|
317
371
|
"propName": "disabled",
|
|
318
372
|
"methodName": "handleDisabledChanged"
|
|
319
373
|
}]; }
|
|
320
374
|
}
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLW1hcmt1cC10b29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld2VyLW1hcmt1cC10b29sL3ZpZXdlci1tYXJrdXAtdG9vbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsS0FBSyxFQUVMLENBQUMsRUFDRCxJQUFJLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFDTCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekUsT0FBTyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osY0FBYyxHQUVmLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFtQm5GLE1BQU0sT0FBTyxnQkFBZ0I7RUFMN0I7SUE4QkU7Ozs7O09BS0c7SUFFSSxTQUFJLEdBQXlCLE9BQU8sQ0FBQztJQUU1Qzs7Ozs7T0FLRztJQUVJLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFnQ3hCOzs7T0FHRztJQUVLLGFBQVEsR0FBYSxFQUFFLENBQUM7SUF3TXhCLDBCQUFxQixHQUFHLEdBQVMsRUFBRTtNQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUMsQ0FBQztJQUVNLHdCQUFtQixHQUFHLEdBQVMsRUFBRTtNQUN2QyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztNQUN4QyxJQUFJLDRCQUE0QixDQUFDLGFBQWEsQ0FBQyxFQUFFO1FBQy9DLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxF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
|
|
@@ -33,4 +33,4 @@ export const DistanceMeasurementRenderer = ({ startPt, endPt, centerPt, indicato
|
|
|
33
33
|
h("slot", { name: "indicator" },
|
|
34
34
|
h("div", { class: "indicator-placeholder" }))))));
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLW1lYXN1cmVtZW50LWRpc3RhbmNlLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWVhc3VyZW1lbnQtZGlzdGFuY2Uvdmlld2VyLW1lYXN1cmVtZW50LWRpc3RhbmNlLWNvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUM3RCxPQUFPLEVBQXVCLENBQUMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFpQnJELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUN0QyxDQUFDLEVBQ0MsT0FBTyxFQUNQLEtBQUssRUFDTCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsYUFBYSxFQUNiLHdCQUF3QixFQUN4QixzQkFBc0IsR0FDdkIsRUFBRSxFQUFFO0VBQ0gsTUFBTSxLQUFLLEdBQ1QsT0FBTyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksSUFBSTtJQUM5QixDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO0lBQ2xDLENBQUMsQ0FBQyxTQUFTLENBQUM7RUFFaEIsTUFBTSxZQUFZLEdBQ2hCLEtBQUssSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxpQkFBaUIsSUFBSSxJQUFJO0lBQzNELENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQs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
|