@vertexvis/viewer 0.18.2-testing.0 → 0.18.2-testing.1
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/index-b99cd335.js +126 -1
- package/dist/esm/index-fd7d7b68.js +126 -1
- package/package.json +7 -7
- package/dist/components/_commonjsHelpers.js +0 -41
- package/dist/components/_commonjsHelpers.js.map +0 -1
- package/dist/components/browser.esm.js +0 -3173
- package/dist/components/browser.esm.js.map +0 -1
- package/dist/components/bundle.esm.js +0 -2250
- package/dist/components/bundle.esm.js.map +0 -1
- package/dist/components/bundle.esm2.js +0 -39740
- package/dist/components/bundle.esm2.js.map +0 -1
- package/dist/components/config.js +0 -81
- package/dist/components/config.js.map +0 -1
- package/dist/components/controller.js +0 -7627
- package/dist/components/controller.js.map +0 -1
- package/dist/components/controller2.js +0 -124
- package/dist/components/controller2.js.map +0 -1
- package/dist/components/controller3.js +0 -111
- package/dist/components/controller3.js.map +0 -1
- package/dist/components/cursors.js +0 -110
- package/dist/components/cursors.js.map +0 -1
- package/dist/components/dom.js +0 -43
- package/dist/components/dom.js.map +0 -1
- package/dist/components/dom2.js +0 -10
- package/dist/components/dom2.js.map +0 -1
- package/dist/components/elementRectObserver.js +0 -25
- package/dist/components/elementRectObserver.js.map +0 -1
- package/dist/components/entities.js +0 -179
- package/dist/components/entities.js.map +0 -1
- package/dist/components/errors.js +0 -80
- package/dist/components/errors.js.map +0 -1
- package/dist/components/events.js +0 -11
- package/dist/components/events.js.map +0 -1
- package/dist/components/index.d.ts +0 -26
- package/dist/components/index.js +0 -365
- package/dist/components/index.js.map +0 -1
- package/dist/components/index2.js +0 -63
- package/dist/components/index2.js.map +0 -1
- package/dist/components/interactions.js +0 -236
- package/dist/components/interactions.js.map +0 -1
- package/dist/components/mapper.js +0 -9811
- package/dist/components/mapper.js.map +0 -1
- package/dist/components/markup.js +0 -33
- package/dist/components/markup.js.map +0 -1
- package/dist/components/model.js +0 -134
- package/dist/components/model.js.map +0 -1
- package/dist/components/model2.js +0 -157
- package/dist/components/model2.js.map +0 -1
- package/dist/components/overlays.js +0 -76
- package/dist/components/overlays.js.map +0 -1
- package/dist/components/png-decoder.js +0 -2405
- package/dist/components/png-decoder.js.map +0 -1
- package/dist/components/regl-component.js +0 -12582
- package/dist/components/regl-component.js.map +0 -1
- package/dist/components/results.js +0 -24
- package/dist/components/results.js.map +0 -1
- package/dist/components/row.js +0 -32
- package/dist/components/row.js.map +0 -1
- package/dist/components/scene-tree-search.js +0 -146
- package/dist/components/scene-tree-search.js.map +0 -1
- package/dist/components/scene-tree-table-layout.js +0 -928
- package/dist/components/scene-tree-table-layout.js.map +0 -1
- package/dist/components/scene-tree-toolbar.js +0 -35
- package/dist/components/scene-tree-toolbar.js.map +0 -1
- package/dist/components/scene.js +0 -1508
- package/dist/components/scene.js.map +0 -1
- package/dist/components/stencil.js +0 -25
- package/dist/components/stencil.js.map +0 -1
- package/dist/components/streamAttributes.js +0 -40833
- package/dist/components/streamAttributes.js.map +0 -1
- package/dist/components/templates.js +0 -36
- package/dist/components/templates.js.map +0 -1
- package/dist/components/tslib.es6.js +0 -125
- package/dist/components/tslib.es6.js.map +0 -1
- package/dist/components/vertex-scene-tree-search.d.ts +0 -11
- package/dist/components/vertex-scene-tree-search.js +0 -11
- package/dist/components/vertex-scene-tree-search.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-cell.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-cell.js +0 -209
- package/dist/components/vertex-scene-tree-table-cell.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-column.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-column.js +0 -42
- package/dist/components/vertex-scene-tree-table-column.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-header.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-header.js +0 -38
- package/dist/components/vertex-scene-tree-table-header.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-layout.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-layout.js +0 -11
- package/dist/components/vertex-scene-tree-table-layout.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-resize-divider.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-resize-divider.js +0 -57
- package/dist/components/vertex-scene-tree-table-resize-divider.js.map +0 -1
- package/dist/components/vertex-scene-tree-toolbar-group.d.ts +0 -11
- package/dist/components/vertex-scene-tree-toolbar-group.js +0 -38
- package/dist/components/vertex-scene-tree-toolbar-group.js.map +0 -1
- package/dist/components/vertex-scene-tree-toolbar.d.ts +0 -11
- package/dist/components/vertex-scene-tree-toolbar.js +0 -11
- package/dist/components/vertex-scene-tree-toolbar.js.map +0 -1
- package/dist/components/vertex-scene-tree.d.ts +0 -11
- package/dist/components/vertex-scene-tree.js +0 -803
- package/dist/components/vertex-scene-tree.js.map +0 -1
- package/dist/components/vertex-viewer-box-query-tool.d.ts +0 -11
- package/dist/components/vertex-viewer-box-query-tool.js +0 -352
- package/dist/components/vertex-viewer-box-query-tool.js.map +0 -1
- package/dist/components/vertex-viewer-button.d.ts +0 -11
- package/dist/components/vertex-viewer-button.js +0 -11
- package/dist/components/vertex-viewer-button.js.map +0 -1
- package/dist/components/vertex-viewer-default-toolbar.d.ts +0 -11
- package/dist/components/vertex-viewer-default-toolbar.js +0 -99
- package/dist/components/vertex-viewer-default-toolbar.js.map +0 -1
- package/dist/components/vertex-viewer-dom-element.d.ts +0 -11
- package/dist/components/vertex-viewer-dom-element.js +0 -11
- package/dist/components/vertex-viewer-dom-element.js.map +0 -1
- package/dist/components/vertex-viewer-dom-group.d.ts +0 -11
- package/dist/components/vertex-viewer-dom-group.js +0 -11
- package/dist/components/vertex-viewer-dom-group.js.map +0 -1
- package/dist/components/vertex-viewer-dom-renderer.d.ts +0 -11
- package/dist/components/vertex-viewer-dom-renderer.js +0 -11
- package/dist/components/vertex-viewer-dom-renderer.js.map +0 -1
- package/dist/components/vertex-viewer-hit-result-indicator.d.ts +0 -11
- package/dist/components/vertex-viewer-hit-result-indicator.js +0 -335
- package/dist/components/vertex-viewer-hit-result-indicator.js.map +0 -1
- package/dist/components/vertex-viewer-icon.d.ts +0 -11
- package/dist/components/vertex-viewer-icon.js +0 -11
- package/dist/components/vertex-viewer-icon.js.map +0 -1
- package/dist/components/vertex-viewer-layer.d.ts +0 -11
- package/dist/components/vertex-viewer-layer.js +0 -11
- package/dist/components/vertex-viewer-layer.js.map +0 -1
- package/dist/components/vertex-viewer-markup-arrow.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-arrow.js +0 -11
- package/dist/components/vertex-viewer-markup-arrow.js.map +0 -1
- package/dist/components/vertex-viewer-markup-circle.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-circle.js +0 -11
- package/dist/components/vertex-viewer-markup-circle.js.map +0 -1
- package/dist/components/vertex-viewer-markup-freeform.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-freeform.js +0 -11
- package/dist/components/vertex-viewer-markup-freeform.js.map +0 -1
- package/dist/components/vertex-viewer-markup-tool.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-tool.js +0 -257
- package/dist/components/vertex-viewer-markup-tool.js.map +0 -1
- package/dist/components/vertex-viewer-markup.d.ts +0 -11
- package/dist/components/vertex-viewer-markup.js +0 -362
- package/dist/components/vertex-viewer-markup.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-details.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-details.js +0 -307
- package/dist/components/vertex-viewer-measurement-details.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-distance.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-distance.js +0 -1067
- package/dist/components/vertex-viewer-measurement-distance.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-line.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-line.js +0 -11
- package/dist/components/vertex-viewer-measurement-line.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-overlays.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-overlays.js +0 -11
- package/dist/components/vertex-viewer-measurement-overlays.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-precise.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-precise.js +0 -362
- package/dist/components/vertex-viewer-measurement-precise.js.map +0 -1
- package/dist/components/vertex-viewer-pin-group.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-group.js +0 -11
- package/dist/components/vertex-viewer-pin-group.js.map +0 -1
- package/dist/components/vertex-viewer-pin-label-line.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-label-line.js +0 -11
- package/dist/components/vertex-viewer-pin-label-line.js.map +0 -1
- package/dist/components/vertex-viewer-pin-label.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-label.js +0 -11
- package/dist/components/vertex-viewer-pin-label.js.map +0 -1
- package/dist/components/vertex-viewer-pin-tool.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-tool.js +0 -430
- package/dist/components/vertex-viewer-pin-tool.js.map +0 -1
- package/dist/components/vertex-viewer-spinner.d.ts +0 -11
- package/dist/components/vertex-viewer-spinner.js +0 -11
- package/dist/components/vertex-viewer-spinner.js.map +0 -1
- package/dist/components/vertex-viewer-toolbar-group.d.ts +0 -11
- package/dist/components/vertex-viewer-toolbar-group.js +0 -11
- package/dist/components/vertex-viewer-toolbar-group.js.map +0 -1
- package/dist/components/vertex-viewer-toolbar.d.ts +0 -11
- package/dist/components/vertex-viewer-toolbar.js +0 -11
- package/dist/components/vertex-viewer-toolbar.js.map +0 -1
- package/dist/components/vertex-viewer-transform-widget.d.ts +0 -11
- package/dist/components/vertex-viewer-transform-widget.js +0 -838
- package/dist/components/vertex-viewer-transform-widget.js.map +0 -1
- package/dist/components/vertex-viewer-view-cube.d.ts +0 -11
- package/dist/components/vertex-viewer-view-cube.js +0 -270
- package/dist/components/vertex-viewer-view-cube.js.map +0 -1
- package/dist/components/vertex-viewer.d.ts +0 -11
- package/dist/components/vertex-viewer.js +0 -3543
- package/dist/components/vertex-viewer.js.map +0 -1
- package/dist/components/viewer-button.js +0 -35
- package/dist/components/viewer-button.js.map +0 -1
- package/dist/components/viewer-dom-element.js +0 -250
- package/dist/components/viewer-dom-element.js.map +0 -1
- package/dist/components/viewer-dom-group.js +0 -214
- package/dist/components/viewer-dom-group.js.map +0 -1
- package/dist/components/viewer-dom-renderer.js +0 -295
- package/dist/components/viewer-dom-renderer.js.map +0 -1
- package/dist/components/viewer-icon.js +0 -87
- package/dist/components/viewer-icon.js.map +0 -1
- package/dist/components/viewer-layer.js +0 -46
- package/dist/components/viewer-layer.js.map +0 -1
- package/dist/components/viewer-markup-arrow.js +0 -235
- package/dist/components/viewer-markup-arrow.js.map +0 -1
- package/dist/components/viewer-markup-circle-components.js +0 -42
- package/dist/components/viewer-markup-circle-components.js.map +0 -1
- package/dist/components/viewer-markup-circle.js +0 -201
- package/dist/components/viewer-markup-circle.js.map +0 -1
- package/dist/components/viewer-markup-freeform.js +0 -251
- package/dist/components/viewer-markup-freeform.js.map +0 -1
- package/dist/components/viewer-measurement-line.js +0 -77
- package/dist/components/viewer-measurement-line.js.map +0 -1
- package/dist/components/viewer-measurement-overlays.js +0 -184
- package/dist/components/viewer-measurement-overlays.js.map +0 -1
- package/dist/components/viewer-pin-group.js +0 -207
- package/dist/components/viewer-pin-group.js.map +0 -1
- package/dist/components/viewer-pin-label-line.js +0 -43
- package/dist/components/viewer-pin-label-line.js.map +0 -1
- package/dist/components/viewer-pin-label.js +0 -427
- package/dist/components/viewer-pin-label.js.map +0 -1
- package/dist/components/viewer-spinner.js +0 -53
- package/dist/components/viewer-spinner.js.map +0 -1
- package/dist/components/viewer-toolbar-group.js +0 -42
- package/dist/components/viewer-toolbar-group.js.map +0 -1
- package/dist/components/viewer-toolbar.js +0 -61
- package/dist/components/viewer-toolbar.js.map +0 -1
- package/dist/components/viewport.js +0 -188
- package/dist/components/viewport.js.map +0 -1
- package/dist/components/wrappers_pb.js +0 -1926
- package/dist/components/wrappers_pb.js.map +0 -1
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { h, proxyCustomElement, HTMLElement as HTMLElement$1, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { m as matrix4, v as vector3 } from './bundle.esm.js';
|
|
6
|
-
import './streamAttributes.js';
|
|
7
|
-
import { V as Viewport } from './viewport.js';
|
|
8
|
-
|
|
9
|
-
function isVertexViewerDomElement(el) {
|
|
10
|
-
return (el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-DOM-ELEMENT');
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function isVertexViewerDomGroup(el) {
|
|
14
|
-
return ((el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-DOM-GROUP') ||
|
|
15
|
-
(el instanceof HTMLElement && el.dataset.isDomGroupElement != null));
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
19
|
-
const Renderer2d = (_, children) => {
|
|
20
|
-
return h("div", { class: "root-2d" }, children);
|
|
21
|
-
};
|
|
22
|
-
function update2d(hostEl, parentWorldMatrix, viewport, camera, depthBuffer) {
|
|
23
|
-
const elements = getElementDepths(hostEl, parentWorldMatrix, camera).sort((a, b) => a.distanceToCamera - b.distanceToCamera);
|
|
24
|
-
for (let i = 0; i < elements.length; i++) {
|
|
25
|
-
const { element, worldMatrix, worldPosition } = elements[i];
|
|
26
|
-
const occluded = !element.occlusionOff && (depthBuffer === null || depthBuffer === void 0 ? void 0 : depthBuffer.isOccluded(worldPosition, viewport));
|
|
27
|
-
const screenPt = getScreenPosition(worldPosition, camera.projectionViewMatrix, viewport);
|
|
28
|
-
updateTransform(element, screenPt);
|
|
29
|
-
updateDepth(element, i, elements.length);
|
|
30
|
-
update2d(element, worldMatrix, viewport, camera, depthBuffer);
|
|
31
|
-
element.occluded = occluded !== null && occluded !== void 0 ? occluded : false;
|
|
32
|
-
element.classList.add('ready');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
function getElementDepths(element, parentWorldMatrix, camera) {
|
|
36
|
-
const results = [];
|
|
37
|
-
for (let i = 0; i < element.children.length; i++) {
|
|
38
|
-
const child = element.children[i];
|
|
39
|
-
if (isVertexViewerDomGroup(child)) {
|
|
40
|
-
const worldMatrix = matrix4.multiply(parentWorldMatrix, child.matrix);
|
|
41
|
-
results.push(...getElementDepths(child, worldMatrix, camera));
|
|
42
|
-
}
|
|
43
|
-
else if (isVertexViewerDomElement(child)) {
|
|
44
|
-
const worldMatrix = matrix4.multiply(parentWorldMatrix, child.matrix);
|
|
45
|
-
const worldPosition = vector3.fromMatrixPosition(worldMatrix);
|
|
46
|
-
const distanceToCamera = vector3.distanceSquared(camera.position, worldPosition);
|
|
47
|
-
results.push({
|
|
48
|
-
element: child,
|
|
49
|
-
worldMatrix,
|
|
50
|
-
worldPosition,
|
|
51
|
-
distanceToCamera,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return results;
|
|
56
|
-
}
|
|
57
|
-
function updateTransform(element, relativePt) {
|
|
58
|
-
element.style.transform = [
|
|
59
|
-
`translate(-50%, -50%)`,
|
|
60
|
-
`translate(${relativePt.x}px, ${relativePt.y}px)`,
|
|
61
|
-
].join(' ');
|
|
62
|
-
}
|
|
63
|
-
function updateDepth(element, index, elementCount) {
|
|
64
|
-
element.style.zIndex = `${elementCount - index}`;
|
|
65
|
-
}
|
|
66
|
-
function getScreenPosition(pt, projectionViewMatrix, viewport) {
|
|
67
|
-
const ndcPt = vector3.transformMatrix(pt, projectionViewMatrix);
|
|
68
|
-
return viewport.transformVectorToViewport(ndcPt);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
72
|
-
const Renderer3d = ({ camera, viewport }, children) => {
|
|
73
|
-
const pMatrix = matrix4.toObject(camera.projectionMatrix);
|
|
74
|
-
const fovY = camera.isOrthographic()
|
|
75
|
-
? ((camera.far * 2) / (camera.fovHeight * 2)) * (viewport.height / 2)
|
|
76
|
-
: pMatrix.m22 * (viewport.height / 2);
|
|
77
|
-
const cameraTransform = [
|
|
78
|
-
`translateZ(${fovY}px)`,
|
|
79
|
-
getCameraCssMatrix(camera.viewMatrix),
|
|
80
|
-
`translate(${viewport.width / 2}px, ${viewport.height / 2}px)`,
|
|
81
|
-
].join(' ');
|
|
82
|
-
return (h("div", { class: "root-3d", style: { perspective: `${fovY}px` } },
|
|
83
|
-
h("div", { class: "camera", style: { transform: cameraTransform } }, children)));
|
|
84
|
-
};
|
|
85
|
-
function update3d(element, parentWorldMatrix, viewport, camera, depthBuffer) {
|
|
86
|
-
for (let i = 0; i < element.children.length; i++) {
|
|
87
|
-
const el = element.children[i];
|
|
88
|
-
if (isVertexViewerDomElement(el)) {
|
|
89
|
-
updateElement(el, parentWorldMatrix, viewport, camera, depthBuffer);
|
|
90
|
-
}
|
|
91
|
-
else if (isVertexViewerDomGroup(el)) {
|
|
92
|
-
updateGroup(el, parentWorldMatrix, viewport, camera, depthBuffer);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
function updateElement(element, parentWorldMatrix, viewport, camera, depthBuffer) {
|
|
97
|
-
const worldMatrix = matrix4.multiply(parentWorldMatrix, element.matrix);
|
|
98
|
-
const positionWorld = vector3.fromMatrixPosition(worldMatrix);
|
|
99
|
-
const occluded = !element.occlusionOff && (depthBuffer === null || depthBuffer === void 0 ? void 0 : depthBuffer.isOccluded(positionWorld, viewport));
|
|
100
|
-
element.occluded = occluded !== null && occluded !== void 0 ? occluded : false;
|
|
101
|
-
element.classList.add('ready');
|
|
102
|
-
if (element.billboardOff) {
|
|
103
|
-
element.style.transform = getElementCssMatrix(worldMatrix);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
let m = camera.viewMatrix;
|
|
107
|
-
m = matrix4.transpose(m);
|
|
108
|
-
m = matrix4.position(m, worldMatrix);
|
|
109
|
-
m = matrix4.scale(m, element.scale);
|
|
110
|
-
m[3] = 0;
|
|
111
|
-
m[7] = 0;
|
|
112
|
-
m[11] = 0;
|
|
113
|
-
m[15] = 1;
|
|
114
|
-
element.style.transform = getElementCssMatrix(m);
|
|
115
|
-
}
|
|
116
|
-
update3d(element, worldMatrix, viewport, camera, depthBuffer);
|
|
117
|
-
}
|
|
118
|
-
function updateGroup(element, parentWorldMatrix, viewport, camera, depthBuffer) {
|
|
119
|
-
const worldMatrix = matrix4.multiply(parentWorldMatrix, element.matrix);
|
|
120
|
-
update3d(element, worldMatrix, viewport, camera, depthBuffer);
|
|
121
|
-
}
|
|
122
|
-
function getCameraCssMatrix(viewMatrix) {
|
|
123
|
-
const elements = [
|
|
124
|
-
epsilon(viewMatrix[0]),
|
|
125
|
-
epsilon(-viewMatrix[1]),
|
|
126
|
-
epsilon(viewMatrix[2]),
|
|
127
|
-
epsilon(viewMatrix[3]),
|
|
128
|
-
epsilon(viewMatrix[4]),
|
|
129
|
-
epsilon(-viewMatrix[5]),
|
|
130
|
-
epsilon(viewMatrix[6]),
|
|
131
|
-
epsilon(viewMatrix[7]),
|
|
132
|
-
epsilon(viewMatrix[8]),
|
|
133
|
-
epsilon(-viewMatrix[9]),
|
|
134
|
-
epsilon(viewMatrix[10]),
|
|
135
|
-
epsilon(viewMatrix[11]),
|
|
136
|
-
epsilon(viewMatrix[12]),
|
|
137
|
-
epsilon(-viewMatrix[13]),
|
|
138
|
-
epsilon(viewMatrix[14]),
|
|
139
|
-
epsilon(viewMatrix[15]),
|
|
140
|
-
].join(', ');
|
|
141
|
-
return `matrix3d(${elements})`;
|
|
142
|
-
}
|
|
143
|
-
function getElementCssMatrix(matrix) {
|
|
144
|
-
const values = [
|
|
145
|
-
epsilon(matrix[0]),
|
|
146
|
-
epsilon(matrix[1]),
|
|
147
|
-
epsilon(matrix[2]),
|
|
148
|
-
epsilon(matrix[3]),
|
|
149
|
-
epsilon(-matrix[4]),
|
|
150
|
-
epsilon(-matrix[5]),
|
|
151
|
-
epsilon(-matrix[6]),
|
|
152
|
-
epsilon(-matrix[7]),
|
|
153
|
-
epsilon(matrix[8]),
|
|
154
|
-
epsilon(matrix[9]),
|
|
155
|
-
epsilon(matrix[10]),
|
|
156
|
-
epsilon(matrix[11]),
|
|
157
|
-
epsilon(matrix[12]),
|
|
158
|
-
epsilon(matrix[13]),
|
|
159
|
-
epsilon(matrix[14]),
|
|
160
|
-
epsilon(matrix[15]),
|
|
161
|
-
].join(', ');
|
|
162
|
-
return [`translate(-50%, -50%)`, `matrix3d(${values})`].join(' ');
|
|
163
|
-
}
|
|
164
|
-
function epsilon(value) {
|
|
165
|
-
return Math.abs(value) < 1e-10 ? 0 : value;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
const viewerDomRendererCss = ":host{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none}.root-3d{width:100%;height:100%;pointer-events:inherit}.camera{transform-style:preserve-3d;pointer-events:inherit;width:100%;height:100%}";
|
|
169
|
-
|
|
170
|
-
const ViewerDomRenderer = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
|
|
171
|
-
constructor() {
|
|
172
|
-
super();
|
|
173
|
-
this.__registerHost();
|
|
174
|
-
this.__attachShadow();
|
|
175
|
-
/**
|
|
176
|
-
* Specifies the drawing mode for the renderer.
|
|
177
|
-
*
|
|
178
|
-
* When in `3d` mode, elements are positioned using CSS 3D transforms and will
|
|
179
|
-
* scale and rotate with the camera. In `2d` mode, a simpler 2D transform is
|
|
180
|
-
* used, and elements will not scale or rotate with camera changes.
|
|
181
|
-
*/
|
|
182
|
-
this.drawMode = '3d';
|
|
183
|
-
this.viewport = new Viewport(0, 0);
|
|
184
|
-
this.invalidateFrameCounter = 0;
|
|
185
|
-
this.handleViewerFrameDrawn = async () => {
|
|
186
|
-
this.updatePropsFromViewer();
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* @ignore
|
|
191
|
-
*/
|
|
192
|
-
componentWillLoad() {
|
|
193
|
-
var _a;
|
|
194
|
-
const resized = new ResizeObserver(() => this.handleResize());
|
|
195
|
-
resized.observe(this.hostEl);
|
|
196
|
-
const mutation = new MutationObserver(() => this.handleChildrenChange());
|
|
197
|
-
mutation.observe(this.hostEl, { childList: true });
|
|
198
|
-
this.handleViewerChange(this.viewer, undefined);
|
|
199
|
-
if (((_a = this.viewer) === null || _a === void 0 ? void 0 : _a.frame) != null) {
|
|
200
|
-
this.handleViewerFrameDrawn();
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* @ignore
|
|
205
|
-
*/
|
|
206
|
-
render() {
|
|
207
|
-
if (this.camera != null) {
|
|
208
|
-
if (this.drawMode === '2d') {
|
|
209
|
-
return (h(Host, null, h(Renderer2d, null, h("slot", null))));
|
|
210
|
-
}
|
|
211
|
-
else {
|
|
212
|
-
return (h(Host, null, h(Renderer3d, { camera: this.camera, viewport: this.viewport }, h("slot", null))));
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
return h(Host, null);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* @ignore
|
|
221
|
-
*/
|
|
222
|
-
componentWillRender() {
|
|
223
|
-
this.updateElements();
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* @ignore
|
|
227
|
-
*/
|
|
228
|
-
handleViewerChange(newViewer, oldViewer) {
|
|
229
|
-
oldViewer === null || oldViewer === void 0 ? void 0 : oldViewer.removeEventListener('frameDrawn', this.handleViewerFrameDrawn);
|
|
230
|
-
newViewer === null || newViewer === void 0 ? void 0 : newViewer.addEventListener('frameDrawn', this.handleViewerFrameDrawn);
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* @ignore
|
|
234
|
-
*/
|
|
235
|
-
handlePropertyChange() {
|
|
236
|
-
this.invalidateFrame();
|
|
237
|
-
}
|
|
238
|
-
invalidateFrame() {
|
|
239
|
-
this.invalidateFrameCounter = this.invalidateFrameCounter + 1;
|
|
240
|
-
}
|
|
241
|
-
async updateElements() {
|
|
242
|
-
const { viewport, camera } = this;
|
|
243
|
-
const worldMatrix = matrix4.makeIdentity();
|
|
244
|
-
if (camera != null) {
|
|
245
|
-
if (this.drawMode === '3d') {
|
|
246
|
-
update3d(this.hostEl, worldMatrix, viewport, camera, this.depthBuffer);
|
|
247
|
-
}
|
|
248
|
-
else {
|
|
249
|
-
update2d(this.hostEl, worldMatrix, viewport, camera, this.depthBuffer);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
handleResize() {
|
|
254
|
-
const bounds = this.hostEl.getBoundingClientRect();
|
|
255
|
-
this.viewport = new Viewport(bounds.width, bounds.height);
|
|
256
|
-
}
|
|
257
|
-
handleChildrenChange() {
|
|
258
|
-
this.invalidateFrame();
|
|
259
|
-
}
|
|
260
|
-
async updatePropsFromViewer() {
|
|
261
|
-
const { frame, depthBuffers } = this.viewer || {};
|
|
262
|
-
this.depthBuffer =
|
|
263
|
-
depthBuffers === 'all' ? await (frame === null || frame === void 0 ? void 0 : frame.depthBuffer()) : undefined;
|
|
264
|
-
this.camera = frame === null || frame === void 0 ? void 0 : frame.scene.camera;
|
|
265
|
-
}
|
|
266
|
-
get hostEl() { return this; }
|
|
267
|
-
static get watchers() { return {
|
|
268
|
-
"viewer": ["handleViewerChange"]
|
|
269
|
-
}; }
|
|
270
|
-
static get style() { return viewerDomRendererCss; }
|
|
271
|
-
}, [1, "vertex-viewer-dom-renderer", {
|
|
272
|
-
"drawMode": [1, "draw-mode"],
|
|
273
|
-
"viewer": [16],
|
|
274
|
-
"camera": [1040],
|
|
275
|
-
"depthBuffer": [1040],
|
|
276
|
-
"viewport": [32],
|
|
277
|
-
"invalidateFrameCounter": [32]
|
|
278
|
-
}, [[0, "propertyChange", "handlePropertyChange"]]]);
|
|
279
|
-
function defineCustomElement() {
|
|
280
|
-
if (typeof customElements === "undefined") {
|
|
281
|
-
return;
|
|
282
|
-
}
|
|
283
|
-
const components = ["vertex-viewer-dom-renderer"];
|
|
284
|
-
components.forEach(tagName => { switch (tagName) {
|
|
285
|
-
case "vertex-viewer-dom-renderer":
|
|
286
|
-
if (!customElements.get(tagName)) {
|
|
287
|
-
customElements.define(tagName, ViewerDomRenderer);
|
|
288
|
-
}
|
|
289
|
-
break;
|
|
290
|
-
} });
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
export { ViewerDomRenderer as V, defineCustomElement as d };
|
|
294
|
-
|
|
295
|
-
//# sourceMappingURL=viewer-dom-renderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"viewer-dom-renderer.js","mappings":"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","names":["Matrix4","Vector3"],"sources":["./src/components/viewer-dom-element/utils.ts","./src/components/viewer-dom-group/utils.ts","./src/components/viewer-dom-renderer/renderer2d.tsx","./src/components/viewer-dom-renderer/renderer3d.tsx","./src/components/viewer-dom-renderer/viewer-dom-renderer.css?tag=vertex-viewer-dom-renderer&encapsulation=shadow","./src/components/viewer-dom-renderer/viewer-dom-renderer.tsx"],"sourcesContent":["export function isVertexViewerDomElement(\n el: unknown\n): el is HTMLVertexViewerDomElementElement {\n return (\n el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-DOM-ELEMENT'\n );\n}\n","export function isVertexViewerDomGroup(\n el: unknown\n): el is HTMLVertexViewerDomGroupElement {\n return (\n (el instanceof HTMLElement && el.nodeName === 'VERTEX-VIEWER-DOM-GROUP') ||\n (el instanceof HTMLElement && el.dataset.isDomGroupElement != null)\n );\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { FunctionalComponent, h } from '@stencil/core';\nimport { Matrix4, Point, Vector3 } from '@vertexvis/geometry';\n\nimport { DepthBuffer, Viewport } from '../../lib/types';\nimport { FrameCameraWithMatrices } from '../../lib/types/frame';\nimport { isVertexViewerDomElement } from '../viewer-dom-element/utils';\nimport { isVertexViewerDomGroup } from '../viewer-dom-group/utils';\n\ninterface ElementData {\n element: HTMLVertexViewerDomElementElement;\n worldMatrix: Matrix4.Matrix4;\n worldPosition: Vector3.Vector3;\n distanceToCamera: number;\n}\n\nexport const Renderer2d: FunctionalComponent = (_, children) => {\n return <div class=\"root-2d\">{children}</div>;\n};\n\nexport function update2d(\n hostEl: HTMLElement,\n parentWorldMatrix: Matrix4.Matrix4,\n viewport: Viewport,\n camera: FrameCameraWithMatrices,\n depthBuffer: DepthBuffer | undefined\n): void {\n const elements = getElementDepths(hostEl, parentWorldMatrix, camera).sort(\n (a, b) => a.distanceToCamera - b.distanceToCamera\n );\n\n for (let i = 0; i < elements.length; i++) {\n const { element, worldMatrix, worldPosition } = elements[i];\n\n const occluded =\n !element.occlusionOff && depthBuffer?.isOccluded(worldPosition, viewport);\n const screenPt = getScreenPosition(\n worldPosition,\n camera.projectionViewMatrix,\n viewport\n );\n\n updateTransform(element, screenPt);\n updateDepth(element, i, elements.length);\n update2d(element, worldMatrix, viewport, camera, depthBuffer);\n\n element.occluded = occluded ?? false;\n element.classList.add('ready');\n }\n}\n\nfunction getElementDepths(\n element: HTMLElement,\n parentWorldMatrix: Matrix4.Matrix4,\n camera: FrameCameraWithMatrices\n): ElementData[] {\n const results = [] as ElementData[];\n\n for (let i = 0; i < element.children.length; i++) {\n const child = element.children[i];\n\n if (isVertexViewerDomGroup(child)) {\n const worldMatrix = Matrix4.multiply(parentWorldMatrix, child.matrix);\n results.push(...getElementDepths(child, worldMatrix, camera));\n } else if (isVertexViewerDomElement(child)) {\n const worldMatrix = Matrix4.multiply(parentWorldMatrix, child.matrix);\n const worldPosition = Vector3.fromMatrixPosition(worldMatrix);\n const distanceToCamera = Vector3.distanceSquared(\n camera.position,\n worldPosition\n );\n results.push({\n element: child,\n worldMatrix,\n worldPosition,\n distanceToCamera,\n });\n }\n }\n\n return results;\n}\n\nfunction updateTransform(\n element: HTMLVertexViewerDomElementElement,\n relativePt: Point.Point\n): void {\n element.style.transform = [\n `translate(-50%, -50%)`,\n `translate(${relativePt.x}px, ${relativePt.y}px)`,\n ].join(' ');\n}\n\nfunction updateDepth(\n element: HTMLVertexViewerDomElementElement,\n index: number,\n elementCount: number\n): void {\n element.style.zIndex = `${elementCount - index}`;\n}\n\nfunction getScreenPosition(\n pt: Vector3.Vector3,\n projectionViewMatrix: Matrix4.Matrix4,\n viewport: Viewport\n): Point.Point {\n const ndcPt = Vector3.transformMatrix(pt, projectionViewMatrix);\n return viewport.transformVectorToViewport(ndcPt);\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { FunctionalComponent, h } from '@stencil/core';\nimport { Matrix4, Vector3 } from '@vertexvis/geometry';\n\nimport { DepthBuffer, Viewport } from '../../lib/types';\nimport { FrameCameraWithMatrices } from '../../lib/types/frame';\nimport { isVertexViewerDomElement } from '../viewer-dom-element/utils';\nimport { isVertexViewerDomGroup } from '../viewer-dom-group/utils';\n\ninterface Props {\n camera: FrameCameraWithMatrices;\n viewport: Viewport;\n}\n\nexport const Renderer3d: FunctionalComponent<Props> = (\n { camera, viewport },\n children\n) => {\n const pMatrix = Matrix4.toObject(camera.projectionMatrix);\n const fovY = camera.isOrthographic()\n ? ((camera.far * 2) / (camera.fovHeight * 2)) * (viewport.height / 2)\n : pMatrix.m22 * (viewport.height / 2);\n const cameraTransform = [\n `translateZ(${fovY}px)`,\n getCameraCssMatrix(camera.viewMatrix),\n `translate(${viewport.width / 2}px, ${viewport.height / 2}px)`,\n ].join(' ');\n\n return (\n <div class=\"root-3d\" style={{ perspective: `${fovY}px` }}>\n <div class=\"camera\" style={{ transform: cameraTransform }}>\n {children}\n </div>\n </div>\n );\n};\n\nexport function update3d(\n element: HTMLElement,\n parentWorldMatrix: Matrix4.Matrix4,\n viewport: Viewport,\n camera: FrameCameraWithMatrices,\n depthBuffer: DepthBuffer | undefined\n): void {\n for (let i = 0; i < element.children.length; i++) {\n const el = element.children[i];\n if (isVertexViewerDomElement(el)) {\n updateElement(\n el as HTMLVertexViewerDomElementElement,\n parentWorldMatrix,\n viewport,\n camera,\n depthBuffer\n );\n } else if (isVertexViewerDomGroup(el)) {\n updateGroup(el, parentWorldMatrix, viewport, camera, depthBuffer);\n }\n }\n}\n\nfunction updateElement(\n element: HTMLVertexViewerDomElementElement,\n parentWorldMatrix: Matrix4.Matrix4,\n viewport: Viewport,\n camera: FrameCameraWithMatrices,\n depthBuffer: DepthBuffer | undefined\n): void {\n const worldMatrix = Matrix4.multiply(parentWorldMatrix, element.matrix);\n\n const positionWorld = Vector3.fromMatrixPosition(worldMatrix);\n const occluded =\n !element.occlusionOff && depthBuffer?.isOccluded(positionWorld, viewport);\n element.occluded = occluded ?? false;\n element.classList.add('ready');\n\n if (element.billboardOff) {\n element.style.transform = getElementCssMatrix(worldMatrix);\n } else {\n let m = camera.viewMatrix;\n m = Matrix4.transpose(m);\n m = Matrix4.position(m, worldMatrix);\n m = Matrix4.scale(m, element.scale);\n\n m[3] = 0;\n m[7] = 0;\n m[11] = 0;\n m[15] = 1;\n\n element.style.transform = getElementCssMatrix(m);\n }\n\n update3d(element, worldMatrix, viewport, camera, depthBuffer);\n}\n\nfunction updateGroup(\n element: HTMLVertexViewerDomGroupElement,\n parentWorldMatrix: Matrix4.Matrix4,\n viewport: Viewport,\n camera: FrameCameraWithMatrices,\n depthBuffer: DepthBuffer | undefined\n): void {\n const worldMatrix = Matrix4.multiply(parentWorldMatrix, element.matrix);\n update3d(element, worldMatrix, viewport, camera, depthBuffer);\n}\n\nfunction getCameraCssMatrix(viewMatrix: Matrix4.Matrix4): string {\n const elements = [\n epsilon(viewMatrix[0]),\n epsilon(-viewMatrix[1]),\n epsilon(viewMatrix[2]),\n epsilon(viewMatrix[3]),\n epsilon(viewMatrix[4]),\n epsilon(-viewMatrix[5]),\n epsilon(viewMatrix[6]),\n epsilon(viewMatrix[7]),\n epsilon(viewMatrix[8]),\n epsilon(-viewMatrix[9]),\n epsilon(viewMatrix[10]),\n epsilon(viewMatrix[11]),\n epsilon(viewMatrix[12]),\n epsilon(-viewMatrix[13]),\n epsilon(viewMatrix[14]),\n epsilon(viewMatrix[15]),\n ].join(', ');\n return `matrix3d(${elements})`;\n}\n\nfunction getElementCssMatrix(matrix: Matrix4.Matrix4): string {\n const values = [\n epsilon(matrix[0]),\n epsilon(matrix[1]),\n epsilon(matrix[2]),\n epsilon(matrix[3]),\n epsilon(-matrix[4]),\n epsilon(-matrix[5]),\n epsilon(-matrix[6]),\n epsilon(-matrix[7]),\n epsilon(matrix[8]),\n epsilon(matrix[9]),\n epsilon(matrix[10]),\n epsilon(matrix[11]),\n epsilon(matrix[12]),\n epsilon(matrix[13]),\n epsilon(matrix[14]),\n epsilon(matrix[15]),\n ].join(', ');\n\n return [`translate(-50%, -50%)`, `matrix3d(${values})`].join(' ');\n}\n\nfunction epsilon(value: number): number {\n return Math.abs(value) < 1e-10 ? 0 : value;\n}\n",":host {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.root-3d {\n width: 100%;\n height: 100%;\n pointer-events: inherit;\n}\n\n.camera {\n transform-style: preserve-3d;\n pointer-events: inherit;\n width: 100%;\n height: 100%;\n}\n","import {\n Component,\n Element,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { Matrix4 } from '@vertexvis/geometry';\n\nimport { DepthBuffer, Viewport } from '../../lib/types';\nimport { FrameCameraBase } from '../../lib/types/frame';\nimport { Renderer2d, update2d } from './renderer2d';\nimport { Renderer3d, update3d } from './renderer3d';\n\nexport type ViewerDomRendererDrawMode = '2d' | '3d';\n\n/**\n * The `ViewerDomRenderer` is responsible for managing a\n * `<vertex-viewer-dom-renderer>` element. This element supports drawing DOM\n * objects in a local 3D scene that is synced with a remote rendered scene.\n */\n@Component({\n tag: 'vertex-viewer-dom-renderer',\n styleUrl: 'viewer-dom-renderer.css',\n shadow: true,\n})\nexport class ViewerDomRenderer {\n /**\n * Specifies the drawing mode for the renderer.\n *\n * When in `3d` mode, elements are positioned using CSS 3D transforms and will\n * scale and rotate with the camera. In `2d` mode, a simpler 2D transform is\n * used, and elements will not scale or rotate with camera changes.\n */\n @Prop()\n public drawMode: ViewerDomRendererDrawMode = '3d';\n\n /**\n * The viewer synced to this renderer. This property will automatically be\n * assigned if the renderer is a child of `<vertex-viewer>`.\n */\n @Prop()\n public viewer?: HTMLVertexViewerElement;\n\n /**\n * The current camera of the frame.\n *\n * This property will automatically be set when supplying a viewer to the\n * component, or when added as a child to `<vertex-viewer>`.\n */\n @Prop({ mutable: true })\n public camera?: FrameCameraBase;\n\n /**\n * The current depth buffer of the frame.\n *\n * This property will automatically be set when supplying a viewer to the\n * component, or when added as a child to `<vertex-viewer>`.\n */\n @Prop({ mutable: true })\n public depthBuffer?: DepthBuffer;\n\n @State()\n private viewport: Viewport = new Viewport(0, 0);\n\n @State()\n private invalidateFrameCounter = 0;\n\n @Element()\n private hostEl!: HTMLElement;\n\n /**\n * @ignore\n */\n protected componentWillLoad(): void {\n const resized = new ResizeObserver(() => this.handleResize());\n resized.observe(this.hostEl);\n\n const mutation = new MutationObserver(() => this.handleChildrenChange());\n mutation.observe(this.hostEl, { childList: true });\n\n this.handleViewerChange(this.viewer, undefined);\n\n if (this.viewer?.frame != null) {\n this.handleViewerFrameDrawn();\n }\n }\n\n /**\n * @ignore\n */\n public render(): h.JSX.IntrinsicElements {\n if (this.camera != null) {\n if (this.drawMode === '2d') {\n return (\n <Host>\n <Renderer2d>\n <slot></slot>\n </Renderer2d>\n </Host>\n );\n } else {\n return (\n <Host>\n <Renderer3d camera={this.camera} viewport={this.viewport}>\n <slot></slot>\n </Renderer3d>\n </Host>\n );\n }\n } else {\n return <Host></Host>;\n }\n }\n\n /**\n * @ignore\n */\n protected componentWillRender(): void {\n this.updateElements();\n }\n\n /**\n * @ignore\n */\n @Watch('viewer')\n protected handleViewerChange(\n newViewer: HTMLVertexViewerElement | undefined,\n oldViewer: HTMLVertexViewerElement | undefined\n ): void {\n oldViewer?.removeEventListener('frameDrawn', this.handleViewerFrameDrawn);\n newViewer?.addEventListener('frameDrawn', this.handleViewerFrameDrawn);\n }\n\n /**\n * @ignore\n */\n @Listen('propertyChange')\n protected handlePropertyChange(): void {\n this.invalidateFrame();\n }\n\n private invalidateFrame(): void {\n this.invalidateFrameCounter = this.invalidateFrameCounter + 1;\n }\n\n private async updateElements(): Promise<void> {\n const { viewport, camera } = this;\n const worldMatrix = Matrix4.makeIdentity();\n\n if (camera != null) {\n if (this.drawMode === '3d') {\n update3d(this.hostEl, worldMatrix, viewport, camera, this.depthBuffer);\n } else {\n update2d(this.hostEl, worldMatrix, viewport, camera, this.depthBuffer);\n }\n }\n }\n\n private handleViewerFrameDrawn = async (): Promise<void> => {\n this.updatePropsFromViewer();\n };\n\n private handleResize(): void {\n const bounds = this.hostEl.getBoundingClientRect();\n this.viewport = new Viewport(bounds.width, bounds.height);\n }\n\n private handleChildrenChange(): void {\n this.invalidateFrame();\n }\n\n private async updatePropsFromViewer(): Promise<void> {\n const { frame, depthBuffers } = this.viewer || {};\n\n this.depthBuffer =\n depthBuffers === 'all' ? await frame?.depthBuffer() : undefined;\n this.camera = frame?.scene.camera;\n }\n}\n"],"version":3}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { proxyCustomElement, HTMLElement, h, Fragment, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { c as classnames } from './index2.js';
|
|
6
|
-
|
|
7
|
-
const viewerIconCss = ":host{display:inline-block;width:1em;height:1em;fill:currentColor}:host(.size-sm){font-size:16px}:host(.size-md){font-size:24px}:host(.size-lg){font-size:32px}svg{display:block;width:100%;height:100%}";
|
|
8
|
-
|
|
9
|
-
const ViewerIcon = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
10
|
-
constructor() {
|
|
11
|
-
super();
|
|
12
|
-
this.__registerHost();
|
|
13
|
-
this.__attachShadow();
|
|
14
|
-
/**
|
|
15
|
-
* The size of the icon. Can be `'sm' | 'md' | 'lg' | undefined`. Predefined
|
|
16
|
-
* sizes are set to:
|
|
17
|
-
*
|
|
18
|
-
* * `sm`: 16px
|
|
19
|
-
* * `md`: 24px
|
|
20
|
-
* * `lg`: 32px
|
|
21
|
-
*
|
|
22
|
-
* A custom size can be supplied by setting this field to `undefined` and
|
|
23
|
-
* setting `font-size` through CSS. Defaults to `md`.
|
|
24
|
-
*/
|
|
25
|
-
this.size = 'md';
|
|
26
|
-
}
|
|
27
|
-
render() {
|
|
28
|
-
if (this.name === 'fit-all') {
|
|
29
|
-
return this.renderSvgIcon(h("path", { d: "M6.15,9.15l-2.5,2.5L2,10v4H6L4.35,12.35l2.5-2.5a.49.49,0,0,0-.7-.7Zm-1.8-5.5L6,2H2V6L3.65,4.35l2.5,2.5a.49.49,0,0,0,.7-.7ZM10,2l1.65,1.65-2.5,2.5a.49.49,0,0,0,.7.7l2.5-2.5L14,6V2ZM9.85,9.15a.49.49,0,0,0-.7.7l2.5,2.5L10,14h4V10l-1.65,1.65Z" }));
|
|
30
|
-
}
|
|
31
|
-
else if (this.name === 'eye-open') {
|
|
32
|
-
return this.renderSvgIcon(h("path", { d: "M8 5a3 3 0 103 3 3 3 0 00-3-3zm4.65-1.17A8.53 8.53 0 008 2.5a8.53 8.53 0 00-4.65 1.33A6.57 6.57 0 00.51 7.89v.22a6.57 6.57 0 002.84 4.06A8.53 8.53 0 008 13.5a8.53 8.53 0 004.65-1.33 6.57 6.57 0 002.84-4.06v-.22a6.57 6.57 0 00-2.84-4.06zm-.55 7.5A7.52 7.52 0 018 12.5a7.52 7.52 0 01-4.1-1.17A5.49 5.49 0 011.53 8 5.49 5.49 0 013.9 4.67 7.52 7.52 0 018 3.5a7.52 7.52 0 014.1 1.17A5.49 5.49 0 0114.47 8a5.49 5.49 0 01-2.37 3.33z" }));
|
|
33
|
-
}
|
|
34
|
-
else if (this.name === 'eye-half') {
|
|
35
|
-
return this.renderSvgIcon(h("path", { d: "M13.35 2.65a.48.48 0 00-.7 0l-.78.77a8.71 8.71 0 00-8.52.41A6.57 6.57 0 00.51 7.89v.22a6.58 6.58 0 002.71 4l-.57.58a.49.49 0 00.7.7l10-10a.48.48 0 000-.74zM9.73 5.56a3 3 0 00-4.17 4.17l-1.62 1.62A5.49 5.49 0 011.53 8 5.49 5.49 0 013.9 4.67 7.52 7.52 0 018 3.5a7.67 7.67 0 013.12.67zm3.61-1.2l-.72.72A5.45 5.45 0 0114.47 8a5.49 5.49 0 01-2.37 3.33A7.52 7.52 0 018 12.5a8.15 8.15 0 01-2.41-.38l-.78.78a8.9 8.9 0 003.19.6 8.53 8.53 0 004.65-1.33 6.57 6.57 0 002.84-4.06v-.22a6.56 6.56 0 00-2.15-3.53z" }));
|
|
36
|
-
}
|
|
37
|
-
else if (this.name === 'eye-half-dotted') {
|
|
38
|
-
return this.renderSvgIcon(h(Fragment, null, h("path", { d: "M4.12 11.46A5.62 5.62 0 011.52 8 5.57 5.57 0 013.9 4.67 7.52 7.52 0 018 3.5a7.7 7.7 0 013.33.75l.74-.74A8.67 8.67 0 008 2.5a8.53 8.53 0 00-4.65 1.33A6.57 6.57 0 00.51 7.89v.22a6.54 6.54 0 002.88 4.08z" }), h("path", { d: "M8 5a3 3 0 00-3 3 3 3 0 00.69 1.89l4.2-4.2A3 3 0 008 5zM5.88 5.88zM9.2 12.41a.51.51 0 00-.42.57.5.5 0 00.56.42.5.5 0 00.43-.57.51.51 0 00-.57-.42zM6.77 12.41a.5.5 0 00-.57.42.49.49 0 00.41.57.5.5 0 10.15-1zM14.48 5.61a.5.5 0 00-.7-.12.49.49 0 00-.12.69.5.5 0 00.82-.57zM11.5 11.68a.5.5 0 00-.22.67.51.51 0 00.68.22.5.5 0 00-.46-.89zM15.07 7.77a.52.52 0 00-.62.35.51.51 0 00.35.62.5.5 0 00.61-.35.52.52 0 00-.34-.62zM13.36 10.21a.5.5 0 10.76.64.49.49 0 00-.06-.7.51.51 0 00-.7.06z" })));
|
|
39
|
-
}
|
|
40
|
-
else if (this.name === 'chevron-right') {
|
|
41
|
-
return this.renderSvgIcon(h("path", { d: "M10.83,7.62l-4-3.5A.5.5,0,0,0,6,4.5v7a.5.5,0,0,0,.83.38l4-3.5a.51.51,0,0,0,0-.76Z" }));
|
|
42
|
-
}
|
|
43
|
-
else if (this.name === 'chevron-down') {
|
|
44
|
-
return this.renderSvgIcon(h("path", { d: "M11.88,9.17l-3.5-4a.51.51,0,0,0-.76,0l-3.5,4A.5.5,0,0,0,4.5,10h7a.5.5,0,0,0,.38-.83Z", transform: "rotate(180 8 8)" }));
|
|
45
|
-
}
|
|
46
|
-
else if (this.name === 'search') {
|
|
47
|
-
return this.renderSvgIcon(h("path", { d: "M14.85 14.15l-4-4a.37.37 0 00-.2-.12 5.45 5.45 0 10-.62.62.37.37 0 00.12.2l4 4a.49.49 0 00.7-.7zM9.71 9.71a4.51 4.51 0 01-6.42 0 4.51 4.51 0 010-6.42 4.51 4.51 0 016.42 0 4.51 4.51 0 010 6.42z" }));
|
|
48
|
-
}
|
|
49
|
-
else if (this.name === 'close-circle') {
|
|
50
|
-
return this.renderSvgIcon(h("path", { d: "M8 1a7 7 0 107 7 7 7 0 00-7-7zm2.85 9.15a.49.49 0 01-.7.7L8 8.71l-2.15 2.14a.49.49 0 01-.7-.7L7.29 8 5.15 5.85a.49.49 0 01.7-.7L8 7.29l2.15-2.14a.49.49 0 01.7.7L8.71 8z" }));
|
|
51
|
-
}
|
|
52
|
-
else if (this.name === 'pin-fill') {
|
|
53
|
-
return this.renderSvgIcon(h("path", { d: "M8,.55A5.9,5.9,0,0,0,2.1,6.44a9.14,9.14,0,0,0,2.66,6.24,11.44,11.44,0,0,0,1.93,1.65,7.43,7.43,0,0,0,.73.44l.28.12a.78.78,0,0,0,.6,0,6.65,6.65,0,0,0,1.34-.79,11.79,11.79,0,0,0,2.76-2.88,8.59,8.59,0,0,0,1.5-4.78A5.9,5.9,0,0,0,8,.55ZM8,8.44a2,2,0,1,1,2-2A2,2,0,0,1,8,8.44Z" }));
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
return h("svg", null);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
renderSvgIcon(content) {
|
|
60
|
-
return (h(Host, { class: classnames({
|
|
61
|
-
'size-sm': this.size === 'sm',
|
|
62
|
-
'size-md': this.size === 'md',
|
|
63
|
-
'size-lg': this.size === 'lg',
|
|
64
|
-
}) }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16" }, content)));
|
|
65
|
-
}
|
|
66
|
-
static get style() { return viewerIconCss; }
|
|
67
|
-
}, [1, "vertex-viewer-icon", {
|
|
68
|
-
"name": [1],
|
|
69
|
-
"size": [1]
|
|
70
|
-
}]);
|
|
71
|
-
function defineCustomElement() {
|
|
72
|
-
if (typeof customElements === "undefined") {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
const components = ["vertex-viewer-icon"];
|
|
76
|
-
components.forEach(tagName => { switch (tagName) {
|
|
77
|
-
case "vertex-viewer-icon":
|
|
78
|
-
if (!customElements.get(tagName)) {
|
|
79
|
-
customElements.define(tagName, ViewerIcon);
|
|
80
|
-
}
|
|
81
|
-
break;
|
|
82
|
-
} });
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export { ViewerIcon as V, defineCustomElement as d };
|
|
86
|
-
|
|
87
|
-
//# sourceMappingURL=viewer-icon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"viewer-icon.js","mappings":";;;;;;AAAA,MAAM,aAAa,GAAG,0MAA0M;;MC2BnN,UAAU;EALvB;;;;;;;;;;;;;;;IAwBS,SAAI,GAAoB,IAAI,CAAC;GAmErC;EAjEQ,MAAM;IACX,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;MAC3B,OAAO,IAAI,CAAC,aAAa,CACvB,YAAM,CAAC,EAAC,gPAAgP,GAAG,CAC5P,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;MACnC,OAAO,IAAI,CAAC,aAAa,CACvB,YAAM,CAAC,EAAC,2aAA2a,GAAG,CACvb,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;MACnC,OAAO,IAAI,CAAC,aAAa,CACvB,YAAM,CAAC,EAAC,mfAAmf,GAAG,CAC/f,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE;MAC1C,OAAO,IAAI,CAAC,aAAa,CACvB,EAAC,QAAQ,QACP,YAAM,CAAC,EAAC,0MAA0M,GAAG,EACrN,YAAM,CAAC,EAAC,ieAAie,GAAG,CACne,CACZ,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE;MACxC,OAAO,IAAI,CAAC,aAAa,CACvB,YAAM,CAAC,EAAC,mFAAmF,GAAG,CAC/F,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;MACvC,OAAO,IAAI,CAAC,aAAa,CACvB,YACE,CAAC,EAAC,sFAAsF,EACxF,SAAS,EAAC,iBAAiB,GAC3B,CACH,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;MACjC,OAAO,IAAI,CAAC,aAAa,CACvB,YAAM,CAAC,EAAC,kMAAkM,GAAG,CAC9M,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;MACvC,OAAO,IAAI,CAAC,aAAa,CACvB,YAAM,CAAC,EAAC,0KAA0K,GAAG,CACtL,CAAC;KACH;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;MACnC,OAAO,IAAI,CAAC,aAAa,CACvB,YAAM,CAAC,EAAC,+QAA+Q,GAAG,CAC3R,CAAC;KACH;SAAM;MACL,OAAO,cAAO,CAAC;KAChB;GACF;EAEO,aAAa,CACnB,OAAgC;IAEhC,QACE,EAAC,IAAI,IACH,KAAK,EAAEA,UAAS,CAAC;QACf,SAAS,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;QAC7B,SAAS,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;QAC7B,SAAS,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;OAC9B,CAAC,IAEF,WAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,IACxD,OAAO,CACJ,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;","names":["classname"],"sources":["./src/components/viewer-icon/viewer-icon.css?tag=vertex-viewer-icon&encapsulation=shadow","./src/components/viewer-icon/viewer-icon.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 1em;\n height: 1em;\n fill: currentColor;\n}\n\n:host(.size-sm) {\n font-size: 16px;\n}\n\n:host(.size-md) {\n font-size: 24px;\n}\n\n:host(.size-lg) {\n font-size: 32px;\n}\n\nsvg {\n display: block;\n width: 100%;\n height: 100%;\n}\n","import { Component, Fragment, h, Host, Prop } from '@stencil/core';\nimport classname from 'classnames';\n\n/**\n * The names of the icons that the `<vertex-viewer-icon>` element can display.\n */\nexport type ViewerIconName =\n | 'fit-all'\n | 'eye-open'\n | 'eye-half'\n | 'eye-half-dotted'\n | 'chevron-right'\n | 'chevron-down'\n | 'search'\n | 'close-circle'\n | 'pin-fill';\n\n/**\n * The predefined sizes for icons.\n */\nexport type ViewerIconSize = 'sm' | 'md' | 'lg' | undefined;\n\n@Component({\n tag: 'vertex-viewer-icon',\n styleUrl: 'viewer-icon.css',\n shadow: true,\n})\nexport class ViewerIcon {\n /**\n * The name of the icon to render.\n */\n @Prop()\n public name?: ViewerIconName;\n\n /**\n * The size of the icon. Can be `'sm' | 'md' | 'lg' | undefined`. Predefined\n * sizes are set to:\n *\n * * `sm`: 16px\n * * `md`: 24px\n * * `lg`: 32px\n *\n * A custom size can be supplied by setting this field to `undefined` and\n * setting `font-size` through CSS. Defaults to `md`.\n */\n @Prop()\n public size?: ViewerIconSize = 'md';\n\n public render(): h.JSX.IntrinsicElements {\n if (this.name === 'fit-all') {\n return this.renderSvgIcon(\n <path d=\"M6.15,9.15l-2.5,2.5L2,10v4H6L4.35,12.35l2.5-2.5a.49.49,0,0,0-.7-.7Zm-1.8-5.5L6,2H2V6L3.65,4.35l2.5,2.5a.49.49,0,0,0,.7-.7ZM10,2l1.65,1.65-2.5,2.5a.49.49,0,0,0,.7.7l2.5-2.5L14,6V2ZM9.85,9.15a.49.49,0,0,0-.7.7l2.5,2.5L10,14h4V10l-1.65,1.65Z\" />\n );\n } else if (this.name === 'eye-open') {\n return this.renderSvgIcon(\n <path d=\"M8 5a3 3 0 103 3 3 3 0 00-3-3zm4.65-1.17A8.53 8.53 0 008 2.5a8.53 8.53 0 00-4.65 1.33A6.57 6.57 0 00.51 7.89v.22a6.57 6.57 0 002.84 4.06A8.53 8.53 0 008 13.5a8.53 8.53 0 004.65-1.33 6.57 6.57 0 002.84-4.06v-.22a6.57 6.57 0 00-2.84-4.06zm-.55 7.5A7.52 7.52 0 018 12.5a7.52 7.52 0 01-4.1-1.17A5.49 5.49 0 011.53 8 5.49 5.49 0 013.9 4.67 7.52 7.52 0 018 3.5a7.52 7.52 0 014.1 1.17A5.49 5.49 0 0114.47 8a5.49 5.49 0 01-2.37 3.33z\" />\n );\n } else if (this.name === 'eye-half') {\n return this.renderSvgIcon(\n <path d=\"M13.35 2.65a.48.48 0 00-.7 0l-.78.77a8.71 8.71 0 00-8.52.41A6.57 6.57 0 00.51 7.89v.22a6.58 6.58 0 002.71 4l-.57.58a.49.49 0 00.7.7l10-10a.48.48 0 000-.74zM9.73 5.56a3 3 0 00-4.17 4.17l-1.62 1.62A5.49 5.49 0 011.53 8 5.49 5.49 0 013.9 4.67 7.52 7.52 0 018 3.5a7.67 7.67 0 013.12.67zm3.61-1.2l-.72.72A5.45 5.45 0 0114.47 8a5.49 5.49 0 01-2.37 3.33A7.52 7.52 0 018 12.5a8.15 8.15 0 01-2.41-.38l-.78.78a8.9 8.9 0 003.19.6 8.53 8.53 0 004.65-1.33 6.57 6.57 0 002.84-4.06v-.22a6.56 6.56 0 00-2.15-3.53z\" />\n );\n } else if (this.name === 'eye-half-dotted') {\n return this.renderSvgIcon(\n <Fragment>\n <path d=\"M4.12 11.46A5.62 5.62 0 011.52 8 5.57 5.57 0 013.9 4.67 7.52 7.52 0 018 3.5a7.7 7.7 0 013.33.75l.74-.74A8.67 8.67 0 008 2.5a8.53 8.53 0 00-4.65 1.33A6.57 6.57 0 00.51 7.89v.22a6.54 6.54 0 002.88 4.08z\" />\n <path d=\"M8 5a3 3 0 00-3 3 3 3 0 00.69 1.89l4.2-4.2A3 3 0 008 5zM5.88 5.88zM9.2 12.41a.51.51 0 00-.42.57.5.5 0 00.56.42.5.5 0 00.43-.57.51.51 0 00-.57-.42zM6.77 12.41a.5.5 0 00-.57.42.49.49 0 00.41.57.5.5 0 10.15-1zM14.48 5.61a.5.5 0 00-.7-.12.49.49 0 00-.12.69.5.5 0 00.82-.57zM11.5 11.68a.5.5 0 00-.22.67.51.51 0 00.68.22.5.5 0 00-.46-.89zM15.07 7.77a.52.52 0 00-.62.35.51.51 0 00.35.62.5.5 0 00.61-.35.52.52 0 00-.34-.62zM13.36 10.21a.5.5 0 10.76.64.49.49 0 00-.06-.7.51.51 0 00-.7.06z\" />\n </Fragment>\n );\n } else if (this.name === 'chevron-right') {\n return this.renderSvgIcon(\n <path d=\"M10.83,7.62l-4-3.5A.5.5,0,0,0,6,4.5v7a.5.5,0,0,0,.83.38l4-3.5a.51.51,0,0,0,0-.76Z\" />\n );\n } else if (this.name === 'chevron-down') {\n return this.renderSvgIcon(\n <path\n d=\"M11.88,9.17l-3.5-4a.51.51,0,0,0-.76,0l-3.5,4A.5.5,0,0,0,4.5,10h7a.5.5,0,0,0,.38-.83Z\"\n transform=\"rotate(180 8 8)\"\n />\n );\n } else if (this.name === 'search') {\n return this.renderSvgIcon(\n <path d=\"M14.85 14.15l-4-4a.37.37 0 00-.2-.12 5.45 5.45 0 10-.62.62.37.37 0 00.12.2l4 4a.49.49 0 00.7-.7zM9.71 9.71a4.51 4.51 0 01-6.42 0 4.51 4.51 0 010-6.42 4.51 4.51 0 016.42 0 4.51 4.51 0 010 6.42z\" />\n );\n } else if (this.name === 'close-circle') {\n return this.renderSvgIcon(\n <path d=\"M8 1a7 7 0 107 7 7 7 0 00-7-7zm2.85 9.15a.49.49 0 01-.7.7L8 8.71l-2.15 2.14a.49.49 0 01-.7-.7L7.29 8 5.15 5.85a.49.49 0 01.7-.7L8 7.29l2.15-2.14a.49.49 0 01.7.7L8.71 8z\" />\n );\n } else if (this.name === 'pin-fill') {\n return this.renderSvgIcon(\n <path d=\"M8,.55A5.9,5.9,0,0,0,2.1,6.44a9.14,9.14,0,0,0,2.66,6.24,11.44,11.44,0,0,0,1.93,1.65,7.43,7.43,0,0,0,.73.44l.28.12a.78.78,0,0,0,.6,0,6.65,6.65,0,0,0,1.34-.79,11.79,11.79,0,0,0,2.76-2.88,8.59,8.59,0,0,0,1.5-4.78A5.9,5.9,0,0,0,8,.55ZM8,8.44a2,2,0,1,1,2-2A2,2,0,0,1,8,8.44Z\" />\n );\n } else {\n return <svg />;\n }\n }\n\n private renderSvgIcon(\n content: h.JSX.IntrinsicElements\n ): h.JSX.IntrinsicElements {\n return (\n <Host\n class={classname({\n 'size-sm': this.size === 'sm',\n 'size-md': this.size === 'md',\n 'size-lg': this.size === 'lg',\n })}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n {content}\n </svg>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
|
|
6
|
-
const viewerLayerCss = ":host{pointer-events:none;overflow:hidden}:host(:not([stretch-off])){position:absolute;left:0;right:0;top:0;bottom:0}";
|
|
7
|
-
|
|
8
|
-
const ViewerLayer = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
9
|
-
constructor() {
|
|
10
|
-
super();
|
|
11
|
-
this.__registerHost();
|
|
12
|
-
this.__attachShadow();
|
|
13
|
-
/**
|
|
14
|
-
* Indicates if the layer should stretch to fill the size of its container's
|
|
15
|
-
* nearest positioned parent.
|
|
16
|
-
*/
|
|
17
|
-
this.stretchOff = false;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @ignore
|
|
21
|
-
*/
|
|
22
|
-
render() {
|
|
23
|
-
return (h(Host, null, h("slot", null)));
|
|
24
|
-
}
|
|
25
|
-
get hostEl() { return this; }
|
|
26
|
-
static get style() { return viewerLayerCss; }
|
|
27
|
-
}, [1, "vertex-viewer-layer", {
|
|
28
|
-
"stretchOff": [516, "stretch-off"]
|
|
29
|
-
}]);
|
|
30
|
-
function defineCustomElement() {
|
|
31
|
-
if (typeof customElements === "undefined") {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const components = ["vertex-viewer-layer"];
|
|
35
|
-
components.forEach(tagName => { switch (tagName) {
|
|
36
|
-
case "vertex-viewer-layer":
|
|
37
|
-
if (!customElements.get(tagName)) {
|
|
38
|
-
customElements.define(tagName, ViewerLayer);
|
|
39
|
-
}
|
|
40
|
-
break;
|
|
41
|
-
} });
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export { ViewerLayer as V, defineCustomElement as d };
|
|
45
|
-
|
|
46
|
-
//# sourceMappingURL=viewer-layer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"viewer-layer.js","mappings":";;;;;AAAA,MAAM,cAAc,GAAG,uHAAuH;;MCOjI,WAAW;EALxB;;;;;;;;IAUkC,eAAU,GAAG,KAAK,CAAC;GAcpD;;;;EAPW,MAAM;IACd,QACE,EAAC,IAAI,QACH,eAAa,CACR,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/viewer-layer/viewer-layer.css?tag=vertex-viewer-layer&encapsulation=shadow","./src/components/viewer-layer/viewer-layer.tsx"],"sourcesContent":[":host {\n pointer-events: none;\n overflow: hidden;\n}\n\n:host(:not([stretch-off])) {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'vertex-viewer-layer',\n styleUrl: 'viewer-layer.css',\n shadow: true,\n})\nexport class ViewerLayer {\n /**\n * Indicates if the layer should stretch to fill the size of its container's\n * nearest positioned parent.\n */\n @Prop({ reflect: true }) public stretchOff = false;\n\n @Element() private hostEl!: HTMLElement;\n\n /**\n * @ignore\n */\n protected render(): h.JSX.IntrinsicElements {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
|