@vertexvis/viewer 0.16.0 → 0.16.1-canary.1

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 (109) hide show
  1. package/README.template.md +19 -0
  2. package/dist/cjs/controller-383147c5.js +111 -0
  3. package/dist/cjs/controller-917f9ebf.js +7508 -0
  4. package/dist/cjs/dom-d162f898.js +14 -0
  5. package/dist/cjs/{entities-053d1e65.js → entities-98b08d8a.js} +5 -5
  6. package/dist/cjs/index.cjs.js +10 -3
  7. package/dist/cjs/{mapper-767b5f6d.js → mapper-d3855fc8.js} +583 -583
  8. package/dist/cjs/{dom-92728e58.js → row-3a1861d4.js} +0 -9
  9. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +5 -4
  10. package/dist/cjs/vertex-scene-tree.cjs.entry.js +19 -7510
  11. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +9 -110
  12. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +2 -2
  13. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +2 -2
  14. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +4 -4
  15. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +6 -3
  16. package/dist/collection/collection-manifest.json +4 -4
  17. package/dist/collection/components/scene-tree/lib/index.js +3 -0
  18. package/dist/collection/components/scene-tree/scene-tree.js +30 -17
  19. package/dist/collection/components/scene-tree/types.js +2 -0
  20. package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js +1 -1
  21. package/dist/collection/components/viewer-box-query-tool/types.js +2 -0
  22. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +5 -3
  23. package/dist/collection/components/viewer-default-toolbar/viewer-default-toolbar.js +2 -2
  24. package/dist/collection/components/viewer-toolbar/types.js +2 -0
  25. package/dist/collection/components/viewer-toolbar/viewer-toolbar.js +5 -3
  26. package/dist/collection/components/viewer-toolbar-group/types.js +2 -0
  27. package/dist/collection/components/viewer-toolbar-group/viewer-toolbar-group.js +3 -2
  28. package/dist/collection/index.js +8 -1
  29. package/dist/collection/lib/pins/index.js +2 -0
  30. package/dist/collection/lib/volume-intersection/index.js +2 -0
  31. package/dist/custom-elements/index.js +71942 -71942
  32. package/dist/esm/{bundle.esm-b51ea7fc.js → bundle.esm-c0b261c8.js} +1 -1
  33. package/dist/esm/{config-def96227.js → config-5a3235d2.js} +1 -1
  34. package/dist/esm/controller-37e0b32a.js +109 -0
  35. package/dist/esm/controller-8e9e0b43.js +7503 -0
  36. package/dist/esm/dom-2111ed19.js +11 -0
  37. package/dist/esm/{entities-3ff1a7ee.js → entities-f0128903.js} +3 -3
  38. package/dist/esm/index.js +9 -6
  39. package/dist/esm/index.mjs +9 -6
  40. package/dist/esm/{mapper-b2f3424f.js → mapper-36404f5d.js} +2 -2
  41. package/dist/esm/{dom-e19ee80b.js → row-5ebb8f09.js} +1 -8
  42. package/dist/esm/{scene-ed248e56.js → scene-d23dff71.js} +2 -2
  43. package/dist/esm/{streamAttributes-90bcdb58.js → streamAttributes-7bd73748.js} +1 -1
  44. package/dist/esm/vertex-scene-tree-search_3.entry.js +2 -1
  45. package/dist/esm/vertex-scene-tree.entry.js +13 -7504
  46. package/dist/esm/vertex-viewer-box-query-tool.entry.js +3 -104
  47. package/dist/esm/vertex-viewer-dom-element_2.entry.js +2 -2
  48. package/dist/esm/vertex-viewer-measurement-details.entry.js +2 -2
  49. package/dist/esm/vertex-viewer-measurement-distance.entry.js +4 -4
  50. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +4 -4
  51. package/dist/esm/vertex-viewer-measurement-precise.entry.js +6 -6
  52. package/dist/esm/vertex-viewer-pin-group.entry.js +8 -5
  53. package/dist/esm/vertex-viewer-transform-widget.entry.js +2 -2
  54. package/dist/esm/vertex-viewer-view-cube.entry.js +2 -2
  55. package/dist/esm/vertex-viewer.entry.js +4 -4
  56. package/dist/esm/{grpc-web-client.umd-5409853c.js → wrappers_pb-e7a5f842.js} +5 -5
  57. package/dist/types/components/scene-tree/lib/controller.d.ts +1 -1
  58. package/dist/types/components/scene-tree/lib/index.d.ts +2 -0
  59. package/dist/types/components/scene-tree/lib/row.d.ts +1 -1
  60. package/dist/types/components/scene-tree/scene-tree.d.ts +1 -31
  61. package/dist/types/components/scene-tree/types.d.ts +32 -0
  62. package/dist/types/components/scene-tree-table-layout/scene-tree-table-layout.d.ts +1 -1
  63. package/dist/types/components/viewer-box-query-tool/types.d.ts +2 -0
  64. package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +1 -2
  65. package/dist/types/components/viewer-default-toolbar/viewer-default-toolbar.d.ts +2 -2
  66. package/dist/types/components/viewer-toolbar/types.d.ts +5 -0
  67. package/dist/types/components/viewer-toolbar/viewer-toolbar.d.ts +1 -5
  68. package/dist/types/components/viewer-toolbar-group/types.d.ts +1 -0
  69. package/dist/types/components/viewer-toolbar-group/viewer-toolbar-group.d.ts +1 -1
  70. package/dist/types/components.d.ts +6 -10
  71. package/dist/types/index.d.ts +7 -0
  72. package/dist/types/lib/pins/index.d.ts +2 -0
  73. package/dist/types/lib/volume-intersection/index.d.ts +1 -0
  74. package/dist/types/lib/volume-intersection/model.d.ts +1 -1
  75. package/dist/viewer/index.esm.js +1 -1
  76. package/dist/viewer/{p-9f805c70.js → p-2c07b773.js} +1 -1
  77. package/dist/viewer/p-39535bb0.entry.js +4 -0
  78. package/dist/viewer/p-3a6fa239.js +4 -0
  79. package/dist/viewer/{p-e24dbb45.entry.js → p-42acbbaf.entry.js} +1 -1
  80. package/dist/viewer/p-43f7a708.entry.js +4 -0
  81. package/dist/viewer/{p-bd314501.js → p-5632192b.js} +1 -1
  82. package/dist/viewer/{p-01012fee.entry.js → p-58b30f31.entry.js} +1 -1
  83. package/dist/viewer/{p-f6b6b3d5.entry.js → p-6a4d8fb9.entry.js} +1 -1
  84. package/dist/viewer/p-6f47fcb9.js +4 -0
  85. package/dist/viewer/p-76c414a4.js +4 -0
  86. package/dist/viewer/{p-b283a36b.js → p-787c2987.js} +1 -1
  87. package/dist/viewer/{p-46f40a43.js → p-817743a4.js} +1 -1
  88. package/dist/viewer/{p-13e6c657.entry.js → p-886fb3a9.entry.js} +2 -2
  89. package/dist/viewer/{p-b629cebb.entry.js → p-92a65d2c.entry.js} +1 -1
  90. package/dist/viewer/p-9cc361f6.entry.js +4 -0
  91. package/dist/viewer/{p-934cbb97.js → p-a7c29e95.js} +1 -1
  92. package/dist/viewer/{p-47c4b430.entry.js → p-b4321377.entry.js} +1 -1
  93. package/dist/viewer/p-bfae3945.js +4 -0
  94. package/dist/viewer/{p-86759ae2.entry.js → p-d8c578a9.entry.js} +1 -1
  95. package/dist/viewer/{p-ea183d6e.entry.js → p-db8948a9.entry.js} +1 -1
  96. package/dist/viewer/{p-a12791aa.js → p-dde5650a.js} +1 -1
  97. package/dist/viewer/{p-bf688622.entry.js → p-ecd99a3e.entry.js} +1 -1
  98. package/dist/viewer/p-f5aaf680.js +4 -0
  99. package/dist/viewer/viewer.esm.js +1 -1
  100. package/package.json +7 -7
  101. package/readme.md +19 -0
  102. package/dist/collection/components/scene-tree/interfaces.js +0 -2
  103. package/dist/types/components/scene-tree/interfaces.d.ts +0 -1
  104. package/dist/viewer/p-3296fdf1.entry.js +0 -4
  105. package/dist/viewer/p-569ed94a.entry.js +0 -4
  106. package/dist/viewer/p-7ef7d9ce.entry.js +0 -4
  107. package/dist/viewer/p-92fe4417.js +0 -4
  108. package/dist/viewer/p-c8c4343b.js +0 -4
  109. package/dist/cjs/{grpc-web-client.umd-2af20c1b.js → wrappers_pb-04573f90.js} +4 -4
@@ -1,7 +1,7 @@
1
1
  /**!
2
2
  * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{h as e,F as t,r,H as s}from"./p-d6fce4c1.js";import{D as i,A as n,f as a}from"./p-46f40a43.js";import"./p-df8fbe56.js";import{o as l,v as o}from"./p-d216a866.js";import{c as h}from"./p-07aeee89.js";import"./p-934cbb97.js";import"./p-fc7d8c03.js";import"./p-dfe5a97d.js";
4
+ import{h as e,F as t,r,H as s}from"./p-d6fce4c1.js";import{D as i,A as n,f as a}from"./p-817743a4.js";import"./p-df8fbe56.js";import{o as l,v as o}from"./p-d216a866.js";import{c as h}from"./p-07aeee89.js";import"./p-a7c29e95.js";import"./p-fc7d8c03.js";import"./p-dfe5a97d.js";
5
5
  /*! *****************************************************************************
6
6
  Copyright (c) Microsoft Corporation.
7
7
 
@@ -29,4 +29,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
29
29
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
30
30
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
31
31
  PERFORMANCE OF THIS SOFTWARE.
32
- ***************************************************************************** */function v(e){return e.toLowerCase()}var m=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],c=/[^A-Z0-9]+/gi;function f(e,t,r){return t instanceof RegExp?e.replace(t,r):t.reduce((function(e,t){return e.replace(t,r)}),e)}function y(e,t){return void 0===t&&(t={}),function(e,t){void 0===t&&(t={});for(var r=t.splitRegexp,s=t.stripRegexp,i=void 0===s?c:s,n=t.transform,a=void 0===n?v:n,l=t.delimiter,o=void 0===l?" ":l,h=f(f(e,void 0===r?m:r,"$1\0$2"),i,"\0"),u=0,d=h.length;"\0"===h.charAt(u);)u++;for(;"\0"===h.charAt(d-1);)d--;return h.slice(u,d).split("\0").map(a).join(o)}(e,d({delimiter:"."},t))}const p=(t,r)=>{var s,i,{label:n}=t,a=l(t,["label"]);return e("div",Object.assign({},a,{class:"measurement-details-entry"}),e("div",{class:h("measurement-details-entry-label",(s=n,void 0===i&&(i={}),y(s,u({delimiter:"-"},i))))},n,":"),r)},b=({result:r,formatter:s,overlays:i,onShowOverlay:n,onHideOverlay:a})=>{const l=o.subtract(r.point1,r.point2);return e(t,null,e(p,{label:"Dist",onMouseEnter:()=>n(null==i?void 0:i.addLineFromResult(r)),onMouseLeave:a},s(r.distance)),e(p,{label:"X",onMouseEnter:()=>n(null==i?void 0:i.addDistanceVectorFromResult(r)),onMouseLeave:a},s(l.x)),e(p,{label:"Y",onMouseEnter:()=>n(null==i?void 0:i.addDistanceVectorFromResult(r)),onMouseLeave:a},s(l.y)),e(p,{label:"Z",onMouseEnter:()=>n(null==i?void 0:i.addDistanceVectorFromResult(r)),onMouseLeave:a},s(l.z)))},g=({result:t,formatter:r})=>e(p,{label:"Angle"},r(t.angle)),w=({result:t,formatter:r})=>e(p,{label:"Parallel Dist"},r(t.distance)),O=({result:t,formatter:r})=>e(p,{label:"Area"},r(t.area)),M=class{constructor(e){r(this,e),this.distanceUnits="millimeters",this.angleUnits="degrees",this.fractionalDigits=2,this.distanceMeasurementUnits=new i(this.distanceUnits),this.angleMeasurementUnits=new n(this.angleUnits),this.areaMeasurementUnits=new a(this.distanceUnits),this.handleShowOverlay=e=>{this.overlay=e},this.handleHideOverlay=()=>{var e;null===(e=this.overlay)||void 0===e||e.dispose()},this.handleOutcomeChange=()=>{this.updateStateFromModel()}}connectedCallback(){var e;this.onOutcomeChangedHandler=null===(e=this.measurementModel)||void 0===e?void 0:e.onOutcomeChanged(this.handleOutcomeChange),this.updateStateFromModel()}disconnectedCallback(){var e;null===(e=this.onOutcomeChangedHandler)||void 0===e||e.dispose()}handleDistanceUnitsChanged(){this.distanceMeasurementUnits=new i(this.distanceUnits),this.areaMeasurementUnits=new a(this.distanceUnits)}handleAngleUnitsChanged(){this.angleMeasurementUnits=new n(this.angleUnits)}handleMeasurementModelChanged(){var e,t;null===(e=this.onOutcomeChangedHandler)||void 0===e||e.dispose(),this.onOutcomeChangedHandler=null===(t=this.measurementModel)||void 0===t?void 0:t.onOutcomeChanged(this.handleOutcomeChange),this.updateStateFromModel()}handleResultTypesChanged(){this.updateStateFromModel()}render(){var t,r;const i=(null!==(r=null===(t=this.measurementOutcome)||void 0===t?void 0:t.results)&&void 0!==r?r:[]).filter((e=>{var t,r;return null===(r=null===(t=this.resultTypes)||void 0===t?void 0:t.includes(e.type))||void 0===r||r}));return e(s,null,this.renderResult("planar-angle",i,(t=>e(g,{result:t,overlays:this.measurementOverlays,formatter:this.makeAngleFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))),this.renderResult("planar-distance",i,(t=>e(w,{result:t,overlays:this.measurementOverlays,formatter:this.makeDistanceFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))),this.renderResult("surface-area",i,(t=>e(O,{result:t,overlays:this.measurementOverlays,formatter:this.makeAreaFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))),this.renderResult("minimum-distance",i,(t=>e(b,{result:t,overlays:this.measurementOverlays,formatter:this.makeDistanceFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))))}updateStateFromModel(){var e;this.measurementOutcome=null===(e=this.measurementModel)||void 0===e?void 0:e.getOutcome()}renderResult(e,t,r){const s=this.getResultForType(e,t);return null!=s?r(s):void 0}getResultForType(e,t){return t.find((t=>t.type===e))}makeDistanceFormatter(){return this.makeFormatter((e=>this.distanceMeasurementUnits.convertWorldValueToReal(e)),this.distanceMeasurementUnits.unit,this.distanceFormatter)}makeAngleFormatter(){return this.makeFormatter((e=>this.angleMeasurementUnits.convertTo(e)),this.angleMeasurementUnits.unit,this.angleFormatter)}makeAreaFormatter(){return this.makeFormatter((e=>this.areaMeasurementUnits.convertWorldValueToReal(e)),this.areaMeasurementUnits.unit,this.areaFormatter)}makeFormatter(e,t,r){return s=>{const i=e(s);return null!=r?r(i):this.formatValue(i,t)}}formatValue(e,t){var r,s;const i=e.toFixed(this.fractionalDigits);return`${null!==(s=null===(r=this.measurementOutcome)||void 0===r?void 0:r.isApproximate)&&void 0!==s&&s?"~"+i:i} ${t.abbreviatedName}`}static get watchers(){return{distanceUnits:["handleDistanceUnitsChanged"],angleUnits:["handleAngleUnitsChanged"],measurementModel:["handleMeasurementModelChanged"],resultTypes:["handleResultTypesChanged"]}}};M.style=":host{display:flex;flex-direction:column;--viewer-measurement-details-x-color:red;--viewer-measurement-details-y-color:var(--green-500);--viewer-measurement-details-z-color:blue}.measurement-details-entry{display:flex;align-items:center}.measurement-details-entry-label{user-select:none;padding-right:0.25rem}.measurement-details-entry-label.x{color:var(--viewer-measurement-details-x-color)}.measurement-details-entry-label.y{color:var(--viewer-measurement-details-y-color)}.measurement-details-entry-label.z{color:var(--viewer-measurement-details-z-color)}";export{M as vertex_viewer_measurement_details}
32
+ ***************************************************************************** */function v(e){return e.toLowerCase()}var m=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],c=/[^A-Z0-9]+/gi;function f(e,t,r){return t instanceof RegExp?e.replace(t,r):t.reduce((function(e,t){return e.replace(t,r)}),e)}function y(e,t){return void 0===t&&(t={}),function(e,t){void 0===t&&(t={});for(var r=t.splitRegexp,s=t.stripRegexp,i=void 0===s?c:s,n=t.transform,a=void 0===n?v:n,l=t.delimiter,o=void 0===l?" ":l,h=f(f(e,void 0===r?m:r,"$1\0$2"),i,"\0"),u=0,d=h.length;"\0"===h.charAt(u);)u++;for(;"\0"===h.charAt(d-1);)d--;return h.slice(u,d).split("\0").map(a).join(o)}(e,d({delimiter:"."},t))}const p=(t,r)=>{var s,i,{label:n}=t,a=l(t,["label"]);return e("div",Object.assign({},a,{class:"measurement-details-entry"}),e("div",{class:h("measurement-details-entry-label",(s=n,void 0===i&&(i={}),y(s,u({delimiter:"-"},i))))},n,":"),r)},g=({result:r,formatter:s,overlays:i,onShowOverlay:n,onHideOverlay:a})=>{const l=o.subtract(r.point1,r.point2);return e(t,null,e(p,{label:"Dist",onMouseEnter:()=>n(null==i?void 0:i.addLineFromResult(r)),onMouseLeave:a},s(r.distance)),e(p,{label:"X",onMouseEnter:()=>n(null==i?void 0:i.addDistanceVectorFromResult(r)),onMouseLeave:a},s(l.x)),e(p,{label:"Y",onMouseEnter:()=>n(null==i?void 0:i.addDistanceVectorFromResult(r)),onMouseLeave:a},s(l.y)),e(p,{label:"Z",onMouseEnter:()=>n(null==i?void 0:i.addDistanceVectorFromResult(r)),onMouseLeave:a},s(l.z)))},b=({result:t,formatter:r})=>e(p,{label:"Angle"},r(t.angle)),w=({result:t,formatter:r})=>e(p,{label:"Parallel Dist"},r(t.distance)),O=({result:t,formatter:r})=>e(p,{label:"Area"},r(t.area)),M=class{constructor(e){r(this,e),this.distanceUnits="millimeters",this.angleUnits="degrees",this.fractionalDigits=2,this.distanceMeasurementUnits=new i(this.distanceUnits),this.angleMeasurementUnits=new n(this.angleUnits),this.areaMeasurementUnits=new a(this.distanceUnits),this.handleShowOverlay=e=>{this.overlay=e},this.handleHideOverlay=()=>{var e;null===(e=this.overlay)||void 0===e||e.dispose()},this.handleOutcomeChange=()=>{this.updateStateFromModel()}}connectedCallback(){var e;this.onOutcomeChangedHandler=null===(e=this.measurementModel)||void 0===e?void 0:e.onOutcomeChanged(this.handleOutcomeChange),this.updateStateFromModel()}disconnectedCallback(){var e;null===(e=this.onOutcomeChangedHandler)||void 0===e||e.dispose()}handleDistanceUnitsChanged(){this.distanceMeasurementUnits=new i(this.distanceUnits),this.areaMeasurementUnits=new a(this.distanceUnits)}handleAngleUnitsChanged(){this.angleMeasurementUnits=new n(this.angleUnits)}handleMeasurementModelChanged(){var e,t;null===(e=this.onOutcomeChangedHandler)||void 0===e||e.dispose(),this.onOutcomeChangedHandler=null===(t=this.measurementModel)||void 0===t?void 0:t.onOutcomeChanged(this.handleOutcomeChange),this.updateStateFromModel()}handleResultTypesChanged(){this.updateStateFromModel()}render(){var t,r;const i=(null!==(r=null===(t=this.measurementOutcome)||void 0===t?void 0:t.results)&&void 0!==r?r:[]).filter((e=>{var t,r;return null===(r=null===(t=this.resultTypes)||void 0===t?void 0:t.includes(e.type))||void 0===r||r}));return e(s,null,this.renderResult("planar-angle",i,(t=>e(b,{result:t,overlays:this.measurementOverlays,formatter:this.makeAngleFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))),this.renderResult("planar-distance",i,(t=>e(w,{result:t,overlays:this.measurementOverlays,formatter:this.makeDistanceFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))),this.renderResult("surface-area",i,(t=>e(O,{result:t,overlays:this.measurementOverlays,formatter:this.makeAreaFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))),this.renderResult("minimum-distance",i,(t=>e(g,{result:t,overlays:this.measurementOverlays,formatter:this.makeDistanceFormatter(),onShowOverlay:this.handleShowOverlay,onHideOverlay:this.handleHideOverlay}))))}updateStateFromModel(){var e;this.measurementOutcome=null===(e=this.measurementModel)||void 0===e?void 0:e.getOutcome()}renderResult(e,t,r){const s=this.getResultForType(e,t);return null!=s?r(s):void 0}getResultForType(e,t){return t.find((t=>t.type===e))}makeDistanceFormatter(){return this.makeFormatter((e=>this.distanceMeasurementUnits.convertWorldValueToReal(e)),this.distanceMeasurementUnits.unit,this.distanceFormatter)}makeAngleFormatter(){return this.makeFormatter((e=>this.angleMeasurementUnits.convertTo(e)),this.angleMeasurementUnits.unit,this.angleFormatter)}makeAreaFormatter(){return this.makeFormatter((e=>this.areaMeasurementUnits.convertWorldValueToReal(e)),this.areaMeasurementUnits.unit,this.areaFormatter)}makeFormatter(e,t,r){return s=>{const i=e(s);return null!=r?r(i):this.formatValue(i,t)}}formatValue(e,t){var r,s;const i=e.toFixed(this.fractionalDigits);return`${null!==(s=null===(r=this.measurementOutcome)||void 0===r?void 0:r.isApproximate)&&void 0!==s&&s?"~"+i:i} ${t.abbreviatedName}`}static get watchers(){return{distanceUnits:["handleDistanceUnitsChanged"],angleUnits:["handleAngleUnitsChanged"],measurementModel:["handleMeasurementModelChanged"],resultTypes:["handleResultTypesChanged"]}}};M.style=":host{display:flex;flex-direction:column;--viewer-measurement-details-x-color:red;--viewer-measurement-details-y-color:var(--green-500);--viewer-measurement-details-z-color:blue}.measurement-details-entry{display:flex;align-items:center}.measurement-details-entry-label{user-select:none;padding-right:0.25rem}.measurement-details-entry-label.x{color:var(--viewer-measurement-details-x-color)}.measurement-details-entry-label.y{color:var(--viewer-measurement-details-y-color)}.measurement-details-entry-label.z{color:var(--viewer-measurement-details-z-color)}";export{M as vertex_viewer_measurement_details}
@@ -1,4 +1,4 @@
1
1
  /**!
2
2
  * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
3
  */
4
- import{r as e,h as i,F as t,H as s}from"./p-d6fce4c1.js";import{p as r,c as a}from"./p-d216a866.js";import"./p-9f805c70.js";import"./p-92fe4417.js";import"./p-46f40a43.js";import{M as n}from"./p-283aeac4.js";import{t as l}from"./p-b5ca30cd.js";import"./p-dfe5a97d.js";import"./p-fc7d8c03.js";import"./p-934cbb97.js";import"./p-df8fbe56.js";const o=class{constructor(i){e(this,i),this.start=r.create(),this.end=r.create(),this.capLength=0,this.pointerEvents="none"}render(){const e=a.fromPoints(this.start,this.end),t=m(this.start,this.end,e,this.capLength),s=m(this.start,this.end,e,this.capLength+1);return i("svg",null,i("g",{class:"line-stroke","pointer-events":this.pointerEvents},i("line",{class:"line",x1:this.start.x,y1:this.start.y,x2:this.end.x,y2:this.end.y}),i("line",{class:"start-cap",x1:s.startEndCap.start.x,y1:s.startEndCap.start.y,x2:s.startEndCap.end.x,y2:s.startEndCap.end.y}),i("line",{class:"end-cap",x1:s.endEndCap.start.x,y1:s.endEndCap.start.y,x2:s.endEndCap.end.x,y2:s.endEndCap.end.y})),i("g",{class:"line-fill","pointer-events":this.pointerEvents},i("line",{class:"line",x1:this.start.x,y1:this.start.y,x2:this.end.x,y2:this.end.y}),i("line",{class:"start-cap",x1:t.startEndCap.start.x,y1:t.startEndCap.start.y,x2:t.startEndCap.end.x,y2:t.startEndCap.end.y}),i("line",{class:"end-cap",x1:t.endEndCap.start.x,y1:t.endEndCap.start.y,x2:t.endEndCap.end.x,y2:t.endEndCap.end.y})))}};function m(e,i,t,s){return{startEndCap:v(e,t,s),endEndCap:v(i,t,s)}}function v(e,i,t){const s=i+Math.PI/2;return{start:r.add(e,r.polar(t/2,s)),end:r.add(e,r.polar(t/2,s+Math.PI))}}o.style=":host{display:block;--viewer-measurement-line-stroke:var(--white);--viewer-measurement-line-stroke-opacity:0.75;--viewer-measurement-line-stroke-width:1.25px;--viewer-measurement-line-fill:var(--neutral-900);--viewer-measurement-line-fill-width:2px;--viewer-measurement-line-start-cap-visibility:initial;--viewer-measurement-line-end-cap-visibility:initial}svg{width:100%;height:100%}.line-stroke{stroke-width:calc(\n var(--viewer-measurement-line-fill-width) +\n var(--viewer-measurement-line-stroke-width)\n );stroke:var(--viewer-measurement-line-stroke);opacity:var(--viewer-measurement-line-stroke-opacity)}.line-fill{stroke-width:var(--viewer-measurement-line-fill-width);stroke:var(--viewer-measurement-line-fill)}.start-cap{visibility:var(--viewer-measurement-line-start-cap-visibility)}.end-cap{visibility:var(--viewer-measurement-line-end-cap-visibility)}";const c=({overlay:e,viewport:t,camera:s})=>i("line"===e.type?h:d,{overlay:e,viewport:t,camera:s}),h=({overlay:e,camera:t,viewport:s})=>{const{start:r,end:a}=l(e,{camera:t,viewport:s});return i("vertex-viewer-measurement-line",{class:"measurement-line",start:r,end:a})},d=({overlay:{x:e,y:s,z:r},camera:a,viewport:n})=>{const o={camera:a,viewport:n},{start:m,end:v}=l(e,o),{start:c,end:h}=l(s,o),{start:d,end:u}=l(r,o);return i(t,null,i("vertex-viewer-measurement-line",{class:"measurement-line distance-vector-x",start:m,end:v}),i("vertex-viewer-measurement-line",{class:"measurement-line distance-vector-y",start:c,end:h}),i("vertex-viewer-measurement-line",{class:"measurement-line distance-vector-z",start:d,end:u}))},u=class{constructor(i){e(this,i),this.measurementOverlays=new n,this.overlays=[],this.updateCamera=()=>{var e,i;this.camera=null===(i=null===(e=this.viewer)||void 0===e?void 0:e.frame)||void 0===i?void 0:i.scene.camera}}handleMeasurementOverlaysChanged(){this.removeModelListeners(),this.addModelListeners(),this.updateOverlays()}handleViewerChanged(e,i){this.removeViewerListeners(i),this.addViewerListeners(),this.updateCamera()}componentWillLoad(){this.addModelListeners(),this.addViewerListeners(),this.updateOverlays(),this.updateCamera()}addModelListeners(){this.onOverlaysChangedListener=this.measurementOverlays.onOverlaysChanged((()=>this.updateOverlays()))}removeModelListeners(){var e;null===(e=this.onOverlaysChangedListener)||void 0===e||e.dispose(),this.onOverlaysChangedListener=void 0}addViewerListeners(){var e;null===(e=this.viewer)||void 0===e||e.addEventListener("frameReceived",this.updateCamera)}removeViewerListeners(e){null==e||e.removeEventListener("frameReceived",this.updateCamera)}updateOverlays(){this.overlays=this.measurementOverlays.getOverlays()}render(){return i(s,null,this.overlays.map((e=>{if(null!=this.camera&&null!=this.viewer)return i(c,{overlay:e,viewport:this.viewer.viewport,camera:this.camera})})))}static get watchers(){return{measurementOverlays:["handleMeasurementOverlaysChanged"],viewer:["handleViewerChanged"]}}};u.style=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;--viewer-measurement-overlays-x-axis-color:var(--x-axis-color);--viewer-measurement-overlays-y-axis-color:var(--y-axis-color);--viewer-measurement-overlays-z-axis-color:var(--z-axis-color)}.measurement-line{position:absolute;width:100%;height:100%}.measurement-line.distance-vector-x{--viewer-measurement-line-fill:var(\n --viewer-measurement-overlays-x-axis-color\n )}.measurement-line.distance-vector-y{--viewer-measurement-line-fill:var(\n --viewer-measurement-overlays-y-axis-color\n )}.measurement-line.distance-vector-z{--viewer-measurement-line-fill:var(\n --viewer-measurement-overlays-z-axis-color\n )}";export{o as vertex_viewer_measurement_line,u as vertex_viewer_measurement_overlays}
4
+ import{r as e,h as i,F as t,H as s}from"./p-d6fce4c1.js";import{p as r,c as a}from"./p-d216a866.js";import"./p-2c07b773.js";import"./p-3a6fa239.js";import"./p-817743a4.js";import{M as n}from"./p-283aeac4.js";import{t as l}from"./p-b5ca30cd.js";import"./p-dfe5a97d.js";import"./p-fc7d8c03.js";import"./p-a7c29e95.js";import"./p-df8fbe56.js";const o=class{constructor(i){e(this,i),this.start=r.create(),this.end=r.create(),this.capLength=0,this.pointerEvents="none"}render(){const e=a.fromPoints(this.start,this.end),t=m(this.start,this.end,e,this.capLength),s=m(this.start,this.end,e,this.capLength+1);return i("svg",null,i("g",{class:"line-stroke","pointer-events":this.pointerEvents},i("line",{class:"line",x1:this.start.x,y1:this.start.y,x2:this.end.x,y2:this.end.y}),i("line",{class:"start-cap",x1:s.startEndCap.start.x,y1:s.startEndCap.start.y,x2:s.startEndCap.end.x,y2:s.startEndCap.end.y}),i("line",{class:"end-cap",x1:s.endEndCap.start.x,y1:s.endEndCap.start.y,x2:s.endEndCap.end.x,y2:s.endEndCap.end.y})),i("g",{class:"line-fill","pointer-events":this.pointerEvents},i("line",{class:"line",x1:this.start.x,y1:this.start.y,x2:this.end.x,y2:this.end.y}),i("line",{class:"start-cap",x1:t.startEndCap.start.x,y1:t.startEndCap.start.y,x2:t.startEndCap.end.x,y2:t.startEndCap.end.y}),i("line",{class:"end-cap",x1:t.endEndCap.start.x,y1:t.endEndCap.start.y,x2:t.endEndCap.end.x,y2:t.endEndCap.end.y})))}};function m(e,i,t,s){return{startEndCap:v(e,t,s),endEndCap:v(i,t,s)}}function v(e,i,t){const s=i+Math.PI/2;return{start:r.add(e,r.polar(t/2,s)),end:r.add(e,r.polar(t/2,s+Math.PI))}}o.style=":host{display:block;--viewer-measurement-line-stroke:var(--white);--viewer-measurement-line-stroke-opacity:0.75;--viewer-measurement-line-stroke-width:1.25px;--viewer-measurement-line-fill:var(--neutral-900);--viewer-measurement-line-fill-width:2px;--viewer-measurement-line-start-cap-visibility:initial;--viewer-measurement-line-end-cap-visibility:initial}svg{width:100%;height:100%}.line-stroke{stroke-width:calc(\n var(--viewer-measurement-line-fill-width) +\n var(--viewer-measurement-line-stroke-width)\n );stroke:var(--viewer-measurement-line-stroke);opacity:var(--viewer-measurement-line-stroke-opacity)}.line-fill{stroke-width:var(--viewer-measurement-line-fill-width);stroke:var(--viewer-measurement-line-fill)}.start-cap{visibility:var(--viewer-measurement-line-start-cap-visibility)}.end-cap{visibility:var(--viewer-measurement-line-end-cap-visibility)}";const c=({overlay:e,viewport:t,camera:s})=>i("line"===e.type?h:d,{overlay:e,viewport:t,camera:s}),h=({overlay:e,camera:t,viewport:s})=>{const{start:r,end:a}=l(e,{camera:t,viewport:s});return i("vertex-viewer-measurement-line",{class:"measurement-line",start:r,end:a})},d=({overlay:{x:e,y:s,z:r},camera:a,viewport:n})=>{const o={camera:a,viewport:n},{start:m,end:v}=l(e,o),{start:c,end:h}=l(s,o),{start:d,end:u}=l(r,o);return i(t,null,i("vertex-viewer-measurement-line",{class:"measurement-line distance-vector-x",start:m,end:v}),i("vertex-viewer-measurement-line",{class:"measurement-line distance-vector-y",start:c,end:h}),i("vertex-viewer-measurement-line",{class:"measurement-line distance-vector-z",start:d,end:u}))},u=class{constructor(i){e(this,i),this.measurementOverlays=new n,this.overlays=[],this.updateCamera=()=>{var e,i;this.camera=null===(i=null===(e=this.viewer)||void 0===e?void 0:e.frame)||void 0===i?void 0:i.scene.camera}}handleMeasurementOverlaysChanged(){this.removeModelListeners(),this.addModelListeners(),this.updateOverlays()}handleViewerChanged(e,i){this.removeViewerListeners(i),this.addViewerListeners(),this.updateCamera()}componentWillLoad(){this.addModelListeners(),this.addViewerListeners(),this.updateOverlays(),this.updateCamera()}addModelListeners(){this.onOverlaysChangedListener=this.measurementOverlays.onOverlaysChanged((()=>this.updateOverlays()))}removeModelListeners(){var e;null===(e=this.onOverlaysChangedListener)||void 0===e||e.dispose(),this.onOverlaysChangedListener=void 0}addViewerListeners(){var e;null===(e=this.viewer)||void 0===e||e.addEventListener("frameReceived",this.updateCamera)}removeViewerListeners(e){null==e||e.removeEventListener("frameReceived",this.updateCamera)}updateOverlays(){this.overlays=this.measurementOverlays.getOverlays()}render(){return i(s,null,this.overlays.map((e=>{if(null!=this.camera&&null!=this.viewer)return i(c,{overlay:e,viewport:this.viewer.viewport,camera:this.camera})})))}static get watchers(){return{measurementOverlays:["handleMeasurementOverlaysChanged"],viewer:["handleViewerChanged"]}}};u.style=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;--viewer-measurement-overlays-x-axis-color:var(--x-axis-color);--viewer-measurement-overlays-y-axis-color:var(--y-axis-color);--viewer-measurement-overlays-z-axis-color:var(--z-axis-color)}.measurement-line{position:absolute;width:100%;height:100%}.measurement-line.distance-vector-x{--viewer-measurement-line-fill:var(\n --viewer-measurement-overlays-x-axis-color\n )}.measurement-line.distance-vector-y{--viewer-measurement-line-fill:var(\n --viewer-measurement-overlays-y-axis-color\n )}.measurement-line.distance-vector-z{--viewer-measurement-line-fill:var(\n --viewer-measurement-overlays-z-axis-color\n )}";export{o as vertex_viewer_measurement_line,u as vertex_viewer_measurement_overlays}
@@ -0,0 +1,4 @@
1
+ /**!
2
+ * Copyright (c) 2023 Vertex Software LLC. All rights reserved.
3
+ */
4
+ import{r as t,c as i,h as s,H as e,g as n}from"./p-d6fce4c1.js";import{c as r}from"./p-07aeee89.js";import{d as o,r as h}from"./p-b74242dc.js";import{j as l,p as a}from"./p-d216a866.js";import{a as c}from"./p-76c414a4.js";import{i as d}from"./p-bfae3945.js";import{E as u}from"./p-fc7d8c03.js";import"./p-dfe5a97d.js";const v=class{constructor(s){t(this,s),this.search=i(this,"search",7),this.debounce=350,this.disabled=!1,this.placeholder=void 0,this.value="",this.focused=!1,this.isSearching=!1,this.handleTextInput=t=>{this.value=t.target.value,this.search.emit(this.value)},this.handleTextFocus=()=>{this.focused=!0},this.handleTextBlur=()=>{this.focused=!1},this.handleClear=t=>{t.preventDefault(),this.value="",this.search.emit(this.value),this.setFocus()}}async setFocus(){var t,i;"function"==typeof(null===(t=this.inputEl)||void 0===t?void 0:t.focus)&&(null===(i=this.inputEl)||void 0===i||i.focus())}controllerChanged(t){this.setupController()}componentDidLoad(){this.handleDebounceChanged(),this.setupController()}disconnectedCallback(){var t;null===(t=this.onStateChangeDisposable)||void 0===t||t.dispose()}render(){return s(e,null,s("div",{class:"root"},s("div",{class:"overlay icon icon-search"},s("slot",{name:"search-icon"},this.isSearching?s("vertex-viewer-spinner",{slot:"search-icon",size:"xs"}):s("vertex-viewer-icon",{name:"search",size:"sm"}))),s("input",{class:r("input",{background:this.focused||this.value.length>0}),type:"text",ref:t=>this.inputEl=t,placeholder:this.placeholder,disabled:this.disabled,value:this.value,onInput:this.handleTextInput,onFocus:this.handleTextFocus,onBlur:this.handleTextBlur}),s("div",{class:r("overlay overlay-clear",{show:this.value.length>0})},s("button",{class:"clear-btn icon",tabIndex:-1,onMouseDown:this.handleClear,disabled:this.disabled},s("slot",{name:"clear-icon"},s("vertex-viewer-icon",{name:"close-circle",size:"sm"}))))))}handleDebounceChanged(){this.search=o(this.search,this.debounce)}setupController(){var t,i;null===(t=this.onStateChangeDisposable)||void 0===t||t.dispose(),this.onStateChangeDisposable=null===(i=this.controller)||void 0===i?void 0:i.onStateChange.on((t=>{this.isSearching=t.isSearching}))}static get watchers(){return{controller:["controllerChanged"]}}};function p(t){return t.toLowerCase()}v.style="button{border:none;background:transparent;cursor:pointer;margin:0;padding:0}:host{--scene-tree-search-search-icon-offset:8px;--scene-tree-search-clear-button-offset:8px;--scene-tree-search-input-padding:0.5rem 32px;--scene-tree-search-input-border:none;--scene-tree-search-input-border-radius:0.25rem;--scene-tree-search-input-background:none;--scene-tree-search-focused-input-background:var(--neutral-200);--scene-tree-search-focused-input-outline:none;display:block;width:100%;font-size:0.875rem}.root{width:100%;position:relative}.input{background:var(--scene-tree-search-input-background);border:var(--scene-tree-search-input-border);border-radius:var(--scene-tree-search-input-border-radius);box-sizing:border-box;font-size:inherit;padding:var(--scene-tree-search-input-padding);outline:none;width:100%}.input.background{background:var(--scene-tree-search-focused-input-background);outline:var(--scene-tree-search-focused-input-outline)}.overlay{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.overlay-clear{display:none;right:var(--scene-tree-search-clear-button-offset)}.overlay-clear.show{display:flex}.icon{color:var(--neutral-700)}.icon-search{position:absolute;left:var(--scene-tree-search-search-icon-offset);pointer-events:none}.clear-btn{display:flex;align-items:center;justify-content:center;pointer-events:initial;cursor:pointer}.clear-btn:hover{color:var(--neutral-800)}.clear-btn:disabled{pointer-events:none;opacity:0.5}";var m=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],f=/[^A-Z0-9]+/gi;function b(t,i,s){return i instanceof RegExp?t.replace(i,s):i.reduce((function(t,i){return t.replace(i,s)}),t)}function w(t,i){var s=t.charAt(0),e=t.substr(1).toLowerCase();return i>0&&s>="0"&&s<="9"?"_"+s+e:""+s.toUpperCase()+e}function g(t,i){return 0===i?t.toLowerCase():w(t,i)}function y(t,i){return void 0===i&&(i={}),function(t,i){return void 0===i&&(i={}),function(t,i){void 0===i&&(i={});for(var s=i.splitRegexp,e=i.stripRegexp,n=void 0===e?f:e,r=i.transform,o=void 0===r?p:r,h=i.delimiter,l=void 0===h?" ":h,a=b(b(t,void 0===s?m:s,"$1\0$2"),n,"\0"),c=0,d=a.length;"\0"===a.charAt(c);)c++;for(;"\0"===a.charAt(d-1);)d--;return a.slice(c,d).split("\0").map(o).join(l)}(t,l({delimiter:"",transform:w},i))}(t,l({transform:g},i))}const x=/{{(.+)}}/;class z{constructor(t){this.bindings=t}bind(t){this.bindings.forEach((i=>i.bind(t)))}}class C{constructor(t,i){this.node=t,this.expr=i}}class $ extends C{constructor(t,i){super(t,i)}bind(t){const i=L(t,this.expr);i!==this.node.textContent&&(this.node.textContent=i)}}class D extends C{constructor(t,i,s){super(t,i),this.attr=s}bind(t){const i=L(t,this.expr);this.node.getAttribute(this.attr)!==i&&this.node.setAttribute(this.attr,i)}}class j extends C{constructor(t,i,s){super(t,i),this.prop=s}bind(t){const i=function(t,i){const s=E(i);return null!=s?R(t,s,!0):i}(t,this.expr);this.node[this.prop]!==i&&(this.node[this.prop]=i)}}class k extends C{constructor(t,i,s){super(t,i),this.eventName=s}bind(t){var i;const s=E(this.expr);if(null!=s){null===(i=this.disposable)||void 0===i||i.dispose();const e=R(t,s,!0);this.node.addEventListener(this.eventName,e),this.disposable={dispose:()=>{this.node.removeEventListener(this.eventName,e)}}}}}function M(t){const i=[];if(t.nodeType===Node.ELEMENT_NODE){const s=t;Array.from(s.attributes).filter((t=>x.test(t.value))).forEach((t=>{if(t.name.startsWith("event:")){const e=y(t.name.replace("event:",""));i.push(new k(s,t.value,e))}else if(t.name.startsWith("attr:"))i.push(new D(s,t.value,t.name.replace("attr:","")));else if(t.name.startsWith("prop:")){const e=y(t.name.replace("prop:",""));i.push(new j(s,t.value,e))}}))}else t.nodeType===Node.TEXT_NODE&&null!=t.textContent&&x.test(t.textContent)&&i.push(new $(t,t.textContent));for(let s=0;s<t.childNodes.length;s++)i.push(...M(t.childNodes[s]));return i}function E(t){const i=x.exec(t);return null!=i?i[1]:void 0}function L(t,i){const s=E(i);if(null!=s){const e=R(t,s,!0);return i.replace(`{{${s}}}`,null==e?void 0:e.toString())}return i}function R(t,i,s=!1){const[e,...n]=i.split(".");if(s&&0===n.length)return t;if(s&&n.length>0)return R(t,n.join("."),!1);{const i=t[e];return n.length>0?R(i,n.join("."),!1):i}}class T{constructor(t,i){this.container=t,this.elementFactory=i,this.instanceMap=new Map,this.elements=[]}swapHeadToTail(t){const i=this.elements.splice(0,t);return this.elements.splice(this.elements.length,0,...i),this.elements.concat()}swapTailToHead(t){const i=this.elements.splice(-t,t);return this.elements.splice(0,0,...i),this.elements.concat()}updateElements(t){const i=t-this.elements.length;if(i>0)for(let t=0;t<i;t++)this.createElement();else for(let t=0;t<-i;t++)this.deleteElement();return this.elements.concat()}updateData(t){this.elements.forEach(((i,s)=>{const e=this.instanceMap.get(i),n=t(s);null==e||e.bindings.bind(n)}))}updateElementFactory(t){this.elementFactory=t,this.updateElements(0)}iterateElements(t){this.elements.forEach(((i,s)=>{const e=this.instanceMap.get(i);t(i,e.bindings,s)}))}createElement(){const t=this.elementFactory();return this.elements.push(t.element),this.instanceMap.set(t.element,t),this.container.append(t.element),t}deleteElement(){const t=this.elements.pop();null!=t&&(this.instanceMap.delete(t),t.remove())}}function _(t){const i=t.content.cloneNode(!0);return{element:i.firstElementChild,bindings:new z(M(i))}}class H{constructor(){this.onStateChange=new u}setHovered(t){this.onStateChange.emit(t)}stateChanged(t){return this.onStateChange.on(t)}}const A=class{constructor(s){t(this,s),this.layoutRendered=i(this,"layoutRendered",7),this.rows=[],this.totalRows=0,this.rowHeight=24,this.overScanCount=25,this.layoutOffset=0,this.scrollOffset=0,this.viewportStartIndex=0,this.viewportEndIndex=0,this.columnGridLayout="1fr",this.columnGridFixedLayout="",this.isComputingCellHeight=!0,this.isScrolling=!1,this.stateMap={viewportRows:[],columnWidths:[],columnWidthPercentages:[]},this.lastStartIndex=0,this.columnElements=[],this.cellHoverController=new H,this.layoutColumns=()=>{const t=this.viewportEndIndex-this.viewportStartIndex+1,i=this.viewportStartIndex-this.lastStartIndex;this.lastStartIndex=this.viewportStartIndex,this.iterateColumns(((s,e,n)=>{e.updateElements(t),i>0?e.swapHeadToTail(i):e.swapTailToHead(-i),s.style.minHeight=this.rowHeight*this.totalRows+"px";const r=0===n?t=>`calc(${t} * 0.5rem)`:()=>"0";e.iterateElements(((t,i,s)=>{const e=this.stateMap.viewportRows[s];d(e)&&this.updateCell(e,t,i,s,r)}))}))},this.updateCell=(t,i,s,e,n)=>{i.style.position="absolute",i.style.top=(this.viewportStartIndex+e)*this.rowHeight+"px",i.style.boxSizing="border-box",i.style.height=`${this.rowHeight}px`,i.style.width="100%",i.style.paddingLeft=n(t.node.depth),i.tree=this.tree,i.node=t.node,i.hoverController=this.cellHoverController,i.isScrolling=this.isScrolling,s.bind(t)},this.updateLayoutPosition=()=>{h((()=>{var t;null!=this.tableElement&&(this.layoutOffset=null!==(t=this.tableElement.getBoundingClientRect().top)&&void 0!==t?t:0)}))},this.recomputeColumnWidths=()=>{const t=this.getLayoutWidth();null!=t&&this.stateMap.columnWidths.length===this.stateMap.columnWidthPercentages.length&&(this.stateMap.columnWidths=this.stateMap.columnWidthPercentages.map((i=>i*t)))},this.recomputeColumnPercentages=()=>{const t=this.getLayoutWidth();null!=t&&this.stateMap.columnWidths.length===this.stateMap.columnWidthPercentages.length&&(this.stateMap.columnWidthPercentages=this.stateMap.columnWidths.map((i=>i/t)))},this.computeInitialColumnWidths=()=>{this.stateMap.columnWidths=this.columnElements.map((t=>{var i;return null!==(i=t.initialWidth)&&void 0!==i?i:100}));const t=this.getLayoutWidth();null!=t&&(this.stateMap.columnWidthPercentages=this.columnElements.map((i=>{var s;return(null!==(s=i.initialWidth)&&void 0!==s?s:100)/t})))},this.updateColumnElements=()=>{this.columnElements=Array.from(this.hostEl.querySelectorAll("vertex-scene-tree-table-column"))},this.computeCellHeight=async()=>{var t;if(this.isComputingCellHeight&&this.columnElements.length>0){const i={index:0,node:{id:{hex:""},name:"Dummy row",expanded:!1,selected:!1,visible:!1,partiallyVisible:!1,isLeaf:!1,depth:0,columnsList:[],filterHit:!1},metadata:{},data:{}},{bindings:s,element:e}=this.createColumnCellInstance(this.columnElements[0]);s.bind(i),e.style.visibility="hidden",null===(t=this.columnElements[0])||void 0===t||t.appendChild(e),"function"==typeof e.componentOnReady&&await e.componentOnReady();let n=e.clientHeight,r=0;for(;0===n&&r<10;)n=await new Promise((t=>{setTimeout((()=>t(e.getBoundingClientRect().height)),5)})),r+=1;this.rowHeight=null!=n?n:this.rowHeight,e.remove(),this.isComputingCellHeight=!1}},this.computeHeaderHeight=()=>{var t;null==this.stateMap.headerHeight&&(this.stateMap.headerHeight=null===(t=this.headerElement)||void 0===t?void 0:t.getBoundingClientRect().height,this.hostEl.style.setProperty("--header-height",`${this.stateMap.headerHeight}px`))},this.computeColumnGridLayout=()=>{0===this.stateMap.columnWidths.length&&(this.stateMap.columnWidths=this.columnElements.map((t=>{var i;return null!==(i=t.initialWidth)&&void 0!==i?i:100})));const t=this.getLayoutWidth();null!=t&&0===this.stateMap.columnWidthPercentages.length&&(this.stateMap.columnWidthPercentages=this.columnElements.map((i=>{var s;return(null!==(s=i.initialWidth)&&void 0!==s?s:100)/t}))),this.columnGridLayout=`${this.stateMap.columnWidths.slice(0,-1).reduce(((t,i)=>`${t} ${i}px`),"")} 1fr`,this.columnGridFixedLayout=`${this.stateMap.columnWidths.reduce(((t,i)=>`${t} ${i}px`),"")}`},this.bindHeaderData=()=>{null==this.stateMap.headerInstances&&(this.stateMap.headerInstances=this.columnElements.map(((t,i)=>{var s;const e=this.createHeaderInstance(t);return null!=e&&(e.element.style.paddingRight=i===this.columnElements.length-1?"0":"var(--scene-tree-table-column-gap)",e.element.slot="header",e.element.style.gridColumnStart=`${i+1}`,e.element.style.gridColumnEnd=`${i+2}`,null===(s=this.hostEl)||void 0===s||s.appendChild(e.element)),e})).filter((t=>null!=t))),null==this.stateMap.headerDividerInstances&&(this.stateMap.headerDividerInstances=this.columnElements.slice(0,-1).map(((t,i)=>{var s;const e=this.createDividerInstance();return e.element.slot="divider",e.element.style.position="absolute",e.element.style.right="0",e.element.style.pointerEvents="auto",e.element.style.gridColumnStart=`${i+1}`,e.element.style.gridColumnEnd=`${i+2}`,null===(s=this.hostEl)||void 0===s||s.appendChild(e.element),e})))},this.rebindHeaderData=()=>{var t,i;this.removeDividerDragListeners(),null===(t=this.stateMap.headerInstances)||void 0===t||t.forEach((t=>t.element.remove())),null===(i=this.stateMap.headerDividerInstances)||void 0===i||i.forEach((t=>t.element.remove())),this.stateMap.headerInstances=void 0,this.stateMap.headerDividerInstances=void 0,this.bindHeaderData(),this.addDividerDragListeners()},this.createDividerPointerDownHandler=t=>i=>{var s,e;i.preventDefault(),i.stopPropagation(),this.lastDividerPointerPosition=a.create(Math.floor(i.clientX),Math.floor(i.clientY)),this.resizingColumnIndex=t,null===(e=null===(s=this.stateMap.headerDividerInstances)||void 0===s?void 0:s[t])||void 0===e||e.element.classList.add("dragging"),window.addEventListener("pointermove",this.handleDividerPointerMove),window.addEventListener("pointerup",this.handleDividerPointerUp)},this.handleDividerPointerMove=t=>{const i=a.create(Math.floor(t.clientX),Math.floor(t.clientY));if(null!=this.lastDividerPointerPosition&&null!=this.resizingColumnIndex){const t=a.subtract(this.lastDividerPointerPosition,i);Math.abs(t.x)>=1&&this.isValidResize(t,this.resizingColumnIndex)&&(this.stateMap.columnWidths[this.resizingColumnIndex]-=t.x,this.resizingColumnIndex+1<this.stateMap.columnWidths.length&&(this.stateMap.columnWidths[this.resizingColumnIndex+1]+=t.x),this.lastDividerPointerPosition=i,this.computeColumnGridLayout())}},this.handleDividerPointerUp=()=>{var t,i;null!=this.resizingColumnIndex&&(null===(i=null===(t=this.stateMap.headerDividerInstances)||void 0===t?void 0:t[this.resizingColumnIndex])||void 0===i||i.element.classList.remove("dragging")),this.lastDividerPointerPosition=void 0,this.resizingColumnIndex=void 0,this.recomputeColumnPercentages(),window.removeEventListener("pointermove",this.handleDividerPointerMove),window.removeEventListener("pointerup",this.handleDividerPointerUp)},this.isValidResize=(t,i)=>{var s,e,n,r;const o=this.columnElements[i],h=this.columnElements[i+1],l=this.stateMap.columnWidths[i],a=this.stateMap.columnWidths[i+1],c=null!==(s=o.minWidth)&&void 0!==s?s:0,d=null!==(e=o.maxWidth)&&void 0!==e?e:Number.MAX_SAFE_INTEGER,u=null!==(n=h.minWidth)&&void 0!==n?n:0,v=null!==(r=h.maxWidth)&&void 0!==r?r:Number.MAX_SAFE_INTEGER;return l-t.x>c&&l-t.x<d&&(null==h||a+t.x>u&&a+t.x<v)},this.handleScrollChanged=t=>{this.isScrolling=!0,this.scrollTimer=function(t,i,s=200){return window.clearTimeout(i),window.setTimeout(t,s)}((()=>{this.isScrolling=!1}),this.scrollTimer),this.scrollOffset=t.target.scrollTop,this.computeAndUpdateViewportRows()}}componentWillLoad(){this.updateColumnElements(),this.createPools(),this.headerResizeObserver=new ResizeObserver((()=>{this.stateMap.headerHeight=void 0,this.computeHeaderHeight(),this.updateLayoutPosition()})),this.resizeObserver=new ResizeObserver((()=>{this.updateLayoutPosition(),this.clearLayoutHeight(),this.clearLayoutWidth(),this.recomputeColumnWidths(),this.computeColumnGridLayout()}))}componentDidLoad(){var t,i,s;this.computeColumnGridLayout(),this.ensureDividerTemplateDefined(),this.computeCellHeight(),this.computeHeaderHeight(),this.computeInitialColumnWidths(),this.rebindHeaderData(),null===(t=this.tableElement)||void 0===t||t.addEventListener("scroll",this.handleScrollChanged,{passive:!0}),null!=this.headerElement&&(null===(i=this.headerResizeObserver)||void 0===i||i.observe(this.headerElement)),null===(s=this.resizeObserver)||void 0===s||s.observe(this.hostEl)}async componentWillRender(){await this.computeAndUpdateViewportRows()}componentDidRender(){this.layoutColumns(),this.layoutRendered.emit()}disconnectedCallback(){var t,i,s;null===(t=this.tableElement)||void 0===t||t.removeEventListener("scroll",this.handleScrollChanged),this.removeDividerDragListeners(),null===(i=this.headerResizeObserver)||void 0===i||i.disconnect(),null===(s=this.resizeObserver)||void 0===s||s.disconnect(),this.stateMap.columnWidths=[],this.stateMap.columnWidthPercentages=[]}async scrollToPosition(t,i){null!=this.tableElement&&function(t,i,s){t.scrollTo(Object.assign({top:i},s))}(this.tableElement,t,i)}render(){return s(e,null,s("div",{class:"header",ref:t=>this.headerElement=t,style:{gridTemplateColumns:this.columnGridFixedLayout,display:this.columnElements.length<=1?"none":"grid"}},s("slot",{name:"header"})),s("div",{class:"table",ref:t=>this.tableElement=t,style:{gridTemplateColumns:this.columnGridLayout}},s("slot",{onSlotchange:()=>{this.ensureDividerTemplateDefined(),this.updateColumnElements(),this.recreateColumnPools(),this.computeInitialColumnWidths(),this.rebindHeaderData(),this.computeColumnGridLayout()}})),s("div",{class:"divider-overlay",style:{gridTemplateColumns:this.columnGridFixedLayout}},s("slot",{name:"divider"})),null!=this.resizingColumnIndex&&s("div",{class:"resize-overlay"}))}computeViewportRows(){const t=this.getLayoutHeight();if(null!=t){const i=Math.ceil(t/this.rowHeight),s=Math.floor(this.scrollOffset/this.rowHeight),e=s+i,n=Math.max(0,s-this.overScanCount),r=Math.min(this.totalRows-1,e+this.overScanCount),o=this.getViewportRows(n,r);this.viewportStartIndex=n,this.viewportEndIndex=r,this.stateMap.viewportRows=o}}async computeAndUpdateViewportRows(){var t;this.computeViewportRows(),(null===(t=this.controller)||void 0===t?void 0:t.isConnected)&&await this.controller.updateActiveRowRange(this.viewportStartIndex,this.viewportEndIndex)}createPools(){null==this.stateMap.columnElementPools&&(this.stateMap.columnElementPools=this.columnElements.reduce(((t,i)=>t.set(i,new T(i,(()=>this.createColumnCellInstance(i))))),new WeakMap))}recreateColumnPools(){this.columnElements.forEach((t=>{var i,s,e;null==(null===(i=this.stateMap.columnElementPools)||void 0===i?void 0:i.get(t))?null===(s=this.stateMap.columnElementPools)||void 0===s||s.set(t,new T(t,(()=>this.createColumnCellInstance(t)))):null===(e=this.stateMap.columnElementPools.get(t))||void 0===e||e.updateElementFactory((()=>this.createColumnCellInstance(t)))}))}iterateColumns(t){this.columnElements.forEach(((i,s)=>{var e;const n=null===(e=this.stateMap.columnElementPools)||void 0===e?void 0:e.get(i);if(null==n)throw new Error("Cannot find pool for column");t(i,n,s)}))}ensureDividerTemplateDefined(){if(null==this.hostEl.querySelector('template[slot="divider"]')){const t=document.createElement("template");t.slot="divider",t.innerHTML='\n <vertex-scene-tree-table-resize-divider slot="divider">\n </vertex-scene-tree-table-resize-divider>\n ',this.hostEl.appendChild(t)}}createHeaderInstance(t){const i=t.querySelector('template[slot="header"]');if(null!=i)return _(i)}createDividerInstance(){const t=this.hostEl.querySelector('template[slot="divider"]');if(null!=t)return _(t);throw new Error("Table is missing divider template element")}createColumnCellInstance(t){const i=t.querySelector('template:not([slot="header"])');if(null!=i)return _(i);throw new Error("Column is missing cell template element")}addDividerDragListeners(){var t;this.stateMap.headerDividerListeners=null===(t=this.stateMap.headerDividerInstances)||void 0===t?void 0:t.map(((t,i)=>{const s=this.createDividerPointerDownHandler(i);return t.element.addEventListener("pointerdown",s),s}))}removeDividerDragListeners(){var t;if(null!=this.stateMap.headerDividerListeners){const i=this.stateMap.headerDividerListeners;null===(t=this.stateMap.headerDividerInstances)||void 0===t||t.forEach(((t,s)=>{const e=i[s];null!=e&&t.element.removeEventListener("pointerdown",e)})),this.stateMap.headerDividerListeners=void 0}}getViewportRows(t,i){return this.rows.slice(t,i+1).map((t=>null!=t?this.populateRowData(t):t))}populateRowData(t){var i;if(null!=this.rowData&&null!=t){const s=(null===(i=this.rowData)||void 0===i?void 0:i.call(this,t))||{};return Object.assign(Object.assign({},t),{data:s})}return t}getLayoutHeight(){return null==this.layoutHeight&&null!=this.tableElement&&(this.layoutHeight=c(this.tableElement)),this.layoutHeight}getLayoutWidth(){if(null==this.layoutWidth){const t=this.hostEl.clientWidth;t>0&&(this.layoutWidth=t)}return this.layoutWidth}clearLayoutHeight(){this.layoutHeight=void 0}clearLayoutWidth(){this.layoutWidth=void 0}get hostEl(){return n(this)}};A.style=":host{position:relative;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;font-size:0.825rem;--scene-tree-table-row-padding:2px 0px;--scene-tree-table-column-gap:0.5rem;--scene-tree-table-column-resize-cursor:col-resize}.header{position:relative;display:grid;width:100%;border-bottom:var(--scene-tree-toolbar-separator)}.table{position:relative;display:grid;width:100%;height:100%;overflow:auto}.resize-overlay{position:absolute;top:0;cursor:var(--scene-tree-table-column-resize-cursor);z-index:1000;width:100%;height:100%}.divider-overlay{position:absolute;top:0;display:grid;pointer-events:none;z-index:2000;width:100%;height:100%}";const W=class{constructor(i){t(this,i)}render(){return s(e,null,s("div",{class:"content"},s("slot",{name:"before"})),s("div",{class:"content content-primary"},s("slot",null)),s("div",{class:"content"},s("slot",{name:"after"})))}};W.style=":host{--scene-tree-toolbar-content-gap:8px;display:flex;padding:0.5rem}.content{display:flex;align-items:center}.content-primary{width:100%}::slotted(:not(:first-child)){margin-left:var(--scene-tree-toolbar-content-gap)}";export{v as vertex_scene_tree_search,A as vertex_scene_tree_table_layout,W as vertex_scene_tree_toolbar}