@arcgis/core 4.25.0-next.20220705 → 4.25.0-next.20220708

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/TimeExtent.js +1 -1
  2. package/arcade/arcadeCompiler.js +1 -1
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/0703495557b0df6878c5.js +1 -0
  5. package/assets/esri/core/workers/chunks/1570676351a313f1841b.js +1 -0
  6. package/assets/esri/core/workers/chunks/{695f90305478f5024fa7.js → 1ecbf642debc2207b762.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{30dbdf2aa1bc8e61cad4.js → 268e7b46202fc1decf9f.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{47d78b4f7117554acecf.js → 357a27203f5d8fa152de.js} +1 -1
  9. package/assets/esri/core/workers/chunks/35dfba25a9077ab5dbaf.js +982 -0
  10. package/assets/esri/core/workers/chunks/377354a81e402edf3077.js +1 -0
  11. package/assets/esri/core/workers/chunks/3a42d96ea3b59d33bfe8.js +1 -0
  12. package/assets/esri/core/workers/chunks/3a61e4ab83183f5526a7.js +1 -0
  13. package/assets/esri/core/workers/chunks/{3790f0362b6f27ee798b.js → 3ee5e8d00cd3bc47a9fa.js} +1 -1
  14. package/assets/esri/core/workers/chunks/425d1fabc713a598139c.js +1 -0
  15. package/assets/esri/core/workers/chunks/425e16862feccb467191.js +1 -0
  16. package/assets/esri/core/workers/chunks/{bbe51b49fe7093e47306.js → 48c8ac9a22190c2b890c.js} +1 -1
  17. package/assets/esri/core/workers/chunks/4a364bc073fdc7c1b563.js +1 -0
  18. package/assets/esri/core/workers/chunks/4ca6ada7a4ccde5b5a24.js +1 -0
  19. package/assets/esri/core/workers/chunks/{905130ff0118962c8140.js → 61b71b8e028eda10ccab.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{b34cffd5c45d3a8134bc.js → 69f57ad2227e59b323e8.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{290899b47a52f8b28a9c.js → 791220164501a791b2cd.js} +1 -1
  22. package/assets/esri/core/workers/chunks/792b4b0a43b4bbbc14ab.js +1 -0
  23. package/assets/esri/core/workers/chunks/7b32b8e8ebe48ae0dae2.js +1 -0
  24. package/assets/esri/core/workers/chunks/7f00125b02bb7211de43.js +1 -0
  25. package/assets/esri/core/workers/chunks/81074accfce5f109f909.js +1 -0
  26. package/assets/esri/core/workers/chunks/{594d7fdb80ad9cdedb85.js → 823e25dbc70e71257b6e.js} +1 -1
  27. package/assets/esri/core/workers/chunks/92e43e05265dfc8173a0.js +1 -0
  28. package/assets/esri/core/workers/chunks/{40fa9b28ca882a70813a.js → 92f7415c2e40e320addc.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{9520b32d5d53ea9cd0d3.js → 9341e9e1fe0f6800aa44.js} +1 -1
  30. package/assets/esri/core/workers/chunks/95451d6405729a9f50c7.js +1 -0
  31. package/assets/esri/core/workers/chunks/{910a2ffb4328f8ee7a0d.js → 95cb9cd08941c28ebd85.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{97f32af5893c86f6444c.js → 9b9a40b84640f00a1dcb.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{77c6ba5ea85915d9078c.js → ac07c732aca6e67232f8.js} +1 -1
  34. package/assets/esri/core/workers/chunks/ae8e87da97411cff3783.js +1 -0
  35. package/assets/esri/core/workers/chunks/{65161a874595b0a34aa1.js → b312dd3027492007d75e.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{83c9da68d6dbc77f60e5.js → beead2b06c994b4e61af.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{5e20fd8b7c9497f2da1f.js → bfb08d3e2208c6178af9.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{04e5486f0d8d4c6bd8a2.js → c3236a7058e64ea3b939.js} +1 -1
  39. package/assets/esri/core/workers/chunks/c4e9c71be6299c60c539.js +1 -0
  40. package/assets/esri/core/workers/chunks/c705f907ce60a646d9aa.js +1 -0
  41. package/assets/esri/core/workers/chunks/ce6abfafa0171b9c8d81.js +1 -0
  42. package/assets/esri/core/workers/chunks/{08a5c5a33a7c7c6852e5.js → d00b0f8236f1526099d4.js} +1 -1
  43. package/assets/esri/core/workers/chunks/d13951412a57e1af6208.js +1 -0
  44. package/assets/esri/core/workers/chunks/ecaf8f030026e41e1d1a.js +1 -0
  45. package/assets/esri/core/workers/chunks/f328a6cd4b7d8c653fc7.js +1 -0
  46. package/assets/esri/core/workers/chunks/f6a6178d4df029ff010d.js +1 -0
  47. package/assets/esri/core/workers/chunks/fde2301c6cd97a3cfb86.js +1 -0
  48. package/assets/esri/core/workers/chunks/fe84bcdfd9028b5e7ef6.js +1 -0
  49. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +4 -0
  50. package/assets/esri/themes/base/widgets/_LayerList.scss +4 -0
  51. package/assets/esri/themes/dark/main.css +1 -1
  52. package/assets/esri/themes/light/main.css +1 -1
  53. package/assets/esri/themes/light/view.css +1 -1
  54. package/chunks/CheckerBoard.glsl.js +2 -2
  55. package/chunks/ColorMaterial.glsl.js +9 -9
  56. package/chunks/ComponentShader.glsl.js +33 -33
  57. package/chunks/DefaultMaterial.glsl.js +35 -35
  58. package/chunks/HUDMaterial.glsl.js +11 -11
  59. package/chunks/ImageMaterial.glsl.js +5 -5
  60. package/chunks/LineMarker.glsl.js +17 -17
  61. package/chunks/NativeLine.glsl.js +3 -3
  62. package/chunks/Path.glsl.js +28 -28
  63. package/chunks/Pattern.glsl.js +9 -9
  64. package/chunks/PointRenderer.glsl.js +1 -1
  65. package/chunks/RealisticTree.glsl.js +4 -4
  66. package/chunks/RibbonLine.glsl.js +1 -1
  67. package/chunks/ShadedColorMaterial.glsl.js +1 -1
  68. package/chunks/SimpleAtmosphere.glsl.js +1 -1
  69. package/chunks/Terrain.glsl.js +92 -92
  70. package/chunks/WaterSurface.glsl.js +22 -22
  71. package/chunks/common.js +1 -1
  72. package/chunks/mat2.js +1 -1
  73. package/chunks/mat2d.js +1 -1
  74. package/chunks/mat3.js +1 -1
  75. package/chunks/mat4.js +1 -1
  76. package/chunks/quat.js +1 -1
  77. package/chunks/quat2.js +1 -1
  78. package/chunks/vec2.js +1 -1
  79. package/chunks/vec3.js +1 -1
  80. package/chunks/vec4.js +1 -1
  81. package/core/Message.js +1 -1
  82. package/core/accessorSupport/tracking.js +1 -1
  83. package/core/libs/gl-matrix-2/math/common.js +1 -1
  84. package/core/libs/gl-matrix-2/math/vec2.js +1 -1
  85. package/core/pbf.js +1 -1
  86. package/core/quantity.js +0 -1
  87. package/core/sql/WhereClause.js +1 -1
  88. package/core/urlUtils.js +1 -1
  89. package/geometry/support/scaleUtils.js +1 -1
  90. package/identity/IdentityForm.js +1 -1
  91. package/identity/IdentityModal.js +1 -1
  92. package/identity/OAuthCredential.js +1 -1
  93. package/interfaces.d.ts +3347 -190
  94. package/intl/date.js +1 -1
  95. package/intl/duration.js +1 -1
  96. package/intl/messages.js +1 -1
  97. package/intl/substitute.js +1 -1
  98. package/kernel.js +1 -1
  99. package/layers/ImageryTileLayer.js +1 -1
  100. package/layers/VoxelWasmPerSceneView.js +1 -1
  101. package/layers/mixins/ArcGISImageService.js +1 -1
  102. package/layers/mixins/ImageryTileMixin.js +1 -1
  103. package/layers/support/ControlPointsGeoreference.d.ts +4 -0
  104. package/layers/support/ControlPointsGeoreference.js +5 -0
  105. package/layers/support/CornersGeoreference.js +1 -1
  106. package/layers/support/ElevationSamplerData.js +5 -0
  107. package/layers/support/ElevationTile.js +1 -1
  108. package/layers/support/ExportImageServiceParameters.js +1 -1
  109. package/layers/support/MediaElementBase.js +1 -1
  110. package/layers/support/imageryRendererUtils.js +1 -1
  111. package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
  112. package/package.json +1 -1
  113. package/renderers/support/RasterSymbolizer.js +1 -1
  114. package/request.js +1 -1
  115. package/rest/route/utils.js +1 -1
  116. package/rest/serviceArea.js +1 -1
  117. package/rest/support/ServiceAreaParameters.js +1 -1
  118. package/rest/support/ServiceAreaSolveResult.js +1 -1
  119. package/smartMapping/raster/renderers/classBreaks.js +1 -1
  120. package/smartMapping/raster/renderers/uniqueValue.js +1 -1
  121. package/support/apiKeyUtils.js +1 -1
  122. package/support/requestUtils.js +1 -1
  123. package/support/revision.js +1 -1
  124. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  125. package/views/2d/navigation/actions/Pinch.js +1 -1
  126. package/views/2d/tiling/TileCache.js +1 -1
  127. package/views/2d/viewpointUtils.js +1 -1
  128. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  129. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  130. package/views/3d/environment/CloudsTechnique.js +1 -1
  131. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  132. package/views/3d/environment/FogTechnique.js +1 -1
  133. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  134. package/views/3d/environment/Precipitation.js +1 -1
  135. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  136. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  137. package/views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js +1 -1
  138. package/views/3d/environment/StarsTechnique.js +1 -1
  139. package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
  140. package/views/3d/interactive/Manipulator3D.js +1 -1
  141. package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
  142. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  143. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  144. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  145. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  146. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  147. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  148. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  149. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  150. package/views/3d/layers/support/FeatureVisibilityFilter.js +5 -0
  151. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  152. package/views/3d/state/ViewStateManager.js +1 -1
  153. package/views/3d/support/LaserlinePathData.js +1 -1
  154. package/views/3d/support/ResourceController.js +1 -1
  155. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  156. package/views/3d/terrain/ElevationData.js +1 -1
  157. package/views/3d/terrain/GeometryState.js +1 -1
  158. package/views/3d/terrain/OverlayRenderTarget.js +1 -1
  159. package/views/3d/terrain/OverlayRenderer.js +1 -1
  160. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  161. package/views/3d/terrain/PatchRenderData.js +1 -1
  162. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  163. package/views/3d/terrain/TerrainConst.js +1 -1
  164. package/views/3d/terrain/TerrainRenderer.js +1 -1
  165. package/views/3d/terrain/TerrainSurface.js +1 -1
  166. package/views/3d/terrain/Tile.js +1 -1
  167. package/views/3d/terrain/tileUtils.js +1 -1
  168. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  169. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  170. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  171. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  172. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  173. package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
  174. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  175. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +2 -2
  176. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +5 -0
  177. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +5 -0
  178. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +4 -4
  179. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +11 -11
  180. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +1 -1
  181. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +55 -55
  182. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +3 -3
  183. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Terrain.glsl.js +1 -1
  184. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  185. package/views/3d/webgl-engine/lib/BlendWeightsTechnique.js +1 -1
  186. package/views/3d/webgl-engine/lib/BlurTechnique.js +1 -1
  187. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  188. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  189. package/views/3d/webgl-engine/lib/EdgeDetectTechnique.js +1 -1
  190. package/views/3d/webgl-engine/lib/GLMaterialRepository.js +1 -1
  191. package/views/3d/webgl-engine/lib/GLMaterials.js +1 -1
  192. package/views/3d/webgl-engine/lib/Material.js +1 -1
  193. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  194. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  195. package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
  196. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  197. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  198. package/views/3d/webgl-engine/lib/SSAOTechnique.js +1 -1
  199. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  200. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  201. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  202. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  203. package/views/3d/webgl-engine/lib/TransparencyPassType.js +5 -0
  204. package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
  205. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  206. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  207. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  208. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  209. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  210. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  211. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  212. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  213. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  214. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  215. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  216. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  217. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  218. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  219. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  220. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  221. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  222. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  223. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  224. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  225. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  226. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  227. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  228. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  229. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  230. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  231. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  232. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  233. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  234. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  235. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  236. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  237. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  238. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  239. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  240. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  241. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  242. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  243. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  244. package/views/3d/webgl-engine/shaders/HighlightApplyTechnique.js +1 -1
  245. package/views/3d/webgl-engine/shaders/HighlightBlurTechnique.js +1 -1
  246. package/views/3d/webgl-engine/shaders/HighlightDownsampleTechnique.js +1 -1
  247. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  248. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  249. package/views/3d/webgl-engine/shaders/LaserlinePathTechnique.js +1 -1
  250. package/views/3d/webgl-engine/shaders/LaserlineTechnique.js +1 -1
  251. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  252. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  253. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  254. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  255. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  256. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  257. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  258. package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
  259. package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
  260. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  261. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  262. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  263. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  264. package/views/3d/webgl-engine/shaders/PointRendererTechniqueConfiguration.js +1 -1
  265. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  266. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  267. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  268. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  269. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  270. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  271. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  272. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  273. package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
  274. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  275. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  276. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  277. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  278. package/views/SceneView.js +1 -1
  279. package/views/draw/support/Reshape.js +1 -1
  280. package/views/interactive/GraphicManipulator.js +1 -1
  281. package/views/interactive/SegmentLabels.js +1 -1
  282. package/views/interactive/coordinateHelper.js +1 -1
  283. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  284. package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
  285. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  286. package/views/interactive/snapping/SnappingConstraint.js +1 -1
  287. package/views/interactive/snapping/SnappingManager.js +1 -1
  288. package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
  289. package/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js +1 -1
  290. package/views/interactive/snapping/snappingUtils.js +1 -1
  291. package/views/interactive/support/viewUtils.js +1 -1
  292. package/views/layers/ImageryTileLayerView.js +1 -1
  293. package/views/support/geometry2dUtils.js +1 -1
  294. package/webscene/Slide.js +1 -1
  295. package/widgets/BasemapLayerList.js +1 -1
  296. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  297. package/widgets/ElevationProfile.js +1 -1
  298. package/widgets/LayerList/ListItemPanel.js +1 -1
  299. package/widgets/LayerList.js +1 -1
  300. package/widgets/Widget.js +1 -1
  301. package/widgets/Zoom/ZoomConditions3D.js +1 -1
  302. package/widgets/Zoom/ZoomViewModel.js +1 -1
  303. package/widgets/Zoom.js +1 -1
  304. package/widgets/support/widgetUtils.js +1 -1
  305. package/assets/esri/core/workers/chunks/06a7f58260225f52f8e6.js +0 -1
  306. package/assets/esri/core/workers/chunks/0e00741d35cdbf48e72d.js +0 -1
  307. package/assets/esri/core/workers/chunks/1ebb29ceabc81509646c.js +0 -1
  308. package/assets/esri/core/workers/chunks/24f7a3df08c3a2d3795c.js +0 -1
  309. package/assets/esri/core/workers/chunks/39a754713a48d46618bd.js +0 -1
  310. package/assets/esri/core/workers/chunks/462163f31fa134b7b216.js +0 -1
  311. package/assets/esri/core/workers/chunks/4bfcb7350ca492767a45.js +0 -1
  312. package/assets/esri/core/workers/chunks/5470cb0c3f670957c22c.js +0 -1
  313. package/assets/esri/core/workers/chunks/6889d698a2c796ed1ce6.js +0 -1
  314. package/assets/esri/core/workers/chunks/869310ef4c98542bf9df.js +0 -1
  315. package/assets/esri/core/workers/chunks/8ebaad46e2fe8925e3b0.js +0 -1
  316. package/assets/esri/core/workers/chunks/98c519ac806cc55bc19b.js +0 -1
  317. package/assets/esri/core/workers/chunks/9d07969fbea13aa5b03c.js +0 -1
  318. package/assets/esri/core/workers/chunks/9e6ce879ec0da884b9b8.js +0 -1
  319. package/assets/esri/core/workers/chunks/abd1bd74ba571e39ab5a.js +0 -1
  320. package/assets/esri/core/workers/chunks/b26ea76e3f41b45756e0.js +0 -1
  321. package/assets/esri/core/workers/chunks/c2286d97539066c8549a.js +0 -1
  322. package/assets/esri/core/workers/chunks/c495a66978d67c7e17f3.js +0 -1
  323. package/assets/esri/core/workers/chunks/c7fa92daca3f6e91734e.js +0 -987
  324. package/assets/esri/core/workers/chunks/c9e890b4be9d01c13efe.js +0 -1
  325. package/assets/esri/core/workers/chunks/dda5ea7f8d35e257815c.js +0 -1
  326. package/assets/esri/core/workers/chunks/e153e89c8a15c2f036ef.js +0 -1
  327. package/assets/esri/core/workers/chunks/e201ffcca7321771ee20.js +0 -1
  328. package/assets/esri/core/workers/chunks/e5b5b93e707173a4c883.js +0 -1
  329. package/assets/esri/core/workers/chunks/f7d1f75b6aa3ef566d74.js +0 -1
  330. package/assets/esri/core/workers/chunks/fde9e9683335fa6c8236.js +0 -1
  331. package/core/queryUtils.js +0 -5
  332. package/views/3d/layers/graphics/Graphics3DFilterVisibility.js +0 -5
  333. package/views/3d/layers/support/HeatmapFilterVisibility.js +0 -5
  334. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js +0 -5
  335. package/views/3d/webgl-engine/core/shaderLibrary/util/HeaderComment.glsl.js +0 -10
  336. package/views/3d/webgl-engine/lib/RenderPass.js +0 -5
package/intl/date.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{strict as t}from"../core/jsonMap.js";import{beforeLocaleChange as o,getLocale as e}from"./locale.js";const r={year:"numeric",month:"numeric",day:"numeric"},n={year:"numeric",month:"long",day:"numeric"},a={year:"numeric",month:"short",day:"numeric"},h={year:"numeric",month:"long",weekday:"long",day:"numeric"},m={hour:"numeric",minute:"numeric"},i={...m,second:"numeric"},s={"short-date":r,"short-date-short-time":{...r,...m},"short-date-short-time-24":{...r,...m,hour12:!1},"short-date-long-time":{...r,...i},"short-date-long-time-24":{...r,...i,hour12:!1},"short-date-le":r,"short-date-le-short-time":{...r,...m},"short-date-le-short-time-24":{...r,...m,hour12:!1},"short-date-le-long-time":{...r,...i},"short-date-le-long-time-24":{...r,...i,hour12:!1},"long-month-day-year":n,"long-month-day-year-short-time":{...n,...m},"long-month-day-year-short-time-24":{...n,...m,hour12:!1},"long-month-day-year-long-time":{...n,...i},"long-month-day-year-long-time-24":{...n,...i,hour12:!1},"day-short-month-year":a,"day-short-month-year-short-time":{...a,...m},"day-short-month-year-short-time-24":{...a,...m,hour12:!1},"day-short-month-year-long-time":{...a,...i},"day-short-month-year-long-time-24":{...a,...i,hour12:!1},"long-date":h,"long-date-short-time":{...h,...m},"long-date-short-time-24":{...h,...m,hour12:!1},"long-date-long-time":{...h,...i},"long-date-long-time-24":{...h,...i,hour12:!1},"long-month-year":{month:"long",year:"numeric"},"short-month-year":{month:"short",year:"numeric"},year:{year:"numeric"},"short-time":m,"long-time":i},l=t()({shortDate:"short-date",shortDateShortTime:"short-date-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLongTime:"short-date-long-time",shortDateLongTime24:"short-date-long-time-24",shortDateLE:"short-date-le",shortDateLEShortTime:"short-date-le-short-time",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLELongTime:"short-date-le-long-time",shortDateLELongTime24:"short-date-le-long-time-24",longMonthDayYear:"long-month-day-year",longMonthDayYearShortTime:"long-month-day-year-short-time",longMonthDayYearShortTime24:"long-month-day-year-short-time-24",longMonthDayYearLongTime:"long-month-day-year-long-time",longMonthDayYearLongTime24:"long-month-day-year-long-time-24",dayShortMonthYear:"day-short-month-year",dayShortMonthYearShortTime:"day-short-month-year-short-time",dayShortMonthYearShortTime24:"day-short-month-year-short-time-24",dayShortMonthYearLongTime:"day-short-month-year-long-time",dayShortMonthYearLongTime24:"day-short-month-year-long-time-24",longDate:"long-date",longDateShortTime:"long-date-short-time",longDateShortTime24:"long-date-short-time-24",longDateLongTime:"long-date-long-time",longDateLongTime24:"long-date-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year",year:"year"}),g=l.apiValues,y=l.toJSON.bind(l),d=l.fromJSON.bind(l),u={ar:"ar-u-nu-latn-ca-gregory"};let c=new WeakMap,D=s["short-date-short-time"];function T(t){const o=t||D;if(!c.has(o)){const t=e(),r=u[e()]||t;c.set(o,new Intl.DateTimeFormat(r,o))}return c.get(o)}function S(t){return s[t]||null}function L(t,o){return T(o).format(t)}o((()=>{c=new WeakMap,D=s["short-date-short-time"]}));export{S as convertDateFormatToIntlOptions,g as dateFormats,l as dictionary,L as formatDate,d as fromJSON,T as getDateTimeFormatter,y as toJSON};
5
+ import{strict as t}from"../core/jsonMap.js";import{beforeLocaleChange as o,getLocale as e}from"./locale.js";const r={year:"numeric",month:"numeric",day:"numeric"},n={year:"numeric",month:"long",day:"numeric"},a={year:"numeric",month:"short",day:"numeric"},h={year:"numeric",month:"long",weekday:"long",day:"numeric"},m={hour:"numeric",minute:"numeric"},i={...m,second:"numeric"},s={"short-date":r,"short-date-short-time":{...r,...m},"short-date-short-time-24":{...r,...m,hour12:!1},"short-date-long-time":{...r,...i},"short-date-long-time-24":{...r,...i,hour12:!1},"short-date-le":r,"short-date-le-short-time":{...r,...m},"short-date-le-short-time-24":{...r,...m,hour12:!1},"short-date-le-long-time":{...r,...i},"short-date-le-long-time-24":{...r,...i,hour12:!1},"long-month-day-year":n,"long-month-day-year-short-time":{...n,...m},"long-month-day-year-short-time-24":{...n,...m,hour12:!1},"long-month-day-year-long-time":{...n,...i},"long-month-day-year-long-time-24":{...n,...i,hour12:!1},"day-short-month-year":a,"day-short-month-year-short-time":{...a,...m},"day-short-month-year-short-time-24":{...a,...m,hour12:!1},"day-short-month-year-long-time":{...a,...i},"day-short-month-year-long-time-24":{...a,...i,hour12:!1},"long-date":h,"long-date-short-time":{...h,...m},"long-date-short-time-24":{...h,...m,hour12:!1},"long-date-long-time":{...h,...i},"long-date-long-time-24":{...h,...i,hour12:!1},"long-month-year":{month:"long",year:"numeric"},"short-month-year":{month:"short",year:"numeric"},year:{year:"numeric"},"short-time":m,"long-time":i},l=t()({shortDate:"short-date",shortDateShortTime:"short-date-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLongTime:"short-date-long-time",shortDateLongTime24:"short-date-long-time-24",shortDateLE:"short-date-le",shortDateLEShortTime:"short-date-le-short-time",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLELongTime:"short-date-le-long-time",shortDateLELongTime24:"short-date-le-long-time-24",longMonthDayYear:"long-month-day-year",longMonthDayYearShortTime:"long-month-day-year-short-time",longMonthDayYearShortTime24:"long-month-day-year-short-time-24",longMonthDayYearLongTime:"long-month-day-year-long-time",longMonthDayYearLongTime24:"long-month-day-year-long-time-24",dayShortMonthYear:"day-short-month-year",dayShortMonthYearShortTime:"day-short-month-year-short-time",dayShortMonthYearShortTime24:"day-short-month-year-short-time-24",dayShortMonthYearLongTime:"day-short-month-year-long-time",dayShortMonthYearLongTime24:"day-short-month-year-long-time-24",longDate:"long-date",longDateShortTime:"long-date-short-time",longDateShortTime24:"long-date-short-time-24",longDateLongTime:"long-date-long-time",longDateLongTime24:"long-date-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year",year:"year"}),g=l.apiValues,y=l.toJSON.bind(l),d=l.fromJSON.bind(l),u={ar:"ar-u-nu-latn-ca-gregory"};let c=new WeakMap,D=s["short-date-short-time"];function T(t){const o=t||D;let r=c.get(o);if(!r){const t=e(),n=u[e()]||t;r=new Intl.DateTimeFormat(n,o),c.set(o,r)}return r}function S(t){return t?s[t]:null}function L(t,o){return T(o).format(t)}o((()=>{c=new WeakMap,D=s["short-date-short-time"]}));export{S as convertDateFormatToIntlOptions,g as dateFormats,l as dictionary,L as formatDate,d as fromJSON,T as getDateTimeFormatter,y as toJSON};
package/intl/duration.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{convertTime as n}from"../core/timeUtils.js";import{getLocale as t,getLanguage as u}from"./locale.js";var r,e={exports:{}};r=e,function(){var n={y:function(n){return 1===n?"χρόνος":"χρόνια"},mo:function(n){return 1===n?"μήνας":"μήνες"},w:function(n){return 1===n?"εβδομάδα":"εβδομάδες"},d:function(n){return 1===n?"μέρα":"μέρες"},h:function(n){return 1===n?"ώρα":"ώρες"},m:function(n){return 1===n?"λεπτό":"λεπτά"},s:function(n){return 1===n?"δευτερόλεπτο":"δευτερόλεπτα"},ms:function(n){return(1===n?"χιλιοστό":"χιλιοστά")+" του δευτερολέπτου"},decimal:","},t=["۰","١","٢","٣","٤","٥","٦","٧","٨","٩"],u={af:{y:"jaar",mo:function(n){return"maand"+(1===n?"":"e")},w:function(n){return 1===n?"week":"weke"},d:function(n){return 1===n?"dag":"dae"},h:function(n){return 1===n?"uur":"ure"},m:function(n){return 1===n?"minuut":"minute"},s:function(n){return"sekonde"+(1===n?"":"s")},ms:function(n){return"millisekonde"+(1===n?"":"s")},decimal:","},ar:{y:function(n){return["سنة","سنتان","سنوات"][a(n)]},mo:function(n){return["شهر","شهران","أشهر"][a(n)]},w:function(n){return["أسبوع","أسبوعين","أسابيع"][a(n)]},d:function(n){return["يوم","يومين","أيام"][a(n)]},h:function(n){return["ساعة","ساعتين","ساعات"][a(n)]},m:function(n){return["دقيقة","دقيقتان","دقائق"][a(n)]},s:function(n){return["ثانية","ثانيتان","ثواني"][a(n)]},ms:function(n){return["جزء من الثانية","جزآن من الثانية","أجزاء من الثانية"][a(n)]},decimal:",",delimiter:" و ",_formatCount:function(n,u){for(var r=s(t,{".":u}),e=n.toString().split(""),i=0;i<e.length;i++){var o=e[i];has(r,o)&&(e[i]=r[o])}return e.join("")}},bg:{y:function(n){return["години","година","години"][d(n)]},mo:function(n){return["месеца","месец","месеца"][d(n)]},w:function(n){return["седмици","седмица","седмици"][d(n)]},d:function(n){return["дни","ден","дни"][d(n)]},h:function(n){return["часа","час","часа"][d(n)]},m:function(n){return["минути","минута","минути"][d(n)]},s:function(n){return["секунди","секунда","секунди"][d(n)]},ms:function(n){return["милисекунди","милисекунда","милисекунди"][d(n)]},decimal:","},bn:{y:"বছর",mo:"মাস",w:"সপ্তাহ",d:"দিন",h:"ঘন্টা",m:"মিনিট",s:"সেকেন্ড",ms:"মিলিসেকেন্ড"},ca:{y:function(n){return"any"+(1===n?"":"s")},mo:function(n){return"mes"+(1===n?"":"os")},w:function(n){return"setman"+(1===n?"a":"es")},d:function(n){return"di"+(1===n?"a":"es")},h:function(n){return"hor"+(1===n?"a":"es")},m:function(n){return"minut"+(1===n?"":"s")},s:function(n){return"segon"+(1===n?"":"s")},ms:function(n){return"milisegon"+(1===n?"":"s")},decimal:","},cs:{y:function(n){return["rok","roku","roky","let"][l(n)]},mo:function(n){return["měsíc","měsíce","měsíce","měsíců"][l(n)]},w:function(n){return["týden","týdne","týdny","týdnů"][l(n)]},d:function(n){return["den","dne","dny","dní"][l(n)]},h:function(n){return["hodina","hodiny","hodiny","hodin"][l(n)]},m:function(n){return["minuta","minuty","minuty","minut"][l(n)]},s:function(n){return["sekunda","sekundy","sekundy","sekund"][l(n)]},ms:function(n){return["milisekunda","milisekundy","milisekundy","milisekund"][l(n)]},decimal:","},cy:{y:"flwyddyn",mo:"mis",w:"wythnos",d:"diwrnod",h:"awr",m:"munud",s:"eiliad",ms:"milieiliad"},da:{y:"år",mo:function(n){return"måned"+(1===n?"":"er")},w:function(n){return"uge"+(1===n?"":"r")},d:function(n){return"dag"+(1===n?"":"e")},h:function(n){return"time"+(1===n?"":"r")},m:function(n){return"minut"+(1===n?"":"ter")},s:function(n){return"sekund"+(1===n?"":"er")},ms:function(n){return"millisekund"+(1===n?"":"er")},decimal:","},de:{y:function(n){return"Jahr"+(1===n?"":"e")},mo:function(n){return"Monat"+(1===n?"":"e")},w:function(n){return"Woche"+(1===n?"":"n")},d:function(n){return"Tag"+(1===n?"":"e")},h:function(n){return"Stunde"+(1===n?"":"n")},m:function(n){return"Minute"+(1===n?"":"n")},s:function(n){return"Sekunde"+(1===n?"":"n")},ms:function(n){return"Millisekunde"+(1===n?"":"n")},decimal:","},el:n,en:{y:function(n){return"year"+(1===n?"":"s")},mo:function(n){return"month"+(1===n?"":"s")},w:function(n){return"week"+(1===n?"":"s")},d:function(n){return"day"+(1===n?"":"s")},h:function(n){return"hour"+(1===n?"":"s")},m:function(n){return"minute"+(1===n?"":"s")},s:function(n){return"second"+(1===n?"":"s")},ms:function(n){return"millisecond"+(1===n?"":"s")},decimal:"."},eo:{y:function(n){return"jaro"+(1===n?"":"j")},mo:function(n){return"monato"+(1===n?"":"j")},w:function(n){return"semajno"+(1===n?"":"j")},d:function(n){return"tago"+(1===n?"":"j")},h:function(n){return"horo"+(1===n?"":"j")},m:function(n){return"minuto"+(1===n?"":"j")},s:function(n){return"sekundo"+(1===n?"":"j")},ms:function(n){return"milisekundo"+(1===n?"":"j")},decimal:","},es:{y:function(n){return"año"+(1===n?"":"s")},mo:function(n){return"mes"+(1===n?"":"es")},w:function(n){return"semana"+(1===n?"":"s")},d:function(n){return"día"+(1===n?"":"s")},h:function(n){return"hora"+(1===n?"":"s")},m:function(n){return"minuto"+(1===n?"":"s")},s:function(n){return"segundo"+(1===n?"":"s")},ms:function(n){return"milisegundo"+(1===n?"":"s")},decimal:","},et:{y:function(n){return"aasta"+(1===n?"":"t")},mo:function(n){return"kuu"+(1===n?"":"d")},w:function(n){return"nädal"+(1===n?"":"at")},d:function(n){return"päev"+(1===n?"":"a")},h:function(n){return"tund"+(1===n?"":"i")},m:function(n){return"minut"+(1===n?"":"it")},s:function(n){return"sekund"+(1===n?"":"it")},ms:function(n){return"millisekund"+(1===n?"":"it")},decimal:","},eu:{y:"urte",mo:"hilabete",w:"aste",d:"egun",h:"ordu",m:"minutu",s:"segundo",ms:"milisegundo",decimal:","},fa:{y:"سال",mo:"ماه",w:"هفته",d:"روز",h:"ساعت",m:"دقیقه",s:"ثانیه",ms:"میلی ثانیه",decimal:"."},fi:{y:function(n){return 1===n?"vuosi":"vuotta"},mo:function(n){return 1===n?"kuukausi":"kuukautta"},w:function(n){return"viikko"+(1===n?"":"a")},d:function(n){return"päivä"+(1===n?"":"ä")},h:function(n){return"tunti"+(1===n?"":"a")},m:function(n){return"minuutti"+(1===n?"":"a")},s:function(n){return"sekunti"+(1===n?"":"a")},ms:function(n){return"millisekunti"+(1===n?"":"a")},decimal:","},fo:{y:"ár",mo:function(n){return 1===n?"mánaður":"mánaðir"},w:function(n){return 1===n?"vika":"vikur"},d:function(n){return 1===n?"dagur":"dagar"},h:function(n){return 1===n?"tími":"tímar"},m:function(n){return 1===n?"minuttur":"minuttir"},s:"sekund",ms:"millisekund",decimal:","},fr:{y:function(n){return"an"+(n>=2?"s":"")},mo:"mois",w:function(n){return"semaine"+(n>=2?"s":"")},d:function(n){return"jour"+(n>=2?"s":"")},h:function(n){return"heure"+(n>=2?"s":"")},m:function(n){return"minute"+(n>=2?"s":"")},s:function(n){return"seconde"+(n>=2?"s":"")},ms:function(n){return"milliseconde"+(n>=2?"s":"")},decimal:","},gr:n,he:{y:function(n){return 1===n?"שנה":"שנים"},mo:function(n){return 1===n?"חודש":"חודשים"},w:function(n){return 1===n?"שבוע":"שבועות"},d:function(n){return 1===n?"יום":"ימים"},h:function(n){return 1===n?"שעה":"שעות"},m:function(n){return 1===n?"דקה":"דקות"},s:function(n){return 1===n?"שניה":"שניות"},ms:function(n){return 1===n?"מילישנייה":"מילישניות"},decimal:"."},hr:{y:function(n){return n%10==2||n%10==3||n%10==4?"godine":"godina"},mo:function(n){return 1===n?"mjesec":2===n||3===n||4===n?"mjeseca":"mjeseci"},w:function(n){return n%10==1&&11!==n?"tjedan":"tjedna"},d:function(n){return 1===n?"dan":"dana"},h:function(n){return 1===n?"sat":2===n||3===n||4===n?"sata":"sati"},m:function(n){var t=n%10;return 2!==t&&3!==t&&4!==t||!(n<10||n>14)?"minuta":"minute"},s:function(n){var t=n%10;return 5===t||Math.floor(n)===n&&n>=10&&n<=19?"sekundi":1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi"},ms:function(n){return 1===n?"milisekunda":n%10==2||n%10==3||n%10==4?"milisekunde":"milisekundi"},decimal:","},hi:{y:"साल",mo:function(n){return 1===n?"महीना":"महीने"},w:function(n){return 1===n?"हफ़्ता":"हफ्ते"},d:"दिन",h:function(n){return 1===n?"घंटा":"घंटे"},m:"मिनट",s:"सेकंड",ms:"मिलीसेकंड",decimal:"."},hu:{y:"év",mo:"hónap",w:"hét",d:"nap",h:"óra",m:"perc",s:"másodperc",ms:"ezredmásodperc",decimal:","},id:{y:"tahun",mo:"bulan",w:"minggu",d:"hari",h:"jam",m:"menit",s:"detik",ms:"milidetik",decimal:"."},is:{y:"ár",mo:function(n){return"mánuð"+(1===n?"ur":"ir")},w:function(n){return"vik"+(1===n?"a":"ur")},d:function(n){return"dag"+(1===n?"ur":"ar")},h:function(n){return"klukkutím"+(1===n?"i":"ar")},m:function(n){return"mínút"+(1===n?"a":"ur")},s:function(n){return"sekúnd"+(1===n?"a":"ur")},ms:function(n){return"millisekúnd"+(1===n?"a":"ur")},decimal:"."},it:{y:function(n){return"ann"+(1===n?"o":"i")},mo:function(n){return"mes"+(1===n?"e":"i")},w:function(n){return"settiman"+(1===n?"a":"e")},d:function(n){return"giorn"+(1===n?"o":"i")},h:function(n){return"or"+(1===n?"a":"e")},m:function(n){return"minut"+(1===n?"o":"i")},s:function(n){return"second"+(1===n?"o":"i")},ms:function(n){return"millisecond"+(1===n?"o":"i")},decimal:","},ja:{y:"年",mo:"ヶ月",w:"週",d:"日",h:"時間",m:"分",s:"秒",ms:"ミリ秒",decimal:"."},km:{y:"ឆ្នាំ",mo:"ខែ",w:"សប្តាហ៍",d:"ថ្ងៃ",h:"ម៉ោង",m:"នាទី",s:"វិនាទី",ms:"មិល្លីវិនាទី"},kn:{y:function(n){return 1===n?"ವರ್ಷ":"ವರ್ಷಗಳು"},mo:function(n){return 1===n?"ತಿಂಗಳು":"ತಿಂಗಳುಗಳು"},w:function(n){return 1===n?"ವಾರ":"ವಾರಗಳು"},d:function(n){return 1===n?"ದಿನ":"ದಿನಗಳು"},h:function(n){return 1===n?"ಗಂಟೆ":"ಗಂಟೆಗಳು"},m:function(n){return 1===n?"ನಿಮಿಷ":"ನಿಮಿಷಗಳು"},s:function(n){return 1===n?"ಸೆಕೆಂಡ್":"ಸೆಕೆಂಡುಗಳು"},ms:function(n){return 1===n?"ಮಿಲಿಸೆಕೆಂಡ್":"ಮಿಲಿಸೆಕೆಂಡುಗಳು"}},ko:{y:"년",mo:"개월",w:"주일",d:"일",h:"시간",m:"분",s:"초",ms:"밀리 초",decimal:"."},ku:{y:"sal",mo:"meh",w:"hefte",d:"roj",h:"seet",m:"deqe",s:"saniye",ms:"mîlîçirk",decimal:","},lo:{y:"ປີ",mo:"ເດືອນ",w:"ອາທິດ",d:"ມື້",h:"ຊົ່ວໂມງ",m:"ນາທີ",s:"ວິນາທີ",ms:"ມິນລິວິນາທີ",decimal:","},lt:{y:function(n){return n%10==0||n%100>=10&&n%100<=20?"metų":"metai"},mo:function(n){return["mėnuo","mėnesiai","mėnesių"][h(n)]},w:function(n){return["savaitė","savaitės","savaičių"][h(n)]},d:function(n){return["diena","dienos","dienų"][h(n)]},h:function(n){return["valanda","valandos","valandų"][h(n)]},m:function(n){return["minutė","minutės","minučių"][h(n)]},s:function(n){return["sekundė","sekundės","sekundžių"][h(n)]},ms:function(n){return["milisekundė","milisekundės","milisekundžių"][h(n)]},decimal:","},lv:{y:function(n){return k(n)?"gads":"gadi"},mo:function(n){return k(n)?"mēnesis":"mēneši"},w:function(n){return k(n)?"nedēļa":"nedēļas"},d:function(n){return k(n)?"diena":"dienas"},h:function(n){return k(n)?"stunda":"stundas"},m:function(n){return k(n)?"minūte":"minūtes"},s:function(n){return k(n)?"sekunde":"sekundes"},ms:function(n){return k(n)?"milisekunde":"milisekundes"},decimal:","},mk:{y:function(n){return 1===n?"година":"години"},mo:function(n){return 1===n?"месец":"месеци"},w:function(n){return 1===n?"недела":"недели"},d:function(n){return 1===n?"ден":"дена"},h:function(n){return 1===n?"час":"часа"},m:function(n){return 1===n?"минута":"минути"},s:function(n){return 1===n?"секунда":"секунди"},ms:function(n){return 1===n?"милисекунда":"милисекунди"},decimal:","},mr:{y:function(n){return 1===n?"वर्ष":"वर्षे"},mo:function(n){return 1===n?"महिना":"महिने"},w:function(n){return 1===n?"आठवडा":"आठवडे"},d:"दिवस",h:"तास",m:function(n){return 1===n?"मिनिट":"मिनिटे"},s:"सेकंद",ms:"मिलिसेकंद"},ms:{y:"tahun",mo:"bulan",w:"minggu",d:"hari",h:"jam",m:"minit",s:"saat",ms:"milisaat",decimal:"."},nl:{y:"jaar",mo:function(n){return 1===n?"maand":"maanden"},w:function(n){return 1===n?"week":"weken"},d:function(n){return 1===n?"dag":"dagen"},h:"uur",m:function(n){return 1===n?"minuut":"minuten"},s:function(n){return 1===n?"seconde":"seconden"},ms:function(n){return 1===n?"milliseconde":"milliseconden"},decimal:","},no:{y:"år",mo:function(n){return"måned"+(1===n?"":"er")},w:function(n){return"uke"+(1===n?"":"r")},d:function(n){return"dag"+(1===n?"":"er")},h:function(n){return"time"+(1===n?"":"r")},m:function(n){return"minutt"+(1===n?"":"er")},s:function(n){return"sekund"+(1===n?"":"er")},ms:function(n){return"millisekund"+(1===n?"":"er")},decimal:","},pl:{y:function(n){return["rok","roku","lata","lat"][f(n)]},mo:function(n){return["miesiąc","miesiąca","miesiące","miesięcy"][f(n)]},w:function(n){return["tydzień","tygodnia","tygodnie","tygodni"][f(n)]},d:function(n){return["dzień","dnia","dni","dni"][f(n)]},h:function(n){return["godzina","godziny","godziny","godzin"][f(n)]},m:function(n){return["minuta","minuty","minuty","minut"][f(n)]},s:function(n){return["sekunda","sekundy","sekundy","sekund"][f(n)]},ms:function(n){return["milisekunda","milisekundy","milisekundy","milisekund"][f(n)]},decimal:","},pt:{y:function(n){return"ano"+(1===n?"":"s")},mo:function(n){return 1===n?"mês":"meses"},w:function(n){return"semana"+(1===n?"":"s")},d:function(n){return"dia"+(1===n?"":"s")},h:function(n){return"hora"+(1===n?"":"s")},m:function(n){return"minuto"+(1===n?"":"s")},s:function(n){return"segundo"+(1===n?"":"s")},ms:function(n){return"milissegundo"+(1===n?"":"s")},decimal:","},ro:{y:function(n){return 1===n?"an":"ani"},mo:function(n){return 1===n?"lună":"luni"},w:function(n){return 1===n?"săptămână":"săptămâni"},d:function(n){return 1===n?"zi":"zile"},h:function(n){return 1===n?"oră":"ore"},m:function(n){return 1===n?"minut":"minute"},s:function(n){return 1===n?"secundă":"secunde"},ms:function(n){return 1===n?"milisecundă":"milisecunde"},decimal:","},ru:{y:function(n){return["лет","год","года"][d(n)]},mo:function(n){return["месяцев","месяц","месяца"][d(n)]},w:function(n){return["недель","неделя","недели"][d(n)]},d:function(n){return["дней","день","дня"][d(n)]},h:function(n){return["часов","час","часа"][d(n)]},m:function(n){return["минут","минута","минуты"][d(n)]},s:function(n){return["секунд","секунда","секунды"][d(n)]},ms:function(n){return["миллисекунд","миллисекунда","миллисекунды"][d(n)]},decimal:","},sq:{y:function(n){return 1===n?"vit":"vjet"},mo:"muaj",w:"javë",d:"ditë",h:"orë",m:function(n){return"minut"+(1===n?"ë":"a")},s:function(n){return"sekond"+(1===n?"ë":"a")},ms:function(n){return"milisekond"+(1===n?"ë":"a")},decimal:","},sr:{y:function(n){return["години","година","године"][d(n)]},mo:function(n){return["месеци","месец","месеца"][d(n)]},w:function(n){return["недељи","недеља","недеље"][d(n)]},d:function(n){return["дани","дан","дана"][d(n)]},h:function(n){return["сати","сат","сата"][d(n)]},m:function(n){return["минута","минут","минута"][d(n)]},s:function(n){return["секунди","секунда","секунде"][d(n)]},ms:function(n){return["милисекунди","милисекунда","милисекунде"][d(n)]},decimal:","},ta:{y:function(n){return 1===n?"வருடம்":"ஆண்டுகள்"},mo:function(n){return 1===n?"மாதம்":"மாதங்கள்"},w:function(n){return 1===n?"வாரம்":"வாரங்கள்"},d:function(n){return 1===n?"நாள்":"நாட்கள்"},h:function(n){return 1===n?"மணி":"மணிநேரம்"},m:function(n){return"நிமிட"+(1===n?"ம்":"ங்கள்")},s:function(n){return"வினாடி"+(1===n?"":"கள்")},ms:function(n){return"மில்லி விநாடி"+(1===n?"":"கள்")}},te:{y:function(n){return"సంవత్స"+(1===n?"రం":"రాల")},mo:function(n){return"నెల"+(1===n?"":"ల")},w:function(n){return 1===n?"వారం":"వారాలు"},d:function(n){return"రోజు"+(1===n?"":"లు")},h:function(n){return"గంట"+(1===n?"":"లు")},m:function(n){return 1===n?"నిమిషం":"నిమిషాలు"},s:function(n){return 1===n?"సెకను":"సెకన్లు"},ms:function(n){return 1===n?"మిల్లీసెకన్":"మిల్లీసెకన్లు"}},uk:{y:function(n){return["років","рік","роки"][d(n)]},mo:function(n){return["місяців","місяць","місяці"][d(n)]},w:function(n){return["тижнів","тиждень","тижні"][d(n)]},d:function(n){return["днів","день","дні"][d(n)]},h:function(n){return["годин","година","години"][d(n)]},m:function(n){return["хвилин","хвилина","хвилини"][d(n)]},s:function(n){return["секунд","секунда","секунди"][d(n)]},ms:function(n){return["мілісекунд","мілісекунда","мілісекунди"][d(n)]},decimal:","},ur:{y:"سال",mo:function(n){return 1===n?"مہینہ":"مہینے"},w:function(n){return 1===n?"ہفتہ":"ہفتے"},d:"دن",h:function(n){return 1===n?"گھنٹہ":"گھنٹے"},m:"منٹ",s:"سیکنڈ",ms:"ملی سیکنڈ",decimal:"."},sk:{y:function(n){return["rok","roky","roky","rokov"][l(n)]},mo:function(n){return["mesiac","mesiace","mesiace","mesiacov"][l(n)]},w:function(n){return["týždeň","týždne","týždne","týždňov"][l(n)]},d:function(n){return["deň","dni","dni","dní"][l(n)]},h:function(n){return["hodina","hodiny","hodiny","hodín"][l(n)]},m:function(n){return["minúta","minúty","minúty","minút"][l(n)]},s:function(n){return["sekunda","sekundy","sekundy","sekúnd"][l(n)]},ms:function(n){return["milisekunda","milisekundy","milisekundy","milisekúnd"][l(n)]},decimal:","},sl:{y:function(n){return n%10==1?"leto":n%100==2?"leti":n%100==3||n%100==4||Math.floor(n)!==n&&n%100<=5?"leta":"let"},mo:function(n){return n%10==1?"mesec":n%100==2||Math.floor(n)!==n&&n%100<=5?"meseca":n%10==3||n%10==4?"mesece":"mesecev"},w:function(n){return n%10==1?"teden":n%10==2||Math.floor(n)!==n&&n%100<=4?"tedna":n%10==3||n%10==4?"tedne":"tednov"},d:function(n){return n%100==1?"dan":"dni"},h:function(n){return n%10==1?"ura":n%100==2?"uri":n%10==3||n%10==4||Math.floor(n)!==n?"ure":"ur"},m:function(n){return n%10==1?"minuta":n%10==2?"minuti":n%10==3||n%10==4||Math.floor(n)!==n&&n%100<=4?"minute":"minut"},s:function(n){return n%10==1?"sekunda":n%100==2?"sekundi":n%100==3||n%100==4||Math.floor(n)!==n?"sekunde":"sekund"},ms:function(n){return n%10==1?"milisekunda":n%100==2?"milisekundi":n%100==3||n%100==4||Math.floor(n)!==n?"milisekunde":"milisekund"},decimal:","},sv:{y:"år",mo:function(n){return"månad"+(1===n?"":"er")},w:function(n){return"veck"+(1===n?"a":"or")},d:function(n){return"dag"+(1===n?"":"ar")},h:function(n){return"timm"+(1===n?"e":"ar")},m:function(n){return"minut"+(1===n?"":"er")},s:function(n){return"sekund"+(1===n?"":"er")},ms:function(n){return"millisekund"+(1===n?"":"er")},decimal:","},sw:{y:function(n){return 1===n?"mwaka":"miaka"},mo:function(n){return 1===n?"mwezi":"miezi"},w:"wiki",d:function(n){return 1===n?"siku":"masiku"},h:function(n){return 1===n?"saa":"masaa"},m:"dakika",s:"sekunde",ms:"milisekunde",decimal:"."},tr:{y:"yıl",mo:"ay",w:"hafta",d:"gün",h:"saat",m:"dakika",s:"saniye",ms:"milisaniye",decimal:","},th:{y:"ปี",mo:"เดือน",w:"สัปดาห์",d:"วัน",h:"ชั่วโมง",m:"นาที",s:"วินาที",ms:"มิลลิวินาที",decimal:"."},vi:{y:"năm",mo:"tháng",w:"tuần",d:"ngày",h:"giờ",m:"phút",s:"giây",ms:"mili giây",decimal:","},zh_CN:{y:"年",mo:"个月",w:"周",d:"天",h:"小时",m:"分钟",s:"秒",ms:"毫秒",decimal:"."},zh_TW:{y:"年",mo:"個月",w:"周",d:"天",h:"小時",m:"分鐘",s:"秒",ms:"毫秒",decimal:"."}};function e(n){var t=function(n,u){return c(n,s({},t,u||{}))};return s(t,{language:"en",spacer:" ",conjunction:"",serialComma:!0,units:["y","mo","w","d","h","m","s"],languages:{},round:!1,unitMeasures:{y:315576e5,mo:26298e5,w:6048e5,d:864e5,h:36e5,m:6e4,s:1e3,ms:1}},n)}var i=e({});function o(n){var t=[n.language];if(has(n,"fallbacks")){if(!y(n.fallbacks)||!n.fallbacks.length)throw new Error("fallbacks must be an array with at least one element");t=t.concat(n.fallbacks)}for(var r=0;r<t.length;r++){var e=t[r];if(has(n.languages,e))return n.languages[e];if(has(u,e))return u[e]}throw new Error("No language found.")}function c(n,t){var u,r,e;n=Math.abs(n);var i,c,s,a=o(t),f=[];for(u=0,r=t.units.length;u<r;u++){if(i=t.units[u],c=t.unitMeasures[i],u+1===r)if(has(t,"maxDecimalPoints")){var d=Math.pow(10,t.maxDecimalPoints),l=n/c;s=parseFloat((Math.floor(d*l)/d).toFixed(t.maxDecimalPoints))}else s=n/c;else s=Math.floor(n/c);f.push({unitCount:s,unitName:i}),n-=s*c}var h,k,y=0;for(u=0;u<f.length;u++)if(f[u].unitCount){y=u;break}if(t.round)for(u=f.length-1;u>=0&&((e=f[u]).unitCount=Math.round(e.unitCount),0!==u);u--)k=f[u-1],h=t.unitMeasures[k.unitName]/t.unitMeasures[e.unitName],(e.unitCount%h==0||t.largest&&t.largest-1<u-y)&&(k.unitCount+=e.unitCount/h,e.unitCount=0);var g,w=[];for(u=0,f.length;u<r&&((e=f[u]).unitCount&&w.push(m(e.unitCount,e.unitName,a,t)),w.length!==t.largest);u++);return w.length?(g=has(t,"delimiter")?t.delimiter:has(a,"delimiter")?a.delimiter:", ",t.conjunction&&1!==w.length?2===w.length?w.join(t.conjunction):w.length>2?w.slice(0,-1).join(g)+(t.serialComma?",":"")+t.conjunction+w.slice(-1):void 0:w.join(g)):m(0,t.units[t.units.length-1],a,t)}function m(n,t,u,r){var e,i;e=has(r,"decimal")?r.decimal:has(u,"decimal")?u.decimal:".",i="function"==typeof u._formatCount?u._formatCount(n,e):n.toString().replace(".",e);var o,c=u[t];return o="function"==typeof c?c(n):c,i+r.spacer+o}function s(n){for(var t,u=1;u<arguments.length;u++)for(var r in t=arguments[u])has(t,r)&&(n[r]=t[r]);return n}function a(n){return 1===n?0:2===n?1:n>2&&n<11?2:0}function f(n){return 1===n?0:Math.floor(n)!==n?1:n%10>=2&&n%10<=4&&!(n%100>10&&n%100<20)?2:3}function d(n){return Math.floor(n)!==n?2:n%100>=5&&n%100<=20||n%10>=5&&n%10<=9||n%10==0?0:n%10==1?1:n>1?2:0}function l(n){return 1===n?0:Math.floor(n)!==n?1:n%10>=2&&n%10<=4&&n%100<10?2:3}function h(n){return 1===n||n%10==1&&n%100>20?0:Math.floor(n)!==n||n%10>=2&&n%100>20||n%10>=2&&n%100<10?1:2}function k(n){return n%10==1&&n%100!=11}var y=Array.isArray||function(n){return"[object Array]"===Object.prototype.toString.call(n)};function has(n,t){return Object.prototype.hasOwnProperty.call(n,t)}i.getSupportedLanguages=function(){var n=[];for(var t in u)has(u,t)&&"gr"!==t&&n.push(t);return n},i.humanizer=e,r.exports?r.exports=i:this.humanizeDuration=i}();const i=e.exports,o=i.languages;function c(n){return 1===n?0:n%10>1&&n%10<5&&"1"!==String(n).substr(-2,1)?1:2}function m(t,u={},r="milliseconds"){return i(n(t,r,"milliseconds"),{language:s(),fallbacks:["en"],...u})}function s(){const n=t(),r=u(n);switch(r){case"nb":case"nn":case"no":return"no";case"pt":return"pt";case"zh":return a(n);default:return r}}function a(n){switch(n){case"zh-HK":case"zh-TW":return"zh_TW";default:return"zh_CN"}}o.bs={y:n=>["godina","godine","godina"][c(n)],mo:n=>["mjesec","mjeseca","mjeseci"][c(n)],w:n=>["sedmica","sedmice","sedmica"][c(n)],d:n=>["dan","dana","dana"][c(n)],h:n=>["sat","sata","sati"][c(n)],m:n=>["minuta","minute","minuta"][c(n)],s:n=>["sekunda","sekunde","sekundi"][c(n)],ms:n=>["milisekunda","milisekunde","milisekundi"][c(n)],decimal:","},o.hr={...o.bs,w:n=>["tjedan","tjedna","tjedana"][c(n)]};export{m as formatDuration};
5
+ import{convertTime as n}from"../core/timeUtils.js";import{getLocale as t,getLanguage as u}from"./locale.js";var r,e={exports:{}};r=e,function(){var n={y:function(n){return 1===n?"χρόνος":"χρόνια"},mo:function(n){return 1===n?"μήνας":"μήνες"},w:function(n){return 1===n?"εβδομάδα":"εβδομάδες"},d:function(n){return 1===n?"μέρα":"μέρες"},h:function(n){return 1===n?"ώρα":"ώρες"},m:function(n){return 1===n?"λεπτό":"λεπτά"},s:function(n){return 1===n?"δευτερόλεπτο":"δευτερόλεπτα"},ms:function(n){return(1===n?"χιλιοστό":"χιλιοστά")+" του δευτερολέπτου"},decimal:","},t=["۰","١","٢","٣","٤","٥","٦","٧","٨","٩"],u={af:{y:"jaar",mo:function(n){return"maand"+(1===n?"":"e")},w:function(n){return 1===n?"week":"weke"},d:function(n){return 1===n?"dag":"dae"},h:function(n){return 1===n?"uur":"ure"},m:function(n){return 1===n?"minuut":"minute"},s:function(n){return"sekonde"+(1===n?"":"s")},ms:function(n){return"millisekonde"+(1===n?"":"s")},decimal:","},ar:{y:function(n){return["سنة","سنتان","سنوات"][a(n)]},mo:function(n){return["شهر","شهران","أشهر"][a(n)]},w:function(n){return["أسبوع","أسبوعين","أسابيع"][a(n)]},d:function(n){return["يوم","يومين","أيام"][a(n)]},h:function(n){return["ساعة","ساعتين","ساعات"][a(n)]},m:function(n){return["دقيقة","دقيقتان","دقائق"][a(n)]},s:function(n){return["ثانية","ثانيتان","ثواني"][a(n)]},ms:function(n){return["جزء من الثانية","جزآن من الثانية","أجزاء من الثانية"][a(n)]},decimal:",",delimiter:" و ",_formatCount:function(n,u){for(var r=s(t,{".":u}),e=n.toString().split(""),i=0;i<e.length;i++){var o=e[i];has(r,o)&&(e[i]=r[o])}return e.join("")}},bg:{y:function(n){return["години","година","години"][d(n)]},mo:function(n){return["месеца","месец","месеца"][d(n)]},w:function(n){return["седмици","седмица","седмици"][d(n)]},d:function(n){return["дни","ден","дни"][d(n)]},h:function(n){return["часа","час","часа"][d(n)]},m:function(n){return["минути","минута","минути"][d(n)]},s:function(n){return["секунди","секунда","секунди"][d(n)]},ms:function(n){return["милисекунди","милисекунда","милисекунди"][d(n)]},decimal:","},bn:{y:"বছর",mo:"মাস",w:"সপ্তাহ",d:"দিন",h:"ঘন্টা",m:"মিনিট",s:"সেকেন্ড",ms:"মিলিসেকেন্ড"},ca:{y:function(n){return"any"+(1===n?"":"s")},mo:function(n){return"mes"+(1===n?"":"os")},w:function(n){return"setman"+(1===n?"a":"es")},d:function(n){return"di"+(1===n?"a":"es")},h:function(n){return"hor"+(1===n?"a":"es")},m:function(n){return"minut"+(1===n?"":"s")},s:function(n){return"segon"+(1===n?"":"s")},ms:function(n){return"milisegon"+(1===n?"":"s")},decimal:","},cs:{y:function(n){return["rok","roku","roky","let"][l(n)]},mo:function(n){return["měsíc","měsíce","měsíce","měsíců"][l(n)]},w:function(n){return["týden","týdne","týdny","týdnů"][l(n)]},d:function(n){return["den","dne","dny","dní"][l(n)]},h:function(n){return["hodina","hodiny","hodiny","hodin"][l(n)]},m:function(n){return["minuta","minuty","minuty","minut"][l(n)]},s:function(n){return["sekunda","sekundy","sekundy","sekund"][l(n)]},ms:function(n){return["milisekunda","milisekundy","milisekundy","milisekund"][l(n)]},decimal:","},cy:{y:"flwyddyn",mo:"mis",w:"wythnos",d:"diwrnod",h:"awr",m:"munud",s:"eiliad",ms:"milieiliad"},da:{y:"år",mo:function(n){return"måned"+(1===n?"":"er")},w:function(n){return"uge"+(1===n?"":"r")},d:function(n){return"dag"+(1===n?"":"e")},h:function(n){return"time"+(1===n?"":"r")},m:function(n){return"minut"+(1===n?"":"ter")},s:function(n){return"sekund"+(1===n?"":"er")},ms:function(n){return"millisekund"+(1===n?"":"er")},decimal:","},de:{y:function(n){return"Jahr"+(1===n?"":"e")},mo:function(n){return"Monat"+(1===n?"":"e")},w:function(n){return"Woche"+(1===n?"":"n")},d:function(n){return"Tag"+(1===n?"":"e")},h:function(n){return"Stunde"+(1===n?"":"n")},m:function(n){return"Minute"+(1===n?"":"n")},s:function(n){return"Sekunde"+(1===n?"":"n")},ms:function(n){return"Millisekunde"+(1===n?"":"n")},decimal:","},el:n,en:{y:function(n){return"year"+(1===n?"":"s")},mo:function(n){return"month"+(1===n?"":"s")},w:function(n){return"week"+(1===n?"":"s")},d:function(n){return"day"+(1===n?"":"s")},h:function(n){return"hour"+(1===n?"":"s")},m:function(n){return"minute"+(1===n?"":"s")},s:function(n){return"second"+(1===n?"":"s")},ms:function(n){return"millisecond"+(1===n?"":"s")},decimal:"."},eo:{y:function(n){return"jaro"+(1===n?"":"j")},mo:function(n){return"monato"+(1===n?"":"j")},w:function(n){return"semajno"+(1===n?"":"j")},d:function(n){return"tago"+(1===n?"":"j")},h:function(n){return"horo"+(1===n?"":"j")},m:function(n){return"minuto"+(1===n?"":"j")},s:function(n){return"sekundo"+(1===n?"":"j")},ms:function(n){return"milisekundo"+(1===n?"":"j")},decimal:","},es:{y:function(n){return"año"+(1===n?"":"s")},mo:function(n){return"mes"+(1===n?"":"es")},w:function(n){return"semana"+(1===n?"":"s")},d:function(n){return"día"+(1===n?"":"s")},h:function(n){return"hora"+(1===n?"":"s")},m:function(n){return"minuto"+(1===n?"":"s")},s:function(n){return"segundo"+(1===n?"":"s")},ms:function(n){return"milisegundo"+(1===n?"":"s")},decimal:","},et:{y:function(n){return"aasta"+(1===n?"":"t")},mo:function(n){return"kuu"+(1===n?"":"d")},w:function(n){return"nädal"+(1===n?"":"at")},d:function(n){return"päev"+(1===n?"":"a")},h:function(n){return"tund"+(1===n?"":"i")},m:function(n){return"minut"+(1===n?"":"it")},s:function(n){return"sekund"+(1===n?"":"it")},ms:function(n){return"millisekund"+(1===n?"":"it")},decimal:","},eu:{y:"urte",mo:"hilabete",w:"aste",d:"egun",h:"ordu",m:"minutu",s:"segundo",ms:"milisegundo",decimal:","},fa:{y:"سال",mo:"ماه",w:"هفته",d:"روز",h:"ساعت",m:"دقیقه",s:"ثانیه",ms:"میلی ثانیه",decimal:"."},fi:{y:function(n){return 1===n?"vuosi":"vuotta"},mo:function(n){return 1===n?"kuukausi":"kuukautta"},w:function(n){return"viikko"+(1===n?"":"a")},d:function(n){return"päivä"+(1===n?"":"ä")},h:function(n){return"tunti"+(1===n?"":"a")},m:function(n){return"minuutti"+(1===n?"":"a")},s:function(n){return"sekunti"+(1===n?"":"a")},ms:function(n){return"millisekunti"+(1===n?"":"a")},decimal:","},fo:{y:"ár",mo:function(n){return 1===n?"mánaður":"mánaðir"},w:function(n){return 1===n?"vika":"vikur"},d:function(n){return 1===n?"dagur":"dagar"},h:function(n){return 1===n?"tími":"tímar"},m:function(n){return 1===n?"minuttur":"minuttir"},s:"sekund",ms:"millisekund",decimal:","},fr:{y:function(n){return"an"+(n>=2?"s":"")},mo:"mois",w:function(n){return"semaine"+(n>=2?"s":"")},d:function(n){return"jour"+(n>=2?"s":"")},h:function(n){return"heure"+(n>=2?"s":"")},m:function(n){return"minute"+(n>=2?"s":"")},s:function(n){return"seconde"+(n>=2?"s":"")},ms:function(n){return"milliseconde"+(n>=2?"s":"")},decimal:","},gr:n,he:{y:function(n){return 1===n?"שנה":"שנים"},mo:function(n){return 1===n?"חודש":"חודשים"},w:function(n){return 1===n?"שבוע":"שבועות"},d:function(n){return 1===n?"יום":"ימים"},h:function(n){return 1===n?"שעה":"שעות"},m:function(n){return 1===n?"דקה":"דקות"},s:function(n){return 1===n?"שניה":"שניות"},ms:function(n){return 1===n?"מילישנייה":"מילישניות"},decimal:"."},hr:{y:function(n){return n%10==2||n%10==3||n%10==4?"godine":"godina"},mo:function(n){return 1===n?"mjesec":2===n||3===n||4===n?"mjeseca":"mjeseci"},w:function(n){return n%10==1&&11!==n?"tjedan":"tjedna"},d:function(n){return 1===n?"dan":"dana"},h:function(n){return 1===n?"sat":2===n||3===n||4===n?"sata":"sati"},m:function(n){var t=n%10;return 2!==t&&3!==t&&4!==t||!(n<10||n>14)?"minuta":"minute"},s:function(n){var t=n%10;return 5===t||Math.floor(n)===n&&n>=10&&n<=19?"sekundi":1===t?"sekunda":2===t||3===t||4===t?"sekunde":"sekundi"},ms:function(n){return 1===n?"milisekunda":n%10==2||n%10==3||n%10==4?"milisekunde":"milisekundi"},decimal:","},hi:{y:"साल",mo:function(n){return 1===n?"महीना":"महीने"},w:function(n){return 1===n?"हफ़्ता":"हफ्ते"},d:"दिन",h:function(n){return 1===n?"घंटा":"घंटे"},m:"मिनट",s:"सेकंड",ms:"मिलीसेकंड",decimal:"."},hu:{y:"év",mo:"hónap",w:"hét",d:"nap",h:"óra",m:"perc",s:"másodperc",ms:"ezredmásodperc",decimal:","},id:{y:"tahun",mo:"bulan",w:"minggu",d:"hari",h:"jam",m:"menit",s:"detik",ms:"milidetik",decimal:"."},is:{y:"ár",mo:function(n){return"mánuð"+(1===n?"ur":"ir")},w:function(n){return"vik"+(1===n?"a":"ur")},d:function(n){return"dag"+(1===n?"ur":"ar")},h:function(n){return"klukkutím"+(1===n?"i":"ar")},m:function(n){return"mínút"+(1===n?"a":"ur")},s:function(n){return"sekúnd"+(1===n?"a":"ur")},ms:function(n){return"millisekúnd"+(1===n?"a":"ur")},decimal:"."},it:{y:function(n){return"ann"+(1===n?"o":"i")},mo:function(n){return"mes"+(1===n?"e":"i")},w:function(n){return"settiman"+(1===n?"a":"e")},d:function(n){return"giorn"+(1===n?"o":"i")},h:function(n){return"or"+(1===n?"a":"e")},m:function(n){return"minut"+(1===n?"o":"i")},s:function(n){return"second"+(1===n?"o":"i")},ms:function(n){return"millisecond"+(1===n?"o":"i")},decimal:","},ja:{y:"年",mo:"ヶ月",w:"週",d:"日",h:"時間",m:"分",s:"秒",ms:"ミリ秒",decimal:"."},km:{y:"ឆ្នាំ",mo:"ខែ",w:"សប្តាហ៍",d:"ថ្ងៃ",h:"ម៉ោង",m:"នាទី",s:"វិនាទី",ms:"មិល្លីវិនាទី"},kn:{y:function(n){return 1===n?"ವರ್ಷ":"ವರ್ಷಗಳು"},mo:function(n){return 1===n?"ತಿಂಗಳು":"ತಿಂಗಳುಗಳು"},w:function(n){return 1===n?"ವಾರ":"ವಾರಗಳು"},d:function(n){return 1===n?"ದಿನ":"ದಿನಗಳು"},h:function(n){return 1===n?"ಗಂಟೆ":"ಗಂಟೆಗಳು"},m:function(n){return 1===n?"ನಿಮಿಷ":"ನಿಮಿಷಗಳು"},s:function(n){return 1===n?"ಸೆಕೆಂಡ್":"ಸೆಕೆಂಡುಗಳು"},ms:function(n){return 1===n?"ಮಿಲಿಸೆಕೆಂಡ್":"ಮಿಲಿಸೆಕೆಂಡುಗಳು"}},ko:{y:"년",mo:"개월",w:"주일",d:"일",h:"시간",m:"분",s:"초",ms:"밀리 초",decimal:"."},ku:{y:"sal",mo:"meh",w:"hefte",d:"roj",h:"seet",m:"deqe",s:"saniye",ms:"mîlîçirk",decimal:","},lo:{y:"ປີ",mo:"ເດືອນ",w:"ອາທິດ",d:"ມື້",h:"ຊົ່ວໂມງ",m:"ນາທີ",s:"ວິນາທີ",ms:"ມິນລິວິນາທີ",decimal:","},lt:{y:function(n){return n%10==0||n%100>=10&&n%100<=20?"metų":"metai"},mo:function(n){return["mėnuo","mėnesiai","mėnesių"][h(n)]},w:function(n){return["savaitė","savaitės","savaičių"][h(n)]},d:function(n){return["diena","dienos","dienų"][h(n)]},h:function(n){return["valanda","valandos","valandų"][h(n)]},m:function(n){return["minutė","minutės","minučių"][h(n)]},s:function(n){return["sekundė","sekundės","sekundžių"][h(n)]},ms:function(n){return["milisekundė","milisekundės","milisekundžių"][h(n)]},decimal:","},lv:{y:function(n){return k(n)?"gads":"gadi"},mo:function(n){return k(n)?"mēnesis":"mēneši"},w:function(n){return k(n)?"nedēļa":"nedēļas"},d:function(n){return k(n)?"diena":"dienas"},h:function(n){return k(n)?"stunda":"stundas"},m:function(n){return k(n)?"minūte":"minūtes"},s:function(n){return k(n)?"sekunde":"sekundes"},ms:function(n){return k(n)?"milisekunde":"milisekundes"},decimal:","},mk:{y:function(n){return 1===n?"година":"години"},mo:function(n){return 1===n?"месец":"месеци"},w:function(n){return 1===n?"недела":"недели"},d:function(n){return 1===n?"ден":"дена"},h:function(n){return 1===n?"час":"часа"},m:function(n){return 1===n?"минута":"минути"},s:function(n){return 1===n?"секунда":"секунди"},ms:function(n){return 1===n?"милисекунда":"милисекунди"},decimal:","},mr:{y:function(n){return 1===n?"वर्ष":"वर्षे"},mo:function(n){return 1===n?"महिना":"महिने"},w:function(n){return 1===n?"आठवडा":"आठवडे"},d:"दिवस",h:"तास",m:function(n){return 1===n?"मिनिट":"मिनिटे"},s:"सेकंद",ms:"मिलिसेकंद"},ms:{y:"tahun",mo:"bulan",w:"minggu",d:"hari",h:"jam",m:"minit",s:"saat",ms:"milisaat",decimal:"."},nl:{y:"jaar",mo:function(n){return 1===n?"maand":"maanden"},w:function(n){return 1===n?"week":"weken"},d:function(n){return 1===n?"dag":"dagen"},h:"uur",m:function(n){return 1===n?"minuut":"minuten"},s:function(n){return 1===n?"seconde":"seconden"},ms:function(n){return 1===n?"milliseconde":"milliseconden"},decimal:","},no:{y:"år",mo:function(n){return"måned"+(1===n?"":"er")},w:function(n){return"uke"+(1===n?"":"r")},d:function(n){return"dag"+(1===n?"":"er")},h:function(n){return"time"+(1===n?"":"r")},m:function(n){return"minutt"+(1===n?"":"er")},s:function(n){return"sekund"+(1===n?"":"er")},ms:function(n){return"millisekund"+(1===n?"":"er")},decimal:","},pl:{y:function(n){return["rok","roku","lata","lat"][f(n)]},mo:function(n){return["miesiąc","miesiąca","miesiące","miesięcy"][f(n)]},w:function(n){return["tydzień","tygodnia","tygodnie","tygodni"][f(n)]},d:function(n){return["dzień","dnia","dni","dni"][f(n)]},h:function(n){return["godzina","godziny","godziny","godzin"][f(n)]},m:function(n){return["minuta","minuty","minuty","minut"][f(n)]},s:function(n){return["sekunda","sekundy","sekundy","sekund"][f(n)]},ms:function(n){return["milisekunda","milisekundy","milisekundy","milisekund"][f(n)]},decimal:","},pt:{y:function(n){return"ano"+(1===n?"":"s")},mo:function(n){return 1===n?"mês":"meses"},w:function(n){return"semana"+(1===n?"":"s")},d:function(n){return"dia"+(1===n?"":"s")},h:function(n){return"hora"+(1===n?"":"s")},m:function(n){return"minuto"+(1===n?"":"s")},s:function(n){return"segundo"+(1===n?"":"s")},ms:function(n){return"milissegundo"+(1===n?"":"s")},decimal:","},ro:{y:function(n){return 1===n?"an":"ani"},mo:function(n){return 1===n?"lună":"luni"},w:function(n){return 1===n?"săptămână":"săptămâni"},d:function(n){return 1===n?"zi":"zile"},h:function(n){return 1===n?"oră":"ore"},m:function(n){return 1===n?"minut":"minute"},s:function(n){return 1===n?"secundă":"secunde"},ms:function(n){return 1===n?"milisecundă":"milisecunde"},decimal:","},ru:{y:function(n){return["лет","год","года"][d(n)]},mo:function(n){return["месяцев","месяц","месяца"][d(n)]},w:function(n){return["недель","неделя","недели"][d(n)]},d:function(n){return["дней","день","дня"][d(n)]},h:function(n){return["часов","час","часа"][d(n)]},m:function(n){return["минут","минута","минуты"][d(n)]},s:function(n){return["секунд","секунда","секунды"][d(n)]},ms:function(n){return["миллисекунд","миллисекунда","миллисекунды"][d(n)]},decimal:","},sq:{y:function(n){return 1===n?"vit":"vjet"},mo:"muaj",w:"javë",d:"ditë",h:"orë",m:function(n){return"minut"+(1===n?"ë":"a")},s:function(n){return"sekond"+(1===n?"ë":"a")},ms:function(n){return"milisekond"+(1===n?"ë":"a")},decimal:","},sr:{y:function(n){return["години","година","године"][d(n)]},mo:function(n){return["месеци","месец","месеца"][d(n)]},w:function(n){return["недељи","недеља","недеље"][d(n)]},d:function(n){return["дани","дан","дана"][d(n)]},h:function(n){return["сати","сат","сата"][d(n)]},m:function(n){return["минута","минут","минута"][d(n)]},s:function(n){return["секунди","секунда","секунде"][d(n)]},ms:function(n){return["милисекунди","милисекунда","милисекунде"][d(n)]},decimal:","},ta:{y:function(n){return 1===n?"வருடம்":"ஆண்டுகள்"},mo:function(n){return 1===n?"மாதம்":"மாதங்கள்"},w:function(n){return 1===n?"வாரம்":"வாரங்கள்"},d:function(n){return 1===n?"நாள்":"நாட்கள்"},h:function(n){return 1===n?"மணி":"மணிநேரம்"},m:function(n){return"நிமிட"+(1===n?"ம்":"ங்கள்")},s:function(n){return"வினாடி"+(1===n?"":"கள்")},ms:function(n){return"மில்லி விநாடி"+(1===n?"":"கள்")}},te:{y:function(n){return"సంవత్స"+(1===n?"రం":"రాల")},mo:function(n){return"నెల"+(1===n?"":"ల")},w:function(n){return 1===n?"వారం":"వారాలు"},d:function(n){return"రోజు"+(1===n?"":"లు")},h:function(n){return"గంట"+(1===n?"":"లు")},m:function(n){return 1===n?"నిమిషం":"నిమిషాలు"},s:function(n){return 1===n?"సెకను":"సెకన్లు"},ms:function(n){return 1===n?"మిల్లీసెకన్":"మిల్లీసెకన్లు"}},uk:{y:function(n){return["років","рік","роки"][d(n)]},mo:function(n){return["місяців","місяць","місяці"][d(n)]},w:function(n){return["тижнів","тиждень","тижні"][d(n)]},d:function(n){return["днів","день","дні"][d(n)]},h:function(n){return["годин","година","години"][d(n)]},m:function(n){return["хвилин","хвилина","хвилини"][d(n)]},s:function(n){return["секунд","секунда","секунди"][d(n)]},ms:function(n){return["мілісекунд","мілісекунда","мілісекунди"][d(n)]},decimal:","},ur:{y:"سال",mo:function(n){return 1===n?"مہینہ":"مہینے"},w:function(n){return 1===n?"ہفتہ":"ہفتے"},d:"دن",h:function(n){return 1===n?"گھنٹہ":"گھنٹے"},m:"منٹ",s:"سیکنڈ",ms:"ملی سیکنڈ",decimal:"."},sk:{y:function(n){return["rok","roky","roky","rokov"][l(n)]},mo:function(n){return["mesiac","mesiace","mesiace","mesiacov"][l(n)]},w:function(n){return["týždeň","týždne","týždne","týždňov"][l(n)]},d:function(n){return["deň","dni","dni","dní"][l(n)]},h:function(n){return["hodina","hodiny","hodiny","hodín"][l(n)]},m:function(n){return["minúta","minúty","minúty","minút"][l(n)]},s:function(n){return["sekunda","sekundy","sekundy","sekúnd"][l(n)]},ms:function(n){return["milisekunda","milisekundy","milisekundy","milisekúnd"][l(n)]},decimal:","},sl:{y:function(n){return n%10==1?"leto":n%100==2?"leti":n%100==3||n%100==4||Math.floor(n)!==n&&n%100<=5?"leta":"let"},mo:function(n){return n%10==1?"mesec":n%100==2||Math.floor(n)!==n&&n%100<=5?"meseca":n%10==3||n%10==4?"mesece":"mesecev"},w:function(n){return n%10==1?"teden":n%10==2||Math.floor(n)!==n&&n%100<=4?"tedna":n%10==3||n%10==4?"tedne":"tednov"},d:function(n){return n%100==1?"dan":"dni"},h:function(n){return n%10==1?"ura":n%100==2?"uri":n%10==3||n%10==4||Math.floor(n)!==n?"ure":"ur"},m:function(n){return n%10==1?"minuta":n%10==2?"minuti":n%10==3||n%10==4||Math.floor(n)!==n&&n%100<=4?"minute":"minut"},s:function(n){return n%10==1?"sekunda":n%100==2?"sekundi":n%100==3||n%100==4||Math.floor(n)!==n?"sekunde":"sekund"},ms:function(n){return n%10==1?"milisekunda":n%100==2?"milisekundi":n%100==3||n%100==4||Math.floor(n)!==n?"milisekunde":"milisekund"},decimal:","},sv:{y:"år",mo:function(n){return"månad"+(1===n?"":"er")},w:function(n){return"veck"+(1===n?"a":"or")},d:function(n){return"dag"+(1===n?"":"ar")},h:function(n){return"timm"+(1===n?"e":"ar")},m:function(n){return"minut"+(1===n?"":"er")},s:function(n){return"sekund"+(1===n?"":"er")},ms:function(n){return"millisekund"+(1===n?"":"er")},decimal:","},sw:{y:function(n){return 1===n?"mwaka":"miaka"},mo:function(n){return 1===n?"mwezi":"miezi"},w:"wiki",d:function(n){return 1===n?"siku":"masiku"},h:function(n){return 1===n?"saa":"masaa"},m:"dakika",s:"sekunde",ms:"milisekunde",decimal:"."},tr:{y:"yıl",mo:"ay",w:"hafta",d:"gün",h:"saat",m:"dakika",s:"saniye",ms:"milisaniye",decimal:","},th:{y:"ปี",mo:"เดือน",w:"สัปดาห์",d:"วัน",h:"ชั่วโมง",m:"นาที",s:"วินาที",ms:"มิลลิวินาที",decimal:"."},vi:{y:"năm",mo:"tháng",w:"tuần",d:"ngày",h:"giờ",m:"phút",s:"giây",ms:"mili giây",decimal:","},zh_CN:{y:"年",mo:"个月",w:"周",d:"天",h:"小时",m:"分钟",s:"秒",ms:"毫秒",decimal:"."},zh_TW:{y:"年",mo:"個月",w:"周",d:"天",h:"小時",m:"分鐘",s:"秒",ms:"毫秒",decimal:"."}};function e(n){var t=function(n,u){return c(n,s({},t,u||{}))};return s(t,{language:"en",spacer:" ",conjunction:"",serialComma:!0,units:["y","mo","w","d","h","m","s"],languages:{},round:!1,unitMeasures:{y:315576e5,mo:26298e5,w:6048e5,d:864e5,h:36e5,m:6e4,s:1e3,ms:1}},n)}var i=e({});function o(n){var t=[n.language];if(has(n,"fallbacks")){if(!y(n.fallbacks)||!n.fallbacks.length)throw new Error("fallbacks must be an array with at least one element");t=t.concat(n.fallbacks)}for(var r=0;r<t.length;r++){var e=t[r];if(has(n.languages,e))return n.languages[e];if(has(u,e))return u[e]}throw new Error("No language found.")}function c(n,t){var u,r,e;n=Math.abs(n);var i,c,s,a=o(t),f=[];for(u=0,r=t.units.length;u<r;u++){if(i=t.units[u],c=t.unitMeasures[i],u+1===r)if(has(t,"maxDecimalPoints")){var d=Math.pow(10,t.maxDecimalPoints),l=n/c;s=parseFloat((Math.floor(d*l)/d).toFixed(t.maxDecimalPoints))}else s=n/c;else s=Math.floor(n/c);f.push({unitCount:s,unitName:i}),n-=s*c}var h,k,y=0;for(u=0;u<f.length;u++)if(f[u].unitCount){y=u;break}if(t.round)for(u=f.length-1;u>=0&&((e=f[u]).unitCount=Math.round(e.unitCount),0!==u);u--)k=f[u-1],h=t.unitMeasures[k.unitName]/t.unitMeasures[e.unitName],(e.unitCount%h==0||t.largest&&t.largest-1<u-y)&&(k.unitCount+=e.unitCount/h,e.unitCount=0);var g,w=[];for(u=0,f.length;u<r&&((e=f[u]).unitCount&&w.push(m(e.unitCount,e.unitName,a,t)),w.length!==t.largest);u++);return w.length?(g=has(t,"delimiter")?t.delimiter:has(a,"delimiter")?a.delimiter:", ",t.conjunction&&1!==w.length?2===w.length?w.join(t.conjunction):w.length>2?w.slice(0,-1).join(g)+(t.serialComma?",":"")+t.conjunction+w.slice(-1):void 0:w.join(g)):m(0,t.units[t.units.length-1],a,t)}function m(n,t,u,r){var e,i;e=has(r,"decimal")?r.decimal:has(u,"decimal")?u.decimal:".",i="function"==typeof u._formatCount?u._formatCount(n,e):n.toString().replace(".",e);var o,c=u[t];return o="function"==typeof c?c(n):c,i+r.spacer+o}function s(n){for(var t,u=1;u<arguments.length;u++)for(var r in t=arguments[u])has(t,r)&&(n[r]=t[r]);return n}function a(n){return 1===n?0:2===n?1:n>2&&n<11?2:0}function f(n){return 1===n?0:Math.floor(n)!==n?1:n%10>=2&&n%10<=4&&!(n%100>10&&n%100<20)?2:3}function d(n){return Math.floor(n)!==n?2:n%100>=5&&n%100<=20||n%10>=5&&n%10<=9||n%10==0?0:n%10==1?1:n>1?2:0}function l(n){return 1===n?0:Math.floor(n)!==n?1:n%10>=2&&n%10<=4&&n%100<10?2:3}function h(n){return 1===n||n%10==1&&n%100>20?0:Math.floor(n)!==n||n%10>=2&&n%100>20||n%10>=2&&n%100<10?1:2}function k(n){return n%10==1&&n%100!=11}var y=Array.isArray||function(n){return"[object Array]"===Object.prototype.toString.call(n)};function has(n,t){return Object.prototype.hasOwnProperty.call(n,t)}i.getSupportedLanguages=function(){var n=[];for(var t in u)has(u,t)&&"gr"!==t&&n.push(t);return n},i.humanizer=e,r.exports?r.exports=i:this.humanizeDuration=i}();const i=e.exports,o=i.languages;function c(n){return 1===n||void 0===n?0:n%10>1&&n%10<5&&"1"!==String(n).substr(-2,1)?1:2}function m(t,u={},r="milliseconds"){return i(n(t,r,"milliseconds"),{language:s(),fallbacks:["en"],...u})}function s(){const n=t(),r=u(n);switch(r){case"nb":case"nn":case"no":return"no";case"pt":return"pt";case"zh":return a(n);default:return r}}function a(n){switch(n){case"zh-HK":case"zh-TW":return"zh_TW";default:return"zh_CN"}}o.bs={y:n=>["godina","godine","godina"][c(n)],mo:n=>["mjesec","mjeseca","mjeseci"][c(n)],w:n=>["sedmica","sedmice","sedmica"][c(n)],d:n=>["dan","dana","dana"][c(n)],h:n=>["sat","sata","sati"][c(n)],m:n=>["minuta","minute","minuta"][c(n)],s:n=>["sekunda","sekunde","sekundi"][c(n)],ms:n=>["milisekunda","milisekunde","milisekundi"][c(n)],decimal:","},o.hr={...o.bs,w:n=>["tjedan","tjedna","tjedana"][c(n)]};export{m as formatDuration};
package/intl/messages.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import t from"../core/Error.js";import{createDeferred as e}from"../core/promiseUtils.js";import{beforeLocaleChange as n,getLocale as s}from"./locale.js";const r=/^([a-z]{2})(?:[-_]([A-Za-z]{2}))?$/,o={ar:!0,bg:!0,bs:!0,ca:!0,cs:!0,da:!0,de:!0,el:!0,en:!0,es:!0,et:!0,fi:!0,fr:!0,he:!0,hr:!0,hu:!0,id:!0,it:!0,ja:!0,ko:!0,lt:!0,lv:!0,nb:!0,nl:!0,pl:!0,"pt-BR":!0,"pt-PT":!0,ro:!0,ru:!0,sk:!0,sl:!0,sr:!0,sv:!0,th:!0,tr:!0,uk:!0,vi:!0,"zh-CN":!0,"zh-HK":!0,"zh-TW":!0};function i(t){return o[t]??!1}const a=[],c=new Map;function d(t){for(const e of c.keys())m(t.pattern,e)&&c.delete(e)}function l(t){return a.includes(t)||(d(t),a.unshift(t)),{remove(){const e=a.indexOf(t);e>-1&&(a.splice(e,1),d(t))}}}async function h(t){const e=s();c.has(t)||c.set(t,f(t,e));const n=c.get(t);return await _.add(n),n}function u(t){if(!r.test(t))return null;const[,e,n]=r.exec(t),s=e+(n?"-"+n.toUpperCase():"");return i(s)?s:i(e)?e:null}async function f(e,n){const s=[];for(const t of a)if(m(t.pattern,e))try{return await t.fetchMessageBundle(e,n)}catch(r){s.push(r)}if(s.length)throw new t("intl:message-bundle-error",`Errors occurred while loading "${e}"`,{errors:s});throw new t("intl:no-message-bundle-loader",`No loader found for message bundle "${e}"`)}function m(t,e){return"string"==typeof t?e.startsWith(t):t.test(e)}n((()=>{c.clear()}));const _=new class{constructor(){this._numLoading=0}async waitForAll(){this._dfd&&await this._dfd.promise}add(t){return this._increase(),t.then((()=>this._decrease()),(()=>this._decrease())),this.waitForAll()}_increase(){this._numLoading++,this._dfd||(this._dfd=e())}_decrease(){this._numLoading=Math.max(this._numLoading-1,0),this._dfd&&0===this._numLoading&&(this._dfd.resolve(),this._dfd=null)}},p={cache:c,loaders:a};export{h as fetchMessageBundle,u as normalizeMessageBundleLocale,l as registerMessageBundleLoader,p as test};
5
+ import t from"../core/Error.js";import{createDeferred as e}from"../core/promiseUtils.js";import{beforeLocaleChange as n,getLocale as s}from"./locale.js";const r=/^([a-z]{2})(?:[-_]([A-Za-z]{2}))?$/,o={ar:!0,bg:!0,bs:!0,ca:!0,cs:!0,da:!0,de:!0,el:!0,en:!0,es:!0,et:!0,fi:!0,fr:!0,he:!0,hr:!0,hu:!0,id:!0,it:!0,ja:!0,ko:!0,lt:!0,lv:!0,nb:!0,nl:!0,pl:!0,"pt-BR":!0,"pt-PT":!0,ro:!0,ru:!0,sk:!0,sl:!0,sr:!0,sv:!0,th:!0,tr:!0,uk:!0,vi:!0,"zh-CN":!0,"zh-HK":!0,"zh-TW":!0};function i(t){return o[t]??!1}const a=[],c=new Map;function d(t){for(const e of c.keys())_(t.pattern,e)&&c.delete(e)}function l(t){return a.includes(t)||(d(t),a.unshift(t)),{remove(){const e=a.indexOf(t);e>-1&&(a.splice(e,1),d(t))}}}async function u(t){const e=s();c.has(t)||c.set(t,f(t,e));const n=c.get(t);return n&&await m.add(n),n}function h(t){if(!r.test(t))return null;const e=r.exec(t);if(null===e)return null;const[,n,s]=e,o=n+(s?"-"+s.toUpperCase():"");return i(o)?o:i(n)?n:null}async function f(e,n){const s=[];for(const t of a)if(_(t.pattern,e))try{return await t.fetchMessageBundle(e,n)}catch(r){s.push(r)}if(s.length)throw new t("intl:message-bundle-error",`Errors occurred while loading "${e}"`,{errors:s});throw new t("intl:no-message-bundle-loader",`No loader found for message bundle "${e}"`)}function _(t,e){return"string"==typeof t?e.startsWith(t):t.test(e)}n((()=>{c.clear()}));const m=new class{constructor(){this._numLoading=0,this._dfd=null}async waitForAll(){this._dfd&&await this._dfd.promise}add(t){return this._increase(),t.then((()=>this._decrease()),(()=>this._decrease())),this.waitForAll()}_increase(){this._numLoading++,this._dfd||(this._dfd=e())}_decrease(){this._numLoading=Math.max(this._numLoading-1,0),this._dfd&&0===this._numLoading&&(this._dfd.resolve(),this._dfd=null)}},p={cache:c,loaders:a};export{u as fetchMessageBundle,h as normalizeMessageBundleLocale,l as registerMessageBundleLoader,p as test};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import t from"../core/Logger.js";import{getDeepValue as r}from"../core/object.js";import{replace as e}from"../core/string.js";import{formatDate as n}from"./date.js";import{formatNumber as o}from"./number.js";const i=t.getLogger("esri.intl.substitute");function s(t,r,n={}){const{format:o={}}=n;return e(t,(t=>u(t,r,o)))}function u(t,e,n){let o,i;const s=t.indexOf(":");if(-1===s?o=t.trim():(o=t.slice(0,s).trim(),i=t.slice(s+1).trim()),!o)return"";const u=r(o,e);if(null==u)return"";const m=n[i]||n[o];return m?c(u,m):i?a(u,i):f(u)}function c(t,r){switch(r.type){case"date":return n(t,r.intlOptions);case"number":return o(t,r.intlOptions);default:return i.warn("missing format descriptor for key {key}"),f(t)}}function a(t,r){switch(r.toLowerCase()){case"dateformat":return n(t);case"numberformat":return o(t);default:return i.warn(`inline format is unsupported since 4.12: ${r}`),/^(dateformat|datestring)/i.test(r)?n(t):/^numberformat/i.test(r)?o(t):f(t)}}function f(t){switch(typeof t){case"string":return t;case"number":return o(t);case"boolean":return""+t;default:return t instanceof Date?n(t):""}}export{s as substitute};
5
+ import t from"../core/Logger.js";import{getDeepValue as r}from"../core/object.js";import{replace as e}from"../core/string.js";import{formatDate as n}from"./date.js";import{formatNumber as o}from"./number.js";const i=t.getLogger("esri.intl.substitute");function s(t,r,n={}){const{format:o={}}=n;return e(t,(t=>u(t,r,o)))}function u(t,e,n){let o,i;const s=t.indexOf(":");if(-1===s?o=t.trim():(o=t.slice(0,s).trim(),i=t.slice(s+1).trim()),!o)return"";const u=r(o,e);if(null==u)return"";const m=(i?n?.[i]:null)??n?.[o];return m?c(u,m):i?a(u,i):f(u)}function c(t,r){switch(r.type){case"date":return n(t,r.intlOptions);case"number":return o(t,r.intlOptions);default:return i.warn("missing format descriptor for key {key}"),f(t)}}function a(t,r){switch(r.toLowerCase()){case"dateformat":return n(t);case"numberformat":return o(t);default:return i.warn(`inline format is unsupported since 4.12: ${r}`),/^(dateformat|datestring)/i.test(r)?n(t):/^numberformat/i.test(r)?o(t):f(t)}}function f(t){switch(typeof t){case"string":return t;case"number":return o(t);case"boolean":return""+t;default:return t instanceof Date?n(t):""}}export{s as substitute};
package/kernel.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import has from"./core/has.js";import{getInterceptor as e,addQueryParameter as t}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";const r="4.25",s={async request(t,r){const{default:s}=await import("./request.js"),a=t.options,n=a.responseType;a.signal=r?.signal,a.responseType="native"===n||"native-request-init"===n?"native-request-init":["blob","json","text"].includes(n)&&e(t.url)?.after?n:"array-buffer";const o=await s(t.url,a),i={data:o.data,ssl:o.ssl};switch(o.requestOptions.responseType){case"native-request-init":return delete i.data.signal,i;case"blob":i.data=await i.data.arrayBuffer();break;case"json":i.data=(new TextEncoder).encode(JSON.stringify(i.data)).buffer;break;case"text":i.data=(new TextEncoder).encode(i.data).buffer}return{result:i,transferList:[i.data]}}};let a;function n(e){a=e}function o(e){const r=a&&a.findCredential(e);return r&&r.token?t(e,"token",r.token):e}has("host-webworker")||(has("edge")||has("trident"))&&console.warn("Deprecated browser - see http://esriurl.com/oldbrowser");export{o as addTokenParameter,a as id,n as setId,r as version,s as workerMessages};
5
+ import has from"./core/has.js";import{getInterceptor as e,addQueryParameter as t}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";const r="4.25",s={async request(t,r){const{default:s}=await import("./request.js"),a=t.options,n=a.responseType;a.signal=r?.signal,a.responseType="native"===n||"native-request-init"===n?"native-request-init":n&&["blob","json","text"].includes(n)&&e(t.url)?.after?n:"array-buffer";const o=await s(t.url,a),i={data:o.data,ssl:o.ssl};switch(o.requestOptions?.responseType){case"native-request-init":return delete i.data.signal,i;case"blob":i.data=await i.data.arrayBuffer();break;case"json":i.data=(new TextEncoder).encode(JSON.stringify(i.data)).buffer;break;case"text":i.data=(new TextEncoder).encode(i.data).buffer}return{result:i,transferList:[i.data]}}};let a;function n(e){a=e}function o(e){const r=a&&a.findCredential(e);return r&&r.token?t(e,"token",r.token):e}has("host-webworker")||(has("edge")||has("trident"))&&console.warn("Deprecated browser - see http://esriurl.com/oldbrowser");export{o as addTokenParameter,a as id,n as setId,r as version,s as workerMessages};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import r from"../PopupTemplate.js";import{read as t,rasterRendererTypes as o,websceneRasterRendererTypes as i}from"../rasterRenderers.js";import s from"../core/Error.js";import{isSome as a}from"../core/maybe.js";import{MultiOriginJSONMixin as n}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as l}from"../core/promiseUtils.js";import{watch as p}from"../core/reactiveUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{Integer as m}from"../core/accessorSupport/ensureType.js";import{enumeration as u}from"../core/accessorSupport/decorators/enumeration.js";import{reader as c}from"../core/accessorSupport/decorators/reader.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import h from"./Layer.js";import{BlendLayer as f}from"./mixins/BlendLayer.js";import{CustomParametersMixin as v}from"./mixins/CustomParametersMixin.js";import{ImageryTileMixin as g}from"./mixins/ImageryTileMixin.js";import{OperationalLayer as j}from"./mixins/OperationalLayer.js";import{PortalLayer as b}from"./mixins/PortalLayer.js";import{RefreshableLayer as S}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as T}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as w}from"./mixins/TemporalLayer.js";import{legendEnabled as P}from"./support/commonProperties.js";import I from"./support/Field.js";import{interpolationKebab as R}from"./support/rasterEnums.js";import O from"./support/rasterDatasets/RasterFactory.js";import{createPopupTemplate as x}from"../support/popupUtils.js";let L=class extends(f(T(j(b(v(g(w(S(n(h)))))))))){constructor(...e){super(...e),this.bandIds=null,this.interpolation=null,this.legendEnabled=!0,this.isReference=null,this.listMode="show",this.sourceJSON=null,this.version=null,this.title=null,this.type="imagery-tile",this.operationalLayerType="ArcGISTiledImageServiceLayer",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=a(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(l).then((()=>this._openRaster(r)))),Promise.resolve(this)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){let e=[new I({name:"Raster.ServicePixelValue",alias:"Pixel Value",domain:null,editable:!1,length:50,type:"string"})];const r=this.rasterInfo?.attributeTable?.fields,t="Raster.";if(r){const o=r.filter((e=>"oid"!==e.type&&"value"!==e.name.toLowerCase())).map((e=>{const r=e.clone();return r.name=t+e.name,r}));e=e.concat(o)}const o=this.rasterInfo.dataType;if(("vector-magdir"===o||"vector-uv"===o)&&a(this.rasterInfo.multidimensionalInfo)){const r=this.rasterInfo.multidimensionalInfo.variables[0].unit?.trim(),t="Magnitude"+(r?` (${r})`:"");e.push(new I({name:"Raster.Magnitude",alias:t,domain:null,editable:!1,type:"double"})),e.push(new I({name:"Raster.Direction",alias:"Direction (°)",domain:null,editable:!1,type:"double"}))}return e}set renderer(e){this._set("renderer",e),this.updateRenderer()}readRenderer(e,r,o){const i=r&&r.layerDefinition&&r.layerDefinition.drawingInfo&&r.layerDefinition.drawingInfo.renderer,s=t(i,o)||void 0;if(null!=s)return s}createPopupTemplate(e){return x({fields:this.rasterFields,title:this.title},e)}write(e,r){const{raster:t}=this;if(this.loaded?"RasterTileServer"===t.datasetFormat&&("Raster"===t.tileType||"Map"===t.tileType):this.url&&/\/ImageServer(\/|\/?$)/i.test(this.url))return super.write(e,r);if(r&&r.messages){const e=`${r.origin}/${r.layerContainerType||"operational-layers"}`;r.messages.push(new s("layer:unsupported",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this}))}return null}async _openRaster(e){this.raster?(this.raster.rasterInfo||await this.raster.open(),this.url=this.raster.url):this.raster=await O.open({url:this.url,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:e});const{rasterInfo:r}=this.raster;if(!r)throw new s("imagery-tile-layer:load","cannot load resources on "+this.url);if(this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON){const e="Map"===this.raster.tileType&&null!=this.sourceJSON.minLOD&&null!=this.sourceJSON.maxLOD?this.sourceJSON:{...this.sourceJSON,minScale:0,maxScale:0};this.read(e,{origin:"service"})}null==this.title&&(this.title=this.raster.datasetName),"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.addHandles(p((()=>this.customParameters),(e=>{this.raster.ioConfig.customFetchParameters=e})))}};e([d({type:[m],json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"0,1,2"!==this.bandIds?.join(",")}}}}})],L.prototype,"bandIds",void 0),e([d({json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"bilinear"!==this.interpolation}}}}}),u(R)],L.prototype,"interpolation",void 0),e([d({json:{write:!0}})],L.prototype,"multidimensionalDefinition",void 0),e([d(P)],L.prototype,"legendEnabled",void 0),e([d({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],L.prototype,"isReference",void 0),e([d({type:["show","hide"]})],L.prototype,"listMode",void 0),e([d({json:{read:!0,write:!0}})],L.prototype,"blendMode",void 0),e([d()],L.prototype,"sourceJSON",void 0),e([d({readOnly:!0,json:{origins:{service:{read:{source:"currentVersion"}}}}})],L.prototype,"version",void 0),e([d()],L.prototype,"title",void 0),e([d({readOnly:!0,json:{read:!1}})],L.prototype,"type",void 0),e([d({type:["ArcGISTiledImageServiceLayer"]})],L.prototype,"operationalLayerType",void 0),e([d({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,r)=>!r.disablePopup},write:{target:"disablePopup",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}},writer(e,r,t){r[t]=!e}}}})],L.prototype,"popupEnabled",void 0),e([d({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],L.prototype,"popupTemplate",void 0),e([d({readOnly:!0})],L.prototype,"defaultPopupTemplate",null),e([d({readOnly:!0,type:[I]})],L.prototype,"fields",void 0),e([d({readOnly:!0,type:[I]})],L.prototype,"rasterFields",null),e([d({types:o,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy(){const e="raster-stretch"===this.renderer?.type&&"none"===this.renderer.stretchType&&!this.renderer.useGamma;return{enabled:!this.loaded||"Raster"===this.raster.tileType||!e}}},origins:{"web-scene":{types:i,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type&&"flow"!==e.type})}}}}})],L.prototype,"renderer",null),e([c("renderer")],L.prototype,"readRenderer",null),L=e([y("esri.layers.ImageryTileLayer")],L);const N=L;export{N as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import r from"../PopupTemplate.js";import{read as t,rasterRendererTypes as o,websceneRasterRendererTypes as i}from"../rasterRenderers.js";import s from"../core/Error.js";import{isSome as a}from"../core/maybe.js";import{MultiOriginJSONMixin as n}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as l}from"../core/promiseUtils.js";import{watch as p}from"../core/reactiveUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{Integer as m}from"../core/accessorSupport/ensureType.js";import{enumeration as u}from"../core/accessorSupport/decorators/enumeration.js";import{reader as c}from"../core/accessorSupport/decorators/reader.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import h from"./Layer.js";import{BlendLayer as f}from"./mixins/BlendLayer.js";import{CustomParametersMixin as v}from"./mixins/CustomParametersMixin.js";import{ImageryTileMixin as g}from"./mixins/ImageryTileMixin.js";import{OperationalLayer as j}from"./mixins/OperationalLayer.js";import{PortalLayer as b}from"./mixins/PortalLayer.js";import{RefreshableLayer as S}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as T}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as w}from"./mixins/TemporalLayer.js";import{legendEnabled as P}from"./support/commonProperties.js";import R from"./support/Field.js";import{interpolationKebab as O}from"./support/rasterEnums.js";import I from"./support/rasterDatasets/RasterFactory.js";import{createPopupTemplate as x}from"../support/popupUtils.js";let L=class extends(f(T(j(b(v(g(w(S(n(h)))))))))){constructor(...e){super(...e),this.bandIds=null,this.interpolation=null,this.legendEnabled=!0,this.isReference=null,this.listMode="show",this.sourceJSON=null,this.version=null,this.title=null,this.type="imagery-tile",this.operationalLayerType="ArcGISTiledImageServiceLayer",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=a(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(l).then((()=>this._openRaster(r)))),Promise.resolve(this)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){let e=[new R({name:"Raster.ServicePixelValue",alias:"Pixel Value",domain:null,editable:!1,length:50,type:"string"})];const{rasterInfo:r}=this,{attributeTable:t}=r,o=a(t)?t.fields:null,i="Raster.";if(o){const r=o.filter((e=>"oid"!==e.type&&"value"!==e.name.toLowerCase())).map((e=>{const r=e.clone();return r.name=i+e.name,r}));e=e.concat(r)}const{dataType:s,multidimensionalInfo:n}=r;if(("vector-magdir"===s||"vector-uv"===s)&&a(n)){const r=n.variables[0].unit?.trim(),t="Magnitude"+(r?` (${r})`:"");e.push(new R({name:"Raster.Magnitude",alias:t,domain:null,editable:!1,type:"double"})),e.push(new R({name:"Raster.Direction",alias:"Direction (°)",domain:null,editable:!1,type:"double"}))}return e}set renderer(e){this._set("renderer",e),this.updateRenderer()}readRenderer(e,r,o){const i=r&&r.layerDefinition&&r.layerDefinition.drawingInfo&&r.layerDefinition.drawingInfo.renderer,s=t(i,o)||void 0;if(null!=s)return s}createPopupTemplate(e){return x({fields:this.rasterFields,title:this.title},e)}write(e,r){const{raster:t}=this;if(this.loaded?"RasterTileServer"===t.datasetFormat&&("Raster"===t.tileType||"Map"===t.tileType):this.url&&/\/ImageServer(\/|\/?$)/i.test(this.url))return super.write(e,r);if(r&&r.messages){const e=`${r.origin}/${r.layerContainerType||"operational-layers"}`;r.messages.push(new s("layer:unsupported",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this}))}return null}async _openRaster(e){this.raster?(this.raster.rasterInfo||await this.raster.open(),this.url=this.raster.url):this.raster=await I.open({url:this.url,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:e});const{rasterInfo:r}=this.raster;if(!r)throw new s("imagery-tile-layer:load","cannot load resources on "+this.url);if(this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON){const e="Map"===this.raster.tileType&&null!=this.sourceJSON.minLOD&&null!=this.sourceJSON.maxLOD?this.sourceJSON:{...this.sourceJSON,minScale:0,maxScale:0};this.read(e,{origin:"service"})}null==this.title&&(this.title=this.raster.datasetName),"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.addHandles(p((()=>this.customParameters),(e=>{this.raster.ioConfig.customFetchParameters=e})))}};e([d({type:[m],json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"0,1,2"!==this.bandIds?.join(",")}}}}})],L.prototype,"bandIds",void 0),e([d({json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"bilinear"!==this.interpolation}}}}}),u(O)],L.prototype,"interpolation",void 0),e([d({json:{write:!0}})],L.prototype,"multidimensionalDefinition",void 0),e([d(P)],L.prototype,"legendEnabled",void 0),e([d({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],L.prototype,"isReference",void 0),e([d({type:["show","hide"]})],L.prototype,"listMode",void 0),e([d({json:{read:!0,write:!0}})],L.prototype,"blendMode",void 0),e([d()],L.prototype,"sourceJSON",void 0),e([d({readOnly:!0,json:{origins:{service:{read:{source:"currentVersion"}}}}})],L.prototype,"version",void 0),e([d()],L.prototype,"title",void 0),e([d({readOnly:!0,json:{read:!1}})],L.prototype,"type",void 0),e([d({type:["ArcGISTiledImageServiceLayer"]})],L.prototype,"operationalLayerType",void 0),e([d({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,r)=>!r.disablePopup},write:{target:"disablePopup",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}},writer(e,r,t){r[t]=!e}}}})],L.prototype,"popupEnabled",void 0),e([d({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],L.prototype,"popupTemplate",void 0),e([d({readOnly:!0})],L.prototype,"defaultPopupTemplate",null),e([d({readOnly:!0,type:[R]})],L.prototype,"fields",void 0),e([d({readOnly:!0,type:[R]})],L.prototype,"rasterFields",null),e([d({types:o,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy(){const e="raster-stretch"===this.renderer?.type&&"none"===this.renderer.stretchType&&!this.renderer.useGamma;return{enabled:!this.loaded||"Raster"===this.raster.tileType||!e}}},origins:{"web-scene":{types:i,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type&&"flow"!==e.type})}}}}})],L.prototype,"renderer",null),e([c("renderer")],L.prototype,"readRenderer",null),L=e([y("esri.layers.ImageryTileLayer")],L);const N=L;export{N as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import e from"../request.js";import has from"../core/has.js";import t from"../core/Logger.js";import{isSome as r,removeMaybe as s}from"../core/maybe.js";import{isAbortError as i}from"../core/promiseUtils.js";import{watch as a}from"../core/reactiveUtils.js";import{renderSRFromViewSR as n}from"../geometry/support/coordinateSystem.js";import{PointIndex as o,PlaneIndex as l}from"../geometry/support/frustum.js";import{WasmCullMode as h,VoxelRequestType as _,UpdateFlags as d}from"../libs/vxl/enums.js";import{loadVoxelWASM as u}from"../libs/vxl/VxlModule.js";import{ViewingMode as c}from"../views/ViewingMode.js";import{Frustum as m}from"../views/3d/state/Frustum.js";import{RenderCoordsHelper as g}from"../views/3d/support/RenderCoordsHelper.js";import{RenderPass as x}from"../views/3d/webgl-engine/lib/RenderPass.js";import{RenderSlot as f}from"../views/3d/webgl-engine/lib/RenderSlot.js";import{ContextType as p}from"../views/webgl/context-util.js";import{CompareFunction as v,Face as y,StencilOperation as b}from"../views/webgl/enums.js";const T=t.getLogger("esri.layers.VoxelWasmPerSceneView");var w;!function(e){e[e.Lifetime=1]="Lifetime",e[e.RequestResponse=2]="RequestResponse",e[e.Rendering=3]="Rendering",e[e.Error=4]="Error"}(w||(w={}));class R{constructor(e){this._halfIntTexturesAvailable=!1,this._textureFloatLinearAvailable=!1,this._havePreparedWithAllLayers=!1,this._renderPluginContext=null,this._vxl=null,this._pluginIsActive=!1,this._moreToLoad=!1,this._viewportWidth=-1,this._viewportHeight=-1,this._newLayers=[],this._layers=new Map,this._renderPass=x.MATERIAL,this._renderSlot=f.VOXEL,this._rctx=null,this._renderTargetToRestore=null,this._lastFrameWasStationary=!1,this._wasmMemBlockSizes=[512,1024,2048,4096,8192,16384,32768,65536],this._wasmMemBlocks=new Map,this._dbgFlags=new Set,this._captureFrustum=!1,this._frustum=null,this._frustumRenderableId=-1,this._renderCoordsHelper=null,this._view=e,this._initialize()}get canRender(){return!!this._vxl&&"local"===this._view.viewingMode}_dbg(e,t){this._dbgFlags.has(e)&&(e===w.Error?T.error(t):T.warn(t))}_removeRenderPlugin(){this._pluginIsActive&&this._view._stage&&(this._dbg(w.Lifetime,"--removeRenderPlugin--"),this._view._stage.removeRenderPlugin(this)),this._pluginIsActive=!1}_initialize(){this._dbg(w.Lifetime,"--initialize--");for(const e of this._wasmMemBlockSizes)this._wasmMemBlocks.set(e,0);this._readyWatchHandle=a((()=>this._view.ready),(e=>{e&&"local"===this._view.viewingMode?(this._dbg(w.Lifetime,"view ready status changed to ready on a local view, calling addRenderPlugin"),this._view._stage.addRenderPlugin([this._renderSlot],this),this._pluginIsActive=!0):(this._dbg(w.Lifetime,"view ready status changed, not ready or not a local view!"),this._removeRenderPlugin())}),{initial:!0}),this._qualityWatchHandle=a((()=>this._view?.qualityProfile),(e=>{this._dbg(w.Rendering,"qualityProfile changed to "+e),this._vxl&&this._vxl.set_quality(this._toWasmQuality(e))}),{initial:!0}),this._timeExtentWatchHandle=a((()=>this._view?.timeExtent),(()=>{if(this._vxl){const e=this._getTimeArgs(this._view?.timeExtent);this._dbg(w.Rendering,"sceneView timeExtent changed to useTime="+e.useTime+" st="+e.startTime+" et="+e.endTime),this._vxl.set_scene_time_extent(e.startTime,e.endTime,e.useTime),this._renderPluginContext.requestRender()}}),{initial:!0}),this._stationaryWatchHandle=a((()=>this._view?.stationary),(e=>{this._vxl&&e&&!this._lastFrameWasStationary&&this._renderPluginContext.requestRender()}))}initializeRenderContext(e){this._dbg(w.Lifetime,"--initializeRenderContext--");const t=e.renderContext.rctx;t.type===p.WEBGL2?(this._renderPluginContext=e,this._rctx=e.renderContext.rctx,this._halfIntTexturesAvailable=!!this._rctx.capabilities.textureNorm16,this._textureFloatLinearAvailable=this._rctx.capabilities.textureFloatLinear,this._initializeWasm(t.gl)):this._dbg(w.Error,"WebGL 1 context only!")}uninitializeRenderContext(){this._renderPluginContext=null,this._rctx=null,this._dbg(w.Lifetime,"--uninitializeRenderContext--")}_restoreFramebuffer(){if(!this._renderTargetToRestore)return;const e=this._renderTargetToRestore.fbo;if(!!!this._rctx)return void this._dbg(w.Error,"no context in restoreFramebuffer!");this._rctx.bindFramebuffer(e,!0);const t=this._renderTargetToRestore.viewport;this._rctx.setViewport(t.x,t.y,t.width,t.height)}_bindPreviousDepthToSlot(e,t){const r=!!this._rctx,s=!!this._renderTargetToRestore;if(!r||!s)return 0;const i=this._renderTargetToRestore.fbo.depthStencilTexture;return i?(0===t?this._rctx.bindTexture(null,e,!0):this._rctx.bindTexture(i,e,!0),1):(this._dbg(w.Error,"no depth/stencil texture exists!"),0)}_modifyResourceCount(e,t,r){if(!this._rctx)return void this._dbg(w.Error,"modifyAllocation callback has no rendering context!");const s=e;1===r?this._rctx.instanceCounter.increment(s,t):this._rctx.instanceCounter.decrement(s,t)}_setBlendState(e,t,r,s){this._rctx?(this._rctx.setBlendingEnabled(1===e),this._rctx.setBlendFunction(t,r),this._rctx.setBlendEquation(s)):this._dbg(w.Error,"setBlendState callback has no rendering context!")}_setFrontFace(e){this._rctx?this._rctx.setFrontFace(e):this._dbg(w.Error,"setFrontFace callback has no rendering context!")}_setDepthStencilStateFunction(e,t,r){this._rctx?(this._rctx.setDepthFunction(r),this._rctx.setDepthTestEnabled(1===e),this._rctx.setDepthWriteEnabled(1===t),this._rctx.setStencilTestEnabled(!1),this._rctx.setStencilFunction(v.ALWAYS,0,255),this._rctx.setStencilOpSeparate(y.FRONT,b.KEEP,b.INCR,b.KEEP),this._rctx.setStencilOpSeparate(y.BACK,b.KEEP,b.DECR,b.KEEP)):this._dbg(w.Error,"setDepthStencilStateFunction callback has no rendering context!")}_setRasterizerState(e){if(this._rctx)switch(e){case h.None:this._rctx.setFaceCullingEnabled(!1);break;case h.Back:this._rctx.setCullFace(y.BACK),this._rctx.setFaceCullingEnabled(!0);break;case h.Front:this._rctx.setCullFace(y.FRONT),this._rctx.setFaceCullingEnabled(!0)}else this._dbg(w.Error,"setRasterizerState callback has no rendering context!")}_setViewport(e,t,r,s){this._rctx?this._rctx.setViewport(e,t,r,s):this._dbg(w.Error,"setViewport callback has no rendering context!")}_updateMemoryUsage(){this._layers.forEach(((e,t)=>{if(e.needMemoryUsageUpdate){const r=this._vxl.estimate_memory_usage(t);r>=0&&(e.needMemoryUsageUpdate=!1,e.layerView.setUsedMemory(r))}}))}_syncRequestsResponses(){this._layers.forEach(((t,r)=>{const s=[];t.responses.forEach(((e,i)=>{s.push(i),this._dbg(w.RequestResponse,"responding for requestID:"+i+" size:"+e.size),this._vxl.respond(r,i,e),e.requestType!==_.TreeIndex&&e.requestType!==_.Section||(t.needMemoryUsageUpdate=!0)}));const a=t.responses;for(const e of s)a.delete(e);const n=this._vxl.get_new_requests(r),o=t.abortController.signal;for(const l in n){t.outstandingRequestCount+=1,1===t.outstandingRequestCount&&t.layerView.updatingFlagChanged();const r=n[l],s={responseType:"array-buffer",signal:o};this._dbg(w.RequestResponse,"making requestID:"+l+" url:"+r.url),e(r.url,s).then((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),this._dbg(w.RequestResponse,"have response for requestID:"+l);let s=0;if(e.data.byteLength>0){s=this._vxl._malloc(e.data.byteLength);const t=new Uint8Array(this._vxl.HEAPU8.buffer,s,e.data.byteLength),r=new Uint8Array(e.data);for(let s=0;s<e.data.byteLength;++s)t[s]=r[s]}a.set(+l,{responseType:r.responseType,ptr:s,size:e.data.byteLength,success:!0,requestType:r.requestType})})).catch((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),i(e)||(this._dbg(w.Error,`requestID:${l} failed, error=${e.toString()}`),a.set(+l,{responseType:r.responseType,ptr:0,size:0,success:!1,requestType:r.requestType}))}))}}))}updateWasmCamera(e){this._vxl.set_projection_matrix.apply(this._vxl,e.projectionMatrix),this._vxl.set_view_matrix.apply(this._vxl,e.viewMatrix),this._vxl.set_near_far(e.near,e.far)}isUpdating(e){return!(this._vxl||!this._vxlPromise)||!!this._layers.has(e)&&this._layers.get(e).outstandingRequestCount>0}setEnabled(e,t){this._layers.forEach(((r,s)=>{r.layerView.wasmLayerId===e.wasmLayerId&&(this._vxl.set_enabled(s,t),r.needMemoryUsageUpdate=!0,this._renderPluginContext.requestRender())}))}setSlices(e,t){const r={mask:d.Slices,slices:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,r,!0)}setDynamicSections(e,t){const r={mask:d.DynamicSections,dynamicSections:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,r,!0)}setStaticSections(e,t){const r={mask:d.StaticSections,staticSections:t};return this._doMaskedUIUpdate(e,r,!0)}setCurrentVariable(e,t){const r={mask:d.CurrentVariable,currentVariable:t};return this._doMaskedUIUpdate(e,r,!0)}setRenderMode(e,t){const r={mask:d.RenderMode,renderMode:t};return this._doMaskedUIUpdate(e,r,!0)}setVerticalExaggerationAndOffset(e,t,r,s){const i={mask:d.ExaggerationAndOffset,volStyleDesc:{volumeId:t,verticalExaggeration:r,verticalOffset:s}};return this._doMaskedUIUpdate(e,i,!0)}_doMaskedUIUpdate(e,t,r){if(!this._vxl)return!1;let s=!1;return this._layers.forEach(((r,i)=>{if(r.layerView.wasmLayerId===e.wasmLayerId){const e={str:JSON.stringify(t),byteCount:0,ptr:0,isReusable:!1};this._allocateBlock(e)&&(s=1===this._vxl.handle_masked_ui_update(i,e.ptr,e.byteCount),e.isReusable||this._vxl._free(e.ptr))}})),s&&r&&this._renderPluginContext.requestRender(),s}_addTriangleToWasmBuffer(e,t,r,s,i){return e[3*t+0]=r[0],e[3*t+1]=r[1],e[3*t+2]=r[2],e[3*(t+=1)+0]=s[0],e[3*t+1]=s[1],e[3*t+2]=s[2],e[3*(t+=1)+0]=i[0],e[3*t+1]=i[1],e[3*t+2]=i[2],t+=1}_addNormalToWasmBuffer(e,t,r){return e[3*t+0]=r[0],e[3*t+1]=r[1],e[3*t+2]=r[2],t+=1}_doCaptureFrustum(){if(!this._vxl)return;const e=36,t=e/3,r=this._vxl._malloc(3*e*Float32Array.BYTES_PER_ELEMENT),s=new Float32Array(this._vxl.HEAPF32.buffer,r,3*e),i=this._vxl._malloc(3*t*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(this._vxl.HEAPF32.buffer,i,e),n=this._frustum.points[o.NEAR_BOTTOM_LEFT],h=this._frustum.points[o.NEAR_BOTTOM_RIGHT],_=this._frustum.points[o.NEAR_TOP_RIGHT],d=this._frustum.points[o.NEAR_TOP_LEFT],u=this._frustum.points[o.FAR_BOTTOM_LEFT],c=this._frustum.points[o.FAR_BOTTOM_RIGHT],m=this._frustum.points[o.FAR_TOP_RIGHT],g=this._frustum.points[o.FAR_TOP_LEFT];let x=0,f=0;const p=this._frustum.planes[l.NEAR];x=this._addTriangleToWasmBuffer(s,x,_,h,n),f=this._addNormalToWasmBuffer(a,f,p),x=this._addTriangleToWasmBuffer(s,x,n,d,_),f=this._addNormalToWasmBuffer(a,f,p);const v=this._frustum.planes[l.FAR];x=this._addTriangleToWasmBuffer(s,x,u,c,m),f=this._addNormalToWasmBuffer(a,f,v),x=this._addTriangleToWasmBuffer(s,x,m,g,u),f=this._addNormalToWasmBuffer(a,f,v);const y=this._frustum.planes[l.TOP];x=this._addTriangleToWasmBuffer(s,x,m,_,d),f=this._addNormalToWasmBuffer(a,f,y),x=this._addTriangleToWasmBuffer(s,x,d,g,m),f=this._addNormalToWasmBuffer(a,f,y);const b=this._frustum.planes[l.BOTTOM];x=this._addTriangleToWasmBuffer(s,x,n,h,c),f=this._addNormalToWasmBuffer(a,f,b),x=this._addTriangleToWasmBuffer(s,x,c,u,n),f=this._addNormalToWasmBuffer(a,f,b);const T=this._frustum.planes[l.LEFT];x=this._addTriangleToWasmBuffer(s,x,d,n,u),f=this._addNormalToWasmBuffer(a,f,T),x=this._addTriangleToWasmBuffer(s,x,u,g,d),f=this._addNormalToWasmBuffer(a,f,T);const w=this._frustum.planes[l.RIGHT];x=this._addTriangleToWasmBuffer(s,x,_,m,c),f=this._addNormalToWasmBuffer(a,f,w),x=this._addTriangleToWasmBuffer(s,x,c,h,_),f=this._addNormalToWasmBuffer(a,f,w),-1!==this._frustumRenderableId&&this._vxl.remove_generic_mesh(this._frustumRenderableId),this._frustumRenderableId=this._vxl.add_generic_mesh(r,3*e,i,e,255,0,0,64),this._vxl._free(r),this._vxl._free(i),this._captureFrustum=!1,this._renderPluginContext.requestRender()}captureFrustum(){null===this._renderCoordsHelper&&(this._renderCoordsHelper=g.create(c.Local,n(!1,this._view.spatialReference))),null===this._frustum&&(this._frustum=new m(this._renderCoordsHelper)),this._captureFrustum=!0,null!==this._renderPluginContext&&this._renderPluginContext.requestRender()}toggleFullVolumeExtentDraw(e){this._vxl&&this._layers.forEach(((t,r)=>{t.layerView.wasmLayerId===e.wasmLayerId&&(this._vxl.toggle_full_volume_extent_draw(r),this._renderPluginContext.requestRender())}))}addVoxelLayer(e){if(!this._vxl){const t={layerView:e,resolveCallback:null,rejectCallback:null},r=new Promise(((e,r)=>{t.resolveCallback=e,t.rejectCallback=r}));return this._newLayers.push(t),r}const t=this._addVoxelLayer(e);return t<0?Promise.reject(-1):Promise.resolve(t)}removeVoxelLayer(e){if(!this._vxl){const t=this._newLayers.findIndex((t=>e.uid===t.layerView.uid));t>=0&&(this._newLayers[t].resolveCallback(-1),this._newLayers.splice(t,1));const r=this._newLayers.length;return 0===r&&(this._dbg(w.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),r}let t=-1;this._layers.forEach(((r,s)=>{r.layerView.wasmLayerId===e.wasmLayerId&&(t=s,r.abortController.abort(),this._vxl.remove_layer(t))})),t>=0&&this._layers.delete(t);const r=this._layers.size;return 0===r&&(this._dbg(w.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),r}_getBlockSize(e){for(const t of this._wasmMemBlockSizes)if(e<t)return t;return-1}_allocateBlock(e){e.byteCount=this._vxl.lengthBytesUTF8(e.str)+1;const t=this._getBlockSize(e.byteCount);return t<0?(e.isReusable=!1,e.ptr=this._vxl._malloc(e.byteCount)):(e.isReusable=!0,e.ptr=this._wasmMemBlocks.get(t),0===e.ptr&&(e.ptr=this._vxl._malloc(t),this._wasmMemBlocks.set(t,e.ptr))),0!==e.ptr&&(this._vxl.stringToUTF8(e.str,e.ptr,e.byteCount),!0)}_getTimeArgs(e){let t=-Number.MAX_VALUE,s=Number.MAX_VALUE,i=!1;return r(e)&&(e.isAllTime?i=!0:(r(e.start)&&(i=!0,t=e.start.getTime()/1e3),r(e.end)&&(i=!0,s=e.end.getTime()/1e3))),{startTime:t,endTime:s,useTime:i}}_addVoxelLayer(e){const t=e.layer;let r=-1;const s=t.getConfiguration();if(s.length<1)return-1;const i={str:s,byteCount:0,ptr:0,isReusable:!1};if(!this._allocateBlock(i))return-1;const a=this._getTimeArgs(this._view?.timeExtent),n=this._view.spatialReference.isWGS84&&t.spatialReference.isWGS84?111319.49079327357:1;if(r=this._vxl.add_layer(t.serviceRoot,i.ptr,i.byteCount,n,n,a.startTime,a.endTime,a.useTime,this._toWasmQuality(this._view.qualityProfile)),i.isReusable||this._vxl._free(i.ptr),r>=0){const t=new AbortController;if(this._layers.set(r,{layerView:e,responses:new Map,outstandingRequestCount:0,abortController:t,needMemoryUsageUpdate:!1}),!this._halfIntTexturesAvailable||has("mac")){const t=[];let r="";for(const s of e.layer.variables)"Int16"!==s.renderingFormat.type&&"UInt16"!==s.renderingFormat.type||(t.push(s.name),s.id===e.layer.currentVariableId&&(r=s.name));""!==r&&T.error("#addVoxelLayer_error()",e.layer,`The voxel layer '${e.layer.title}' cannot render the current variable '${r}' in this browser`),t.length>0&&T.warn("#addVoxelLayer_warning()",e.layer,`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in this browser`)}if(!this._textureFloatLinearAvailable){const t=[];let r="";for(const s of e.layer.variables)"Float32"===s.renderingFormat.type&&(t.push(s.name),s.id===e.layer.currentVariableId&&(r=s.name));""!==r&&T.error("#addVoxelLayer_error()",e.layer,`The voxel layer '${e.layer.title}' cannot render the current variable '${r}' in this browser`),t.length>0&&T.warn("#addVoxelLayer_warning()",e.layer,`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in this browser`)}return has("esri-mobile")&&T.warnOnce("Mobile support differs across devices. Voxel layer might not display as expected."),r}return-1}prepareRender(e){if(!this._vxl)return;const t=e.bindParameters.camera.viewForward,r=e.bindParameters.camera.eye;this._vxl.update_camera_pos_and_direction(r[0],r[1],r[2],t[0],t[1],t[2]);const s=this._vxl.cull();this._dbg(w.RequestResponse,"missingResourceCount="+s),this._moreToLoad=s>0,this._havePreparedWithAllLayers=0===this._newLayers.length,this._updateMemoryUsage()}render(e){if(!this._vxl||e.pass!==this._renderPass||e.bindParameters.slot!==this._renderSlot)return;for(const r of this._newLayers){const e=this._addVoxelLayer(r.layerView);-1===e?r.rejectCallback(-1):r.resolveCallback(e)}if(this._newLayers=[],0===this._layers.size)return void this._dbg(w.Error,"No voxel layers but RenderPlugin instance is being asked to render!");this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()},this._syncRequestsResponses(),this._lastFrameWasStationary=this._view.stationary,this._rctx.setPolygonOffsetFillEnabled(!1),this._rctx.setScissorTestEnabled(!1),this._rctx.setColorMask(!0,!0,!0,!0),this._vxl.begin_color_frame(!this._view.stationary||this._moreToLoad,e.bindParameters.lighting.lightingMainDirection[0],e.bindParameters.lighting.lightingMainDirection[1],e.bindParameters.lighting.lightingMainDirection[2]);const t=this._renderTargetToRestore.viewport;t.width===this._viewportWidth&&t.height===this._viewportHeight||(this._viewportWidth=t.width,this._viewportHeight=t.height,this._vxl.set_viewport(t.width,t.height),this._layers.forEach((e=>{e.needMemoryUsageUpdate=!0}))),0===t.x&&0===t.y||this._dbg(w.Error,"Unsupported viewport parameters detected!"),this.updateWasmCamera(e.bindParameters.camera),this._captureFrustum&&(this._frustum.update(e.bindParameters.camera),this._doCaptureFrustum()),this._vxl.draw(),this._renderTargetToRestore.fbo=null,e.rctx.externalTextureUnitUpdate(this._vxl.get_texture_units_bound_in_frame(),this._vxl.get_active_texture_unit()),e.rctx.externalVertexArrayObjectUpdate(),e.rctx.externalVertexBufferUpdate(),this._rctx.externalProgramUpdate(),(this._moreToLoad||!this._havePreparedWithAllLayers&&this._layers.size>0)&&this._renderPluginContext.requestRender()}destroy(){this._dbg(w.Lifetime,"--destroy--"),this._removeRenderPlugin(),this._readyWatchHandle=s(this._readyWatchHandle),this._qualityWatchHandle=s(this._qualityWatchHandle),this._timeExtentWatchHandle=s(this._timeExtentWatchHandle),this._stationaryWatchHandle=s(this._stationaryWatchHandle),this._vxl&&(this._layers.forEach((e=>{e.abortController.abort()})),this._wasmMemBlocks.forEach((e=>{0!==e&&this._vxl._free(e)})),this._vxl.uninitialize_voxel_wasm(),this._vxl=null)}_initializeWasm(e){return this._vxl?Promise.resolve():(this._vxlPromise||(this._vxlPromise=u(e).then((e=>{if(this._vxl=e,this._vxlPromise=null,this._newLayers.length<=0)return this._dbg(w.Lifetime," no voxel layers left after WASM downloaded, removing RenderPlugin and destroying"),void this.destroy();const t=this._getTimeArgs(this._view?.timeExtent),r=this._vxl.addFunction(this._restoreFramebuffer.bind(this),"v"),s=this._vxl.addFunction(this._setBlendState.bind(this),"viiii"),i=this._vxl.addFunction(this._setFrontFace.bind(this),"vi"),a=this._vxl.addFunction(this._setRasterizerState.bind(this),"vi"),n=this._vxl.addFunction(this._setDepthStencilStateFunction.bind(this),"viii"),o=this._vxl.addFunction(this._setViewport.bind(this),"viiii"),l=this._vxl.addFunction(this._bindPreviousDepthToSlot.bind(this),"iii"),h=this._vxl.addFunction(this._modifyResourceCount.bind(this),"viii"),_=this._halfIntTexturesAvailable&&!has("mac"),d=this._textureFloatLinearAvailable;this._vxl.initialize_voxel_wasm(r,s,i,a,n,o,l,h,t.startTime,t.endTime,t.useTime,_,d),this._renderPluginContext&&this._renderPluginContext.requestRender()})).catch((()=>{for(const e of this._newLayers)e.rejectCallback(-2);this._dbg(w.Error," WASM failed to download, removing RenderPlugin and destroying"),this.destroy()}))),this._vxlPromise)}pickDepth(e,t,r){if(!this._vxl||!this._rctx||0===this._layers.size)return null;const s=r.viewport[3]-t;if(e<0||e>r.viewport[2]||t<0||t>r.viewport[3])return this._dbg(w.Error,`pickDepth: outOfRange, screenXY=[${e}, ${s}], vp=[${r.viewport.toString()}]`),null;this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()};const i=r.viewForward,a=r.eye;this._vxl.update_camera_pos_and_direction(a[0],a[1],a[2],i[0],i[1],i[2]),this.updateWasmCamera(r),this._vxl.begin_frame();const n=this._vxl.pick_depth(e,s);if(this._renderTargetToRestore.fbo=null,this._rctx.externalTextureUnitUpdate(this._vxl.get_texture_units_bound_in_frame(),this._vxl.get_active_texture_unit()),this._rctx.externalVertexArrayObjectUpdate(),this._rctx.externalVertexBufferUpdate(),this._rctx.externalProgramUpdate(),n.success){return n.distanceToCamera}return null}_toWasmQuality(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}}export{R as default};
5
+ import e from"../request.js";import has from"../core/has.js";import t from"../core/Logger.js";import{isSome as r,removeMaybe as s}from"../core/maybe.js";import{isAbortError as i}from"../core/promiseUtils.js";import{watch as a}from"../core/reactiveUtils.js";import{renderSRFromViewSR as n}from"../geometry/support/coordinateSystem.js";import{PointIndex as o,PlaneIndex as l}from"../geometry/support/frustum.js";import{WasmCullMode as h,VoxelRequestType as _,UpdateFlags as d}from"../libs/vxl/enums.js";import{loadVoxelWASM as u}from"../libs/vxl/VxlModule.js";import{ViewingMode as c}from"../views/ViewingMode.js";import{Frustum as m}from"../views/3d/state/Frustum.js";import{RenderCoordsHelper as g}from"../views/3d/support/RenderCoordsHelper.js";import{ShaderOutput as x}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{RenderSlot as f}from"../views/3d/webgl-engine/lib/RenderSlot.js";import{ContextType as p}from"../views/webgl/context-util.js";import{CompareFunction as v,Face as y,StencilOperation as b}from"../views/webgl/enums.js";const T=t.getLogger("esri.layers.VoxelWasmPerSceneView");var w;!function(e){e[e.Lifetime=1]="Lifetime",e[e.RequestResponse=2]="RequestResponse",e[e.Rendering=3]="Rendering",e[e.Error=4]="Error"}(w||(w={}));class R{constructor(e){this._halfIntTexturesAvailable=!1,this._textureFloatLinearAvailable=!1,this._havePreparedWithAllLayers=!1,this._renderPluginContext=null,this._vxl=null,this._pluginIsActive=!1,this._moreToLoad=!1,this._viewportWidth=-1,this._viewportHeight=-1,this._newLayers=[],this._layers=new Map,this._shaderOutput=x.Color,this._renderSlot=f.VOXEL,this._rctx=null,this._renderTargetToRestore=null,this._lastFrameWasStationary=!1,this._wasmMemBlockSizes=[512,1024,2048,4096,8192,16384,32768,65536],this._wasmMemBlocks=new Map,this._dbgFlags=new Set,this._captureFrustum=!1,this._frustum=null,this._frustumRenderableId=-1,this._renderCoordsHelper=null,this._view=e,this._initialize()}get canRender(){return!!this._vxl&&"local"===this._view.viewingMode}_dbg(e,t){this._dbgFlags.has(e)&&(e===w.Error?T.error(t):T.warn(t))}_removeRenderPlugin(){this._pluginIsActive&&this._view._stage&&(this._dbg(w.Lifetime,"--removeRenderPlugin--"),this._view._stage.removeRenderPlugin(this)),this._pluginIsActive=!1}_initialize(){this._dbg(w.Lifetime,"--initialize--");for(const e of this._wasmMemBlockSizes)this._wasmMemBlocks.set(e,0);this._readyWatchHandle=a((()=>this._view.ready),(e=>{e&&"local"===this._view.viewingMode?(this._dbg(w.Lifetime,"view ready status changed to ready on a local view, calling addRenderPlugin"),this._view._stage.addRenderPlugin([this._renderSlot],this),this._pluginIsActive=!0):(this._dbg(w.Lifetime,"view ready status changed, not ready or not a local view!"),this._removeRenderPlugin())}),{initial:!0}),this._qualityWatchHandle=a((()=>this._view?.qualityProfile),(e=>{this._dbg(w.Rendering,"qualityProfile changed to "+e),this._vxl&&this._vxl.set_quality(this._toWasmQuality(e))}),{initial:!0}),this._timeExtentWatchHandle=a((()=>this._view?.timeExtent),(()=>{if(this._vxl){const e=this._getTimeArgs(this._view?.timeExtent);this._dbg(w.Rendering,"sceneView timeExtent changed to useTime="+e.useTime+" st="+e.startTime+" et="+e.endTime),this._vxl.set_scene_time_extent(e.startTime,e.endTime,e.useTime),this._renderPluginContext.requestRender()}}),{initial:!0}),this._stationaryWatchHandle=a((()=>this._view?.stationary),(e=>{this._vxl&&e&&!this._lastFrameWasStationary&&this._renderPluginContext.requestRender()}))}initializeRenderContext(e){this._dbg(w.Lifetime,"--initializeRenderContext--");const t=e.renderContext.rctx;t.type===p.WEBGL2?(this._renderPluginContext=e,this._rctx=e.renderContext.rctx,this._halfIntTexturesAvailable=!!this._rctx.capabilities.textureNorm16,this._textureFloatLinearAvailable=this._rctx.capabilities.textureFloatLinear,this._initializeWasm(t.gl)):this._dbg(w.Error,"WebGL 1 context only!")}uninitializeRenderContext(){this._renderPluginContext=null,this._rctx=null,this._dbg(w.Lifetime,"--uninitializeRenderContext--")}_restoreFramebuffer(){if(!this._renderTargetToRestore)return;const e=this._renderTargetToRestore.fbo;if(!!!this._rctx)return void this._dbg(w.Error,"no context in restoreFramebuffer!");this._rctx.bindFramebuffer(e,!0);const t=this._renderTargetToRestore.viewport;this._rctx.setViewport(t.x,t.y,t.width,t.height)}_bindPreviousDepthToSlot(e,t){const r=!!this._rctx,s=!!this._renderTargetToRestore;if(!r||!s)return 0;const i=this._renderTargetToRestore.fbo.depthStencilTexture;return i?(0===t?this._rctx.bindTexture(null,e,!0):this._rctx.bindTexture(i,e,!0),1):(this._dbg(w.Error,"no depth/stencil texture exists!"),0)}_modifyResourceCount(e,t,r){if(!this._rctx)return void this._dbg(w.Error,"modifyAllocation callback has no rendering context!");const s=e;1===r?this._rctx.instanceCounter.increment(s,t):this._rctx.instanceCounter.decrement(s,t)}_setBlendState(e,t,r,s){this._rctx?(this._rctx.setBlendingEnabled(1===e),this._rctx.setBlendFunction(t,r),this._rctx.setBlendEquation(s)):this._dbg(w.Error,"setBlendState callback has no rendering context!")}_setFrontFace(e){this._rctx?this._rctx.setFrontFace(e):this._dbg(w.Error,"setFrontFace callback has no rendering context!")}_setDepthStencilStateFunction(e,t,r){this._rctx?(this._rctx.setDepthFunction(r),this._rctx.setDepthTestEnabled(1===e),this._rctx.setDepthWriteEnabled(1===t),this._rctx.setStencilTestEnabled(!1),this._rctx.setStencilFunction(v.ALWAYS,0,255),this._rctx.setStencilOpSeparate(y.FRONT,b.KEEP,b.INCR,b.KEEP),this._rctx.setStencilOpSeparate(y.BACK,b.KEEP,b.DECR,b.KEEP)):this._dbg(w.Error,"setDepthStencilStateFunction callback has no rendering context!")}_setRasterizerState(e){if(this._rctx)switch(e){case h.None:this._rctx.setFaceCullingEnabled(!1);break;case h.Back:this._rctx.setCullFace(y.BACK),this._rctx.setFaceCullingEnabled(!0);break;case h.Front:this._rctx.setCullFace(y.FRONT),this._rctx.setFaceCullingEnabled(!0)}else this._dbg(w.Error,"setRasterizerState callback has no rendering context!")}_setViewport(e,t,r,s){this._rctx?this._rctx.setViewport(e,t,r,s):this._dbg(w.Error,"setViewport callback has no rendering context!")}_updateMemoryUsage(){this._layers.forEach(((e,t)=>{if(e.needMemoryUsageUpdate){const r=this._vxl.estimate_memory_usage(t);r>=0&&(e.needMemoryUsageUpdate=!1,e.layerView.setUsedMemory(r))}}))}_syncRequestsResponses(){this._layers.forEach(((t,r)=>{const s=[];t.responses.forEach(((e,i)=>{s.push(i),this._dbg(w.RequestResponse,"responding for requestID:"+i+" size:"+e.size),this._vxl.respond(r,i,e),e.requestType!==_.TreeIndex&&e.requestType!==_.Section||(t.needMemoryUsageUpdate=!0)}));const a=t.responses;for(const e of s)a.delete(e);const n=this._vxl.get_new_requests(r),o=t.abortController.signal;for(const l in n){t.outstandingRequestCount+=1,1===t.outstandingRequestCount&&t.layerView.updatingFlagChanged();const r=n[l],s={responseType:"array-buffer",signal:o};this._dbg(w.RequestResponse,"making requestID:"+l+" url:"+r.url),e(r.url,s).then((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),this._dbg(w.RequestResponse,"have response for requestID:"+l);let s=0;if(e.data.byteLength>0){s=this._vxl._malloc(e.data.byteLength);const t=new Uint8Array(this._vxl.HEAPU8.buffer,s,e.data.byteLength),r=new Uint8Array(e.data);for(let s=0;s<e.data.byteLength;++s)t[s]=r[s]}a.set(+l,{responseType:r.responseType,ptr:s,size:e.data.byteLength,success:!0,requestType:r.requestType})})).catch((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),i(e)||(this._dbg(w.Error,`requestID:${l} failed, error=${e.toString()}`),a.set(+l,{responseType:r.responseType,ptr:0,size:0,success:!1,requestType:r.requestType}))}))}}))}updateWasmCamera(e){this._vxl.set_projection_matrix.apply(this._vxl,e.projectionMatrix),this._vxl.set_view_matrix.apply(this._vxl,e.viewMatrix),this._vxl.set_near_far(e.near,e.far)}isUpdating(e){return!(this._vxl||!this._vxlPromise)||!!this._layers.has(e)&&this._layers.get(e).outstandingRequestCount>0}setEnabled(e,t){this._layers.forEach(((r,s)=>{r.layerView.wasmLayerId===e.wasmLayerId&&(this._vxl.set_enabled(s,t),r.needMemoryUsageUpdate=!0,this._renderPluginContext.requestRender())}))}setSlices(e,t){const r={mask:d.Slices,slices:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,r,!0)}setDynamicSections(e,t){const r={mask:d.DynamicSections,dynamicSections:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,r,!0)}setStaticSections(e,t){const r={mask:d.StaticSections,staticSections:t};return this._doMaskedUIUpdate(e,r,!0)}setCurrentVariable(e,t){const r={mask:d.CurrentVariable,currentVariable:t};return this._doMaskedUIUpdate(e,r,!0)}setRenderMode(e,t){const r={mask:d.RenderMode,renderMode:t};return this._doMaskedUIUpdate(e,r,!0)}setVerticalExaggerationAndOffset(e,t,r,s){const i={mask:d.ExaggerationAndOffset,volStyleDesc:{volumeId:t,verticalExaggeration:r,verticalOffset:s}};return this._doMaskedUIUpdate(e,i,!0)}_doMaskedUIUpdate(e,t,r){if(!this._vxl)return!1;let s=!1;return this._layers.forEach(((r,i)=>{if(r.layerView.wasmLayerId===e.wasmLayerId){const e={str:JSON.stringify(t),byteCount:0,ptr:0,isReusable:!1};this._allocateBlock(e)&&(s=1===this._vxl.handle_masked_ui_update(i,e.ptr,e.byteCount),e.isReusable||this._vxl._free(e.ptr))}})),s&&r&&this._renderPluginContext.requestRender(),s}_addTriangleToWasmBuffer(e,t,r,s,i){return e[3*t+0]=r[0],e[3*t+1]=r[1],e[3*t+2]=r[2],e[3*(t+=1)+0]=s[0],e[3*t+1]=s[1],e[3*t+2]=s[2],e[3*(t+=1)+0]=i[0],e[3*t+1]=i[1],e[3*t+2]=i[2],t+=1}_addNormalToWasmBuffer(e,t,r){return e[3*t+0]=r[0],e[3*t+1]=r[1],e[3*t+2]=r[2],t+=1}_doCaptureFrustum(){if(!this._vxl)return;const e=36,t=e/3,r=this._vxl._malloc(3*e*Float32Array.BYTES_PER_ELEMENT),s=new Float32Array(this._vxl.HEAPF32.buffer,r,3*e),i=this._vxl._malloc(3*t*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(this._vxl.HEAPF32.buffer,i,e),n=this._frustum.points[o.NEAR_BOTTOM_LEFT],h=this._frustum.points[o.NEAR_BOTTOM_RIGHT],_=this._frustum.points[o.NEAR_TOP_RIGHT],d=this._frustum.points[o.NEAR_TOP_LEFT],u=this._frustum.points[o.FAR_BOTTOM_LEFT],c=this._frustum.points[o.FAR_BOTTOM_RIGHT],m=this._frustum.points[o.FAR_TOP_RIGHT],g=this._frustum.points[o.FAR_TOP_LEFT];let x=0,f=0;const p=this._frustum.planes[l.NEAR];x=this._addTriangleToWasmBuffer(s,x,_,h,n),f=this._addNormalToWasmBuffer(a,f,p),x=this._addTriangleToWasmBuffer(s,x,n,d,_),f=this._addNormalToWasmBuffer(a,f,p);const v=this._frustum.planes[l.FAR];x=this._addTriangleToWasmBuffer(s,x,u,c,m),f=this._addNormalToWasmBuffer(a,f,v),x=this._addTriangleToWasmBuffer(s,x,m,g,u),f=this._addNormalToWasmBuffer(a,f,v);const y=this._frustum.planes[l.TOP];x=this._addTriangleToWasmBuffer(s,x,m,_,d),f=this._addNormalToWasmBuffer(a,f,y),x=this._addTriangleToWasmBuffer(s,x,d,g,m),f=this._addNormalToWasmBuffer(a,f,y);const b=this._frustum.planes[l.BOTTOM];x=this._addTriangleToWasmBuffer(s,x,n,h,c),f=this._addNormalToWasmBuffer(a,f,b),x=this._addTriangleToWasmBuffer(s,x,c,u,n),f=this._addNormalToWasmBuffer(a,f,b);const T=this._frustum.planes[l.LEFT];x=this._addTriangleToWasmBuffer(s,x,d,n,u),f=this._addNormalToWasmBuffer(a,f,T),x=this._addTriangleToWasmBuffer(s,x,u,g,d),f=this._addNormalToWasmBuffer(a,f,T);const w=this._frustum.planes[l.RIGHT];x=this._addTriangleToWasmBuffer(s,x,_,m,c),f=this._addNormalToWasmBuffer(a,f,w),x=this._addTriangleToWasmBuffer(s,x,c,h,_),f=this._addNormalToWasmBuffer(a,f,w),-1!==this._frustumRenderableId&&this._vxl.remove_generic_mesh(this._frustumRenderableId),this._frustumRenderableId=this._vxl.add_generic_mesh(r,3*e,i,e,255,0,0,64),this._vxl._free(r),this._vxl._free(i),this._captureFrustum=!1,this._renderPluginContext.requestRender()}captureFrustum(){null===this._renderCoordsHelper&&(this._renderCoordsHelper=g.create(c.Local,n(!1,this._view.spatialReference))),null===this._frustum&&(this._frustum=new m(this._renderCoordsHelper)),this._captureFrustum=!0,null!==this._renderPluginContext&&this._renderPluginContext.requestRender()}toggleFullVolumeExtentDraw(e){this._vxl&&this._layers.forEach(((t,r)=>{t.layerView.wasmLayerId===e.wasmLayerId&&(this._vxl.toggle_full_volume_extent_draw(r),this._renderPluginContext.requestRender())}))}addVoxelLayer(e){if(!this._vxl){const t={layerView:e,resolveCallback:null,rejectCallback:null},r=new Promise(((e,r)=>{t.resolveCallback=e,t.rejectCallback=r}));return this._newLayers.push(t),r}const t=this._addVoxelLayer(e);return t<0?Promise.reject(-1):Promise.resolve(t)}removeVoxelLayer(e){if(!this._vxl){const t=this._newLayers.findIndex((t=>e.uid===t.layerView.uid));t>=0&&(this._newLayers[t].resolveCallback(-1),this._newLayers.splice(t,1));const r=this._newLayers.length;return 0===r&&(this._dbg(w.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),r}let t=-1;this._layers.forEach(((r,s)=>{r.layerView.wasmLayerId===e.wasmLayerId&&(t=s,r.abortController.abort(),this._vxl.remove_layer(t))})),t>=0&&this._layers.delete(t);const r=this._layers.size;return 0===r&&(this._dbg(w.Lifetime," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),r}_getBlockSize(e){for(const t of this._wasmMemBlockSizes)if(e<t)return t;return-1}_allocateBlock(e){e.byteCount=this._vxl.lengthBytesUTF8(e.str)+1;const t=this._getBlockSize(e.byteCount);return t<0?(e.isReusable=!1,e.ptr=this._vxl._malloc(e.byteCount)):(e.isReusable=!0,e.ptr=this._wasmMemBlocks.get(t),0===e.ptr&&(e.ptr=this._vxl._malloc(t),this._wasmMemBlocks.set(t,e.ptr))),0!==e.ptr&&(this._vxl.stringToUTF8(e.str,e.ptr,e.byteCount),!0)}_getTimeArgs(e){let t=-Number.MAX_VALUE,s=Number.MAX_VALUE,i=!1;return r(e)&&(e.isAllTime?i=!0:(r(e.start)&&(i=!0,t=e.start.getTime()/1e3),r(e.end)&&(i=!0,s=e.end.getTime()/1e3))),{startTime:t,endTime:s,useTime:i}}_addVoxelLayer(e){const t=e.layer;let r=-1;const s=t.getConfiguration();if(s.length<1)return-1;const i={str:s,byteCount:0,ptr:0,isReusable:!1};if(!this._allocateBlock(i))return-1;const a=this._getTimeArgs(this._view?.timeExtent),n=this._view.spatialReference.isWGS84&&t.spatialReference.isWGS84?111319.49079327357:1;if(r=this._vxl.add_layer(t.serviceRoot,i.ptr,i.byteCount,n,n,a.startTime,a.endTime,a.useTime,this._toWasmQuality(this._view.qualityProfile)),i.isReusable||this._vxl._free(i.ptr),r>=0){const t=new AbortController;if(this._layers.set(r,{layerView:e,responses:new Map,outstandingRequestCount:0,abortController:t,needMemoryUsageUpdate:!1}),!this._halfIntTexturesAvailable||has("mac")){const t=[];let r="";for(const s of e.layer.variables)"Int16"!==s.renderingFormat.type&&"UInt16"!==s.renderingFormat.type||(t.push(s.name),s.id===e.layer.currentVariableId&&(r=s.name));""!==r&&T.error("#addVoxelLayer_error()",e.layer,`The voxel layer '${e.layer.title}' cannot render the current variable '${r}' in this browser`),t.length>0&&T.warn("#addVoxelLayer_warning()",e.layer,`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in this browser`)}if(!this._textureFloatLinearAvailable){const t=[];let r="";for(const s of e.layer.variables)"Float32"===s.renderingFormat.type&&(t.push(s.name),s.id===e.layer.currentVariableId&&(r=s.name));""!==r&&T.error("#addVoxelLayer_error()",e.layer,`The voxel layer '${e.layer.title}' cannot render the current variable '${r}' in this browser`),t.length>0&&T.warn("#addVoxelLayer_warning()",e.layer,`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in this browser`)}return has("esri-mobile")&&T.warnOnce("Mobile support differs across devices. Voxel layer might not display as expected."),r}return-1}prepareRender(e){if(!this._vxl)return;const t=e.bindParameters.camera.viewForward,r=e.bindParameters.camera.eye;this._vxl.update_camera_pos_and_direction(r[0],r[1],r[2],t[0],t[1],t[2]);const s=this._vxl.cull();this._dbg(w.RequestResponse,"missingResourceCount="+s),this._moreToLoad=s>0,this._havePreparedWithAllLayers=0===this._newLayers.length,this._updateMemoryUsage()}render(e){if(!this._vxl||e.output!==this._shaderOutput||e.bindParameters.slot!==this._renderSlot)return;for(const r of this._newLayers){const e=this._addVoxelLayer(r.layerView);-1===e?r.rejectCallback(-1):r.resolveCallback(e)}if(this._newLayers=[],0===this._layers.size)return void this._dbg(w.Error,"No voxel layers but RenderPlugin instance is being asked to render!");this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()},this._syncRequestsResponses(),this._lastFrameWasStationary=this._view.stationary,this._rctx.setPolygonOffsetFillEnabled(!1),this._rctx.setScissorTestEnabled(!1),this._rctx.setColorMask(!0,!0,!0,!0),this._vxl.begin_color_frame(!this._view.stationary||this._moreToLoad,e.bindParameters.lighting.lightingMainDirection[0],e.bindParameters.lighting.lightingMainDirection[1],e.bindParameters.lighting.lightingMainDirection[2]);const t=this._renderTargetToRestore.viewport;t.width===this._viewportWidth&&t.height===this._viewportHeight||(this._viewportWidth=t.width,this._viewportHeight=t.height,this._vxl.set_viewport(t.width,t.height),this._layers.forEach((e=>{e.needMemoryUsageUpdate=!0}))),0===t.x&&0===t.y||this._dbg(w.Error,"Unsupported viewport parameters detected!"),this.updateWasmCamera(e.bindParameters.camera),this._captureFrustum&&(this._frustum.update(e.bindParameters.camera),this._doCaptureFrustum()),this._vxl.draw(),this._renderTargetToRestore.fbo=null,e.rctx.externalTextureUnitUpdate(this._vxl.get_texture_units_bound_in_frame(),this._vxl.get_active_texture_unit()),e.rctx.externalVertexArrayObjectUpdate(),e.rctx.externalVertexBufferUpdate(),this._rctx.externalProgramUpdate(),(this._moreToLoad||!this._havePreparedWithAllLayers&&this._layers.size>0)&&this._renderPluginContext.requestRender()}destroy(){this._dbg(w.Lifetime,"--destroy--"),this._removeRenderPlugin(),this._readyWatchHandle=s(this._readyWatchHandle),this._qualityWatchHandle=s(this._qualityWatchHandle),this._timeExtentWatchHandle=s(this._timeExtentWatchHandle),this._stationaryWatchHandle=s(this._stationaryWatchHandle),this._vxl&&(this._layers.forEach((e=>{e.abortController.abort()})),this._wasmMemBlocks.forEach((e=>{0!==e&&this._vxl._free(e)})),this._vxl.uninitialize_voxel_wasm(),this._vxl=null)}_initializeWasm(e){return this._vxl?Promise.resolve():(this._vxlPromise||(this._vxlPromise=u(e).then((e=>{if(this._vxl=e,this._vxlPromise=null,this._newLayers.length<=0)return this._dbg(w.Lifetime," no voxel layers left after WASM downloaded, removing RenderPlugin and destroying"),void this.destroy();const t=this._getTimeArgs(this._view?.timeExtent),r=this._vxl.addFunction(this._restoreFramebuffer.bind(this),"v"),s=this._vxl.addFunction(this._setBlendState.bind(this),"viiii"),i=this._vxl.addFunction(this._setFrontFace.bind(this),"vi"),a=this._vxl.addFunction(this._setRasterizerState.bind(this),"vi"),n=this._vxl.addFunction(this._setDepthStencilStateFunction.bind(this),"viii"),o=this._vxl.addFunction(this._setViewport.bind(this),"viiii"),l=this._vxl.addFunction(this._bindPreviousDepthToSlot.bind(this),"iii"),h=this._vxl.addFunction(this._modifyResourceCount.bind(this),"viii"),_=this._halfIntTexturesAvailable&&!has("mac"),d=this._textureFloatLinearAvailable;this._vxl.initialize_voxel_wasm(r,s,i,a,n,o,l,h,t.startTime,t.endTime,t.useTime,_,d),this._renderPluginContext&&this._renderPluginContext.requestRender()})).catch((()=>{for(const e of this._newLayers)e.rejectCallback(-2);this._dbg(w.Error," WASM failed to download, removing RenderPlugin and destroying"),this.destroy()}))),this._vxlPromise)}pickDepth(e,t,r){if(!this._vxl||!this._rctx||0===this._layers.size)return null;const s=r.viewport[3]-t;if(e<0||e>r.viewport[2]||t<0||t>r.viewport[3])return this._dbg(w.Error,`pickDepth: outOfRange, screenXY=[${e}, ${s}], vp=[${r.viewport.toString()}]`),null;this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()};const i=r.viewForward,a=r.eye;this._vxl.update_camera_pos_and_direction(a[0],a[1],a[2],i[0],i[1],i[2]),this.updateWasmCamera(r),this._vxl.begin_frame();const n=this._vxl.pick_depth(e,s);if(this._renderTargetToRestore.fbo=null,this._rctx.externalTextureUnitUpdate(this._vxl.get_texture_units_bound_in_frame(),this._vxl.get_active_texture_unit()),this._rctx.externalVertexArrayObjectUpdate(),this._rctx.externalVertexBufferUpdate(),this._rctx.externalProgramUpdate(),n.success){return n.distanceToCamera}return null}_toWasmQuality(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}}export{R as default};