@vertexvis/viewer 1.1.1-testing.3 → 1.1.1-testing.4

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 (456) hide show
  1. package/README.template.md +14 -8
  2. package/dist/cjs/{bundle-07I6_WqC.js → bundle-BCS0nA91.js} +28 -25
  3. package/dist/cjs/bundle-BCS0nA91.js.map +1 -0
  4. package/dist/cjs/{config-CepHuwRF.js → config-BY0v6BSK.js} +3 -3
  5. package/dist/cjs/{config-CepHuwRF.js.map → config-BY0v6BSK.js.map} +1 -1
  6. package/dist/cjs/{controller-Dklbe0Y6.js → controller-DvE3p6ta.js} +3 -3
  7. package/dist/cjs/{controller-Dklbe0Y6.js.map → controller-DvE3p6ta.js.map} +1 -1
  8. package/dist/cjs/{dom-Dlu6-7PF.js → dom-BuQSLPWr.js} +3 -3
  9. package/dist/cjs/{dom-Dlu6-7PF.js.map → dom-BuQSLPWr.js.map} +1 -1
  10. package/dist/cjs/{entities-BdWnb6KI.js → entities-CEaa12yP.js} +4 -4
  11. package/dist/cjs/{entities-BdWnb6KI.js.map → entities-CEaa12yP.js.map} +1 -1
  12. package/dist/cjs/{geometry_pb-BISQT2vx.js → geometry_pb-EVfAEuPO.js} +3 -3
  13. package/dist/cjs/{geometry_pb-BISQT2vx.js.map → geometry_pb-EVfAEuPO.js.map} +1 -1
  14. package/dist/cjs/grpc-D5Apx_zz.js.map +1 -1
  15. package/dist/cjs/index.cjs.js +13 -13
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/{markup-C-qyTwID.js → markup-Du4uVRo4.js} +3 -3
  18. package/dist/cjs/{markup-C-qyTwID.js.map → markup-Du4uVRo4.js.map} +1 -1
  19. package/dist/cjs/{model-Dy5FvjIA.js → model-BC6acIWJ.js} +3 -3
  20. package/dist/cjs/{model-Dy5FvjIA.js.map → model-BC6acIWJ.js.map} +1 -1
  21. package/dist/cjs/model-Bw4h8wNt.js.map +1 -1
  22. package/dist/cjs/{model-k5VBFN6C.js → model-DqxeakCS.js} +3 -3
  23. package/dist/cjs/{model-k5VBFN6C.js.map → model-DqxeakCS.js.map} +1 -1
  24. package/dist/cjs/{multiElementInteractionHandler-Bqpg2wVT.js → multiElementInteractionHandler-Bdeo6FYp.js} +6 -5
  25. package/dist/cjs/multiElementInteractionHandler-Bdeo6FYp.js.map +1 -0
  26. package/dist/cjs/{overlays-BujVkBnG.js → overlays-DASFbMSp.js} +3 -3
  27. package/dist/cjs/{overlays-BujVkBnG.js.map → overlays-DASFbMSp.js.map} +1 -1
  28. package/dist/cjs/{queries-GhYmoomu.js → queries-LthBzEHD.js} +5 -5
  29. package/dist/cjs/queries-LthBzEHD.js.map +1 -0
  30. package/dist/cjs/{regl-component-CB004H91.js → regl-component-B_JaaVlv.js} +6 -6
  31. package/dist/cjs/{regl-component-CB004H91.js.map → regl-component-B_JaaVlv.js.map} +1 -1
  32. package/dist/cjs/{representation_pb-CHCm5o1e.js → representation_pb-B6XR10pQ.js} +3 -3
  33. package/dist/cjs/{representation_pb-CHCm5o1e.js.map → representation_pb-B6XR10pQ.js.map} +1 -1
  34. package/dist/cjs/{results-BpfUIwa8.js → results-CU9Ctm2K.js} +3 -3
  35. package/dist/cjs/{results-BpfUIwa8.js.map → results-CU9Ctm2K.js.map} +1 -1
  36. package/dist/cjs/{streamAttributes-CJOD7AxG.js → streamAttributes-nCF7u7lv.js} +4 -4
  37. package/dist/cjs/{streamAttributes-CJOD7AxG.js.map → streamAttributes-nCF7u7lv.js.map} +1 -1
  38. package/dist/cjs/{util-smaTO4bk.js → util-gX3IGslq.js} +3 -3
  39. package/dist/cjs/{util-smaTO4bk.js.map → util-gX3IGslq.js.map} +1 -1
  40. package/dist/cjs/{utils-BsXO-wLi.js → utils-D5TGpFAV.js} +3 -3
  41. package/dist/cjs/utils-D5TGpFAV.js.map +1 -0
  42. package/dist/cjs/{utils-DY6afhh8.js → utils-opS9hsaU.js} +3 -3
  43. package/dist/cjs/{utils-DY6afhh8.js.map → utils-opS9hsaU.js.map} +1 -1
  44. package/dist/cjs/vertex-scene-tree-notification-banner_4.cjs.entry.js +1 -1
  45. package/dist/cjs/vertex-scene-tree-notification-banner_4.cjs.entry.js.map +1 -1
  46. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +2 -2
  47. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js.map +1 -1
  48. package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js.map +1 -1
  49. package/dist/cjs/vertex-scene-tree.cjs.entry.js +3 -3
  50. package/dist/cjs/vertex-scene-tree.cjs.entry.js.map +1 -1
  51. package/dist/cjs/vertex-viewer-annotation-callout.cjs.entry.js.map +1 -1
  52. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +4 -4
  53. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js.map +1 -1
  54. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +6 -1
  55. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +2 -2
  57. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js.map +1 -1
  58. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +5 -5
  59. package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
  60. package/dist/cjs/vertex-viewer-hit-result-indicator.cjs.entry.js +5 -5
  61. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +3 -3
  62. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +4 -4
  63. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js.map +1 -1
  64. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +3 -3
  65. package/dist/cjs/vertex-viewer-markup.cjs.entry.js.map +1 -1
  66. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +3 -3
  67. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +8 -8
  68. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +5 -5
  69. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +7 -7
  70. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +7 -7
  71. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js.map +1 -1
  72. package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +7 -6
  73. package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js.map +1 -1
  74. package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +3 -3
  75. package/dist/cjs/vertex-viewer-spinner.cjs.entry.js.map +1 -1
  76. package/dist/cjs/vertex-viewer-teleport-tool.cjs.entry.js +2 -2
  77. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +6 -6
  78. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js.map +1 -1
  79. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +2 -2
  80. package/dist/cjs/vertex-viewer-walk-mode-tool.cjs.entry.js +1 -1
  81. package/dist/cjs/vertex-viewer.cjs.entry.js +8 -8
  82. package/dist/cjs/viewer.cjs.js +1 -1
  83. package/dist/cjs/{viewport-B70DgDZj.js → viewport-BDbB9o9T.js} +3 -3
  84. package/dist/cjs/{viewport-B70DgDZj.js.map → viewport-BDbB9o9T.js.map} +1 -1
  85. package/dist/collection/components/scene-tree/scene-tree.css +2 -3
  86. package/dist/collection/components/scene-tree/scene-tree.js.map +1 -1
  87. package/dist/collection/components/scene-tree-notification-banner/scene-tree-notification-banner.css +1 -1
  88. package/dist/collection/components/scene-tree-search/scene-tree-search.css +1 -1
  89. package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.css +10 -10
  90. package/dist/collection/components/scene-tree-table-column/scene-tree-table-column.css +0 -1
  91. package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.css +3 -3
  92. package/dist/collection/components/viewer-annotation-callout/viewer-annotation-callout.css +3 -4
  93. package/dist/collection/components/viewer-box-query-tool/types.js.map +1 -1
  94. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +9 -7
  95. package/dist/collection/components/viewer-button/viewer-button.js +32 -1
  96. package/dist/collection/components/viewer-button/viewer-button.js.map +1 -1
  97. package/dist/collection/components/viewer-default-toolbar/viewer-default-toolbar.css +2 -2
  98. package/dist/collection/components/viewer-default-toolbar/viewer-default-toolbar.js +1 -1
  99. package/dist/collection/components/viewer-default-toolbar/viewer-default-toolbar.js.map +1 -1
  100. package/dist/collection/components/viewer-markup/viewer-markup.js.map +1 -1
  101. package/dist/collection/components/viewer-markup-arrow/utils.js.map +1 -1
  102. package/dist/collection/components/viewer-markup-tool/viewer-markup-tool.css +2 -2
  103. package/dist/collection/components/viewer-pin-group/viewer-pin-group.css +12 -11
  104. package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +21 -8
  105. package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +2 -1
  106. package/dist/collection/components/viewer-pin-label/viewer-pin-label.js.map +1 -1
  107. package/dist/collection/components/viewer-pin-label-line/viewer-pin-label-line.css +5 -4
  108. package/dist/collection/components/viewer-spinner/viewer-spinner.css +2 -2
  109. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget-components.js.map +1 -1
  110. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.css +1 -2
  111. package/dist/collection/lib/grpc.js.map +1 -1
  112. package/dist/collection/lib/interactions/baseInteractionHandler.js +2 -1
  113. package/dist/collection/lib/interactions/baseInteractionHandler.js.map +1 -1
  114. package/dist/collection/lib/scenes/scene.js.map +1 -1
  115. package/dist/collection/lib/scenes/sceneViewStateLoader.js.map +1 -1
  116. package/dist/collection/lib/stream/state.js.map +1 -1
  117. package/dist/collection/lib/types/loadableResource.js.map +1 -1
  118. package/dist/collection/lib/types/sceneViewStateIdentifier.js.map +1 -1
  119. package/dist/collection/lib/walk-mode/model.js.map +1 -1
  120. package/dist/components/index.js +1 -1
  121. package/dist/components/p-2UsvOTHJ.js +5 -0
  122. package/dist/components/p-2UsvOTHJ.js.map +1 -0
  123. package/dist/components/{p-garvKln8.js → p-BAuOB8M-.js} +2 -2
  124. package/dist/components/p-BAuOB8M-.js.map +1 -0
  125. package/dist/components/p-BFEV_v80.js +5 -0
  126. package/dist/components/p-BFEV_v80.js.map +1 -0
  127. package/dist/components/{p-C02XtMl4.js → p-BHyxBmg6.js} +2 -2
  128. package/dist/components/{p-CfTvpqud.js → p-BNRm88jS.js} +2 -2
  129. package/dist/components/{p-O1_Yvjd6.js → p-BT9d9jRt.js} +2 -2
  130. package/dist/components/{p-oDn1DcWj.js → p-BZDn1Vuv.js} +2 -2
  131. package/dist/components/{p-VEJB73Ei.js → p-Bdf4AcJ2.js} +2 -2
  132. package/dist/components/{p-CelQDFR0.js → p-C12jtCFb.js} +2 -2
  133. package/dist/components/{p-Dzs4u_ZY.js → p-CABws4i9.js} +2 -2
  134. package/dist/components/p-CIuxJYJL.js.map +1 -1
  135. package/dist/components/{p-CZgX-9yo.js → p-COznr3CH.js} +2 -2
  136. package/dist/components/{p-BqeEZXPn.js → p-CPROw2BU.js} +2 -2
  137. package/dist/components/{p-BKQMbekH.js → p-CWcvgy8e.js} +2 -2
  138. package/dist/components/{p-CMdP8O-G.js → p-Ca253f0h.js} +2 -2
  139. package/dist/components/{p-EG7pMA2M.js → p-CeZe0Qql.js} +2 -2
  140. package/dist/components/p-CioaIHsi.js.map +1 -1
  141. package/dist/components/{p-DH341c7b.js → p-Cku0WCYo.js} +2 -2
  142. package/dist/components/p-Cku0WCYo.js.map +1 -0
  143. package/dist/components/{p-Due5EmBt.js → p-Clyxptbp.js} +2 -2
  144. package/dist/components/{p-taOlygmc.js → p-Cs2aiMUK.js} +2 -2
  145. package/dist/components/p-Cs2aiMUK.js.map +1 -0
  146. package/dist/components/{p-DjrtwKcK.js → p-CvEK3ZK1.js} +2 -2
  147. package/dist/components/p-Cxz4L6FA.js +5 -0
  148. package/dist/components/p-Cxz4L6FA.js.map +1 -0
  149. package/dist/components/{p-MnZadXO8.js → p-D1Vdomj_.js} +2 -2
  150. package/dist/components/{p-DRGCkSEK.js → p-D3bzgaCV.js} +2 -2
  151. package/dist/components/{p-DnVcQAR9.js → p-D3in41xo.js} +2 -2
  152. package/dist/components/p-DTwJX9HL.js +5 -0
  153. package/dist/components/p-DTwJX9HL.js.map +1 -0
  154. package/dist/components/p-DUo-H-nW.js +5 -0
  155. package/dist/components/p-DUo-H-nW.js.map +1 -0
  156. package/dist/components/{p-DCTZZ5Rd.js → p-DjQ6RXWP.js} +2 -2
  157. package/dist/components/p-DxuSiXYg.js.map +1 -1
  158. package/dist/components/{p-CxzyM08j.js → p-DyL2wWm6.js} +2 -2
  159. package/dist/components/{p-avWSFTeP.js → p-JvS9LLoO.js} +2 -2
  160. package/dist/{viewer/p-7m7Vr5V7.js → components/p-Ng27jBsS.js} +2 -2
  161. package/dist/components/p-Ng27jBsS.js.map +1 -0
  162. package/dist/components/{p-BC777sCK.js → p-UJR-ixsy.js} +2 -2
  163. package/dist/components/{p-Ib4vgh2t.js → p-UrT4ZJv3.js} +2 -2
  164. package/dist/components/{p-Ib4vgh2t.js.map → p-UrT4ZJv3.js.map} +1 -1
  165. package/dist/components/p-Y8W_BXUk.js.map +1 -1
  166. package/dist/components/{p-mpsCUvSn.js → p-_qi2VkC2.js} +2 -2
  167. package/dist/components/{p-CNprIkKd.js → p-rDr0x5Z7.js} +2 -2
  168. package/dist/components/vertex-scene-tree-table-cell.js +1 -1
  169. package/dist/components/vertex-scene-tree-table-cell.js.map +1 -1
  170. package/dist/components/vertex-scene-tree-table-column.js.map +1 -1
  171. package/dist/components/vertex-scene-tree-table-layout.js +1 -1
  172. package/dist/components/vertex-scene-tree.js +1 -1
  173. package/dist/components/vertex-scene-tree.js.map +1 -1
  174. package/dist/components/vertex-viewer-annotation-callout.js.map +1 -1
  175. package/dist/components/vertex-viewer-box-query-tool.js +1 -1
  176. package/dist/components/vertex-viewer-box-query-tool.js.map +1 -1
  177. package/dist/components/vertex-viewer-button.js +1 -1
  178. package/dist/components/vertex-viewer-default-toolbar.js +1 -1
  179. package/dist/components/vertex-viewer-default-toolbar.js.map +1 -1
  180. package/dist/components/vertex-viewer-dom-element.js +1 -1
  181. package/dist/components/vertex-viewer-dom-group.js +1 -1
  182. package/dist/components/vertex-viewer-dom-renderer.js +1 -1
  183. package/dist/components/vertex-viewer-hit-result-indicator.js +1 -1
  184. package/dist/components/vertex-viewer-markup-arrow.js +1 -1
  185. package/dist/components/vertex-viewer-markup-circle.js +1 -1
  186. package/dist/components/vertex-viewer-markup-freeform.js +1 -1
  187. package/dist/components/vertex-viewer-markup-tool.js +1 -1
  188. package/dist/components/vertex-viewer-markup-tool.js.map +1 -1
  189. package/dist/components/vertex-viewer-markup.js +1 -1
  190. package/dist/components/vertex-viewer-markup.js.map +1 -1
  191. package/dist/components/vertex-viewer-measurement-details.js +1 -1
  192. package/dist/components/vertex-viewer-measurement-distance.js +1 -1
  193. package/dist/components/vertex-viewer-measurement-line.js +1 -1
  194. package/dist/components/vertex-viewer-measurement-overlays.js +1 -1
  195. package/dist/components/vertex-viewer-measurement-precise.js +1 -1
  196. package/dist/components/vertex-viewer-pin-group.js +1 -1
  197. package/dist/components/vertex-viewer-pin-label-line.js +1 -1
  198. package/dist/components/vertex-viewer-pin-label.js +1 -1
  199. package/dist/components/vertex-viewer-pin-tool.js +1 -1
  200. package/dist/components/vertex-viewer-teleport-tool.js +1 -1
  201. package/dist/components/vertex-viewer-transform-widget.js +1 -1
  202. package/dist/components/vertex-viewer-transform-widget.js.map +1 -1
  203. package/dist/components/vertex-viewer-view-cube.js +1 -1
  204. package/dist/components/vertex-viewer-walk-mode-tool.js +1 -1
  205. package/dist/components/vertex-viewer.js +1 -1
  206. package/dist/esm/{bundle-CZZALKHT.js → bundle-2UsvOTHJ.js} +28 -25
  207. package/dist/esm/bundle-2UsvOTHJ.js.map +1 -0
  208. package/dist/esm/{config-CyaUTJEG.js → config-ss9ha12b.js} +3 -3
  209. package/dist/esm/{config-CyaUTJEG.js.map → config-ss9ha12b.js.map} +1 -1
  210. package/dist/esm/{controller-ByBd8r3O.js → controller-BPECXXfj.js} +3 -3
  211. package/dist/esm/{controller-ByBd8r3O.js.map → controller-BPECXXfj.js.map} +1 -1
  212. package/dist/esm/{dom-Bbf2HAst.js → dom-DaP9SiyY.js} +3 -3
  213. package/dist/esm/{dom-Bbf2HAst.js.map → dom-DaP9SiyY.js.map} +1 -1
  214. package/dist/esm/{entities-DriL3zBC.js → entities-DEFAhYdV.js} +4 -4
  215. package/dist/esm/{entities-DriL3zBC.js.map → entities-DEFAhYdV.js.map} +1 -1
  216. package/dist/esm/{geometry_pb-BEB8SExe.js → geometry_pb-D7fM1PYG.js} +3 -3
  217. package/dist/esm/{geometry_pb-BEB8SExe.js.map → geometry_pb-D7fM1PYG.js.map} +1 -1
  218. package/dist/esm/grpc-hWL8wFvk.js.map +1 -1
  219. package/dist/esm/index.js +13 -13
  220. package/dist/esm/index.mjs +13 -13
  221. package/dist/esm/loader.js +1 -1
  222. package/dist/esm/loader.mjs +1 -1
  223. package/dist/esm/{markup-y96-uR-l.js → markup-B58g75Hr.js} +3 -3
  224. package/dist/esm/{markup-y96-uR-l.js.map → markup-B58g75Hr.js.map} +1 -1
  225. package/dist/esm/{model-BJQo0DxL.js → model-B5KuXEsl.js} +3 -3
  226. package/dist/esm/{model-BJQo0DxL.js.map → model-B5KuXEsl.js.map} +1 -1
  227. package/dist/esm/model-BHVr1tU0.js.map +1 -1
  228. package/dist/esm/{model-CTdG73h9.js → model-Dc6T63-k.js} +3 -3
  229. package/dist/esm/{model-CTdG73h9.js.map → model-Dc6T63-k.js.map} +1 -1
  230. package/dist/esm/{multiElementInteractionHandler-C45E8VzE.js → multiElementInteractionHandler-3tE3OPpw.js} +6 -5
  231. package/dist/esm/multiElementInteractionHandler-3tE3OPpw.js.map +1 -0
  232. package/dist/esm/{overlays-DmcRtaSn.js → overlays-BwIqsqLW.js} +3 -3
  233. package/dist/esm/{overlays-DmcRtaSn.js.map → overlays-BwIqsqLW.js.map} +1 -1
  234. package/dist/esm/{queries-DWjy-LsV.js → queries-BcmE5Zbq.js} +5 -5
  235. package/dist/esm/queries-BcmE5Zbq.js.map +1 -0
  236. package/dist/esm/{regl-component-zzdsBise.js → regl-component-gIonUTBJ.js} +6 -6
  237. package/dist/esm/{regl-component-zzdsBise.js.map → regl-component-gIonUTBJ.js.map} +1 -1
  238. package/dist/esm/{representation_pb-CQdJxiGO.js → representation_pb-Bf023NuN.js} +3 -3
  239. package/dist/esm/{representation_pb-CQdJxiGO.js.map → representation_pb-Bf023NuN.js.map} +1 -1
  240. package/dist/esm/{results-ClIgKssN.js → results-De9arm7M.js} +3 -3
  241. package/dist/esm/{results-ClIgKssN.js.map → results-De9arm7M.js.map} +1 -1
  242. package/dist/esm/{streamAttributes-CTs61PCl.js → streamAttributes-Bj2xDHfI.js} +3 -3
  243. package/dist/esm/{streamAttributes-CTs61PCl.js.map → streamAttributes-Bj2xDHfI.js.map} +1 -1
  244. package/dist/esm/{util-DUjEw5Kh.js → util-CMPFqnEv.js} +3 -3
  245. package/dist/esm/{util-DUjEw5Kh.js.map → util-CMPFqnEv.js.map} +1 -1
  246. package/dist/esm/{utils-DOjHP1wA.js → utils-B1mSYmAK.js} +3 -3
  247. package/dist/esm/{utils-DOjHP1wA.js.map → utils-B1mSYmAK.js.map} +1 -1
  248. package/dist/esm/{utils-DJ5FvINs.js → utils-c-mcLgsj.js} +3 -3
  249. package/dist/esm/utils-c-mcLgsj.js.map +1 -0
  250. package/dist/esm/vertex-scene-tree-notification-banner_4.entry.js +1 -1
  251. package/dist/esm/vertex-scene-tree-notification-banner_4.entry.js.map +1 -1
  252. package/dist/esm/vertex-scene-tree-table-cell.entry.js +2 -2
  253. package/dist/esm/vertex-scene-tree-table-cell.entry.js.map +1 -1
  254. package/dist/esm/vertex-scene-tree-table-column.entry.js.map +1 -1
  255. package/dist/esm/vertex-scene-tree.entry.js +3 -3
  256. package/dist/esm/vertex-scene-tree.entry.js.map +1 -1
  257. package/dist/esm/vertex-viewer-annotation-callout.entry.js.map +1 -1
  258. package/dist/esm/vertex-viewer-box-query-tool.entry.js +4 -4
  259. package/dist/esm/vertex-viewer-box-query-tool.entry.js.map +1 -1
  260. package/dist/esm/vertex-viewer-button_3.entry.js +6 -1
  261. package/dist/esm/vertex-viewer-button_3.entry.js.map +1 -1
  262. package/dist/esm/vertex-viewer-default-toolbar.entry.js +2 -2
  263. package/dist/esm/vertex-viewer-default-toolbar.entry.js.map +1 -1
  264. package/dist/esm/vertex-viewer-dom-element_2.entry.js +5 -5
  265. package/dist/esm/vertex-viewer-dom-group.entry.js +1 -1
  266. package/dist/esm/vertex-viewer-hit-result-indicator.entry.js +5 -5
  267. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +3 -3
  268. package/dist/esm/vertex-viewer-markup-tool.entry.js +4 -4
  269. package/dist/esm/vertex-viewer-markup-tool.entry.js.map +1 -1
  270. package/dist/esm/vertex-viewer-markup.entry.js +3 -3
  271. package/dist/esm/vertex-viewer-markup.entry.js.map +1 -1
  272. package/dist/esm/vertex-viewer-measurement-details.entry.js +3 -3
  273. package/dist/esm/vertex-viewer-measurement-distance.entry.js +8 -8
  274. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +5 -5
  275. package/dist/esm/vertex-viewer-measurement-precise.entry.js +7 -7
  276. package/dist/esm/vertex-viewer-pin-group.entry.js +7 -7
  277. package/dist/esm/vertex-viewer-pin-group.entry.js.map +1 -1
  278. package/dist/esm/vertex-viewer-pin-label_2.entry.js +7 -6
  279. package/dist/esm/vertex-viewer-pin-label_2.entry.js.map +1 -1
  280. package/dist/esm/vertex-viewer-pin-tool.entry.js +3 -3
  281. package/dist/esm/vertex-viewer-spinner.entry.js.map +1 -1
  282. package/dist/esm/vertex-viewer-teleport-tool.entry.js +2 -2
  283. package/dist/esm/vertex-viewer-transform-widget.entry.js +6 -6
  284. package/dist/esm/vertex-viewer-transform-widget.entry.js.map +1 -1
  285. package/dist/esm/vertex-viewer-view-cube.entry.js +2 -2
  286. package/dist/esm/vertex-viewer-walk-mode-tool.entry.js +1 -1
  287. package/dist/esm/vertex-viewer.entry.js +8 -8
  288. package/dist/esm/viewer.js +1 -1
  289. package/dist/esm/{viewport-D90kzsD7.js → viewport-CHtidaFL.js} +3 -3
  290. package/dist/esm/{viewport-D90kzsD7.js.map → viewport-CHtidaFL.js.map} +1 -1
  291. package/dist/types/components/viewer-button/viewer-button.d.ts +5 -0
  292. package/dist/types/components.d.ts +14 -1
  293. package/dist/types/lib/walk-mode/model.d.ts +10 -10
  294. package/dist/types/regl-shape.d.ts +1 -5
  295. package/dist/viewer/index.esm.js +1 -1
  296. package/dist/viewer/{p-12a673f0.entry.js → p-00540193.entry.js} +2 -2
  297. package/dist/viewer/p-00540193.entry.js.map +1 -0
  298. package/dist/viewer/{p-78f422af.entry.js → p-287e0670.entry.js} +2 -2
  299. package/dist/viewer/{p-78f422af.entry.js.map → p-287e0670.entry.js.map} +1 -1
  300. package/dist/viewer/p-2UsvOTHJ.js +5 -0
  301. package/dist/viewer/p-2UsvOTHJ.js.map +1 -0
  302. package/dist/viewer/{p-510fd2e1.entry.js → p-2d2fa147.entry.js} +2 -2
  303. package/dist/viewer/{p-fe434552.entry.js → p-30a5748d.entry.js} +2 -2
  304. package/dist/viewer/p-32a51a21.entry.js +5 -0
  305. package/dist/viewer/p-32a51a21.entry.js.map +1 -0
  306. package/dist/viewer/{p-aa0359e0.entry.js → p-3c5dd716.entry.js} +2 -2
  307. package/dist/viewer/{p-9312a936.entry.js → p-48020de1.entry.js} +2 -2
  308. package/dist/viewer/{p-d5542b6a.entry.js → p-4dd67d16.entry.js} +2 -2
  309. package/dist/viewer/p-4dd67d16.entry.js.map +1 -0
  310. package/dist/viewer/p-504e77a7.entry.js +5 -0
  311. package/dist/viewer/{p-c2c3579f.entry.js.map → p-504e77a7.entry.js.map} +1 -1
  312. package/dist/viewer/{p-71c03352.entry.js → p-53f6cc59.entry.js} +2 -2
  313. package/dist/viewer/{p-7b4eec65.entry.js → p-5cfb3047.entry.js} +2 -2
  314. package/dist/viewer/{p-e3981cf8.entry.js → p-7cb9c9bb.entry.js} +2 -2
  315. package/dist/viewer/p-7cb9c9bb.entry.js.map +1 -0
  316. package/dist/viewer/{p-56e39cff.entry.js → p-83683307.entry.js} +2 -2
  317. package/dist/viewer/{p-a108a305.entry.js → p-9a39315d.entry.js} +2 -2
  318. package/dist/viewer/{p-O1_Yvjd6.js → p-BT9d9jRt.js} +2 -2
  319. package/dist/viewer/{p-O1_Yvjd6.js.map → p-BT9d9jRt.js.map} +1 -1
  320. package/dist/viewer/{p-VEJB73Ei.js → p-Bdf4AcJ2.js} +2 -2
  321. package/dist/viewer/{p-VEJB73Ei.js.map → p-Bdf4AcJ2.js.map} +1 -1
  322. package/dist/viewer/{p-Cr2EnhS-.js → p-BhKTTmpL.js} +2 -2
  323. package/dist/viewer/{p-Cr2EnhS-.js.map → p-BhKTTmpL.js.map} +1 -1
  324. package/dist/viewer/{p-CelQDFR0.js → p-C12jtCFb.js} +2 -2
  325. package/dist/viewer/{p-CelQDFR0.js.map → p-C12jtCFb.js.map} +1 -1
  326. package/dist/viewer/p-CEDqc5sS.js +5 -0
  327. package/dist/viewer/{p-BDy3SLKk.js.map → p-CEDqc5sS.js.map} +1 -1
  328. package/dist/viewer/{p-C6YtUG51.js → p-CS8PfgcI.js} +2 -2
  329. package/dist/viewer/{p-C6YtUG51.js.map → p-CS8PfgcI.js.map} +1 -1
  330. package/dist/viewer/{p-EG7pMA2M.js → p-CeZe0Qql.js} +2 -2
  331. package/dist/viewer/{p-EG7pMA2M.js.map → p-CeZe0Qql.js.map} +1 -1
  332. package/dist/viewer/p-CioaIHsi.js.map +1 -1
  333. package/dist/viewer/{p-EUeCUp3y.js → p-CxBXErQ8.js} +2 -2
  334. package/dist/viewer/{p-EUeCUp3y.js.map → p-CxBXErQ8.js.map} +1 -1
  335. package/dist/viewer/{p-BIR7Lfxx.js → p-CyiY_hsD.js} +2 -2
  336. package/dist/viewer/{p-BIR7Lfxx.js.map → p-CyiY_hsD.js.map} +1 -1
  337. package/dist/viewer/{p-CIBBr-p1.js → p-D0aTA_2m.js} +2 -2
  338. package/dist/viewer/{p-CIBBr-p1.js.map → p-D0aTA_2m.js.map} +1 -1
  339. package/dist/viewer/{p-C-huOg09.js → p-D2IEHEGM.js} +2 -2
  340. package/dist/viewer/{p-C-huOg09.js.map → p-D2IEHEGM.js.map} +1 -1
  341. package/dist/viewer/{p-UQXG8bCI.js → p-DBfvBC5O.js} +2 -2
  342. package/dist/viewer/p-DBfvBC5O.js.map +1 -0
  343. package/dist/viewer/{p-B-J4CqZy.js → p-DHK23fw4.js} +2 -2
  344. package/dist/viewer/{p-B-J4CqZy.js.map → p-DHK23fw4.js.map} +1 -1
  345. package/dist/{components/p-QhlhRt6X.js → viewer/p-DIbJ8Ijj.js} +2 -2
  346. package/dist/viewer/p-DIbJ8Ijj.js.map +1 -0
  347. package/dist/viewer/{p-CxzyM08j.js → p-DyL2wWm6.js} +2 -2
  348. package/dist/viewer/{p-CxzyM08j.js.map → p-DyL2wWm6.js.map} +1 -1
  349. package/dist/viewer/{p-avWSFTeP.js → p-JvS9LLoO.js} +2 -2
  350. package/dist/viewer/{p-avWSFTeP.js.map → p-JvS9LLoO.js.map} +1 -1
  351. package/dist/viewer/p-_LpaX1ga.js +5 -0
  352. package/dist/viewer/p-_LpaX1ga.js.map +1 -0
  353. package/dist/viewer/{p-mpsCUvSn.js → p-_qi2VkC2.js} +2 -2
  354. package/dist/viewer/{p-mpsCUvSn.js.map → p-_qi2VkC2.js.map} +1 -1
  355. package/dist/viewer/p-b5cc83a4.entry.js.map +1 -1
  356. package/dist/viewer/{p-82ed4346.entry.js → p-b79c295a.entry.js} +2 -2
  357. package/dist/viewer/{p-fc7d9b2b.entry.js → p-c531ca97.entry.js} +2 -2
  358. package/dist/viewer/{p-fc7d9b2b.entry.js.map → p-c531ca97.entry.js.map} +1 -1
  359. package/dist/viewer/p-c9dee5c4.entry.js +5 -0
  360. package/dist/viewer/p-c9dee5c4.entry.js.map +1 -0
  361. package/dist/viewer/{p-c2454523.entry.js → p-cc835213.entry.js} +2 -2
  362. package/dist/viewer/p-ce711ae0.entry.js +5 -0
  363. package/dist/viewer/p-ce711ae0.entry.js.map +1 -0
  364. package/dist/viewer/p-d357d235.entry.js.map +1 -1
  365. package/dist/viewer/{p-91fca24b.entry.js → p-d5a57757.entry.js} +2 -2
  366. package/dist/viewer/p-e4913b06.entry.js +5 -0
  367. package/dist/viewer/p-e4913b06.entry.js.map +1 -0
  368. package/dist/viewer/p-e98db875.entry.js.map +1 -1
  369. package/dist/viewer/{p-a893a299.entry.js → p-edc2f914.entry.js} +2 -2
  370. package/dist/viewer/{p-03a531d9.entry.js → p-ef9437ca.entry.js} +2 -2
  371. package/dist/viewer/{p-49578ec9.entry.js → p-fd3a5837.entry.js} +2 -2
  372. package/dist/viewer/p-fd3a5837.entry.js.map +1 -0
  373. package/dist/viewer/p-ipyYHvea.js.map +1 -1
  374. package/dist/viewer/{p-Ce1j43tF.js → p-kMZA0v7I.js} +2 -2
  375. package/dist/viewer/{p-Ce1j43tF.js.map → p-kMZA0v7I.js.map} +1 -1
  376. package/dist/viewer/viewer.esm.js +1 -1
  377. package/package.json +8 -8
  378. package/readme.md +14 -8
  379. package/dist/cjs/bundle-07I6_WqC.js.map +0 -1
  380. package/dist/cjs/multiElementInteractionHandler-Bqpg2wVT.js.map +0 -1
  381. package/dist/cjs/queries-GhYmoomu.js.map +0 -1
  382. package/dist/cjs/utils-BsXO-wLi.js.map +0 -1
  383. package/dist/components/p-B4sO9HdX.js +0 -5
  384. package/dist/components/p-B4sO9HdX.js.map +0 -1
  385. package/dist/components/p-C--Voxln.js +0 -5
  386. package/dist/components/p-C--Voxln.js.map +0 -1
  387. package/dist/components/p-CZZALKHT.js +0 -5
  388. package/dist/components/p-CZZALKHT.js.map +0 -1
  389. package/dist/components/p-Cn0vKqIN.js +0 -5
  390. package/dist/components/p-Cn0vKqIN.js.map +0 -1
  391. package/dist/components/p-DH341c7b.js.map +0 -1
  392. package/dist/components/p-Dmc49hX3.js +0 -5
  393. package/dist/components/p-Dmc49hX3.js.map +0 -1
  394. package/dist/components/p-QhlhRt6X.js.map +0 -1
  395. package/dist/components/p-garvKln8.js.map +0 -1
  396. package/dist/components/p-taOlygmc.js.map +0 -1
  397. package/dist/esm/bundle-CZZALKHT.js.map +0 -1
  398. package/dist/esm/multiElementInteractionHandler-C45E8VzE.js.map +0 -1
  399. package/dist/esm/queries-DWjy-LsV.js.map +0 -1
  400. package/dist/esm/utils-DJ5FvINs.js.map +0 -1
  401. package/dist/viewer/p-02384d83.entry.js +0 -5
  402. package/dist/viewer/p-02384d83.entry.js.map +0 -1
  403. package/dist/viewer/p-12a673f0.entry.js.map +0 -1
  404. package/dist/viewer/p-49578ec9.entry.js.map +0 -1
  405. package/dist/viewer/p-4c223366.entry.js +0 -5
  406. package/dist/viewer/p-4c223366.entry.js.map +0 -1
  407. package/dist/viewer/p-7m7Vr5V7.js.map +0 -1
  408. package/dist/viewer/p-8774425b.entry.js +0 -5
  409. package/dist/viewer/p-8774425b.entry.js.map +0 -1
  410. package/dist/viewer/p-9c02567d.entry.js +0 -5
  411. package/dist/viewer/p-9c02567d.entry.js.map +0 -1
  412. package/dist/viewer/p-BDy3SLKk.js +0 -5
  413. package/dist/viewer/p-CZZALKHT.js +0 -5
  414. package/dist/viewer/p-CZZALKHT.js.map +0 -1
  415. package/dist/viewer/p-Cju1inFh.js +0 -5
  416. package/dist/viewer/p-Cju1inFh.js.map +0 -1
  417. package/dist/viewer/p-UQXG8bCI.js.map +0 -1
  418. package/dist/viewer/p-c2c3579f.entry.js +0 -5
  419. package/dist/viewer/p-d5542b6a.entry.js.map +0 -1
  420. package/dist/viewer/p-e3981cf8.entry.js.map +0 -1
  421. /package/dist/components/{p-C02XtMl4.js.map → p-BHyxBmg6.js.map} +0 -0
  422. /package/dist/components/{p-CfTvpqud.js.map → p-BNRm88jS.js.map} +0 -0
  423. /package/dist/components/{p-O1_Yvjd6.js.map → p-BT9d9jRt.js.map} +0 -0
  424. /package/dist/components/{p-oDn1DcWj.js.map → p-BZDn1Vuv.js.map} +0 -0
  425. /package/dist/components/{p-VEJB73Ei.js.map → p-Bdf4AcJ2.js.map} +0 -0
  426. /package/dist/components/{p-CelQDFR0.js.map → p-C12jtCFb.js.map} +0 -0
  427. /package/dist/components/{p-Dzs4u_ZY.js.map → p-CABws4i9.js.map} +0 -0
  428. /package/dist/components/{p-CZgX-9yo.js.map → p-COznr3CH.js.map} +0 -0
  429. /package/dist/components/{p-BqeEZXPn.js.map → p-CPROw2BU.js.map} +0 -0
  430. /package/dist/components/{p-BKQMbekH.js.map → p-CWcvgy8e.js.map} +0 -0
  431. /package/dist/components/{p-CMdP8O-G.js.map → p-Ca253f0h.js.map} +0 -0
  432. /package/dist/components/{p-EG7pMA2M.js.map → p-CeZe0Qql.js.map} +0 -0
  433. /package/dist/components/{p-Due5EmBt.js.map → p-Clyxptbp.js.map} +0 -0
  434. /package/dist/components/{p-DjrtwKcK.js.map → p-CvEK3ZK1.js.map} +0 -0
  435. /package/dist/components/{p-MnZadXO8.js.map → p-D1Vdomj_.js.map} +0 -0
  436. /package/dist/components/{p-DRGCkSEK.js.map → p-D3bzgaCV.js.map} +0 -0
  437. /package/dist/components/{p-DnVcQAR9.js.map → p-D3in41xo.js.map} +0 -0
  438. /package/dist/components/{p-DCTZZ5Rd.js.map → p-DjQ6RXWP.js.map} +0 -0
  439. /package/dist/components/{p-CxzyM08j.js.map → p-DyL2wWm6.js.map} +0 -0
  440. /package/dist/components/{p-avWSFTeP.js.map → p-JvS9LLoO.js.map} +0 -0
  441. /package/dist/components/{p-BC777sCK.js.map → p-UJR-ixsy.js.map} +0 -0
  442. /package/dist/components/{p-mpsCUvSn.js.map → p-_qi2VkC2.js.map} +0 -0
  443. /package/dist/components/{p-CNprIkKd.js.map → p-rDr0x5Z7.js.map} +0 -0
  444. /package/dist/viewer/{p-510fd2e1.entry.js.map → p-2d2fa147.entry.js.map} +0 -0
  445. /package/dist/viewer/{p-fe434552.entry.js.map → p-30a5748d.entry.js.map} +0 -0
  446. /package/dist/viewer/{p-aa0359e0.entry.js.map → p-3c5dd716.entry.js.map} +0 -0
  447. /package/dist/viewer/{p-9312a936.entry.js.map → p-48020de1.entry.js.map} +0 -0
  448. /package/dist/viewer/{p-71c03352.entry.js.map → p-53f6cc59.entry.js.map} +0 -0
  449. /package/dist/viewer/{p-7b4eec65.entry.js.map → p-5cfb3047.entry.js.map} +0 -0
  450. /package/dist/viewer/{p-56e39cff.entry.js.map → p-83683307.entry.js.map} +0 -0
  451. /package/dist/viewer/{p-a108a305.entry.js.map → p-9a39315d.entry.js.map} +0 -0
  452. /package/dist/viewer/{p-82ed4346.entry.js.map → p-b79c295a.entry.js.map} +0 -0
  453. /package/dist/viewer/{p-c2454523.entry.js.map → p-cc835213.entry.js.map} +0 -0
  454. /package/dist/viewer/{p-91fca24b.entry.js.map → p-d5a57757.entry.js.map} +0 -0
  455. /package/dist/viewer/{p-a893a299.entry.js.map → p-edc2f914.entry.js.map} +0 -0
  456. /package/dist/viewer/{p-03a531d9.entry.js.map → p-ef9437ca.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-DIbJ8Ijj.js","sources":["src/lib/interactions/baseInteractionHandler.ts","src/lib/interactions/multiElementInteractionHandler.ts"],"sourcesContent":["import { Point } from '@vertexvis/geometry';\nimport { Disposable, EventDispatcher, Listener } from '@vertexvis/utils';\n\nimport { ConfigProvider } from '../config';\nimport { getMouseClientPosition } from '../dom';\nimport { InteractionApi } from './interactionApi';\nimport { BaseEvent } from './interactionEvent';\nimport { InteractionHandler } from './interactionHandler';\nimport {\n MouseInteraction,\n PanInteraction,\n PivotInteraction,\n RotateInteraction,\n RotatePointInteraction,\n TwistInteraction,\n ZoomInteraction,\n} from './mouseInteractions';\n\nexport type InteractionType =\n 'rotate' | 'zoom' | 'pan' | 'twist' | 'rotate-point' | 'pivot';\n\nconst DEFAULT_FONT_SIZE = 16;\nconst DEFAULT_FONT_TO_LINE_HEIGHT_MULTIPLIER = 1.2;\n\nexport abstract class BaseInteractionHandler implements InteractionHandler {\n protected interactionApi?: InteractionApi;\n protected element?: HTMLElement;\n protected downPosition?: Point.Point;\n private downPositionCanvas?: Point.Point;\n private primaryInteraction: MouseInteraction;\n private currentInteraction?: MouseInteraction;\n private draggingInteraction: MouseInteraction | undefined;\n private lastPrimaryRotateInteraction?: MouseInteraction;\n private isDragging = false;\n private lastMoveEvent?: BaseEvent;\n private interactionTimer?: number;\n private keyboardControls = false;\n\n protected disableIndividualInteractions = false;\n\n private bodyStyleCache?: {\n lineHeightPixels: number;\n height: number;\n };\n\n private primaryInteractionTypeChange = new EventDispatcher<void>();\n\n public constructor(\n protected downEvent: 'mousedown' | 'pointerdown',\n protected upEvent: 'mouseup' | 'pointerup',\n protected moveEvent: 'mousemove' | 'pointermove',\n private rotateInteraction: RotateInteraction,\n private rotatePointInteraction: RotatePointInteraction,\n private zoomInteraction: ZoomInteraction,\n private panInteraction: PanInteraction,\n private twistInteraction: TwistInteraction,\n private pivotInteraction: PivotInteraction,\n private getConfig: ConfigProvider,\n ) {\n this.primaryInteraction = rotateInteraction;\n this.handleDownEvent = this.handleDownEvent.bind(this);\n this.handleMouseWheel = this.handleMouseWheel.bind(this);\n this.handleWindowMove = this.handleWindowMove.bind(this);\n this.handleWindowUp = this.handleWindowUp.bind(this);\n this.handleDoubleClick = this.handleDoubleClick.bind(this);\n }\n\n public initialize(element: HTMLElement, api: InteractionApi): void {\n this.element = element;\n this.interactionApi = api;\n element.addEventListener(this.downEvent, this.handleDownEvent);\n element.addEventListener('mousedown', this.handleDoubleClick);\n element.addEventListener('wheel', this.handleMouseWheel, {\n passive: false,\n });\n }\n\n public dispose(): void {\n this.element?.removeEventListener(this.downEvent, this.handleDownEvent);\n this.element?.removeEventListener('mousedown', this.handleDoubleClick);\n this.element?.removeEventListener('wheel', this.handleMouseWheel);\n this.element = undefined;\n }\n\n public onPrimaryInteractionTypeChange(listener: Listener<void>): Disposable {\n return this.primaryInteractionTypeChange.on(listener);\n }\n\n public setCurrentInteractionType(type?: InteractionType): void {\n switch (type) {\n case 'rotate':\n this.currentInteraction = this.rotateInteraction;\n break;\n case 'zoom':\n this.currentInteraction = this.zoomInteraction;\n break;\n case 'pan':\n this.currentInteraction = this.panInteraction;\n break;\n case 'twist':\n this.currentInteraction = this.twistInteraction;\n break;\n case 'rotate-point':\n this.currentInteraction = this.rotatePointInteraction;\n break;\n case 'pivot':\n this.currentInteraction = this.pivotInteraction;\n break;\n default:\n this.currentInteraction = undefined;\n }\n\n if (this.draggingInteraction) {\n const point = this.draggingInteraction.getPosition();\n this.draggingInteraction =\n this.currentInteraction || this.primaryInteraction;\n this.interactionApi?.resetLastAngle();\n this.draggingInteraction.setPosition(point);\n }\n }\n\n public getPrimaryInteractionType(): InteractionType {\n return this.primaryInteraction.getType();\n }\n\n public getCurrentInteractionType(): InteractionType {\n return (this.currentInteraction || this.primaryInteraction).getType();\n }\n\n public setPrimaryInteractionType(type: InteractionType): void {\n switch (type) {\n case 'rotate':\n this.primaryInteraction = this.rotateInteraction;\n this.lastPrimaryRotateInteraction = this.rotateInteraction;\n break;\n case 'rotate-point':\n this.primaryInteraction = this.rotatePointInteraction;\n this.lastPrimaryRotateInteraction = this.rotatePointInteraction;\n break;\n case 'zoom':\n this.primaryInteraction = this.zoomInteraction;\n break;\n case 'pan':\n this.primaryInteraction = this.panInteraction;\n break;\n case 'pivot':\n this.primaryInteraction = this.pivotInteraction;\n break;\n }\n this.primaryInteractionTypeChange.emit();\n }\n\n public setDefaultKeyboardControls(keyboardControls: boolean): void {\n this.keyboardControls = keyboardControls;\n }\n\n protected handleDownEvent(event: BaseEvent): void {\n // Prevent selection of any text while interacting with the model.\n event.preventDefault();\n\n this.interactionTimer = window.setTimeout(() => {\n this.downPosition = Point.create(event.screenX, event.screenY);\n this.downPositionCanvas = this.getCanvasPosition(event);\n this.interactionTimer = undefined;\n\n // Perform the current movement in the case that the interaction timer elapses\n if (this.lastMoveEvent != null) {\n this.handleWindowMove(this.lastMoveEvent);\n }\n }, this.getConfig().interactions.interactionDelay);\n\n window.addEventListener(this.moveEvent, this.handleWindowMove);\n window.addEventListener(this.upEvent, this.handleWindowUp);\n }\n\n protected handleWindowMove(event: BaseEvent): void {\n if (this.interactionTimer == null) {\n if (this.disableIndividualInteractions) {\n return;\n }\n\n const position = Point.create(event.screenX, event.screenY);\n const pixelThreshold =\n this.interactionApi != null\n ? this.interactionApi.pixelThreshold(this.isTouch(event))\n : 2;\n if (\n this.downPosition != null &&\n Point.distance(position, this.downPosition) >= pixelThreshold &&\n !this.isDragging\n ) {\n this.beginDrag(event);\n this.isDragging = true;\n }\n\n if (this.isDragging) {\n this.drag(event);\n }\n }\n\n this.lastMoveEvent = event;\n }\n\n protected async handleWindowUp(event: BaseEvent): Promise<void> {\n if (this.isDragging) {\n this.endDrag(event);\n this.isDragging = false;\n }\n\n if (this.interactionTimer != null) {\n window.clearTimeout(this.interactionTimer);\n this.interactionTimer = undefined;\n }\n\n window.removeEventListener(this.moveEvent, this.handleWindowMove);\n window.removeEventListener(this.upEvent, this.handleWindowUp);\n this.lastMoveEvent = undefined;\n }\n\n protected async handleDoubleClick(event: BaseEvent): Promise<void> {\n // event.detail is the number of clicks that have happened recently. If the number is 2, then the user double clicked.\n if (\n event.detail === 2 &&\n event.buttons === 4 &&\n this.interactionApi != null\n ) {\n await this.interactionApi.viewAll();\n }\n }\n\n protected beginDrag(event: BaseEvent): void {\n if (this.keyboardControls && event.metaKey && event.shiftKey) {\n this.currentInteraction = this.rotatePointInteraction;\n } else if (this.keyboardControls && event.shiftKey && event.altKey) {\n this.currentInteraction = this.twistInteraction;\n } else if (this.keyboardControls && event.shiftKey) {\n this.currentInteraction = this.zoomInteraction;\n } else if (this.keyboardControls && (event.metaKey || event.ctrlKey)) {\n this.currentInteraction = this.panInteraction;\n } else if (this.keyboardControls && event.altKey) {\n this.currentInteraction = this.rotateInteraction;\n }\n\n if (event.buttons === 1) {\n this.draggingInteraction =\n this.currentInteraction || this.primaryInteraction;\n } else if (event.buttons === 2) {\n this.draggingInteraction = this.panInteraction;\n } else if (event.buttons === 4) {\n this.draggingInteraction =\n this.lastPrimaryRotateInteraction ?? this.rotateInteraction;\n }\n\n if (\n this.draggingInteraction != null &&\n this.interactionApi != null &&\n this.element != null\n ) {\n // Ensure any scroll wheel interactions have been ended prior to beginning\n // another interaction to prevent the interaction from being ended early.\n this.zoomInteraction.endDrag(event, this.interactionApi);\n\n this.draggingInteraction.beginDrag(\n event,\n this.downPositionCanvas || Point.create(event.clientX, event.clientY),\n this.interactionApi,\n this.element,\n );\n }\n }\n\n protected drag(event: BaseEvent): void {\n if (this.keyboardControls && event.altKey && event.shiftKey) {\n this.currentInteraction = this.twistInteraction;\n } else {\n this.currentInteraction = undefined;\n }\n this.draggingInteraction =\n this.currentInteraction ||\n this.draggingInteraction ||\n this.primaryInteraction;\n if (this.draggingInteraction != null && this.interactionApi != null) {\n this.draggingInteraction.drag(event, this.interactionApi);\n }\n }\n\n protected endDrag(event: BaseEvent): void {\n if (\n this.keyboardControls &&\n this.currentInteraction === this.twistInteraction\n ) {\n this.currentInteraction = undefined;\n }\n\n if (this.draggingInteraction != null && this.interactionApi != null) {\n this.draggingInteraction.endDrag(event, this.interactionApi);\n this.draggingInteraction = undefined;\n }\n }\n\n protected handleMouseWheel(event: WheelEvent): void {\n event.preventDefault();\n\n if (\n this.element != null &&\n this.interactionApi != null &&\n event.buttons !== 4\n ) {\n const delta =\n -this.wheelDeltaToPixels(event.deltaY, event.deltaMode) / 10;\n const rect = this.element.getBoundingClientRect();\n const point = getMouseClientPosition(event, rect);\n const scrollSize = Math.abs(event.deltaY);\n\n if (scrollSize < 12) {\n // For small wheel movements, send a single zoom event.\n void this.zoomInteraction.zoomToPoint(\n point,\n delta,\n this.interactionApi,\n );\n } else {\n const divisions = Math.min(10, Math.ceil(scrollSize / 12));\n const zoomDelta = delta / divisions;\n // For larger wheel movements, divide the delta into multiple zoom events with increasing delay\n // which approximates a smooth zoom deceleration curve for the end user.\n for (let i = 1; i <= divisions; i++) {\n const delayMs = i * 5;\n window.setTimeout(() => {\n if (this.interactionApi != null) {\n this.zoomInteraction.zoomToPoint(\n point,\n zoomDelta,\n this.interactionApi,\n delayMs,\n );\n }\n }, delayMs);\n }\n }\n }\n }\n\n protected wheelDeltaToPixels(deltaY: number, deltaMode: number): number {\n // Cached values are an optimization we can use given mouseWheel\n // events can happen dozen or hundreds of times per scroll, but body style\n // is very unlikely to change frequently or while doing wheel movements.\n if (this.bodyStyleCache == null) {\n const bodyStyle = window.getComputedStyle(document.body);\n const fontSize =\n Number.parseFloat(bodyStyle.getPropertyValue('fontSize')) ||\n DEFAULT_FONT_SIZE;\n const lineHeight = Number.parseFloat(\n bodyStyle.getPropertyValue('lineHeight'),\n );\n this.bodyStyleCache = {\n lineHeightPixels: Number.isFinite(lineHeight)\n ? lineHeight\n : fontSize * DEFAULT_FONT_TO_LINE_HEIGHT_MULTIPLIER,\n height:\n Number.parseFloat(bodyStyle.getPropertyValue('height')) ||\n window.innerHeight,\n };\n window.setTimeout(() => {\n this.bodyStyleCache = undefined;\n }, 4800); // For now hardcoded. Could be derived. eg mouseWheelInteractionEndDebounce * 12\n }\n\n if (deltaMode === 1) {\n // deltaMode 1 corresponds to DOM_DELTA_LINE, which computes deltas in lines\n return deltaY * this.bodyStyleCache.lineHeightPixels;\n } else if (deltaMode === 2) {\n // deltaMode 2 corresponds to DOM_DELTA_PAGE, which computes deltas in pages\n return deltaY * this.bodyStyleCache.height;\n }\n // deltaMode 0 corresponds to DOM_DELTA_PIXEL, which computes deltas in pixels\n return deltaY;\n }\n\n protected getCanvasPosition(event: BaseEvent): Point.Point | undefined {\n const canvasBounds = this.element?.getBoundingClientRect();\n const canvasOffset =\n canvasBounds != null\n ? Point.create(canvasBounds.left, canvasBounds.top)\n : undefined;\n\n return canvasOffset != null\n ? Point.subtract(Point.create(event.clientX, event.clientY), canvasOffset)\n : undefined;\n }\n\n protected isTouch(event: BaseEvent): boolean {\n return window.PointerEvent != null && event instanceof PointerEvent\n ? event.pointerType === 'touch'\n : false;\n }\n}\n","import { Disposable, UUID } from '@vertexvis/utils';\n\nimport { BaseInteractionHandler } from './baseInteractionHandler';\n\nexport abstract class MultiElementInteractionHandler extends BaseInteractionHandler {\n protected registeredExternalElements: Record<UUID.UUID, Disposable> = {};\n\n public registerAdditionalElement(external: HTMLElement): Disposable {\n const id = UUID.create();\n const disposable = this.addEventListenersToElement(external);\n\n this.registeredExternalElements[id] = disposable;\n return disposable;\n }\n\n public deregisterAdditionalElementById(id: UUID.UUID): void {\n const externalElement = this.registeredExternalElements[id];\n\n externalElement.dispose();\n\n this.registeredExternalElements = Object.fromEntries(\n Object.entries(this.registeredExternalElements).filter(\n ([key]) => key !== id,\n ),\n );\n }\n\n protected deregisterAllListeners(): void {\n Object.keys(this.registeredExternalElements).forEach((id) =>\n this.deregisterAdditionalElementById(id),\n );\n }\n\n public abstract addEventListenersToElement(element?: HTMLElement): Disposable;\n}\n"],"names":["Point","UUID"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Copyright (c) 2026 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{v as t}from"./p-CZZALKHT.js";import{E as s,b as e}from"./p-CDM7zNn0.js";class r{constructor(){this.overlays=new Map;this.overlaysChanged=new s}addLineFromResult(t){return this.addLine(t.point1,t.point2)}addLine(t,s){const r=e.create();const n={type:"line",id:r,start:t,end:s,dispose:()=>this.remove(r)};this.addOverlay(n);return n}addDistanceVectorFromResult(t){return this.addDistanceVector(t.point1,t.point2)}addDistanceVector(s,r){const n=e.create();const i=t.subtract(s,r);const o=t.add(s,t.create(0,-i.y,0));const a={start:s,end:o};const c=t.add(o,t.create(0,0,-i.z));const d={start:o,end:c};const h=t.add(c,t.create(-i.x,0,0));const u={start:c,end:h};const p={type:"distance-vector",id:n,x:u,y:a,z:d,dispose:()=>this.remove(n)};this.addOverlay(p);return p}addOverlay(t){if(!this.overlays.has(t.id)){this.overlays.set(t.id,t);this.overlaysChanged.emit(this.getOverlays())}}getOverlays(){return Array.from(this.overlays.values())}remove(t){if(this.overlays.has(t)){this.overlays.delete(t);this.overlaysChanged.emit(this.getOverlays());return true}else{return false}}onOverlaysChanged(t){return this.overlaysChanged.on(t)}}export{r as M};
5
- //# sourceMappingURL=p-CxzyM08j.js.map
4
+ import{v as t}from"./p-2UsvOTHJ.js";import{E as s,b as e}from"./p-CDM7zNn0.js";class r{constructor(){this.overlays=new Map;this.overlaysChanged=new s}addLineFromResult(t){return this.addLine(t.point1,t.point2)}addLine(t,s){const r=e.create();const n={type:"line",id:r,start:t,end:s,dispose:()=>this.remove(r)};this.addOverlay(n);return n}addDistanceVectorFromResult(t){return this.addDistanceVector(t.point1,t.point2)}addDistanceVector(s,r){const n=e.create();const i=t.subtract(s,r);const o=t.add(s,t.create(0,-i.y,0));const a={start:s,end:o};const c=t.add(o,t.create(0,0,-i.z));const d={start:o,end:c};const h=t.add(c,t.create(-i.x,0,0));const u={start:c,end:h};const p={type:"distance-vector",id:n,x:u,y:a,z:d,dispose:()=>this.remove(n)};this.addOverlay(p);return p}addOverlay(t){if(!this.overlays.has(t.id)){this.overlays.set(t.id,t);this.overlaysChanged.emit(this.getOverlays())}}getOverlays(){return Array.from(this.overlays.values())}remove(t){if(this.overlays.has(t)){this.overlays.delete(t);this.overlaysChanged.emit(this.getOverlays());return true}else{return false}}onOverlaysChanged(t){return this.overlaysChanged.on(t)}}export{r as M};
5
+ //# sourceMappingURL=p-DyL2wWm6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"p-CxzyM08j.js","sources":["src/lib/measurement/overlays.ts"],"sourcesContent":["import { Vector3 } from '@vertexvis/geometry';\nimport { Disposable, EventDispatcher, Listener, UUID } from '@vertexvis/utils';\n\nimport { MinimumDistanceMeasurementResult } from './results';\n\nexport interface LineOverlay extends Disposable {\n type: 'line';\n id: string;\n start: Vector3.Vector3;\n end: Vector3.Vector3;\n}\n\nexport interface DistanceVectorOverlay extends Disposable {\n type: 'distance-vector';\n id: string;\n x: { start: Vector3.Vector3; end: Vector3.Vector3 };\n y: { start: Vector3.Vector3; end: Vector3.Vector3 };\n z: { start: Vector3.Vector3; end: Vector3.Vector3 };\n}\n\nexport type MeasurementOverlay = LineOverlay | DistanceVectorOverlay;\n\nexport class MeasurementOverlayManager {\n private overlays = new Map<string, MeasurementOverlay>();\n private overlaysChanged = new EventDispatcher<MeasurementOverlay[]>();\n\n public addLineFromResult(\n result: MinimumDistanceMeasurementResult,\n ): LineOverlay {\n return this.addLine(result.point1, result.point2);\n }\n\n public addLine(start: Vector3.Vector3, end: Vector3.Vector3): LineOverlay {\n const id = UUID.create();\n const overlay: LineOverlay = {\n type: 'line',\n id: id,\n start,\n end,\n dispose: () => this.remove(id),\n };\n this.addOverlay(overlay);\n return overlay;\n }\n\n public addDistanceVectorFromResult(\n result: MinimumDistanceMeasurementResult,\n ): DistanceVectorOverlay {\n return this.addDistanceVector(result.point1, result.point2);\n }\n\n public addDistanceVector(\n start: Vector3.Vector3,\n end: Vector3.Vector3,\n ): DistanceVectorOverlay {\n const id = UUID.create();\n const v = Vector3.subtract(start, end);\n\n const ye = Vector3.add(start, Vector3.create(0, -v.y, 0));\n const y = { start: start, end: ye };\n\n const ze = Vector3.add(ye, Vector3.create(0, 0, -v.z));\n const z = { start: ye, end: ze };\n\n const xe = Vector3.add(ze, Vector3.create(-v.x, 0, 0));\n const x = { start: ze, end: xe };\n\n const overlay: DistanceVectorOverlay = {\n type: 'distance-vector',\n id,\n x,\n y,\n z,\n dispose: () => this.remove(id),\n };\n this.addOverlay(overlay);\n return overlay;\n }\n\n private addOverlay(overlay: MeasurementOverlay): void {\n if (!this.overlays.has(overlay.id)) {\n this.overlays.set(overlay.id, overlay);\n this.overlaysChanged.emit(this.getOverlays());\n }\n }\n\n public getOverlays(): MeasurementOverlay[] {\n return Array.from(this.overlays.values());\n }\n\n private remove(id: string): boolean {\n if (this.overlays.has(id)) {\n this.overlays.delete(id);\n this.overlaysChanged.emit(this.getOverlays());\n return true;\n } else {\n return false;\n }\n }\n\n public onOverlaysChanged(\n listener: Listener<MeasurementOverlay[]>,\n ): Disposable {\n return this.overlaysChanged.on(listener);\n }\n}\n"],"names":["UUID","Vector3"],"mappings":"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"}
1
+ {"version":3,"file":"p-DyL2wWm6.js","sources":["src/lib/measurement/overlays.ts"],"sourcesContent":["import { Vector3 } from '@vertexvis/geometry';\nimport { Disposable, EventDispatcher, Listener, UUID } from '@vertexvis/utils';\n\nimport { MinimumDistanceMeasurementResult } from './results';\n\nexport interface LineOverlay extends Disposable {\n type: 'line';\n id: string;\n start: Vector3.Vector3;\n end: Vector3.Vector3;\n}\n\nexport interface DistanceVectorOverlay extends Disposable {\n type: 'distance-vector';\n id: string;\n x: { start: Vector3.Vector3; end: Vector3.Vector3 };\n y: { start: Vector3.Vector3; end: Vector3.Vector3 };\n z: { start: Vector3.Vector3; end: Vector3.Vector3 };\n}\n\nexport type MeasurementOverlay = LineOverlay | DistanceVectorOverlay;\n\nexport class MeasurementOverlayManager {\n private overlays = new Map<string, MeasurementOverlay>();\n private overlaysChanged = new EventDispatcher<MeasurementOverlay[]>();\n\n public addLineFromResult(\n result: MinimumDistanceMeasurementResult,\n ): LineOverlay {\n return this.addLine(result.point1, result.point2);\n }\n\n public addLine(start: Vector3.Vector3, end: Vector3.Vector3): LineOverlay {\n const id = UUID.create();\n const overlay: LineOverlay = {\n type: 'line',\n id: id,\n start,\n end,\n dispose: () => this.remove(id),\n };\n this.addOverlay(overlay);\n return overlay;\n }\n\n public addDistanceVectorFromResult(\n result: MinimumDistanceMeasurementResult,\n ): DistanceVectorOverlay {\n return this.addDistanceVector(result.point1, result.point2);\n }\n\n public addDistanceVector(\n start: Vector3.Vector3,\n end: Vector3.Vector3,\n ): DistanceVectorOverlay {\n const id = UUID.create();\n const v = Vector3.subtract(start, end);\n\n const ye = Vector3.add(start, Vector3.create(0, -v.y, 0));\n const y = { start: start, end: ye };\n\n const ze = Vector3.add(ye, Vector3.create(0, 0, -v.z));\n const z = { start: ye, end: ze };\n\n const xe = Vector3.add(ze, Vector3.create(-v.x, 0, 0));\n const x = { start: ze, end: xe };\n\n const overlay: DistanceVectorOverlay = {\n type: 'distance-vector',\n id,\n x,\n y,\n z,\n dispose: () => this.remove(id),\n };\n this.addOverlay(overlay);\n return overlay;\n }\n\n private addOverlay(overlay: MeasurementOverlay): void {\n if (!this.overlays.has(overlay.id)) {\n this.overlays.set(overlay.id, overlay);\n this.overlaysChanged.emit(this.getOverlays());\n }\n }\n\n public getOverlays(): MeasurementOverlay[] {\n return Array.from(this.overlays.values());\n }\n\n private remove(id: string): boolean {\n if (this.overlays.has(id)) {\n this.overlays.delete(id);\n this.overlaysChanged.emit(this.getOverlays());\n return true;\n } else {\n return false;\n }\n }\n\n public onOverlaysChanged(\n listener: Listener<MeasurementOverlay[]>,\n ): Disposable {\n return this.overlaysChanged.on(listener);\n }\n}\n"],"names":["UUID","Vector3"],"mappings":";;;;;;MAsBa,yBAAyB,CAAA;AAAtC,IAAA,WAAA,GAAA;AACU,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAA8B;AAChD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,EAAwB;;AAE9D,IAAA,iBAAiB,CACtB,MAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;;IAG5C,OAAO,CAAC,KAAsB,EAAE,GAAoB,EAAA;AACzD,QAAA,MAAM,EAAE,GAAGA,IAAI,CAAC,MAAM,EAAE;AACxB,QAAA,MAAM,OAAO,GAAgB;AAC3B,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,EAAE,EAAE,EAAE;YACN,KAAK;YACL,GAAG;YACH,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;SAC/B;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AACxB,QAAA,OAAO,OAAO;;AAGT,IAAA,2BAA2B,CAChC,MAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;;IAGtD,iBAAiB,CACtB,KAAsB,EACtB,GAAoB,EAAA;AAEpB,QAAA,MAAM,EAAE,GAAGA,IAAI,CAAC,MAAM,EAAE;QACxB,MAAM,CAAC,GAAGC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;QAEtC,MAAM,EAAE,GAAGA,OAAO,CAAC,GAAG,CAAC,KAAK,EAAEA,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;QAEnC,MAAM,EAAE,GAAGA,OAAO,CAAC,GAAG,CAAC,EAAE,EAAEA,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAEhC,MAAM,EAAE,GAAGA,OAAO,CAAC,GAAG,CAAC,EAAE,EAAEA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;AAEhC,QAAA,MAAM,OAAO,GAA0B;AACrC,YAAA,IAAI,EAAE,iBAAiB;YACvB,EAAE;YACF,CAAC;YACD,CAAC;YACD,CAAC;YACD,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;SAC/B;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AACxB,QAAA,OAAO,OAAO;;AAGR,IAAA,UAAU,CAAC,OAA2B,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;;;IAI1C,WAAW,GAAA;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;;AAGnC,IAAA,MAAM,CAAC,EAAU,EAAA;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAC7C,YAAA,OAAO,IAAI;;aACN;AACL,YAAA,OAAO,KAAK;;;AAIT,IAAA,iBAAiB,CACtB,QAAwC,EAAA;QAExC,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC;;AAE3C;;;;"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Copyright (c) 2026 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{p as s,g as l}from"./p-CZZALKHT.js";import{b as o}from"./p-CDM7zNn0.js";class r{constructor(l){var r,i,t,a,n;this.start=(r=l.start)!==null&&r!==void 0?r:s.create();this.end=(i=l.end)!==null&&i!==void 0?i:s.create();this.id=(t=l.id)!==null&&t!==void 0?t:`arrow-markup--${o.create()}`;this.startLineAnchorStyle=(a=l.startLineAnchorStyle)!==null&&a!==void 0?a:"none";this.endLineAnchorStyle=(n=l.endLineAnchorStyle)!==null&&n!==void 0?n:"arrow-triangle"}}class i{constructor(s){var r,i;this.bounds=(r=s.bounds)!==null&&r!==void 0?r:l.create(0,0,0,0);this.id=(i=s.id)!==null&&i!==void 0?i:`circle-markup--${o.create()}`}}class t{constructor(s){var r,i,t;this.bounds=(r=s.bounds)!==null&&r!==void 0?r:l.create(0,0,0,0);this.points=(i=s.points)!==null&&i!==void 0?i:[];this.id=(t=s.id)!==null&&t!==void 0?t:`freeform-markup--${o.create()}`}}export{r as A,i as C,t as F};
5
- //# sourceMappingURL=p-avWSFTeP.js.map
4
+ import{p as s,g as l}from"./p-2UsvOTHJ.js";import{b as o}from"./p-CDM7zNn0.js";class r{constructor(l){var r,i,t,a,n;this.start=(r=l.start)!==null&&r!==void 0?r:s.create();this.end=(i=l.end)!==null&&i!==void 0?i:s.create();this.id=(t=l.id)!==null&&t!==void 0?t:`arrow-markup--${o.create()}`;this.startLineAnchorStyle=(a=l.startLineAnchorStyle)!==null&&a!==void 0?a:"none";this.endLineAnchorStyle=(n=l.endLineAnchorStyle)!==null&&n!==void 0?n:"arrow-triangle"}}class i{constructor(s){var r,i;this.bounds=(r=s.bounds)!==null&&r!==void 0?r:l.create(0,0,0,0);this.id=(i=s.id)!==null&&i!==void 0?i:`circle-markup--${o.create()}`}}class t{constructor(s){var r,i,t;this.bounds=(r=s.bounds)!==null&&r!==void 0?r:l.create(0,0,0,0);this.points=(i=s.points)!==null&&i!==void 0?i:[];this.id=(t=s.id)!==null&&t!==void 0?t:`freeform-markup--${o.create()}`}}export{r as A,i as C,t as F};
5
+ //# sourceMappingURL=p-JvS9LLoO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"p-avWSFTeP.js","sources":["src/lib/types/markup.ts"],"sourcesContent":["import { Point, Rectangle } from '@vertexvis/geometry';\nimport { UUID } from '@vertexvis/utils';\n\nimport { LineAnchorStyle } from '../../components/viewer-markup-arrow/utils';\n\nexport interface MarkupInteraction {\n markup:\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement;\n newlyCreatedMarkup: boolean;\n}\n\nexport interface ArrowMarkupInit {\n start?: Point.Point;\n end?: Point.Point;\n id?: string;\n startLineAnchorStyle?: LineAnchorStyle;\n endLineAnchorStyle?: LineAnchorStyle;\n}\n\nexport class ArrowMarkup {\n public readonly start: Point.Point;\n public readonly end: Point.Point;\n public readonly id: string;\n public readonly startLineAnchorStyle: LineAnchorStyle;\n public readonly endLineAnchorStyle: LineAnchorStyle;\n\n public constructor(init: ArrowMarkupInit) {\n this.start = init.start ?? Point.create();\n this.end = init.end ?? Point.create();\n this.id = init.id ?? `arrow-markup--${UUID.create()}`;\n this.startLineAnchorStyle = init.startLineAnchorStyle ?? 'none';\n this.endLineAnchorStyle = init.endLineAnchorStyle ?? 'arrow-triangle';\n }\n}\n\nexport interface CircleMarkupInit {\n bounds?: Rectangle.Rectangle;\n id?: string;\n}\n\nexport class CircleMarkup {\n public readonly bounds: Rectangle.Rectangle;\n public readonly id: string;\n\n public constructor(init: CircleMarkupInit) {\n this.bounds = init.bounds ?? Rectangle.create(0, 0, 0, 0);\n this.id = init.id ?? `circle-markup--${UUID.create()}`;\n }\n}\n\nexport interface FreeformMarkupInit {\n bounds?: Rectangle.Rectangle;\n points?: Point.Point[];\n id?: string;\n}\n\nexport class FreeformMarkup {\n public readonly bounds: Rectangle.Rectangle;\n public readonly points: Point.Point[];\n public readonly id: string;\n\n public constructor(init: FreeformMarkupInit) {\n this.bounds = init.bounds ?? Rectangle.create(0, 0, 0, 0);\n this.points = init.points ?? [];\n this.id = init.id ?? `freeform-markup--${UUID.create()}`;\n }\n}\n\nexport type Markup = ArrowMarkup | CircleMarkup | FreeformMarkup;\n\nexport type MarkupCenteringBehavior = 'x-only' | 'y-only' | 'both' | 'none';\n"],"names":["Point","UUID","Rectangle"],"mappings":";;;;;;MAqBa,WAAW,CAAA;AAOtB,IAAA,WAAA,CAAmB,IAAqB,EAAA;;AACtC,QAAA,IAAI,CAAC,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAIA,KAAK,CAAC,MAAM,EAAE;AACzC,QAAA,IAAI,CAAC,GAAG,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAIA,KAAK,CAAC,MAAM,EAAE;AACrC,QAAA,IAAI,CAAC,EAAE,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAA,cAAA,EAAiBC,IAAI,CAAC,MAAM,EAAE,EAAE;QACrD,IAAI,CAAC,oBAAoB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,MAAM;QAC/D,IAAI,CAAC,kBAAkB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,gBAAgB;;AAExE;MAOY,YAAY,CAAA;AAIvB,IAAA,WAAA,CAAmB,IAAsB,EAAA;;AACvC,QAAA,IAAI,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,mCAAIC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,EAAE,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAA,eAAA,EAAkBD,IAAI,CAAC,MAAM,EAAE,EAAE;;AAEzD;MAQY,cAAc,CAAA;AAKzB,IAAA,WAAA,CAAmB,IAAwB,EAAA;;AACzC,QAAA,IAAI,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,mCAAIC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;AAC/B,QAAA,IAAI,CAAC,EAAE,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAA,iBAAA,EAAoBD,IAAI,CAAC,MAAM,EAAE,EAAE;;AAE3D;;;;"}
1
+ {"version":3,"file":"p-JvS9LLoO.js","sources":["src/lib/types/markup.ts"],"sourcesContent":["import { Point, Rectangle } from '@vertexvis/geometry';\nimport { UUID } from '@vertexvis/utils';\n\nimport { LineAnchorStyle } from '../../components/viewer-markup-arrow/utils';\n\nexport interface MarkupInteraction {\n markup:\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement;\n newlyCreatedMarkup: boolean;\n}\n\nexport interface ArrowMarkupInit {\n start?: Point.Point;\n end?: Point.Point;\n id?: string;\n startLineAnchorStyle?: LineAnchorStyle;\n endLineAnchorStyle?: LineAnchorStyle;\n}\n\nexport class ArrowMarkup {\n public readonly start: Point.Point;\n public readonly end: Point.Point;\n public readonly id: string;\n public readonly startLineAnchorStyle: LineAnchorStyle;\n public readonly endLineAnchorStyle: LineAnchorStyle;\n\n public constructor(init: ArrowMarkupInit) {\n this.start = init.start ?? Point.create();\n this.end = init.end ?? Point.create();\n this.id = init.id ?? `arrow-markup--${UUID.create()}`;\n this.startLineAnchorStyle = init.startLineAnchorStyle ?? 'none';\n this.endLineAnchorStyle = init.endLineAnchorStyle ?? 'arrow-triangle';\n }\n}\n\nexport interface CircleMarkupInit {\n bounds?: Rectangle.Rectangle;\n id?: string;\n}\n\nexport class CircleMarkup {\n public readonly bounds: Rectangle.Rectangle;\n public readonly id: string;\n\n public constructor(init: CircleMarkupInit) {\n this.bounds = init.bounds ?? Rectangle.create(0, 0, 0, 0);\n this.id = init.id ?? `circle-markup--${UUID.create()}`;\n }\n}\n\nexport interface FreeformMarkupInit {\n bounds?: Rectangle.Rectangle;\n points?: Point.Point[];\n id?: string;\n}\n\nexport class FreeformMarkup {\n public readonly bounds: Rectangle.Rectangle;\n public readonly points: Point.Point[];\n public readonly id: string;\n\n public constructor(init: FreeformMarkupInit) {\n this.bounds = init.bounds ?? Rectangle.create(0, 0, 0, 0);\n this.points = init.points ?? [];\n this.id = init.id ?? `freeform-markup--${UUID.create()}`;\n }\n}\n\nexport type Markup = ArrowMarkup | CircleMarkup | FreeformMarkup;\n\nexport type MarkupCenteringBehavior = 'x-only' | 'y-only' | 'both' | 'none';\n"],"names":["Point","UUID","Rectangle"],"mappings":";;;;;;MAqBa,WAAW,CAAA;AAOtB,IAAA,WAAA,CAAmB,IAAqB,EAAA;;AACtC,QAAA,IAAI,CAAC,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAIA,KAAK,CAAC,MAAM,EAAE;AACzC,QAAA,IAAI,CAAC,GAAG,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAIA,KAAK,CAAC,MAAM,EAAE;AACrC,QAAA,IAAI,CAAC,EAAE,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAA,cAAA,EAAiBC,IAAI,CAAC,MAAM,EAAE,EAAE;QACrD,IAAI,CAAC,oBAAoB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,MAAM;QAC/D,IAAI,CAAC,kBAAkB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,gBAAgB;;AAExE;MAOY,YAAY,CAAA;AAIvB,IAAA,WAAA,CAAmB,IAAsB,EAAA;;AACvC,QAAA,IAAI,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,mCAAIC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,EAAE,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAA,eAAA,EAAkBD,IAAI,CAAC,MAAM,EAAE,EAAE;;AAEzD;MAQY,cAAc,CAAA;AAKzB,IAAA,WAAA,CAAmB,IAAwB,EAAA;;AACzC,QAAA,IAAI,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,mCAAIC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;AAC/B,QAAA,IAAI,CAAC,EAAE,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAA,iBAAA,EAAoBD,IAAI,CAAC,MAAM,EAAE,EAAE;;AAE3D;;;;"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright (c) 2026 Vertex Software LLC. All rights reserved.
3
+ */
4
+ import{c as e,u as t,b as s,a as n}from"./p-CDM7zNn0.js";import{c as i,d as r,e as a}from"./p--8q6LyIm.js";import{u as o,m as u,a as h,p as c,b as l,r as d}from"./p-DHK23fw4.js";import{s as p,w}from"./p-BNuMPeJ8.js";import{r as v,c as f}from"./p-CioaIHsi.js";import{c as m,v as y,m as x,q as g,r as I,f as b,p as S,e as B}from"./p-2UsvOTHJ.js";import{Q as R,t as A,R as E,T,U as V,u as k,e as q,g as C}from"./p-BhKTTmpL.js";import"./p-BAhfr1Nx.js";import{t as P,v as M,L as O}from"./p-5kcpg4MZ.js";const D={opacity:255,glossiness:4,diffuse:{r:0,g:0,b:0,a:0},ambient:{r:0,g:0,b:0,a:0},specular:{r:0,g:0,b:0,a:0},emissive:{r:0,g:0,b:0,a:0}};const _=(e,t,s,n)=>({...D,opacity:n!==null&&n!==void 0?n:D.opacity,diffuse:{r:e,g:t,b:s,a:0}});const j=(t,s)=>{const n=e.fromHexString(t);return{...D,opacity:s!==null&&s!==void 0?s:D.opacity,diffuse:n!=null?{...n}:{...D.diffuse}}};var U=Object.freeze({__proto__:null,create:_,defaultColor:D,fromHex:j});function N(e){var s;const n=t.parse(e);if(n.scheme!=="urn"||n.path==null){throw new Error("Invalid URN. Expected URN scheme.")}const[r,a,o,...u]=n.path.split(/[:/]/);if(r!=="vertexvis"&&r!=="vertex"){throw new Error("Invalid URN. Expected URN to be vertex namespace")}if(r==="vertexvis"){console.warn("vertexvis namespace is deprecated. Use 'vertex' for the namespace urn instead")}switch(a){case"stream-key":const e=z(n.query);const t=(s=F(u.join("/")))!==null&&s!==void 0?s:e.find((e=>e.type==="scene-view-state"));return{resource:{type:"stream-key",id:o},subResource:t,queries:e.filter((e=>e.type!=="scene-view-state"))};default:throw new i(`Invalid URN. Unknown resource type ${a}`)}}function F(e){if(e!=null){const[t,s]=e.split("/");switch(t){case"scene-view-states":return{type:"scene-view-state",id:s};default:return undefined}}}function z(e){if(e!=null){return e.split("&").map((e=>{const[t,s]=e.split("=");switch(t){case"supplied-id":return{type:"supplied-id",id:s};case"scene-view-state":return{type:"scene-view-state",id:s};default:throw new Error("Invalid URN. Unknown query value type")}}))}else{return[]}}var H=Object.freeze({__proto__:null,fromUrn:N});function L(e){return e.id!=null}function Q(e){return e.suppliedId!=null}var Y=Object.freeze({__proto__:null,isSceneViewStateId:L,isSceneViewStateSuppliedId:Q});class J{constructor(e,t=new Date){this.knownRemoteTime=e;this.knownLocalTime=t}localOffset(){return this.duration(this.knownLocalTime,this.localNow())}localTime(e){const t=typeof e==="number"?new Date(this.knownLocalTime.getTime()+e):e;const s=this.duration(this.knownRemoteTime,t);return this.addDuration(this.knownLocalTime,s)}remoteOffset(e=new Date){return this.duration(this.remoteTime(this.knownLocalTime),this.remoteTime(e))}remoteNow(){return this.remoteTime(this.localNow())}remoteTime(e){const t=typeof e==="number"?new Date(this.knownLocalTime.getTime()+e):e;const s=this.duration(this.knownLocalTime,t);return this.addDuration(this.knownRemoteTime,s)}addDuration(e,t){return new Date(e.getTime()+t)}duration(e,t){return t.getTime()-e.getTime()}localNow(){return new Date(Date.now())}}function K(e){const t=s.toMsbLsb(e);const n=new o.Uuid2l;n.setMsb(t.msb);n.setLsb(t.lsb);return n}class W{constructor(e,t,s,n){this.client=e;this.stream=t;this.jwtProvider=s;this.deviceIdProvider=n}async listByItem(e,{hasAnnotations:t,cursor:s,size:n=50}={}){const i=await v((async i=>{const r=this.deviceIdProvider();const a=await f(this.jwtProvider,r);const o=new p.ListItemModelViewsRequest;const u=K(e);o.setItemId(u);if(t!=null){const e=new w.BoolValue;e.setValue(t);o.setHasAnnotations(e)}const h=new c.Pager;h.setLimit(n);if(s!=null){h.setCursor(s)}o.setPage(h);this.client.listItemModelViews(o,a,i)}));return u(i.toObject())}async load(e,t){const s=h({modelViewId:t,sceneItemId:e});this.stream.updateModelView({itemModelView:s},true)}async unload(){await this.stream.updateModelView({},true)}}class Z{constructor(e,t,s){this.client=e;this.jwtProvider=t;this.deviceIdProvider=s}async listAnnotations({modelViewId:e,cursor:t,size:s=50}={}){const n=await v((async n=>{const i=this.deviceIdProvider();const r=await f(this.jwtProvider,i);const a=new p.ListPmiAnnotationsRequest;if(e!=null){const t=K(e);a.setModelViewId(t)}const o=new c.Pager;o.setLimit(s);if(t!=null){o.setCursor(t)}a.setPage(o);this.client.listPmiAnnotations(a,r,n)}));return l(n.toObject())}}const $=1e3*10;class G{constructor(e,t,s,n=$){this.stream=e;this.predicate=t;this.transform=s;this.timeout=n;this.listeners=[];this.handleMessage=this.handleMessage.bind(this)}on(e){this.listeners=[...this.listeners,e];if(this.eventDisposable==null||this.requestDisposable==null){this.addListeners()}}off(e){this.listeners=this.listeners.filter((t=>t!==e));if(this.listeners.length===0){this.removeListeners()}}once(){let e;return n.timeout(this.timeout,new Promise((t=>{e=s=>{t(s);this.off(e)};this.on(e)}))).finally((()=>{this.off(e)}))}handleMessage(e){if(this.predicate(e)){const t=this.transform(e);if(t!=null){this.listeners.forEach((e=>e(t)))}}}addListeners(){this.eventDisposable=this.stream.onEvent(this.handleMessage);this.requestDisposable=this.stream.onRequest(this.handleMessage)}removeListeners(){var e,t;(e=this.eventDisposable)===null||e===void 0?void 0:e.dispose();(t=this.requestDisposable)===null||t===void 0?void 0:t.dispose()}}class X{constructor(e,t,{animationId:s,correlationId:n},i){this.data=undefined;this.onAnimationCompleted=new G(e,(e=>{var t,n,i;return((i=(n=(t=e.event)===null||t===void 0?void 0:t.animationCompleted)===null||n===void 0?void 0:n.animationId)===null||i===void 0?void 0:i.hex)===s}),(e=>{var t,s,n;return((n=(s=(t=e.event)===null||t===void 0?void 0:t.animationCompleted)===null||s===void 0?void 0:s.animationId)===null||n===void 0?void 0:n.hex)||undefined}),i);this.onFrameReceived=new G(e,(e=>{var t,s,i;return!!((i=(s=(t=e.request)===null||t===void 0?void 0:t.drawFrame)===null||s===void 0?void 0:s.frameCorrelationIds)===null||i===void 0?void 0:i.some((e=>e===n)))}),(e=>{var s;return((s=e.request)===null||s===void 0?void 0:s.drawFrame)!=null?t(e.request.drawFrame):undefined}),i)}}function ee(e){if(typeof e==="string"){return{sceneViewStateId:{hex:e}}}else if(L(e)){return{sceneViewStateId:{hex:e.id}}}else if(Q(e)){return{sceneViewStateSuppliedId:{value:e.suppliedId}}}else{throw new Error("Unable to build scene view state identifier, input must be a string or `SceneViewStateIdentifier`.")}}function te(e,t){switch(e.type){case"and":case"or":return{operand:{itemCollection:{queries:e.expressions.map((e=>({sceneItemQuery:re(e)})))}}};case"not":return{not:{expression:te(e.query,t)}};case"item-id":case"supplied-id":return{operand:{item:{sceneItemQuery:re(e)}}};case"all":return{operand:{root:{}}};case"scene-tree-range":return{operand:{sceneTreeRange:{start:e.range.start,end:e.range.end}}};case"metadata":if(e.removeHiddenItems){return{and:{first:{operand:{metadata:{valueFilter:e.filter,keys:e.keys,exactMatch:e.exactMatch}}},second:{operand:{override:{visibility:{visibilityState:true}}}}}}}else{return{operand:{metadata:{valueFilter:e.filter,keys:e.keys,exactMatch:e.exactMatch}}}}case"all-selected":return{operand:{override:{selection:{}}}};case"all-visible":return{operand:{override:{visibility:{visibilityState:true}}}};case"point":return{operand:{point:{point:e.point,viewport:t.dimensions}}};case"volume-intersection":return{operand:{volume:{frustumByRectangle:{rectangle:e.rectangle},exclusive:e.exclusive,viewport:t.dimensions}}};default:return{}}}function se(e,t){switch(e.type){case"and":const t=e.expressions.length;if(t===1){return se({type:"annotation-id",value:e.expressions[0].value})}else if(t!==2){throw new Error("Incorrect number of query expressions provided.")}return{and:{first:se(e.expressions[0]),second:se(e.expressions[1])}};case"or":const n=e.expressions.length;if(n===1){return se({type:"annotation-id",value:e.expressions[0].value})}else if(n!==2){throw new Error("Incorrect number of query expressions provided.")}return{or:{first:se(e.expressions[0]),second:se(e.expressions[1])}};case"not":return{not:{expression:se(e.query)}};case"annotation-id":const{msb:i,lsb:r}=s.toMsbLsb(e.value);return{operand:{annotation:{id:new M.protobuf.core.Uuid2l({msb:O.fromString(i),lsb:O.fromString(r)})}}};case"all":return{operand:{all:{}}};default:return{}}}function ne(e,t,s){const n=oe(t);const i=te(e,s);return{sceneItemOperation:{queryExpression:i,operationTypes:n}}}function ie(e,t,s){const n=ue(t);const i=se(e);return{pmiAnnotationOperation:{queryExpression:i,operationTypes:n}}}function re(e){switch(e.type){case"item-id":return{id:new M.protobuf.core.Uuid({hex:e.value})};case"supplied-id":return{suppliedId:e.value};default:return{}}}function ae(e,t,s,n,i=false){const{type:r,data:a}=t.flyTo;const o={frameCorrelationId:{value:e}};if(s!=null){o.animation={duration:P(s.milliseconds)}}if(n!=null){if(i||R(n)){o.baseCamera=A(n)}}switch(r){case"supplied":o.itemSuppliedId=a;break;case"internal":o.itemId=new M.protobuf.core.Uuid({hex:a});break;case"camera":o.camera=A(a);break;case"scene-item-query":o.sceneItemQueryExpression=a;break;case"bounding-box":o.boundingBox={xmin:a.min.x,xmax:a.max.x,ymin:a.min.y,ymax:a.max.y,zmin:a.min.z,zmax:a.max.z};break}return o}function oe(e){return e.map((e=>{var t,s;switch(e.type){case"change-material":return{changeMaterial:{materialOverride:{colorMaterial:{d:e.material.opacity,ns:e.material.glossiness,ka:e.material.ambient,kd:e.material.diffuse,ks:e.material.specular,ke:e.material.emissive}}}};case"clear-override":return{clearMaterial:{}};case"change-transform":return{changeTransform:{transform:{...e.transform}}};case"clear-transform":return{clearTransform:{cascade:e.cascade}};case"hide":return{changeVisibility:{visible:false}};case"show":return{changeVisibility:{visible:true}};case"select":return{changeSelection:{selected:true}};case"deselect":return{changeSelection:{selected:false}};case"change-phantom":return{changePhantom:{phantom:(t=e.phantomState)!==null&&t!==void 0?t:true}};case"clear-phantom":return{changePhantom:{phantom:false}};case"change-end-item":return{changeEndItem:{endItem:(s=e.endItemState)!==null&&s!==void 0?s:true}};case"clear-end-item":return{changeEndItem:{endItem:false}};case"view-rendition-by-id":return{viewRendition:{id:new M.protobuf.core.Uuid({hex:e.id})}};case"view-rendition-by-supplied-id":return{viewRendition:{suppliedId:e.suppliedId}};case"view-default-rendition":return{viewDefaultRendition:{}};case"clear-rendition":return{clearRendition:{}};case"view-representation":if(e.id==="empty"){return{viewRepresentation:{predefinedId:d.RepresentationPredefinedId.REPRESENTATION_PREDEFINED_ID_EMPTY}}}else if(e.id==="entire-part"){return{viewRepresentation:{predefinedId:d.RepresentationPredefinedId.REPRESENTATION_PREDEFINED_ID_ENTIRE_PART}}}else{return{viewRepresentation:{id:new M.protobuf.core.Uuid({hex:e.id})}}}case"clear-representation":return{clearRepresentation:{}};default:return{}}}))}function ue(e){return e.map((e=>{switch(e.type){case"show":return{changeVisibility:{visible:true}};case"hide":return{changeVisibility:{visible:false}};case"select":return{changeSelection:{selected:true}};case"deselect":return{changeSelection:{selected:false}};default:return{}}}))}function he(e){return e.map((e=>{switch(e){case"camera":return M.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_CAMERA;case"material_overrides":return M.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_MATERIAL_OVERRIDE;case"selection":return M.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_SELECTION;case"visibility":return M.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_VISIBILITY;case"transforms":return M.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_TRANSFORM;case"cross_section":return M.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_CROSS_SECTION;case"phantom":return M.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_PHANTOM;case"shading":return M.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_SHADING;default:return M.protobuf.stream.SceneViewStateFeature.SCENE_VIEW_STATE_FEATURE_INVALID}}))}class ce{constructor(e){this.flyToOptions=e}build(){return this.flyToOptions}}class le{withItemId(e){return new ce({flyTo:{type:"internal",data:e}})}withSuppliedId(e){return new ce({flyTo:{type:"supplied",data:e}})}withCamera(e){return new ce({flyTo:{type:"camera",data:e}})}withBoundingBox(e){return new ce({flyTo:{type:"bounding-box",data:e}})}build(){return this.flyToOptions}}class de{constructor(e,t,s,n,i,r){this.stream=e;this.aspect=t;this.data=s;this.boundingBox=n;this.decodeFrame=i;this.flyToOptions=r;this.hasInitiallyValidFrameCamera=R(s)}fitToBoundingBox(e){return this.flyTo({boundingBox:e})}signedDistanceToBoundingBoxCenter(e){const{position:t,viewVector:s}=E(this.data);const n=m.center(e!==null&&e!==void 0?e:this.boundingBox);const i=y.subtract(n,t);return y.dot(s,i)/y.magnitude(s)}flyTo(e){if(typeof e!=="function"){const t=this.buildFlyToType(e);return this.updateFlyToOptions({flyTo:t})}else{return this.updateFlyToOptions(e(new le).build())}}viewAll(){return this.fitToBoundingBox(this.boundingBox)}async render(e={}){var t,n,i,r;if(this.flyToOptions==null&&e.animation){this.flyToOptions={flyTo:{type:"camera",data:this.data}}}try{(t=e.correlationId)!==null&&t!==void 0?t:e.correlationId=s.create();if(this.flyToOptions!=null){const t=ae(e.correlationId,this.flyToOptions,e.animation,this.toFrameCamera(),this.hasInitiallyValidFrameCamera&&e.skipCameraValidation);const s=await this.stream.flyTo(t,true);return new X(this.stream,this.decodeFrame,{correlationId:e.correlationId,animationId:((i=(n=s.flyTo)===null||n===void 0?void 0:n.animationId)===null||i===void 0?void 0:i.hex)||undefined},((r=e.animation)===null||r===void 0?void 0:r.milliseconds)!=null?e.animation.milliseconds+$:undefined)}else{this.stream.replaceCamera({camera:A(this.data),frameCorrelationId:{value:e.correlationId}});return new X(this.stream,this.decodeFrame,{correlationId:e.correlationId})}}catch(e){console.warn("Error when performing render: ",e);throw e}}rotateAroundAxis(e,t){return this.rotateAroundAxisAtPoint(e,this.data.lookAt,t)}alignTo(e,t){const s=y.normalize(y.cross(this.up,y.normalize(this.viewVector)));const n=y.normalize(y.cross(y.normalize(this.viewVector),s));const i=y.angleTo(t,n)>Math.PI/2?y.negate(n):n;const r=y.isEqual(i,t)?s:y.normalize(y.cross(i,t));const a=y.multiplyByTransformMatrixRowMajor(this.viewVector,x.makeRotation(g.fromAxisAngle(r,y.angleTo(t,i))));const o=I.create({origin:e,direction:y.normalize(a)});const u=I.at(o,y.magnitude(this.viewVector));return this.update({position:e,lookAt:u,up:t})}standardView(e){return this.update({position:e.position,viewVector:y.subtract(y.origin(),e.position),lookAt:y.origin(),up:e.up})}standardViewFixedLookAt(e){const t=I.create({origin:this.lookAt,direction:y.normalize(e.position)});const s=I.at(t,y.magnitude(this.viewVector));return this.update({up:e.up,position:s,viewVector:y.subtract(this.lookAt,s)})}buildFlyToType(e){if(e.boundingBox!=null){return{type:"bounding-box",data:e.boundingBox}}else if(e.camera!=null){return{type:"camera",data:e.camera}}else if(e.itemId!=null){return{type:"internal",data:e.itemId}}else if(e.itemSuppliedId!=null){return{type:"supplied",data:e.itemSuppliedId}}else if(e.sceneItemQueryExpression!=null){return{type:"scene-item-query",data:e.sceneItemQueryExpression}}else{throw new Error("Fly to must specify at least one option.")}}computeClippingPlanes(e){return T(this.boundingBox,e)}}class pe extends de{constructor(e,t,s,n,i,r){super(e,t,s,n,i,r);this.perspectiveData=s}moveBy(e){return this.update({position:y.add(this.position,e),lookAt:y.add(this.lookAt,e)})}rotateAroundAxisAtPoint(e,t,s){return this.update({position:y.rotateAboutAxis(e,this.position,s,t),lookAt:y.rotateAboutAxis(e,this.lookAt,s,t),up:y.rotateAboutAxis(e,this.up,s,y.origin())})}update(e){var t;const s=(t=e.fovY)!==null&&t!==void 0?t:this.fovY;return new pe(this.stream,this.aspect,{...this.perspectiveData,...e,fovY:s},this.boundingBox,this.decodeFrame,this.flyToOptions)}toFrameCamera(){var e;return new C(this.position,this.lookAt,this.up,this.near,this.far,this.aspectRatio,(e=this.fovY)!==null&&e!==void 0?e:45)}get viewVector(){return y.subtract(this.lookAt,this.position)}get position(){return{...this.perspectiveData.position}}get up(){return{...this.perspectiveData.up}}get lookAt(){return{...this.perspectiveData.lookAt}}get fovY(){return this.perspectiveData.fovY}get aspectRatio(){return this.aspect}get near(){const{near:e}=this.computeClippingPlanes(this.perspectiveData);return e}get far(){const{far:e}=this.computeClippingPlanes(this.perspectiveData);return e}updateFlyToOptions(e){return new pe(this.stream,this.aspect,this.perspectiveData,this.boundingBox,this.decodeFrame,e)}}class we extends de{constructor(e,t,s,n,i,r){super(e,t,s,n,i,r);this.orthographicData=s}moveBy(e){const t=y.add(this.lookAt,e);return this.update({lookAt:t,rotationPoint:t})}rotateAroundAxisAtPoint(e,t,s){const n=y.rotateAboutAxis(e,this.lookAt,s,t);const i=y.rotateAboutAxis(e,this.position,s,t);const r=V(y.subtract(n,i),b.create(this.boundingBox));return this.update({viewVector:r,lookAt:n,up:y.rotateAboutAxis(e,this.up,s,y.origin())})}update(e){return new we(this.stream,this.aspect,{...this.orthographicData,...e},this.boundingBox,this.decodeFrame,this.flyToOptions)}toFrameCamera(){const e=b.create(this.boundingBox);const t=V(this.viewVector,e);const s=k(this.lookAt,t,e.center);return new q(t,s,this.up,this.near,this.far,this.aspectRatio,this.fovHeight,this.rotationPoint)}get viewVector(){return{...this.orthographicData.viewVector}}get position(){return y.add(this.lookAt,y.negate(this.viewVector))}get rotationPoint(){const e=this.orthographicData.rotationPoint;if(e!=null){return e}else{return undefined}}get up(){return{...this.orthographicData.up}}get lookAt(){return{...this.orthographicData.lookAt}}get fovHeight(){return this.orthographicData.fovHeight}get aspectRatio(){return this.aspect}get near(){const{near:e}=this.computeClippingPlanes(this.orthographicData);return e}get far(){const{far:e}=this.computeClippingPlanes(this.orthographicData);return e}updateFlyToOptions(e){return new we(this.stream,this.aspect,this.orthographicData,this.boundingBox,this.decodeFrame,e)}}class ve{constructor(e,t){this.stream=e;this.data=t}async update(e){const t=await this.stream.updateCrossSectioning({crossSectioning:{sectionPlanes:e.sectionPlanes,highlightColor:e.highlightColor,lineWidth:(e===null||e===void 0?void 0:e.lineWidth)!=null?{value:e.lineWidth}:null}},true);return t.updateCrossSectioning||undefined}current(){return this.data}}class fe{constructor(e=[]){this.operations=e}build(){return this.operations.concat()}materialOverride(e){return new fe(this.operations.concat([{type:"change-material",material:e}]))}show(){return new fe(this.operations.concat([{type:"show"}]))}hide(){return new fe(this.operations.concat([{type:"hide"}]))}select(){return new fe(this.operations.concat([{type:"select"}]))}deselect(){return new fe(this.operations.concat([{type:"deselect"}]))}clearMaterialOverrides(){return new fe(this.operations.concat([{type:"clear-override"}]))}transform(e){return new fe(this.operations.concat([{type:"change-transform",transform:e}]))}clearTransforms(e=true){return new fe(this.operations.concat([{type:"clear-transform",cascade:e}]))}setPhantom(e){return new fe(this.operations.concat([{type:"change-phantom",phantomState:e}]))}clearPhantom(){return new fe(this.operations.concat([{type:"clear-phantom"}]))}setEndItem(e){return new fe(this.operations.concat([{type:"change-end-item",endItemState:e}]))}clearEndItem(){return new fe(this.operations.concat([{type:"clear-end-item"}]))}viewRenditionById(e){return new fe(this.operations.concat([{type:"view-rendition-by-id",id:e}]))}viewRenditionBySuppliedId(e){return new fe(this.operations.concat([{type:"view-rendition-by-supplied-id",suppliedId:e}]))}viewDefaultRendition(){return new fe(this.operations.concat([{type:"view-default-rendition"}]))}clearRendition(){return new fe(this.operations.concat([{type:"clear-rendition"}]))}viewRepresentation(e){return new fe(this.operations.concat({type:"view-representation",id:e}))}clearRepresentation(){return new fe(this.operations.concat({type:"clear-representation"}))}}class me{constructor(e=[]){this.operations=e}build(){return this.operations.concat()}show(){return new me(this.operations.concat([{type:"show"}]))}hide(){return new me(this.operations.concat([{type:"hide"}]))}select(){return new me(this.operations.concat([{type:"select"}]))}deselect(){return new me(this.operations.concat([{type:"deselect"}]))}}class ye{constructor(e,t){this.stream=e;this.imageScaleProvider=t}async hitItems(e,t){const s=this.imageScaleProvider();const n=await this.stream.hitItems({point:S.scale(e,(s===null||s===void 0?void 0:s.x)||1,(s===null||s===void 0?void 0:s.y)||1),includeMetadata:t===null||t===void 0?void 0:t.includeMetadata},true);return n.hitItems||undefined}}const xe=1e3*30;class ge{constructor(e,t,s,n){this.onFrameDrawn=new G(e,(e=>{var t,n,i;return!!((i=(n=(t=e.request)===null||t===void 0?void 0:t.drawFrame)===null||n===void 0?void 0:n.frameCorrelationIds)===null||i===void 0?void 0:i.some((e=>e===s)))}),(e=>{var s;return((s=e.request)===null||s===void 0?void 0:s.drawFrame)!=null?t(e.request.drawFrame):undefined}),n!==null&&n!==void 0?n:xe)}}class Ie{constructor(e,t,s,n,i){this.stream=e;this.decodeFrame=t;this.encodeCameraType=s;this.sceneId=n;this.sceneViewId=i}async applySceneViewState(e,t={}){const s=ee(e);await this.animateToSceneViewState(s,t);return await this.stream.loadSceneViewState({...s,frameCorrelationId:t.suppliedCorrelationId?{value:t.suppliedCorrelationId}:undefined,cameraType:t.cameraTypeOverride?this.encodeCameraType(t.cameraTypeOverride):undefined},true)}async applyPartialSceneViewState(e,t,s={}){const n=ee(e);const i=he(t);if(t.includes("camera")){await this.animateToSceneViewState(n,s)}return await this.stream.loadSceneViewState({...n,frameCorrelationId:s.suppliedCorrelationId?{value:s.suppliedCorrelationId}:undefined,sceneViewStateFeatureSubset:i,cameraType:s.cameraTypeOverride?this.encodeCameraType(s.cameraTypeOverride):undefined},true)}async animateToSceneViewState(e,t){var n,i,r;if(t.animation!=null){const a=s.create();const o=await this.stream.flyTo({sceneViewStateIdentifier:e,animation:{duration:P(t.animation.milliseconds)},frameCorrelationId:{value:a}},true);if(t.waitForAnimation==null||t.waitForAnimation){const e=new X(this.stream,this.decodeFrame,{animationId:(r=(i=(n=o.flyTo)===null||n===void 0?void 0:n.animationId)===null||i===void 0?void 0:i.hex)!==null&&r!==void 0?r:undefined,correlationId:a},t.animation.milliseconds+$);await e.onAnimationCompleted.once()}}}}class be{constructor(e,t){this.query=e;this.builder=t!==null&&t!==void 0?t:new fe}isItemBuilder(){return true}isAnnotationBuilder(){return false}materialOverride(e){if(typeof e==="string"){return new be(this.query,this.builder.materialOverride(j(e)))}else{return new be(this.query,this.builder.materialOverride(e))}}hide(){return new be(this.query,this.builder.hide())}show(){return new be(this.query,this.builder.show())}select(){return new be(this.query,this.builder.select())}deselect(){return new be(this.query,this.builder.deselect())}clearMaterialOverrides(){return new be(this.query,this.builder.clearMaterialOverrides())}transform(e){if(Array.isArray(e)){if(e.length!==16){throw new a("Matrix provided must contain exactly 16 values (4x4).")}return new be(this.query,this.builder.transform({r0:{x:e[0],y:e[1],z:e[2],w:e[3]},r1:{x:e[4],y:e[5],z:e[6],w:e[7]},r2:{x:e[8],y:e[9],z:e[10],w:e[11]},r3:{x:e[12],y:e[13],z:e[14],w:e[15]}}))}else{return new be(this.query,this.builder.transform(e))}}clearTransforms(e=true){return new be(this.query,this.builder.clearTransforms(e))}setPhantom(e){return new be(this.query,this.builder.setPhantom(e))}clearPhantom(){return new be(this.query,this.builder.clearPhantom())}setEndItem(e){return new be(this.query,this.builder.setEndItem(e))}clearEndItem(){return new be(this.query,this.builder.clearEndItem())}viewRenditionById(e){return new be(this.query,this.builder.viewRenditionById(e))}viewRenditionBySuppliedId(e){return new be(this.query,this.builder.viewRenditionBySuppliedId(e))}viewDefaultRendition(){return new be(this.query,this.builder.viewDefaultRendition())}clearRendition(){return new be(this.query,this.builder.clearRendition())}viewRepresentation(e){return new be(this.query,this.builder.viewRepresentation(e))}clearRepresentation(){return new be(this.query,this.builder.clearRepresentation())}build(){return{query:this.query,operations:this.builder.build()}}}class Se{constructor(e,t){this.query=e;this.builder=t!==null&&t!==void 0?t:new me}isItemBuilder(){return false}isAnnotationBuilder(){return true}hide(){return new Se(this.query,this.builder.hide())}show(){return new Se(this.query,this.builder.show())}select(){return new Se(this.query,this.builder.select())}deselect(){return new Se(this.query,this.builder.deselect())}build(){return{query:this.query,operations:this.builder.build()}}}class Be{constructor(e,t,s,n,i,r){this.sceneViewId=e;this.stream=t;this.decodeFrame=s;this.dimensions=n;this.sceneItemQueryOperations=i;this.pmiAnnotationQueryOperations=r}async execute(e){var t;const n=this.sceneItemQueryOperations.map((e=>ne(e.query,e.operations,{dimensions:this.dimensions})));const i=this.pmiAnnotationQueryOperations.map((e=>ie(e.query,e.operations)));const r=(t=e===null||e===void 0?void 0:e.suppliedCorrelationId)!==null&&t!==void 0?t:s.create();const a={sceneViewId:{hex:this.sceneViewId},elementOperations:[...n,...i],suppliedCorrelationId:{value:r}};await this.stream.createSceneAlteration(a)}}class Re extends Be{async execute(e){var t;if(e===null||e===void 0?void 0:e.awaitCorrelatedFrame){const n=(t=e.suppliedCorrelationId)!==null&&t!==void 0?t:s.create();const i=new ge(this.stream,this.decodeFrame,n);await super.execute({...e,suppliedCorrelationId:n});await i.onFrameDrawn.once()}else{await super.execute(e)}}}class Ae extends Be{async execute(e){var t;if(e===null||e===void 0?void 0:e.skipAwaitCorrelatedFrame){await super.execute(e)}else{const n=(t=e===null||e===void 0?void 0:e.suppliedCorrelationId)!==null&&t!==void 0?t:s.create();const i=new ge(this.stream,this.decodeFrame,n);await super.execute({...e,suppliedCorrelationId:n});await i.onFrameDrawn.once()}}}class Ee{constructor(e,t,s,n,i,r,a,o){this.stream=e;this.frame=t;this.decodeFrame=s;this.encodeCameraType=n;this.imageScaleProvider=i;this.dimensions=r;this.sceneId=a;this.sceneViewId=o;this.sceneViewStateLoader=new Ie(e,s,n,a,o)}async applySceneViewState(e,t={}){return await this.sceneViewStateLoader.applySceneViewState(e,t)}async applyPartialSceneViewState(e,t,s={}){return await this.sceneViewStateLoader.applyPartialSceneViewState(e,t,s)}async reset(e={}){return await this.stream.resetSceneView({includeCamera:e.includeCamera,frameCorrelationId:e.suppliedCorrelationId?{value:e.suppliedCorrelationId}:undefined,cameraType:e.cameraTypeOverride?this.encodeCameraType(e.cameraTypeOverride):undefined},true)}items(e){const t=e(new We);const s=Array.isArray(t)?t:[t];const n=s.filter((e=>e.isItemBuilder()));const i=n.reduce(((e,t)=>e.concat(t.build())),[]);return new Re(this.sceneViewId,this.stream,this.decodeFrame,this.dimensions,i,[])}elements(e){const t=e(new Je);const s=Array.isArray(t)?t:[t];const n=s.filter((e=>e.isItemBuilder()));const i=n.reduce(((e,t)=>e.concat(t.build())),[]);const r=s.filter((e=>e.isAnnotationBuilder()));const a=r.reduce(((e,t)=>e.concat(t.build())),[]);return new Ae(this.sceneViewId,this.stream,this.decodeFrame,this.dimensions,i,a)}camera(){const{scene:e}=this.frame;if(e.camera.isOrthographic()){return new we(this.stream,B.aspectRatio(this.viewport()),{viewVector:e.camera.viewVector,lookAt:e.camera.lookAt,up:e.camera.up,fovHeight:e.camera.fovHeight,rotationPoint:e.camera.lookAt},this.frame.scene.boundingBox,this.decodeFrame)}else if(e.camera.isPerspective()){return new pe(this.stream,B.aspectRatio(this.viewport()),{position:e.camera.position,lookAt:e.camera.lookAt,up:e.camera.up,fovY:e.camera.fovY},this.frame.scene.boundingBox,this.decodeFrame)}else{throw new r("Cannot retrieve camera. Scene has an unknown or invalid camera type.")}}isOrthographic(){const{scene:e}=this.frame;return e.camera.isOrthographic()}boundingBox(){return this.frame.scene.boundingBox}crossSectioning(){return new ve(this.stream,this.frame.scene.crossSection)}raycaster(){return new ye(this.stream,this.imageScaleProvider)}viewport(){return this.frame.dimensions}scale(){return this.imageScaleProvider()||S.create(1,1)}}class Te{constructor(e){this.inverted=e}build(){if(this.inverted){return{type:"not",query:this.queryExpressionBuilder()}}else{return this.queryExpressionBuilder()}}}class Ve{constructor(e=false){this.inverted=e}all(){return new Pe}not(){return new ke(!this.inverted)}withItemIds(e){return new Ne(e,"item-id",this.inverted)}withSuppliedIds(e){return new Ne(e,"supplied-id",this.inverted)}withItemId(e){return new Fe({type:"item-id",value:e},this.inverted)}withSuppliedId(e){return new Fe({type:"supplied-id",value:e},this.inverted)}withSceneTreeRange(e){return new Me(e,this.inverted)}withMetadata(e,t,s,n){return new Oe(e,t,s,this.inverted,n)}withSelected(){return new De(this.inverted)}withVisible(){return new _e(this.inverted)}withPoint(e){return new je(e,this.inverted)}withVolumeIntersection(e,t){return new Ue(e,this.inverted,t)}}class ke extends Ve{constructor(e){super(e)}}class qe{constructor(e=false){this.inverted=e}all(){return new Pe}not(){return new Ce(!this.inverted)}withAnnotationIds(e){return new Ne(e,"annotation-id",this.inverted)}withAnnotationId(e){return new Le({type:"annotation-id",value:e},this.inverted)}}class Ce extends qe{constructor(e){super(e)}}class Pe extends Te{constructor(e=false){super(e)}queryExpressionBuilder(){return{type:"all"}}}class Me extends Te{constructor(e,t){super(t);this.range=e}queryExpressionBuilder(){return{type:"scene-tree-range",range:this.range}}}class Oe extends Te{constructor(e,t,s,n,i){super(n);this.filter=e;this.keys=t;this.exactMatch=s;this.removeHiddenItems=i}queryExpressionBuilder(){return{type:"metadata",filter:this.filter,keys:this.keys,exactMatch:this.exactMatch,removeHiddenItems:this.removeHiddenItems}}}class De extends Te{constructor(e){super(e)}queryExpressionBuilder(){return{type:"all-selected"}}}class _e extends Te{constructor(e){super(e)}queryExpressionBuilder(){return{type:"all-visible"}}}class je extends Te{constructor(e,t){super(t);this.point=e}queryExpressionBuilder(){return{type:"point",point:this.point}}}class Ue extends Te{constructor(e,t,s){super(t);this.rectangle=e;this.exclusive=s}queryExpressionBuilder(){return{type:"volume-intersection",rectangle:this.rectangle,exclusive:!!this.exclusive}}}class Ne extends Te{constructor(e,t,s){super(s);this.ids=e;this.type=t}queryExpressionBuilder(){return{type:"or",expressions:this.ids.map((e=>({type:this.type,value:e})))}}}class Fe extends Te{constructor(e,t){super(t);this.query=e}queryExpressionBuilder(){return{...this.query}}and(){return new He([this.query],this.inverted)}or(){return new ze([this.query],this.inverted)}}class ze extends Te{constructor(e,t){super(t);this.expressions=e}queryExpressionBuilder(){return{type:"or",expressions:[...this.expressions]}}withItemId(e){return new ze([...this.expressions,{type:"item-id",value:e}],this.inverted)}withSuppliedId(e){return new ze([...this.expressions,{type:"supplied-id",value:e}],this.inverted)}or(){return this}}class He extends Te{constructor(e,t){super(t);this.expressions=e}queryExpressionBuilder(){return{type:"and",expressions:[...this.expressions]}}withItemId(e){return new He([...this.expressions,{type:"item-id",value:e}],this.inverted)}withSuppliedId(e){return new He([...this.expressions,{type:"supplied-id",value:e}],this.inverted)}and(){return this}}class Le extends Te{constructor(e,t){super(t);this.query=e}queryExpressionBuilder(){return{...this.query}}and(){return new Ye([this.query],this.inverted)}or(){return new Qe([this.query],this.inverted)}}class Qe extends Te{constructor(e,t){super(t);this.expressions=e}queryExpressionBuilder(){return{type:"or",expressions:[...this.expressions]}}withAnnotationId(e){return new Qe([...this.expressions,{type:"annotation-id",value:e}],this.inverted)}or(){return this}}class Ye extends Te{constructor(e,t){super(t);this.expressions=e}queryExpressionBuilder(){return{type:"and",expressions:[...this.expressions]}}withAnnotationId(e){return new Ye([...this.expressions,{type:"annotation-id",value:e}],this.inverted)}and(){return this}}class Je{get items(){return new We}get annotations(){return new Ke}}class Ke{where(e){const t=e(new qe).build();return new Se(t)}}class We{where(e){const t=e(new Ve).build();return new be(t)}}export{de as C,fe as I,W as M,Se as P,ye as R,Ee as S,ve as a,Ke as b,U as c,Ve as d,Je as e,Ae as f,be as g,We as h,Re as i,J as j,Z as k,H as l,D as m,N as n,Y as s,K as t};
5
+ //# sourceMappingURL=p-_LpaX1ga.js.map