@arcgis/core 5.2.0-next.76 → 5.2.0-next.78
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.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{dbdd96e558936955acdb.js → 040a73b2a23577e1eabd.js} +1 -1
- package/assets/esri/core/workers/chunks/{bad2c7219e95750906e1.js → 05663093b1d2a268b953.js} +1 -1
- package/assets/esri/core/workers/chunks/{755b2d883fba90c4e688.js → 06c8547521ce9c97b258.js} +2 -2
- package/assets/esri/core/workers/chunks/{a014c17fc210620da738.js → 17e9324a02b69733307a.js} +2 -2
- package/assets/esri/core/workers/chunks/29a20a37e7837142fa6b.js +2 -0
- package/assets/esri/core/workers/chunks/{4945d6b0ca1812864185.js → 385b23d4bd5275031fb6.js} +1 -1
- package/assets/esri/core/workers/chunks/3958d92c737b3a2a3bc2.js +1 -0
- package/assets/esri/core/workers/chunks/{9c3e6325dc60bcaf44d7.js → 4115bab15c19b4f5ae08.js} +1 -1
- package/assets/esri/core/workers/chunks/{ff578f0ca68d652fece5.js → 57e26a86d46e02c89c4f.js} +1 -1
- package/assets/esri/core/workers/chunks/{8b980c6b92cc4ea68ede.js → 81cd0cb9ae1371765d32.js} +1 -1
- package/assets/esri/core/workers/chunks/{de927b1460bc384f5b87.js → 83556c9f6f85c2a46779.js} +1 -1
- package/assets/esri/core/workers/chunks/{f4aa6e90200f61e623e5.js → 8762da315cf5086167c3.js} +1 -1
- package/assets/esri/core/workers/chunks/{46e56fac44e0fd26ba1d.js → 95956d62591d689f1135.js} +1 -1
- package/assets/esri/core/workers/chunks/{9e2e4d197a7a57c2a691.js → ac2ba5c3d613d7d5183a.js} +1 -1
- package/assets/esri/core/workers/chunks/{94b9a61b4dbb83425a78.js → b2812279662f1a5f8d06.js} +1 -1
- package/assets/esri/core/workers/chunks/b82763e9401b16121f8d.js +2 -0
- package/assets/esri/core/workers/chunks/{83e54166ba634ec2bd89.js → c69cf08da4e4c2c824ee.js} +10 -10
- package/assets/esri/core/workers/chunks/{6c740c411b085d2d08c4.js → cd74de12005834244a47.js} +1 -1
- package/assets/esri/core/workers/chunks/{6e45ecf359bce3417f5d.js → ef803fb25741e9f2a0a1.js} +1 -1
- package/assets/esri/core/workers/chunks/f3bbebedad51f776bb98.js +1 -0
- package/assets/esri/core/workers/chunks/{a91c1d782346a9c7e1ef.js → f703bc002c732d1c045d.js} +1 -1
- package/assets/esri/core/workers/chunks/fdd4f78facec6387cdb0.js +1 -0
- package/assets/esri/core/workers/chunks/ffd5285c7b2c83208f87.js +2 -0
- package/config.js +1 -1
- package/geometry/support/webMercatorUtils.d.ts +38 -14
- package/kernel.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/VectorTileLayer.d.ts +40 -22
- package/layers/mixins/RasterJobHandlerMixin.js +1 -1
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/package.json +4 -4
- package/support/revision.js +1 -1
- package/views/2d/engine/BitmapTile.js +1 -1
- package/views/2d/engine/flow/styles/Imagery.js +1 -1
- package/views/2d/engine/flow/styles/Particles.js +1 -1
- package/views/2d/engine/flow/styles/Streamlines.js +1 -1
- package/views/2d/engine/imagery/RasterTile.js +1 -1
- package/views/2d/engine/imagery/RasterVFTile.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
- package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
- package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
- package/views/2d/engine/webgl/Painter.js +1 -1
- package/views/2d/engine/webgl/RenderingDevice.js +1 -1
- package/views/2d/engine/webgl/TileContainer.js +1 -1
- package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
- package/views/2d/engine/webgl/normalizedTileUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/drop-shadow/DropShadowTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/flow/FlowTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/LineTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/VectorFieldTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/Tile.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileInfo.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ViewInfo.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterColorizerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/MagDirShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/ScalarShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderBackground.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderCircle.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderFill.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderIcon.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderLine.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderOutline.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderText.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileStencilTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/utility/DebugOverlayTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueCircle.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueLine.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/support/DisplayGL.js +1 -1
- package/views/3d/GroundView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
- package/views/3d/state/HUDOccludedFragmentOpacity.js +1 -1
- package/views/3d/state/ViewState.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/support/GaussianSplatSortWorker.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianTile.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/PatchRenderDataWaterproofness.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TerrainWaterproofnessDiagnostics.js +2 -0
- package/views/3d/terrain/TileCompositor.js +1 -1
- package/views/3d/webgl-engine/lib/Geometry.js +1 -1
- package/views/3d/webgl-engine/parts/Model.js +1 -1
- package/views/VideoView.js +1 -1
- package/views/support/waitForResources.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/views/webgl/UniformBufferLayout.js +1 -1
- package/views/webgl/UniformBufferObject.js +1 -1
- package/widgets/Feature/FeatureViewModel.d.ts +4 -3
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/Feature.js +1 -1
- package/widgets/Features/FeaturesViewModel.d.ts +4 -2
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
- package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
- package/widgets/Popup/PopupViewModel.d.ts +1 -0
- package/widgets/Popup/PopupViewModel.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
- package/assets/esri/core/workers/chunks/0502641d9a214b37ff29.js +0 -1
- package/assets/esri/core/workers/chunks/4f8ce5887102971bfa34.js +0 -2
- package/assets/esri/core/workers/chunks/532e3a59888e4cc13bd3.js +0 -2
- package/assets/esri/core/workers/chunks/a19be304219808268039.js +0 -2
- package/assets/esri/core/workers/chunks/b950ddafba8125c84a5b.js +0 -1
- package/assets/esri/core/workers/chunks/de9a1cce70581920f248.js +0 -1
- package/views/2d/engine/webgl/shaderGraph/types.js +0 -2
- package/views/2d/engine/webgl/shaderGraph/uniformBufferUtils.js +0 -2
- /package/assets/esri/core/workers/chunks/{755b2d883fba90c4e688.js.LICENSE.txt → 06c8547521ce9c97b258.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{a014c17fc210620da738.js.LICENSE.txt → 17e9324a02b69733307a.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{4f8ce5887102971bfa34.js.LICENSE.txt → 29a20a37e7837142fa6b.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{a19be304219808268039.js.LICENSE.txt → b82763e9401b16121f8d.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{532e3a59888e4cc13bd3.js.LICENSE.txt → ffd5285c7b2c83208f87.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5856],{35856(t,e,n){n.r(e),n.d(e,{SplatSortWorkerInput:()=>s,SplatSortWorkerOutput:()=>r,clear:()=>M,destroy:()=>k,sort:()=>m});class s{constructor(t,e,n,s,r,i,o,l,a=!1){this.addedTiles=t,this.removedTileHandles=e,this.visibleTileHandles=n,this.sortedAtlasIndices=s,this.numGaussians=r,this.directionX=i,this.directionY=o,this.directionZ=l,this.preciseSort=a}}class r{constructor(t){this.sortedAtlasIndices=t}}let i=null,o=0,l=null,a=0,c=null,u=0;const d=new Map;function f(t,e){let n=Math.max(1,t);for(;n<e;)n=Math.ceil(1.5*n);return n}function h(t){t>o&&(o=f(o,t),i=new Uint32Array(o)),i.fill(0,0,t)}function w(t){t<=a||(a=f(a,t),l=new Float64Array(a))}function g(t){return t>u&&(u=f(u,t),c=new Uint32Array(u)),c}function p(t,e,n){const s=t.length,r=Math.max(10,Math.min(20,Math.round(Math.log2(s/.25)))),o=1+(1<<r);h(o);let l=t[0],a=t[0];for(let e=0;e<s;e++)l=Math.min(l,t[e]),a=Math.max(a,t[e]);const c=a-l,u=c>=1e-6,f=u?(1<<r)/c:0;if(u)for(let e=0;e<s;e++){const n=(t[e]-l)*f>>>0;i[n]++}else i[0]=s;for(let t=1;t<o;t++)i[t]+=i[t-1];let w=0;for(let s=0;s<e.length;s++){const r=d.get(e[s]);if(null==r)throw new Error("Gaussian splat sort worker is missing resident tile data");const o=w+r.gaussianCount;for(let e=0;e<r.pageIds.length&&w<o;e++){const s=1024*r.pageIds[e],a=Math.min(o-w,1024);for(let e=0;e<a;e++,w++){const r=u?(t[w]-l)*f>>>0:0;n[--i[r]]=s+e}}}if(w!==s)throw new Error("Gaussian splat sort worker received inconsistent resident tile data")}async function m(t){const{addedTiles:e,removedTileHandles:n,visibleTileHandles:s,sortedAtlasIndices:i,numGaussians:o,directionX:a,directionY:c,directionZ:u,preciseSort:f}=t;for(let t=0;t<n.length;t++)d.delete(n[t]);for(let t=0;t<e.length;t++){const n=e[t];d.set(n.handle,n)}if(0===o)return{result:new r(i),transferList:[i.buffer]};w(o);const h=l.subarray(0,o),m=i.subarray(0,o);let k=0;for(let t=0;t<s.length;t++){const e=d.get(s[t]);if(null==e)throw new Error("Gaussian splat sort worker is missing resident tile data");const{relativePositions:n,gaussianCount:r,originX:i,originY:o,originZ:l}=e,f=k+r,w=a*i+c*o+u*l;for(let t=0;k<f;k++,t+=3)h[k]=n[t]*a+n[t+1]*c+n[t+2]*u+w}if(k!==o)throw new Error("Gaussian splat sort worker received inconsistent resident tile data");if(f){const t=g(o).subarray(0,o);!function(t,e){let n=0;for(let s=0;s<t.length;s++){const r=d.get(t[s]);if(null==r)throw new Error("Gaussian splat sort worker is missing resident tile data");const i=n+r.gaussianCount;for(let t=0;t<r.pageIds.length&&n<i;t++){const s=1024*r.pageIds[t],o=Math.min(i-n,1024);for(let t=0;t<o;t++,n++)e[n]=s+t}}if(n!==e.length)throw new Error("Gaussian splat sort worker received inconsistent resident tile data")}(s,t);const e=new Array(o);for(let t=0;t<o;t++)e[t]=t;e.sort((t,e)=>h[t]-h[e]||t-e);for(let n=0;n<o;n++)m[n]=t[e[n]]}else o>0&&p(h,s,m);return{result:new r(i),transferList:[i.buffer]}}function k(){M()}function M(){d.clear(),l=null,a=0,c=null,u=0,i=null,o=0}}}]);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see ffd5285c7b2c83208f87.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4591],{29255(e,t,i){function n(e){return"Enter"===e||" "===e}i.d(t,{i:()=>n}),i.d(t,["n",0,["0","1","2","3","4","5","6","7","8","9"]])},60850(e,t,i){function n(e){return e.label||e.labelEl?.textContent?.trim()||""}i.d(t,{g:()=>n})},54553(e,t,i){i.d(t,{i:()=>r});const n="calcite-action",a={button:e=>`${n}-${e}-button`,indicator:e=>`${n}-${e}-indicator`};function r(e){return"CALCITE-ACTION"===e?.tagName}i.d(t,["C",0,{button:"button",buttonTextVisible:"button--text-visible",buttonCompact:"button--compact",iconContainer:"icon-container",slotContainer:"slot-container",slotContainerHidden:"slot-container--hidden",textContainer:"text-container",textContainerVisible:"text-container--visible",indicatorWithIcon:"indicator-with-icon",indicatorWithoutIcon:"indicator-without-icon"},"I",0,a])},24185(e,t,i){i.d(t,{a:()=>x});var n=i(57791),a=i(78948);const r=(0,n.aK)((e,t)=>{t.onConnected(()=>{m(e)}),t.onDisconnected(()=>{!function(e){if(!e)return;if(b.delete(e),document.removeEventListener(o,p.get(e)),document.removeEventListener(c,h.get(e)),p.delete(e),h.delete(e),!e.labelEl)return;const t=d.get(e.labelEl);1===t.length&&(e.labelEl.removeEventListener(l,u.get(e.labelEl)),u.delete(e.labelEl)),d.set(e.labelEl,t.filter(t=>t!==e).sort(g)),e.labelEl=void 0}(e)})}),l="calciteInternalLabelClick",o="calciteInternalLabelConnected",c="calciteInternalLabelDisconnected",s="calcite-label",d=new WeakMap,u=new WeakMap,p=new WeakMap,h=new WeakMap,b=new Set;function m(e){if(!e)return;const t=(e=>{const{id:t}=e,i=t&&(0,a.r)(e,{selector:`${s}[for="${t}"]`});if(i)return i;const n=(0,a.c)(e,s);return!n||function(e,t){let i;const n="custom-element-ancestor-check",a=n=>{n.stopImmediatePropagation();const a=n.composedPath();i=a.slice(a.indexOf(t),a.indexOf(e))};return e.addEventListener(n,a,{once:!0}),t.dispatchEvent(new CustomEvent(n,{composed:!0,bubbles:!0})),e.removeEventListener(n,a),i.filter(i=>i!==t&&i!==e).filter(e=>e.tagName?.includes("-")).length>0}(n,e)?null:n})(e.el);if(t&&u.has(t)&&t===e.labelEl||!t&&b.has(e))return;const i=y.bind(e);if(t){e.labelEl=t;const n=d.get(t)||[];n.push(e),d.set(t,n.sort(g)),u.has(e.labelEl)||(u.set(e.labelEl,v),e.labelEl.addEventListener(l,v)),b.delete(e),document.removeEventListener(o,p.get(e)),h.set(e,i),document.addEventListener(c,i)}else b.has(e)||(i(),document.removeEventListener(c,h.get(e)))}function g(e,t){return(0,a.t)(e.el,t.el)?-1:1}function v(e){const t=e.detail.sourceEvent.target,i=d.get(this),n=i.find(e=>e.el===t);if(n&&i.includes(n))return;const a=i[0];a.disabled||a.onLabelClick(e)}function f(){b.has(this)&&m(this)}function y(){b.add(this);const e=p.get(this)||f.bind(this);p.set(this,e),document.addEventListener(o,e)}async function x(e){if(await e.componentOnReady(),d.has(e))return;const t=e.for&&e.ownerDocument?.getElementById(e.for);t&&requestAnimationFrame(()=>{for(const e of b)if(e.el===t){m(e);break}})}i.d(t,["b",0,c,"l",0,o,"u",0,r])},63738(e,t,i){i(31873),i(3366);var n=i(61476),a=i(46913),r=i(1715),l=i(19313),o=i(5576),c=i(80423),s=i(98903),d=i(32339),u=i(25552),p=i(35407),h=i(33755),b=i(58025),m=i(54553);const g=a.AH`:host{box-sizing:border-box;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-2);font-size:var(--calcite-font-size--1)}:host *{box-sizing:border-box}:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host([scale=s]){--calcite-internal-action-font-size: var(--calcite-font-size--2);--calcite-internal-action-min-height: var(--calcite-size-sm);--calcite-internal-action-line-height: 1rem;--calcite-internal-action-spacing: var(--calcite-spacing-xxs)}:host([scale=m]){--calcite-internal-action-font-size: var(--calcite-font-size--1);--calcite-internal-action-min-height: var(--calcite-size-md);--calcite-internal-action-line-height: 1rem;--calcite-internal-action-spacing: var(--calcite-spacing-sm)}:host([scale=l]){--calcite-internal-action-font-size: var(--calcite-font-size-0);--calcite-internal-action-min-height: var(--calcite-size-lg);--calcite-internal-action-line-height: 1.25rem;--calcite-internal-action-spacing: var(--calcite-spacing-sm-plus)}:host{display:flex;cursor:pointer;background-color:transparent;--calcite-internal-action-text-color: var(--calcite-color-text-3);border-radius:var(--calcite-action-corner-radius, var(--calcite-action-corner-radius-start-start, var(--calcite-corner-radius-xs)) var(--calcite-action-corner-radius-start-end, var(--calcite-corner-radius-xs)) var(--calcite-action-corner-radius-end-end, var(--calcite-corner-radius-xs)) var(--calcite-action-corner-radius-end-start, var(--calcite-corner-radius-xs)))}.interaction-container{border-radius:inherit}:host([width=full]){flex:1 0 auto}:host([width=full]) .button{justify-content:center}:host([width=full]) .button .text-container--visible{flex:none}:host([drag-handle]){cursor:move;--calcite-internal-action-text-color: var(--calcite-color-border-input);--calcite-internal-action-padding-inline: var(--calcite-spacing-xxs)}.button{position:relative;margin:0;display:flex;inline-size:auto;align-items:center;justify-content:flex-start;border-style:none;outline-color:transparent;box-sizing:border-box;background-color:var(--calcite-action-background-color, var(--calcite-color-foreground-1));border-radius:inherit;color:var(--calcite-action-text-color, var(--calcite-internal-action-text-color));cursor:inherit;flex:1 0 auto;font-family:inherit;font-size:var(--calcite-internal-action-font-size);font-weight:var(--calcite-font-weight-normal);line-height:var(--calcite-internal-action-line-height);min-block-size:var(--calcite-internal-action-height, var(--calcite-internal-action-min-height));max-block-size:var(--calcite-internal-action-height, none);padding-block:var(--calcite-internal-action-padding-block, var(--calcite-internal-action-spacing));padding-inline:var(--calcite-internal-action-padding-inline, var(--calcite-internal-action-spacing));text-align:start}.button:hover{background-color:var(--calcite-action-background-color-hover, var(--calcite-color-foreground-2));color:var(--calcite-action-text-color-press, var(--calcite-action-text-color-pressed, var(--calcite-color-text-1)))}.button:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.button:active{background-color:var(--calcite-action-background-color-press, var(--calcite-action-background-color-pressed, var(--calcite-color-foreground-3)))}.button--text-visible{gap:var(--calcite-internal-action-spacing);inline-size:100%}.icon-container{pointer-events:none;margin:0;display:flex;align-items:center;justify-content:center}.text-container{margin:0;inline-size:0px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transition-property:opacity;transition-duration:var(--calcite-animation-timing);transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:inline-size}.text-container--visible{inline-size:auto;flex:1 1 auto;opacity:1}:host([active]) .button{background-color:var(--calcite-action-background-color, var(--calcite-color-foreground-3));color:var(--calcite-action-text-color-press, var(--calcite-action-text-color-pressed, var(--calcite-color-text-1)))}:host([active]) .button:hover{background-color:var(--calcite-action-background-color-hover, var(--calcite-color-foreground-3))}:host([active]) .button:active{background-color:var(--calcite-action-background-color-press, var(--calcite-action-background-color-pressed, var(--calcite-color-foreground-3)))}:host([loading]) .button:hover,:host([loading]) .button:focus{background-color:var(--calcite-action-background-color, var(--calcite-color-foreground-1))}:host([loading]) calcite-loader[inline]{margin-inline-end:0px;--calcite-loader-progress-color-inline: var(--calcite-action-loader-color)}:host([appearance=transparent]):host([active]) .button{background-color:var(--calcite-action-background-color-press, var(--calcite-action-background-color-pressed, var(--calcite-color-transparent-press)))}:host([appearance=transparent]) .button{transition-property:box-shadow;transition-duration:var(--calcite-animation-timing);transition-timing-function:cubic-bezier(.4,0,.2,1);background-color:var(--calcite-action-background-color, var(--calcite-color-transparent))}:host([appearance=transparent]) .button:hover{background-color:var(--calcite-action-background-color-hover, var(--calcite-color-transparent-hover))}:host([appearance=transparent]) .button:active{background-color:var(--calcite-action-background-color-press, var(--calcite-action-background-color-pressed, var(--calcite-color-transparent-press)))}:host([selection-appearance=highlight]):host([active]) .button{background-color:var(--calcite-color-surface-highlight);color:var(--calcite-color-text-highlight)}:host([active-descendant]) .button{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}:host([alignment=center]) .button{justify-content:center}:host([alignment=end]) .button{justify-content:flex-end}:host([alignment=center]) .button .text-container--visible,:host([alignment=end]) .button .text-container--visible{flex:0 1 auto}:host([scale=s][compact]) .button,:host([scale=m][compact]) .button,:host([scale=l][compact]) .button{padding-inline:0px}.slot-container{display:flex}.slot-container--hidden{display:none}.indicator-with-icon{position:relative}.indicator-with-icon:after{content:"";position:absolute;block-size:.5rem;inline-size:.5rem;border-radius:9999px;inset-block-end:-.275rem;inset-inline-end:-.275rem;background-color:var(--calcite-action-indicator-color, var(--calcite-color-brand))}.indicator-without-icon{margin-inline:.25rem;inline-size:1rem;position:relative}.indicator-without-icon:after{content:"";position:absolute;block-size:.5rem;inline-size:.5rem;border-radius:9999px;inset-block-end:-.275rem;inset-inline-end:-.275rem;background-color:var(--calcite-action-indicator-color, var(--calcite-color-brand))}:host([scale=s]) .indicator-with-icon{position:relative}:host([scale=s]) .indicator-with-icon:after{content:"";position:absolute;block-size:.5rem;inline-size:.5rem;border-radius:9999px;inset-block-end:-.125rem;inset-inline-end:-.125rem;background-color:var(--calcite-action-indicator-color, var(--calcite-color-brand));block-size:.375rem;inline-size:.375rem}:host([scale=s]) .indicator-without-icon{position:relative}:host([scale=s]) .indicator-without-icon:after{content:"";position:absolute;block-size:.5rem;inline-size:.5rem;border-radius:9999px;inset-block-end:-.175rem;inset-inline-end:-.175rem;background-color:var(--calcite-action-indicator-color, var(--calcite-color-brand));block-size:.375rem;inline-size:.375rem}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`,v=a.AH`.screen-reader-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}`;class f extends o.WF{constructor(){super(...arguments),this.guid=(0,c.g)(),this.buttonRef=(0,l._)(),this.buttonId=m.I.button(this.guid),this.mutationObserver=(0,s.c)("mutation",()=>this.requestUpdate()),this.messages=(0,u.u)({blocking:!0}),this.focusSetter=(0,p.u)()(this),this.indicatorRef=(0,l._)(),this.interactiveContainer=(0,h.u)(this),this.formTrigger=(0,b.u)()(this),this.labelElRef=(0,l._)(),this.active=!1,this.activeDescendant=!1,this.appearance="transparent",this.compact=!1,this.disabled=!1,this.dragHandle=!1,this.iconFlipRtl=!1,this.indicator=!1,this.loading=!1,this.overflowDisabled=!1,this.scale="m",this.width="auto",this.textEnabled=!1,this.type="button"}static{this.properties={aria:[0,{},{attribute:!1}],active:[7,{},{reflect:!0,type:Boolean}],activeDescendant:[7,{},{reflect:!0,type:Boolean}],alignment:[3,{},{reflect:!0}],appearance:[3,{},{reflect:!0}],compact:[7,{},{reflect:!0,type:Boolean}],disabled:[7,{},{reflect:!0,type:Boolean}],dragHandle:[7,{},{reflect:!0,type:Boolean}],form:[3,{},{reflect:!0}],icon:[3,{},{reflect:!0}],iconFlipRtl:[7,{},{reflect:!0,type:Boolean}],indicator:[7,{},{reflect:!0,type:Boolean}],label:1,loading:[7,{},{reflect:!0,type:Boolean}],messageOverrides:[0,{},{attribute:!1}],overflowDisabled:[7,{},{reflect:!0,type:Boolean}],scale:[3,{},{reflect:!0}],width:[3,{},{reflect:!0}],text:1,textEnabled:[7,{},{reflect:!0,type:Boolean}],type:[3,{},{reflect:!0}],selectionAppearance:[3,{},{reflect:!0}]}}static{this.formAssociated=!0}static{this.styles=[g,v]}async setFocus(e){return this.focusSetter(()=>this.buttonRef.value,e)}connectedCallback(){super.connectedCallback(),this.mutationObserver?.observe(this.el,{childList:!0,subtree:!0})}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect()}getAccessibleLabel(){const e=this.label||this.text||"";return this.indicator?this.messages.indicatorLabel.replace("{label}",e):e}getLabelledByElements(){const e=[...this.labelElRef.value?[this.labelElRef.value]:[],...this.aria?.labelledByElements??[]];return e.length?e:void 0}renderTextContainer(){const{text:e,textEnabled:t}=this,i={[m.C.textContainer]:!0,[m.C.textContainerVisible]:t};return e?(0,r.D)("text-container",a.qy`<div aria-hidden=true class=${(0,o.CP)(i)}>${e}</div>`):null}renderIndicatorText(){const{indicator:e,messages:t,buttonId:i}=this;return a.qy`<div aria-labelledby=${i??o.s6} aria-live=polite class=${(0,o.CP)(n.C.screenReaderText)} role=region ${(0,l.K)(this.indicatorRef)}>${e?t.indicator:null}</div>`}renderIconContainer(){const{loading:e,icon:t,scale:i,el:n,iconFlipRtl:l,indicator:c}=this,s="l"===i?"l":"m",u=e?a.qy`<calcite-loader inline .label=${this.messages.loading} .scale=${s}></calcite-loader>`:null,p=t?a.qy`<calcite-icon class=${(0,o.CP)({[m.C.indicatorWithIcon]:c})} .flipRtl=${l} .icon=${t} .scale=${(0,d.g)(this.scale)}></calcite-icon>`:null,h=u||p,b=h||n.children?.length,g=a.qy`<div class=${(0,o.CP)({[m.C.slotContainer]:!0,[m.C.slotContainerHidden]:e})}><slot></slot></div>`;return b?(0,r.D)("icon-container",a.qy`<div aria-hidden=true class=${(0,o.CP)(m.C.iconContainer)}>${h}${g}</div>`):null}renderLabel(){const e=this.getAccessibleLabel();return e?a.qy`<span class=${(0,o.CP)(n.C.screenReaderText)} ${(0,l.K)(this.labelElRef)}>${e}</span>`:null}renderButton(){const{compact:e,disabled:t,icon:i,loading:n,textEnabled:c,indicator:s,indicatorRef:d,buttonId:u}=this,p=this.getLabelledByElements(),h={[m.C.button]:!0,[m.C.buttonTextVisible]:c,[m.C.buttonCompact]:e},b=a.qy`${this.renderIconContainer()}${this.renderTextContainer()}${!i&&s&&(0,r.D)("indicator-no-icon",a.qy`<div class=${(0,o.CP)(m.C.indicatorWithoutIcon)}></div>`)||""}${this.renderLabel()}`,g=s&&d.value?[d.value]:[],v=[...this.aria?.controlsElements??[],...g];return this.dragHandle?a.qy`<span .ariaBusy=${n} .ariaControlsElements=${v} .ariaDescribedByElements=${this.aria?.describedByElements} .ariaExpanded=${this.aria?.expanded} .ariaHasPopup=${this.aria?.hasPopup} .ariaLabelledByElements=${p} .ariaOwnsElements=${this.aria?.ownsElements} .ariaPressed=${this.aria?.pressed} class=${(0,o.CP)(h)} id=${u??o.s6} role=button tabindex=${(this.disabled?void 0:0)??o.s6} ${(0,l.K)(this.buttonRef)}>${b}</span>`:a.qy`<button .ariaBusy=${n} .ariaChecked=${this.aria?.checked} .ariaControlsElements=${v} .ariaDescribedByElements=${this.aria?.describedByElements} .ariaExpanded=${this.aria?.expanded} .ariaHasPopup=${this.aria?.hasPopup} .ariaLabelledByElements=${p} .ariaOwnsElements=${this.aria?.ownsElements} .ariaPressed=${this.aria?.pressed} class=${(0,o.CP)(h)} .disabled=${t} id=${u??o.s6} .role=${this.aria?.role} type=${this.type??o.s6} ${(0,l.K)(this.buttonRef)}>${b}</button>`}render(){return this.interactiveContainer({disabled:this.disabled,children:a.qy`${this.renderButton()}${this.renderIndicatorText()}`})}}(0,n.c)("calcite-action",f)},84591(e,t,i){i.r(t),i.d(t,{Input:()=>Ce}),i(63738),i(3366);var n=i(61476),a=i(46913),r=i(5576),l=i(78948);const o={valid:"check-circle",invalid:"exclamation-mark-triangle",idle:"information"},c=a.AH`:host{box-sizing:border-box;display:flex;block-size:auto;inline-size:100%;align-items:center;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-text-1);opacity:1;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;margin-block-start:var(--calcite-input-message-spacing, var(--calcite-input-message-spacing-value, var(--calcite-spacing-xxs)))}.calcite-input-message-icon{pointer-events:none;display:inline-flex;flex-shrink:0;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;margin-inline-end:var(--calcite-spacing-sm)}:host([status=invalid]) .calcite-input-message-icon{color:var(--calcite-input-message-icon-color, var(--calcite-icon-color, var(--calcite-ui-icon-color, var(--calcite-color-status-danger))))}:host([status=valid]) .calcite-input-message-icon{color:var(--calcite-input-message-icon-color, var(--calcite-icon-color, var(--calcite-ui-icon-color, var(--calcite-color-status-success))))}:host([status=idle]) .calcite-input-message-icon{color:var(--calcite-input-message-icon-color, var(--calcite-icon-color, var(--calcite-ui-icon-color, var(--calcite-color-brand))))}:host([scale=s]){font-size:var(--calcite-font-size-relative-xs);line-height:var(--calcite-font-line-height-xs)}:host([scale=m]){font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm)}:host([scale=l]){font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base)}:host([hidden]){display:none}[hidden]{display:none}`;class s extends r.WF{constructor(){super(...arguments),this.iconFlipRtl=!1,this.scale="m",this.status="idle"}static{this.properties={icon:[3,{converter:r.pf},{reflect:!0}],iconFlipRtl:[7,{},{reflect:!0,type:Boolean}],scale:[3,{},{reflect:!0}],status:[3,{},{reflect:!0}]}}static{this.styles=c}connectedCallback(){super.connectedCallback(),this.requestedIcon=(0,l.d)(o,this.icon,this.status)}willUpdate(e){(e.has("status")&&(this.hasUpdated||"idle"!==this.status)||e.has("icon"))&&(this.requestedIcon=(0,l.d)(o,this.icon,this.status))}render(){const e=this.el.hidden;return(0,r.Bq)(this.el,"calcite-hydrated-hidden",e),a.qy`${this.renderIcon(this.requestedIcon)}<slot></slot>`}renderIcon(e){return e?a.qy`<calcite-icon class=${(0,r.CP)("calcite-input-message-icon")} .flipRtl=${this.iconFlipRtl} .icon=${e} scale=s></calcite-icon>`:e}}(0,n.c)("calcite-input-message",s);var d=i(57791);const u=a.AH`:host{position:relative;display:block;inline-size:100%}.track,.bar{position:absolute;inset-block-start:0px;block-size:2px}.track{z-index:var(--calcite-z-index);inline-size:100%;overflow:hidden;background-color:var(--calcite-progress-background-color, var(--calcite-color-border-3))}.bar{z-index:var(--calcite-z-index);background-color:var(--calcite-progress-fill-color, var(--calcite-color-brand))}@media(forced-colors:active){.track{background-color:highlightText}.bar{background-color:linkText}}.indeterminate{inline-size:20%;animation:looping-progress-bar-ani calc(var(--calcite-internal-animation-timing-medium) / var(--calcite-internal-duration-factor) * 11 / var(--calcite-internal-duration-factor)) linear infinite}.indeterminate.calcite--rtl{animation-name:looping-progress-bar-ani-rtl}.reversed{animation-direction:reverse}.text{padding-inline:0px;padding-block:1rem 0px;text-align:center;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-progress-text-color, var(--calcite-color-text-2))}@keyframes looping-progress-bar-ani{0%{transform:translate3d(-100%,0,0)}50%{inline-size:40%}to{transform:translate3d(600%,0,0)}}@keyframes looping-progress-bar-ani-rtl{0%{transform:translate3d(100%,0,0)}50%{inline-size:40%}to{transform:translate3d(-600%,0,0)}}:host([hidden]){display:none}[hidden]{display:none}`,p="bar";class h extends r.WF{constructor(){super(...arguments),this.direction=(0,d.jH)(),this.reversed=!1,this.type="determinate",this.value=0}static{this.properties={label:1,reversed:[7,{},{reflect:!0,type:Boolean}],text:1,type:[3,{},{reflect:!0}],value:[9,{},{type:Number}]}}static{this.styles=u}render(){const e="determinate"===this.type,t=e?{width:`${this.value}%`}:{},i=this.direction;return a.qy`<div .ariaLabel=${this.label||this.text} .ariaValueMax=${e?"100":void 0} .ariaValueMin=${e?"0":void 0} .ariaValueNow=${e?this.value:void 0} role=progressbar><div class=${(0,r.CP)("track")}><div class=${(0,r.CP)({[p]:!0,indeterminate:"indeterminate"===this.type,[n.C.rtl]:"rtl"===i,reversed:this.reversed})} style=${(0,r.zl)(t)}></div></div>${this.text?a.qy`<div class=${(0,r.CP)("text")}>${this.text}</div>`:null}</div>`}}(0,n.c)("calcite-progress",h);var b=i(81718),m=i(1715),g=i(19313),v=i(10225),f=i(29255),y=i(60850);const x=new RegExp("\\.(0+)?$"),k=new RegExp("0+$");class ${static{this.DECIMALS=100}static{this.ROUNDED=!0}static{this.SHIFT=BigInt("1"+"0".repeat(this.DECIMALS))}constructor(e){if(e instanceof $)return e;const[t,i]=function(e){const t=e.split(/[eE]/);if(1===t.length)return e;const i=+e;if(Number.isSafeInteger(i))return`${i}`;const n="-"===e.charAt(0),a=+t[1],r=t[0].split("."),l=(n?r[0].substring(1):r[0])||"",o=r[1]||"",c=a>0?`${l}${((e,t)=>{const i=t>e.length?`${e}${"0".repeat(t-e.length)}`:e;return`${i.slice(0,t)}.${i.slice(t)}`})(o,a)}`:`${((e,t)=>{const i=Math.abs(t)-e.length,n=i>0?`${"0".repeat(i)}${e}`:e;return`${n.slice(0,t)}.${n.slice(t)}`})(l,a)}${o}`;return`${n?"-":""}${"."===c.charAt(0)?"0":""}${c.replace(x,"").replace(E,"")}`}(e).split(".").concat("");this.value=BigInt(t+i.padEnd($.DECIMALS,"0").slice(0,$.DECIMALS))+BigInt($.ROUNDED&&i[$.DECIMALS]>="5"),this.isNegative="-"===e.charAt(0)}static{this._divRound=(e,t)=>$.fromBigInt(e/t+($.ROUNDED?e*BigInt(2)/t%BigInt(2):BigInt(0)))}static{this.fromBigInt=e=>Object.assign(Object.create($.prototype),{value:e,isNegative:e<BigInt(0)})}getIntegersAndDecimals(){const e=this.value.toString().replace("-","").padStart($.DECIMALS+1,"0");return{integers:e.slice(0,-$.DECIMALS),decimals:e.slice(-$.DECIMALS).replace(k,"")}}toString(){const{integers:e,decimals:t}=this.getIntegersAndDecimals();return`${this.isNegative?"-":""}${e}${t.length?"."+t:""}`}formatToParts(e){const{integers:t,decimals:i}=this.getIntegersAndDecimals(),n=e.numberFormatter.formatToParts(BigInt(t));return this.isNegative&&n.unshift({type:"minusSign",value:e.minusSign}),i.length&&(n.push({type:"decimal",value:e.decimal}),i.split("").forEach(e=>n.push({type:"fraction",value:e}))),n}format(e){const{integers:t,decimals:i}=this.getIntegersAndDecimals();return`${this.isNegative?e.minusSign:""}${e.numberFormatter.format(BigInt(t))}${i.length?`${e.decimal}${i.split("").map(t=>e.numberFormatter.format(Number(t))).join("")}`:""}`}add(e){return $.fromBigInt(this.value+new $(e).value)}subtract(e){return $.fromBigInt(this.value-new $(e).value)}multiply(e){return $._divRound(this.value*new $(e).value,$.SHIFT)}divide(e){return $._divRound(this.value*$.SHIFT,new $(e).value)}}function w(e){return!(!e||isNaN(Number(e)))}const E=/^([-0])0+(?=\d)/,C=/(?!^\.)\.$/,I=/(?!^-)-/g,z=/^-\b0\b\.?0*$/,V=/0*$/,S=new Set(["e","E","-",",",".",...f.n]);function B(e,t){if(!e)return e;const i=e.toLowerCase().indexOf("e")+1;return i?e.replace(/[eE]*$/g,"").substring(0,i).concat(e.slice(i).replace(/[eE]/g,"")).split(/[eE]/).map((e,i)=>t(1===i?e.replace(/\./g,""):e)).join("e").replace(/^e/,"1e"):t(e)}new Map(Object.entries({bg:{am:"пр.об.",pm:"сл.об."},bs:{am:"prijepodne",pm:"popodne"},ca:{am:"a. m.",pm:"p. m."},cs:{am:"dop.",pm:"odp."},es:{am:"a. m.",pm:"p. m."},"es-mx":{am:"a.m.",pm:"p.m."},"es-MX":{am:"a.m.",pm:"p.m."},fi:{am:"ap.",pm:"ip."},he:{am:"לפנה״צ",pm:"אחה״צ"},hu:{am:"de. ",pm:"du."},lt:{am:"priešpiet",pm:"popiet"},lv:{am:"priekšpusdienā",pm:"pēcpusdienā"},mk:{am:"претпл.",pm:"попл."},no:{am:"a.m.",pm:"p.m."},nl:{am:"a.m.",pm:"p.m."},"pt-pt":{am:"da manhã",pm:"da tarde"},"pt-PT":{am:"da manhã",pm:"da tarde"},ro:{am:"a.m.",pm:"p.m."},sl:{am:"dop.",pm:"pop."},sv:{am:"fm",pm:"em"},th:{am:"ก่อนเที่ยง",pm:"หลังเที่ยง"},tr:{am:"ÖÖ",pm:"ÖS"},uk:{am:"дп",pm:"пп"},vi:{am:"SA",pm:"CH"}}));const N=["arab","arabext","latn"],R=e=>!(!N||!N.includes(e)),O=(new Intl.NumberFormat).resolvedOptions().numberingSystem,L="arab"!==O&&R(O)?O:"latn",F=new class{constructor(){this.delocalize=e=>this._numberFormatOptions?B(e,e=>this.#e(this.#t(e))):e,this.localize=e=>this._numberFormatOptions?B(e,e=>w(e.trim())?new $(e.trim()).format(this).replace(new RegExp(`[${this._actualGroup}]`,"g"),this._group):e):e}get group(){return this._group}get decimal(){return this._decimal}get minusSign(){return this._minusSign}get digits(){return this._digits}get numberFormatter(){return this._numberFormatter}get numberFormatOptions(){return this._numberFormatOptions}set numberFormatOptions(e){var t;if(e.numberingSystem=(t=e?.numberingSystem,R(t)?t:L),e.locale=e?.locale||"en",!this._numberFormatOptions&&"en"===e.locale&&e.numberingSystem===L&&2===Object.keys(e).length||JSON.stringify(this._numberFormatOptions)===JSON.stringify(e))return;this._numberFormatOptions=e,this._numberFormatter=new Intl.NumberFormat(this._numberFormatOptions.locale,this._numberFormatOptions),this._digits=[...new Intl.NumberFormat(this._numberFormatOptions.locale,{useGrouping:!1,numberingSystem:this._numberFormatOptions.numberingSystem}).format(9876543210)].reverse();const i=new Map(this._digits.map((e,t)=>[e,t])),n=new Intl.NumberFormat(this._numberFormatOptions.locale,{numberingSystem:this._numberFormatOptions.numberingSystem}).formatToParts(-12345678.9);this._actualGroup=n.find(e=>"group"===e.type).value,this._group=0===this._actualGroup.trim().length||" "==this._actualGroup?" ":this._actualGroup,this._decimal="bs"===e.locale||"mk"===e.locale?",":n.find(e=>"decimal"===e.type).value,this._minusSign=n.find(e=>"minusSign"===e.type).value,this._getDigitIndex=e=>`${i.get(e)??""}`}#e(e){return e.replace(new RegExp(`[${this._minusSign}]`,"g"),"-").replace(new RegExp(`[${this._digits.join("")}]`,"g"),this._getDigitIndex)}#t(e){if(this._group!==this._decimal)return e.replace(new RegExp(`[${this._group}]`,"g"),"").replace(new RegExp(`[${this._decimal}]`,"g"),".");const t=e.lastIndexOf(this._decimal);return-1===t?e:`${e.slice(0,t).replace(new RegExp(`[${this._group}]`,"g"),"")}.${e.slice(t+1)}`}};var P=i(24185),q=i(32339);const D="internal-label-alignment--center",M="internal-label-alignment--end",A="internal-label--container",_="internal-label-spacing--bottom",T="internal-label-spacing-inline--end",H="internal-label-spacing-inline--start",j=({alignmentCenter:e,bottomSpacingDisabled:t,labelText:i,onClick:n,required:l,spacingInlineEnd:o,spacingInlineStart:c,tooltipText:s})=>a.qy`<div class=${(0,r.CP)({[D]:e,[M]:!e,[A]:!0,[_]:!t,[T]:o,[H]:c})} @click=${n}><div class=${(0,r.CP)("internal-label--text")}>${i}${l&&a.qy`<span aria-hidden=true class=${(0,r.CP)("internal-label-required--indicator")} title=${s??a.s6}>*</span>`||""}</div><slot name=label-content></slot></div>`,K="inline-editable--container",U=({cancelEditingLabel:e,confirmChangesLabel:t,editingEnabled:i,enableEditingLabel:n,enableEditingButtonRef:l,loading:o,onCancelEditing:c,onConfirmChanges:s,onEnableEditing:d,scale:u,showControls:p})=>a.qy`<div class=${(0,r.CP)(K)}>${!i&&a.qy`<calcite-action .ariaLabel=${n} class=${(0,r.CP)("enable-editing")} icon=pencil @click=${d} .scale=${u} .text=${n} title=${n??a.s6} type=button ${(0,g.K)(l)}></calcite-action>`||""}${p&&[a.qy`<calcite-action .ariaLabel=${t} class=${(0,r.CP)("confirm-changes")} icon=check .loading=${o} @click=${s} .scale=${u} .text=${t} title=${t??a.s6} type=button></calcite-action>`,a.qy`<calcite-action .ariaLabel=${e} class=${(0,r.CP)("cancel-editing")} icon=x @click=${c} .scale=${u} .text=${e} title=${e??a.s6} type=button></calcite-action>`]||""}</div>`;class W{constructor(e){this.options=e,this.valuePriorToEditing=""}enable(){this.valuePriorToEditing=this.options.getValue(),this.options.setEditingEnabled(!0),requestAnimationFrame(()=>{this.options.setFocus()}),this.options.emitEnableEditingChange()}disable(){this.options.setEditingEnabled(!1)}cancelEditing(){this.options.setValue(this.valuePriorToEditing),this.disable(),this.options.emitCancel()}async confirm(e,t){this.options.emitConfirm();try{e&&(t?.(!0),await e(),this.disable())}finally{t?.(!1)}}}const G=()=>{},J=({scale:e,status:t,id:i,icon:n,message:l,ref:o})=>a.qy`<div class=${(0,r.CP)("validation-container")} ${(0,g.K)(o||G)}><calcite-input-message aria-live=polite .icon=${n} id=${i??a.s6} .scale=${e} .status=${t}>${l}</calcite-input-message></div>`;var Y=i(25552),X=i(35407),Q=i(33755);const Z=()=>{};var ee=i(35509),te=i(9225);const ie=["date","datetime-local","month","number","range","time","week"],ne=["email","password","search","tel","text","url"],ae=["email","password","search","tel","text","textarea","url"];function re(e,t,i,n){const a=i.toLowerCase(),r=e[i];n&&null!=r?t.setAttribute(a,`${r}`):t.removeAttribute(a)}const le=["text","email","search","hidden","tel","url"],oe=Object.freeze({validity:{},validationMessage:""});function ce(e,t){if("file"===e.type){e.value="";const i=!t||t instanceof FileList&&0===t.length;return!e.required||!i}return e.value=null==t?"":String(t),e.validity.valid}function se(e){const t={};for(const i in e)"valid"!==i&&e[i]&&(t[i]=!0);return t}const de=["calcite-input","calcite-input-number","calcite-input-text","calcite-text-area"];function ue(e,t){"status"in e&&(e.status="idle"),!("validationIcon"in e)||e.validationIcon&&!0!==e.validationIcon||(e.validationIcon=!1),"validationMessage"in e&&e.validationMessage===t&&(e.validationMessage="")}function pe(e){return"checked"in e}const he=e=>(0,d.aK)((t,i)=>{let n,a="",r=null,o=e.inputType;function c(e){e.defaultPrevented||(e.preventDefault(),function(e){const t=Array.from(e.elements);requestAnimationFrame(()=>{const e=t.filter(e=>e.matches("[status=invalid]")&&function(e){return"form"in e&&"name"in e&&(0,l.q)(e)}(e));for(const t of e)if(t.validationMessage){t.setFocus();break}})}(e.currentTarget))}function s(){const e=a||n?.validationMessage||"";!function(e,{status:t,message:i,icon:n}){"status"in e&&(e.status=t),"validationIcon"in e&&"string"!=typeof e.validationIcon&&(e.validationIcon=n),"validationMessage"in e&&!e.validationMessage&&(e.validationMessage=i)}(t,{message:e,icon:!0,status:"invalid"}),t.el.dispatchEvent(new CustomEvent("calciteInvalid",{bubbles:!0,composed:!0}));const i=(r=t.el.tagName.toLowerCase(),`${(0,te.YF)((0,te.TK)(r))}${de.includes(r)?"Input":"Change"}`);var r;t.listen(i,()=>{if(ue(t,e),"radio"===n?.type){const e=t.elementInternals.form?.elements.namedItem(t.name);if(e){const i=("length"in e?Array.from(e):[e]).filter(e=>e.tagName===t.el.tagName).filter(e=>e!==t.el);i?.length>0&&i.forEach(e=>{ue(e)})}}},{once:!0})}function d(){const{disabled:e,elementInternals:i}=t;let r={},l="";e||(n&&(n.type=o,function(e,t){const{disabled:i,name:n,required:a}=e;t.disabled=i,t.name=n||"",t.required=!!a,pe(e)?t.checked=e.checked:function(e,t){return e&&function(e){const t="textarea"===e?"text":e;return ie.includes(t)||ne.includes(t)||ae.includes(t)}(t.type)}(e,t)&&function(e,t,i){i.type=e;const n=ie.includes(e),a=t;re(a,i,"min",n),re(a,i,"max",n),re(a,i,"step",n);const r=ae.includes(e),l=t;re(l,i,"minLength",r),re(l,i,"maxLength",r),re(l,i,"pattern",ne.includes(e))}(t.type,e,t)}(t,n),({validity:r,validationMessage:l}=function({component:e,input:t,value:i}){if(!Array.isArray(i)){if(e&&"radio"===t.type){const i=e.elementInternals.form?.elements.namedItem(e.name);if(i){const n=("length"in i?Array.from(i):[i]).filter(t=>t.tagName===e.el.tagName),a=n.some(e=>e.required),r=n.some(e=>e.checked),l=n.filter(t=>t!==e.el),o=a&&!r;t.required=!!o;const c=se(t.validity),s=t.validationMessage;l?.length>0&&l.forEach(e=>{o!==e.validity?.valueMissing&&e.setValidity&&e.setValidity(c,s)})}}return ce(t,i)?oe:{validity:se(t.validity),validationMessage:t.validationMessage}}if(le.includes(t.type))return ce(t,i.join(","))?oe:{validity:se(t.validity),validationMessage:t.validationMessage};const n={},a=[];for(const e of i)ce(t,e)||(Object.assign(n,se(t.validity)),t.validationMessage&&a.push(t.validationMessage));return{validity:n,validationMessage:a.join("; ")}}({component:t,input:n,value:u()}))),a&&(r={...r,customError:!0},l=a)),i.setValidity(r,l),"validity"in t&&(0,ee.e)(()=>{t.validity=i.validity})}function u(){return e.getValue?e.getValue():t.value}return o&&(n=document.createElement("input")),t.listen("luminaFormResetCallback",()=>{"status"in t&&(t.status="idle"),"validationIcon"in t&&(t.validationIcon=!1),"validationMessage"in t&&(t.validationMessage=""),pe(t)&&(t.checked=t.defaultChecked),t.value=t.defaultValue}),t.listen("luminaFormAssociatedCallback",({detail:[e]})=>{e?e.addEventListener("invalid",c,{capture:!0}):r?.removeEventListener("invalid",c,{capture:!0}),r=e}),i.onConnected(()=>{t.el.addEventListener("invalid",s)}),i.onDisconnected(()=>{t.el.removeEventListener("invalid",s)}),i.onUpdate(e=>{t.hasUpdated||(t.defaultValue=t.value,pe(t)&&(t.defaultChecked=t.checked)),(e.has("name")||e.has("value")||pe(t)&&e.has("checked"))&&t.elementInternals.setFormValue(function(){const e=u();if(Array.isArray(e)||e instanceof FileList){const i=new FormData;for(const n of e)i.append(t.name,n);return i}return pe(t)?t.checked?e||"on":null:e}()),t.hasUpdated&&d()}),i.onLoaded(()=>d()),{get active(){return!!t.elementInternals.form},overrideDefaultValue:e=>{t.defaultValue=e},overrideInputType:e=>{o=e,d()},requestSubmit:()=>{t.elementInternals.form?.requestSubmit()},setCustomValidity:e=>{a=e,d()}}}),be="editing-enabled",me="inline-child",ge="inline-editable-child",ve="number-button-item--horizontal",fe="wrapper",ye="number-button-item",xe="has-suffix",ke="has-prefix",$e="inputValidationMessage",we={tel:"phone",password:"lock",email:"email-address",date:"calendar",time:"clock",search:"search"},Ee=a.AH`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:block;--calcite-internal-input-focus-outline-color: var( --calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)) );--calcite-internal-input-number-button-item-height: auto}:host([scale=s]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-sm)}:host([scale=s]) input,:host([scale=s]) .prefix,:host([scale=s]) .suffix{block-size:1.5rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm)}:host([scale=s]) input{padding-inline:var(--calcite-spacing-sm)}:host([scale=s]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=s]) .prefix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-xxs)}:host([scale=s]) .has-suffix input{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s]) .suffix{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=s]) input[type=file]{min-block-size:1.5rem}:host([scale=s]) .number-button-wrapper,:host([scale=s]) .action-wrapper{block-size:1.5rem}:host([scale=s]) .clear-button{block-size:var(--calcite-spacing-xxl)}:host([scale=s]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-xxs)}:host([scale=s]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 8px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-xxs);--calcite-internal-input-number-button-item-vertical-padding: 3px}:host([scale=m]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-md)}:host([scale=m]) input,:host([scale=m]) .prefix,:host([scale=m]) .suffix{block-size:2rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base)}:host([scale=m]) input{padding-inline:var(--calcite-spacing-md)}:host([scale=m]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xs)}:host([scale=m]) .prefix{padding-inline:var(--calcite-spacing-md) var(--calcite-spacing-xs)}:host([scale=m]) .has-suffix input{padding-inline-end:var(--calcite-spacing-xs)}:host([scale=m]) .suffix{padding-inline:var(--calcite-spacing-xs) var(--calcite-spacing-md)}:host([scale=m]) input[type=file]{min-block-size:2rem}:host([scale=m]) .number-button-wrapper,:host([scale=m]) .action-wrapper{block-size:2rem}:host([scale=m]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-space-sm)}:host([scale=m]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 11px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-space-sm);--calcite-internal-input-number-button-item-vertical-padding: var(--calcite-space-2xs)}:host([scale=l]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-lg)}:host([scale=l]) input,:host([scale=l]) .prefix,:host([scale=l]) .suffix{block-size:2.75rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md)}:host([scale=l]) input{padding-inline:var(--calcite-spacing-lg)}:host([scale=l]) .has-prefix input{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=l]) .prefix{padding-inline:var(--calcite-spacing-lg) var(--calcite-spacing-sm)}:host([scale=l]) .has-suffix input{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=l]) .suffix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-lg)}:host([scale=l]) input[type=file]{min-block-size:2.75rem}:host([scale=l]) .number-button-wrapper,:host([scale=l]) .action-wrapper{block-size:2.75rem}:host([scale=l]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus)}:host([scale=l]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 16px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus);--calcite-internal-input-number-button-item-vertical-padding: 5px}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}input{position:relative;margin:0;box-sizing:border-box;display:flex;max-block-size:100%;inline-size:100%;max-inline-size:100%;flex:1 1 0%;text-overflow:ellipsis;border-width:1px;border-style:solid;font-family:inherit;font-weight:var(--calcite-font-weight-normal);outline:none;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-text-color, var(--calcite-color-text-1));transition:var(--calcite-animation-timing),block-size 0,outline-offset 0s;-webkit-appearance:none}input:placeholder-shown{text-overflow:ellipsis}.element-wrapper,input{border-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}.has-prefix input,.element-wrapper:has(.icon) input{border-start-start-radius:0;border-end-start-radius:0}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) input,.has-prefix input,.element-wrapper:has(.icon) input{border-inline-start-width:0}.element-wrapper:has(.clear-button) input,.has-suffix input,.element-wrapper:has(.number-button-item--horizontal[data-adjustment=up]) input,.element-wrapper:has(.number-button-item) input{border-inline-end-width:0}.has-suffix input,.element-wrapper:has(.clear-button) input,:host([number-button-type=vertical][type=number]) input,:host([number-button-type=horizontal]) .has-suffix .suffix,:host([number-button-type=vertical][type=number]) .has-suffix .suffix,:host([number-button-type=vertical][type=number]) .clear-button,:host([number-button-type=horizontal][type=number]) .clear-button{border-start-end-radius:0;border-end-end-radius:0}:host([number-button-type=horizontal]) input{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:0;border-end-end-radius:0}.has-prefix :is(.prefix:first-child,.loader+.prefix),:host([number-button-type=horizontal]) .number-button-item[data-adjustment=down],.element-wrapper:has(.icon) :is(.icon:first-child,.loader+.icon){border-start-start-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-end-start-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}.has-suffix .suffix,:host([number-button-type=vertical][type=number][read-only]) .has-suffix .suffix,:host([clearable]) .clear-button,:host([number-button-type=horizontal]) .number-button-item[data-adjustment=up]{border-end-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-start-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}:host([clearable]) .has-suffix .clear-button{border-end-end-radius:0;border-start-end-radius:0}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input:focus{border-color:var(--calcite-color-brand);color:var(--calcite-input-text-color, var(--calcite-color-text-1))}input[readonly]{font-weight:var(--calcite-font-weight-medium);background-color:var(--calcite-input-background-color, var(--calcite-color-background))}input[readonly]:focus{color:var(--calcite-input-text-color, var(--calcite-color-text-1))}:host([read-only]) .prefix,:host([read-only]) .icon,:host([read-only]) .clear-button,:host([read-only]) .suffix{background-color:var(--calcite-input-background-color, var(--calcite-color-background))}.element-wrapper{position:relative;display:inline-flex;flex:1 1 0%;align-items:center;order:3;isolation:isolate}.element-wrapper:has(input:focus){outline:var(--calcite-border-width-md) solid var(--calcite-internal-input-focus-outline-color);outline-offset:calc(var(--calcite-border-width-sm) * -2)}.element-wrapper:has(input:focus) input{z-index:calc(var(--calcite-z-index) * -1)}:host([status=invalid]) .prefix,:host([status=invalid]) .icon,:host([status=invalid]) input,:host([status=invalid]) .clear-button,:host([status=invalid]) .suffix,:host([status=invalid]) .number-button-item{border-color:var(--calcite-color-status-danger)}:host([status=invalid]){--calcite-internal-input-focus-outline-color: var(--calcite-color-status-danger)}.icon{box-sizing:border-box;display:flex;align-self:stretch;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));border-inline-end-width:var(--calcite-border-width-none);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-icon-color, var(--calcite-color-text-3));align-items:center;padding-inline-start:var(--calcite-internal-input-icon-padding-inline)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .icon,.has-prefix .icon{border-inline-start-width:0}input[type=text]::-ms-clear,input[type=text]::-ms-reveal{display:none;block-size:0px;inline-size:0px}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration,input[type=date]::-webkit-clear-button,input[type=time]::-webkit-clear-button{display:none}.clear-button{box-sizing:border-box;display:flex;align-self:stretch;order:4;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));border-inline-start-width:var(--calcite-border-width-none);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1))}.has-suffix .clear-button,.element-wrapper:has(.number-button-item.number-button-item--horizontal[data-adjustment=up]) .clear-button,.element-wrapper:has(.number-button-item) .clear-button{border-inline-end-width:0}.loader{inset-block-start:1px;inset-inline:1px;pointer-events:none;position:absolute;display:block;--calcite-progress-background-color: var(--calcite-input-loading-background-color);--calcite-progress-fill-color: var(--calcite-input-loading-fill-color)}.inline-editable{order:7}.action-wrapper{order:8;display:flex}.prefix,.suffix{box-sizing:border-box;display:flex;block-size:auto;min-block-size:100%;-webkit-user-select:none;user-select:none;align-content:center;align-items:center;overflow-wrap:break-word;border-width:1px;border-style:solid;line-height:1;font-weight:var(--calcite-font-weight-regular);border-color:var(--calcite-input-border-color, var(--calcite-color-border-input))}.prefix{order:0;border-inline-end-width:0px;inline-size:var(--calcite-input-prefix-size, auto);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-prefix-text-color, var(--calcite-color-text-2))}.suffix{order:5;border-inline-start-width:0px;inline-size:var(--calcite-input-suffix-size, auto);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-suffix-text-color, var(--calcite-color-text-2))}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .prefix{border-inline-start-width:var(--calcite-border-width-none)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=up]) .suffix,.element-wrapper:has(.number-button-item) .suffix{border-inline-end-width:var(--calcite-border-width-none)}:host([alignment=start]) input{text-align:start}:host([alignment=end]) input{text-align:end}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:textfield;margin:0}.number-button-wrapper{pointer-events:none;box-sizing:border-box;display:flex;flex-direction:column;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;order:6}:host([number-button-type=vertical]) .wrapper{flex-direction:row;display:flex}:host([number-button-type=vertical]) input{order:2}:host([number-button-type=horizontal]) .calcite--rtl .number-button-item[data-adjustment=down] calcite-action{transform:rotate(-90deg)}:host([number-button-type=horizontal]) .calcite--rtl .number-button-item[data-adjustment=up] calcite-action{transform:rotate(-90deg)}.number-button-item.number-button-item--horizontal{border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));max-block-size:100%;min-block-size:100%;align-self:stretch;border-width:1px;border-style:solid}.number-button-item.number-button-item--horizontal[data-adjustment=down] calcite-action,.number-button-item.number-button-item--horizontal[data-adjustment=up] calcite-action{transform:rotate(90deg)}.number-button-item.number-button-item--horizontal[data-adjustment=down]{border-inline-end-width:0px;order:0;padding-inline-start:var(--calcite-internal-input-number-button-item-horizontal-padding)}.number-button-item.number-button-item--horizontal[data-adjustment=up]{border-inline-start-width:0px;order:5;padding-inline-end:var(--calcite-internal-input-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item{padding-inline-end:var(--calcite-internal-input-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=up]{border-start-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-block-end-width:var(--calcite-border-width-none);padding-block-start:var(--calcite-internal-input-number-button-item-vertical-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=down]{border-block-start-width:0px;border-end-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));padding-block-end:var(--calcite-internal-input-number-button-item-vertical-padding)}.number-button-item{max-block-size:50%;min-block-size:50%;pointer-events:initial;box-sizing:border-box;display:flex;cursor:pointer;align-items:center;align-self:center;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));border-inline-start-width:var(--calcite-border-width-none)}.number-button-item:hover calcite-action{--calcite-action-background-color: var( --calcite-input-actions-background-color-hover, var(--calcite-color-foreground-2) );--calcite-action-text-color: var(--calcite-input-actions-icon-color-hover, var(--calcite-color-text-1))}.number-button-item:active calcite-action{--calcite-action-background-color: var( --calcite-input-actions-background-color-press, var(--calcite-color-foreground-3) );--calcite-action-text-color: var(--calcite-input-actions-icon-color-press, var(--calcite-color-text-1))}.number-button-item calcite-action{--calcite-internal-action-height: var(--calcite-internal-input-number-button-item-height);--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-actions-background-color);--calcite-action-text-color: var(--calcite-input-actions-icon-color)}.number-button-item calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-actions-background-color-hover);--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-hover)}.number-button-item calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-actions-background-color-press);--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-press)}.wrapper{position:relative;display:flex;flex-direction:row;align-items:center;border-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));box-shadow:var(--calcite-input-shadow, var(--calcite-shadow-none))}input[type=date]::-webkit-input-placeholder{visibility:hidden!important}:host([type=color]) input{padding:.25rem}:host([type=file]) input{cursor:pointer;border-width:1px;border-style:dashed;background-color:var(--calcite-color-foreground-1);text-align:center;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));block-size:initial}:host([type=file][scale=s]) input{padding-block:1px;padding-inline:.5rem}:host([type=file][scale=m]) input{padding-block:.25rem;padding-inline:.75rem}:host([type=file][scale=l]) input{padding-block:.5rem;padding-inline:1rem}:host(.no-bottom-border) input{border-block-end-width:0px}:host(.border-top-color-one) input{border-block-start-color:var(--calcite-color-border-1)}input.inline-child{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out}input.inline-child.inline-editable-child{background-color:transparent}input.inline-child .editing-enabled{background-color:inherit}input.inline-child:not(.editing-enabled){display:flex;cursor:pointer;text-overflow:ellipsis;border-color:transparent;padding-inline-start:0}.element-wrapper:has(input.inline-child:not(.editing-enabled)) .loader,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .number-button-item,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .prefix,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .icon,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .clear-button,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .suffix{display:none}:host([inline-editable]:not([editing-enabled])) .wrapper:hover input,:host([inline-editable]:not([editing-enabled])) .wrapper:hover .inline-editable,:host([inline-editable]:not([editing-enabled])) .wrapper:hover .action-wrapper,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover input,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover .inline-editable,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover .action-wrapper{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;background-color:var(--calcite-input-inline-editable-background-color-hover, var(--calcite-color-foreground-2))}:host([inline-editable]) .inline-editable,:host([inline-editable]) .action-wrapper{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1))}:host([type=datetime-local]) .element-wrapper{inline-size:100%}:host([type=datetime-local]) .element-wrapper input{display:inline-block;min-inline-size:0}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-spacing-base)}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-xxs)}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-md)}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}:host([hidden]){display:none}[hidden]{display:none}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-placeholder-text-color, var(--calcite-color-text-3))}.clear-button--container{display:flex;cursor:pointer;align-items:center}.clear-button--container:hover calcite-action{--calcite-action-background-color: var(--calcite-input-actions-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color: var(--calcite-input-actions-icon-color-hover, var(--calcite-color-text-1))}.clear-button--container:active calcite-action{--calcite-action-background-color: var(--calcite-input-actions-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color: var(--calcite-input-actions-icon-color-press, var(--calcite-color-text-1))}.clear-button--container calcite-action{--calcite-internal-action-height: 100%;--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-actions-background-color, var(--calcite-color-foreground-2));--calcite-action-text-color: var(--calcite-input-actions-icon-color)}.clear-button--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-actions-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-hover)}.clear-button--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-actions-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-press)}:host([scale=s]) .clear-button--container{padding:var(--calcite-space-2xs)}:host([scale=m]) .clear-button--container{padding:var(--calcite-space-2xs);padding-inline-end:var(--calcite-space-sm)}:host([scale=l]) .clear-button--container{padding-inline-end:var(--calcite-space-sm-plus)}.inline-editable--container{display:flex;cursor:pointer;align-items:center}.inline-editable--container .enable-editing,.inline-editable--container .confirm-changes,.inline-editable--container .cancel-editing{margin-inline-start:var(--calcite-space-2xs)}.inline-editable--container .enable-editing{--calcite-action-text-color: var(--calcite-input-inline-editable-control-text-color, var(--calcite-color-text-1))}.inline-editable--container calcite-action{--calcite-action-background-color: var(--calcite-input-inline-editable-control-background-color);--calcite-action-corner-radius: var(--calcite-input-inline-editable-control-corner-radius);--calcite-action-loader-color: var(--calcite-input-inline-editable-control-loader-color);--calcite-action-text-color: var(--calcite-input-inline-editable-control-text-color)}.inline-editable--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-inline-editable-control-background-color-hover, var(--calcite-input-inline-editable-control-background-color));--calcite-action-text-color-press: var(--calcite-input-inline-editable-control-text-color-press, var(--calcite-input-inline-editable-control-text-color))}.inline-editable--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-inline-editable-control-background-color-press, var(--calcite-input-inline-editable-control-background-color));--calcite-action-text-color-press: var(--calcite-input-inline-editable-control-text-color-press, var(--calcite-input-inline-editable-control-text-color))}`;class Ce extends r.WF{constructor(){super(),this.actionWrapperRef=(0,g._)(),this.attributeWatch=(0,d.oW)(["autofocus","enterkeyhint","inputmode","spellcheck"],this.handleGlobalAttributesChanged),this.childRef=(0,g._)(),this.childNumberRef=(0,g._)(),this.enableInlineEditingButtonRef=(0,g._)(),this.direction=(0,d.jH)(),this.formSupport=he({inputType:"text",getValue:()=>"file"===this.type?this.childRef.value?.files??null:this.value})(this),this.inputWrapperRef=(0,g._)(),this.labelable=(0,P.u)(this),this.previousValueOrigin="initial",this.userChangedValue=!1,this._value="",this.messages=(0,Y.u)({blocking:!0}),this.focusSetter=(0,X.u)()(this),this.interactiveContainer=(0,Q.u)(this),this.inlineEditableManager=new W({getEditingEnabled:()=>this.editingEnabled,setEditingEnabled:e=>{this.editingEnabled=e},getValue:()=>this.value,setValue:e=>{this.setValue({origin:"direct",value:e})},setFocus:()=>{this.setFocus()},emitCancel:()=>{this.calciteInputInlineEditableCancel.emit()},emitConfirm:()=>{this.calciteInputInlineEditableConfirm.emit()},emitEnableEditingChange:()=>{this.calciteInputInlineEditableChange.emit()}}),this.inlineEditableLoading=!1,this.slottedActionElDisabledInternally=!1,this.alignment="start",this.clearable=!1,this.disabled=!1,this.editingEnabled=!1,this.inlineEditable=!1,this.inlineEditableControls=!1,this.groupSeparator=!1,this.iconFlipRtl=!1,this.loading=!1,this.localeFormat=!1,this.multiple=!1,this.numberButtonType="vertical",this.readOnly=!1,this.required=!1,this.scale="m",this.status="idle",this.type="text",this.calciteInputChange=(0,v.c)({cancelable:!1}),this.calciteInputInput=(0,v.c)(),this.calciteInternalInputBlur=(0,v.c)({cancelable:!1}),this.calciteInternalInputFocus=(0,v.c)({cancelable:!1}),this.calciteInputInlineEditableCancel=(0,v.c)({cancelable:!1}),this.calciteInputInlineEditableConfirm=(0,v.c)({cancelable:!1}),this.calciteInputInlineEditableChange=(0,v.c)({cancelable:!1}),this.listen("click",this.clickHandler),this.listen("keydown",this.keyDownHandler)}static{this.properties={displayedValue:[16,{},{state:!0}],inlineEditableLoading:[16,{},{state:!0}],slottedActionElDisabledInternally:[16,{},{state:!0}],accept:1,alignment:[3,{},{reflect:!0}],autocomplete:1,clearable:[7,{},{reflect:!0,type:Boolean}],disabled:[7,{},{reflect:!0,type:Boolean}],editingEnabled:[7,{},{reflect:!0,type:Boolean}],inlineEditable:[7,{},{reflect:!0,type:Boolean}],inlineEditableControls:[7,{},{reflect:!0,type:Boolean}],inlineEditableAfterConfirm:[0,{},{attribute:!1}],files:[0,{},{attribute:!1}],form:[3,{},{reflect:!0}],groupSeparator:[7,{},{reflect:!0,type:Boolean}],icon:[3,{converter:r.pf},{reflect:!0}],iconFlipRtl:[7,{},{reflect:!0,type:Boolean}],label:1,labelText:1,loading:[7,{},{reflect:!0,type:Boolean}],localeFormat:[5,{},{type:Boolean}],max:[11,{},{reflect:!0,type:Number}],maxLength:[11,{},{reflect:!0,type:Number}],messageOverrides:[0,{},{attribute:!1}],min:[11,{},{reflect:!0,type:Number}],minLength:[11,{},{reflect:!0,type:Number}],multiple:[5,{},{type:Boolean}],name:[3,{},{reflect:!0}],numberButtonType:[3,{},{reflect:!0}],numberingSystem:[3,{},{reflect:!0}],pattern:1,placeholder:1,prefixText:1,readOnly:[7,{},{reflect:!0,type:Boolean}],required:[7,{},{reflect:!0,type:Boolean}],scale:[3,{},{reflect:!0}],status:[3,{},{reflect:!0}],step:[3,{},{reflect:!0}],suffixText:1,type:[3,{},{reflect:!0}],validationIcon:[3,{converter:r.pf},{reflect:!0}],validationMessage:1,validity:[32,{},{readOnly:!0,attribute:!1}],value:1}}static{this.formAssociated=!0}static{this.styles=Ee}get selfManagedInlineEditable(){return this.inlineEditable&&!this.inlineEditableEl}get hasInlineEditableContext(){return this.inlineEditable||!!this.inlineEditableEl}get isClearable(){return(this.clearable||"search"===this.type)&&this.value?.length>0}get value(){return this._value}set value(e){const t=this._value;e!==t&&(this._value=e,this.valueWatcher(e,t),e&&""===this._value&&this.setValue({origin:"reset",value:t}))}async selectText(){const e="number"===this.type?this.childNumberRef:this.childRef;e.value?.select()}async setFocus(e){return this.focusSetter(()=>"number"===this.type?this.childNumberRef.value:this.childRef.value,e)}connectedCallback(){super.connectedCallback(),this.inlineEditableEl=this.el.closest("calcite-inline-editable")??void 0,this.inlineEditableEl&&(this.editingEnabled=this.inlineEditableEl.editingEnabled||!1)}async load(){this.maxString=this.max?.toString(),this.minString=this.min?.toString(),this.requestedIcon=(0,l.d)(we,this.icon,this.type),this.setPreviousEmittedValue(this.value),this.setPreviousValue(this.value),"number"===this.type&&("Infinity"===this.value||"-Infinity"===this.value?(this.displayedValue=this.value,this.previousEmittedValue=this.value):(this.warnAboutInvalidNumberValue(this.value),this.setValue({origin:"connected",value:w(this.value)?this.value:""})))}willUpdate(e){e.has("max")&&(this.maxString=this.max?.toString()??void 0),e.has("min")&&(this.minString=this.min?.toString()??void 0),(e.has("icon")||e.has("type")&&(this.hasUpdated||"text"!==this.type))&&(this.requestedIcon=(0,l.d)(we,this.icon,this.type)),e.has("readOnly")&&this.stopNudging(),e.has("type")&&(this.hasUpdated||"text"!==this.type)&&this.formSupport.overrideInputType(this.type)}disconnectedCallback(){super.disconnectedCallback(),this.stopNudging()}stopNudging(){window.clearInterval(this.nudgeNumberValueIntervalId)}handleGlobalAttributesChanged(){this.requestUpdate()}valueWatcher(e,t){if(!this.userChangedValue){if("number"===this.type&&("Infinity"===e||"-Infinity"===e))return this.displayedValue=e,void(this.previousEmittedValue=e);this.setValue({origin:"direct",previousValue:t,value:null==e||""==e?"":"number"===this.type?w(e)?e:this.previousValue||"":e}),this.warnAboutInvalidNumberValue(e)}this.userChangedValue=!1}keyDownHandler(e){if(!(this.readOnly||this.disabled||e.defaultPrevented)){if(this.selfManagedInlineEditable&&this.editingEnabled&&"Escape"===e.key)return e.preventDefault(),this.clearable&&this.value?.length>0?void this.clearInputValue(e):(this.inlineEditableManager.cancelEditing(),void requestAnimationFrame(()=>{this.enableInlineEditingButtonRef.value?.setFocus()}));!this.isClearable||"Escape"!==e.key||this.hasInlineEditableContext&&!this.editingEnabled||(this.clearInputValue(e),e.preventDefault()),"Enter"===e.key&&this.formSupport.active&&(e.preventDefault(),this.formSupport.requestSubmit())}}onLabelClick(){!this.selfManagedInlineEditable||this.editingEnabled?this.setFocus():this.inlineEditableManager.enable()}incrementOrDecrementNumberValue(e,t,i,n){const{value:a}=this;if("Infinity"===a||"-Infinity"===a)return;const r="up"===e?1:-1,l="any"===this.step?1:Math.abs(this.step||1),o=new $(""!==a?a:"0").add(""+l*r),c="number"==typeof i&&!isNaN(i)&&o.subtract(`${i}`).isNegative?`${i}`:"number"!=typeof t||isNaN(t)||o.subtract(`${t}`).isNegative?o.toString():`${t}`;this.setValue({committing:!0,nativeEvent:n,origin:"user",value:c})}clearInputValue(e){this.setValue({committing:!0,nativeEvent:e,origin:"user",value:""})}clearButtonPointerDownHandler(e){e.preventDefault()}clearButtonClickHandler(e){e.preventDefault(),e.stopPropagation(),this.clearInputValue(e);const t="number"===this.type?this.childNumberRef.value:this.childRef.value;t?.focus()}emitChangeIfUserModified(){"user"===this.previousValueOrigin&&this.value!==this.previousEmittedValue&&(this.calciteInputChange.emit(),this.setPreviousEmittedValue(this.value))}inputBlurHandler(){this.stopNudging(),this.calciteInternalInputBlur.emit(),this.selfManagedInlineEditable&&this.editingEnabled&&!this.inlineEditableControls&&this.inlineEditableManager.disable(),this.emitChangeIfUserModified()}clickHandler(e){if(this.disabled)return;const t=e.composedPath(),i=t.some(e=>e instanceof HTMLElement&&e.classList.contains(K));return!t.includes(this.inputWrapperRef.value)||t.includes(this.actionWrapperRef.value)||i?void 0:this.selfManagedInlineEditable&&!this.editingEnabled?(e.preventDefault(),void this.inlineEditableManager.enable()):void this.setFocus()}inputFocusHandler(){this.calciteInternalInputFocus.emit()}inputInputHandler(e){this.disabled||this.readOnly||("file"===this.type&&(this.files=this.childRef.value.files??void 0),this.setValue({nativeEvent:e,origin:"user",value:e.target.value}))}inputKeyDownHandler(e){this.disabled||this.readOnly||"Enter"===e.key&&this.emitChangeIfUserModified()}inputNumberInputHandler(e){if(this.disabled||this.readOnly)return;if("Infinity"===this.value||"-Infinity"===this.value)return;const t=e.target.value;F.numberFormatOptions={locale:this.messages._lang,numberingSystem:this.numberingSystem,useGrouping:this.groupSeparator};const i=F.delocalize(t);var n;"insertFromPaste"===e.inputType?(w(i)||e.preventDefault(),this.setValue({nativeEvent:e,origin:"user",value:(n=i,n&&function(e){return f.n.some(t=>e.includes(t))}(n)?B(n,e=>{let t=!1;const i=e.split("").filter((e,i)=>e.match(/\./g)&&!t?(t=!0,!0):!(!e.match(/-/g)||0!==i)||f.n.includes(e)).join("");return w(i)?new $(i).toString():""}):"")}),this.childNumberRef.value&&(this.childNumberRef.value.value=this.displayedValue)):this.setValue({nativeEvent:e,origin:"user",value:i})}inputNumberKeyDownHandler(e){if("number"!==this.type||this.disabled||this.readOnly)return;if("Infinity"===this.value||"-Infinity"===this.value)return e.preventDefault(),void("Backspace"!==e.key&&"Delete"!==e.key||this.clearInputValue(e));if("ArrowUp"===e.key)return e.preventDefault(),void this.nudgeNumberValue("up",e);if("ArrowDown"===e.key)return void this.nudgeNumberValue("down",e);const t=[...f.n,"ArrowLeft","ArrowRight","Backspace","Delete","Enter","Escape","Tab"];if(e.altKey||e.ctrlKey||e.metaKey)return;const i=e.shiftKey&&"Tab"===e.key;if(t.includes(e.key)||i)"Enter"===e.key&&this.emitChangeIfUserModified();else{if(F.numberFormatOptions={locale:this.messages._lang,numberingSystem:this.numberingSystem,useGrouping:this.groupSeparator},e.key===F.decimal){if(!this.value&&!this.childNumberRef.value?.value)return;if(this.value&&-1===this.childNumberRef.value?.value.indexOf(F.decimal))return}if(/[eE]/.test(e.key)){if(!this.value&&!this.childNumberRef.value?.value)return;if(this.value&&this.childNumberRef.value&&!/[eE]/.test(this.childNumberRef.value.value))return}if("-"===e.key){if(!this.value&&!this.childNumberRef.value?.value)return;if(this.value&&this.childNumberRef.value&&this.childNumberRef.value.value.split("-").length<=2)return}e.preventDefault()}}nudgeNumberValue(e,t){if(t instanceof KeyboardEvent&&t.repeat||"number"!==this.type)return;const i=this.maxString?parseFloat(this.maxString):null,n=this.minString?parseFloat(this.minString):null;this.incrementOrDecrementNumberValue(e,i,n,t),this.nudgeNumberValueIntervalId&&this.stopNudging();let a=!0;this.nudgeNumberValueIntervalId=window.setInterval(()=>{a?a=!1:this.incrementOrDecrementNumberValue(e,i,n,t)},150)}numberButtonPointerUpAndOutHandler(){this.stopNudging()}numberButtonPointerDownHandler(e){if(!(0,l.k)(e))return;e.preventDefault();const t=e.currentTarget.dataset.adjustment;this.disabled||this.nudgeNumberValue(t,e)}setInputValue(e){const t="number"===this.type?this.childNumberRef:this.childRef;t.value&&(t.value.value=e)}setPreviousEmittedValue(e){this.previousEmittedValue=this.normalizeValue(e)}normalizeValue(e){return"number"===this.type?w(e)?e:"":e}setPreviousValue(e){this.previousValue=this.normalizeValue(e)}setValue({committing:e=!1,nativeEvent:t,origin:i,previousValue:n,value:a}){if(this.setPreviousValue(n??this.value),this.previousValueOrigin=i,"number"===this.type){F.numberFormatOptions={locale:this.messages._lang,numberingSystem:this.numberingSystem,useGrouping:this.groupSeparator,signDisplay:"never"};const e=this.previousValue?.length>a.length||this.value?.length>a.length,t="."===a.charAt(a.length-1),n=t&&e?a:(r=a,B(Array.from(r).filter(e=>S.has(e)).join(""),e=>{const t=e.replace(I,"").replace(C,"").replace(E,"$1");return w(t)?z.test(t)?t:function(e){const t=e.split(".")[1],i=new $(e).toString(),[n,a]=i.split(".");return t&&a!==t?`${n}.${t}`:i}(t):e})),l=a&&!n?w(this.previousValue)?this.previousValue:"":n;let o=F.localize(l);"connected"===i||t||(o=function(e,t,i){const n=t.split(".")[1];if(n){const a=n.match(V)?.[0];if(a&&i.delocalize(e).length!==t.length&&-1===n.indexOf("e")){const t=i.decimal;return(e=e.includes(t)?e:`${e}${t}`).padEnd(e.length+a.length,i.localize("0"))}}return e}(o,l,F)),this.displayedValue=t&&e?`${o}${F.decimal}`:o,this.userChangedValue="user"===i&&this.value!==l,this.value=["-","."].includes(l)?"":l}else this.userChangedValue="user"===i&&this.value!==a,this.value=a;var r;"direct"===i&&(this.setInputValue(a),this.previousEmittedValue=a),t&&(this.calciteInputInput.emit().defaultPrevented?(this.value=this.previousValue,this.displayedValue="number"===this.type?F.localize(this.previousValue):this.previousValue):e&&this.emitChangeIfUserModified())}inputKeyUpHandler(){this.stopNudging()}warnAboutInvalidNumberValue(e){"number"===this.type&&e&&!w(e)&&console.warn(`The specified value "${e}" cannot be parsed, or is out of range.`)}render(){const e=this.direction,t=a.qy`<div class=${(0,r.CP)("loader")}><calcite-progress .label=${this.messages.loading} type=indeterminate></calcite-progress></div>`,i=a.qy`<div class=${(0,r.CP)("clear-button")} @click=${this.disabled||this.readOnly?void 0:this.clearButtonClickHandler} @pointerdown=${this.disabled||this.readOnly?void 0:this.clearButtonPointerDownHandler}>${(({ariaLabel:e,ref:t,disabled:i,focusable:n,onClick:l,scale:o,title:c})=>a.qy`<div class=${(0,r.CP)("clear-button--container")} .inert=${i} ${(0,g.K)(t||Z)}><calcite-action .disabled=${i} icon=x .label=${e??""} @click=${l} .scale=${o} tabindex=${(n?void 0:-1)??a.s6} .text=${c} title=${c??a.s6}></calcite-action></div>`)({ariaLabel:this.messages.clear,disabled:this.disabled||this.readOnly,scale:this.scale,title:this.messages.clear})}</div>`,l=a.qy`<div class=${(0,r.CP)("icon")}><calcite-icon .flipRtl=${this.iconFlipRtl} .icon=${this.requestedIcon} .scale=${(0,q.g)(this.scale)}></calcite-icon></div>`,o="horizontal"===this.numberButtonType,c=a.qy`<div aria-hidden=true class=${(0,r.CP)({[ye]:!0,[ve]:o})} data-adjustment=${"up"} data-testid=number-button-up @pointerdown=${this.numberButtonPointerDownHandler} @pointerout=${this.numberButtonPointerUpAndOutHandler} @pointerup=${this.numberButtonPointerUpAndOutHandler}><calcite-action .disabled=${this.disabled||this.readOnly} .icon=${"chevron-up"} .scale=${this.scale} tabindex=-1 text></calcite-action></div>`,s=a.qy`<div aria-hidden=true class=${(0,r.CP)({[ye]:!0,[ve]:o})} data-adjustment=${"down"} data-testid=number-button-down @pointerdown=${this.numberButtonPointerDownHandler} @pointerout=${this.numberButtonPointerUpAndOutHandler} @pointerup=${this.numberButtonPointerUpAndOutHandler}><calcite-action .disabled=${this.disabled||this.readOnly} .icon=${"chevron-down"} .scale=${this.scale} tabindex=-1 text></calcite-action></div>`,d=a.qy`<div class=${(0,r.CP)("number-button-wrapper")}>${c}${s}</div>`,u=a.qy`<div class=${(0,r.CP)("prefix")}>${this.prefixText}</div>`,p=a.qy`<div class=${(0,r.CP)("suffix")}>${this.suffixText}</div>`,h=this.el.autofocus,v=this.el.enterKeyHint,f=this.el.inputMode,x="number"===this.type?(0,m.D)("localized-input",a.qy`<input accept=${this.accept??a.s6} aria-errormessage=${$e} .ariaInvalid=${"invalid"===this.status} .ariaLabel=${(0,y.g)(this)} autocomplete=${this.autocomplete??a.s6} .autofocus=${h} class=${(0,r.CP)({[be]:this.editingEnabled,[me]:this.hasInlineEditableContext,[ge]:!!this.inlineEditableEl})} value=${this.defaultValue??a.s6} .disabled=${this.disabled} enterkeyhint=${v??a.s6} inputmode=${f??a.s6} maxlength=${this.maxLength??a.s6} minlength=${this.minLength??a.s6} .multiple=${this.multiple} @blur=${this.inputBlurHandler} @focus=${this.inputFocusHandler} @input=${this.inputNumberInputHandler} @keydown=${this.inputNumberKeyDownHandler} @keyup=${this.inputKeyUpHandler} pattern=${this.pattern??a.s6} placeholder=${(this.placeholder||"")??a.s6} .readOnly=${this.readOnly} .required=${this.required} tabindex=${(this.disabled||this.hasInlineEditableContext&&!this.editingEnabled?-1:void 0)??a.s6} type=text .value=${(0,b.V)(this.displayedValue??"")} ${(0,g.K)(this.childNumberRef)}>`):null,k="number"!==this.type?a.qy`<input accept=${this.accept??a.s6} aria-errormessage=${$e} .ariaInvalid=${"invalid"===this.status} .ariaLabel=${(0,y.g)(this)} autocomplete=${this.autocomplete??a.s6} .autofocus=${h} class=${(0,r.CP)({[be]:this.editingEnabled,[me]:this.hasInlineEditableContext,[ge]:!!this.inlineEditableEl})} value=${this.defaultValue??a.s6} .disabled=${this.disabled} enterkeyhint=${v??a.s6} inputmode=${f??a.s6} max=${this.maxString??a.s6} maxlength=${this.maxLength??a.s6} min=${this.minString??a.s6} minlength=${this.minLength??a.s6} .multiple=${this.multiple} name=${this.name??a.s6} @blur=${this.inputBlurHandler} @focus=${this.inputFocusHandler} @input=${this.inputInputHandler} @keydown=${this.inputKeyDownHandler} @keyup=${this.inputKeyUpHandler} pattern=${this.pattern??a.s6} placeholder=${(this.placeholder||"")??a.s6} .readOnly=${this.readOnly} .required=${this.required} spellcheck=${this.el.spellcheck??a.s6} step=${this.step??a.s6} tabindex=${(this.disabled||this.hasInlineEditableContext&&!this.editingEnabled?-1:void 0)??a.s6} type=${this.type??a.s6} .value=${(0,b.V)(this.value??"")} ${(0,g.K)(this.childRef)}>`:null;return this.interactiveContainer({disabled:this.disabled,children:a.qy`${this.labelText&&j({labelText:this.labelText,onClick:this.onLabelClick,required:this.required,tooltipText:this.messages.required})||""}<div class=${(0,r.CP)({[fe]:!0,[n.C.rtl]:"rtl"===e,[xe]:this.suffixText,[ke]:this.prefixText})} ${(0,g.K)(this.inputWrapperRef)}><div class=${(0,r.CP)("element-wrapper")}>${this.loading?t:null}${"number"!==this.type||"horizontal"!==this.numberButtonType||this.readOnly?null:s}${this.prefixText?u:null}${this.requestedIcon?l:null}${x}${k}${this.isClearable?i:null}${this.suffixText?p:null}${"number"!==this.type||"horizontal"!==this.numberButtonType||this.readOnly?null:c}${"number"!==this.type||"vertical"!==this.numberButtonType||this.readOnly?null:d}</div>${this.selfManagedInlineEditable&&a.qy`<div class=${(0,r.CP)("inline-editable")}>${U({cancelEditingLabel:this.messages.cancelInlineEditing,confirmChangesLabel:this.messages.confirmInlineEditingChanges,editingEnabled:this.editingEnabled,enableEditingButtonRef:this.enableInlineEditingButtonRef,enableEditingLabel:this.messages.enableInlineEditing,loading:this.inlineEditableLoading,onCancelEditing:()=>this.inlineEditableManager.cancelEditing(),onConfirmChanges:()=>this.inlineEditableManager.confirm(this.inlineEditableAfterConfirm,e=>{this.inlineEditableLoading=e}),onEnableEditing:()=>this.inlineEditableManager.enable(),scale:this.scale,showControls:this.editingEnabled&&this.inlineEditableControls})}</div>`||""}<div class=${(0,r.CP)("action-wrapper")} ${(0,g.K)(this.actionWrapperRef)}><slot name=${"action"}></slot></div></div>${this.validationMessage&&"invalid"===this.status?J({icon:this.validationIcon,id:$e,message:this.validationMessage,scale:this.scale,status:this.status}):null}`})}}(0,n.c)("calcite-input",Ce)},1715(e,t,i){i.d(t,{D:()=>l});var n=i(60496),a=i(43356),r=i(38632);const l=(0,a.u$)(class extends a.WL{constructor(){super(...arguments),this.key=n.s6}render(e,t){return this.key=e,t}update(e,[t,i]){return t!==this.key&&((0,r.mY)(e),this.key=t),i}})}}]);
|
package/config.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.2.0-next.
|
|
2
|
+
import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.2.0-next.78";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Supports client-side projection workflows between WGS84 and Web Mercator
|
|
3
|
+
* without requiring loading the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) and its dependencies or using a geometry service.
|
|
4
|
+
*
|
|
5
|
+
* Best suited for relatively simple geometries that do not require the full capabilities
|
|
6
|
+
* of the projectOperator.
|
|
3
7
|
*
|
|
4
8
|
* > [!WARNING]
|
|
5
9
|
* >
|
|
6
|
-
* > **Known
|
|
10
|
+
* > **Known limitations**
|
|
7
11
|
* >
|
|
8
|
-
* >
|
|
12
|
+
* > * Geometries with true curves are not supported.
|
|
13
|
+
* > * [Mesh](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/) geometries are not supported.
|
|
9
14
|
*
|
|
10
15
|
* @since 4.0
|
|
11
16
|
* @see [Sample - Coordinate Conversion component - Custom Formats](https://developers.arcgis.com/javascript/latest/sample-code/coordinate-conversion-custom/)
|
|
@@ -14,8 +19,10 @@ import type SpatialReference from "../SpatialReference.js";
|
|
|
14
19
|
import type { GeometryUnion } from "../types.js";
|
|
15
20
|
|
|
16
21
|
/**
|
|
17
|
-
* Returns `true`
|
|
18
|
-
*
|
|
22
|
+
* Returns `true` when [project()](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/webMercatorUtils/#project) can handle the inputs.
|
|
23
|
+
*
|
|
24
|
+
* Supported cases are limited to conversions between WGS84 and Web Mercator,
|
|
25
|
+
* or no-op calls where the `source` and `target` are the same [SpatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/SpatialReference/).
|
|
19
26
|
*
|
|
20
27
|
* @param source - The input [SpatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/SpatialReference/) or an object with
|
|
21
28
|
* `spatialReference` property such as [Geometry](https://developers.arcgis.com/javascript/latest/references/core/geometry/Geometry/)
|
|
@@ -23,21 +30,29 @@ import type { GeometryUnion } from "../types.js";
|
|
|
23
30
|
* @param target - The target [SpatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/SpatialReference/) or an object with
|
|
24
31
|
* `spatialReference` property such as [Geometry](https://developers.arcgis.com/javascript/latest/references/core/geometry/Geometry/)
|
|
25
32
|
* or [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/).
|
|
26
|
-
* @returns Returns `true` if
|
|
33
|
+
* @returns Returns `true` if [project()](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/webMercatorUtils/#project) can handle the `source` and `target` inputs.
|
|
27
34
|
* @see [project()](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/webMercatorUtils/#project)
|
|
28
35
|
*/
|
|
29
36
|
export function canProject(source: object | SpatialReference | null | undefined, target: object | SpatialReference | null | undefined): boolean;
|
|
30
37
|
|
|
31
38
|
/**
|
|
32
|
-
* Projects the geometry
|
|
33
|
-
*
|
|
34
|
-
*
|
|
39
|
+
* Projects the geometry client-side when the input and target spatial references are supported by this module.
|
|
40
|
+
*
|
|
41
|
+
* Use this method when the target spatial reference may vary between WGS84 and Web Mercator,
|
|
42
|
+
* or when needing to handle no-op projections between identical spatial references.
|
|
43
|
+
*
|
|
44
|
+
* Use [canProject()](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/webMercatorUtils/#canProject)
|
|
45
|
+
* to test whether this function can handle the inputs. If the conversion
|
|
46
|
+
* direction is already known, use [geographicToWebMercator()](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/webMercatorUtils/#geographicToWebMercator)
|
|
47
|
+
* or [webMercatorToGeographic()](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/webMercatorUtils/#webMercatorToGeographic). If this function cannot
|
|
48
|
+
* handle the inputs, use [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) instead.
|
|
35
49
|
*
|
|
36
50
|
* @param geometry - The input geometry.
|
|
37
51
|
* @param spatialReference - The target [SpatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/SpatialReference/) or an object with
|
|
38
52
|
* `spatialReference` property such as [Geometry](https://developers.arcgis.com/javascript/latest/references/core/geometry/Geometry/)
|
|
39
53
|
* or [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/).
|
|
40
|
-
* @returns Returns the projected geometry if the
|
|
54
|
+
* @returns Returns the projected geometry if the input is supported; otherwise returns `null`.
|
|
55
|
+
* @see [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/)
|
|
41
56
|
* @see [project()](https://developers.arcgis.com/javascript/latest/references/core/rest/geometryService/#project)
|
|
42
57
|
* @see [ProjectParameters](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ProjectParameters/)
|
|
43
58
|
*/
|
|
@@ -69,7 +84,10 @@ export function xyToLngLat(x: number, y: number): [
|
|
|
69
84
|
];
|
|
70
85
|
|
|
71
86
|
/**
|
|
72
|
-
* Converts a geometry from geographic
|
|
87
|
+
* Converts a geometry from the WGS 84 geographic coordinate system (WKID: 4326) to the Web Mercator coordinate system (WKID: 3857).
|
|
88
|
+
*
|
|
89
|
+
* This method provides a lightweight, high-performance client-side conversion optimized for this specific transformation.
|
|
90
|
+
* Geometries containing true curves are not supported. Use [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) instead.
|
|
73
91
|
*
|
|
74
92
|
* @param geometry - The input geometry to convert.
|
|
75
93
|
* @returns Returns the converted geometry in Web Mercator units.
|
|
@@ -77,11 +95,17 @@ export function xyToLngLat(x: number, y: number): [
|
|
|
77
95
|
export function geographicToWebMercator(geometry: GeometryUnion): GeometryUnion;
|
|
78
96
|
|
|
79
97
|
/**
|
|
80
|
-
* Converts a geometry from Web Mercator
|
|
98
|
+
* Converts a geometry from the Web Mercator coordinate system (WKID: 3857) to the WGS 84 geographic coordinate system (WKID: 4326).
|
|
99
|
+
*
|
|
100
|
+
* This method provides a lightweight, high-performance client-side conversion for this specific transformation.
|
|
101
|
+
* Geometries containing true curves are not supported. Use [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) instead.
|
|
81
102
|
*
|
|
82
103
|
* @param geometry - The input geometry to convert.
|
|
83
|
-
* @param isLinear -
|
|
84
|
-
*
|
|
104
|
+
* @param isLinear - Indicates whether to preserve continuous coordinate values and skip
|
|
105
|
+
* longitude normalization.
|
|
106
|
+
* By default, this method normalizes output longitude values. Specify
|
|
107
|
+
* `true` to preserve unnormalized values, such as when working with
|
|
108
|
+
* wrapped world coordinates. Default value is `false`.
|
|
85
109
|
* @returns Returns the converted geometry in geographic units.
|
|
86
110
|
*/
|
|
87
111
|
export function webMercatorToGeographic(geometry: GeometryUnion, isLinear?: boolean): GeometryUnion;
|
package/kernel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.2";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.2.0-next.
|
|
2
|
+
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.2";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.2.0-next.78",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../request.js";import{has}from"../applications/Components/baUtils.js";import i from"../core/Accessor.js";import s from"../core/Error.js";import r from"../core/Logger.js";import{someMap as a}from"../core/MapUtils.js";import{createAbortError as n,isAborted as o,isAbortError as l}from"../core/promiseUtils.js";import d from"../core/ReactiveMap.js";import{watch as h}from"../core/reactiveUtils.js";import{property as _,subclass as y}from"../core/accessorSupport/decorators.js";import u from"../geometry/SpatialReference.js";import{isGeographic as c}from"../geometry/support/spatialReferenceUtils.js";import g from"../geometry/support/WKIDUnitConversion.js";import{wasmFailedToInit as m,elevQueriesFull as p,elevQueriesGenericFail as w,invalidLayerView as f}from"./ILyr3DWasmPerSceneView.js";import{Lyr3DWorkerHandle as b}from"./Lyr3DWorkerHandle.js";import{getVCSFromHeightModelInfo as v}from"./support/tiles3DUtils.js";import{loadLyr3DMainWASM as D}from"../libs/lyr3d/Lyr3DModule.js";import{getElevationOffsetInMeters as L}from"../support/elevationInfoUtils.js";import{makeScheduleFunction as M}from"../views/3d/layers/support/makeScheduleFunction.js";import{TaskPriority as C}from"../views/support/Scheduler.js";import{Yield as R}from"../views/support/Yield.js";const k=3857,S=32662,I=4326,V=5773;let W=class extends i{constructor(e){super(e),this._lyr3DMainPromise=null,this._lyr3DMain=null,this._layers=new Map,this._viewSR=null,this._haveAddedViewSRForNoOpPrj=!1,this._lyr3DBusyCount=0,this._lyr3DInternalMemoryBytes=0,this._isTerrainReady=!1,this._hasLayerThatReplacesTerrain=!1,this._elevationQueries=new d,this._pendingJobCompleted=new Array,this._pendingJobFailed=new Array,this._pendingRenderableCreated=new Array,this._jobDataBufferPtr=0,this._jobDataBufferCapacity=0,this._debugFlags=new Set,this._debugLevel=2,this._wasmNotLoaded="method requiring WASM was called when WASM isn't loaded",this._pulseTaskHandle=null,this._cameraDirty=!0,this._cameraElevationDirty=!0,this._debugFlags.add(0),this._debugFlags.add(1),this._debugFlags.add(2)}_debugLog(e,t,i,s=!0){if(this._debugFlags.has(e)&&this._debugLevel>=t){const e=s?`[js] ${i}`:`${i}`;0===t||1===t?r.getLogger(this).error(e):2===t&&r.getLogger(this).warn(e),r.getLogger(this).info(e)}}get viewSR(){return this._viewSR}get lyr3DInternalMemoryBytes(){return this._lyr3DInternalMemoryBytes}initialize(){this._debugLevel>2&&(r.getLogger(this).level="info"),this._debugLog(0,3,"Lyr3DWasmPerSceneView.initialize()"),this.addHandles([h(()=>this.view.state?.contentCamera,()=>this._updateWasmCamera()),h(()=>this.view.state?.contentCamera.relativeElevation,()=>{this._cameraElevationDirty=!0,this._markAllLayerViewsUpdating()}),this.view.resourceController.addUpdatingObject(this)]),this._pulseTaskHandle=this.view.resourceController.scheduler.registerTask(C.LYR3D,this)}destroy(){this._debugLog(0,3,"Lyr3DWasmPerSceneView.destroy()"),this._lyr3DMain&&(this._jobDataBufferPtr&&(this._lyr3DMain._free(this._jobDataBufferPtr),this._jobDataBufferPtr=0,this._jobDataBufferCapacity=0),this._layers.forEach(e=>{e.abortController.abort()}),this._elevationQueries.forEach((e,t)=>{this._lyr3DMain.cancel_elevation_query(t),e.rejectCallback(n())}),this._elevationQueries.clear(),this._lyr3DMain.uninitialize_lyr3d_wasm(),this._lyr3DMain=null),this._pendingJobCompleted.length=0,this._pendingJobFailed.length=0,this._pendingRenderableCreated.length=0;const e=this._workerHandle;e&&e.destroyWasm().then(()=>{this._workerHandle?.destroy(),this._workerHandle=null}),this._pulseTaskHandle?.remove(),this._pulseTaskHandle=null}get readyToRun(){return this._hasPendingPulseWork()}get updating(){return this._elevationQueries.size>0}runTask(e){return this._pulseTask(e),R}_hasPendingPulseWork(){return!!this._lyr3DMain&&(this._cameraDirty||this._cameraElevationDirty||this._pendingJobCompleted.length>0||this._pendingJobFailed.length>0||this._pendingRenderableCreated.length>0||this._elevationQueries.size>0||a(this._layers,e=>this._isUpdating(e)))}addLayerView(e){return this._lyr3DMain?this._addLayerView(e):(this._debugLog(0,1,"Lyr3DWasmPerSceneView.add3DTilesLayerView() called when WASM wasn't initialized"),{wasmLayerId:m})}removeLayerView(e){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;this._doRemoveLayerView(e);const t=this._layers.size;return 0===t&&(this._debugLog(0,3,"Lyr3DWasmPerSceneView.remove3DTilesLayerView() no Lyr3D layers left after removing a layer, destroying"),this.destroy()),t}getValidLayerViewCount(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;let e=0;return this._layers.forEach(t=>{t.layerView.wasmLayerId>=0&&++e}),e}setEnabled(e,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const i=this._layers.get(e.wasmLayerId);if(i){this._lyr3DMain.set_enabled(e.wasmLayerId,t),i.needMemoryUsageUpdate=!0;const s=this._isUpdating(i);i.needFrame=!0,s||i.layerView.updatingFlagChanged()}}setLayerOffset(e,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const i=this._layers.get(e.wasmLayerId);i&&(this._lyr3DMain.set_carto_offset_z(e.wasmLayerId,t),i.needFrame=!0,i.layerView.updatingFlagChanged())}getAttributionText(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),[];return this._lyr3DMain.get_current_attribution_text().split("|")}onRenderableEvicted(e,t,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.on_renderable_evicted(e.wasmLayerId,t,i)}setMeshModifications(e,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const i=this._layers.get(e.wasmLayerId);if(i){this._lyr3DMain.set_mesh_modification_polygons(e.wasmLayerId,t);const s=this._isUpdating(i);i.needFrame=!0,s||i.layerView.updatingFlagChanged()}}isUpdating(e){if(!this._lyr3DMain&&this._lyr3DMainPromise)return!0;const t=this._layers.get(e);return!!t&&this._isUpdating(t)}initializeWasm(e,t){return this._lyr3DMain?Promise.resolve():this.view.renderSpatialReference?(this._debugLog(0,3,"Lyr3DWasmPerSceneView.initializeWasm()"),this._lyr3DMainPromise||(this._lyr3DMainPromise=D().then(i=>{this._lyr3DMain=i,this._lyr3DMainPromise=null;const s=this._lyr3DMain.addFunction(this._onNewJob.bind(this),"vi"),r=this._lyr3DMain.addFunction(this._onNewRenderable.bind(this),"vi"),a=this._lyr3DMain.addFunction(this._freeRenderables.bind(this),"vi"),n=this._lyr3DMain.addFunction(this._setRenderableVisibility.bind(this),"vi"),o=this._lyr3DMain.addFunction(this._onWasmError.bind(this),"viiii"),l=this._lyr3DMain.addFunction(this._onElevQueryComplete.bind(this),"vi");if(!this.view.renderSpatialReference)return void(this._lyr3DMain=null);this._viewSR=this.view.renderSpatialReference?.toJSON();let d="global"===this.view.viewingMode?6:4;6===d?(this._viewSR.wkid=this._viewSR.latestWkid=I,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=V,this._viewSR.wkt=""):(this._viewSR.vcsWkid||(this._viewSR.vcsWkid=v(this.view.heightModelInfo)),this.view.renderSpatialReference?.isWebMercator?(this._viewSR.wkid=this._viewSR.latestWkid=k,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=V):this.view.renderSpatialReference?.wkid===S?(this._viewSR.wkid=this._viewSR.latestWkid=I,d=3,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=V):this._viewSR.vcsWkid||this._viewSR.latestVcsWkid||(this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=-1));const h=has("esri-lyr3D-max-concurrent-requests")??16;return this._lyr3DMain.initialize_lyr3d_wasm(o,s,r,a,n,l,e,t,d,this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),Math.max(this._debugLevel,0),h)?(this._workerHandle=new b(M(this.view.resourceController)),this._workerHandle.promise?this._workerHandle.promise:void 0):(this._lyr3DMain=null,void this._debugLog(0,0,"Lyr3d Main WASM failed to initialize",!1))}).catch(e=>{this._debugLog(0,0,`Lyr3d WASM failed to download error = ${e}`,!1)})),this._lyr3DMainPromise):Promise.reject()}get isTerrainReady(){return this._isTerrainReady}setLodPixelThreshold(e,t){this._lyr3DMain?.set_lod_pixel_threshold(t);const i=this._layers.get(e.wasmLayerId);i&&(i.needFrame=!0,i.layerView.updatingFlagChanged())}setMaximumGaussianSplatCount(e){this._lyr3DMain.set_maximum_splat_count(e),this._layers.forEach(e=>{"gaussian-splat-3d"===e.layerView.type&&(e.needFrame=!0,e.layerView.updatingFlagChanged())})}queryElevation(e,t,i){if(!this._lyr3DMain)return Promise.reject(this._wasmNotLoaded);if(0===t.coordinates.length)return Promise.reject("no coordinates for elevation query");const s="global"===this.view.viewingMode?u.WGS84:this._viewSR.wkid===k?u.WebMercator:u.PlateCarree,r=t.projectSync(s);r&&(t=r);const a=2*t.coordinates.length,n=this._lyr3DMain._malloc(8*a),o=new Float64Array(this._lyr3DMain.HEAPF64.buffer,n,a);for(let y=0;y<t.coordinates.length;++y){const e=t.coordinates[y];o[2*y]=e.x,o[2*y+1]=e.y}const l=i?.maxGeometricError??0,d=this._lyr3DMain.create_elevation_query(e.wasmLayerId,l,n,a);if(this._lyr3DMain._free(n),d===p)return Promise.reject("max mesh elevation query limit exceeded");if(d===w)return Promise.reject("elevation query failed");const h={wasmLayerId:e.wasmLayerId,descriptor:t,signal:i?.signal,resolveCallback:null,rejectCallback:null},_=new Promise((e,t)=>{h.resolveCallback=e,h.rejectCallback=t});return this._elevationQueries.set(d,h),_}_checkForAbortedElevationQueries(){const e=[];this._elevationQueries.forEach((t,i)=>{o(t.signal)&&(this._lyr3DMain.cancel_elevation_query(i),t.rejectCallback(n()),e.push(i))});for(let t=0;t<e.length;++t)this._elevationQueries.delete(e[t])}_cancelElevationQueriesForLayer(e){const t=new Array;this._elevationQueries.forEach((i,s)=>{i.wasmLayerId===e&&(this._lyr3DMain.cancel_elevation_query(s),i.rejectCallback(n()),t.push(s))}),t.forEach(e=>this._elevationQueries.delete(e))}_pulseTask(e){const t=this._lyr3DMain;if(t){if(this._cameraDirty){const e=this.view.state?.contentCamera;if(e){const{eye:i,center:s,up:r,near:a,far:n,fovY:o}=e,l=[e.screenViewport[2],e.screenViewport[3]],d={eye:i,center:s,up:r,near:a,far:n,fov:o,aspectRatio:e.width/e.height,viewport:l};t.set_camera_parameters(d),this._cameraDirty=!1}}if(this._cameraElevationDirty){const e=this.view.state?.contentCamera.relativeElevation;t.set_camera_elevation(e),this._cameraElevationDirty=!1}this._checkForAbortedElevationQueries();let i=0,s=0;this._layers.forEach(e=>{i+=e.layerView.usedMemory,s+=e.layerView.cachedMemory}),i/=1048576,s/=1048576;const r=this.view.resourceController.memoryController,a=r.usedMemory*r.maxMemory-i-this._lyr3DInternalMemoryBytes/1048576;this._lyr3DBusyCount=this._lyr3DMain.frame_pulse(r.memoryFactor,i,s,a,r.maxMemory),this._lyr3DInternalMemoryBytes=this._lyr3DMain.get_index_memory_bytes(),this._layers.forEach(e=>{this._cameraElevationDirty||(e.needFrame=!1),e.layerView.updatingFlagChanged()}),this._hasLayerThatReplacesTerrain&&!this._isTerrainReady&&(this._isTerrainReady=this._lyr3DMain.is_terrain_ready(),this._isTerrainReady&&this.notifyChange("isTerrainReady")),this._flushPendingWasmCalls(e)}}_isUpdating(e){return e.outstandingJobCount>0||e.outstandingRenderableCount>0||e.needFrame||this._cameraDirty||this._cameraElevationDirty||this._lyr3DBusyCount>0}_incrementJobCount(e,t){if(t.isForElevationQuery)return;const i=this._isUpdating(e);e.outstandingJobCount+=1,i||e.layerView.updatingFlagChanged()}_decrementJobCount(e,t){if(t.isForElevationQuery)return;const i=this._isUpdating(e);e.outstandingJobCount-=1;i!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_incrementRenderableCount(e){const t=this._isUpdating(e);e.outstandingRenderableCount+=1,t||e.layerView.updatingFlagChanged()}_decrementRenderableCount(e){const t=this._isUpdating(e);e.outstandingRenderableCount-=1;t!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_flushPendingWasmCalls(e){this._lyr3DMain&&(this._flushPendingCalls(this._pendingJobFailed,e),this._flushPendingCalls(this._pendingJobCompleted,e),this._flushPendingCalls(this._pendingRenderableCreated,e))}_flushPendingCalls(e,t){for(;!t.done&&e.length>0;){e.shift()(this._lyr3DMain),t.madeProgress()}}_decrementJobCountIfLayerExists(e,t){this._layers.get(e.layerView.wasmLayerId)===e&&this._decrementJobCount(e,t)}_decrementRenderableCountIfLayerExists(e){this._layers.get(e.layerView.wasmLayerId)===e&&this._decrementRenderableCount(e)}_onJobFailed(e,t,i){t.error.length&&this._debugLog(1,1,t.error,!1),this._lyr3DMain&&!e.layerView.destroyed?this._pendingJobFailed.push(t=>{try{t.on_job_failed(i.jobId,i.desc)}finally{this._decrementJobCountIfLayerExists(e,i)}}):this._decrementJobCountIfLayerExists(e,i)}_onJobSucceeded(e,t,i){if(e.layerView.destroyed)return void(this._lyr3DMain?this._pendingJobFailed.push(t=>{try{t.on_job_failed(i.jobId,i.desc)}finally{this._decrementJobCountIfLayerExists(e,i)}}):this._decrementJobCountIfLayerExists(e,i));const{data:s}=t;if(this._lyr3DMain){const r=r=>{try{const e=s.byteLength,a=this._ensureJobDataBuffer(e);new Uint8Array(r.HEAPU8.buffer,a,e).set(s),r.on_job_completed(i.jobId,t.jobDescJson,a,e)}finally{this._decrementJobCountIfLayerExists(e,i)}};this._pendingJobCompleted.push(r)}else this._decrementJobCountIfLayerExists(e,i)}_ensureJobDataBuffer(e){return e<=this._jobDataBufferCapacity&&this._jobDataBufferPtr||(this._jobDataBufferPtr&&this._lyr3DMain._free(this._jobDataBufferPtr),this._jobDataBufferPtr=this._lyr3DMain._malloc(e),this._jobDataBufferCapacity=e),this._jobDataBufferPtr}_getRequestPromises(e,i,s,r){const a=[];for(const n of e){const e=new URL(n);if("integrated-mesh-3dtiles"===r.type){if(e.origin===s.origin&&e.pathname===s.pathname){if(r.rootTileset){a.push(Promise.resolve(r.rootTileset.slice()));continue}}else r.session&&e.searchParams.set("session",r.session)}a.push(t(e.toString(),i).then(e=>e.data))}return a}_getInitialPromise(e,t,i,s,r,a,n){const o=this._getRequestPromises(e.urls,t,i,s);return Promise.all(o).then(e=>(r.inputs=e,this._workerHandle.invoke(r,a))).then(e=>e).catch(t=>{let i=1;return l(t)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):n&&400===t.details?.httpStatus?(i=3,this._debugLog(1,2,"Session expired, trying to create new Session.")):this._debugLog(1,1,`job ${e.jobId} failed with error ${t}.`),{status:i,error:"",jobDescJson:"",data:new Uint8Array(0),missingInputUrls:[],inputs:[]}})}async _onNewJob(e){let t;try{t=this._lyr3DMain.Emval.toValue(e);const s=this._layers.get(t.layerId);if(!s)return;this._incrementJobCount(s,t);const r=s.abortController.signal,a=s.layerView.layer,n="integrated-mesh-3dtiles"===a.type?a.key:null,o="integrated-mesh-3dtiles"===a.type?a.session:null,d={responseType:"array-buffer",signal:r,query:{...s.customParameters,token:s.apiKey,key:n}},h={id:t.jobId,inputs:[],jobDescJson:t.desc.slice(),isMissingResourceCase:!1},_=new URL(a.url),y=e=>{if(1===e.status)this._onJobFailed(s,e,t);else if(0===e.status)this._onJobSucceeded(s,e,t);else if(2===e.status){const i=this._getRequestPromises(e.missingInputUrls,d,_,a);Promise.all(i).then(t=>{h.jobDescJson=e.jobDescJson,e.originalInputs?h.inputs=e.originalInputs:h.inputs=[],h.isMissingResourceCase=!0;for(const e of t)h.inputs.push(e);return this._workerHandle.invoke(h,r)}).then(e=>{1===e.status?this._onJobFailed(s,e,t):0===e.status&&this._onJobSucceeded(s,e,t)}).catch(e=>{l(e)?this._debugLog(1,2,`job ${t.jobId} was cancelled.`):this._debugLog(1,1,`job ${t.jobId} failed with error ${e}.`),this._lyr3DMain?this._pendingJobFailed.push(e=>{try{e.on_job_failed(t.jobId,t.desc)}finally{this._decrementJobCountIfLayerExists(s,t)}}):this._decrementJobCountIfLayerExists(s,t)})}};try{const e=await this._getInitialPromise(t,d,_,a,h,r,o);if(3===e.status&&"integrated-mesh-3dtiles"===a.type){o===a.session&&null!==a.session&&await a.requestRootAndSession(r);y(await this._getInitialPromise(t,d,_,a,h,r,a.session))}else y(e)}catch(i){i&&this._debugLog(1,1,i.toString(),!1),this._lyr3DMain?this._pendingJobFailed.push(e=>{try{e.on_job_failed(t.jobId,t.desc)}finally{this._decrementJobCountIfLayerExists(s,t)}}):this._decrementJobCountIfLayerExists(s,t)}}catch(i){i&&this._debugLog(1,1,i.toString(),!1)}}_onNewRenderable(e){try{const t=this._lyr3DMain.Emval.toValue(e),i=this._layers.get(t.layerId);i&&(this._incrementRenderableCount(i),i.layerView.createRenderable(t).then(e=>{!this._lyr3DMain||i.layerView.destroyed?this._decrementRenderableCountIfLayerExists(i):this._pendingRenderableCreated.push(s=>{try{const{layerId:i,handle:r}=t,a=e();s.on_renderable_created(!0,i,r,a.memUsageBytes,a.numGaussians??0)}finally{this._decrementRenderableCountIfLayerExists(i)}})}).catch(e=>{l(e)||this._debugLog(2,1,`createRenderable failed with error ${e}.`),!this._lyr3DMain||i.layerView.destroyed?this._decrementRenderableCountIfLayerExists(i):this._pendingRenderableCreated.push(e=>{try{const{layerId:i,handle:s}=t;e.on_renderable_created(!1,i,s,0,0)}finally{this._decrementRenderableCountIfLayerExists(i)}})}))}catch(t){t&&this._debugLog(1,1,t.toString(),!1)}}_freeRenderables(e){try{const t=this._lyr3DMain.Emval.toValue(e),i=this._layers.get(t.layerId);if(t.handles.length<1||!i)return;const s=i.layerView;for(let e=0;e<t.handles.length;++e)s.freeRenderable(t.handles[e])}catch(t){t&&this._debugLog(1,1,t.toString(),!1)}}_setRenderableVisibility(e){try{const t=this._lyr3DMain.Emval.toValue(e),i=this._layers.get(t.layerId);if(t.handles.length<1||t.visibility.length!==t.handles.length||!i)return;const s=i.layerView,r=[],a=[];for(let e=0;e<t.handles.length;++e)r.push(t.handles[e]),a.push(!!(1&t.visibility[e]));s.setRenderableVisibility(r,a,t.handles.length)}catch(t){t&&this._debugLog(1,1,t.toString(),!1)}}_onWasmError(e,t,i,s){if(this._lyr3DMain)try{this._debugLog(i,s,this._lyr3DMain.UTF8ToString(e,t),!1)}catch(r){}}_onElevQueryComplete(e){try{const t=this._lyr3DMain.Emval.toValue(e),{queryId:i}=t,r=this._elevationQueries.get(i);if(!r)return void this._debugLog(2,1,`_onElevQueryComplete called for unknown queryId ${i}.`);if(t.succeeded&&t.zs){const{zs:e}=t,s=r.descriptor.clone();for(let t=0;t<e.length;++t)s.coordinates[t].z=e[t];this._debugLog(2,3,`Success EQ ${i}, number points ${e.length}.`),r.resolveCallback(s),this._elevationQueries.delete(i)}else r.rejectCallback(new s("elevation-query:error",t?.error??"Elevation query failed")),this._elevationQueries.delete(i)}catch(t){t&&this._debugLog(1,1,t.toString(),!1)}}_doRemoveLayerView(e){const t=this._layers.get(e.wasmLayerId);return!!t&&(t.abortController.abort(),this._cancelElevationQueriesForLayer(e.wasmLayerId),this._lyr3DMain.remove_layer(e.wasmLayerId),this._is3DTilesIMLayerView(e)&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!1,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")),this._layers.delete(e.wasmLayerId),!0)}_is3DTilesIMLayerView(e){return"integrated-mesh-3dtiles"===e.layer.type}_is3DTilesIMLayer(e){return"integrated-mesh-3dtiles"===e.type}_isGaussianSplatLayerView(e){return"gaussian-splat"===e.layer.type}_isGaussianSplatLayer(e){return"gaussian-splat"===e.type}_toWasmQuality(e){switch(e){case"low":return 1;case"medium":return 2;case"high":return 3}}_addLayerView(e){const t=e.layer;if(!t.url||!t.rootTilesetJSON)return{wasmLayerId:f};const i="integrated-mesh-3dtiles"===t.type?0:2,s=this._lyr3DMain.validate_root_tileset(JSON.stringify(t.rootTilesetJSON),i);if(0!==s.errorCode)return{wasmLayerId:f,check:s};const a=this._lyr3DMain.get_next_layer_id(),n=new AbortController;this._layers.set(a,{layerView:e,abortController:n,needMemoryUsageUpdate:!1,outstandingJobCount:0,outstandingRenderableCount:0,customParameters:t.customParameters,apiKey:t.apiKey,needFrame:!0});const o=L(t.elevationInfo),l=this._toWasmQuality(this.view?.qualityProfile),d=e=>r.getLogger(this).error("add-spatial-reference-error","Error when adding SR:",e);let h=!1;if(this._isGaussianSplatLayerView(e)&&this._isGaussianSplatLayer(t)||this._is3DTilesIMLayerView(e)&&this._is3DTilesIMLayer(t)){let i=t.spatialReference;if(e.useEsriCrs&&t.esriCrsSpatialReference){i=t.esriCrsSpatialReference;const s=c(i);let r=1,a=1;!s&&i.wkid&&-1!==i.wkid&&(r=g.values[g[i.wkid]],a=e.metersPerVCSUnit),this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(i)),s,r,a).catch(d),!this._haveAddedViewSRForNoOpPrj&&i.vcsWkid&&this._viewSR.vcsWkid&&-1!==this._viewSR.vcsWkid&&this._viewSR.vcsWkid!==i.vcsWkid&&(this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),!1,1,1).catch(d),this._haveAddedViewSRForNoOpPrj=!0)}this._isGaussianSplatLayerView(e)?h=this._lyr3DMain.add_gaussian_splat_layer(l,t.url,a,o):this._is3DTilesIMLayerView(e)&&(h=this._lyr3DMain.add_3dtiles_layer(l,t.url,a,o,e.layer.replacesTerrain),h&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!0,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")))}return h?(this._updateWasmCamera(),e.updatingFlagChanged(),{wasmLayerId:a}):(this._layers.delete(a),{wasmLayerId:f})}_updateWasmCamera(){const e=this.view.state?.contentCamera;e&&this._lyr3DMain&&(this._cameraDirty=!0,this._markAllLayerViewsUpdating())}_markAllLayerViewsUpdating(){this._layers.forEach(e=>{const t=this._isUpdating(e);e.needFrame=!0,t||e.layerView.updatingFlagChanged()})}_makeSRWasmSerializable(e){return{wkid:e?.wkid??-1,latestWkid:e?.latestWkid??-1,vcsWkid:e?.vcsWkid??-1,latestVcsWkid:e?.latestVcsWkid??-1,wkt:e?.wkt??""}}_cleanUpSR(e){return-1===e?.wkid&&e.latestWkid&&-1!==e.latestWkid?e.wkid=e.latestWkid:-1===e?.latestWkid&&e.wkid&&-1!==e.wkid&&(e.latestWkid=e.wkid),-1===e?.vcsWkid&&e.latestVcsWkid&&-1!==e.latestVcsWkid?e.vcsWkid=e.latestVcsWkid:-1===e?.latestVcsWkid&&e.vcsWkid&&-1!==e.vcsWkid&&(e.latestVcsWkid=e.vcsWkid),e}};e([_({constructOnly:!0})],W.prototype,"view",void 0),e([_()],W.prototype,"updating",null),e([_({readOnly:!0})],W.prototype,"isTerrainReady",null),W=e([y("esri.layers.Lyr3DWasmPerSceneView")],W);const j=W;export{j as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../request.js";import{has}from"../applications/Components/baUtils.js";import i from"../core/Accessor.js";import s from"../core/Error.js";import r from"../core/Logger.js";import{someMap as a}from"../core/MapUtils.js";import{createAbortError as n,isAborted as o,isAbortError as l}from"../core/promiseUtils.js";import d from"../core/ReactiveMap.js";import{watch as h}from"../core/reactiveUtils.js";import{property as _,subclass as y}from"../core/accessorSupport/decorators.js";import u from"../geometry/SpatialReference.js";import{isGeographic as c}from"../geometry/support/spatialReferenceUtils.js";import g from"../geometry/support/WKIDUnitConversion.js";import{wasmFailedToInit as m,elevQueriesFull as p,elevQueriesGenericFail as w,invalidLayerView as f}from"./ILyr3DWasmPerSceneView.js";import{Lyr3DWorkerHandle as b}from"./Lyr3DWorkerHandle.js";import{getVCSFromHeightModelInfo as v}from"./support/tiles3DUtils.js";import{loadLyr3DMainWASM as L}from"../libs/lyr3d/Lyr3DModule.js";import{getElevationOffsetInMeters as D}from"../support/elevationInfoUtils.js";import{makeScheduleFunction as C}from"../views/3d/layers/support/makeScheduleFunction.js";import{TaskPriority as M}from"../views/support/Scheduler.js";import{Yield as R}from"../views/support/Yield.js";const k=3857,S=32662,V=4326,I=5773;let W=class extends i{get _frozen(){return this._frozenLayerViewCount>0}constructor(e){super(e),this._lyr3DMainPromise=null,this._lyr3DMain=null,this._layers=new Map,this._viewSR=null,this._haveAddedViewSRForNoOpPrj=!1,this._lyr3DBusyCount=0,this._lyr3DInternalMemoryBytes=0,this._isTerrainReady=!1,this._hasLayerThatReplacesTerrain=!1,this._frozenLayerViewCount=0,this._elevationQueries=new d,this._pendingJobCompleted=new Array,this._pendingJobFailed=new Array,this._pendingRenderableCreated=new Array,this._jobDataBufferPtr=0,this._jobDataBufferCapacity=0,this._debugFlags=new Set,this._debugLevel=2,this._wasmNotLoaded="method requiring WASM was called when WASM isn't loaded",this._pulseTaskHandle=null,this._cameraDirty=!0,this._cameraElevationDirty=!0,this._debugFlags.add(0),this._debugFlags.add(1),this._debugFlags.add(2)}_debugLog(e,t,i,s=!0){if(this._debugFlags.has(e)&&this._debugLevel>=t){const e=s?`[js] ${i}`:`${i}`;0===t||1===t?r.getLogger(this).error(e):2===t&&r.getLogger(this).warn(e),r.getLogger(this).info(e)}}get viewSR(){return this._viewSR}get lyr3DInternalMemoryBytes(){return this._lyr3DInternalMemoryBytes}initialize(){this._debugLevel>2&&(r.getLogger(this).level="info"),this._debugLog(0,3,"Lyr3DWasmPerSceneView.initialize()"),this.addHandles([h(()=>this.view.state?.contentCamera,()=>this._updateWasmCamera()),h(()=>this.view.state?.contentCamera.relativeElevation,()=>this._updateWasmCameraElevation()),this.view.resourceController.addUpdatingObject(this)]),this._pulseTaskHandle=this.view.resourceController.scheduler.registerTask(M.LYR3D,this)}destroy(){this._debugLog(0,3,"Lyr3DWasmPerSceneView.destroy()"),this._lyr3DMain&&(this._jobDataBufferPtr&&(this._lyr3DMain._free(this._jobDataBufferPtr),this._jobDataBufferPtr=0,this._jobDataBufferCapacity=0),this._layers.forEach(e=>{e.abortController.abort()}),this._elevationQueries.forEach((e,t)=>{this._lyr3DMain.cancel_elevation_query(t),e.rejectCallback(n())}),this._elevationQueries.clear(),this._lyr3DMain.uninitialize_lyr3d_wasm(),this._lyr3DMain=null),this._pendingJobCompleted.length=0,this._pendingJobFailed.length=0,this._pendingRenderableCreated.length=0;const e=this._workerHandle;e&&e.destroyWasm().then(()=>{this._workerHandle?.destroy(),this._workerHandle=null}),this._pulseTaskHandle?.remove(),this._pulseTaskHandle=null}get readyToRun(){return this._hasPendingPulseWork()}get updating(){return this._elevationQueries.size>0}runTask(e){return this._pulseTask(e),R}_hasPendingPulseWork(){return!!this._lyr3DMain&&(!this._frozen&&this._cameraDirty||!this._frozen&&this._cameraElevationDirty||this._pendingJobCompleted.length>0||this._pendingJobFailed.length>0||this._pendingRenderableCreated.length>0||this._elevationQueries.size>0||a(this._layers,e=>this._isUpdating(e)))}addLayerView(e){return this._lyr3DMain?this._addLayerView(e):(this._debugLog(0,1,"Lyr3DWasmPerSceneView.add3DTilesLayerView() called when WASM wasn't initialized"),{wasmLayerId:m})}removeLayerView(e){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;this._is3DTilesIMLayerView(e)&&e.freeze&&this.decrementFrozenLayerViewCount(e),this._doRemoveLayerView(e);const t=this._layers.size;return 0===t&&(this._debugLog(0,3,"Lyr3DWasmPerSceneView.remove3DTilesLayerView() no Lyr3D layers left after removing a layer, destroying"),this.destroy()),t}getValidLayerViewCount(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;let e=0;return this._layers.forEach(t=>{t.layerView.wasmLayerId>=0&&++e}),e}setEnabled(e,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const i=this._layers.get(e.wasmLayerId);if(i){this._lyr3DMain.set_enabled(e.wasmLayerId,t),i.needMemoryUsageUpdate=!0;const s=this._isUpdating(i);i.needFrame=!0,s||i.layerView.updatingFlagChanged()}}setLayerOffset(e,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const i=this._layers.get(e.wasmLayerId);i&&(this._lyr3DMain.set_carto_offset_z(e.wasmLayerId,t),i.needFrame=!0,i.layerView.updatingFlagChanged())}getAttributionText(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),[];return this._lyr3DMain.get_current_attribution_text().split("|")}onRenderableEvicted(e,t,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.on_renderable_evicted(e.wasmLayerId,t,i)}setMeshModifications(e,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const i=this._layers.get(e.wasmLayerId);if(i){this._lyr3DMain.set_mesh_modification_polygons(e.wasmLayerId,t);const s=this._isUpdating(i);i.needFrame=!0,s||i.layerView.updatingFlagChanged()}}isUpdating(e){if(!this._lyr3DMain&&this._lyr3DMainPromise)return!0;const t=this._layers.get(e);return!!t&&this._isUpdating(t)}incrementFrozenLayerViewCount(e){this._layers.has(e.wasmLayerId)&&(this._frozenLayerViewCount+=1)}decrementFrozenLayerViewCount(e){this._layers.has(e.wasmLayerId)&&(this._frozenLayerViewCount-=1)}initializeWasm(e,t){return this._lyr3DMain?Promise.resolve():this.view.renderSpatialReference?(this._debugLog(0,3,"Lyr3DWasmPerSceneView.initializeWasm()"),this._lyr3DMainPromise||(this._lyr3DMainPromise=L().then(i=>{this._lyr3DMain=i,this._lyr3DMainPromise=null;const s=this._lyr3DMain.addFunction(this._onNewJob.bind(this),"vi"),r=this._lyr3DMain.addFunction(this._onNewRenderable.bind(this),"vi"),a=this._lyr3DMain.addFunction(this._freeRenderables.bind(this),"vi"),n=this._lyr3DMain.addFunction(this._setRenderableVisibility.bind(this),"vi"),o=this._lyr3DMain.addFunction(this._onWasmError.bind(this),"viiii"),l=this._lyr3DMain.addFunction(this._onElevQueryComplete.bind(this),"vi");if(!this.view.renderSpatialReference)return void(this._lyr3DMain=null);this._viewSR=this.view.renderSpatialReference?.toJSON();let d="global"===this.view.viewingMode?6:4;6===d?(this._viewSR.wkid=this._viewSR.latestWkid=V,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=I,this._viewSR.wkt=""):(this._viewSR.vcsWkid||(this._viewSR.vcsWkid=v(this.view.heightModelInfo)),this.view.renderSpatialReference?.isWebMercator?(this._viewSR.wkid=this._viewSR.latestWkid=k,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=I):this.view.renderSpatialReference?.wkid===S?(this._viewSR.wkid=this._viewSR.latestWkid=V,d=3,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=I):this._viewSR.vcsWkid||this._viewSR.latestVcsWkid||(this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=-1));const h=has("esri-lyr3D-max-concurrent-requests")??16;return this._lyr3DMain.initialize_lyr3d_wasm(o,s,r,a,n,l,e,t,d,this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),Math.max(this._debugLevel,0),h)?(this._workerHandle=new b(C(this.view.resourceController)),this._workerHandle.promise?this._workerHandle.promise:void 0):(this._lyr3DMain=null,void this._debugLog(0,0,"Lyr3d Main WASM failed to initialize",!1))}).catch(e=>{this._debugLog(0,0,`Lyr3d WASM failed to download error = ${e}`,!1)})),this._lyr3DMainPromise):Promise.reject()}get isTerrainReady(){return this._isTerrainReady}setLodPixelThreshold(e,t){this._lyr3DMain?.set_lod_pixel_threshold(t);const i=this._layers.get(e.wasmLayerId);i&&(i.needFrame=!0,i.layerView.updatingFlagChanged())}setMaximumGaussianSplatCount(e){this._lyr3DMain.set_maximum_splat_count(e),this._layers.forEach(e=>{"gaussian-splat-3d"===e.layerView.type&&(e.needFrame=!0,e.layerView.updatingFlagChanged())})}queryElevation(e,t,i){if(!this._lyr3DMain)return Promise.reject(this._wasmNotLoaded);if(0===t.coordinates.length)return Promise.reject("no coordinates for elevation query");const s="global"===this.view.viewingMode?u.WGS84:this._viewSR.wkid===k?u.WebMercator:u.PlateCarree,r=t.projectSync(s);r&&(t=r);const a=2*t.coordinates.length,n=this._lyr3DMain._malloc(8*a),o=new Float64Array(this._lyr3DMain.HEAPF64.buffer,n,a);for(let y=0;y<t.coordinates.length;++y){const e=t.coordinates[y];o[2*y]=e.x,o[2*y+1]=e.y}const l=i?.maxGeometricError??0,d=this._lyr3DMain.create_elevation_query(e.wasmLayerId,l,n,a);if(this._lyr3DMain._free(n),d===p)return Promise.reject("max mesh elevation query limit exceeded");if(d===w)return Promise.reject("elevation query failed");const h={wasmLayerId:e.wasmLayerId,descriptor:t,signal:i?.signal,resolveCallback:null,rejectCallback:null},_=new Promise((e,t)=>{h.resolveCallback=e,h.rejectCallback=t});return this._elevationQueries.set(d,h),_}_checkForAbortedElevationQueries(){const e=[];this._elevationQueries.forEach((t,i)=>{o(t.signal)&&(this._lyr3DMain.cancel_elevation_query(i),t.rejectCallback(n()),e.push(i))});for(let t=0;t<e.length;++t)this._elevationQueries.delete(e[t])}_cancelElevationQueriesForLayer(e){const t=new Array;this._elevationQueries.forEach((i,s)=>{i.wasmLayerId===e&&(this._lyr3DMain.cancel_elevation_query(s),i.rejectCallback(n()),t.push(s))}),t.forEach(e=>this._elevationQueries.delete(e))}_pulseTask(e){const t=this._lyr3DMain;if(t){if(this._frozen)return this._checkForAbortedElevationQueries(),void this._flushPendingWasmCalls(e);if(this._cameraDirty){const e=this.view.state?.contentCamera;if(e){const{eye:i,center:s,up:r,near:a,far:n,fovY:o}=e,l=[e.screenViewport[2],e.screenViewport[3]],d={eye:i,center:s,up:r,near:a,far:n,fov:o,aspectRatio:e.width/e.height,viewport:l};t.set_camera_parameters(d),this._cameraDirty=!1}}if(this._cameraElevationDirty){const e=this.view.state?.contentCamera.relativeElevation;t.set_camera_elevation(e),this._cameraElevationDirty=!1}this._checkForAbortedElevationQueries();let i=0,s=0;this._layers.forEach(e=>{i+=e.layerView.usedMemory,s+=e.layerView.cachedMemory}),i/=1048576,s/=1048576;const r=this.view.resourceController.memoryController,a=r.usedMemory*r.maxMemory-i-this._lyr3DInternalMemoryBytes/1048576;this._lyr3DBusyCount=this._lyr3DMain.frame_pulse(r.memoryFactor,i,s,a,r.maxMemory),this._lyr3DInternalMemoryBytes=this._lyr3DMain.get_index_memory_bytes(),this._layers.forEach(e=>{this._cameraElevationDirty||(e.needFrame=!1),e.layerView.updatingFlagChanged()}),this._hasLayerThatReplacesTerrain&&!this._isTerrainReady&&(this._isTerrainReady=this._lyr3DMain.is_terrain_ready(),this._isTerrainReady&&this.notifyChange("isTerrainReady")),this._flushPendingWasmCalls(e)}}_isUpdating(e){return e.outstandingJobCount>0||e.outstandingRenderableCount>0||!this._frozen&&e.needFrame||!this._frozen&&this._cameraDirty||!this._frozen&&this._cameraElevationDirty||!this._frozen&&this._lyr3DBusyCount>0}_incrementJobCount(e,t){if(t.isForElevationQuery)return;const i=this._isUpdating(e);e.outstandingJobCount+=1,i||e.layerView.updatingFlagChanged()}_decrementJobCount(e,t){if(t.isForElevationQuery)return;const i=this._isUpdating(e);e.outstandingJobCount-=1;i!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_incrementRenderableCount(e){const t=this._isUpdating(e);e.outstandingRenderableCount+=1,t||e.layerView.updatingFlagChanged()}_decrementRenderableCount(e){const t=this._isUpdating(e);e.outstandingRenderableCount-=1;t!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_flushPendingWasmCalls(e){this._lyr3DMain&&(this._flushPendingCalls(this._pendingJobFailed,e),this._flushPendingCalls(this._pendingJobCompleted,e),this._flushPendingCalls(this._pendingRenderableCreated,e))}_flushPendingCalls(e,t){for(;!t.done&&e.length>0;){e.shift()(this._lyr3DMain),t.madeProgress()}}_decrementJobCountIfLayerExists(e,t){this._layers.get(e.layerView.wasmLayerId)===e&&this._decrementJobCount(e,t)}_decrementRenderableCountIfLayerExists(e){this._layers.get(e.layerView.wasmLayerId)===e&&this._decrementRenderableCount(e)}_onJobFailed(e,t,i){t.error.length&&this._debugLog(1,1,t.error,!1),this._lyr3DMain&&!e.layerView.destroyed?this._pendingJobFailed.push(t=>{try{t.on_job_failed(i.jobId,i.desc)}finally{this._decrementJobCountIfLayerExists(e,i)}}):this._decrementJobCountIfLayerExists(e,i)}_onJobSucceeded(e,t,i){if(e.layerView.destroyed)return void(this._lyr3DMain?this._pendingJobFailed.push(t=>{try{t.on_job_failed(i.jobId,i.desc)}finally{this._decrementJobCountIfLayerExists(e,i)}}):this._decrementJobCountIfLayerExists(e,i));const{data:s}=t;if(this._lyr3DMain){const r=r=>{try{const e=s.byteLength,a=this._ensureJobDataBuffer(e);new Uint8Array(r.HEAPU8.buffer,a,e).set(s),r.on_job_completed(i.jobId,t.jobDescJson,a,e)}finally{this._decrementJobCountIfLayerExists(e,i)}};this._pendingJobCompleted.push(r)}else this._decrementJobCountIfLayerExists(e,i)}_ensureJobDataBuffer(e){return e<=this._jobDataBufferCapacity&&this._jobDataBufferPtr||(this._jobDataBufferPtr&&this._lyr3DMain._free(this._jobDataBufferPtr),this._jobDataBufferPtr=this._lyr3DMain._malloc(e),this._jobDataBufferCapacity=e),this._jobDataBufferPtr}_getRequestPromises(e,i,s,r){const a=[];for(const n of e){const e=new URL(n);if("integrated-mesh-3dtiles"===r.type){if(e.origin===s.origin&&e.pathname===s.pathname){if(r.rootTileset){a.push(Promise.resolve(r.rootTileset.slice()));continue}}else r.session&&e.searchParams.set("session",r.session)}a.push(t(e.toString(),i).then(e=>e.data))}return a}_getInitialPromise(e,t,i,s,r,a,n){const o=this._getRequestPromises(e.urls,t,i,s);return Promise.all(o).then(e=>(r.inputs=e,this._workerHandle.invoke(r,a))).then(e=>e).catch(t=>{let i=1;return l(t)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):n&&400===t.details?.httpStatus?(i=3,this._debugLog(1,2,"Session expired, trying to create new Session.")):this._debugLog(1,1,`job ${e.jobId} failed with error ${t}.`),{status:i,error:"",jobDescJson:"",data:new Uint8Array(0),missingInputUrls:[],inputs:[]}})}async _onNewJob(e){let t;try{t=this._lyr3DMain.Emval.toValue(e);const s=this._layers.get(t.layerId);if(!s)return;this._incrementJobCount(s,t);const r=s.abortController.signal,a=s.layerView.layer,n="integrated-mesh-3dtiles"===a.type?a.key:null,o="integrated-mesh-3dtiles"===a.type?a.session:null,d={responseType:"array-buffer",signal:r,query:{...s.customParameters,token:s.apiKey,key:n}},h={id:t.jobId,inputs:[],jobDescJson:t.desc.slice(),isMissingResourceCase:!1},_=new URL(a.url),y=e=>{if(1===e.status)this._onJobFailed(s,e,t);else if(0===e.status)this._onJobSucceeded(s,e,t);else if(2===e.status){const i=this._getRequestPromises(e.missingInputUrls,d,_,a);Promise.all(i).then(t=>{h.jobDescJson=e.jobDescJson,e.originalInputs?h.inputs=e.originalInputs:h.inputs=[],h.isMissingResourceCase=!0;for(const e of t)h.inputs.push(e);return this._workerHandle.invoke(h,r)}).then(e=>{1===e.status?this._onJobFailed(s,e,t):0===e.status&&this._onJobSucceeded(s,e,t)}).catch(e=>{l(e)?this._debugLog(1,2,`job ${t.jobId} was cancelled.`):this._debugLog(1,1,`job ${t.jobId} failed with error ${e}.`),this._lyr3DMain?this._pendingJobFailed.push(e=>{try{e.on_job_failed(t.jobId,t.desc)}finally{this._decrementJobCountIfLayerExists(s,t)}}):this._decrementJobCountIfLayerExists(s,t)})}};try{const e=await this._getInitialPromise(t,d,_,a,h,r,o);if(3===e.status&&"integrated-mesh-3dtiles"===a.type){o===a.session&&null!==a.session&&await a.requestRootAndSession(r);y(await this._getInitialPromise(t,d,_,a,h,r,a.session))}else y(e)}catch(i){i&&this._debugLog(1,1,i.toString(),!1),this._lyr3DMain?this._pendingJobFailed.push(e=>{try{e.on_job_failed(t.jobId,t.desc)}finally{this._decrementJobCountIfLayerExists(s,t)}}):this._decrementJobCountIfLayerExists(s,t)}}catch(i){i&&this._debugLog(1,1,i.toString(),!1)}}_onNewRenderable(e){try{const t=this._lyr3DMain.Emval.toValue(e),i=this._layers.get(t.layerId);i&&(this._incrementRenderableCount(i),i.layerView.createRenderable(t).then(e=>{!this._lyr3DMain||i.layerView.destroyed?this._decrementRenderableCountIfLayerExists(i):this._pendingRenderableCreated.push(s=>{try{const{layerId:i,handle:r}=t,a=e();s.on_renderable_created(!0,i,r,a.memUsageBytes,a.numGaussians??0)}finally{this._decrementRenderableCountIfLayerExists(i)}})}).catch(e=>{l(e)||this._debugLog(2,1,`createRenderable failed with error ${e}.`),!this._lyr3DMain||i.layerView.destroyed?this._decrementRenderableCountIfLayerExists(i):this._pendingRenderableCreated.push(e=>{try{const{layerId:i,handle:s}=t;e.on_renderable_created(!1,i,s,0,0)}finally{this._decrementRenderableCountIfLayerExists(i)}})}))}catch(t){t&&this._debugLog(1,1,t.toString(),!1)}}_freeRenderables(e){try{const t=this._lyr3DMain.Emval.toValue(e),i=this._layers.get(t.layerId);if(t.handles.length<1||!i)return;const s=i.layerView;for(let e=0;e<t.handles.length;++e)s.freeRenderable(t.handles[e])}catch(t){t&&this._debugLog(1,1,t.toString(),!1)}}_setRenderableVisibility(e){try{const t=this._lyr3DMain.Emval.toValue(e),i=this._layers.get(t.layerId);if(t.handles.length<1||t.visibility.length!==t.handles.length||!i)return;const s=i.layerView,r=[],a=[];for(let e=0;e<t.handles.length;++e)r.push(t.handles[e]),a.push(!!(1&t.visibility[e]));s.setRenderableVisibility(r,a,t.handles.length)}catch(t){t&&this._debugLog(1,1,t.toString(),!1)}}_onWasmError(e,t,i,s){if(this._lyr3DMain)try{this._debugLog(i,s,this._lyr3DMain.UTF8ToString(e,t),!1)}catch(r){}}_onElevQueryComplete(e){try{const t=this._lyr3DMain.Emval.toValue(e),{queryId:i}=t,r=this._elevationQueries.get(i);if(!r)return void this._debugLog(2,1,`_onElevQueryComplete called for unknown queryId ${i}.`);if(t.succeeded&&t.zs){const{zs:e}=t,s=r.descriptor.clone();for(let t=0;t<e.length;++t)s.coordinates[t].z=e[t];this._debugLog(2,3,`Success EQ ${i}, number points ${e.length}.`),r.resolveCallback(s),this._elevationQueries.delete(i)}else r.rejectCallback(new s("elevation-query:error",t?.error??"Elevation query failed")),this._elevationQueries.delete(i)}catch(t){t&&this._debugLog(1,1,t.toString(),!1)}}_doRemoveLayerView(e){const t=this._layers.get(e.wasmLayerId);return!!t&&(t.abortController.abort(),this._cancelElevationQueriesForLayer(e.wasmLayerId),this._lyr3DMain.remove_layer(e.wasmLayerId),this._is3DTilesIMLayerView(e)&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!1,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")),this._layers.delete(e.wasmLayerId),!0)}_is3DTilesIMLayerView(e){return"integrated-mesh-3dtiles"===e.layer.type}_is3DTilesIMLayer(e){return"integrated-mesh-3dtiles"===e.type}_isGaussianSplatLayerView(e){return"gaussian-splat"===e.layer.type}_isGaussianSplatLayer(e){return"gaussian-splat"===e.type}_toWasmQuality(e){switch(e){case"low":return 1;case"medium":return 2;case"high":return 3}}_addLayerView(e){const t=e.layer;if(!t.url||!t.rootTilesetJSON)return{wasmLayerId:f};const i="integrated-mesh-3dtiles"===t.type?0:2,s=this._lyr3DMain.validate_root_tileset(JSON.stringify(t.rootTilesetJSON),i);if(0!==s.errorCode)return{wasmLayerId:f,check:s};const a=this._lyr3DMain.get_next_layer_id(),n=new AbortController;this._layers.set(a,{layerView:e,abortController:n,needMemoryUsageUpdate:!1,outstandingJobCount:0,outstandingRenderableCount:0,customParameters:t.customParameters,apiKey:t.apiKey,needFrame:!0});const o=D(t.elevationInfo),l=this._toWasmQuality(this.view?.qualityProfile),d=e=>r.getLogger(this).error("add-spatial-reference-error","Error when adding SR:",e);let h=!1;if(this._isGaussianSplatLayerView(e)&&this._isGaussianSplatLayer(t)||this._is3DTilesIMLayerView(e)&&this._is3DTilesIMLayer(t)){let i=t.spatialReference;if(e.useEsriCrs&&t.esriCrsSpatialReference){i=t.esriCrsSpatialReference;const s=c(i);let r=1,a=1;!s&&i.wkid&&-1!==i.wkid&&(r=g.values[g[i.wkid]],a=e.metersPerVCSUnit),this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(i)),s,r,a).catch(d),!this._haveAddedViewSRForNoOpPrj&&i.vcsWkid&&this._viewSR.vcsWkid&&-1!==this._viewSR.vcsWkid&&this._viewSR.vcsWkid!==i.vcsWkid&&(this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),!1,1,1).catch(d),this._haveAddedViewSRForNoOpPrj=!0)}this._isGaussianSplatLayerView(e)?h=this._lyr3DMain.add_gaussian_splat_layer(l,t.url,a,o):this._is3DTilesIMLayerView(e)&&(h=this._lyr3DMain.add_3dtiles_layer(l,t.url,a,o,e.layer.replacesTerrain),h&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!0,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")))}return h?(this._updateWasmCamera(),this._is3DTilesIMLayerView(e)&&e.freeze&&this.incrementFrozenLayerViewCount(e),e.updatingFlagChanged(),{wasmLayerId:a}):(this._layers.delete(a),{wasmLayerId:f})}_updateWasmCamera(){const e=this.view.state?.contentCamera;e&&this._lyr3DMain&&(this._cameraDirty=!0,this._frozen||this._markAllLayerViewsUpdating())}_updateWasmCameraElevation(){this._cameraElevationDirty=!0,this._frozen||this._markAllLayerViewsUpdating()}_markAllLayerViewsUpdating(){this._layers.forEach(e=>{const t=this._isUpdating(e);e.needFrame=!0,t||e.layerView.updatingFlagChanged()})}_makeSRWasmSerializable(e){return{wkid:e?.wkid??-1,latestWkid:e?.latestWkid??-1,vcsWkid:e?.vcsWkid??-1,latestVcsWkid:e?.latestVcsWkid??-1,wkt:e?.wkt??""}}_cleanUpSR(e){return-1===e?.wkid&&e.latestWkid&&-1!==e.latestWkid?e.wkid=e.latestWkid:-1===e?.latestWkid&&e.wkid&&-1!==e.wkid&&(e.latestWkid=e.wkid),-1===e?.vcsWkid&&e.latestVcsWkid&&-1!==e.latestVcsWkid?e.vcsWkid=e.latestVcsWkid:-1===e?.latestVcsWkid&&e.vcsWkid&&-1!==e.vcsWkid&&(e.latestVcsWkid=e.vcsWkid),e}};e([_({constructOnly:!0})],W.prototype,"view",void 0),e([_()],W.prototype,"updating",null),e([_({readOnly:!0})],W.prototype,"isTerrainReady",null),W=e([y("esri.layers.Lyr3DWasmPerSceneView")],W);const j=W;export{j as default};
|
|
@@ -175,7 +175,7 @@ export interface VectorTileLayerEvents extends RefreshableLayerEvents, LayerEven
|
|
|
175
175
|
*
|
|
176
176
|
* A VectorTileLayer can be created in one of the following ways:
|
|
177
177
|
* - By setting the [url](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#url) property to one of the supported URL types.
|
|
178
|
-
* - By setting the [portalItem](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#portalItem) property
|
|
178
|
+
* - By setting the [portalItem](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#portalItem) property to the portal item of a vector tile service.
|
|
179
179
|
* - By setting the [style](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#style) property with a JSON style object.
|
|
180
180
|
*
|
|
181
181
|
* Once the layer is created, add it to a map using the [Map.add()](https://developers.arcgis.com/javascript/latest/references/core/Map/#add) method to display it in a map.
|
|
@@ -183,12 +183,13 @@ export interface VectorTileLayerEvents extends RefreshableLayerEvents, LayerEven
|
|
|
183
183
|
* <details>
|
|
184
184
|
* <summary>Read More</summary>
|
|
185
185
|
*
|
|
186
|
-
* ### Using a URL (service, style, or
|
|
186
|
+
* ### Using a URL (service, style, TileJSON, or GeoJSON)
|
|
187
187
|
*
|
|
188
|
-
* To create a VectorTileLayer from a URL, set the layer
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
*
|
|
188
|
+
* To create a VectorTileLayer from a URL, set the layer's [url](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#url) property to one of the following:
|
|
189
|
+
* - A vector tile style URL. The style may reference vector tile services, TileJSON sources, or GeoJSON sources.
|
|
190
|
+
* - The REST endpoint of a vector tile service.
|
|
191
|
+
* - A TileJSON endpoint (supported since version 4.34).
|
|
192
|
+
* - A GeoJSON endpoint (supported since version 5.2).
|
|
192
193
|
*
|
|
193
194
|
* ```js
|
|
194
195
|
* // Example 1: Create a VectorTileLayer from vector tile service URL by setting the layer's url property
|
|
@@ -555,9 +556,10 @@ export default class VectorTileLayer extends VectorTileLayerSuperclass {
|
|
|
555
556
|
/** The spatial reference of the layer. */
|
|
556
557
|
get spatialReference(): SpatialReference;
|
|
557
558
|
/**
|
|
558
|
-
* A style JSON object
|
|
559
|
-
*
|
|
560
|
-
* from the
|
|
559
|
+
* A style JSON object used to render the layer. The style defines the layer's styling and data sources, which may reference vector tile services,
|
|
560
|
+
* [TileJSON](https://github.com/mapbox/tilejson-spec) resources, or [GeoJSON](https://geojson.org/) resources. When the layer is initialized with a style object,
|
|
561
|
+
* data is fetched from the sources defined by the style.
|
|
562
|
+
* Support for TileJSON sources was added in version 4.34, and support for GeoJSON sources in style objects was added in version 5.2.
|
|
561
563
|
*
|
|
562
564
|
* @since 4.6
|
|
563
565
|
* @example
|
|
@@ -593,19 +595,29 @@ export default class VectorTileLayer extends VectorTileLayerSuperclass {
|
|
|
593
595
|
/** The layer type provides a convenient way to check the type of the layer without the need to import specific layer modules. */
|
|
594
596
|
get type(): "vector-tile";
|
|
595
597
|
/**
|
|
596
|
-
* The URL
|
|
597
|
-
*
|
|
598
|
-
*
|
|
599
|
-
*
|
|
600
|
-
*
|
|
601
|
-
*
|
|
602
|
-
*
|
|
603
|
-
*
|
|
604
|
-
*
|
|
605
|
-
* -
|
|
606
|
-
* -
|
|
607
|
-
* -
|
|
608
|
-
* -
|
|
598
|
+
* The URL of a [vector tile style](https://developers.arcgis.com/rest/services-reference/enterprise/vector-tile-style/) resource,
|
|
599
|
+
* [vector tile service](https://developers.arcgis.com/rest/services-reference/enterprise/vector-tile-service/),
|
|
600
|
+
* [TileJSON](https://github.com/mapbox/tilejson-spec) source, or [GeoJSON](https://geojson.org/) source.
|
|
601
|
+
*
|
|
602
|
+
* When a vector tile style resource is provided, the layer is rendered using the styling and data sources defined by the style.
|
|
603
|
+
* The style's sources define the data used to render the layer and may reference vector tile service, TileJSON source, or GeoJSON source.
|
|
604
|
+
* When a vector tile service, TileJSON source, or GeoJSON source is provided directly, the layer is rendered using a default style.
|
|
605
|
+
*
|
|
606
|
+
* **TileJSON sources**
|
|
607
|
+
* - Support for TileJSON sources was added in version 4.34.
|
|
608
|
+
* - If specifying a TileJSON URL, tiles and related metadata, such as bounds and attribution, are read from the TileJSON configuration.
|
|
609
|
+
* - When a TileJSON source is provided directly, the layer is rendered using a default style because TileJSON does not include styling information.
|
|
610
|
+
* - For the layer to load and render correctly, the TileJSON must meet the following requirements:
|
|
611
|
+
* - The TileJSON must include a vector source.
|
|
612
|
+
* - The TileJSON tiles must be in the Web Mercator spatial reference (WKID: 3857).
|
|
613
|
+
* - The `vector_layers` array must contain at least one layer.
|
|
614
|
+
* - Each layer in the `vector_layers` array should specify the `geometry_type` to ensure proper rendering. The `geometry_type` can be one of the following: `point`, `polygon`, or `line`.
|
|
615
|
+
* - Vector tiles must be 512 x 512 pixels in size and overlap the data sufficiently to allow features to draw correctly.
|
|
616
|
+
*
|
|
617
|
+
* **GeoJSON sources**
|
|
618
|
+
* - Support for GeoJSON sources was added in version 5.2.
|
|
619
|
+
* - When a GeoJSON source is provided directly, the layer is rendered using a default style because GeoJSON does not include styling information.
|
|
620
|
+
* - GeoJSON sources must satisfy the requirements described in the [GeoJSONLayer overview](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/#overview).
|
|
609
621
|
*
|
|
610
622
|
* @example
|
|
611
623
|
* // Example 1: Create a VectorTileLayer from vector tile service URL by setting the layer's url property
|
|
@@ -629,6 +641,12 @@ export default class VectorTileLayer extends VectorTileLayerSuperclass {
|
|
|
629
641
|
* url: "https://your-tile-json-url?f=tilejson"
|
|
630
642
|
* });
|
|
631
643
|
* map.add(layer);
|
|
644
|
+
* @example
|
|
645
|
+
* // Example 4: Create a VectorTileLayer from a GeoJSON source
|
|
646
|
+
* const layer = new VectorTileLayer({
|
|
647
|
+
* url: "https://your-geojson-style-url.json"
|
|
648
|
+
* });
|
|
649
|
+
* map.add(layer);
|
|
632
650
|
*/
|
|
633
651
|
accessor url: string | null | undefined;
|
|
634
652
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{property as t,subclass as r}from"../../core/accessorSupport/decorators.js";import{highlightPixels as n}from"../raster/functions/pixelUtils.js";import{convertVectorFieldData as o,sampleVectorField as s}from"../raster/functions/vectorFieldUtils.js";import i from"../support/RasterJobHandler.js";import{getDefaultBandCombination as a,normalizeRendererJSON as l}from"../../renderers/support/rasterRendererHelper.js";import{createFlowMesh as c}from"../../views/2d/engine/flow/dataUtils.js";const d=d=>{const h=d;let b=class extends h{constructor(){super(...arguments),this._rasterJobHandlerConfig={instance:null,refCount:0,connectionPromise:null}}get _rasterJobHandler(){return this._rasterJobHandlerConfig.instance}increaseRasterJobHandlerUsage(){this._rasterJobHandlerConfig.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandlerConfig.refCount--,this._rasterJobHandlerConfig.refCount<=0&&this._shutdownJobHandler()}async convertVectorFieldData(e,t,r){if(null==e)return null;const n=this._rasterJobHandler;return n?n.convertVectorFieldData({pixelBlock:e,dataType:t},r):o(e,t)}async sampleVectorFieldData(e,t){const r=this._rasterJobHandler;return r?r.sampleVectorFieldData(e,t):s(e.pixelBlock,e.srcDataType,e.tileSize,e.offset,e.maximumVoidPercentage)}async createFlowMesh(e,t){const r=this._rasterJobHandler;return r?r.createFlowMesh(e,t):c(e.meshType,e.simulationSettings,e.flowData,e.startInfo,null!=t.signal?t.signal:(new AbortController).signal)}async highlightPixels(e,t){const r=this,{bandIds:o}=r,s="imagery"===r.type?r.rasterInfo:r.raster.rasterInfo,i=o?.length?o:a(s),l=e.highlightOptions.map(e=>{const t={...e},r="bandId"in t?[t.bandId??0]:[t.xBandId,t.yBandId];for(let n=0;n<r.length;n++){const e=r[n];if(null==e)return;const t=i?.length?i.indexOf(e):e;if(t<0||t>2)return;r[n]=t}return"bandId"in t?t.bandId=r[0]:(t.xBandId=r[0],t.yBandId=r[1]),t}).filter(e=>null!=e);if(0===l.length)return;const c=this._rasterJobHandler;c?await c.highlightPixels({...e,highlightOptions:l},t):n({...e,highlightOptions:l})}_initJobHandler(){const{_rasterJobHandlerConfig:e}=this;if(e.connectionPromise)return e.connectionPromise;const t=new i;return e.connectionPromise=t.initialize().then(()=>{e.instance=t,this.notifyChange("_rasterJobHandler")},()=>{}),e.connectionPromise}_shutdownJobHandler(){const{_rasterJobHandlerConfig:e}=this;e.instance?.destroy(),e.instance=null,e.connectionPromise=null,e.refCount=0,this.notifyChange("_rasterJobHandler"),this._cachedRendererJson=void 0}async _updateSymbolizer(e,t,r,n){const o=this._rasterJobHandlerConfig.instance;if(!o)return;const s=l({...t.toJSON(),variableName:r});JSON.stringify(this._cachedRendererJson)!==JSON.stringify(s)
|
|
2
|
+
import{__decorate as e}from"tslib";import{property as t,subclass as r}from"../../core/accessorSupport/decorators.js";import{highlightPixels as n}from"../raster/functions/pixelUtils.js";import{convertVectorFieldData as o,sampleVectorField as s}from"../raster/functions/vectorFieldUtils.js";import i from"../support/RasterJobHandler.js";import{getDefaultBandCombination as a,normalizeRendererJSON as l}from"../../renderers/support/rasterRendererHelper.js";import{createFlowMesh as c}from"../../views/2d/engine/flow/dataUtils.js";const d=d=>{const h=d;let b=class extends h{constructor(){super(...arguments),this._rasterJobHandlerConfig={instance:null,refCount:0,connectionPromise:null}}get _rasterJobHandler(){return this._rasterJobHandlerConfig.instance}increaseRasterJobHandlerUsage(){this._rasterJobHandlerConfig.refCount++}decreaseRasterJobHandlerUsage(){this._rasterJobHandlerConfig.refCount--,this._rasterJobHandlerConfig.refCount<=0&&this._shutdownJobHandler()}async convertVectorFieldData(e,t,r){if(null==e)return null;const n=this._rasterJobHandler;return n?n.convertVectorFieldData({pixelBlock:e,dataType:t},r):o(e,t)}async sampleVectorFieldData(e,t){const r=this._rasterJobHandler;return r?r.sampleVectorFieldData(e,t):s(e.pixelBlock,e.srcDataType,e.tileSize,e.offset,e.maximumVoidPercentage)}async createFlowMesh(e,t){const r=this._rasterJobHandler;return r?r.createFlowMesh(e,t):c(e.meshType,e.simulationSettings,e.flowData,e.startInfo,null!=t.signal?t.signal:(new AbortController).signal)}async highlightPixels(e,t){const r=this,{bandIds:o}=r,s="imagery"===r.type?r.rasterInfo:r.raster.rasterInfo,i=o?.length?o:a(s),l=e.highlightOptions.map(e=>{const t={...e},r="bandId"in t?[t.bandId??0]:[t.xBandId,t.yBandId];for(let n=0;n<r.length;n++){const e=r[n];if(null==e)return;const t=i?.length?i.indexOf(e):e;if(t<0||t>2)return;r[n]=t}return"bandId"in t?t.bandId=r[0]:(t.xBandId=r[0],t.yBandId=r[1]),t}).filter(e=>null!=e);if(0===l.length)return;const c=this._rasterJobHandler;c?await c.highlightPixels({...e,highlightOptions:l},t):n({...e,highlightOptions:l})}_initJobHandler(){const{_rasterJobHandlerConfig:e}=this;if(e.connectionPromise)return e.connectionPromise;const t=new i;return e.connectionPromise=t.initialize().then(()=>{e.instance=t,this.notifyChange("_rasterJobHandler")},()=>{}),e.connectionPromise}_shutdownJobHandler(){const{_rasterJobHandlerConfig:e}=this;e.instance?.destroy(),e.instance=null,e.connectionPromise=null,e.refCount=0,this.notifyChange("_rasterJobHandler"),this._cachedRendererJson=void 0}async _updateSymbolizer(e,t,r,n){const o=this._rasterJobHandlerConfig.instance;if(!o)return;const s=l({...t.toJSON(),variableName:r});if(JSON.stringify(this._cachedRendererJson)!==JSON.stringify(s)){n&&(e.rasterInfo=n),e.rendererJSON=s,e.bind();try{await o.updateSymbolizer(e),this._cachedRendererJson=t.toJSON()}catch{}}}async _symbolize(e,t){const{pixelData:r,bandIds:n,simpleStretchParams:o}=e,s=this._rasterJobHandler;if(s){const e=await s.symbolize({...r,simpleStretchParams:o,bandIds:n},t);return{extent:r.extent,pixelBlock:e}}const i=e.symbolizer.symbolize({...r,simpleStretchParams:o,bandIds:n});return{extent:r.extent,pixelBlock:i}}};return e([t({clonable:!1})],b.prototype,"_rasterJobHandler",null),e([t({clonable:!1})],b.prototype,"_cachedRendererJson",void 0),e([t({clonable:!1})],b.prototype,"_rasterJobHandlerConfig",void 0),b=e([r("esri.layers.mixins.RasterJobHandlerMixin")],b),b};export{d as RasterJobHandlerMixin};
|