@vertexvis/viewer 0.15.2-testing.3 → 0.15.2

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 (274) hide show
  1. package/dist/cjs/_commonjsHelpers-dcc4cf71.js +1 -1
  2. package/dist/cjs/app-globals-2035678d.js +1 -1
  3. package/dist/cjs/browser.esm-5d246754.js +1 -1
  4. package/dist/cjs/bundle.esm-22b6f2d6.js +1 -1
  5. package/dist/cjs/bundle.esm-b43c197a.js +38280 -0
  6. package/dist/cjs/{config-6e330a82.js → config-3fc1c093.js} +2 -2
  7. package/dist/cjs/{cursors-85d403e9.js → cursors-02a06ec9.js} +7 -1
  8. package/dist/cjs/dom-8d90bfaf.js +1 -1
  9. package/dist/cjs/dom-92728e58.js +1 -1
  10. package/dist/cjs/dom-d1bbd67c.js +1 -1
  11. package/dist/cjs/dom-d57d3c3b.js +1 -1
  12. package/dist/cjs/elementRectObserver-9b28f182.js +1 -1
  13. package/dist/cjs/entities-9eb7e608.js +1 -1
  14. package/dist/cjs/{entities-7b2e8c03.js → entities-c1c3c6a3.js} +3 -3
  15. package/dist/cjs/errors-1b37642b.js +97 -0
  16. package/dist/cjs/grpc-web-client.umd-2af20c1b.js +1 -1
  17. package/dist/cjs/index-70db349e.js +1 -1
  18. package/dist/cjs/index-b9d13137.js +1 -1
  19. package/dist/cjs/index.cjs.js +9 -6
  20. package/dist/cjs/loader.cjs.js +2 -2
  21. package/dist/cjs/{mapper-0f2294a6.js → mapper-d4145b72.js} +2 -2
  22. package/dist/cjs/markup-4a2fc281.js +1 -1
  23. package/dist/cjs/{model-b61f4d20.js → model-19fb560a.js} +27 -6
  24. package/dist/cjs/model-20a70d27.js +1 -1
  25. package/dist/cjs/overlays-b03ec80b.js +1 -1
  26. package/dist/cjs/png-decoder-ef097f37.js +1 -1
  27. package/dist/cjs/results-178e89a3.js +1 -1
  28. package/dist/cjs/{scene-56438693.js → scene-a94e6fa5.js} +293 -215
  29. package/dist/cjs/shadow-css-6b9daa41.js +1 -1
  30. package/dist/cjs/stencil-fc92b387.js +1 -1
  31. package/dist/cjs/{streamAttributes-c64aee75.js → streamAttributes-cf0c513d.js} +8424 -41995
  32. package/dist/cjs/templates-e57b3741.js +1 -1
  33. package/dist/cjs/utils-2c8e2aa3.js +1 -1
  34. package/dist/cjs/utils-ea359796.js +1 -1
  35. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
  36. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
  37. package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
  38. package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
  39. package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
  40. package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
  41. package/dist/cjs/vertex-scene-tree.cjs.entry.js +158 -37
  42. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +425 -0
  43. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
  44. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
  45. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +3 -2
  46. package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
  47. package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
  49. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
  50. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
  51. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
  52. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +3 -2
  53. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +5 -4
  54. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +4 -3
  55. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +7 -6
  56. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +10 -5
  57. package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +15 -13
  58. package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +20 -9
  59. package/dist/cjs/vertex-viewer-spinner.cjs.entry.js +1 -1
  60. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +6 -4
  61. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +5 -4
  62. package/dist/cjs/vertex-viewer.cjs.entry.js +80 -53
  63. package/dist/cjs/viewer.cjs.js +2 -2
  64. package/dist/cjs/viewport-5ca619f7.js +1 -1
  65. package/dist/collection/collection-manifest.json +1 -0
  66. package/dist/collection/components/scene-tree/lib/controller.js +108 -28
  67. package/dist/collection/components/scene-tree/lib/errors.js +35 -2
  68. package/dist/collection/components/scene-tree/scene-tree.js +12 -5
  69. package/dist/collection/components/viewer/viewer.js +17 -15
  70. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +79 -0
  71. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +278 -0
  72. package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +5 -1
  73. package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +1 -1
  74. package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +14 -12
  75. package/dist/collection/components/viewer-pin-tool/utils.js +25 -4
  76. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.css +12 -0
  77. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +9 -2
  78. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -2
  79. package/dist/collection/components/viewer-view-cube/viewer-view-cube.js +5 -5
  80. package/dist/collection/lib/cursors.js +6 -1
  81. package/dist/collection/lib/interactions/baseInteractionHandler.js +12 -2
  82. package/dist/collection/lib/interactions/mouseInteractions.js +5 -4
  83. package/dist/collection/lib/mappers/frameStreaming.js +11 -11
  84. package/dist/collection/lib/pins/interactions.js +9 -5
  85. package/dist/collection/lib/pins/model.js +2 -2
  86. package/dist/collection/lib/rendering/matrices.js +2 -4
  87. package/dist/collection/lib/scenes/camera.js +4 -2
  88. package/dist/collection/lib/scenes/mapper.js +103 -30
  89. package/dist/collection/lib/scenes/queries.js +101 -46
  90. package/dist/collection/lib/scenes/scene.js +15 -7
  91. package/dist/collection/lib/stream/stream.js +24 -12
  92. package/dist/collection/lib/transforms/drawable.js +2 -2
  93. package/dist/collection/lib/types/frame.js +4 -3
  94. package/dist/collection/lib/types/frameCamera.js +6 -1
  95. package/dist/collection/lib/types/index.js +3 -2
  96. package/dist/collection/lib/types/loadableResource.js +24 -4
  97. package/dist/collection/lib/types/sceneViewStateIdentifier.js +7 -0
  98. package/dist/collection/lib/volume-intersection/controller.js +104 -0
  99. package/dist/collection/lib/volume-intersection/interactions.js +82 -0
  100. package/dist/collection/lib/volume-intersection/model.js +84 -0
  101. package/dist/custom-elements/index.d.ts +6 -0
  102. package/dist/custom-elements/index.js +23825 -18358
  103. package/dist/custom-elements/png-decoder.js +1 -1
  104. package/dist/esm/_commonjsHelpers-11ca3be1.js +1 -1
  105. package/dist/esm/app-globals-40df99a0.js +1 -1
  106. package/dist/esm/{browser.esm-ae4ca1f1.js → browser.esm-07e7db8f.js} +2 -2
  107. package/dist/esm/bundle.esm-91404853.js +38273 -0
  108. package/dist/esm/{bundle.esm-ce2c7ad3.js → bundle.esm-92e615bf.js} +2 -2
  109. package/dist/esm/{config-49688db8.js → config-25384fe6.js} +3 -3
  110. package/dist/esm/{cursors-a8d4b3f4.js → cursors-127a3bb7.js} +8 -3
  111. package/dist/esm/dom-0440435d.js +1 -1
  112. package/dist/esm/dom-be140992.js +1 -1
  113. package/dist/esm/dom-e19ee80b.js +1 -1
  114. package/dist/esm/{dom-5b164305.js → dom-e436f0c0.js} +2 -2
  115. package/dist/esm/elementRectObserver-39cf7b95.js +1 -1
  116. package/dist/esm/{entities-a5bfef48.js → entities-0e325765.js} +4 -4
  117. package/dist/esm/entities-ce81dd7f.js +1 -1
  118. package/dist/esm/errors-a4cc9caa.js +85 -0
  119. package/dist/esm/grpc-web-client.umd-5409853c.js +1 -1
  120. package/dist/esm/index-26dfb2d0.js +1 -1
  121. package/dist/esm/index-e841d91b.js +1 -1
  122. package/dist/esm/index.js +15 -13
  123. package/dist/esm/index.mjs +15 -13
  124. package/dist/esm/loader.js +2 -2
  125. package/dist/esm/loader.mjs +2 -2
  126. package/dist/esm/{mapper-5894c2a4.js → mapper-dd937684.js} +3 -3
  127. package/dist/esm/{markup-3c2900f3.js → markup-2dde1f10.js} +3 -3
  128. package/dist/esm/{model-fa9af61a.js → model-3cd8cd47.js} +2 -2
  129. package/dist/esm/{model-40bd1711.js → model-bfe1c4d8.js} +29 -8
  130. package/dist/esm/{overlays-cc3efc30.js → overlays-8f195eb3.js} +3 -3
  131. package/dist/esm/{png-decoder-d4b65417.js → png-decoder-45f38ea3.js} +2 -2
  132. package/dist/esm/{results-3b4df2cf.js → results-38baef59.js} +2 -2
  133. package/dist/esm/{scene-5b919078.js → scene-2543b3bd.js} +254 -168
  134. package/dist/esm/shadow-css-51dd7708.js +1 -1
  135. package/dist/esm/stencil-bfbf099f.js +1 -1
  136. package/dist/esm/{streamAttributes-7e8565be.js → streamAttributes-23270e27.js} +8429 -41994
  137. package/dist/esm/templates-022199c1.js +1 -1
  138. package/dist/esm/{utils-81347571.js → utils-2306c744.js} +2 -2
  139. package/dist/esm/{utils-559e1632.js → utils-f03802ef.js} +2 -2
  140. package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
  141. package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
  142. package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
  143. package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
  144. package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
  145. package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
  146. package/dist/esm/vertex-scene-tree.entry.js +160 -39
  147. package/dist/esm/vertex-viewer-box-query-tool.entry.js +421 -0
  148. package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
  149. package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
  150. package/dist/esm/vertex-viewer-dom-element_2.entry.js +6 -5
  151. package/dist/esm/vertex-viewer-dom-group.entry.js +3 -3
  152. package/dist/esm/vertex-viewer-icon.entry.js +1 -1
  153. package/dist/esm/vertex-viewer-layer.entry.js +1 -1
  154. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
  155. package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
  156. package/dist/esm/vertex-viewer-markup.entry.js +5 -5
  157. package/dist/esm/vertex-viewer-measurement-details.entry.js +5 -4
  158. package/dist/esm/vertex-viewer-measurement-distance.entry.js +13 -12
  159. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +8 -7
  160. package/dist/esm/vertex-viewer-measurement-precise.entry.js +12 -11
  161. package/dist/esm/vertex-viewer-pin-group.entry.js +13 -8
  162. package/dist/esm/vertex-viewer-pin-label_2.entry.js +18 -16
  163. package/dist/esm/vertex-viewer-pin-tool.entry.js +23 -12
  164. package/dist/esm/vertex-viewer-spinner.entry.js +1 -1
  165. package/dist/esm/vertex-viewer-transform-widget.entry.js +9 -7
  166. package/dist/esm/vertex-viewer-view-cube.entry.js +7 -6
  167. package/dist/esm/vertex-viewer.entry.js +65 -38
  168. package/dist/esm/viewer.js +2 -2
  169. package/dist/esm/{viewport-e39e2eba.js → viewport-f19fc583.js} +2 -2
  170. package/dist/types/components/scene-tree/lib/controller.d.ts +18 -3
  171. package/dist/types/components/scene-tree/lib/errors.d.ts +17 -2
  172. package/dist/types/components/viewer/viewer.d.ts +2 -0
  173. package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +94 -0
  174. package/dist/types/components/viewer-pin-tool/utils.d.ts +1 -1
  175. package/dist/types/components.d.ts +56 -0
  176. package/dist/types/lib/cursors.d.ts +5 -0
  177. package/dist/types/lib/interactions/baseInteractionHandler.d.ts +1 -0
  178. package/dist/types/lib/interactions/mouseInteractions.d.ts +2 -1
  179. package/dist/types/lib/pins/interactions.d.ts +4 -2
  180. package/dist/types/lib/pins/model.d.ts +1 -1
  181. package/dist/types/lib/scenes/camera.d.ts +1 -1
  182. package/dist/types/lib/scenes/mapper.d.ts +5 -1
  183. package/dist/types/lib/scenes/queries.d.ts +55 -28
  184. package/dist/types/lib/scenes/scene.d.ts +10 -1
  185. package/dist/types/lib/types/frame.d.ts +1 -1
  186. package/dist/types/lib/types/index.d.ts +2 -1
  187. package/dist/types/lib/types/loadableResource.d.ts +8 -2
  188. package/dist/types/lib/types/sceneViewStateIdentifier.d.ts +15 -0
  189. package/dist/types/lib/volume-intersection/controller.d.ts +45 -0
  190. package/dist/types/lib/volume-intersection/interactions.d.ts +24 -0
  191. package/dist/types/lib/volume-intersection/model.d.ts +33 -0
  192. package/dist/viewer/index.esm.js +2 -2
  193. package/dist/viewer/{p-ad09c92e.entry.js → p-029fba92.entry.js} +1 -1
  194. package/dist/viewer/p-07aeee89.js +1 -1
  195. package/dist/viewer/{p-29986489.js → p-0a017be7.js} +2 -2
  196. package/dist/viewer/p-0c583cad.entry.js +4 -0
  197. package/dist/viewer/p-0d494d01.js +4 -0
  198. package/dist/viewer/p-0fdad1a5.js +1 -1
  199. package/dist/viewer/{p-3ca4a7c1.js → p-1812c82d.js} +2 -2
  200. package/dist/viewer/{p-7663a603.entry.js → p-191156ad.entry.js} +1 -1
  201. package/dist/viewer/{p-a57dc6e4.entry.js → p-1998284a.entry.js} +2 -2
  202. package/dist/viewer/p-27f715f8.entry.js +4 -0
  203. package/dist/viewer/{p-7f6251da.js → p-283aeac4.js} +2 -2
  204. package/dist/viewer/p-298b63c2.entry.js +4 -0
  205. package/dist/viewer/p-2ace066b.entry.js +4 -0
  206. package/dist/viewer/{p-927b528b.js → p-2b60a8b0.js} +2 -2
  207. package/dist/viewer/{p-050f912b.entry.js → p-2fd123c8.entry.js} +1 -1
  208. package/dist/viewer/p-305a8be6.entry.js +4 -0
  209. package/dist/viewer/p-31724d24.js +4 -0
  210. package/dist/viewer/p-32cc2209.js +4 -0
  211. package/dist/viewer/p-3829dd99.entry.js +4 -0
  212. package/dist/viewer/{p-6da8a28f.entry.js → p-3aae4bf1.entry.js} +2 -2
  213. package/dist/viewer/{p-99352cf0.js → p-42760392.js} +2 -2
  214. package/dist/viewer/p-440c8174.js +4 -0
  215. package/dist/viewer/{p-e422deaf.entry.js → p-4f25e367.entry.js} +2 -2
  216. package/dist/viewer/{p-d64c1e14.entry.js → p-507b5aeb.entry.js} +3 -3
  217. package/dist/viewer/{p-1fc24ec6.js → p-51401063.js} +2 -2
  218. package/dist/viewer/{p-426970b3.entry.js → p-533b1c63.entry.js} +1 -1
  219. package/dist/viewer/{p-dcb9804c.entry.js → p-569ed94a.entry.js} +2 -2
  220. package/dist/viewer/p-5809b400.js +1 -1
  221. package/dist/viewer/p-6072cf84.js +4 -0
  222. package/dist/viewer/{p-e4a26a32.entry.js → p-6406a70a.entry.js} +1 -1
  223. package/dist/viewer/p-6bf0594b.entry.js +4 -0
  224. package/dist/viewer/p-72c59115.entry.js +4 -0
  225. package/dist/viewer/{p-d71652b0.entry.js → p-8ac7290a.entry.js} +1 -1
  226. package/dist/viewer/{p-f184bcab.entry.js → p-8afcbd99.entry.js} +1 -1
  227. package/dist/viewer/p-92fe4417.js +1 -1
  228. package/dist/viewer/{p-5746931d.entry.js → p-952a217d.entry.js} +1 -1
  229. package/dist/viewer/p-98e6a50e.js +1 -1
  230. package/dist/viewer/{p-99fd27e0.entry.js → p-9cb99ea8.entry.js} +1 -1
  231. package/dist/viewer/p-a2e9e8a5.js +4 -0
  232. package/dist/viewer/p-a380f0c2.js +1 -1
  233. package/dist/viewer/{p-661b5234.js → p-acfc5c50.js} +2 -2
  234. package/dist/viewer/{p-82bd25e8.entry.js → p-b3540dce.entry.js} +1 -1
  235. package/dist/viewer/p-b5ca30cd.js +4 -0
  236. package/dist/viewer/p-b74242dc.js +1 -1
  237. package/dist/viewer/p-bc1160cf.entry.js +4 -0
  238. package/dist/viewer/{p-c5e67a1e.entry.js → p-bd5a302c.entry.js} +2 -2
  239. package/dist/viewer/p-c738296e.js +1 -1
  240. package/dist/viewer/p-c8c4343b.js +1 -1
  241. package/dist/viewer/p-cd9ccb9e.entry.js +4 -0
  242. package/dist/viewer/{p-40a9dd7d.js → p-cf689bbd.js} +2 -2
  243. package/dist/viewer/{p-70e5e8a8.js → p-d216a866.js} +2 -2
  244. package/dist/viewer/p-d4ed7b8d.js +4 -0
  245. package/dist/viewer/p-d6d5d5de.entry.js +4 -0
  246. package/dist/viewer/p-d6fce4c1.js +1 -1
  247. package/dist/viewer/p-df8fbe56.js +1 -1
  248. package/dist/viewer/p-dfe5a97d.js +1 -1
  249. package/dist/viewer/{p-00ce31a0.js → p-e1896ce4.js} +2 -2
  250. package/dist/viewer/p-e23af70c.js +4 -0
  251. package/dist/viewer/p-e4aa9cdb.js +1 -1
  252. package/dist/viewer/p-e929dd63.entry.js +4 -0
  253. package/dist/viewer/{p-65af7a89.js → p-fc7d8c03.js} +3 -3
  254. package/dist/viewer/viewer.esm.js +2 -2
  255. package/package.json +9 -9
  256. package/readme.md +4 -4
  257. package/dist/viewer/p-096e60bd.js +0 -4
  258. package/dist/viewer/p-0cf4f05d.entry.js +0 -4
  259. package/dist/viewer/p-0fcafbf9.js +0 -4
  260. package/dist/viewer/p-1abfe4bf.js +0 -4
  261. package/dist/viewer/p-1e0dd2e9.js +0 -4
  262. package/dist/viewer/p-22ae6785.entry.js +0 -4
  263. package/dist/viewer/p-27dbc865.js +0 -4
  264. package/dist/viewer/p-31b87b90.js +0 -4
  265. package/dist/viewer/p-3f6f2457.entry.js +0 -4
  266. package/dist/viewer/p-61e50e11.entry.js +0 -4
  267. package/dist/viewer/p-7579e2a1.entry.js +0 -4
  268. package/dist/viewer/p-920c9a88.entry.js +0 -4
  269. package/dist/viewer/p-990f98c2.js +0 -4
  270. package/dist/viewer/p-9dfe0b43.entry.js +0 -4
  271. package/dist/viewer/p-a6558bb2.entry.js +0 -4
  272. package/dist/viewer/p-b7e170ac.entry.js +0 -4
  273. package/dist/viewer/p-d34ad2b2.entry.js +0 -4
  274. package/dist/viewer/p-f3ea0c2b.entry.js +0 -4
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  function stampTemplate(template) {
5
5
  const fragment = template.content.cloneNode(true);
@@ -1,7 +1,7 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import { p as point, l as line3 } from './bundle.esm-ce2c7ad3.js';
4
+ import { p as point, l as line3 } from './bundle.esm-92e615bf.js';
5
5
 
6
6
  function translateWorldLineToViewport(line, params) {
7
7
  const { camera, viewport } = params;
@@ -1,7 +1,7 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import { p as point, t as matrix, h as angle, i as rectangle } from './bundle.esm-ce2c7ad3.js';
4
+ import { p as point, t as matrix, c as angle, e as rectangle } from './bundle.esm-92e615bf.js';
5
5
 
6
6
  function createArrowheadPoints(start, end, arrowAngle = 60) {
7
7
  const distance = point.distance(start, end);
@@ -1,12 +1,12 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-26dfb2d0.js';
5
5
  import { c as classnames } from './index-e841d91b.js';
6
6
  import { d as debounceEvent, r as readDOM } from './stencil-bfbf099f.js';
7
- import { f as __assign, p as point } from './bundle.esm-ce2c7ad3.js';
7
+ import { j as __assign, p as point } from './bundle.esm-92e615bf.js';
8
8
  import { i as isLoadedRow, a as getSceneTreeViewportHeight } from './dom-e19ee80b.js';
9
- import { E as EventDispatcher } from './browser.esm-ae4ca1f1.js';
9
+ import { E as EventDispatcher } from './browser.esm-07e7db8f.js';
10
10
  import './_commonjsHelpers-11ca3be1.js';
11
11
 
12
12
  const sceneTreeSearchCss = "button{border:none;background:transparent;cursor:pointer;margin:0;padding:0}:host{--scene-tree-search-search-icon-offset:8px;--scene-tree-search-clear-button-offset:8px;--scene-tree-search-input-padding:0.5rem 32px;--scene-tree-search-input-border:none;--scene-tree-search-input-border-radius:0.25rem;--scene-tree-search-input-background:none;--scene-tree-search-focused-input-background:var(--neutral-200);--scene-tree-search-focused-input-outline:none;display:block;width:100%;font-size:0.875rem}.root{width:100%;position:relative}.input{background:var(--scene-tree-search-input-background);border:var(--scene-tree-search-input-border);border-radius:var(--scene-tree-search-input-border-radius);box-sizing:border-box;font-size:inherit;padding:var(--scene-tree-search-input-padding);outline:none;width:100%}.input.background{background:var(--scene-tree-search-focused-input-background);outline:var(--scene-tree-search-focused-input-outline)}.overlay{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.overlay-clear{display:none;right:var(--scene-tree-search-clear-button-offset)}.overlay-clear.show{display:flex}.icon{color:var(--neutral-700)}.icon-search{position:absolute;left:var(--scene-tree-search-search-icon-offset);pointer-events:none}.clear-btn{display:flex;align-items:center;justify-content:center;pointer-events:initial;cursor:pointer}.clear-btn:hover{color:var(--neutral-800)}.clear-btn:disabled{pointer-events:none;opacity:0.5}";
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-26dfb2d0.js';
5
5
  import { c as classnames } from './index-e841d91b.js';
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import { r as registerInstance, h, H as Host } from './index-26dfb2d0.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import { r as registerInstance, h, H as Host } from './index-26dfb2d0.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import { r as registerInstance, h, H as Host } from './index-26dfb2d0.js';
5
5
  import { c as classnames } from './index-e841d91b.js';
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import { r as registerInstance, h, H as Host } from './index-26dfb2d0.js';
5
5
 
@@ -1,14 +1,16 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import { h, F as Fragment, r as registerInstance, c as createEvent, f as forceUpdate, H as Host, g as getElement } from './index-26dfb2d0.js';
5
- import { o as __rest } from './bundle.esm-ce2c7ad3.js';
5
+ import { o as __rest } from './bundle.esm-92e615bf.js';
6
6
  import { c as createCommonjsModule } from './_commonjsHelpers-11ca3be1.js';
7
7
  import { a as googleProtobuf, w as wrappers_pb, g as grpcWebClient_umd } from './grpc-web-client.umd-5409853c.js';
8
- import { p as parseConfig } from './config-49688db8.js';
9
- import { E as EventDispatcher } from './browser.esm-ae4ca1f1.js';
8
+ import { p as parseConfig } from './config-25384fe6.js';
9
+ import { E as EventDispatcher } from './browser.esm-07e7db8f.js';
10
+ import { C as CustomError } from './errors-a4cc9caa.js';
10
11
  import { i as isLoadedRow, f as fromNodeProto, g as getSceneTreeContainsElement } from './dom-e19ee80b.js';
11
- import './streamAttributes-7e8565be.js';
12
+ import './streamAttributes-23270e27.js';
13
+ import './bundle.esm-91404853.js';
12
14
  import './entities-ce81dd7f.js';
13
15
 
14
16
  window.requestIdleCallback =
@@ -6698,7 +6700,7 @@ function isSceneTreeTableCellElement(el) {
6698
6700
  }
6699
6701
 
6700
6702
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
6701
- const SceneTreeError = ({ details }, children) => {
6703
+ const SceneTreeError$1 = ({ details }, children) => {
6702
6704
  return (h("div", { class: "error" },
6703
6705
  h("div", { class: "error-section error-message" },
6704
6706
  h("span", null, details.message),
@@ -6717,9 +6719,11 @@ var SceneTreeErrorCode;
6717
6719
  SceneTreeErrorCode[SceneTreeErrorCode["MISSING_VIEWER"] = 2] = "MISSING_VIEWER";
6718
6720
  SceneTreeErrorCode[SceneTreeErrorCode["DISCONNECTED"] = 3] = "DISCONNECTED";
6719
6721
  SceneTreeErrorCode[SceneTreeErrorCode["SUBSCRIPTION_FAILURE"] = 4] = "SUBSCRIPTION_FAILURE";
6722
+ SceneTreeErrorCode[SceneTreeErrorCode["UNAUTHORIZED"] = 5] = "UNAUTHORIZED";
6720
6723
  })(SceneTreeErrorCode || (SceneTreeErrorCode = {}));
6721
6724
  class SceneTreeErrorDetails {
6722
- constructor(code, link) {
6725
+ constructor(name, code, link) {
6726
+ this.name = name;
6723
6727
  this.code = code;
6724
6728
  this.link = link;
6725
6729
  this.message = getSceneTreeErrorMessage(code);
@@ -6737,6 +6741,36 @@ function getSceneTreeErrorMessage(code) {
6737
6741
  return 'Disconnected from server.';
6738
6742
  case SceneTreeErrorCode.SUBSCRIPTION_FAILURE:
6739
6743
  return 'The tree was not able to receive subscription events';
6744
+ case SceneTreeErrorCode.UNAUTHORIZED:
6745
+ return 'The tree was unauthorized to connect to the server. The associated Viewer may not be connected.';
6746
+ }
6747
+ }
6748
+ class SceneTreeError extends CustomError {
6749
+ constructor(message, e) {
6750
+ super(message, e);
6751
+ // Allows for `instanceof` checks.
6752
+ Object.setPrototypeOf(this, SceneTreeError.prototype);
6753
+ }
6754
+ }
6755
+ class SceneTreeUnauthorizedError extends SceneTreeError {
6756
+ constructor(message, e) {
6757
+ super(message, e);
6758
+ // Allows for `instanceof` checks.
6759
+ Object.setPrototypeOf(this, SceneTreeUnauthorizedError.prototype);
6760
+ }
6761
+ }
6762
+ class SceneTreeConnectionCancelledError extends SceneTreeError {
6763
+ constructor(message, e) {
6764
+ super(message, e);
6765
+ // Allows for `instanceof` checks.
6766
+ Object.setPrototypeOf(this, SceneTreeConnectionCancelledError.prototype);
6767
+ }
6768
+ }
6769
+ class SceneTreeOperationFailedError extends SceneTreeError {
6770
+ constructor(message, e) {
6771
+ super(message, e);
6772
+ // Allows for `instanceof` checks.
6773
+ Object.setPrototypeOf(this, SceneTreeOperationFailedError.prototype);
6740
6774
  }
6741
6775
  }
6742
6776
 
@@ -6812,11 +6846,41 @@ class SceneTreeController {
6812
6846
  setDebugLogs(debugLogs) {
6813
6847
  this.debugLogs = debugLogs;
6814
6848
  }
6849
+ async handleSubscriptionHandshakeTimeout(jwtProvider, sceneViewId) {
6850
+ var _a;
6851
+ const connection = this.getState().connection;
6852
+ if (this.isConnectedState(connection) &&
6853
+ ((_a = connection.subscriptionStatusState) === null || _a === void 0 ? void 0 : _a.attempt) != null &&
6854
+ connection.subscriptionStatusState.attempt <
6855
+ SceneTreeController.MAX_SUBSCRIPTION_RETRY_COUNT) {
6856
+ const newAttempt = connection.subscriptionStatusState.attempt + 1;
6857
+ console.warn(`Failed to subscribe within the allotted timeout. Retry attempt={${newAttempt}}`);
6858
+ connection.subscriptionStatusState.stream.cancel();
6859
+ this.clearHandshakeTimer();
6860
+ const stream = await this.subscribe();
6861
+ this.invalidatePage(0);
6862
+ this.updateState(Object.assign(Object.assign({}, this.state), { connection: Object.assign(Object.assign({}, connection), { type: 'connected', subscriptionStatusState: {
6863
+ attempt: newAttempt,
6864
+ stream,
6865
+ } }) }));
6866
+ this.subscriptionHandshakeTimer = window.setTimeout(() => {
6867
+ this.handleSubscriptionHandshakeTimeout(jwtProvider, sceneViewId);
6868
+ }, this.connectOptions.subscriptionHandshakeGracePeriodInMs);
6869
+ }
6870
+ else {
6871
+ this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6872
+ type: 'failure',
6873
+ jwtProvider,
6874
+ sceneViewId,
6875
+ details: new SceneTreeErrorDetails('SUBSCRIPTION_FAILURE', SceneTreeErrorCode.SUBSCRIPTION_FAILURE),
6876
+ } }));
6877
+ }
6878
+ }
6815
6879
  async connect(jwtProvider) {
6816
6880
  const { connection } = this.state;
6817
6881
  const jwt = jwtProvider();
6818
6882
  if (jwt == null) {
6819
- throw new Error('Cannot connect scene tree. JWT is undefined');
6883
+ throw new SceneTreeUnauthorizedError('Cannot connect scene tree. JWT is undefined');
6820
6884
  }
6821
6885
  const { view: sceneViewId } = decodeSceneTreeJwt(jwt);
6822
6886
  if (connection.sceneViewId !== sceneViewId) {
@@ -6833,28 +6897,35 @@ class SceneTreeController {
6833
6897
  this.updateState(Object.assign(Object.assign({}, this.state), { connection: connecting }));
6834
6898
  try {
6835
6899
  this.log('Scene tree controller connecting.');
6836
- await this.fetchPage(0);
6900
+ const [, stream] = await Promise.all([
6901
+ this.fetchPage(0),
6902
+ this.subscribe(),
6903
+ ]);
6904
+ this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6905
+ jwtProvider,
6906
+ sceneViewId,
6907
+ type: 'connected',
6908
+ subscription: { dispose: () => stream.cancel() },
6909
+ subscriptionStatusState: {
6910
+ attempt: 0,
6911
+ stream,
6912
+ },
6913
+ } }));
6837
6914
  this.subscriptionHandshakeTimer = window.setTimeout(() => {
6915
+ this.handleSubscriptionHandshakeTimeout(jwtProvider, sceneViewId);
6916
+ }, this.connectOptions.subscriptionHandshakeGracePeriodInMs);
6917
+ }
6918
+ catch (e) {
6919
+ this.ifErrorIsFatal(e, () => {
6838
6920
  this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6839
6921
  type: 'failure',
6840
6922
  jwtProvider,
6841
6923
  sceneViewId,
6842
- details: new SceneTreeErrorDetails(SceneTreeErrorCode.SUBSCRIPTION_FAILURE),
6924
+ details: this.getConnectionError(e),
6843
6925
  } }));
6844
- }, this.connectOptions.subscriptionHandshakeGracePeriodInMs);
6845
- const stream = await this.subscribe();
6846
- stream.on('end', () => this.startConnectionLostReconnectTimer());
6847
- this.updateState(Object.assign(Object.assign({}, this.state), { connection: Object.assign(Object.assign({}, connecting), { type: 'connected', subscription: { dispose: () => stream.cancel() } }) }));
6848
- }
6849
- catch (e) {
6850
- this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6851
- type: 'failure',
6852
- jwtProvider,
6853
- sceneViewId,
6854
- details: this.getConnectionError(e),
6855
- } }));
6856
- this.clearHandshakeTimer();
6857
- throw e;
6926
+ this.clearHandshakeTimer();
6927
+ throw e;
6928
+ });
6858
6929
  }
6859
6930
  this.startIdleReconnectTimer();
6860
6931
  if (this.metadataKeys.length > 0) {
@@ -6895,7 +6966,9 @@ class SceneTreeController {
6895
6966
  await this.connect(() => viewer.token);
6896
6967
  }
6897
6968
  catch (e) {
6898
- console.error('Scene tree controller erred connecting.', e);
6969
+ this.ifErrorIsFatal(e, () => {
6970
+ console.error('Scene tree controller erred connecting.', e);
6971
+ });
6899
6972
  }
6900
6973
  }
6901
6974
  };
@@ -6935,6 +7008,27 @@ class SceneTreeController {
6935
7008
  rows: reset ? [] : this.state.rows,
6936
7009
  });
6937
7010
  }
7011
+ cancel() {
7012
+ this.log(`Scene tree controller cancelled`);
7013
+ this.clearHandshakeTimer();
7014
+ this.clearReconnectTimer();
7015
+ this.pages.clear();
7016
+ this.activeRowRange = [];
7017
+ const { connection } = this.state;
7018
+ if (connection.type === 'connected') {
7019
+ connection.subscription.dispose();
7020
+ }
7021
+ this.updateState({
7022
+ connection: {
7023
+ type: 'cancelled',
7024
+ jwtProvider: connection.jwtProvider,
7025
+ sceneViewId: connection.sceneViewId,
7026
+ },
7027
+ isSearching: false,
7028
+ totalRows: 0,
7029
+ rows: [],
7030
+ });
7031
+ }
6938
7032
  /**
6939
7033
  * Collapses a node with the given node ID.
6940
7034
  *
@@ -7000,7 +7094,7 @@ class SceneTreeController {
7000
7094
  await this.fetchUnloadedPagesInActiveRows();
7001
7095
  }
7002
7096
  if (locatedIndex == null) {
7003
- throw new Error('Cannot locate node. Location index is undefined.');
7097
+ throw new SceneTreeOperationFailedError('Cannot locate node. Location index is undefined.');
7004
7098
  }
7005
7099
  return locatedIndex.value;
7006
7100
  });
@@ -7248,6 +7342,7 @@ class SceneTreeController {
7248
7342
  });
7249
7343
  stream.on('end', () => {
7250
7344
  this.invalidateAfterOffset(0);
7345
+ this.startConnectionLostReconnectTimer();
7251
7346
  });
7252
7347
  return stream;
7253
7348
  });
@@ -7324,7 +7419,8 @@ class SceneTreeController {
7324
7419
  rows[this.activeRowRange[1]] == null);
7325
7420
  }
7326
7421
  updateState(newState) {
7327
- if (this.loadingTimer && !this.isViewLoading(newState.rows)) {
7422
+ const updateLoadingTimer = this.loadingTimer && !this.isViewLoading(newState.rows);
7423
+ if (updateLoadingTimer) {
7328
7424
  clearTimeout(this.loadingTimer);
7329
7425
  this.loadingTimer = undefined;
7330
7426
  this.state = Object.assign(Object.assign({}, newState), { shouldShowLoading: false });
@@ -7365,7 +7461,7 @@ class SceneTreeController {
7365
7461
  resolve(res);
7366
7462
  }
7367
7463
  else {
7368
- reject(new Error('Invalid response. Both error and result are null'));
7464
+ reject(new SceneTreeError('Invalid response. Both error and result are null'));
7369
7465
  }
7370
7466
  });
7371
7467
  });
@@ -7387,24 +7483,38 @@ class SceneTreeController {
7387
7483
  return then(jwt);
7388
7484
  }
7389
7485
  else {
7390
- throw new Error('SceneTreeController cannot perform request. Viewer JWT is undefined.');
7486
+ throw new SceneTreeUnauthorizedError('SceneTreeController cannot perform request. Viewer JWT is undefined.');
7391
7487
  }
7392
7488
  }
7489
+ else if (connection.type === 'cancelled') {
7490
+ throw new SceneTreeConnectionCancelledError(`Request attempted, but controller was cancelled`);
7491
+ }
7393
7492
  else {
7394
- throw new Error('SceneTreeController is not in connected state');
7493
+ throw new SceneTreeError('SceneTreeController is not in connected state');
7494
+ }
7495
+ }
7496
+ ifErrorIsFatal(error, then) {
7497
+ if (!(error instanceof SceneTreeConnectionCancelledError)) {
7498
+ then();
7395
7499
  }
7396
7500
  }
7397
7501
  getConnectionError(e) {
7398
7502
  if (isGrpcServiceError(e)) {
7399
7503
  if (e.code === grpcWebClient_umd.grpc.Code.FailedPrecondition) {
7400
- return new SceneTreeErrorDetails(SceneTreeErrorCode.SCENE_TREE_DISABLED);
7504
+ return new SceneTreeErrorDetails('SCENE_TREE_DISABLED', SceneTreeErrorCode.SCENE_TREE_DISABLED);
7505
+ }
7506
+ else if (e.code === grpcWebClient_umd.grpc.Code.Unauthenticated) {
7507
+ return new SceneTreeErrorDetails('UNAUTHORIZED', SceneTreeErrorCode.UNAUTHORIZED);
7401
7508
  }
7402
7509
  else {
7403
- return new SceneTreeErrorDetails(SceneTreeErrorCode.UNKNOWN);
7510
+ return new SceneTreeErrorDetails('UNKNOWN', SceneTreeErrorCode.UNKNOWN);
7404
7511
  }
7405
7512
  }
7513
+ else if (e instanceof SceneTreeUnauthorizedError) {
7514
+ return new SceneTreeErrorDetails('UNAUTHORIZED', SceneTreeErrorCode.UNAUTHORIZED);
7515
+ }
7406
7516
  else {
7407
- return new SceneTreeErrorDetails(SceneTreeErrorCode.UNKNOWN);
7517
+ return new SceneTreeErrorDetails('UNKNOWN', SceneTreeErrorCode.UNKNOWN);
7408
7518
  }
7409
7519
  }
7410
7520
  constrainPageRange(start, end) {
@@ -7424,9 +7534,13 @@ class SceneTreeController {
7424
7534
  console.debug(message, optionalParams);
7425
7535
  }
7426
7536
  }
7537
+ isConnectedState(connection) {
7538
+ return connection.type === 'connected';
7539
+ }
7427
7540
  }
7428
7541
  SceneTreeController.IDLE_RECONNECT_IN_SECONDS = 4 * 60;
7429
7542
  SceneTreeController.LOST_CONNECTION_RECONNECT_IN_SECONDS = 2;
7543
+ SceneTreeController.MAX_SUBSCRIPTION_RETRY_COUNT = 2;
7430
7544
 
7431
7545
  async function showItem(viewer, id, { suppliedCorrelationId } = {}) {
7432
7546
  const scene = await viewer.scene();
@@ -7812,9 +7926,15 @@ const SceneTree = class {
7812
7926
  */
7813
7927
  async selectFilteredItems(term, options) {
7814
7928
  if (this.viewer != null) {
7815
- const columnsToSearch = this.metadataSearchKeys.length > 0
7929
+ const definedMetadataKeys = this.metadataSearchKeys.length > 0
7816
7930
  ? this.metadataSearchKeys
7817
7931
  : this.metadataKeys;
7932
+ if (definedMetadataKeys.length === 0) {
7933
+ console.warn("No metadata keys were found to perform the selection. Defaulting to ['VERTEX_SCENE_ITEM_NAME']");
7934
+ }
7935
+ const columnsToSearch = definedMetadataKeys.length > 0
7936
+ ? definedMetadataKeys
7937
+ : ['VERTEX_SCENE_ITEM_NAME'];
7818
7938
  await selectFilterResults(this.viewer, term, columnsToSearch, this.metadataSearchExactMatch, Object.assign({ append: false }, options));
7819
7939
  }
7820
7940
  }
@@ -7834,8 +7954,9 @@ const SceneTree = class {
7834
7954
  * @ignore
7835
7955
  */
7836
7956
  disconnectedCallback() {
7837
- var _a;
7957
+ var _a, _b;
7838
7958
  (_a = this.stateMap.viewerDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
7959
+ (_b = this.controller) === null || _b === void 0 ? void 0 : _b.cancel();
7839
7960
  }
7840
7961
  /**
7841
7962
  * @ignore
@@ -7869,7 +7990,7 @@ const SceneTree = class {
7869
7990
  this.stateMap.componentLoaded = true;
7870
7991
  (_a = this.controller) === null || _a === void 0 ? void 0 : _a.setMetadataKeys(this.metadataKeys);
7871
7992
  if (this.viewer == null) {
7872
- this.errorDetails = new SceneTreeErrorDetails(SceneTreeErrorCode.MISSING_VIEWER);
7993
+ this.errorDetails = new SceneTreeErrorDetails('MISSING_VIEWER', SceneTreeErrorCode.MISSING_VIEWER);
7873
7994
  }
7874
7995
  }
7875
7996
  componentWillRender() {
@@ -7885,10 +8006,10 @@ const SceneTree = class {
7885
8006
  }
7886
8007
  renderError(details) {
7887
8008
  if (details.code !== SceneTreeErrorCode.SCENE_TREE_DISABLED) {
7888
- return (h(SceneTreeError, { details: details }, h("button", { class: "button button-secondary", onClick: () => this.retryConnectToViewer(), disabled: this.attemptingRetry }, "Retry")));
8009
+ return (h(SceneTreeError$1, { details: details }, h("button", { class: "button button-secondary", onClick: () => this.retryConnectToViewer(), disabled: this.attemptingRetry }, "Retry")));
7889
8010
  }
7890
8011
  else {
7891
- return h(SceneTreeError, { details: details });
8012
+ return h(SceneTreeError$1, { details: details });
7892
8013
  }
7893
8014
  }
7894
8015
  /**
@@ -7975,7 +8096,7 @@ const SceneTree = class {
7975
8096
  this.connectionError.emit(state.connection.details);
7976
8097
  }
7977
8098
  else if (state.connection.type === 'disconnected') {
7978
- this.errorDetails = new SceneTreeErrorDetails(SceneTreeErrorCode.DISCONNECTED);
8099
+ this.errorDetails = new SceneTreeErrorDetails('DISCONNECTED', SceneTreeErrorCode.DISCONNECTED);
7979
8100
  }
7980
8101
  else {
7981
8102
  this.errorDetails = undefined;