@vertexvis/viewer 0.12.0 → 0.13.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/cjs/{config-acd7cea9.js → config-90ee43d5.js} +1 -1
  2. package/dist/cjs/{cursors-399a9648.js → cursors-ad2fd395.js} +7 -0
  3. package/dist/cjs/{controller-8cbcdd8d.js → entities-aa59890e.js} +57 -22
  4. package/dist/cjs/{index-cc65325e.js → index-e100709a.js} +64 -3
  5. package/dist/cjs/index.cjs.js +21 -11
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/{model-18ef3363.js → mapper-f6e6cafe.js} +37 -191
  8. package/dist/cjs/model-4ec0c36e.js +134 -0
  9. package/dist/cjs/overlays-8a582edf.js +76 -0
  10. package/dist/cjs/results-bc325974.js +24 -0
  11. package/dist/cjs/{scene-ffee07ee.js → scene-f4040800.js} +1 -1
  12. package/dist/cjs/{stencil-bd453a38.js → stencil-a664cd10.js} +1 -1
  13. package/dist/cjs/{streamAttributes-9d6226ac.js → streamAttributes-d6236448.js} +87 -30
  14. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +2 -2
  15. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
  16. package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
  17. package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
  18. package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
  19. package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
  20. package/dist/cjs/vertex-scene-tree.cjs.entry.js +3 -3
  21. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
  22. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
  23. package/dist/cjs/vertex-viewer-dom-element_3.cjs.entry.js +4 -4
  24. package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
  25. package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
  26. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
  27. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
  28. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
  29. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +221 -75
  30. package/dist/cjs/{vertex-viewer-measurement-distance_2.cjs.entry.js → vertex-viewer-measurement-distance.cjs.entry.js} +30 -69
  31. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +170 -0
  32. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +163 -55
  33. package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +2 -2
  34. package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +33 -4
  35. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +4 -4
  36. package/dist/cjs/vertex-viewer.cjs.entry.js +58 -10
  37. package/dist/cjs/viewer.cjs.js +2 -2
  38. package/dist/cjs/{viewport-51aa05ab.js → viewport-8c39089f.js} +11 -0
  39. package/dist/collection/collection-manifest.json +1 -0
  40. package/dist/collection/components/viewer/viewer.js +2 -2
  41. package/dist/collection/components/viewer-dom-renderer/viewer-dom-renderer.js +2 -2
  42. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-entry.js +14 -0
  43. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details-results.js +22 -0
  44. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.css +3 -10
  45. package/dist/collection/components/viewer-measurement-details/viewer-measurement-details.js +125 -188
  46. package/dist/collection/components/viewer-measurement-distance/interactions.js +3 -14
  47. package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js +41 -1
  48. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays-components.js +30 -0
  49. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.css +51 -0
  50. package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js +149 -0
  51. package/dist/collection/components/viewer-measurement-precise/viewer-measurement-precise.js +118 -26
  52. package/dist/collection/components/viewer-measurements/viewer-measurements.js +67 -2
  53. package/dist/collection/components/viewer-view-cube/viewer-view-cube.css +21 -3
  54. package/dist/collection/index.js +2 -2
  55. package/dist/collection/lib/cursors.js +7 -1
  56. package/dist/collection/lib/elementRectObserver.js +19 -0
  57. package/dist/collection/lib/interactions/interactionApi.js +53 -4
  58. package/dist/collection/lib/mappers/frameStreaming.js +2 -4
  59. package/dist/collection/lib/measurement/controller.js +21 -17
  60. package/dist/collection/lib/measurement/entities.js +34 -0
  61. package/dist/collection/lib/measurement/index.js +4 -2
  62. package/dist/collection/lib/measurement/interactions.js +74 -28
  63. package/dist/collection/lib/measurement/mapper.js +5 -5
  64. package/dist/collection/lib/measurement/model.js +24 -85
  65. package/dist/collection/lib/measurement/outcomes.js +2 -0
  66. package/dist/collection/lib/measurement/overlays.js +69 -0
  67. package/dist/collection/lib/measurement/results.js +17 -0
  68. package/dist/collection/lib/types/entities.js +5 -1
  69. package/dist/collection/lib/types/featureMap.js +14 -5
  70. package/dist/collection/lib/types/frame.js +3 -3
  71. package/dist/collection/lib/types/measurementUnits.js +7 -7
  72. package/dist/collection/lib/types/viewport.js +12 -1
  73. package/dist/collection/testing/eventually.js +30 -0
  74. package/dist/collection/testing/fixtures.js +11 -4
  75. package/dist/collection/testing/index.js +2 -1
  76. package/dist/custom-elements/index.d.ts +6 -0
  77. package/dist/custom-elements/index.js +851 -287
  78. package/dist/esm/{browser.esm-e6827921.js → browser.esm-59e914f6.js} +1 -1
  79. package/dist/esm/{bundle.esm-8f14ac60.js → bundle.esm-d899b2d5.js} +1 -1
  80. package/dist/esm/{config-a200c227.js → config-604c644e.js} +2 -2
  81. package/dist/esm/{cursors-5157d29d.js → cursors-a7ec4adb.js} +8 -2
  82. package/dist/esm/{dom-2d6a1e1e.js → dom-780d25be.js} +1 -1
  83. package/dist/esm/{controller-a756cf9c.js → entities-759d97cd.js} +52 -18
  84. package/dist/esm/{index-f0053642.js → index-10c1495a.js} +64 -3
  85. package/dist/esm/index.js +13 -11
  86. package/dist/esm/index.mjs +13 -11
  87. package/dist/esm/loader.js +2 -2
  88. package/dist/esm/loader.mjs +2 -2
  89. package/dist/esm/{model-f711a825.js → mapper-4b815e31.js} +37 -190
  90. package/dist/esm/{markup-e46623b3.js → markup-1d177b4a.js} +2 -2
  91. package/dist/esm/{measurement-702d6b8c.js → measurement-12cdbf5c.js} +2 -2
  92. package/dist/esm/model-e5a4f00f.js +132 -0
  93. package/dist/esm/overlays-dbe5d652.js +74 -0
  94. package/dist/esm/{png-decoder-59a0e9c2.js → png-decoder-3f1fa486.js} +1 -1
  95. package/dist/esm/results-994bdb50.js +22 -0
  96. package/dist/esm/{scene-16490983.js → scene-9ac8a484.js} +3 -3
  97. package/dist/esm/{stencil-7d04d41a.js → stencil-9bf7fb9e.js} +1 -1
  98. package/dist/esm/{streamAttributes-7aa486b2.js → streamAttributes-d623bb60.js} +77 -20
  99. package/dist/esm/{utils-8070900a.js → utils-01e4f587.js} +1 -1
  100. package/dist/esm/{utils-953a1619.js → utils-5e57bf24.js} +1 -1
  101. package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
  102. package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
  103. package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
  104. package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
  105. package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
  106. package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
  107. package/dist/esm/vertex-scene-tree.entry.js +5 -5
  108. package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
  109. package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
  110. package/dist/esm/vertex-viewer-dom-element_3.entry.js +6 -6
  111. package/dist/esm/vertex-viewer-icon.entry.js +1 -1
  112. package/dist/esm/vertex-viewer-layer.entry.js +1 -1
  113. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
  114. package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
  115. package/dist/esm/vertex-viewer-markup.entry.js +5 -5
  116. package/dist/esm/vertex-viewer-measurement-details.entry.js +221 -75
  117. package/dist/esm/{vertex-viewer-measurement-distance_2.entry.js → vertex-viewer-measurement-distance.entry.js} +35 -73
  118. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +165 -0
  119. package/dist/esm/vertex-viewer-measurement-precise.entry.js +160 -52
  120. package/dist/esm/vertex-viewer-measurement-tool.entry.js +6 -6
  121. package/dist/esm/vertex-viewer-measurements.entry.js +36 -7
  122. package/dist/esm/vertex-viewer-view-cube.entry.js +6 -6
  123. package/dist/esm/vertex-viewer.entry.js +61 -13
  124. package/dist/esm/viewer.js +2 -2
  125. package/dist/esm/{viewport-bb7c46d9.js → viewport-01c886ea.js} +12 -1
  126. package/dist/types/components/viewer-dom-renderer/viewer-dom-renderer.d.ts +1 -1
  127. package/dist/types/components/viewer-measurement-details/viewer-measurement-details-entry.d.ts +8 -0
  128. package/dist/types/components/viewer-measurement-details/viewer-measurement-details-results.d.ts +15 -0
  129. package/dist/types/components/viewer-measurement-details/viewer-measurement-details.d.ts +44 -42
  130. package/dist/types/components/viewer-measurement-distance/interactions.d.ts +23 -1
  131. package/dist/types/components/viewer-measurement-distance/viewer-measurement-distance.d.ts +8 -0
  132. package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays-components.d.ts +10 -0
  133. package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays.d.ts +41 -0
  134. package/dist/types/components/viewer-measurement-precise/viewer-measurement-precise.d.ts +62 -6
  135. package/dist/types/components/viewer-measurements/viewer-measurements.d.ts +12 -0
  136. package/dist/types/components.d.ts +103 -40
  137. package/dist/types/index.d.ts +1 -1
  138. package/dist/types/lib/cursors.d.ts +5 -0
  139. package/dist/types/lib/elementRectObserver.d.ts +8 -0
  140. package/dist/types/lib/interactions/interactionApi.d.ts +32 -5
  141. package/dist/types/lib/measurement/controller.d.ts +8 -7
  142. package/dist/types/lib/measurement/entities.d.ts +10 -0
  143. package/dist/types/lib/measurement/index.d.ts +3 -1
  144. package/dist/types/lib/measurement/interactions.d.ts +19 -5
  145. package/dist/types/lib/measurement/mapper.d.ts +1 -1
  146. package/dist/types/lib/measurement/model.d.ts +18 -153
  147. package/dist/types/lib/measurement/outcomes.d.ts +8 -0
  148. package/dist/types/lib/measurement/overlays.d.ts +38 -0
  149. package/dist/types/lib/measurement/results.d.ts +90 -0
  150. package/dist/types/lib/types/entities.d.ts +5 -1
  151. package/dist/types/lib/types/featureMap.d.ts +2 -2
  152. package/dist/types/lib/types/measurementUnits.d.ts +1 -1
  153. package/dist/types/lib/types/viewport.d.ts +9 -1
  154. package/dist/types/testing/eventually.d.ts +15 -0
  155. package/dist/types/testing/fixtures.d.ts +2 -2
  156. package/dist/types/testing/index.d.ts +1 -0
  157. package/dist/viewer/index.esm.js +1 -1
  158. package/dist/viewer/p-081e6873.js +4 -0
  159. package/dist/viewer/{p-5d82c131.entry.js → p-099fe6ca.entry.js} +1 -1
  160. package/dist/viewer/{p-784914e4.js → p-0aba71fd.js} +1 -1
  161. package/dist/viewer/p-0aeab3fc.js +4 -0
  162. package/dist/viewer/p-0eb195dd.entry.js +4 -0
  163. package/dist/viewer/p-1a7df99a.entry.js +4 -0
  164. package/dist/viewer/{p-f70d8def.js → p-301660cf.js} +1 -1
  165. package/dist/viewer/{p-a0e49d10.entry.js → p-31658489.entry.js} +1 -1
  166. package/dist/viewer/{p-95f3a81c.entry.js → p-353cfc7a.entry.js} +1 -1
  167. package/dist/viewer/p-364ce21c.js +4 -0
  168. package/dist/viewer/{p-a5a0bf86.js → p-3f6ac74f.js} +1 -1
  169. package/dist/viewer/p-423410be.js +4 -0
  170. package/dist/viewer/{p-6f71f0f2.js → p-439220c6.js} +1 -1
  171. package/dist/viewer/{p-e84ed098.entry.js → p-46459921.entry.js} +1 -1
  172. package/dist/viewer/{p-c23a8b34.entry.js → p-4717c98e.entry.js} +1 -1
  173. package/dist/viewer/p-4985fad5.js +4 -0
  174. package/dist/viewer/{p-ba393340.entry.js → p-61b1097b.entry.js} +1 -1
  175. package/dist/viewer/{p-011eecd5.entry.js → p-6370098c.entry.js} +1 -1
  176. package/dist/viewer/p-67446e35.js +4 -0
  177. package/dist/viewer/p-7006fd4e.entry.js +4 -0
  178. package/dist/viewer/{p-a20e4ea1.entry.js → p-70ca1ea7.entry.js} +1 -1
  179. package/dist/viewer/p-76ec0245.js +4 -0
  180. package/dist/viewer/p-7cad9bf4.js +4 -0
  181. package/dist/viewer/p-7f25dcb5.entry.js +4 -0
  182. package/dist/viewer/{p-ca6bbe53.entry.js → p-8decee06.entry.js} +1 -1
  183. package/dist/viewer/{p-b7ffa306.entry.js → p-915d95ad.entry.js} +1 -1
  184. package/dist/viewer/{p-4485ac6d.js → p-a0df0e0c.js} +1 -1
  185. package/dist/viewer/{p-cc9888be.entry.js → p-a455ae02.entry.js} +1 -1
  186. package/dist/viewer/{p-a6a8026f.js → p-acf22d3e.js} +1 -1
  187. package/dist/viewer/{p-653aca1b.entry.js → p-b2b48a42.entry.js} +1 -1
  188. package/dist/viewer/p-bc9b1e67.entry.js +4 -0
  189. package/dist/viewer/p-c458f191.entry.js +32 -0
  190. package/dist/viewer/p-cafa57a6.js +4 -0
  191. package/dist/viewer/p-d00e9203.js +4 -0
  192. package/dist/viewer/{p-3e96bd62.entry.js → p-d2bcf788.entry.js} +1 -1
  193. package/dist/viewer/p-d90f2f6d.entry.js +4 -0
  194. package/dist/viewer/p-da2f4a56.js +4 -0
  195. package/dist/viewer/{p-5a2e34e1.entry.js → p-e07377fa.entry.js} +1 -1
  196. package/dist/viewer/{p-40800e8d.entry.js → p-f755af5a.entry.js} +1 -1
  197. package/dist/viewer/p-f7cb7e59.js +4 -0
  198. package/dist/viewer/p-fad9693e.js +4 -0
  199. package/dist/viewer/p-fe11d694.js +4 -0
  200. package/dist/viewer/{p-b92a3ac2.entry.js → p-fec1a8d0.entry.js} +1 -1
  201. package/dist/viewer/viewer.css +1 -1
  202. package/dist/viewer/viewer.esm.js +1 -1
  203. package/package.json +11 -10
  204. package/dist/cjs/summary-7bbdb4c9.js +0 -45
  205. package/dist/collection/lib/measurement/summary.js +0 -38
  206. package/dist/esm/summary-0a3d0bf9.js +0 -43
  207. package/dist/types/lib/measurement/summary.d.ts +0 -11
  208. package/dist/viewer/p-03e482ff.js +0 -4
  209. package/dist/viewer/p-0c052bc8.entry.js +0 -4
  210. package/dist/viewer/p-148cd792.js +0 -4
  211. package/dist/viewer/p-26d99e2d.entry.js +0 -4
  212. package/dist/viewer/p-38eeacc5.js +0 -4
  213. package/dist/viewer/p-39d1720c.js +0 -4
  214. package/dist/viewer/p-5dc17b8b.js +0 -4
  215. package/dist/viewer/p-5fea3491.js +0 -4
  216. package/dist/viewer/p-6b700561.entry.js +0 -4
  217. package/dist/viewer/p-6cd7a6e0.js +0 -4
  218. package/dist/viewer/p-75337d0b.js +0 -4
  219. package/dist/viewer/p-b83cc8a9.js +0 -4
  220. package/dist/viewer/p-d2a9e047.js +0 -4
  221. package/dist/viewer/p-d40bd835.entry.js +0 -4
  222. package/dist/viewer/p-e10b1526.js +0 -4
  223. package/dist/viewer/p-ec8a1a68.entry.js +0 -4
  224. package/dist/viewer/p-f4a8c901.js +0 -4
  225. package/dist/viewer/p-f77dde26.entry.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{r as i,c as t,h as s,H as e,g as l}from"./p-75337d0b.js";import{c as n}from"./p-f482325b.js";import"./p-112455b1.js";let o=class{constructor(s){i(this,s),this.hovered=t(this,"hovered",7),this.expandToggled=t(this,"expandToggled",7),this.visibilityToggled=t(this,"visibilityToggled",7),this.selectionToggled=t(this,"selectionToggled",7),this.placeholder="--",this.interactionsDisabled=!1,this.recurseParentSelectionDisabled=!1,this.displayValue=()=>null==this.value||""===this.value.trim()?this.placeholder:this.value,this.handleCellPointerDown=i=>{var t,s,e,l,n,o;i.defaultPrevented||0!==i.button||this.interactionsDisabled||((i.ctrlKey||i.metaKey)&&(null===(t=this.node)||void 0===t?void 0:t.selected)?null===(s=this.tree)||void 0===s||s.deselectItem(this.node):(null===(e=this.node)||void 0===e?void 0:e.selected)&&!this.recurseParentSelectionDisabled?null===(l=this.tree)||void 0===l||l.selectItem(this.node,{recurseParent:!0}):(null===(n=this.node)||void 0===n?void 0:n.selected)||null===(o=this.tree)||void 0===o||o.selectItem(this.node,{append:i.ctrlKey||i.metaKey,range:i.shiftKey}),this.selectionToggled.emit({node:this.node,originalEvent:i}))},this.toggleExpansion=i=>{null==this.tree||null==this.node||this.interactionsDisabled||this.tree.toggleExpandItem(this.node),this.expandToggled.emit({node:this.node,originalEvent:i})},this.toggleVisibility=i=>{null==this.tree||null==this.node||this.interactionsDisabled||this.tree.toggleItemVisibility(this.node),this.visibilityToggled.emit({node:this.node,originalEvent:i})}}componentWillRender(){var i,t,s,e,l,n,o;this.toggleAttribute("is-hovered",this.hoveredNodeId===(null===(t=null===(i=this.node)||void 0===i?void 0:i.id)||void 0===t?void 0:t.hex)),this.toggleAttribute("is-hidden",!(null===(s=this.node)||void 0===s?void 0:s.visible)),this.toggleAttribute("is-selected",!!(null===(e=this.node)||void 0===e?void 0:e.selected)),this.toggleAttribute("is-partial",!!(null===(l=this.node)||void 0===l?void 0:l.partiallyVisible)),this.toggleAttribute("is-leaf",!!(null===(n=this.node)||void 0===n?void 0:n.isLeaf)),this.toggleAttribute("is-filter-hit",!!(null===(o=this.node)||void 0===o?void 0:o.filterHit))}render(){var i,t,l,o,a,d,h,r,v,c,g,u;return s(e,{onPointerEnter:i=>{this.hovered.emit({node:this.node,originalEvent:i})},onPointerLeave:()=>{this.hovered.emit(void 0)},onPointerDown:this.handleCellPointerDown},s("div",{class:"wrapper"},s("div",{class:"no-shrink"},s("slot",{name:"left-gutter"})),this.expandToggle&&s("button",{class:"expand-btn no-shrink","data-test-id":"expand-"+(null===(i=this.node)||void 0===i?void 0:i.name),onPointerDown:i=>{i.preventDefault(),this.toggleExpansion(i)}},!(null===(t=this.node)||void 0===t?void 0:t.isLeaf)&&s("div",{class:n("icon",{"icon-expanded":!(null===(l=this.node)||void 0===l?void 0:l.isLeaf)&&(null===(o=this.node)||void 0===o?void 0:o.expanded),"icon-collapsed":!(null===(a=this.node)||void 0===a?void 0:a.isLeaf)&&!(null===(d=this.node)||void 0===d?void 0:d.expanded)})})),s("div",{class:"content"},null!=this.value&&""!==this.value.trim()?s("slot",null,this.displayValue()):s("slot",{name:"placeholder"},this.placeholder)),this.visibilityToggle&&s("button",{class:"visibility-btn no-shrink","data-test-id":"visibility-btn-"+(null===(h=this.node)||void 0===h?void 0:h.name),onPointerDown:i=>{null==i||i.preventDefault(),this.toggleVisibility(i)}},s("div",{class:n("icon",{"icon-visible":!(null===(r=this.node)||void 0===r?void 0:r.partiallyVisible)&&(null===(v=this.node)||void 0===v?void 0:v.visible),"icon-hidden":!(null===(c=this.node)||void 0===c?void 0:c.partiallyVisible)&&!(null===(g=this.node)||void 0===g?void 0:g.visible),"icon-partial":null===(u=this.node)||void 0===u?void 0:u.partiallyVisible})})),s("div",{class:"no-shrink"},s("slot",{name:"right-gutter"})),!this.visibilityToggle&&s("div",{class:"column-spacer"})))}toggleAttribute(i,t){t?this.hostEl.setAttribute(i,""):this.hostEl.removeAttribute(i)}get hostEl(){return l(this)}};o.style="button{border:none;background:transparent;cursor:pointer;margin:0;padding:0}:host{display:flex;align-items:center;box-sizing:border-box;--scene-tree-cell-background-hover:var(--blue-200);--scene-tree-cell-background-selected:var(--blue-300);--scene-tree-cell-text-positioning:left;--scene-tree-cell-padding:0.25rem 0}:host([is-hovered]){background:var(--scene-tree-cell-background-hover)}:host([is-selected]){background:var(--scene-tree-cell-background-selected)}.wrapper{display:flex;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:var(--scene-tree-cell-padding)}.content{width:100%;text-align:var(--scene-tree-cell-text-positioning);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.column-spacer{width:var(--scene-tree-table-column-gap)}.expand-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}.no-shrink{flex-shrink:0}:host([is-leaf]) .expand-btn{visibility:hidden;cursor:default}.visibility-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;visibility:hidden;width:24px;height:24px}:host([is-hidden]) .visibility-btn,:host([is-partial]) .visibility-btn,:host([is-hovered]) .visibility-btn{visibility:inherit}.icon{width:14px;height:14px}.icon-expanded{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='icon' %3E%3Cpath fill='%23444444' d='M11.88,9.17l-3.5-4a.51.51,0,0,0-.76,0l-3.5,4A.5.5,0,0,0,4.5,10h7a.5.5,0,0,0,.38-.83Z' transform='rotate(180 8 8)' /%3E%3C/svg%3E\")}.icon-collapsed{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='icon' %3E%3Cpath fill='%23444444' d='M10.83,7.62l-4-3.5A.5.5,0,0,0,6,4.5v7a.5.5,0,0,0,.83.38l4-3.5a.51.51,0,0,0,0-.76Z' /%3E%3C/svg%3E\")}.icon-visible{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='icon' %3E%3Cpath fill='%23444444' d='M8 5a3 3 0 103 3 3 3 0 00-3-3zm4.65-1.17A8.53 8.53 0 008 2.5a8.53 8.53 0 00-4.65 1.33A6.57 6.57 0 00.51 7.89v.22a6.57 6.57 0 002.84 4.06A8.53 8.53 0 008 13.5a8.53 8.53 0 004.65-1.33 6.57 6.57 0 002.84-4.06v-.22a6.57 6.57 0 00-2.84-4.06zm-.55 7.5A7.52 7.52 0 018 12.5a7.52 7.52 0 01-4.1-1.17A5.49 5.49 0 011.53 8 5.49 5.49 0 013.9 4.67 7.52 7.52 0 018 3.5a7.52 7.52 0 014.1 1.17A5.49 5.49 0 0114.47 8a5.49 5.49 0 01-2.37 3.33z' /%3E%3C/svg%3E\")}.icon-hidden{background-image:url(\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='icon' %3E%3Cpath fill='%23444444' d='M13.35 2.65a.48.48 0 00-.7 0l-.78.77a8.71 8.71 0 00-8.52.41A6.57 6.57 0 00.51 7.89v.22a6.58 6.58 0 002.71 4l-.57.58a.49.49 0 00.7.7l10-10a.48.48 0 000-.74zM9.73 5.56a3 3 0 00-4.17 4.17l-1.62 1.62A5.49 5.49 0 011.53 8 5.49 5.49 0 013.9 4.67 7.52 7.52 0 018 3.5a7.67 7.67 0 013.12.67zm3.61-1.2l-.72.72A5.45 5.45 0 0114.47 8a5.49 5.49 0 01-2.37 3.33A7.52 7.52 0 018 12.5a8.15 8.15 0 01-2.41-.38l-.78.78a8.9 8.9 0 003.19.6 8.53 8.53 0 004.65-1.33 6.57 6.57 0 002.84-4.06v-.22a6.56 6.56 0 00-2.15-3.53z' /%3E%3C/svg%3E%0A\")}.icon-partial{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M4.12 11.46A5.62 5.62 0 011.52 8 5.57 5.57 0 013.9 4.67 7.52 7.52 0 018 3.5a7.7 7.7 0 013.33.75l.74-.74A8.67 8.67 0 008 2.5a8.53 8.53 0 00-4.65 1.33A6.57 6.57 0 00.51 7.89v.22a6.54 6.54 0 002.88 4.08z' fill='%23444'/%3E%3Cpath d='M8 5a3 3 0 00-3 3 3 3 0 00.69 1.89l4.2-4.2A3 3 0 008 5zM5.88 5.88zM9.2 12.41a.51.51 0 00-.42.57.5.5 0 00.56.42.5.5 0 00.43-.57.51.51 0 00-.57-.42zM6.77 12.41a.5.5 0 00-.57.42.49.49 0 00.41.57.5.5 0 10.15-1zM14.48 5.61a.5.5 0 00-.7-.12.49.49 0 00-.12.69.5.5 0 00.82-.57zM11.5 11.68a.5.5 0 00-.22.67.51.51 0 00.68.22.5.5 0 00-.46-.89zM15.07 7.77a.52.52 0 00-.62.35.51.51 0 00.35.62.5.5 0 00.61-.35.52.52 0 00-.34-.62zM13.36 10.21a.5.5 0 10.76.64.49.49 0 00-.06-.7.51.51 0 00-.7.06z' fill='%23444'/%3E%3C/svg%3E\")}";export{o as vertex_scene_tree_table_cell}
4
+ import{r as i,c as t,h as s,H as e,g as l}from"./p-cafa57a6.js";import{c as n}from"./p-f482325b.js";import"./p-112455b1.js";let o=class{constructor(s){i(this,s),this.hovered=t(this,"hovered",7),this.expandToggled=t(this,"expandToggled",7),this.visibilityToggled=t(this,"visibilityToggled",7),this.selectionToggled=t(this,"selectionToggled",7),this.placeholder="--",this.interactionsDisabled=!1,this.recurseParentSelectionDisabled=!1,this.displayValue=()=>null==this.value||""===this.value.trim()?this.placeholder:this.value,this.handleCellPointerDown=i=>{var t,s,e,l,n,o;i.defaultPrevented||0!==i.button||this.interactionsDisabled||((i.ctrlKey||i.metaKey)&&(null===(t=this.node)||void 0===t?void 0:t.selected)?null===(s=this.tree)||void 0===s||s.deselectItem(this.node):(null===(e=this.node)||void 0===e?void 0:e.selected)&&!this.recurseParentSelectionDisabled?null===(l=this.tree)||void 0===l||l.selectItem(this.node,{recurseParent:!0}):(null===(n=this.node)||void 0===n?void 0:n.selected)||null===(o=this.tree)||void 0===o||o.selectItem(this.node,{append:i.ctrlKey||i.metaKey,range:i.shiftKey}),this.selectionToggled.emit({node:this.node,originalEvent:i}))},this.toggleExpansion=i=>{null==this.tree||null==this.node||this.interactionsDisabled||this.tree.toggleExpandItem(this.node),this.expandToggled.emit({node:this.node,originalEvent:i})},this.toggleVisibility=i=>{null==this.tree||null==this.node||this.interactionsDisabled||this.tree.toggleItemVisibility(this.node),this.visibilityToggled.emit({node:this.node,originalEvent:i})}}componentWillRender(){var i,t,s,e,l,n,o;this.toggleAttribute("is-hovered",this.hoveredNodeId===(null===(t=null===(i=this.node)||void 0===i?void 0:i.id)||void 0===t?void 0:t.hex)),this.toggleAttribute("is-hidden",!(null===(s=this.node)||void 0===s?void 0:s.visible)),this.toggleAttribute("is-selected",!!(null===(e=this.node)||void 0===e?void 0:e.selected)),this.toggleAttribute("is-partial",!!(null===(l=this.node)||void 0===l?void 0:l.partiallyVisible)),this.toggleAttribute("is-leaf",!!(null===(n=this.node)||void 0===n?void 0:n.isLeaf)),this.toggleAttribute("is-filter-hit",!!(null===(o=this.node)||void 0===o?void 0:o.filterHit))}render(){var i,t,l,o,a,d,h,r,v,c,g,u;return s(e,{onPointerEnter:i=>{this.hovered.emit({node:this.node,originalEvent:i})},onPointerLeave:()=>{this.hovered.emit(void 0)},onPointerDown:this.handleCellPointerDown},s("div",{class:"wrapper"},s("div",{class:"no-shrink"},s("slot",{name:"left-gutter"})),this.expandToggle&&s("button",{class:"expand-btn no-shrink","data-test-id":"expand-"+(null===(i=this.node)||void 0===i?void 0:i.name),onPointerDown:i=>{i.preventDefault(),this.toggleExpansion(i)}},!(null===(t=this.node)||void 0===t?void 0:t.isLeaf)&&s("div",{class:n("icon",{"icon-expanded":!(null===(l=this.node)||void 0===l?void 0:l.isLeaf)&&(null===(o=this.node)||void 0===o?void 0:o.expanded),"icon-collapsed":!(null===(a=this.node)||void 0===a?void 0:a.isLeaf)&&!(null===(d=this.node)||void 0===d?void 0:d.expanded)})})),s("div",{class:"content"},null!=this.value&&""!==this.value.trim()?s("slot",null,this.displayValue()):s("slot",{name:"placeholder"},this.placeholder)),this.visibilityToggle&&s("button",{class:"visibility-btn no-shrink","data-test-id":"visibility-btn-"+(null===(h=this.node)||void 0===h?void 0:h.name),onPointerDown:i=>{null==i||i.preventDefault(),this.toggleVisibility(i)}},s("div",{class:n("icon",{"icon-visible":!(null===(r=this.node)||void 0===r?void 0:r.partiallyVisible)&&(null===(v=this.node)||void 0===v?void 0:v.visible),"icon-hidden":!(null===(c=this.node)||void 0===c?void 0:c.partiallyVisible)&&!(null===(g=this.node)||void 0===g?void 0:g.visible),"icon-partial":null===(u=this.node)||void 0===u?void 0:u.partiallyVisible})})),s("div",{class:"no-shrink"},s("slot",{name:"right-gutter"})),!this.visibilityToggle&&s("div",{class:"column-spacer"})))}toggleAttribute(i,t){t?this.hostEl.setAttribute(i,""):this.hostEl.removeAttribute(i)}get hostEl(){return l(this)}};o.style="button{border:none;background:transparent;cursor:pointer;margin:0;padding:0}:host{display:flex;align-items:center;box-sizing:border-box;--scene-tree-cell-background-hover:var(--blue-200);--scene-tree-cell-background-selected:var(--blue-300);--scene-tree-cell-text-positioning:left;--scene-tree-cell-padding:0.25rem 0}:host([is-hovered]){background:var(--scene-tree-cell-background-hover)}:host([is-selected]){background:var(--scene-tree-cell-background-selected)}.wrapper{display:flex;align-items:center;box-sizing:border-box;width:100%;height:100%;padding:var(--scene-tree-cell-padding)}.content{width:100%;text-align:var(--scene-tree-cell-text-positioning);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.column-spacer{width:var(--scene-tree-table-column-gap)}.expand-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}.no-shrink{flex-shrink:0}:host([is-leaf]) .expand-btn{visibility:hidden;cursor:default}.visibility-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;visibility:hidden;width:24px;height:24px}:host([is-hidden]) .visibility-btn,:host([is-partial]) .visibility-btn,:host([is-hovered]) .visibility-btn{visibility:inherit}.icon{width:14px;height:14px}.icon-expanded{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='icon' %3E%3Cpath fill='%23444444' d='M11.88,9.17l-3.5-4a.51.51,0,0,0-.76,0l-3.5,4A.5.5,0,0,0,4.5,10h7a.5.5,0,0,0,.38-.83Z' transform='rotate(180 8 8)' /%3E%3C/svg%3E\")}.icon-collapsed{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='icon' %3E%3Cpath fill='%23444444' d='M10.83,7.62l-4-3.5A.5.5,0,0,0,6,4.5v7a.5.5,0,0,0,.83.38l4-3.5a.51.51,0,0,0,0-.76Z' /%3E%3C/svg%3E\")}.icon-visible{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='icon' %3E%3Cpath fill='%23444444' d='M8 5a3 3 0 103 3 3 3 0 00-3-3zm4.65-1.17A8.53 8.53 0 008 2.5a8.53 8.53 0 00-4.65 1.33A6.57 6.57 0 00.51 7.89v.22a6.57 6.57 0 002.84 4.06A8.53 8.53 0 008 13.5a8.53 8.53 0 004.65-1.33 6.57 6.57 0 002.84-4.06v-.22a6.57 6.57 0 00-2.84-4.06zm-.55 7.5A7.52 7.52 0 018 12.5a7.52 7.52 0 01-4.1-1.17A5.49 5.49 0 011.53 8 5.49 5.49 0 013.9 4.67 7.52 7.52 0 018 3.5a7.52 7.52 0 014.1 1.17A5.49 5.49 0 0114.47 8a5.49 5.49 0 01-2.37 3.33z' /%3E%3C/svg%3E\")}.icon-hidden{background-image:url(\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='icon' %3E%3Cpath fill='%23444444' d='M13.35 2.65a.48.48 0 00-.7 0l-.78.77a8.71 8.71 0 00-8.52.41A6.57 6.57 0 00.51 7.89v.22a6.58 6.58 0 002.71 4l-.57.58a.49.49 0 00.7.7l10-10a.48.48 0 000-.74zM9.73 5.56a3 3 0 00-4.17 4.17l-1.62 1.62A5.49 5.49 0 011.53 8 5.49 5.49 0 013.9 4.67 7.52 7.52 0 018 3.5a7.67 7.67 0 013.12.67zm3.61-1.2l-.72.72A5.45 5.45 0 0114.47 8a5.49 5.49 0 01-2.37 3.33A7.52 7.52 0 018 12.5a8.15 8.15 0 01-2.41-.38l-.78.78a8.9 8.9 0 003.19.6 8.53 8.53 0 004.65-1.33 6.57 6.57 0 002.84-4.06v-.22a6.56 6.56 0 00-2.15-3.53z' /%3E%3C/svg%3E%0A\")}.icon-partial{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M4.12 11.46A5.62 5.62 0 011.52 8 5.57 5.57 0 013.9 4.67 7.52 7.52 0 018 3.5a7.7 7.7 0 013.33.75l.74-.74A8.67 8.67 0 008 2.5a8.53 8.53 0 00-4.65 1.33A6.57 6.57 0 00.51 7.89v.22a6.54 6.54 0 002.88 4.08z' fill='%23444'/%3E%3Cpath d='M8 5a3 3 0 00-3 3 3 3 0 00.69 1.89l4.2-4.2A3 3 0 008 5zM5.88 5.88zM9.2 12.41a.51.51 0 00-.42.57.5.5 0 00.56.42.5.5 0 00.43-.57.51.51 0 00-.57-.42zM6.77 12.41a.5.5 0 00-.57.42.49.49 0 00.41.57.5.5 0 10.15-1zM14.48 5.61a.5.5 0 00-.7-.12.49.49 0 00-.12.69.5.5 0 00.82-.57zM11.5 11.68a.5.5 0 00-.22.67.51.51 0 00.68.22.5.5 0 00-.46-.89zM15.07 7.77a.52.52 0 00-.62.35.51.51 0 00.35.62.5.5 0 00.61-.35.52.52 0 00-.34-.62zM13.36 10.21a.5.5 0 10.76.64.49.49 0 00-.06-.7.51.51 0 00-.7.06z' fill='%23444'/%3E%3C/svg%3E\")}";export{o as vertex_scene_tree_table_cell}
@@ -1 +1 @@
1
- :root{--white:#ffffff;--black:#000000}:root{--neutral-050:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#eeeeee;--neutral-300:#e0e0e0;--neutral-400:#bdbdbd;--neutral-500:#9e9e9e;--neutral-600:#757575;--neutral-700:#616161;--neutral-800:#444444;--neutral-900:#212121}:root{--red-050:#fff7f7;--red-100:#ffefef;--red-200:#ffe0e0;--red-300:#ffb3b3;--red-400:#ff4d4d;--red-500:#ff0000;--red-600:#eb0000;--red-700:#d90000;--red-800:#c40000;--red-900:#990000}:root{--orange-050:#fffcf7;--orange-100:#fff9ef;--orange-200:#fff3e0;--orange-300:#ffe0b3;--orange-400:#ffb84d;--orange-500:#ff9900;--orange-600:#ff8400;--orange-700:#ff7300;--orange-800:#e05d00;--orange-900:#993b00}:root{--yellow-050:#fffef7;--yellow-100:#fffdef;--yellow-200:#fffbe0;--yellow-300:#fff5b3;--yellow-400:#ffee6e;--yellow-500:#ffe600;--yellow-600:#ffd300;--yellow-700:#ffc500;--yellow-800:#cc8f00;--yellow-900:#995c00}:root{--green-050:#f7fdf7;--green-100:#effcef;--green-200:#e0f9e0;--green-300:#b3f0b3;--green-400:#4ddb4d;--green-500:#00cc00;--green-600:#00c000;--green-700:#00ad00;--green-800:#008000;--green-900:#004d00}:root{--teal-050:#f8fdfc;--teal-100:#f1fbfa;--teal-200:#e4f7f5;--teal-300:#bcece7;--teal-400:#62d2c7;--teal-500:#1fbeaf;--teal-600:#17af9f;--teal-700:#0a9986;--teal-800:#07705f;--teal-900:#054d43}:root{--blue-050:#f7fcfd;--blue-100:#eff9fc;--blue-200:#e0f3f9;--blue-300:#b3e0f0;--blue-400:#4db8db;--blue-500:#0099cc;--blue-600:#0086c0;--blue-700:#006bad;--blue-800:#004f80;--blue-900:#002f4d}:root{--purple-050:#fdf9fc;--purple-100:#faf2f8;--purple-200:#f6e6f2;--purple-300:#e9c2e0;--purple-400:#cb70b6;--purple-500:#b43296;--purple-600:#a42683;--purple-700:#8c1368;--purple-800:#66124b;--purple-900:#4d0b39}vertex-viewer-dom-renderer{visibility:hidden}vertex-viewer-dom-renderer.hydrated{visibility:inherit}vertex-scene-tree-toolbar{visibility:hidden}vertex-scene-tree-toolbar.hydrated{visibility:inherit}vertex-scene-tree-toolbar{visibility:hidden}vertex-scene-tree-toolbar.hydrated{visibility:inherit}vertex-viewer-toolbar{visibility:hidden}vertex-viewer-toolbar.hydrated{visibility:inherit}:root{--padding-1:0.25em;--padding-2:0.5em;--padding-3:0.75em;--padding-4:1em;--padding-5:1.25em;--padding-6:1.5em;--padding-7:1.75em;--padding-8:2em;--abs-padding-1:0.25rem;--abs-padding-2:0.5rem;--abs-padding-3:0.75rem;--abs-padding-4:1rem;--abs-padding-5:1.25rem;--abs-padding-6:1.5rem;--abs-padding-7:1.75rem;--abs-padding-8:2rem}
1
+ :root{--white:#ffffff;--black:#000000}:root{--neutral-050:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#eeeeee;--neutral-300:#e0e0e0;--neutral-400:#bdbdbd;--neutral-500:#9e9e9e;--neutral-600:#757575;--neutral-700:#616161;--neutral-800:#444444;--neutral-900:#212121}:root{--red-050:#fff7f7;--red-100:#ffefef;--red-200:#ffe0e0;--red-300:#ffb3b3;--red-400:#ff4d4d;--red-500:#ff0000;--red-600:#eb0000;--red-700:#d90000;--red-800:#c40000;--red-900:#990000}:root{--orange-050:#fffcf7;--orange-100:#fff9ef;--orange-200:#fff3e0;--orange-300:#ffe0b3;--orange-400:#ffb84d;--orange-500:#ff9900;--orange-600:#ff8400;--orange-700:#ff7300;--orange-800:#e05d00;--orange-900:#993b00}:root{--yellow-050:#fffef7;--yellow-100:#fffdef;--yellow-200:#fffbe0;--yellow-300:#fff5b3;--yellow-400:#ffee6e;--yellow-500:#ffe600;--yellow-600:#ffd300;--yellow-700:#ffc500;--yellow-800:#cc8f00;--yellow-900:#995c00}:root{--green-050:#f7fdf7;--green-100:#effcef;--green-200:#e0f9e0;--green-300:#b3f0b3;--green-400:#4ddb4d;--green-500:#00cc00;--green-600:#00c000;--green-700:#00ad00;--green-800:#008000;--green-900:#004d00}:root{--teal-050:#f8fdfc;--teal-100:#f1fbfa;--teal-200:#e4f7f5;--teal-300:#bcece7;--teal-400:#62d2c7;--teal-500:#1fbeaf;--teal-600:#17af9f;--teal-700:#0a9986;--teal-800:#07705f;--teal-900:#054d43}:root{--blue-050:#f7fcfd;--blue-100:#eff9fc;--blue-200:#e0f3f9;--blue-300:#b3e0f0;--blue-400:#4db8db;--blue-500:#0099cc;--blue-600:#0086c0;--blue-700:#006bad;--blue-800:#004f80;--blue-900:#002f4d}:root{--purple-050:#fdf9fc;--purple-100:#faf2f8;--purple-200:#f6e6f2;--purple-300:#e9c2e0;--purple-400:#cb70b6;--purple-500:#b43296;--purple-600:#a42683;--purple-700:#8c1368;--purple-800:#66124b;--purple-900:#4d0b39}:root{--x-axis-color:#ea3324;--y-axis-color:#4faf32;--z-axis-color:#0000ff}vertex-viewer-dom-renderer{visibility:hidden}vertex-viewer-dom-renderer.hydrated{visibility:inherit}vertex-scene-tree-toolbar{visibility:hidden}vertex-scene-tree-toolbar.hydrated{visibility:inherit}vertex-scene-tree-toolbar{visibility:hidden}vertex-scene-tree-toolbar.hydrated{visibility:inherit}vertex-viewer-toolbar{visibility:hidden}vertex-viewer-toolbar.hydrated{visibility:inherit}:root{--padding-1:0.25em;--padding-2:0.5em;--padding-3:0.75em;--padding-4:1em;--padding-5:1.25em;--padding-6:1.5em;--padding-7:1.75em;--padding-8:2em;--abs-padding-1:0.25rem;--abs-padding-2:0.5rem;--abs-padding-3:0.75rem;--abs-padding-4:1rem;--abs-padding-5:1.25rem;--abs-padding-6:1.5rem;--abs-padding-7:1.75rem;--abs-padding-8:2rem}
@@ -1,4 +1,4 @@
1
1
  /**!
2
2
  * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{d as e,N as t,w as a,p as i,b as r}from"./p-75337d0b.js";(()=>{const r=Array.from(e.querySelectorAll("script")).find((e=>new RegExp(`/${t}(\\.esm)?\\.js($|\\?|#)`).test(e.src)||e.getAttribute("data-stencil-namespace")===t)),n={};return n.resourcesUrl=new URL(".",new URL(r.getAttribute("data-resources-url")||r.src,a.location.href)).href,((i,r)=>{const n=`__sc_import_${t.replace(/\s|-/g,"_")}`;try{a[n]=new Function("w",`return import(w);//${Math.random()}`)}catch(t){const o=new Map;a[n]=t=>{const s=new URL(t,i).href;let d=o.get(s);if(!d){const t=e.createElement("script");t.type="module",t.crossOrigin=r.crossOrigin,t.src=URL.createObjectURL(new Blob([`import * as m from '${s}'; window.${n}.m = m;`],{type:"application/javascript"})),d=new Promise((e=>{t.onload=()=>{e(a[n].m),t.remove()}})),o.set(s,d),e.head.appendChild(t)}return d}}})(n.resourcesUrl,r),a.customElements?i(n):__sc_import_viewer("./p-ac0761c3.js").then((()=>n))})().then((e=>r([["p-cc9888be",[[1,"vertex-viewer-default-toolbar",{viewer:[16],placement:[1],direction:[1],animationsDisabled:[4,"animations-disabled"],animationMs:[2,"animation-ms"]}]]],["p-95f3a81c",[[1,"vertex-scene-tree",{overScanCount:[2,"over-scan-count"],viewerSelector:[1,"viewer-selector"],viewer:[1040],rowData:[16],config:[16],configEnv:[1,"config-env"],controller:[1040],filterOnMetadata:[1028,"filter-on-metadata"],metadataKeys:[16],rows:[32],totalRows:[32],stateMap:[32],connectionErrorDetails:[32],attemptingRetry:[32],invalidateRows:[64],scrollToIndex:[64],scrollToItem:[64],expandAll:[64],collapseAll:[64],expandItem:[64],collapseItem:[64],toggleExpandItem:[64],toggleItemVisibility:[64],hideItem:[64],showItem:[64],selectItem:[64],deselectItem:[64],getRowAtIndex:[64],getRowForEvent:[64],getRowAtClientY:[64],filterItems:[64],fetchMetadataKeys:[64]},[[0,"search","handleSearch"]]]]],["p-5a2e34e1",[[1,"vertex-viewer-markup",{arrowTemplateId:[1,"arrow-template-id"],circleTemplateId:[1,"circle-template-id"],freeformTemplateId:[1,"freeform-template-id"],tool:[1],disabled:[4],viewer:[16],selectedMarkupId:[1025,"selected-markup-id"],selectNew:[4,"select-new"],toSelectMarkupId:[32],pointerDownPosition:[32],addMarkup:[64],removeMarkup:[64],getMarkupElements:[64],getMarkupElement:[64]},[[0,"markupEnd","handleMarkupEnd"],[1,"pointerdown","handleMarkupPointerDown"]]]]],["p-ca6bbe53",[[1,"vertex-viewer-markup-tool",{arrowTemplateId:[1,"arrow-template-id"],circleTemplateId:[1,"circle-template-id"],freeformTemplateId:[1,"freeform-template-id"],tool:[1],disabled:[4],viewer:[16],stateMap:[32],reset:[64]}]]],["p-011eecd5",[[1,"vertex-viewer-measurement-tool",{distanceTemplateId:[1,"distance-template-id"],tool:[1],units:[1],fractionalDigits:[2,"fractional-digits"],disabled:[4],viewer:[16],isMeasuring:[1540,"is-measuring"],snapDistance:[2,"snap-distance"],stateMap:[32]}]]],["p-ec8a1a68",[[1,"vertex-viewer-view-cube",{xPositiveLabel:[1,"x-positive-label"],xNegativeLabel:[1,"x-negative-label"],yPositiveLabel:[1,"y-positive-label"],yNegativeLabel:[1,"y-negative-label"],zPositiveLabel:[1,"z-positive-label"],zNegativeLabel:[1,"z-negative-label"],standardViewsOff:[4,"standard-views-off"],animationDuration:[2,"animation-duration"],triadOff:[4,"triad-off"],worldOrientation:[1040],camera:[1040],viewer:[16],boxLength:[32],triadPosition:[32]}]]],["p-26d99e2d",[[1,"vertex-viewer-measurements",{distanceTemplateId:[1,"distance-template-id"],tool:[1],units:[1],fractionalDigits:[2,"fractional-digits"],disabled:[4],viewer:[16],selectedMeasurementId:[1025,"selected-measurement-id"],snapDistance:[2,"snap-distance"],addMeasurement:[64],removeMeasurement:[64],getMeasurementElement:[64],getMeasurementElements:[64]},[[0,"measureEnd","handleMeasureEnd"],[1,"pointerdown","handleMeasurementPointerDown"]]]]],["p-b92a3ac2",[[1,"vertex-scene-tree-table-cell",{node:[16],tree:[16],value:[1],placeholder:[1],hoveredNodeId:[1,"hovered-node-id"],expandToggle:[4,"expand-toggle"],visibilityToggle:[4,"visibility-toggle"],interactionsDisabled:[4,"interactions-disabled"],recurseParentSelectionDisabled:[4,"recurse-parent-selection-disabled"]}]]],["p-a20e4ea1",[[1,"vertex-scene-tree-table-column",{initialWidth:[2,"initial-width"],minWidth:[2,"min-width"],maxWidth:[2,"max-width"]}]]],["p-3e96bd62",[[1,"vertex-scene-tree-table-header"]]],["p-ba393340",[[1,"vertex-scene-tree-table-resize-divider",{dragging:[32]}]]],["p-5d82c131",[[1,"vertex-scene-tree-toolbar-group"]]],["p-6b700561",[[1,"vertex-viewer",{src:[1],clientId:[1,"client-id"],deviceId:[1,"device-id"],config:[1],configEnv:[1,"config-env"],resolvedConfig:[1040],cameraControls:[4,"camera-controls"],keyboardControls:[4,"keyboard-controls"],rotateAroundTapPoint:[4,"rotate-around-tap-point"],token:[1025],depthBuffers:[1,"depth-buffers"],experimentalGhostingOpacity:[2,"experimental-ghosting-opacity"],featureLines:[16],featureHighlighting:[16],featureMaps:[1,"feature-maps"],selectionMaterial:[1,"selection-material"],frame:[1040],stream:[1040],stencilBuffer:[1040],viewport:[1040],dimensions:[32],hostDimensions:[32],errorMessage:[32],cursor:[32],stateMap:[32],dispatchFrameDrawn:[64],registerInteractionHandler:[64],registerTapKeyInteraction:[64],getInteractionTarget:[64],addCursor:[64],getInteractionHandlers:[64],getBaseInteractionHandler:[64],getJwt:[64],load:[64],unload:[64],scene:[64],isSceneReady:[64]},[[0,"tap","handleTapEvent"]]]]],["p-f77dde26",[[1,"vertex-viewer-measurement-details",{measurementModel:[16],distanceUnits:[1,"distance-units"],angleUnits:[1,"angle-units"],fractionalDigits:[2,"fractional-digits"],distanceFormatter:[16],angleFormatter:[16],areaFormatter:[16],hiddenDetails:[1040],hiddenDetailsJson:[1,"hidden-details"],results:[1040],summary:[1040],visibleSummary:[1040]}]]],["p-0c052bc8",[[1,"vertex-viewer-measurement-precise",{measurementModel:[16],measurementController:[1040],viewer:[16],configEnv:[1,"config-env"],config:[16],entities:[32]}]]],["p-c23a8b34",[[1,"vertex-viewer-icon",{name:[1],size:[1]}]]],["p-653aca1b",[[1,"vertex-scene-tree-search",{debounce:[2],disabled:[4],placeholder:[1],value:[1025],focused:[32],setFocus:[64]}],[1,"vertex-scene-tree-table-layout",{tree:[16],controller:[16],rows:[16],totalRows:[2,"total-rows"],rowHeight:[1026,"row-height"],overScanCount:[2,"over-scan-count"],rowData:[16],layoutOffset:[1026,"layout-offset"],scrollOffset:[1026,"scroll-offset"],layoutHeight:[1026,"layout-height"],layoutWidth:[1026,"layout-width"],viewportStartIndex:[1026,"viewport-start-index"],viewportEndIndex:[1026,"viewport-end-index"],columnGridLayout:[32],columnGridFixedLayout:[32],hoveredNodeId:[32],isComputingCellHeight:[32],lastDividerPointerPosition:[32],resizingColumnIndex:[32],stateMap:[32],scrollToPosition:[64]}],[1,"vertex-scene-tree-toolbar"]]],["p-a0e49d10",[[1,"vertex-viewer-toolbar",{placement:[1],direction:[1]}],[1,"vertex-viewer-button"],[1,"vertex-viewer-toolbar-group",{direction:[1]}]]],["p-b7ffa306",[[1,"vertex-viewer-dom-element",{position:[1040],positionJson:[1,"position"],rotation:[1040],rotationJson:[1,"rotation"],quaternion:[1040],quaternionJson:[1,"quaternion"],scale:[1040],scaleJson:[1,"scale"],matrix:[1040],occlusionOff:[4,"occlusion-off"],occluded:[516],billboardOff:[4,"billboard-off"],interactionsOff:[516,"interactions-off"]}],[1,"vertex-viewer-dom-group",{position:[1040],positionJson:[1,"position"],rotation:[1040],rotationJson:[1,"rotation"],quaternion:[1040],quaternionJson:[1,"quaternion"],scale:[1040],scaleJson:[1,"scale"],matrix:[1040]}],[1,"vertex-viewer-dom-renderer",{drawMode:[1,"draw-mode"],viewer:[16],camera:[1040],depthBuffer:[1040],viewport:[32],invalidateFrameCounter:[32]},[[0,"propertyChange","handlePropertyChange"]]]]],["p-e84ed098",[[1,"vertex-viewer-layer",{stretchOff:[516,"stretch-off"]}]]],["p-d40bd835",[[1,"vertex-viewer-measurement-distance",{start:[1040],startJson:[1,"start"],end:[1040],endJson:[1,"end"],distance:[1026],snapDistance:[2,"snap-distance"],units:[1],fractionalDigits:[2,"fractional-digits"],labelFormatter:[16],anchorLabelOffset:[2,"anchor-label-offset"],lineCapLength:[2,"line-cap-length"],mode:[513],interactingAnchor:[1537,"interacting-anchor"],invalid:[1540],camera:[16],hitProvider:[16],indicatorPt:[1040],viewer:[16],viewport:[32],elementBounds:[32],interactionCount:[32],internalCamera:[32],invalidateStateCounter:[32],stateMap:[32],computeElementMetrics:[64]}],[1,"vertex-viewer-measurement-line",{start:[16],end:[16],capLength:[2,"cap-length"],pointerEvents:[1,"pointer-events"]}]]],["p-40800e8d",[[1,"vertex-viewer-markup-arrow",{start:[1040],startJson:[1,"start"],end:[1040],endJson:[1,"end"],mode:[513],viewer:[16],elementBounds:[32],editAnchor:[32],dispose:[64]}],[1,"vertex-viewer-markup-circle",{bounds:[1040],boundsJson:[1,"bounds"],mode:[513],viewer:[16],elementBounds:[32],startPosition:[32],editAnchor:[32],resizeBounds:[32],dispose:[64]}],[1,"vertex-viewer-markup-freeform",{points:[1040],pointsJson:[1,"points"],bounds:[1040],boundsJson:[1,"bounds"],mode:[513],viewer:[16],elementBounds:[32],resizeStartPosition:[32],editAnchor:[32],resizeBounds:[32],resizePoints:[32],screenPoints:[32],dispose:[64]}]]]],e)));
4
+ import{d as e,N as t,w as a,p as r,b as i}from"./p-cafa57a6.js";(()=>{const i=Array.from(e.querySelectorAll("script")).find((e=>new RegExp(`/${t}(\\.esm)?\\.js($|\\?|#)`).test(e.src)||e.getAttribute("data-stencil-namespace")===t)),n={};return n.resourcesUrl=new URL(".",new URL(i.getAttribute("data-resources-url")||i.src,a.location.href)).href,((r,i)=>{const n=`__sc_import_${t.replace(/\s|-/g,"_")}`;try{a[n]=new Function("w",`return import(w);//${Math.random()}`)}catch(t){const o=new Map;a[n]=t=>{const s=new URL(t,r).href;let l=o.get(s);if(!l){const t=e.createElement("script");t.type="module",t.crossOrigin=i.crossOrigin,t.src=URL.createObjectURL(new Blob([`import * as m from '${s}'; window.${n}.m = m;`],{type:"application/javascript"})),l=new Promise((e=>{t.onload=()=>{e(a[n].m),t.remove()}})),o.set(s,l),e.head.appendChild(t)}return l}}})(n.resourcesUrl,i),a.customElements?r(n):__sc_import_viewer("./p-ac0761c3.js").then((()=>n))})().then((e=>i([["p-a455ae02",[[1,"vertex-viewer-default-toolbar",{viewer:[16],placement:[1],direction:[1],animationsDisabled:[4,"animations-disabled"],animationMs:[2,"animation-ms"]}]]],["p-353cfc7a",[[1,"vertex-scene-tree",{overScanCount:[2,"over-scan-count"],viewerSelector:[1,"viewer-selector"],viewer:[1040],rowData:[16],config:[16],configEnv:[1,"config-env"],controller:[1040],filterOnMetadata:[1028,"filter-on-metadata"],metadataKeys:[16],rows:[32],totalRows:[32],stateMap:[32],connectionErrorDetails:[32],attemptingRetry:[32],invalidateRows:[64],scrollToIndex:[64],scrollToItem:[64],expandAll:[64],collapseAll:[64],expandItem:[64],collapseItem:[64],toggleExpandItem:[64],toggleItemVisibility:[64],hideItem:[64],showItem:[64],selectItem:[64],deselectItem:[64],getRowAtIndex:[64],getRowForEvent:[64],getRowAtClientY:[64],filterItems:[64],fetchMetadataKeys:[64]},[[0,"search","handleSearch"]]]]],["p-6370098c",[[1,"vertex-viewer-measurement-tool",{distanceTemplateId:[1,"distance-template-id"],tool:[1],units:[1],fractionalDigits:[2,"fractional-digits"],disabled:[4],viewer:[16],isMeasuring:[1540,"is-measuring"],snapDistance:[2,"snap-distance"],stateMap:[32]}]]],["p-e07377fa",[[1,"vertex-viewer-markup",{arrowTemplateId:[1,"arrow-template-id"],circleTemplateId:[1,"circle-template-id"],freeformTemplateId:[1,"freeform-template-id"],tool:[1],disabled:[4],viewer:[16],selectedMarkupId:[1025,"selected-markup-id"],selectNew:[4,"select-new"],toSelectMarkupId:[32],pointerDownPosition:[32],addMarkup:[64],removeMarkup:[64],getMarkupElements:[64],getMarkupElement:[64]},[[0,"markupEnd","handleMarkupEnd"],[1,"pointerdown","handleMarkupPointerDown"]]]]],["p-8decee06",[[1,"vertex-viewer-markup-tool",{arrowTemplateId:[1,"arrow-template-id"],circleTemplateId:[1,"circle-template-id"],freeformTemplateId:[1,"freeform-template-id"],tool:[1],disabled:[4],viewer:[16],stateMap:[32],reset:[64]}]]],["p-7006fd4e",[[1,"vertex-viewer-measurements",{distanceTemplateId:[1,"distance-template-id"],tool:[1],units:[1],fractionalDigits:[2,"fractional-digits"],disabled:[4],viewer:[16],selectedMeasurementId:[1025,"selected-measurement-id"],snapDistance:[2,"snap-distance"],showAxisReferenceLines:[4,"show-axis-reference-lines"],measurementModel:[16],addMeasurement:[64],removeMeasurement:[64],getMeasurementElement:[64],getMeasurementElements:[64]},[[0,"measureEnd","handleMeasureEnd"],[1,"pointerdown","handleMeasurementPointerDown"]]]]],["p-d90f2f6d",[[1,"vertex-viewer-view-cube",{xPositiveLabel:[1,"x-positive-label"],xNegativeLabel:[1,"x-negative-label"],yPositiveLabel:[1,"y-positive-label"],yNegativeLabel:[1,"y-negative-label"],zPositiveLabel:[1,"z-positive-label"],zNegativeLabel:[1,"z-negative-label"],standardViewsOff:[4,"standard-views-off"],animationDuration:[2,"animation-duration"],triadOff:[4,"triad-off"],worldOrientation:[1040],camera:[1040],viewer:[16],boxLength:[32],triadPosition:[32]}]]],["p-bc9b1e67",[[1,"vertex-viewer-measurement-precise",{measurementModel:[16],measurementOverlays:[16],measurementController:[1040],measurableEntityTypes:[16],viewer:[16],configEnv:[1,"config-env"],config:[16],overlays:[32]}]]],["p-fec1a8d0",[[1,"vertex-scene-tree-table-cell",{node:[16],tree:[16],value:[1],placeholder:[1],hoveredNodeId:[1,"hovered-node-id"],expandToggle:[4,"expand-toggle"],visibilityToggle:[4,"visibility-toggle"],interactionsDisabled:[4,"interactions-disabled"],recurseParentSelectionDisabled:[4,"recurse-parent-selection-disabled"]}]]],["p-70ca1ea7",[[1,"vertex-scene-tree-table-column",{initialWidth:[2,"initial-width"],minWidth:[2,"min-width"],maxWidth:[2,"max-width"]}]]],["p-d2bcf788",[[1,"vertex-scene-tree-table-header"]]],["p-61b1097b",[[1,"vertex-scene-tree-table-resize-divider",{dragging:[32]}]]],["p-099fe6ca",[[1,"vertex-scene-tree-toolbar-group"]]],["p-7f25dcb5",[[1,"vertex-viewer",{src:[1],clientId:[1,"client-id"],deviceId:[1,"device-id"],config:[1],configEnv:[1,"config-env"],resolvedConfig:[1040],cameraControls:[4,"camera-controls"],keyboardControls:[4,"keyboard-controls"],rotateAroundTapPoint:[4,"rotate-around-tap-point"],token:[1025],depthBuffers:[1,"depth-buffers"],experimentalGhostingOpacity:[2,"experimental-ghosting-opacity"],featureLines:[16],featureHighlighting:[16],featureMaps:[1,"feature-maps"],selectionMaterial:[1,"selection-material"],frame:[1040],stream:[1040],stencilBuffer:[1040],viewport:[1040],dimensions:[32],hostDimensions:[32],errorMessage:[32],cursor:[32],stateMap:[32],dispatchFrameDrawn:[64],registerInteractionHandler:[64],registerTapKeyInteraction:[64],getInteractionTarget:[64],addCursor:[64],getInteractionHandlers:[64],getBaseInteractionHandler:[64],getJwt:[64],load:[64],unload:[64],scene:[64],isSceneReady:[64]},[[0,"tap","handleTapEvent"]]]]],["p-c458f191",[[1,"vertex-viewer-measurement-details",{measurementModel:[16],measurementOverlays:[16],distanceUnits:[1,"distance-units"],angleUnits:[1,"angle-units"],fractionalDigits:[2,"fractional-digits"],distanceFormatter:[16],angleFormatter:[16],areaFormatter:[16],resultTypes:[16],results:[32],isApproximate:[32],overlay:[32],distanceMeasurementUnits:[32],angleMeasurementUnits:[32],areaMeasurementUnits:[32]}]]],["p-0eb195dd",[[1,"vertex-viewer-measurement-distance",{start:[1040],startJson:[1,"start"],end:[1040],endJson:[1,"end"],distance:[1026],showAxisReferenceLines:[4,"show-axis-reference-lines"],snapDistance:[2,"snap-distance"],units:[1],fractionalDigits:[2,"fractional-digits"],labelFormatter:[16],anchorLabelOffset:[2,"anchor-label-offset"],lineCapLength:[2,"line-cap-length"],mode:[513],interactingAnchor:[1537,"interacting-anchor"],invalid:[1540],camera:[16],hitProvider:[16],indicatorPt:[1040],viewer:[16],viewport:[32],elementBounds:[32],interactionCount:[32],internalCamera:[32],invalidateStateCounter:[32],stateMap:[32],computeElementMetrics:[64]}]]],["p-b2b48a42",[[1,"vertex-scene-tree-search",{debounce:[2],disabled:[4],placeholder:[1],value:[1025],focused:[32],setFocus:[64]}],[1,"vertex-scene-tree-table-layout",{tree:[16],controller:[16],rows:[16],totalRows:[2,"total-rows"],rowHeight:[1026,"row-height"],overScanCount:[2,"over-scan-count"],rowData:[16],layoutOffset:[1026,"layout-offset"],scrollOffset:[1026,"scroll-offset"],layoutHeight:[1026,"layout-height"],layoutWidth:[1026,"layout-width"],viewportStartIndex:[1026,"viewport-start-index"],viewportEndIndex:[1026,"viewport-end-index"],columnGridLayout:[32],columnGridFixedLayout:[32],hoveredNodeId:[32],isComputingCellHeight:[32],lastDividerPointerPosition:[32],resizingColumnIndex:[32],stateMap:[32],scrollToPosition:[64]}],[1,"vertex-scene-tree-toolbar"]]],["p-31658489",[[1,"vertex-viewer-toolbar",{placement:[1],direction:[1]}],[1,"vertex-viewer-button"],[1,"vertex-viewer-toolbar-group",{direction:[1]}]]],["p-915d95ad",[[1,"vertex-viewer-dom-element",{position:[1040],positionJson:[1,"position"],rotation:[1040],rotationJson:[1,"rotation"],quaternion:[1040],quaternionJson:[1,"quaternion"],scale:[1040],scaleJson:[1,"scale"],matrix:[1040],occlusionOff:[4,"occlusion-off"],occluded:[516],billboardOff:[4,"billboard-off"],interactionsOff:[516,"interactions-off"]}],[1,"vertex-viewer-dom-group",{position:[1040],positionJson:[1,"position"],rotation:[1040],rotationJson:[1,"rotation"],quaternion:[1040],quaternionJson:[1,"quaternion"],scale:[1040],scaleJson:[1,"scale"],matrix:[1040]}],[1,"vertex-viewer-dom-renderer",{drawMode:[1,"draw-mode"],viewer:[16],camera:[1040],depthBuffer:[1040],viewport:[32],invalidateFrameCounter:[32]},[[0,"propertyChange","handlePropertyChange"]]]]],["p-4717c98e",[[1,"vertex-viewer-icon",{name:[1],size:[1]}]]],["p-46459921",[[1,"vertex-viewer-layer",{stretchOff:[516,"stretch-off"]}]]],["p-f755af5a",[[1,"vertex-viewer-markup-arrow",{start:[1040],startJson:[1,"start"],end:[1040],endJson:[1,"end"],mode:[513],viewer:[16],elementBounds:[32],editAnchor:[32],dispose:[64]}],[1,"vertex-viewer-markup-circle",{bounds:[1040],boundsJson:[1,"bounds"],mode:[513],viewer:[16],elementBounds:[32],startPosition:[32],editAnchor:[32],resizeBounds:[32],dispose:[64]}],[1,"vertex-viewer-markup-freeform",{points:[1040],pointsJson:[1,"points"],bounds:[1040],boundsJson:[1,"bounds"],mode:[513],viewer:[16],elementBounds:[32],resizeStartPosition:[32],editAnchor:[32],resizeBounds:[32],resizePoints:[32],screenPoints:[32],dispose:[64]}]]],["p-1a7df99a",[[1,"vertex-viewer-measurement-overlays",{measurementOverlays:[16],camera:[1040],viewer:[16],overlays:[32]}],[1,"vertex-viewer-measurement-line",{start:[16],end:[16],capLength:[2,"cap-length"],pointerEvents:[1,"pointer-events"]}]]]],e)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertexvis/viewer",
3
- "version": "0.12.0",
3
+ "version": "0.13.0-canary.0",
4
4
  "description": "The Vertex SDK for viewing models.",
5
5
  "license": "MIT",
6
6
  "author": "Vertex Developers <support@vertexvis.com> (https://developer.vertexvis.com)",
@@ -48,13 +48,13 @@
48
48
  "@improbable-eng/grpc-web": "^0.15.0",
49
49
  "@stencil/core": "^2.12.1",
50
50
  "@types/classnames": "^2.3.1",
51
- "@vertexvis/frame-streaming-protos": "^0.6.16",
52
- "@vertexvis/geometry": "0.12.0",
53
- "@vertexvis/html-templates": "0.12.0",
54
- "@vertexvis/scene-tree-protos": "^0.1.11",
55
- "@vertexvis/scene-view-protos": "^0.1.7",
56
- "@vertexvis/stream-api": "0.12.0",
57
- "@vertexvis/utils": "0.12.0",
51
+ "@vertexvis/frame-streaming-protos": "^0.6.18",
52
+ "@vertexvis/geometry": "^0.13.0-canary.0",
53
+ "@vertexvis/html-templates": "^0.13.0-canary.0",
54
+ "@vertexvis/scene-tree-protos": "^0.1.12",
55
+ "@vertexvis/scene-view-protos": "^0.1.8",
56
+ "@vertexvis/stream-api": "^0.13.0-canary.0",
57
+ "@vertexvis/utils": "^0.13.0-canary.0",
58
58
  "@vertexvis/web-workers": "^0.1.0",
59
59
  "camel-case": "^4.1.2",
60
60
  "classnames": "^2.3.1",
@@ -62,6 +62,7 @@
62
62
  "fast-png": "^6.1.0",
63
63
  "google-protobuf": "^3.19.2",
64
64
  "jwt-decode": "^3.1.2",
65
+ "param-case": "^3.0.4",
65
66
  "protobufjs": "^6.9.0",
66
67
  "requestidlecallback-polyfill": "^1.0.2",
67
68
  "threads": "^1.7.0",
@@ -77,7 +78,7 @@
77
78
  "@vertexvis/rollup-plugin-vertexvis-copyright": "^0.4.1",
78
79
  "@vertexvis/rollup-plugin-web-workers": "^0.1.0",
79
80
  "@vertexvis/typescript-config-vertexvis": "1.1.0",
80
- "@vertexwebsdk/build": "0.12.0",
81
+ "@vertexwebsdk/build": "^0.13.0-canary.0",
81
82
  "abortcontroller-polyfill": "^1.7.3",
82
83
  "chance": "^1.1.8",
83
84
  "eslint": "^8.6.0",
@@ -93,5 +94,5 @@
93
94
  "typedoc": "^0.22.10",
94
95
  "typescript": "^4.5.4"
95
96
  },
96
- "gitHead": "9642bca08f9e57be8234032a62d6ae1e27233977"
97
+ "gitHead": "4821be36cc70fe3c4b17cb6da95b8a8d0cf31a36"
97
98
  }
@@ -1,45 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- 'use strict';
5
-
6
- const bundle_esm = require('./bundle.esm-dc0a8361.js');
7
-
8
- function summarizeResults(results) {
9
- return results.reduce((summary, result) => {
10
- switch (result.type) {
11
- case 'minimum-distance':
12
- return Object.assign(Object.assign({}, summary), summarizeMinDistanceResult(result));
13
- case 'planar-angle':
14
- return Object.assign(Object.assign({}, summary), summarizeFromPlanarAngleResult(result));
15
- case 'planar-distance':
16
- return Object.assign(Object.assign({}, summary), summarizePlanarDistanceResult(result));
17
- case 'surface-area':
18
- return Object.assign(Object.assign({}, summary), summarizeSurfaceAreaResult(result));
19
- }
20
- }, {});
21
- }
22
- function summarizeMinDistanceResult(result) {
23
- const distanceVector = bundle_esm.vector3.subtract(result.closestPoint1, result.closestPoint2);
24
- return {
25
- minDistance: result.distance,
26
- distanceVector,
27
- };
28
- }
29
- function summarizePlanarDistanceResult(result) {
30
- return {
31
- parallelDistance: result.distance,
32
- };
33
- }
34
- function summarizeFromPlanarAngleResult(result) {
35
- return {
36
- angle: result.angle,
37
- };
38
- }
39
- function summarizeSurfaceAreaResult(result) {
40
- return {
41
- area: result.area,
42
- };
43
- }
44
-
45
- exports.summarizeResults = summarizeResults;
@@ -1,38 +0,0 @@
1
- import { Vector3 } from '@vertexvis/geometry';
2
- export function summarizeResults(results) {
3
- return results.reduce((summary, result) => {
4
- switch (result.type) {
5
- case 'minimum-distance':
6
- return Object.assign(Object.assign({}, summary), summarizeMinDistanceResult(result));
7
- case 'planar-angle':
8
- return Object.assign(Object.assign({}, summary), summarizeFromPlanarAngleResult(result));
9
- case 'planar-distance':
10
- return Object.assign(Object.assign({}, summary), summarizePlanarDistanceResult(result));
11
- case 'surface-area':
12
- return Object.assign(Object.assign({}, summary), summarizeSurfaceAreaResult(result));
13
- }
14
- }, {});
15
- }
16
- function summarizeMinDistanceResult(result) {
17
- const distanceVector = Vector3.subtract(result.closestPoint1, result.closestPoint2);
18
- return {
19
- minDistance: result.distance,
20
- distanceVector,
21
- };
22
- }
23
- function summarizePlanarDistanceResult(result) {
24
- return {
25
- parallelDistance: result.distance,
26
- };
27
- }
28
- function summarizeFromPlanarAngleResult(result) {
29
- return {
30
- angle: result.angle,
31
- };
32
- }
33
- function summarizeSurfaceAreaResult(result) {
34
- return {
35
- area: result.area,
36
- };
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWVhc3VyZW1lbnQvc3VtbWFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFtQjlDLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsT0FBNEI7RUFFNUIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO0lBQ3hDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtNQUNuQixLQUFLLGtCQUFrQjtRQUNyQix1Q0FBWSxPQUFPLEdBQUssMEJBQTBCLENBQUMsTUFBTSxDQUFDLEVBQUc7TUFDL0QsS0FBSyxjQUFjO1FBQ2pCLHVDQUFZLE9BQU8sR0FBSyw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsRUFBRztNQUNuRSxLQUFLLGlCQUFpQjtRQUNwQix1Q0FBWSxPQUFPLEdBQUssNkJBQTZCLENBQUMsTUFBTSxDQUFDLEVBQUc7TUFDbEUsS0FBSyxjQUFjO1FBQ2pCLHVDQUFZLE9BQU8sR0FBSywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsRUFBRztLQUNoRTtFQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUNqQyxNQUF3QztFQUV4QyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUNyQyxNQUFNLENBQUMsYUFBYSxFQUNwQixNQUFNLENBQUMsYUFBYSxDQUNyQixDQUFDO0VBRUYsT0FBTztJQUNMLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUTtJQUM1QixjQUFjO0dBQ2YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLDZCQUE2QixDQUNwQyxNQUF1QztFQUV2QyxPQUFPO0lBQ0wsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLFFBQVE7R0FDbEMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLDhCQUE4QixDQUNyQyxNQUFvQztFQUVwQyxPQUFPO0lBQ0wsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO0dBQ3BCLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FDakMsTUFBb0M7RUFFcEMsT0FBTztJQUNMLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtHQUNsQixDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,43 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import { v as vector3 } from './bundle.esm-8f14ac60.js';
5
-
6
- function summarizeResults(results) {
7
- return results.reduce((summary, result) => {
8
- switch (result.type) {
9
- case 'minimum-distance':
10
- return Object.assign(Object.assign({}, summary), summarizeMinDistanceResult(result));
11
- case 'planar-angle':
12
- return Object.assign(Object.assign({}, summary), summarizeFromPlanarAngleResult(result));
13
- case 'planar-distance':
14
- return Object.assign(Object.assign({}, summary), summarizePlanarDistanceResult(result));
15
- case 'surface-area':
16
- return Object.assign(Object.assign({}, summary), summarizeSurfaceAreaResult(result));
17
- }
18
- }, {});
19
- }
20
- function summarizeMinDistanceResult(result) {
21
- const distanceVector = vector3.subtract(result.closestPoint1, result.closestPoint2);
22
- return {
23
- minDistance: result.distance,
24
- distanceVector,
25
- };
26
- }
27
- function summarizePlanarDistanceResult(result) {
28
- return {
29
- parallelDistance: result.distance,
30
- };
31
- }
32
- function summarizeFromPlanarAngleResult(result) {
33
- return {
34
- angle: result.angle,
35
- };
36
- }
37
- function summarizeSurfaceAreaResult(result) {
38
- return {
39
- area: result.area,
40
- };
41
- }
42
-
43
- export { summarizeResults as s };
@@ -1,11 +0,0 @@
1
- import { Vector3 } from '@vertexvis/geometry';
2
- import { MeasurementResult } from './model';
3
- export interface MeasurementDetailsSummary {
4
- parallelDistance?: number;
5
- minDistance?: number;
6
- maxDistance?: number;
7
- area?: number;
8
- angle?: number;
9
- distanceVector?: Vector3.Vector3;
10
- }
11
- export declare function summarizeResults(results: MeasurementResult[]): MeasurementDetailsSummary;
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{p as s,i as r}from"./p-784914e4.js";import{b as o}from"./p-f70d8def.js";class i{constructor(r){var i,l,t;this.start=null!==(i=r.start)&&void 0!==i?i:s.create(),this.end=null!==(l=r.end)&&void 0!==l?l:s.create(),this.id=null!==(t=r.id)&&void 0!==t?t:`arrow-markup--${o.create()}`}}class l{constructor(s){var i,l;this.bounds=null!==(i=s.bounds)&&void 0!==i?i:r.create(0,0,0,0),this.id=null!==(l=s.id)&&void 0!==l?l:`circle-markup--${o.create()}`}}class t{constructor(s){var i,l,t;this.bounds=null!==(i=s.bounds)&&void 0!==i?i:r.create(0,0,0,0),this.points=null!==(l=s.points)&&void 0!==l?l:[],this.id=null!==(t=s.id)&&void 0!==t?t:`freeform-markup--${o.create()}`}}export{i as A,l as C,t as F}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{r as e,h as t,H as i}from"./p-75337d0b.js";import{s as n,M as s,a as r}from"./p-f4a8c901.js";import{g as o}from"./p-3a20a038.js";import{p as a}from"./p-4485ac6d.js";import{M as l}from"./p-6cd7a6e0.js";import{p as h}from"./p-784914e4.js";import"./p-b83cc8a9.js";import"./p-d2a9e047.js";import{g as d}from"./p-6f71f0f2.js";import"./p-f70d8def.js";import"./p-112455b1.js";var u=o.grpc,p=function(){function e(){}return e.serviceName="vertexvis.protobuf.sceneview.v1.SceneViewAPI",e}();function c(e,t){this.serviceHost=e,this.options=t||{}}p.UpdateModelEntities={methodName:"UpdateModelEntities",service:p,requestStream:!1,responseStream:!1,requestType:n.UpdateModelEntitiesRequest,responseType:n.UpdateModelEntitiesResponse},p.Measure={methodName:"Measure",service:p,requestStream:!1,responseStream:!1,requestType:n.MeasureRequest,responseType:n.MeasureResponse},c.prototype.updateModelEntities=function(e,t,i){2===arguments.length&&(i=arguments[1]);var n=u.unary(p.UpdateModelEntities,{request:e,host:this.serviceHost,metadata:t,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(i)if(e.status!==u.Code.OK){var t=new Error(e.statusMessage);t.code=e.status,t.metadata=e.trailers,i(t,null)}else i(null,e.message)}});return{cancel:function(){i=null,n.close()}}},c.prototype.measure=function(e,t,i){2===arguments.length&&(i=arguments[1]);var n=u.unary(p.Measure,{request:e,host:this.serviceHost,metadata:t,transport:this.options.transport,debug:this.options.debug,onEnd:function(e){if(i)if(e.status!==u.Code.OK){var t=new Error(e.statusMessage);t.code=e.status,t.metadata=e.trailers,i(t,null)}else i(null,e.message)}});return{cancel:function(){i=null,n.close()}}};var m=c;class v{constructor(e){this.handlePointerDown=e=>{this.ifNoInteraction(e,(()=>{this.ifInitialized((async({element:t,api:i})=>{const n=d(e,t.getBoundingClientRect()),[r]=await i.hitItems(n);null!=r?this.controller.addEntity(s.fromHit(r)):this.controller.clearEntities()}))}))},this.controller=e}initialize(e,t){this.element=e,this.api=t,e.addEventListener("pointerdown",this.handlePointerDown)}dispose(){var e;null===(e=this.element)||void 0===e||e.removeEventListener("pointerdown",this.handlePointerDown)}ifNoInteraction(e,t){const i=h.create(e.clientX,e.clientY);let n=!1;function s(e){const t=h.create(e.clientX,e.clientY),s=h.distance(i,t);n=s>2}window.addEventListener("pointermove",s),window.addEventListener("pointerup",(function e(){window.removeEventListener("pointermove",s),window.removeEventListener("pointerup",e),n||t()}))}ifInitialized(e){if(null!=this.element&&null!=this.api)return e({element:this.element,api:this.api});throw new Error("Measurement interaction handler not initialized")}}let f=class{constructor(t){e(this,t),this.measurementModel=new r,this.configEnv="platprod",this.entities=[],this.handleEntitiesChanged=()=>{this.updateEntities()}}connectedCallback(){this.setupInteractionHandler()}componentWillLoad(){this.setupController(),this.setupInteractionHandler(),this.setupModelListeners()}disconnectedCallback(){this.clearInteractionHandler()}handleMeasurementControllerChanged(){this.setupInteractionHandler()}handleMeasurementModelChanged(){this.setupController(),this.setupModelListeners()}handleViewerChanged(){this.setupInteractionHandler()}render(){return t(i,null)}setupController(){var e;const t=a(this.configEnv,this.config),i=new m(t.network.sceneViewHost);this.measurementController=new l(this.measurementModel,i,(()=>{var e;return null===(e=this.viewer)||void 0===e?void 0:e.token}),null===(e=this.viewer)||void 0===e?void 0:e.deviceId)}clearInteractionHandler(){var e;null===(e=this.registeredInteractionHandler)||void 0===e||e.then((e=>e.dispose())),this.registeredInteractionHandler=void 0}setupInteractionHandler(){var e;this.clearInteractionHandler(),null!=this.measurementController&&(this.registeredInteractionHandler=null===(e=this.viewer)||void 0===e?void 0:e.registerInteractionHandler(new v(this.measurementController)))}clearModelListeners(){var e;null===(e=this.onEntitiesChangedDisposable)||void 0===e||e.dispose(),this.onEntitiesChangedDisposable=void 0}setupModelListeners(){var e;this.clearModelListeners(),this.onEntitiesChangedDisposable=null===(e=this.measurementModel)||void 0===e?void 0:e.onEntitiesChanged(this.handleEntitiesChanged)}updateEntities(){var e,t;this.entities=null!==(t=null===(e=this.measurementModel)||void 0===e?void 0:e.getEntities())&&void 0!==t?t:[]}static get watchers(){return{measurementController:["handleMeasurementControllerChanged"],measurementModel:["handleMeasurementModelChanged"],viewer:["handleViewerChanged"]}}};f.style=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}";export{f as vertex_viewer_measurement_precise}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{v as e}from"./p-784914e4.js";function t(t){return t.reduce(((t,n)=>{switch(n.type){case"minimum-distance":return Object.assign(Object.assign({},t),function(t){const n=e.subtract(t.closestPoint1,t.closestPoint2);return{minDistance:t.distance,distanceVector:n}}(n));case"planar-angle":return Object.assign(Object.assign({},t),function(e){return{angle:e.angle}}(n));case"planar-distance":return Object.assign(Object.assign({},t),function(e){return{parallelDistance:e.distance}}(n));case"surface-area":return Object.assign(Object.assign({},t),function(e){return{area:e.area}}(n))}}),{})}export{t as s}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{r as e,c as t,h as s,H as n,g as a}from"./p-75337d0b.js";import{M as i,i as r}from"./p-38eeacc5.js";import{s as h}from"./p-c738296e.js";import"./p-d2a9e047.js";import{D as d}from"./p-5dc17b8b.js";import"./p-784914e4.js";import"./p-f70d8def.js";import"./p-112455b1.js";let o=class{constructor(s){e(this,s),this.measurementAdded=t(this,"measurementAdded",7),this.measurementRemoved=t(this,"measurementRemoved",7),this.tool="distance",this.units="millimeters",this.fractionalDigits=2,this.disabled=!1,this.snapDistance=i}async addMeasurement(e){if(e instanceof d){const{start:t,end:s,invalid:n,id:a}=e,i=this.createDistanceMeasurementElement();return i.id=a,i.start=t,i.end=s,i.invalid=n,this.updatePropsOnMeasurement(i),this.hostEl.appendChild(i),this.measurementAdded.emit(i),i}throw new Error(`Cannot add measurement. Unknown type '${e}'.`)}async removeMeasurement(e){const t=(await this.getMeasurementElements()).find((t=>t.id===e));return null!=t&&(t.remove(),this.measurementRemoved.emit(t)),t}async getMeasurementElement(e){return(await this.getMeasurementElements()).find((t=>t.id===e))}async getMeasurementElements(){return Array.from(this.hostEl.children).filter(r)}async handleSelectedMeasurementIdChanged(){(await this.getMeasurementElements()).forEach((e=>{e.mode=e.id===this.selectedMeasurementId?"edit":""}))}handleToolChanged(){this.updatePropsOnMeasurementTool()}async handleViewerChanged(e){this.updatePropsOnMeasurementTool(),this.updatePropsOnMeasurements()}handleDisabledChanged(){this.updatePropsOnMeasurementTool()}handleDistanceTemplateIdChanged(){this.updatePropsOnMeasurementTool()}handleUnitsChanged(){this.updatePropsOnMeasurementTool(),this.updatePropsOnMeasurements()}handleFractionalDigitsChanged(){this.updatePropsOnMeasurementTool(),this.updatePropsOnMeasurements()}handleSnapDistanceChanged(){this.updatePropsOnMeasurementTool(),this.updatePropsOnMeasurements()}async handleMeasureEnd(e){const t=e;await this.addMeasurement(t.detail),this.selectedMeasurementId=t.detail.id}async handleMeasurementPointerDown(e){if(!this.disabled){const t=e.target,s=(await this.getMeasurementElements()).find((e=>e===t));null!=(null==s?void 0:s.id)&&""!==(null==s?void 0:s.id)&&(this.selectedMeasurementId=t.id)}}componentDidLoad(){this.updatePropsOnMeasurementTool()}render(){return s(n,null,s("slot",null))}createDistanceMeasurementElement(){if(null!=this.distanceTemplateId){const e=h(window.document.body,this.distanceTemplateId,r,(()=>console.warn(`Distance template with ID ${this.distanceTemplateId} not found. Using default distance element.`)),(()=>console.warn("Distance template does not contain a vertex-viewer-measurement-distance. Using default distance element.")));if(null!=e)return e}return document.createElement("vertex-viewer-measurement-distance")}async updatePropsOnMeasurements(){(await this.getMeasurementElements()).forEach((e=>this.updatePropsOnMeasurement(e)))}updatePropsOnMeasurement(e){e.fractionalDigits=this.fractionalDigits,e.units=this.units,e.snapDistance=this.snapDistance,e.viewer=this.viewer,e.classList.add("viewer-measurements__measurement")}updatePropsOnMeasurementTool(){const e=this.getMeasurementTool();null!=e&&(e.disabled=this.disabled,e.distanceTemplateId=this.distanceTemplateId,e.tool=this.tool,e.fractionalDigits=this.fractionalDigits,e.units=this.units,e.snapDistance=this.snapDistance,e.viewer=this.viewer)}getMeasurementTool(){return this.hostEl.querySelector("vertex-viewer-measurement-tool")}get hostEl(){return a(this)}static get watchers(){return{selectedMeasurementId:["handleSelectedMeasurementIdChanged"],tool:["handleToolChanged"],viewer:["handleViewerChanged"],disabled:["handleDisabledChanged"],distanceTemplateId:["handleDistanceTemplateIdChanged"],units:["handleUnitsChanged"],fractionalDigits:["handleFractionalDigitsChanged"],snapDistance:["handleSnapDistanceChanged"]}}};o.style=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}::slotted(.viewer-measurements__measurement[mode='']){cursor:pointer}::slotted(.viewer-measurements__measurement[mode='edit']){z-index:1}::slotted(.viewer-measurements__measurement[interacting-anchor='start']),::slotted(.viewer-measurements__measurement[interacting-anchor='end']),::slotted(vertex-viewer-measurement-tool[is-measuring]){z-index:2}";export{o as vertex_viewer_measurements}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{v as t,p as n,l as e}from"./p-784914e4.js";const r=16,a=10;function i(n,e,r){const a=t.transformMatrix(n,e);return r.transformVectorToViewport(a)}function s(t,r,a){const{start:s,end:o,hideStart:d,hideEnd:c}=function(t,n){const{camera:r,projectionViewMatrix:a,viewport:i}=n,s=r.isPointBehindNear(t.start),o=r.isPointBehindNear(t.end);if(s||o){const n=r.intersectLineWithNear(t),d=e.create({start:s&&null!=n?n:t.start,end:o&&null!=n?n:t.end}),c=e.transformMatrix(d,a);return{start:i.transformVectorToViewport(c.start),end:i.transformVectorToViewport(c.end),hideStart:s,hideEnd:o}}{const n=e.transformMatrix(t,a);return{start:i.transformVectorToViewport(n.start),end:i.transformVectorToViewport(n.end),hideStart:!1,hideEnd:!1}}}(t,a);return{startPt:s,endPt:o,labelPt:n.lerp(s,o,.5),indicatorPt:"none"!==r?function(t,n,e){return i("start"===n?t.start:t.end,e.projectionViewMatrix,e.viewport)}(t,r,a):void 0,hideStart:d,hideEnd:c}}function o(t){return t instanceof HTMLElement&&"VERTEX-VIEWER-MEASUREMENT-DISTANCE"===t.nodeName}export{r as M,a,s as g,o as i,i as t}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{a as n}from"./p-75337d0b.js";function o(o){n(o)}function t(n,o){let t;return{emit:function(i){window.clearTimeout(t),t=window.setTimeout((()=>n.emit(i)),o)}}}export{t as d,o as r}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{v as t}from"./p-784914e4.js";import{b as s}from"./p-f70d8def.js";class i{constructor(i){var r,e,o,l;this.start=null!==(r=i.start)&&void 0!==r?r:t.origin(),this.end=null!==(e=i.end)&&void 0!==e?e:t.origin(),this.invalid=null!==(o=i.invalid)&&void 0!==o&&o,this.id=null!==(l=i.id)&&void 0!==l?l:`measurement--${s.create()}`}getWorldDistance(){return t.distance(this.start,this.end)}getRealDistance(t){return t.convertRealValueToWorld(this.getWorldDistance())}}export{i as D}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{d as t,p as r,v as s,r as n,i as o}from"./p-784914e4.js";class i{constructor(r,s){this.width=r,this.height=s,this.center=t.center(this.dimensions)}static fromDimensions(t){return new i(t.width,t.height)}transformVectorToViewport(t){return r.create(t.x*this.center.x+this.center.x,-t.y*this.center.y+this.center.y)}transformPointToViewport(t,s){const{x:n,y:o}=this.calculateFrameScale(s);return r.scale(t,1*n,1*o)}transformPointToFrame(t,s){const{x:n,y:o}=this.calculateFrameScale(s);return r.scale(t,1/n,1/o)}transformPointToWorldSpace(t,r,s){const n=this.transformPointToFrame(t,r),o=this.transformPointToRay(t,r,r.camera);return r.getWorldPoint(n,o,s)}transformPointToRay(t,r,o){const i=this.transformScreenPointToNdc(t,r),e=s.fromMatrixPosition(o.worldMatrix),a=s.transformNdcToWorldSpace(s.create(i.x,i.y,.5),o.worldMatrix,o.projectionMatrixInverse),c=s.normalize(s.subtract(a,e));return n.create({origin:e,direction:c})}transformScreenPointToNdc(t,s){const n=this.transformPointToFrame(t,s);return r.create(n.x/s.imageAttr.frameDimensions.width*2-1,-n.y/s.imageAttr.frameDimensions.height*2+1)}calculateDrawRect(t){const{x:r,y:s}=this.calculateFrameScale(t);return o.scale(t.imageAttr.imageRect,r,s)}calculateFrameScale(t){const{frameDimensions:s}=t.imageAttr,n=o.fromDimensions(s),i=o.fromDimensions(this.dimensions),e=o.containFit(i,n);return r.create(e.width/n.width,e.height/n.height)}get dimensions(){return t.create(this.width,this.height)}}export{i as V}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{r as t,c as i,h as s,H as n,g as e}from"./p-75337d0b.js";import{p as h,v as o,h as r,g as a,r as l,b as c,o as d,d as u}from"./p-784914e4.js";import{h as w,i as v,j as f,t as p,p as m,k as g,l as y,S as b,m as C,n as P,o as I,q as T,r as S,s as x,u as k,W as D}from"./p-d2a9e047.js";import{E,m as M,c as O,o as j,u as A,a as R,b as F}from"./p-f70d8def.js";import{c as z}from"./p-f482325b.js";import{p as N}from"./p-4485ac6d.js";import{C as B}from"./p-b83cc8a9.js";import{g as $,c as L}from"./p-6f71f0f2.js";import{I as K,f as W,C as V,W as q,a as U,b as H,d as G,V as J,e as _,g as X,h as Y,i as Q,S as Z}from"./p-a6a8026f.js";import{V as tt}from"./p-5fea3491.js";import"./p-112455b1.js";class it{constructor(t){this.viewer=t,this.handleInteractionStarted=()=>{this.invalidateStencilBuffer(),this.pendingInteractionFinished=new Promise((t=>{this.pendingInteractionFinishedResolver=t}))},this.handleInteractionFinished=()=>{var t;null===(t=this.pendingInteractionFinishedResolver)||void 0===t||t.call(this),this.pendingInteractionFinished=void 0,this.pendingInteractionFinishedResolver=void 0},this.invalidateStencilBuffer=()=>{this.pendingStencilBuffer=void 0},t.addEventListener("interactionStarted",this.handleInteractionStarted),t.addEventListener("interactionFinished",this.handleInteractionFinished),t.addEventListener("frameReceived",(()=>{this.invalidateStencilBuffer()}))}async fetch(){var t;const i=await this.viewer.isSceneReady()?await this.viewer.scene():void 0,s=null!=i&&(i.crossSectioning().current().sectionPlanes.length>0||null!=this.viewer.featureLines),n=null===(t=this.viewer.frame)||void 0===t?void 0:t.scene.camera;if(s&&null!=this.viewer.stream&&null!=n){const t=await this.viewer.stream.getStencilBuffer({includeDepthBuffer:!0}),{stencilBuffer:i,depthBuffer:s,imageAttributes:e}=w(t),[h,o]=await Promise.all([v(new Uint8Array(i)),v(new Uint8Array(s))]);return st.fromPng(h,e,i,f.fromPng(o,n,e))}}latest(){return null==this.pendingStencilBuffer&&(this.pendingStencilBuffer=this.fetch()),this.pendingStencilBuffer}async latestAfterInteraction(){return await this.pendingInteractionFinished,this.latest()}}class st{constructor(t,i,s,n,e){this.imageAttr=t,this.imageBytes=i,this.pixelBytes=s,this.imageChannels=n,this.depthBuffer=e}static fromPng(t,i,s,n){if(t.data instanceof Uint8Array){if(1!==t.channels)throw new Error("Expected stencil PNG to have 1 color channel");return new st(i,s,t.data,t.channels,n)}throw new Error("Expected stencil PNG to have depth of 8-bit")}getValue(t){const{width:i,height:s}=this.imageAttr.imageRect,n=h.subtract(t,this.imageAttr.imageRect),e=1/this.imageAttr.imageScale,o=h.scale(n,e,e);if(o.x>=0&&o.y>=0&&o.x<i&&o.y<s){const t=Math.floor(o.x)+Math.floor(o.y)*i;return this.pixelBytes[t]}return 0}hitTest(t){return 0!==this.getValue(t)}snapToNearestPixel(t,i,s=(()=>!0)){const n=2*i,e=h.create(t.x-i,t.y-i),o=[];for(let r=0;r<n*n;r++){const a=r%n,l=Math.floor(r/n),c=h.add(e,{x:a,y:l});if(h.distance(c,t)<=i){const t=this.getValue(c);255===t&&s(t)&&o.push(c)}}const r=o.sort(((i,s)=>h.distance(i,t)-h.distance(s,t)))[0];return null!=r?h.create(Math.floor(r.x)+.5,Math.floor(r.y)+.5):t}}class nt{constructor(t,i,s){this.stream=t,this.configProvider=i,this.imageScaleProvider=s}predicate(t){return t.altKey&&!t.shiftKey}async fn(t){var i;const s=this.imageScaleProvider(),n=await this.stream.hitItems({point:h.scale(t.position,(null==s?void 0:s.x)||1,(null==s?void 0:s.y)||1)},!0);null!=(null===(i=n.hitItems)||void 0===i?void 0:i.hits)&&n.hitItems.hits.length>0?await this.stream.flyTo({itemId:n.hitItems.hits[0].itemId,animation:{duration:p(this.configProvider().animation.durationMs)}}):console.debug(`No hit results found for fly to part [position={x: ${t.position.x}, y: ${t.position.y}}]`)}}class et{constructor(t,i,s,n){this.stream=t,this.configProvider=i,this.imageScaleProvider=s,this.sceneProvider=n}predicate(t){return t.altKey&&t.shiftKey}async fn(t){var i,s;const n=this.imageScaleProvider(),e=await this.stream.hitItems({point:h.scale(t.position,(null==n?void 0:n.x)||1,(null==n?void 0:n.y)||1)},!0);if(null!=(null===(i=e.hitItems)||void 0===i?void 0:i.hits)&&e.hitItems.hits.length>0&&null!=e.hitItems.hits[0].hitPoint){const i=this.sceneProvider().camera(),n=e.hitItems.hits[0];null!=n.hitPoint&&null!=n.hitPoint.x&&null!=n.hitPoint.y&&null!=n.hitPoint.z?await this.stream.flyTo({camera:i.update({lookAt:o.create(n.hitPoint.x,n.hitPoint.y,n.hitPoint.z)}).toFrameCamera(),animation:{duration:p(this.configProvider().animation.durationMs)}}):console.debug(`No hit position found for fly to position [position={x: ${t.position.x}, y: ${t.position.y}}, hit-id={${null===(s=n.itemId)||void 0===s?void 0:s.hex}}]`)}else console.debug(`No hit results found for fly to position [position={x: ${t.position.x}, y: ${t.position.y}}]`)}}class ht{constructor(t,i,s,n,e,h,o,r,a,l){this.stream=t,this.getConfig=i,this.getScene=s,this.getFrame=n,this.getViewport=e,this.tapEmitter=h,this.doubleTapEmitter=o,this.longPressEmitter=r,this.interactionStartedEmitter=a,this.interactionFinishedEmitter=l,this.tap=this.tap.bind(this),this.doubleTap=this.doubleTap.bind(this),this.longPress=this.longPress.bind(this),this.emitTapEvent=this.emitTapEvent.bind(this)}getRayFromPoint(t){const i=this.getViewport(),s=this.getFrame();if(null!=s)return i.transformPointToRay(t,s.image,s.scene.camera);throw new Error("Cannot get camera. Frame is undefined.")}async tap(t,i={},s=0){this.emitTapEvent(this.tapEmitter.emit,t,i,s)}async doubleTap(t,i={},s=0){this.emitTapEvent(this.doubleTapEmitter.emit,t,i,s)}async longPress(t,i={},s=0){this.emitTapEvent(this.longPressEmitter.emit,t,i,s)}async beginInteraction(){this.isInteracting()||(this.interactionStartedEmitter.emit(),this.currentCamera=this.getScene().camera(),await this.stream.beginInteraction())}async transformCamera(t){var i;if(this.isInteracting()){const s=this.getScene(),n=this.getViewport(),e=this.getFrame(),h=await(null==e?void 0:e.depthBuffer());this.currentCamera=null!=this.currentCamera&&null!=n&&null!=e?t({camera:this.currentCamera,viewport:n,scale:s.scale(),boundingBox:s.boundingBox(),frame:e,depthBuffer:h}):void 0,await(null===(i=this.currentCamera)||void 0===i?void 0:i.render())}}async twistCamera(...t){return this.transformCamera((({camera:i,viewport:s})=>{const n=o.normalize(o.subtract(i.lookAt,i.position));if(1===t.length&&"number"==typeof t[0]){const s=r.toRadians(-t[0]);return i.rotateAroundAxis(s,n)}if(1===t.length){const n=h.create(s.width/2,s.height/2),e=r.toDegrees(r.fromPoints(n,t[0])),a=null!=this.lastAngle?e-this.lastAngle:0;this.lastAngle=e;const l=o.normalize(o.subtract(i.lookAt,i.position)),c=r.toRadians(-a);return i.rotateAroundAxis(c,l)}return i}))}async panCameraToScreenPoint(t){return this.transformCamera((({camera:i,frame:s,viewport:n,depthBuffer:e})=>{if(null==this.panData){const h=i.toFrameCamera(),o=h.direction,r=n.transformPointToRay(t,s.image,h),c=a.fromNormalAndCoplanarPoint(o,i.lookAt),d=l.intersectPlane(r,c);if(null==d)return console.warn("Cannot determine fallback for pan. Ray does not intersect plane."),i;const u=null!=e?this.getWorldPoint(t,e,d):d,w=a.fromNormalAndCoplanarPoint(o,u);this.panData={hitPt:u,hitPlane:w,startingCamera:h}}if(null!=this.panData){const{hitPt:e,hitPlane:h,startingCamera:r}=this.panData,a=n.transformPointToRay(t,s.image,r),c=l.intersectPlane(a,h);if(null!=c){const t=o.subtract(e,c);return i.update(r).moveBy(t)}}return i}))}async panCameraByDelta(t){return this.transformCamera((({camera:i,viewport:s})=>{const n=i.viewVector(),e=o.normalize(i.up),h=o.normalize(n),r=o.magnitude(n)*Math.tan(i.fovY),a=t.x*r/s.width,l=t.y/s.width*r,c=o.cross(e,h),d=o.cross(h,c),u=o.add(o.scale(a,c),o.scale(l,d));return i.moveBy(u)}))}async viewAll(){await this.getScene().camera().viewAll().render()}async rotateCamera(t){return this.transformCamera((({camera:i,viewport:s})=>{const n=o.normalize(i.up),e=o.normalize(o.subtract(i.lookAt,i.position)),h=o.cross(n,e),r=o.cross(e,h),a=o.normalize({x:t.x*h.x+t.y*r.x,y:t.x*h.y+t.y*r.y,z:t.x*h.z+t.y*r.z}),l=o.cross(a,e),c=3*Math.PI*t.x/s.width,d=3*Math.PI*t.y/s.height,u=Math.abs(c)+Math.abs(d);return i.rotateAroundAxis(u,l)}))}async rotateCameraAtPoint(t,i){return this.transformCamera((({camera:s,viewport:n,boundingBox:e,depthBuffer:h})=>{if(null==this.worldRotationPoint){const t=c.center(e);this.worldRotationPoint=null!=h?this.getWorldPoint(i,h,t):s.lookAt}const r=o.normalize(s.up),a=o.normalize(o.subtract(s.lookAt,s.position)),l=o.cross(r,a),d=o.cross(a,l),u=o.normalize({x:t.x*l.x+t.y*d.x,y:t.x*l.y+t.y*d.y,z:t.x*l.z+t.y*d.z}),w=o.cross(u,a),v=3*Math.PI*t.x/n.width,f=3*Math.PI*t.y/n.height,p=Math.abs(v)+Math.abs(f),m=s.rotateAroundAxisAtPoint(p,this.worldRotationPoint,w);return m.update({lookAt:o.add(o.scale(s.distanceToBoundingBoxCenter()/o.magnitude(m.viewVector()),m.viewVector()),m.position)})}))}async zoomCamera(t){return this.transformCamera((({camera:i,viewport:s})=>{const n=i.viewVector(),e=o.normalize(n),h=o.magnitude(n),r=o.add(i.position,o.scale(3*h*t/s.height,e));return i.update({position:r})}))}async zoomCameraToPoint(t,i){return this.transformCamera((({camera:s,viewport:n,frame:e,depthBuffer:h})=>{const r=e.scene.camera,c=r.direction,d=s.toFrameCamera(),u=n.transformPointToRay(t,e.image,d);if(null==this.zoomData){const i=a.fromNormalAndCoplanarPoint(c,r.lookAt),n=l.intersectPlane(u,i);if(null==n)return console.warn("Cannot determine fallback point for zoom. Ray does not intersect plane."),s;const e=null!=h?this.getWorldPoint(t,h,n):n,o=a.fromNormalAndCoplanarPoint(c,e);this.zoomData={hitPt:e,hitPlane:o}}if(null!=this.zoomData){const{hitPt:t,hitPlane:e}=this.zoomData,h=o.distance(s.position,t),r=l.at(u,6*h*i/n.height),c=a.projectPoint(e,r),d=s.update({position:r,lookAt:c});if(o.distance(r,c)>=d.near)return d}return s}))}async endInteraction(){this.isInteracting()&&(this.currentCamera=void 0,this.worldRotationPoint=void 0,this.panData=void 0,this.zoomData=void 0,this.resetLastAngle(),this.interactionFinishedEmitter.emit(),await this.stream.endInteraction())}resetLastAngle(){this.lastAngle=void 0}isInteracting(){return null!=this.currentCamera}pixelThreshold(t){return(this.isCoarseInputDevice(t)?this.getConfig().coarsePointerThreshold:this.getConfig().finePointerThreshold)*window.devicePixelRatio}async hitItems(t){var i;const s=await this.getScene().raycaster().hitItems(t);return null!==(i=null==s?void 0:s.hits)&&void 0!==i?i:[]}emitTapEvent(t,i,s={},n=0){const{altKey:e=!1,ctrlKey:h=!1,metaKey:o=!1,shiftKey:r=!1}=s;t({position:i,altKey:e,ctrlKey:h,metaKey:o,shiftKey:r,buttons:n})}isCoarseInputDevice(t){return t||window.matchMedia("(pointer: coarse)").matches}getWorldPoint(t,i,s){const n=this.getViewport(),e=n.transformPointToFrame(t,i);return i.hitTest(e)?n.transformPointToWorldSpace(t,i):s}}const ot=[.2,.15,.25,.25,.15];class rt{constructor(t,i,s,n,e,h,o,r,a){this.downEvent=t,this.upEvent=i,this.moveEvent=s,this.rotateInteraction=n,this.rotatePointInteraction=e,this.zoomInteraction=h,this.panInteraction=o,this.twistInteraction=r,this.getConfig=a,this.primaryInteraction=this.rotateInteraction,this.isDragging=!1,this.keyboardControls=!1,this.disableIndividualInteractions=!1,this.primaryInteractionTypeChange=new E,this.handleDownEvent=this.handleDownEvent.bind(this),this.handleMouseWheel=this.handleMouseWheel.bind(this),this.handleWindowMove=this.handleWindowMove.bind(this),this.handleWindowUp=this.handleWindowUp.bind(this),this.handleDoubleClick=this.handleDoubleClick.bind(this)}initialize(t,i){this.element=t,this.interactionApi=i,t.addEventListener(this.downEvent,this.handleDownEvent),t.addEventListener("mousedown",this.handleDoubleClick),t.addEventListener("wheel",this.handleMouseWheel)}dispose(){var t,i,s;null===(t=this.element)||void 0===t||t.removeEventListener(this.downEvent,this.handleDownEvent),null===(i=this.element)||void 0===i||i.removeEventListener("mousedown",this.handleDoubleClick),null===(s=this.element)||void 0===s||s.removeEventListener("wheel",this.handleMouseWheel),this.element=void 0}onPrimaryInteractionTypeChange(t){return this.primaryInteractionTypeChange.on(t)}setCurrentInteractionType(t){var i;switch(t){case"rotate":this.currentInteraction=this.rotateInteraction;break;case"zoom":this.currentInteraction=this.zoomInteraction;break;case"pan":this.currentInteraction=this.panInteraction;break;case"twist":this.currentInteraction=this.twistInteraction;break;case"rotate-point":this.currentInteraction=this.rotatePointInteraction;break;default:this.currentInteraction=void 0}if(this.draggingInteraction){const t=this.draggingInteraction.getPosition();this.draggingInteraction=this.currentInteraction||this.primaryInteraction,null===(i=this.interactionApi)||void 0===i||i.resetLastAngle(),this.draggingInteraction.setPosition(t)}}getPrimaryInteractionType(){return this.primaryInteraction.getType()}getCurrentInteractionType(){return(this.currentInteraction||this.primaryInteraction).getType()}setPrimaryInteractionType(t){switch(t){case"rotate":this.primaryInteraction=this.rotateInteraction;break;case"rotate-point":this.primaryInteraction=this.rotatePointInteraction;break;case"zoom":this.primaryInteraction=this.zoomInteraction;break;case"pan":this.primaryInteraction=this.panInteraction}this.primaryInteractionTypeChange.emit()}setDefaultKeyboardControls(t){this.keyboardControls=t}handleDownEvent(t){this.interactionTimer=window.setTimeout((()=>{this.downPosition=h.create(t.screenX,t.screenY),this.downPositionCanvas=this.getCanvasPosition(t),this.interactionTimer=void 0,null!=this.lastMoveEvent&&this.handleWindowMove(this.lastMoveEvent)}),this.getConfig().interactions.interactionDelay),window.addEventListener(this.moveEvent,this.handleWindowMove),window.addEventListener(this.upEvent,this.handleWindowUp)}handleWindowMove(t){if(null==this.interactionTimer){if(this.disableIndividualInteractions)return;const i=h.create(t.screenX,t.screenY),s=null!=this.interactionApi?this.interactionApi.pixelThreshold(this.isTouch(t)):2;null!=this.downPosition&&h.distance(i,this.downPosition)>=s&&!this.isDragging&&(this.beginDrag(t),this.isDragging=!0),this.isDragging&&this.drag(t)}this.lastMoveEvent=t}async handleWindowUp(t){this.isDragging&&(this.endDrag(t),this.isDragging=!1),null!=this.interactionTimer&&(window.clearTimeout(this.interactionTimer),this.interactionTimer=void 0),window.removeEventListener(this.moveEvent,this.handleWindowMove),window.removeEventListener(this.upEvent,this.handleWindowUp),this.lastMoveEvent=void 0}async handleDoubleClick(t){2===t.detail&&4===t.buttons&&null!=this.interactionApi&&this.interactionApi.viewAll()}beginDrag(t){this.keyboardControls&&t.metaKey&&t.shiftKey?this.currentInteraction=this.rotatePointInteraction:this.keyboardControls&&t.shiftKey?this.currentInteraction=this.zoomInteraction:this.keyboardControls&&(t.metaKey||t.ctrlKey)?this.currentInteraction=this.panInteraction:this.keyboardControls&&t.altKey&&(this.currentInteraction=this.rotateInteraction),1===t.buttons||4===t.buttons?this.draggingInteraction=this.currentInteraction||this.primaryInteraction:2===t.buttons&&(this.draggingInteraction=this.panInteraction),null!=this.draggingInteraction&&null!=this.interactionApi&&null!=this.element&&(this.zoomInteraction.endDrag(t,this.interactionApi),this.draggingInteraction.beginDrag(t,this.downPositionCanvas||h.create(t.clientX,t.clientY),this.interactionApi,this.element))}drag(t){this.currentInteraction=this.keyboardControls&&t.altKey&&t.shiftKey?this.twistInteraction:void 0,this.draggingInteraction=this.currentInteraction||this.draggingInteraction||this.primaryInteraction,null!=this.draggingInteraction&&null!=this.interactionApi&&this.draggingInteraction.drag(t,this.interactionApi)}endDrag(t){this.keyboardControls&&this.currentInteraction===this.twistInteraction&&(this.currentInteraction=void 0),null!=this.draggingInteraction&&null!=this.interactionApi&&(this.draggingInteraction.endDrag(t,this.interactionApi),this.draggingInteraction=void 0)}handleMouseWheel(t){if(t.preventDefault(),null!=this.element&&null!=this.interactionApi&&4!==t.buttons){const i=-this.wheelDeltaToPixels(t.deltaY,t.deltaMode)/10,s=this.element.getBoundingClientRect(),n=$(t,s);ot.forEach(((t,s)=>{window.setTimeout((()=>{null!=this.interactionApi&&this.zoomInteraction.zoomToPoint(n,i*t,this.interactionApi)}),2*s)}))}}wheelDeltaToPixels(t,i){null==this.computedBodyStyle&&(this.computedBodyStyle=window.getComputedStyle(document.body));const s=null==this.computedBodyStyle.fontSize||""===this.computedBodyStyle.fontSize||isNaN(parseFloat(this.computedBodyStyle.fontSize))?19.2:1.2*parseFloat(this.computedBodyStyle.fontSize);return 1===i?null==this.computedBodyStyle.lineHeight||""===this.computedBodyStyle.lineHeight||isNaN(parseFloat(this.computedBodyStyle.lineHeight))?t*s:t*parseFloat(this.computedBodyStyle.lineHeight):2===i?null==this.computedBodyStyle.height||""===this.computedBodyStyle.height||isNaN(parseFloat(this.computedBodyStyle.height))?t*window.innerHeight:t*parseFloat(this.computedBodyStyle.height):t}getCanvasPosition(t){var i;const s=null===(i=this.element)||void 0===i?void 0:i.getBoundingClientRect(),n=null!=s?h.create(s.left,s.top):void 0;return null!=n?h.subtract(h.create(t.clientX,t.clientY),n):void 0}isTouch(t){return null!=window.PointerEvent&&t instanceof PointerEvent&&"touch"===t.pointerType}}class at{setPosition(t){this.currentPosition=t}getPosition(){return this.currentPosition}getType(){return this.type}beginDrag(t,i,s,n){}drag(t,i){}endDrag(t,i){null!=this.currentPosition&&(i.endInteraction(),this.currentPosition=void 0)}zoom(t,i){}}class lt extends at{constructor(){super(...arguments),this.type="rotate"}beginDrag(t,i,s){null==this.currentPosition&&(this.currentPosition=h.create(t.screenX,t.screenY),s.beginInteraction())}drag(t,i){if(null!=this.currentPosition){const s=h.create(t.screenX,t.screenY),n=h.subtract(s,this.currentPosition);i.rotateCamera(n),this.currentPosition=s}}endDrag(t,i){super.endDrag(t,i)}}class ct extends at{constructor(){super(...arguments),this.type="rotate-point"}beginDrag(t,i,s){null==this.currentPosition&&(this.currentPosition=h.create(t.screenX,t.screenY),this.startingPosition=i,s.beginInteraction())}drag(t,i){if(null!=this.currentPosition&&null!=this.startingPosition){const s=h.create(t.screenX,t.screenY),n=h.subtract(s,this.currentPosition);i.rotateCameraAtPoint(n,this.startingPosition),this.currentPosition=s}}endDrag(t,i){super.endDrag(t,i)}}class dt extends at{constructor(t=1e3){super(),this.interactionTimeout=t,this.type="zoom",this.didTransformBegin=!1}beginDrag(t,i,s,n){if(null==this.currentPosition){this.currentPosition=h.create(t.clientX,t.clientY);const i=n.getBoundingClientRect(),e=$(t,i);this.startPt=e,s.beginInteraction()}}drag(t,i){if(null!=this.currentPosition){const s=h.create(t.clientX,t.clientY),n=h.subtract(s,this.currentPosition);null!=this.startPt&&(i.zoomCameraToPoint(this.startPt,n.y),this.currentPosition=s)}}endDrag(t,i){super.endDrag(t,i),this.stopInteractionTimer(),this.didTransformBegin=!1,this.startPt=void 0}zoom(t,i){this.operateWithTimer(i,(()=>i.zoomCamera(t)))}zoomToPoint(t,i,s){this.operateWithTimer(s,(()=>s.zoomCameraToPoint(t,i)))}beginInteraction(t){this.didTransformBegin=!0,t.beginInteraction()}endInteraction(t){this.didTransformBegin=!1,t.endInteraction()}resetInteractionTimer(t){this.stopInteractionTimer(),this.startInteractionTimer(t)}startInteractionTimer(t){this.interactionTimer=window.setTimeout((()=>{this.interactionTimer=void 0,this.endInteraction(t)}),this.interactionTimeout)}stopInteractionTimer(){null!=this.interactionTimer&&(window.clearTimeout(this.interactionTimer),this.interactionTimer=void 0)}operateWithTimer(t,i){this.didTransformBegin||this.beginInteraction(t),this.resetInteractionTimer(t),i()}}class ut extends at{constructor(){super(...arguments),this.type="pan"}beginDrag(t,i,s,n){null==this.currentPosition&&(this.currentPosition=h.create(t.screenX,t.screenY),this.canvasRect=n.getBoundingClientRect(),s.beginInteraction())}drag(t,i){if(null!=this.currentPosition&&null!=this.canvasRect){const s=$(t,this.canvasRect);i.panCameraToScreenPoint(s),this.currentPosition=s}}endDrag(t,i){super.endDrag(t,i)}}class wt extends at{constructor(){super(...arguments),this.type="twist"}beginDrag(t,i,s){this.currentPosition=h.create(t.clientX,t.clientY),s.beginInteraction()}drag(t,i){const s=h.create(t.clientX,t.clientY);this.currentPosition=s,i.twistCamera(s)}endDrag(t,i){super.endDrag(t,i)}}class vt extends rt{constructor(t,i=new lt,s=new ct,n=new dt,e=new ut,h=new wt){super("mousedown","mouseup","mousemove",i,s,n,e,h,t)}}class ft{initialize(t,i){this.element=t,this.interactionApi=i}dispose(){this.element=void 0}handleTwoPointTouchMove(t,i){var s,n,e,o;if(null!=this.currentPosition1&&null!=this.currentPosition2){const a=h.scale(h.add(h.subtract(t,this.currentPosition1),h.subtract(i,this.currentPosition2)),.25,.25),l=.5*(h.distance(t,i)-h.distance(this.currentPosition1,this.currentPosition2)),c=d.create(h.subtract(this.currentPosition1,this.currentPosition2),h.subtract(t,i)),u=r.toDegrees(Math.atan2(d.determinant(c),d.dot(c)));null===(s=this.interactionApi)||void 0===s||s.beginInteraction(),null===(n=this.interactionApi)||void 0===n||n.zoomCamera(l),null===(e=this.interactionApi)||void 0===e||e.panCameraByDelta(a),Math.abs(u)>.2&&(null===(o=this.interactionApi)||void 0===o||o.twistCamera(u))}this.currentPosition1=t,this.currentPosition2=i}}class pt extends ft{constructor(){super(),this.touchPoints={},this.handlePointerDown=this.handlePointerDown.bind(this),this.handlePointerMove=this.handlePointerMove.bind(this),this.handlePointerUp=this.handlePointerUp.bind(this)}dispose(){var t;null===(t=this.element)||void 0===t||t.removeEventListener("pointerdown",this.handlePointerDown),super.dispose()}initialize(t,i){super.initialize(t,i),t.addEventListener("pointerdown",this.handlePointerDown)}handlePointerDown(t){const i=h.create(t.screenX,t.screenY);this.touchPoints=Object.assign(Object.assign({},this.touchPoints),{[t.pointerId]:i}),1===Object.keys(this.touchPoints).length&&(window.addEventListener("pointermove",this.handlePointerMove),window.addEventListener("pointerup",this.handlePointerUp))}handlePointerMove(t){null!=this.touchPoints[t.pointerId]&&(this.touchPoints[t.pointerId]=h.create(t.screenX,t.screenY));const i=Object.keys(this.touchPoints);2===i.length&&this.handleTwoPointTouchMove(this.touchPoints[i[0]],this.touchPoints[i[1]])}handlePointerUp(t){var i;delete this.touchPoints[t.pointerId];const s=Object.keys(this.touchPoints);1===s.length&&(null===(i=this.interactionApi)||void 0===i||i.endInteraction(),this.currentPosition1=void 0,this.currentPosition2=void 0),0===s.length&&(window.removeEventListener("pointermove",this.handlePointerMove),window.removeEventListener("pointerup",this.handlePointerUp))}}class mt extends rt{constructor(t){super("pointerdown","pointerup","pointermove",new lt,new ct,new dt,new ut,new wt,t),this.touchPoints=new Set,this.handlePointerDown=this.handlePointerDown.bind(this),this.handlePointerUp=this.handlePointerUp.bind(this)}initialize(t,i){super.initialize(t,i),t.addEventListener("pointerdown",this.handlePointerDown)}handlePointerDown(t){this.downPosition=h.create(t.screenX,t.screenY),this.touchPoints.add(t.pointerId),1===this.touchPoints.size&&window.addEventListener("pointerup",this.handlePointerUp),2===this.touchPoints.size&&(this.disableIndividualInteractions=!0)}handlePointerUp(t){this.touchPoints.delete(t.pointerId),this.touchPoints.size<2&&(this.disableIndividualInteractions=!1),0===this.touchPoints.size&&window.removeEventListener("pointerup",this.handlePointerUp)}}class gt{constructor(t,i,s,n){this.downEvent=t,this.upEvent=i,this.moveEvent=s,this.getConfig=n,this.handleDown=this.handleDown.bind(this),this.handleUp=this.handleUp.bind(this),this.handleMove=this.handleMove.bind(this),this.handleTouchStart=this.handleTouchStart.bind(this),this.handleTouchMove=this.handleTouchMove.bind(this),this.handleTouchEnd=this.handleTouchEnd.bind(this),this.handlePointerMove=this.handlePointerMove.bind(this),this.handlePointerEnd=this.handlePointerEnd.bind(this),this.clearPositions=this.clearPositions.bind(this),this.restartDoubleTapTimer=this.restartDoubleTapTimer.bind(this),this.clearDoubleTapTimer=this.clearDoubleTapTimer.bind(this),this.restartLongPressTimer=this.restartLongPressTimer.bind(this),this.clearLongPressTimer=this.clearLongPressTimer.bind(this),this.setPointerPositions=this.setPointerPositions.bind(this),this.emit=this.emit.bind(this)}dispose(){var t,i;null===(t=this.element)||void 0===t||t.removeEventListener(this.downEvent,this.handleDown),null===(i=this.element)||void 0===i||i.removeEventListener("touchstart",this.handleTouchStart),this.element=void 0,this.clearDoubleTapTimer(),this.clearLongPressTimer()}initialize(t,i){this.element=t,this.interactionApi=i,t.addEventListener(this.downEvent,this.handleDown),t.addEventListener("touchstart",this.handleTouchStart)}handleTouchStart(t){1===t.touches.length&&(this.setPointerPositions(h.create(t.touches[0].clientX,t.touches[0].clientY)),this.restartLongPressTimer(),window.addEventListener("touchend",this.handleTouchEnd),window.addEventListener("touchmove",this.handleTouchMove))}handleTouchMove(t){t.touches.length>0&&this.handlePointerMove(h.create(t.touches[0].clientX,t.touches[0].clientY),!0)}handleTouchEnd(t){null!=this.pointerDownPosition&&(window.removeEventListener("touchend",this.handleTouchEnd),window.removeEventListener("touchmove",this.handleTouchMove)),this.handlePointerEnd(this.pointerDownPosition)}handleDown(t){this.setPointerPositions(h.create(t.clientX,t.clientY)),this.buttons=t.buttons,this.restartLongPressTimer({altKey:t.altKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,shiftKey:t.shiftKey}),window.addEventListener(this.upEvent,this.handleUp),window.addEventListener(this.moveEvent,this.handleMove)}handleMove(t){this.handlePointerMove(h.create(t.clientX,t.clientY),this.isTouch(t))}handleUp(t){null!=this.pointerDownPosition&&(window.removeEventListener(this.upEvent,this.handleUp),window.removeEventListener(this.moveEvent,this.handleMove)),this.handlePointerEnd(h.create(t.clientX,t.clientY),{altKey:t.altKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,shiftKey:t.shiftKey},this.buttons,this.isTouch(t)),this.buttons=void 0}handlePointerMove(t,i){var s;const n=(null===(s=this.interactionApi)||void 0===s?void 0:s.pixelThreshold(i))||2;null!=this.pointerDownPosition&&h.distance(t,this.pointerDownPosition)>=n&&null==this.interactionTimer&&this.clearPositions()}handlePointerEnd(t,i={},s=0,n=!1){var e,h;null!=t&&(null!=this.longPressTimer&&this.emit(null===(e=this.interactionApi)||void 0===e?void 0:e.tap)(t,i,s),null!=this.doubleTapTimer&&null!=this.secondPointerDownPosition&&(this.emit(null===(h=this.interactionApi)||void 0===h?void 0:h.doubleTap)(t,i,s,this.secondPointerDownPosition),this.clearDoubleTapTimer())),this.pointerDownPosition=void 0,this.clearLongPressTimer()}emit(t){return(i,s={},n=0,e,o=!1)=>{var r;const a=e||this.pointerDownPosition,l=(null===(r=this.interactionApi)||void 0===r?void 0:r.pixelThreshold(o))||1;let c;null!=this.interactionTimer?c=this.getCanvasPosition(a||i):null!=a&&h.distance(a,i)<=l&&(c=this.getCanvasPosition(i)),null!=c&&null!=t&&t(c,s,n)}}getCanvasPosition(t){var i;const s=null===(i=this.element)||void 0===i?void 0:i.getBoundingClientRect(),n=null!=s?h.create(s.left,s.top):void 0;return null!=n?h.subtract(h.create(t.x,t.y),n):void 0}clearPositions(){this.pointerDownPosition=void 0,this.firstPointerDownPosition=void 0,this.secondPointerDownPosition=void 0,this.clearDoubleTapTimer(),this.clearLongPressTimer(),this.clearInteractionTimer()}clearDoubleTapTimer(){null!=this.doubleTapTimer&&window.clearTimeout(this.doubleTapTimer),this.doubleTapTimer=void 0,this.firstPointerDownPosition=void 0,this.secondPointerDownPosition=void 0}restartDoubleTapTimer(){this.clearDoubleTapTimer(),this.doubleTapTimer=window.setTimeout((()=>this.clearDoubleTapTimer()),this.getConfig().events.doubleTapThreshold)}clearLongPressTimer(){null!=this.longPressTimer&&window.clearTimeout(this.longPressTimer),this.longPressTimer=void 0}restartLongPressTimer(t={}){this.clearLongPressTimer(),this.longPressTimer=window.setTimeout((()=>{var i;this.pointerDownPosition&&this.emit(null===(i=this.interactionApi)||void 0===i?void 0:i.longPress)(this.pointerDownPosition,t,this.buttons),this.clearLongPressTimer()}),this.getConfig().events.longPressThreshold)}restartInteractionTimer(){this.clearInteractionTimer(),this.interactionTimer=window.setTimeout((()=>{this.interactionTimer=void 0}),this.getConfig().interactions.interactionDelay)}clearInteractionTimer(){null!=this.interactionTimer&&(window.clearTimeout(this.interactionTimer),this.interactionTimer=void 0)}setPointerPositions(t){this.pointerDownPosition=t,this.restartInteractionTimer(),null==this.firstPointerDownPosition?(this.restartDoubleTapTimer(),this.firstPointerDownPosition=t):this.secondPointerDownPosition=t}isTouch(t){return null!=window.PointerEvent&&t instanceof PointerEvent&&"touch"===t.pointerType}}class yt extends ft{constructor(){super(),this.handleTouchStart=this.handleTouchStart.bind(this),this.handleTouchMove=this.handleTouchMove.bind(this),this.handleTouchEnd=this.handleTouchEnd.bind(this)}dispose(){var t;null===(t=this.element)||void 0===t||t.removeEventListener("touchstart",this.handleTouchStart),super.dispose()}initialize(t,i){super.initialize(t,i),t.addEventListener("touchstart",this.handleTouchStart)}handleTouchStart(t){if(t.touches.length>=1){const i=t.touches[0],s=t.touches[1];this.currentPosition1=h.create(i.screenX,i.screenY),this.currentPosition2=null!=s?h.create(s.screenX,s.screenY):void 0,window.addEventListener("touchmove",this.handleTouchMove,{passive:!1}),window.addEventListener("touchend",this.handleTouchEnd)}}handleTouchMove(t){if(1===t.touches.length)this.handleOnePointTouchMove(t.touches[0]);else if(2===t.touches.length){const i=h.create(t.touches[0].clientX,t.touches[0].clientY),s=h.create(t.touches[1].clientX,t.touches[1].clientY);this.handleTwoPointTouchMove(i,s)}}handleTouchEnd(t){var i;null===(i=this.interactionApi)||void 0===i||i.endInteraction(),this.isInteracting=!1,window.removeEventListener("touchmove",this.handleTouchMove),window.removeEventListener("touchend",this.handleTouchEnd)}handleOnePointTouchMove(t){var i,s,n;const e=h.create(t.screenX,t.screenY);if(null!=this.currentPosition1){const t=h.subtract(e,this.currentPosition1),o=(null===(i=this.interactionApi)||void 0===i?void 0:i.pixelThreshold(!0))||2;(h.distance(e,this.currentPosition1)>=o||this.isInteracting)&&(null===(s=this.interactionApi)||void 0===s||s.beginInteraction(),null===(n=this.interactionApi)||void 0===n||n.rotateCamera(t),this.isInteracting=!0)}this.currentPosition1=e}}const bt=new class{constructor(t,i=window.performance){this.name=t,this.perf=i,this.measures=new Set,this.nextId=0}clearMeasurements(){this.perf.clearMeasures(this.name)}measure(t){if(null!=(i=t)&&i.then instanceof Function&&i.catch instanceof Function&&i.finally instanceof Function){const i=this.begin();return t.finally((()=>this.end(i)))}if("function"==typeof t){const i=this.begin(),s=t();return this.end(i),s}throw new Error("Input must be a function or Promise");var i}takeMeasurements(){const t=this.perf.getEntriesByName(this.name);return this.clearMeasurements(),t}takeLastMeasurement(){const t=this.takeMeasurements();return t[t.length-1]}begin(){const t=`${this.name}-${this.nextId++}`;return this.measures.add(t),this.perf.mark(t),t}end(t){this.perf.measure(this.name,t),this.perf.clearMarks(t),this.measures.delete(t)}}("paint_time");function Ct(t,i,s,n,e=1e3){let h,o,r=0,a=[];return s&&setInterval((()=>{if(null!=o){5===a.length?a=[...a.slice(1),o]:a.push(o);const t=a.reduce(((t,i)=>t+i))/a.length;console.debug(`Paint rate: ${o}fps`),console.debug(`Paint rate (avg): ${t}`),o=void 0}}),1e3),s=>(r++,null==h&&(h=window.setInterval((()=>{!function(t,i){const s=t.takeMeasurements();s.length>0&&i(s)}(t,n),0===r&&null!=h&&(window.clearInterval(h),h=void 0)}),e)),t.measure((async()=>{const t=await i(s);return o=null==o?1:o+1,t})).finally((()=>{r--})))}var Pt;!function(t){t.DEVICE_ID="vertexvis:device-id"}(Pt||(Pt={}));class It extends b{constructor(t,i={}){var s,n,e;super(t,{loggingEnabled:i.loggingEnabled}),this.state={type:"disconnected"},this.stateChanged=new E,this.dimensions=u.create(0,0),this.streamAttributes={},this.frameBgColor=O.create(255,255,255),this.config=N("platprod"),this.options={tokenRefreshOffsetInSeconds:null!==(s=i.tokenRefreshOffsetInSeconds)&&void 0!==s?s:30,offlineThresholdInSeconds:null!==(n=i.offlineThresholdInSeconds)&&void 0!==n?n:30,loadTimeoutInSeconds:null!==(e=i.loadTimeoutInSeconds)&&void 0!==e?e:15}}getState(){return this.state}disconnect(){"disconnected"!==this.state.type&&"connection-failed"!==this.state.type&&(console.debug("Disconnecting websocket"),this.state.connection.dispose(),this.updateState({type:"disconnected"}))}async load(t,i,s,n=N("platprod")){return this.clientId=i,this.deviceId=s,this.config=n,"disconnected"===this.state.type||"connection-failed"===this.state.type?this.loadIfDisconnected(t):this.loadIfConnectingOrConnected(t,this.state)}update(t){this.frameBgColor=t.frameBgColor?t.frameBgColor:this.frameBgColor,null!=t.dimensions&&t.dimensions!==this.dimensions&&(this.dimensions=t.dimensions,this.ifState("connected",(()=>this.updateDimensions({dimensions:this.dimensions})))),null!=t.streamAttributes&&this.streamAttributes!==t.streamAttributes&&(this.streamAttributes=t.streamAttributes,this.ifState("connected",(()=>this.updateStream({streamAttributes:Tt(this.streamAttributes)}))))}async loadIfConnectingOrConnected(t,i){const{resource:s,queries:n}=i.resource,e=W(t),h=!j.isEqual(s,e.resource),o=!j.isEqual(n,e.queries),r=null!=e.queries[0],a="connected"===i.type;if(h||("connecting"===i.type||"reconnecting"===i.type)&&o)return this.disconnect(),this.loadIfDisconnected(t);a&&r&&o&&(await this.loadSceneViewState({sceneViewStateId:{hex:e.queries[0].id}}),this.updateState(Object.assign(Object.assign({},i),{resource:e})))}async loadIfDisconnected(t){try{await this.connectWithNewStream(W(t))}catch(t){throw this.updateState(t instanceof V?{type:"connection-failed",message:`Cannot load scene. ${t.message}`,error:t}:t instanceof C?{type:"connection-failed",message:"Cannot load scene. Stream request failed to start stream.",error:t}:{type:"connection-failed",message:"Cannot load scene for unknown reason. See console logs.",error:t}),t}}connectWithNewStream(t){return this.openWebsocketStream(t,"connecting",(()=>this.requestNewStream(t)))}connectToExistingStream(t){return this.openWebsocketStream(t.resource,"reconnecting",(()=>this.requestReconnectStream(t)),{maxRetries:Number.POSITIVE_INFINITY})}async openWebsocketStream(t,i,s,{maxRetries:n=3}={}){const e=(h=function(t,i,s,n){return A.appendPath(null!=s?A.toString(A.parseAndAddParams("/ws",{clientId:s,deviceId:n})):`/stream-keys/${i.id}/session`,A.parse(t.network.renderingHost))}(this.config,t.resource,this.clientId,this.deviceId),{url:A.toString(h),protocols:["ws.vertexvis.com"]});var h;console.debug(`Initiating WS connection [uri=${e.url}]`);const o=new AbortController,r=(a=this.config,{EXPERIMENTAL_frameDelivery:Object.assign(Object.assign({},a.EXPERIMENTAL_frameDelivery),{rateLimitingEnabled:a.flags.throttleFrameDelivery}),EXPERIMENTAL_adaptiveRendering:Object.assign(Object.assign({},a.EXPERIMENTAL_adaptiveRendering),{enabled:a.flags.adaptiveRendering}),EXPERIMENTAL_qualityOfService:Object.assign({},a.EXPERIMENTAL_qualityOfService)});var a;this.updateState({type:i,resource:t,connection:{dispose:()=>{this.dispose(),o.abort()}}});const l=await R.abort(o.signal,R.retry((()=>this.connect(e,r)),{maxRetries:n,delaysInMs:It.WS_RECONNECT_DELAYS})).catch((t=>{throw new q("Websocket connection failed.",t instanceof Error?t:void 0)}));if(!l.aborted)return this.requestNewOrExistingStream(t,l.result,s);this.updateState({type:"disconnected"})}async requestNewOrExistingStream(t,i,s){const n=this.requestClock(),e=await s();console.debug(`Stream connected [stream-id=${e.streamId}, scene-view-id=${e.sceneViewId}]`);const h=this.onRequest((t=>{const i=t.request.drawFrame;if(null!=i){const t=P(e.worldOrientation)(i);"connected"===this.state.type&&this.updateState(Object.assign(Object.assign({},this.state),{frame:t}))}})),o=this.reconnectWhenNeeded(),r=this.refreshTokenWhenExpired(e.token),a=this.acknowledgeFrameRequests(),l=null==e.frame?await this.waitForFrame(e.worldOrientation,this.options.loadTimeoutInSeconds):e.frame,c=await n;console.debug(`Synchronized clocks [local-time=${c.knownLocalTime.toISOString()}, remote-time=${c.knownRemoteTime.toISOString()}]`),this.updateState({type:"connected",connection:{dispose:()=>{o.dispose(),h.dispose(),r.dispose(),a.dispose(),i.dispose()}},resource:t,streamId:e.streamId,deviceId:e.deviceId,sceneViewId:e.sceneViewId,worldOrientation:e.worldOrientation,token:e.token,frame:l,clock:c})}async requestNewStream(t){var i;const s=I(await this.startStream({streamKey:{value:t.resource.id},dimensions:this.dimensions,frameBackgroundColor:St(this.frameBgColor),streamAttributes:Tt(this.streamAttributes),sceneViewStateId:"scene-view-state"===(null===(i=t.queries[0])||void 0===i?void 0:i.type)?{hex:t.queries[0].id}:void 0}));return{resource:t,streamId:s.streamId,sceneViewId:s.sceneViewId,deviceId:s.sessionId,token:s.token,worldOrientation:s.worldOrientation,frame:void 0}}async requestReconnectStream(t){const i=T(await this.reconnect({streamId:{hex:t.streamId},dimensions:this.dimensions,frameBackgroundColor:St(this.frameBgColor),streamAttributes:Tt(this.streamAttributes)}));return Object.assign(Object.assign({},t),{token:i.token})}async requestClock(){const t=S(await this.syncTime({requestTime:x()}));return new U(t)}reconnectWhenNeeded(){const t=this.onClose((()=>{"connected"===this.state.type&&this.closeAndReconnect(this.state)})),i=this.onRequest((t=>{null!=t.request.gracefulReconnection&&"connected"===this.state.type&&(console.debug("Received request for graceful reconnect. Closing connection and attempting reconnect."),this.closeAndReconnect(this.state))})),s=this.reconnectWhenOffline();return{dispose:()=>{t.dispose(),i.dispose(),s.dispose()}}}refreshTokenWhenExpired(t){let i;const s=t=>{const{tokenRefreshOffsetInSeconds:n}=this.options,e=t.remainingTimeInMs(n);i=window.setTimeout((async()=>{const t=await this.refreshToken(),i=k(t);s(i),"connected"===this.state.type&&this.updateState(Object.assign(Object.assign({},this.state),{token:i}))}),e)};return s(t),{dispose:()=>clearTimeout(i)}}reconnectWhenOffline(){let t;const i=()=>window.clearTimeout(t),s=()=>{i();const s=this.options.offlineThresholdInSeconds;console.debug(`Detected that host is offline. Will attempt reconnect in ${s}s.`),t=window.setTimeout((()=>{"connected"===this.state.type&&this.closeAndReconnect(this.state)}),1e3*s)};return window.addEventListener("offline",(()=>s())),window.addEventListener("online",(()=>{console.debug("Detected that host is online."),i()})),{dispose:()=>{i(),window.removeEventListener("offline",s),window.removeEventListener("online",i)}}}closeAndReconnect(t){return t.connection.dispose(),this.connectToExistingStream(t)}async waitForFrame(t,i){let s;try{return await R.timeout(1e3*i,new Promise((i=>{s=this.onRequest((n=>{try{const e=n.request.drawFrame;if(null!=e){const s=P(t)(e);i(s)}}finally{null==s||s.dispose()}}))})))}catch(t){throw new H(`Frame timed out after ${i/1e3}s`,t instanceof Error?t:void 0)}finally{null==s||s.dispose()}}acknowledgeFrameRequests(){return this.onRequest(function(t,i){const s=function(t){let i=!1;return s=>{const n=t();if(null!=n){const t=n.remoteTime(new Date(Date.now())),e=p(s,t);return m(e).getTime()>=0?e:void(i||(console.warn(`Possible erroneous send to receive timing. Muting for 60s. [sent-at=${s.toISOString()}, received-at=${t.toISOString()}, remote-time=${n.knownRemoteTime.toISOString()}]`),i=!0,setTimeout((()=>i=!1),6e4)))}}}(i);return n=i=>{return n=()=>n=>{const e=m(n.sentAtTime);null!=e&&t.replyResult(i,{drawFrame:{sendToReceiveDuration:s(e)}})},t=>{const{drawFrame:i}=t.request;null!=i&&n()(t)};var n},t=>{var i;const s=null===(i=t.request.requestId)||void 0===i?void 0:i.value;null!=s&&n(s)(t)};var n}(this,(()=>"connected"===this.state.type?this.state.clock:void 0)))}updateState(t){this.state!==t&&(this.state=t,this.stateChanged.emit(this.state))}ifState(t,i){if(this.state.type===t)return i()}onStateChanged(t){return this.stateChanged.on(t)}}It.WS_RECONNECT_DELAYS=[0,1e3,1e3,5e3];const Tt=M.ifInvalidThrow(g),St=M.ifInvalidThrow(y);let xt=class{constructor(s){t(this,s),this.tap=i(this,"tap",7),this.doubletap=i(this,"doubletap",7),this.longpress=i(this,"longpress",7),this.frameReceived=i(this,"frameReceived",7),this.frameDrawn=i(this,"frameDrawn",7),this.tokenExpired=i(this,"tokenExpired",7),this.connectionChange=i(this,"connectionChange",7),this.sceneReady=i(this,"sceneReady",7),this.sceneChanged=i(this,"sceneChanged",7),this.interactionStarted=i(this,"interactionStarted",7),this.interactionFinished=i(this,"interactionFinished",7),this.deviceIdChange=i(this,"deviceIdChange",7),this.dimensionschange=i(this,"dimensionschange",7),this.configEnv="platprod",this.cameraControls=!0,this.keyboardControls=!0,this.rotateAroundTapPoint=!0,this.experimentalGhostingOpacity=0,this.selectionMaterial=G,this.stencilBuffer=new it(this.hostElement),this.viewport=tt.fromDimensions(u.create(0,0)),this.stateMap={cursorManager:new B,streamState:{type:"disconnected"}},this.interactionHandlers=[],this.tapKeyInteractions=[],this.internalFrameDrawnDispatcher=new E,this.handleElementResize=this.handleElementResize.bind(this),this.getDeviceId()}componentWillLoad(){var t;this.updateResolvedConfig(),this.calculateComponentDimensions(),this.resizeObserver=new ResizeObserver(this.handleElementResize),this.registerSlotChangeListeners(),this.stream=null!==(t=this.stream)&&void 0!==t?t:new It(new D,{loggingEnabled:this.getResolvedConfig().flags.logWsMessages}),this.addStreamListeners(),this.updateStreamAttributes(),this.stateMap.cursorManager.onChanged.on((()=>this.handleCursorChanged()))}componentDidLoad(){var t,i,s;if(this.interactionApi=this.createInteractionApi(),null!=this.containerElement&&(null===(t=this.resizeObserver)||void 0===t||t.observe(this.containerElement)),null!=this.src)try{this.load(this.src)}catch(t){console.error("Error loading scene",t)}if(this.cameraControls)if(null!=window.PointerEvent){const t=new gt("pointerdown","pointerup","pointermove",(()=>this.getResolvedConfig()));this.baseInteractionHandler=new mt((()=>this.getResolvedConfig())),this.registerInteractionHandler(this.baseInteractionHandler),this.registerInteractionHandler(new pt),this.registerInteractionHandler(t)}else{const t=new gt("mousedown","mouseup","mousemove",(()=>this.getResolvedConfig()));this.baseInteractionHandler=new vt((()=>this.getResolvedConfig())),this.registerInteractionHandler(this.baseInteractionHandler),this.registerInteractionHandler(new yt),this.registerInteractionHandler(t)}this.keyboardControls&&null!=this.stream&&(null===(i=this.baseInteractionHandler)||void 0===i||i.setDefaultKeyboardControls(this.keyboardControls),this.registerTapKeyInteraction(new nt(this.stream,(()=>this.getResolvedConfig()),(()=>this.getImageScale()))),this.registerTapKeyInteraction(new et(this.stream,(()=>this.getResolvedConfig()),(()=>this.getImageScale()),(()=>this.createScene())))),this.rotateAroundTapPoint&&(null===(s=this.baseInteractionHandler)||void 0===s||s.setPrimaryInteractionType("rotate-point")),this.injectViewerApi()}render(){var t;const i=this.getCanvasDimensions();return s(n,null,s("div",{class:"viewer-container",style:{cursor:L(null!==(t=this.cursor)&&void 0!==t?t:"")},onContextMenu:t=>t.preventDefault()},s("div",{ref:t=>this.containerElement=t,class:z("canvas-container",{"enable-pointer-events ":null!=window.PointerEvent})},s("canvas",{ref:t=>{this.canvasElement=t,this.stateMap.interactionTarget=t},class:"canvas",width:null!=i?i.width:0,height:null!=i?i.height:0}),null!=this.errorMessage?s("div",{class:"error-message"},this.errorMessage):null),s("slot",null)))}async dispatchFrameDrawn(t){this.frame=t,this.internalFrameDrawnDispatcher.emit(t),this.frameDrawn.emit(t)}async registerInteractionHandler(t){return this.interactionHandlers.push(t),this.initializeInteractionHandler(t),{dispose:()=>{const i=this.interactionHandlers.indexOf(t);-1!==i&&(this.interactionHandlers[i].dispose(),this.interactionHandlers.splice(i,1))}}}async registerTapKeyInteraction(t){this.tapKeyInteractions=[...this.tapKeyInteractions,t]}async getInteractionTarget(){if(null!=this.stateMap.interactionTarget)return this.stateMap.interactionTarget;throw new Error("Interaction target is undefined.")}async addCursor(t,i){return this.stateMap.cursorManager.add(t,i)}async getInteractionHandlers(){return this.interactionHandlers}async getBaseInteractionHandler(){return this.baseInteractionHandler}async getJwt(){return this.token}handleSrcChanged(t){null!=t?this.load(t):this.unload()}handleRotateAboutTapPointChanged(){var t,i;this.updateStreamAttributes(),this.rotateAroundTapPoint?null===(t=this.baseInteractionHandler)||void 0===t||t.setPrimaryInteractionType("rotate-point"):null===(i=this.baseInteractionHandler)||void 0===i||i.setPrimaryInteractionType("rotate")}handleDepthBuffersChanged(){this.updateStreamAttributes()}handleExperimentalGhostingOpacityChanged(){this.updateStreamAttributes()}handleFeatureLinesChanged(){this.updateStreamAttributes()}handleFeatureHighlightingChanged(){this.updateStreamAttributes()}handleFeatureMapsChanged(){this.updateStreamAttributes()}handleConfigChanged(){this.updateResolvedConfig()}handleConfigEnvChanged(){this.updateResolvedConfig()}async load(t){var i;if(null==this.stream||null==this.dimensions)throw new J("Cannot load scene. Viewer has not been initialized.");this.calculateComponentDimensions(),this.stream.update({streamAttributes:this.getStreamAttributes(),config:N(this.configEnv,this.config),dimensions:this.dimensions,frameBgColor:this.getBackgroundColor()}),await(null===(i=this.stream)||void 0===i?void 0:i.load(t,this.clientId,this.getDeviceId(),this.getResolvedConfig())),this.sceneReady.emit()}async unload(){if(null!=this.stream&&(this.stream.disconnect(),this.frame=void 0,this.errorMessage=void 0),null!=this.canvasElement){const t=this.canvasElement.getContext("2d");null!=t&&t.clearRect(0,0,this.canvasElement.width,this.canvasElement.height)}}async scene(){return this.createScene()}async isSceneReady(){return"connected"===this.stateMap.streamState.type}async handleTapEvent(t){this.tapKeyInteractions.filter((i=>i.predicate(t.detail))).forEach((i=>i.fn(t.detail)))}emitConnectionChange(t){this.connectionChange.emit(t)}handleElementResize(t){t.length>=0&&null!=this.dimensions&&!u.isEqual(t[0].contentRect,this.dimensions)&&!this.isResizing&&(this.isResizing=!0,window.requestAnimationFrame((()=>this.recalculateComponentDimensions())))}registerSlotChangeListeners(){this.mutationObserver=new MutationObserver((()=>this.injectViewerApi())),this.mutationObserver.observe(this.hostElement,{childList:!0,subtree:!0})}injectViewerApi(){function t(t){return Array.from(t.querySelectorAll("*"))}t(this.hostElement).filter((t=>t.nodeName.startsWith("VERTEX-"))).reduce(((i,s)=>[...i,s,...t(s)]),[]).forEach((t=>{t.viewer=this.hostElement}))}calculateComponentDimensions(){var t;const i=this.getBounds();if(null!=(null==i?void 0:i.width)&&null!=(null==i?void 0:i.height)){const s=u.create(i.width,i.height),n=u.scaleFit(2073600,s);this.hostDimensions=s,this.dimensions=null!=n?u.create(n.width,n.height):void 0,this.viewport=tt.fromDimensions(null!==(t=this.getCanvasDimensions())&&void 0!==t?t:u.create(0,0))}}recalculateComponentDimensions(){var t;this.isResizing&&(this.calculateComponentDimensions(),this.isResizing=!1,null===(t=this.stream)||void 0===t||t.update({dimensions:this.dimensions}),this.dimensionschange.emit(this.dimensions))}reportPerformance(t){if("connected"===this.stateMap.streamState.type){const i={timings:t.map((t=>({receiveToPaintDuration:p(t.duration)})))};this.getStream().recordPerformance(i,!1)}}addStreamListeners(){this.stateMap.streamListeners=this.getStream().stateChanged.on((t=>{this.handleStreamStateChanged(this.stateMap.streamState,t)}))}handleStreamStateChanged(t,i){this.stateMap.streamState=i,"connecting"===i.type?this.handleConnecting(t,i):"connected"===i.type?this.handleConnected(t,i):"connection-failed"===i.type?this.handleConnectionFailed(t,i):"disconnected"===i.type&&this.handleDisconnected(t,i)}handleConnecting(t,i){"connecting"!==t.type&&(this.token=void 0,this.errorMessage=void 0,this.emitConnectionChange({status:"connecting"}))}handleConnected(t,i){this.token=i.token.token,"connected"!==t.type&&(this.errorMessage=void 0,this.canvasRenderer=Ct(bt,function(){let t;return async i=>{const s=i.frame.sequenceNumber,n=await(e=i.frame.image.imageBytes,null!=window.createImageBitmap?async function(t){const i=new Blob([t]),s=await window.createImageBitmap(i);return{image:s,dispose:()=>s.close()}}(e):(h=e,new Promise(((t,i)=>{const s=new Blob([h]),n=URL.createObjectURL(s),e=new Image;e.addEventListener("load",(()=>{t({image:e,dispose:()=>{}}),URL.revokeObjectURL(n)})),e.addEventListener("error",(()=>{i(new K("Failed to load image data")),URL.revokeObjectURL(n)})),e.src=n}))));var e,h;return(null==t||s>t)&&(t=s,function(t,i){const s=i.viewport.calculateDrawRect(i.frame.image);i.canvas.clearRect(0,0,i.dimensions.width,i.dimensions.height),i.canvas.drawImage(t.image,s.x,s.y,s.width,s.height)}(n,i)),n.dispose(),i.frame}}(),this.getResolvedConfig().flags.logFrameRate,(t=>this.reportPerformance(t))),this.emitConnectionChange({status:"connected",jwt:i.token.token}),this.deviceIdChange.emit(i.deviceId)),this.frame!==i.frame&&this.updateFrame(i.frame)}handleConnectionFailed(t,i){"connection-failed"!==t.type&&(this.token=void 0,this.errorMessage=i.message)}handleDisconnected(t,i){"disconnected"!==t.type&&(this.token=void 0,this.errorMessage=void 0,this.emitConnectionChange({status:"disconnected"}))}async updateFrame(t){const i=this.getCanvasDimensions();if(null!=this.canvasElement&&null!=i&&this.frame!==t){const s=this.canvasElement.getContext("2d");if(null!=s){this.frame=t;const n={canvas:s,dimensions:i,frame:this.frame,viewport:this.viewport};this.frameReceived.emit(this.frame),this.frame.scene.hasChanged&&this.sceneChanged.emit();const e=await this.canvasRenderer(n);this.dispatchFrameDrawn(e)}}}initializeInteractionHandler(t){if(null==this.stateMap.interactionTarget)throw new _("Cannot initialize interaction handler. Interaction target is undefined.");if(null==this.interactionApi)throw new _("Cannot initialize interaction handler. Interaction APi is undefined.");t.initialize(this.stateMap.interactionTarget,this.interactionApi)}createInteractionApi(){if(null==this.stream)throw new X("Cannot create interaction API. Component has not been initialized.");return new ht(this.stream,(()=>this.getResolvedConfig().interactions),(()=>this.createScene()),(()=>this.frame),(()=>this.viewport),this.tap,this.doubletap,this.longpress,this.interactionStarted,this.interactionFinished)}handleCursorChanged(){window.requestAnimationFrame((()=>{this.cursor=this.stateMap.cursorManager.getActiveCursor()}))}createScene(){if("connected"!==this.stateMap.streamState.type)throw new Y("Cannot create scene. Viewer stream is not connected.");const{frame:t,sceneViewId:i,worldOrientation:s}=this.stateMap.streamState,n="string"==typeof this.selectionMaterial?Q(this.selectionMaterial):this.selectionMaterial;return new Z(this.getStream(),t,P(s),(()=>this.getImageScale()),i,n)}getBackgroundColor(){if(null!=this.containerElement)return function(t){const i=window.getComputedStyle(t);return O.fromCss(i.backgroundColor)}(this.containerElement)}getBounds(){return this.hostElement.getBoundingClientRect()}getCanvasDimensions(){return this.getResolvedConfig().flags.letterboxFrames?this.dimensions:this.hostDimensions}getImageScale(){const t=this.getCanvasDimensions();if(null!=this.dimensions&&null!=t)return h.create(this.dimensions.width/t.width,this.dimensions.height/t.height)}getStreamAttributes(){return{depthBuffers:this.getDepthBufferStreamAttributesValue(),experimentalGhosting:this.experimentalGhostingOpacity,featureLines:this.featureLines,featureHighlighting:this.featureHighlighting,featureMaps:this.featureMaps}}updateStreamAttributes(){var t;null===(t=this.stream)||void 0===t||t.update({streamAttributes:this.getStreamAttributes()})}getDepthBufferStreamAttributesValue(){var t;return null!==(t=this.depthBuffers)&&void 0!==t?t:this.rotateAroundTapPoint?"final":void 0}updateResolvedConfig(){this.resolvedConfig=N(this.configEnv,this.config)}getResolvedConfig(){return kt("Resolved config is undefined",(()=>this.resolvedConfig))}getStream(){return kt("Stream is undefined",(()=>this.stream))}getDeviceId(){return null==this.deviceId&&(this.deviceId=function(t,i,s=window.localStorage){const n=s.getItem(Pt.DEVICE_ID);if(null!=n)return i(JSON.parse(n))}(0,(t=>t["device-id"])),null==this.deviceId&&(this.deviceId=F.create(),function(t,i,s=window.localStorage){const n=s.getItem(t);if(null!=n){const e=Object.assign(Object.assign({},JSON.parse(n)),i);s.setItem(t,JSON.stringify(e))}else s.setItem(t,JSON.stringify(i))}(Pt.DEVICE_ID,{"device-id":this.deviceId}))),this.deviceId}get hostElement(){return e(this)}static get watchers(){return{src:["handleSrcChanged"],rotateAroundTapPoint:["handleRotateAboutTapPointChanged"],depthBuffers:["handleDepthBuffersChanged"],experimentalGhostingOpacity:["handleExperimentalGhostingOpacityChanged"],featureLines:["handleFeatureLinesChanged"],featureHighlighting:["handleFeatureHighlightingChanged"],featureMaps:["handleFeatureMapsChanged"],config:["handleConfigChanged"],configEnv:["handleConfigEnvChanged"]}}};function kt(t,i){const s=i();if(null!=s)return s;throw new Error(t)}xt.style=":host{--image-background:var(--image-background);--viewer-background:var(--viewer-background);display:block;position:relative;width:300px;height:300px;min-width:1px;min-height:1px}.canvas-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;position:relative;background:var(--image-background, var(--viewer-background, #ffffff))}.enable-pointer-events{touch-action:none}.viewer-container{width:100%;height:100%;overflow:hidden;background:var(--viewer-background, #ffffff)}.error-message{position:absolute;top:50%;width:100%;transform:translateY(-50%);text-align:center}";export{xt as vertex_viewer}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{m as t,s,b as i}from"./p-f4a8c901.js";import{g as e,w as n}from"./p-3a20a038.js";function r(t){return new Promise(((s,i)=>{t(((t,e)=>{null!=t?i(t):null!=e?s(e):i(new Error("Invalid gRPC response. Error and result are empty."))}))}))}async function a(t,s){const i=await t();return new e.grpc.Metadata({"jwt-context":JSON.stringify({jwt:i,metadata:{"x-device-id":s||""}})})}class h{constructor(t,s,i,e){this.model=t,this.client=s,this.jwtProvider=i,this.deviceId=e,this.results=Promise.resolve([])}addEntity(t){return this.performMeasurement((()=>this.model.addEntity(t)))}clearEntities(){return this.performMeasurement((()=>(this.model.clearEntities(),this.model.clearResults(),!0)))}removeEntity(t){return this.performMeasurement((()=>this.model.removeEntity(t)))}setEntities(t){return this.performMeasurement((()=>this.model.setEntities(t)))}performMeasurement(t){const s=this.model.getEntities(),i=t(),e=this.model.getEntities();return i&&(this.measureAndUpdateModel(e),this.highlightEntities(s,e)),this.results}measureAndUpdateModel(t){this.results=t.length>0?this.measureEntities().then((t=>(this.model.replaceResultsWithOutcome(t),this.model.getResults()))):Promise.resolve([])}async measureEntities(){const i=this.model.getEntities().map((t=>t.toProto())),e=await r((async t=>{const e=await a(this.jwtProvider,this.deviceId),n=new s.MeasureRequest;n.setEntitiesList(i),this.client.measure(n,e,t)}));return t(e.toObject())}async highlightEntities(t,e){await r((async r=>{const h=await a(this.jwtProvider,this.deviceId),o=new Set(e),c=t.filter((t=>!o.has(t))).map((t=>{const e=new s.ModelEntityUpdate;return e.setModelEntity(i.ModelEntity.deserializeBinary(t.modelEntity)),e.setHighlight((new n.BoolValue).setValue(!1)),e})),u=e.map((t=>{const e=new s.ModelEntityUpdate;return e.setModelEntity(i.ModelEntity.deserializeBinary(t.modelEntity)),e.setHighlight((new n.BoolValue).setValue(!0)),e})),w=new s.UpdateModelEntitiesRequest;w.setUpdatesList([...c,...u]),this.client.updateModelEntities(w,h,r)}))}}export{h as M}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- const e="viewer";let t,n,l,o=!1,s=!1,r=!1,i=!1,c=!1;const a="undefined"!=typeof window?window:{},f=a.document||{head:{}},u={t:0,l:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,l)=>e.addEventListener(t,n,l),rel:(e,t,n,l)=>e.removeEventListener(t,n,l),ce:(e,t)=>new CustomEvent(e,t)},d=(()=>(f.head.attachShadow+"").indexOf("[native")>-1)(),p=e=>Promise.resolve(e),h=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replace}catch(e){}return!1})(),$=(e,t,n)=>{n&&n.map((([n,l,o])=>{const s=e,r=m(t,o),i=w(n);u.ael(s,l,r,i),(t.o=t.o||[]).push((()=>u.rel(s,l,r,i)))}))},m=(e,t)=>n=>{try{256&e.t?e.i[t](n):(e.u=e.u||[]).push([t,n])}catch(e){he(e)}},w=e=>0!=(2&e),y=new WeakMap,b=e=>"sc-"+e.p,v={},g=e=>"object"==(e=typeof e)||"function"===e,j=(e,t,...n)=>{let l=null,o=null,s=!1,r=!1,i=[];const c=t=>{for(let n=0;n<t.length;n++)l=t[n],Array.isArray(l)?c(l):null!=l&&"boolean"!=typeof l&&((s="function"!=typeof e&&!g(l))&&(l+=""),s&&r?i[i.length-1].h+=l:i.push(s?S(null,l):l),r=s)};if(c(n),t){t.name&&(o=t.name);{const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,i,O);const a=S(e,null);return a.$=t,i.length>0&&(a.m=i),a.v=o,a},S=(e,t)=>({t:0,g:e,h:t,j:null,m:null,$:null,v:null}),k={},O={forEach:(e,t)=>e.map(_).forEach(t),map:(e,t)=>e.map(_).map(t).map(C)},_=e=>({vattrs:e.$,vchildren:e.m,vkey:e.S,vname:e.v,vtag:e.g,vtext:e.h}),C=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),j(e.vtag,t,...e.vchildren||[])}const t=S(e.vtag,e.vtext);return t.$=e.vattrs,t.m=e.vchildren,t.S=e.vkey,t.v=e.vname,t},M=(e,t,n,l,o,s)=>{if(n!==l){let r=pe(e,t),i=t.toLowerCase();if("class"===t){const t=e.classList,o=x(n),s=x(l);t.remove(...o.filter((e=>e&&!s.includes(e)))),t.add(...s.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in n)l&&null!=l[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in l)n&&l[t]===n[t]||(t.includes("-")?e.style.setProperty(t,l[t]):e.style[t]=l[t])}else if("ref"===t)l&&l(e);else if(r||"o"!==t[0]||"n"!==t[1]){const i=g(l);if((r||i&&null!==l)&&!o)try{if(e.tagName.includes("-"))e[t]=l;else{let o=null==l?"":l;"list"===t?r=!1:null!=n&&e[t]==o||(e[t]=o)}}catch(e){}null==l||!1===l?!1===l&&""!==e.getAttribute(t)||e.removeAttribute(t):(!r||4&s||o)&&!i&&e.setAttribute(t,l=!0===l?"":l)}else t="-"===t[2]?t.slice(3):pe(a,i)?i.slice(2):i[2]+t.slice(3),n&&u.rel(e,t,n,!1),l&&u.ael(e,t,l,!1)}},R=/\s/,x=e=>e?e.split(R):[],P=(e,t,n,l)=>{const o=11===t.j.nodeType&&t.j.host?t.j.host:t.j,s=e&&e.$||v,r=t.$||v;for(l in s)l in r||M(o,l,s[l],void 0,n,t.t);for(l in r)M(o,l,s[l],r[l],n,t.t)},T=(e,s,c,a)=>{let u,d,p,h=s.m[c],$=0;if(o||(r=!0,"slot"===h.g&&(t&&a.classList.add(t+"-s"),h.t|=h.m?2:1)),null!==h.h)u=h.j=f.createTextNode(h.h);else if(1&h.t)u=h.j=f.createTextNode("");else{if(i||(i="svg"===h.g),u=h.j=f.createElementNS(i?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&h.t?"slot-fb":h.g),i&&"foreignObject"===h.g&&(i=!1),P(null,h,i),null!=t&&u["s-si"]!==t&&u.classList.add(u["s-si"]=t),h.m)for($=0;$<h.m.length;++$)d=T(e,h,$,u),d&&u.appendChild(d);"svg"===h.g?i=!1:"foreignObject"===u.tagName&&(i=!0)}return u["s-hn"]=l,3&h.t&&(u["s-sr"]=!0,u["s-cr"]=n,u["s-sn"]=h.v||"",p=e&&e.m&&e.m[c],p&&p.g===h.g&&e.j&&W(e.j,!1)),u},W=(e,t)=>{u.t|=1;const n=e.childNodes;for(let e=n.length-1;e>=0;e--){const o=n[e];o["s-hn"]!==l&&o["s-ol"]&&(U(o).insertBefore(o,N(o)),o["s-ol"].remove(),o["s-ol"]=void 0,r=!0),t&&W(o,t)}u.t&=-2},E=(e,t,n,o,s,r)=>{let i,c=e["s-cr"]&&e["s-cr"].parentNode||e;for(c.shadowRoot&&c.tagName===l&&(c=c.shadowRoot);s<=r;++s)o[s]&&(i=T(null,n,s,e),i&&(o[s].j=i,c.insertBefore(i,N(t))))},L=(e,t,n,l,o)=>{for(;t<=n;++t)(l=e[t])&&(o=l.j,z(l),s=!0,o["s-ol"]?o["s-ol"].remove():W(o,!0),o.remove())},F=(e,t)=>e.g===t.g&&("slot"!==e.g||e.v===t.v),N=e=>e&&e["s-ol"]||e,U=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,A=(e,t)=>{const n=t.j=e.j,l=e.m,o=t.m,s=t.g,r=t.h;let c;null===r?(i="svg"===s||"foreignObject"!==s&&i,"slot"===s||P(e,t,i),null!==l&&null!==o?((e,t,n,l)=>{let o,s=0,r=0,i=t.length-1,c=t[0],a=t[i],f=l.length-1,u=l[0],d=l[f];for(;s<=i&&r<=f;)null==c?c=t[++s]:null==a?a=t[--i]:null==u?u=l[++r]:null==d?d=l[--f]:F(c,u)?(A(c,u),c=t[++s],u=l[++r]):F(a,d)?(A(a,d),a=t[--i],d=l[--f]):F(c,d)?("slot"!==c.g&&"slot"!==d.g||W(c.j.parentNode,!1),A(c,d),e.insertBefore(c.j,a.j.nextSibling),c=t[++s],d=l[--f]):F(a,u)?("slot"!==c.g&&"slot"!==d.g||W(a.j.parentNode,!1),A(a,u),e.insertBefore(a.j,c.j),a=t[--i],u=l[++r]):(o=T(t&&t[r],n,r,e),u=l[++r],o&&U(c.j).insertBefore(o,N(c.j)));s>i?E(e,null==l[f+1]?null:l[f+1].j,n,l,r,f):r>f&&L(t,s,i)})(n,l,t,o):null!==o?(null!==e.h&&(n.textContent=""),E(n,null,t,o,0,o.length-1)):null!==l&&L(l,0,l.length-1),i&&"svg"===s&&(i=!1)):(c=n["s-cr"])?c.parentNode.textContent=r:e.h!==r&&(n.data=r)},D=e=>{let t,n,l,o,s,r,i=e.childNodes;for(n=0,l=i.length;n<l;n++)if(t=i[n],1===t.nodeType){if(t["s-sr"])for(s=t["s-sn"],t.hidden=!1,o=0;o<l;o++)if(r=i[o].nodeType,i[o]["s-hn"]!==t["s-hn"]||""!==s){if(1===r&&s===i[o].getAttribute("slot")){t.hidden=!0;break}}else if(1===r||3===r&&""!==i[o].textContent.trim()){t.hidden=!0;break}D(t)}},H=[],q=e=>{let t,n,l,o,r,i,c=0,a=e.childNodes,f=a.length;for(;c<f;c++){if(t=a[c],t["s-sr"]&&(n=t["s-cr"])&&n.parentNode)for(l=n.parentNode.childNodes,o=t["s-sn"],i=l.length-1;i>=0;i--)n=l[i],n["s-cn"]||n["s-nr"]||n["s-hn"]===t["s-hn"]||(V(n,o)?(r=H.find((e=>e.k===n)),s=!0,n["s-sn"]=n["s-sn"]||o,r?r.O=t:H.push({O:t,k:n}),n["s-sr"]&&H.map((e=>{V(e.k,n["s-sn"])&&(r=H.find((e=>e.k===n)),r&&!e.O&&(e.O=r.O))}))):H.some((e=>e.k===n))||H.push({k:n}));1===t.nodeType&&q(t)}},V=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,z=e=>{e.$&&e.$.ref&&e.$.ref(null),e.m&&e.m.map(z)},B=e=>fe(e)._,G=(e,t,n)=>{const l=B(e);return{emit:e=>I(l,t,{bubbles:!!(4&n),composed:!!(2&n),cancelable:!!(1&n),detail:e})}},I=(e,t,n)=>{const l=u.ce(t,n);return e.dispatchEvent(l),l},J=(e,t)=>{t&&!e.C&&t["s-p"]&&t["s-p"].push(new Promise((t=>e.C=t)))},K=(e,t)=>{if(e.t|=16,!(4&e.t))return J(e,e.M),Oe((()=>Q(e,t)));e.t|=512},Q=(e,t)=>{const n=e.i;let l;return t?(e.t|=256,e.u&&(e.u.map((([e,t])=>ne(n,e,t))),e.u=null),l=ne(n,"componentWillLoad")):l=ne(n,"componentWillUpdate"),l=le(l,(()=>ne(n,"componentWillRender"))),le(l,(()=>X(e,n,t)))},X=async(e,t,n)=>{const l=e._,o=l["s-rc"];n&&(e=>{const t=e.R,n=e._,l=t.t,o=((e,t)=>{let n=b(t),l=we.get(n);if(e=11===e.nodeType?e:f,l)if("string"==typeof l){let t,o=y.get(e=e.head||e);o||y.set(e,o=new Set),o.has(n)||(t=f.createElement("style"),t.innerHTML=l,e.insertBefore(t,e.querySelector("link")),o&&o.add(n))}else e.adoptedStyleSheets.includes(l)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,l]);return n})(d&&n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&l&&(n["s-sc"]=o,n.classList.add(o+"-h"))})(e);Y(e,t),o&&(o.map((e=>e())),l["s-rc"]=void 0);{const t=l["s-p"],n=()=>Z(e);0===t.length?n():(Promise.all(t).then(n),e.t|=4,t.length=0)}},Y=(e,i)=>{try{i=i.render(),e.t&=-17,e.t|=2,((e,i)=>{const c=e._,a=e.R,p=e.P||S(null,null),h=(e=>e&&e.g===k)(i)?i:j(null,null,i);if(l=c.tagName,a.T&&(h.$=h.$||{},a.T.map((([e,t])=>h.$[t]=c[e]))),h.g=null,h.t|=4,e.P=h,h.j=p.j=c.shadowRoot||c,t=c["s-sc"],n=c["s-cr"],o=d&&0!=(1&a.t),s=!1,A(p,h),u.t|=1,r){let e,t,n,l,o,s;q(h.j);let r=0;for(;r<H.length;r++)e=H[r],t=e.k,t["s-ol"]||(n=f.createTextNode(""),n["s-nr"]=t,t.parentNode.insertBefore(t["s-ol"]=n,t));for(r=0;r<H.length;r++)if(e=H[r],t=e.k,e.O){for(l=e.O.parentNode,o=e.O.nextSibling,n=t["s-ol"];n=n.previousSibling;)if(s=n["s-nr"],s&&s["s-sn"]===t["s-sn"]&&l===s.parentNode&&(s=s.nextSibling,!s||!s["s-nr"])){o=s;break}(!o&&l!==t.parentNode||t.nextSibling!==o)&&t!==o&&(!t["s-hn"]&&t["s-ol"]&&(t["s-hn"]=t["s-ol"].parentNode.nodeName),l.insertBefore(t,o))}else 1===t.nodeType&&(t.hidden=!0)}s&&D(h.j),u.t&=-2,H.length=0})(e,i)}catch(t){he(t,e._)}return null},Z=e=>{const t=e._,n=e.i,l=e.M;ne(n,"componentDidRender"),64&e.t||(e.t|=64,oe(t),ne(n,"componentDidLoad"),e.W(t),l||te()),e.L(t),e.C&&(e.C(),e.C=void 0),512&e.t&&Se((()=>K(e,!1))),e.t&=-517},ee=e=>{{const t=fe(e),n=t._.isConnected;return n&&2==(18&t.t)&&K(t,!1),n}},te=()=>{oe(f.documentElement),Se((()=>I(a,"appload",{detail:{namespace:"viewer"}})))},ne=(e,t,n)=>{if(e&&e[t])try{return e[t](n)}catch(e){he(e)}},le=(e,t)=>e&&e.then?e.then(t):t(),oe=e=>e.classList.add("hydrated"),se=(e,t,n)=>{if(t.F){e.watchers&&(t.N=e.watchers);const l=Object.entries(t.F),o=e.prototype;if(l.map((([e,[l]])=>{31&l||2&n&&32&l?Object.defineProperty(o,e,{get(){return((e,t)=>fe(this).U.get(t))(0,e)},set(n){((e,t,n,l)=>{const o=fe(e),s=o._,r=o.U.get(t),i=o.t,c=o.i;if(n=((e,t)=>null==e||g(e)?e:4&t?"false"!==e&&(""===e||!!e):2&t?parseFloat(e):1&t?e+"":e)(n,l.F[t][0]),!(8&i&&void 0!==r||n===r)&&(o.U.set(t,n),c)){if(l.N&&128&i){const e=l.N[t];e&&e.map((e=>{try{c[e](n,r,t)}catch(e){he(e,s)}}))}if(2==(18&i)){if(c.componentShouldUpdate&&!1===c.componentShouldUpdate(n,r,t))return;K(o,!1)}}})(this,e,n,t)},configurable:!0,enumerable:!0}):1&n&&64&l&&Object.defineProperty(o,e,{value(...t){const n=fe(this);return n.A.then((()=>n.i[e](...t)))}})})),1&n){const n=new Map;o.attributeChangedCallback=function(e,t,l){u.jmp((()=>{const t=n.get(e);if(this.hasOwnProperty(t))l=this[t],delete this[t];else if(o.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==l)return;this[t]=(null!==l||"boolean"!=typeof this[t])&&l}))},e.observedAttributes=l.filter((([e,t])=>15&t[0])).map((([e,l])=>{const o=l[1]||e;return n.set(o,e),512&l[0]&&t.T.push([e,o]),o}))}}return e},re=e=>{ne(e,"connectedCallback")},ie=(e,t={})=>{const n=[],l=t.exclude||[],o=a.customElements,s=f.head,r=s.querySelector("meta[charset]"),i=f.createElement("style"),c=[];let p,m=!0;Object.assign(u,t),u.l=new URL(t.resourcesUrl||"./",f.baseURI).href,e.map((e=>{e[1].map((t=>{const s={t:t[0],p:t[1],F:t[2],D:t[3]};s.F=t[2],s.D=t[3],s.T=[],s.N={},!d&&1&s.t&&(s.t|=8);const r=s.p,i=class extends HTMLElement{constructor(e){super(e),de(e=this,s),1&s.t&&(d?e.attachShadow({mode:"open"}):"shadowRoot"in e||(e.shadowRoot=e))}connectedCallback(){p&&(clearTimeout(p),p=null),m?c.push(this):u.jmp((()=>(e=>{if(0==(1&u.t)){const t=fe(e),n=t.R,l=()=>{};if(1&t.t)$(e,t,n.D),re(t.i);else{t.t|=1,12&n.t&&(e=>{const t=e["s-cr"]=f.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)})(e);{let n=e;for(;n=n.parentNode||n.host;)if(n["s-p"]){J(t,t.M=n);break}}n.F&&Object.entries(n.F).map((([t,[n]])=>{if(31&n&&e.hasOwnProperty(t)){const n=e[t];delete e[t],e[t]=n}})),(async(e,t,n,l,o)=>{if(0==(32&t.t)){{if(t.t|=32,(o=me(n)).then){const e=()=>{};o=await o,e()}o.isProxied||(n.N=o.watchers,se(o,n,2),o.isProxied=!0);const e=()=>{};t.t|=8;try{new o(t)}catch(e){he(e)}t.t&=-9,t.t|=128,e(),re(t.i)}if(o.style){let e=o.style;const t=b(n);if(!we.has(t)){const l=()=>{};8&n.t&&(e=await __sc_import_viewer("./p-883fed22.js").then((n=>n.scopeCss(e,t,!1)))),((e,t,n)=>{let l=we.get(e);h&&n?(l=l||new CSSStyleSheet,l.replace(t)):l=t,we.set(e,l)})(t,e,!!(1&n.t)),l()}}}const s=t.M,r=()=>K(t,!0);s&&s["s-rc"]?s["s-rc"].push(r):r()})(0,t,n)}l()}})(this)))}disconnectedCallback(){u.jmp((()=>(()=>{if(0==(1&u.t)){const e=fe(this),t=e.i;e.o&&(e.o.map((e=>e())),e.o=void 0),ne(t,"disconnectedCallback")}})()))}componentOnReady(){return fe(this).H}};s.q=e[0],l.includes(r)||o.get(r)||(n.push(r),o.define(r,se(i,s,1)))}))})),i.innerHTML=n+"{visibility:hidden}.hydrated{visibility:inherit}",i.setAttribute("data-styles",""),s.insertBefore(i,r?r.nextSibling:s.firstChild),m=!1,c.length?c.map((e=>e.connectedCallback())):u.jmp((()=>p=setTimeout(te,30)))},ce=(e,t)=>t,ae=new WeakMap,fe=e=>ae.get(e),ue=(e,t)=>ae.set(t.i=e,t),de=(e,t)=>{const n={t:0,_:e,R:t,U:new Map};return n.A=new Promise((e=>n.L=e)),n.H=new Promise((e=>n.W=e)),e["s-p"]=[],e["s-rc"]=[],$(e,n,t.D),ae.set(e,n)},pe=(e,t)=>t in e,he=(e,t)=>(0,console.error)(e,t),$e=new Map,me=e=>{const t=e.p.replace(/-/g,"_"),n=e.q,l=$e.get(n);return l?l[t]:__sc_import_viewer(`./${n}.entry.js`).then((e=>($e.set(n,e),e[t])),he)},we=new Map,ye=[],be=[],ve=(e,t)=>n=>{e.push(n),c||(c=!0,t&&4&u.t?Se(je):u.raf(je))},ge=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){he(e)}e.length=0},je=()=>{ge(ye),ge(be),(c=ye.length>0)&&u.raf(je)},Se=e=>p().then(e),ke=ve(ye,!1),Oe=ve(be,!0);export{ce as F,k as H,e as N,ke as a,ie as b,G as c,f as d,ee as f,B as g,j as h,p,ue as r,a as w}
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{E as s}from"./p-f70d8def.js";class t{constructor(){this.onChanged=new s,this.cursors=[],this.nextId=0}add(s,h=t.NORMAL_PRIORITY){const i=++this.nextId,a={id:i,cursor:s,priority:h,dispose:()=>this.remove(i)};return this.cursors.push(a),this.onChanged.emit(),a}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 h={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};export{t as C,h as m}