@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
|
@@ -1,61 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Rectangle } from '@vertexvis/geometry';
|
|
2
2
|
export function isVertexViewerCircleMarkup(el) {
|
|
3
3
|
return (el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-MARKUP-CIRCLE');
|
|
4
4
|
}
|
|
5
5
|
export function parseBounds(value) {
|
|
6
6
|
return typeof value === 'string' ? Rectangle.fromJson(value) : value;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
const bounds = Rectangle.fromPoints(initialPoint, currentPoint);
|
|
10
|
-
if (maintainAspectRatio) {
|
|
11
|
-
const fitBoundsSize = Math.max(bounds.width, bounds.height);
|
|
12
|
-
const isPortrait = bounds.height > bounds.width;
|
|
13
|
-
const currentIsLeftOfInitial = currentPoint.x <= initialPoint.x;
|
|
14
|
-
const currentIsAboveInitial = currentPoint.y <= initialPoint.y;
|
|
15
|
-
const fitBoundsX = currentIsLeftOfInitial
|
|
16
|
-
? isPortrait
|
|
17
|
-
? initialPoint.x - fitBoundsSize
|
|
18
|
-
: currentPoint.x
|
|
19
|
-
: initialPoint.x;
|
|
20
|
-
const fitBoundsY = currentIsAboveInitial
|
|
21
|
-
? isPortrait
|
|
22
|
-
? currentPoint.y
|
|
23
|
-
: initialPoint.y - fitBoundsSize
|
|
24
|
-
: initialPoint.y;
|
|
25
|
-
return Rectangle.create(fitBoundsX, fitBoundsY, fitBoundsSize, fitBoundsSize);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
return bounds;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export function transformCircle(bounds, start, current, anchor, maintainAspectRatio) {
|
|
32
|
-
const delta = Point.subtract(current, start);
|
|
33
|
-
const { x: left, y: top, width: w, height: h } = bounds;
|
|
34
|
-
const right = left + w;
|
|
35
|
-
const bottom = top + h;
|
|
36
|
-
const topLeft = Point.create(left, top);
|
|
37
|
-
const bottomLeft = Point.create(left, bottom);
|
|
38
|
-
const topRight = Point.create(right, top);
|
|
39
|
-
const bottomRight = Point.create(right, bottom);
|
|
40
|
-
switch (anchor) {
|
|
41
|
-
case 'top-left':
|
|
42
|
-
return createCircle(bottomRight, current, !!maintainAspectRatio);
|
|
43
|
-
case 'top':
|
|
44
|
-
return createCircle(bottomRight, Point.create(left, current.y), !!maintainAspectRatio);
|
|
45
|
-
case 'top-right':
|
|
46
|
-
return createCircle(bottomLeft, current, !!maintainAspectRatio);
|
|
47
|
-
case 'right':
|
|
48
|
-
return createCircle(bottomLeft, Point.create(current.x, top), !!maintainAspectRatio);
|
|
49
|
-
case 'bottom-right':
|
|
50
|
-
return createCircle(topLeft, current, !!maintainAspectRatio);
|
|
51
|
-
case 'bottom':
|
|
52
|
-
return createCircle(topLeft, Point.create(right, current.y), !!maintainAspectRatio);
|
|
53
|
-
case 'bottom-left':
|
|
54
|
-
return createCircle(topRight, current, !!maintainAspectRatio);
|
|
55
|
-
case 'left':
|
|
56
|
-
return createCircle(bottomRight, Point.create(current.x, top), !!maintainAspectRatio);
|
|
57
|
-
case 'center':
|
|
58
|
-
return Rectangle.create(bounds.x + delta.x, bounds.y + delta.y, bounds.width, bounds.height);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWFya3VwLWNpcmNsZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3ZELE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsRUFBVztFQUVYLE9BQU8sQ0FDTCxFQUFFLFlBQVksV0FBVyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEtBQUssNkJBQTZCLENBQzNFLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsS0FBK0M7RUFFL0MsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUN2RSxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FDMUIsWUFBeUIsRUFDekIsWUFBeUIsRUFDekIsbUJBQTRCO0VBRTVCLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0VBQ2hFLElBQUksbUJBQW1CLEVBQUU7SUFDdkIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDaEQsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDaEUsTUFBTSxxQkFBcUIsR0FBRyxZQUFZLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDL0QsTUFBTSxVQUFVLEdBQUcsc0JBQXNCO01B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
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWFya3VwLWNpcmNsZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxFQUFXO0VBRVgsT0FBTyxDQUNMLEVBQUUsWUFBWSxXQUFXLElBQUksRUFBRSxDQUFDLFFBQVEsS0FBSyw2QkFBNkIsQ0FDM0UsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUN6QixLQUErQztFQUUvQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3ZFLENBQUMifQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Component, Host, h, Element, Prop, Watch, Event, State, Method, } from '@stencil/core';
|
|
2
2
|
import { Rectangle } from '@vertexvis/geometry';
|
|
3
3
|
import { getMouseClientPosition } from '../../lib/dom';
|
|
4
|
-
import { translateRectToScreen, translatePointToRelative, } from '../viewer-markup/utils';
|
|
4
|
+
import { translateRectToScreen, translatePointToRelative, transformRectangle, } from '../viewer-markup/utils';
|
|
5
5
|
import { SvgShadow } from '../viewer-markup/viewer-markup-components';
|
|
6
6
|
import { BoundingBox2d } from './viewer-markup-circle-components';
|
|
7
|
-
import { parseBounds
|
|
7
|
+
import { parseBounds } from './utils';
|
|
8
8
|
import { getMarkupBoundingClientRect } from '../viewer-markup/dom';
|
|
9
9
|
export class ViewerMarkupCircle {
|
|
10
10
|
constructor() {
|
|
@@ -28,7 +28,7 @@ export class ViewerMarkupCircle {
|
|
|
28
28
|
this.startPosition != null &&
|
|
29
29
|
this.elementBounds != null) {
|
|
30
30
|
const position = translatePointToRelative(getMouseClientPosition(event, this.elementBounds), this.elementBounds);
|
|
31
|
-
this.bounds =
|
|
31
|
+
this.bounds = transformRectangle((_a = this.resizeBounds) !== null && _a !== void 0 ? _a : this.bounds, this.startPosition, position, this.editAnchor, event.shiftKey);
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
this.startMarkup = (event) => {
|
|
@@ -304,4 +304,4 @@ export class ViewerMarkupCircle {
|
|
|
304
304
|
"methodName": "handleBoundsJsonChange"
|
|
305
305
|
}]; }
|
|
306
306
|
}
|
|
307
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLW1hcmt1cC1jaXJjbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWFya3VwLWNpcmNsZS92aWV3ZXItbWFya3VwLWNpcmNsZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxJQUFJLEVBQ0osQ0FBQyxFQUNELE9BQU8sRUFDUCxJQUFJLEVBQ0osS0FBSyxFQUVMLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBUyxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUVMLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsa0JBQWtCLEdBQ25CLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBY25FLE1BQU0sT0FBTyxrQkFBa0I7RUFML0I7SUE4QkU7Ozs7OztPQU1HO0lBRUksU0FBSSxHQUEyQixFQUFFLENBQUM7SUEwQ2pDLGVBQVUsR0FBZ0MsY0FBYyxDQUFDO0lBK0p6RCxxQkFBZ0IsR0FBRyxDQUN6QixLQUFtQixFQUNuQixNQUFtQyxFQUM3QixFQUFFO01BQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO01BQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO01BQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIs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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Point } from '@vertexvis/geometry';
|
|
2
|
+
export function parsePoints(value) {
|
|
3
|
+
return typeof value === 'string'
|
|
4
|
+
? JSON.parse(value).map((values) => Point.fromJson(JSON.stringify(values)))
|
|
5
|
+
: value;
|
|
6
|
+
}
|
|
7
|
+
export function isVertexViewerFreeformMarkup(el) {
|
|
8
|
+
return (el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-MARKUP-FREEFORM');
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItbWFya3VwLWZyZWVmb3JtLnRzeC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUMsTUFBTSxVQUFVLFdBQVcsQ0FDekIsS0FBeUM7RUFFekMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRO0lBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQWdCLEVBQUUsRUFBRSxDQUN6QyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDdkM7SUFDSCxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsRUFBVztFQUVYLE9BQU8sQ0FDTCxFQUFFLFlBQVksV0FBVyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEtBQUssK0JBQStCLENBQzdFLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
position: absolute;
|
|
3
|
+
top: 0;
|
|
4
|
+
left: 0;
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 100%;
|
|
7
|
+
pointer-events: none;
|
|
8
|
+
/**
|
|
9
|
+
* @prop --viewer-markup-freeform-stroke-color: A CSS color that
|
|
10
|
+
* specifies the color of the freeform line.
|
|
11
|
+
*/
|
|
12
|
+
--viewer-markup-freeform-stroke-color: var(--red-800);
|
|
13
|
+
/**
|
|
14
|
+
* @prop --viewer-markup-freeform-stroke-width: A CSS length that
|
|
15
|
+
* specifies the width of the freeform line.
|
|
16
|
+
*/
|
|
17
|
+
--viewer-markup-freeform-stroke-width: 4;
|
|
18
|
+
/**
|
|
19
|
+
* @prop --viewer-markup-freeform-line-join: The join behavior between
|
|
20
|
+
* the lines making up this freeform markup. Defaults to `round`.
|
|
21
|
+
*/
|
|
22
|
+
--viewer-markup-freeform-line-join: round;
|
|
23
|
+
/**
|
|
24
|
+
* @prop --viewer-markup-freeform-line-cap: The cap behavior for
|
|
25
|
+
* the lines making up this freeform markup. Defaults to `round`.
|
|
26
|
+
*/
|
|
27
|
+
--viewer-markup-freeform-line-cap: round;
|
|
28
|
+
/**
|
|
29
|
+
* @prop --viewer-markup-freeform-bounds-outline-border-color: A CSS color that
|
|
30
|
+
* specifies the color of the circle's selected bounding box border.
|
|
31
|
+
*/
|
|
32
|
+
--viewer-markup-freeform-bounds-outline-border-color: var(--blue-400);
|
|
33
|
+
/**
|
|
34
|
+
* @prop --viewer-markup-freeform-bounds-outline-border-width: A CSS length that
|
|
35
|
+
* specifies the width of the circle's selected bounding box border.
|
|
36
|
+
*/
|
|
37
|
+
--viewer-markup-freeform-bounds-outline-border-width: 1px;
|
|
38
|
+
/**
|
|
39
|
+
* @prop --viewer-markup-freeform-bounds-edge-anchor-border-color: A CSS color that
|
|
40
|
+
* specifies the color of the edge and corner resize anchors' borders.
|
|
41
|
+
*/
|
|
42
|
+
--viewer-markup-freeform-bounds-edge-anchor-border-color: var(--blue-400);
|
|
43
|
+
/**
|
|
44
|
+
* @prop --viewer-markup-freeform-bounds-edge-anchor-border-width: A CSS length that
|
|
45
|
+
* specifies the width of the edge and corner resize anchors' borders.
|
|
46
|
+
*/
|
|
47
|
+
--viewer-markup-freeform-bounds-edge-anchor-border-width: 1px;
|
|
48
|
+
/**
|
|
49
|
+
* @prop --viewer-markup-freeform-bounds-edge-anchor-background-color: A CSS color that
|
|
50
|
+
* specifies the background color of the edge and corner resize anchors.
|
|
51
|
+
*/
|
|
52
|
+
--viewer-markup-freeform-bounds-edge-anchor-background-color: white;
|
|
53
|
+
/**
|
|
54
|
+
* @prop --viewer-markup-freeform-bounds-center-anchor-border-color: A CSS color that
|
|
55
|
+
* specifies the color of the center reposition anchor's border.
|
|
56
|
+
*/
|
|
57
|
+
--viewer-markup-freeform-bounds-center-anchor-border-color: white;
|
|
58
|
+
/**
|
|
59
|
+
* @prop --viewer-markup-freeform-bounds-center-anchor-border-width: A CSS length that
|
|
60
|
+
* specifies the width of the center reposition anchor's border.
|
|
61
|
+
*/
|
|
62
|
+
--viewer-markup-freeform-bounds-center-anchor-border-width: 1px;
|
|
63
|
+
/**
|
|
64
|
+
* @prop --viewer-markup-freeform-bounds-center-anchor-background-color: A CSS color that
|
|
65
|
+
* specifies the background color of the center reposition anchor.
|
|
66
|
+
*/
|
|
67
|
+
--viewer-markup-freeform-bounds-center-anchor-background-color: var(--blue-400);
|
|
68
|
+
/**
|
|
69
|
+
* @prop --viewer-markup-freeform-bounds-anchor-width: A CSS length that
|
|
70
|
+
* specifies the width of the resize and reposition anchors.
|
|
71
|
+
*/
|
|
72
|
+
--viewer-markup-freeform-bounds-anchor-width: 9px;
|
|
73
|
+
/**
|
|
74
|
+
* @prop --viewer-markup-freeform-bounds-anchor-height: A CSS length that
|
|
75
|
+
* specifies the height of the resize and reposition anchors.
|
|
76
|
+
*/
|
|
77
|
+
--viewer-markup-freeform-bounds-anchor-height: 9px;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.svg {
|
|
81
|
+
pointer-events: none;
|
|
82
|
+
width: 100%;
|
|
83
|
+
height: 100%;
|
|
84
|
+
position: absolute;
|
|
85
|
+
top: 0;
|
|
86
|
+
left: 0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.path {
|
|
90
|
+
pointer-events: auto;
|
|
91
|
+
cursor: default;
|
|
92
|
+
stroke: var(--viewer-markup-freeform-stroke-color);
|
|
93
|
+
stroke-width: var(--viewer-markup-freeform-stroke-width);
|
|
94
|
+
stroke-linejoin: var(--viewer-markup-freeform-line-join);
|
|
95
|
+
stroke-linecap: var(--viewer-markup-freeform-line-cap);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.create-overlay {
|
|
99
|
+
pointer-events: auto;
|
|
100
|
+
position: absolute;
|
|
101
|
+
left: 0;
|
|
102
|
+
top: 0;
|
|
103
|
+
width: 100%;
|
|
104
|
+
height: 100%;
|
|
105
|
+
cursor: crosshair;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.bounds-container {
|
|
109
|
+
pointer-events: none;
|
|
110
|
+
position: absolute;
|
|
111
|
+
width: 100%;
|
|
112
|
+
height: 100%;
|
|
113
|
+
top: 0;
|
|
114
|
+
left: 0;
|
|
115
|
+
overflow: hidden;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.bounds-outline {
|
|
119
|
+
position: absolute;
|
|
120
|
+
border-width: var(--viewer-markup-freeform-bounds-outline-border-width);
|
|
121
|
+
border-color: var(--viewer-markup-freeform-bounds-outline-border-color);
|
|
122
|
+
border-style: solid;
|
|
123
|
+
box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.bounds-anchor-position {
|
|
127
|
+
position: absolute;
|
|
128
|
+
transform: translate(-50%, -50%);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.bounds-anchor {
|
|
132
|
+
pointer-events: auto;
|
|
133
|
+
cursor: default;
|
|
134
|
+
user-select: none;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.bounds-default-anchor {
|
|
138
|
+
width: var(--viewer-markup-freeform-bounds-anchor-width);
|
|
139
|
+
height: var(--viewer-markup-freeform-bounds-anchor-height);
|
|
140
|
+
box-sizing: border-box;
|
|
141
|
+
box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.bounds-center-anchor {
|
|
145
|
+
border-radius: 100%;
|
|
146
|
+
border-width: var(--viewer-markup-freeform-bounds-center-anchor-border-width);
|
|
147
|
+
border-color: var(--viewer-markup-freeform-bounds-center-anchor-border-color);
|
|
148
|
+
border-style: solid;
|
|
149
|
+
background-color: var(--viewer-markup-freeform-bounds-center-anchor-background-color);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.bounds-edge-anchor {
|
|
153
|
+
border-width: var(--viewer-markup-freeform-bounds-edge-anchor-border-width);
|
|
154
|
+
border-color: var(--viewer-markup-freeform-bounds-edge-anchor-border-color);
|
|
155
|
+
border-style: solid;
|
|
156
|
+
background-color: var(--viewer-markup-freeform-bounds-edge-anchor-background-color);
|
|
157
|
+
}
|