@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
  'use strict';
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
  'use strict';
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
  'use strict';
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
  'use strict';
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
  'use strict';
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
  'use strict';
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
  'use strict';
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
  'use strict';
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
  'use strict';
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
  'use strict';
5
5
 
@@ -9,10 +9,12 @@ 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-3fc1c093.js');
13
13
  const browser_esm = require('./browser.esm-5d246754.js');
14
+ const errors = require('./errors-1b37642b.js');
14
15
  const dom = require('./dom-92728e58.js');
15
- require('./streamAttributes-c64aee75.js');
16
+ require('./streamAttributes-cf0c513d.js');
17
+ require('./bundle.esm-b43c197a.js');
16
18
  require('./entities-9eb7e608.js');
17
19
 
18
20
  window.requestIdleCallback =
@@ -6702,7 +6704,7 @@ function isSceneTreeTableCellElement(el) {
6702
6704
  }
6703
6705
 
6704
6706
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
6705
- const SceneTreeError = ({ details }, children) => {
6707
+ const SceneTreeError$1 = ({ details }, children) => {
6706
6708
  return (index.h("div", { class: "error" },
6707
6709
  index.h("div", { class: "error-section error-message" },
6708
6710
  index.h("span", null, details.message),
@@ -6721,9 +6723,11 @@ var SceneTreeErrorCode;
6721
6723
  SceneTreeErrorCode[SceneTreeErrorCode["MISSING_VIEWER"] = 2] = "MISSING_VIEWER";
6722
6724
  SceneTreeErrorCode[SceneTreeErrorCode["DISCONNECTED"] = 3] = "DISCONNECTED";
6723
6725
  SceneTreeErrorCode[SceneTreeErrorCode["SUBSCRIPTION_FAILURE"] = 4] = "SUBSCRIPTION_FAILURE";
6726
+ SceneTreeErrorCode[SceneTreeErrorCode["UNAUTHORIZED"] = 5] = "UNAUTHORIZED";
6724
6727
  })(SceneTreeErrorCode || (SceneTreeErrorCode = {}));
6725
6728
  class SceneTreeErrorDetails {
6726
- constructor(code, link) {
6729
+ constructor(name, code, link) {
6730
+ this.name = name;
6727
6731
  this.code = code;
6728
6732
  this.link = link;
6729
6733
  this.message = getSceneTreeErrorMessage(code);
@@ -6741,6 +6745,36 @@ function getSceneTreeErrorMessage(code) {
6741
6745
  return 'Disconnected from server.';
6742
6746
  case SceneTreeErrorCode.SUBSCRIPTION_FAILURE:
6743
6747
  return 'The tree was not able to receive subscription events';
6748
+ case SceneTreeErrorCode.UNAUTHORIZED:
6749
+ return 'The tree was unauthorized to connect to the server. The associated Viewer may not be connected.';
6750
+ }
6751
+ }
6752
+ class SceneTreeError extends errors.CustomError {
6753
+ constructor(message, e) {
6754
+ super(message, e);
6755
+ // Allows for `instanceof` checks.
6756
+ Object.setPrototypeOf(this, SceneTreeError.prototype);
6757
+ }
6758
+ }
6759
+ class SceneTreeUnauthorizedError extends SceneTreeError {
6760
+ constructor(message, e) {
6761
+ super(message, e);
6762
+ // Allows for `instanceof` checks.
6763
+ Object.setPrototypeOf(this, SceneTreeUnauthorizedError.prototype);
6764
+ }
6765
+ }
6766
+ class SceneTreeConnectionCancelledError extends SceneTreeError {
6767
+ constructor(message, e) {
6768
+ super(message, e);
6769
+ // Allows for `instanceof` checks.
6770
+ Object.setPrototypeOf(this, SceneTreeConnectionCancelledError.prototype);
6771
+ }
6772
+ }
6773
+ class SceneTreeOperationFailedError extends SceneTreeError {
6774
+ constructor(message, e) {
6775
+ super(message, e);
6776
+ // Allows for `instanceof` checks.
6777
+ Object.setPrototypeOf(this, SceneTreeOperationFailedError.prototype);
6744
6778
  }
6745
6779
  }
6746
6780
 
@@ -6816,11 +6850,41 @@ class SceneTreeController {
6816
6850
  setDebugLogs(debugLogs) {
6817
6851
  this.debugLogs = debugLogs;
6818
6852
  }
6853
+ async handleSubscriptionHandshakeTimeout(jwtProvider, sceneViewId) {
6854
+ var _a;
6855
+ const connection = this.getState().connection;
6856
+ if (this.isConnectedState(connection) &&
6857
+ ((_a = connection.subscriptionStatusState) === null || _a === void 0 ? void 0 : _a.attempt) != null &&
6858
+ connection.subscriptionStatusState.attempt <
6859
+ SceneTreeController.MAX_SUBSCRIPTION_RETRY_COUNT) {
6860
+ const newAttempt = connection.subscriptionStatusState.attempt + 1;
6861
+ console.warn(`Failed to subscribe within the allotted timeout. Retry attempt={${newAttempt}}`);
6862
+ connection.subscriptionStatusState.stream.cancel();
6863
+ this.clearHandshakeTimer();
6864
+ const stream = await this.subscribe();
6865
+ this.invalidatePage(0);
6866
+ this.updateState(Object.assign(Object.assign({}, this.state), { connection: Object.assign(Object.assign({}, connection), { type: 'connected', subscriptionStatusState: {
6867
+ attempt: newAttempt,
6868
+ stream,
6869
+ } }) }));
6870
+ this.subscriptionHandshakeTimer = window.setTimeout(() => {
6871
+ this.handleSubscriptionHandshakeTimeout(jwtProvider, sceneViewId);
6872
+ }, this.connectOptions.subscriptionHandshakeGracePeriodInMs);
6873
+ }
6874
+ else {
6875
+ this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6876
+ type: 'failure',
6877
+ jwtProvider,
6878
+ sceneViewId,
6879
+ details: new SceneTreeErrorDetails('SUBSCRIPTION_FAILURE', SceneTreeErrorCode.SUBSCRIPTION_FAILURE),
6880
+ } }));
6881
+ }
6882
+ }
6819
6883
  async connect(jwtProvider) {
6820
6884
  const { connection } = this.state;
6821
6885
  const jwt = jwtProvider();
6822
6886
  if (jwt == null) {
6823
- throw new Error('Cannot connect scene tree. JWT is undefined');
6887
+ throw new SceneTreeUnauthorizedError('Cannot connect scene tree. JWT is undefined');
6824
6888
  }
6825
6889
  const { view: sceneViewId } = decodeSceneTreeJwt(jwt);
6826
6890
  if (connection.sceneViewId !== sceneViewId) {
@@ -6837,28 +6901,35 @@ class SceneTreeController {
6837
6901
  this.updateState(Object.assign(Object.assign({}, this.state), { connection: connecting }));
6838
6902
  try {
6839
6903
  this.log('Scene tree controller connecting.');
6840
- await this.fetchPage(0);
6904
+ const [, stream] = await Promise.all([
6905
+ this.fetchPage(0),
6906
+ this.subscribe(),
6907
+ ]);
6908
+ this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6909
+ jwtProvider,
6910
+ sceneViewId,
6911
+ type: 'connected',
6912
+ subscription: { dispose: () => stream.cancel() },
6913
+ subscriptionStatusState: {
6914
+ attempt: 0,
6915
+ stream,
6916
+ },
6917
+ } }));
6841
6918
  this.subscriptionHandshakeTimer = window.setTimeout(() => {
6919
+ this.handleSubscriptionHandshakeTimeout(jwtProvider, sceneViewId);
6920
+ }, this.connectOptions.subscriptionHandshakeGracePeriodInMs);
6921
+ }
6922
+ catch (e) {
6923
+ this.ifErrorIsFatal(e, () => {
6842
6924
  this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6843
6925
  type: 'failure',
6844
6926
  jwtProvider,
6845
6927
  sceneViewId,
6846
- details: new SceneTreeErrorDetails(SceneTreeErrorCode.SUBSCRIPTION_FAILURE),
6928
+ details: this.getConnectionError(e),
6847
6929
  } }));
6848
- }, this.connectOptions.subscriptionHandshakeGracePeriodInMs);
6849
- const stream = await this.subscribe();
6850
- stream.on('end', () => this.startConnectionLostReconnectTimer());
6851
- this.updateState(Object.assign(Object.assign({}, this.state), { connection: Object.assign(Object.assign({}, connecting), { type: 'connected', subscription: { dispose: () => stream.cancel() } }) }));
6852
- }
6853
- catch (e) {
6854
- this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6855
- type: 'failure',
6856
- jwtProvider,
6857
- sceneViewId,
6858
- details: this.getConnectionError(e),
6859
- } }));
6860
- this.clearHandshakeTimer();
6861
- throw e;
6930
+ this.clearHandshakeTimer();
6931
+ throw e;
6932
+ });
6862
6933
  }
6863
6934
  this.startIdleReconnectTimer();
6864
6935
  if (this.metadataKeys.length > 0) {
@@ -6899,7 +6970,9 @@ class SceneTreeController {
6899
6970
  await this.connect(() => viewer.token);
6900
6971
  }
6901
6972
  catch (e) {
6902
- console.error('Scene tree controller erred connecting.', e);
6973
+ this.ifErrorIsFatal(e, () => {
6974
+ console.error('Scene tree controller erred connecting.', e);
6975
+ });
6903
6976
  }
6904
6977
  }
6905
6978
  };
@@ -6939,6 +7012,27 @@ class SceneTreeController {
6939
7012
  rows: reset ? [] : this.state.rows,
6940
7013
  });
6941
7014
  }
7015
+ cancel() {
7016
+ this.log(`Scene tree controller cancelled`);
7017
+ this.clearHandshakeTimer();
7018
+ this.clearReconnectTimer();
7019
+ this.pages.clear();
7020
+ this.activeRowRange = [];
7021
+ const { connection } = this.state;
7022
+ if (connection.type === 'connected') {
7023
+ connection.subscription.dispose();
7024
+ }
7025
+ this.updateState({
7026
+ connection: {
7027
+ type: 'cancelled',
7028
+ jwtProvider: connection.jwtProvider,
7029
+ sceneViewId: connection.sceneViewId,
7030
+ },
7031
+ isSearching: false,
7032
+ totalRows: 0,
7033
+ rows: [],
7034
+ });
7035
+ }
6942
7036
  /**
6943
7037
  * Collapses a node with the given node ID.
6944
7038
  *
@@ -7004,7 +7098,7 @@ class SceneTreeController {
7004
7098
  await this.fetchUnloadedPagesInActiveRows();
7005
7099
  }
7006
7100
  if (locatedIndex == null) {
7007
- throw new Error('Cannot locate node. Location index is undefined.');
7101
+ throw new SceneTreeOperationFailedError('Cannot locate node. Location index is undefined.');
7008
7102
  }
7009
7103
  return locatedIndex.value;
7010
7104
  });
@@ -7252,6 +7346,7 @@ class SceneTreeController {
7252
7346
  });
7253
7347
  stream.on('end', () => {
7254
7348
  this.invalidateAfterOffset(0);
7349
+ this.startConnectionLostReconnectTimer();
7255
7350
  });
7256
7351
  return stream;
7257
7352
  });
@@ -7328,7 +7423,8 @@ class SceneTreeController {
7328
7423
  rows[this.activeRowRange[1]] == null);
7329
7424
  }
7330
7425
  updateState(newState) {
7331
- if (this.loadingTimer && !this.isViewLoading(newState.rows)) {
7426
+ const updateLoadingTimer = this.loadingTimer && !this.isViewLoading(newState.rows);
7427
+ if (updateLoadingTimer) {
7332
7428
  clearTimeout(this.loadingTimer);
7333
7429
  this.loadingTimer = undefined;
7334
7430
  this.state = Object.assign(Object.assign({}, newState), { shouldShowLoading: false });
@@ -7369,7 +7465,7 @@ class SceneTreeController {
7369
7465
  resolve(res);
7370
7466
  }
7371
7467
  else {
7372
- reject(new Error('Invalid response. Both error and result are null'));
7468
+ reject(new SceneTreeError('Invalid response. Both error and result are null'));
7373
7469
  }
7374
7470
  });
7375
7471
  });
@@ -7391,24 +7487,38 @@ class SceneTreeController {
7391
7487
  return then(jwt);
7392
7488
  }
7393
7489
  else {
7394
- throw new Error('SceneTreeController cannot perform request. Viewer JWT is undefined.');
7490
+ throw new SceneTreeUnauthorizedError('SceneTreeController cannot perform request. Viewer JWT is undefined.');
7395
7491
  }
7396
7492
  }
7493
+ else if (connection.type === 'cancelled') {
7494
+ throw new SceneTreeConnectionCancelledError(`Request attempted, but controller was cancelled`);
7495
+ }
7397
7496
  else {
7398
- throw new Error('SceneTreeController is not in connected state');
7497
+ throw new SceneTreeError('SceneTreeController is not in connected state');
7498
+ }
7499
+ }
7500
+ ifErrorIsFatal(error, then) {
7501
+ if (!(error instanceof SceneTreeConnectionCancelledError)) {
7502
+ then();
7399
7503
  }
7400
7504
  }
7401
7505
  getConnectionError(e) {
7402
7506
  if (isGrpcServiceError(e)) {
7403
7507
  if (e.code === grpcWebClient_umd.grpcWebClient_umd.grpc.Code.FailedPrecondition) {
7404
- return new SceneTreeErrorDetails(SceneTreeErrorCode.SCENE_TREE_DISABLED);
7508
+ return new SceneTreeErrorDetails('SCENE_TREE_DISABLED', SceneTreeErrorCode.SCENE_TREE_DISABLED);
7509
+ }
7510
+ else if (e.code === grpcWebClient_umd.grpcWebClient_umd.grpc.Code.Unauthenticated) {
7511
+ return new SceneTreeErrorDetails('UNAUTHORIZED', SceneTreeErrorCode.UNAUTHORIZED);
7405
7512
  }
7406
7513
  else {
7407
- return new SceneTreeErrorDetails(SceneTreeErrorCode.UNKNOWN);
7514
+ return new SceneTreeErrorDetails('UNKNOWN', SceneTreeErrorCode.UNKNOWN);
7408
7515
  }
7409
7516
  }
7517
+ else if (e instanceof SceneTreeUnauthorizedError) {
7518
+ return new SceneTreeErrorDetails('UNAUTHORIZED', SceneTreeErrorCode.UNAUTHORIZED);
7519
+ }
7410
7520
  else {
7411
- return new SceneTreeErrorDetails(SceneTreeErrorCode.UNKNOWN);
7521
+ return new SceneTreeErrorDetails('UNKNOWN', SceneTreeErrorCode.UNKNOWN);
7412
7522
  }
7413
7523
  }
7414
7524
  constrainPageRange(start, end) {
@@ -7428,9 +7538,13 @@ class SceneTreeController {
7428
7538
  console.debug(message, optionalParams);
7429
7539
  }
7430
7540
  }
7541
+ isConnectedState(connection) {
7542
+ return connection.type === 'connected';
7543
+ }
7431
7544
  }
7432
7545
  SceneTreeController.IDLE_RECONNECT_IN_SECONDS = 4 * 60;
7433
7546
  SceneTreeController.LOST_CONNECTION_RECONNECT_IN_SECONDS = 2;
7547
+ SceneTreeController.MAX_SUBSCRIPTION_RETRY_COUNT = 2;
7434
7548
 
7435
7549
  async function showItem(viewer, id, { suppliedCorrelationId } = {}) {
7436
7550
  const scene = await viewer.scene();
@@ -7816,9 +7930,15 @@ const SceneTree = class {
7816
7930
  */
7817
7931
  async selectFilteredItems(term, options) {
7818
7932
  if (this.viewer != null) {
7819
- const columnsToSearch = this.metadataSearchKeys.length > 0
7933
+ const definedMetadataKeys = this.metadataSearchKeys.length > 0
7820
7934
  ? this.metadataSearchKeys
7821
7935
  : this.metadataKeys;
7936
+ if (definedMetadataKeys.length === 0) {
7937
+ console.warn("No metadata keys were found to perform the selection. Defaulting to ['VERTEX_SCENE_ITEM_NAME']");
7938
+ }
7939
+ const columnsToSearch = definedMetadataKeys.length > 0
7940
+ ? definedMetadataKeys
7941
+ : ['VERTEX_SCENE_ITEM_NAME'];
7822
7942
  await selectFilterResults(this.viewer, term, columnsToSearch, this.metadataSearchExactMatch, Object.assign({ append: false }, options));
7823
7943
  }
7824
7944
  }
@@ -7838,8 +7958,9 @@ const SceneTree = class {
7838
7958
  * @ignore
7839
7959
  */
7840
7960
  disconnectedCallback() {
7841
- var _a;
7961
+ var _a, _b;
7842
7962
  (_a = this.stateMap.viewerDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
7963
+ (_b = this.controller) === null || _b === void 0 ? void 0 : _b.cancel();
7843
7964
  }
7844
7965
  /**
7845
7966
  * @ignore
@@ -7873,7 +7994,7 @@ const SceneTree = class {
7873
7994
  this.stateMap.componentLoaded = true;
7874
7995
  (_a = this.controller) === null || _a === void 0 ? void 0 : _a.setMetadataKeys(this.metadataKeys);
7875
7996
  if (this.viewer == null) {
7876
- this.errorDetails = new SceneTreeErrorDetails(SceneTreeErrorCode.MISSING_VIEWER);
7997
+ this.errorDetails = new SceneTreeErrorDetails('MISSING_VIEWER', SceneTreeErrorCode.MISSING_VIEWER);
7877
7998
  }
7878
7999
  }
7879
8000
  componentWillRender() {
@@ -7889,10 +8010,10 @@ const SceneTree = class {
7889
8010
  }
7890
8011
  renderError(details) {
7891
8012
  if (details.code !== SceneTreeErrorCode.SCENE_TREE_DISABLED) {
7892
- return (index.h(SceneTreeError, { details: details }, index.h("button", { class: "button button-secondary", onClick: () => this.retryConnectToViewer(), disabled: this.attemptingRetry }, "Retry")));
8013
+ return (index.h(SceneTreeError$1, { details: details }, index.h("button", { class: "button button-secondary", onClick: () => this.retryConnectToViewer(), disabled: this.attemptingRetry }, "Retry")));
7893
8014
  }
7894
8015
  else {
7895
- return index.h(SceneTreeError, { details: details });
8016
+ return index.h(SceneTreeError$1, { details: details });
7896
8017
  }
7897
8018
  }
7898
8019
  /**
@@ -7979,7 +8100,7 @@ const SceneTree = class {
7979
8100
  this.connectionError.emit(state.connection.details);
7980
8101
  }
7981
8102
  else if (state.connection.type === 'disconnected') {
7982
- this.errorDetails = new SceneTreeErrorDetails(SceneTreeErrorCode.DISCONNECTED);
8103
+ this.errorDetails = new SceneTreeErrorDetails('DISCONNECTED', SceneTreeErrorCode.DISCONNECTED);
7983
8104
  }
7984
8105
  else {
7985
8106
  this.errorDetails = undefined;