@arcgis/core 4.28.0-next.20230920 → 4.28.0-next.20230921

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 (146) hide show
  1. package/WebScene.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/1cbaba30f55f00f7498b.js +1 -0
  4. package/assets/esri/core/workers/chunks/21a9c8aa2a9e9990df41.js +1 -0
  5. package/assets/esri/core/workers/chunks/24629402c647ef6b5f6b.js +1 -0
  6. package/assets/esri/core/workers/chunks/{b428fcb53ecc82b49e66.js → 332689bf60d246485993.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{b558a402e2ce2616cf37.js → 3ca759f72d3bb29e9ea9.js} +22 -22
  8. package/assets/esri/core/workers/chunks/4339ce8aaf87fabb80cc.js +1 -0
  9. package/assets/esri/core/workers/chunks/4369a6c1e0a82ab4db6a.js +1 -0
  10. package/assets/esri/core/workers/chunks/43ba2bacd0f7d19915f7.js +1 -0
  11. package/assets/esri/core/workers/chunks/44b8e75593b7df1843e1.js +1 -0
  12. package/assets/esri/core/workers/chunks/53097659f31750c03a6d.js +1 -0
  13. package/assets/esri/core/workers/chunks/{7c72d5368bb2d7484b9b.js → 580039dd491854ca325c.js} +1 -1
  14. package/assets/esri/core/workers/chunks/59c00d6fba0fd1c03d01.js +1 -0
  15. package/assets/esri/core/workers/chunks/5edb99b58549cd66b394.js +1 -0
  16. package/assets/esri/core/workers/chunks/6203ddf6caad3d356327.js +1 -0
  17. package/assets/esri/core/workers/chunks/652749dc847fcb887234.js +1 -0
  18. package/assets/esri/core/workers/chunks/74d3ecb1a06d9f81e2c5.js +1 -0
  19. package/assets/esri/core/workers/chunks/7ea33aa455c5143affb1.js +1 -0
  20. package/assets/esri/core/workers/chunks/90771b0de3e520a1df9a.js +1 -0
  21. package/assets/esri/core/workers/chunks/a277c980ba8704939688.js +1 -0
  22. package/assets/esri/core/workers/chunks/bbc0dcd316c5598bc9ad.js +1 -0
  23. package/assets/esri/core/workers/chunks/bc1dc6383e60e7e61d50.js +1 -0
  24. package/assets/esri/core/workers/chunks/c4bb67150ccd01ea6014.js +1 -0
  25. package/assets/esri/core/workers/chunks/{aa021bc97b4a18a749dd.js → cad260881653567bc8f9.js} +1 -1
  26. package/assets/esri/core/workers/chunks/cec607d0138351a4952e.js +1 -0
  27. package/assets/esri/core/workers/chunks/{f147269d85adfb4588ed.js → d9061beaa43065316062.js} +1 -1
  28. package/assets/esri/core/workers/chunks/e55f7fc7eff0074ce0fc.js +1 -0
  29. package/assets/esri/core/workers/chunks/{9c40e7ed387071544f8c.js → ed1fbc1bc8d50453e2f5.js} +1 -1
  30. package/assets/esri/core/workers/chunks/eef27d305023034084a4.js +1 -0
  31. package/assets/esri/images/portal/onlinemedialayer16.png +0 -0
  32. package/chunks/LaserlinePath.glsl.js +5 -1
  33. package/core/sql.js +1 -1
  34. package/interfaces.d.ts +1 -17
  35. package/layers/graphics/sources/WFSSourceWorker.js +1 -1
  36. package/layers/mixins/SceneService.js +1 -1
  37. package/layers/save/utils.js +1 -1
  38. package/layers/support/editableLayers.js +1 -1
  39. package/package.json +1 -1
  40. package/portal/PortalItem.js +1 -1
  41. package/rest/geometryService/cut.js +1 -1
  42. package/rest/query/operations/query.js +1 -1
  43. package/rest/versionManagement/deleteVersion.js +1 -1
  44. package/rest/versionManagement/gdbVersion/alterVersion.js +1 -1
  45. package/rest/versionManagement/gdbVersion/post.js +1 -1
  46. package/rest/versionManagement/gdbVersion/reconcile.js +1 -1
  47. package/rest/versionManagement/gdbVersion/serverVersionUtils.js +5 -0
  48. package/support/revision.js +1 -1
  49. package/views/2d/engine/Stage.js +1 -1
  50. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  51. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  52. package/views/3d/analysis/Slice/RotateManipulator.js +1 -1
  53. package/views/3d/environment/LocalAtmosphere.js +1 -1
  54. package/views/3d/interactive/manipulatorUtils.js +1 -1
  55. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  56. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  57. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  58. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  59. package/views/3d/layers/MediaLayerView3D.js +1 -1
  60. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  61. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  62. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  63. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  64. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  65. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  66. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  67. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  68. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  69. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  70. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  71. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  72. package/views/3d/layers/support/overlayImageUtils.js +1 -1
  73. package/views/3d/layers/support/patternUtils.js +1 -1
  74. package/views/3d/support/dito.js +1 -1
  75. package/views/3d/support/engineContent/line.js +1 -1
  76. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  77. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  78. package/views/3d/terrain/TerrainRenderer.js +1 -1
  79. package/views/3d/webgl-engine/collections/Component/ComponentIntersectionData.js +1 -1
  80. package/views/3d/webgl-engine/collections/Component/IntersectionGeometry.js +1 -1
  81. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +6 -6
  82. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  83. package/views/3d/webgl-engine/lib/Attribute.js +1 -1
  84. package/views/3d/webgl-engine/lib/BoundingInfo.js +1 -1
  85. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  86. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  87. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  88. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  89. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  90. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  91. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  92. package/views/3d/webgl-engine/lib/geometryDataUtils.js +1 -1
  93. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  94. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  95. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  96. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  97. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  98. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  99. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  100. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  101. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  102. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  103. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  104. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  105. package/views/3d/webgl-engine/materials/internal/MaterialUtil.js +1 -1
  106. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  107. package/views/draw/DrawGraphicTool.js +1 -1
  108. package/views/interactive/keybindings.js +1 -1
  109. package/views/interactive/tooltip/SketchTooltipInfo.js +1 -1
  110. package/views/interactive/tooltip/TooltipEditableField.js +1 -1
  111. package/views/interactive/tooltip/content/Fields.js +5 -0
  112. package/views/interactive/tooltip/content/TooltipContentDrawPoint.js +1 -1
  113. package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
  114. package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
  115. package/webdoc/saveAPIKeyUtils.js +5 -0
  116. package/webdoc/webdocSaveUtils.js +1 -1
  117. package/widgets/BasemapGallery.js +1 -1
  118. package/widgets/BasemapLayerList.js +1 -1
  119. package/widgets/Expand.js +1 -1
  120. package/widgets/Feature/FeatureRelationship.js +1 -1
  121. package/widgets/Fullscreen.js +1 -1
  122. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  123. package/widgets/Swipe.js +1 -1
  124. package/widgets/support/globalCss.js +1 -1
  125. package/assets/esri/core/workers/chunks/034accc7cab6c88a3b31.js +0 -1
  126. package/assets/esri/core/workers/chunks/084a85e2e31b4d5fa924.js +0 -1
  127. package/assets/esri/core/workers/chunks/1a449168d30a688e6128.js +0 -1
  128. package/assets/esri/core/workers/chunks/21f0fafafcd754f5fb88.js +0 -1
  129. package/assets/esri/core/workers/chunks/273167b2dd46e58b8739.js +0 -1
  130. package/assets/esri/core/workers/chunks/2bf58296a6ea4eee960b.js +0 -1
  131. package/assets/esri/core/workers/chunks/3c2c64832fb498bbaa83.js +0 -1
  132. package/assets/esri/core/workers/chunks/4b3a5cc435435c81e6a5.js +0 -1
  133. package/assets/esri/core/workers/chunks/56afd89d08c874f620a1.js +0 -1
  134. package/assets/esri/core/workers/chunks/6108d72faf48a592c8ba.js +0 -1
  135. package/assets/esri/core/workers/chunks/74ddc14e4b576ddbb582.js +0 -1
  136. package/assets/esri/core/workers/chunks/7f680cf24dd97d61bcd2.js +0 -1
  137. package/assets/esri/core/workers/chunks/9b54b5bdb6367c36f6e9.js +0 -1
  138. package/assets/esri/core/workers/chunks/a838dc6653ec29503053.js +0 -1
  139. package/assets/esri/core/workers/chunks/b10a91cae610aba62bf8.js +0 -1
  140. package/assets/esri/core/workers/chunks/b8eb842ea98a9734e161.js +0 -1
  141. package/assets/esri/core/workers/chunks/bbb63392485ed57703e0.js +0 -1
  142. package/assets/esri/core/workers/chunks/bdf13091bd0e1ab0db7e.js +0 -1
  143. package/assets/esri/core/workers/chunks/c88869d2a647c22dc3e6.js +0 -1
  144. package/assets/esri/core/workers/chunks/e54ae2a4281dd58e0707.js +0 -1
  145. package/assets/esri/core/workers/chunks/e5fcfd41f0ec12dcb7f2.js +0 -1
  146. package/assets/esri/core/workers/chunks/f07a0ea10428adecea1a.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import{destroyMaybe as t}from"../../core/maybe.js";import{after as s}from"../../core/promiseUtils.js";import{watch as r,initial as i,on as o}from"../../core/reactiveUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import{cast as l}from"../../core/accessorSupport/decorators/cast.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import d from"../Widget.js";import c from"./FeatureRelationship/FeatureRelationshipViewModel.js";import u from"./support/FeatureElementInfo.js";import{loadCalciteComponents as h}from"../support/componentsUtils.js";import{globalCss as p}from"../support/globalCss.js";import{legacyIcon as m}from"../support/legacyIcon.js";import{isRTL as v}from"../support/widgetUtils.js";import{messageBundle as _}from"../support/decorators/messageBundle.js";import{tsx as g}from"../support/jsxFactory.js";import{substitute as w}from"../../intl/substitute.js";const f="esri-feature",b=`${f}-relationship`,y={base:b,listContainer:`${b}__list`,listItem:`${b}__list-item`,listItemHidden:`${b}__list-item--hidden`,listContainerQuerying:`${b}__list--querying`,featureObserver:`${f}__feature-observer`,stickySpinnerContainer:`${f}__sticky-loading-container`,loadingSpinnerContainer:`${f}__loading-container`,spinner:`${f}__loading-spinner`},F={title:!0,description:!0};let I=class extends d{constructor(e,t){super(e,t),this._featureElementInfo=null,this._relatedFeatureIntersectionObserverNode=null,this._relatedFeatureIntersectionObserver=new IntersectionObserver((([e])=>{e?.isIntersecting&&this._increaseFeaturePage()}),{root:window.document}),this.headingLevel=2,this.viewModel=new c,this.messages=null,this.messagesCommon=null,this.visibleElements={...F},this._increaseFeaturePage=()=>{const{state:e,showAllEnabled:t,relatedFeatures:s,featuresPerPage:r,featurePage:i}=this.viewModel;"ready"===e&&t&&s.length>=r*i&&this.viewModel.featurePage++}}initialize(){this._featureElementInfo=new u,this.addHandles([r((()=>[this.viewModel.description,this.viewModel.title,this.headingLevel]),(()=>this._setupFeatureElementInfo()),i),r((()=>[this.viewModel.state,this.viewModel.showAllEnabled,this._relatedFeatureIntersectionObserverNode]),(()=>this._handleRelatedFeatureObserverChange())),o((()=>this.viewModel.relatedFeatureViewModels),"change",(()=>this._setupRelatedFeatureViewModels()))])}loadDependencies(){return h({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js")})}destroy(){this._unobserveRelatedFeatureObserver(),this._featureElementInfo=t(this._featureElementInfo)}get displayShowAllButton(){const{showAllEnabled:e,featureCount:t,displayCount:s,state:r}=this.viewModel;return!e&&!!t&&"ready"===r&&(t>s||0===s)}get displayListItems(){return this.displayShowAllButton||this.viewModel.relatedFeatureViewModels.length>0}get description(){return this.viewModel.description}set description(e){this.viewModel.description=e}get featureCountDescription(){const{messages:e}=this,{featureCount:t}=this.viewModel;return w(e?.numberRecords,{number:t})}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}castVisibleElements(e){return{...F,...e}}render(){const{state:e}=this.viewModel;return g("div",{class:this.classes(y.base,p.widget)},this._featureElementInfo?.render(),"loading"===e?this._renderLoading():"disabled"===e?this._renderRelationshipNotFound():this._renderRelatedFeatures())}_renderStickyLoading(){return"querying"===this.viewModel.state?g("div",{key:"sticky-loader",class:y.stickySpinnerContainer},this._renderLoadingIcon()):null}_renderLoadingIcon(){return g("span",{class:this.classes(m.loadingIndicator,y.spinner)})}_renderLoading(){return g("div",{key:"loading-container",class:y.loadingSpinnerContainer},this._renderLoadingIcon())}_renderShowAllIconNode(){return g("calcite-icon",{scale:"s",icon:"list",slot:"content-end"})}_renderChevronIconNode(){const e=v(this.container)?"chevron-left":"chevron-right";return g("calcite-icon",{scale:"s",icon:e,slot:"content-end"})}_renderRelatedFeature(e){const{itemDescriptionFieldName:t}=this.viewModel,s=e.title;e.description=t&&e.formattedAttributes?.global[t];const r="loading"===e.state;return g("calcite-list-item",{class:this.classes(y.listItem,{[y.listItemHidden]:r}),key:e.uid,label:s,description:e.description??"",onCalciteListItemSelect:()=>this.emit("select-record",{featureViewModel:e})},this._renderChevronIconNode())}_renderShowAllListItem(){return this.displayShowAllButton?g("calcite-list-item",{key:"show-all-item",label:this.messages?.showAll,description:this.featureCountDescription,onCalciteListItemSelect:()=>this.emit("show-all-records")},this._renderShowAllIconNode()):null}_renderNoRelatedFeaturesMessage(){return g("calcite-notice",{key:"no-related-features-message",icon:"information",open:!0,kind:"brand",scale:"s",width:"full"},g("div",{slot:"message"},this.messages?.noRelatedFeatures))}_renderFeatureObserver(){return g("div",{key:"feature-observer",class:y.featureObserver,bind:this,afterCreate:this._relatedFeatureIntersectionObserverCreated})}_renderList(){const{relatedFeatureViewModels:e}=this.viewModel;return g("calcite-list",null,e.toArray().map((e=>this._renderRelatedFeature(e))),this._renderShowAllListItem())}_renderRelatedFeatures(){const{displayListItems:e}=this,{state:t}=this.viewModel;return g("div",{key:"list-container",class:this.classes(y.listContainer,{[y.listContainerQuerying]:"querying"===t})},e?this._renderList():"ready"===t?this._renderNoRelatedFeaturesMessage():null,this._renderStickyLoading(),this._renderFeatureObserver())}_renderRelationshipNotFound(){return g("calcite-notice",{key:"relationship-not-found",icon:"exclamation-mark-triangle",open:!0,kind:"danger",scale:"s",width:"full"},g("div",{slot:"message"},this.messages?.relationshipNotFound))}_setupRelatedFeatureViewModels(){const{relatedFeatureViewModels:e}=this.viewModel,t="related-feature-viewmodels";this.removeHandles(t),e?.forEach((e=>{this.addHandles(r((()=>[e.title,e.state]),(()=>this.scheduleRender()),i),t)})),this.scheduleRender()}_setupFeatureElementInfo(){const{headingLevel:e,visibleElements:t}=this,s=t.description&&this.description,r=t.title&&this.title;this._featureElementInfo?.set({description:s,title:r,headingLevel:e})}async _handleRelatedFeatureObserverChange(){this._unobserveRelatedFeatureObserver();const{state:e,showAllEnabled:t}=this.viewModel;await s(0),this._relatedFeatureIntersectionObserverNode&&"ready"===e&&t&&this._relatedFeatureIntersectionObserver.observe(this._relatedFeatureIntersectionObserverNode)}_relatedFeatureIntersectionObserverCreated(e){this._relatedFeatureIntersectionObserverNode=e}_unobserveRelatedFeatureObserver(){this._relatedFeatureIntersectionObserverNode&&this._relatedFeatureIntersectionObserver.unobserve(this._relatedFeatureIntersectionObserverNode)}};e([n()],I.prototype,"_relatedFeatureIntersectionObserverNode",void 0),e([n({readOnly:!0})],I.prototype,"displayShowAllButton",null),e([n({readOnly:!0})],I.prototype,"displayListItems",null),e([n()],I.prototype,"description",null),e([n({readOnly:!0})],I.prototype,"featureCountDescription",null),e([n()],I.prototype,"headingLevel",void 0),e([n()],I.prototype,"title",null),e([n({type:c})],I.prototype,"viewModel",void 0),e([n(),_("esri/widgets/Feature/t9n/Feature")],I.prototype,"messages",void 0),e([n(),_("esri/t9n/common")],I.prototype,"messagesCommon",void 0),e([n()],I.prototype,"visibleElements",void 0),e([l("visibleElements")],I.prototype,"castVisibleElements",null),I=e([a("esri.widgets.Feature.FeatureRelationship")],I);const M=I;export{M as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import{destroyMaybe as t}from"../../core/maybe.js";import{after as s}from"../../core/promiseUtils.js";import{watch as r,initial as i,on as o}from"../../core/reactiveUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import{cast as l}from"../../core/accessorSupport/decorators/cast.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import d from"../Widget.js";import c from"./FeatureRelationship/FeatureRelationshipViewModel.js";import u from"./support/FeatureElementInfo.js";import{loadCalciteComponents as h}from"../support/componentsUtils.js";import{globalCss as p}from"../support/globalCss.js";import{legacyIcon as m}from"../support/legacyIcon.js";import{isRTL as v}from"../support/widgetUtils.js";import{messageBundle as _}from"../support/decorators/messageBundle.js";import{tsx as g}from"../support/jsxFactory.js";import{substitute as w}from"../../intl/substitute.js";const f="esri-feature",b=`${f}-relationship`,y={base:b,listContainer:`${b}__list`,listItem:`${b}__list-item`,listItemHidden:`${b}__list-item--hidden`,listContainerQuerying:`${b}__list--querying`,featureObserver:`${f}__feature-observer`,stickySpinnerContainer:`${f}__sticky-loading-container`,loadingSpinnerContainer:`${f}__loading-container`,spinner:`${f}__loading-spinner`},F={title:!0,description:!0};let I=class extends d{constructor(e,t){super(e,t),this._featureElementInfo=null,this._relatedFeatureIntersectionObserverNode=null,this._relatedFeatureIntersectionObserver=new IntersectionObserver((([e])=>{e?.isIntersecting&&this._increaseFeaturePage()}),{root:window.document}),this.headingLevel=2,this.viewModel=new c,this.messages=null,this.messagesCommon=null,this.visibleElements={...F},this._increaseFeaturePage=()=>{const{state:e,showAllEnabled:t,relatedFeatures:s,featuresPerPage:r,featurePage:i}=this.viewModel;"ready"===e&&t&&s.length>=r*i&&this.viewModel.featurePage++}}initialize(){this._featureElementInfo=new u,this.addHandles([r((()=>[this.viewModel.description,this.viewModel.title,this.headingLevel]),(()=>this._setupFeatureElementInfo()),i),r((()=>[this.viewModel.state,this.viewModel.showAllEnabled,this._relatedFeatureIntersectionObserverNode]),(()=>this._handleRelatedFeatureObserverChange())),o((()=>this.viewModel.relatedFeatureViewModels),"change",(()=>this._setupRelatedFeatureViewModels()))])}loadDependencies(){return h({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js")})}destroy(){this._unobserveRelatedFeatureObserver(),this._featureElementInfo=t(this._featureElementInfo)}get displayShowAllButton(){const{showAllEnabled:e,featureCount:t,displayCount:s,state:r}=this.viewModel;return!e&&!!t&&"ready"===r&&(t>s||0===s)}get displayListItems(){return this.displayShowAllButton||this.viewModel.relatedFeatureViewModels.length>0}get description(){return this.viewModel.description}set description(e){this.viewModel.description=e}get featureCountDescription(){const{messages:e}=this,{featureCount:t}=this.viewModel;return w(e?.numberRecords,{number:t})}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}castVisibleElements(e){return{...F,...e}}render(){const{state:e}=this.viewModel;return g("div",{class:this.classes(y.base,p.widget)},this._featureElementInfo?.render(),"loading"===e?this._renderLoading():"disabled"===e?this._renderRelationshipNotFound():this._renderRelatedFeatures())}_renderStickyLoading(){return"querying"===this.viewModel.state?g("div",{key:"sticky-loader",class:y.stickySpinnerContainer},this._renderLoadingIcon()):null}_renderLoadingIcon(){return g("span",{class:this.classes(m.loadingIndicator,p.rotating,y.spinner)})}_renderLoading(){return g("div",{key:"loading-container",class:y.loadingSpinnerContainer},this._renderLoadingIcon())}_renderShowAllIconNode(){return g("calcite-icon",{scale:"s",icon:"list",slot:"content-end"})}_renderChevronIconNode(){const e=v(this.container)?"chevron-left":"chevron-right";return g("calcite-icon",{scale:"s",icon:e,slot:"content-end"})}_renderRelatedFeature(e){const{itemDescriptionFieldName:t}=this.viewModel,s=e.title;e.description=t&&e.formattedAttributes?.global[t];const r="loading"===e.state;return g("calcite-list-item",{class:this.classes(y.listItem,{[y.listItemHidden]:r}),key:e.uid,label:s,description:e.description??"",onCalciteListItemSelect:()=>this.emit("select-record",{featureViewModel:e})},this._renderChevronIconNode())}_renderShowAllListItem(){return this.displayShowAllButton?g("calcite-list-item",{key:"show-all-item",label:this.messages?.showAll,description:this.featureCountDescription,onCalciteListItemSelect:()=>this.emit("show-all-records")},this._renderShowAllIconNode()):null}_renderNoRelatedFeaturesMessage(){return g("calcite-notice",{key:"no-related-features-message",icon:"information",open:!0,kind:"brand",scale:"s",width:"full"},g("div",{slot:"message"},this.messages?.noRelatedFeatures))}_renderFeatureObserver(){return g("div",{key:"feature-observer",class:y.featureObserver,bind:this,afterCreate:this._relatedFeatureIntersectionObserverCreated})}_renderList(){const{relatedFeatureViewModels:e}=this.viewModel;return g("calcite-list",null,e.toArray().map((e=>this._renderRelatedFeature(e))),this._renderShowAllListItem())}_renderRelatedFeatures(){const{displayListItems:e}=this,{state:t}=this.viewModel;return g("div",{key:"list-container",class:this.classes(y.listContainer,{[y.listContainerQuerying]:"querying"===t})},e?this._renderList():"ready"===t?this._renderNoRelatedFeaturesMessage():null,this._renderStickyLoading(),this._renderFeatureObserver())}_renderRelationshipNotFound(){return g("calcite-notice",{key:"relationship-not-found",icon:"exclamation-mark-triangle",open:!0,kind:"danger",scale:"s",width:"full"},g("div",{slot:"message"},this.messages?.relationshipNotFound))}_setupRelatedFeatureViewModels(){const{relatedFeatureViewModels:e}=this.viewModel,t="related-feature-viewmodels";this.removeHandles(t),e?.forEach((e=>{this.addHandles(r((()=>[e.title,e.state]),(()=>this.scheduleRender()),i),t)})),this.scheduleRender()}_setupFeatureElementInfo(){const{headingLevel:e,visibleElements:t}=this,s=t.description&&this.description,r=t.title&&this.title;this._featureElementInfo?.set({description:s,title:r,headingLevel:e})}async _handleRelatedFeatureObserverChange(){this._unobserveRelatedFeatureObserver();const{state:e,showAllEnabled:t}=this.viewModel;await s(0),this._relatedFeatureIntersectionObserverNode&&"ready"===e&&t&&this._relatedFeatureIntersectionObserver.observe(this._relatedFeatureIntersectionObserverNode)}_relatedFeatureIntersectionObserverCreated(e){this._relatedFeatureIntersectionObserverNode=e}_unobserveRelatedFeatureObserver(){this._relatedFeatureIntersectionObserverNode&&this._relatedFeatureIntersectionObserver.unobserve(this._relatedFeatureIntersectionObserverNode)}};e([n()],I.prototype,"_relatedFeatureIntersectionObserverNode",void 0),e([n({readOnly:!0})],I.prototype,"displayShowAllButton",null),e([n({readOnly:!0})],I.prototype,"displayListItems",null),e([n()],I.prototype,"description",null),e([n({readOnly:!0})],I.prototype,"featureCountDescription",null),e([n()],I.prototype,"headingLevel",void 0),e([n()],I.prototype,"title",null),e([n({type:c})],I.prototype,"viewModel",void 0),e([n(),_("esri/widgets/Feature/t9n/Feature")],I.prototype,"messages",void 0),e([n(),_("esri/t9n/common")],I.prototype,"messagesCommon",void 0),e([n()],I.prototype,"visibleElements",void 0),e([l("visibleElements")],I.prototype,"castVisibleElements",null),I=e([a("esri.widgets.Feature.FeatureRelationship")],I);const M=I;export{M as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import o from"./Fullscreen/FullscreenViewModel.js";import{globalCss as l}from"./support/globalCss.js";import{legacyIcon as i}from"./support/legacyIcon.js";import{accessibleHandler as n}from"./support/decorators/accessibleHandler.js";import{messageBundle as a}from"./support/decorators/messageBundle.js";import{tsx as p}from"./support/jsxFactory.js";import"./support/widgetUtils.js";const c={base:"esri-fullscreen"};let d=class extends r{constructor(e,t){super(e,t),this.messages=null,this.viewModel=new o}get element(){return this.viewModel.element}set element(e){this.viewModel.element=e}get fullscreenTitle(){const e=this.viewModel?.state;return"active"===e?this.messages.exit:"ready"===e?this.messages.enter:""}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){const e=this.viewModel?.state,{fullscreenTitle:t}=this,s={[l.disabled]:"disabled"===e||"feature-unsupported"===e};return p("div",{bind:this,class:this.classes(c.base,l.anchor,l.widgetButton,s),role:"button",tabIndex:0,onclick:this._toggle,onkeydown:this._toggle,"aria-label":t,title:t},this._renderIcon(),this._renderTitle())}_renderIcon(){const e=this.viewModel?.state,t={[i.zoomOutFixed]:"ready"===e||"disabled"===e||"feature-unsupported"===e,[i.zoomInFixed]:"active"===e};return p("span",{class:this.classes(i.icon,t),"aria-hidden":"true"})}_renderTitle(){return p("span",{class:i.fontFallbackText},this.fullscreenTitle)}_toggle(){this.viewModel.toggle()}};e([t()],d.prototype,"element",null),e([t({readOnly:!0})],d.prototype,"fullscreenTitle",null),e([t()],d.prototype,"label",null),e([t(),a("esri/widgets/Fullscreen/t9n/Fullscreen")],d.prototype,"messages",void 0),e([t()],d.prototype,"view",null),e([t({type:o})],d.prototype,"viewModel",void 0),e([n()],d.prototype,"_toggle",null),d=e([s("esri.widgets.Fullscreen")],d);const u=d;export{u as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import o from"./Fullscreen/FullscreenViewModel.js";import{globalCss as l}from"./support/globalCss.js";import{legacyIcon as i}from"./support/legacyIcon.js";import{accessibleHandler as n}from"./support/decorators/accessibleHandler.js";import{messageBundle as a}from"./support/decorators/messageBundle.js";import{tsx as p}from"./support/jsxFactory.js";import"./support/widgetUtils.js";const c={base:"esri-fullscreen"};let d=class extends r{constructor(e,t){super(e,t),this.messages=null,this.viewModel=new o}get element(){return this.viewModel.element}set element(e){this.viewModel.element=e}get fullscreenTitle(){const e=this.viewModel?.state;return"active"===e?this.messages.exit:"ready"===e?this.messages.enter:""}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){const e=this.viewModel?.state,{fullscreenTitle:t}=this,s={[l.disabled]:"disabled"===e||"feature-unsupported"===e};return p("div",{bind:this,class:this.classes(c.base,l.widget,l.widgetButton,s),role:"button",tabIndex:0,onclick:this._toggle,onkeydown:this._toggle,"aria-label":t,title:t},this._renderIcon(),this._renderTitle())}_renderIcon(){const e=this.viewModel?.state,t={[i.zoomOutFixed]:"ready"===e||"disabled"===e||"feature-unsupported"===e,[i.zoomInFixed]:"active"===e};return p("span",{class:this.classes(i.icon,t),"aria-hidden":"true"})}_renderTitle(){return p("span",{class:i.fontFallbackText},this.fullscreenTitle)}_toggle(){this.viewModel.toggle()}};e([t()],d.prototype,"element",null),e([t({readOnly:!0})],d.prototype,"fullscreenTitle",null),e([t()],d.prototype,"label",null),e([t(),a("esri/widgets/Fullscreen/t9n/Fullscreen")],d.prototype,"messages",void 0),e([t()],d.prototype,"view",null),e([t({type:o})],d.prototype,"viewModel",void 0),e([n()],d.prototype,"_toggle",null),d=e([s("esri.widgets.Fullscreen")],d);const u=d;export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Color.js";import"../../../intl.js";import{addTokenParameter as l}from"../../../kernel.js";import s from"../../../request.js";import"../../../symbols.js";import r from"../../../core/Accessor.js";import{isSome as i}from"../../../core/arrayUtils.js";import n from"../../../core/Collection.js";import{JSONMap as a}from"../../../core/jsonMap.js";import o from"../../../core/Logger.js";import{debounce as u}from"../../../core/promiseUtils.js";import{on as c,watch as d,whenOnce as y,initial as h}from"../../../core/reactiveUtils.js";import{px2pt as m}from"../../../core/screenUtils.js";import{addQueryParameters as p}from"../../../core/urlUtils.js";import{property as f}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/has.js";import{subclass as g}from"../../../core/accessorSupport/decorators/subclass.js";import{OriginId as b}from"../../../core/accessorSupport/PropertyOrigin.js";import{EffectView as S}from"../../../layers/effects/EffectView.js";import{effectFunctionsFromJSON as _}from"../../../layers/effects/jsonUtils.js";import{ExportImageParameters as L}from"../../../layers/support/ExportImageParameters.js";import{isDateField as w}from"../../../layers/support/fieldUtils.js";import{isFeatureLayer as v}from"../../../layers/support/layerUtils.js";import{getPixelValueRange as E}from"../../../layers/support/rasterFormats/pixelRangeUtils.js";import{fromJSON as C}from"../../../renderers/support/jsonUtils.js";import{isSupportedRenderer3D as I}from"../../../renderers/support/rendererConversion.js";import R from"../../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import{applyCIMSymbolColor as F}from"../../../symbols/support/cimSymbolUtils.js";import{SymbolSizeDefaults as V}from"../../../symbols/support/previewUtils.js";import{renderSymbol as T}from"../../../symbols/support/renderUtils.js";import{renderColorRampPreviewHTML as z,renderDotDensityPreviewHTML as x,renderPieChartPreviewHTML as j,renderPreviewHTML as D}from"../../../symbols/support/symbolUtils.js";import{isVolumetricSymbol as P}from"../../../symbols/support/utils.js";import{getClusterSizeVariable as O}from"./clusterUtils.js";import{getColorFromPointCloudStops as A,getRampStopsForPointCloud as M,getStrectchRampStops as U,getRampStops as B}from"./colorRampUtils.js";import{getHeatmapRampStops as k}from"./heatmapRampUtils.js";import{getRotationAngleForFocus as N,getRelationshipRampElement as q}from"./relationshipRampUtils.js";import{getRampStops as H,realWorldMaxSize as $,realWorldMinSize as W}from"./sizeRampUtils.js";import{specialCharsLessThan as G,specialCharsGreaterThan as J,getSymbolForFlowRenderer as Q,isRasterBandStatistics as K,getMedianColor as X,rgbImgSource as Y}from"./utils.js";import{formatNumberLabel as Z}from"../../smartMapping/support/utils.js";import ee from"../../../symbols/SimpleMarkerSymbol.js";import te from"../../../symbols/SimpleFillSymbol.js";import{fetchMessageBundle as le}from"../../../intl/messages.js";import{substitute as se}from"../../../intl/substitute.js";const re="https://utility.arcgis.com/sharing/tools/legend",ie="esri.layers.ImageryLayer",ne="esri.layers.ImageryTileLayer",ae="esri.layers.WCSLayer",oe=/^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i,ue=new a({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"}),ce=new ee({size:6,outline:{color:[128,128,128,.5],width:.5}}),de=new te({style:"solid"});function ye(e){return"flow"===e.type}function he(e){return"vector-field"===e.type}function me(e){return"raster-colormap"===e.type}function pe(e){return"raster-stretch"===e.type}function fe(e){return"raster-shaded-relief"===e.type}function ge(e){return"esri.renderers.SimpleRenderer"===e.declaredClass}function be(e){return"esri.renderers.ClassBreaksRenderer"===e.declaredClass}function Se(e){return"esri.renderers.UniqueValueRenderer"===e.declaredClass}function _e(e){return"esri.renderers.HeatmapRenderer"===e.declaredClass}function Le(e){return ve(e)||Ee(e)||Ce(e)||we(e)}function we(e){return"esri.renderers.PointCloudRGBRenderer"===e.declaredClass}function ve(e){return"esri.renderers.PointCloudClassBreaksRenderer"===e.declaredClass}function Ee(e){return"esri.renderers.PointCloudStretchRenderer"===e.declaredClass}function Ce(e){return"esri.renderers.PointCloudUniqueValueRenderer"===e.declaredClass}function Ie(e){return"esri.renderers.DotDensityRenderer"===e.declaredClass}function Re(e){return"esri.renderers.PieChartRenderer"===e.declaredClass}function Fe(e,t){return ge(e)||be(e)||Se(e)||_e(e)||Ie(e)||Re(e)?"2d"===t.type||I(e):pe(e)||me(e)||fe(e)||ve(e)||Ee(e)||Ce(e)||he(e)||ye(e)}function Ve(e){return"esri.layers.BuildingSceneLayer"===e.declaredClass}function Te(e){return"esri.layers.SubtypeGroupLayer"===e.declaredClass}function ze(e){return"esri.layers.VoxelLayer"===e.declaredClass}function xe(e){return"esri.layers.WMSLayer"===e.declaredClass}function je(e){return"esri.layers.WMTSLayer"===e.declaredClass}function De(e){return"esri.layers.MapImageLayer"===e.declaredClass}function Pe(e){return"esri.layers.TileLayer"===e.declaredClass}function Oe(e){return e.declaredClass===ie}function Ae(e){return e.declaredClass===ne}function Me(e){return e.declaredClass===ae}function Ue(e){return"stretch-ramp"===e.type}function Be(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type}function ke(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type&&"above-and-below"===t?.univariateTheme}function Ne(e){return"sublayers"in e}async function qe(e,t){const l=await le("esri/widgets/Legend/t9n/Legend");return"previewTemplateAriaLabel"!==e||t||(e="previewAriaLabel"),se(l[e],{label:t})}const He=new ee({style:"path",path:"M10,5 L5,0 0,5 M5,0 L5,15",size:15,outline:{width:1,color:[85,85,85,1]}});let $e={},We=class extends r{constructor(e){super(e),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._webStyleSymbolCache=new Map,this._dotDensityUrlCache=new Map,this._scaleDrivenSizeVariable=null,this._hasClusterSizeVariable=!1,this.children=new n,this.layerView=null,this.layer=null,this.legendElements=[],this.parent=null,this.hideLayersNotInCurrentView=!1,this.keepCacheOnDestroy=!1,this.respectLayerVisibility=!0,this.sublayerIds=[],this.title=null,this.view=null}initialize(){const e=()=>this.notifyChange("ready");this.addHandles([c((()=>this.children),"change",(t=>{const{added:l,removed:s}=t;l.forEach((t=>{const l=`activeLayerInfo-ready-watcher-${t.layer.uid}`;this.addHandles(d((()=>t.ready),e,h),l)})),s.forEach((e=>this.removeHandles(e.layer.uid))),e()}))]),this.keepCacheOnDestroy||($e={})}destroy(){this._webStyleSymbolCache=null,this._dotDensityUrlCache=null,this._scaleDrivenSizeVariable=null,this.keepCacheOnDestroy||($e=null)}get effectList(){const e=this.layer;let t=null;return"effect"in e&&e.effect&&(t=new S,t.effect=e.effect,t.endTransitions(),t.scale=this.scale),t}get opacity(){const e=this.layer.opacity,t=this.parent?.opacity,l=this.layer.parent,s=l&&"uid"in l?this._getParentLayerOpacity(l):null;return null!=t?t*e:null!=s?s*e:e}get ready(){return null===this.layer||(this.children.length>0?this._isGroupActive():this.legendElements.length>0)}get scale(){return this.view?.scale??0}get isScaleDriven(){const e=this.layer;if(null===e)return!1;if("effect"in e&&e.effect&&Array.isArray(e.effect))return!0;if("featureReduction"in e&&e.featureReduction){if("cluster"===e.featureReduction.type)return!0;if("binning"===e.featureReduction.type&&"renderer"in e.featureReduction&&e.featureReduction.renderer)return this._isRendererScaleDriven(e.featureReduction.renderer)}return"renderer"in e&&e.renderer?this._isRendererScaleDriven(e.renderer):this._isLayerScaleDriven(this.layer)}get version(){return this._get("version")+1}async buildLegendElementsForFeatureCollections(e){if(!(!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView()))return this.legendElements=[],void this.notifyChange("ready");const t=Array.from(e,(e=>{if(v(e))return this._getRendererLegendElements(e.renderer,{title:e.title});if(e.featureSet&&e.featureSet.features.length){const t=e.layerDefinition,l=t&&t.drawingInfo,s=l&&C(l.renderer),r=ue.read(t.geometryType);return s?this._getRendererLegendElements(s,{title:e.name,geometryType:r}):(o.getLogger(this).warn("drawingInfo not available!"),null)}return null}));try{const e=[],l=await Promise.allSettled(t);for(const t of l)if("fulfilled"===t.status)for(const l of t.value??[])e.push(l);this.legendElements=e,this.notifyChange("ready")}catch(l){o.getLogger(this).warn("error while building legend for layer!",l)}}async buildLegendElementsForRenderer(e){try{const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getRendererLegendElements(e):[],this.notifyChange("ready")}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}}async buildLegendElementsForFeatureReduction(e){try{const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getLegendElementsForFeatureReduction(e):[],this.notifyChange("ready")}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}}async buildLegendElementsForTools(){const e=this.layer;if(ze(e))this._constructLegendElementsForVoxellayer();else if(je(e))this._constructLegendElementsForWMTSlayer();else if(xe(e))await this._constructLegendElementsForWMSSublayers();else if(Ve(e))await this._constructLegendElementsForBuildingSceneLayer();else if(De(e)||Pe(e)||Te(e))await this._constructLegendElementsForSublayers();else{this.removeHandles("imageryLayers-watcher");let t="default";if(Oe(e)){const l=e;t=(l?.rasterFunction?.functionName||"default")+"_"+(e.bandIds?.length?e.bandIds.join(""):"###")}await this._getLegendLayers(`${e.uid}-${t}`).then((async t=>{this.legendElements=[],this.notifyChange("ready");const l=t.map((async t=>{if(Oe(e)||Ae(e)){const t=d((()=>["renderingRule"in e&&e.rasterFunction,e.bandIds]),(()=>u((async()=>{$e.default=null,e.renderer?await this.buildLegendElementsForRenderer(e.renderer):await this.buildLegendElementsForTools()}))()));this.addHandles(t,"imageryLayers-watcher")}const l=this._generateSymbolTableElementForLegendLayer(t);l&&l.infos.length&&(Oe(e)&&(l.title=e.title),this.legendElements.push(l)),this.notifyChange("ready")}));await Promise.allSettled(l)})).catch((e=>{o.getLogger(this).warn("Request to server for legend has failed!",e)}))}}async _isLayerInCurrentView(){const e=this.layer,t=this.layerView,l=t&&"createQuery"in t&&"queryFeatureCount"in t;if(!l&&!(t&&"createQuery"in e&&"queryFeatureCount"in e))return!0;await y((()=>!t.updating));const s=l?"createQuery"in t&&t.createQuery():"createQuery"in e&&e.createQuery();if(!s)return!0;s.geometry=this.view.extent;return 0!==(l?"queryFeatureCount"in t&&await t.queryFeatureCount(s):"queryFeatureCount"in e&&await e.queryFeatureCount(s))}_getParentLayerOpacity(e){let t=1;const l=e.parent;return l&&"uid"in l&&(t=this._getParentLayerOpacity(l)),e.opacity*t}_isGroupActive(){const e=this.children;return!!e.length&&e.some((e=>e.ready))}_isRendererScaleDriven(e){if("dot-density"===e.type)return!0;const t="valueExpression"in e?e.valueExpression:null;if(oe.test(t))return!0;const l="visualVariables"in e?e.visualVariables:null;return!!l&&l.some((e=>this._isScaleDrivenSizeVariable(e)))}_isScaleDrivenSizeVariable(e){if(e&&"size"!==e.type)return!1;const t=e,l=t.minSize,s=t.maxSize;return"object"==typeof l&&l?this._isScaleDrivenSizeVariable(l):"object"==typeof s&&s?this._isScaleDrivenSizeVariable(s):!!t.expression||oe.test(t.valueExpression)}_isLayerScaleDriven(e){if("minScale"in e&&e.minScale>0||"maxScale"in e&&e.maxScale>0)return!0;if("sublayers"in e&&e.sublayers)return e.sublayers.some((e=>this._isLayerScaleDriven(e)));const t=e.parent;if(!1===e.loaded&&t&&De(t)&&"source"in e&&e.source&&"map-layer"===e.source.type)for(const l of t.sourceJSON.layers??[])if(l.id===e.source.mapLayerId&&(l.minScale>0||l.maxScale>0))return!0;return!1}async _constructLegendElementsForVoxellayer(){this.legendElements=[],this.removeHandles("voxel-style-watcher"),this.removeHandles("voxel-current-variable");const e=this.layer;this.addHandles(d((()=>e.currentVariableId),(()=>this._constructLegendElementsForVoxellayer())),"voxel-current-variable"),this.addHandles(d((()=>e.getVariableStyles()),(()=>this._constructLegendElementsForVoxellayer())),"voxel-style-watcher");const t=e.getVariableStyle(null),l=[];if(t)if(t.uniqueValues?.length){const e=[];t.uniqueValues.forEach((t=>{t.enabled&&e.push({label:t.label||`${t.value}`,value:t.value,symbol:new te({color:t.color,outline:null})})})),e.length&&l.push({type:"symbol-table",title:t.label,infos:e})}else if(t.transferFunction){const{colorStops:e,stretchRange:s}=t.transferFunction,r=e.toArray().reverse(),i=s.map(((e,t)=>`${0===t?G:J} ${Z(e)}`)).reverse(),n=r.map((e=>({color:e.color,value:null,label:null})));n[0].label=i[0],n[n.length-1].label=i[1],l.push({type:"color-ramp",title:t.label,infos:n,preview:z(r.map((e=>e.color)),{ariaLabel:await qe("previewColorRampAriaLabel")})})}const s=e.opacity,r=l.reduce(((e,t)=>[...e,...this._getAllInfos(t)]),[]).filter((e=>!!e?.symbol)).map((e=>this._getSymbolPreview(e,s)));await Promise.allSettled(r),this.legendElements=l,this.notifyChange("ready")}_constructLegendElementsForWMTSlayer(){this.legendElements=[],this.removeHandles("wmts-activeLayer-watcher");const e=this.layer.activeLayer;if(this.addHandles(d((()=>{const{layer:e}=this;return e&&"activeLayer"in e&&e.activeLayer}),(()=>this._constructLegendElementsForWMTSlayer())),"wmts-activeLayer-watcher"),e.styleId&&e.styles){let t=null;e.styles.some((l=>e.styleId===l.id&&(t=l.legendUrl,!0))),t&&(this.legendElements=[{type:"symbol-table",title:e.title,infos:[{src:t,opacity:this.opacity}]}])}this.notifyChange("ready")}async _constructLegendElementsForWMSSublayers(){this.legendElements=[],this.removeHandles("wms-sublayers-watcher");const e=this.layer;let t=null;(e.customParameters||e.customLayerParameters)&&(t={...e.customParameters,...e.customLayerParameters}),this.addHandles(d((()=>{const{layer:e}=this;return e&&"sublayers"in e&&e.sublayers}),(()=>this._constructLegendElementsForWMSSublayers())),"wms-sublayers-watcher"),this.legendElements=await this._generateLegendElementsForWMSSublayers(e.sublayers,t),this.notifyChange("ready")}async _generateLegendElementsForWMSSublayers(e,t){const l=[];this.addHandles(e.on("change",(()=>this._constructLegendElementsForWMSSublayers())),"wms-sublayers-watcher");const s=e.toArray();for(const r of s){const e=d((()=>[r.title,r.visible,r.legendEnabled]),(()=>this._constructLegendElementsForWMSSublayers()));if(this.addHandles(e,"wms-sublayers-watcher"),!this.respectLayerVisibility||r.visible&&r.legendEnabled){const e=await this._generateSymbolTableElementForWMSSublayer(r,t);e&&e.infos.length&&l.unshift(e)}}return l}async _generateSymbolTableElementForWMSSublayer(e,t){if(!e.legendUrl&&e.sublayers){const l=(await this._generateLegendElementsForWMSSublayers(e.sublayers,t)).filter((e=>e));return{type:"symbol-table",title:e.title,infos:l}}return this._generateSymbolTableElementForLegendUrl(e,t)}async _generateSymbolTableElementForLegendUrl(e,t){let l=e.legendUrl;if(!l)return;const r={type:"symbol-table",title:e.title||e.name||String(e.id??""),infos:[]};t&&(l=p(l,t));let i=null;const n=e.layer?.opacity;try{i=(await s(l,{responseType:"image"})).data,i&&(i.style.opacity=n)}catch{}return r.infos.push({src:l,preview:i,opacity:n}),r}_getLegendLayers(e,t){const l=$e&&$e[e];return l?Promise.resolve(l):this._legendRequest(t).then((t=>{const l=t.layers;return $e[e]=l,l}))}_legendRequest(e){const t=this.layer;let l={f:"json",dynamicLayers:e};if(Oe(t)){const e=t.exportImageServiceParameters.rasterFunction;if(e&&(l.renderingRule=JSON.stringify(e.functionDefinition?.toJSON()||e.toJSON())),t.bandIds&&(l.bandIds=t.bandIds.join()),t.raster||t.viewId||t.customParameters){const{raster:e,viewId:s,customParameters:r}=t;l={raster:e,viewId:s,...l,...r}}}let r=t.url.replace(/(\/)+$/,"");if("version"in t&&+t.version>=10.01){const e=r.indexOf("?");e>-1?r=r.substring(0,e)+"/legend"+r.substring(e):r+="/legend"}else{const e=r.toLowerCase().indexOf("/rest/"),t=r.substring(0,e)+r.substring(e+5,r.length);r=re+"?soapUrl="+encodeURI(t)+"&returnbytes=true"}return s(r,{query:l}).then((e=>e.data))}async _constructLegendElementsForBuildingSceneLayer(){this.legendElements=[],this.removeHandles("sublayers-watcher");const e=this.layer;this.addHandles(d((()=>e.sublayers),(()=>this._constructLegendElementsForBuildingSceneLayer())),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForBuildingSublayers(e.sublayers,this.opacity),this.notifyChange("ready")}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}}async _generateLegendElementsForBuildingSublayers(e,t){let l=[];this.addHandles(e.on("change",(()=>this._constructLegendElementsForBuildingSceneLayer())),"sublayers-watcher");const s=e.toArray();for(const r of s){const e=d((()=>["renderer"in r&&r.renderer,r.opacity,r.title,r.visible]),(()=>this._constructLegendElementsForBuildingSceneLayer()));if(this.addHandles(e,"sublayers-watcher"),!this.respectLayerVisibility||r.visible){const e=r&&null!=r.opacity?r.opacity:null,s=null!=e?e*t:t;if("building-group"===r.type){const e={type:"symbol-table",title:r.title,infos:[]},t=await this._generateLegendElementsForBuildingSublayers(r.sublayers,s);e.infos.push(...t),l=[e,...l]}else if(r.renderer){l=[...await this._getRendererLegendElements(r.renderer,{title:r.title,opacity:s,sublayer:r}),...l]}}}return l.filter((e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0)))}async _constructLegendElementsForSublayers(){this.legendElements=[],this.removeHandles("sublayers-watcher");const e=this.layer;if(De(e)||Pe(e)||Te(e)){this.addHandles(d((()=>e.sublayers),(()=>this._constructLegendElementsForSublayers)),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForSublayers(e.sublayers,this.opacity),this.notifyChange("ready")}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}}}async _generateLegendElementsForSublayers(e,t,l){const s=this.layer;let r=[];this.addHandles(e.on("change",(()=>this._constructLegendElementsForSublayers())),"sublayers-watcher");let n=e.toArray();!l&&this.sublayerIds&&this.sublayerIds.length&&(n=Te(s)?this.sublayerIds.map((e=>s.findSublayerForSubtypeCode(e))).filter(i):this.sublayerIds.map((e=>s.findSublayerById(e))).filter(i));for(const i of n){const e=d((()=>[i.renderer,i.opacity,i.title,i.visible,i.legendEnabled]),(()=>this._constructLegendElementsForSublayers()));if(this.addHandles(e,"sublayers-watcher"),!this.respectLayerVisibility||i.visible&&i.legendEnabled&&this._isSublayerInScale(i)){const e=i&&null!=i.opacity?i.opacity:null,s=null!=e?e*t:t,n=!Ne(i)||i.originIdOf("renderer")>b.SERVICE&&!i.sublayers;if(i.renderer&&n){await i.load();r=[...await this._getRendererLegendElements(i.renderer,{title:i.title,opacity:s,sublayer:i}),...r]}else if(Ne(i)){const e=await this._generateSymbolTableElementForSublayer(i,s,l);e&&r.unshift(e)}}}return r.filter((e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0)))}async _generateSymbolTableElementForSublayer(e,t,l){if(!l){l=new Map;const t=this.layer,s=e.source;let r=null;if(!(!s||"map-layer"===s.type&&s.mapLayerId===e.id&&(!s.gdbVersion||s.gdbVersion===("gdbVersion"in t&&t.gdbVersion)))||e.originIdOf("renderer")>b.SERVICE||e.originIdOf("labelingInfo")>b.SERVICE||e.originIdOf("labelsVisible")>b.SERVICE){const e=new L({layer:this.layer});r=e.hasDynamicLayers?e.dynamicLayers:null,e.destroy()}const i=r||`${t.uid}-default`;(await this._getLegendLayers(i,r)).forEach((e=>l.set(e.layerId,e)))}const s=l.get(e.id);if((!s||s?.subLayerIds&&s.defaultVisibility)&&e.sublayers){const s=await this._generateLegendElementsForSublayers(e.sublayers,t,l);return{type:"symbol-table",title:e.title,infos:s}}return this._generateSymbolTableElementForLegendLayer(s,e,t)}_generateSymbolTableElementForLegendLayer(e,t,l){if(!e||!e.legend||this.respectLayerVisibility&&!this._isLegendLayerInScale(e,t))return null;const s=t?.renderer;let r=t?.title||e.layerName;if(s&&(!t||t?.originIdOf("renderer")>b.SERVICE)){const e=t?.title||this._getRendererTitle(s,t);e&&(r&&"string"!=typeof e&&"title"in e&&(e.title=r),r=e)}const i={type:"symbol-table",title:r,legendType:e.legendType||null,infos:[]},n=t?this._sanitizeLegendForSublayer(e.legend.slice(),t):e.legend;return e.legendGroups&&e.legendGroups.length>0?e.legendGroups.forEach((t=>{const s={type:"symbol-table",title:t.heading,legendType:e.legendType||null,infos:this._generateSymbolTableElementInfosForLegendLayer(n.filter((e=>e.groupId===t.id)),e.layerId,l)};s.infos?.length>0&&i.infos.push(s)})):i.infos=this._generateSymbolTableElementInfosForLegendLayer(n,e.layerId,l),i.infos.length>0?i:null}_generateSymbolTableElementInfosForLegendLayer(e,t,s){return e.map((e=>{let r=e.url;if(e.imageData&&e.imageData.length>0)r=`data:image/png;base64,${e.imageData}`;else{if(0===r.indexOf("http"))return null;r=l(`${this.layer.url}/${t}/images/${r}`)}return{label:e.label,src:r,opacity:s??this.opacity,width:e.width,height:e.height}})).filter(i)}_isSublayerInScale(e){const t=e.minScale||0,l=e.maxScale||0;return!(t>0&&t<this.scale||l>this.scale)}_isLegendLayerInScale(e,t){const l=t||this.layer;let s=null,r=null,i=!0;return!l.minScale&&0!==l.minScale||!l.maxScale&&0!==l.maxScale?(0===e.minScale&&l.tileInfo&&(s=l.tileInfo.lods[0].scale),0===e.maxScale&&l.tileInfo&&(r=l.tileInfo.lods[l.tileInfo.lods.length-1].scale)):(s=Math.min(l.minScale,e.minScale)||l.minScale||e.minScale,r=Math.max(l.maxScale,e.maxScale)),(s>0&&s<this.scale||r>this.scale)&&(i=!1),i}_sanitizeLegendForSublayer(e,t){if("version"in this.layer&&+this.layer.version<10.1||0===e.length)return e;const l=t.renderer,s=e.some((e=>e.values));let r=0,i=null;return s&&e.some(((e,t)=>(e.values||(r=t,i=e,i.label||(i.label="others")),null!=i))),l?"unique-value"===l.type?i&&(e.splice(r,1),e.push(i)):"class-breaks"===l.type&&(i&&e.splice(r,1),e.reverse(),i&&e.push(i)):i&&(e.splice(r,1),e.push(i)),e}async _getRendererLegendElements(e,t={}){if(!Fe(e,this.view))return o.getLogger(this).warn(`Renderer of type '${e.type}' not supported!`),[];if(Le(e))return this._constructPointCloudRendererLegendElements(e,t);if(Ie(e))return this._constructDotDensityRendererLegendElements(e);const l=await this._loadRenderer(e);return Re(l)?this._constructPieChartRendererLegendElements(l):this._constructRendererLegendElements(l,t)}async _getLegendElementsForFeatureReduction(e){let t=null;return"binning"===e.type?t=e.renderer:"cluster"===e.type&&(t=this._getClusterRenderer(e)),t?this._getRendererLegendElements(t):[]}_getPointCloudRendererTitle(e){return(e.legendOptions?.title||e.field)??""}async _constructPointCloudRendererLegendElements(e,t={}){const l=t.title,s=[];let r=null,i=null;if(ve(e))r={type:"symbol-table",title:l||this._getPointCloudRendererTitle(e),infos:[]},e.colorClassBreakInfos.forEach((e=>{r.infos.unshift({label:e.label||e.minValue+" - "+e.maxValue,value:[e.minValue,e.maxValue],symbol:this._getAppliedCloneSymbol(ce,e.color)})}));else if(Ee(e)){const t=e.stops;let s=null;if(t?.length&&(1===t.length&&(s=t[0].color),!s)){const e=t[0].value,l=t[t.length-1].value;if(null!=e&&null!=l){s=A(e+(l-e)/2,t)}}r={type:"symbol-table",title:null,infos:[{label:null,value:null,symbol:this._getAppliedCloneSymbol(ce,s||ce.color)}]};const n=M(e.stops??[])??[];i={type:"color-ramp",title:l||this._getPointCloudRendererTitle(e),infos:n,preview:z(n.map((e=>e.color)),{ariaLabel:await qe("previewColorRampAriaLabel")})}}else Ce(e)&&(r={type:"symbol-table",title:l||this._getPointCloudRendererTitle(e),infos:[]},e.colorUniqueValueInfos?.forEach((e=>{r.infos.push({label:e.label||e.values.join(", "),value:e.values.join(", "),symbol:this._getAppliedCloneSymbol(ce,e.color)})})));r&&r.infos.length&&s.push(r),i&&i.infos.length&&s.push(i);const n=s.reduce(((e,t)=>[...e,...t.infos??[]]),[]).filter((e=>!!e.symbol)).map((t=>this._getSymbolPreview(t,this.opacity,{symbolConfig:{applyColorModulation:!!e.colorModulation}})));return await Promise.allSettled(n),s}async _getElementInfoForDotDensity(e,t){const{color:l,label:s,valueExpressionTitle:r}=t,{backgroundColor:i,outline:n,dotSize:a}=e,o=this.effectList,u=o?.effects.map((e=>e.toJSON())),c=_(u),d=await qe("previewTemplateAriaLabel",s||r),y=a+"-"+l+"-"+i+"-"+(n&&JSON.stringify(n.toJSON()))+"-"+c,h=this._dotDensityUrlCache,m=h.has(y)?h.get(y):x(e,l,{ariaLabel:d});h.set(y,m);const p={shape:{type:"image",x:0,y:0,width:m.width,height:m.height,src:m.src},fill:null,stroke:null,offset:[0,0]},f=T([[p]],[m.width,m.height],{effectView:this.effectList,ariaLabel:d});return{opacity:1,src:m.src,preview:f,width:m.width,height:m.height}}async _constructDotDensityRendererLegendElements(e){const t=e.calculateDotValue(this.view.scale),l=e.legendOptions&&e.legendOptions.unit,s={type:"symbol-table",title:{value:t&&Math.round(t),unit:l||""},infos:[]};for(const r of e.attributes){const t=await this._getElementInfoForDotDensity(e,r);t.label=r.label||r.valueExpressionTitle||r.field,s.infos.push(t)}return[s]}async _constructPieChartRendererLegendElements(e){const t=this.layer.opacity,l=[];let s=null;const r=e.outline;e.attributes.forEach((e=>{const t=new ee({color:e.color,outline:r}),s=e.label||e.valueExpressionTitle||e.field;l.push({label:s,symbol:t})}));const i=l.length?[...l]:[];if(e.othersCategory?.color&&0!==e.othersCategory?.threshold){const t=new ee({color:e.othersCategory.color,outline:r});s=e.othersCategory.label||"Other",l.push({label:s,symbol:t})}if(e.defaultColor?.a){const t=new ee({color:e.defaultColor,outline:r});l.push({label:e.defaultLabel,symbol:t})}const n=await this._getVisualVariableLegendElements(e,this.layer)||[];if(l.length){n.unshift({type:"symbol-table",title:null,infos:l});const t=i.filter((e=>e.label!==s)).map((e=>e.symbol.color)).filter(Boolean),a=j(t,{holePercentage:e.holePercentage,backgroundColor:e.backgroundFillSymbol?.color,effectList:this.effectList,outline:r,ariaLabel:await qe("previewPieChartAriaLabel")});n.unshift({type:"pie-chart-ramp",title:this._getRendererTitle(e,this.layer),infos:l,preview:a})}const a=n.reduce(((e,t)=>[...e,...this._getAllInfos(t)]),[]).filter((e=>!!e?.symbol&&!e?.preview)).map((e=>this._getSymbolPreview(e,t,{effectList:this.effectList})));return await Promise.allSettled(a),n}async _constructRendererLegendElements(e,t={}){const{title:l,sublayer:s}=t,r=s||this.layer;this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._scaleDrivenSizeVariable=null;const i=await this._getVisualVariableLegendElements(e,r)||[],n={type:"symbol-table",title:l||this._getRendererTitle(e,r),infos:[]};let a=null,o=!1;const u=new Set;if(ye(e)&&!this._hasSizeRamp){const t=await Q(e);n.infos.push({label:null,symbol:t})}else if(Be(e)){let t=l;const s=ke(e)?"univariate-above-and-below-ramp":"univariate-color-size-ramp",r=i.findIndex((e=>"color-ramp"===e.type)),n=-1!==r?i.splice(r,1)[0]:null,a=i.findIndex((e=>"size-ramp"===e.type)),o=-1!==a?i.splice(a,1)[0]:null,u=[];n&&(t=n.title,u.push(n)),o&&(t=o.title,u.push(o)),u.length>0&&i.push({type:s,title:t,infos:u})}else if(_e(e)){const t=k(e);i.push({type:"heatmap-ramp",title:l||this._getRendererTitle(e,r),infos:t,preview:z(t.map((e=>e.color)),{effectList:this.effectList,ariaLabel:await qe("previewColorRampAriaLabel")})})}else if(Se(e)){const t=e&&e.authoringInfo;if(t&&"relationship"===t.type){const{numClasses:l,field1:s,field2:a}=t,o=t.focus;if(l&&s&&a){const t=[s,a];let c=N(o)||0;for(const e of t){const{field:t,normalizationField:l,label:s}=e,i=s||{field:this._getFieldAlias(t,r),normField:l&&this._getFieldAlias(l,r)},a=He.clone();a.angle=c,n.infos.push({label:i,symbol:a}),u.add(a),c+=90}const d=q({focus:o,numClasses:l,infos:e.uniqueValueInfos??[]});i.unshift(d)}}else if(Oe(this.layer)||Ae(this.layer))e.uniqueValueInfos?.forEach((e=>{e.symbol&&n.infos.push({label:e.label||e.value,value:e.value,symbol:e.symbol})}));else{const{field:t,field2:s,field3:i,fieldDelimiter:a,valueExpression:u,defaultSymbol:c}=e,d=!(!t&&!u||!s&&!i),y=[];if(e.uniqueValueGroups?.forEach((e=>{const l={type:"symbol-table",title:e.heading,infos:[]};e.classes?.forEach((e=>{const{symbol:n,values:o}=e;if(n){const c=[],y=[];for(const e of o??[]){const{value:l,value2:n,value3:o}=e,h=[],m=[];(t||u)&&(h.push(l),m.push(this._getDomainName(t,l,r))),s&&(h.push(n),m.push(this._getDomainName(s,n,r))),i&&(h.push(o),m.push(this._getDomainName(i,o,r))),c.push(d?h.join(a||""):h[0]),y.push(m.join(" - "))}const h=c.join(", ");let m=e.label;if(!m){const e=y.filter(Boolean);m=e.length?e.join(", "):h}l.infos.push({label:m,value:h,symbol:n})}})),l.infos.length&&y.push(l)})),y.length){const t=y[0];1===y.length&&"title"in t&&!t.title?n.infos.push(...t.infos??[]):(c&&(y.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:c}]}),o=!0),n.infos.push(...y)),l||e.legendOptions&&e.legendOptions.title||e.valueExpressionTitle||(n.title=null)}}e.defaultSymbol&&!o&&(n.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),o=!0)}else if(be(e)){a=this._isUnclassedRenderer(e);(!a||!this._hasSizeRamp)&&(e.classBreakInfos.forEach((e=>{e.symbol&&n.infos.unshift({label:e.label||(a?null:e.minValue+" - "+e.maxValue),value:[e.minValue,e.maxValue],symbol:e.symbol})})),a&&(n.title=null),this._updateInfosforClassedSizeRenderer(e,n.infos)),e.defaultSymbol&&!a&&(n.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),o=!0)}else if(pe(e))if(Ae(this.layer)||Me(this.layer)){const t=await this._constructTileImageryStretchRendererElements(e);Ue(t)?i.push(t):n.infos=t}else{const t=this.layer;let l,s;if(e.statistics?.length){const t=e.statistics[0];K(t)?(l=t.min,s=t.max):[l,s]=t}let r=[],a=t.serviceRasterInfo;if(t.rasterFunction)try{a=await t.generateRasterInfo(t.rasterFunction)}catch{}const o=a.keyProperties.BandProperties,u=E(a.pixelType);if(1===a.bandCount){const r=t.bandIds?.[0]||0;l=null!=l?l:a.statistics?a.statistics[r].min:u[0],s=null!=s?s:a.statistics?a.statistics[r].max:u[1],l||s?i.push(await this._getStretchLegendElements(e,{min:l,max:s})):this._getServerSideLegend()}else t.bandIds&&1===t.bandIds.length?(l=null!=l?l:a.statistics?a.statistics[t.bandIds[0]].min:u[0],s=null!=s?s:a.statistics?a.statistics[t.bandIds[0]].max:u[1],l||s?i.push(await this._getStretchLegendElements(e,{min:l,max:s})):this._getServerSideLegend()):a.bandCount>=3?o&&o.length>=a.bandCount?t.bandIds&&3===t.bandIds.length?(r=t.bandIds.map((e=>o[e].BandName)),n.infos=this._createSymbolTableElementMultiBand(r)):"lerc"===t.format?(r=[0,1,2].map((e=>o[e].BandName)),n.infos=this._createSymbolTableElementMultiBand(r)):this._getServerSideLegend():"lerc"===t.format?(r=["band1","band2","band3"],n.infos=this._createSymbolTableElementMultiBand(r)):this._getServerSideLegend():this._getServerSideLegend()}else if(me(e))e.colormapInfos.forEach((e=>{n.infos.push({label:e.label,value:e.value,symbol:this._getAppliedCloneSymbol(de,e.color)})}));else if(ge(e)){let l=e.symbol;switch(t.geometryType){case"point":l="pointSymbol"in r?r.pointSymbol:null;break;case"polyline":l="lineSymbol"in r?r.lineSymbol:null;break;case"polygon":l="polygonSymbol"in r?r.polygonSymbol:null}const s=this._hasClusterSizeVariable&&this._getClusterSymbol()||!this._hasSizeRamp;e.symbol&&s&&n.infos.push({label:e.label,symbol:l})}else if(he(e)){e.outputUnit&&(this.title="("+e.toJSON().outputUnit+")"),n.title=e.attributeField;const t=e.getClassBreakInfos();t?.length?t.forEach((e=>{n.infos.push({label:e.minValue+" - "+e.maxValue,symbol:e.symbol})})):n.infos.push({label:e.attributeField,symbol:e.getDefaultSymbol()})}else fe(e)&&i.push(await this._getStretchLegendElements(e,{min:0,max:255}));const c=e.defaultSymbol;!c||o||ge(e)||a&&!this._hasColorRamp&&!this._hasSizeRamp&&!this._hasOpacityRamp||i.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:c}]}),n.infos.length&&i.unshift(n);const d=null==t.opacity?this.opacity:t.opacity,y=this._isTallSymbol("visualVariables"in e?e.visualVariables:null),h=Oe(this.layer)||Ae(this.layer),m=i.reduce(((e,t)=>[...e,...this._getAllInfos(t)]),[]).filter((e=>!!e?.symbol)).map((e=>this._getSymbolPreview(e,d,{isDefault:e.symbol===c,applyScaleDrivenSize:!u.has(e.symbol),symbolConfig:{isTall:y,isSquareFill:h},effectList:u.has(e.symbol)?null:this.effectList})));return e=null,await Promise.allSettled(m),i}_getServerSideLegend(){setTimeout((()=>this.buildLegendElementsForTools()),0)}_getAllInfos(e){const t=e?.infos;return t?t.reduce(((e,t)=>e.concat(this._getAllInfos(t))),[]):[e]}async _constructTileImageryStretchRendererElements(e){const t=this.layer,l=t.symbolizer.rasterInfo??t.raster.rasterInfo,s=l.bandCount||e.statistics.length;let r,i,n=[];const a=l.keyProperties&&l.keyProperties.BandProperties,o=e?.statistics?.length?e.statistics:l?.statistics;if(o){const e=o[0];K(e)?(r=e.min,i=e.max):[r,i]=e}else{const e=E(l.pixelType);r=e[0],i=e[1]}if(t.hasStandardTime()&&(r=t.getStandardTimeValue(r),i=t.getStandardTimeValue(i)),1===l.bandCount||1===t.bandIds?.length)return this._getStretchLegendElements(e,{min:r,max:i});function u(e){const s=(t?.bandIds?.length?t.bandIds:Array.from(Array(Math.min(l.bandCount,3)).keys())).map((t=>e&&e[t]&&e[t].BandName||"band"+(t+1)));return s.length<3?s.push(s[1]):s.length>3&&s.splice(3),s}return n=a&&a.length>=s?u(a):u(),this._createSymbolTableElementMultiBand(n)}async _getStretchLegendElements(e,t){const l=e.colorRamp,s=U(l,t);return{type:"stretch-ramp",title:"",infos:s,preview:z(s.map((e=>e.color)),{ariaLabel:await qe("previewColorRampAriaLabel")})}}_getClusterSymbol(){const e=this.layer,t="featureReduction"in e&&e.featureReduction,l=t&&"symbol"in t&&t.renderer;return l&&!0!==l?.authoringInfo?.isAutoGenerated?null:t&&"symbol"in t?t.symbol:null}async _getSizeLegendElement(e,t,l,s){return{type:"size-ramp",title:this._hasClusterSizeVariable?this._getClusterTitle(t):e,infos:await H(l,t,await X(l),this.scale,this.view.type,!!s,this._hasClusterSizeVariable?this._getClusterSymbol():null)}}_createSymbolTableElementMultiBand(e){const t=[],l=["red","green","blue"];return e.forEach(((e,s)=>{t.push({label:{colorName:l[s],bandName:e},src:Y[s],opacity:this.opacity??1})})),t}_updateInfosforClassedSizeRenderer(e,t){const l=e.authoringInfo&&"class-breaks-size"===e.authoringInfo.type,s=e.classBreakInfos.some((e=>P(e.symbol)));if(l&&s){const l=$,s=W,r=e.classBreakInfos.length,i=(l-s)/(r>1?r-1:r);t.forEach(((e,t)=>{e.size=l-i*t}))}}_isTallSymbol(e){let t=!1,l=!1;if(e)for(let s=0;s<e.length&&(!t||!l);s++){const r=e[s];"size"===r.type&&("height"===r.axis&&(t=!0),"width-and-depth"===r.axis&&(l=!0))}return t&&l}async _getSymbolPreview(e,t,l){let s=!l?.isDefault&&null==e.size&&this._hasSizeRamp?m(V.size):e.size;if(this._scaleDrivenSizeVariable&&l?.applyScaleDrivenSize){const{getSize:t}=await import("../../../renderers/visualVariables/support/visualVariableUtils.js");s=t(this._scaleDrivenSizeVariable,null,{view:this.view.type,scale:this.scale,shape:"simple-marker"===e.symbol.type?e.symbol.style:null})}const r=!l?.isDefault&&this._hasSizeRamp||!(!this._scaleDrivenSizeVariable||!l?.applyScaleDrivenSize);return D(e.symbol,{size:s,opacity:t,scale:!1,symbolConfig:l?.symbolConfig,effectView:l?.effectList,style:"legend",cimOptions:{allowScalingUp:r},ariaLabel:e.label&&"string"!=typeof e.label?null:await qe("previewTemplateAriaLabel",e.label)}).then((t=>(e.preview=t,e))).catch((()=>(e.preview=null,e)))}_getClusterRenderer(e){this._hasClusterSizeVariable=!1;const t="renderer"in this.layer?this.layer.renderer:null,l=e.renderer?.clone()||t?.clone(),s=O(this.layerView._effectiveRenderer,this.view);if(s&&null!=l&&"visualVariables"in l){const t=l.visualVariables?.some((e=>"size"===e.type&&"outline"!==e.target&&!oe.test(e.valueExpression)));if(!t){if("clusterMinSize"in e&&"clusterMaxSize"in e){const{clusterMinSize:t,clusterMaxSize:l}=e;s.legendOptions=new R({showLegend:t!==l})}const t=l.visualVariables||[];l.visualVariables=t.concat([s]),this._hasClusterSizeVariable=!0}}return l}async _loadRenderer(e){const t=[],l=e.clone(),s=await X(l);if(be(l)||Se(l)){const e=(l.classBreakInfos||l.uniqueValueInfos).map((e=>this._fetchSymbol(e.symbol,s).then((t=>{e.symbol=t})).catch((()=>{e.symbol=null}))));Array.prototype.push.apply(t,e)}return t.push(this._fetchSymbol(l.symbol||l.defaultSymbol,l.defaultSymbol?null:s).then((e=>{this._applySymbolToRenderer(l,e,ge(l))})).catch((()=>{this._applySymbolToRenderer(l,null,ge(l))}))),await Promise.allSettled(t),l}_applySymbolToRenderer(e,t,l){l?e.symbol=t:e.defaultSymbol=t}async _fetchSymbol(e,t){if(!e)throw new Error;if("web-style"===e.type){const l=this._webStyleSymbolCache;try{const s=await("2d"===this.view.type?e.fetchCIMSymbol({cache:l}):e.fetchSymbol({cache:l}));return this._getAppliedCloneSymbol(s,t)}catch{throw o.getLogger(this).warn("Fetching web-style failed!"),new Error}}return this._getAppliedCloneSymbol(e,t)}_getAppliedCloneSymbol(e,l){if(!e||!l)return e;const s=e.clone(),r=l&&l.toRgba();return s.type.includes("3d")?this._applyColorTo3dSymbol(s,r):"cim"===s.type?F(s,l):s.color&&(s.color=new t(r||s.color)),s}_applyColorTo3dSymbol(e,l){l&&e.symbolLayers.forEach((e=>{e&&(e.material||(e.material={}),e.material.color=new t(l))}))}async _getVisualVariableLegendElements(e,t){if(!("visualVariables"in e)||!e.visualVariables||"vector-field"===e.type)return null;const l=e.visualVariables,s=[],r=[],n=[];for(const i of l)"color"===i.type?s.push(i):"size"===i.type?r.push(i):"opacity"===i.type&&n.push(i);const a=[...s,...r,...n];let o,u;if(0===s.length&&be(e)&&e.classBreakInfos&&1===e.classBreakInfos.length){const t=e.classBreakInfos[0];o=t&&t.symbol}if(0===s.length&&ge(e)&&(o=e.symbol),o)if(o.type.includes("3d")){const e=o.symbolLayers.at(0);"water"===e.type?null!=e.color&&(u=e.color):null!=e.material&&null!=e.material.color&&(u=e.material.color)}else o.url||(u=o.color);const c=this.effectList;return(await Promise.all(a.map((async l=>{if(!l.legendOptions||!1!==l.legendOptions.showLegend){const s=ye(e)?l.field:this._getRampTitle(l,t);let r=null;const i="getField"in t?t.getField?.(l.field):null,n=i&&w(i);if("color"===l.type){const e=await B(l,null,n)??[];r={type:"color-ramp",title:s,infos:e,preview:z(e.map((e=>e.color)),{effectList:c,ariaLabel:await qe("previewColorRampAriaLabel")})},this._hasColorRamp||(this._hasColorRamp=e.length>0)}else if("size"===l.type&&"outline"!==l.target)oe.test(l.valueExpression)?this._hasClusterSizeVariable||(this._scaleDrivenSizeVariable=l):(r=await this._getSizeLegendElement(s,l,e,n),this._hasSizeRamp||(this._hasSizeRamp=!(null==r.infos||!r.infos.length)));else if("opacity"===l.type){const e=await B(l,u,n)??[];r={type:"opacity-ramp",title:s,infos:e,preview:z(e.map((e=>e.color)),{effectList:c,ariaLabel:await qe("previewColorRampAriaLabel")})},this._hasOpacityRamp||(this._hasOpacityRamp=e.length>0)}return r&&r.infos?r:null}})))).filter(i)}_getDomainName(e,t,l){if(e&&"function"!=typeof e){const s="getField"in l&&l.getField&&l.getField(e),r=s&&"getFieldDomain"in l&&l.getFieldDomain?l.getFieldDomain(s.name):null;return"coded-value"===r?.type?r.getName(t):null}return null}_getClusterTitle(e){const t=this.layer,l=e.field;if("featureReduction"in t&&t.featureReduction&&"cluster"===t.featureReduction.type){const e=t.featureReduction,s="popupTemplate"in e&&e.popupTemplate,r=s&&s.fieldInfos;if(r)for(const t of r)if(t.fieldName===l)return"cluster_count"===l?t.label||{showCount:!0}:t.label}return{showCount:!0}}_getRampTitle(e,t){let l=e.field,s=e.normalizationField,r=!1,i=!1,n=!1,a=null;l="function"==typeof l?null:l,s="function"==typeof s?null:s;const o=e.legendOptions&&e.legendOptions.title;if(null!=o)a=o;else if(e.valueExpressionTitle)a=e.valueExpressionTitle;else{if("renderer"in t&&t.renderer&&"authoringInfo"in t.renderer&&t.renderer.authoringInfo&&t.renderer.authoringInfo.visualVariables){const e=t.renderer.authoringInfo.visualVariables;for(let t=0;t<e.length;t++){const l=e[t];if("color"===l.type){if("ratio"===l.style){r=!0;break}if("percent"===l.style){i=!0;break}if("percent-of-total"===l.style){n=!0;break}}}}a={field:l&&this._getFieldAlias(l,t),normField:s&&this._getFieldAlias(s,t),ratio:r,ratioPercent:i,ratioPercentTotal:n}}return a}_getRendererTitle(e,t){const l=e;if(l.legendOptions&&l.legendOptions.title)return l.legendOptions.title;if(l.valueExpressionTitle)return l.valueExpressionTitle;let s=l.field,r=null,i=null;if(be(l)&&(r=l.normalizationField,i="percent-of-total"===l.normalizationType),s="function"==typeof s?null:s,r="function"==typeof r?null:r,Se(l)){const{field2:e,field3:r,fieldDelimiter:i}=l;let n=s&&this._getFieldAlias(s,t);return e&&(n=`<${n}>${i}<${this._getFieldAlias(e,t)}>`,r&&(n=`${n}${i}<${this._getFieldAlias(r,t)}>`)),n}let n=null;return(s||r)&&(n={field:s&&this._getFieldAlias(s,t),normField:r&&this._getFieldAlias(r,t),normByPct:i}),n}_getFieldAlias(e,t){const l="popupTemplate"in t?t.popupTemplate:null,s=l?.fieldInfos;let r;s&&s.some((t=>e===t.fieldName&&(r=t,!0)));let i=null;"getField"in t&&t.getField?i=t.getField(e):"fieldsIndex"in t&&t.fieldsIndex&&(i=t.fieldsIndex.get(e));let n=null;const a="featureReduction"in t&&t.featureReduction;a&&(!r&&"popupTemplate"in a&&a.popupTemplate&&a.popupTemplate.fieldInfos&&a.popupTemplate.fieldInfos.some((t=>e?.toLowerCase()===t.fieldName?.toLowerCase()&&(r=t,!0))),"fields"in a&&a.fields&&(n=a.fields.find((t=>t.name?.toLowerCase()===e?.toLowerCase()))));const o=r||i||n;let u=null;return o&&(u=r?.label||i?.alias||n?.alias||"name"in o&&o.name||"fieldName"in o&&o.fieldName||null),u}_isUnclassedRenderer(e){const t=e.visualVariables;let l=!1;return be(e)&&e.classBreakInfos&&1===e.classBreakInfos.length&&t&&(l=e.field?t.some((t=>!(!t||e.field!==t.field||(e.normalizationField||t.normalizationField)&&e.normalizationField!==t.normalizationField))):!!t.length),l}};e([f()],We.prototype,"children",void 0),e([f({readOnly:!0})],We.prototype,"effectList",null),e([f()],We.prototype,"layerView",void 0),e([f()],We.prototype,"layer",void 0),e([f()],We.prototype,"legendElements",void 0),e([f({readOnly:!0})],We.prototype,"opacity",null),e([f()],We.prototype,"parent",void 0),e([f({readOnly:!0,dependsOn:[]})],We.prototype,"ready",null),e([f()],We.prototype,"hideLayersNotInCurrentView",void 0),e([f()],We.prototype,"keepCacheOnDestroy",void 0),e([f()],We.prototype,"respectLayerVisibility",void 0),e([f({readOnly:!0})],We.prototype,"scale",null),e([f()],We.prototype,"sublayerIds",void 0),e([f({readOnly:!0})],We.prototype,"isScaleDriven",null),e([f()],We.prototype,"title",void 0),e([f({readOnly:!0,dependsOn:["ready"],value:0})],We.prototype,"version",null),e([f()],We.prototype,"view",void 0),We=e([g("esri.widgets.Legend.support.ActiveLayerInfo")],We);const Ge=We;export{Ge as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Color.js";import"../../../intl.js";import{addTokenParameter as l}from"../../../kernel.js";import s from"../../../request.js";import"../../../symbols.js";import r from"../../../core/Accessor.js";import{isSome as i}from"../../../core/arrayUtils.js";import n from"../../../core/Collection.js";import{JSONMap as a}from"../../../core/jsonMap.js";import o from"../../../core/Logger.js";import{debounce as u}from"../../../core/promiseUtils.js";import{on as c,watch as d,whenOnce as y,initial as h}from"../../../core/reactiveUtils.js";import{px2pt as m}from"../../../core/screenUtils.js";import{addQueryParameters as p}from"../../../core/urlUtils.js";import{property as f}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/has.js";import{subclass as g}from"../../../core/accessorSupport/decorators/subclass.js";import{OriginId as b}from"../../../core/accessorSupport/PropertyOrigin.js";import{EffectView as S}from"../../../layers/effects/EffectView.js";import{effectFunctionsFromJSON as _}from"../../../layers/effects/jsonUtils.js";import{ExportImageParameters as w}from"../../../layers/support/ExportImageParameters.js";import{isDateField as L}from"../../../layers/support/fieldUtils.js";import{isFeatureLayer as v}from"../../../layers/support/layerUtils.js";import{getPixelValueRange as E}from"../../../layers/support/rasterFormats/pixelRangeUtils.js";import{fromJSON as C}from"../../../renderers/support/jsonUtils.js";import{isSupportedRenderer3D as I}from"../../../renderers/support/rendererConversion.js";import R from"../../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import{applyCIMSymbolColor as F}from"../../../symbols/support/cimSymbolUtils.js";import{SymbolSizeDefaults as V}from"../../../symbols/support/previewUtils.js";import{renderSymbol as T}from"../../../symbols/support/renderUtils.js";import{renderColorRampPreviewHTML as z,renderDotDensityPreviewHTML as x,renderPieChartPreviewHTML as D,renderPreviewHTML as j}from"../../../symbols/support/symbolUtils.js";import{isVolumetricSymbol as P}from"../../../symbols/support/utils.js";import{getClusterSizeVariable as O}from"./clusterUtils.js";import{getColorFromPointCloudStops as A,getRampStopsForPointCloud as M,getStrectchRampStops as k,getRampStops as B}from"./colorRampUtils.js";import{getHeatmapRampStops as U}from"./heatmapRampUtils.js";import{getRotationAngleForFocus as N,getRelationshipRampElement as q}from"./relationshipRampUtils.js";import{getRampStops as H,realWorldMaxSize as $,realWorldMinSize as W}from"./sizeRampUtils.js";import{specialCharsLessThan as G,specialCharsGreaterThan as J,getSymbolForFlowRenderer as Q,isRasterBandStatistics as K,getMedianColor as X,rgbImgSource as Y}from"./utils.js";import{formatNumberLabel as Z}from"../../smartMapping/support/utils.js";import ee from"../../../symbols/SimpleMarkerSymbol.js";import te from"../../../symbols/SimpleFillSymbol.js";import{fetchMessageBundle as le}from"../../../intl/messages.js";import{substitute as se}from"../../../intl/substitute.js";const re="https://utility.arcgis.com/sharing/tools/legend",ie="esri.layers.ImageryLayer",ne="esri.layers.ImageryTileLayer",ae="esri.layers.WCSLayer",oe=/^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i,ue=new a({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"}),ce=new ee({size:6,outline:{color:[128,128,128,.5],width:.5}}),de=new te({style:"solid"});function ye(e){return"flow"===e.type}function he(e){return"vector-field"===e.type}function me(e){return"raster-colormap"===e.type}function pe(e){return"raster-stretch"===e.type}function fe(e){return"raster-shaded-relief"===e.type}function ge(e){return"esri.renderers.SimpleRenderer"===e.declaredClass}function be(e){return"esri.renderers.ClassBreaksRenderer"===e.declaredClass}function Se(e){return"esri.renderers.UniqueValueRenderer"===e.declaredClass}function _e(e){return"esri.renderers.HeatmapRenderer"===e.declaredClass}function we(e){return ve(e)||Ee(e)||Ce(e)||Le(e)}function Le(e){return"esri.renderers.PointCloudRGBRenderer"===e.declaredClass}function ve(e){return"esri.renderers.PointCloudClassBreaksRenderer"===e.declaredClass}function Ee(e){return"esri.renderers.PointCloudStretchRenderer"===e.declaredClass}function Ce(e){return"esri.renderers.PointCloudUniqueValueRenderer"===e.declaredClass}function Ie(e){return"esri.renderers.DotDensityRenderer"===e.declaredClass}function Re(e){return"esri.renderers.PieChartRenderer"===e.declaredClass}function Fe(e,t){return ge(e)||be(e)||Se(e)||_e(e)||Ie(e)||Re(e)?"2d"===t.type||I(e):pe(e)||me(e)||fe(e)||ve(e)||Ee(e)||Ce(e)||he(e)||ye(e)}function Ve(e){return"esri.layers.BuildingSceneLayer"===e.declaredClass}function Te(e){return"esri.layers.SubtypeGroupLayer"===e.declaredClass}function ze(e){return"esri.layers.VoxelLayer"===e.declaredClass}function xe(e){return"esri.layers.WMSLayer"===e.declaredClass}function De(e){return"esri.layers.WMTSLayer"===e.declaredClass}function je(e){return"esri.layers.MapImageLayer"===e.declaredClass}function Pe(e){return"esri.layers.TileLayer"===e.declaredClass}function Oe(e){return e.declaredClass===ie}function Ae(e){return e.declaredClass===ne}function Me(e){return e.declaredClass===ae}function ke(e){return"stretch-ramp"===e.type}function Be(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type}function Ue(e){const t="authoringInfo"in e?e?.authoringInfo:null;return"univariate-color-size"===t?.type&&"above-and-below"===t?.univariateTheme}function Ne(e){return"sublayers"in e}async function qe(e,t){const l=await le("esri/widgets/Legend/t9n/Legend");return"previewTemplateAriaLabel"!==e||t||(e="previewAriaLabel"),se(l[e],{label:t})}const He=new ee({style:"path",path:"M10,5 L5,0 0,5 M5,0 L5,15",size:15,outline:{width:1,color:[85,85,85,1]}});let $e={},We=class extends r{constructor(e){super(e),this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._webStyleSymbolCache=new Map,this._dotDensityUrlCache=new Map,this._scaleDrivenSizeVariable=null,this._hasClusterSizeVariable=!1,this.children=new n,this.layerView=null,this.layer=null,this.legendElements=[],this.parent=null,this.hideLayersNotInCurrentView=!1,this.keepCacheOnDestroy=!1,this.respectLayerVisibility=!0,this.sublayerIds=[],this.title=null,this.view=null}initialize(){const e=()=>this.notifyChange("ready");this.addHandles([c((()=>this.children),"change",(t=>{const{added:l,removed:s}=t;l.forEach((t=>{const l=`activeLayerInfo-ready-watcher-${t.layer.uid}`;this.addHandles(d((()=>t.ready),e,h),l)})),s.forEach((e=>this.removeHandles(e.layer.uid))),e()}))]),this.keepCacheOnDestroy||($e={})}destroy(){this._webStyleSymbolCache=null,this._dotDensityUrlCache=null,this._scaleDrivenSizeVariable=null,this.keepCacheOnDestroy||($e=null)}get effectList(){const e=this.layer;let t=null;return"effect"in e&&e.effect&&(t=new S,t.effect=e.effect,t.endTransitions(),t.scale=this.scale),t}get opacity(){const e=this.layer.opacity,t=this.parent?.opacity,l=this.layer.parent,s=l&&"uid"in l?this._getParentLayerOpacity(l):null;return null!=t?t*e:null!=s?s*e:e}get ready(){return null===this.layer||(this.children.length>0?this._isGroupActive():this.legendElements.length>0)}get scale(){return this.view?.scale??0}get isScaleDriven(){const e=this.layer;if(null===e)return!1;if("effect"in e&&e.effect&&Array.isArray(e.effect))return!0;if("featureReduction"in e&&e.featureReduction){if("cluster"===e.featureReduction.type)return!0;if("binning"===e.featureReduction.type&&"renderer"in e.featureReduction&&e.featureReduction.renderer)return this._isRendererScaleDriven(e.featureReduction.renderer)}return"renderer"in e&&e.renderer?this._isRendererScaleDriven(e.renderer):this._isLayerScaleDriven(this.layer)}get version(){return this._get("version")+1}async buildLegendElementsForFeatureCollections(e){if(!(!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView()))return this.legendElements=[],void this.notifyChange("ready");const t=Array.from(e,(e=>{if(v(e))return this._getRendererLegendElements(e.renderer,{title:e.title});if(e.featureSet&&e.featureSet.features.length){const t=e.layerDefinition,l=t&&t.drawingInfo,s=l&&C(l.renderer),r=ue.read(t.geometryType);return s?this._getRendererLegendElements(s,{title:e.name,geometryType:r}):(o.getLogger(this).warn("drawingInfo not available!"),null)}return null}));try{const e=[],l=await Promise.allSettled(t);for(const t of l)if("fulfilled"===t.status)for(const l of t.value??[])e.push(l);this.legendElements=e,this.notifyChange("ready")}catch(l){o.getLogger(this).warn("error while building legend for layer!",l)}}async buildLegendElementsForRenderer(e){try{const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getRendererLegendElements(e):[],this.notifyChange("ready")}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}}async buildLegendElementsForFeatureReduction(e){try{const t=!this.hideLayersNotInCurrentView||await this._isLayerInCurrentView();this.legendElements=t?await this._getLegendElementsForFeatureReduction(e):[],this.notifyChange("ready")}catch(t){o.getLogger(this).warn("error while building legend for layer!",t)}}async buildLegendElementsForTools(){const e=this.layer;if(ze(e))this._constructLegendElementsForVoxellayer();else if(De(e))this._constructLegendElementsForWMTSlayer();else if(xe(e))await this._constructLegendElementsForWMSSublayers();else if(Ve(e))await this._constructLegendElementsForBuildingSceneLayer();else if(je(e)||Pe(e)||Te(e))await this._constructLegendElementsForSublayers();else{this.removeHandles("imageryLayers-watcher");let t="default";if(Oe(e)){const l=e;t=(l?.rasterFunction?.functionName||"default")+"_"+(e.bandIds?.length?e.bandIds.join(""):"###")}await this._getLegendLayers(`${e.uid}-${t}`).then((async t=>{this.legendElements=[],this.notifyChange("ready");const l=t.map((async t=>{if(Oe(e)||Ae(e)){const t=d((()=>["renderingRule"in e&&e.rasterFunction,e.bandIds]),(()=>u((async()=>{$e.default=null,e.renderer?await this.buildLegendElementsForRenderer(e.renderer):await this.buildLegendElementsForTools()}))()));this.addHandles(t,"imageryLayers-watcher")}const l=this._generateSymbolTableElementForLegendLayer(t);l&&l.infos.length&&(Oe(e)&&(l.title=e.title),this.legendElements.push(l)),this.notifyChange("ready")}));await Promise.allSettled(l)})).catch((e=>{o.getLogger(this).warn("Request to server for legend has failed!",e)}))}}async _isLayerInCurrentView(){const e=this.layer,t=this.layerView,l=t&&"createQuery"in t&&"queryFeatureCount"in t;if(!l&&!(t&&"createQuery"in e&&"queryFeatureCount"in e))return!0;await y((()=>!t.updating));const s=l?"createQuery"in t&&t.createQuery():"createQuery"in e&&e.createQuery();if(!s)return!0;s.geometry=this.view.extent;return 0!==(l?"queryFeatureCount"in t&&await t.queryFeatureCount(s):"queryFeatureCount"in e&&await e.queryFeatureCount(s))}_getParentLayerOpacity(e){let t=1;const l=e.parent;return l&&"uid"in l&&(t=this._getParentLayerOpacity(l)),e.opacity*t}_isGroupActive(){const e=this.children;return!!e.length&&e.some((e=>e.ready))}_isRendererScaleDriven(e){if("dot-density"===e.type)return!0;const t="valueExpression"in e?e.valueExpression:null;if(oe.test(t))return!0;const l="visualVariables"in e?e.visualVariables:null;return l?l.some((e=>this._isScaleDrivenSizeVariable(e))):this._hasScaleDrivenSymbols(e)}_hasScaleDrivenSymbols(e){switch(e.type){case"simple":return this._isScaleDrivenSymbol(e.symbol);case"class-breaks":return this._isScaleDrivenSymbol(e.defaultSymbol)||e.classBreakInfos.some((e=>this._isScaleDrivenSymbol(e.symbol)));case"unique-value":return this._isScaleDrivenSymbol(e.defaultSymbol)||!!e.uniqueValueInfos?.some((e=>this._isScaleDrivenSymbol(e.symbol)))}return!1}_isScaleDrivenSymbol(e){return"cim"===e?.type&&(null!=e.data.minScale||null!=e.data.maxScale)}_isScaleDrivenSizeVariable(e){if(e&&"size"!==e.type)return!1;const t=e,l=t.minSize,s=t.maxSize;return"object"==typeof l&&l?this._isScaleDrivenSizeVariable(l):"object"==typeof s&&s?this._isScaleDrivenSizeVariable(s):!!t.expression||oe.test(t.valueExpression)}_isLayerScaleDriven(e){if("minScale"in e&&e.minScale>0||"maxScale"in e&&e.maxScale>0)return!0;if("sublayers"in e&&e.sublayers)return e.sublayers.some((e=>this._isLayerScaleDriven(e)));const t=e.parent;if(!1===e.loaded&&t&&je(t)&&"source"in e&&e.source&&"map-layer"===e.source.type)for(const l of t.sourceJSON.layers??[])if(l.id===e.source.mapLayerId&&(l.minScale>0||l.maxScale>0))return!0;return!1}async _constructLegendElementsForVoxellayer(){this.legendElements=[],this.removeHandles("voxel-style-watcher"),this.removeHandles("voxel-current-variable");const e=this.layer;this.addHandles(d((()=>e.currentVariableId),(()=>this._constructLegendElementsForVoxellayer())),"voxel-current-variable"),this.addHandles(d((()=>e.getVariableStyles()),(()=>this._constructLegendElementsForVoxellayer())),"voxel-style-watcher");const t=e.getVariableStyle(null),l=[];if(t)if(t.uniqueValues?.length){const e=[];t.uniqueValues.forEach((t=>{t.enabled&&e.push({label:t.label||`${t.value}`,value:t.value,symbol:new te({color:t.color,outline:null})})})),e.length&&l.push({type:"symbol-table",title:t.label,infos:e})}else if(t.transferFunction){const{colorStops:e,stretchRange:s}=t.transferFunction,r=e.toArray().reverse(),i=s.map(((e,t)=>`${0===t?G:J} ${Z(e)}`)).reverse(),n=r.map((e=>({color:e.color,value:null,label:null})));n[0].label=i[0],n[n.length-1].label=i[1],l.push({type:"color-ramp",title:t.label,infos:n,preview:z(r.map((e=>e.color)),{ariaLabel:await qe("previewColorRampAriaLabel")})})}const s=e.opacity,r=l.reduce(((e,t)=>[...e,...this._getAllInfos(t)]),[]).filter((e=>!!e?.symbol)).map((e=>this._getSymbolPreview(e,s)));await Promise.allSettled(r),this.legendElements=l,this.notifyChange("ready")}_constructLegendElementsForWMTSlayer(){this.legendElements=[],this.removeHandles("wmts-activeLayer-watcher");const e=this.layer.activeLayer;if(this.addHandles(d((()=>{const{layer:e}=this;return e&&"activeLayer"in e&&e.activeLayer}),(()=>this._constructLegendElementsForWMTSlayer())),"wmts-activeLayer-watcher"),e.styleId&&e.styles){let t=null;e.styles.some((l=>e.styleId===l.id&&(t=l.legendUrl,!0))),t&&(this.legendElements=[{type:"symbol-table",title:e.title,infos:[{src:t,opacity:this.opacity}]}])}this.notifyChange("ready")}async _constructLegendElementsForWMSSublayers(){this.legendElements=[],this.removeHandles("wms-sublayers-watcher");const e=this.layer;let t=null;(e.customParameters||e.customLayerParameters)&&(t={...e.customParameters,...e.customLayerParameters}),this.addHandles(d((()=>{const{layer:e}=this;return e&&"sublayers"in e&&e.sublayers}),(()=>this._constructLegendElementsForWMSSublayers())),"wms-sublayers-watcher"),this.legendElements=await this._generateLegendElementsForWMSSublayers(e.sublayers,t),this.notifyChange("ready")}async _generateLegendElementsForWMSSublayers(e,t){const l=[];this.addHandles(e.on("change",(()=>this._constructLegendElementsForWMSSublayers())),"wms-sublayers-watcher");const s=e.toArray();for(const r of s){const e=d((()=>[r.title,r.visible,r.legendEnabled]),(()=>this._constructLegendElementsForWMSSublayers()));if(this.addHandles(e,"wms-sublayers-watcher"),!this.respectLayerVisibility||r.visible&&r.legendEnabled){const e=await this._generateSymbolTableElementForWMSSublayer(r,t);e&&e.infos.length&&l.unshift(e)}}return l}async _generateSymbolTableElementForWMSSublayer(e,t){if(!e.legendUrl&&e.sublayers){const l=(await this._generateLegendElementsForWMSSublayers(e.sublayers,t)).filter((e=>e));return{type:"symbol-table",title:e.title,infos:l}}return this._generateSymbolTableElementForLegendUrl(e,t)}async _generateSymbolTableElementForLegendUrl(e,t){let l=e.legendUrl;if(!l)return;const r={type:"symbol-table",title:e.title||e.name||String(e.id??""),infos:[]};t&&(l=p(l,t));let i=null;const n=e.layer?.opacity;try{i=(await s(l,{responseType:"image"})).data,i&&(i.style.opacity=n)}catch{}return r.infos.push({src:l,preview:i,opacity:n}),r}_getLegendLayers(e,t){const l=$e&&$e[e];return l?Promise.resolve(l):this._legendRequest(t).then((t=>{const l=t.layers;return $e[e]=l,l}))}_legendRequest(e){const t=this.layer;let l={f:"json",dynamicLayers:e};if(Oe(t)){const e=t.exportImageServiceParameters.rasterFunction;if(e&&(l.renderingRule=JSON.stringify(e.functionDefinition?.toJSON()||e.toJSON())),t.bandIds&&(l.bandIds=t.bandIds.join()),t.raster||t.viewId||t.customParameters){const{raster:e,viewId:s,customParameters:r}=t;l={raster:e,viewId:s,...l,...r}}}let r=t.url.replace(/(\/)+$/,"");if("version"in t&&+t.version>=10.01){const e=r.indexOf("?");e>-1?r=r.substring(0,e)+"/legend"+r.substring(e):r+="/legend"}else{const e=r.toLowerCase().indexOf("/rest/"),t=r.substring(0,e)+r.substring(e+5,r.length);r=re+"?soapUrl="+encodeURI(t)+"&returnbytes=true"}return s(r,{query:l}).then((e=>e.data))}async _constructLegendElementsForBuildingSceneLayer(){this.legendElements=[],this.removeHandles("sublayers-watcher");const e=this.layer;this.addHandles(d((()=>e.sublayers),(()=>this._constructLegendElementsForBuildingSceneLayer())),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForBuildingSublayers(e.sublayers,this.opacity),this.notifyChange("ready")}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}}async _generateLegendElementsForBuildingSublayers(e,t){let l=[];this.addHandles(e.on("change",(()=>this._constructLegendElementsForBuildingSceneLayer())),"sublayers-watcher");const s=e.toArray();for(const r of s){const e=d((()=>["renderer"in r&&r.renderer,r.opacity,r.title,r.visible]),(()=>this._constructLegendElementsForBuildingSceneLayer()));if(this.addHandles(e,"sublayers-watcher"),!this.respectLayerVisibility||r.visible){const e=r&&null!=r.opacity?r.opacity:null,s=null!=e?e*t:t;if("building-group"===r.type){const e={type:"symbol-table",title:r.title,infos:[]},t=await this._generateLegendElementsForBuildingSublayers(r.sublayers,s);e.infos.push(...t),l=[e,...l]}else if(r.renderer){l=[...await this._getRendererLegendElements(r.renderer,{title:r.title,opacity:s,sublayer:r}),...l]}}}return l.filter((e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0)))}async _constructLegendElementsForSublayers(){this.legendElements=[],this.removeHandles("sublayers-watcher");const e=this.layer;if(je(e)||Pe(e)||Te(e)){this.addHandles(d((()=>e.sublayers),(()=>this._constructLegendElementsForSublayers)),"sublayers-watcher");try{this.legendElements=await this._generateLegendElementsForSublayers(e.sublayers,this.opacity),this.notifyChange("ready")}catch(t){o.getLogger(this).warn("Request to server for legend has failed!",t)}}}async _generateLegendElementsForSublayers(e,t,l){const s=this.layer;let r=[];this.addHandles(e.on("change",(()=>this._constructLegendElementsForSublayers())),"sublayers-watcher");let n=e.toArray();!l&&this.sublayerIds&&this.sublayerIds.length&&(n=Te(s)?this.sublayerIds.map((e=>s.findSublayerForSubtypeCode(e))).filter(i):this.sublayerIds.map((e=>s.findSublayerById(e))).filter(i));for(const i of n){const e=d((()=>[i.renderer,i.opacity,i.title,i.visible,i.legendEnabled]),(()=>this._constructLegendElementsForSublayers()));if(this.addHandles(e,"sublayers-watcher"),!this.respectLayerVisibility||i.visible&&i.legendEnabled&&this._isSublayerInScale(i)){const e=i&&null!=i.opacity?i.opacity:null,s=null!=e?e*t:t,n=!Ne(i)||i.originIdOf("renderer")>b.SERVICE&&!i.sublayers;if(i.renderer&&n){await i.load();r=[...await this._getRendererLegendElements(i.renderer,{title:i.title,opacity:s,sublayer:i}),...r]}else if(Ne(i)){const e=await this._generateSymbolTableElementForSublayer(i,s,l);e&&r.unshift(e)}}}return r.filter((e=>!!e&&(!("infos"in e)||!e.infos||e.infos.length>0)))}async _generateSymbolTableElementForSublayer(e,t,l){if(!l){l=new Map;const t=this.layer,s=e.source;let r=null;if(!(!s||"map-layer"===s.type&&s.mapLayerId===e.id&&(!s.gdbVersion||s.gdbVersion===("gdbVersion"in t&&t.gdbVersion)))||e.originIdOf("renderer")>b.SERVICE||e.originIdOf("labelingInfo")>b.SERVICE||e.originIdOf("labelsVisible")>b.SERVICE){const e=new w({layer:this.layer});r=e.hasDynamicLayers?e.dynamicLayers:null,e.destroy()}const i=r||`${t.uid}-default`;(await this._getLegendLayers(i,r)).forEach((e=>l.set(e.layerId,e)))}const s=l.get(e.id);if((!s||s?.subLayerIds&&s.defaultVisibility)&&e.sublayers){const s=await this._generateLegendElementsForSublayers(e.sublayers,t,l);return{type:"symbol-table",title:e.title,infos:s}}return this._generateSymbolTableElementForLegendLayer(s,e,t)}_generateSymbolTableElementForLegendLayer(e,t,l){if(!e||!e.legend||this.respectLayerVisibility&&!this._isLegendLayerInScale(e,t))return null;const s=t?.renderer;let r=t?.title||e.layerName;if(s&&(!t||t?.originIdOf("renderer")>b.SERVICE)){const e=t?.title||this._getRendererTitle(s,t);e&&(r&&"string"!=typeof e&&"title"in e&&(e.title=r),r=e)}const i={type:"symbol-table",title:r,legendType:e.legendType||null,infos:[]},n=t?this._sanitizeLegendForSublayer(e.legend.slice(),t):e.legend;return e.legendGroups&&e.legendGroups.length>0?e.legendGroups.forEach((t=>{const s={type:"symbol-table",title:t.heading,legendType:e.legendType||null,infos:this._generateSymbolTableElementInfosForLegendLayer(n.filter((e=>e.groupId===t.id)),e.layerId,l)};s.infos?.length>0&&i.infos.push(s)})):i.infos=this._generateSymbolTableElementInfosForLegendLayer(n,e.layerId,l),i.infos.length>0?i:null}_generateSymbolTableElementInfosForLegendLayer(e,t,s){return e.map((e=>{let r=e.url;if(e.imageData&&e.imageData.length>0)r=`data:image/png;base64,${e.imageData}`;else{if(0===r.indexOf("http"))return null;r=l(`${this.layer.url}/${t}/images/${r}`)}return{label:e.label,src:r,opacity:s??this.opacity,width:e.width,height:e.height}})).filter(i)}_isSublayerInScale(e){const t=e.minScale||0,l=e.maxScale||0;return!(t>0&&t<this.scale||l>this.scale)}_isLegendLayerInScale(e,t){const l=t||this.layer;let s=null,r=null,i=!0;return!l.minScale&&0!==l.minScale||!l.maxScale&&0!==l.maxScale?(0===e.minScale&&l.tileInfo&&(s=l.tileInfo.lods[0].scale),0===e.maxScale&&l.tileInfo&&(r=l.tileInfo.lods[l.tileInfo.lods.length-1].scale)):(s=Math.min(l.minScale,e.minScale)||l.minScale||e.minScale,r=Math.max(l.maxScale,e.maxScale)),(s>0&&s<this.scale||r>this.scale)&&(i=!1),i}_sanitizeLegendForSublayer(e,t){if("version"in this.layer&&+this.layer.version<10.1||0===e.length)return e;const l=t.renderer,s=e.some((e=>e.values));let r=0,i=null;return s&&e.some(((e,t)=>(e.values||(r=t,i=e,i.label||(i.label="others")),null!=i))),l?"unique-value"===l.type?i&&(e.splice(r,1),e.push(i)):"class-breaks"===l.type&&(i&&e.splice(r,1),e.reverse(),i&&e.push(i)):i&&(e.splice(r,1),e.push(i)),e}async _getRendererLegendElements(e,t={}){if(!Fe(e,this.view))return o.getLogger(this).warn(`Renderer of type '${e.type}' not supported!`),[];if(we(e))return this._constructPointCloudRendererLegendElements(e,t);if(Ie(e))return this._constructDotDensityRendererLegendElements(e);const l=await this._loadRenderer(e);return Re(l)?this._constructPieChartRendererLegendElements(l):this._constructRendererLegendElements(l,t)}async _getLegendElementsForFeatureReduction(e){let t=null;return"binning"===e.type?t=e.renderer:"cluster"===e.type&&(t=this._getClusterRenderer(e)),t?this._getRendererLegendElements(t):[]}_getPointCloudRendererTitle(e){return(e.legendOptions?.title||e.field)??""}async _constructPointCloudRendererLegendElements(e,t={}){const l=t.title,s=[];let r=null,i=null;if(ve(e))r={type:"symbol-table",title:l||this._getPointCloudRendererTitle(e),infos:[]},e.colorClassBreakInfos.forEach((e=>{r.infos.unshift({label:e.label||e.minValue+" - "+e.maxValue,value:[e.minValue,e.maxValue],symbol:this._getAppliedCloneSymbol(ce,e.color)})}));else if(Ee(e)){const t=e.stops;let s=null;if(t?.length&&(1===t.length&&(s=t[0].color),!s)){const e=t[0].value,l=t[t.length-1].value;if(null!=e&&null!=l){s=A(e+(l-e)/2,t)}}r={type:"symbol-table",title:null,infos:[{label:null,value:null,symbol:this._getAppliedCloneSymbol(ce,s||ce.color)}]};const n=M(e.stops??[])??[];i={type:"color-ramp",title:l||this._getPointCloudRendererTitle(e),infos:n,preview:z(n.map((e=>e.color)),{ariaLabel:await qe("previewColorRampAriaLabel")})}}else Ce(e)&&(r={type:"symbol-table",title:l||this._getPointCloudRendererTitle(e),infos:[]},e.colorUniqueValueInfos?.forEach((e=>{r.infos.push({label:e.label||e.values.join(", "),value:e.values.join(", "),symbol:this._getAppliedCloneSymbol(ce,e.color)})})));r&&r.infos.length&&s.push(r),i&&i.infos.length&&s.push(i);const n=s.reduce(((e,t)=>[...e,...t.infos??[]]),[]).filter((e=>!!e.symbol)).map((t=>this._getSymbolPreview(t,this.opacity,{symbolConfig:{applyColorModulation:!!e.colorModulation}})));return await Promise.allSettled(n),s}async _getElementInfoForDotDensity(e,t){const{color:l,label:s,valueExpressionTitle:r}=t,{backgroundColor:i,outline:n,dotSize:a}=e,o=this.effectList,u=o?.effects.map((e=>e.toJSON())),c=_(u),d=await qe("previewTemplateAriaLabel",s||r),y=a+"-"+l+"-"+i+"-"+(n&&JSON.stringify(n.toJSON()))+"-"+c,h=this._dotDensityUrlCache,m=h.has(y)?h.get(y):x(e,l,{ariaLabel:d});h.set(y,m);const p={shape:{type:"image",x:0,y:0,width:m.width,height:m.height,src:m.src},fill:null,stroke:null,offset:[0,0]},f=T([[p]],[m.width,m.height],{effectView:this.effectList,ariaLabel:d});return{opacity:1,src:m.src,preview:f,width:m.width,height:m.height}}async _constructDotDensityRendererLegendElements(e){const t=e.calculateDotValue(this.view.scale),l=e.legendOptions&&e.legendOptions.unit,s={type:"symbol-table",title:{value:t&&Math.round(t),unit:l||""},infos:[]};for(const r of e.attributes){const t=await this._getElementInfoForDotDensity(e,r);t.label=r.label||r.valueExpressionTitle||r.field,s.infos.push(t)}return[s]}async _constructPieChartRendererLegendElements(e){const t=this.layer.opacity,l=[];let s=null;const r=e.outline;e.attributes.forEach((e=>{const t=new ee({color:e.color,outline:r}),s=e.label||e.valueExpressionTitle||e.field;l.push({label:s,symbol:t})}));const i=l.length?[...l]:[];if(e.othersCategory?.color&&0!==e.othersCategory?.threshold){const t=new ee({color:e.othersCategory.color,outline:r});s=e.othersCategory.label||"Other",l.push({label:s,symbol:t})}if(e.defaultColor?.a){const t=new ee({color:e.defaultColor,outline:r});l.push({label:e.defaultLabel,symbol:t})}const n=await this._getVisualVariableLegendElements(e,this.layer)||[];if(l.length){n.unshift({type:"symbol-table",title:null,infos:l});const t=i.filter((e=>e.label!==s)).map((e=>e.symbol.color)).filter(Boolean),a=D(t,{holePercentage:e.holePercentage,backgroundColor:e.backgroundFillSymbol?.color,effectList:this.effectList,outline:r,ariaLabel:await qe("previewPieChartAriaLabel")});n.unshift({type:"pie-chart-ramp",title:this._getRendererTitle(e,this.layer),infos:l,preview:a})}const a=n.reduce(((e,t)=>[...e,...this._getAllInfos(t)]),[]).filter((e=>!!e?.symbol&&!e?.preview)).map((e=>this._getSymbolPreview(e,t,{effectList:this.effectList})));return await Promise.allSettled(a),n}async _constructRendererLegendElements(e,t={}){const{title:l,sublayer:s}=t,r=s||this.layer;this._hasColorRamp=!1,this._hasOpacityRamp=!1,this._hasSizeRamp=!1,this._scaleDrivenSizeVariable=null;const i=await this._getVisualVariableLegendElements(e,r)||[],n={type:"symbol-table",title:l||this._getRendererTitle(e,r),infos:[]};let a=null,o=!1;const u=new Set;if(ye(e)&&!this._hasSizeRamp){const t=await Q(e);n.infos.push({label:null,symbol:t})}else if(Be(e)){let t=l;const s=Ue(e)?"univariate-above-and-below-ramp":"univariate-color-size-ramp",r=i.findIndex((e=>"color-ramp"===e.type)),n=-1!==r?i.splice(r,1)[0]:null,a=i.findIndex((e=>"size-ramp"===e.type)),o=-1!==a?i.splice(a,1)[0]:null,u=[];n&&(t=n.title,u.push(n)),o&&(t=o.title,u.push(o)),u.length>0&&i.push({type:s,title:t,infos:u})}else if(_e(e)){const t=U(e);i.push({type:"heatmap-ramp",title:l||this._getRendererTitle(e,r),infos:t,preview:z(t.map((e=>e.color)),{effectList:this.effectList,ariaLabel:await qe("previewColorRampAriaLabel")})})}else if(Se(e)){const t=e&&e.authoringInfo;if(t&&"relationship"===t.type){const{numClasses:l,field1:s,field2:a}=t,o=t.focus;if(l&&s&&a){const t=[s,a];let c=N(o)||0;for(const e of t){const{field:t,normalizationField:l,label:s}=e,i=s||{field:this._getFieldAlias(t,r),normField:l&&this._getFieldAlias(l,r)},a=He.clone();a.angle=c,n.infos.push({label:i,symbol:a}),u.add(a),c+=90}const d=q({focus:o,numClasses:l,infos:e.uniqueValueInfos??[]});i.unshift(d)}}else if(Oe(this.layer)||Ae(this.layer))e.uniqueValueInfos?.forEach((e=>{e.symbol&&n.infos.push({label:e.label||e.value,value:e.value,symbol:e.symbol})}));else{const{field:t,field2:s,field3:i,fieldDelimiter:a,valueExpression:u,defaultSymbol:c}=e,d=!(!t&&!u||!s&&!i),y=[];if(e.uniqueValueGroups?.forEach((e=>{const l={type:"symbol-table",title:e.heading,infos:[]};e.classes?.forEach((e=>{const{symbol:n,values:o}=e;if(n){const c=[],y=[];for(const e of o??[]){const{value:l,value2:n,value3:o}=e,h=[],m=[];(t||u)&&(h.push(l),m.push(this._getDomainName(t,l,r))),s&&(h.push(n),m.push(this._getDomainName(s,n,r))),i&&(h.push(o),m.push(this._getDomainName(i,o,r))),c.push(d?h.join(a||""):h[0]),y.push(m.join(" - "))}const h=c.join(", ");let m=e.label;if(!m){const e=y.filter(Boolean);m=e.length?e.join(", "):h}l.infos.push({label:m,value:h,symbol:n})}})),l.infos.length&&y.push(l)})),y.length){const t=y[0];1===y.length&&"title"in t&&!t.title?n.infos.push(...t.infos??[]):(c&&(y.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:c}]}),o=!0),n.infos.push(...y)),l||e.legendOptions&&e.legendOptions.title||e.valueExpressionTitle||(n.title=null)}}e.defaultSymbol&&!o&&(n.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),o=!0)}else if(be(e)){a=this._isUnclassedRenderer(e);(!a||!this._hasSizeRamp)&&(e.classBreakInfos.forEach((e=>{e.symbol&&n.infos.unshift({label:e.label||(a?null:e.minValue+" - "+e.maxValue),value:[e.minValue,e.maxValue],symbol:e.symbol})})),a&&(n.title=null),this._updateInfosforClassedSizeRenderer(e,n.infos)),e.defaultSymbol&&!a&&(n.infos.push({label:e.defaultLabel||"others",symbol:e.defaultSymbol}),o=!0)}else if(pe(e))if(Ae(this.layer)||Me(this.layer)){const t=await this._constructTileImageryStretchRendererElements(e);ke(t)?i.push(t):n.infos=t}else{const t=this.layer;let l,s;if(e.statistics?.length){const t=e.statistics[0];K(t)?(l=t.min,s=t.max):[l,s]=t}let r=[],a=t.serviceRasterInfo;if(t.rasterFunction)try{a=await t.generateRasterInfo(t.rasterFunction)}catch{}const o=a.keyProperties.BandProperties,u=E(a.pixelType);if(1===a.bandCount){const r=t.bandIds?.[0]||0;l=null!=l?l:a.statistics?a.statistics[r].min:u[0],s=null!=s?s:a.statistics?a.statistics[r].max:u[1],l||s?i.push(await this._getStretchLegendElements(e,{min:l,max:s})):this._getServerSideLegend()}else t.bandIds&&1===t.bandIds.length?(l=null!=l?l:a.statistics?a.statistics[t.bandIds[0]].min:u[0],s=null!=s?s:a.statistics?a.statistics[t.bandIds[0]].max:u[1],l||s?i.push(await this._getStretchLegendElements(e,{min:l,max:s})):this._getServerSideLegend()):a.bandCount>=3?o&&o.length>=a.bandCount?t.bandIds&&3===t.bandIds.length?(r=t.bandIds.map((e=>o[e].BandName)),n.infos=this._createSymbolTableElementMultiBand(r)):"lerc"===t.format?(r=[0,1,2].map((e=>o[e].BandName)),n.infos=this._createSymbolTableElementMultiBand(r)):this._getServerSideLegend():"lerc"===t.format?(r=["band1","band2","band3"],n.infos=this._createSymbolTableElementMultiBand(r)):this._getServerSideLegend():this._getServerSideLegend()}else if(me(e))e.colormapInfos.forEach((e=>{n.infos.push({label:e.label,value:e.value,symbol:this._getAppliedCloneSymbol(de,e.color)})}));else if(ge(e)){let l=e.symbol;switch(t.geometryType){case"point":l="pointSymbol"in r?r.pointSymbol:null;break;case"polyline":l="lineSymbol"in r?r.lineSymbol:null;break;case"polygon":l="polygonSymbol"in r?r.polygonSymbol:null}const s=this._hasClusterSizeVariable&&this._getClusterSymbol()||!this._hasSizeRamp;e.symbol&&s&&n.infos.push({label:e.label,symbol:l})}else if(he(e)){e.outputUnit&&(this.title="("+e.toJSON().outputUnit+")"),n.title=e.attributeField;const t=e.getClassBreakInfos();t?.length?t.forEach((e=>{n.infos.push({label:e.minValue+" - "+e.maxValue,symbol:e.symbol})})):n.infos.push({label:e.attributeField,symbol:e.getDefaultSymbol()})}else fe(e)&&i.push(await this._getStretchLegendElements(e,{min:0,max:255}));const c=e.defaultSymbol;!c||o||ge(e)||a&&!this._hasColorRamp&&!this._hasSizeRamp&&!this._hasOpacityRamp||i.push({type:"symbol-table",infos:[{label:e.defaultLabel||"others",symbol:c}]}),n.infos.length&&i.unshift(n);const d=null==t.opacity?this.opacity:t.opacity,y=this._isTallSymbol("visualVariables"in e?e.visualVariables:null),h=Oe(this.layer)||Ae(this.layer),m=i.reduce(((e,t)=>[...e,...this._getAllInfos(t)]),[]).filter((e=>!!e?.symbol)).filter((e=>{if("cim"===e.symbol.type){const{minScale:t,maxScale:l}=e.symbol.data;if(t&&t<this.scale||l&&l>this.scale)return!1}return!0})).map((e=>this._getSymbolPreview(e,d,{isDefault:e.symbol===c,applyScaleDrivenSize:!u.has(e.symbol),symbolConfig:{isTall:y,isSquareFill:h},effectList:u.has(e.symbol)?null:this.effectList})));return e=null,await Promise.allSettled(m),i}_getServerSideLegend(){setTimeout((()=>this.buildLegendElementsForTools()),0)}_getAllInfos(e){const t=e?.infos;return t?t.reduce(((e,t)=>e.concat(this._getAllInfos(t))),[]):[e]}async _constructTileImageryStretchRendererElements(e){const t=this.layer,l=t.symbolizer.rasterInfo??t.raster.rasterInfo,s=l.bandCount||e.statistics.length;let r,i,n=[];const a=l.keyProperties&&l.keyProperties.BandProperties,o=e?.statistics?.length?e.statistics:l?.statistics;if(o){const e=o[0];K(e)?(r=e.min,i=e.max):[r,i]=e}else{const e=E(l.pixelType);r=e[0],i=e[1]}if(t.hasStandardTime()&&(r=t.getStandardTimeValue(r),i=t.getStandardTimeValue(i)),1===l.bandCount||1===t.bandIds?.length)return this._getStretchLegendElements(e,{min:r,max:i});function u(e){const s=(t?.bandIds?.length?t.bandIds:Array.from(Array(Math.min(l.bandCount,3)).keys())).map((t=>e&&e[t]&&e[t].BandName||"band"+(t+1)));return s.length<3?s.push(s[1]):s.length>3&&s.splice(3),s}return n=a&&a.length>=s?u(a):u(),this._createSymbolTableElementMultiBand(n)}async _getStretchLegendElements(e,t){const l=e.colorRamp,s=k(l,t);return{type:"stretch-ramp",title:"",infos:s,preview:z(s.map((e=>e.color)),{ariaLabel:await qe("previewColorRampAriaLabel")})}}_getClusterSymbol(){const e=this.layer,t="featureReduction"in e&&e.featureReduction,l=t&&"symbol"in t&&t.renderer;return l&&!0!==l?.authoringInfo?.isAutoGenerated?null:t&&"symbol"in t?t.symbol:null}async _getSizeLegendElement(e,t,l,s){return{type:"size-ramp",title:this._hasClusterSizeVariable?this._getClusterTitle(t):e,infos:await H(l,t,await X(l),this.scale,this.view.type,!!s,this._hasClusterSizeVariable?this._getClusterSymbol():null)}}_createSymbolTableElementMultiBand(e){const t=[],l=["red","green","blue"];return e.forEach(((e,s)=>{t.push({label:{colorName:l[s],bandName:e},src:Y[s],opacity:this.opacity??1})})),t}_updateInfosforClassedSizeRenderer(e,t){const l=e.authoringInfo&&"class-breaks-size"===e.authoringInfo.type,s=e.classBreakInfos.some((e=>P(e.symbol)));if(l&&s){const l=$,s=W,r=e.classBreakInfos.length,i=(l-s)/(r>1?r-1:r);t.forEach(((e,t)=>{e.size=l-i*t}))}}_isTallSymbol(e){let t=!1,l=!1;if(e)for(let s=0;s<e.length&&(!t||!l);s++){const r=e[s];"size"===r.type&&("height"===r.axis&&(t=!0),"width-and-depth"===r.axis&&(l=!0))}return t&&l}async _getSymbolPreview(e,t,l){let s=!l?.isDefault&&null==e.size&&this._hasSizeRamp?m(V.size):e.size;if(this._scaleDrivenSizeVariable&&l?.applyScaleDrivenSize){const{getSize:t}=await import("../../../renderers/visualVariables/support/visualVariableUtils.js");s=t(this._scaleDrivenSizeVariable,null,{view:this.view.type,scale:this.scale,shape:"simple-marker"===e.symbol.type?e.symbol.style:null})}const r=!l?.isDefault&&this._hasSizeRamp||!(!this._scaleDrivenSizeVariable||!l?.applyScaleDrivenSize);return j(e.symbol,{size:s,opacity:t,scale:!1,symbolConfig:l?.symbolConfig,effectView:l?.effectList,style:"legend",cimOptions:{allowScalingUp:r},ariaLabel:e.label&&"string"!=typeof e.label?null:await qe("previewTemplateAriaLabel",e.label)}).then((t=>(e.preview=t,e))).catch((()=>(e.preview=null,e)))}_getClusterRenderer(e){this._hasClusterSizeVariable=!1;const t="renderer"in this.layer?this.layer.renderer:null,l=e.renderer?.clone()||t?.clone(),s=O(this.layerView._effectiveRenderer,this.view);if(s&&null!=l&&"visualVariables"in l){const t=l.visualVariables?.some((e=>"size"===e.type&&"outline"!==e.target&&!oe.test(e.valueExpression)));if(!t){if("clusterMinSize"in e&&"clusterMaxSize"in e){const{clusterMinSize:t,clusterMaxSize:l}=e;s.legendOptions=new R({showLegend:t!==l})}const t=l.visualVariables||[];l.visualVariables=t.concat([s]),this._hasClusterSizeVariable=!0}}return l}async _loadRenderer(e){const t=[],l=e.clone(),s=await X(l);if(be(l)||Se(l)){const e=(l.classBreakInfos||l.uniqueValueInfos).map((e=>this._fetchSymbol(e.symbol,s).then((t=>{e.symbol=t})).catch((()=>{e.symbol=null}))));Array.prototype.push.apply(t,e)}return t.push(this._fetchSymbol(l.symbol||l.defaultSymbol,l.defaultSymbol?null:s).then((e=>{this._applySymbolToRenderer(l,e,ge(l))})).catch((()=>{this._applySymbolToRenderer(l,null,ge(l))}))),await Promise.allSettled(t),l}_applySymbolToRenderer(e,t,l){l?e.symbol=t:e.defaultSymbol=t}async _fetchSymbol(e,t){if(!e)throw new Error;if("web-style"===e.type){const l=this._webStyleSymbolCache;try{const s=await("2d"===this.view.type?e.fetchCIMSymbol({cache:l}):e.fetchSymbol({cache:l}));return this._getAppliedCloneSymbol(s,t)}catch{throw o.getLogger(this).warn("Fetching web-style failed!"),new Error}}return this._getAppliedCloneSymbol(e,t)}_getAppliedCloneSymbol(e,l){if(!e||!l)return e;const s=e.clone(),r=l&&l.toRgba();return s.type.includes("3d")?this._applyColorTo3dSymbol(s,r):"cim"===s.type?F(s,l):s.color&&(s.color=new t(r||s.color)),s}_applyColorTo3dSymbol(e,l){l&&e.symbolLayers.forEach((e=>{e&&(e.material||(e.material={}),e.material.color=new t(l))}))}async _getVisualVariableLegendElements(e,t){if(!("visualVariables"in e)||!e.visualVariables||"vector-field"===e.type)return null;const l=e.visualVariables,s=[],r=[],n=[];for(const i of l)"color"===i.type?s.push(i):"size"===i.type?r.push(i):"opacity"===i.type&&n.push(i);const a=[...s,...r,...n];let o,u;if(0===s.length&&be(e)&&e.classBreakInfos&&1===e.classBreakInfos.length){const t=e.classBreakInfos[0];o=t&&t.symbol}if(0===s.length&&ge(e)&&(o=e.symbol),o)if(o.type.includes("3d")){const e=o.symbolLayers.at(0);"water"===e.type?null!=e.color&&(u=e.color):null!=e.material&&null!=e.material.color&&(u=e.material.color)}else o.url||(u=o.color);const c=this.effectList;return(await Promise.all(a.map((async l=>{if(!l.legendOptions||!1!==l.legendOptions.showLegend){const s=ye(e)?l.field:this._getRampTitle(l,t);let r=null;const i="getField"in t?t.getField?.(l.field):null,n=i&&L(i);if("color"===l.type){const e=await B(l,null,n)??[];r={type:"color-ramp",title:s,infos:e,preview:z(e.map((e=>e.color)),{effectList:c,ariaLabel:await qe("previewColorRampAriaLabel")})},this._hasColorRamp||(this._hasColorRamp=e.length>0)}else if("size"===l.type&&"outline"!==l.target)oe.test(l.valueExpression)?this._hasClusterSizeVariable||(this._scaleDrivenSizeVariable=l):(r=await this._getSizeLegendElement(s,l,e,n),this._hasSizeRamp||(this._hasSizeRamp=!(null==r.infos||!r.infos.length)));else if("opacity"===l.type){const e=await B(l,u,n)??[];r={type:"opacity-ramp",title:s,infos:e,preview:z(e.map((e=>e.color)),{effectList:c,ariaLabel:await qe("previewColorRampAriaLabel")})},this._hasOpacityRamp||(this._hasOpacityRamp=e.length>0)}return r&&r.infos?r:null}})))).filter(i)}_getDomainName(e,t,l){if(e&&"function"!=typeof e){const s="getField"in l&&l.getField&&l.getField(e),r=s&&"getFieldDomain"in l&&l.getFieldDomain?l.getFieldDomain(s.name):null;return"coded-value"===r?.type?r.getName(t):null}return null}_getClusterTitle(e){const t=this.layer,l=e.field;if("featureReduction"in t&&t.featureReduction&&"cluster"===t.featureReduction.type){const e=t.featureReduction,s="popupTemplate"in e&&e.popupTemplate,r=s&&s.fieldInfos;if(r)for(const t of r)if(t.fieldName===l)return"cluster_count"===l?t.label||{showCount:!0}:t.label}return{showCount:!0}}_getRampTitle(e,t){let l=e.field,s=e.normalizationField,r=!1,i=!1,n=!1,a=null;l="function"==typeof l?null:l,s="function"==typeof s?null:s;const o=e.legendOptions&&e.legendOptions.title;if(null!=o)a=o;else if(e.valueExpressionTitle)a=e.valueExpressionTitle;else{if("renderer"in t&&t.renderer&&"authoringInfo"in t.renderer&&t.renderer.authoringInfo&&t.renderer.authoringInfo.visualVariables){const e=t.renderer.authoringInfo.visualVariables;for(let t=0;t<e.length;t++){const l=e[t];if("color"===l.type){if("ratio"===l.style){r=!0;break}if("percent"===l.style){i=!0;break}if("percent-of-total"===l.style){n=!0;break}}}}a={field:l&&this._getFieldAlias(l,t),normField:s&&this._getFieldAlias(s,t),ratio:r,ratioPercent:i,ratioPercentTotal:n}}return a}_getRendererTitle(e,t){const l=e;if(l.legendOptions&&l.legendOptions.title)return l.legendOptions.title;if(l.valueExpressionTitle)return l.valueExpressionTitle;let s=l.field,r=null,i=null;if(be(l)&&(r=l.normalizationField,i="percent-of-total"===l.normalizationType),s="function"==typeof s?null:s,r="function"==typeof r?null:r,Se(l)){const{field2:e,field3:r,fieldDelimiter:i}=l;let n=s&&this._getFieldAlias(s,t);return e&&(n=`<${n}>${i}<${this._getFieldAlias(e,t)}>`,r&&(n=`${n}${i}<${this._getFieldAlias(r,t)}>`)),n}let n=null;return(s||r)&&(n={field:s&&this._getFieldAlias(s,t),normField:r&&this._getFieldAlias(r,t),normByPct:i}),n}_getFieldAlias(e,t){const l="popupTemplate"in t?t.popupTemplate:null,s=l?.fieldInfos;let r;s&&s.some((t=>e===t.fieldName&&(r=t,!0)));let i=null;"getField"in t&&t.getField?i=t.getField(e):"fieldsIndex"in t&&t.fieldsIndex&&(i=t.fieldsIndex.get(e));let n=null;const a="featureReduction"in t&&t.featureReduction;a&&(!r&&"popupTemplate"in a&&a.popupTemplate&&a.popupTemplate.fieldInfos&&a.popupTemplate.fieldInfos.some((t=>e?.toLowerCase()===t.fieldName?.toLowerCase()&&(r=t,!0))),"fields"in a&&a.fields&&(n=a.fields.find((t=>t.name?.toLowerCase()===e?.toLowerCase()))));const o=r||i||n;let u=null;return o&&(u=r?.label||i?.alias||n?.alias||"name"in o&&o.name||"fieldName"in o&&o.fieldName||null),u}_isUnclassedRenderer(e){const t=e.visualVariables;let l=!1;return be(e)&&e.classBreakInfos&&1===e.classBreakInfos.length&&t&&(l=e.field?t.some((t=>!(!t||e.field!==t.field||(e.normalizationField||t.normalizationField)&&e.normalizationField!==t.normalizationField))):!!t.length),l}};e([f()],We.prototype,"children",void 0),e([f({readOnly:!0})],We.prototype,"effectList",null),e([f()],We.prototype,"layerView",void 0),e([f()],We.prototype,"layer",void 0),e([f()],We.prototype,"legendElements",void 0),e([f({readOnly:!0})],We.prototype,"opacity",null),e([f()],We.prototype,"parent",void 0),e([f({readOnly:!0,dependsOn:[]})],We.prototype,"ready",null),e([f()],We.prototype,"hideLayersNotInCurrentView",void 0),e([f()],We.prototype,"keepCacheOnDestroy",void 0),e([f()],We.prototype,"respectLayerVisibility",void 0),e([f({readOnly:!0})],We.prototype,"scale",null),e([f()],We.prototype,"sublayerIds",void 0),e([f({readOnly:!0})],We.prototype,"isScaleDriven",null),e([f()],We.prototype,"title",void 0),e([f({readOnly:!0,dependsOn:["ready"],value:0})],We.prototype,"version",null),e([f()],We.prototype,"view",void 0),We=e([g("esri.widgets.Legend.support.ActiveLayerInfo")],We);const Ge=We;export{Ge as default};
package/widgets/Swipe.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import{eventKey as t}from"../core/events.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import n from"./Widget.js";import{globalCss as o}from"./support/globalCss.js";import{legacyIcon as s}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as a}from"./support/decorators/messageBundle.js";import{tsx as l}from"./support/jsxFactory.js";import d from"./Swipe/SwipeViewModel.js";const p="esri-swipe",c={base:p,widgetIcon:s.upDownArrows,baseDisabled:`${p}--disabled`,vertical:`${p}--vertical`,horizontal:`${p}--horizontal`,container:`${p}__container`,divider:`${p}__divider`,handle:`${p}__handle`,handleHidden:`${p}__handle--hidden`,handleIcon:`${p}__handle-icon`},h={handle:!0,divider:!0};let v=class extends n{constructor(e,t){super(e,t),this.disabled=!1,this.iconClass=c.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new d,this._pointerOffset=0,this._container=null,this._onContainerPointerDown=this._onContainerPointerDown.bind(this),this._onContainerPointerMove=this._onContainerPointerMove.bind(this),this._onContainerPointerUp=this._onContainerPointerUp.bind(this)}get direction(){return this.viewModel.direction}set direction(e){this.viewModel.direction=e}get dragLabel(){return this.messages?.dragLabel??""}set dragLabel(e){this._overrideIfSome("dragLabel",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get leadingLayers(){return this.viewModel.leadingLayers}set leadingLayers(e){this.viewModel.leadingLayers=e}get position(){return this.viewModel.position}set position(e){this.viewModel.position=e}get trailingLayers(){return this.viewModel.trailingLayers}set trailingLayers(e){this.viewModel.trailingLayers=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set visibleElements(e){this._set("visibleElements",{...h,...e})}get visibleElements(){return this._get("visibleElements")||h}render(){const{state:e,direction:t}=this.viewModel,i="disabled"===e||this.disabled,r={[o.disabled]:i,[c.baseDisabled]:i,[c.vertical]:"vertical"===t,[c.horizontal]:"horizontal"===t};return l("div",{class:this.classes(c.base,o.widget,r)},"disabled"===e?null:this._renderContainer())}_renderHandle(){const{direction:e}=this.viewModel,{visibleElements:t}=this,i={[s.dragHorizontal]:"vertical"===e,[s.dragVertical]:"horizontal"===e},r=this.classes(c.handle,!t.handle&&c.handleHidden);return l("div",{key:"handle",role:"presentation",class:r},l("span",{"aria-hidden":"true",class:this.classes(s.handleVertical,i)}))}_renderDivider(){const{visibleElements:e}=this;return e&&e.divider?l("div",{key:"divider",role:"presentation",class:c.divider}):null}_renderContent(){return[this._renderDivider(),this._renderHandle()]}_renderContainer(){const{disabled:e,dragLabel:t,viewModel:i}=this,{max:r,min:n,direction:o,position:s}=i,a=`${s}%`,d={top:"vertical"===o?a:void 0,left:"vertical"===o?void 0:a},p=this._renderContent();return l("div",e?{key:"container",role:"presentation",styles:d,class:c.container}:{tabIndex:0,key:"container",bind:this,afterCreate:this._afterContainerCreate,onkeydown:this._onContainerKeyDown,"touch-action":"none",role:"slider",title:t,"aria-label":t,"aria-orientation":o,"aria-valuemax":`${r}`,"aria-valuemin":`${n}`,"aria-valuenow":`${s}`,"aria-valuetext":a,styles:d,class:c.container},p)}_afterContainerCreate(e){this._container=e,e.addEventListener("pointerdown",this._onContainerPointerDown)}_calculatePointerOffset(e){const{direction:t}=this,i=e.target,r=("vertical"===t?i.clientHeight:i.clientWidth)/2,n=i.getBoundingClientRect(),o=e.clientX-n.left,s=e.clientY-n.top;this._pointerOffset="vertical"===t?s-r:o-r}_onContainerPointerDown(e){e.preventDefault(),this._container&&document.activeElement!==this.container&&this._container.focus(),this._calculatePointerOffset(e),document.addEventListener("pointerup",this._onContainerPointerUp),document.addEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerUp(e){e.preventDefault(),document.removeEventListener("pointerup",this._onContainerPointerUp),document.removeEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerMove(e){e.preventDefault();const{_pointerOffset:t,container:i,direction:r}=this,{clientX:n,clientY:o}=e,{top:s,left:a,width:l,height:d}=i.getBoundingClientRect(),p=("vertical"===r?o-s-t:n-a-t)/("vertical"===r?d:l)*100;this.position=p}_getKeyPosition(e){const i=t(e),{position:r}=this,{max:n,min:o,step:s,stepMultiplier:a,direction:l}=this.viewModel,d=s*a;["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"].includes(i)&&(e.preventDefault(),e.stopPropagation());if("vertical"===l?"ArrowDown"===i||"ArrowRight"===i:"ArrowUp"===i||"ArrowRight"===i){return r+(e.shiftKey?d:s)}if("vertical"===l?"ArrowUp"===i||"ArrowLeft"===i:"ArrowDown"===i||"ArrowLeft"===i){return r-(e.shiftKey?d:s)}if("Home"===i)return o;if("End"===i)return n;if("vertical"===l?"PageDown"===i:"PageUp"===i)return r+d;return("vertical"===l?"PageUp"===i:"PageDown"===i)?r-d:null}_onContainerKeyDown(e){const t=this._getKeyPosition(e);"number"==typeof t&&(this.position=t)}};e([i()],v.prototype,"direction",null),e([i()],v.prototype,"disabled",void 0),e([i()],v.prototype,"dragLabel",null),e([i()],v.prototype,"iconClass",void 0),e([i()],v.prototype,"icon",void 0),e([i()],v.prototype,"label",null),e([i()],v.prototype,"leadingLayers",null),e([i(),a("esri/widgets/Swipe/t9n/Swipe")],v.prototype,"messages",void 0),e([i()],v.prototype,"position",null),e([i()],v.prototype,"trailingLayers",null),e([i()],v.prototype,"view",null),e([i({type:d})],v.prototype,"viewModel",void 0),e([i()],v.prototype,"visibleElements",null),v=e([r("esri.widgets.Swipe")],v);const u=v;export{u as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{eventKey as t}from"../core/events.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import n from"./Widget.js";import{globalCss as o}from"./support/globalCss.js";import{legacyIcon as s}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as a}from"./support/decorators/messageBundle.js";import{tsx as l}from"./support/jsxFactory.js";import d from"./Swipe/SwipeViewModel.js";const p="esri-swipe",c={base:p,widgetIcon:s.upDownArrows,baseDisabled:`${p}--disabled`,vertical:`${p}--vertical`,horizontal:`${p}--horizontal`,container:`${p}__container`,divider:`${p}__divider`,handle:`${p}__handle`,handleHidden:`${p}__handle--hidden`,handleIcon:`${p}__handle-icon`},h={handle:!0,divider:!0};let v=class extends n{constructor(e,t){super(e,t),this.disabled=!1,this.iconClass=c.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new d,this._pointerOffset=0,this._container=null,this._onContainerPointerDown=this._onContainerPointerDown.bind(this),this._onContainerPointerMove=this._onContainerPointerMove.bind(this),this._onContainerPointerUp=this._onContainerPointerUp.bind(this)}get direction(){return this.viewModel.direction}set direction(e){this.viewModel.direction=e}get dragLabel(){return this.messages?.dragLabel??""}set dragLabel(e){this._overrideIfSome("dragLabel",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get leadingLayers(){return this.viewModel.leadingLayers}set leadingLayers(e){this.viewModel.leadingLayers=e}get position(){return this.viewModel.position}set position(e){this.viewModel.position=e}get trailingLayers(){return this.viewModel.trailingLayers}set trailingLayers(e){this.viewModel.trailingLayers=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set visibleElements(e){this._set("visibleElements",{...h,...e})}get visibleElements(){return this._get("visibleElements")||h}render(){const{state:e,direction:t}=this.viewModel,i="disabled"===e||this.disabled,r={[o.disabled]:i,[c.baseDisabled]:i,[c.vertical]:"vertical"===t,[c.horizontal]:"horizontal"===t};return l("div",{class:this.classes(c.base,o.widget,r)},"disabled"===e?null:this._renderContainer())}_renderHandle(){const{direction:e}=this.viewModel,{visibleElements:t}=this,i={[s.dragHorizontal]:"vertical"===e,[s.dragVertical]:"horizontal"===e},r=this.classes(c.handle,!t.handle&&c.handleHidden);return l("div",{key:"handle",role:"presentation",class:r},l("span",{"aria-hidden":"true",class:this.classes(c.handleIcon,i)}))}_renderDivider(){const{visibleElements:e}=this;return e&&e.divider?l("div",{key:"divider",role:"presentation",class:c.divider}):null}_renderContent(){return[this._renderDivider(),this._renderHandle()]}_renderContainer(){const{disabled:e,dragLabel:t,viewModel:i}=this,{max:r,min:n,direction:o,position:s}=i,a=`${s}%`,d={top:"vertical"===o?a:void 0,left:"vertical"===o?void 0:a},p=this._renderContent();return l("div",e?{key:"container",role:"presentation",styles:d,class:c.container}:{tabIndex:0,key:"container",bind:this,afterCreate:this._afterContainerCreate,onkeydown:this._onContainerKeyDown,"touch-action":"none",role:"slider",title:t,"aria-label":t,"aria-orientation":o,"aria-valuemax":`${r}`,"aria-valuemin":`${n}`,"aria-valuenow":`${s}`,"aria-valuetext":a,styles:d,class:c.container},p)}_afterContainerCreate(e){this._container=e,e.addEventListener("pointerdown",this._onContainerPointerDown)}_calculatePointerOffset(e){const{direction:t}=this,i=e.target,r=("vertical"===t?i.clientHeight:i.clientWidth)/2,n=i.getBoundingClientRect(),o=e.clientX-n.left,s=e.clientY-n.top;this._pointerOffset="vertical"===t?s-r:o-r}_onContainerPointerDown(e){e.preventDefault(),this._container&&document.activeElement!==this.container&&this._container.focus(),this._calculatePointerOffset(e),document.addEventListener("pointerup",this._onContainerPointerUp),document.addEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerUp(e){e.preventDefault(),document.removeEventListener("pointerup",this._onContainerPointerUp),document.removeEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerMove(e){e.preventDefault();const{_pointerOffset:t,container:i,direction:r}=this,{clientX:n,clientY:o}=e,{top:s,left:a,width:l,height:d}=i.getBoundingClientRect(),p=("vertical"===r?o-s-t:n-a-t)/("vertical"===r?d:l)*100;this.position=p}_getKeyPosition(e){const i=t(e),{position:r}=this,{max:n,min:o,step:s,stepMultiplier:a,direction:l}=this.viewModel,d=s*a;["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"].includes(i)&&(e.preventDefault(),e.stopPropagation());if("vertical"===l?"ArrowDown"===i||"ArrowRight"===i:"ArrowUp"===i||"ArrowRight"===i){return r+(e.shiftKey?d:s)}if("vertical"===l?"ArrowUp"===i||"ArrowLeft"===i:"ArrowDown"===i||"ArrowLeft"===i){return r-(e.shiftKey?d:s)}if("Home"===i)return o;if("End"===i)return n;if("vertical"===l?"PageDown"===i:"PageUp"===i)return r+d;return("vertical"===l?"PageUp"===i:"PageDown"===i)?r-d:null}_onContainerKeyDown(e){const t=this._getKeyPosition(e);"number"==typeof t&&(this.position=t)}};e([i()],v.prototype,"direction",null),e([i()],v.prototype,"disabled",void 0),e([i()],v.prototype,"dragLabel",null),e([i()],v.prototype,"iconClass",void 0),e([i()],v.prototype,"icon",void 0),e([i()],v.prototype,"label",null),e([i()],v.prototype,"leadingLayers",null),e([i(),a("esri/widgets/Swipe/t9n/Swipe")],v.prototype,"messages",void 0),e([i()],v.prototype,"position",null),e([i()],v.prototype,"trailingLayers",null),e([i()],v.prototype,"view",null),e([i({type:d})],v.prototype,"viewModel",void 0),e([i()],v.prototype,"visibleElements",null),v=e([r("esri.widgets.Swipe")],v);const u=v;export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- const e={anchor:"esri-widget__anchor",anchorDisabled:"esri-widget__anchor--disabled",button:"esri-button",buttonDisabled:"esri-button--disabled",buttonHalf:"esri-button--half",buttonSecondary:"esri-button--secondary",buttonSmall:"esri-button--small",buttonTertiary:"esri-button--tertiary",buttonThird:"esri-button--third",disabled:"esri-disabled",disabledElement:"esri-disabled-element",empty:"esri-widget__content--empty",emptyIllustration:"esri-widget__content-illustration--empty",heading:"esri-widget__heading",hidden:"esri-hidden",input:"esri-input",interactive:"esri-interactive",loader:"esri-widget__loader",loaderAnimation:"esri-widget__loader-animation",loaderText:"esri-widget__loader-text",menu:"esri-menu",menuHeader:"esri-menu__header",menuItem:"esri-menu__list-item",menuItemActive:"esri-menu__list-item--active",menuItemFocus:"esri-menu__list-item--focus",menuList:"esri-menu__list",noBookmarksIcon:"esri-widget__no-bookmark-icon",panel:"esri-widget--panel",primaryTick:"primary-tick",primaryTickAmPm:"primary-tick__ampm",primaryTickLabel:"primary-tick__label",rotating:"esri-rotating",secondaryTick:"secondary-tick",select:"esri-select",table:"esri-widget__table",widget:"esri-widget",widgetButton:"esri-widget--button",widgetButtonActive:"esri-widget--button-active",widgetDisabled:"esri-widget--disabled"};export{e as globalCss};
5
+ const e={anchor:"esri-widget__anchor",anchorDisabled:"esri-widget__anchor--disabled",button:"esri-button",buttonDisabled:"esri-button--disabled",buttonHalf:"esri-button--half",buttonSecondary:"esri-button--secondary",buttonSmall:"esri-button--small",buttonTertiary:"esri-button--tertiary",buttonThird:"esri-button--third",disabled:"esri-disabled",disabledElement:"esri-disabled-element",empty:"esri-widget__content--empty",emptyIllustration:"esri-widget__content-illustration--empty",heading:"esri-widget__heading",hidden:"esri-hidden",input:"esri-input",interactive:"esri-interactive",loader:"esri-widget__loader",loaderAnimation:"esri-widget__loader-animation",loaderText:"esri-widget__loader-text",menu:"esri-menu",menuHeader:"esri-menu__header",menuItem:"esri-menu__list-item",menuItemActive:"esri-menu__list-item--active",menuItemFocus:"esri-menu__list-item--focus",menuList:"esri-menu__list",noBookmarksIcon:"esri-widget__no-bookmark-icon",panel:"esri-widget--panel",panelHeightOnly:"esri-widget--panel-height-only",primaryTick:"primary-tick",primaryTickAmPm:"primary-tick__ampm",primaryTickLabel:"primary-tick__label",rotating:"esri-rotating",secondaryTick:"secondary-tick",select:"esri-select",table:"esri-widget__table",widget:"esri-widget",widgetButton:"esri-widget--button",widgetButtonActive:"esri-widget--button-active",widgetDisabled:"esri-widget--disabled"};export{e as globalCss};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4697],{65845:(e,t,r)=>{r.d(t,{D:()=>i});var a=r(81153);function i(e){e&&e.writtenProperties&&e.writtenProperties.forEach((({target:e,propName:t,newOrigin:r})=>{(0,a.l)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)}))}},81153:(e,t,r)=>{function a(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{l:()=>a})},64697:(e,t,r)=>{r.d(t,{save:()=>c,saveAs:()=>d});var a=r(64383),i=r(14661);const n="Image Service",o="imagery-layer-save",l="imagery-layer-save-as",s="imagery-tile-layer-save",p="imagery-tile-layer-save-as";function u(e){if("imagery"===e.type)return{isValid:!0};const{raster:t}=e;return{isValid:"RasterTileServer"===t?.datasetFormat&&("Raster"===t.tileType||"Map"===t.tileType),errorMessage:"imagery tile layer should be created from a tiled image service."}}function y(e){const t=e.layerJSON;return Promise.resolve(t&&Object.keys(t).length?t:null)}async function m(e,t){const{parsedUrl:r,title:a,fullExtent:n}=e;t.url=r.path,t.title||=a,t.extent=await(0,i.$o)(n),"imagery-tile"===e.type&&(0,i.qj)(t,i.Kz.TILED_IMAGERY)}async function c(e,t){const r="imagery"===e.type?o:s;return(0,a.a1)({layer:e,itemType:n,validateLayer:u,createItemData:y,errorNamePrefix:r},t)}async function d(e,t,r){const i="imagery"===e.type?l:p;return(0,a.po)({layer:e,itemType:n,validateLayer:u,createItemData:y,errorNamePrefix:i,newItem:t,setItemProperties:m},r)}},64383:(e,t,r)=>{r.d(t,{a1:()=>w,po:()=>g});var a=r(20102),i=r(65845),n=r(48522),o=r(15235),l=r(33516),s=r(14661);async function p(e){const{layer:t,errorNamePrefix:r,validateLayer:i}=e;await t.load(),function(e,t,r){const i=r(e);if(!i.isValid)throw new a.Z(`${t}:invalid-parameters`,i.errorMessage,{layer:e})}(t,r,i)}function u(e,t){return`Layer (title: ${e.title}, id: ${e.id}) of type '${e.declaredClass}' ${t}`}function y(e,t,r,i){if(e.type!==r)throw new a.Z(`${t}:portal-item-wrong-type`,`Portal item type should be "${r}"`,{item:e,layer:i})}function m(e,t,r){const{portalItem:i}=e;if(!i)throw new a.Z(`${t}:portal-item-not-set`,u(e,"requires the portalItem property to be set"));if(!i.loaded)throw new a.Z(`${t}:portal-item-not-loaded`,u(e,"cannot be saved to a portal item that does not exist or is inaccessible"));y(i,t,r,e)}function c(e,t,r,a){let i=o.default.from(e);return i.id&&(i=i.clone(),i.id=null),i.type??=r,i.portal??=n.Z.getDefault(),y(i,t,r,a),i}async function d(e,t,r){"beforeSave"in e&&"function"==typeof e.beforeSave&&await e.beforeSave();const i=e.write({},t);return function(e,t){let r=(e.messages??[]).filter((({type:e})=>"error"===e)).map((({name:e,message:t,details:r})=>new a.Z(e,t,r)));if(t?.ignoreUnsupported&&(r=r.filter((({name:e})=>"layer:unsupported"!==e&&"symbol:unsupported"!==e&&"symbol-layer:unsupported"!==e&&"property:unsupported"!==e&&"url:unsupported"!==e))),r.length>0)throw new a.Z("layer-write:unsupported","Failed to save layer due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:r})}(t,r),i}function f(e){(0,s.qj)(e,s.Kz.JSAPI),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}async function w(e,t){const{layer:r,createItemData:a,errorNamePrefix:n,itemType:o}=e;await p(e),m(r,n,o);const s=r.portalItem,u=(0,l.Y)(s),y=await d(r,u,t),c=await a({layer:r,layerJSON:y},s);return f(s),await s.update({data:c}),(0,i.D)(u),s}async function g(e,t){const{layer:r,createItemData:a,setItemProperties:n,newItem:o,errorNamePrefix:s,itemType:u}=e;await p(e);const y=c(o,s,u,r),m=(0,l.Y)(y),w=await d(r,m,t),g=await a({layer:r,layerJSON:w},y);return await n(r,y),f(y),await async function(e,t,r){const a=e.portal;await a.signIn(),await(a.user?.addItem({item:e,data:t,folder:r?.folder}))}(y,g,t),r.portalItem=y,(0,i.D)(m),y}},33516:(e,t,r)=>{r.d(t,{Y:()=>o,h:()=>n});var a=r(17452),i=r(48522);function n(e){return{origin:"portal-item",url:(0,a.mN)(e.itemUrl),portal:e.portal||i.Z.getDefault(),portalItem:e,readResourcePaths:[]}}function o(e){return{origin:"portal-item",messages:[],writtenProperties:[],url:e.itemUrl?(0,a.mN)(e.itemUrl):null,portal:e.portal||i.Z.getDefault(),portalItem:e}}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8062],{71592:(e,t,a)=>{a.d(t,{w:()=>u});var r=a(40330),n=a(3172),l=a(20102),i=a(95330),s=a(66677),o=a(48522),c=a(15235);async function u(e,t){const a=(0,s.Qc)(e);if(!a)throw new l.Z("invalid-url","Invalid scene service url");const u={...t,sceneServerUrl:a.url.path,layerId:a.sublayer??void 0};if(u.sceneLayerItem??=await async function(e){const t=(await y(e)).serviceItemId;if(!t)return null;const a=new c.default({id:t,apiKey:e.apiKey}),l=await async function(e){const t=r.id?.findServerInfo(e.sceneServerUrl);if(t?.owningSystemUrl)return t.owningSystemUrl;const a=e.sceneServerUrl.replace(/(.*\/rest)\/.*/i,"$1")+"/info";try{const t=(await(0,n.Z)(a,{query:{f:"json"},responseType:"json",signal:e.signal})).data.owningSystemUrl;if(t)return t}catch(e){(0,i.r9)(e)}return null}(e);null!=l&&(a.portal=new o.Z({url:l}));try{return a.load({signal:e.signal})}catch(e){return(0,i.r9)(e),null}}(u),null==u.sceneLayerItem)return d(u.sceneServerUrl.replace("/SceneServer","/FeatureServer"),u);const f=await async function({sceneLayerItem:e,signal:t}){if(!e)return null;try{const a=(await e.fetchRelatedItems({relationshipType:"Service2Service",direction:"reverse"},{signal:t})).find((e=>"Feature Service"===e.type))||null;if(!a)return null;const r=new c.default({portal:a.portal,id:a.id});return await r.load(),r}catch(e){return(0,i.r9)(e),null}}(u);if(!f?.url)throw new l.Z("related-service-not-found","Could not find feature service through portal item relationship");const p=await d(f.url,u);return p.portalItem=f,p}async function y(e){if(e.rootDocument)return e.rootDocument;const t={query:{f:"json",token:e.apiKey},responseType:"json",signal:e.signal};try{const a=await(0,n.Z)(e.sceneServerUrl,t);e.rootDocument=a.data}catch{e.rootDocument={}}return e.rootDocument}async function d(e,t){const a=(0,s.Qc)(e);if(!a)throw new l.Z("invalid-feature-service-url","Invalid feature service url");const r=a.url.path,i=t.layerId;if(null==i)return{serverUrl:r};const o=y(t),c=e=>{const a={query:{f:"json"},responseType:"json",authMode:e,signal:t.signal};return(0,n.Z)(r,a)},u=c("anonymous").catch((()=>c("no-prompt"))),[d,f]=await Promise.all([u,o]),p=f&&f.layers,h=d.data&&d.data.layers;if(!Array.isArray(h))throw new Error("expected layers array");if(Array.isArray(p)){for(let e=0;e<Math.min(p.length,h.length);e++)if(p[e].id===i)return{serverUrl:r,layerId:h[e].id}}else if(null!=i&&i<h.length)return{serverUrl:r,layerId:h[i].id};throw new Error("could not find matching associated sublayer")}},52104:(e,t,a)=>{a.d(t,{V:()=>n});var r=a(96187);async function n(e,t){const a=await(0,r.T)(e,t);a.layers=a.layers.filter(l);const n={serviceJSON:a};if((a.currentVersion??0)<10.5)return n;const i=await(0,r.T)(e+"/layers",t);return n.layersJSON={layers:i.layers.filter(l),tables:i.tables},n}function l(e){return!e.type||"Feature Layer"===e.type||"Oriented Imagery Layer"===e.type}},87344:(e,t,a)=>{a.d(t,{T:()=>r});const r={BingMapsLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(8153)]).then(a.bind(a,2723))).default,BuildingSceneLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(6569),a.e(1423),a.e(4165),a.e(3778),a.e(6404),a.e(8654),a.e(9238),a.e(6170),a.e(1241),a.e(8217),a.e(3554)]).then(a.bind(a,30223))).default,CSVLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(6569),a.e(1423),a.e(4165),a.e(3778),a.e(6404),a.e(8654),a.e(9238),a.e(3584)]).then(a.bind(a,45425))).default,DimensionLayer:async()=>(await Promise.all([a.e(163),a.e(9717)]).then(a.bind(a,40081))).default,ElevationLayer:async()=>(await Promise.all([a.e(163),a.e(6569),a.e(9016),a.e(2763)]).then(a.bind(a,65665))).default,FeatureLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(6569),a.e(1423),a.e(4165),a.e(3778),a.e(6404),a.e(8654),a.e(9238),a.e(7520)]).then(a.bind(a,19238))).default,GeoJSONLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(6569),a.e(1423),a.e(4165),a.e(3778),a.e(6404),a.e(9069)]).then(a.bind(a,23477))).default,GeoRSSLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(1043)]).then(a.bind(a,3723))).default,GroupLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9059)]).then(a.bind(a,40504))).default,ImageryLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(6569),a.e(4165),a.e(4599),a.e(6610),a.e(3663),a.e(4608)]).then(a.bind(a,60590))).default,ImageryTileLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(6569),a.e(6610),a.e(4136),a.e(3663),a.e(5913)]).then(a.bind(a,74878))).default,IntegratedMeshLayer:async()=>(await Promise.all([a.e(163),a.e(1241),a.e(1537)]).then(a.bind(a,9310))).default,KMLLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(1423),a.e(6472)]).then(a.bind(a,42756))).default,LineOfSightLayer:async()=>(await Promise.all([a.e(163),a.e(4998)]).then(a.bind(a,21786))).default,LinkChartLayer:async()=>(await Promise.all([a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(6569),a.e(1423),a.e(4165),a.e(6404),a.e(8968),a.e(5286),a.e(801)]).then(a.bind(a,19087))).default,MapImageLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(1423),a.e(4165),a.e(3778),a.e(4599),a.e(2863),a.e(7374)]).then(a.bind(a,27374))).default,MapNotesLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(6569),a.e(1423),a.e(4165),a.e(3778),a.e(6404),a.e(8654),a.e(9238),a.e(2575)]).then(a.bind(a,62128))).default,MediaLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(4828)]).then(a.bind(a,57765))).default,OGCFeatureLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(1423),a.e(4165),a.e(3778),a.e(6404),a.e(2341)]).then(a.bind(a,88068))).default,OpenStreetMapLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9971),a.e(6237)]).then(a.bind(a,66237))).default,OrientedImageryLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(6569),a.e(1423),a.e(4165),a.e(3778),a.e(6404),a.e(8654),a.e(9238),a.e(6964)]).then(a.bind(a,76604))).default,PointCloudLayer:async()=>(await Promise.all([a.e(163),a.e(8775),a.e(8643),a.e(300)]).then(a.bind(a,10608))).default,RouteLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(1423),a.e(261)]).then(a.bind(a,40153))).default,SceneLayer:async()=>(await Promise.all([a.e(163),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(1423),a.e(4165),a.e(3778),a.e(6170),a.e(1241),a.e(8217),a.e(1174)]).then(a.bind(a,57476))).default,StreamLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(1423),a.e(4165),a.e(3778),a.e(6404),a.e(7132)]).then(a.bind(a,88387))).default,SubtypeGroupLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(1423),a.e(4165),a.e(3778),a.e(8654),a.e(8324),a.e(2596)]).then(a.bind(a,20697))).default,TileLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(1423),a.e(4165),a.e(3778),a.e(4599),a.e(9016),a.e(2863),a.e(8636)]).then(a.bind(a,98636))).default,UnknownLayer:async()=>(await a.e(4166).then(a.bind(a,44166))).default,UnsupportedLayer:async()=>(await a.e(9296).then(a.bind(a,39296))).default,VectorTileLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9016),a.e(4325),a.e(9805),a.e(5481)]).then(a.bind(a,94756))).default,VoxelLayer:async()=>(await Promise.all([a.e(163),a.e(8775),a.e(5464)]).then(a.bind(a,28865))).default,WFSLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(3928),a.e(3547),a.e(6569),a.e(1423),a.e(4165),a.e(3778),a.e(6404),a.e(6506)]).then(a.bind(a,12653))).default,WMSLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9790),a.e(8775),a.e(1574)]).then(a.bind(a,25906))).default,WMTSLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9971),a.e(2594)]).then(a.bind(a,72594))).default,WebTileLayer:async()=>(await Promise.all([a.e(163),a.e(4609),a.e(9971)]).then(a.bind(a,16199))).default}},33516:(e,t,a)=>{a.d(t,{Y:()=>i,h:()=>l});var r=a(17452),n=a(48522);function l(e){return{origin:"portal-item",url:(0,r.mN)(e.itemUrl),portal:e.portal||n.Z.getDefault(),portalItem:e,readResourcePaths:[]}}function i(e){return{origin:"portal-item",messages:[],writtenProperties:[],url:e.itemUrl?(0,r.mN)(e.itemUrl):null,portal:e.portal||n.Z.getDefault(),portalItem:e}}},18062:(e,t,a)=>{a.d(t,{$O:()=>g,CD:()=>p,Ld:()=>d,Ok:()=>L,Q4:()=>v,XX:()=>S,_Y:()=>I,load:()=>f});var r=a(20102),n=a(66677),l=a(71592),i=a(52104),s=a(87344),o=a(48522),c=a(33516),u=a(40555),y=a(96187);class d{constructor(){this._serviceMetadatas=new Map}async fetchServiceMetadata(e,t){const a=this._serviceMetadatas.get(e);if(a)return a;const r=await(0,y.T)(e,t);return this._serviceMetadatas.set(e,r),r}}async function f(e,t){const a=e.instance.portalItem;if(a&&a.id)return await a.load(t),function(e){const t=e.instance.portalItem;if(!t?.type||!e.supportedTypes.includes(t.type))throw new r.Z("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}'",{type:t?.type,expectedType:e.supportedTypes.join(", ")})}(e),async function(e,t){const a=e.instance,n=a.portalItem;if(!n)return;const{url:l,title:s}=n,o=(0,c.h)(n);if("group"===a.type)return a.read({title:s},o),async function(e,t){let a;const{portalItem:n}=e;if(!n)return;const l=n.type,s=t.layerModuleTypeMap;switch(l){case"Feature Service":case"Feature Collection":a=s.FeatureLayer;break;case"Stream Service":a=s.StreamLayer;break;case"Scene Service":a=s.SceneLayer;break;default:throw new r.Z("portal:unsupported-item-type-as-group",`The item type '${l}' is not supported as a 'IGroupLayer'`)}const o=new d;let[c,u]=await Promise.all([a(),b(t,o)]),f=()=>c;if("Feature Service"===l){u=n.url?await g(u,n.url,o):{};const t=S(u),a=I(u),r=[];if(t.length||a?.length){t.length&&r.push("SubtypeGroupLayer"),a?.length&&r.push("OrientedImageryLayer");const e=[];for(const t of r){const a=s[t];e.push(a())}const n=await Promise.all(e),l=new Map;r.forEach(((e,t)=>{l.set(e,n[t])})),f=e=>e.layerType?l.get(e.layerType)??c:c}const l=await async function(e){const{layersJSON:t}=await(0,i.V)(e);if(!t)return null;const a=[...t.layers,...t.tables];return e=>a.find((t=>t.id===e.id))}(n.url);return await m(e,f,u,l)}return"Scene Service"===l&&n.url&&(u=await p(n,u,o)),v(u)>0?await m(e,f,u):await async function(e,t){const{portalItem:a}=e;if(!a?.url)return;const r=await(0,y.T)(a.url);r&&m(e,t,{layers:r.layers?.map(h),tables:r.tables?.map(h)})}(e,f)}(a,e);l&&a.read({url:l},o);const f=new d,w=await b(e,f,t);return w&&a.read(w,o),a.resourceReferences={portalItem:n,paths:o.readResourcePaths??[]},"subtype-group"!==a.type&&a.read({title:s},o),(0,u.y)(a,o)}(e,t)}async function p(e,t,a){if(!e?.url)return t??{};if(t??={},!t.layers){const r=await a.fetchServiceMetadata(e.url);t.layers=r.layers?.map(h)}const{serverUrl:r,portalItem:n}=await(0,l.w)(e.url,{sceneLayerItem:e}).catch((()=>({serverUrl:null,portalItem:null})));if(null==r)return t.tables=[],t;if(!t.tables&&n){const e=await n.fetchData();if(e?.tables)t.tables=e.tables.map(h);else{const e=await a.fetchServiceMetadata(r);t.tables=e?.tables?.map(h)}}if(t.tables)for(const e of t.tables)e.url=`${r}/${e.id}`;return t}function h(e){return{id:e.id,name:e.name}}async function m(e,t,a,r){let n=a.layers||[];const l=a.tables||[];if("Feature Collection"===e.portalItem?.type?(n.forEach(((e,t)=>{e.id=t,"Table"===e?.layerDefinition?.type&&l.push(e)})),n=n.filter((e=>"Table"!==e?.layerDefinition?.type))):(n.reverse(),l.reverse()),n.forEach((n=>{const l=r?.(n);if(l||!r){const r=w(e,t(n),a,n,l);e.add(r)}})),l.length){const t=await s.T.FeatureLayer();l.forEach((n=>{const l=r?.(n);if(l||!r){const r=w(e,t,a,n,l);e.tables.add(r)}}))}}function w(e,t,a,r,n){const l=e.portalItem,i={portalItem:l.clone(),layerId:r.id};null!=r.url&&(i.url=r.url);const s=new t(i);if("sourceJSON"in s&&(s.sourceJSON=n),"subtype-group"!==s.type&&(s.sublayerTitleMode="service-name"),"Feature Collection"===l.type){const e={origin:"portal-item",portal:l.portal||o.Z.getDefault()};s.read(r,e);const t=a.showLegend;null!=t&&s.read({showLegend:t},e)}return s}async function b(e,t,a){if(!1===e.supportsData)return;const r=e.instance,l=r.portalItem;if(!l)return;let i=null;try{i=await l.fetchData("json",a)}catch(e){}if(function(e){return"stream"!==e.type&&"layerId"in e}(r)){let e=null;const a=await async function(e,t,a){if(t?.layers&&t?.tables)return v(t);const r=(0,n.Qc)(e.url);if(!r)return 1;const l=await a.fetchServiceMetadata(r.url.path).catch((()=>null));return(t?.layers?.length??l?.layers?.length??0)+(t?.tables?.length??l?.tables?.length??0)}(l,i,t);if((i?.layers||i?.tables)&&a>0){if(null==r.layerId){const e=S(i);r.layerId="subtype-group"===r.type?e?.[0]:L(i)}e=function(e,t){const{layerId:a}=t,r=e.layers?.find((e=>e.id===a))||e.tables?.find((e=>e.id===a));return r&&function(e,t){return!("feature"===t.type&&"layerType"in e&&"SubtypeGroupLayer"===e.layerType||"subtype-group"===t.type&&!("layerType"in e))}(r,t)?r:null}(i,r),e&&null!=i.showLegend&&(e.showLegend=i.showLegend)}return a>1&&"sublayerTitleMode"in r&&"service-name"!==r.sublayerTitleMode&&(r.sublayerTitleMode="item-title-and-service-name"),e}return i}async function g(e,t,a){if(null==e?.layers||null==e?.tables){const r=await a.fetchServiceMetadata(t);(e=e||{}).layers=e.layers||r?.layers,e.tables=e.tables||r?.tables}return e}function L(e){const t=e.layers;if(t&&t.length)return t[0].id;const a=e.tables;return a&&a.length?a[0].id:null}function v(e){return(e?.layers?.length??0)+(e?.tables?.length??0)}function S(e){const t=[];return e?.layers?.forEach((e=>{"SubtypeGroupLayer"===e.layerType&&t.push(e.id)})),t}function I(e){return e?.layers?.filter((({layerType:e})=>"OrientedImageryLayer"===e)).map((({id:e})=>e))}},40555:(e,t,a)=>{a.d(t,{y:()=>i});var r=a(66643),n=a(95330),l=a(20941);async function i(e,t,a){const i=e&&e.getAtOrigin&&e.getAtOrigin("renderer",t.origin);if(i&&"unique-value"===i.type&&i.styleOrigin){const s=await(0,r.q6)(i.populateFromStyle());if((0,n.k_)(a),!1===s.ok){const a=s.error;t&&t.messages&&t.messages.push(new l.Z("renderer:style-reference",`Failed to create unique value renderer from style reference: ${a.message}`,{error:a,context:t})),e.clear("renderer",t?.origin)}}}},96187:(e,t,a)=>{a.d(t,{T:()=>n});var r=a(3172);async function n(e,t){const{data:a}=await(0,r.Z)(e,{responseType:"json",query:{f:"json",...t?.customParameters,token:t?.apiKey}});return a}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1241,7873],{65845:(e,t,r)=>{r.d(t,{D:()=>s});var o=r(81153);function s(e){e&&e.writtenProperties&&e.writtenProperties.forEach((({target:e,propName:t,newOrigin:r})=>{(0,o.l)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)}))}},81153:(e,t,r)=>{function o(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{l:()=>o})},54295:(e,t,r)=>{r.d(t,{V:()=>n});var o=r(43697),s=r(5600),i=(r(75215),r(67676),r(80442),r(52011));const n=e=>{let t=class extends e{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override("apiKey",e):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,o._)([(0,s.Cb)({type:String})],t.prototype,"apiKey",null),t=(0,o._)([(0,i.j)("esri.layers.mixins.APIKeyMixin")],t),t}},17287:(e,t,r)=>{r.d(t,{Y:()=>l});var o=r(43697),s=r(92604),i=r(5600),n=(r(75215),r(67676),r(80442),r(52011)),a=r(66677);const l=e=>{let t=class extends e{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,a.Qc)(this.url);if(null!=e&&e.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,a.Nm)(e,s.Z.getLogger(this)))}};return(0,o._)([(0,i.Cb)()],t.prototype,"title",null),(0,o._)([(0,i.Cb)({type:String})],t.prototype,"url",null),t=(0,o._)([(0,n.j)("esri.layers.mixins.ArcGISService")],t),t}},20559:(e,t,r)=>{r.d(t,{xp:()=>k,Vt:()=>U});var o=r(43697),s=r(3172),i=r(20102),n=r(92604),a=r(95330),l=r(17452),p=r(5600),u=(r(75215),r(67676),r(80442),r(71715)),c=r(52011),d=r(30556),y=r(65845),h=r(6570),m=r(79235),f=r(82971),v=r(66677),g=r(21506),b=r(61064);var _=r(48522),w=r(15235),S=r(66643),I=r(41123),x=r(97873);async function C(e,t,r=null){const o=await N(e,t,r);await j(o,t,r)}async function R(e,t,r,o,s=null){const i=await N(r,o,s);await e.update({data:t}),await j(i,o,s)}async function N(e,t,r=null){if(!t||!t.resources)return;const o=t.portalItem===e.portalItem?new Set(e.paths):new Set;e.paths.length=0,e.portalItem=t.portalItem;const s=new Set(t.resources.toKeep.map((e=>e.resource.path))),n=new Set,l=[];s.forEach((t=>{o.delete(t),e.paths.push(t)}));for(const i of t.resources.toUpdate)if(o.delete(i.resource.path),s.has(i.resource.path)||n.has(i.resource.path)){const{resource:t,content:o,finish:s,error:n}=i,a=(0,x.W7)(t,(0,I.D)());e.paths.push(a.path),l.push(T({resource:a,content:o,compress:i.compress,finish:s,error:n},r))}else e.paths.push(i.resource.path),l.push(O(i,r)),n.add(i.resource.path);for(const s of t.resources.toAdd)e.paths.push(s.resource.path),o.has(s.resource.path)?o.delete(s.resource.path):l.push(T(s,r));if(0===l.length)return o;const p=await(0,a.UO)(l);if((0,a.k_)(r),p.length>0)throw new i.Z("save:resources","Failed to save one or more resources",{errors:p});return o}async function j(e,t,r=null){if(!e||!t.portalItem)return;const o=[];for(const s of e){const e=t.portalItem.resourceFromPath(s);o.push(e.portalItem.removeResource(e,r))}await(0,a.as)(o)}async function T(e,t){const r={...null!=t?t:{},compress:e.compress},o=await(0,S.q6)(e.resource.portalItem.addResource(e.resource,await(0,x.FO)(e.content),r));if(!0!==o.ok)throw e.error?.(o.error),o.error;e.finish?.(e.resource)}async function O(e,t){const r=await(0,S.q6)(e.resource.update(await(0,x.FO)(e.content),t));if(!0!==r.ok)throw e.error?.(r.error),r.error;e.finish?.(e.resource)}const A="esri.layers.mixins.SceneService",P=n.Z.getLogger(A),U=e=>{let t=class extends e{constructor(){super(...arguments),this.spatialReference=null,this.fullExtent=null,this.heightModelInfo=null,this.minScale=0,this.maxScale=0,this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.copyright=null,this.sublayerTitleMode="item-title",this.title=null,this.layerId=null,this.indexInfo=null,this._debouncedSaveOperations=(0,a.Ds)((async(e,t,r)=>{switch(e){case k.SAVE:return this._save(t);case k.SAVE_AS:return this._saveAs(r,t)}}))}readSpatialReference(e,t){return this._readSpatialReference(t)}_readSpatialReference(e){if(null!=e.spatialReference)return f.Z.fromJSON(e.spatialReference);{const t=e.store,r=t.indexCRS||t.geographicCRS,o=r&&parseInt(r.substring(r.lastIndexOf("/")+1,r.length),10);return null!=o?new f.Z(o):null}}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const o=null==e.spatialReference?{...e,spatialReference:this._readSpatialReference(t)}:e;return h.Z.fromJSON(o,r)}const o=t.store,s=this._readSpatialReference(t);return null==s||null==o||null==o.extent||!Array.isArray(o.extent)||o.extent.some((e=>e<q))?null:new h.Z({xmin:o.extent[0],ymin:o.extent[1],xmax:o.extent[2],ymax:o.extent[3],spatialReference:s})}parseVersionString(e){const t={major:Number.NaN,minor:Number.NaN,versionString:e},r=e.split(".");return r.length>=2&&(t.major=parseInt(r[0],10),t.minor=parseInt(r[1],10)),t}readVersion(e,t){const r=t.store,o=null!=r.version?r.version.toString():"";return this.parseVersionString(o)}readTitlePortalItem(e){return"item-title"!==this.sublayerTitleMode?void 0:e}readTitleService(e,t){const r=this.portalItem&&this.portalItem.title;if("item-title"===this.sublayerTitleMode)return(0,v.a7)(this.url,t.name);let o=t.name;if(!o&&this.url){const e=(0,v.Qc)(this.url);null!=e&&(o=e.title)}return"item-title-and-service-name"===this.sublayerTitleMode&&r&&(o=r+" - "+o),(0,v.ld)(o)}set url(e){const t=(0,v.XG)({layer:this,url:e,nonStandardUrlAllowed:!1,logger:P});this._set("url",t.url),null!=t.layerId&&this._set("layerId",t.layerId)}writeUrl(e,t,r,o){(0,v.wH)(this,e,"layers",t,o)}get parsedUrl(){const e=this._get("url"),t=(0,l.mN)(e);return null!=this.layerId&&(t.path=`${t.path}/layers/${this.layerId}`),t}async _fetchIndexAndUpdateExtent(e,t){this.indexInfo=(0,b.T)(this.parsedUrl.path,this.rootNode,e,this.apiKey,P,t),null==this.fullExtent||this.fullExtent.hasZ||this._updateExtent(await this.indexInfo)}_updateExtent(e){if("page"===e?.type){const t=e.rootIndex%e.pageSize,r=e.rootPage?.nodes?.[t];if(null==r||null==r.obb||null==r.obb.center||null==r.obb.halfSize)throw new i.Z("sceneservice:invalid-node-page","Invalid node page.");if(r.obb.center[0]<q||null==this.fullExtent||this.fullExtent.hasZ)return;const o=r.obb.halfSize,s=r.obb.center[2],n=Math.sqrt(o[0]*o[0]+o[1]*o[1]+o[2]*o[2]);this.fullExtent.zmin=s-n,this.fullExtent.zmax=s+n}else if("node"===e?.type){const t=e.rootNode?.mbs;if(!Array.isArray(t)||4!==t.length||t[0]<q)return;const r=t[2],o=t[3],{fullExtent:s}=this;s&&(s.zmin=r-o,s.zmax=r+o)}}async _fetchService(e){if(null==this.url)throw new i.Z("sceneservice:url-not-set","Scene service can not be loaded without valid portal item or url");if(null==this.layerId&&/SceneServer\/*$/i.test(this.url)){const t=await this._fetchFirstLayerId(e);null!=t&&(this.layerId=t)}return this._fetchServiceLayer(e)}async _fetchFirstLayerId(e){const t=await(0,s.Z)(this.url,{query:{f:"json",token:this.apiKey},responseType:"json",signal:e});if(t.data&&Array.isArray(t.data.layers)&&t.data.layers.length>0)return t.data.layers[0].id}async _fetchServiceLayer(e){const t=await(0,s.Z)(this.parsedUrl?.path??"",{query:{f:"json",token:this.apiKey},responseType:"json",signal:e});t.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));let r=!1;if(t.data.layerType&&"Voxel"===t.data.layerType&&(r=!0),r)return this._fetchVoxelServiceLayer();const o=t.data;this.read(o,this._getServiceContext()),this.validateLayer(o)}async _fetchVoxelServiceLayer(e){const t=(await(0,s.Z)(this.parsedUrl?.path+"/layer",{query:{f:"json",token:this.apiKey},responseType:"json",signal:e})).data;this.read(t,this._getServiceContext()),this.validateLayer(t)}_getServiceContext(){return{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl}}async _ensureLoadBeforeSave(){await this.load(),"beforeSave"in this&&"function"==typeof this.beforeSave&&await this.beforeSave()}validateLayer(e){}_updateTypeKeywords(e,t,r){e.typeKeywords||(e.typeKeywords=[]);const o=t.getTypeKeywords();for(const t of o)e.typeKeywords.push(t);e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)),r===Z.newItem&&(e.typeKeywords=e.typeKeywords.filter((e=>"Hosted Service"!==e))))}async _saveAs(e,t){const r={...E,...t};let o=w.default.from(e);o||(P.error("_saveAs(): requires a portal item parameter"),await Promise.reject(new i.Z("sceneservice:portal-item-required","_saveAs() requires a portal item to save to"))),o.id&&(o=o.clone(),o.id=null);const s=o.portal||_.Z.getDefault();await this._ensureLoadBeforeSave(),o.type=K,o.portal=s;const n={origin:"portal-item",url:null,messages:[],portal:s,portalItem:o,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}},a={layers:[this.write({},n)]};return await Promise.all(n.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(a,n,r),o.url=this.url,o.title||(o.title=this.title),this._updateTypeKeywords(o,r,Z.newItem),await s.signIn(),await(s.user?.addItem({item:o,folder:r&&r.folder,data:a})),await C(this.resourceReferences,n,null),this.portalItem=o,(0,y.D)(n),n.portalItem=o,o}async _save(e){const t={...E,...e};if(!this.portalItem)throw P.error("_save(): requires the .portalItem property to be set"),new i.Z("sceneservice:portal-item-not-set","Portal item to save to has not been set on this SceneService");if(this.portalItem.type!==K)throw P.error("_save(): Non-matching portal item type. Got "+this.portalItem.type+", expected "+K),new i.Z("sceneservice:portal-item-wrong-type",`Portal item needs to have type "${K}"`);await this._ensureLoadBeforeSave();const r={origin:"portal-item",url:this.portalItem.itemUrl&&(0,l.mN)(this.portalItem.itemUrl),messages:[],portal:this.portalItem.portal||_.Z.getDefault(),portalItem:this.portalItem,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}},o={layers:[this.write({},r)]};return await Promise.all(r.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(o,r,t),this.portalItem.url=this.url,this.portalItem.title||(this.portalItem.title=this.title),this._updateTypeKeywords(this.portalItem,t,Z.existingItem),await R(this.portalItem,o,this.resourceReferences,r,null),(0,y.D)(r),this.portalItem}async _validateAgainstJSONSchema(e,t,r){let o=t.messages?.filter((e=>"error"===e.type)).map((e=>new i.Z(e.name,e.message,e.details)))??[];r?.validationOptions?.ignoreUnsupported&&(o=o.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name&&"scenemodification:unsupported"!==e.name)));const s=r?.validationOptions,n=s?.enabled,a=null;if(n&&a){const t=(await a()).validate(e,r.portalItemLayerType);if(t.length>0){const e=`Layer item did not validate:\n${t.join("\n")}`;if(P.error(`_validateAgainstJSONSchema(): ${e}`),"throw"===s.failPolicy){const e=t.map((e=>new i.Z("sceneservice:schema-validation",e))).concat(o);throw new i.Z("sceneservice-validate:error","Failed to save layer item due to schema validation, see `details.errors`.",{combined:e})}}}if(o.length>0)throw new i.Z("sceneservice:save","Failed to save SceneService due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:o})}};return(0,o._)([(0,p.Cb)(g.id)],t.prototype,"id",void 0),(0,o._)([(0,p.Cb)({type:f.Z})],t.prototype,"spatialReference",void 0),(0,o._)([(0,u.r)("spatialReference",["spatialReference","store.indexCRS","store.geographicCRS"])],t.prototype,"readSpatialReference",null),(0,o._)([(0,p.Cb)({type:h.Z})],t.prototype,"fullExtent",void 0),(0,o._)([(0,u.r)("fullExtent",["fullExtent","store.extent","spatialReference","store.indexCRS","store.geographicCRS"])],t.prototype,"readFullExtent",null),(0,o._)([(0,p.Cb)({readOnly:!0,type:m.Z})],t.prototype,"heightModelInfo",void 0),(0,o._)([(0,p.Cb)({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:{source:"minScale"},write:!1}}}})],t.prototype,"minScale",void 0),(0,o._)([(0,p.Cb)({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:{source:"maxScale"},write:!1}}}})],t.prototype,"maxScale",void 0),(0,o._)([(0,p.Cb)({readOnly:!0})],t.prototype,"version",void 0),(0,o._)([(0,u.r)("version",["store.version"])],t.prototype,"readVersion",null),(0,o._)([(0,p.Cb)({type:String,json:{read:{source:"copyrightText"}}})],t.prototype,"copyright",void 0),(0,o._)([(0,p.Cb)({type:String,json:{read:!1}})],t.prototype,"sublayerTitleMode",void 0),(0,o._)([(0,p.Cb)({type:String})],t.prototype,"title",void 0),(0,o._)([(0,u.r)("portal-item","title")],t.prototype,"readTitlePortalItem",null),(0,o._)([(0,u.r)("service","title",["name"])],t.prototype,"readTitleService",null),(0,o._)([(0,p.Cb)({type:Number,json:{origins:{service:{read:{source:"id"}},"portal-item":{write:{target:"id",isRequired:!0,ignoreOrigin:!0},read:!1}}}})],t.prototype,"layerId",void 0),(0,o._)([(0,p.Cb)(g.HQ)],t.prototype,"url",null),(0,o._)([(0,d.c)("url")],t.prototype,"writeUrl",null),(0,o._)([(0,p.Cb)()],t.prototype,"parsedUrl",null),(0,o._)([(0,p.Cb)({readOnly:!0})],t.prototype,"store",void 0),(0,o._)([(0,p.Cb)({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],t.prototype,"rootNode",void 0),t=(0,o._)([(0,c.j)(A)],t),t},q=-1e38;var Z,F;(F=Z||(Z={}))[F.existingItem=0]="existingItem",F[F.newItem=1]="newItem";const K="Scene Service",E={getTypeKeywords:()=>[],portalItemLayerType:"unknown",validationOptions:{enabled:!0,ignoreUnsupported:!1,failPolicy:"throw"}};var k;!function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(k||(k={}))},61064:(e,t,r)=>{r.d(t,{T:()=>i});var o=r(3172),s=r(20102);async function i(e,t,r,i,n,a){let l=null;if(null!=r){const t=`${e}/nodepages/`,s=t+Math.floor(r.rootIndex/r.nodesPerPage);try{return{type:"page",rootPage:(await(0,o.Z)(s,{query:{f:"json",token:i},responseType:"json",signal:a})).data,rootIndex:r.rootIndex,pageSize:r.nodesPerPage,lodMetric:r.lodSelectionMetricType,urlPrefix:t}}catch(e){null!=n&&n.warn("#fetchIndexInfo()","Failed to load root node page. Falling back to node documents.",s,e),l=e}}if(!t)return null;const p=`${e}/nodes/`,u=p+(t&&t.split("/").pop());try{return{type:"node",rootNode:(await(0,o.Z)(u,{query:{f:"json",token:i},responseType:"json",signal:a})).data,urlPrefix:p}}catch(e){throw new s.Z("sceneservice:root-node-missing","Root node missing.",{pageError:l,nodeError:e,url:u})}}},51161:(e,t,r)=>{r.d(t,{H3:()=>v,QI:()=>c,U4:()=>l,Yh:()=>y});var o=r(43697),s=r(96674),i=r(5600),n=(r(75215),r(67676),r(80442),r(36030)),a=r(52011);let l=class extends s.wq{constructor(){super(...arguments),this.nodesPerPage=null,this.rootIndex=0,this.lodSelectionMetricType=null}};(0,o._)([(0,i.Cb)({type:Number})],l.prototype,"nodesPerPage",void 0),(0,o._)([(0,i.Cb)({type:Number})],l.prototype,"rootIndex",void 0),(0,o._)([(0,i.Cb)({type:String})],l.prototype,"lodSelectionMetricType",void 0),l=(0,o._)([(0,a.j)("esri.layer.support.I3SNodePageDefinition")],l);let p=class extends s.wq{constructor(){super(...arguments),this.factor=1}};(0,o._)([(0,i.Cb)({type:Number,json:{read:{source:"textureSetDefinitionId"}}})],p.prototype,"id",void 0),(0,o._)([(0,i.Cb)({type:Number})],p.prototype,"factor",void 0),p=(0,o._)([(0,a.j)("esri.layer.support.I3SMaterialTexture")],p);let u=class extends s.wq{constructor(){super(...arguments),this.baseColorFactor=[1,1,1,1],this.baseColorTexture=null,this.metallicRoughnessTexture=null,this.metallicFactor=1,this.roughnessFactor=1}};(0,o._)([(0,i.Cb)({type:[Number]})],u.prototype,"baseColorFactor",void 0),(0,o._)([(0,i.Cb)({type:p})],u.prototype,"baseColorTexture",void 0),(0,o._)([(0,i.Cb)({type:p})],u.prototype,"metallicRoughnessTexture",void 0),(0,o._)([(0,i.Cb)({type:Number})],u.prototype,"metallicFactor",void 0),(0,o._)([(0,i.Cb)({type:Number})],u.prototype,"roughnessFactor",void 0),u=(0,o._)([(0,a.j)("esri.layer.support.I3SMaterialPBRMetallicRoughness")],u);let c=class extends s.wq{constructor(){super(...arguments),this.alphaMode="opaque",this.alphaCutoff=.25,this.doubleSided=!1,this.cullFace="none",this.normalTexture=null,this.occlusionTexture=null,this.emissiveTexture=null,this.emissiveFactor=null,this.pbrMetallicRoughness=null}};(0,o._)([(0,n.J)({opaque:"opaque",mask:"mask",blend:"blend"})],c.prototype,"alphaMode",void 0),(0,o._)([(0,i.Cb)({type:Number})],c.prototype,"alphaCutoff",void 0),(0,o._)([(0,i.Cb)({type:Boolean})],c.prototype,"doubleSided",void 0),(0,o._)([(0,n.J)({none:"none",back:"back",front:"front"})],c.prototype,"cullFace",void 0),(0,o._)([(0,i.Cb)({type:p})],c.prototype,"normalTexture",void 0),(0,o._)([(0,i.Cb)({type:p})],c.prototype,"occlusionTexture",void 0),(0,o._)([(0,i.Cb)({type:p})],c.prototype,"emissiveTexture",void 0),(0,o._)([(0,i.Cb)({type:[Number]})],c.prototype,"emissiveFactor",void 0),(0,o._)([(0,i.Cb)({type:u})],c.prototype,"pbrMetallicRoughness",void 0),c=(0,o._)([(0,a.j)("esri.layer.support.I3SMaterialDefinition")],c);let d=class extends s.wq{};(0,o._)([(0,i.Cb)({type:String,json:{read:{source:["name","index"],reader:(e,t)=>null!=e?e:`${t.index}`}}})],d.prototype,"name",void 0),(0,o._)([(0,n.J)({jpg:"jpg",png:"png",dds:"dds","ktx-etc2":"ktx-etc2",ktx2:"ktx2",basis:"basis"})],d.prototype,"format",void 0),d=(0,o._)([(0,a.j)("esri.layer.support.I3STextureFormat")],d);let y=class extends s.wq{constructor(){super(...arguments),this.atlas=!1}};(0,o._)([(0,i.Cb)({type:[d]})],y.prototype,"formats",void 0),(0,o._)([(0,i.Cb)({type:Boolean})],y.prototype,"atlas",void 0),y=(0,o._)([(0,a.j)("esri.layer.support.I3STextureSetDefinition")],y);let h=class extends s.wq{};(0,o._)([(0,n.J)({Float32:"Float32",UInt64:"UInt64",UInt32:"UInt32",UInt16:"UInt16",UInt8:"UInt8"})],h.prototype,"type",void 0),(0,o._)([(0,i.Cb)({type:Number})],h.prototype,"component",void 0),h=(0,o._)([(0,a.j)("esri.layer.support.I3SGeometryAttribute")],h);let m=class extends s.wq{};(0,o._)([(0,n.J)({draco:"draco"})],m.prototype,"encoding",void 0),(0,o._)([(0,i.Cb)({type:[String]})],m.prototype,"attributes",void 0),m=(0,o._)([(0,a.j)("esri.layer.support.I3SGeometryCompressedAttributes")],m);let f=class extends s.wq{constructor(){super(...arguments),this.offset=0}};(0,o._)([(0,i.Cb)({type:Number})],f.prototype,"offset",void 0),(0,o._)([(0,i.Cb)({type:h})],f.prototype,"position",void 0),(0,o._)([(0,i.Cb)({type:h})],f.prototype,"normal",void 0),(0,o._)([(0,i.Cb)({type:h})],f.prototype,"uv0",void 0),(0,o._)([(0,i.Cb)({type:h})],f.prototype,"color",void 0),(0,o._)([(0,i.Cb)({type:h})],f.prototype,"uvRegion",void 0),(0,o._)([(0,i.Cb)({type:h})],f.prototype,"featureId",void 0),(0,o._)([(0,i.Cb)({type:h})],f.prototype,"faceRange",void 0),(0,o._)([(0,i.Cb)({type:m})],f.prototype,"compressedAttributes",void 0),f=(0,o._)([(0,a.j)("esri.layer.support.I3SGeometryBuffer")],f);let v=class extends s.wq{};(0,o._)([(0,n.J)({triangle:"triangle"})],v.prototype,"topology",void 0),(0,o._)([(0,i.Cb)()],v.prototype,"geometryBuffers",void 0),v=(0,o._)([(0,a.j)("esri.layer.support.I3SGeometryDefinition")],v)},97873:(e,t,r)=>{r.d(t,{FO:()=>c,W7:()=>d,addOrUpdateResource:()=>a,fetchResources:()=>n,removeAllResources:()=>p,removeResource:()=>l});var o=r(3172),s=r(20102),i=r(17452);async function n(e,t={},r){await e.load(r);const o=(0,i.v_)(e.itemUrl,"resources"),{start:s=1,num:n=10,sortOrder:a="asc",sortField:l="created"}=t,p={query:{start:s,num:n,sortOrder:a,sortField:l,token:e.apiKey},signal:r?.signal},u=await e.portal.request(o,p);return{total:u.total,nextStart:u.nextStart,resources:u.resources.map((({created:t,size:r,resource:o})=>({created:new Date(t),size:r,resource:e.resourceFromPath(o)})))}}async function a(e,t,r,o){if(!e.hasPath())throw new s.Z(`portal-item-resource-${t}:invalid-path`,"Resource does not have a valid path");const n=e.portalItem;await n.load(o);const a=(0,i.v_)(n.userItemUrl,"add"===t?"addResources":"updateResources"),[l,p]=u(e.path),c=new FormData;return l&&"."!==l&&c.append("resourcesPrefix",l),null!=o&&o.compress&&c.append("compress","true"),c.append("fileName",p),c.append("file",r,p),c.append("f","json"),null!=o&&o.access&&c.append("access",o.access),await n.portal.request(a,{method:"post",body:c,signal:o?.signal}),e}async function l(e,t,r){if(!t.hasPath())throw new s.Z("portal-item-resources-remove:invalid-path","Resource does not have a valid path");await e.load(r);const o=(0,i.v_)(e.userItemUrl,"removeResources");await e.portal.request(o,{method:"post",query:{resource:t.path},signal:r?.signal}),t.portalItem=null}async function p(e,t){await e.load(t);const r=(0,i.v_)(e.userItemUrl,"removeResources");return e.portal.request(r,{method:"post",query:{deleteAll:!0},signal:t?.signal})}function u(e){const t=e.lastIndexOf("/");return-1===t?[".",e]:[e.slice(0,t),e.slice(t+1)]}async function c(e){return"blob"===e.type?e.blob:"json"===e.type?new Blob([e.jsonString],{type:"application/json"}):(await(0,o.Z)(e.url,{responseType:"blob"})).data}function d(e,t){if(!e.hasPath())return null;const[r,,o]=function(e){const[t,r]=function(e){const t=(0,i.Ml)(e);return null==t?[e,""]:[e.slice(0,e.length-t.length-1),`.${t}`]}(e),[o,s]=u(t);return[o,s,r]}(e.path);return e.portalItem.resourceFromPath((0,i.v_)(r,t+o))}},36405:(e,t,r)=>{function o(e,t){return null!=t&&t.mode?t.mode:function(e){return e?p:u}(e).mode}function s(e,t){return o(null!=e&&e.hasZ,t)}function i(e,t,r){return r&&r.mode!==t?`${e} only support ${t} elevation mode`:null}function n(e,t,r){return r?.mode===t?`${e} do not support ${t} elevation mode`:null}function a(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function l(e,t){t&&e.warn(".elevationInfo=",t)}r.d(t,{LR:()=>l,Uy:()=>i,VW:()=>s,Wb:()=>n,kf:()=>a}),r(12541);const p={mode:"absolute-height",offset:0},u={mode:"on-the-ground",offset:null}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4695],{42033:(e,n,r)=>{async function t(e,n){const{WhereClause:t}=await r.e(8968).then(r.bind(r,8968));return t.create(e,n)}function a(e,n){return null!=e?null!=n?`(${e}) AND (${n})`:e:n}r.d(n,{E:()=>t,_:()=>a})},18848:(e,n,r)=>{r.d(n,{uf:()=>u});var t=r(70171);const a={ar:"ar-u-nu-latn"};let s=new WeakMap,l={};function u(e,n){return Object.is(e,-0)&&(e=0),function(e){const n=e||l;if(!s.has(n)){const r=(0,t.Kd)(),l=a[(0,t.Kd)()]||r;s.set(n,new Intl.NumberFormat(l,e))}return s.get(n)}(n).format(e)}(0,t.Ze)((()=>{s=new WeakMap,l={}}))},14695:(e,n,r)=>{r.d(n,{createLabelFunction:()=>w});var t=r(20102),a=r(92604),s=r(42033),l=r(90344),u=r(18848),i=r(35671),o=r(8813),c=r(59266);const p=a.Z.getLogger("esri.layers.support.labelFormatUtils"),f={type:"simple",evaluate:()=>null},d={getAttribute:(e,n)=>e.field(n)};async function w(e,n,r){if(!e||!e.symbol||!n)return f;const a=e.where,w=(0,o.hV)(e);let x;if("arcade"===w.type){const e=await(0,c.WW)(w.expression,r,n);if(null==e)return f;x={type:"arcade",evaluate(n){try{const r=e.evaluate({$feature:"attributes"in n?e.repurposeFeature(n):n},e.services);if(null!=r)return r.toString()}catch(e){p.error(new t.Z("arcade-expression-error","Encountered an error when evaluating label expression for feature",{error:e,feature:n,expression:w}))}return null},needsHydrationToEvaluate:()=>null==(0,o.el)(w.expression)}}else x={type:"simple",evaluate:e=>w.expression.replaceAll(/{[^}]*}/g,(r=>{const t=r.slice(1,-1),a=n.get(t);if(!a)return r;let s=null;return"attributes"in e?e&&e.attributes&&(s=e.attributes[a.name]):s=e.field(a.name),null==s?"":function(e,n){if(null==e)return"";const r=n.domain;if(r)if("codedValue"===r.type||"coded-value"===r.type){const n=e;for(const e of r.codedValues)if(e.code===n)return e.name}else if("range"===r.type){const n=+e,t="range"in r?r.range[0]:r.minValue,a="range"in r?r.range[1]:r.maxValue;if(t<=n&&n<=a)return r.name}let t=e;return"date"===n.type||"esriFieldTypeDate"===n.type?t=(0,l.p6)(t,(0,l.Ze)("short-date")):(0,i.H7)(n)&&(t=(0,u.uf)(+t)),t||""}(s,a)}))};if(a){let e;try{e=await(0,s.E)(a,n)}catch(e){return p.error(new t.Z("bad-where-clause","Encountered an error when evaluating where clause, ignoring",{where:a,error:e})),f}const r=x.evaluate;x.evaluate=n=>{const s="attributes"in n?void 0:d;try{if(e.testFeature(n,s))return r(n)}catch(e){p.error(new t.Z("bad-where-clause","Encountered an error when evaluating where clause for feature",{where:a,feature:n,error:e}))}return null}}return x}},8813:(e,n,r)=>{r.d(n,{UO:()=>g,YI:()=>x,dI:()=>b,el:()=>E,hV:()=>w,z7:()=>d});var t=r(19153);const a="__begin__",s="__end__",l=new RegExp(a,"ig"),u=new RegExp(s,"ig"),i=new RegExp("^"+a,"i"),o=new RegExp(s+"$","i"),c='"',p=c+" + ",f=" + "+c;function d(e){return e.replaceAll(new RegExp("\\{","g"),"[").replaceAll(new RegExp("\\}","g"),"]")}function w(e){const n={expression:"",type:"none"};return e.labelExpressionInfo?e.labelExpressionInfo.value?(n.expression=e.labelExpressionInfo.value,n.type="conventional"):e.labelExpressionInfo.expression&&(n.expression=e.labelExpressionInfo.expression,n.type="arcade"):null!=e.labelExpression&&(n.expression=function(e){return e.replaceAll(new RegExp("\\[","g"),"{").replaceAll(new RegExp("\\]","g"),"}")}(e.labelExpression),n.type="conventional"),n}function x(e){const n=w(e);if(!n)return null;switch(n.type){case"conventional":return b(n.expression);case"arcade":return n.expression}return null}function g(e){const n=w(e);if(!n)return null;switch(n.type){case"conventional":return function(e){const n=e?.match(h);return n&&n[1].trim()||null}(n.expression);case"arcade":return E(n.expression)}return null}function b(e){let n;return e?(n=(0,t.gx)(e,(e=>a+'$feature["'+e+'"]'+s)),n=i.test(n)?n.replace(i,""):c+n,n=o.test(n)?n.replace(o,""):n+c,n=n.replaceAll(l,p).replaceAll(u,f)):n='""',n}const h=/^\s*\{([^}]+)\}\s*$/i,y=/^\s*(?:(?:\$feature\.(\w+))|(?:\$feature\[(["'])([\w\s]+)(\2)\]));?\s*$/i,m=/^\s*(?:(?:\$feature\.(\w+))|(?:\$feature\[(["'])([\w\s]+)(\2)\]));?\s*(?:DomainName\(\s*\$feature\s*,\s*(["'])(\1|\3)(\5)\s*\));?\s*$/i,v=/^\s*(?:DomainName\(\s*\$feature\s*,\s*(["'])([\w\s]+)(\1)\s*\));?\s*$/i;function E(e){if(!e)return null;let n=y.exec(e)||m.exec(e);return n?n[1]||n[3]:(n=v.exec(e),n?n[2]:null)}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4599],{45091:(e,t,s)=>{s.d(t,{Z:()=>c});var r,n,i=s(80442),a=s(71143);(n=r||(r={}))[n.varint=0]="varint",n[n.fixed64=1]="fixed64",n[n.delimited=2]="delimited",n[n.fixed32=5]="fixed32",n[n.unknown=99]="unknown";const o=4294967296,u=new TextDecoder("utf-8"),l=(0,i.Z)("safari")||(0,i.Z)("ios")?6:(0,i.Z)("ff")?12:32;class c{constructor(e,t,s=0,n=(e?e.byteLength:0)){this._tag=0,this._dataType=r.unknown,this._init(e,t,s,n)}_init(e,t,s,r){this._data=e,this._dataView=t,this._pos=s,this._end=r}asUnsafe(){return this}clone(){return new c(this._data,this._dataView,this._pos,this._end)}pos(){return this._pos}move(e){this._pos=e}nextTag(e){for(;;){if(this._pos===this._end)return!1;const t=this._decodeVarint();if(this._tag=t>>3,this._dataType=7&t,!e||e===this._tag)break;this.skip()}return!0}next(){if(this._pos===this._end)return!1;const e=this._decodeVarint();return this._tag=e>>3,this._dataType=7&e,!0}empty(){return this._pos>=this._end}tag(){return this._tag}getInt32(){return this._decodeVarint()}getInt64(){return this._decodeVarint()}getUInt32(){let e=4294967295;return e=(127&this._data[this._pos])>>>0,this._data[this._pos++]<128?e:(e=(e|(127&this._data[this._pos])<<7)>>>0,this._data[this._pos++]<128?e:(e=(e|(127&this._data[this._pos])<<14)>>>0,this._data[this._pos++]<128?e:(e=(e|(127&this._data[this._pos])<<21)>>>0,this._data[this._pos++]<128?e:(e=(e|(15&this._data[this._pos])<<28)>>>0,this._data[this._pos++]<128?e:void 0))))}getUInt64(){return this._decodeVarint()}getSInt32(){const e=this.getUInt32();if(void 0!==e)return e>>>1^-(1&e)|0}getSInt64(){return this._decodeSVarint()}getBool(){const e=0!==this._data[this._pos];return this._skip(1),e}getEnum(){return this._decodeVarint()}getFixed64(){const e=this._dataView,t=this._pos,s=e.getUint32(t,!0)+e.getUint32(t+4,!0)*o;return this._skip(8),s}getSFixed64(){const e=this._dataView,t=this._pos,s=e.getUint32(t,!0)+e.getInt32(t+4,!0)*o;return this._skip(8),s}getDouble(){const e=this._dataView.getFloat64(this._pos,!0);return this._skip(8),e}getFixed32(){const e=this._dataView.getUint32(this._pos,!0);return this._skip(4),e}getSFixed32(){const e=this._dataView.getInt32(this._pos,!0);return this._skip(4),e}getFloat(){const e=this._dataView.getFloat32(this._pos,!0);return this._skip(4),e}getString(){const e=this._getLength(),t=this._pos,s=this._toString(this._data,t,t+e);return this._skip(e),s}getBytes(){const e=this._getLength(),t=this._pos,s=this._toBytes(this._data,t,t+e);return this._skip(e),s}getLength(){return this._getLengthUnsafe()}processMessageWithArgs(e,t,s,r){const n=this.getMessage(),i=e(n,t,s,r);return n.release(),i}processMessage(e){const t=this.getMessage(),s=e(t);return t.release(),s}getMessage(){const e=this._getLength(),t=c.pool.acquire();return t._init(this._data,this._dataView,this._pos,this._pos+e),this._skip(e),t}release(){c.pool.release(this)}dataType(){return this._dataType}skip(){switch(this._dataType){case r.varint:this._decodeVarint();break;case r.fixed64:this._skip(8);break;case r.delimited:this._skip(this._getLength());break;case r.fixed32:this._skip(4);break;default:throw new Error("Invalid data type!")}}skipLen(e){this._skip(e)}_skip(e){if(this._pos+e>this._end)throw new Error("Attempt to skip past the end of buffer!");this._pos+=e}_decodeVarint(){const e=this._data;let t=this._pos,s=0,r=0;if(this._end-t>=10)do{if(r=e[t++],s|=127&r,0==(128&r))break;if(r=e[t++],s|=(127&r)<<7,0==(128&r))break;if(r=e[t++],s|=(127&r)<<14,0==(128&r))break;if(r=e[t++],s|=(127&r)<<21,0==(128&r))break;if(r=e[t++],s+=268435456*(127&r),0==(128&r))break;if(r=e[t++],s+=34359738368*(127&r),0==(128&r))break;if(r=e[t++],s+=4398046511104*(127&r),0==(128&r))break;if(r=e[t++],s+=562949953421312*(127&r),0==(128&r))break;if(r=e[t++],s+=72057594037927940*(127&r),0==(128&r))break;if(r=e[t++],s+=0x8000000000000000*(127&r),0==(128&r))break;throw new Error("Varint too long!")}while(0);else{let n=1;for(;t!==this._end&&(r=e[t],0!=(128&r));)++t,s+=(127&r)*n,n*=128;if(t===this._end)throw new Error("Varint overrun!");++t,s+=r*n}return this._pos=t,s}_decodeSVarint(){const e=this._data;let t=this._pos,s=0,r=0;const n=1&e[t];if(this._end-t>=10)do{if(r=e[t++],s|=127&r,0==(128&r))break;if(r=e[t++],s|=(127&r)<<7,0==(128&r))break;if(r=e[t++],s|=(127&r)<<14,0==(128&r))break;if(r=e[t++],s|=(127&r)<<21,0==(128&r))break;if(r=e[t++],s+=268435456*(127&r),0==(128&r))break;if(r=e[t++],s+=34359738368*(127&r),0==(128&r))break;if(r=e[t++],s+=4398046511104*(127&r),0==(128&r))break;if(r=e[t++],s+=562949953421312*(127&r),0==(128&r))break;if(r=e[t++],s+=72057594037927940*(127&r),0==(128&r))break;if(r=e[t++],s+=0x8000000000000000*(127&r),0==(128&r))break;throw new Error("Varint too long!")}while(0);else{let n=1;for(;t!==this._end&&(r=e[t],0!=(128&r));)++t,s+=(127&r)*n,n*=128;if(t===this._end)throw new Error("Varint overrun!");++t,s+=r*n}return this._pos=t,n?-(s+1)/2:s/2}_getLength(){if(this._dataType!==r.delimited)throw new Error("Not a delimited data type!");return this._decodeVarint()}_getLengthUnsafe(){return this.getUInt32()}_toString(e,t,s){if((s=Math.min(this._end,s))-t>l){const r=e.subarray(t,s);return u.decode(r)}let r="",n="";for(let i=t;i<s;++i){const t=e[i];128&t?n+="%"+t.toString(16):(r+=decodeURIComponent(n)+String.fromCharCode(t),n="")}return n.length&&(r+=decodeURIComponent(n)),r}_toBytes(e,t,s){return s=Math.min(this._end,s),new Uint8Array(e.buffer,t,s-t)}}c.pool=new a.Z(c,void 0,(e=>{e._data=null,e._dataView=null}))},16306:(e,t,s)=>{s.d(t,{aX:()=>S});var r=s(68773),n=s(20102),i=s(92604),a=s(38913),o=s(58901),u=s(73913),l=s(8744),c=s(40488),f=(s(66577),s(3172)),p=s(33955),d=s(11282),h=s(17452);async function g(e,t,s){const r="string"==typeof e?(0,h.mN)(e):e,n=t[0].spatialReference,i=(0,p.Ji)(t[0]),a={...s,query:{...r.query,f:"json",sr:(0,l.B9)(n),geometries:JSON.stringify((u=t,{geometryType:(0,p.Ji)(u[0]),geometries:u.map((e=>e.toJSON()))}))}},{data:o}=await(0,f.Z)(r.path+"/simplify",a);var u;return function(e,t,s){const r=(0,p.q9)(t);return e.map((e=>{const t=r.fromJSON(e);return t.spatialReference=s,t}))}(o.geometries,i,n)}const y=i.Z.getLogger("esri.geometry.support.normalizeUtils");function m(e){return"polygon"===e[0].type}function _(e){return"polyline"===e[0].type}function b(e,t,s){if(t){const t=function(e,t){if(!(e instanceof o.Z||e instanceof a.Z)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw y.error(e),new n.Z(e)}const s=(0,u.x3)(e),r=[];for(const e of s){const s=[];r.push(s),s.push([e[0][0],e[0][1]]);for(let r=0;r<e.length-1;r++){const n=e[r][0],i=e[r][1],a=e[r+1][0],o=e[r+1][1],u=Math.sqrt((a-n)*(a-n)+(o-i)*(o-i)),l=(o-i)/u,c=(a-n)/u,f=u/t;if(f>1){for(let e=1;e<=f-1;e++){const r=e*t,a=c*r+n,o=l*r+i;s.push([a,o])}const e=(u+Math.floor(f-1)*t)/2,r=c*e+n,a=l*e+i;s.push([r,a])}s.push([a,o])}}return function(e){return"polygon"===e.type}(e)?new a.Z({rings:r,spatialReference:e.spatialReference}):new o.Z({paths:r,spatialReference:e.spatialReference})}(e,1e6);e=(0,c.Sx)(t,!0)}return s&&(e=(0,u.Sy)(e,s)),e}function k(e,t,s){if(Array.isArray(e)){const r=e[0];if(r>t){const s=(0,u.XZ)(r,t);e[0]=r+s*(-2*t)}else if(r<s){const t=(0,u.XZ)(r,s);e[0]=r+t*(-2*s)}}else{const r=e.x;if(r>t){const s=(0,u.XZ)(r,t);e=e.clone().offset(s*(-2*t),0)}else if(r<s){const t=(0,u.XZ)(r,s);e=e.clone().offset(t*(-2*s),0)}}return e}function x(e,t){let s=-1;for(let r=0;r<t.cutIndexes.length;r++){const n=t.cutIndexes[r],i=t.geometries[r],a=(0,u.x3)(i);for(let e=0;e<a.length;e++){const t=a[e];t.some((s=>{if(s[0]<180)return!0;{let s=0;for(let e=0;e<t.length;e++){const r=t[e][0];s=r>s?r:s}s=Number(s.toFixed(9));const r=-360*(0,u.XZ)(s,180);for(let s=0;s<t.length;s++){const t=i.getPoint(e,s);i.setPoint(e,s,t.clone().offset(r,0))}return!0}}))}if(n===s){if(m(e))for(const t of(0,u.x3)(i))e[n]=e[n].addRing(t);else if(_(e))for(const t of(0,u.x3)(i))e[n]=e[n].addPath(t)}else s=n,e[n]=i}return e}async function S(e,t,s){if(!Array.isArray(e))return S([e],t);t&&"string"!=typeof t&&y.warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const n="string"==typeof t?t:t?.url??r.default.geometryServiceUrl;let i,h,m,_,w,T,q,F,R=0;const I=[],U=[];for(const t of e)if(null!=t)if(i||(i=t.spatialReference,h=(0,l.C5)(i),m=i.isWebMercator,T=m?102100:4326,_=u.UZ[T].maxX,w=u.UZ[T].minX,q=u.UZ[T].plus180Line,F=u.UZ[T].minus180Line),h)if("mesh"===t.type)U.push(t);else if("point"===t.type)U.push(k(t.clone(),_,w));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map((e=>k(e,_,w))),U.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,h);U.push(e.rings?new a.Z(e):e)}else if(t.extent){const e=t.extent,s=(0,u.XZ)(e.xmin,w)*(2*_);let r=0===s?t.clone():(0,u.Sy)(t.clone(),s);e.offset(s,0),e.intersects(q)&&e.xmax!==_?(R=e.xmax>R?e.xmax:R,r=b(r,m),I.push(r),U.push("cut")):e.intersects(F)&&e.xmin!==w?(R=e.xmax*(2*_)>R?e.xmax*(2*_):R,r=b(r,m,360),I.push(r),U.push("cut")):U.push(r)}else U.push(t.clone());else U.push(t);else U.push(t);let Z=(0,u.XZ)(R,_),E=-90;const V=Z,O=new o.Z;for(;Z>0;){const e=360*Z-180;O.addPath([[e,E],[e,-1*E]]),E*=-1,Z--}if(I.length>0&&V>0){const t=x(I,await async function(e,t,s,r){const n=(0,d.en)(e),i=t[0].spatialReference,a={...r,query:{...n.query,f:"json",sr:(0,l.B9)(i),target:JSON.stringify({geometryType:(0,p.Ji)(t[0]),geometries:t}),cutter:JSON.stringify(s)}},o=await(0,f.Z)(n.path+"/cut",a),{cutIndexes:u,geometries:c=[]}=o.data;return{cutIndexes:u,geometries:c.map((e=>{const t=(0,p.im)(e);return t.spatialReference=i,t}))}}(n,I,O,s)),r=[],i=[];for(let s=0;s<U.length;s++){const n=U[s];if("cut"!==n)i.push(n);else{const n=t.shift(),a=e[s];null!=a&&"polygon"===a.type&&a.rings&&a.rings.length>1&&n.rings.length>=a.rings.length?(r.push(n),i.push("simplify")):i.push(m?(0,c.$)(n):n)}}if(!r.length)return i;const a=await g(n,r,s),o=[];for(let e=0;e<i.length;e++){const t=i[e];"simplify"!==t?o.push(t):o.push(m?(0,c.$)(a.shift()):a.shift())}return o}const N=[];for(let e=0;e<U.length;e++){const t=U[e];if("cut"!==t)N.push(t);else{const e=I.shift();N.push(!0===m?(0,c.$)(e):e)}}return N}},73913:(e,t,s)=>{s.d(t,{Sy:()=>u,UZ:()=>a,XZ:()=>o,x3:()=>l});var r=s(58901),n=s(82971),i=s(33955);const a={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new r.Z({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.Z.WebMercator}),minus180Line:new r.Z({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.Z.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new r.Z({paths:[[[180,-180],[180,180]]],spatialReference:n.Z.WGS84}),minus180Line:new r.Z({paths:[[[-180,-180],[-180,180]]],spatialReference:n.Z.WGS84})}};function o(e,t){return Math.ceil((e-t)/(2*t))}function u(e,t){const s=l(e);for(const e of s)for(const s of e)s[0]+=t;return e}function l(e){return(0,i.oU)(e)?e.rings:e.paths}},76497:(e,t,s)=>{function r(e){const t={};for(const s in e){if("declaredClass"===s)continue;const n=e[s];if(null!=n&&"function"!=typeof n)if(Array.isArray(n)){t[s]=[];for(let e=0;e<n.length;e++)t[s][e]=r(n[e])}else"object"==typeof n?n.toJSON&&(t[s]=JSON.stringify(n)):t[s]=n}return t}s.d(t,{A:()=>r})},77863:(e,t,s)=>{s.d(t,{G$:()=>w,K9:()=>I,wn:()=>_});var r=s(20102),n=s(45091),i=s(5428),a=s(78760);const o=["esriFieldTypeSmallInteger","esriFieldTypeInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeString","esriFieldTypeDate","esriFieldTypeOID","esriFieldTypeGeometry","esriFieldTypeBlob","esriFieldTypeRaster","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeXML","esriFieldTypeBigInteger","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"],u=["sqlTypeBigInt","sqlTypeBinary","sqlTypeBit","sqlTypeChar","sqlTypeDate","sqlTypeDecimal","sqlTypeDouble","sqlTypeFloat","sqlTypeGeometry","sqlTypeGUID","sqlTypeInteger","sqlTypeLongNVarchar","sqlTypeLongVarbinary","sqlTypeLongVarchar","sqlTypeNChar","sqlTypeNVarchar","sqlTypeOther","sqlTypeReal","sqlTypeSmallInt","sqlTypeSqlXml","sqlTypeTime","sqlTypeTimestamp","sqlTypeTimestamp2","sqlTypeTinyInt","sqlTypeVarbinary","sqlTypeVarchar"],l=["upperLeft","lowerLeft"];function c(e){return e>=o.length?null:o[e]}function f(e){return e>=u.length?null:u[e]}function p(e){return e>=l.length?null:l[e]}function d(e,t){return t>=e.geometryTypes.length?null:e.geometryTypes[t]}function h(e,t,s){const r=e.asUnsafe(),n=t.createPointGeometry(s);for(;r.next();)switch(r.tag()){case 3:{const e=r.getUInt32(),s=r.pos()+e;let i=0;for(;r.pos()<s;)t.addCoordinatePoint(n,r.getSInt64(),i++);break}default:r.skip()}return n}function g(e,t,s){const r=e.asUnsafe(),n=t.createGeometry(s),i=2+(s.hasZ?1:0)+(s.hasM?1:0);for(;r.next();)switch(r.tag()){case 2:{const e=r.getUInt32(),s=r.pos()+e;let i=0;for(;r.pos()<s;)t.addLength(n,r.getUInt32(),i++);break}case 3:{const e=r.getUInt32(),s=r.pos()+e;let a=0;for(t.allocateCoordinates(n);r.pos()<s;)t.addCoordinate(n,r.getSInt64(),a),a++,a===i&&(a=0);break}default:r.skip()}return n}function y(e){const t=e.asUnsafe(),s=new i.Z;let r="esriGeometryPoint";for(;t.next();)switch(t.tag()){case 2:{const e=t.getUInt32(),r=t.pos()+e;for(;t.pos()<r;)s.lengths.push(t.getUInt32());break}case 3:{const e=t.getUInt32(),r=t.pos()+e;for(;t.pos()<r;)s.coords.push(t.getSInt64());break}case 1:r=a.S[t.getEnum()];break;default:t.skip()}return{queryGeometry:s,queryGeometryType:r}}function m(e){const t=e.asUnsafe();for(;t.next();)switch(t.tag()){case 1:return t.getString();case 2:return t.getFloat();case 3:return t.getDouble();case 4:return t.getSInt32();case 5:return t.getUInt32();case 6:return t.getInt64();case 7:return t.getUInt64();case 8:return t.getSInt64();case 9:return t.getBool();default:return t.skip(),null}return null}function _(e){const t=e.asUnsafe(),s={type:c(0)};for(;t.next();)switch(t.tag()){case 1:s.name=t.getString();break;case 2:s.type=c(t.getEnum());break;case 3:s.alias=t.getString();break;case 4:s.sqlType=f(t.getEnum());break;case 5:default:t.skip();break;case 6:s.defaultValue=t.getString()}return s}function b(e){const t={},s=e.asUnsafe();for(;s.next();)switch(s.tag()){case 1:t.name=s.getString();break;case 2:t.isSystemMaintained=s.getBool();break;default:s.skip()}return t}function k(e,t,s,r){const n=t.createFeature(s);let i=0;for(;e.next();)switch(e.tag()){case 1:{const t=r[i++].name;n.attributes[t]=e.processMessage(m);break}case 2:n.geometry=e.processMessageWithArgs(g,t,s);break;case 4:n.centroid=e.processMessageWithArgs(h,t,s);break;default:e.skip()}return n}function x(e){const t=[1,1,1,1],s=e.asUnsafe();for(;s.next();)switch(s.tag()){case 1:t[0]=s.getDouble();break;case 2:t[1]=s.getDouble();break;case 4:t[2]=s.getDouble();break;case 3:t[3]=s.getDouble();break;default:s.skip()}return t}function S(e){const t=[0,0,0,0],s=e.asUnsafe();for(;s.next();)switch(s.tag()){case 1:t[0]=s.getDouble();break;case 2:t[1]=s.getDouble();break;case 4:t[2]=s.getDouble();break;case 3:t[3]=s.getDouble();break;default:s.skip()}return t}function w(e){const t={originPosition:p(0)},s=e.asUnsafe();for(;s.next();)switch(s.tag()){case 1:t.originPosition=p(s.getEnum());break;case 2:t.scale=s.processMessage(x);break;case 3:t.translate=s.processMessage(S);break;default:s.skip()}return t}function T(e){const t={},s=e.asUnsafe();for(;s.next();)switch(s.tag()){case 1:t.shapeAreaFieldName=s.getString();break;case 2:t.shapeLengthFieldName=s.getString();break;case 3:t.units=s.getString();break;default:s.skip()}return t}function q(e,t){const s=t.createSpatialReference();for(;e.next();)switch(e.tag()){case 1:s.wkid=e.getUInt32();break;case 5:s.wkt=e.getString();break;case 2:s.latestWkid=e.getUInt32();break;case 3:s.vcsWkid=e.getUInt32();break;case 4:s.latestVcsWkid=e.getUInt32();break;default:e.skip()}return s}function F(e,t){const s=t.createFeatureResult(),r=e.asUnsafe();s.geometryType=d(t,0);let n=!1;for(;r.next();)switch(r.tag()){case 1:s.objectIdFieldName=r.getString();break;case 3:s.globalIdFieldName=r.getString();break;case 4:s.geohashFieldName=r.getString();break;case 5:s.geometryProperties=r.processMessage(T);break;case 7:s.geometryType=d(t,r.getEnum());break;case 8:s.spatialReference=r.processMessageWithArgs(q,t);break;case 10:s.hasZ=r.getBool();break;case 11:s.hasM=r.getBool();break;case 12:s.transform=r.processMessage(w);break;case 9:s.exceededTransferLimit=r.getBool();break;case 13:t.addField(s,r.processMessage(_));break;case 15:n||(t.prepareFeatures(s),n=!0),t.addFeature(s,r.processMessageWithArgs(k,t,s,s.fields));break;case 2:s.uniqueIdField=r.processMessage(b);break;default:r.skip()}return t.finishFeatureResult(s),s}function R(e,t){const s={};let r=null;for(;e.next();)switch(e.tag()){case 4:r=e.processMessageWithArgs(y);break;case 1:s.featureResult=e.processMessageWithArgs(F,t);break;default:e.skip()}return null!=r&&s.featureResult&&t.addQueryGeometry(s,r),s}function I(e,t){try{const s=2,r=new n.Z(new Uint8Array(e),new DataView(e)),i={};for(;r.next();)r.tag()===s?i.queryResult=r.processMessageWithArgs(R,t):r.skip();return i}catch(e){throw new r.Z("query:parsing-pbf","Error while parsing FeatureSet PBF payload",{error:e})}}},78760:(e,t,s)=>{s.d(t,{J:()=>l,S:()=>u});var r=s(67900),n=s(8744),i=s(70272),a=s(44876),o=s(5428);const u=["esriGeometryPoint","esriGeometryMultipoint","esriGeometryPolyline","esriGeometryPolygon"];class l{constructor(e){this._options=e,this.geometryTypes=u,this._coordinatePtr=0,this._vertexDimension=0}createFeatureResult(){return new a.Z}prepareFeatures(e){this._vertexDimension=2,e.hasZ&&this._vertexDimension++,e.hasM&&this._vertexDimension++}finishFeatureResult(e){if(!e||!e.features||!e.hasZ||!this._options.sourceSpatialReference||!e.spatialReference||(0,n.fS)(e.spatialReference,this._options.sourceSpatialReference)||e.spatialReference.vcsWkid)return;const t=(0,r._R)(this._options.sourceSpatialReference)/(0,r._R)(e.spatialReference);if(1!==t)for(const s of e.features){if(!(0,i.S6)(s))continue;const e=s.geometry.coords;for(let s=2;s<e.length;s+=3)e[s]*=t}}addFeature(e,t){e.features.push(t)}createFeature(){return new i.u_}createSpatialReference(){return{wkid:0}}createGeometry(){return new o.Z}addField(e,t){e.fields.push(t)}allocateCoordinates(e){e.coords.length=e.lengths.reduce(((e,t)=>e+t),0)*this._vertexDimension,this._coordinatePtr=0}addCoordinate(e,t){e.coords[this._coordinatePtr++]=t}addCoordinatePoint(e,t){e.coords.push(t)}addLength(e,t){e.lengths.push(t)}addQueryGeometry(e,t){e.queryGeometry=t.queryGeometry,e.queryGeometryType=t.queryGeometryType}createPointGeometry(){return new o.Z}}},45178:(e,t,s)=>{s.d(t,{C:()=>n});var r=s(77863);function n(e,t){const s=(0,r.K9)(e,t),n=s.queryResult.featureResult,i=s.queryResult.queryGeometry,a=s.queryResult.queryGeometryType;if(n&&n.features&&n.features.length&&n.objectIdFieldName){const e=n.objectIdFieldName;for(const t of n.features)t.attributes&&(t.objectId=t.attributes[e])}return n&&(n.queryGeometry=i,n.queryGeometryType=a),n}},34599:(e,t,s)=>{s.d(t,{Ev:()=>y,JT:()=>d,Vr:()=>_,hH:()=>m,n7:()=>g,qp:()=>h});var r=s(3172),n=s(17452),i=s(33955),a=s(16306),o=s(8744),u=s(76497),l=s(45178),c=s(28694);const f="Layer does not support extent calculation.";function p(e,t){const s=e.geometry,r=e.toJSON();delete r.compactGeometryEnabled,delete r.defaultSpatialReferenceEnabled;const n=r;let a,u,l;if(null!=s&&(u=s.spatialReference,l=(0,o.B9)(u),n.geometryType=(0,i.Ji)(s),n.geometry=function(e,t){if(t&&"extent"===e.type)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&"point"===e.type)return`${e.x},${e.y}`;const s=e.toJSON();return delete s.spatialReference,JSON.stringify(s)}(s,e.compactGeometryEnabled),n.inSR=l),r.groupByFieldsForStatistics&&(n.groupByFieldsForStatistics=r.groupByFieldsForStatistics.join(",")),r.objectIds&&(n.objectIds=r.objectIds.join(",")),r.orderByFields&&(n.orderByFields=r.orderByFields.join(",")),!r.outFields||!r.returnDistinctValues&&(t?.returnCountOnly||t?.returnExtentOnly||t?.returnIdsOnly)?delete n.outFields:r.outFields.includes("*")?n.outFields="*":n.outFields=r.outFields.join(","),r.outSR?(n.outSR=(0,o.B9)(r.outSR),a=e.outSpatialReference):s&&(r.returnGeometry||r.returnCentroid)&&(n.outSR=n.inSR,a=u),r.returnGeometry&&delete r.returnGeometry,r.outStatistics&&(n.outStatistics=JSON.stringify(r.outStatistics)),r.fullText&&(n.fullText=JSON.stringify(r.fullText)),r.pixelSize&&(n.pixelSize=JSON.stringify(r.pixelSize)),r.quantizationParameters&&(e.defaultSpatialReferenceEnabled&&null!=u&&null!=e.quantizationParameters&&null!=e.quantizationParameters.extent&&u.equals(e.quantizationParameters.extent.spatialReference)&&delete r.quantizationParameters.extent.spatialReference,n.quantizationParameters=JSON.stringify(r.quantizationParameters)),r.parameterValues&&(n.parameterValues=JSON.stringify(r.parameterValues)),r.rangeValues&&(n.rangeValues=JSON.stringify(r.rangeValues)),r.dynamicDataSource&&(n.layer=JSON.stringify({source:r.dynamicDataSource}),delete r.dynamicDataSource),r.timeExtent){const e=r.timeExtent,{start:t,end:s}=e;null==t&&null==s||(n.time=t===s?t:`${t??"null"},${s??"null"}`),delete r.timeExtent}return e.defaultSpatialReferenceEnabled&&null!=u&&null!=a&&u.equals(a)&&(n.defaultSR=n.inSR,delete n.inSR,delete n.outSR),n}async function d(e,t,s,r){const n=null!=t.timeExtent&&t.timeExtent.isEmpty?{data:{features:[]}}:await b(e,t,"json",r);return(0,c.p)(t,s,n.data),n}async function h(e,t,s,r){if(null!=t.timeExtent&&t.timeExtent.isEmpty)return{data:s.createFeatureResult()};const n=await g(e,t,r),i=n;return i.data=(0,l.C)(n.data,s),i}function g(e,t,s){return b(e,t,"pbf",s)}function y(e,t,s){return null!=t.timeExtent&&t.timeExtent.isEmpty?Promise.resolve({data:{objectIds:[]}}):b(e,t,"json",s,{returnIdsOnly:!0})}function m(e,t,s){return null!=t.timeExtent&&t.timeExtent.isEmpty?Promise.resolve({data:{count:0}}):b(e,t,"json",s,{returnIdsOnly:!0,returnCountOnly:!0})}async function _(e,t,s){if(null!=t.timeExtent&&t.timeExtent.isEmpty)return{data:{count:0,extent:null}};const r=await b(e,t,"json",s,{returnExtentOnly:!0,returnCountOnly:!0}),n=r.data;if(n.hasOwnProperty("extent"))return r;if(n.features)throw new Error(f);if(n.hasOwnProperty("count"))throw new Error(f);return r}async function b(e,t,s,i={},o={}){const l="string"==typeof e?(0,n.mN)(e):e,c=t.geometry?[t.geometry]:[];i.responseType="pbf"===s?"array-buffer":"json";const f=await(0,a.aX)(c,null,i),d=f&&f[0];null!=d&&((t=t.clone()).geometry=d);const h=(0,u.A)({...l.query,f:s,...o,...p(t,o)});return(0,r.Z)((0,n.v_)(l.path,(g=o,null==t.formatOf3DObjects||g.returnCountOnly||g.returnExtentOnly||g.returnIdsOnly?"query":"query3d")),{...i,query:{...h,...i.query}});var g}},11282:(e,t,s)=>{s.d(t,{cv:()=>o,en:()=>a,lA:()=>i}),s(68773),s(40330);var r=s(22974),n=s(17452);function i(e,t){return t?{...t,query:{...e??{},...t.query}}:{query:e}}function a(e){return"string"==typeof e?(0,n.mN)(e):(0,r.d9)(e)}function o(e,t,s){const r={};for(const n in e){if("declaredClass"===n)continue;const i=e[n];if(null!=i&&"function"!=typeof i)if(Array.isArray(i)){r[n]=[];for(let e=0;e<i.length;e++)r[n][e]=o(i[e])}else if("object"==typeof i)if(i.toJSON){const e=i.toJSON(s&&s[n]);r[n]=t?e:JSON.stringify(e)}else r[n]=t?i:JSON.stringify(i);else r[n]=i}return r}s(71058)}}]);