@vertexvis/viewer 0.15.2-canary.1 → 0.15.2-testing.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.
Files changed (76) hide show
  1. package/dist/cjs/{config-6e330a82.js → config-4a86ae0b.js} +1 -1
  2. package/dist/cjs/{entities-7b2e8c03.js → entities-496b61cd.js} +2 -2
  3. package/dist/cjs/index.cjs.js +4 -4
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{mapper-0f2294a6.js → mapper-216603b0.js} +1 -1
  6. package/dist/cjs/{scene-56438693.js → scene-cb169b09.js} +25 -1
  7. package/dist/cjs/{streamAttributes-c64aee75.js → streamAttributes-7725f5c4.js} +976 -4
  8. package/dist/cjs/vertex-scene-tree.cjs.entry.js +2 -2
  9. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +1 -1
  10. package/dist/cjs/vertex-viewer-drag-select.cjs.entry.js +177 -0
  11. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +1 -1
  12. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +2 -2
  13. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +2 -2
  14. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +4 -4
  15. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +2 -2
  16. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +1 -1
  17. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +1 -1
  18. package/dist/cjs/vertex-viewer.cjs.entry.js +3 -3
  19. package/dist/cjs/viewer.cjs.js +1 -1
  20. package/dist/collection/collection-manifest.json +1 -0
  21. package/dist/collection/components/viewer-drag-select/controller.js +18 -0
  22. package/dist/collection/components/viewer-drag-select/interaction-handler.js +41 -0
  23. package/dist/collection/components/viewer-drag-select/model.js +49 -0
  24. package/dist/collection/components/viewer-drag-select/viewer-drag-select.css +36 -0
  25. package/dist/collection/components/viewer-drag-select/viewer-drag-select.js +115 -0
  26. package/dist/collection/lib/scenes/mapper.js +11 -1
  27. package/dist/collection/lib/scenes/queries.js +15 -1
  28. package/dist/custom-elements/index.d.ts +6 -0
  29. package/dist/custom-elements/index.js +1168 -5
  30. package/dist/esm/{config-49688db8.js → config-6cdeb6ca.js} +1 -1
  31. package/dist/esm/{entities-a5bfef48.js → entities-6f3c5437.js} +2 -2
  32. package/dist/esm/index.js +4 -4
  33. package/dist/esm/index.mjs +4 -4
  34. package/dist/esm/loader.js +1 -1
  35. package/dist/esm/loader.mjs +1 -1
  36. package/dist/esm/{mapper-5894c2a4.js → mapper-941ff03c.js} +1 -1
  37. package/dist/esm/{scene-5b919078.js → scene-6f98b0dd.js} +25 -1
  38. package/dist/esm/{streamAttributes-7e8565be.js → streamAttributes-24bd7b3a.js} +976 -4
  39. package/dist/esm/vertex-scene-tree.entry.js +2 -2
  40. package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
  41. package/dist/esm/vertex-viewer-drag-select.entry.js +173 -0
  42. package/dist/esm/vertex-viewer-measurement-details.entry.js +1 -1
  43. package/dist/esm/vertex-viewer-measurement-distance.entry.js +2 -2
  44. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +2 -2
  45. package/dist/esm/vertex-viewer-measurement-precise.entry.js +4 -4
  46. package/dist/esm/vertex-viewer-pin-group.entry.js +2 -2
  47. package/dist/esm/vertex-viewer-transform-widget.entry.js +1 -1
  48. package/dist/esm/vertex-viewer-view-cube.entry.js +1 -1
  49. package/dist/esm/vertex-viewer.entry.js +3 -3
  50. package/dist/esm/viewer.js +1 -1
  51. package/dist/types/components/viewer-drag-select/controller.d.ts +9 -0
  52. package/dist/types/components/viewer-drag-select/interaction-handler.d.ts +15 -0
  53. package/dist/types/components/viewer-drag-select/model.d.ts +25 -0
  54. package/dist/types/components/viewer-drag-select/viewer-drag-select.d.ts +27 -0
  55. package/dist/types/components.d.ts +24 -0
  56. package/dist/types/lib/scenes/queries.d.ts +12 -2
  57. package/dist/viewer/index.esm.js +1 -1
  58. package/dist/viewer/{p-a6558bb2.entry.js → p-1bba9ade.entry.js} +1 -1
  59. package/dist/viewer/{p-3f6f2457.entry.js → p-24cda14a.entry.js} +1 -1
  60. package/dist/viewer/{p-b7e170ac.entry.js → p-2b58afc3.entry.js} +1 -1
  61. package/dist/viewer/{p-1fc24ec6.js → p-52ab9ec0.js} +1 -1
  62. package/dist/viewer/{p-927b528b.js → p-597cc9b5.js} +1 -1
  63. package/dist/viewer/{p-61e50e11.entry.js → p-608925c5.entry.js} +1 -1
  64. package/dist/viewer/p-68e192b9.js +4 -0
  65. package/dist/viewer/{p-d34ad2b2.entry.js → p-69a3fce8.entry.js} +1 -1
  66. package/dist/viewer/{p-7579e2a1.entry.js → p-74c772bb.entry.js} +1 -1
  67. package/dist/viewer/{p-40a9dd7d.js → p-9e1384c9.js} +1 -1
  68. package/dist/viewer/{p-d64c1e14.entry.js → p-a107b65e.entry.js} +2 -2
  69. package/dist/viewer/{p-22ae6785.entry.js → p-a5f18e7b.entry.js} +1 -1
  70. package/dist/viewer/p-ae31d912.entry.js +4 -0
  71. package/dist/viewer/{p-920c9a88.entry.js → p-bfacbaa8.entry.js} +1 -1
  72. package/dist/viewer/{p-f3ea0c2b.entry.js → p-c72da0fb.entry.js} +1 -1
  73. package/dist/viewer/{p-1e0dd2e9.js → p-cea5d8bd.js} +1 -1
  74. package/dist/viewer/viewer.esm.js +1 -1
  75. package/package.json +8 -8
  76. package/dist/viewer/p-31b87b90.js +0 -4
@@ -9,10 +9,10 @@ const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  const _commonjsHelpers = require('./_commonjsHelpers-dcc4cf71.js');
11
11
  const grpcWebClient_umd = require('./grpc-web-client.umd-2af20c1b.js');
12
- const config = require('./config-6e330a82.js');
12
+ const config = require('./config-4a86ae0b.js');
13
13
  const browser_esm = require('./browser.esm-5d246754.js');
14
14
  const dom = require('./dom-92728e58.js');
15
- require('./streamAttributes-c64aee75.js');
15
+ require('./streamAttributes-7725f5c4.js');
16
16
  require('./entities-9eb7e608.js');
17
17
 
18
18
  window.requestIdleCallback =
@@ -8,7 +8,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  const browser_esm = require('./browser.esm-5d246754.js');
11
- require('./streamAttributes-c64aee75.js');
11
+ require('./streamAttributes-7725f5c4.js');
12
12
  require('./entities-9eb7e608.js');
13
13
  const viewport = require('./viewport-5ca619f7.js');
14
14
  require('./_commonjsHelpers-dcc4cf71.js');
@@ -0,0 +1,177 @@
1
+ /**!
2
+ * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
+ */
4
+ 'use strict';
5
+
6
+ Object.defineProperty(exports, '__esModule', { value: true });
7
+
8
+ const index = require('./index-70db349e.js');
9
+ const index$1 = require('./index-b9d13137.js');
10
+ const bundle_esm = require('./bundle.esm-22b6f2d6.js');
11
+ const browser_esm = require('./browser.esm-5d246754.js');
12
+ require('./_commonjsHelpers-dcc4cf71.js');
13
+
14
+ class ViewerDragSelectController {
15
+ constructor(viewer, model) {
16
+ this.viewer = viewer;
17
+ this.model = model;
18
+ this.dragEndDisposable = this.model.onDragFinished(this.selectFromBounds);
19
+ }
20
+ dispose() {
21
+ var _a;
22
+ (_a = this.dragEndDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
23
+ }
24
+ async selectFromBounds(event) {
25
+ const scene = await this.viewer.scene();
26
+ await scene
27
+ .items((op) => op.where((q) => q.withVolumeIntersection(event.rectangle)).select())
28
+ .execute();
29
+ }
30
+ }
31
+
32
+ class ViewerDragSelectInteractionHandler {
33
+ constructor(viewer, dragSelectModel) {
34
+ this.viewer = viewer;
35
+ this.dragSelectModel = dragSelectModel;
36
+ this.handleDragBegin = this.handleDragBegin.bind(this);
37
+ this.handleDrag = this.handleDrag.bind(this);
38
+ this.handleDragEnd = this.handleDragEnd.bind(this);
39
+ }
40
+ initialize(element, api) {
41
+ this.element = element;
42
+ this.api = api;
43
+ this.element.addEventListener('pointerdown', this.handleDragBegin);
44
+ }
45
+ dispose() {
46
+ var _a, _b, _c;
47
+ (_a = this.element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointerdown', this.handleDragBegin);
48
+ (_b = this.element) === null || _b === void 0 ? void 0 : _b.removeEventListener('pointermove', this.handleDrag);
49
+ (_c = this.element) === null || _c === void 0 ? void 0 : _c.removeEventListener('pointerup', this.handleDragEnd);
50
+ }
51
+ handleDragBegin(event) {
52
+ var _a, _b;
53
+ if (event.buttons === 1) {
54
+ this.viewer.cameraControls = false;
55
+ this.dragSelectModel.updateStartPoint(bundle_esm.point.create(event.offsetX, event.offsetY));
56
+ (_a = this.element) === null || _a === void 0 ? void 0 : _a.addEventListener('pointermove', this.handleDrag);
57
+ (_b = this.element) === null || _b === void 0 ? void 0 : _b.addEventListener('pointerup', this.handleDragEnd);
58
+ }
59
+ }
60
+ handleDrag(event) {
61
+ this.dragSelectModel.updateEndPoint(bundle_esm.point.create(event.offsetX, event.offsetY));
62
+ }
63
+ handleDragEnd() {
64
+ var _a, _b;
65
+ this.viewer.cameraControls = true;
66
+ this.dragSelectModel.clear();
67
+ (_a = this.element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointermove', this.handleDrag);
68
+ (_b = this.element) === null || _b === void 0 ? void 0 : _b.removeEventListener('pointerup', this.handleDragEnd);
69
+ }
70
+ }
71
+
72
+ class ViewerDragSelectModel {
73
+ constructor() {
74
+ this.dragFinished = new browser_esm.EventDispatcher();
75
+ this.boundsChanged = new browser_esm.EventDispatcher();
76
+ }
77
+ updateStartPoint(point) {
78
+ this.dragStartPoint = point;
79
+ }
80
+ updateEndPoint(point) {
81
+ var _a;
82
+ this.dragEndPoint = point;
83
+ this.direction =
84
+ bundle_esm.point.subtract(point, (_a = this.dragStartPoint) !== null && _a !== void 0 ? _a : point).x > 0
85
+ ? 'right'
86
+ : 'left';
87
+ this.boundsChanged.emit({
88
+ rectangle: this.getDragBounds(),
89
+ direction: this.getDragDirection(),
90
+ });
91
+ }
92
+ clear() {
93
+ this.dragFinished.emit({
94
+ rectangle: this.getDragBounds(),
95
+ direction: this.getDragDirection(),
96
+ });
97
+ this.dragStartPoint = undefined;
98
+ this.dragEndPoint = undefined;
99
+ this.boundsChanged.emit({});
100
+ }
101
+ onDragFinished(listener) {
102
+ return this.dragFinished.on(listener);
103
+ }
104
+ onBoundsChanged(listener) {
105
+ return this.boundsChanged.on(listener);
106
+ }
107
+ getDragBounds() {
108
+ if (this.dragStartPoint != null && this.dragEndPoint != null) {
109
+ return bundle_esm.rectangle.fromPoints(this.dragStartPoint, this.dragEndPoint);
110
+ }
111
+ return bundle_esm.rectangle.create(0, 0, 0, 0);
112
+ }
113
+ getDragDirection() {
114
+ var _a;
115
+ return (_a = this.direction) !== null && _a !== void 0 ? _a : 'right';
116
+ }
117
+ }
118
+
119
+ const viewerDragSelectCss = ":host{--viewer-drag-select-outline-exclusive-border-color:#5555ff;--viewer-drag-select-outline-exclusive-border-style:solid;--viewer-drag-select-outline-exclusive-fill-color:blue;--viewer-drag-select-outline-inclusive-border-color:#ff5555;--viewer-drag-select-outline-inclusive-border-style:dashed;--viewer-drag-select-outline-inclusive-fill-color:red;--viewer-drag-select-outline-fill-opacity:0.1}.outline{position:absolute}.outline.exclusive{border:3px var(--viewer-drag-select-outline-exclusive-border-style) var(--viewer-drag-select-outline-exclusive-border-color)}.outline.inclusive{border:3px var(--viewer-drag-select-outline-inclusive-border-style) var(--viewer-drag-select-outline-inclusive-border-color)}.fill{position:relative;width:100%;height:100%;opacity:var(--viewer-drag-select-outline-fill-opacity)}.fill.exclusive{background-color:var(--viewer-drag-select-outline-exclusive-fill-color)}.fill.inclusive{background-color:var(--viewer-drag-select-outline-inclusive-fill-color)}";
120
+
121
+ const ViewerDragSelect = class {
122
+ constructor(hostRef) {
123
+ index.registerInstance(this, hostRef);
124
+ this.handleBoundsChanged = this.handleBoundsChanged.bind(this);
125
+ }
126
+ componentWillLoad() {
127
+ this.interactionModel = new ViewerDragSelectModel();
128
+ this.interactionModel.onBoundsChanged(this.handleBoundsChanged);
129
+ this.handleViewerChanged(this.viewer);
130
+ }
131
+ /**
132
+ * @ignore
133
+ */
134
+ handleViewerChanged(newViewer) {
135
+ this.deregisterInteractionHandler();
136
+ if ((newViewer === null || newViewer === void 0 ? void 0 : newViewer.stream) != null) {
137
+ this.registerInteractionHandler(newViewer);
138
+ this.controller = new ViewerDragSelectController(newViewer, this.interactionModel);
139
+ }
140
+ }
141
+ /**
142
+ * @ignore
143
+ */
144
+ render() {
145
+ return (index.h(index.Host, null, index.h("vertex-viewer-layer", null, this.dragRect != null && (index.h("div", { class: index$1.classnames('outline', {
146
+ exclusive: this.dragDirection === 'right',
147
+ inclusive: this.dragDirection === 'left',
148
+ }), style: {
149
+ left: `${this.dragRect.x}px`,
150
+ top: `${this.dragRect.y}px`,
151
+ width: `${this.dragRect.width}px`,
152
+ height: `${this.dragRect.height}px`,
153
+ } }, index.h("div", { class: index$1.classnames('fill', {
154
+ exclusive: this.dragDirection === 'right',
155
+ inclusive: this.dragDirection === 'left',
156
+ }) }))))));
157
+ }
158
+ handleBoundsChanged(event) {
159
+ this.dragRect = event.rectangle;
160
+ this.dragDirection = event.direction;
161
+ }
162
+ registerInteractionHandler(viewer) {
163
+ this.interactionHandler = new ViewerDragSelectInteractionHandler(viewer, this.interactionModel);
164
+ viewer.registerInteractionHandler(this.interactionHandler);
165
+ }
166
+ deregisterInteractionHandler() {
167
+ var _a;
168
+ (_a = this.interactionHandler) === null || _a === void 0 ? void 0 : _a.dispose();
169
+ this.interactionHandler = undefined;
170
+ }
171
+ static get watchers() { return {
172
+ "viewer": ["handleViewerChanged"]
173
+ }; }
174
+ };
175
+ ViewerDragSelect.style = viewerDragSelectCss;
176
+
177
+ exports.vertex_viewer_drag_select = ViewerDragSelect;
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-70db349e.js');
9
- const streamAttributes = require('./streamAttributes-c64aee75.js');
9
+ const streamAttributes = require('./streamAttributes-7725f5c4.js');
10
10
  require('./entities-9eb7e608.js');
11
11
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
12
12
  const index$1 = require('./index-b9d13137.js');
@@ -9,9 +9,9 @@ const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  const cursors = require('./cursors-85d403e9.js');
11
11
  const dom = require('./dom-8d90bfaf.js');
12
- require('./mapper-0f2294a6.js');
12
+ require('./mapper-216603b0.js');
13
13
  require('./grpc-web-client.umd-2af20c1b.js');
14
- const streamAttributes = require('./streamAttributes-c64aee75.js');
14
+ const streamAttributes = require('./streamAttributes-7725f5c4.js');
15
15
  const model = require('./model-20a70d27.js');
16
16
  const overlays = require('./overlays-b03ec80b.js');
17
17
  const results = require('./results-178e89a3.js');
@@ -7,9 +7,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
- require('./mapper-0f2294a6.js');
10
+ require('./mapper-216603b0.js');
11
11
  require('./grpc-web-client.umd-2af20c1b.js');
12
- require('./streamAttributes-c64aee75.js');
12
+ require('./streamAttributes-7725f5c4.js');
13
13
  const overlays = require('./overlays-b03ec80b.js');
14
14
  const utils = require('./utils-2c8e2aa3.js');
15
15
  require('./_commonjsHelpers-dcc4cf71.js');
@@ -6,11 +6,11 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-70db349e.js');
9
- const mapper = require('./mapper-0f2294a6.js');
9
+ const mapper = require('./mapper-216603b0.js');
10
10
  const grpcWebClient_umd = require('./grpc-web-client.umd-2af20c1b.js');
11
- const config = require('./config-6e330a82.js');
12
- const entities = require('./entities-7b2e8c03.js');
13
- require('./streamAttributes-c64aee75.js');
11
+ const config = require('./config-4a86ae0b.js');
12
+ const entities = require('./entities-496b61cd.js');
13
+ require('./streamAttributes-7725f5c4.js');
14
14
  const model = require('./model-20a70d27.js');
15
15
  const overlays = require('./overlays-b03ec80b.js');
16
16
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
@@ -8,9 +8,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  require('./cursors-85d403e9.js');
11
- require('./mapper-0f2294a6.js');
11
+ require('./mapper-216603b0.js');
12
12
  require('./grpc-web-client.umd-2af20c1b.js');
13
- require('./streamAttributes-c64aee75.js');
13
+ require('./streamAttributes-7725f5c4.js');
14
14
  require('./entities-9eb7e608.js');
15
15
  const viewport = require('./viewport-5ca619f7.js');
16
16
  const model = require('./model-b61f4d20.js');
@@ -11,7 +11,7 @@ const index$1 = require('./index-b9d13137.js');
11
11
  const stencil = require('./stencil-fc92b387.js');
12
12
  const browser_esm = require('./browser.esm-5d246754.js');
13
13
  const _commonjsHelpers = require('./_commonjsHelpers-dcc4cf71.js');
14
- require('./streamAttributes-c64aee75.js');
14
+ require('./streamAttributes-7725f5c4.js');
15
15
  require('./entities-9eb7e608.js');
16
16
  const viewport = require('./viewport-5ca619f7.js');
17
17
 
@@ -8,7 +8,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
10
  const stencil = require('./stencil-fc92b387.js');
11
- const streamAttributes = require('./streamAttributes-c64aee75.js');
11
+ const streamAttributes = require('./streamAttributes-7725f5c4.js');
12
12
  require('./entities-9eb7e608.js');
13
13
  const index$1 = require('./index-b9d13137.js');
14
14
  require('./browser.esm-5d246754.js');
@@ -7,13 +7,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-70db349e.js');
9
9
  const bundle_esm = require('./bundle.esm-22b6f2d6.js');
10
- const streamAttributes = require('./streamAttributes-c64aee75.js');
10
+ const streamAttributes = require('./streamAttributes-7725f5c4.js');
11
11
  const browser_esm = require('./browser.esm-5d246754.js');
12
12
  const index$1 = require('./index-b9d13137.js');
13
- const config = require('./config-6e330a82.js');
13
+ const config = require('./config-4a86ae0b.js');
14
14
  const cursors = require('./cursors-85d403e9.js');
15
15
  const dom = require('./dom-8d90bfaf.js');
16
- const scene = require('./scene-56438693.js');
16
+ const scene = require('./scene-cb169b09.js');
17
17
  const entities = require('./entities-9eb7e608.js');
18
18
  const viewport = require('./viewport-5ca619f7.js');
19
19
  require('./_commonjsHelpers-dcc4cf71.js');
@@ -74,5 +74,5 @@ const patchDynamicImport = (base, orgScriptElm) => {
74
74
 
75
75
  patchBrowser().then(options => {
76
76
  appGlobals.globalScripts();
77
- return index.bootstrapLazy([["vertex-viewer-pin-tool.cjs",[[1,"vertex-viewer-pin-tool",{"pinController":[1040],"pinModel":[16],"viewer":[16],"tool":[1025],"mode":[1025],"primaryColor":[1025,"primary-color"],"accentColor":[1025,"accent-color"],"pins":[32],"selectedPinId":[32],"elementBounds":[32],"projectionViewMatrix":[32]}]]],["vertex-scene-tree.cjs",[[1,"vertex-scene-tree",{"overScanCount":[2,"over-scan-count"],"viewerSelector":[1,"viewer-selector"],"viewer":[1040],"rowData":[16],"config":[1],"configEnv":[1,"config-env"],"controller":[1040],"metadataSearchExactMatch":[1028,"metadata-search-exact-match"],"metadataSearchKeys":[1040],"metadataKeys":[16],"rows":[32],"totalRows":[32],"showLoader":[32],"stateMap":[32],"errorDetails":[32],"attemptingRetry":[32],"invalidateRows":[64],"scrollToIndex":[64],"scrollToItem":[64],"expandAll":[64],"collapseAll":[64],"expandItem":[64],"collapseItem":[64],"toggleExpandItem":[64],"toggleItemVisibility":[64],"hideItem":[64],"showItem":[64],"selectItem":[64],"deselectItem":[64],"getRowAtIndex":[64],"getRowForEvent":[64],"getRowAtClientY":[64],"filterItems":[64],"selectFilteredItems":[64],"fetchMetadataKeys":[64]},[[0,"search","handleSearch"]]]]],["vertex-viewer-default-toolbar.cjs",[[1,"vertex-viewer-default-toolbar",{"viewer":[16],"placement":[1],"direction":[1],"animationsDisabled":[4,"animations-disabled"],"animationMs":[2,"animation-ms"]}]]],["vertex-viewer-markup.cjs",[[1,"vertex-viewer-markup",{"arrowTemplateId":[1,"arrow-template-id"],"circleTemplateId":[1,"circle-template-id"],"freeformTemplateId":[1,"freeform-template-id"],"tool":[1],"disabled":[4],"viewer":[16],"selectedMarkupId":[1025,"selected-markup-id"],"selectNew":[4,"select-new"],"toSelectMarkupId":[32],"pointerDownPosition":[32],"addMarkup":[64],"removeMarkup":[64],"getMarkupElements":[64],"getMarkupElement":[64]},[[0,"markupEnd","handleMarkupEnd"],[1,"pointerdown","handleMarkupPointerDown"]]]]],["vertex-viewer-markup-tool.cjs",[[1,"vertex-viewer-markup-tool",{"arrowTemplateId":[1,"arrow-template-id"],"circleTemplateId":[1,"circle-template-id"],"freeformTemplateId":[1,"freeform-template-id"],"tool":[1],"disabled":[4],"viewer":[16],"stateMap":[32],"reset":[64]}]]],["vertex-viewer-view-cube.cjs",[[1,"vertex-viewer-view-cube",{"xPositiveLabel":[1,"x-positive-label"],"xNegativeLabel":[1,"x-negative-label"],"yPositiveLabel":[1,"y-positive-label"],"yNegativeLabel":[1,"y-negative-label"],"zPositiveLabel":[1,"z-positive-label"],"zNegativeLabel":[1,"z-negative-label"],"standardViewsOff":[4,"standard-views-off"],"animationDuration":[2,"animation-duration"],"triadOff":[4,"triad-off"],"worldOrientation":[1040],"camera":[1040],"viewer":[16],"boxLength":[32],"triadPosition":[32]}]]],["vertex-viewer-measurement-distance.cjs",[[1,"vertex-viewer-measurement-distance",{"start":[1040],"startJson":[1,"start-json"],"end":[1040],"endJson":[1,"end-json"],"distance":[1026],"showAxisReferenceLines":[4,"show-axis-reference-lines"],"snapDistance":[2,"snap-distance"],"units":[1],"fractionalDigits":[2,"fractional-digits"],"labelFormatter":[16],"anchorLabelOffset":[2,"anchor-label-offset"],"lineCapLength":[2,"line-cap-length"],"mode":[513],"interactingAnchor":[1537,"interacting-anchor"],"invalid":[1540],"camera":[16],"hitProvider":[16],"indicatorPt":[1040],"viewer":[16],"measurementModel":[16],"viewport":[32],"elementBounds":[32],"interactionCount":[32],"internalCamera":[32],"invalidateStateCounter":[32],"stateMap":[32],"measurementUnits":[32],"computeElementMetrics":[64]}]]],["vertex-viewer-measurement-precise.cjs",[[1,"vertex-viewer-measurement-precise",{"measurementModel":[16],"measurementOverlays":[16],"measurementController":[1040],"measurableEntityTypes":[16],"viewer":[16],"configEnv":[1,"config-env"],"config":[1]}]]],["vertex-scene-tree-table-cell.cjs",[[1,"vertex-scene-tree-table-cell",{"node":[16],"tree":[16],"value":[1],"placeholder":[1],"hovered":[1028],"isScrolling":[4,"is-scrolling"],"expandToggle":[4,"expand-toggle"],"visibilityToggle":[4,"visibility-toggle"],"selectionHandler":[16],"visibilityHandler":[16],"expansionHandler":[16],"hoverController":[16]}]]],["vertex-scene-tree-table-column.cjs",[[1,"vertex-scene-tree-table-column",{"initialWidth":[2,"initial-width"],"minWidth":[2,"min-width"],"maxWidth":[2,"max-width"]}]]],["vertex-scene-tree-table-header.cjs",[[1,"vertex-scene-tree-table-header"]]],["vertex-scene-tree-table-resize-divider.cjs",[[1,"vertex-scene-tree-table-resize-divider",{"dragging":[32]}]]],["vertex-scene-tree-toolbar-group.cjs",[[1,"vertex-scene-tree-toolbar-group"]]],["vertex-viewer.cjs",[[1,"vertex-viewer",{"src":[1],"clientId":[1,"client-id"],"deviceId":[1025,"device-id"],"config":[1],"configEnv":[1,"config-env"],"resolvedConfig":[1040],"cameraControls":[4,"camera-controls"],"cameraType":[1537,"camera-type"],"keyboardControls":[4,"keyboard-controls"],"rotateAroundTapPoint":[4,"rotate-around-tap-point"],"token":[1025],"depthBuffers":[1,"depth-buffers"],"experimentalGhostingOpacity":[2,"experimental-ghosting-opacity"],"noDefaultLights":[4,"no-default-lights"],"experimentalRenderingOptions":[1,"experimental-rendering-options"],"featureLines":[16],"featureHighlighting":[16],"featureMaps":[1,"feature-maps"],"selectionMaterial":[1,"selection-material"],"resizeDebounce":[2,"resize-debounce"],"frame":[1040],"stream":[1040],"stencilBuffer":[1040],"viewport":[1040],"dimensions":[32],"hostDimensions":[32],"errorMessage":[32],"cursor":[32],"stateMap":[32],"dispatchFrameDrawn":[64],"registerInteractionHandler":[64],"registerTapKeyInteraction":[64],"getInteractionTarget_DEPRECATED":[64],"addCursor":[64],"getInteractionHandlers":[64],"getKeyInteractions":[64],"getBaseInteractionHandler":[64],"getJwt":[64],"load":[64],"unload":[64],"scene":[64],"isSceneReady":[64]},[[0,"tap","handleTapEvent"]]]]],["vertex-viewer-measurement-details.cjs",[[1,"vertex-viewer-measurement-details",{"measurementModel":[16],"measurementOverlays":[16],"measurementOutcome":[1040],"distanceUnits":[1,"distance-units"],"angleUnits":[1,"angle-units"],"fractionalDigits":[2,"fractional-digits"],"distanceFormatter":[16],"angleFormatter":[16],"areaFormatter":[16],"resultTypes":[16],"overlay":[32],"distanceMeasurementUnits":[32],"angleMeasurementUnits":[32],"areaMeasurementUnits":[32]}]]],["vertex-viewer-transform-widget.cjs",[[1,"vertex-viewer-transform-widget",{"viewer":[16],"position":[1040],"controller":[1040],"hovered":[1040]}]]],["vertex-viewer-pin-group.cjs",[[0,"vertex-viewer-pin-group",{"pin":[16],"matrix":[1040],"projectionViewMatrix":[16],"elementBounds":[1040],"pinModel":[16],"pinController":[16],"selected":[4],"invalidateStateCounter":[32]}]]],["vertex-viewer-dom-group.cjs",[[1,"vertex-viewer-dom-group",{"position":[1040],"positionJson":[1,"position"],"rotation":[1040],"rotationJson":[1,"rotation"],"quaternion":[1040],"quaternionJson":[1,"quaternion"],"scale":[1040],"scaleJson":[1,"scale"],"matrix":[1040]}]]],["vertex-viewer-layer.cjs",[[1,"vertex-viewer-layer",{"stretchOff":[516,"stretch-off"]}]]],["vertex-viewer-spinner.cjs",[[1,"vertex-viewer-spinner",{"size":[1]}]]],["vertex-viewer-icon.cjs",[[1,"vertex-viewer-icon",{"name":[1],"size":[1]}]]],["vertex-scene-tree-search_3.cjs",[[1,"vertex-scene-tree-search",{"debounce":[2],"disabled":[4],"placeholder":[1],"controller":[16],"value":[1025],"focused":[32],"isSearching":[32],"setFocus":[64]}],[1,"vertex-scene-tree-table-layout",{"tree":[16],"controller":[16],"rows":[16],"totalRows":[2,"total-rows"],"rowHeight":[1026,"row-height"],"overScanCount":[2,"over-scan-count"],"rowData":[16],"layoutOffset":[1026,"layout-offset"],"scrollOffset":[1026,"scroll-offset"],"layoutHeight":[1026,"layout-height"],"layoutWidth":[1026,"layout-width"],"viewportStartIndex":[1026,"viewport-start-index"],"viewportEndIndex":[1026,"viewport-end-index"],"columnGridLayout":[32],"columnGridFixedLayout":[32],"isComputingCellHeight":[32],"lastDividerPointerPosition":[32],"resizingColumnIndex":[32],"isScrolling":[32],"scrollTimer":[32],"stateMap":[32],"scrollToPosition":[64]}],[1,"vertex-scene-tree-toolbar"]]],["vertex-viewer-button_3.cjs",[[1,"vertex-viewer-toolbar",{"placement":[1],"direction":[1]}],[1,"vertex-viewer-button"],[1,"vertex-viewer-toolbar-group",{"direction":[1]}]]],["vertex-viewer-pin-label_2.cjs",[[0,"vertex-viewer-pin-label",{"pin":[16],"elementBounds":[16],"value":[1025],"pinController":[16],"focused":[32],"computedScreenPosition":[32],"textareaRows":[32],"contentElBounds":[32],"setFocus":[64]}],[0,"vertex-viewer-pin-label-line",{"pinPoint":[16],"labelPoint":[16],"pin":[16]}]]],["vertex-viewer-measurement-line_2.cjs",[[1,"vertex-viewer-measurement-overlays",{"measurementOverlays":[16],"camera":[1040],"viewer":[16],"overlays":[32]}],[1,"vertex-viewer-measurement-line",{"start":[16],"end":[16],"capLength":[2,"cap-length"],"pointerEvents":[1,"pointer-events"]}]]],["vertex-viewer-dom-element_2.cjs",[[1,"vertex-viewer-dom-renderer",{"drawMode":[1,"draw-mode"],"viewer":[16],"camera":[1040],"depthBuffer":[1040],"viewport":[32],"invalidateFrameCounter":[32]},[[0,"propertyChange","handlePropertyChange"]]],[1,"vertex-viewer-dom-element",{"position":[1040],"positionJson":[1,"position"],"rotation":[1040],"rotationJson":[1,"rotation"],"quaternion":[1040],"quaternionJson":[1,"quaternion"],"scale":[1040],"scaleJson":[1,"scale"],"matrix":[1040],"occlusionOff":[4,"occlusion-off"],"occluded":[516],"billboardOff":[4,"billboard-off"],"interactionsOff":[516,"interactions-off"]}]]],["vertex-viewer-markup-arrow_3.cjs",[[1,"vertex-viewer-markup-arrow",{"start":[1040],"startJson":[1,"start"],"end":[1040],"endJson":[1,"end"],"mode":[513],"viewer":[16],"elementBounds":[32],"dispose":[64]}],[1,"vertex-viewer-markup-circle",{"bounds":[1040],"boundsJson":[1,"bounds"],"mode":[513],"viewer":[16],"elementBounds":[32],"dispose":[64]}],[1,"vertex-viewer-markup-freeform",{"points":[1040],"pointsJson":[1,"points"],"bounds":[1040],"boundsJson":[1,"bounds"],"mode":[513],"viewer":[16],"elementBounds":[32],"screenPoints":[32],"dispose":[64]}]]]], options);
77
+ return index.bootstrapLazy(JSON.parse("[[\"vertex-viewer-pin-tool.cjs\",[[1,\"vertex-viewer-pin-tool\",{\"pinController\":[1040],\"pinModel\":[16],\"viewer\":[16],\"tool\":[1025],\"mode\":[1025],\"primaryColor\":[1025,\"primary-color\"],\"accentColor\":[1025,\"accent-color\"],\"pins\":[32],\"selectedPinId\":[32],\"elementBounds\":[32],\"projectionViewMatrix\":[32]}]]],[\"vertex-scene-tree.cjs\",[[1,\"vertex-scene-tree\",{\"overScanCount\":[2,\"over-scan-count\"],\"viewerSelector\":[1,\"viewer-selector\"],\"viewer\":[1040],\"rowData\":[16],\"config\":[1],\"configEnv\":[1,\"config-env\"],\"controller\":[1040],\"metadataSearchExactMatch\":[1028,\"metadata-search-exact-match\"],\"metadataSearchKeys\":[1040],\"metadataKeys\":[16],\"rows\":[32],\"totalRows\":[32],\"showLoader\":[32],\"stateMap\":[32],\"errorDetails\":[32],\"attemptingRetry\":[32],\"invalidateRows\":[64],\"scrollToIndex\":[64],\"scrollToItem\":[64],\"expandAll\":[64],\"collapseAll\":[64],\"expandItem\":[64],\"collapseItem\":[64],\"toggleExpandItem\":[64],\"toggleItemVisibility\":[64],\"hideItem\":[64],\"showItem\":[64],\"selectItem\":[64],\"deselectItem\":[64],\"getRowAtIndex\":[64],\"getRowForEvent\":[64],\"getRowAtClientY\":[64],\"filterItems\":[64],\"selectFilteredItems\":[64],\"fetchMetadataKeys\":[64]},[[0,\"search\",\"handleSearch\"]]]]],[\"vertex-viewer-default-toolbar.cjs\",[[1,\"vertex-viewer-default-toolbar\",{\"viewer\":[16],\"placement\":[1],\"direction\":[1],\"animationsDisabled\":[4,\"animations-disabled\"],\"animationMs\":[2,\"animation-ms\"]}]]],[\"vertex-viewer-markup.cjs\",[[1,\"vertex-viewer-markup\",{\"arrowTemplateId\":[1,\"arrow-template-id\"],\"circleTemplateId\":[1,\"circle-template-id\"],\"freeformTemplateId\":[1,\"freeform-template-id\"],\"tool\":[1],\"disabled\":[4],\"viewer\":[16],\"selectedMarkupId\":[1025,\"selected-markup-id\"],\"selectNew\":[4,\"select-new\"],\"toSelectMarkupId\":[32],\"pointerDownPosition\":[32],\"addMarkup\":[64],\"removeMarkup\":[64],\"getMarkupElements\":[64],\"getMarkupElement\":[64]},[[0,\"markupEnd\",\"handleMarkupEnd\"],[1,\"pointerdown\",\"handleMarkupPointerDown\"]]]]],[\"vertex-viewer-markup-tool.cjs\",[[1,\"vertex-viewer-markup-tool\",{\"arrowTemplateId\":[1,\"arrow-template-id\"],\"circleTemplateId\":[1,\"circle-template-id\"],\"freeformTemplateId\":[1,\"freeform-template-id\"],\"tool\":[1],\"disabled\":[4],\"viewer\":[16],\"stateMap\":[32],\"reset\":[64]}]]],[\"vertex-viewer-view-cube.cjs\",[[1,\"vertex-viewer-view-cube\",{\"xPositiveLabel\":[1,\"x-positive-label\"],\"xNegativeLabel\":[1,\"x-negative-label\"],\"yPositiveLabel\":[1,\"y-positive-label\"],\"yNegativeLabel\":[1,\"y-negative-label\"],\"zPositiveLabel\":[1,\"z-positive-label\"],\"zNegativeLabel\":[1,\"z-negative-label\"],\"standardViewsOff\":[4,\"standard-views-off\"],\"animationDuration\":[2,\"animation-duration\"],\"triadOff\":[4,\"triad-off\"],\"worldOrientation\":[1040],\"camera\":[1040],\"viewer\":[16],\"boxLength\":[32],\"triadPosition\":[32]}]]],[\"vertex-viewer-measurement-distance.cjs\",[[1,\"vertex-viewer-measurement-distance\",{\"start\":[1040],\"startJson\":[1,\"start-json\"],\"end\":[1040],\"endJson\":[1,\"end-json\"],\"distance\":[1026],\"showAxisReferenceLines\":[4,\"show-axis-reference-lines\"],\"snapDistance\":[2,\"snap-distance\"],\"units\":[1],\"fractionalDigits\":[2,\"fractional-digits\"],\"labelFormatter\":[16],\"anchorLabelOffset\":[2,\"anchor-label-offset\"],\"lineCapLength\":[2,\"line-cap-length\"],\"mode\":[513],\"interactingAnchor\":[1537,\"interacting-anchor\"],\"invalid\":[1540],\"camera\":[16],\"hitProvider\":[16],\"indicatorPt\":[1040],\"viewer\":[16],\"measurementModel\":[16],\"viewport\":[32],\"elementBounds\":[32],\"interactionCount\":[32],\"internalCamera\":[32],\"invalidateStateCounter\":[32],\"stateMap\":[32],\"measurementUnits\":[32],\"computeElementMetrics\":[64]}]]],[\"vertex-viewer-measurement-precise.cjs\",[[1,\"vertex-viewer-measurement-precise\",{\"measurementModel\":[16],\"measurementOverlays\":[16],\"measurementController\":[1040],\"measurableEntityTypes\":[16],\"viewer\":[16],\"configEnv\":[1,\"config-env\"],\"config\":[1]}]]],[\"vertex-viewer-drag-select.cjs\",[[1,\"vertex-viewer-drag-select\",{\"viewer\":[16],\"controller\":[16],\"dragRect\":[32],\"dragDirection\":[32]}]]],[\"vertex-scene-tree-table-cell.cjs\",[[1,\"vertex-scene-tree-table-cell\",{\"node\":[16],\"tree\":[16],\"value\":[1],\"placeholder\":[1],\"hovered\":[1028],\"isScrolling\":[4,\"is-scrolling\"],\"expandToggle\":[4,\"expand-toggle\"],\"visibilityToggle\":[4,\"visibility-toggle\"],\"selectionHandler\":[16],\"visibilityHandler\":[16],\"expansionHandler\":[16],\"hoverController\":[16]}]]],[\"vertex-scene-tree-table-column.cjs\",[[1,\"vertex-scene-tree-table-column\",{\"initialWidth\":[2,\"initial-width\"],\"minWidth\":[2,\"min-width\"],\"maxWidth\":[2,\"max-width\"]}]]],[\"vertex-scene-tree-table-header.cjs\",[[1,\"vertex-scene-tree-table-header\"]]],[\"vertex-scene-tree-table-resize-divider.cjs\",[[1,\"vertex-scene-tree-table-resize-divider\",{\"dragging\":[32]}]]],[\"vertex-scene-tree-toolbar-group.cjs\",[[1,\"vertex-scene-tree-toolbar-group\"]]],[\"vertex-viewer.cjs\",[[1,\"vertex-viewer\",{\"src\":[1],\"clientId\":[1,\"client-id\"],\"deviceId\":[1025,\"device-id\"],\"config\":[1],\"configEnv\":[1,\"config-env\"],\"resolvedConfig\":[1040],\"cameraControls\":[4,\"camera-controls\"],\"cameraType\":[1537,\"camera-type\"],\"keyboardControls\":[4,\"keyboard-controls\"],\"rotateAroundTapPoint\":[4,\"rotate-around-tap-point\"],\"token\":[1025],\"depthBuffers\":[1,\"depth-buffers\"],\"experimentalGhostingOpacity\":[2,\"experimental-ghosting-opacity\"],\"noDefaultLights\":[4,\"no-default-lights\"],\"experimentalRenderingOptions\":[1,\"experimental-rendering-options\"],\"featureLines\":[16],\"featureHighlighting\":[16],\"featureMaps\":[1,\"feature-maps\"],\"selectionMaterial\":[1,\"selection-material\"],\"resizeDebounce\":[2,\"resize-debounce\"],\"frame\":[1040],\"stream\":[1040],\"stencilBuffer\":[1040],\"viewport\":[1040],\"dimensions\":[32],\"hostDimensions\":[32],\"errorMessage\":[32],\"cursor\":[32],\"stateMap\":[32],\"dispatchFrameDrawn\":[64],\"registerInteractionHandler\":[64],\"registerTapKeyInteraction\":[64],\"getInteractionTarget_DEPRECATED\":[64],\"addCursor\":[64],\"getInteractionHandlers\":[64],\"getKeyInteractions\":[64],\"getBaseInteractionHandler\":[64],\"getJwt\":[64],\"load\":[64],\"unload\":[64],\"scene\":[64],\"isSceneReady\":[64]},[[0,\"tap\",\"handleTapEvent\"]]]]],[\"vertex-viewer-measurement-details.cjs\",[[1,\"vertex-viewer-measurement-details\",{\"measurementModel\":[16],\"measurementOverlays\":[16],\"measurementOutcome\":[1040],\"distanceUnits\":[1,\"distance-units\"],\"angleUnits\":[1,\"angle-units\"],\"fractionalDigits\":[2,\"fractional-digits\"],\"distanceFormatter\":[16],\"angleFormatter\":[16],\"areaFormatter\":[16],\"resultTypes\":[16],\"overlay\":[32],\"distanceMeasurementUnits\":[32],\"angleMeasurementUnits\":[32],\"areaMeasurementUnits\":[32]}]]],[\"vertex-viewer-transform-widget.cjs\",[[1,\"vertex-viewer-transform-widget\",{\"viewer\":[16],\"position\":[1040],\"controller\":[1040],\"hovered\":[1040]}]]],[\"vertex-viewer-icon.cjs\",[[1,\"vertex-viewer-icon\",{\"name\":[1],\"size\":[1]}]]],[\"vertex-viewer-pin-group.cjs\",[[0,\"vertex-viewer-pin-group\",{\"pin\":[16],\"matrix\":[1040],\"projectionViewMatrix\":[16],\"elementBounds\":[1040],\"pinModel\":[16],\"pinController\":[16],\"selected\":[4],\"invalidateStateCounter\":[32]}]]],[\"vertex-viewer-dom-group.cjs\",[[1,\"vertex-viewer-dom-group\",{\"position\":[1040],\"positionJson\":[1,\"position\"],\"rotation\":[1040],\"rotationJson\":[1,\"rotation\"],\"quaternion\":[1040],\"quaternionJson\":[1,\"quaternion\"],\"scale\":[1040],\"scaleJson\":[1,\"scale\"],\"matrix\":[1040]}]]],[\"vertex-viewer-spinner.cjs\",[[1,\"vertex-viewer-spinner\",{\"size\":[1]}]]],[\"vertex-scene-tree-search_3.cjs\",[[1,\"vertex-scene-tree-search\",{\"debounce\":[2],\"disabled\":[4],\"placeholder\":[1],\"controller\":[16],\"value\":[1025],\"focused\":[32],\"isSearching\":[32],\"setFocus\":[64]}],[1,\"vertex-scene-tree-table-layout\",{\"tree\":[16],\"controller\":[16],\"rows\":[16],\"totalRows\":[2,\"total-rows\"],\"rowHeight\":[1026,\"row-height\"],\"overScanCount\":[2,\"over-scan-count\"],\"rowData\":[16],\"layoutOffset\":[1026,\"layout-offset\"],\"scrollOffset\":[1026,\"scroll-offset\"],\"layoutHeight\":[1026,\"layout-height\"],\"layoutWidth\":[1026,\"layout-width\"],\"viewportStartIndex\":[1026,\"viewport-start-index\"],\"viewportEndIndex\":[1026,\"viewport-end-index\"],\"columnGridLayout\":[32],\"columnGridFixedLayout\":[32],\"isComputingCellHeight\":[32],\"lastDividerPointerPosition\":[32],\"resizingColumnIndex\":[32],\"isScrolling\":[32],\"scrollTimer\":[32],\"stateMap\":[32],\"scrollToPosition\":[64]}],[1,\"vertex-scene-tree-toolbar\"]]],[\"vertex-viewer-layer.cjs\",[[1,\"vertex-viewer-layer\",{\"stretchOff\":[516,\"stretch-off\"]}]]],[\"vertex-viewer-button_3.cjs\",[[1,\"vertex-viewer-toolbar\",{\"placement\":[1],\"direction\":[1]}],[1,\"vertex-viewer-button\"],[1,\"vertex-viewer-toolbar-group\",{\"direction\":[1]}]]],[\"vertex-viewer-pin-label_2.cjs\",[[0,\"vertex-viewer-pin-label\",{\"pin\":[16],\"elementBounds\":[16],\"value\":[1025],\"pinController\":[16],\"focused\":[32],\"computedScreenPosition\":[32],\"textareaRows\":[32],\"contentElBounds\":[32],\"setFocus\":[64]}],[0,\"vertex-viewer-pin-label-line\",{\"pinPoint\":[16],\"labelPoint\":[16],\"pin\":[16]}]]],[\"vertex-viewer-measurement-line_2.cjs\",[[1,\"vertex-viewer-measurement-overlays\",{\"measurementOverlays\":[16],\"camera\":[1040],\"viewer\":[16],\"overlays\":[32]}],[1,\"vertex-viewer-measurement-line\",{\"start\":[16],\"end\":[16],\"capLength\":[2,\"cap-length\"],\"pointerEvents\":[1,\"pointer-events\"]}]]],[\"vertex-viewer-dom-element_2.cjs\",[[1,\"vertex-viewer-dom-renderer\",{\"drawMode\":[1,\"draw-mode\"],\"viewer\":[16],\"camera\":[1040],\"depthBuffer\":[1040],\"viewport\":[32],\"invalidateFrameCounter\":[32]},[[0,\"propertyChange\",\"handlePropertyChange\"]]],[1,\"vertex-viewer-dom-element\",{\"position\":[1040],\"positionJson\":[1,\"position\"],\"rotation\":[1040],\"rotationJson\":[1,\"rotation\"],\"quaternion\":[1040],\"quaternionJson\":[1,\"quaternion\"],\"scale\":[1040],\"scaleJson\":[1,\"scale\"],\"matrix\":[1040],\"occlusionOff\":[4,\"occlusion-off\"],\"occluded\":[516],\"billboardOff\":[4,\"billboard-off\"],\"interactionsOff\":[516,\"interactions-off\"]}]]],[\"vertex-viewer-markup-arrow_3.cjs\",[[1,\"vertex-viewer-markup-arrow\",{\"start\":[1040],\"startJson\":[1,\"start\"],\"end\":[1040],\"endJson\":[1,\"end\"],\"mode\":[513],\"viewer\":[16],\"elementBounds\":[32],\"dispose\":[64]}],[1,\"vertex-viewer-markup-circle\",{\"bounds\":[1040],\"boundsJson\":[1,\"bounds\"],\"mode\":[513],\"viewer\":[16],\"elementBounds\":[32],\"dispose\":[64]}],[1,\"vertex-viewer-markup-freeform\",{\"points\":[1040],\"pointsJson\":[1,\"points\"],\"bounds\":[1040],\"boundsJson\":[1,\"bounds\"],\"mode\":[513],\"viewer\":[16],\"elementBounds\":[32],\"screenPoints\":[32],\"dispose\":[64]}]]]]"), options);
78
78
  });
@@ -24,6 +24,7 @@
24
24
  "./components/viewer-default-toolbar/viewer-default-toolbar.js",
25
25
  "./components/viewer-dom-element/viewer-dom-element.js",
26
26
  "./components/viewer-dom-group/viewer-dom-group.js",
27
+ "./components/viewer-drag-select/viewer-drag-select.js",
27
28
  "./components/viewer-layer/viewer-layer.js",
28
29
  "./components/viewer-markup/viewer-markup.js",
29
30
  "./components/viewer-measurement-details/viewer-measurement-details.js",
@@ -0,0 +1,18 @@
1
+ export class ViewerDragSelectController {
2
+ constructor(viewer, model) {
3
+ this.viewer = viewer;
4
+ this.model = model;
5
+ this.dragEndDisposable = this.model.onDragFinished(this.selectFromBounds);
6
+ }
7
+ dispose() {
8
+ var _a;
9
+ (_a = this.dragEndDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
10
+ }
11
+ async selectFromBounds(event) {
12
+ const scene = await this.viewer.scene();
13
+ await scene
14
+ .items((op) => op.where((q) => q.withVolumeIntersection(event.rectangle)).select())
15
+ .execute();
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdlci1kcmFnLXNlbGVjdC9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTywwQkFBMEI7RUFHckMsWUFDVSxNQUErQixFQUMvQixLQUE0QjtJQUQ1QixXQUFNLEdBQU4sTUFBTSxDQUF5QjtJQUMvQixVQUFLLEdBQUwsS0FBSyxDQUF1QjtJQUVwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7RUFDNUUsQ0FBQztFQUVNLE9BQU87O0lBQ1osTUFBQSxJQUFJLENBQUMsaUJBQWlCLDBDQUFFLE9BQU8sRUFBRSxDQUFDO0VBQ3BDLENBQUM7RUFFTSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBd0I7SUFDcEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRXhDLE1BQU0sS0FBSztPQUNSLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ1osRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUNwRTtPQUNBLE9BQU8sRUFBRSxDQUFDO0VBQ2YsQ0FBQztDQUNGIn0=
@@ -0,0 +1,41 @@
1
+ import { Point } from '@vertexvis/geometry';
2
+ export class ViewerDragSelectInteractionHandler {
3
+ constructor(viewer, dragSelectModel) {
4
+ this.viewer = viewer;
5
+ this.dragSelectModel = dragSelectModel;
6
+ this.handleDragBegin = this.handleDragBegin.bind(this);
7
+ this.handleDrag = this.handleDrag.bind(this);
8
+ this.handleDragEnd = this.handleDragEnd.bind(this);
9
+ }
10
+ initialize(element, api) {
11
+ this.element = element;
12
+ this.api = api;
13
+ this.element.addEventListener('pointerdown', this.handleDragBegin);
14
+ }
15
+ dispose() {
16
+ var _a, _b, _c;
17
+ (_a = this.element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointerdown', this.handleDragBegin);
18
+ (_b = this.element) === null || _b === void 0 ? void 0 : _b.removeEventListener('pointermove', this.handleDrag);
19
+ (_c = this.element) === null || _c === void 0 ? void 0 : _c.removeEventListener('pointerup', this.handleDragEnd);
20
+ }
21
+ handleDragBegin(event) {
22
+ var _a, _b;
23
+ if (event.buttons === 1) {
24
+ this.viewer.cameraControls = false;
25
+ this.dragSelectModel.updateStartPoint(Point.create(event.offsetX, event.offsetY));
26
+ (_a = this.element) === null || _a === void 0 ? void 0 : _a.addEventListener('pointermove', this.handleDrag);
27
+ (_b = this.element) === null || _b === void 0 ? void 0 : _b.addEventListener('pointerup', this.handleDragEnd);
28
+ }
29
+ }
30
+ handleDrag(event) {
31
+ this.dragSelectModel.updateEndPoint(Point.create(event.offsetX, event.offsetY));
32
+ }
33
+ handleDragEnd() {
34
+ var _a, _b;
35
+ this.viewer.cameraControls = true;
36
+ this.dragSelectModel.clear();
37
+ (_a = this.element) === null || _a === void 0 ? void 0 : _a.removeEventListener('pointermove', this.handleDrag);
38
+ (_b = this.element) === null || _b === void 0 ? void 0 : _b.removeEventListener('pointerup', this.handleDragEnd);
39
+ }
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24taGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdlci1kcmFnLXNlbGVjdC9pbnRlcmFjdGlvbi1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU01QyxNQUFNLE9BQU8sa0NBQWtDO0VBSTdDLFlBQ1UsTUFBK0IsRUFDL0IsZUFBc0M7SUFEdEMsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7SUFDL0Isb0JBQWUsR0FBZixlQUFlLENBQXVCO0lBRTlDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0VBQ3JELENBQUM7RUFFTSxVQUFVLENBQUMsT0FBb0IsRUFBRSxHQUFtQjtJQUN6RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUVmLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztFQUNyRSxDQUFDO0VBRU0sT0FBTzs7SUFDWixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkUsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztFQUNyRSxDQUFDO0VBRU8sZUFBZSxDQUFDLEtBQW1COztJQUN6QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxFQUFFO01BQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztNQUVuQyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUNuQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUMzQyxDQUFDO01BRUYsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO01BQy9ELE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUNqRTtFQUNILENBQUM7RUFFTyxVQUFVLENBQUMsS0FBbUI7SUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQzNDLENBQUM7RUFDSixDQUFDO0VBRU8sYUFBYTs7SUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBRWxDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFN0IsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztFQUNyRSxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,49 @@
1
+ import { Point, Rectangle } from '@vertexvis/geometry';
2
+ import { EventDispatcher } from '@vertexvis/utils';
3
+ export class ViewerDragSelectModel {
4
+ constructor() {
5
+ this.dragFinished = new EventDispatcher();
6
+ this.boundsChanged = new EventDispatcher();
7
+ }
8
+ updateStartPoint(point) {
9
+ this.dragStartPoint = point;
10
+ }
11
+ updateEndPoint(point) {
12
+ var _a;
13
+ this.dragEndPoint = point;
14
+ this.direction =
15
+ Point.subtract(point, (_a = this.dragStartPoint) !== null && _a !== void 0 ? _a : point).x > 0
16
+ ? 'right'
17
+ : 'left';
18
+ this.boundsChanged.emit({
19
+ rectangle: this.getDragBounds(),
20
+ direction: this.getDragDirection(),
21
+ });
22
+ }
23
+ clear() {
24
+ this.dragFinished.emit({
25
+ rectangle: this.getDragBounds(),
26
+ direction: this.getDragDirection(),
27
+ });
28
+ this.dragStartPoint = undefined;
29
+ this.dragEndPoint = undefined;
30
+ this.boundsChanged.emit({});
31
+ }
32
+ onDragFinished(listener) {
33
+ return this.dragFinished.on(listener);
34
+ }
35
+ onBoundsChanged(listener) {
36
+ return this.boundsChanged.on(listener);
37
+ }
38
+ getDragBounds() {
39
+ if (this.dragStartPoint != null && this.dragEndPoint != null) {
40
+ return Rectangle.fromPoints(this.dragStartPoint, this.dragEndPoint);
41
+ }
42
+ return Rectangle.create(0, 0, 0, 0);
43
+ }
44
+ getDragDirection() {
45
+ var _a;
46
+ return (_a = this.direction) !== null && _a !== void 0 ? _a : 'right';
47
+ }
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3ZXItZHJhZy1zZWxlY3QvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQWMsZUFBZSxFQUFZLE1BQU0sa0JBQWtCLENBQUM7QUFjekUsTUFBTSxPQUFPLHFCQUFxQjtFQUFsQztJQUtVLGlCQUFZLEdBQUcsSUFBSSxlQUFlLEVBQXFCLENBQUM7SUFFeEQsa0JBQWEsR0FBRyxJQUFJLGVBQWUsRUFBc0IsQ0FBQztFQWtEcEUsQ0FBQztFQWhEUSxnQkFBZ0IsQ0FBQyxLQUFrQjtJQUN4QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztFQUM5QixDQUFDO0VBRU0sY0FBYyxDQUFDLEtBQWtCOztJQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUUxQixJQUFJLENBQUMsU0FBUztNQUNaLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQUEsSUFBSSxDQUFDLGNBQWMsbUNBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdkQsQ0FBQyxDQUFDLE9BQU87UUFDVCxDQUFDLENBQUMsTUFBTSxDQUFDO0lBRWIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7TUFDdEIsU0FBUyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7TUFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtLQUNuQyxDQUFDLENBQUM7RUFDTCxDQUFDO0VBRU0sS0FBSztJQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO01BQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFO01BQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7S0FDbkMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7SUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFFOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDOUIsQ0FBQztFQUVNLGNBQWMsQ0FBQyxRQUFxQztJQUN6RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQ3hDLENBQUM7RUFFTSxlQUFlLENBQUMsUUFBc0M7SUFDM0QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztFQUN6QyxDQUFDO0VBRU8sYUFBYTtJQUNuQixJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxFQUFFO01BQzVELE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUNyRTtJQUNELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztFQUN0QyxDQUFDO0VBRU8sZ0JBQWdCOztJQUN0QixPQUFPLE1BQUEsSUFBSSxDQUFDLFNBQVMsbUNBQUksT0FBTyxDQUFDO0VBQ25DLENBQUM7Q0FDRiJ9
@@ -0,0 +1,36 @@
1
+ :host {
2
+ --viewer-drag-select-outline-exclusive-border-color: #5555ff;
3
+ --viewer-drag-select-outline-exclusive-border-style: solid;
4
+ --viewer-drag-select-outline-exclusive-fill-color: blue;
5
+ --viewer-drag-select-outline-inclusive-border-color: #ff5555;
6
+ --viewer-drag-select-outline-inclusive-border-style: dashed;
7
+ --viewer-drag-select-outline-inclusive-fill-color: red;
8
+ --viewer-drag-select-outline-fill-opacity: 0.1;
9
+ }
10
+
11
+ .outline {
12
+ position: absolute;
13
+ }
14
+
15
+ .outline.exclusive {
16
+ border: 3px var(--viewer-drag-select-outline-exclusive-border-style) var(--viewer-drag-select-outline-exclusive-border-color);
17
+ }
18
+
19
+ .outline.inclusive {
20
+ border: 3px var(--viewer-drag-select-outline-inclusive-border-style) var(--viewer-drag-select-outline-inclusive-border-color);
21
+ }
22
+
23
+ .fill {
24
+ position: relative;
25
+ width: 100%;
26
+ height: 100%;
27
+ opacity: var(--viewer-drag-select-outline-fill-opacity);
28
+ }
29
+
30
+ .fill.exclusive {
31
+ background-color: var(--viewer-drag-select-outline-exclusive-fill-color);
32
+ }
33
+
34
+ .fill.inclusive {
35
+ background-color: var(--viewer-drag-select-outline-inclusive-fill-color);
36
+ }