@vertexvis/viewer 0.15.2-testing.3 → 0.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/dist/cjs/_commonjsHelpers-dcc4cf71.js +1 -1
  2. package/dist/cjs/app-globals-2035678d.js +1 -1
  3. package/dist/cjs/browser.esm-5d246754.js +1 -1
  4. package/dist/cjs/bundle.esm-22b6f2d6.js +1 -1
  5. package/dist/cjs/bundle.esm-b43c197a.js +38280 -0
  6. package/dist/cjs/{config-6e330a82.js → config-3fc1c093.js} +2 -2
  7. package/dist/cjs/{cursors-85d403e9.js → cursors-02a06ec9.js} +7 -1
  8. package/dist/cjs/dom-8d90bfaf.js +1 -1
  9. package/dist/cjs/dom-92728e58.js +1 -1
  10. package/dist/cjs/dom-d1bbd67c.js +1 -1
  11. package/dist/cjs/dom-d57d3c3b.js +1 -1
  12. package/dist/cjs/elementRectObserver-9b28f182.js +1 -1
  13. package/dist/cjs/entities-9eb7e608.js +1 -1
  14. package/dist/cjs/{entities-7b2e8c03.js → entities-c1c3c6a3.js} +3 -3
  15. package/dist/cjs/errors-1b37642b.js +97 -0
  16. package/dist/cjs/grpc-web-client.umd-2af20c1b.js +1 -1
  17. package/dist/cjs/index-70db349e.js +1 -1
  18. package/dist/cjs/index-b9d13137.js +1 -1
  19. package/dist/cjs/index.cjs.js +9 -6
  20. package/dist/cjs/loader.cjs.js +2 -2
  21. package/dist/cjs/{mapper-0f2294a6.js → mapper-d4145b72.js} +2 -2
  22. package/dist/cjs/markup-4a2fc281.js +1 -1
  23. package/dist/cjs/{model-b61f4d20.js → model-19fb560a.js} +27 -6
  24. package/dist/cjs/model-20a70d27.js +1 -1
  25. package/dist/cjs/overlays-b03ec80b.js +1 -1
  26. package/dist/cjs/png-decoder-ef097f37.js +1 -1
  27. package/dist/cjs/results-178e89a3.js +1 -1
  28. package/dist/cjs/{scene-56438693.js → scene-a94e6fa5.js} +293 -215
  29. package/dist/cjs/shadow-css-6b9daa41.js +1 -1
  30. package/dist/cjs/stencil-fc92b387.js +1 -1
  31. package/dist/cjs/{streamAttributes-c64aee75.js → streamAttributes-cf0c513d.js} +8424 -41995
  32. package/dist/cjs/templates-e57b3741.js +1 -1
  33. package/dist/cjs/utils-2c8e2aa3.js +1 -1
  34. package/dist/cjs/utils-ea359796.js +1 -1
  35. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
  36. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
  37. package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
  38. package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
  39. package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
  40. package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
  41. package/dist/cjs/vertex-scene-tree.cjs.entry.js +158 -37
  42. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +425 -0
  43. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
  44. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
  45. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +3 -2
  46. package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
  47. package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
  49. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
  50. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
  51. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
  52. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +3 -2
  53. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +5 -4
  54. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +4 -3
  55. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +7 -6
  56. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +10 -5
  57. package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +15 -13
  58. package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +20 -9
  59. package/dist/cjs/vertex-viewer-spinner.cjs.entry.js +1 -1
  60. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +6 -4
  61. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +5 -4
  62. package/dist/cjs/vertex-viewer.cjs.entry.js +80 -53
  63. package/dist/cjs/viewer.cjs.js +2 -2
  64. package/dist/cjs/viewport-5ca619f7.js +1 -1
  65. package/dist/collection/collection-manifest.json +1 -0
  66. package/dist/collection/components/scene-tree/lib/controller.js +108 -28
  67. package/dist/collection/components/scene-tree/lib/errors.js +35 -2
  68. package/dist/collection/components/scene-tree/scene-tree.js +12 -5
  69. package/dist/collection/components/viewer/viewer.js +17 -15
  70. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +79 -0
  71. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +278 -0
  72. package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +5 -1
  73. package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +1 -1
  74. package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +14 -12
  75. package/dist/collection/components/viewer-pin-tool/utils.js +25 -4
  76. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.css +12 -0
  77. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +9 -2
  78. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -2
  79. package/dist/collection/components/viewer-view-cube/viewer-view-cube.js +5 -5
  80. package/dist/collection/lib/cursors.js +6 -1
  81. package/dist/collection/lib/interactions/baseInteractionHandler.js +12 -2
  82. package/dist/collection/lib/interactions/mouseInteractions.js +5 -4
  83. package/dist/collection/lib/mappers/frameStreaming.js +11 -11
  84. package/dist/collection/lib/pins/interactions.js +9 -5
  85. package/dist/collection/lib/pins/model.js +2 -2
  86. package/dist/collection/lib/rendering/matrices.js +2 -4
  87. package/dist/collection/lib/scenes/camera.js +4 -2
  88. package/dist/collection/lib/scenes/mapper.js +103 -30
  89. package/dist/collection/lib/scenes/queries.js +101 -46
  90. package/dist/collection/lib/scenes/scene.js +15 -7
  91. package/dist/collection/lib/stream/stream.js +24 -12
  92. package/dist/collection/lib/transforms/drawable.js +2 -2
  93. package/dist/collection/lib/types/frame.js +4 -3
  94. package/dist/collection/lib/types/frameCamera.js +6 -1
  95. package/dist/collection/lib/types/index.js +3 -2
  96. package/dist/collection/lib/types/loadableResource.js +24 -4
  97. package/dist/collection/lib/types/sceneViewStateIdentifier.js +7 -0
  98. package/dist/collection/lib/volume-intersection/controller.js +104 -0
  99. package/dist/collection/lib/volume-intersection/interactions.js +82 -0
  100. package/dist/collection/lib/volume-intersection/model.js +84 -0
  101. package/dist/custom-elements/index.d.ts +6 -0
  102. package/dist/custom-elements/index.js +23825 -18358
  103. package/dist/custom-elements/png-decoder.js +1 -1
  104. package/dist/esm/_commonjsHelpers-11ca3be1.js +1 -1
  105. package/dist/esm/app-globals-40df99a0.js +1 -1
  106. package/dist/esm/{browser.esm-ae4ca1f1.js → browser.esm-07e7db8f.js} +2 -2
  107. package/dist/esm/bundle.esm-91404853.js +38273 -0
  108. package/dist/esm/{bundle.esm-ce2c7ad3.js → bundle.esm-92e615bf.js} +2 -2
  109. package/dist/esm/{config-49688db8.js → config-25384fe6.js} +3 -3
  110. package/dist/esm/{cursors-a8d4b3f4.js → cursors-127a3bb7.js} +8 -3
  111. package/dist/esm/dom-0440435d.js +1 -1
  112. package/dist/esm/dom-be140992.js +1 -1
  113. package/dist/esm/dom-e19ee80b.js +1 -1
  114. package/dist/esm/{dom-5b164305.js → dom-e436f0c0.js} +2 -2
  115. package/dist/esm/elementRectObserver-39cf7b95.js +1 -1
  116. package/dist/esm/{entities-a5bfef48.js → entities-0e325765.js} +4 -4
  117. package/dist/esm/entities-ce81dd7f.js +1 -1
  118. package/dist/esm/errors-a4cc9caa.js +85 -0
  119. package/dist/esm/grpc-web-client.umd-5409853c.js +1 -1
  120. package/dist/esm/index-26dfb2d0.js +1 -1
  121. package/dist/esm/index-e841d91b.js +1 -1
  122. package/dist/esm/index.js +15 -13
  123. package/dist/esm/index.mjs +15 -13
  124. package/dist/esm/loader.js +2 -2
  125. package/dist/esm/loader.mjs +2 -2
  126. package/dist/esm/{mapper-5894c2a4.js → mapper-dd937684.js} +3 -3
  127. package/dist/esm/{markup-3c2900f3.js → markup-2dde1f10.js} +3 -3
  128. package/dist/esm/{model-fa9af61a.js → model-3cd8cd47.js} +2 -2
  129. package/dist/esm/{model-40bd1711.js → model-bfe1c4d8.js} +29 -8
  130. package/dist/esm/{overlays-cc3efc30.js → overlays-8f195eb3.js} +3 -3
  131. package/dist/esm/{png-decoder-d4b65417.js → png-decoder-45f38ea3.js} +2 -2
  132. package/dist/esm/{results-3b4df2cf.js → results-38baef59.js} +2 -2
  133. package/dist/esm/{scene-5b919078.js → scene-2543b3bd.js} +254 -168
  134. package/dist/esm/shadow-css-51dd7708.js +1 -1
  135. package/dist/esm/stencil-bfbf099f.js +1 -1
  136. package/dist/esm/{streamAttributes-7e8565be.js → streamAttributes-23270e27.js} +8429 -41994
  137. package/dist/esm/templates-022199c1.js +1 -1
  138. package/dist/esm/{utils-81347571.js → utils-2306c744.js} +2 -2
  139. package/dist/esm/{utils-559e1632.js → utils-f03802ef.js} +2 -2
  140. package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
  141. package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
  142. package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
  143. package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
  144. package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
  145. package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
  146. package/dist/esm/vertex-scene-tree.entry.js +160 -39
  147. package/dist/esm/vertex-viewer-box-query-tool.entry.js +421 -0
  148. package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
  149. package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
  150. package/dist/esm/vertex-viewer-dom-element_2.entry.js +6 -5
  151. package/dist/esm/vertex-viewer-dom-group.entry.js +3 -3
  152. package/dist/esm/vertex-viewer-icon.entry.js +1 -1
  153. package/dist/esm/vertex-viewer-layer.entry.js +1 -1
  154. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
  155. package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
  156. package/dist/esm/vertex-viewer-markup.entry.js +5 -5
  157. package/dist/esm/vertex-viewer-measurement-details.entry.js +5 -4
  158. package/dist/esm/vertex-viewer-measurement-distance.entry.js +13 -12
  159. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +8 -7
  160. package/dist/esm/vertex-viewer-measurement-precise.entry.js +12 -11
  161. package/dist/esm/vertex-viewer-pin-group.entry.js +13 -8
  162. package/dist/esm/vertex-viewer-pin-label_2.entry.js +18 -16
  163. package/dist/esm/vertex-viewer-pin-tool.entry.js +23 -12
  164. package/dist/esm/vertex-viewer-spinner.entry.js +1 -1
  165. package/dist/esm/vertex-viewer-transform-widget.entry.js +9 -7
  166. package/dist/esm/vertex-viewer-view-cube.entry.js +7 -6
  167. package/dist/esm/vertex-viewer.entry.js +65 -38
  168. package/dist/esm/viewer.js +2 -2
  169. package/dist/esm/{viewport-e39e2eba.js → viewport-f19fc583.js} +2 -2
  170. package/dist/types/components/scene-tree/lib/controller.d.ts +18 -3
  171. package/dist/types/components/scene-tree/lib/errors.d.ts +17 -2
  172. package/dist/types/components/viewer/viewer.d.ts +2 -0
  173. package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +94 -0
  174. package/dist/types/components/viewer-pin-tool/utils.d.ts +1 -1
  175. package/dist/types/components.d.ts +56 -0
  176. package/dist/types/lib/cursors.d.ts +5 -0
  177. package/dist/types/lib/interactions/baseInteractionHandler.d.ts +1 -0
  178. package/dist/types/lib/interactions/mouseInteractions.d.ts +2 -1
  179. package/dist/types/lib/pins/interactions.d.ts +4 -2
  180. package/dist/types/lib/pins/model.d.ts +1 -1
  181. package/dist/types/lib/scenes/camera.d.ts +1 -1
  182. package/dist/types/lib/scenes/mapper.d.ts +5 -1
  183. package/dist/types/lib/scenes/queries.d.ts +55 -28
  184. package/dist/types/lib/scenes/scene.d.ts +10 -1
  185. package/dist/types/lib/types/frame.d.ts +1 -1
  186. package/dist/types/lib/types/index.d.ts +2 -1
  187. package/dist/types/lib/types/loadableResource.d.ts +8 -2
  188. package/dist/types/lib/types/sceneViewStateIdentifier.d.ts +15 -0
  189. package/dist/types/lib/volume-intersection/controller.d.ts +45 -0
  190. package/dist/types/lib/volume-intersection/interactions.d.ts +24 -0
  191. package/dist/types/lib/volume-intersection/model.d.ts +33 -0
  192. package/dist/viewer/index.esm.js +2 -2
  193. package/dist/viewer/{p-ad09c92e.entry.js → p-029fba92.entry.js} +1 -1
  194. package/dist/viewer/p-07aeee89.js +1 -1
  195. package/dist/viewer/{p-29986489.js → p-0a017be7.js} +2 -2
  196. package/dist/viewer/p-0c583cad.entry.js +4 -0
  197. package/dist/viewer/p-0d494d01.js +4 -0
  198. package/dist/viewer/p-0fdad1a5.js +1 -1
  199. package/dist/viewer/{p-3ca4a7c1.js → p-1812c82d.js} +2 -2
  200. package/dist/viewer/{p-7663a603.entry.js → p-191156ad.entry.js} +1 -1
  201. package/dist/viewer/{p-a57dc6e4.entry.js → p-1998284a.entry.js} +2 -2
  202. package/dist/viewer/p-27f715f8.entry.js +4 -0
  203. package/dist/viewer/{p-7f6251da.js → p-283aeac4.js} +2 -2
  204. package/dist/viewer/p-298b63c2.entry.js +4 -0
  205. package/dist/viewer/p-2ace066b.entry.js +4 -0
  206. package/dist/viewer/{p-927b528b.js → p-2b60a8b0.js} +2 -2
  207. package/dist/viewer/{p-050f912b.entry.js → p-2fd123c8.entry.js} +1 -1
  208. package/dist/viewer/p-305a8be6.entry.js +4 -0
  209. package/dist/viewer/p-31724d24.js +4 -0
  210. package/dist/viewer/p-32cc2209.js +4 -0
  211. package/dist/viewer/p-3829dd99.entry.js +4 -0
  212. package/dist/viewer/{p-6da8a28f.entry.js → p-3aae4bf1.entry.js} +2 -2
  213. package/dist/viewer/{p-99352cf0.js → p-42760392.js} +2 -2
  214. package/dist/viewer/p-440c8174.js +4 -0
  215. package/dist/viewer/{p-e422deaf.entry.js → p-4f25e367.entry.js} +2 -2
  216. package/dist/viewer/{p-d64c1e14.entry.js → p-507b5aeb.entry.js} +3 -3
  217. package/dist/viewer/{p-1fc24ec6.js → p-51401063.js} +2 -2
  218. package/dist/viewer/{p-426970b3.entry.js → p-533b1c63.entry.js} +1 -1
  219. package/dist/viewer/{p-dcb9804c.entry.js → p-569ed94a.entry.js} +2 -2
  220. package/dist/viewer/p-5809b400.js +1 -1
  221. package/dist/viewer/p-6072cf84.js +4 -0
  222. package/dist/viewer/{p-e4a26a32.entry.js → p-6406a70a.entry.js} +1 -1
  223. package/dist/viewer/p-6bf0594b.entry.js +4 -0
  224. package/dist/viewer/p-72c59115.entry.js +4 -0
  225. package/dist/viewer/{p-d71652b0.entry.js → p-8ac7290a.entry.js} +1 -1
  226. package/dist/viewer/{p-f184bcab.entry.js → p-8afcbd99.entry.js} +1 -1
  227. package/dist/viewer/p-92fe4417.js +1 -1
  228. package/dist/viewer/{p-5746931d.entry.js → p-952a217d.entry.js} +1 -1
  229. package/dist/viewer/p-98e6a50e.js +1 -1
  230. package/dist/viewer/{p-99fd27e0.entry.js → p-9cb99ea8.entry.js} +1 -1
  231. package/dist/viewer/p-a2e9e8a5.js +4 -0
  232. package/dist/viewer/p-a380f0c2.js +1 -1
  233. package/dist/viewer/{p-661b5234.js → p-acfc5c50.js} +2 -2
  234. package/dist/viewer/{p-82bd25e8.entry.js → p-b3540dce.entry.js} +1 -1
  235. package/dist/viewer/p-b5ca30cd.js +4 -0
  236. package/dist/viewer/p-b74242dc.js +1 -1
  237. package/dist/viewer/p-bc1160cf.entry.js +4 -0
  238. package/dist/viewer/{p-c5e67a1e.entry.js → p-bd5a302c.entry.js} +2 -2
  239. package/dist/viewer/p-c738296e.js +1 -1
  240. package/dist/viewer/p-c8c4343b.js +1 -1
  241. package/dist/viewer/p-cd9ccb9e.entry.js +4 -0
  242. package/dist/viewer/{p-40a9dd7d.js → p-cf689bbd.js} +2 -2
  243. package/dist/viewer/{p-70e5e8a8.js → p-d216a866.js} +2 -2
  244. package/dist/viewer/p-d4ed7b8d.js +4 -0
  245. package/dist/viewer/p-d6d5d5de.entry.js +4 -0
  246. package/dist/viewer/p-d6fce4c1.js +1 -1
  247. package/dist/viewer/p-df8fbe56.js +1 -1
  248. package/dist/viewer/p-dfe5a97d.js +1 -1
  249. package/dist/viewer/{p-00ce31a0.js → p-e1896ce4.js} +2 -2
  250. package/dist/viewer/p-e23af70c.js +4 -0
  251. package/dist/viewer/p-e4aa9cdb.js +1 -1
  252. package/dist/viewer/p-e929dd63.entry.js +4 -0
  253. package/dist/viewer/{p-65af7a89.js → p-fc7d8c03.js} +3 -3
  254. package/dist/viewer/viewer.esm.js +2 -2
  255. package/package.json +9 -9
  256. package/readme.md +4 -4
  257. package/dist/viewer/p-096e60bd.js +0 -4
  258. package/dist/viewer/p-0cf4f05d.entry.js +0 -4
  259. package/dist/viewer/p-0fcafbf9.js +0 -4
  260. package/dist/viewer/p-1abfe4bf.js +0 -4
  261. package/dist/viewer/p-1e0dd2e9.js +0 -4
  262. package/dist/viewer/p-22ae6785.entry.js +0 -4
  263. package/dist/viewer/p-27dbc865.js +0 -4
  264. package/dist/viewer/p-31b87b90.js +0 -4
  265. package/dist/viewer/p-3f6f2457.entry.js +0 -4
  266. package/dist/viewer/p-61e50e11.entry.js +0 -4
  267. package/dist/viewer/p-7579e2a1.entry.js +0 -4
  268. package/dist/viewer/p-920c9a88.entry.js +0 -4
  269. package/dist/viewer/p-990f98c2.js +0 -4
  270. package/dist/viewer/p-9dfe0b43.entry.js +0 -4
  271. package/dist/viewer/p-a6558bb2.entry.js +0 -4
  272. package/dist/viewer/p-b7e170ac.entry.js +0 -4
  273. package/dist/viewer/p-d34ad2b2.entry.js +0 -4
  274. package/dist/viewer/p-f3ea0c2b.entry.js +0 -4
@@ -0,0 +1,15 @@
1
+ import { UUID } from '@vertexvis/utils';
2
+ export interface SceneViewStateId {
3
+ id: UUID.UUID;
4
+ }
5
+ export interface SceneViewStateSuppliedId {
6
+ suppliedId: string;
7
+ }
8
+ /**
9
+ * An object describing an ID for the scene view state. Can either be an
10
+ * object containing the ID generated on creation, or an object containing
11
+ * a supplied id provided during creation.
12
+ */
13
+ export declare type SceneViewStateIdentifier = SceneViewStateId | SceneViewStateSuppliedId;
14
+ export declare function isSceneViewStateId(identifier: SceneViewStateIdentifier): identifier is SceneViewStateId;
15
+ export declare function isSceneViewStateSuppliedId(identifier: SceneViewStateIdentifier): identifier is SceneViewStateSuppliedId;
@@ -0,0 +1,45 @@
1
+ import { Point } from '@vertexvis/geometry';
2
+ import { StreamRequestError } from '@vertexvis/stream-api';
3
+ import { Disposable, Listener } from '@vertexvis/utils';
4
+ import { SceneItemOperationsBuilder, TerminalItemOperationBuilder } from '../scenes';
5
+ import { SceneItemQueryExecutor } from '../scenes/queries';
6
+ import { VolumeIntersectionQueryModel } from './model';
7
+ export declare type OperationTransform = (builder: SceneItemOperationsBuilder) => TerminalItemOperationBuilder;
8
+ export declare type AdditionalTransform = (executor: SceneItemQueryExecutor) => TerminalItemOperationBuilder;
9
+ export interface CompleteExecutionDetails {
10
+ aborted: boolean;
11
+ }
12
+ export declare class VolumeIntersectionQueryController {
13
+ private model;
14
+ private viewer;
15
+ private previousViewerCameraControls?;
16
+ private operationTransform;
17
+ private additionalTransforms;
18
+ private operationInFlight;
19
+ private operationAborted;
20
+ private executeStarted;
21
+ private executeComplete;
22
+ private executeAborted;
23
+ constructor(model: VolumeIntersectionQueryModel, viewer: HTMLVertexViewerElement);
24
+ setStartPoint(point: Point.Point): void;
25
+ setEndPoint(point: Point.Point): void;
26
+ /**
27
+ * Updates the operation that will be applied based on the volume intersection
28
+ * query. Defaults to `(builder) => builder.select()`, which will select any
29
+ * of the results of the query.
30
+ */
31
+ setOperationTransform(operationTransform: OperationTransform): void;
32
+ /**
33
+ * Updates any additional operations that should be performed independent of
34
+ * the volume intersection query. This can be used to perform an operation on
35
+ * the entirety of the scene prior to the operation on the result of the
36
+ * volume intersection query.
37
+ * Defaults to `[(op) => op.where((q) => q.all()).deselect()]`, which will
38
+ * clear any prior selection before the default selection.
39
+ */
40
+ setAdditionalTransforms(additionalTransforms: AdditionalTransform[]): void;
41
+ onExecuteStarted(listener: Listener<void>): Disposable;
42
+ onExecuteComplete(listener: Listener<CompleteExecutionDetails>): Disposable;
43
+ onExecuteAborted(listener: Listener<StreamRequestError>): Disposable;
44
+ execute(): Promise<void>;
45
+ }
@@ -0,0 +1,24 @@
1
+ import { InteractionApi } from '../interactions';
2
+ import { InteractionHandler } from '../interactions/interactionHandler';
3
+ import { VolumeIntersectionQueryController } from './controller';
4
+ export declare class VolumeIntersectionQueryInteractionHandler implements InteractionHandler {
5
+ private controller;
6
+ private element?;
7
+ private api?;
8
+ private isInteracting?;
9
+ private enabled?;
10
+ private elementBounds?;
11
+ private crosshairCursorDisposable?;
12
+ private waitCursorDisposable?;
13
+ constructor(controller: VolumeIntersectionQueryController);
14
+ initialize(element: HTMLElement, api: InteractionApi): void;
15
+ dispose(): void;
16
+ disable(): void;
17
+ enable(): void;
18
+ private handleDragBegin;
19
+ private handleDrag;
20
+ private handleDragEnd;
21
+ private isPrimaryMouseButtonClick;
22
+ private addCrosshairCursor;
23
+ private addWaitCursor;
24
+ }
@@ -0,0 +1,33 @@
1
+ import { Point, Rectangle } from '@vertexvis/geometry';
2
+ import { Disposable, Listener } from '@vertexvis/utils';
3
+ import { VolumeIntersectionQueryMode } from '../../components/viewer-box-query-tool/viewer-box-query-tool';
4
+ export declare type QueryType = 'inclusive' | 'exclusive';
5
+ export interface VolumeIntersectionQueryDetails {
6
+ screenBounds: Rectangle.Rectangle;
7
+ type: QueryType;
8
+ }
9
+ export declare class VolumeIntersectionQueryModel {
10
+ private mode?;
11
+ private startPoint?;
12
+ private endPoint?;
13
+ private type?;
14
+ private dragStarted;
15
+ private dragComplete;
16
+ private dragCancelled;
17
+ private screenBoundsChanged;
18
+ constructor(mode?: VolumeIntersectionQueryMode | undefined);
19
+ setStartPoint(point: Point.Point): void;
20
+ setEndPoint(point: Point.Point): void;
21
+ setMode(mode?: VolumeIntersectionQueryMode): void;
22
+ complete(): void;
23
+ cancel(): void;
24
+ reset(): void;
25
+ getScreenBounds(): Rectangle.Rectangle | undefined;
26
+ getType(): QueryType | undefined;
27
+ onScreenBoundsChanged(listener: Listener<VolumeIntersectionQueryDetails | undefined>): Disposable;
28
+ onDragStarted(listener: Listener<void>): Disposable;
29
+ onDragComplete(listener: Listener<VolumeIntersectionQueryDetails>): Disposable;
30
+ onDragCancelled(listener: Listener<void>): Disposable;
31
+ private getQueryDetails;
32
+ private updateQueryType;
33
+ }
@@ -1,4 +1,4 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
- export{c as ColorMaterial,l as LoadableResource,S as Scene,a as SynchronizedClock}from"./p-1e0dd2e9.js";export{C as CursorManager,l as labelPinCursor,m as measurementCursor,a as measurementWithArrowCursor,p as pinCursor}from"./p-3ca4a7c1.js";export{M as MeasurementController,a as MeasurementEntity}from"./p-40a9dd7d.js";export{M as MeasurementModel}from"./p-661b5234.js";export{M as MeasurementOverlayManager}from"./p-7f6251da.js";export{m as makeMinimumDistanceResult}from"./p-096e60bd.js";export{A as AngleUnits,f as AreaUnits,D as DistanceUnits,F as FrameCameraBase,a as ReceivedFrame,b as ReceivedFrameImage,c as ReceivedFrameScene,d as ReceivedOrthographicCamera,e as ReceivedPerspectiveCamera}from"./p-31b87b90.js";export{E as EntityType}from"./p-df8fbe56.js";export{A as ArrowMarkup,C as CircleMarkup,F as FreeformMarkup}from"./p-0fcafbf9.js";export{V as Viewport}from"./p-29986489.js";import"./p-65af7a89.js";import"./p-70e5e8a8.js";import"./p-1fc24ec6.js";import"./p-dfe5a97d.js";import"./p-92fe4417.js";
4
+ export{c as ColorMaterial,l as LoadableResource,S as Scene,a as SynchronizedClock}from"./p-d4ed7b8d.js";export{C as CursorManager,b as boxQueryCursor,l as labelPinCursor,m as measurementCursor,a as measurementWithArrowCursor,p as pinCursor}from"./p-1812c82d.js";export{M as MeasurementController,a as MeasurementEntity}from"./p-cf689bbd.js";export{M as MeasurementModel}from"./p-acfc5c50.js";export{M as MeasurementOverlayManager}from"./p-283aeac4.js";export{m as makeMinimumDistanceResult}from"./p-a2e9e8a5.js";export{A as AngleUnits,f as AreaUnits,D as DistanceUnits,F as FrameCameraBase,a as ReceivedFrame,b as ReceivedFrameImage,c as ReceivedFrameScene,d as ReceivedOrthographicCamera,e as ReceivedPerspectiveCamera}from"./p-6072cf84.js";export{E as EntityType}from"./p-df8fbe56.js";export{A as ArrowMarkup,C as CircleMarkup,F as FreeformMarkup}from"./p-0d494d01.js";export{V as Viewport}from"./p-0a017be7.js";import"./p-fc7d8c03.js";import"./p-d216a866.js";import"./p-440c8174.js";import"./p-32cc2209.js";import"./p-51401063.js";import"./p-dfe5a97d.js";import"./p-92fe4417.js";
@@ -1,4 +1,4 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import{r as e,h as i,H as t}from"./p-d6fce4c1.js";const n=class{constructor(i){e(this,i)}render(){return i(t,null,i("div",{class:"hidden"},i("slot",{name:"header"})),i("div",{class:"column"},i("slot",null)))}};n.style=":host{width:100%;height:100%;position:relative}.hidden{visibility:hidden;pointer-events:none}.column{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}";export{n as vertex_scene_tree_table_column}
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import{c as r}from"./p-dfe5a97d.js";var f=r((function(r){
5
5
  /*!
@@ -1,4 +1,4 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{d as t,p as r,v as o,r as s,i as n}from"./p-70e5e8a8.js";class i{constructor(r,o){this.width=r,this.height=o,this.center=t.center(this.dimensions)}static fromDimensions(t){return new i(t.width,t.height)}transformNdcPointToViewport(t){return r.create(t.x*this.center.x+this.center.x,-t.y*this.center.y+this.center.y)}transformVectorToViewport(t){return this.transformNdcPointToViewport(t)}transformWorldToViewport(t,r){const s=o.transformMatrix(t,r);return this.transformVectorToViewport(s)}transformPointToViewport(t,o){const{x:s,y:n}=this.calculateFrameScale(o);return r.scale(t,1*s,1*n)}transformPointToFrame(t,o){const{x:s,y:n}=this.calculateFrameScale(o);return r.scale(t,1/s,1/n)}transformPointToWorldSpace(t,r,o){const s=this.transformPointToFrame(t,r),n=this.transformPointToRay(t,r,r.camera);return r.getWorldPoint(s,n,o)}transformPointToOrthographicWorldSpace(t,r,o){const s=this.transformPointToFrame(t,r),n=this.transformPointToOrthographicRay(t,r,r.camera);return r.getOrthographicWorldPoint(s,n,o)}transformPointToRay(t,r,n){const i=this.transformScreenPointToNdc(t,r),e=o.fromMatrixPosition(n.worldMatrix),a=o.transformNdcToWorldSpace(o.create(i.x,i.y,.5),n.worldMatrix,n.projectionMatrixInverse),c=o.normalize(o.subtract(a,e));return s.create({origin:e,direction:c})}transformPointToOrthographicRay(t,r,n){const i=this.transformScreenPointToNdc(t,r),e=o.transformNdcToWorldSpace(o.create(i.x,i.y,0),n.worldMatrix,n.projectionMatrixInverse);return s.create({origin:e,direction:o.normalize(n.viewVector)})}transformScreenPointToNdc(t,o){const s=this.transformPointToFrame(t,o);return r.create(s.x/o.imageAttr.frameDimensions.width*2-1,-s.y/o.imageAttr.frameDimensions.height*2+1)}calculateDrawRect(t){const{x:r,y:o}=this.calculateFrameScale(t);return n.scale(t.imageAttr.imageRect,r,o)}calculateFrameScale(t){const{frameDimensions:o}=t.imageAttr,s=n.fromDimensions(o),i=n.fromDimensions(this.dimensions),e=n.containFit(i,s);return r.create(e.width/s.width,e.height/s.height)}get dimensions(){return t.create(this.width,this.height)}}export{i as V}
4
+ import{d as t,p as r,v as o,r as s,e as n}from"./p-d216a866.js";class i{constructor(r,o){this.width=r,this.height=o,this.center=t.center(this.dimensions)}static fromDimensions(t){return new i(t.width,t.height)}transformNdcPointToViewport(t){return r.create(t.x*this.center.x+this.center.x,-t.y*this.center.y+this.center.y)}transformVectorToViewport(t){return this.transformNdcPointToViewport(t)}transformWorldToViewport(t,r){const s=o.transformMatrix(t,r);return this.transformVectorToViewport(s)}transformPointToViewport(t,o){const{x:s,y:n}=this.calculateFrameScale(o);return r.scale(t,1*s,1*n)}transformPointToFrame(t,o){const{x:s,y:n}=this.calculateFrameScale(o);return r.scale(t,1/s,1/n)}transformPointToWorldSpace(t,r,o){const s=this.transformPointToFrame(t,r),n=this.transformPointToRay(t,r,r.camera);return r.getWorldPoint(s,n,o)}transformPointToOrthographicWorldSpace(t,r,o){const s=this.transformPointToFrame(t,r),n=this.transformPointToOrthographicRay(t,r,r.camera);return r.getOrthographicWorldPoint(s,n,o)}transformPointToRay(t,r,n){const i=this.transformScreenPointToNdc(t,r),e=o.fromMatrixPosition(n.worldMatrix),a=o.transformNdcToWorldSpace(o.create(i.x,i.y,.5),n.worldMatrix,n.projectionMatrixInverse),c=o.normalize(o.subtract(a,e));return s.create({origin:e,direction:c})}transformPointToOrthographicRay(t,r,n){const i=this.transformScreenPointToNdc(t,r),e=o.transformNdcToWorldSpace(o.create(i.x,i.y,0),n.worldMatrix,n.projectionMatrixInverse);return s.create({origin:e,direction:o.normalize(n.viewVector)})}transformScreenPointToNdc(t,o){const s=this.transformPointToFrame(t,o);return r.create(s.x/o.imageAttr.frameDimensions.width*2-1,-s.y/o.imageAttr.frameDimensions.height*2+1)}calculateDrawRect(t){const{x:r,y:o}=this.calculateFrameScale(t);return n.scale(t.imageAttr.imageRect,r,o)}calculateFrameScale(t){const{frameDimensions:o}=t.imageAttr,s=n.fromDimensions(o),i=n.fromDimensions(this.dimensions),e=n.containFit(i,s);return r.create(e.width/s.width,e.height/s.height)}get dimensions(){return t.create(this.width,this.height)}}export{i as V}
@@ -0,0 +1,4 @@
1
+ /**!
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
+ */
4
+ import{r as e,h as i,F as t,H as s}from"./p-d6fce4c1.js";import{p as r,c as a}from"./p-d216a866.js";import"./p-51401063.js";import"./p-92fe4417.js";import"./p-6072cf84.js";import{M as n}from"./p-283aeac4.js";import{t as l}from"./p-b5ca30cd.js";import"./p-dfe5a97d.js";import"./p-fc7d8c03.js";import"./p-32cc2209.js";import"./p-df8fbe56.js";const o=class{constructor(i){e(this,i),this.start=r.create(),this.end=r.create(),this.capLength=0,this.pointerEvents="none"}render(){const e=a.fromPoints(this.start,this.end),t=m(this.start,this.end,e,this.capLength),s=m(this.start,this.end,e,this.capLength+1);return i("svg",null,i("g",{class:"line-stroke","pointer-events":this.pointerEvents},i("line",{class:"line",x1:this.start.x,y1:this.start.y,x2:this.end.x,y2:this.end.y}),i("line",{class:"start-cap",x1:s.startEndCap.start.x,y1:s.startEndCap.start.y,x2:s.startEndCap.end.x,y2:s.startEndCap.end.y}),i("line",{class:"end-cap",x1:s.endEndCap.start.x,y1:s.endEndCap.start.y,x2:s.endEndCap.end.x,y2:s.endEndCap.end.y})),i("g",{class:"line-fill","pointer-events":this.pointerEvents},i("line",{class:"line",x1:this.start.x,y1:this.start.y,x2:this.end.x,y2:this.end.y}),i("line",{class:"start-cap",x1:t.startEndCap.start.x,y1:t.startEndCap.start.y,x2:t.startEndCap.end.x,y2:t.startEndCap.end.y}),i("line",{class:"end-cap",x1:t.endEndCap.start.x,y1:t.endEndCap.start.y,x2:t.endEndCap.end.x,y2:t.endEndCap.end.y})))}};function m(e,i,t,s){return{startEndCap:v(e,t,s),endEndCap:v(i,t,s)}}function v(e,i,t){const s=i+Math.PI/2;return{start:r.add(e,r.polar(t/2,s)),end:r.add(e,r.polar(t/2,s+Math.PI))}}o.style=":host{display:block;--viewer-measurement-line-stroke:var(--white);--viewer-measurement-line-stroke-opacity:0.75;--viewer-measurement-line-stroke-width:1.25px;--viewer-measurement-line-fill:var(--neutral-900);--viewer-measurement-line-fill-width:2px;--viewer-measurement-line-start-cap-visibility:initial;--viewer-measurement-line-end-cap-visibility:initial}svg{width:100%;height:100%}.line-stroke{stroke-width:calc(\n var(--viewer-measurement-line-fill-width) +\n var(--viewer-measurement-line-stroke-width)\n );stroke:var(--viewer-measurement-line-stroke);opacity:var(--viewer-measurement-line-stroke-opacity)}.line-fill{stroke-width:var(--viewer-measurement-line-fill-width);stroke:var(--viewer-measurement-line-fill)}.start-cap{visibility:var(--viewer-measurement-line-start-cap-visibility)}.end-cap{visibility:var(--viewer-measurement-line-end-cap-visibility)}";const c=({overlay:e,viewport:t,camera:s})=>i("line"===e.type?h:d,{overlay:e,viewport:t,camera:s}),h=({overlay:e,camera:t,viewport:s})=>{const{start:r,end:a}=l(e,{camera:t,viewport:s});return i("vertex-viewer-measurement-line",{class:"measurement-line",start:r,end:a})},d=({overlay:{x:e,y:s,z:r},camera:a,viewport:n})=>{const o={camera:a,viewport:n},{start:m,end:v}=l(e,o),{start:c,end:h}=l(s,o),{start:d,end:u}=l(r,o);return i(t,null,i("vertex-viewer-measurement-line",{class:"measurement-line distance-vector-x",start:m,end:v}),i("vertex-viewer-measurement-line",{class:"measurement-line distance-vector-y",start:c,end:h}),i("vertex-viewer-measurement-line",{class:"measurement-line distance-vector-z",start:d,end:u}))},u=class{constructor(i){e(this,i),this.measurementOverlays=new n,this.overlays=[],this.updateCamera=()=>{var e,i;this.camera=null===(i=null===(e=this.viewer)||void 0===e?void 0:e.frame)||void 0===i?void 0:i.scene.camera}}handleMeasurementOverlaysChanged(){this.removeModelListeners(),this.addModelListeners(),this.updateOverlays()}handleViewerChanged(e,i){this.removeViewerListeners(i),this.addViewerListeners(),this.updateCamera()}componentWillLoad(){this.addModelListeners(),this.addViewerListeners(),this.updateOverlays(),this.updateCamera()}addModelListeners(){this.onOverlaysChangedListener=this.measurementOverlays.onOverlaysChanged((()=>this.updateOverlays()))}removeModelListeners(){var e;null===(e=this.onOverlaysChangedListener)||void 0===e||e.dispose(),this.onOverlaysChangedListener=void 0}addViewerListeners(){var e;null===(e=this.viewer)||void 0===e||e.addEventListener("frameReceived",this.updateCamera)}removeViewerListeners(e){null==e||e.removeEventListener("frameReceived",this.updateCamera)}updateOverlays(){this.overlays=this.measurementOverlays.getOverlays()}render(){return i(s,null,this.overlays.map((e=>{if(null!=this.camera&&null!=this.viewer)return i(c,{overlay:e,viewport:this.viewer.viewport,camera:this.camera})})))}static get watchers(){return{measurementOverlays:["handleMeasurementOverlaysChanged"],viewer:["handleViewerChanged"]}}};u.style=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;--viewer-measurement-overlays-x-axis-color:var(--x-axis-color);--viewer-measurement-overlays-y-axis-color:var(--y-axis-color);--viewer-measurement-overlays-z-axis-color:var(--z-axis-color)}.measurement-line{position:absolute;width:100%;height:100%}.measurement-line.distance-vector-x{--viewer-measurement-line-fill:var(\n --viewer-measurement-overlays-x-axis-color\n )}.measurement-line.distance-vector-y{--viewer-measurement-line-fill:var(\n --viewer-measurement-overlays-y-axis-color\n )}.measurement-line.distance-vector-z{--viewer-measurement-line-fill:var(\n --viewer-measurement-overlays-z-axis-color\n )}";export{o as vertex_viewer_measurement_line,u as vertex_viewer_measurement_overlays}
@@ -0,0 +1,4 @@
1
+ /**!
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
+ */
4
+ import{p as s,e as r}from"./p-d216a866.js";import{b as o}from"./p-fc7d8c03.js";class l{constructor(r){var l,i,a;this.start=null!==(l=r.start)&&void 0!==l?l:s.create(),this.end=null!==(i=r.end)&&void 0!==i?i:s.create(),this.id=null!==(a=r.id)&&void 0!==a?a:`arrow-markup--${o.create()}`}}class i{constructor(s){var l,i;this.bounds=null!==(l=s.bounds)&&void 0!==l?l:r.create(0,0,0,0),this.id=null!==(i=s.id)&&void 0!==i?i:`circle-markup--${o.create()}`}}class a{constructor(s){var l,i,a;this.bounds=null!==(l=s.bounds)&&void 0!==l?l:r.create(0,0,0,0),this.points=null!==(i=s.points)&&void 0!==i?i:[],this.id=null!==(a=s.id)&&void 0!==a?a:`freeform-markup--${o.create()}`}}export{l as A,i as C,a as F}
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  self,function(){var t=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function n(n){var i=t.has(n);return n=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(n),!i&&n}function i(t){var n=t.isConnected;if(void 0!==n)return n;for(;t&&!(t.__CE_isImportDocument||t instanceof Document);)t=t.parentNode||(window.ShadowRoot&&t instanceof ShadowRoot?t.host:void 0);return!(!t||!(t.__CE_isImportDocument||t instanceof Document))}function e(t,n){for(;n&&n!==t&&!n.nextSibling;)n=n.parentNode;return n&&n!==t?n.nextSibling:null}function o(t,n,i){i=void 0===i?new Set:i;for(var r=t;r;){if(r.nodeType===Node.ELEMENT_NODE){var f=r;n(f);var c=f.localName;if("link"===c&&"import"===f.getAttribute("rel")){if((r=f.import)instanceof Node&&!i.has(r))for(i.add(r),r=r.firstChild;r;r=r.nextSibling)o(r,n,i);r=e(t,f);continue}if("template"===c){r=e(t,f);continue}if(f=f.__CE_shadowRoot)for(f=f.firstChild;f;f=f.nextSibling)o(f,n,i)}r=r.firstChild?r.firstChild:e(t,r)}}function r(t,n,i){t[n]=i}function f(){this.a=new Map,this.g=new Map,this.c=[],this.f=[],this.b=!1}function c(t,n){t.b&&o(n,(function(n){return u(t,n)}))}function u(t,n){if(t.b&&!n.__CE_patched){n.__CE_patched=!0;for(var i=0;i<t.c.length;i++)t.c[i](n);for(i=0;i<t.f.length;i++)t.f[i](n)}}function s(t,n){var i=[];for(o(n,(function(t){return i.push(t)})),n=0;n<i.length;n++){var e=i[n];1===e.__CE_state?t.connectedCallback(e):l(t,e)}}function a(t,n){var i=[];for(o(n,(function(t){return i.push(t)})),n=0;n<i.length;n++){var e=i[n];1===e.__CE_state&&t.disconnectedCallback(e)}}function h(t,n,i){var e=(i=void 0===i?{}:i).u||new Set,r=i.i||function(n){return l(t,n)},f=[];if(o(n,(function(n){if("link"===n.localName&&"import"===n.getAttribute("rel")){var i=n.import;i instanceof Node&&(i.__CE_isImportDocument=!0,i.__CE_hasRegistry=!0),i&&"complete"===i.readyState?i.__CE_documentLoadHandled=!0:n.addEventListener("load",(function(){var i=n.import;if(!i.__CE_documentLoadHandled){i.__CE_documentLoadHandled=!0;var o=new Set(e);o.delete(i),h(t,i,{u:o,i:r})}}))}else f.push(n)}),e),t.b)for(n=0;n<f.length;n++)u(t,f[n]);for(n=0;n<f.length;n++)r(f[n])}function l(t,n){if(void 0===n.__CE_state){var e=n.ownerDocument;if((e.defaultView||e.__CE_isImportDocument&&e.__CE_hasRegistry)&&(e=t.a.get(n.localName))){e.constructionStack.push(n);var o=e.constructorFunction;try{try{if(new o!==n)throw Error("The custom element constructor did not produce the element being upgraded.")}finally{e.constructionStack.pop()}}catch(t){throw n.__CE_state=2,t}if(n.__CE_state=1,n.__CE_definition=e,e.attributeChangedCallback)for(e=e.observedAttributes,o=0;o<e.length;o++){var r=e[o],f=n.getAttribute(r);null!==f&&t.attributeChangedCallback(n,r,null,f,null)}i(n)&&t.connectedCallback(n)}}}function d(t){var n=document;this.c=t,this.a=n,this.b=void 0,h(this.c,this.a),"loading"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}))}function w(t){t.b&&t.b.disconnect()}function v(){var t=this;this.b=this.a=void 0,this.c=new Promise((function(n){t.b=n,t.a&&n(t.a)}))}function m(t){if(t.a)throw Error("Already resolved.");t.a=void 0,t.b&&t.b(void 0)}function b(t){this.c=!1,this.a=t,this.j=new Map,this.f=function(t){return t()},this.b=!1,this.g=[],this.o=new d(t)}f.prototype.connectedCallback=function(t){var n=t.__CE_definition;n.connectedCallback&&n.connectedCallback.call(t)},f.prototype.disconnectedCallback=function(t){var n=t.__CE_definition;n.disconnectedCallback&&n.disconnectedCallback.call(t)},f.prototype.attributeChangedCallback=function(t,n,i,e,o){var r=t.__CE_definition;r.attributeChangedCallback&&-1<r.observedAttributes.indexOf(n)&&r.attributeChangedCallback.call(t,n,i,e,o)},d.prototype.f=function(t){var n=this.a.readyState;for("interactive"!==n&&"complete"!==n||w(this),n=0;n<t.length;n++)for(var i=t[n].addedNodes,e=0;e<i.length;e++)h(this.c,i[e])},b.prototype.l=function(t,i){var e=this;if(!(i instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!n(t))throw new SyntaxError("The element name '"+t+"' is not valid.");if(this.a.a.get(t))throw Error("A custom element with name '"+t+"' has already been defined.");if(this.c)throw Error("A custom element is already being defined.");this.c=!0;try{var o=function(t){var n=r[t];if(void 0!==n&&!(n instanceof Function))throw Error("The '"+t+"' callback must be a function.");return n},r=i.prototype;if(!(r instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=o("connectedCallback"),c=o("disconnectedCallback"),u=o("adoptedCallback"),s=o("attributeChangedCallback"),a=i.observedAttributes||[]}catch(t){return}finally{this.c=!1}(function(t,n,i){t.a.set(n,i),t.g.set(i.constructorFunction,i)})(this.a,t,i={localName:t,constructorFunction:i,connectedCallback:f,disconnectedCallback:c,adoptedCallback:u,attributeChangedCallback:s,observedAttributes:a,constructionStack:[]}),this.g.push(i),this.b||(this.b=!0,this.f((function(){return function(t){if(!1!==t.b){t.b=!1;for(var n=t.g,i=[],e=new Map,o=0;o<n.length;o++)e.set(n[o].localName,[]);for(h(t.a,document,{i:function(n){if(void 0===n.__CE_state){var o=n.localName,r=e.get(o);r?r.push(n):t.a.a.get(o)&&i.push(n)}}}),o=0;o<i.length;o++)l(t.a,i[o]);for(;0<n.length;){var r=n.shift();o=r.localName,r=e.get(r.localName);for(var f=0;f<r.length;f++)l(t.a,r[f]);(o=t.j.get(o))&&m(o)}}}(e)})))},b.prototype.i=function(t){h(this.a,t)},b.prototype.get=function(t){if(t=this.a.a.get(t))return t.constructorFunction},b.prototype.m=function(t){if(!n(t))return Promise.reject(new SyntaxError("'"+t+"' is not a valid custom element name."));var i=this.j.get(t);return i||(i=new v,this.j.set(t,i),this.a.a.get(t)&&!this.g.some((function(n){return n.localName===t}))&&m(i)),i.c},b.prototype.s=function(t){w(this.o);var n=this.f;this.f=function(i){return t((function(){return n(i)}))}},window.CustomElementRegistry=b,b.prototype.define=b.prototype.l,b.prototype.upgrade=b.prototype.i,b.prototype.get=b.prototype.get,b.prototype.whenDefined=b.prototype.m,b.prototype.polyfillWrapFlushCallback=b.prototype.s;var E=window.Document.prototype.createElement,p=window.Document.prototype.createElementNS,g=window.Document.prototype.importNode,y=window.Document.prototype.prepend,C=window.Document.prototype.append,T=window.DocumentFragment.prototype.prepend,j=window.DocumentFragment.prototype.append,D=window.Node.prototype.cloneNode,N=window.Node.prototype.appendChild,A=window.Node.prototype.insertBefore,O=window.Node.prototype.removeChild,M=window.Node.prototype.replaceChild,k=Object.getOwnPropertyDescriptor(window.Node.prototype,"textContent"),L=window.Element.prototype.attachShadow,S=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),F=window.Element.prototype.getAttribute,H=window.Element.prototype.setAttribute,x=window.Element.prototype.removeAttribute,z=window.Element.prototype.getAttributeNS,P=window.Element.prototype.setAttributeNS,R=window.Element.prototype.removeAttributeNS,$=window.Element.prototype.insertAdjacentElement,_=window.Element.prototype.insertAdjacentHTML,B=window.Element.prototype.prepend,I=window.Element.prototype.append,U=window.Element.prototype.before,W=window.Element.prototype.after,q=window.Element.prototype.replaceWith,G=window.Element.prototype.remove,J=window.HTMLElement,K=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),Q=window.HTMLElement.prototype.insertAdjacentElement,V=window.HTMLElement.prototype.insertAdjacentHTML,X=new function(){};function Y(t,n,e){function o(n){return function(e){for(var o=[],r=0;r<arguments.length;++r)o[r]=arguments[r];r=[];for(var f=[],c=0;c<o.length;c++){var u=o[c];if(u instanceof Element&&i(u)&&f.push(u),u instanceof DocumentFragment)for(u=u.firstChild;u;u=u.nextSibling)r.push(u);else r.push(u)}for(n.apply(this,o),o=0;o<f.length;o++)a(t,f[o]);if(i(this))for(o=0;o<r.length;o++)(f=r[o])instanceof Element&&s(t,f)}}void 0!==e.h&&(n.prepend=o(e.h)),void 0!==e.append&&(n.append=o(e.append))}var Z=window.customElements;if(!Z||Z.forcePolyfill||"function"!=typeof Z.define||"function"!=typeof Z.get){var tt=new f;!function(){var t=tt;window.HTMLElement=function(){function n(){var n=this.constructor,i=t.g.get(n);if(!i)throw Error("The custom element being constructed was not registered with `customElements`.");var e=i.constructionStack;if(0===e.length)return e=E.call(document,i.localName),Object.setPrototypeOf(e,n.prototype),e.__CE_state=1,e.__CE_definition=i,u(t,e),e;var o=e[i=e.length-1];if(o===X)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");return e[i]=X,Object.setPrototypeOf(o,n.prototype),u(t,o),o}return Object.defineProperty(n.prototype=J.prototype,"constructor",{writable:!0,configurable:!0,enumerable:!1,value:n}),n}()}(),function(){var t=tt;r(Document.prototype,"createElement",(function(n){if(this.__CE_hasRegistry){var i=t.a.get(n);if(i)return new i.constructorFunction}return n=E.call(this,n),u(t,n),n})),r(Document.prototype,"importNode",(function(n,i){return n=g.call(this,n,!!i),this.__CE_hasRegistry?h(t,n):c(t,n),n})),r(Document.prototype,"createElementNS",(function(n,i){if(this.__CE_hasRegistry&&(null===n||"http://www.w3.org/1999/xhtml"===n)){var e=t.a.get(i);if(e)return new e.constructorFunction}return n=p.call(this,n,i),u(t,n),n})),Y(t,Document.prototype,{h:y,append:C})}(),Y(tt,DocumentFragment.prototype,{h:T,append:j}),function(){function t(t,e){Object.defineProperty(t,"textContent",{enumerable:e.enumerable,configurable:!0,get:e.get,set:function(t){if(this.nodeType===Node.TEXT_NODE)e.set.call(this,t);else{var o=void 0;if(this.firstChild){var r=this.childNodes,f=r.length;if(0<f&&i(this)){o=Array(f);for(var c=0;c<f;c++)o[c]=r[c]}}if(e.set.call(this,t),o)for(t=0;t<o.length;t++)a(n,o[t])}}})}var n=tt;r(Node.prototype,"insertBefore",(function(t,e){if(t instanceof DocumentFragment){var o=Array.prototype.slice.apply(t.childNodes);if(t=A.call(this,t,e),i(this))for(e=0;e<o.length;e++)s(n,o[e]);return t}return o=i(t),e=A.call(this,t,e),o&&a(n,t),i(this)&&s(n,t),e})),r(Node.prototype,"appendChild",(function(t){if(t instanceof DocumentFragment){var e=Array.prototype.slice.apply(t.childNodes);if(t=N.call(this,t),i(this))for(var o=0;o<e.length;o++)s(n,e[o]);return t}return e=i(t),o=N.call(this,t),e&&a(n,t),i(this)&&s(n,t),o})),r(Node.prototype,"cloneNode",(function(t){return t=D.call(this,!!t),this.ownerDocument.__CE_hasRegistry?h(n,t):c(n,t),t})),r(Node.prototype,"removeChild",(function(t){var e=i(t),o=O.call(this,t);return e&&a(n,t),o})),r(Node.prototype,"replaceChild",(function(t,e){if(t instanceof DocumentFragment){var o=Array.prototype.slice.apply(t.childNodes);if(t=M.call(this,t,e),i(this))for(a(n,e),e=0;e<o.length;e++)s(n,o[e]);return t}o=i(t);var r=M.call(this,t,e),f=i(this);return f&&a(n,e),o&&a(n,t),f&&s(n,t),r})),k&&k.get?t(Node.prototype,k):function(t,n){t.b=!0,t.c.push(n)}(n,(function(n){t(n,{enumerable:!0,configurable:!0,get:function(){for(var t=[],n=0;n<this.childNodes.length;n++){var i=this.childNodes[n];i.nodeType!==Node.COMMENT_NODE&&t.push(i.textContent)}return t.join("")},set:function(t){for(;this.firstChild;)O.call(this,this.firstChild);null!=t&&""!==t&&N.call(this,document.createTextNode(t))}})}))}(),function(){function t(t,n){Object.defineProperty(t,"innerHTML",{enumerable:n.enumerable,configurable:!0,get:n.get,set:function(t){var e=this,r=void 0;if(i(this)&&(r=[],o(this,(function(t){t!==e&&r.push(t)}))),n.set.call(this,t),r)for(var u=0;u<r.length;u++){var s=r[u];1===s.__CE_state&&f.disconnectedCallback(s)}return this.ownerDocument.__CE_hasRegistry?h(f,this):c(f,this),t}})}function n(t,n){r(t,"insertAdjacentElement",(function(t,e){var o=i(e);return t=n.call(this,t,e),o&&a(f,e),i(t)&&s(f,e),t}))}function e(t,n){function i(t,n){for(var i=[];t!==n;t=t.nextSibling)i.push(t);for(n=0;n<i.length;n++)h(f,i[n])}r(t,"insertAdjacentHTML",(function(t,e){if("beforebegin"===(t=t.toLowerCase())){var o=this.previousSibling;n.call(this,t,e),i(o||this.parentNode.firstChild,this)}else if("afterbegin"===t)o=this.firstChild,n.call(this,t,e),i(this.firstChild,o);else if("beforeend"===t)o=this.lastChild,n.call(this,t,e),i(o||this.firstChild,null);else{if("afterend"!==t)throw new SyntaxError("The value provided ("+t+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");o=this.nextSibling,n.call(this,t,e),i(this.nextSibling,o)}}))}var f=tt;L&&r(Element.prototype,"attachShadow",(function(t){t=L.call(this,t);var n=f;if(n.b&&!t.__CE_patched){t.__CE_patched=!0;for(var i=0;i<n.c.length;i++)n.c[i](t)}return this.__CE_shadowRoot=t})),S&&S.get?t(Element.prototype,S):K&&K.get?t(HTMLElement.prototype,K):function(t,n){t.b=!0,t.f.push(n)}(f,(function(n){t(n,{enumerable:!0,configurable:!0,get:function(){return D.call(this,!0).innerHTML},set:function(t){var n="template"===this.localName,i=n?this.content:this,e=p.call(document,this.namespaceURI,this.localName);for(e.innerHTML=t;0<i.childNodes.length;)O.call(i,i.childNodes[0]);for(t=n?e.content:e;0<t.childNodes.length;)N.call(i,t.childNodes[0])}})})),r(Element.prototype,"setAttribute",(function(t,n){if(1!==this.__CE_state)return H.call(this,t,n);var i=F.call(this,t);H.call(this,t,n),n=F.call(this,t),f.attributeChangedCallback(this,t,i,n,null)})),r(Element.prototype,"setAttributeNS",(function(t,n,i){if(1!==this.__CE_state)return P.call(this,t,n,i);var e=z.call(this,t,n);P.call(this,t,n,i),i=z.call(this,t,n),f.attributeChangedCallback(this,n,e,i,t)})),r(Element.prototype,"removeAttribute",(function(t){if(1!==this.__CE_state)return x.call(this,t);var n=F.call(this,t);x.call(this,t),null!==n&&f.attributeChangedCallback(this,t,n,null,null)})),r(Element.prototype,"removeAttributeNS",(function(t,n){if(1!==this.__CE_state)return R.call(this,t,n);var i=z.call(this,t,n);R.call(this,t,n);var e=z.call(this,t,n);i!==e&&f.attributeChangedCallback(this,n,i,e,t)})),Q?n(HTMLElement.prototype,Q):$?n(Element.prototype,$):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched."),V?e(HTMLElement.prototype,V):_?e(Element.prototype,_):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched."),Y(f,Element.prototype,{h:B,append:I}),function(t){function n(n){return function(e){for(var o=[],r=0;r<arguments.length;++r)o[r]=arguments[r];r=[];for(var f=[],c=0;c<o.length;c++){var u=o[c];if(u instanceof Element&&i(u)&&f.push(u),u instanceof DocumentFragment)for(u=u.firstChild;u;u=u.nextSibling)r.push(u);else r.push(u)}for(n.apply(this,o),o=0;o<f.length;o++)a(t,f[o]);if(i(this))for(o=0;o<r.length;o++)(f=r[o])instanceof Element&&s(t,f)}}var e=Element.prototype;void 0!==U&&(e.before=n(U)),void 0!==U&&(e.after=n(W)),void 0!==q&&r(e,"replaceWith",(function(n){for(var e=[],o=0;o<arguments.length;++o)e[o]=arguments[o];o=[];for(var r=[],f=0;f<e.length;f++){var c=e[f];if(c instanceof Element&&i(c)&&r.push(c),c instanceof DocumentFragment)for(c=c.firstChild;c;c=c.nextSibling)o.push(c);else o.push(c)}for(f=i(this),q.apply(this,e),e=0;e<r.length;e++)a(t,r[e]);if(f)for(a(t,this),e=0;e<o.length;e++)(r=o[e])instanceof Element&&s(t,r)})),void 0!==G&&r(e,"remove",(function(){var n=i(this);G.call(this),n&&a(t,this)}))}(f)}(),document.__CE_hasRegistry=!0;var nt=new b(tt);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:nt})}}(),"string"!=typeof document.baseURI&&Object.defineProperty(Document.prototype,"baseURI",{enumerable:!0,configurable:!0,get:function(){var t=document.querySelector("base");return t&&t.href?t.href:document.URL}}),"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,n){n=n||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(t,n.bubbles,n.cancelable,n.detail),i},window.CustomEvent.prototype=window.Event.prototype),function(t,n,i){t.composedPath||(t.composedPath=function(){if(this.path)return this.path;var t=this.target;for(this.path=[];null!==t.parentNode;)this.path.push(t),t=t.parentNode;return this.path.push(n,i),this.path})}(Event.prototype,document,window),
5
5
  /*!
@@ -1,4 +1,4 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{E as s}from"./p-65af7a89.js";class t{constructor(){this.onChanged=new s,this.cursors=[],this.nextId=0}add(s,a=t.NORMAL_PRIORITY){const h=++this.nextId,i={id:h,cursor:s,priority:a,dispose:()=>this.remove(h)};return this.cursors.push(i),this.onChanged.emit(),i}remove(s){const t=this.cursors.findIndex((({id:t})=>t===s));t>=0&&(this.cursors.splice(t,1),this.onChanged.emit())}getActiveCursor(){var s;return null===(s=this.cursors.concat().reverse().sort(((s,t)=>t.priority-s.priority))[0])||void 0===s?void 0:s.cursor}}t.LOW_PRIORITY=0,t.NORMAL_PRIORITY=10,t.HIGH_PRIORITY=20;const a={url:"data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M21.5 8h-19a.5.5 0 00-.5.5v6a.5.5 0 00.5.5h19a.5.5 0 00.5-.5v-6a.5.5 0 00-.5-.5zm-.5 6H3V9h3v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2z' stroke='%23fff' stroke-width='1.25' stroke-opacity='0.5' stroke-miterlimit='10' shape-rendering='crispEdges'/%3E%3Cpath d='M21.5 8h-19a.5.5 0 00-.5.5v6a.5.5 0 00.5.5h19a.5.5 0 00.5-.5v-6a.5.5 0 00-.5-.5zm-.5 6H3V9h3v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2z' shape-rendering='crispEdges'/%3E%3C/svg%3E",offsetX:-24,offsetY:-24},h={url:"data:image/svg+xml;utf8,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bstroke:%23fff;stroke-miterlimit:10;stroke-width:2px;%7D.cls-2%7Bfill:%23fff;%7D.cls-2,.cls-3%7Bfill-rule:evenodd;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M27.46,21h-19a.5.5,0,0,0-.5.5v6a.5.5,0,0,0,.5.5h19a.5.5,0,0,0,.5-.5v-6A.5.5,0,0,0,27.46,21ZM27,27H9V22h3v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2Z'/%3E%3Cpath d='M27.46,21h-19a.5.5,0,0,0-.5.5v6a.5.5,0,0,0,.5.5h19a.5.5,0,0,0,.5-.5v-6A.5.5,0,0,0,27.46,21ZM27,27H9V22h3v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2Z'/%3E%3Cpath class='cls-2' d='M1,17V1L12.59,12.62H5.81l-.41.12Z'/%3E%3Cpath class='cls-2' d='M10.08,17.69l-3.6,1.53L1.8,8.14,5.48,6.58Z'/%3E%3Cpath class='cls-3' d='M8.75,17l-1.84.77-3.1-7.37,1.84-.78Z'/%3E%3Cpath class='cls-3' d='M2,3.41V14.6l3-2.87.43-.14h4.76Z'/%3E%3C/svg%3E",offsetX:-30,offsetY:-30},i={url:"data:image/svg+xml,%3Csvg width='36px' height='36px' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12,2 C7.581722,2 4,5.581722 4,10 C4.00435812,11.7714969 4.41127263,13.5188357 5.19,15.11 C6.15517666,17.0237439 7.49502409,18.7240579 9.13,20.11 C9.86916736,20.7592093 10.6620019,21.3446357 11.5,21.86 L12,22.14 L12.5,21.86 C13.8750156,21.0120029 15.1296156,19.9827599 16.23,18.8 C17.2698142,17.7023203 18.1394508,16.4551671 18.81,15.1 C19.5872532,13.5118707 19.9941287,11.7681184 20,10 C20,5.581722 16.418278,2 12,2 Z M12,13 C10.3431458,13 9,11.6568542 9,10 C9,8.34314575 10.3431458,7 12,7 C13.6568542,7 15,8.34314575 15,10 C15,10.7956495 14.6839295,11.5587112 14.1213203,12.1213203 C13.5587112,12.6839295 12.7956495,13 12,13 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='icons/pin-filled' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cmask id='mask-2' fill='white'%3E%3Cuse xlink:href='%23path-1'%3E%3C/use%3E%3C/mask%3E%3Cuse id='Shape' stroke='%23FAFAFA' fill='%23BDBDBD' fill-rule='nonzero' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/svg%3E",offsetX:17,offsetY:22},l={url:"data:image/svg+xml,%3Csvg width='36px' height='36px' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 16 24' %3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;%7D.cls-2%7Bfill:%23616161;%7D.cls-3%7Bclip-path:url(%23clip-path);%7D%3C/style%3E%3CclipPath id='clip-path'%3E%3Ccircle cx='-576.76' cy='-107.26' r='4'/%3E%3C/clipPath%3E%3C/defs%3E%3Cpath d='M8,16H8a.48.48,0,0,1-.42-.23L5.75,13H3.51A1.5,1.5,0,0,1,2,11.5v-8A1.5,1.5,0,0,1,3.51,2h9A1.51,1.51,0,0,1,14,3.5v8a1.5,1.5,0,0,1-1.5,1.5H10.22L8.39,15.81A.5.5,0,0,1,8,16ZM3.51,3a.5.5,0,0,0-.5.5v8a.5.5,0,0,0,.5.5H6a.5.5,0,0,1,.42.23L8,14.61l1.55-2.38A.5.5,0,0,1,10,12h2.56a.5.5,0,0,0,.5-.5v-8a.51.51,0,0,0-.5-.5Z'/%3E%3Ccircle cx='8.01' cy='20' r='2'/%3E%3C/svg%3E%0A",offsetX:17,offsetY:29};export{t as C,h as a,l,a as m,i as p}
4
+ import{E as s}from"./p-fc7d8c03.js";class t{constructor(){this.onChanged=new s,this.cursors=[],this.nextId=0}add(s,a=t.NORMAL_PRIORITY){const l=++this.nextId,h={id:l,cursor:s,priority:a,dispose:()=>this.remove(l)};return this.cursors.push(h),this.onChanged.emit(),h}remove(s){const t=this.cursors.findIndex((({id:t})=>t===s));t>=0&&(this.cursors.splice(t,1),this.onChanged.emit())}getActiveCursor(){var s;return null===(s=this.cursors.concat().reverse().sort(((s,t)=>t.priority-s.priority))[0])||void 0===s?void 0:s.cursor}}t.LOW_PRIORITY=0,t.NORMAL_PRIORITY=10,t.HIGH_PRIORITY=20;const a={url:"data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M21.5 8h-19a.5.5 0 00-.5.5v6a.5.5 0 00.5.5h19a.5.5 0 00.5-.5v-6a.5.5 0 00-.5-.5zm-.5 6H3V9h3v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2z' stroke='%23fff' stroke-width='1.25' stroke-opacity='0.5' stroke-miterlimit='10' shape-rendering='crispEdges'/%3E%3Cpath d='M21.5 8h-19a.5.5 0 00-.5.5v6a.5.5 0 00.5.5h19a.5.5 0 00.5-.5v-6a.5.5 0 00-.5-.5zm-.5 6H3V9h3v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2z' shape-rendering='crispEdges'/%3E%3C/svg%3E",offsetX:-24,offsetY:-24},l={url:"data:image/svg+xml;utf8,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bstroke:%23fff;stroke-miterlimit:10;stroke-width:2px;%7D.cls-2%7Bfill:%23fff;%7D.cls-2,.cls-3%7Bfill-rule:evenodd;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M27.46,21h-19a.5.5,0,0,0-.5.5v6a.5.5,0,0,0,.5.5h19a.5.5,0,0,0,.5-.5v-6A.5.5,0,0,0,27.46,21ZM27,27H9V22h3v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2Z'/%3E%3Cpath d='M27.46,21h-19a.5.5,0,0,0-.5.5v6a.5.5,0,0,0,.5.5h19a.5.5,0,0,0,.5-.5v-6A.5.5,0,0,0,27.46,21ZM27,27H9V22h3v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2Z'/%3E%3Cpath class='cls-2' d='M1,17V1L12.59,12.62H5.81l-.41.12Z'/%3E%3Cpath class='cls-2' d='M10.08,17.69l-3.6,1.53L1.8,8.14,5.48,6.58Z'/%3E%3Cpath class='cls-3' d='M8.75,17l-1.84.77-3.1-7.37,1.84-.78Z'/%3E%3Cpath class='cls-3' d='M2,3.41V14.6l3-2.87.43-.14h4.76Z'/%3E%3C/svg%3E",offsetX:-30,offsetY:-30},h={url:"data:image/svg+xml,%3Csvg width='36px' height='36px' viewBox='0 0 24 24' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath d='M12,2 C7.581722,2 4,5.581722 4,10 C4.00435812,11.7714969 4.41127263,13.5188357 5.19,15.11 C6.15517666,17.0237439 7.49502409,18.7240579 9.13,20.11 C9.86916736,20.7592093 10.6620019,21.3446357 11.5,21.86 L12,22.14 L12.5,21.86 C13.8750156,21.0120029 15.1296156,19.9827599 16.23,18.8 C17.2698142,17.7023203 18.1394508,16.4551671 18.81,15.1 C19.5872532,13.5118707 19.9941287,11.7681184 20,10 C20,5.581722 16.418278,2 12,2 Z M12,13 C10.3431458,13 9,11.6568542 9,10 C9,8.34314575 10.3431458,7 12,7 C13.6568542,7 15,8.34314575 15,10 C15,10.7956495 14.6839295,11.5587112 14.1213203,12.1213203 C13.5587112,12.6839295 12.7956495,13 12,13 Z' id='path-1'%3E%3C/path%3E%3C/defs%3E%3Cg id='icons/pin-filled' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cmask id='mask-2' fill='white'%3E%3Cuse xlink:href='%23path-1'%3E%3C/use%3E%3C/mask%3E%3Cuse id='Shape' stroke='%23FAFAFA' fill='%23BDBDBD' fill-rule='nonzero' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/svg%3E",offsetX:17,offsetY:22},e={url:"data:image/svg+xml,%3Csvg width='36px' height='36px' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 16 24' %3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;%7D.cls-2%7Bfill:%23616161;%7D.cls-3%7Bclip-path:url(%23clip-path);%7D%3C/style%3E%3CclipPath id='clip-path'%3E%3Ccircle cx='-576.76' cy='-107.26' r='4'/%3E%3C/clipPath%3E%3C/defs%3E%3Cpath d='M8,16H8a.48.48,0,0,1-.42-.23L5.75,13H3.51A1.5,1.5,0,0,1,2,11.5v-8A1.5,1.5,0,0,1,3.51,2h9A1.51,1.51,0,0,1,14,3.5v8a1.5,1.5,0,0,1-1.5,1.5H10.22L8.39,15.81A.5.5,0,0,1,8,16ZM3.51,3a.5.5,0,0,0-.5.5v8a.5.5,0,0,0,.5.5H6a.5.5,0,0,1,.42.23L8,14.61l1.55-2.38A.5.5,0,0,1,10,12h2.56a.5.5,0,0,0,.5-.5v-8a.51.51,0,0,0-.5-.5Z'/%3E%3Ccircle cx='8.01' cy='20' r='2'/%3E%3C/svg%3E%0A",offsetX:17,offsetY:29},i={url:"data:image/svg+xml;utf8,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bstroke:%23fff;stroke-miterlimit:10;stroke-width:2px;%7D.cls-2%7Bfill:%23fff;%7D.cls-2,.cls-3%7Bfill-rule:evenodd;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-2' d='M1.25,17V1L12.59,12.62H5.81l-.41.12Z'/%3E%3Cpath class='cls-2' d='M10.33,17.69l-3.6,1.53L1.8,8.14,5.48,6.58Z'/%3E %3Cpath class='cls-3' d='M9,17l-1.84.77-3.1-7.37,1.84-.78Z'/%3E%3Cpath class='cls-3' d='M2.25,3.41V14.6l3-2.87.43-.14h4.76Z'/%3E%3Cpath class='cls-1' d='M21.36,22.5H15.5V16.64a.5.5,0,0,0-1,0V22.5H8.64a.5.5,0,0,0,0,1H14.5v5.86a.5.5,0,0,0,1,0V23.5h5.86a.5.5,0,0,0,0-1Z' /%3E %3Cpath d='M21.36,22.5H15.5V16.64a.5.5,0,0,0-1,0V22.5H8.64a.5.5,0,0,0,0,1H14.5v5.86a.5.5,0,0,0,1,0V23.5h5.86a.5.5,0,0,0,0-1Z' /%3E%3C/svg%3E",offsetX:-30,offsetY:-30};export{t as C,l as a,i as b,e as l,a as m,h as p}
@@ -1,4 +1,4 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
4
  import{r as t,h as e,H as i}from"./p-d6fce4c1.js";import{c as o}from"./p-07aeee89.js";import"./p-dfe5a97d.js";const r=class{constructor(e){t(this,e)}render(){return e(i,null,e("button",{class:"viewer-button"},e("slot",null)))}};r.style=":host{cursor:pointer}.viewer-button{align-items:center;background:none;border:none;color:inherit;cursor:inherit;display:flex;padding:0}";const n=class{constructor(e){t(this,e),this.placement="bottom-center",this.direction="horizontal"}render(){const[t,i]=this.placement.split("-");return e("vertex-viewer-layer",{class:o("layer",{"position-top":"top"===t,"position-middle":"middle"===t,"position-bottom":"bottom"===t,"position-left":"left"===i,"position-center":"center"===i,"position-right":"right"===i})},e("div",{class:o("inner",{vertical:"vertical"===this.direction,horizontal:"horizontal"===this.direction})},e("slot",null)))}};n.style=".layer{padding:1rem;display:flex}.layer.position-top{align-items:flex-start}.layer.position-middle{align-items:center}.layer.position-bottom{align-items:flex-end}.layer.position-left{justify-content:flex-start}.layer.position-center{justify-content:center}.layer.position-right{justify-content:flex-end}.inner{display:flex}.inner.vertical{flex-direction:column}.inner.horizonal{flex-direction:row}::slotted(*){pointer-events:initial}";const l=class{constructor(e){t(this,e),this.direction="horizontal"}render(){return e("div",{class:o("inner",{horizontal:"horizontal"===this.direction,vertical:"vertical"===this.direction})},e("slot",null))}};l.style=".inner{display:flex;align-items:center;margin:auto}.inner.vertical{flex-direction:column}.inner.horizontal{flex-direction:row}";export{r as vertex_viewer_button,n as vertex_viewer_toolbar,l as vertex_viewer_toolbar_group}
@@ -1,4 +1,4 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{h as o,r as t,c as r,H as e,g as i}from"./p-d6fce4c1.js";import{g as n}from"./p-5809b400.js";import{p as s,d as h,i as a,h as d}from"./p-70e5e8a8.js";import{i as c,a as l,b as u,p as w,c as p,d as b,e as v,f as m}from"./p-00ce31a0.js";import{g as f}from"./p-99352cf0.js";import{c as g}from"./p-07aeee89.js";import"./p-dfe5a97d.js";function k(o,t){switch(t){case"top-left":return s.create(o.x,o.y);case"top":return s.create(o.x+o.width/2,o.y);case"top-right":return s.create(o.x+o.width,o.y);case"right":return s.create(o.x+o.width,o.y+o.height/2);case"bottom-right":return s.create(o.x+o.width,o.y+o.height);case"bottom":return s.create(o.x+o.width/2,o.y+o.height);case"bottom-left":return s.create(o.x,o.y+o.height);case"left":return s.create(o.x,o.y+o.height/2);case"center":return a.center(o)}}function x(o,t){const r=t.height;return s.add(s.scale(o,r,r),h.center(t))}function P(o,t){const r=t.height;return h.scale(r,r,o)}function D(o,t){const r=x(o,t),e=P(o,t);return a.fromPointAndDimensions(r,e)}function y(o,t){const r=1/t.height;return s.scale(s.subtract(o,h.center(t)),r,r)}function A(o,t,r){const e=a.fromPoints(o,t);if(r){const r=Math.max(e.width,e.height),i=e.height>e.width;return a.create(t.x<=o.x?i?o.x-r:t.x:o.x,t.y<=o.y?i?t.y:o.y-r:o.y,r,r)}return e}function C(o,t,r,e,i){const n=s.subtract(r,t),{x:h,y:d,width:c,height:l}=o,u=h+c,w=d+l,p=s.create(h,d),b=s.create(h,w),v=s.create(u,d),m=s.create(u,w);switch(e){case"top-left":return A(m,r,!!i);case"top":return A(m,s.create(h,r.y),!!i);case"top-right":return A(b,r,!!i);case"right":return A(b,s.create(r.x,d),!!i);case"bottom-right":return A(p,r,!!i);case"bottom":return A(p,s.create(u,r.y),!!i);case"bottom-left":return A(v,r,!!i);case"left":return A(m,s.create(r.x,d),!!i);case"center":return a.create(o.x+n.x,o.y+n.y,o.width,o.height)}}function R(o){const t=o.target;return function(o){return c(o)||l(o)||u(o)}(t)&&"edit"!==t.mode}const B=({id:t,rotation:r,name:e,point:i,onPointerDown:n},s)=>o("div",{id:t,class:"bounds-anchor-position",style:{top:`${i.y}px`,left:`${i.x}px`},onTouchStart:o=>o.preventDefault(),onPointerDown:n},o("div",{class:"bounds-anchor",style:{transform:`rotateZ(${null!=r?r:0}deg)`}},o("slot",{name:e},s))),M=({id:t})=>o("filter",{id:t,filterUnits:"userSpaceOnUse"},o("feGaussianBlur",{in:"SourceAlpha",stdDeviation:"2"}),o("feOffset",{dx:"0",dy:"1",result:"offsetblur"}),o("feFlood",{"flood-color":"#000000","flood-opacity":"0.25"}),o("feComposite",{in2:"offsetblur",operator:"in"}),o("feMerge",null,o("feMergeNode",null),o("feMergeNode",{in:"SourceGraphic"})));class T{constructor(){this.handlePointerDown=o=>{this.handleInteractionAttempt(o)},this.handlePointerMove=o=>{this.handleInteractionMove(o)},this.handlePointerUp=o=>{window.removeEventListener("pointermove",this.handlePointerMove),window.removeEventListener("pointerup",this.handlePointerUp),this.handleInteractionEnd(o)},this.resizeObserver=new ResizeObserver((([o])=>{this.elementBounds=this.computeBoundingRect()}))}initialize(o,t){this.element=o,this.api=t,this.elementBounds=this.computeBoundingRect(),this.resizeObserver.observe(this.element),this.element.addEventListener("pointerdown",this.handlePointerDown)}dispose(){var o;this.resizeObserver.disconnect(),null===(o=this.element)||void 0===o||o.removeEventListener("pointerdown",this.handlePointerDown),this.element=void 0,this.api=void 0}acceptInteraction(){window.addEventListener("pointermove",this.handlePointerMove),window.addEventListener("pointerup",this.handlePointerUp)}}class S extends T{constructor(o,t,r){super(),this.markupEl=o,this.editBegin=t,this.editEnd=r,this.anchor="end"}editAnchor(o,t){"edit"===this.markupEl.mode&&(this.anchor=o,this.startInteraction(t))}startInteraction(o){this.handleInteractionAttempt(o)}computeBoundingRect(){return n(this.markupEl)}handleInteractionAttempt(o){var t;""!==this.markupEl.mode&&null==this.pointerId&&null!=this.elementBounds&&(this.pointerId=o.pointerId,this.markupEl.start=null!==(t=this.markupEl.start)&&void 0!==t?t:y(f(o,this.elementBounds),this.elementBounds),this.editBegin.emit(),this.acceptInteraction())}handleInteractionMove(o){if(null!=this.elementBounds&&this.pointerId===o.pointerId){const t=y(f(o,this.elementBounds),this.elementBounds);if("start"===this.anchor)this.markupEl.start=t;else if("end"===this.anchor)this.markupEl.end=t;else if(null!=this.markupEl.start&&null!=this.markupEl.end){const o=s.create((this.markupEl.start.x+this.markupEl.end.x)/2,(this.markupEl.start.y+this.markupEl.end.y)/2),r=o.x-t.x,e=o.y-t.y;this.markupEl.start=s.create(this.markupEl.start.x-r,this.markupEl.start.y-e),this.markupEl.end=s.create(this.markupEl.end.x-r,this.markupEl.end.y-e)}}}handleInteractionEnd(o){if(this.pointerId===o.pointerId){const o=null!=this.markupEl.start&&null!=this.elementBounds?x(this.markupEl.start,this.elementBounds):void 0,t=null!=this.markupEl.end&&null!=this.elementBounds?x(this.markupEl.end,this.elementBounds):void 0;""!==this.markupEl.mode&&null!=o&&null!=t&&s.distance(o,t)>=2?this.editEnd.emit():(this.markupEl.start=void 0,this.markupEl.end=void 0),this.pointerId=void 0}}}const L=({start:t,end:r,onStartAnchorPointerDown:e,onCenterAnchorPointerDown:i,onEndAnchorPointerDown:n})=>{const h=d.normalize(d.toDegrees(d.fromPoints(t,r))-270),a=s.create((t.x+r.x)/2,(t.y+r.y)/2);return o("div",{class:"bounds-container"},o(B,{id:"bounding-box-1d-start-anchor",name:"start-anchor",rotation:h,point:t,onPointerDown:e},o("div",{class:g("bounds-default-anchor","bounds-cap-anchor")})),o(B,{id:"bounding-box-1d-end-anchor",name:"end-anchor",rotation:h,point:r,onPointerDown:n},o("div",{class:g("bounds-default-anchor","bounds-cap-anchor")})),o(B,{id:"bounding-box-1d-center-anchor",name:"center-anchor",point:a,onPointerDown:i},o("div",{class:g("bounds-default-anchor","bounds-center-anchor")})))},E=class{constructor(o){t(this,o),this.editBegin=r(this,"editBegin",7),this.editEnd=r(this,"editEnd",7),this.viewRendered=r(this,"viewRendered",7),this.mode="",this.interactionHandler=new S(this.hostEl,this.editBegin,this.editEnd),this.handleWindowPointerDown=o=>{R(o)&&this.interactionHandler.startInteraction(o)},this.handleTouchStart=o=>{o.preventDefault()}}componentWillLoad(){this.updateViewport(),this.handleViewerChanged(this.viewer),this.updatePointsFromProps()}componentDidLoad(){this.updatePointsFromProps(),new ResizeObserver((()=>this.updateViewport())).observe(this.hostEl),"create"===this.mode&&window.addEventListener("pointerdown",this.handleWindowPointerDown)}componentDidRender(){""===this.mode&&this.viewRendered.emit()}disconnectedCallback(){this.dispose()}async dispose(){var o;null===(o=this.registeredInteraction)||void 0===o||o.dispose(),this.registeredInteraction=void 0,window.removeEventListener("pointerdown",this.handleWindowPointerDown)}async handleViewerChanged(o){var t;null===(t=this.registeredInteraction)||void 0===t||t.dispose(),this.registeredInteraction=void 0,null!=o&&(this.registeredInteraction=await o.registerInteractionHandler(this.interactionHandler))}handleStartJsonChange(){this.updatePointsFromProps()}handleEndJsonChange(){this.updatePointsFromProps()}handleModeChange(){"create"!==this.mode&&window.removeEventListener("pointerdown",this.handleWindowPointerDown)}updateViewport(){const o=n(this.hostEl);this.elementBounds=o}updatePointsFromProps(){this.start=this.start||w(this.startJson),this.end=this.end||w(this.endJson)}render(){if(null!=this.start&&null!=this.end&&null!=this.elementBounds){const t=x(this.start,this.elementBounds),r=x(this.end,this.elementBounds),i=p(t,r);return function(...o){return o.every((o=>!isNaN(o.x)&&!isNaN(o.y)))}(t,r)?o(e,null,o("svg",{class:"svg",onTouchStart:this.handleTouchStart},o("defs",null,o(M,{id:"arrow-shadow"})),o("g",{filter:"url(#arrow-shadow)"},o("polygon",{id:"arrow-head",class:"head",points:b(i)}),o("line",{id:"arrow-line",class:"line",x1:t.x,y1:t.y,x2:i.base.x,y2:i.base.y}),"edit"===this.mode&&o("line",{id:"bounding-box-1d-line",class:"bounds-line",x1:t.x,y1:t.y,x2:r.x,y2:r.y}))),"edit"===this.mode&&o(L,{start:t,end:r,onStartAnchorPointerDown:o=>this.interactionHandler.editAnchor("start",o),onCenterAnchorPointerDown:o=>this.interactionHandler.editAnchor("center",o),onEndAnchorPointerDown:o=>this.interactionHandler.editAnchor("end",o)}),"create"===this.mode&&o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart})):o(e,null)}return o(e,null,o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart}))}get hostEl(){return i(this)}static get watchers(){return{viewer:["handleViewerChanged"],start:["handleStartJsonChange"],end:["handleEndJsonChange"],mode:["handleModeChange"]}}};E.style=":host{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;--viewer-markup-arrow-line-stroke-color:var(--red-800);--viewer-markup-arrow-line-stroke-width:4;--viewer-markup-arrow-head-stroke-color:var(--red-800);--viewer-markup-arrow-head-stroke-width:4;--viewer-markup-arrow-head-fill-color:var(--red-800);--viewer-markup-arrow-head-fill-opacity:1;--viewer-markup-arrow-bounds-cap-border-color:var(--blue-400);--viewer-markup-arrow-bounds-cap-border-width:1px;--viewer-markup-arrow-bounds-cap-background-color:white;--viewer-markup-arrow-bounds-center-anchor-border-color:white;--viewer-markup-arrow-bounds-center-anchor-border-width:1px;--viewer-markup-arrow-bounds-center-anchor-background-color:var(--blue-400);--viewer-markup-arrow-bounds-outline-width:1px;--viewer-markup-arrow-bounds-outline-color:var(--blue-400);--viewer-markup-arrow-bounds-anchor-width:9px;--viewer-markup-arrow-bounds-anchor-height:9px}.svg{pointer-events:none;width:100%;height:100%}.create-overlay{pointer-events:auto;position:absolute;left:0;top:0;width:100%;height:100%;cursor:crosshair}.line{pointer-events:auto;stroke:var(--viewer-markup-arrow-line-stroke-color);stroke-width:var(--viewer-markup-arrow-line-stroke-width);cursor:default}.head{pointer-events:auto;stroke:var(--viewer-markup-arrow-head-stroke-color);stroke-width:var(--viewer-markup-arrow-head-stroke-width);fill:var(--viewer-markup-arrow-head-fill-color);fill-opacity:var(--viewer-markup-arrow-head-fill-opacity);cursor:default}.bounds-line{pointer-events:auto;stroke:var(--viewer-markup-arrow-bounds-outline-color);stroke-width:var(--viewer-markup-arrow-bounds-outline-width)}.bounds-container{pointer-events:none;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden}.bounds-anchor-position{position:absolute;transform:translate(-50%, -50%)}.bounds-anchor{pointer-events:auto;cursor:default;user-select:none}.bounds-default-anchor{width:var(--viewer-markup-arrow-bounds-anchor-width);height:var(--viewer-markup-arrow-bounds-anchor-height);box-sizing:border-box;box-shadow:0 0 2px rgba(0, 0, 0, 0.3)}.bounds-center-anchor{border-radius:100%;border-width:var(--viewer-markup-arrow-bounds-center-anchor-border-width);border-color:var(--viewer-markup-arrow-bounds-center-anchor-border-color);border-style:solid;background-color:var(--viewer-markup-arrow-bounds-center-anchor-background-color)}.bounds-cap-anchor{border-width:var(--viewer-markup-arrow-bounds-cap-border-width);border-color:var(--viewer-markup-arrow-bounds-cap-border-color);border-style:solid;background-color:var(--viewer-markup-arrow-bounds-cap-background-color)}";class I extends T{constructor(o,t,r){super(),this.markupEl=o,this.editBegin=t,this.editEnd=r,this.anchor="bottom-right"}editAnchor(o,t){"edit"===this.markupEl.mode&&(this.anchor=o,this.resizeBounds=this.markupEl.bounds,this.startInteraction(t))}startInteraction(o){this.handleInteractionAttempt(o)}computeBoundingRect(){return n(this.markupEl)}handleInteractionAttempt(o){var t;if(""!==this.markupEl.mode&&null==this.pointerId&&null!=this.elementBounds){const r=y(f(o,this.elementBounds),this.elementBounds);this.pointerId=o.pointerId,this.startPosition=r,this.markupEl.bounds=null!==(t=this.markupEl.bounds)&&void 0!==t?t:a.create(r.x,r.y,0,0),this.resizeBounds=this.markupEl.bounds,this.editBegin.emit(),this.acceptInteraction()}}handleInteractionMove(o){var t;if(null!=this.markupEl.bounds&&null!=this.startPosition&&null!=this.elementBounds&&this.pointerId===o.pointerId){const r=y(f(o,this.elementBounds),this.elementBounds);this.markupEl.bounds=C(null!==(t=this.resizeBounds)&&void 0!==t?t:this.markupEl.bounds,this.startPosition,r,this.anchor,o.shiftKey)}}handleInteractionEnd(o){var t,r;this.pointerId===o.pointerId&&(""!==this.markupEl.mode&&null!=this.markupEl.bounds&&(null===(t=this.markupEl.bounds)||void 0===t?void 0:t.width)>0&&(null===(r=this.markupEl.bounds)||void 0===r?void 0:r.height)>0?(this.anchor="bottom-right",this.editEnd.emit()):this.markupEl.bounds=void 0,this.pointerId=void 0)}}const $=({bounds:t,onTopLeftAnchorPointerDown:r,onLeftAnchorPointerDown:e,onTopRightAnchorPointerDown:i,onRightAnchorPointerDown:n,onBottomLeftAnchorPointerDown:s,onBottomAnchorPointerDown:h,onBottomRightAnchorPointerDown:d,onTopAnchorPointerDown:c,onCenterAnchorPointerDown:l})=>{const u=a.pad(t,6),w=a.center(u);return o("div",{class:"bounds-container"},o("div",{class:"bounds-outline",style:{top:`${u.y}px`,left:`${u.x}px`,width:`${u.width}px`,height:`${u.height}px`}}),o(B,{id:"bounding-box-2d-top-left-anchor",name:"top-left-anchor",point:k(u,"top-left"),onPointerDown:r},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-left-anchor",name:"left-anchor",point:k(u,"left"),onPointerDown:e},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-top-right-anchor",name:"top-right-anchor",point:k(u,"top-right"),onPointerDown:i},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-right-anchor",name:"right-anchor",point:k(u,"right"),onPointerDown:n},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-bottom-left-anchor",name:"bottom-left-anchor",point:k(u,"bottom-left"),onPointerDown:s},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-bottom-anchor",name:"bottom-anchor",point:k(u,"bottom"),onPointerDown:h},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-bottom-right-anchor",name:"bottom-right-anchor",point:k(u,"bottom-right"),onPointerDown:d},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-top-anchor",name:"top-anchor",point:k(u,"top"),onPointerDown:c},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-center-anchor",name:"center-anchor",point:w,onPointerDown:l},o("div",{class:g("bounds-default-anchor","bounds-center-anchor")})))},j=class{constructor(o){t(this,o),this.editBegin=r(this,"editBegin",7),this.editEnd=r(this,"editEnd",7),this.viewRendered=r(this,"viewRendered",7),this.mode="",this.interactionHandler=new I(this.hostEl,this.editBegin,this.editEnd),this.handleWindowPointerDown=o=>{R(o)&&this.interactionHandler.startInteraction(o)},this.handleTouchStart=o=>{o.preventDefault()}}componentWillLoad(){this.updateViewport(),this.handleViewerChanged(this.viewer),this.updateBoundsFromProps()}componentDidLoad(){this.updateBoundsFromProps(),new ResizeObserver((()=>this.updateViewport())).observe(this.hostEl),"create"===this.mode&&window.addEventListener("pointerdown",this.handleWindowPointerDown)}componentDidRender(){""===this.mode&&this.viewRendered.emit()}disconnectedCallback(){this.dispose()}async dispose(){var o;null===(o=this.registeredHandler)||void 0===o||o.dispose(),this.registeredHandler=void 0,window.removeEventListener("pointerdown",this.handleWindowPointerDown)}async handleViewerChanged(o){var t;null===(t=this.registeredHandler)||void 0===t||t.dispose(),this.registeredHandler=void 0,null!=o&&(this.registeredHandler=await o.registerInteractionHandler(this.interactionHandler))}handleBoundsJsonChange(){this.updateBoundsFromProps()}handleModeChange(){"create"!==this.mode&&window.removeEventListener("pointerdown",this.handleWindowPointerDown)}updateViewport(){const o=n(this.hostEl);this.elementBounds=o}updateBoundsFromProps(){var o;this.bounds=null!==(o=this.bounds)&&void 0!==o?o:v(this.boundsJson)}render(){if(null!=this.bounds&&null!=this.elementBounds){const t=D(this.bounds,this.elementBounds),r=a.center(t);return o(e,null,o("svg",{class:"svg",onTouchStart:this.handleTouchStart},o("defs",null,o(M,{id:"circle-shadow"})),o("g",{filter:"url(#circle-shadow)"},o("ellipse",{class:"ellipse",cx:r.x,cy:r.y,rx:t.width/2,ry:t.height/2,stroke:"#000ff0","stroke-width":4,fill:"none"}))),"edit"===this.mode&&o($,{bounds:t,onTopLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("top-left",o),onTopRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("top-right",o),onTopAnchorPointerDown:o=>this.interactionHandler.editAnchor("top",o),onBottomLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom-left",o),onBottomRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom-right",o),onBottomAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom",o),onLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("left",o),onRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("right",o),onCenterAnchorPointerDown:o=>this.interactionHandler.editAnchor("center",o)}),"create"===this.mode&&o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart}))}return o(e,null,o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart}))}get hostEl(){return i(this)}static get watchers(){return{viewer:["handleViewerChanged"],bounds:["handleBoundsJsonChange"],mode:["handleModeChange"]}}};j.style=":host{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;--viewer-markup-circle-ellipse-stroke-color:var(--red-700);--viewer-markup-circle-ellipse-stroke-width:4;--viewer-markup-circle-ellipse-fill-color:none;--viewer-markup-circle-ellipse-fill-opacity:0;--viewer-markup-circle-bounds-outline-border-color:var(--blue-400);--viewer-markup-circle-bounds-outline-border-width:1px;--viewer-markup-circle-bounds-edge-anchor-border-color:var(--blue-400);--viewer-markup-circle-bounds-edge-anchor-border-width:1px;--viewer-markup-circle-bounds-edge-anchor-background-color:white;--viewer-markup-circle-bounds-center-anchor-border-color:white;--viewer-markup-circle-bounds-center-anchor-border-width:1px;--viewer-markup-circle-bounds-center-anchor-background-color:var(--blue-400);--viewer-markup-circle-bounds-anchor-width:9px;--viewer-markup-circle-bounds-anchor-height:9px}.svg{pointer-events:none;width:100%;height:100%}.create-overlay{pointer-events:auto;position:absolute;left:0;top:0;width:100%;height:100%;cursor:crosshair}.ellipse{pointer-events:auto;stroke:var(--viewer-markup-circle-ellipse-stroke-color);stroke-width:var(--viewer-markup-circle-ellipse-stroke-width);fill:var(--viewer-markup-circle-ellipse-fill-color);fill-opacity:var(--viewer-markup-circle-ellipse-fill-opacity);cursor:default}.bounds-container{pointer-events:none;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden}.bounds-outline{position:absolute;border-width:var(--viewer-markup-circle-bounds-outline-border-width);border-color:var(--viewer-markup-circle-bounds-outline-border-color);border-style:solid;box-shadow:0 0 3px rgba(0, 0, 0, 0.3)}.bounds-anchor-position{position:absolute;transform:translate(-50%, -50%)}.bounds-anchor{pointer-events:auto;cursor:default;user-select:none}.bounds-default-anchor{width:var(--viewer-markup-circle-bounds-anchor-width);height:var(--viewer-markup-circle-bounds-anchor-height);box-sizing:border-box;box-shadow:0 0 2px rgba(0, 0, 0, 0.3)}.bounds-center-anchor{border-radius:100%;border-width:var(--viewer-markup-circle-bounds-center-anchor-border-width);border-color:var(--viewer-markup-circle-bounds-center-anchor-border-color);border-style:solid;background-color:var(--viewer-markup-circle-bounds-center-anchor-background-color)}.bounds-edge-anchor{border-width:var(--viewer-markup-circle-bounds-edge-anchor-border-width);border-color:var(--viewer-markup-circle-bounds-edge-anchor-border-color);border-style:solid;background-color:var(--viewer-markup-circle-bounds-edge-anchor-background-color)}";class V extends T{constructor(o,t,r){super(),this.markupEl=o,this.editBegin=t,this.editEnd=r,this.anchor="bottom-right",this.handleResizeInteractionMove=o=>{if(null!=this.resizeStartPosition&&null!=this.elementBounds&&null!=this.resizeBounds&&null!=this.resizePoints){const e=y(f(o,this.elementBounds),this.elementBounds),i=C(this.resizeBounds,this.resizeStartPosition,e,this.anchor,o.shiftKey);this.markupEl.points=(t=this.resizeBounds,r=i,this.resizePoints.map((o=>s.add(s.scale(s.subtract(o,t),r.width/(t.width||1),r.height/(t.height||1)),r)))),this.markupEl.bounds=i}var t,r},this.handleResizeInteractionEnd=()=>{window.removeEventListener("pointermove",this.handleResizeInteractionMove),window.removeEventListener("pointerup",this.handleResizeInteractionEnd),this.resizeBounds=void 0,this.editEnd.emit()}}editAnchor(o,t){"edit"===this.markupEl.mode&&null!=this.elementBounds&&(this.resizeBounds=this.markupEl.bounds,this.resizePoints=this.markupEl.points,this.anchor=o,this.resizeStartPosition=y(f(t,this.elementBounds),this.elementBounds),window.addEventListener("pointermove",this.handleResizeInteractionMove),window.addEventListener("pointerup",this.handleResizeInteractionEnd))}startInteraction(o){this.handleInteractionAttempt(o)}computeBoundingRect(){return n(this.markupEl)}handleInteractionAttempt(o){var t;if(""!==this.markupEl.mode&&null==this.pointerId&&null!=this.elementBounds){this.pointerId=o.pointerId;const r=y(f(o,this.elementBounds),this.elementBounds);this.updateMinAndMax(r),this.markupEl.points=null!==(t=this.markupEl.points)&&void 0!==t?t:[r],this.editBegin.emit(),this.acceptInteraction()}}handleInteractionMove(o){if(this.pointerId===o.pointerId&&null!=this.markupEl.points&&null!=this.elementBounds){const t=y(f(o,this.elementBounds),this.elementBounds);this.updateMinAndMax(t),this.markupEl.points=[...this.markupEl.points,t]}}handleInteractionEnd(o){if(this.pointerId===o.pointerId){if(""!==this.markupEl.mode&&null!=this.markupEl.points&&this.markupEl.points.length>2&&null!=this.elementBounds){const t=y(f(o,this.elementBounds),this.elementBounds);this.updateMinAndMax(t),this.markupEl.points=[...this.markupEl.points,t],this.editEnd.emit()}else this.markupEl.points=void 0;this.min=void 0,this.max=void 0,this.pointerId=void 0}}updateMinAndMax(o){this.min=null!=this.min?s.create(Math.min(this.min.x,o.x),Math.min(this.min.y,o.y)):o,this.max=null!=this.max?s.create(Math.max(this.max.x,o.x),Math.max(this.max.y,o.y)):o,this.markupEl.bounds=a.create(this.min.x,this.min.y,this.max.x-this.min.x,this.max.y-this.min.y)}}const _=class{constructor(o){t(this,o),this.editBegin=r(this,"editBegin",7),this.editEnd=r(this,"editEnd",7),this.viewRendered=r(this,"viewRendered",7),this.mode="",this.screenPoints=[],this.interactionHandler=new V(this.hostEl,this.editBegin,this.editEnd),this.handleWindowPointerDown=o=>{R(o)&&this.interactionHandler.startInteraction(o)},this.handleTouchStart=o=>{o.preventDefault()}}componentWillLoad(){this.updateViewport(),this.handleViewerChanged(this.viewer),this.updatePointsFromProps()}componentDidLoad(){new ResizeObserver((()=>this.updateViewport())).observe(this.hostEl),"create"===this.mode&&window.addEventListener("pointerdown",this.handleWindowPointerDown)}componentDidRender(){""===this.mode&&this.viewRendered.emit()}disconnectedCallback(){this.dispose()}async dispose(){var o;null===(o=this.registeredInteraction)||void 0===o||o.dispose(),this.registeredInteraction=void 0,window.removeEventListener("pointerdown",this.handleWindowPointerDown)}async handleViewerChanged(o){var t;null===(t=this.registeredInteraction)||void 0===t||t.dispose(),this.registeredInteraction=void 0,null!=o&&(this.registeredInteraction=await o.registerInteractionHandler(this.interactionHandler))}handlePointsChange(){this.updatePointsFromProps()}handleBoundsChange(){this.updatePointsFromProps()}handleModeChange(){"create"!==this.mode&&window.removeEventListener("pointerdown",this.handleWindowPointerDown)}updateViewport(){var o;const t=n(this.hostEl);this.elementBounds=t,this.screenPoints=null!==(o=this.convertPointsToScreen())&&void 0!==o?o:this.screenPoints}updatePointsFromProps(){var o,t,r;this.points=null!==(o=this.points)&&void 0!==o?o:m(this.pointsJson),this.screenPoints=null!==(t=this.convertPointsToScreen())&&void 0!==t?t:[],this.bounds=null!==(r=this.bounds)&&void 0!==r?r:v(this.boundsJson)}render(){return this.screenPoints.length>0&&null!=this.elementBounds?o(e,null,o("svg",{class:"svg",onTouchStart:this.handleTouchStart},o("defs",null,o(M,{id:"freeform-markup-shadow"})),o("g",{filter:"url(#freeform-markup-shadow)"},o("path",{class:"path",d:this.screenPoints.reduce(((o,t)=>`${o}L${t.x},${t.y}`),`M${this.screenPoints[0].x},${this.screenPoints[0].y}`),fill:"none"}))),"edit"===this.mode&&null!=this.bounds&&o($,{bounds:D(this.bounds,this.elementBounds),onTopLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("top-left",o),onTopRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("top-right",o),onTopAnchorPointerDown:o=>this.interactionHandler.editAnchor("top",o),onBottomLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom-left",o),onBottomRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom-right",o),onBottomAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom",o),onLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("left",o),onRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("right",o),onCenterAnchorPointerDown:o=>this.interactionHandler.editAnchor("center",o)}),"create"===this.mode&&o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart})):o(e,null,o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart}))}convertPointsToScreen(){var o;const t=this.elementBounds;if(null!=t)return null===(o=this.points)||void 0===o?void 0:o.map((o=>x(o,t)))}get hostEl(){return i(this)}static get watchers(){return{viewer:["handleViewerChanged"],points:["handlePointsChange"],bounds:["handleBoundsChange"],mode:["handleModeChange"]}}};_.style=":host{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;--viewer-markup-freeform-stroke-color:var(--red-800);--viewer-markup-freeform-stroke-width:4;--viewer-markup-freeform-line-join:round;--viewer-markup-freeform-line-cap:round;--viewer-markup-freeform-bounds-outline-border-color:var(--blue-400);--viewer-markup-freeform-bounds-outline-border-width:1px;--viewer-markup-freeform-bounds-edge-anchor-border-color:var(--blue-400);--viewer-markup-freeform-bounds-edge-anchor-border-width:1px;--viewer-markup-freeform-bounds-edge-anchor-background-color:white;--viewer-markup-freeform-bounds-center-anchor-border-color:white;--viewer-markup-freeform-bounds-center-anchor-border-width:1px;--viewer-markup-freeform-bounds-center-anchor-background-color:var(--blue-400);--viewer-markup-freeform-bounds-anchor-width:9px;--viewer-markup-freeform-bounds-anchor-height:9px}.svg{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.path{pointer-events:auto;cursor:default;stroke:var(--viewer-markup-freeform-stroke-color);stroke-width:var(--viewer-markup-freeform-stroke-width);stroke-linejoin:var(--viewer-markup-freeform-line-join);stroke-linecap:var(--viewer-markup-freeform-line-cap)}.create-overlay{pointer-events:auto;position:absolute;left:0;top:0;width:100%;height:100%;cursor:crosshair}.bounds-container{pointer-events:none;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden}.bounds-outline{position:absolute;border-width:var(--viewer-markup-freeform-bounds-outline-border-width);border-color:var(--viewer-markup-freeform-bounds-outline-border-color);border-style:solid;box-shadow:0 0 3px rgba(0, 0, 0, 0.3)}.bounds-anchor-position{position:absolute;transform:translate(-50%, -50%)}.bounds-anchor{pointer-events:auto;cursor:default;user-select:none}.bounds-default-anchor{width:var(--viewer-markup-freeform-bounds-anchor-width);height:var(--viewer-markup-freeform-bounds-anchor-height);box-sizing:border-box;box-shadow:0 0 2px rgba(0, 0, 0, 0.3)}.bounds-center-anchor{border-radius:100%;border-width:var(--viewer-markup-freeform-bounds-center-anchor-border-width);border-color:var(--viewer-markup-freeform-bounds-center-anchor-border-color);border-style:solid;background-color:var(--viewer-markup-freeform-bounds-center-anchor-background-color)}.bounds-edge-anchor{border-width:var(--viewer-markup-freeform-bounds-edge-anchor-border-width);border-color:var(--viewer-markup-freeform-bounds-edge-anchor-border-color);border-style:solid;background-color:var(--viewer-markup-freeform-bounds-edge-anchor-background-color)}";export{E as vertex_viewer_markup_arrow,j as vertex_viewer_markup_circle,_ as vertex_viewer_markup_freeform}
4
+ import{h as o,r as t,c as r,H as e,g as i}from"./p-d6fce4c1.js";import{g as n}from"./p-5809b400.js";import{p as s,d as h,e as a,c as d}from"./p-d216a866.js";import{i as c,a as l,b as u,p as w,c as p,d as b,e as v,f as m}from"./p-e1896ce4.js";import{g as f}from"./p-42760392.js";import{c as g}from"./p-07aeee89.js";import"./p-dfe5a97d.js";function k(o,t){switch(t){case"top-left":return s.create(o.x,o.y);case"top":return s.create(o.x+o.width/2,o.y);case"top-right":return s.create(o.x+o.width,o.y);case"right":return s.create(o.x+o.width,o.y+o.height/2);case"bottom-right":return s.create(o.x+o.width,o.y+o.height);case"bottom":return s.create(o.x+o.width/2,o.y+o.height);case"bottom-left":return s.create(o.x,o.y+o.height);case"left":return s.create(o.x,o.y+o.height/2);case"center":return a.center(o)}}function x(o,t){const r=t.height;return s.add(s.scale(o,r,r),h.center(t))}function P(o,t){const r=t.height;return h.scale(r,r,o)}function D(o,t){const r=x(o,t),e=P(o,t);return a.fromPointAndDimensions(r,e)}function y(o,t){const r=1/t.height;return s.scale(s.subtract(o,h.center(t)),r,r)}function A(o,t,r){const e=a.fromPoints(o,t);if(r){const r=Math.max(e.width,e.height),i=e.height>e.width;return a.create(t.x<=o.x?i?o.x-r:t.x:o.x,t.y<=o.y?i?t.y:o.y-r:o.y,r,r)}return e}function C(o,t,r,e,i){const n=s.subtract(r,t),{x:h,y:d,width:c,height:l}=o,u=h+c,w=d+l,p=s.create(h,d),b=s.create(h,w),v=s.create(u,d),m=s.create(u,w);switch(e){case"top-left":return A(m,r,!!i);case"top":return A(m,s.create(h,r.y),!!i);case"top-right":return A(b,r,!!i);case"right":return A(b,s.create(r.x,d),!!i);case"bottom-right":return A(p,r,!!i);case"bottom":return A(p,s.create(u,r.y),!!i);case"bottom-left":return A(v,r,!!i);case"left":return A(m,s.create(r.x,d),!!i);case"center":return a.create(o.x+n.x,o.y+n.y,o.width,o.height)}}function R(o){const t=o.target;return function(o){return c(o)||l(o)||u(o)}(t)&&"edit"!==t.mode}const B=({id:t,rotation:r,name:e,point:i,onPointerDown:n},s)=>o("div",{id:t,class:"bounds-anchor-position",style:{top:`${i.y}px`,left:`${i.x}px`},onTouchStart:o=>o.preventDefault(),onPointerDown:n},o("div",{class:"bounds-anchor",style:{transform:`rotateZ(${null!=r?r:0}deg)`}},o("slot",{name:e},s))),M=({id:t})=>o("filter",{id:t,filterUnits:"userSpaceOnUse"},o("feGaussianBlur",{in:"SourceAlpha",stdDeviation:"2"}),o("feOffset",{dx:"0",dy:"1",result:"offsetblur"}),o("feFlood",{"flood-color":"#000000","flood-opacity":"0.25"}),o("feComposite",{in2:"offsetblur",operator:"in"}),o("feMerge",null,o("feMergeNode",null),o("feMergeNode",{in:"SourceGraphic"})));class T{constructor(){this.handlePointerDown=o=>{this.handleInteractionAttempt(o)},this.handlePointerMove=o=>{this.handleInteractionMove(o)},this.handlePointerUp=o=>{window.removeEventListener("pointermove",this.handlePointerMove),window.removeEventListener("pointerup",this.handlePointerUp),this.handleInteractionEnd(o)},this.resizeObserver=new ResizeObserver((([o])=>{this.elementBounds=this.computeBoundingRect()}))}initialize(o,t){this.element=o,this.api=t,this.elementBounds=this.computeBoundingRect(),this.resizeObserver.observe(this.element),this.element.addEventListener("pointerdown",this.handlePointerDown)}dispose(){var o;this.resizeObserver.disconnect(),null===(o=this.element)||void 0===o||o.removeEventListener("pointerdown",this.handlePointerDown),this.element=void 0,this.api=void 0}acceptInteraction(){window.addEventListener("pointermove",this.handlePointerMove),window.addEventListener("pointerup",this.handlePointerUp)}}class S extends T{constructor(o,t,r){super(),this.markupEl=o,this.editBegin=t,this.editEnd=r,this.anchor="end"}editAnchor(o,t){"edit"===this.markupEl.mode&&(this.anchor=o,this.startInteraction(t))}startInteraction(o){this.handleInteractionAttempt(o)}computeBoundingRect(){return n(this.markupEl)}handleInteractionAttempt(o){var t;""!==this.markupEl.mode&&null==this.pointerId&&null!=this.elementBounds&&(this.pointerId=o.pointerId,this.markupEl.start=null!==(t=this.markupEl.start)&&void 0!==t?t:y(f(o,this.elementBounds),this.elementBounds),this.editBegin.emit(),this.acceptInteraction())}handleInteractionMove(o){if(null!=this.elementBounds&&this.pointerId===o.pointerId){const t=y(f(o,this.elementBounds),this.elementBounds);if("start"===this.anchor)this.markupEl.start=t;else if("end"===this.anchor)this.markupEl.end=t;else if(null!=this.markupEl.start&&null!=this.markupEl.end){const o=s.create((this.markupEl.start.x+this.markupEl.end.x)/2,(this.markupEl.start.y+this.markupEl.end.y)/2),r=o.x-t.x,e=o.y-t.y;this.markupEl.start=s.create(this.markupEl.start.x-r,this.markupEl.start.y-e),this.markupEl.end=s.create(this.markupEl.end.x-r,this.markupEl.end.y-e)}}}handleInteractionEnd(o){if(this.pointerId===o.pointerId){const o=null!=this.markupEl.start&&null!=this.elementBounds?x(this.markupEl.start,this.elementBounds):void 0,t=null!=this.markupEl.end&&null!=this.elementBounds?x(this.markupEl.end,this.elementBounds):void 0;""!==this.markupEl.mode&&null!=o&&null!=t&&s.distance(o,t)>=2?this.editEnd.emit():(this.markupEl.start=void 0,this.markupEl.end=void 0),this.pointerId=void 0}}}const L=({start:t,end:r,onStartAnchorPointerDown:e,onCenterAnchorPointerDown:i,onEndAnchorPointerDown:n})=>{const h=d.normalize(d.toDegrees(d.fromPoints(t,r))-270),a=s.create((t.x+r.x)/2,(t.y+r.y)/2);return o("div",{class:"bounds-container"},o(B,{id:"bounding-box-1d-start-anchor",name:"start-anchor",rotation:h,point:t,onPointerDown:e},o("div",{class:g("bounds-default-anchor","bounds-cap-anchor")})),o(B,{id:"bounding-box-1d-end-anchor",name:"end-anchor",rotation:h,point:r,onPointerDown:n},o("div",{class:g("bounds-default-anchor","bounds-cap-anchor")})),o(B,{id:"bounding-box-1d-center-anchor",name:"center-anchor",point:a,onPointerDown:i},o("div",{class:g("bounds-default-anchor","bounds-center-anchor")})))},E=class{constructor(o){t(this,o),this.editBegin=r(this,"editBegin",7),this.editEnd=r(this,"editEnd",7),this.viewRendered=r(this,"viewRendered",7),this.mode="",this.interactionHandler=new S(this.hostEl,this.editBegin,this.editEnd),this.handleWindowPointerDown=o=>{R(o)&&this.interactionHandler.startInteraction(o)},this.handleTouchStart=o=>{o.preventDefault()}}componentWillLoad(){this.updateViewport(),this.handleViewerChanged(this.viewer),this.updatePointsFromProps()}componentDidLoad(){this.updatePointsFromProps(),new ResizeObserver((()=>this.updateViewport())).observe(this.hostEl),"create"===this.mode&&window.addEventListener("pointerdown",this.handleWindowPointerDown)}componentDidRender(){""===this.mode&&this.viewRendered.emit()}disconnectedCallback(){this.dispose()}async dispose(){var o;null===(o=this.registeredInteraction)||void 0===o||o.dispose(),this.registeredInteraction=void 0,window.removeEventListener("pointerdown",this.handleWindowPointerDown)}async handleViewerChanged(o){var t;null===(t=this.registeredInteraction)||void 0===t||t.dispose(),this.registeredInteraction=void 0,null!=o&&(this.registeredInteraction=await o.registerInteractionHandler(this.interactionHandler))}handleStartJsonChange(){this.updatePointsFromProps()}handleEndJsonChange(){this.updatePointsFromProps()}handleModeChange(){"create"!==this.mode&&window.removeEventListener("pointerdown",this.handleWindowPointerDown)}updateViewport(){const o=n(this.hostEl);this.elementBounds=o}updatePointsFromProps(){this.start=this.start||w(this.startJson),this.end=this.end||w(this.endJson)}render(){if(null!=this.start&&null!=this.end&&null!=this.elementBounds){const t=x(this.start,this.elementBounds),r=x(this.end,this.elementBounds),i=p(t,r);return function(...o){return o.every((o=>!isNaN(o.x)&&!isNaN(o.y)))}(t,r)?o(e,null,o("svg",{class:"svg",onTouchStart:this.handleTouchStart},o("defs",null,o(M,{id:"arrow-shadow"})),o("g",{filter:"url(#arrow-shadow)"},o("polygon",{id:"arrow-head",class:"head",points:b(i)}),o("line",{id:"arrow-line",class:"line",x1:t.x,y1:t.y,x2:i.base.x,y2:i.base.y}),"edit"===this.mode&&o("line",{id:"bounding-box-1d-line",class:"bounds-line",x1:t.x,y1:t.y,x2:r.x,y2:r.y}))),"edit"===this.mode&&o(L,{start:t,end:r,onStartAnchorPointerDown:o=>this.interactionHandler.editAnchor("start",o),onCenterAnchorPointerDown:o=>this.interactionHandler.editAnchor("center",o),onEndAnchorPointerDown:o=>this.interactionHandler.editAnchor("end",o)}),"create"===this.mode&&o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart})):o(e,null)}return o(e,null,o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart}))}get hostEl(){return i(this)}static get watchers(){return{viewer:["handleViewerChanged"],start:["handleStartJsonChange"],end:["handleEndJsonChange"],mode:["handleModeChange"]}}};E.style=":host{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;--viewer-markup-arrow-line-stroke-color:var(--red-800);--viewer-markup-arrow-line-stroke-width:4;--viewer-markup-arrow-head-stroke-color:var(--red-800);--viewer-markup-arrow-head-stroke-width:4;--viewer-markup-arrow-head-fill-color:var(--red-800);--viewer-markup-arrow-head-fill-opacity:1;--viewer-markup-arrow-bounds-cap-border-color:var(--blue-400);--viewer-markup-arrow-bounds-cap-border-width:1px;--viewer-markup-arrow-bounds-cap-background-color:white;--viewer-markup-arrow-bounds-center-anchor-border-color:white;--viewer-markup-arrow-bounds-center-anchor-border-width:1px;--viewer-markup-arrow-bounds-center-anchor-background-color:var(--blue-400);--viewer-markup-arrow-bounds-outline-width:1px;--viewer-markup-arrow-bounds-outline-color:var(--blue-400);--viewer-markup-arrow-bounds-anchor-width:9px;--viewer-markup-arrow-bounds-anchor-height:9px}.svg{pointer-events:none;width:100%;height:100%}.create-overlay{pointer-events:auto;position:absolute;left:0;top:0;width:100%;height:100%;cursor:crosshair}.line{pointer-events:auto;stroke:var(--viewer-markup-arrow-line-stroke-color);stroke-width:var(--viewer-markup-arrow-line-stroke-width);cursor:default}.head{pointer-events:auto;stroke:var(--viewer-markup-arrow-head-stroke-color);stroke-width:var(--viewer-markup-arrow-head-stroke-width);fill:var(--viewer-markup-arrow-head-fill-color);fill-opacity:var(--viewer-markup-arrow-head-fill-opacity);cursor:default}.bounds-line{pointer-events:auto;stroke:var(--viewer-markup-arrow-bounds-outline-color);stroke-width:var(--viewer-markup-arrow-bounds-outline-width)}.bounds-container{pointer-events:none;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden}.bounds-anchor-position{position:absolute;transform:translate(-50%, -50%)}.bounds-anchor{pointer-events:auto;cursor:default;user-select:none}.bounds-default-anchor{width:var(--viewer-markup-arrow-bounds-anchor-width);height:var(--viewer-markup-arrow-bounds-anchor-height);box-sizing:border-box;box-shadow:0 0 2px rgba(0, 0, 0, 0.3)}.bounds-center-anchor{border-radius:100%;border-width:var(--viewer-markup-arrow-bounds-center-anchor-border-width);border-color:var(--viewer-markup-arrow-bounds-center-anchor-border-color);border-style:solid;background-color:var(--viewer-markup-arrow-bounds-center-anchor-background-color)}.bounds-cap-anchor{border-width:var(--viewer-markup-arrow-bounds-cap-border-width);border-color:var(--viewer-markup-arrow-bounds-cap-border-color);border-style:solid;background-color:var(--viewer-markup-arrow-bounds-cap-background-color)}";class I extends T{constructor(o,t,r){super(),this.markupEl=o,this.editBegin=t,this.editEnd=r,this.anchor="bottom-right"}editAnchor(o,t){"edit"===this.markupEl.mode&&(this.anchor=o,this.resizeBounds=this.markupEl.bounds,this.startInteraction(t))}startInteraction(o){this.handleInteractionAttempt(o)}computeBoundingRect(){return n(this.markupEl)}handleInteractionAttempt(o){var t;if(""!==this.markupEl.mode&&null==this.pointerId&&null!=this.elementBounds){const r=y(f(o,this.elementBounds),this.elementBounds);this.pointerId=o.pointerId,this.startPosition=r,this.markupEl.bounds=null!==(t=this.markupEl.bounds)&&void 0!==t?t:a.create(r.x,r.y,0,0),this.resizeBounds=this.markupEl.bounds,this.editBegin.emit(),this.acceptInteraction()}}handleInteractionMove(o){var t;if(null!=this.markupEl.bounds&&null!=this.startPosition&&null!=this.elementBounds&&this.pointerId===o.pointerId){const r=y(f(o,this.elementBounds),this.elementBounds);this.markupEl.bounds=C(null!==(t=this.resizeBounds)&&void 0!==t?t:this.markupEl.bounds,this.startPosition,r,this.anchor,o.shiftKey)}}handleInteractionEnd(o){var t,r;this.pointerId===o.pointerId&&(""!==this.markupEl.mode&&null!=this.markupEl.bounds&&(null===(t=this.markupEl.bounds)||void 0===t?void 0:t.width)>0&&(null===(r=this.markupEl.bounds)||void 0===r?void 0:r.height)>0?(this.anchor="bottom-right",this.editEnd.emit()):this.markupEl.bounds=void 0,this.pointerId=void 0)}}const $=({bounds:t,onTopLeftAnchorPointerDown:r,onLeftAnchorPointerDown:e,onTopRightAnchorPointerDown:i,onRightAnchorPointerDown:n,onBottomLeftAnchorPointerDown:s,onBottomAnchorPointerDown:h,onBottomRightAnchorPointerDown:d,onTopAnchorPointerDown:c,onCenterAnchorPointerDown:l})=>{const u=a.pad(t,6),w=a.center(u);return o("div",{class:"bounds-container"},o("div",{class:"bounds-outline",style:{top:`${u.y}px`,left:`${u.x}px`,width:`${u.width}px`,height:`${u.height}px`}}),o(B,{id:"bounding-box-2d-top-left-anchor",name:"top-left-anchor",point:k(u,"top-left"),onPointerDown:r},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-left-anchor",name:"left-anchor",point:k(u,"left"),onPointerDown:e},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-top-right-anchor",name:"top-right-anchor",point:k(u,"top-right"),onPointerDown:i},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-right-anchor",name:"right-anchor",point:k(u,"right"),onPointerDown:n},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-bottom-left-anchor",name:"bottom-left-anchor",point:k(u,"bottom-left"),onPointerDown:s},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-bottom-anchor",name:"bottom-anchor",point:k(u,"bottom"),onPointerDown:h},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-bottom-right-anchor",name:"bottom-right-anchor",point:k(u,"bottom-right"),onPointerDown:d},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-top-anchor",name:"top-anchor",point:k(u,"top"),onPointerDown:c},o("div",{class:g("bounds-default-anchor","bounds-edge-anchor")})),o(B,{id:"bounding-box-2d-center-anchor",name:"center-anchor",point:w,onPointerDown:l},o("div",{class:g("bounds-default-anchor","bounds-center-anchor")})))},j=class{constructor(o){t(this,o),this.editBegin=r(this,"editBegin",7),this.editEnd=r(this,"editEnd",7),this.viewRendered=r(this,"viewRendered",7),this.mode="",this.interactionHandler=new I(this.hostEl,this.editBegin,this.editEnd),this.handleWindowPointerDown=o=>{R(o)&&this.interactionHandler.startInteraction(o)},this.handleTouchStart=o=>{o.preventDefault()}}componentWillLoad(){this.updateViewport(),this.handleViewerChanged(this.viewer),this.updateBoundsFromProps()}componentDidLoad(){this.updateBoundsFromProps(),new ResizeObserver((()=>this.updateViewport())).observe(this.hostEl),"create"===this.mode&&window.addEventListener("pointerdown",this.handleWindowPointerDown)}componentDidRender(){""===this.mode&&this.viewRendered.emit()}disconnectedCallback(){this.dispose()}async dispose(){var o;null===(o=this.registeredHandler)||void 0===o||o.dispose(),this.registeredHandler=void 0,window.removeEventListener("pointerdown",this.handleWindowPointerDown)}async handleViewerChanged(o){var t;null===(t=this.registeredHandler)||void 0===t||t.dispose(),this.registeredHandler=void 0,null!=o&&(this.registeredHandler=await o.registerInteractionHandler(this.interactionHandler))}handleBoundsJsonChange(){this.updateBoundsFromProps()}handleModeChange(){"create"!==this.mode&&window.removeEventListener("pointerdown",this.handleWindowPointerDown)}updateViewport(){const o=n(this.hostEl);this.elementBounds=o}updateBoundsFromProps(){var o;this.bounds=null!==(o=this.bounds)&&void 0!==o?o:v(this.boundsJson)}render(){if(null!=this.bounds&&null!=this.elementBounds){const t=D(this.bounds,this.elementBounds),r=a.center(t);return o(e,null,o("svg",{class:"svg",onTouchStart:this.handleTouchStart},o("defs",null,o(M,{id:"circle-shadow"})),o("g",{filter:"url(#circle-shadow)"},o("ellipse",{class:"ellipse",cx:r.x,cy:r.y,rx:t.width/2,ry:t.height/2,stroke:"#000ff0","stroke-width":4,fill:"none"}))),"edit"===this.mode&&o($,{bounds:t,onTopLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("top-left",o),onTopRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("top-right",o),onTopAnchorPointerDown:o=>this.interactionHandler.editAnchor("top",o),onBottomLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom-left",o),onBottomRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom-right",o),onBottomAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom",o),onLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("left",o),onRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("right",o),onCenterAnchorPointerDown:o=>this.interactionHandler.editAnchor("center",o)}),"create"===this.mode&&o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart}))}return o(e,null,o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart}))}get hostEl(){return i(this)}static get watchers(){return{viewer:["handleViewerChanged"],bounds:["handleBoundsJsonChange"],mode:["handleModeChange"]}}};j.style=":host{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;--viewer-markup-circle-ellipse-stroke-color:var(--red-700);--viewer-markup-circle-ellipse-stroke-width:4;--viewer-markup-circle-ellipse-fill-color:none;--viewer-markup-circle-ellipse-fill-opacity:0;--viewer-markup-circle-bounds-outline-border-color:var(--blue-400);--viewer-markup-circle-bounds-outline-border-width:1px;--viewer-markup-circle-bounds-edge-anchor-border-color:var(--blue-400);--viewer-markup-circle-bounds-edge-anchor-border-width:1px;--viewer-markup-circle-bounds-edge-anchor-background-color:white;--viewer-markup-circle-bounds-center-anchor-border-color:white;--viewer-markup-circle-bounds-center-anchor-border-width:1px;--viewer-markup-circle-bounds-center-anchor-background-color:var(--blue-400);--viewer-markup-circle-bounds-anchor-width:9px;--viewer-markup-circle-bounds-anchor-height:9px}.svg{pointer-events:none;width:100%;height:100%}.create-overlay{pointer-events:auto;position:absolute;left:0;top:0;width:100%;height:100%;cursor:crosshair}.ellipse{pointer-events:auto;stroke:var(--viewer-markup-circle-ellipse-stroke-color);stroke-width:var(--viewer-markup-circle-ellipse-stroke-width);fill:var(--viewer-markup-circle-ellipse-fill-color);fill-opacity:var(--viewer-markup-circle-ellipse-fill-opacity);cursor:default}.bounds-container{pointer-events:none;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden}.bounds-outline{position:absolute;border-width:var(--viewer-markup-circle-bounds-outline-border-width);border-color:var(--viewer-markup-circle-bounds-outline-border-color);border-style:solid;box-shadow:0 0 3px rgba(0, 0, 0, 0.3)}.bounds-anchor-position{position:absolute;transform:translate(-50%, -50%)}.bounds-anchor{pointer-events:auto;cursor:default;user-select:none}.bounds-default-anchor{width:var(--viewer-markup-circle-bounds-anchor-width);height:var(--viewer-markup-circle-bounds-anchor-height);box-sizing:border-box;box-shadow:0 0 2px rgba(0, 0, 0, 0.3)}.bounds-center-anchor{border-radius:100%;border-width:var(--viewer-markup-circle-bounds-center-anchor-border-width);border-color:var(--viewer-markup-circle-bounds-center-anchor-border-color);border-style:solid;background-color:var(--viewer-markup-circle-bounds-center-anchor-background-color)}.bounds-edge-anchor{border-width:var(--viewer-markup-circle-bounds-edge-anchor-border-width);border-color:var(--viewer-markup-circle-bounds-edge-anchor-border-color);border-style:solid;background-color:var(--viewer-markup-circle-bounds-edge-anchor-background-color)}";class V extends T{constructor(o,t,r){super(),this.markupEl=o,this.editBegin=t,this.editEnd=r,this.anchor="bottom-right",this.handleResizeInteractionMove=o=>{if(null!=this.resizeStartPosition&&null!=this.elementBounds&&null!=this.resizeBounds&&null!=this.resizePoints){const e=y(f(o,this.elementBounds),this.elementBounds),i=C(this.resizeBounds,this.resizeStartPosition,e,this.anchor,o.shiftKey);this.markupEl.points=(t=this.resizeBounds,r=i,this.resizePoints.map((o=>s.add(s.scale(s.subtract(o,t),r.width/(t.width||1),r.height/(t.height||1)),r)))),this.markupEl.bounds=i}var t,r},this.handleResizeInteractionEnd=()=>{window.removeEventListener("pointermove",this.handleResizeInteractionMove),window.removeEventListener("pointerup",this.handleResizeInteractionEnd),this.resizeBounds=void 0,this.editEnd.emit()}}editAnchor(o,t){"edit"===this.markupEl.mode&&null!=this.elementBounds&&(this.resizeBounds=this.markupEl.bounds,this.resizePoints=this.markupEl.points,this.anchor=o,this.resizeStartPosition=y(f(t,this.elementBounds),this.elementBounds),window.addEventListener("pointermove",this.handleResizeInteractionMove),window.addEventListener("pointerup",this.handleResizeInteractionEnd))}startInteraction(o){this.handleInteractionAttempt(o)}computeBoundingRect(){return n(this.markupEl)}handleInteractionAttempt(o){var t;if(""!==this.markupEl.mode&&null==this.pointerId&&null!=this.elementBounds){this.pointerId=o.pointerId;const r=y(f(o,this.elementBounds),this.elementBounds);this.updateMinAndMax(r),this.markupEl.points=null!==(t=this.markupEl.points)&&void 0!==t?t:[r],this.editBegin.emit(),this.acceptInteraction()}}handleInteractionMove(o){if(this.pointerId===o.pointerId&&null!=this.markupEl.points&&null!=this.elementBounds){const t=y(f(o,this.elementBounds),this.elementBounds);this.updateMinAndMax(t),this.markupEl.points=[...this.markupEl.points,t]}}handleInteractionEnd(o){if(this.pointerId===o.pointerId){if(""!==this.markupEl.mode&&null!=this.markupEl.points&&this.markupEl.points.length>2&&null!=this.elementBounds){const t=y(f(o,this.elementBounds),this.elementBounds);this.updateMinAndMax(t),this.markupEl.points=[...this.markupEl.points,t],this.editEnd.emit()}else this.markupEl.points=void 0;this.min=void 0,this.max=void 0,this.pointerId=void 0}}updateMinAndMax(o){this.min=null!=this.min?s.create(Math.min(this.min.x,o.x),Math.min(this.min.y,o.y)):o,this.max=null!=this.max?s.create(Math.max(this.max.x,o.x),Math.max(this.max.y,o.y)):o,this.markupEl.bounds=a.create(this.min.x,this.min.y,this.max.x-this.min.x,this.max.y-this.min.y)}}const _=class{constructor(o){t(this,o),this.editBegin=r(this,"editBegin",7),this.editEnd=r(this,"editEnd",7),this.viewRendered=r(this,"viewRendered",7),this.mode="",this.screenPoints=[],this.interactionHandler=new V(this.hostEl,this.editBegin,this.editEnd),this.handleWindowPointerDown=o=>{R(o)&&this.interactionHandler.startInteraction(o)},this.handleTouchStart=o=>{o.preventDefault()}}componentWillLoad(){this.updateViewport(),this.handleViewerChanged(this.viewer),this.updatePointsFromProps()}componentDidLoad(){new ResizeObserver((()=>this.updateViewport())).observe(this.hostEl),"create"===this.mode&&window.addEventListener("pointerdown",this.handleWindowPointerDown)}componentDidRender(){""===this.mode&&this.viewRendered.emit()}disconnectedCallback(){this.dispose()}async dispose(){var o;null===(o=this.registeredInteraction)||void 0===o||o.dispose(),this.registeredInteraction=void 0,window.removeEventListener("pointerdown",this.handleWindowPointerDown)}async handleViewerChanged(o){var t;null===(t=this.registeredInteraction)||void 0===t||t.dispose(),this.registeredInteraction=void 0,null!=o&&(this.registeredInteraction=await o.registerInteractionHandler(this.interactionHandler))}handlePointsChange(){this.updatePointsFromProps()}handleBoundsChange(){this.updatePointsFromProps()}handleModeChange(){"create"!==this.mode&&window.removeEventListener("pointerdown",this.handleWindowPointerDown)}updateViewport(){var o;const t=n(this.hostEl);this.elementBounds=t,this.screenPoints=null!==(o=this.convertPointsToScreen())&&void 0!==o?o:this.screenPoints}updatePointsFromProps(){var o,t,r;this.points=null!==(o=this.points)&&void 0!==o?o:m(this.pointsJson),this.screenPoints=null!==(t=this.convertPointsToScreen())&&void 0!==t?t:[],this.bounds=null!==(r=this.bounds)&&void 0!==r?r:v(this.boundsJson)}render(){return this.screenPoints.length>0&&null!=this.elementBounds?o(e,null,o("svg",{class:"svg",onTouchStart:this.handleTouchStart},o("defs",null,o(M,{id:"freeform-markup-shadow"})),o("g",{filter:"url(#freeform-markup-shadow)"},o("path",{class:"path",d:this.screenPoints.reduce(((o,t)=>`${o}L${t.x},${t.y}`),`M${this.screenPoints[0].x},${this.screenPoints[0].y}`),fill:"none"}))),"edit"===this.mode&&null!=this.bounds&&o($,{bounds:D(this.bounds,this.elementBounds),onTopLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("top-left",o),onTopRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("top-right",o),onTopAnchorPointerDown:o=>this.interactionHandler.editAnchor("top",o),onBottomLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom-left",o),onBottomRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom-right",o),onBottomAnchorPointerDown:o=>this.interactionHandler.editAnchor("bottom",o),onLeftAnchorPointerDown:o=>this.interactionHandler.editAnchor("left",o),onRightAnchorPointerDown:o=>this.interactionHandler.editAnchor("right",o),onCenterAnchorPointerDown:o=>this.interactionHandler.editAnchor("center",o)}),"create"===this.mode&&o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart})):o(e,null,o("div",{class:"create-overlay",onTouchStart:this.handleTouchStart}))}convertPointsToScreen(){var o;const t=this.elementBounds;if(null!=t)return null===(o=this.points)||void 0===o?void 0:o.map((o=>x(o,t)))}get hostEl(){return i(this)}static get watchers(){return{viewer:["handleViewerChanged"],points:["handlePointsChange"],bounds:["handleBoundsChange"],mode:["handleModeChange"]}}};_.style=":host{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;--viewer-markup-freeform-stroke-color:var(--red-800);--viewer-markup-freeform-stroke-width:4;--viewer-markup-freeform-line-join:round;--viewer-markup-freeform-line-cap:round;--viewer-markup-freeform-bounds-outline-border-color:var(--blue-400);--viewer-markup-freeform-bounds-outline-border-width:1px;--viewer-markup-freeform-bounds-edge-anchor-border-color:var(--blue-400);--viewer-markup-freeform-bounds-edge-anchor-border-width:1px;--viewer-markup-freeform-bounds-edge-anchor-background-color:white;--viewer-markup-freeform-bounds-center-anchor-border-color:white;--viewer-markup-freeform-bounds-center-anchor-border-width:1px;--viewer-markup-freeform-bounds-center-anchor-background-color:var(--blue-400);--viewer-markup-freeform-bounds-anchor-width:9px;--viewer-markup-freeform-bounds-anchor-height:9px}.svg{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.path{pointer-events:auto;cursor:default;stroke:var(--viewer-markup-freeform-stroke-color);stroke-width:var(--viewer-markup-freeform-stroke-width);stroke-linejoin:var(--viewer-markup-freeform-line-join);stroke-linecap:var(--viewer-markup-freeform-line-cap)}.create-overlay{pointer-events:auto;position:absolute;left:0;top:0;width:100%;height:100%;cursor:crosshair}.bounds-container{pointer-events:none;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden}.bounds-outline{position:absolute;border-width:var(--viewer-markup-freeform-bounds-outline-border-width);border-color:var(--viewer-markup-freeform-bounds-outline-border-color);border-style:solid;box-shadow:0 0 3px rgba(0, 0, 0, 0.3)}.bounds-anchor-position{position:absolute;transform:translate(-50%, -50%)}.bounds-anchor{pointer-events:auto;cursor:default;user-select:none}.bounds-default-anchor{width:var(--viewer-markup-freeform-bounds-anchor-width);height:var(--viewer-markup-freeform-bounds-anchor-height);box-sizing:border-box;box-shadow:0 0 2px rgba(0, 0, 0, 0.3)}.bounds-center-anchor{border-radius:100%;border-width:var(--viewer-markup-freeform-bounds-center-anchor-border-width);border-color:var(--viewer-markup-freeform-bounds-center-anchor-border-color);border-style:solid;background-color:var(--viewer-markup-freeform-bounds-center-anchor-background-color)}.bounds-edge-anchor{border-width:var(--viewer-markup-freeform-bounds-edge-anchor-border-width);border-color:var(--viewer-markup-freeform-bounds-edge-anchor-border-color);border-style:solid;background-color:var(--viewer-markup-freeform-bounds-edge-anchor-background-color)}";export{E as vertex_viewer_markup_arrow,j as vertex_viewer_markup_circle,_ as vertex_viewer_markup_freeform}
@@ -0,0 +1,4 @@
1
+ /**!
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
+ */
4
+ import{r as i,h as t,H as s,g as o}from"./p-d6fce4c1.js";import{t as n,P as l,a as e}from"./p-e23af70c.js";import{p as h}from"./p-d216a866.js";import{b as r}from"./p-fc7d8c03.js";import{l as a,p as d}from"./p-1812c82d.js";import{g as v}from"./p-42760392.js";import{E as u}from"./p-a380f0c2.js";import{E as c}from"./p-df8fbe56.js";import{g as p}from"./p-5809b400.js";class w{constructor(i,t,s){this.rectObserver=new u,this.droppableSurfaces=[c.PRECISE_SURFACE,c.IMPRECISE_SURFACE,c.GENERIC_GEOMETRY],this.handlePointerMove=async i=>{const t=await this.isDroppableSurface(i),s=this.controller.getDraggable();null!=s&&t&&this.handleDrag(s,i),null==this.controller.getDraggable()&&"edit"===this.controller.getToolMode()&&t?this.addCursor(this.getCursorType()):this.clearCursor()},this.handleDrag=async(i,t)=>{const s=v(t,this.elementRect),o=await this.getWorldPositionForPoint(s);null!=o&&this.controller.updateDraggable(Object.assign(Object.assign({},i),{lastPoint:s}),o)},this.handlePointerDown=async i=>{const t=t=>{if(h.distance(h.create(i.clientX,t.clientY),h.create(t.clientX,t.clientY))<=2&&2!==i.buttons&&"edit"===this.controller.getToolMode()){const t=v(i,this.elementRect);this.handlePlacePin(t)}s()},s=()=>{window.removeEventListener("pointerup",t)};return window.addEventListener("pointerup",t),{dispose:s}},this.handlePointerUp=async()=>{const i=this.controller.getDraggable(),t=null==i?void 0:i.lastPoint;this.controller.setDraggable(void 0),null!=t&&null!=i&&this.ifInitialized((async({api:s})=>{var o,n,l,e,h,r;const[a]=await s.hitItems(t);null!=(null==a?void 0:a.hitPoint)&&null!=(null===(o=null==a?void 0:a.hitPoint)||void 0===o?void 0:o.x)&&null!=(null===(n=null==a?void 0:a.hitPoint)||void 0===n?void 0:n.y)&&null!=(null===(l=null==a?void 0:a.hitPoint)||void 0===l?void 0:l.z)&&this.controller.updateDraggable(Object.assign(Object.assign({},i),{lastPoint:t}),{x:null===(e=null==a?void 0:a.hitPoint)||void 0===e?void 0:e.x,y:null==a?void 0:a.hitPoint.y,z:null==a?void 0:a.hitPoint.z},null!==(r=null===(h=null==a?void 0:a.partId)||void 0===h?void 0:h.hex)&&void 0!==r?r:void 0)}))},this.controller=i,this.xOffset=t,this.yOffset=s}get elementRect(){return this.rectObserver.rect}initialize(i,t){this.element=i,this.api=t,this.rectObserver.observe(i),i.addEventListener("pointermove",this.handlePointerMove),i.addEventListener("pointerdown",this.handlePointerDown),window.addEventListener("pointerup",this.handlePointerUp)}dispose(){var i,t;this.rectObserver.disconnect(),this.clearCursor(),null===(i=this.element)||void 0===i||i.removeEventListener("pointermove",this.handlePointerMove),null===(t=this.element)||void 0===t||t.removeEventListener("pointerdown",this.handlePointerDown),window.removeEventListener("pointerup",this.handlePointerUp),this.element=void 0,this.api=void 0}async getWorldPositionForPoint(i){return this.ifInitialized((async({api:t})=>await t.getWorldPointFromViewport(i)))}async handlePlacePin(i,t){this.ifInitialized((async({api:s})=>{var o,l,e,h,a,d;const[v]=await s.hitItems(i);if(null!=(null==v?void 0:v.hitPoint)&&null!=this.elementRect){if(null!=(null==v?void 0:v.hitPoint)&&null!=(null==v?void 0:v.hitPoint.x)&&null!=(null==v?void 0:v.hitPoint.y)&&null!=(null==v?void 0:v.hitPoint.z)){const s=null!=t?t.id:r.create(),u=null!=this.controller.getStyleAttributes()?{style:this.controller.getStyleAttributes()}:void 0;switch(this.controller.getToolType()){case"pin-icon":this.controller.setPin({type:"icon",id:s,worldPosition:{x:null===(o=null==v?void 0:v.hitPoint)||void 0===o?void 0:o.x,y:null==v?void 0:v.hitPoint.y,z:null==v?void 0:v.hitPoint.z},partId:null!==(e=null===(l=null==v?void 0:v.itemId)||void 0===l?void 0:l.hex)&&void 0!==e?e:void 0,attributes:u});break;case"pin-text":const r=n(i,this.elementRect,null==t,this.xOffset,this.yOffset);this.controller.setPin({type:"text",id:s,worldPosition:{x:null===(h=null==v?void 0:v.hitPoint)||void 0===h?void 0:h.x,y:null==v?void 0:v.hitPoint.y,z:null==v?void 0:v.hitPoint.z},partId:null!==(d=null===(a=null==v?void 0:v.itemId)||void 0===a?void 0:a.hex)&&void 0!==d?d:void 0,label:{point:r},attributes:u}),this.controller.setSelectedPinId(s)}}}else this.controller.setSelectedPinId()}))}getCursorType(){switch(this.controller.getToolType()){case"pin-icon":return d;case"pin-text":return a}}addCursor(i){this.clearCursor(),this.cursor=this.ifInitialized((({api:t})=>t.addCursor(i)))}async isDroppableSurface(i){var t;const s=v(i,this.elementRect),o=await(null===(t=this.api)||void 0===t?void 0:t.getEntityTypeAtPoint(s));return null!=o&&this.droppableSurfaces.includes(o)}ifInitialized(i){if(null!=this.element&&null!=this.api)return i({element:this.element,api:this.api});throw new Error("Pins interaction handler not initialized.")}clearCursor(){var i;null===(i=this.cursor)||void 0===i||i.dispose(),this.cursor=void 0}}const m=class{constructor(t){i(this,t),this.pinModel=new l,this.tool="pin-icon",this.mode="view",this.pins=[],this.handleSetProjectionMatrix=()=>{var i,t;this.projectionViewMatrix=null===(t=null===(i=this.viewer)||void 0===i?void 0:i.frame)||void 0===t?void 0:t.scene.camera.projectionViewMatrix}}watchModeChange(){var i;null===(i=this.pinController)||void 0===i||i.setToolMode(this.mode),this.setupInteractionHandler()}watchTypeChange(){var i;null===(i=this.pinController)||void 0===i||i.setToolType(this.tool),this.setupInteractionHandler()}watchAccentColorChange(){var i;null===(i=this.pinController)||void 0===i||i.setAccentColor(this.accentColor),this.setupInteractionHandler()}watchPrimaryColorChange(){var i;null===(i=this.pinController)||void 0===i||i.setPrimaryColor(this.primaryColor),this.setupInteractionHandler()}connectedCallback(){this.setupInteractionHandler()}componentWillLoad(){this.updateViewport(),this.setupController(),this.setupInteractionHandler(),this.pinModel.onEntitiesChanged((i=>{this.pins=i})),this.pinModel.onSelectionChange((i=>{this.selectedPinId=i})),this.handleViewerChanged(this.viewer,void 0)}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.updateViewport())),this.resizeObserver.observe(this.hostEl)}disconnectedCallback(){this.clearInteractionHandler(),this.clearModelListeners()}handleViewerChanged(i,t){this.setupInteractionHandler(),null!=t&&t.removeEventListener("frameDrawn",this.handleSetProjectionMatrix),null!=i&&i.addEventListener("frameDrawn",this.handleSetProjectionMatrix),this.handleSetProjectionMatrix()}render(){return t(s,null,t("vertex-viewer-dom-renderer",{viewer:this.viewer,drawMode:"2d"},this.pins.map((i=>t("vertex-viewer-pin-group",{id:`pin-group-${i.id}`,"data-is-dom-group-element":!0,pin:i,elementBounds:this.elementBounds,pinModel:this.pinModel,pinController:this.pinController,projectionViewMatrix:this.projectionViewMatrix,selected:this.selectedPinId===i.id})))))}setupController(){this.pinController=new e(this.pinModel,this.mode,this.tool,this.accentColor||this.primaryColor?{accentColor:this.accentColor,primaryColor:this.primaryColor}:void 0)}clearInteractionHandler(){var i;null===(i=this.registeredInteractionHandler)||void 0===i||i.then((i=>i.dispose())),this.registeredInteractionHandler=void 0}setupInteractionHandler(){var i;const t=window.getComputedStyle(this.hostEl),s=t.getPropertyValue("--viewer-pin-tool-initial-label-offset-x").trim(),o=t.getPropertyValue("--viewer-pin-tool-initial-label-offset-y").trim();this.clearInteractionHandler(),null!=this.pinController&&(this.registeredInteractionHandler=null===(i=this.viewer)||void 0===i?void 0:i.registerInteractionHandler(new w(this.pinController,parseInt(s),parseInt(o))))}clearModelListeners(){var i,t;null===(i=this.onEntitiesChangedHandler)||void 0===i||i.dispose(),this.onEntitiesChangedHandler=void 0,null===(t=this.resizeObserver)||void 0===t||t.disconnect()}updateViewport(){const i=p(this.hostEl);this.elementBounds=i}get hostEl(){return o(this)}static get watchers(){return{mode:["watchModeChange"],tool:["watchTypeChange"],accentColor:["watchAccentColorChange"],primaryColor:["watchPrimaryColorChange"],viewer:["handleViewerChanged"]}}};m.style=":host{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none;--viewer-pin-tool-initial-label-offset-x:20;--viewer-pin-tool-initial-label-offset-y:20}";export{m as vertex_viewer_pin_tool}
@@ -1,4 +1,4 @@
1
1
  /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{v as t}from"./p-70e5e8a8.js";import{E as s,b as e}from"./p-65af7a89.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(),i={type:"line",id:r,start:t,end:s,dispose:()=>this.remove(r)};return this.addOverlay(i),i}addDistanceVectorFromResult(t){return this.addDistanceVector(t.point1,t.point2)}addDistanceVector(s,r){const i=e.create(),a=t.subtract(s,r),n=t.add(s,t.create(0,-a.y,0)),d={start:s,end:n},h=t.add(n,t.create(0,0,-a.z)),o={start:n,end:h},c=t.add(h,t.create(-a.x,0,0)),p={type:"distance-vector",id:i,x:{start:h,end:c},y:d,z:o,dispose:()=>this.remove(i)};return this.addOverlay(p),p}addOverlay(t){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){return!!this.overlays.has(t)&&(this.overlays.delete(t),this.overlaysChanged.emit(this.getOverlays()),!0)}onOverlaysChanged(t){return this.overlaysChanged.on(t)}}export{r as M}
4
+ import{v as t}from"./p-d216a866.js";import{E as s,b as e}from"./p-fc7d8c03.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(),i={type:"line",id:r,start:t,end:s,dispose:()=>this.remove(r)};return this.addOverlay(i),i}addDistanceVectorFromResult(t){return this.addDistanceVector(t.point1,t.point2)}addDistanceVector(s,r){const i=e.create(),a=t.subtract(s,r),n=t.add(s,t.create(0,-a.y,0)),d={start:s,end:n},h=t.add(n,t.create(0,0,-a.z)),o={start:n,end:h},c=t.add(h,t.create(-a.x,0,0)),p={type:"distance-vector",id:i,x:{start:h,end:c},y:d,z:o,dispose:()=>this.remove(i)};return this.addOverlay(p),p}addOverlay(t){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){return!!this.overlays.has(t)&&(this.overlays.delete(t),this.overlaysChanged.emit(this.getOverlays()),!0)}onOverlaysChanged(t){return this.overlaysChanged.on(t)}}export{r as M}
@@ -0,0 +1,4 @@
1
+ /**!
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
+ */
4
+ import{r as t,h as e,H as i}from"./p-d6fce4c1.js";import{s}from"./p-51401063.js";import{g as n}from"./p-92fe4417.js";import{p as r}from"./p-2b60a8b0.js";import{a as o,M as a}from"./p-cf689bbd.js";import"./p-6072cf84.js";import{M as h}from"./p-acfc5c50.js";import{M as l}from"./p-283aeac4.js";import{p as d}from"./p-d216a866.js";import{a as p}from"./p-1812c82d.js";import{g as u}from"./p-42760392.js";import{E as c}from"./p-a380f0c2.js";import{E as m}from"./p-df8fbe56.js";import"./p-dfe5a97d.js";import"./p-fc7d8c03.js";import"./p-32cc2209.js";var v=n.grpc,f=function(){function t(){}return t.serviceName="vertexvis.protobuf.sceneview.v1.SceneViewAPI",t}();function w(t,e){this.serviceHost=t,this.options=e||{}}f.UpdateModelEntities={methodName:"UpdateModelEntities",service:f,requestStream:!1,responseStream:!1,requestType:s.UpdateModelEntitiesRequest,responseType:s.UpdateModelEntitiesResponse},f.Measure={methodName:"Measure",service:f,requestStream:!1,responseStream:!1,requestType:s.MeasureRequest,responseType:s.MeasureResponse},w.prototype.updateModelEntities=function(t,e,i){2===arguments.length&&(i=arguments[1]);var s=v.unary(f.UpdateModelEntities,{request:t,host:this.serviceHost,metadata:e,transport:this.options.transport,debug:this.options.debug,onEnd:function(t){if(i)if(t.status!==v.Code.OK){var e=new Error(t.statusMessage);e.code=t.status,e.metadata=t.trailers,i(e,null)}else i(null,t.message)}});return{cancel:function(){i=null,s.close()}}},w.prototype.measure=function(t,e,i){2===arguments.length&&(i=arguments[1]);var s=v.unary(f.Measure,{request:t,host:this.serviceHost,metadata:e,transport:this.options.transport,debug:this.options.debug,onEnd:function(t){if(i)if(t.status!==v.Code.OK){var e=new Error(t.statusMessage);e.code=t.status,e.metadata=t.trailers,i(e,null)}else i(null,t.message)}});return{cancel:function(){i=null,s.close()}}};var y=w;class b{constructor(t,e){this.rectObserver=new c,this.handlePointerMove=async t=>{await this.isMeasurableEntityUnderPointer(t)?(this.clearCursor(),this.addCursor(p)):this.clearCursor()},this.handlePointerDown=t=>{this.ifNoInteraction(t,(async()=>{await this.isMeasurableEntityUnderPointer(t)?this.measureEntityUnderPointer(t):this.controller.clearEntities()}))},this.controller=t,this.measurableEntityTypes=e}get elementRect(){return this.rectObserver.rect}initialize(t,e){this.element=t,this.api=e,this.rectObserver.observe(t),t.addEventListener("pointermove",this.handlePointerMove),t.addEventListener("pointerdown",this.handlePointerDown)}dispose(){var t,e,i;this.rectObserver.disconnect(),null===(t=this.measurementInteraction)||void 0===t||t.dispose(),this.clearCursor(),null===(e=this.element)||void 0===e||e.removeEventListener("pointermove",this.handlePointerMove),null===(i=this.element)||void 0===i||i.removeEventListener("pointerdown",this.handlePointerDown),this.element=void 0,this.api=void 0}addCursor(t){this.cursor=this.ifInitialized((({api:e})=>e.addCursor(t)))}clearCursor(){var t;null===(t=this.cursor)||void 0===t||t.dispose(),this.cursor=void 0}async isMeasurableEntityUnderPointer(t){var e;const i=u(t,this.elementRect),s=await(null===(e=this.api)||void 0===e?void 0:e.getEntityTypeAtPoint(i));return null!=s&&this.measurableEntityTypes.includes(s)}measureEntityUnderPointer(t){this.ifInitialized((async({api:e})=>{const i=u(t,this.elementRect),[s]=await e.hitItems(i);null!=s?this.controller.addEntity(o.fromHit(s)):this.controller.clearEntities()}))}ifInitialized(t){if(null!=this.element&&null!=this.api)return t({element:this.element,api:this.api});throw new Error("Measurement interaction handler not initialized.")}ifNoInteraction(t,e){const i=d.create(t.clientX,t.clientY);let s=!1;const n=t=>{const e=d.create(t.clientX,t.clientY),n=d.distance(i,e);s=n>2},r=()=>{window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",r),s||e()};window.addEventListener("pointermove",n),window.addEventListener("pointerup",r)}}const j=class{constructor(e){t(this,e),this.measurementModel=new h,this.measurementOverlays=new l,this.measurableEntityTypes=[m.PRECISE_SURFACE,m.IMPRECISE_SURFACE],this.configEnv="platprod"}connectedCallback(){this.setupInteractionHandler()}componentWillLoad(){this.setupController(),this.setupInteractionHandler()}disconnectedCallback(){this.clearInteractionHandler()}handleMeasurableEntityTypesChanged(){this.setupInteractionHandler()}handleMeasurementControllerChanged(){this.setupInteractionHandler()}handleMeasurementModelChanged(){this.setupController()}handleViewerChanged(){this.setupInteractionHandler()}render(){return e(i,null,e("vertex-viewer-measurement-overlays",{viewer:this.viewer,measurementOverlays:this.measurementOverlays}))}setupController(){var t;const e=r(this.configEnv,this.config),i=new y(e.network.sceneViewHost);this.measurementController=new a(this.measurementModel,i,(()=>{var t;return null===(t=this.viewer)||void 0===t?void 0:t.token}),null===(t=this.viewer)||void 0===t?void 0:t.deviceId)}clearInteractionHandler(){var t;null===(t=this.registeredInteractionHandler)||void 0===t||t.then((t=>t.dispose())),this.registeredInteractionHandler=void 0}setupInteractionHandler(){var t;this.clearInteractionHandler(),null!=this.measurementController&&(this.registeredInteractionHandler=null===(t=this.viewer)||void 0===t?void 0:t.registerInteractionHandler(new b(this.measurementController,this.measurableEntityTypes)))}static get watchers(){return{measurableEntityTypes:["handleMeasurableEntityTypesChanged"],measurementController:["handleMeasurementControllerChanged"],measurementModel:["handleMeasurementModelChanged"],viewer:["handleViewerChanged"]}}};j.style=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}";export{j as vertex_viewer_measurement_precise}