@arcgis/core 4.22.0-next.20211021 → 4.22.0-next.20211025

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 (440) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/00ac1ce56f9885a8be83.js +1 -0
  3. package/assets/esri/core/workers/chunks/01c9afe41ab4ccc597c9.js +1 -0
  4. package/assets/esri/core/workers/chunks/02a3d14adc504a51fa24.js +1 -0
  5. package/assets/esri/core/workers/chunks/035a9ab0202d5386b782.js +1 -0
  6. package/assets/esri/core/workers/chunks/062bace5505f13689c7d.js +1 -0
  7. package/assets/esri/core/workers/chunks/06c7745d813bcb540ce8.js +1 -0
  8. package/assets/esri/core/workers/chunks/0950b488a60b2abc21fc.js +1 -0
  9. package/assets/esri/core/workers/chunks/0af396f2e0de681113ef.js +1 -0
  10. package/assets/esri/core/workers/chunks/131838059f0f81d8eaee.js +1 -0
  11. package/assets/esri/core/workers/chunks/146cba0d172ec2f4eba2.js +1 -0
  12. package/assets/esri/core/workers/chunks/17e49c0dfa5a5a6213e2.js +1 -0
  13. package/assets/esri/core/workers/chunks/1a0b08190274725dc956.js +1 -0
  14. package/assets/esri/core/workers/chunks/1add7f0779accdf8d204.js +1 -0
  15. package/assets/esri/core/workers/chunks/20b81d11e6286d347bfc.js +1 -0
  16. package/assets/esri/core/workers/chunks/{e596bd3de960d1dc1c57.js → 2207580a78ee292ed9b8.js} +1 -1
  17. package/assets/esri/core/workers/chunks/2d3646a83465c75986f9.js +1 -0
  18. package/assets/esri/core/workers/chunks/2d38ee3ef3ebe32a1194.js +1 -0
  19. package/assets/esri/core/workers/chunks/3737dcc3c0dea3ca05d5.js +1 -0
  20. package/assets/esri/core/workers/chunks/3e2042e70647c1afa6aa.js +1 -0
  21. package/assets/esri/core/workers/chunks/3ebfaab2855a2236a95d.js +1 -0
  22. package/assets/esri/core/workers/chunks/{d6fe616192a8efbfbc3e.js → 440f8101402a4c0d7019.js} +1 -1
  23. package/assets/esri/core/workers/chunks/4587d770767966985e22.js +1 -0
  24. package/assets/esri/core/workers/chunks/487b8892fae85810a8c0.js +1 -0
  25. package/assets/esri/core/workers/chunks/4901a78f32c3ea6b823b.js +1 -0
  26. package/assets/esri/core/workers/chunks/496fe47fc4d28e1a716d.js +1 -0
  27. package/assets/esri/core/workers/chunks/{9f22f47d4b2e72d7bdcf.js → 4c010119c24510ea31bb.js} +2 -2
  28. package/assets/esri/core/workers/chunks/{9f22f47d4b2e72d7bdcf.js.LICENSE.txt → 4c010119c24510ea31bb.js.LICENSE.txt} +0 -0
  29. package/assets/esri/core/workers/chunks/4f5076e1f2b18ce8156d.js +1 -0
  30. package/assets/esri/core/workers/chunks/{f291ebc4b089bd1f0a3f.js → 50e86a6bb13042b1dbac.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{64d9a062c1f1ac08a3ac.js → 565020b1c02a8cb33c2b.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{d78c60a22f76df7c48c7.js → 59640d78295e2e363f18.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{a0356f320a1b2fbd03f0.js → 5ac2b2598245aa17cdbd.js} +1 -1
  34. package/assets/esri/core/workers/chunks/5b4a8cce5601cc92c8a3.js +1 -0
  35. package/assets/esri/core/workers/chunks/5b92d5d4049622531109.js +1 -0
  36. package/assets/esri/core/workers/chunks/{751c1a2838b54a74a9a6.js → 5f3caa0ddb215342c728.js} +2 -2
  37. package/assets/esri/core/workers/chunks/615e995d5ce8fa044b09.js +1 -0
  38. package/assets/esri/core/workers/chunks/62a2453699e0dd2393b9.js +1 -0
  39. package/assets/esri/core/workers/chunks/67013547be1a7ae1670a.js +1 -0
  40. package/assets/esri/core/workers/chunks/67eddf4808f8888faeb4.js +1 -0
  41. package/assets/esri/core/workers/chunks/695dbedff2340aa019ba.js +1 -0
  42. package/assets/esri/core/workers/chunks/6a7e388c94206d2f61ff.js +1 -0
  43. package/assets/esri/core/workers/chunks/6e22b69d55e791ab3d9a.js +1 -0
  44. package/assets/esri/core/workers/chunks/71e6c0c5ef0aa7eb1703.js +1 -0
  45. package/assets/esri/core/workers/chunks/7a74e230439c5111f852.js +1 -0
  46. package/assets/esri/core/workers/chunks/7e76a8e6fa67e607d09e.js +1 -0
  47. package/assets/esri/core/workers/chunks/7fe4985ca0cb3e6d35c6.js +1 -0
  48. package/assets/esri/core/workers/chunks/8027330714ff5ffb020e.js +1 -0
  49. package/assets/esri/core/workers/chunks/844b564d1a422a17f6ac.js +1 -0
  50. package/assets/esri/core/workers/chunks/856f9281a08cb032238e.js +1 -0
  51. package/assets/esri/core/workers/chunks/89b4983de872780e9aa1.js +1 -0
  52. package/assets/esri/core/workers/chunks/8f3bc0cd2c2b01ab80cd.js +1 -0
  53. package/assets/esri/core/workers/chunks/8fd912e325ccd48b98a9.js +1 -0
  54. package/assets/esri/core/workers/chunks/901907a5c01f0fd1478f.js +1 -0
  55. package/assets/esri/core/workers/chunks/92a0b88a14c92239df8a.js +1 -0
  56. package/assets/esri/core/workers/chunks/972e9aeb3c29c9bf441a.js +1 -0
  57. package/assets/esri/core/workers/chunks/9758c34ce61c3714515a.js +1 -0
  58. package/assets/esri/core/workers/chunks/{457ea4feaa006d60c6b1.js → 9a04d087a29f0f3937a3.js} +1 -1
  59. package/assets/esri/core/workers/chunks/9b0bb171224b35ce2031.js +1 -0
  60. package/assets/esri/core/workers/chunks/9cbe7afdaef8720dfc8d.js +1 -0
  61. package/assets/esri/core/workers/chunks/9ccde5b6562f0007fe45.js +1 -0
  62. package/assets/esri/core/workers/chunks/9d320bbeedeea15522ab.js +1 -0
  63. package/assets/esri/core/workers/chunks/a001b3b4527817548094.js +1 -0
  64. package/assets/esri/core/workers/chunks/{197b72bca45065e0eb4a.js → a0c580d4a1915ddd3fe4.js} +1 -1
  65. package/assets/esri/core/workers/chunks/a4a9c15929b43d83701f.js +1 -0
  66. package/assets/esri/core/workers/chunks/a54d11f44721f808b82f.js +1 -0
  67. package/assets/esri/core/workers/chunks/a646a11673d513c00e7a.js +1 -0
  68. package/assets/esri/core/workers/chunks/a792e2bc7cafdc29f05e.js +1 -0
  69. package/assets/esri/core/workers/chunks/acae1771697034f265b1.js +1 -0
  70. package/assets/esri/core/workers/chunks/af2ee804a9c63eea610c.js +1 -0
  71. package/assets/esri/core/workers/chunks/b28b487047da3aeef3fd.js +1 -0
  72. package/assets/esri/core/workers/chunks/b3e57824a5855cb37a96.js +1 -0
  73. package/assets/esri/core/workers/chunks/b89449ead32e4cd21edd.js +1 -0
  74. package/assets/esri/core/workers/chunks/b99891ed5a02cab02173.js +1 -0
  75. package/assets/esri/core/workers/chunks/bac84bc621be73a7a4bc.js +1 -0
  76. package/assets/esri/core/workers/chunks/{25037dcf8a0c72b7b647.js → bbe068388167e9dd0c11.js} +1 -1
  77. package/assets/esri/core/workers/chunks/c271a1857bcc4e9a36dd.js +1 -0
  78. package/assets/esri/core/workers/chunks/{eb3035e49a45ecc82575.js → c5030664720fcdc6d85e.js} +1 -1
  79. package/assets/esri/core/workers/chunks/c534ed122f8a1202d3a3.js +1 -0
  80. package/assets/esri/core/workers/chunks/c5ef2e28b0c539ddb6a7.js +1 -0
  81. package/assets/esri/core/workers/chunks/c65e5ccfae03d148d82b.js +1 -0
  82. package/assets/esri/core/workers/chunks/c91660f3982be4e03705.js +1 -0
  83. package/assets/esri/core/workers/chunks/ce93113b99bdbeddd07b.js +1 -0
  84. package/assets/esri/core/workers/chunks/cf2d408e669cfa2c65be.js +1 -0
  85. package/assets/esri/core/workers/chunks/d08f63ffeecefa02ad91.js +1 -0
  86. package/assets/esri/core/workers/chunks/{8d33644192c01e5416b4.js → d1a71b58ef62e71979c5.js} +1 -1
  87. package/assets/esri/core/workers/chunks/d30eade5afecd334f6cb.js +1 -0
  88. package/assets/esri/core/workers/chunks/d8782d0856b9d815cb6c.js +1 -0
  89. package/assets/esri/core/workers/chunks/db16c21b650001502e6c.js +1 -0
  90. package/assets/esri/core/workers/chunks/db18110c57253a31ac96.js +1 -0
  91. package/assets/esri/core/workers/chunks/dbaa5fb466d6c0214f24.js +1 -0
  92. package/assets/esri/core/workers/chunks/deae370788a7aacf4dd5.js +1 -0
  93. package/assets/esri/core/workers/chunks/e6ca132e1eeea3aa174e.js +1 -0
  94. package/assets/esri/core/workers/chunks/e878ccc431729ef3360f.js +1 -0
  95. package/assets/esri/core/workers/chunks/eb124f15ad4b9193f00a.js +1 -0
  96. package/assets/esri/core/workers/chunks/ebc71c06c1c22aaef54e.js +1 -0
  97. package/assets/esri/core/workers/chunks/f183da283af0836421ab.js +1 -0
  98. package/assets/esri/core/workers/chunks/f42bdc2a134833d33b4e.js +1 -0
  99. package/assets/esri/core/workers/chunks/{736d628cda4e02d40337.js → f8612c2fc5739e98be58.js} +1 -1
  100. package/assets/esri/core/workers/chunks/f965e3e5f6f4f9ba54ac.js +1 -0
  101. package/assets/esri/core/workers/chunks/fa4089640f480b69962e.js +1 -0
  102. package/assets/esri/core/workers/chunks/fb219563e5169ea67d68.js +1 -0
  103. package/assets/esri/libs/i3s/i3s.wasm +0 -0
  104. package/chunks/ChapmanAtmosphere.glsl.js +56 -77
  105. package/chunks/Clouds.glsl.js +1 -1
  106. package/chunks/Pattern.glsl.js +9 -11
  107. package/chunks/RibbonLine.glsl.js +60 -68
  108. package/chunks/i3s.js +1 -1
  109. package/chunks/mat4.js +1 -1
  110. package/chunks/vec3.js +1 -1
  111. package/core/Collection.js +1 -1
  112. package/core/Loadable.js +1 -1
  113. package/core/accessorSupport/ensureType.js +1 -1
  114. package/core/promiseUtils.js +1 -1
  115. package/core/support/OwningCollection.js +1 -1
  116. package/core/workers/RemoteClient.js +1 -1
  117. package/core/workers/WorkerOwner.js +1 -1
  118. package/core/workers/workers.js +2 -2
  119. package/geometry/projection.js +1 -1
  120. package/identity/IdentityManagerBase.js +1 -1
  121. package/interfaces.d.ts +205 -497
  122. package/layers/ElevationLayer.js +1 -1
  123. package/layers/GeoJSONLayer.js +1 -1
  124. package/layers/ImageryTileLayer.js +1 -1
  125. package/layers/VectorTileLayer.js +1 -1
  126. package/layers/VoxelWasmPerScene.js +1 -1
  127. package/layers/WCSLayer.js +1 -1
  128. package/layers/analyses/AreaMeasurement3D.js +1 -1
  129. package/layers/analyses/DirectLineMeasurement3D.js +1 -1
  130. package/layers/analyses/Slice.js +1 -1
  131. package/layers/effects/EffectList.js +1 -1
  132. package/layers/effects/effects.js +1 -1
  133. package/layers/effects/jsonUtils.js +1 -1
  134. package/layers/effects/parser.js +1 -1
  135. package/layers/effects/utils.js +5 -0
  136. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  137. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  138. package/layers/graphics/data/QueryEngine.js +1 -1
  139. package/layers/graphics/data/QueryEngineResult.js +1 -1
  140. package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
  141. package/layers/mixins/ImageryTileMixin.js +1 -1
  142. package/layers/support/RasterWorker.js +1 -1
  143. package/layers/support/TilemapCache.js +1 -1
  144. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  145. package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
  146. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  147. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  148. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  149. package/package.json +2 -2
  150. package/portal/support/portalLayers.js +1 -1
  151. package/request.js +1 -1
  152. package/smartMapping/renderers/support/utils.js +1 -1
  153. package/smartMapping/statistics/support/WorkerClient.js +1 -1
  154. package/smartMapping/statistics/support/statsWorker.js +1 -1
  155. package/smartMapping/statistics/support/utils.js +1 -1
  156. package/smartMapping/support/adapters/CSVLayerAdapter.js +1 -1
  157. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  158. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  159. package/smartMapping/support/adapters/support/utils.js +1 -1
  160. package/statistics/utils.js +1 -1
  161. package/support/GraphicsCollection.js +1 -1
  162. package/support/revision.js +1 -1
  163. package/symbols/FillSymbol3DLayer.js +1 -1
  164. package/symbols/IconSymbol3DLayer.js +1 -1
  165. package/symbols/LineSymbol3DLayer.js +1 -1
  166. package/symbols/patterns/LinePattern3D.js +5 -0
  167. package/symbols/patterns/LineStylePattern3D.d.ts +4 -0
  168. package/symbols/patterns/LineStylePattern3D.js +5 -0
  169. package/symbols/patterns/StylePattern3D.js +1 -1
  170. package/symbols/patterns/lineStyles.js +5 -0
  171. package/symbols/patterns/utils.js +1 -1
  172. package/symbols/support/Symbol3DFillMaterial.js +1 -1
  173. package/symbols/support/Symbol3DIconOutline.js +5 -0
  174. package/symbols/support/Symbol3DMaterial.js +1 -1
  175. package/symbols/support/Symbol3DOutline.js +1 -1
  176. package/symbols/support/defaults3D.js +1 -1
  177. package/symbols/support/previewSymbol3D.js +1 -1
  178. package/symbols/support/symbolLayerUtils3D.js +1 -1
  179. package/views/2d/engine/vectorTiles/TileParser.js +1 -1
  180. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  181. package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
  182. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  183. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  184. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  185. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  186. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  187. package/views/2d/layers/features/controllers/EditsQueue.js +1 -1
  188. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  189. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  190. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  191. package/views/2d/layers/support/FeatureLayerProxy.js +1 -1
  192. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  193. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  194. package/views/3d/environment/CloudsGenerator.js +1 -1
  195. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  196. package/views/3d/environment/PanoramicAtmosphere.js +1 -1
  197. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  198. package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
  199. package/views/3d/externalRenderers.js +1 -1
  200. package/views/3d/interactive/Manipulator3D.js +1 -1
  201. package/views/3d/interactive/analysisTools/slice/SliceTool.js +1 -1
  202. package/views/3d/interactive/analysisTools/slice/images/Factory.js +5 -0
  203. package/views/3d/interactive/analysisTools/slice/sliceToolConfig.js +1 -1
  204. package/views/3d/interactive/analysisTools/slice/sliceToolUtils.js +1 -1
  205. package/views/3d/interactive/editingTools/settings.js +1 -1
  206. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  207. package/views/3d/interactive/graphics/Slice/SliceController.js +1 -1
  208. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  209. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  210. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  211. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  212. package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
  213. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  214. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  215. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  216. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  217. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  218. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  219. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  220. package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
  221. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  222. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  223. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  224. package/views/3d/layers/I3SMeshView3D.js +1 -1
  225. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  226. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  227. package/views/3d/layers/analyses/AreaMeasurement3D/AreaMeasurementView3D.js +1 -1
  228. package/views/3d/layers/analyses/AreaMeasurement3D/support/AreaMeasurementPathHelper.js +1 -1
  229. package/views/3d/layers/analyses/AreaMeasurement3D/support/AreaMeasurementVisualization.js +1 -1
  230. package/views/3d/layers/analyses/DirectLineMeasurement3D/DirectLineMeasurementView3D.js +1 -1
  231. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  232. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  233. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  234. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  235. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  236. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  237. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  238. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  239. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  240. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  241. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  242. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  243. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  244. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  245. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  246. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  247. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  248. package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
  249. package/views/3d/layers/graphics/Labeler.js +1 -1
  250. package/views/3d/layers/graphics/Loadable.js +1 -1
  251. package/views/3d/layers/graphics/ObjectResourceCache.js +1 -1
  252. package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
  253. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  254. package/views/3d/layers/graphics/labelPlacement.js +1 -1
  255. package/views/3d/layers/graphics/pointUtils.js +1 -1
  256. package/views/3d/layers/i3s/I3SAttributeOverrides.js +1 -1
  257. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  258. package/views/3d/layers/i3s/I3SStreamDataController.js +1 -1
  259. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  260. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  261. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  262. package/views/3d/layers/support/patternUtils.js +1 -1
  263. package/views/3d/state/GoToOperation.js +1 -1
  264. package/views/3d/state/ViewStateManager.js +1 -1
  265. package/views/3d/support/LaserLineRenderer.js +1 -1
  266. package/views/3d/support/SharedSymbolResources.js +1 -1
  267. package/views/3d/support/StreamDataLoader.js +1 -1
  268. package/views/3d/support/StreamTextureCollection.js +5 -0
  269. package/views/3d/support/TextureCollection.js +1 -1
  270. package/views/3d/support/debugFlags.js +1 -1
  271. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  272. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  273. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  274. package/views/3d/terrain/OverlayManager.js +1 -1
  275. package/views/3d/terrain/OverlayRenderTarget.js +1 -1
  276. package/views/3d/terrain/OverlayRenderer.js +1 -1
  277. package/views/3d/terrain/Tile.js +1 -1
  278. package/views/3d/webgl-engine/Stage.js +1 -1
  279. package/views/3d/webgl-engine/core/material/RenderTexture.js +1 -1
  280. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +13 -12
  281. package/views/3d/webgl-engine/core/shaderLibrary/shading/Reprojection.glsl.js +1 -1
  282. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +10 -3
  283. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  284. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  285. package/views/3d/webgl-engine/lib/GLMaterialRepository.js +1 -1
  286. package/views/3d/webgl-engine/lib/GLMaterialTexture.js +1 -1
  287. package/views/3d/webgl-engine/lib/GLMaterials.js +1 -1
  288. package/views/3d/webgl-engine/lib/Material.js +1 -1
  289. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  290. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  291. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  292. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  293. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  294. package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
  295. package/views/3d/webgl-engine/lib/TextTexture.js +1 -1
  296. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  297. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  298. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  299. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  300. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  301. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  302. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  303. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  304. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  305. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  306. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  307. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  308. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  309. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  310. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  311. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  312. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  313. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  314. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  315. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  316. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  317. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  318. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  319. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  320. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  321. package/views/3d/webgl-engine/materials/lineStippleUtils.js +1 -1
  322. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  323. package/views/3d/webgl-engine/parts/Model.js +1 -1
  324. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  325. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  326. package/views/LayerViewManager.js +1 -1
  327. package/views/SceneView.js +1 -1
  328. package/views/ToolViewManager.js +1 -1
  329. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  330. package/views/support/AllocationTracer.js +1 -1
  331. package/views/support/DefaultsFromMap.js +1 -1
  332. package/views/support/QueueProcessor.js +1 -1
  333. package/views/webgl/capabilities/load.js +1 -1
  334. package/webscene/Slide.js +1 -1
  335. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  336. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
  337. package/widgets/BuildingExplorer/support/layerUtils.js +1 -1
  338. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
  339. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  340. package/widgets/Editor/UpdateWorkflow.js +1 -1
  341. package/widgets/Feature/FeatureViewModel.js +1 -1
  342. package/widgets/Home/HomeViewModel.js +1 -1
  343. package/widgets/Locate/LocateViewModel.js +1 -1
  344. package/widgets/Popup/PopupViewModel.js +1 -1
  345. package/widgets/Search/SearchViewModel.js +1 -1
  346. package/widgets/Search.js +1 -1
  347. package/widgets/Sketch/SketchViewModel.js +1 -1
  348. package/widgets/Slice/SliceViewModel.js +1 -1
  349. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  350. package/assets/esri/core/workers/chunks/0283801d442984997abe.js +0 -1
  351. package/assets/esri/core/workers/chunks/0419e14a520b8fcf3e7a.js +0 -1
  352. package/assets/esri/core/workers/chunks/05318446b6a40caea361.js +0 -1
  353. package/assets/esri/core/workers/chunks/09e714d4381649348ac9.js +0 -1
  354. package/assets/esri/core/workers/chunks/0cecd668b9d5d3f83293.js +0 -1
  355. package/assets/esri/core/workers/chunks/13a73a88efd4f464173e.js +0 -1
  356. package/assets/esri/core/workers/chunks/1576727e8174d672555b.js +0 -1
  357. package/assets/esri/core/workers/chunks/1a3cbeb0a53d03a51dad.js +0 -1
  358. package/assets/esri/core/workers/chunks/1b8524b617bfc6fe422c.js +0 -1
  359. package/assets/esri/core/workers/chunks/1dc1d750046912ff6cef.js +0 -1
  360. package/assets/esri/core/workers/chunks/21fa174c114640be5e40.js +0 -1
  361. package/assets/esri/core/workers/chunks/2a3f6e56079620421a02.js +0 -1
  362. package/assets/esri/core/workers/chunks/2a5bcc73e55986ad93fe.js +0 -1
  363. package/assets/esri/core/workers/chunks/2a6f2e3d639aae491171.js +0 -1
  364. package/assets/esri/core/workers/chunks/2c17d1bad17bcee53f7d.js +0 -1
  365. package/assets/esri/core/workers/chunks/2cea27a0d07aa9a88ad4.js +0 -1
  366. package/assets/esri/core/workers/chunks/2e193d97d199b29b00c2.js +0 -1
  367. package/assets/esri/core/workers/chunks/2eb41fdf0d0a3b0c3232.js +0 -1
  368. package/assets/esri/core/workers/chunks/2f09ea639ca5d1d6ca7e.js +0 -1
  369. package/assets/esri/core/workers/chunks/2fb847ab1440bd1bdf15.js +0 -1
  370. package/assets/esri/core/workers/chunks/402d22ebbae608760b4f.js +0 -1
  371. package/assets/esri/core/workers/chunks/44daef7f0cbc6f6af09f.js +0 -1
  372. package/assets/esri/core/workers/chunks/46899156159e398c693f.js +0 -1
  373. package/assets/esri/core/workers/chunks/46bf8921db25845c63c0.js +0 -1
  374. package/assets/esri/core/workers/chunks/4eb23554e375350f73b5.js +0 -1
  375. package/assets/esri/core/workers/chunks/551917be63a513dfa4de.js +0 -1
  376. package/assets/esri/core/workers/chunks/564f6f5484bcb13ebb2b.js +0 -1
  377. package/assets/esri/core/workers/chunks/61df67ae47b7fb5875d9.js +0 -1
  378. package/assets/esri/core/workers/chunks/62642a8fc7bafe339984.js +0 -1
  379. package/assets/esri/core/workers/chunks/6304f4e53027df04eb8f.js +0 -1
  380. package/assets/esri/core/workers/chunks/6331987617ad166ea098.js +0 -1
  381. package/assets/esri/core/workers/chunks/6b13fcbc71c0088d317e.js +0 -1
  382. package/assets/esri/core/workers/chunks/6f7a6841e7269d2764ad.js +0 -1
  383. package/assets/esri/core/workers/chunks/70110efd2de23d9a5263.js +0 -1
  384. package/assets/esri/core/workers/chunks/7eae3f0588cde44fce39.js +0 -1
  385. package/assets/esri/core/workers/chunks/80d3c7a429c6412f1a8d.js +0 -1
  386. package/assets/esri/core/workers/chunks/80deebdf54bea04a0889.js +0 -1
  387. package/assets/esri/core/workers/chunks/81aa5fe7dcb4fdeb0974.js +0 -1
  388. package/assets/esri/core/workers/chunks/840d08b41913cad4df89.js +0 -1
  389. package/assets/esri/core/workers/chunks/85d154aeb511c5d70bb1.js +0 -1
  390. package/assets/esri/core/workers/chunks/8681e99e2bc9ece61c43.js +0 -1
  391. package/assets/esri/core/workers/chunks/8e5ef967f6518f4c93b1.js +0 -1
  392. package/assets/esri/core/workers/chunks/8edd7f70c8b95c34125c.js +0 -1
  393. package/assets/esri/core/workers/chunks/9044a7b90a53312b6392.js +0 -1
  394. package/assets/esri/core/workers/chunks/905b4dfc1ce57a225fa4.js +0 -1
  395. package/assets/esri/core/workers/chunks/945f90b31ebfae623ea0.js +0 -1
  396. package/assets/esri/core/workers/chunks/9943fd69b67cd1871d68.js +0 -1
  397. package/assets/esri/core/workers/chunks/9ad91c23480ffb656030.js +0 -1
  398. package/assets/esri/core/workers/chunks/9d103681372ab01a4147.js +0 -1
  399. package/assets/esri/core/workers/chunks/9d3230f59b4c4d1b2713.js +0 -1
  400. package/assets/esri/core/workers/chunks/9db75bc0980d16b730a1.js +0 -1
  401. package/assets/esri/core/workers/chunks/a0659b8bdc067da7badd.js +0 -1
  402. package/assets/esri/core/workers/chunks/a480ee9a994410177961.js +0 -1
  403. package/assets/esri/core/workers/chunks/a9b279975d7df0f295d7.js +0 -1
  404. package/assets/esri/core/workers/chunks/aa3abaa5ad4a5a3bcb84.js +0 -1
  405. package/assets/esri/core/workers/chunks/aa8e607f908297786675.js +0 -1
  406. package/assets/esri/core/workers/chunks/ab5a302b5f62d38293f9.js +0 -1
  407. package/assets/esri/core/workers/chunks/abd6a84396e0eb3f01ad.js +0 -1
  408. package/assets/esri/core/workers/chunks/abe9f8516b03a3fb0477.js +0 -1
  409. package/assets/esri/core/workers/chunks/aff6aa5c7f75f8e052d9.js +0 -1
  410. package/assets/esri/core/workers/chunks/b601cc5304b132536239.js +0 -1
  411. package/assets/esri/core/workers/chunks/b85f614ddbddd3c3007e.js +0 -1
  412. package/assets/esri/core/workers/chunks/b944f4ab25a691b3e611.js +0 -1
  413. package/assets/esri/core/workers/chunks/bbdacddb61e651ca0098.js +0 -1
  414. package/assets/esri/core/workers/chunks/c2fa728e805637a1783e.js +0 -1
  415. package/assets/esri/core/workers/chunks/c901f5f85d962254fc2c.js +0 -1
  416. package/assets/esri/core/workers/chunks/ca173b908d89a4e334f6.js +0 -1
  417. package/assets/esri/core/workers/chunks/cc2ef3bfa1f614d7452c.js +0 -1
  418. package/assets/esri/core/workers/chunks/cdb32a9ac9f5804c4212.js +0 -1
  419. package/assets/esri/core/workers/chunks/ce9a4997973da80141a5.js +0 -1
  420. package/assets/esri/core/workers/chunks/d0674b50a358d3bb9db2.js +0 -1
  421. package/assets/esri/core/workers/chunks/d18b7b4b3b9bea7204b0.js +0 -1
  422. package/assets/esri/core/workers/chunks/d2ce983f7babdf18a0ed.js +0 -1
  423. package/assets/esri/core/workers/chunks/d38a0d867dc6cecdc551.js +0 -1
  424. package/assets/esri/core/workers/chunks/e39ca33e9e463c1d6060.js +0 -1
  425. package/assets/esri/core/workers/chunks/e471d103205018a5cf7f.js +0 -1
  426. package/assets/esri/core/workers/chunks/e542fb044fc96f7e8af2.js +0 -1
  427. package/assets/esri/core/workers/chunks/e94e00a28591337b2def.js +0 -1
  428. package/assets/esri/core/workers/chunks/eb2709ccbc001f42ac1b.js +0 -1
  429. package/assets/esri/core/workers/chunks/f905511ca5f9b59fc17f.js +0 -1
  430. package/assets/esri/core/workers/chunks/f910e80dd87727af5184.js +0 -1
  431. package/assets/esri/core/workers/chunks/f9300a24305b0af1d227.js +0 -1
  432. package/assets/esri/core/workers/chunks/fa1e1ac5b3ef7bdf8a78.js +0 -1
  433. package/assets/esri/core/workers/chunks/fce76a84c7d25d8d47e8.js +0 -1
  434. package/assets/esri/core/workers/chunks/fef4f97fbe861a1b60e8.js +0 -1
  435. package/layers/AreaMeasurementLayer.d.ts +0 -4
  436. package/layers/DirectLineMeasurementLayer.d.ts +0 -4
  437. package/symbols/support/symbolPreview.d.ts +0 -4
  438. package/symbols/support/symbolPreview.js +0 -5
  439. package/views/3d/layers/AreaMeasurementLayerView3D.d.ts +0 -4
  440. package/views/3d/layers/DirectLineMeasurementLayerView3D.d.ts +0 -4
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.22/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import r from"../request.js";import t from"../core/Error.js";import o from"../core/Logger.js";import{releaseMaybe as i,isSome as s}from"../core/maybe.js";import{MultiOriginJSONMixin as a}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as l,createAbortController as n,throwIfAborted as p}from"../core/promiseUtils.js";import{objectToQuery as c}from"../core/urlUtils.js";import{property as m}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{reader as h}from"../core/accessorSupport/decorators/reader.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import u from"../geometry/HeightModelInfo.js";import y from"./Layer.js";import{ArcGISCachedService as v}from"./mixins/ArcGISCachedService.js";import{ArcGISService as f}from"./mixins/ArcGISService.js";import{OperationalLayer as g}from"./mixins/OperationalLayer.js";import{PortalLayer as S}from"./mixins/PortalLayer.js";import{url as j}from"./support/commonProperties.js";import{acquireDecoder as w}from"./support/LercDecoder.js";const T=o.getLogger("esri.layers.ElevationLayer");let x=class extends(v(f(g(S(a(y)))))){constructor(...e){super(...e),this.copyright=null,this.heightModelInfo=null,this.path=null,this.opacity=1,this.operationalLayerType="ArcGISTiledElevationServiceLayer",this.sourceJSON=null,this.type="elevation",this.url=null,this.version=null,this._lercDecoder=w()}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}destroy(){this._lercDecoder=i(this._lercDecoder)}set minScale(e){this.constructed&&T.warn(`${this.declaredClass}.minScale support has been removed (since 4.5)`)}get minScale(){}set maxScale(e){this.constructed&&T.warn(`${this.declaredClass}.maxScale support has been removed (since 4.5)`)}get maxScale(){}readVersion(e,r){let t=r.currentVersion;return t||(t=9.3),t}load(e){const r=s(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"],supportsData:!1,validateItem:e=>{for(let r=0;r<e.typeKeywords.length;r++)if("elevation 3d layer"===e.typeKeywords[r].toLowerCase())return!0;throw new t("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}' ",{type:"Image Service",expectedType:"Image Service Elevation 3D Layer"})}},e).catch(l).then((()=>this._fetchImageService(r)))),Promise.resolve(this)}fetchTile(e,t,o,i){const a=s((i=i||{signal:null}).signal)?i.signal:i.signal=n().signal,l={responseType:"array-buffer",signal:a},p={noDataValue:i.noDataValue,returnFileInfo:!0};return this.load().then((()=>this._fetchTileAvailability(e,t,o,i))).then((()=>r(this.getTileUrl(e,t,o),l))).then((e=>this._lercDecoder.decode(e.data,p,a))).then((e=>({values:e.pixelData,width:e.width,height:e.height,maxZError:e.fileInfo.maxZError,noDataValue:e.noDataValue,minValue:e.minValue,maxValue:e.maxValue})))}getTileUrl(e,r,t){const o=!this.tilemapCache&&this.supportsBlankTile,i=c({...this.parsedUrl.query,blankTile:!o&&null});return`${this.parsedUrl.path}/tile/${e}/${r}/${t}${i?"?"+i:""}`}async queryElevation(e,r){const{ElevationQuery:t}=await import("./support/ElevationQuery.js");p(r);return(new t).query(this,e,r)}async createElevationSampler(e,r){const{ElevationQuery:t}=await import("./support/ElevationQuery.js");p(r);return(new t).createSampler(this,e,r)}_fetchTileAvailability(e,r,t,o){return this.tilemapCache?this.tilemapCache.fetchAvailability(e,r,t,o):Promise.resolve("unknown")}async _fetchImageService(e){if(this.sourceJSON)return this.sourceJSON;const t={query:{f:"json",...this.parsedUrl.query},responseType:"json",signal:e},o=await r(this.parsedUrl.path,t);o.ssl&&(this.url=this.url.replace(/^http:/i,"https:")),this.sourceJSON=o.data,this.read(o.data,{origin:"service",url:this.parsedUrl})}get hasOverriddenFetchTile(){return!this.fetchTile.__isDefault__}};e([m({json:{read:{source:"copyrightText"}}})],x.prototype,"copyright",void 0),e([m({readOnly:!0,type:u})],x.prototype,"heightModelInfo",void 0),e([m({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],x.prototype,"path",void 0),e([m({type:["show","hide"]})],x.prototype,"listMode",void 0),e([m({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}}})],x.prototype,"minScale",null),e([m({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}}})],x.prototype,"maxScale",null),e([m({json:{read:!1,write:!1,origins:{"web-document":{read:!1,write:!1}}}})],x.prototype,"opacity",void 0),e([m({type:["ArcGISTiledElevationServiceLayer"]})],x.prototype,"operationalLayerType",void 0),e([m()],x.prototype,"sourceJSON",void 0),e([m({json:{read:!1},value:"elevation",readOnly:!0})],x.prototype,"type",void 0),e([m(j)],x.prototype,"url",void 0),e([m()],x.prototype,"version",void 0),e([h("version",["currentVersion"])],x.prototype,"readVersion",null),x=e([d("esri.layers.ElevationLayer")],x),x.prototype.fetchTile.__isDefault__=!0;const _=x;export{_ as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import r from"../request.js";import t from"../core/Error.js";import o from"../core/Logger.js";import{releaseMaybe as i,isSome as s}from"../core/maybe.js";import{MultiOriginJSONMixin as a}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as l,throwIfAborted as n}from"../core/promiseUtils.js";import{objectToQuery as p}from"../core/urlUtils.js";import{property as c}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{reader as m}from"../core/accessorSupport/decorators/reader.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import d from"../geometry/HeightModelInfo.js";import u from"./Layer.js";import{ArcGISCachedService as y}from"./mixins/ArcGISCachedService.js";import{ArcGISService as v}from"./mixins/ArcGISService.js";import{OperationalLayer as f}from"./mixins/OperationalLayer.js";import{PortalLayer as g}from"./mixins/PortalLayer.js";import{url as S}from"./support/commonProperties.js";import{acquireDecoder as j}from"./support/LercDecoder.js";const w=o.getLogger("esri.layers.ElevationLayer");let T=class extends(y(v(f(g(a(u)))))){constructor(...e){super(...e),this.copyright=null,this.heightModelInfo=null,this.path=null,this.opacity=1,this.operationalLayerType="ArcGISTiledElevationServiceLayer",this.sourceJSON=null,this.type="elevation",this.url=null,this.version=null,this._lercDecoder=j()}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}destroy(){this._lercDecoder=i(this._lercDecoder)}set minScale(e){this.constructed&&w.warn(`${this.declaredClass}.minScale support has been removed (since 4.5)`)}get minScale(){}set maxScale(e){this.constructed&&w.warn(`${this.declaredClass}.maxScale support has been removed (since 4.5)`)}get maxScale(){}readVersion(e,r){let t=r.currentVersion;return t||(t=9.3),t}load(e){const r=s(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"],supportsData:!1,validateItem:e=>{for(let r=0;r<e.typeKeywords.length;r++)if("elevation 3d layer"===e.typeKeywords[r].toLowerCase())return!0;throw new t("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}' ",{type:"Image Service",expectedType:"Image Service Elevation 3D Layer"})}},e).catch(l).then((()=>this._fetchImageService(r)))),Promise.resolve(this)}fetchTile(e,t,o,i){const a=s((i=i||{signal:null}).signal)?i.signal:i.signal=(new AbortController).signal,l={responseType:"array-buffer",signal:a},n={noDataValue:i.noDataValue,returnFileInfo:!0};return this.load().then((()=>this._fetchTileAvailability(e,t,o,i))).then((()=>r(this.getTileUrl(e,t,o),l))).then((e=>this._lercDecoder.decode(e.data,n,a))).then((e=>({values:e.pixelData,width:e.width,height:e.height,maxZError:e.fileInfo.maxZError,noDataValue:e.noDataValue,minValue:e.minValue,maxValue:e.maxValue})))}getTileUrl(e,r,t){const o=!this.tilemapCache&&this.supportsBlankTile,i=p({...this.parsedUrl.query,blankTile:!o&&null});return`${this.parsedUrl.path}/tile/${e}/${r}/${t}${i?"?"+i:""}`}async queryElevation(e,r){const{ElevationQuery:t}=await import("./support/ElevationQuery.js");n(r);return(new t).query(this,e,r)}async createElevationSampler(e,r){const{ElevationQuery:t}=await import("./support/ElevationQuery.js");n(r);return(new t).createSampler(this,e,r)}_fetchTileAvailability(e,r,t,o){return this.tilemapCache?this.tilemapCache.fetchAvailability(e,r,t,o):Promise.resolve("unknown")}async _fetchImageService(e){if(this.sourceJSON)return this.sourceJSON;const t={query:{f:"json",...this.parsedUrl.query},responseType:"json",signal:e},o=await r(this.parsedUrl.path,t);o.ssl&&(this.url=this.url.replace(/^http:/i,"https:")),this.sourceJSON=o.data,this.read(o.data,{origin:"service",url:this.parsedUrl})}get hasOverriddenFetchTile(){return!this.fetchTile.__isDefault__}};e([c({json:{read:{source:"copyrightText"}}})],T.prototype,"copyright",void 0),e([c({readOnly:!0,type:d})],T.prototype,"heightModelInfo",void 0),e([c({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],T.prototype,"path",void 0),e([c({type:["show","hide"]})],T.prototype,"listMode",void 0),e([c({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}}})],T.prototype,"minScale",null),e([c({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}}})],T.prototype,"maxScale",null),e([c({json:{read:!1,write:!1,origins:{"web-document":{read:!1,write:!1}}}})],T.prototype,"opacity",void 0),e([c({type:["ArcGISTiledElevationServiceLayer"]})],T.prototype,"operationalLayerType",void 0),e([c()],T.prototype,"sourceJSON",void 0),e([c({json:{read:!1},value:"elevation",readOnly:!0})],T.prototype,"type",void 0),e([c(S)],T.prototype,"url",void 0),e([c()],T.prototype,"version",void 0),e([m("version",["currentVersion"])],T.prototype,"readVersion",null),T=e([h("esri.layers.ElevationLayer")],T),T.prototype.fetchTile.__isDefault__=!0;const x=T;export{x 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.22/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../geometry.js";import t from"../PopupTemplate.js";import"../renderers/ClassBreaksRenderer.js";import"../renderers/DictionaryRenderer.js";import"../renderers/DotDensityRenderer.js";import"../renderers/HeatmapRenderer.js";import"../renderers/Renderer.js";import"../renderers/SimpleRenderer.js";import"../renderers/UniqueValueRenderer.js";import"../renderers/support/jsonUtils.js";import{rendererTypes as r,webSceneRendererTypes as i}from"../renderers/support/types.js";import{isSome as o}from"../core/maybe.js";import{MultiOriginJSONMixin as s}from"../core/MultiOriginJSONSupport.js";import{urlToObject as p}from"../core/urlUtils.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import{featureGeometryTypeKebabDictionary as a}from"../geometry/support/typeUtils.js";import d from"./Layer.js";import u from"./graphics/sources/GeoJSONSource.js";import{BlendLayer as y}from"./mixins/BlendLayer.js";import{CustomParametersMixin as m}from"./mixins/CustomParametersMixin.js";import{OperationalLayer as h}from"./mixins/OperationalLayer.js";import{OrderedLayer as c}from"./mixins/OrderedLayer.js";import{RefreshableLayer as f}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as g}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as j}from"./mixins/TemporalLayer.js";import{elevationInfo as v,id as b,labelsVisible as x,legendEnabled as I,opacity as O,popupEnabled as S,screenSizePerspectiveEnabled as E,url as w}from"./support/commonProperties.js";import{featureReductionProperty as F}from"./support/featureReductionUtils.js";import T from"./support/FeatureTemplate.js";import P from"./support/FeatureType.js";import R from"./support/Field.js";import{defineFieldProperties as D}from"./support/fieldProperties.js";import{fixRendererFields as L,fixTimeInfoFields as U}from"./support/fieldUtils.js";import q from"./support/LabelClass.js";import{reader as N}from"./support/labelingInfo.js";import J from"../rest/support/Query.js";import{createPopupTemplate as Q}from"../support/popupUtils.js";import C from"../geometry/SpatialReference.js";import G from"../geometry/Extent.js";const V=D();let _=class extends(c(m(y(j(g(f(h(s(d))))))))){constructor(e){super(e),this.copyright=null,this.definitionExpression=null,this.displayField=null,this.editingEnabled=!0,this.elevationInfo=null,this.featureReduction=null,this.fields=null,this.fieldsIndex=null,this.fullExtent=null,this.geometryType=null,this.hasZ=void 0,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.objectIdField=null,this.operationalLayerType="GeoJSON",this.popupEnabled=!0,this.popupTemplate=null,this.screenSizePerspectiveEnabled=!0,this.source=new u({layer:this}),this.spatialReference=C.WGS84,this.templates=null,this.title="GeoJSON",this.type="geojson",this.typeIdField=null,this.types=null,this.url=null}destroy(){var e;null==(e=this.source)||e.destroy()}load(e){return this.addResolvingPromise(this.source.load(e).then((()=>{this.read(this.source.sourceJSON,{origin:"service",url:this.parsedUrl}),this.revert(["objectIdField","fields","timeInfo"],"service"),L(this.renderer,this.fieldsIndex),U(this.timeInfo,this.fieldsIndex)}))),Promise.resolve(this)}get capabilities(){return this.source?this.source.capabilities:null}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("capabilities"),(this._get("createQueryVersion")||0)+1}get defaultPopupTemplate(){return this.createPopupTemplate()}get isTable(){return this.loaded&&null==this.geometryType}get parsedUrl(){return this.url?p(this.url):null}set renderer(e){L(e,this.fieldsIndex),this._set("renderer",e)}async applyEdits(e,t){const r=await import("./graphics/editingSupport.js");await this.load();const i=await r.applyEdits(this,this.source,e,t);return this.read({extent:this.source.sourceJSON.extent,timeInfo:this.source.sourceJSON.timeInfo},{origin:"service",ignoreDefaults:!0}),i}on(e,t){return super.on(e,t)}createPopupTemplate(e){return Q(this,e)}createQuery(){const e=new J,t=this.get("capabilities.data");e.returnGeometry=!0,t&&t.supportsZ&&(e.returnZ=!0),e.outFields=["*"],e.where=this.definitionExpression||"1=1";const{timeOffset:r,timeExtent:i}=this;return e.timeExtent=null!=r&&null!=i?i.offset(-r.value,r.unit):i||null,e}getFieldDomain(e,t){let r,i=!1;const o=t&&t.feature,s=o&&o.attributes,p=this.typeIdField&&s&&s[this.typeIdField];return null!=p&&this.types&&(i=this.types.some((t=>t.id==p&&(r=t.domains&&t.domains[e],r&&"inherited"===r.type&&(r=this._getLayerDomain(e)),!0)))),i||r||(r=this._getLayerDomain(e)),r}getField(e){return this.fieldsIndex.get(e)}queryFeatures(e,t){return this.load().then((()=>this.source.queryFeatures(J.from(e)||this.createQuery(),t))).then((e=>{if(null!=e&&e.features)for(const t of e.features)t.layer=t.sourceLayer=this;return e}))}queryObjectIds(e,t){return this.load().then((()=>this.source.queryObjectIds(J.from(e)||this.createQuery(),t)))}queryFeatureCount(e,t){return this.load().then((()=>this.source.queryFeatureCount(J.from(e)||this.createQuery(),t)))}queryExtent(e,t){return this.load().then((()=>this.source.queryExtent(J.from(e)||this.createQuery(),t)))}async hasDataChanged(){try{const{dataChanged:e,updates:t}=await this.source.refresh(this.customParameters);return o(t)&&this.read(t,{origin:"service",url:this.parsedUrl,ignoreDefaults:!0}),e}catch{}return!1}_getLayerDomain(e){if(!this.fields)return null;let t=null;return this.fields.some((r=>(r.name===e&&(t=r.domain),!!t))),t}};e([n({readOnly:!0,json:{read:!1,write:!1}})],_.prototype,"capabilities",null),e([n({type:String})],_.prototype,"copyright",void 0),e([n({readOnly:!0})],_.prototype,"createQueryVersion",null),e([n({readOnly:!0})],_.prototype,"defaultPopupTemplate",null),e([n({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],_.prototype,"definitionExpression",void 0),e([n({type:String})],_.prototype,"displayField",void 0),e([n({type:Boolean})],_.prototype,"editingEnabled",void 0),e([n(v)],_.prototype,"elevationInfo",void 0),e([n(F)],_.prototype,"featureReduction",void 0),e([n({type:[R],json:{name:"layerDefinition.fields",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:"fields"}}}})],_.prototype,"fields",void 0),e([n(V.fieldsIndex)],_.prototype,"fieldsIndex",void 0),e([n({type:G,json:{name:"extent"}})],_.prototype,"fullExtent",void 0),e([n({type:["point","polygon","polyline","multipoint"],json:{read:{reader:a.read}}})],_.prototype,"geometryType",void 0),e([n({type:Boolean})],_.prototype,"hasZ",void 0),e([n(b)],_.prototype,"id",void 0),e([n({type:Boolean,readOnly:!0})],_.prototype,"isTable",null),e([n(x)],_.prototype,"labelsVisible",void 0),e([n({type:[q],json:{name:"layerDefinition.drawingInfo.labelingInfo",read:{reader:N},write:!0}})],_.prototype,"labelingInfo",void 0),e([n(I)],_.prototype,"legendEnabled",void 0),e([n({type:["show","hide"]})],_.prototype,"listMode",void 0),e([n({type:String,json:{name:"layerDefinition.objectIdField",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:"objectIdField"}}}})],_.prototype,"objectIdField",void 0),e([n(O)],_.prototype,"opacity",void 0),e([n({type:["GeoJSON"]})],_.prototype,"operationalLayerType",void 0),e([n({readOnly:!0})],_.prototype,"parsedUrl",null),e([n(S)],_.prototype,"popupEnabled",void 0),e([n({type:t,json:{name:"popupInfo",write:!0}})],_.prototype,"popupTemplate",void 0),e([n({types:r,json:{origins:{service:{name:"drawingInfo.renderer"},"web-scene":{types:i,name:"layerDefinition.drawingInfo.renderer",write:!0}},write:{target:"layerDefinition.drawingInfo.renderer"}}})],_.prototype,"renderer",null),e([n(E)],_.prototype,"screenSizePerspectiveEnabled",void 0),e([n({readOnly:!0})],_.prototype,"source",void 0),e([n({type:C})],_.prototype,"spatialReference",void 0),e([n({type:[T]})],_.prototype,"templates",void 0),e([n()],_.prototype,"title",void 0),e([n({json:{read:!1},readOnly:!0})],_.prototype,"type",void 0),e([n({type:String,readOnly:!0})],_.prototype,"typeIdField",void 0),e([n({type:[P]})],_.prototype,"types",void 0),e([n(w)],_.prototype,"url",void 0),_=e([l("esri.layers.GeoJSONLayer")],_);const B=_;export{B as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../geometry.js";import t from"../PopupTemplate.js";import"../renderers/ClassBreaksRenderer.js";import"../renderers/DictionaryRenderer.js";import"../renderers/DotDensityRenderer.js";import"../renderers/HeatmapRenderer.js";import"../renderers/Renderer.js";import"../renderers/SimpleRenderer.js";import"../renderers/UniqueValueRenderer.js";import"../renderers/support/jsonUtils.js";import{rendererTypes as r,webSceneRendererTypes as i}from"../renderers/support/types.js";import{isSome as o}from"../core/maybe.js";import{MultiOriginJSONMixin as s}from"../core/MultiOriginJSONSupport.js";import{urlToObject as p}from"../core/urlUtils.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import{featureGeometryTypeKebabDictionary as a}from"../geometry/support/typeUtils.js";import d from"./Layer.js";import u from"./graphics/sources/GeoJSONSource.js";import{BlendLayer as m}from"./mixins/BlendLayer.js";import{CustomParametersMixin as y}from"./mixins/CustomParametersMixin.js";import{OperationalLayer as h}from"./mixins/OperationalLayer.js";import{OrderedLayer as c}from"./mixins/OrderedLayer.js";import{RefreshableLayer as f}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as j}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as g}from"./mixins/TemporalLayer.js";import{elevationInfo as v,id as b,labelsVisible as x,legendEnabled as I,opacity as O,popupEnabled as S,screenSizePerspectiveEnabled as E,url as F}from"./support/commonProperties.js";import{featureReductionProperty as w}from"./support/featureReductionUtils.js";import T from"./support/FeatureTemplate.js";import P from"./support/FeatureType.js";import R from"./support/Field.js";import{defineFieldProperties as D}from"./support/fieldProperties.js";import{fixRendererFields as L,fixTimeInfoFields as U}from"./support/fieldUtils.js";import q from"./support/LabelClass.js";import{reader as N}from"./support/labelingInfo.js";import J from"../rest/support/Query.js";import{createPopupTemplate as Q}from"../support/popupUtils.js";import C from"../geometry/SpatialReference.js";import G from"../geometry/Extent.js";const V=D();let _=class extends(c(y(m(g(j(f(h(s(d))))))))){constructor(e){super(e),this.copyright=null,this.definitionExpression=null,this.displayField=null,this.editingEnabled=!0,this.elevationInfo=null,this.featureReduction=null,this.fields=null,this.fieldsIndex=null,this.fullExtent=null,this.geometryType=null,this.hasZ=void 0,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.objectIdField=null,this.operationalLayerType="GeoJSON",this.popupEnabled=!0,this.popupTemplate=null,this.screenSizePerspectiveEnabled=!0,this.source=new u({layer:this}),this.spatialReference=C.WGS84,this.templates=null,this.title="GeoJSON",this.type="geojson",this.typeIdField=null,this.types=null,this.url=null}destroy(){var e;null==(e=this.source)||e.destroy()}load(e){return this.addResolvingPromise(this.source.load(e).then((()=>{this.read(this.source.sourceJSON,{origin:"service",url:this.parsedUrl}),this.revert(["objectIdField","fields","timeInfo"],"service"),L(this.renderer,this.fieldsIndex),U(this.timeInfo,this.fieldsIndex)}))),Promise.resolve(this)}get capabilities(){return this.source?this.source.capabilities:null}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("capabilities"),(this._get("createQueryVersion")||0)+1}get defaultPopupTemplate(){return this.createPopupTemplate()}get isTable(){return this.loaded&&null==this.geometryType}get parsedUrl(){return this.url?p(this.url):null}set renderer(e){L(e,this.fieldsIndex),this._set("renderer",e)}async applyEdits(e,t){const r=await import("./graphics/editingSupport.js");await this.load();const i=await r.applyEdits(this,this.source,e,t);return this.read({extent:this.source.sourceJSON.extent,timeInfo:this.source.sourceJSON.timeInfo},{origin:"service",ignoreDefaults:!0}),i}on(e,t){return super.on(e,t)}createPopupTemplate(e){return Q(this,e)}createQuery(){const e=new J,t=this.get("capabilities.data");e.returnGeometry=!0,t&&t.supportsZ&&(e.returnZ=!0),e.outFields=["*"],e.where=this.definitionExpression||"1=1";const{timeOffset:r,timeExtent:i}=this;return e.timeExtent=null!=r&&null!=i?i.offset(-r.value,r.unit):i||null,e}getFieldDomain(e,t){let r,i=!1;const o=t&&t.feature,s=o&&o.attributes,p=this.typeIdField&&s&&s[this.typeIdField];return null!=p&&this.types&&(i=this.types.some((t=>t.id==p&&(r=t.domains&&t.domains[e],r&&"inherited"===r.type&&(r=this._getLayerDomain(e)),!0)))),i||r||(r=this._getLayerDomain(e)),r}getField(e){return this.fieldsIndex.get(e)}queryFeatures(e,t){return this.load().then((()=>this.source.queryFeatures(J.from(e)||this.createQuery(),t))).then((e=>{if(null!=e&&e.features)for(const t of e.features)t.layer=t.sourceLayer=this;return e}))}queryObjectIds(e,t){return this.load().then((()=>this.source.queryObjectIds(J.from(e)||this.createQuery(),t)))}queryFeatureCount(e,t){return this.load().then((()=>this.source.queryFeatureCount(J.from(e)||this.createQuery(),t)))}queryExtent(e,t){return this.load().then((()=>this.source.queryExtent(J.from(e)||this.createQuery(),t)))}async hasDataChanged(){try{const{dataChanged:e,updates:t}=await this.source.refresh(this.customParameters);return o(t)&&this.read(t,{origin:"service",url:this.parsedUrl,ignoreDefaults:!0}),e}catch{}return!1}_getLayerDomain(e){if(!this.fields)return null;let t=null;return this.fields.some((r=>(r.name===e&&(t=r.domain),!!t))),t}};e([n({readOnly:!0,json:{read:!1,write:!1}})],_.prototype,"capabilities",null),e([n({type:String})],_.prototype,"copyright",void 0),e([n({readOnly:!0})],_.prototype,"createQueryVersion",null),e([n({readOnly:!0})],_.prototype,"defaultPopupTemplate",null),e([n({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],_.prototype,"definitionExpression",void 0),e([n({type:String})],_.prototype,"displayField",void 0),e([n({type:Boolean})],_.prototype,"editingEnabled",void 0),e([n(v)],_.prototype,"elevationInfo",void 0),e([n(w)],_.prototype,"featureReduction",void 0),e([n({type:[R],json:{name:"layerDefinition.fields",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:"fields"}}}})],_.prototype,"fields",void 0),e([n(V.fieldsIndex)],_.prototype,"fieldsIndex",void 0),e([n({type:G,json:{name:"extent"}})],_.prototype,"fullExtent",void 0),e([n({type:["point","polygon","polyline","multipoint"],json:{read:{reader:a.read}}})],_.prototype,"geometryType",void 0),e([n({type:Boolean})],_.prototype,"hasZ",void 0),e([n(b)],_.prototype,"id",void 0),e([n({type:Boolean,readOnly:!0})],_.prototype,"isTable",null),e([n(x)],_.prototype,"labelsVisible",void 0),e([n({type:[q],json:{name:"layerDefinition.drawingInfo.labelingInfo",read:{reader:N},write:!0}})],_.prototype,"labelingInfo",void 0),e([n(I)],_.prototype,"legendEnabled",void 0),e([n({type:["show","hide"]})],_.prototype,"listMode",void 0),e([n({type:String,json:{name:"layerDefinition.objectIdField",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:"objectIdField"}}}})],_.prototype,"objectIdField",void 0),e([n(O)],_.prototype,"opacity",void 0),e([n({type:["GeoJSON"]})],_.prototype,"operationalLayerType",void 0),e([n({readOnly:!0})],_.prototype,"parsedUrl",null),e([n(S)],_.prototype,"popupEnabled",void 0),e([n({type:t,json:{name:"popupInfo",write:!0}})],_.prototype,"popupTemplate",void 0),e([n({types:r,json:{name:"layerDefinition.drawingInfo.renderer",write:!0,origins:{service:{name:"drawingInfo.renderer"},"web-scene":{types:i}}}})],_.prototype,"renderer",null),e([n(E)],_.prototype,"screenSizePerspectiveEnabled",void 0),e([n({readOnly:!0})],_.prototype,"source",void 0),e([n({type:C})],_.prototype,"spatialReference",void 0),e([n({type:[T]})],_.prototype,"templates",void 0),e([n()],_.prototype,"title",void 0),e([n({json:{read:!1},readOnly:!0})],_.prototype,"type",void 0),e([n({type:String,readOnly:!0})],_.prototype,"typeIdField",void 0),e([n({type:[P]})],_.prototype,"types",void 0),e([n(F)],_.prototype,"url",void 0),_=e([l("esri.layers.GeoJSONLayer")],_);const B=_;export{B 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.22/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{property as p}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{Integer as d}from"../core/accessorSupport/ensureType.js";import{enumeration as u}from"../core/accessorSupport/decorators/enumeration.js";import{reader as m}from"../core/accessorSupport/decorators/reader.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import y from"./Layer.js";import{BlendLayer as h}from"./mixins/BlendLayer.js";import{CustomParametersMixin as f}from"./mixins/CustomParametersMixin.js";import{ImageryTileMixin as v}from"./mixins/ImageryTileMixin.js";import{OperationalLayer as g}from"./mixins/OperationalLayer.js";import{PortalLayer as j}from"./mixins/PortalLayer.js";import{RefreshableLayer as b}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as T}from"./mixins/ScaleRangeLayer.js";import{legendEnabled as w}from"./support/commonProperties.js";import P from"./support/Field.js";import{interpolationKebab as S}from"./support/rasterEnums.js";import I from"./support/rasterDatasets/RasterFactory.js";import{createPopupTemplate as R}from"../support/popupUtils.js";let O=class extends(h(T(g(j(f(v(b(n(y))))))))){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(){var e,r;let t=[new P({name:"Raster.ServicePixelValue",alias:"Pixel Value",domain:null,editable:!1,length:50,type:"string"})];const o=null==(e=this.rasterInfo)||null==(r=e.attributeTable)?void 0:r.fields,i="Raster.";if(o){const e=o.filter((e=>"oid"!==e.type&&"value"!==e.name.toLowerCase())).map((e=>{const r=e.clone();return r.name=i+e.name,r}));t=t.concat(e)}const s=this.rasterInfo.dataType;if(("vector-magdir"===s||"vector-uv"===s)&&a(this.rasterInfo.multidimensionalInfo)){var n;const e=null==(n=this.rasterInfo.multidimensionalInfo.variables[0].unit)?void 0:n.trim(),r="Magnitude"+(e?` (${e})`:"");t.push(new P({name:"Raster.Magnitude",alias:r,domain:null,editable:!1,type:"double"})),t.push(new P({name:"Raster.Direction",alias:"Direction (°)",domain:null,editable:!1,type:"double"}))}return t}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 R({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);this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON&&(this._set("version",this.sourceJSON.currentVersion),this._set("copyright",this.sourceJSON.copyrightText)),null==this.title&&(this.title=this.raster.datasetName),"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.watch("customParameters",(e=>this.raster.ioConfig.customFetchParameters=e))}};e([p({type:[d],json:{write:{overridePolicy(){var e;return{enabled:!this.loaded||"Raster"===this.raster.tileType||"0,1,2"!==(null==(e=this.bandIds)?void 0:e.join(","))}}}}})],O.prototype,"bandIds",void 0),e([p({json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"bilinear"!==this.interpolation}}}}}),u(S)],O.prototype,"interpolation",void 0),e([p({json:{write:!0}})],O.prototype,"multidimensionalDefinition",void 0),e([p(w)],O.prototype,"legendEnabled",void 0),e([p({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],O.prototype,"isReference",void 0),e([p({type:["show","hide"]})],O.prototype,"listMode",void 0),e([p()],O.prototype,"sourceJSON",void 0),e([p({readOnly:!0})],O.prototype,"version",void 0),e([p()],O.prototype,"title",void 0),e([p({readOnly:!0,json:{read:!1}})],O.prototype,"type",void 0),e([p({type:["ArcGISTiledImageServiceLayer"]})],O.prototype,"operationalLayerType",void 0),e([p({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}}}})],O.prototype,"popupEnabled",void 0),e([p({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],O.prototype,"popupTemplate",void 0),e([p({readOnly:!0})],O.prototype,"defaultPopupTemplate",null),e([p({readOnly:!0,type:[P]})],O.prototype,"fields",void 0),e([p({readOnly:!0,type:[P]})],O.prototype,"rasterFields",null),e([p({types:o,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy(){var e;const r="raster-stretch"===(null==(e=this.renderer)?void 0:e.type)&&"none"===this.renderer.stretchType&&!this.renderer.useGamma;return{enabled:!this.loaded||"Raster"===this.raster.tileType||!r}}},origins:{"web-scene":{types:i,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],O.prototype,"renderer",null),e([m("renderer")],O.prototype,"readRenderer",null),O=e([c("esri.layers.ImageryTileLayer")],O);const x=O;export{x 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{property as p}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{Integer as d}from"../core/accessorSupport/ensureType.js";import{enumeration as m}from"../core/accessorSupport/decorators/enumeration.js";import{reader as u}from"../core/accessorSupport/decorators/reader.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import h from"./Layer.js";import{BlendLayer as y}from"./mixins/BlendLayer.js";import{CustomParametersMixin as f}from"./mixins/CustomParametersMixin.js";import{ImageryTileMixin as v}from"./mixins/ImageryTileMixin.js";import{OperationalLayer as g}from"./mixins/OperationalLayer.js";import{PortalLayer as j}from"./mixins/PortalLayer.js";import{RefreshableLayer as b}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as T}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as S}from"./mixins/TemporalLayer.js";import{legendEnabled as I}from"./support/commonProperties.js";import w from"./support/Field.js";import{interpolationKebab as P}from"./support/rasterEnums.js";import R from"./support/TimeInfo.js";import O from"./support/rasterDatasets/RasterFactory.js";import{createPopupTemplate as x}from"../support/popupUtils.js";let N=class extends(y(T(g(j(f(v(S(b(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(){var e,r;let t=[new w({name:"Raster.ServicePixelValue",alias:"Pixel Value",domain:null,editable:!1,length:50,type:"string"})];const o=null==(e=this.rasterInfo)||null==(r=e.attributeTable)?void 0:r.fields,i="Raster.";if(o){const e=o.filter((e=>"oid"!==e.type&&"value"!==e.name.toLowerCase())).map((e=>{const r=e.clone();return r.name=i+e.name,r}));t=t.concat(e)}const s=this.rasterInfo.dataType;if(("vector-magdir"===s||"vector-uv"===s)&&a(this.rasterInfo.multidimensionalInfo)){var n;const e=null==(n=this.rasterInfo.multidimensionalInfo.variables[0].unit)?void 0:n.trim(),r="Magnitude"+(e?` (${e})`:"");t.push(new w({name:"Raster.Magnitude",alias:r,domain:null,editable:!1,type:"double"})),t.push(new w({name:"Raster.Direction",alias:"Direction (°)",domain:null,editable:!1,type:"double"}))}return t}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);this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON&&(this._set("version",this.sourceJSON.currentVersion),this._set("copyright",this.sourceJSON.copyrightText),this.sourceJSON.timeInfo&&this._set("timeInfo",R.fromJSON(this.sourceJSON.timeInfo))),null==this.title&&(this.title=this.raster.datasetName),"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.watch("customParameters",(e=>this.raster.ioConfig.customFetchParameters=e))}};e([p({type:[d],json:{write:{overridePolicy(){var e;return{enabled:!this.loaded||"Raster"===this.raster.tileType||"0,1,2"!==(null==(e=this.bandIds)?void 0:e.join(","))}}}}})],N.prototype,"bandIds",void 0),e([p({json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"bilinear"!==this.interpolation}}}}}),m(P)],N.prototype,"interpolation",void 0),e([p({json:{write:!0}})],N.prototype,"multidimensionalDefinition",void 0),e([p(I)],N.prototype,"legendEnabled",void 0),e([p({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],N.prototype,"isReference",void 0),e([p({type:["show","hide"]})],N.prototype,"listMode",void 0),e([p()],N.prototype,"sourceJSON",void 0),e([p({readOnly:!0})],N.prototype,"version",void 0),e([p()],N.prototype,"title",void 0),e([p({readOnly:!0,json:{read:!1}})],N.prototype,"type",void 0),e([p({type:["ArcGISTiledImageServiceLayer"]})],N.prototype,"operationalLayerType",void 0),e([p({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}}}})],N.prototype,"popupEnabled",void 0),e([p({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],N.prototype,"popupTemplate",void 0),e([p({readOnly:!0})],N.prototype,"defaultPopupTemplate",null),e([p({readOnly:!0,type:[w]})],N.prototype,"fields",void 0),e([p({readOnly:!0,type:[w]})],N.prototype,"rasterFields",null),e([p({types:o,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy(){var e;const r="raster-stretch"===(null==(e=this.renderer)?void 0:e.type)&&"none"===this.renderer.stretchType&&!this.renderer.useGamma;return{enabled:!this.loaded||"Raster"===this.raster.tileType||!r}}},origins:{"web-scene":{types:i,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],N.prototype,"renderer",null),e([u("renderer")],N.prototype,"readRenderer",null),N=e([c("esri.layers.ImageryTileLayer")],N);const J=N;export{J 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.22/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import t from"../request.js";import r from"../core/Error.js";import o from"../core/global.js";import{clone as i}from"../core/lang.js";import{MultiOriginJSONMixin as s}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as l,isAborted as a,createAbortController as n,onAbort as p}from"../core/promiseUtils.js";import{urlToObject as y,isProtocolRelative as c,normalize as u}from"../core/urlUtils.js";import{property as m}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{reader as h}from"../core/accessorSupport/decorators/reader.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import{writer as S}from"../core/accessorSupport/decorators/writer.js";import g from"../geometry/Extent.js";import f from"../geometry/SpatialReference.js";import v from"./Layer.js";import{ArcGISCachedService as _}from"./mixins/ArcGISCachedService.js";import{ArcGISService as b}from"./mixins/ArcGISService.js";import{BlendLayer as j}from"./mixins/BlendLayer.js";import{OperationalLayer as I}from"./mixins/OperationalLayer.js";import{PortalLayer as T}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as P}from"./mixins/ScaleRangeLayer.js";import{checkWebPSupport as w}from"./support/imageUtils.js";import L from"./support/SpriteSource.js";import x from"./support/TileInfo.js";import{TilemapCache as O}from"./support/TilemapCache.js";import{loadMetadata as R}from"./support/vectorTileLayerLoader.js";import{createForItem as U}from"../portal/support/jsonContext.js";import C from"../views/2d/engine/vectorTiles/SchemaHelper.js";import{areSchemasOverlapping as M,unionTileInfos as N}from"../views/2d/engine/vectorTiles/tileInfoUtils.js";import V from"../views/2d/engine/vectorTiles/style/StyleRepository.js";import D from"../views/webgl/capabilities.js";let B=class extends(j(P(_(b(I(T(s(v)))))))){constructor(...e){super(...e),this._spriteSourceMap=new Map,this.currentStyleInfo=null,this.style=null,this.isReference=null,this.operationalLayerType="VectorTileLayer",this.type="vector-tile",this.url=null,this.symbolCollisionBoxesVisible=!1}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this._spriteSourceMap.clear()}async prefetchResources(e){await this.loadSpriteSource(o.devicePixelRatio||1,e)}load(e){const r=this.loadFromPortal({supportedTypes:["Vector Tile Service"],supportsData:!1},e).catch(l).then((async()=>{if(!this.portalItem||!this.portalItem.id)return;const r=`${this.portalItem.itemUrl}/resources/styles/root.json`;(await t(r,{...e,query:{f:"json"}})).data&&this.read({url:r},U(this.portalItem))})).catch(l).then((()=>this._loadStyle(e)));return this.addResolvingPromise(r),Promise.resolve(this)}get attributionDataUrl(){const e=this.currentStyleInfo,t=e&&e.serviceUrl&&y(e.serviceUrl);return t?this._getDefaultAttribution(t.path):null}get capabilities(){const e=this._getPrimarySource();return e?e.capabilities:{operations:{supportsExportTiles:!1,supportsTileMap:!1},exportTiles:null}}get fullExtent(){const e=this._getPrimarySource();return e?e.fullExtent:null}get parsedUrl(){return this.serviceUrl?y(this.serviceUrl):null}get serviceUrl(){return this.currentStyleInfo&&this.currentStyleInfo.serviceUrl||null}get spatialReference(){return this.tileInfo&&this.tileInfo.spatialReference||null}get styleUrl(){return this.currentStyleInfo&&this.currentStyleInfo.styleUrl||null}writeStyleUrl(e,t){e&&c(e)&&(e=`https:${e}`),t.styleUrl=e}get tileIndexType(){const e=this._getPrimarySource();return e?e.type:""}get tileIndexUrl(){const e=this._getPrimarySource();return e?e.tileMapURL:""}get tileInfo(){var e;const t=[];for(const o in this.sourceNameToSource)t.push(this.sourceNameToSource[o]);let r=(null==(e=this._getPrimarySource())?void 0:e.tileInfo)||new x;if(t.length>1)for(let o=0;o<t.length;o++)M(r,t[o].tileInfo)&&(r=N(r,t[o].tileInfo));return r}get tilemapCache(){const e=this._getPrimarySource();return e&&e.capabilities.operations.supportsTileMap?e.tilemapCache:null}get tileServers(){const e=this._getPrimarySource();return e?e.tileServers:[]}readVersion(e,t){return t.version?parseFloat(t.version):parseFloat(t.currentVersion)}get compatibleTileInfo256(){return C.create256x256CompatibleTileInfo(this.tileInfo)}get compatibleTileInfo512(){return C.create512x512CompatibleTileInfo(this.tileInfo)}async loadSpriteSource(e=1,t){if(!this._spriteSourceMap.has(e)){const r=D(),o=new L(this.styleRepository.sprite,e,r.maxTextureSize,this.currentStyleInfo.spriteFormat);await o.load(t),this._spriteSourceMap.set(e,o)}return Promise.resolve(this._spriteSourceMap.get(e))}async loadStyle(e,t){const r=e||this.style||this.url;if(this._loadingPromise&&"string"==typeof r&&this.url===r&&!a(this._abortController))return this._loadingPromise;const o=this._abortController;o&&o.abort();const i=n();return this._loadingPromise=new Promise(((e,o)=>{const s={signal:i.signal};this._spriteSourceMap.clear(),this._getSourceAndStyle(r,s).then(e,o),p(t,(()=>{i.abort()}))})),this._abortController=i,this._loadingPromise}getStyleLayerId(e){return this.styleRepository.getStyleLayerId(e)}getStyleLayerIndex(e){return this.styleRepository.getStyleLayerIndex(e)}getPaintProperties(e){return i(this.styleRepository.getPaintProperties(e))}setPaintProperties(e,t){const r=this.styleRepository.isPainterDataDriven(e);this.styleRepository.setPaintProperties(e,t);const o=this.styleRepository.isPainterDataDriven(e);this.emit("paint-change",{layer:e,paint:t,isDataDriven:r||o})}getStyleLayer(e){return i(this.styleRepository.getStyleLayer(e))}setStyleLayer(e,t){this.styleRepository.setStyleLayer(e,t),this.emit("style-layer-change",{layer:e,index:t})}deleteStyleLayer(e){this.styleRepository.deleteStyleLayer(e),this.emit("delete-style-layer",{layer:e})}getLayoutProperties(e){return i(this.styleRepository.getLayoutProperties(e))}setLayoutProperties(e,t){this.styleRepository.setLayoutProperties(e,t),this.emit("layout-change",{layer:e,layout:t})}setStyleLayerVisibility(e,t){this.styleRepository.setStyleLayerVisibility(e,t),this.emit("style-layer-visibility-change",{layer:e,visibility:t})}getStyleLayerVisibility(e){return this.styleRepository.getStyleLayerVisibility(e)}getTileUrl(e,t,r){let o=this.tileServers[t%this.tileServers.length];return o=o.replace(/\{z\}/gi,e.toString()).replace(/\{y\}/gi,t.toString()).replace(/\{x\}/gi,r.toString()),o}write(e,t){return t&&t.origin&&!this.styleUrl?(t.messages&&t.messages.push(new r("vectortilelayer:unsupported",`VectorTileLayer (${this.title}, ${this.id}) with style defined by JSON only are not supported`,{layer:this})),null):super.write(e,t)}async _getSourceAndStyle(e,t){if(!e)throw new Error("invalid style!");const r=await R(e,t);if("webp"===r.spriteFormat){await w("lossy")||(r.spriteFormat="png")}this._set("currentStyleInfo",{...r}),"string"==typeof e?(this.url=e,this.style=null):(this.url=null,this.style=e),this._set("sourceNameToSource",r.sourceNameToSource),this._set("primarySourceName",r.primarySourceName),this._set("styleRepository",new V(r.style,r)),this.read(r.layerDefinition,{origin:"service"}),this.emit("load-style",{})}_getDefaultAttribution(e){const t=e.match(/^https?:\/\/(?:basemaps|basemapsbeta|basemapsdev)(?:-api)?\.arcgis\.com(\/[^\/]+)?\/arcgis\/rest\/services\/([^\/]+(\/[^\/]+)*)\/vectortileserver/i),r=["OpenStreetMap_v2","OpenStreetMap_Daylight_v2","OpenStreetMap_Export_v2","OpenStreetMap_FTS_v2","OpenStreetMap_GCS_v2","World_Basemap","World_Basemap_v2","World_Basemap_Export_v2","World_Basemap_GCS_v2","World_Basemap_WGS84","World_Contours_v2"];if(!t)return;const o=t[2]&&t[2].toLowerCase();if(!o)return;const i=t[1]||"";for(const s of r)if(s.toLowerCase().indexOf(o)>-1)return u(`//static.arcgis.com/attribution/Vector${i}/${s}`)}_getPrimarySource(){return this.sourceNameToSource&&this.primarySourceName in this.sourceNameToSource?this.sourceNameToSource[this.primarySourceName]:null}async _loadStyle(e){return this._loadingPromise?this._loadingPromise:this.loadStyle(null,e)}};e([m({readOnly:!0})],B.prototype,"attributionDataUrl",null),e([m({type:["show","hide"]})],B.prototype,"listMode",void 0),e([m({readOnly:!0,dependsOn:["sourceNameToSource","primarySourceName"],json:{read:!1}})],B.prototype,"capabilities",null),e([m({readOnly:!0})],B.prototype,"currentStyleInfo",void 0),e([m({json:{read:!1},readOnly:!0,type:g})],B.prototype,"fullExtent",null),e([m()],B.prototype,"style",void 0),e([m({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],B.prototype,"isReference",void 0),e([m({type:["VectorTileLayer"]})],B.prototype,"operationalLayerType",void 0),e([m({readOnly:!0})],B.prototype,"parsedUrl",null),e([m({readOnly:!0})],B.prototype,"serviceUrl",null),e([m({type:f,readOnly:!0})],B.prototype,"spatialReference",null),e([m({readOnly:!0})],B.prototype,"styleRepository",void 0),e([m({readOnly:!0})],B.prototype,"sourceNameToSource",void 0),e([m({readOnly:!0})],B.prototype,"primarySourceName",void 0),e([m({type:String,readOnly:!0,json:{write:{ignoreOrigin:!0},origins:{"web-document":{write:{ignoreOrigin:!0,isRequired:!0}}}}})],B.prototype,"styleUrl",null),e([S(["portal-item","web-document"],"styleUrl")],B.prototype,"writeStyleUrl",null),e([m({json:{read:!1},readOnly:!0})],B.prototype,"tileIndexType",null),e([m({json:{read:!1},readOnly:!0})],B.prototype,"tileIndexUrl",null),e([m({json:{read:!1,origins:{service:{read:!1}}},readOnly:!0,type:x})],B.prototype,"tileInfo",null),e([m({json:{read:!1},readOnly:!0,type:O})],B.prototype,"tilemapCache",null),e([m({json:{read:!1},readOnly:!0})],B.prototype,"tileServers",null),e([m({json:{read:!1},readOnly:!0,value:"vector-tile"})],B.prototype,"type",void 0),e([m({json:{origins:{"web-document":{read:{source:"styleUrl"}},"portal-item":{read:{source:"url"}}},write:!1,read:!1}})],B.prototype,"url",void 0),e([m({readOnly:!0})],B.prototype,"version",void 0),e([h("version",["version","currentVersion"])],B.prototype,"readVersion",null),e([m({readOnly:!0})],B.prototype,"compatibleTileInfo256",null),e([m({readOnly:!0})],B.prototype,"compatibleTileInfo512",null),e([m({type:Boolean})],B.prototype,"symbolCollisionBoxesVisible",void 0),B=e([d("esri.layers.VectorTileLayer")],B);const E=B;export{E as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../request.js";import r from"../core/Error.js";import o from"../core/global.js";import{clone as i}from"../core/lang.js";import{MultiOriginJSONMixin as s}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as l,isAborted as a,onAbort as n}from"../core/promiseUtils.js";import{urlToObject as p,isProtocolRelative as y,normalize as c}from"../core/urlUtils.js";import{property as u}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{reader as m}from"../core/accessorSupport/decorators/reader.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import{writer as d}from"../core/accessorSupport/decorators/writer.js";import S from"../geometry/Extent.js";import g from"../geometry/SpatialReference.js";import f from"./Layer.js";import{ArcGISCachedService as v}from"./mixins/ArcGISCachedService.js";import{ArcGISService as _}from"./mixins/ArcGISService.js";import{BlendLayer as b}from"./mixins/BlendLayer.js";import{OperationalLayer as j}from"./mixins/OperationalLayer.js";import{PortalLayer as I}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as T}from"./mixins/ScaleRangeLayer.js";import{checkWebPSupport as w}from"./support/imageUtils.js";import P from"./support/SpriteSource.js";import L from"./support/TileInfo.js";import{TilemapCache as x}from"./support/TilemapCache.js";import{loadMetadata as O}from"./support/vectorTileLayerLoader.js";import{createForItem as R}from"../portal/support/jsonContext.js";import U from"../views/2d/engine/vectorTiles/SchemaHelper.js";import{areSchemasOverlapping as C,unionTileInfos as M}from"../views/2d/engine/vectorTiles/tileInfoUtils.js";import N from"../views/2d/engine/vectorTiles/style/StyleRepository.js";import V from"../views/webgl/capabilities.js";let D=class extends(b(T(v(_(j(I(s(f)))))))){constructor(...e){super(...e),this._spriteSourceMap=new Map,this.currentStyleInfo=null,this.style=null,this.isReference=null,this.operationalLayerType="VectorTileLayer",this.type="vector-tile",this.url=null,this.symbolCollisionBoxesVisible=!1}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this._spriteSourceMap.clear()}async prefetchResources(e){await this.loadSpriteSource(o.devicePixelRatio||1,e)}load(e){const r=this.loadFromPortal({supportedTypes:["Vector Tile Service"],supportsData:!1},e).catch(l).then((async()=>{if(!this.portalItem||!this.portalItem.id)return;const r=`${this.portalItem.itemUrl}/resources/styles/root.json`;(await t(r,{...e,query:{f:"json"}})).data&&this.read({url:r},R(this.portalItem))})).catch(l).then((()=>this._loadStyle(e)));return this.addResolvingPromise(r),Promise.resolve(this)}get attributionDataUrl(){const e=this.currentStyleInfo,t=e&&e.serviceUrl&&p(e.serviceUrl);return t?this._getDefaultAttribution(t.path):null}get capabilities(){const e=this._getPrimarySource();return e?e.capabilities:{operations:{supportsExportTiles:!1,supportsTileMap:!1},exportTiles:null}}get fullExtent(){const e=this._getPrimarySource();return e?e.fullExtent:null}get parsedUrl(){return this.serviceUrl?p(this.serviceUrl):null}get serviceUrl(){return this.currentStyleInfo&&this.currentStyleInfo.serviceUrl||null}get spatialReference(){return this.tileInfo&&this.tileInfo.spatialReference||null}get styleUrl(){return this.currentStyleInfo&&this.currentStyleInfo.styleUrl||null}writeStyleUrl(e,t){e&&y(e)&&(e=`https:${e}`),t.styleUrl=e}get tileIndexType(){const e=this._getPrimarySource();return e?e.type:""}get tileIndexUrl(){const e=this._getPrimarySource();return e?e.tileMapURL:""}get tileInfo(){var e;const t=[];for(const o in this.sourceNameToSource)t.push(this.sourceNameToSource[o]);let r=(null==(e=this._getPrimarySource())?void 0:e.tileInfo)||new L;if(t.length>1)for(let o=0;o<t.length;o++)C(r,t[o].tileInfo)&&(r=M(r,t[o].tileInfo));return r}get tilemapCache(){const e=this._getPrimarySource();return e&&e.capabilities.operations.supportsTileMap?e.tilemapCache:null}get tileServers(){const e=this._getPrimarySource();return e?e.tileServers:[]}readVersion(e,t){return t.version?parseFloat(t.version):parseFloat(t.currentVersion)}get compatibleTileInfo256(){return U.create256x256CompatibleTileInfo(this.tileInfo)}get compatibleTileInfo512(){return U.create512x512CompatibleTileInfo(this.tileInfo)}async loadSpriteSource(e=1,t){if(!this._spriteSourceMap.has(e)){const r=V(),o=new P(this.styleRepository.sprite,e,r.maxTextureSize,this.currentStyleInfo.spriteFormat);await o.load(t),this._spriteSourceMap.set(e,o)}return Promise.resolve(this._spriteSourceMap.get(e))}async loadStyle(e,t){const r=e||this.style||this.url;if(this._loadingPromise&&"string"==typeof r&&this.url===r&&!a(this._abortController))return this._loadingPromise;const o=this._abortController;o&&o.abort();const i=new AbortController;return this._loadingPromise=new Promise(((e,o)=>{const s={signal:i.signal};this._spriteSourceMap.clear(),this._getSourceAndStyle(r,s).then(e,o),n(t,(()=>{i.abort()}))})),this._abortController=i,this._loadingPromise}getStyleLayerId(e){return this.styleRepository.getStyleLayerId(e)}getStyleLayerIndex(e){return this.styleRepository.getStyleLayerIndex(e)}getPaintProperties(e){return i(this.styleRepository.getPaintProperties(e))}setPaintProperties(e,t){const r=this.styleRepository.isPainterDataDriven(e);this.styleRepository.setPaintProperties(e,t);const o=this.styleRepository.isPainterDataDriven(e);this.emit("paint-change",{layer:e,paint:t,isDataDriven:r||o})}getStyleLayer(e){return i(this.styleRepository.getStyleLayer(e))}setStyleLayer(e,t){this.styleRepository.setStyleLayer(e,t),this.emit("style-layer-change",{layer:e,index:t})}deleteStyleLayer(e){this.styleRepository.deleteStyleLayer(e),this.emit("delete-style-layer",{layer:e})}getLayoutProperties(e){return i(this.styleRepository.getLayoutProperties(e))}setLayoutProperties(e,t){this.styleRepository.setLayoutProperties(e,t),this.emit("layout-change",{layer:e,layout:t})}setStyleLayerVisibility(e,t){this.styleRepository.setStyleLayerVisibility(e,t),this.emit("style-layer-visibility-change",{layer:e,visibility:t})}getStyleLayerVisibility(e){return this.styleRepository.getStyleLayerVisibility(e)}getTileUrl(e,t,r){let o=this.tileServers[t%this.tileServers.length];return o=o.replace(/\{z\}/gi,e.toString()).replace(/\{y\}/gi,t.toString()).replace(/\{x\}/gi,r.toString()),o}write(e,t){return t&&t.origin&&!this.styleUrl?(t.messages&&t.messages.push(new r("vectortilelayer:unsupported",`VectorTileLayer (${this.title}, ${this.id}) with style defined by JSON only are not supported`,{layer:this})),null):super.write(e,t)}async _getSourceAndStyle(e,t){if(!e)throw new Error("invalid style!");const r=await O(e,t);if("webp"===r.spriteFormat){await w("lossy")||(r.spriteFormat="png")}this._set("currentStyleInfo",{...r}),"string"==typeof e?(this.url=e,this.style=null):(this.url=null,this.style=e),this._set("sourceNameToSource",r.sourceNameToSource),this._set("primarySourceName",r.primarySourceName),this._set("styleRepository",new N(r.style,r)),this.read(r.layerDefinition,{origin:"service"}),this.emit("load-style",{})}_getDefaultAttribution(e){const t=e.match(/^https?:\/\/(?:basemaps|basemapsbeta|basemapsdev)(?:-api)?\.arcgis\.com(\/[^\/]+)?\/arcgis\/rest\/services\/([^\/]+(\/[^\/]+)*)\/vectortileserver/i),r=["OpenStreetMap_v2","OpenStreetMap_Daylight_v2","OpenStreetMap_Export_v2","OpenStreetMap_FTS_v2","OpenStreetMap_GCS_v2","World_Basemap","World_Basemap_v2","World_Basemap_Export_v2","World_Basemap_GCS_v2","World_Basemap_WGS84","World_Contours_v2"];if(!t)return;const o=t[2]&&t[2].toLowerCase();if(!o)return;const i=t[1]||"";for(const s of r)if(s.toLowerCase().indexOf(o)>-1)return c(`//static.arcgis.com/attribution/Vector${i}/${s}`)}_getPrimarySource(){return this.sourceNameToSource&&this.primarySourceName in this.sourceNameToSource?this.sourceNameToSource[this.primarySourceName]:null}async _loadStyle(e){return this._loadingPromise?this._loadingPromise:this.loadStyle(null,e)}};e([u({readOnly:!0})],D.prototype,"attributionDataUrl",null),e([u({type:["show","hide"]})],D.prototype,"listMode",void 0),e([u({readOnly:!0,dependsOn:["sourceNameToSource","primarySourceName"],json:{read:!1}})],D.prototype,"capabilities",null),e([u({readOnly:!0})],D.prototype,"currentStyleInfo",void 0),e([u({json:{read:!1},readOnly:!0,type:S})],D.prototype,"fullExtent",null),e([u()],D.prototype,"style",void 0),e([u({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],D.prototype,"isReference",void 0),e([u({type:["VectorTileLayer"]})],D.prototype,"operationalLayerType",void 0),e([u({readOnly:!0})],D.prototype,"parsedUrl",null),e([u({readOnly:!0})],D.prototype,"serviceUrl",null),e([u({type:g,readOnly:!0})],D.prototype,"spatialReference",null),e([u({readOnly:!0})],D.prototype,"styleRepository",void 0),e([u({readOnly:!0})],D.prototype,"sourceNameToSource",void 0),e([u({readOnly:!0})],D.prototype,"primarySourceName",void 0),e([u({type:String,readOnly:!0,json:{write:{ignoreOrigin:!0},origins:{"web-document":{write:{ignoreOrigin:!0,isRequired:!0}}}}})],D.prototype,"styleUrl",null),e([d(["portal-item","web-document"],"styleUrl")],D.prototype,"writeStyleUrl",null),e([u({json:{read:!1},readOnly:!0})],D.prototype,"tileIndexType",null),e([u({json:{read:!1},readOnly:!0})],D.prototype,"tileIndexUrl",null),e([u({json:{read:!1,origins:{service:{read:!1}}},readOnly:!0,type:L})],D.prototype,"tileInfo",null),e([u({json:{read:!1},readOnly:!0,type:x})],D.prototype,"tilemapCache",null),e([u({json:{read:!1},readOnly:!0})],D.prototype,"tileServers",null),e([u({json:{read:!1},readOnly:!0,value:"vector-tile"})],D.prototype,"type",void 0),e([u({json:{origins:{"web-document":{read:{source:"styleUrl"}},"portal-item":{read:{source:"url"}}},write:!1,read:!1}})],D.prototype,"url",void 0),e([u({readOnly:!0})],D.prototype,"version",void 0),e([m("version",["version","currentVersion"])],D.prototype,"readVersion",null),e([u({readOnly:!0})],D.prototype,"compatibleTileInfo256",null),e([u({readOnly:!0})],D.prototype,"compatibleTileInfo512",null),e([u({type:Boolean})],D.prototype,"symbolCollisionBoxesVisible",void 0),D=e([h("esri.layers.VectorTileLayer")],D);const B=D;export{B 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.22/esri/copyright.txt for details.
4
4
  */
5
- import e from"../request.js";import t from"../core/Logger.js";import{clamp as s}from"../core/mathUtils.js";import{isSome as i,removeMaybe as r}from"../core/maybe.js";import{isAbortError as n,createAbortController as a}from"../core/promiseUtils.js";import{react as l}from"../core/reactiveUtils.js";import{w as o,n as h,i as d,s as c,a as _,d as u,b as g}from"../chunks/vec3.js";import{c as x}from"../chunks/vec3f64.js";import{loadVoxelWASM as v}from"../libs/vxl/VxlModule.js";import{IntersectorResult as m}from"../views/3d/webgl-engine/lib/intersectorUtils.js";const p=t.getLogger(" esri.layers.VoxelWasmPerScene");class b{constructor(e){this._useDepthPass=!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=0,this._renderSlot=3,this._rctx=null,this._renderTargetToRestore=null,this._wasmMemBlockSizes=[512,1024,2048,4096,8192,16384,32768,65536],this._wasmMemBlocks=new Map,this._dbgFlags=new Set,this._dbgFlags.add(4),this._view=e,this.initialize()}get canRender(){return!!this._vxl&&"local"===this._view.viewingMode}dbg(e,t){this._dbgFlags.has(e)&&(4===e?p.error(t):p.warn(t))}removeRenderPlugin(){this._pluginIsActive&&this._view._stage&&(this.dbg(1,"--removeRenderPlugin--"),this._view._stage.removeRenderPlugin(this)),this._pluginIsActive=!1}initialize(){this.dbg(1,"--initialize--");for(const e of this._wasmMemBlockSizes)this._wasmMemBlocks.set(e,0);this._readyWatchHandle=l((()=>this._view.ready),(e=>{e&&"local"===this._view.viewingMode?(this.dbg(1,"view ready status changed to ready on a local view, calling addRenderPlugin"),this._view._stage.addRenderPlugin([this._renderSlot],this),this._pluginIsActive=!0):(this.dbg(1,"view ready status changed, not ready or not a local view!"),this.removeRenderPlugin())}),{initial:!0}),this._qualityWatchHandle=l((()=>{var e;return null==(e=this._view)?void 0:e.qualityProfile}),(e=>{this.dbg(3,"qualityProfile changed to "+e),this._vxl&&this._vxl.set_quality(this.toWasmQuality(e))}),{initial:!0}),this._timeExtentWatchHandle=l((()=>{var e;return null==(e=this._view)?void 0:e.timeExtent}),(()=>{if(this._vxl){var e;const t=this._getTimeArgs(null==(e=this._view)?void 0:e.timeExtent);this.dbg(3,"sceneView timeExtent changed to useTime="+t.useTime+" st="+t.startTime+" et="+t.endTime),this._vxl.set_scene_time_extent(t.startTime,t.endTime,t.useTime),this._renderPluginContext.requestRender()}}),{initial:!0})}initializeRenderContext(e){this.dbg(1,"--initializeRenderContext--");const t=e.renderContext.rctx;"webgl2"===t.webglVersion?(this._renderPluginContext=e,this._rctx=e.renderContext.rctx,this.initializeWasm(t.gl)):this.dbg(4,"WebGL 1 context only!")}uninitializeRenderContext(){this._renderPluginContext=null,this._rctx=null,this.dbg(1,"--uninitializeRenderContext--")}restoreFramebuffer(){if(!this._renderTargetToRestore)return;const e=this._renderTargetToRestore.fbo;if(!!!this._rctx)return void this.dbg(4,"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 s=!!this._rctx,i=!!this._renderTargetToRestore;if(!s||!i)return 0;const r=this._renderTargetToRestore.fbo.depthStencilTexture;return r?(0===t?this._rctx.bindTexture(null,e,!0):this._rctx.bindTexture(r,e,!0),1):(this.dbg(4,"no depth/stencil texture exists!"),0)}setBlendState(e,t,s,i){this._rctx?(this._rctx.setBlendingEnabled(1===e),this._rctx.setBlendFunction(t,s),this._rctx.setBlendEquation(i)):this.dbg(4,"setBlendState callback has no rendering context!")}setFrontFace(e){this._rctx?this._rctx.setFrontFace(e):this.dbg(4,"setFrontFace callback has no rendering context!")}setDepthStencilStateFunction(e,t,s){this._rctx?(this._rctx.setDepthFunction(s),this._rctx.setDepthTestEnabled(1===e),this._rctx.setDepthWriteEnabled(1===t),this._rctx.setStencilTestEnabled(!1),this._rctx.setStencilFunction(519,0,255),this._rctx.setStencilOpSeparate(1028,7680,7682,7680),this._rctx.setStencilOpSeparate(1029,7680,7683,7680)):this.dbg(4,"setDepthStencilStateFunction callback has no rendering context!")}setRasterizerState(e){if(this._rctx)switch(e){case 1:this._rctx.setFaceCullingEnabled(!1);break;case 3:this._rctx.setCullFace(1029),this._rctx.setFaceCullingEnabled(!0);break;case 2:this._rctx.setCullFace(1028),this._rctx.setFaceCullingEnabled(!0)}else this.dbg(4,"setRasterizerState callback has no rendering context!")}setViewport(e,t,s,i){this._rctx?this._rctx.setViewport(e,t,s,i):this.dbg(4,"setViewport callback has no rendering context!")}_syncRequestsResponses(){this._layers.forEach(((t,s)=>{const i=[];t.responses.forEach(((e,t)=>{i.push(t),this.dbg(2,"responding for requestID:"+t+" size:"+e.size),this._vxl.respond(s,t,e)}));const r=t.responses;for(const e of i)r.delete(e);const a=this._vxl.get_new_requests(s),l=t.abortController.signal;for(const o in a){t.outstandingRequestCount+=1,1===t.outstandingRequestCount&&t.layerView.updatingFlagChanged();const s=a[o],i={responseType:"array-buffer",signal:l};this.dbg(2,"making requestID:"+o+" url:"+s.url),e(s.url,i).then((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),this.dbg(2,"have response for requestID:"+o);let i=0;if(e.data.byteLength>0){i=this._vxl._malloc(e.data.byteLength);const t=new Uint8Array(this._vxl.HEAPU8.buffer,i,e.data.byteLength),s=new Uint8Array(e.data);for(let i=0;i<e.data.byteLength;++i)t[i]=s[i]}r.set(+o,{type:s.type,ptr:i,size:e.data.byteLength,success:!0})})).catch((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),n(e)||(this.dbg(4,`requestID:${o} failed, error=${e.toString()}`),r.set(+o,{type:s.type,ptr:0,size:0,success:!1}))}))}}))}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(((s,i)=>{s.layerView===e&&(this._vxl.set_enabled(i,t),this._renderPluginContext.requestRender())}))}setSlices(e,t){const s={mask:2,slices:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,s,!0)}setDynamicSections(e,t){const s={mask:4,dynamicSections:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,s,!0)}setStaticSections(e,t){const s={mask:1,staticSections:t};return this._doMaskedUIUpdate(e,s,!0)}setCurrentVariable(e,t){const s={mask:1024,currentVariable:t};return this._doMaskedUIUpdate(e,s,!0)}setRenderMode(e,t){const s={mask:8192,renderMode:t};return this._doMaskedUIUpdate(e,s,!0)}_doMaskedUIUpdate(e,t,s){if(!this._vxl)return!1;let i=!1;return this._layers.forEach(((s,r)=>{if(s.layerView===e){const e={str:JSON.stringify(t),byteCount:0,ptr:0,isReusable:!1};this._AllocateBlock(e)&&(i=1===this._vxl.handle_masked_ui_update(r,e.ptr,e.byteCount),e.isReusable||this._vxl._free(e.ptr))}})),i&&s&&this._renderPluginContext.requestRender(),i}addVoxelLayer(e){if(!this._vxl){const t={layerView:e,resolveCallback:null,rejectCallback:null},s=new Promise(((e,s)=>{t.resolveCallback=e,t.rejectCallback=s}));return this._newLayers.push(t),s}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===t.layerView));t>=0&&(this._newLayers[t].resolveCallback(-1),this._newLayers.splice(t,1));const s=this._newLayers.length;return 0===s&&(this.dbg(1," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),s}let t=-1;this._layers.forEach(((s,i)=>{s.layerView===e&&(t=i,s.abortController.abort(),this._vxl.remove_layer(t))})),t>=0&&this._layers.delete(t);const s=this._layers.size;return 0===s&&(this.dbg(1," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),s}_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,r=!1;return i(e)&&(e.isAllTime?r=!0:(i(e.start)&&(r=!0,t=e.start.getTime()/1e3),i(e.end)&&(r=!0,s=e.end.getTime()/1e3))),{startTime:t,endTime:s,useTime:r}}_addVoxelLayer(e){var t;const s=e.layer;let i=-1;const r=s.getConfiguration();if(r.length<1)return-1;const n={str:r,byteCount:0,ptr:0,isReusable:!1};if(!this._AllocateBlock(n))return-1;const l=this._getTimeArgs(null==(t=this._view)?void 0:t.timeExtent),o=this._view.spatialReference.isWGS84&&s.spatialReference.isWGS84?111319.49079327357:1;if(i=this._vxl.add_layer(s.serviceRoot,n.ptr,n.byteCount,o,o,l.startTime,l.endTime,l.useTime),n.isReusable||this._vxl._free(n.ptr),i>=0){const t=a();return this._layers.set(i,{layerView:e,responses:new Map,outstandingRequestCount:0,abortController:t}),i}return-1}prepareRender(e){if(!this._vxl)return;const t=e.viewForward,s=e.eye;this._vxl.update_camera_pos_and_direction(s[0],s[1],s[2],t[0],t[1],t[2]);const i=this._vxl.cull();this.dbg(2,"missingResourceCount="+i),this._moreToLoad=i>0,this._havePreparedWithAllLayers=0===this._newLayers.length}render(e){if(!this._vxl)return!1;for(const s of this._newLayers){const e=this._addVoxelLayer(s.layerView);-1===e?s.rejectCallback(-1):s.resolveCallback(e)}if(this._newLayers=[],e.pass!==this._renderPass)return!1;if(e.slot!==this._renderSlot)return!1;if(0===this._layers.size)return this.dbg(4,"No voxel layers but RenderPlugin instance is being asked to render!"),!0;this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()},this._syncRequestsResponses(),this._vxl.begin_frame();const t=this._renderTargetToRestore.viewport;return t.width===this._viewportWidth&&t.height===this._viewportHeight||(this._viewportWidth=t.width,this._viewportHeight=t.height,this._vxl.set_viewport(t.width,t.height)),0===t.x&&0===t.y||this.dbg(4,"Unsupported viewport parameters detected!"),this.updateWasmCamera(e.camera),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._moreToLoad||!this._havePreparedWithAllLayers&&this._layers.size>0)&&this._renderPluginContext.requestRender(),!0}queryDepthRange(e){this.dbg(1,"--queryDepthRange--");const t=e.viewForward,s=e.eye;this._vxl.update_camera_pos_and_direction(s[0],s[1],s[2],t[0],t[1],t[2]),this._vxl.cull();const i={near:5,far:1e4};return i.near=this._vxl.get_near(),i.far=this._vxl.get_far(),i}destroy(){this.dbg(1,"--destroy--"),this.removeRenderPlugin(),this._readyWatchHandle=r(this._readyWatchHandle),this._qualityWatchHandle=r(this._qualityWatchHandle),this._timeExtentWatchHandle=r(this._timeExtentWatchHandle),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=v(e).then((e=>{var t;if(this._vxl=e,this._vxlPromise=null,this._newLayers.length<=0)return this.dbg(1," no voxel layers left after WASM downloaded, removing RenderPlugin and destroying"),void this.destroy();const s=this._getTimeArgs(null==(t=this._view)?void 0:t.timeExtent),i=this._vxl.addFunction(this.restoreFramebuffer.bind(this),"v"),r=this._vxl.addFunction(this.setBlendState.bind(this),"viiii"),n=this._vxl.addFunction(this.setFrontFace.bind(this),"vi"),a=this._vxl.addFunction(this.setRasterizerState.bind(this),"vi"),l=this._vxl.addFunction(this.setDepthStencilStateFunction.bind(this),"viii"),o=this._vxl.addFunction(this.setViewport.bind(this),"viiii"),h=this._vxl.addFunction(this.bindPreviousDepthToSlot.bind(this),"iii");this._vxl.initialize_voxel_wasm(i,r,n,a,l,o,h,s.startTime,s.endTime,s.useTime),this._vxl.set_quality(this.toWasmQuality(this._view.qualityProfile)),this._renderPluginContext&&this._renderPluginContext.requestRender()})).catch((()=>{for(const e of this._newLayers)e.rejectCallback(-2);this.dbg(4," WASM failed to download, removing RenderPlugin and destroying"),this.destroy()}))),this._vxlPromise)}get type(){return"external"}get isGround(){return!1}get slicePlane(){return!1}get intersectionHandlerId(){return"unj"}intersect(e,t,s,i,r){if(!this._vxl)return;if(!this._rctx)return;if(0===this._layers.size)return;if(r[0]<0||r[0]>e.camera.viewport[2]||r[1]<0||r[1]>e.camera.viewport[3])return;this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()};const n=e.camera.viewForward,a=e.camera.eye;this._vxl.update_camera_pos_and_direction(a[0],a[1],a[2],n[0],n[1],n[2]),this.updateWasmCamera(e.camera),this._vxl.begin_frame(),this._useDepthPass?this.intersectDepth(e,t,s,i,r):this.intersectObject(e,t,s,i,r),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()}intersectObject(e,t,i,r,n){const a=this._vxl.pick_object(n[0],n[1]);if(a.success){const n=x();o(n,r,i),h(n,n);const l=d(i,r),v=x();c(v,a.worldX,a.worldY,a.worldZ);const p=x();o(p,v,i);const b=x();_(b,n,u(p,n));const y=x();g(y,i,b);const f=d(i,y),w=s(f/l,0,1),R=e=>{e.intersector="Voxel",e.dist=w,e.target={type:"external",metadata:{layerUid:this.intersectionHandlerId}}},T=e.results.min;(null==T.dist||w<T.dist)&&(null==t||t(i,r,w))&&R(T);const C=e.results.max;if(0!==e.options.store&&(null==C.dist||w>C.dist)&&(null==t||t(i,r,w))&&R(C),2===e.options.store){const t=new m(e.ray);R(t),e.results.all.push(t)}}}intersectDepth(e,t,i,r,n){const a=this._vxl.pick_depth(n[0],n[1]);if(a.success){const n=x();o(n,r,i),h(n,n);const l=d(i,r),v=x();c(v,a.worldX,a.worldY,a.worldZ);const p=x();o(p,v,i);const b=x();_(b,n,u(p,n));const y=x();g(y,i,b);const f=d(i,y),w=s(f/l,0,1),R=e=>{e.intersector="Voxel",e.dist=w,e.target={type:"external",metadata:{layerUid:this.intersectionHandlerId}}},T=e.results.min;(null==T.dist||w<T.dist)&&(null==t||t(i,r,w))&&R(T);const C=e.results.max;if(0!==e.options.store&&(null==C.dist||w>C.dist)&&(null==t||t(i,r,w))&&R(C),2===e.options.store){const t=new m(e.ray);R(t),e.results.all.push(t)}}}toWasmQuality(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}}export{b as default};
5
+ import e from"../request.js";import t from"../core/Logger.js";import{clamp as s}from"../core/mathUtils.js";import{isSome as i,removeMaybe as r}from"../core/maybe.js";import{isAbortError as n}from"../core/promiseUtils.js";import{react as a}from"../core/reactiveUtils.js";import{w as l,n as o,i as h,s as d,a as c,d as _,b as u}from"../chunks/vec3.js";import{c as x}from"../chunks/vec3f64.js";import{loadVoxelWASM as g}from"../libs/vxl/VxlModule.js";import{IntersectorResult as v}from"../views/3d/webgl-engine/lib/intersectorUtils.js";const m=t.getLogger("esri.layers.VoxelWasmPerScene");class p{constructor(e){this._halfIntTexturesAvailable=!1,this._useDepthPass=!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=0,this._renderSlot=3,this._rctx=null,this._renderTargetToRestore=null,this._wasmMemBlockSizes=[512,1024,2048,4096,8192,16384,32768,65536],this._wasmMemBlocks=new Map,this._dbgFlags=new Set,this._dbgFlags.add(4),this._view=e,this.initialize()}get canRender(){return!!this._vxl&&"local"===this._view.viewingMode}dbg(e,t){this._dbgFlags.has(e)&&(4===e?m.error(t):m.warn(t))}removeRenderPlugin(){this._pluginIsActive&&this._view._stage&&(this.dbg(1,"--removeRenderPlugin--"),this._view._stage.removeRenderPlugin(this)),this._pluginIsActive=!1}initialize(){this.dbg(1,"--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(1,"view ready status changed to ready on a local view, calling addRenderPlugin"),this._view._stage.addRenderPlugin([this._renderSlot],this),this._pluginIsActive=!0):(this.dbg(1,"view ready status changed, not ready or not a local view!"),this.removeRenderPlugin())}),{initial:!0}),this._qualityWatchHandle=a((()=>{var e;return null==(e=this._view)?void 0:e.qualityProfile}),(e=>{this.dbg(3,"qualityProfile changed to "+e),this._vxl&&this._vxl.set_quality(this.toWasmQuality(e))}),{initial:!0}),this._timeExtentWatchHandle=a((()=>{var e;return null==(e=this._view)?void 0:e.timeExtent}),(()=>{if(this._vxl){var e;const t=this._getTimeArgs(null==(e=this._view)?void 0:e.timeExtent);this.dbg(3,"sceneView timeExtent changed to useTime="+t.useTime+" st="+t.startTime+" et="+t.endTime),this._vxl.set_scene_time_extent(t.startTime,t.endTime,t.useTime),this._renderPluginContext.requestRender()}}),{initial:!0})}initializeRenderContext(e){this.dbg(1,"--initializeRenderContext--");const t=e.renderContext.rctx;"webgl2"===t.webglVersion?(this._renderPluginContext=e,this._rctx=e.renderContext.rctx,this._halfIntTexturesAvailable=!!this._rctx.capabilities.textureNorm16,this.initializeWasm(t.gl)):this.dbg(4,"WebGL 1 context only!")}uninitializeRenderContext(){this._renderPluginContext=null,this._rctx=null,this.dbg(1,"--uninitializeRenderContext--")}restoreFramebuffer(){if(!this._renderTargetToRestore)return;const e=this._renderTargetToRestore.fbo;if(!!!this._rctx)return void this.dbg(4,"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 s=!!this._rctx,i=!!this._renderTargetToRestore;if(!s||!i)return 0;const r=this._renderTargetToRestore.fbo.depthStencilTexture;return r?(0===t?this._rctx.bindTexture(null,e,!0):this._rctx.bindTexture(r,e,!0),1):(this.dbg(4,"no depth/stencil texture exists!"),0)}setBlendState(e,t,s,i){this._rctx?(this._rctx.setBlendingEnabled(1===e),this._rctx.setBlendFunction(t,s),this._rctx.setBlendEquation(i)):this.dbg(4,"setBlendState callback has no rendering context!")}setFrontFace(e){this._rctx?this._rctx.setFrontFace(e):this.dbg(4,"setFrontFace callback has no rendering context!")}setDepthStencilStateFunction(e,t,s){this._rctx?(this._rctx.setDepthFunction(s),this._rctx.setDepthTestEnabled(1===e),this._rctx.setDepthWriteEnabled(1===t),this._rctx.setStencilTestEnabled(!1),this._rctx.setStencilFunction(519,0,255),this._rctx.setStencilOpSeparate(1028,7680,7682,7680),this._rctx.setStencilOpSeparate(1029,7680,7683,7680)):this.dbg(4,"setDepthStencilStateFunction callback has no rendering context!")}setRasterizerState(e){if(this._rctx)switch(e){case 1:this._rctx.setFaceCullingEnabled(!1);break;case 3:this._rctx.setCullFace(1029),this._rctx.setFaceCullingEnabled(!0);break;case 2:this._rctx.setCullFace(1028),this._rctx.setFaceCullingEnabled(!0)}else this.dbg(4,"setRasterizerState callback has no rendering context!")}setViewport(e,t,s,i){this._rctx?this._rctx.setViewport(e,t,s,i):this.dbg(4,"setViewport callback has no rendering context!")}_syncRequestsResponses(){this._layers.forEach(((t,s)=>{const i=[];t.responses.forEach(((e,t)=>{i.push(t),this.dbg(2,"responding for requestID:"+t+" size:"+e.size),this._vxl.respond(s,t,e)}));const r=t.responses;for(const e of i)r.delete(e);const a=this._vxl.get_new_requests(s),l=t.abortController.signal;for(const o in a){t.outstandingRequestCount+=1,1===t.outstandingRequestCount&&t.layerView.updatingFlagChanged();const s=a[o],i={responseType:"array-buffer",signal:l};this.dbg(2,"making requestID:"+o+" url:"+s.url),e(s.url,i).then((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),this.dbg(2,"have response for requestID:"+o);let i=0;if(e.data.byteLength>0){i=this._vxl._malloc(e.data.byteLength);const t=new Uint8Array(this._vxl.HEAPU8.buffer,i,e.data.byteLength),s=new Uint8Array(e.data);for(let i=0;i<e.data.byteLength;++i)t[i]=s[i]}r.set(+o,{type:s.type,ptr:i,size:e.data.byteLength,success:!0})})).catch((e=>{t.outstandingRequestCount-=1,0===t.outstandingRequestCount&&t.layerView.updatingFlagChanged(),n(e)||(this.dbg(4,`requestID:${o} failed, error=${e.toString()}`),r.set(+o,{type:s.type,ptr:0,size:0,success:!1}))}))}}))}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(((s,i)=>{s.layerView===e&&(this._vxl.set_enabled(i,t),this._renderPluginContext.requestRender())}))}setSlices(e,t){const s={mask:2,slices:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,s,!0)}setDynamicSections(e,t){const s={mask:4,dynamicSections:{planes:t,currentEditPlane:-1}};return this._doMaskedUIUpdate(e,s,!0)}setStaticSections(e,t){const s={mask:1,staticSections:t};return this._doMaskedUIUpdate(e,s,!0)}setCurrentVariable(e,t){const s={mask:1024,currentVariable:t};return this._doMaskedUIUpdate(e,s,!0)}setRenderMode(e,t){const s={mask:8192,renderMode:t};return this._doMaskedUIUpdate(e,s,!0)}_doMaskedUIUpdate(e,t,s){if(!this._vxl)return!1;let i=!1;return this._layers.forEach(((s,r)=>{if(s.layerView===e){const e={str:JSON.stringify(t),byteCount:0,ptr:0,isReusable:!1};this._AllocateBlock(e)&&(i=1===this._vxl.handle_masked_ui_update(r,e.ptr,e.byteCount),e.isReusable||this._vxl._free(e.ptr))}})),i&&s&&this._renderPluginContext.requestRender(),i}addVoxelLayer(e){if(!this._vxl){const t={layerView:e,resolveCallback:null,rejectCallback:null},s=new Promise(((e,s)=>{t.resolveCallback=e,t.rejectCallback=s}));return this._newLayers.push(t),s}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===t.layerView));t>=0&&(this._newLayers[t].resolveCallback(-1),this._newLayers.splice(t,1));const s=this._newLayers.length;return 0===s&&(this.dbg(1," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),s}let t=-1;this._layers.forEach(((s,i)=>{s.layerView===e&&(t=i,s.abortController.abort(),this._vxl.remove_layer(t))})),t>=0&&this._layers.delete(t);const s=this._layers.size;return 0===s&&(this.dbg(1," no voxel layers left after removing a layer, removing RenderPlugin and destroying"),this.destroy()),s}_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,r=!1;return i(e)&&(e.isAllTime?r=!0:(i(e.start)&&(r=!0,t=e.start.getTime()/1e3),i(e.end)&&(r=!0,s=e.end.getTime()/1e3))),{startTime:t,endTime:s,useTime:r}}_addVoxelLayer(e){var t;const s=e.layer;let i=-1;const r=s.getConfiguration();if(r.length<1)return-1;const n={str:r,byteCount:0,ptr:0,isReusable:!1};if(!this._AllocateBlock(n))return-1;const a=this._getTimeArgs(null==(t=this._view)?void 0:t.timeExtent),l=this._view.spatialReference.isWGS84&&s.spatialReference.isWGS84?111319.49079327357:1;if(i=this._vxl.add_layer(s.serviceRoot,n.ptr,n.byteCount,l,l,a.startTime,a.endTime,a.useTime),n.isReusable||this._vxl._free(n.ptr),i>=0){const t=new AbortController;if(this._layers.set(i,{layerView:e,responses:new Map,outstandingRequestCount:0,abortController:t}),!this._halfIntTexturesAvailable){const t=[];let s="";for(const i of e.layer.variables)"Int16"!==i.renderingFormat.type&&"UInt16"!==i.renderingFormat.type||(t.push(i.name),i.id===e.layer.style.currentVariableId&&(s=i.name));""!==s&&m.error(`The voxel layer '${e.layer.title}' cannot render the variable '${s}' in the current browser`),t.length>0&&m.warn(`The voxel layer '${e.layer.title}' cannot render the variables '${t.toString()}' in the current browser`)}return i}return-1}prepareRender(e){if(!this._vxl)return;const t=e.viewForward,s=e.eye;this._vxl.update_camera_pos_and_direction(s[0],s[1],s[2],t[0],t[1],t[2]);const i=this._vxl.cull();this.dbg(2,"missingResourceCount="+i),this._moreToLoad=i>0,this._havePreparedWithAllLayers=0===this._newLayers.length}render(e){if(!this._vxl)return!1;for(const s of this._newLayers){const e=this._addVoxelLayer(s.layerView);-1===e?s.rejectCallback(-1):s.resolveCallback(e)}if(this._newLayers=[],e.pass!==this._renderPass)return!1;if(e.slot!==this._renderSlot)return!1;if(0===this._layers.size)return this.dbg(4,"No voxel layers but RenderPlugin instance is being asked to render!"),!0;this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()},this._syncRequestsResponses(),this._vxl.begin_frame();const t=this._renderTargetToRestore.viewport;return t.width===this._viewportWidth&&t.height===this._viewportHeight||(this._viewportWidth=t.width,this._viewportHeight=t.height,this._vxl.set_viewport(t.width,t.height)),0===t.x&&0===t.y||this.dbg(4,"Unsupported viewport parameters detected!"),this.updateWasmCamera(e.camera),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._moreToLoad||!this._havePreparedWithAllLayers&&this._layers.size>0)&&this._renderPluginContext.requestRender(),!0}queryDepthRange(e){this.dbg(1,"--queryDepthRange--");const t=e.viewForward,s=e.eye;this._vxl.update_camera_pos_and_direction(s[0],s[1],s[2],t[0],t[1],t[2]),this._vxl.cull();const i={near:5,far:1e4};return i.near=this._vxl.get_near(),i.far=this._vxl.get_far(),i}destroy(){this.dbg(1,"--destroy--"),this.removeRenderPlugin(),this._readyWatchHandle=r(this._readyWatchHandle),this._qualityWatchHandle=r(this._qualityWatchHandle),this._timeExtentWatchHandle=r(this._timeExtentWatchHandle),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=g(e).then((e=>{var t;if(this._vxl=e,this._vxlPromise=null,this._newLayers.length<=0)return this.dbg(1," no voxel layers left after WASM downloaded, removing RenderPlugin and destroying"),void this.destroy();const s=this._getTimeArgs(null==(t=this._view)?void 0:t.timeExtent),i=this._vxl.addFunction(this.restoreFramebuffer.bind(this),"v"),r=this._vxl.addFunction(this.setBlendState.bind(this),"viiii"),n=this._vxl.addFunction(this.setFrontFace.bind(this),"vi"),a=this._vxl.addFunction(this.setRasterizerState.bind(this),"vi"),l=this._vxl.addFunction(this.setDepthStencilStateFunction.bind(this),"viii"),o=this._vxl.addFunction(this.setViewport.bind(this),"viiii"),h=this._vxl.addFunction(this.bindPreviousDepthToSlot.bind(this),"iii");this._vxl.initialize_voxel_wasm(i,r,n,a,l,o,h,s.startTime,s.endTime,s.useTime),this._vxl.set_quality(this.toWasmQuality(this._view.qualityProfile)),this._renderPluginContext&&this._renderPluginContext.requestRender()})).catch((()=>{for(const e of this._newLayers)e.rejectCallback(-2);this.dbg(4," WASM failed to download, removing RenderPlugin and destroying"),this.destroy()}))),this._vxlPromise)}get type(){return"external"}get isGround(){return!1}get slicePlane(){return!1}get intersectionHandlerId(){return"unj"}intersect(e,t,s,i,r){if(!this._vxl)return;if(!this._rctx)return;if(0===this._layers.size)return;if(r[0]<0||r[0]>e.camera.viewport[2]||r[1]<0||r[1]>e.camera.viewport[3])return;this._renderTargetToRestore={fbo:this._rctx.getBoundFramebufferObject(),viewport:this._rctx.getViewport()};const n=e.camera.viewForward,a=e.camera.eye;this._vxl.update_camera_pos_and_direction(a[0],a[1],a[2],n[0],n[1],n[2]),this.updateWasmCamera(e.camera),this._vxl.begin_frame(),this._useDepthPass?this.intersectDepth(e,t,s,i,r):this.intersectObject(e,t,s,i,r),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()}intersectObject(e,t,i,r,n){const a=this._vxl.pick_object(n[0],n[1]);if(a.success){const n=x();l(n,r,i),o(n,n);const g=h(i,r),m=x();d(m,a.worldX,a.worldY,a.worldZ);const p=x();l(p,m,i);const b=x();c(b,n,_(p,n));const y=x();u(y,i,b);const f=h(i,y),w=s(f/g,0,1),T=e=>{e.intersector="Voxel",e.dist=w,e.target={type:"external",metadata:{layerUid:this.intersectionHandlerId}}},R=e.results.min;(null==R.dist||w<R.dist)&&(null==t||t(i,r,w))&&T(R);const C=e.results.max;if(0!==e.options.store&&(null==C.dist||w>C.dist)&&(null==t||t(i,r,w))&&T(C),2===e.options.store){const t=new v(e.ray);T(t),e.results.all.push(t)}}}intersectDepth(e,t,i,r,n){const a=this._vxl.pick_depth(n[0],n[1]);if(a.success){const n=x();l(n,r,i),o(n,n);const g=h(i,r),m=x();d(m,a.worldX,a.worldY,a.worldZ);const p=x();l(p,m,i);const b=x();c(b,n,_(p,n));const y=x();u(y,i,b);const f=h(i,y),w=s(f/g,0,1),T=e=>{e.intersector="Voxel",e.dist=w,e.target={type:"external",metadata:{layerUid:this.intersectionHandlerId}}},R=e.results.min;(null==R.dist||w<R.dist)&&(null==t||t(i,r,w))&&T(R);const C=e.results.max;if(0!==e.options.store&&(null==C.dist||w>C.dist)&&(null==t||t(i,r,w))&&T(C),2===e.options.store){const t=new v(e.ray);T(t),e.results.all.push(t)}}}toWasmQuality(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}}export{p 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.22/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import r from"../core/Error.js";import{isSome as t}from"../core/maybe.js";import{MultiOriginJSONMixin as o}from"../core/MultiOriginJSONSupport.js";import{aliasOf as s}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import p from"./Layer.js";import{BlendLayer as l}from"./mixins/BlendLayer.js";import{CustomParametersMixin as n}from"./mixins/CustomParametersMixin.js";import{ImageryTileMixin as m}from"./mixins/ImageryTileMixin.js";import{OperationalLayer as c}from"./mixins/OperationalLayer.js";import{PortalLayer as u}from"./mixins/PortalLayer.js";import{RefreshableLayer as d}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as f}from"./mixins/ScaleRangeLayer.js";import{popupEnabled as y}from"./support/commonProperties.js";import h from"./support/Field.js";import g from"./support/rasterDatasets/WCSRaster.js";import{createPopupTemplate as v}from"../support/popupUtils.js";let j=class extends(l(f(c(u(n(m(d(o(p))))))))){constructor(...e){super(...e),this.coverageId=null,this.coverageInfo=null,this.version=null,this.isReference=null,this.type="wcs",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=t(e)?e.signal:null;return this.addResolvingPromise(this._openRaster(r)),Promise.resolve(this)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){return[new h({name:"Raster.ServicePixelValue",alias:"Pixel Value",domain:null,editable:!1,length:50,type:"string"})]}createPopupTemplate(e){return v({fields:this.rasterFields,title:this.title},e)}async _openRaster(e){const t=new g({url:this.url,version:this.version,coverageId:this.coverageId,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters}});if(await t.open({signal:e}),!t.rasterInfo)throw t.destroy(),new r("wcs-layer:load","cannot load resources on "+this.url);null==this.title&&this.setAtOrigin("title",t.datasetName,"service"),null==this.coverageId&&this.setAtOrigin("coverageId",t.coverageInfo.id,"service"),this.raster=t,this._configDefaultSettings(),this.watch("customParameters",(e=>this.raster.ioConfig.customFetchParameters=e))}};e([i({json:{write:!0}})],j.prototype,"coverageId",void 0),e([i({readOnly:!0}),s("raster.coverageInfo")],j.prototype,"coverageInfo",void 0),e([i()],j.prototype,"version",void 0),e([i()],j.prototype,"isReference",void 0),e([i({readOnly:!0})],j.prototype,"type",void 0),e([i(y)],j.prototype,"popupEnabled",void 0),e([i()],j.prototype,"popupTemplate",void 0),e([i({readOnly:!0})],j.prototype,"defaultPopupTemplate",null),e([i({readOnly:!0,type:[h]})],j.prototype,"fields",void 0),e([i({readOnly:!0,type:[h]})],j.prototype,"rasterFields",null),j=e([a("esri.layers.WCSLayer")],j);const P=j;export{P as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import r from"../core/Error.js";import{isSome as t}from"../core/maybe.js";import{MultiOriginJSONMixin as o}from"../core/MultiOriginJSONSupport.js";import{aliasOf as s}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import l from"./Layer.js";import{BlendLayer as n}from"./mixins/BlendLayer.js";import{CustomParametersMixin as p}from"./mixins/CustomParametersMixin.js";import{ImageryTileMixin as m}from"./mixins/ImageryTileMixin.js";import{OperationalLayer as u}from"./mixins/OperationalLayer.js";import{PortalLayer as c}from"./mixins/PortalLayer.js";import{RefreshableLayer as d}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as f}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as y}from"./mixins/TemporalLayer.js";import{popupEnabled as h}from"./support/commonProperties.js";import v from"./support/Field.js";import g from"./support/rasterDatasets/WCSRaster.js";import{createPopupTemplate as j}from"../support/popupUtils.js";const x=new Set(["milliseconds","seconds","minutes","hours","days","weeks","months","years","decades","centuries"]);let I=class extends(n(f(u(c(p(m(y(d(o(l)))))))))){constructor(...e){super(...e),this.coverageId=null,this.coverageInfo=null,this.version=null,this.isReference=null,this.type="wcs",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=t(e)?e.signal:null;return this.addResolvingPromise(this._openRaster(r)),Promise.resolve(this)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){return[new v({name:"Raster.ServicePixelValue",alias:"Pixel Value",domain:null,editable:!1,length:50,type:"string"})]}createPopupTemplate(e){return j({fields:this.rasterFields,title:this.title},e)}async _openRaster(e){const o=new g({url:this.url,version:this.version,coverageId:this.coverageId,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters}});if(await o.open({signal:e}),!o.rasterInfo)throw o.destroy(),new r("wcs-layer:load","cannot load resources on "+this.url);null==this.title&&this.setAtOrigin("title",o.datasetName,"service"),null==this.coverageId&&this.setAtOrigin("coverageId",o.coverageInfo.id,"service");const{multidimensionalInfo:s}=o.rasterInfo;if(t(s)){const e=s.variables[0].dimensions.find((({name:e})=>"StdTime"===e));if(e){var i,a,l,n,p;let r=null!=(i=null==(a=e.extent)?void 0:a[0])?i:e.values[0];Array.isArray(r)&&(r=r[0]);let t=null!=(l=null==(n=e.extent)?void 0:n[1])?l:e.values[e.values.length-1];Array.isArray(t)&&(t=t[1]);const o=x.has(null==(p=e.intervalUnit)?void 0:p.toLowerCase())?e.intervalUnit.toLowerCase():null;this.set("timeInfo",{startField:"StdTime",fullTimeExtent:{start:r,end:t},timeReference:null,interval:o?{value:e.interval,unit:o}:null})}}this.raster=o,this._configDefaultSettings(),this.watch("customParameters",(e=>this.raster.ioConfig.customFetchParameters=e))}};e([i({json:{write:!0}})],I.prototype,"coverageId",void 0),e([i({readOnly:!0}),s("raster.coverageInfo")],I.prototype,"coverageInfo",void 0),e([i()],I.prototype,"version",void 0),e([i()],I.prototype,"isReference",void 0),e([i({readOnly:!0})],I.prototype,"type",void 0),e([i(h)],I.prototype,"popupEnabled",void 0),e([i()],I.prototype,"popupTemplate",void 0),e([i({readOnly:!0})],I.prototype,"defaultPopupTemplate",null),e([i({readOnly:!0,type:[v]})],I.prototype,"fields",void 0),e([i({readOnly:!0,type:[v]})],I.prototype,"rasterFields",null),I=e([a("esri.layers.WCSLayer")],I);const P=I;export{P 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.22/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import{applySome as r,isSome as o}from"../../core/maybe.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";let i=class extends t{constructor(e){super(e),this.type="area-measurement-3d",this.parent=null,this.extent=null,this.visible=!0}set geometry(e){this._set("geometry",r(e,(e=>e.clone()))),this._set("extent",o(e)?e.extent:null)}};e([s()],i.prototype,"type",void 0),e([s()],i.prototype,"parent",void 0),e([s({value:null})],i.prototype,"geometry",null),e([s()],i.prototype,"extent",void 0),e([s()],i.prototype,"visible",void 0),i=e([p("esri.layers.analyses.AreaMeasurement3D")],i);export{i as AreaMeasurement3D};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import{applySome as o,isSome as r}from"../../core/maybe.js";import{measurementAreaUnits as s}from"../../core/unitUtils.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import l from"../../geometry/Polygon.js";let a=class extends t{constructor(e){super(e),this.type="area-measurement-3d",this.parent=null,this.extent=null,this.visible=!0,this.unit=null}set geometry(e){this._set("geometry",o(e,(e=>e.clone()))),this._set("extent",r(e)?e.extent:null)}};e([p({readOnly:!0})],a.prototype,"type",void 0),e([p()],a.prototype,"parent",void 0),e([p({value:null,type:l})],a.prototype,"geometry",null),e([p()],a.prototype,"extent",void 0),e([p()],a.prototype,"visible",void 0),e([p({type:s,value:null})],a.prototype,"unit",void 0),a=e([i("esri.layers.analyses.AreaMeasurement3D")],a);const n=a;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.22/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/Accessor.js";import{isNone as e,isSome as r}from"../../core/maybe.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import n from"../../geometry/Extent.js";import{fromValues as p,expand as a}from"../../geometry/support/aaBoundingRect.js";let c=class extends o{constructor(t){super(t),this.type="direct-line-measurement-3d",this.parent=null,this.geodesicDistanceThreshold=1e5,this.startPoint=null,this.endPoint=null,this.visible=!0}get extent(){if(e(this.startPoint))return null;const t=p(this.startPoint.x,this.startPoint.y,this.startPoint.x,this.startPoint.y);return r(this.endPoint)&&a(t,this.endPoint,t),n.fromBounds(t,this.startPoint.spatialReference)}};t([s()],c.prototype,"type",void 0),t([s()],c.prototype,"parent",void 0),t([s()],c.prototype,"geodesicDistanceThreshold",void 0),t([s()],c.prototype,"startPoint",void 0),t([s()],c.prototype,"endPoint",void 0),t([s()],c.prototype,"extent",null),t([s()],c.prototype,"visible",void 0),c=t([i("esri.layers.analyses.DirectLineMeasurement3D")],c);export{c as DirectLineMeasurement3D};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/Accessor.js";import{isNone as e,isSome as r}from"../../core/maybe.js";import{measurementLengthUnits as s}from"../../core/unitUtils.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import p from"../../geometry/Extent.js";import a from"../../geometry/Point.js";import{fromValues as c,expand as l}from"../../geometry/support/aaBoundingRect.js";let m=class extends o{constructor(t){super(t),this.type="direct-line-measurement-3d",this.parent=null,this.geodesicDistanceThreshold=1e5,this.startPoint=null,this.endPoint=null,this.visible=!0,this.unit=null}get extent(){if(e(this.startPoint))return null;const t=c(this.startPoint.x,this.startPoint.y,this.startPoint.x,this.startPoint.y);return r(this.endPoint)&&l(t,this.endPoint,t),p.fromBounds(t,this.startPoint.spatialReference)}};t([i({readOnly:!0})],m.prototype,"type",void 0),t([i()],m.prototype,"parent",void 0),t([i()],m.prototype,"geodesicDistanceThreshold",void 0),t([i({type:a})],m.prototype,"startPoint",void 0),t([i({type:a})],m.prototype,"endPoint",void 0),t([i()],m.prototype,"extent",null),t([i()],m.prototype,"visible",void 0),t([i({type:s,value:null})],m.prototype,"unit",void 0),m=t([n("esri.layers.analyses.DirectLineMeasurement3D")],m);const u=m;export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.22/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/Accessor.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";let s=class extends o{constructor(t){super(t),this.type="slice",this.parent=null,this.extent=null,this.visible=!0,this.tiltEnabled=!1,this.plane=null}};t([e()],s.prototype,"type",void 0),t([e()],s.prototype,"parent",void 0),t([e()],s.prototype,"extent",void 0),t([e()],s.prototype,"visible",void 0),t([e()],s.prototype,"tiltEnabled",void 0),t([e()],s.prototype,"plane",void 0),s=t([r("esri.layers.analyses.Slice")],s);const p=s;export{p as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/Accessor.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";let r=class extends o{constructor(t){super(t),this.type="slice",this.parent=null,this.extent=null,this.visible=!0,this.tiltEnabled=!1,this.shape=null}};t([s()],r.prototype,"type",void 0),t([s()],r.prototype,"parent",void 0),t([s()],r.prototype,"extent",void 0),t([s()],r.prototype,"visible",void 0),t([s()],r.prototype,"tiltEnabled",void 0),t([s()],r.prototype,"shape",void 0),r=t([e("esri.layers.analyses.Slice")],r);const p=r;export{p 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.22/esri/copyright.txt for details.
4
4
  */
5
- import{getNamedColor as e}from"../../colorUtils.js";import t from"../../core/Error.js";import{clone as s}from"../../core/lang.js";import r from"../../core/Logger.js";import{BloomEffect as n,DropShadowEffect as f,BlurEffect as c,HueRotateEffect as i,OpacityEffect as l,ColorMatrixEffect as o}from"./effects.js";import{parse as a}from"./parser.js";const h=-1;class u{constructor(e=200){this.duration=e,this._from=null,this._to=null,this._final=null,this._current=[],this._time=0,this._effect="",this._effects=[],this._scale=0}get effect(){return this._effect}set effect(e){if(e=e||"",this._effect===e)return;this._effect=e;const t=_(e);Array.isArray(t)?this._transitionTo(t):(this._transitionTo([]),r.getLogger("esri.views.layers.effects.EffectList").warn("Invalid Effect",{effect:e,error:t}))}get hasEffects(){return this.transitioning||!!this._effects.length}get effects(){return this._effects}get scale(){return this._scale}get transitioning(){return null!==this._to}transitionStep(e,t){this._applyTimeTransition(e),this._updateForScale(t)}_transitionTo(e){this.scale>0&&d(this._current,e,this.scale)?(this._final=e,this._to=s(e),y(this._current,this._to,this.scale),this._from=s(this._current),this._time=0):(this._from=this._to=this._final=null,this._current=e),this._effects=this._current[0]?s(this._current[0].effects):[]}_applyTimeTransition(e){if(!this._to)return;this._time+=e;const t=Math.min(1,this._time/this.duration);for(let s=0;s<this._current.length;s++){const e=this._current[s],r=this._from[s],n=this._to[s];e.scale=w(r.scale,n.scale,t);for(let s=0;s<e.effects.length;s++){const f=e.effects[s],c=r.effects[s],i=n.effects[s];f.interpolate(c,i,t)}}1===t&&(this._current=this._final,this._effects=this._current[0]?s(this._current[0].effects):[],this._from=this._to=this._final=null)}_updateForScale(e){if(0===this._current.length)return;this._scale=e;const t=this._current,s=this._current.length-1;let r,n,f=1;if(1===t.length||e>=t[0].scale)n=r=t[0].effects;else if(e<=t[s].scale)n=r=t[s].effects;else for(let c=0;c<s;c++){const s=t[c],i=t[c+1];if(s.scale>=e&&i.scale<=e){f=(e-s.scale)/(i.scale-s.scale),r=s.effects,n=i.effects;break}}for(let c=0;c<this._effects.length;c++){this._effects[c].interpolate(r[c],n[c],f)}}}function _(e){if(!e)return[];if("string"==typeof e){const t=a(e);return t.error?t.error:[{scale:h,effects:t.effects}]}const s=[];for(const r of e){if(!isFinite(r.scale)||r.scale<=0)return new t("effect:invalid-scale","scale must be finite and greater than 0",{stop:r});const e=a(r.value);if(e.error)return e.error;s.push({scale:r.scale,effects:e.effects})}s.sort(((e,t)=>t.effects.length-e.effects.length));for(let r=0;r<s.length-1;r++){if(!p(s[r].effects,s[r+1].effects))return new t("effect:interpolation-impossible","Cannot interpolate by scale between 2 lists of mixed effects",{a:s[r].effects,b:s[r+1].effects});m(s[r].effects,s[r+1].effects)}return s.sort(((e,t)=>t.scale-e.scale)),s}function g(t){switch(t.type){case"grayscale":case"sepia":case"invert":return new o(t.type,0);case"saturate":case"brightness":case"contrast":return new o(t.type,1);case"opacity":return new l(1);case"hue-rotate":return new i(0);case"blur":return new c(0);case"drop-shadow":return new f(0,0,0,[...e("transparent")]);case"bloom":return new n(0,0,0)}}function p(e,t){const s=e.length>t.length?e:t;return(e.length>t.length?t:e).every(((e,t)=>e.type===s[t].type))}function m(e,t){const s=e.length>t.length?e:t,r=e.length>t.length?t:e;for(let n=r.length;n<s.length;n++)r.push(g(s[n]))}function d(e,t,s){var r,n,f,c;if(null==(r=e[0])||!r.effects||null==(n=t[0])||!n.effects)return!0;return!(((null==(f=e[0])?void 0:f.scale)===h||(null==(c=t[0])?void 0:c.scale)===h)&&(e.length>1||t.length>1)&&s<=0)&&p(e[0].effects,t[0].effects)}function y(e,t,s){var r,n;const f=e.length>t.length?e:t,c=e.length>t.length?t:e,i=c[c.length-1],l=null!=(r=null==i?void 0:i.scale)?r:s,o=null!=(n=null==i?void 0:i.effects)?n:[];for(let a=c.length;a<f.length;a++)c.push({scale:l,effects:[...o]});for(let a=0;a<f.length;a++)c[a].scale=c[a].scale===h?s:c[a].scale,f[a].scale=f[a].scale===h?s:f[a].scale,m(c[a].effects,f[a].effects)}function w(e,t,s){return e+(t-e)*s}export{d as canInterpolateEffectStops,p as canInterpolateEffects,_ as convertEffectToStops,u as default,y as normalizeEffectStops,m as normalizeEffects};
5
+ import{clone as t}from"../../core/lang.js";import e from"../../core/Logger.js";import{parse as s}from"./parser.js";import{canInterpolateEffects as i,normalizeEffects as n}from"./utils.js";const f=-1;class r{constructor(t=200){this.duration=t,this._from=null,this._to=null,this._final=null,this._current=[],this._time=0,this._effect="",this._effects=[],this._scale=0}get effect(){return this._effect}set effect(t){if(t=t||"",this._effect!==t){this._effect=t;try{this._transitionTo(c(t))}catch(s){this._transitionTo([]),e.getLogger("esri.views.layers.effects.EffectList").warn("Invalid Effect",{effect:t,error:s})}}}get hasEffects(){return this.transitioning||!!this._effects.length}get effects(){return this._effects}get scale(){return this._scale}get transitioning(){return null!==this._to}transitionStep(t,e){this._applyTimeTransition(t),this._updateForScale(e)}_transitionTo(e){this.scale>0&&l(this._current,e,this.scale)?(this._final=e,this._to=t(e),h(this._current,this._to,this.scale),this._from=t(this._current),this._time=0):(this._from=this._to=this._final=null,this._current=e),this._effects=this._current[0]?t(this._current[0].effects):[]}_applyTimeTransition(e){if(!this._to)return;this._time+=e;const s=Math.min(1,this._time/this.duration);for(let t=0;t<this._current.length;t++){const e=this._current[t],i=this._from[t],n=this._to[t];e.scale=o(i.scale,n.scale,s);for(let t=0;t<e.effects.length;t++){const f=e.effects[t],r=i.effects[t],c=n.effects[t];f.interpolate(r,c,s)}}1===s&&(this._current=this._final,this._effects=this._current[0]?t(this._current[0].effects):[],this._from=this._to=this._final=null)}_updateForScale(t){if(0===this._current.length)return;this._scale=t;const e=this._current,s=this._current.length-1;let i,n,f=1;if(1===e.length||t>=e[0].scale)n=i=e[0].effects;else if(t<=e[s].scale)n=i=e[s].effects;else for(let r=0;r<s;r++){const s=e[r],c=e[r+1];if(s.scale>=t&&c.scale<=t){f=(t-s.scale)/(c.scale-s.scale),i=s.effects,n=c.effects;break}}for(let r=0;r<this._effects.length;r++){this._effects[r].interpolate(i[r],n[r],f)}}}function c(t){const e=s(t)||[];return a(e)?[{scale:f,effects:e}]:e}function l(t,e,s){var n,r,c,l;if(null==(n=t[0])||!n.effects||null==(r=e[0])||!r.effects)return!0;return!(((null==(c=t[0])?void 0:c.scale)===f||(null==(l=e[0])?void 0:l.scale)===f)&&(t.length>1||e.length>1)&&s<=0)&&i(t[0].effects,e[0].effects)}function h(t,e,s){var i,r;const c=t.length>e.length?t:e,l=t.length>e.length?e:t,h=l[l.length-1],o=null!=(i=null==h?void 0:h.scale)?i:s,a=null!=(r=null==h?void 0:h.effects)?r:[];for(let n=l.length;n<c.length;n++)l.push({scale:o,effects:[...a]});for(let _=0;_<c.length;_++)l[_].scale=l[_].scale===f?s:l[_].scale,c[_].scale=c[_].scale===f?s:c[_].scale,n(l[_].effects,c[_].effects)}function o(t,e,s){return t+(e-t)*s}function a(t){const e=t[0];return!!e&&"type"in e}export{l as canInterpolateEffectStops,c as convertEffectToStops,r as default,h as normalizeEffectStops};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.22/esri/copyright.txt for details.
4
4
  */
5
- import{px2pt as t}from"../../core/screenUtils.js";import{c as s}from"../../chunks/mat4f32.js";import{sepia as r,saturate as o,invert as i,grayscale as e,contrast as a,brightness as h,rotateHue as n}from"./colorMatrixFunctions.js";function u(t){return"colorMatrix"in t}class c{constructor(t,s,r){this.strength=t,this.radius=s,this.threshold=r,this.type="bloom"}interpolate(t,s,r){this.strength=M(t.strength,s.strength,r),this.radius=M(t.radius,s.radius,r),this.threshold=M(t.threshold,s.threshold,r)}clone(){return new c(this.strength,this.radius,this.threshold)}toJSON(){return{type:"bloom",radius:x(this.radius),strength:this.strength,threshold:this.threshold}}}class l{constructor(t){this.radius=t,this.type="blur"}interpolate(t,s,r){this.radius=Math.round(M(t.radius,s.radius,r))}clone(){return new l(this.radius)}toJSON(){return{type:"blur",radius:x(this.radius)}}}class d{constructor(t,s){this.type=t,this.amount=s,"invert"!==this.type&&"grayscale"!==this.type&&"sepia"!==this.type||(this.amount=Math.min(this.amount,1))}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(t,s,r){this.amount=M(t.amount,s.amount,r),this._updateMatrix()}clone(){return new d(this.type,this.amount)}toJSON(){return{type:this.type,amount:this.amount}}_updateMatrix(){const t=this._colorMatrix||s();switch(this.type){case"brightness":this._colorMatrix=h(t,this.amount);break;case"contrast":this._colorMatrix=a(t,this.amount);break;case"grayscale":this._colorMatrix=e(t,this.amount);break;case"invert":this._colorMatrix=i(t,this.amount);break;case"saturate":this._colorMatrix=o(t,this.amount);break;case"sepia":this._colorMatrix=r(t,this.amount)}}}class p{constructor(t,s,r,o){this.offsetX=t,this.offsetY=s,this.blurRadius=r,this.color=o,this.type="drop-shadow"}interpolate(t,s,r){this.offsetX=M(t.offsetX,s.offsetX,r),this.offsetY=M(t.offsetY,s.offsetY,r),this.blurRadius=M(t.blurRadius,s.blurRadius,r),this.color[0]=Math.round(M(t.color[0],s.color[0],r)),this.color[1]=Math.round(M(t.color[1],s.color[1],r)),this.color[2]=Math.round(M(t.color[2],s.color[2],r)),this.color[3]=M(t.color[3],s.color[3],r)}clone(){return new p(this.offsetX,this.offsetY,this.blurRadius,[...this.color])}toJSON(){const t=[...this.color];return t[3]*=255,{type:"drop-shadow",xoffset:x(this.offsetX),yoffset:x(this.offsetY),blurRadius:x(this.blurRadius),color:t}}}class f{constructor(t){this.angle=t,this.type="hue-rotate"}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(t,s,r){this.angle=M(t.angle,s.angle,r),this._updateMatrix()}clone(){return new f(this.angle)}toJSON(){return{type:"hue-rotate",angle:this.angle}}_updateMatrix(){const t=this._colorMatrix||s();this._colorMatrix=n(t,this.angle)}}class m{constructor(t){this.amount=t,this.type="opacity",this.amount=Math.min(this.amount,1)}interpolate(t,s,r){this.amount=M(t.amount,s.amount,r)}clone(){return new m(this.amount)}toJSON(){return{type:"opacity",amount:this.amount}}}function M(t,s,r){return t+(s-t)*r}function x(s){return Math.round(1e3*t(s))/1e3}export{c as BloomEffect,l as BlurEffect,d as ColorMatrixEffect,p as DropShadowEffect,f as HueRotateEffect,m as OpacityEffect,u as isColorMatrixEffect};
5
+ import{getNamedColor as t}from"../../colorUtils.js";import{px2pt as s}from"../../core/screenUtils.js";import{c as r}from"../../chunks/mat4f32.js";import{sepia as o,saturate as e,invert as i,grayscale as a,contrast as h,brightness as n,rotateHue as u}from"./colorMatrixFunctions.js";function c(t){return"colorMatrix"in t}class l{constructor(t,s,r){this.strength=t,this.radius=s,this.threshold=r,this.type="bloom"}interpolate(t,s,r){this.strength=y(t.strength,s.strength,r),this.radius=y(t.radius,s.radius,r),this.threshold=y(t.threshold,s.threshold,r)}clone(){return new l(this.strength,this.radius,this.threshold)}toJSON(){return{type:"bloom",radius:x(this.radius),strength:this.strength,threshold:this.threshold}}}class p{constructor(t){this.radius=t,this.type="blur"}interpolate(t,s,r){this.radius=Math.round(y(t.radius,s.radius,r))}clone(){return new p(this.radius)}toJSON(){return{type:"blur",radius:x(this.radius)}}}class d{constructor(t,s){this.type=t,this.amount=s,"invert"!==this.type&&"grayscale"!==this.type&&"sepia"!==this.type||(this.amount=Math.min(this.amount,1))}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(t,s,r){this.amount=y(t.amount,s.amount,r),this._updateMatrix()}clone(){return new d(this.type,this.amount)}toJSON(){return{type:this.type,amount:this.amount}}_updateMatrix(){const t=this._colorMatrix||r();switch(this.type){case"brightness":this._colorMatrix=n(t,this.amount);break;case"contrast":this._colorMatrix=h(t,this.amount);break;case"grayscale":this._colorMatrix=a(t,this.amount);break;case"invert":this._colorMatrix=i(t,this.amount);break;case"saturate":this._colorMatrix=e(t,this.amount);break;case"sepia":this._colorMatrix=o(t,this.amount)}}}class m{constructor(t,s,r,o){this.offsetX=t,this.offsetY=s,this.blurRadius=r,this.color=o,this.type="drop-shadow"}interpolate(t,s,r){this.offsetX=y(t.offsetX,s.offsetX,r),this.offsetY=y(t.offsetY,s.offsetY,r),this.blurRadius=y(t.blurRadius,s.blurRadius,r),this.color[0]=Math.round(y(t.color[0],s.color[0],r)),this.color[1]=Math.round(y(t.color[1],s.color[1],r)),this.color[2]=Math.round(y(t.color[2],s.color[2],r)),this.color[3]=y(t.color[3],s.color[3],r)}clone(){return new m(this.offsetX,this.offsetY,this.blurRadius,[...this.color])}toJSON(){const t=[...this.color];return t[3]*=255,{type:"drop-shadow",xoffset:x(this.offsetX),yoffset:x(this.offsetY),blurRadius:x(this.blurRadius),color:t}}}class f{constructor(t){this.angle=t,this.type="hue-rotate"}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(t,s,r){this.angle=y(t.angle,s.angle,r),this._updateMatrix()}clone(){return new f(this.angle)}toJSON(){return{type:"hue-rotate",angle:this.angle}}_updateMatrix(){const t=this._colorMatrix||r();this._colorMatrix=u(t,this.angle)}}class M{constructor(t){this.amount=t,this.type="opacity",this.amount=Math.min(this.amount,1)}interpolate(t,s,r){this.amount=y(t.amount,s.amount,r)}clone(){return new M(this.amount)}toJSON(){return{type:"opacity",amount:this.amount}}}function y(t,s,r){return t+(s-t)*r}function x(t){return Math.round(1e3*s(t))/1e3}function g(s){switch(s.type){case"grayscale":case"sepia":case"invert":return new d(s.type,0);case"saturate":case"brightness":case"contrast":return new d(s.type,1);case"opacity":return new M(1);case"hue-rotate":return new f(0);case"blur":return new p(0);case"drop-shadow":return new m(0,0,0,[...t("transparent")]);case"bloom":return new l(0,0,0)}}export{l as BloomEffect,p as BlurEffect,d as ColorMatrixEffect,m as DropShadowEffect,f as HueRotateEffect,M as OpacityEffect,g as createEffectWithInitialValues,c as isColorMatrixEffect};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.22/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{setDeepValue as r}from"../../core/object.js";import{parse as t}from"./parser.js";function s(e,r,t){try{return a(e)}catch(s){t.messages&&t.messages.push(s)}return null}function n(e,t,s,n){try{const n=o(e);r(s,n,t)}catch(a){n.messages&&n.messages.push(a)}}function o(e){if(!e)return null;if("string"==typeof e)return f(e);const r=[];for(const{scale:t,value:s}of e)r.push({scale:t,value:f(s)});return r}function a(e){if(!e)return null;if(c(e)){const r=[];for(const t of e)r.push({scale:t.scale,value:u(t.value)});return r}return u(e)}function c(e){const r=e[0];return!!r&&"scale"in r}function f(e){if(!e)return null;const r=t(e);if(r.error)throw r.error;return r.effects.map((e=>e.toJSON()))}function u(e){if(!e||!e.length)return null;const r=[];for(const s of e){let e=[];switch(s.type){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":case"opacity":e=[i(s,"amount")];break;case"blur":e=[i(s,"radius","pt")];break;case"hue-rotate":e=[i(s,"angle","deg")];break;case"drop-shadow":e=[i(s,"xoffset","pt"),i(s,"yoffset","pt"),i(s,"blurRadius","pt"),l(s,"color")];break;case"bloom":e=[i(s,"strength"),i(s,"radius","pt"),i(s,"threshold")]}const n=`${s.type}(${e.filter(Boolean).join(" ")})`,o=t(n);if(o.error)throw o.error;r.push(n)}return r.join(" ")}function i(r,t,s){if(null==r[t])throw new e("effect:missing-parameter",`Missing parameter '${t}' in ${r.type} effect`,{effect:r});return s?r[t]+s:""+r[t]}function l(r,t){if(null==r[t])throw new e("effect:missing-parameter",`Missing parameter '${t}' in ${r.type} effect`,{effect:r});const s=r[t];return`rgba(${s[0]||0}, ${s[1]||0}, ${s[2]||0}, ${s[3]/255||0})`}export{u as effectFunctionsFromJSON,f as effectFunctionsToJSON,a as fromJSON,s as read,o as toJSON,n as write};
5
+ import e from"../../core/Error.js";import{setDeepValue as t}from"../../core/object.js";import{parse as r}from"./parser.js";import{isEffectFunctions as s}from"./utils.js";function n(e,t,r){try{return c(e)}catch(s){r.messages&&r.messages.push(s)}return null}function a(e,r,s,n){try{const n=o(e);t(s,n,r)}catch(a){n.messages&&n.messages.push(a)}}function o(e){if(!e)return null;const t=r(e);return s(t)?t.map((e=>e.toJSON())):t.map((({scale:e,effects:t})=>({scale:e,value:t.map((e=>e.toJSON()))})))}function c(e){if(!e)return null;if(u(e)){const t=[];for(const r of e)t.push({scale:r.scale,value:f(r.value)});return t}return f(e)}function u(e){const t=e[0];return!!t&&"scale"in t}function f(e){if(!e||!e.length)return null;const t=[];for(const s of e){let e=[];switch(s.type){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":case"opacity":e=[i(s,"amount")];break;case"blur":e=[i(s,"radius","pt")];break;case"hue-rotate":e=[i(s,"angle","deg")];break;case"drop-shadow":e=[i(s,"xoffset","pt"),i(s,"yoffset","pt"),i(s,"blurRadius","pt"),l(s,"color")];break;case"bloom":e=[i(s,"strength"),i(s,"radius","pt"),i(s,"threshold")]}const n=`${s.type}(${e.filter(Boolean).join(" ")})`;r(n),t.push(n)}return t.join(" ")}function i(t,r,s){if(null==t[r])throw new e("effect:missing-parameter",`Missing parameter '${r}' in ${t.type} effect`,{effect:t});return s?t[r]+s:""+t[r]}function l(t,r){if(null==t[r])throw new e("effect:missing-parameter",`Missing parameter '${r}' in ${t.type} effect`,{effect:t});const s=t[r];return`rgba(${s[0]||0}, ${s[1]||0}, ${s[2]||0}, ${s[3]/255||0})`}export{f as effectFunctionsFromJSON,c as fromJSON,n as read,o as toJSON,a as write};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.22/esri/copyright.txt for details.
4
4
  */
5
- import{hex2rgba as t,getNamedColorCopy as e,hsla2rgba as r}from"../../colorUtils.js";import n from"../../core/Error.js";import{BloomEffect as u,DropShadowEffect as a,BlurEffect as o,HueRotateEffect as c,OpacityEffect as i,ColorMatrixEffect as s}from"./effects.js";import{c as l}from"../../chunks/_commonjsHelpers.js";var f,p,h={exports:{}};function m(t){let e;try{e=t?h.exports.parse(t):[]}catch(u){return{input:t,parsedFunctions:[],effects:[],error:new n("effect:invalid-syntax","Invalid effect syntax",{input:t,error:u})}}const r={input:t,parsedFunctions:e,effects:[],error:null};try{for(const t of e)r.effects.push(g(t))}catch(u){r.effects.length=0,r.error=u}return r}function g(t){try{switch(t.name){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":return v(t);case"opacity":return d(t);case"hue-rotate":return y(t);case"blur":return A(t);case"drop-shadow":return w(t);case"bloom":return x(t)}}catch(e){throw e.details.filter=t,e}throw new n("effect:unknown-effect",`Effect '${t.name}' is not supported`,{effect:t})}function v(t){let e=1;return b(t.parameters,1),1===t.parameters.length&&(e=S(t.parameters[0])),new s(t.name,e)}function d(t){let e=1;return b(t.parameters,1),1===t.parameters.length&&(e=S(t.parameters[0])),new i(e)}function y(t){let e=0;return b(t.parameters,1),1===t.parameters.length&&(e=R(t.parameters[0])),new c(e)}function A(t){let e=0;return b(t.parameters,1),1===t.parameters.length&&(e=I(t.parameters[0]),C(e,t.parameters[0])),new o(e)}function w(t){const e=[];let r;for(const u of t.parameters)if("color"===u.type){if(e.length&&Object.freeze(e),r)throw new n("effect:type-error","Accepts only one color",{});r=M(u)}else{const t=I(u);if(Object.isFrozen(e))throw new n("effect:type-error","<length> parameters not consecutive",{lengths:e});e.push(t),3===e.length&&C(t,u)}if(e.length<2||e.length>3)throw new n("effect:type-error",`Expected <length>{2,3}, Actual: <length>{${e.length}}`,{lengths:e});return new a(e[0],e[1],e[2]||0,r||P("black"))}function x(t){let e=1,r=0,n=0;return b(t.parameters,3),t.parameters[0]&&(e=S(t.parameters[0])),t.parameters[1]&&(r=I(t.parameters[1]),C(r,t.parameters[1])),t.parameters[2]&&(n=S(t.parameters[2])),new u(e,r,n)}function b(t,e){if(t.length>e)throw new n("effect:type-error",`Function supports up to ${e} parameters, Actual: ${t.length}`,{parameters:t})}function F(t){return"color"===t.type?"<color>":k[t.unit]?"<length>":j[t.unit]?"<angle>":"%"===t.unit?"<percentage>":"<double>"}function C(t,e){if(t<0)throw new n("effect:type-error",`Negative values are not allowed, Actual: ${t}`,{term:e})}function E(t){if("quantity"!==t.type||null!==t.unit)throw new n("effect:type-error",`Expected <double>, Actual: ${F(t)}`,{term:t})}function $(t){if("quantity"!==t.type||null!==t.unit&&"%"!==t.unit)throw new n("effect:type-error",`Expected <double> or <percentage>, Actual: ${F(t)}`,{term:t})}p=function(){function t(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function e(t,r,n,u){var a=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(a,e.prototype),a.expected=r,a.found=n,a.location=u,a.name="SyntaxError",a}function r(t,e,r){return r=r||" ",t.length>e?t:(e-=t.length,t+(r+=r.repeat(e)).slice(0,e))}function n(t,r){var n,u={},a=(r=void 0!==r?r:{}).grammarSource,o={start:Lt},c=Lt,i="none",s=")",l=",",f="(",p="%",h="px",m="cm",g="mm",v="in",d="pt",y="pc",A="deg",w="rad",x="grad",b="turn",F="#",C=".",E="e",$=/^[ \t\n\r]/,j=/^[a-z\-]/,O=/^[0-9a-fA-F]/,k=/^[+\-]/,q=/^[0-9]/,S=Bt("none"),z=Ht("none",!1),R=Ht(")",!1),I=Ht(",",!1),M=Bt("whitespace"),P=Nt([" ","\t","\n","\r"],!1,!1),T=Bt("function"),U=Ht("(",!1),H=Bt("identifier"),N=Nt([["a","z"],"-"],!1,!1),_=Bt("percentage"),B=Ht("%",!1),D=Bt("length"),G=Ht("px",!1),J=Ht("cm",!1),K=Ht("mm",!1),L=Ht("in",!1),Q=Ht("pt",!1),V=Ht("pc",!1),W=Bt("angle"),X=Ht("deg",!1),Y=Ht("rad",!1),Z=Ht("grad",!1),tt=Ht("turn",!1),et=Bt("number"),rt=Bt("color"),nt=Ht("#",!1),ut=Nt([["0","9"],["a","f"],["A","F"]],!1,!1),at=Nt(["+","-"],!1,!1),ot=Nt([["0","9"]],!1,!1),ct=Ht(".",!1),it=Ht("e",!1),st=function(){return[]},lt=function(t,e){return{type:"function",name:t,parameters:e||[]}},ft=function(t,e){return e.length>0?se(t,e,3):[t]},pt=function(t){return{type:"quantity",value:t.value,unit:t.unit}},ht=function(t){return{type:"color",colorType:t.type,value:t.value}},mt=function(t){return t},gt=function(){return Ut()},vt=function(t){return{value:t,unit:"%"}},dt=function(t){return{value:t,unit:"px"}},yt=function(t){return{value:t,unit:"cm"}},At=function(t){return{value:t,unit:"mm"}},wt=function(t){return{value:t,unit:"in"}},xt=function(t){return{value:t,unit:"pt"}},bt=function(t){return{value:t,unit:"pc"}},Ft=function(t){return{value:t,unit:"deg"}},Ct=function(t){return{value:t,unit:"rad"}},Et=function(t){return{value:t,unit:"grad"}},$t=function(t){return{value:t,unit:"turn"}},jt=function(t){return{value:t,unit:null}},Ot=function(){return{type:"hex",value:Ut()}},kt=function(t){return{type:"function",value:t}},qt=function(){return{type:"named",value:Ut()}},St=function(){return parseFloat(Ut())},zt=0,Rt=0,It=[{line:1,column:1}],Mt=0,Pt=[],Tt=0;if("startRule"in r){if(!(r.startRule in o))throw new Error("Can't start parsing from rule \""+r.startRule+'".');c=o[r.startRule]}function Ut(){return t.substring(Rt,zt)}function Ht(t,e){return{type:"literal",text:t,ignoreCase:e}}function Nt(t,e,r){return{type:"class",parts:t,inverted:e,ignoreCase:r}}function _t(){return{type:"end"}}function Bt(t){return{type:"other",description:t}}function Dt(e){var r,n=It[e];if(n)return n;for(r=e-1;!It[r];)r--;for(n={line:(n=It[r]).line,column:n.column};r<e;)10===t.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return It[e]=n,n}function Gt(t,e){var r=Dt(t),n=Dt(e);return{source:a,start:{offset:t,line:r.line,column:r.column},end:{offset:e,line:n.line,column:n.column}}}function Jt(t){zt<Mt||(zt>Mt&&(Mt=zt,Pt=[]),Pt.push(t))}function Kt(t,r,n){return new e(e.buildMessage(t,r),t,r,n)}function Lt(){var t;return(t=Qt())===u&&(t=Vt()),t}function Qt(){var e,r;return Tt++,e=zt,Zt(),t.substr(zt,4)===i?(r=i,zt+=4):(r=u,0===Tt&&Jt(z)),r!==u?(Zt(),Rt=e,e=st()):(zt=e,e=u),Tt--,e===u&&0===Tt&&Jt(S),e}function Vt(){var t,e;if(t=[],(e=Wt())!==u)for(;e!==u;)t.push(e),e=Wt();else t=u;return t}function Wt(){var e,r,n,a;return e=zt,Zt(),(r=te())!==u?(Zt(),(n=Xt())===u&&(n=null),Zt(),41===t.charCodeAt(zt)?(a=s,zt++):(a=u,0===Tt&&Jt(R)),a!==u?(Zt(),Rt=e,e=lt(r,n)):(zt=e,e=u)):(zt=e,e=u),e}function Xt(){var e,r,n,a,o,c,i,s;if(e=zt,(r=Yt())!==u){for(n=[],a=zt,o=Zt(),44===t.charCodeAt(zt)?(c=l,zt++):(c=u,0===Tt&&Jt(I)),c===u&&(c=null),i=Zt(),(s=Yt())!==u?a=o=[o,c,i,s]:(zt=a,a=u);a!==u;)n.push(a),a=zt,o=Zt(),44===t.charCodeAt(zt)?(c=l,zt++):(c=u,0===Tt&&Jt(I)),c===u&&(c=null),i=Zt(),(s=Yt())!==u?a=o=[o,c,i,s]:(zt=a,a=u);Rt=e,e=ft(r,n)}else zt=e,e=u;return e}function Yt(){var t,e;return t=zt,(e=re())===u&&(e=ne())===u&&(e=ue())===u&&(e=ae()),e!==u&&(Rt=t,e=pt(e)),(t=e)===u&&(t=zt,(e=oe())!==u&&(Rt=t,e=ht(e)),t=e),t}function Zt(){var e,r;for(Tt++,e=[],$.test(t.charAt(zt))?(r=t.charAt(zt),zt++):(r=u,0===Tt&&Jt(P));r!==u;)e.push(r),$.test(t.charAt(zt))?(r=t.charAt(zt),zt++):(r=u,0===Tt&&Jt(P));return Tt--,r=u,0===Tt&&Jt(M),e}function te(){var e,r,n;return Tt++,e=zt,(r=ee())!==u?(40===t.charCodeAt(zt)?(n=f,zt++):(n=u,0===Tt&&Jt(U)),n!==u?(Rt=e,e=mt(r)):(zt=e,e=u)):(zt=e,e=u),Tt--,e===u&&(r=u,0===Tt&&Jt(T)),e}function ee(){var e,r,n;if(Tt++,e=zt,r=[],j.test(t.charAt(zt))?(n=t.charAt(zt),zt++):(n=u,0===Tt&&Jt(N)),n!==u)for(;n!==u;)r.push(n),j.test(t.charAt(zt))?(n=t.charAt(zt),zt++):(n=u,0===Tt&&Jt(N));else r=u;return r!==u&&(Rt=e,r=gt()),Tt--,(e=r)===u&&(r=u,0===Tt&&Jt(H)),e}function re(){var e,r,n;return Tt++,e=zt,Zt(),(r=ce())!==u?(37===t.charCodeAt(zt)?(n=p,zt++):(n=u,0===Tt&&Jt(B)),n!==u?(Rt=e,e=vt(r)):(zt=e,e=u)):(zt=e,e=u),Tt--,e===u&&0===Tt&&Jt(_),e}function ne(){var e,r,n;return Tt++,e=zt,Zt(),(r=ce())!==u?(t.substr(zt,2)===h?(n=h,zt+=2):(n=u,0===Tt&&Jt(G)),n!==u?(Rt=e,e=dt(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,Zt(),(r=ce())!==u?(t.substr(zt,2)===m?(n=m,zt+=2):(n=u,0===Tt&&Jt(J)),n!==u?(Rt=e,e=yt(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,Zt(),(r=ce())!==u?(t.substr(zt,2)===g?(n=g,zt+=2):(n=u,0===Tt&&Jt(K)),n!==u?(Rt=e,e=At(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,Zt(),(r=ce())!==u?(t.substr(zt,2)===v?(n=v,zt+=2):(n=u,0===Tt&&Jt(L)),n!==u?(Rt=e,e=wt(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,Zt(),(r=ce())!==u?(t.substr(zt,2)===d?(n=d,zt+=2):(n=u,0===Tt&&Jt(Q)),n!==u?(Rt=e,e=xt(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,Zt(),(r=ce())!==u?(t.substr(zt,2)===y?(n=y,zt+=2):(n=u,0===Tt&&Jt(V)),n!==u?(Rt=e,e=bt(r)):(zt=e,e=u)):(zt=e,e=u)))))),Tt--,e===u&&0===Tt&&Jt(D),e}function ue(){var e,r,n;return Tt++,e=zt,(r=ce())!==u?(t.substr(zt,3)===A?(n=A,zt+=3):(n=u,0===Tt&&Jt(X)),n!==u?(Rt=e,e=Ft(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,(r=ce())!==u?(t.substr(zt,3)===w?(n=w,zt+=3):(n=u,0===Tt&&Jt(Y)),n!==u?(Rt=e,e=Ct(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,(r=ce())!==u?(t.substr(zt,4)===x?(n=x,zt+=4):(n=u,0===Tt&&Jt(Z)),n!==u?(Rt=e,e=Et(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,(r=ce())!==u?(t.substr(zt,4)===b?(n=b,zt+=4):(n=u,0===Tt&&Jt(tt)),n!==u?(Rt=e,e=$t(r)):(zt=e,e=u)):(zt=e,e=u)))),Tt--,e===u&&(r=u,0===Tt&&Jt(W)),e}function ae(){var t,e;return Tt++,t=zt,Zt(),(e=ce())!==u?(Rt=t,t=jt(e)):(zt=t,t=u),Tt--,t===u&&0===Tt&&Jt(et),t}function oe(){var e,r,n,a;if(Tt++,e=zt,35===t.charCodeAt(zt)?(r=F,zt++):(r=u,0===Tt&&Jt(nt)),r!==u){if(n=[],O.test(t.charAt(zt))?(a=t.charAt(zt),zt++):(a=u,0===Tt&&Jt(ut)),a!==u)for(;a!==u;)n.push(a),O.test(t.charAt(zt))?(a=t.charAt(zt),zt++):(a=u,0===Tt&&Jt(ut));else n=u;n!==u?(Rt=e,e=Ot()):(zt=e,e=u)}else zt=e,e=u;return e===u&&(e=zt,(r=Wt())!==u&&(Rt=e,r=kt(r)),(e=r)===u&&(e=zt,(r=ee())!==u&&(Rt=e,r=qt()),e=r)),Tt--,e===u&&(r=u,0===Tt&&Jt(rt)),e}function ce(){var e,r,n,a,o,c,i;for(e=zt,k.test(t.charAt(zt))?(t.charAt(zt),zt++):0===Tt&&Jt(at),r=zt,n=[],q.test(t.charAt(zt))?(a=t.charAt(zt),zt++):(a=u,0===Tt&&Jt(ot));a!==u;)n.push(a),q.test(t.charAt(zt))?(a=t.charAt(zt),zt++):(a=u,0===Tt&&Jt(ot));if(46===t.charCodeAt(zt)?(a=C,zt++):(a=u,0===Tt&&Jt(ct)),a!==u){if(o=[],q.test(t.charAt(zt))?(c=t.charAt(zt),zt++):(c=u,0===Tt&&Jt(ot)),c!==u)for(;c!==u;)o.push(c),q.test(t.charAt(zt))?(c=t.charAt(zt),zt++):(c=u,0===Tt&&Jt(ot));else o=u;o!==u?r=n=[n,a,o]:(zt=r,r=u)}else zt=r,r=u;if(r===u)if(r=[],q.test(t.charAt(zt))?(n=t.charAt(zt),zt++):(n=u,0===Tt&&Jt(ot)),n!==u)for(;n!==u;)r.push(n),q.test(t.charAt(zt))?(n=t.charAt(zt),zt++):(n=u,0===Tt&&Jt(ot));else r=u;if(r!==u){if(n=zt,101===t.charCodeAt(zt)?(a=E,zt++):(a=u,0===Tt&&Jt(it)),a!==u){if(k.test(t.charAt(zt))?(o=t.charAt(zt),zt++):(o=u,0===Tt&&Jt(at)),o===u&&(o=null),c=[],q.test(t.charAt(zt))?(i=t.charAt(zt),zt++):(i=u,0===Tt&&Jt(ot)),i!==u)for(;i!==u;)c.push(i),q.test(t.charAt(zt))?(i=t.charAt(zt),zt++):(i=u,0===Tt&&Jt(ot));else c=u;c!==u?n=a=[a,o,c]:(zt=n,n=u)}else zt=n,n=u;n===u&&(n=null),Rt=e,e=St()}else zt=e,e=u;return e}function ie(t,e){return t.map((function(t){return t[e]}))}function se(t,e,r){return[t].concat(ie(e,r))}if((n=c())!==u&&zt===t.length)return n;throw n!==u&&zt<t.length&&Jt(_t()),Kt(Pt,Mt<t.length?t.charAt(Mt):null,Mt<t.length?Gt(Mt,Mt+1):Gt(Mt,Mt))}return t(e,Error),e.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var n,u=null;for(n=0;n<t.length;n++)if(t[n].source===this.location.source){u=t[n].text.split(/\r\n|\n|\r/g);break}var a=this.location.start,o=this.location.source+":"+a.line+":"+a.column;if(u){var c=this.location.end,i=r("",a.line.toString().length),s=u[a.line-1],l=a.line===c.line?c.column:s.length+1;e+="\n --\x3e "+o+"\n"+i+" |\n"+a.line+" | "+s+"\n"+i+" | "+r("",a.column-1)+r("",l-a.column,"^")}else e+="\n at "+o}return e},e.buildMessage=function(t,e){var r={literal:function(t){return'"'+u(t.text)+'"'},class:function(t){var e=t.parts.map((function(t){return Array.isArray(t)?a(t[0])+"-"+a(t[1]):a(t)}));return"["+(t.inverted?"^":"")+e+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(t){return t.description}};function n(t){return t.charCodeAt(0).toString(16).toUpperCase()}function u(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}function a(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}function o(t){return r[t.type](t)}function c(t){var e,r,n=t.map(o);if(n.sort(),n.length>0){for(e=1,r=1;e<n.length;e++)n[e-1]!==n[e]&&(n[r]=n[e],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}function i(t){return t?'"'+u(t)+'"':"end of input"}return"Expected "+c(t)+" but "+i(e)+" found."},{SyntaxError:e,parse:n}},(f=h).exports&&(f.exports=p());const j={deg:1,grad:.9,rad:180/Math.PI,turn:360};function O(t){if("quantity"!==t.type||(0!==t.value||null!==t.unit)&&null==j[t.unit])throw new n("effect:type-error",`Expected <angle>, Actual: ${F(t)}`,{term:t})}const k={px:1,cm:96/2.54,mm:96/2.54/10,in:96,pc:16,pt:96/72};function q(t){if("quantity"!==t.type||(0!==t.value||null!==t.unit)&&null==k[t.unit])throw new n("effect:type-error",`Expected <length>, Actual: ${F(t)}`,{term:t})}function S(t){$(t);const e=t.value;return C(e,t),"%"===t.unit?.01*e:e}function z(t){return E(t),C(t.value,t),t.value}function R(t){return O(t),t.value*j[t.unit]||0}function I(t){return q(t),t.value*k[t.unit]||0}function M(e){switch(e.colorType){case"hex":return t(e.value);case"named":return P(e.value);case"function":return H(e.value)}}function P(t){const r=e(t);if(!r)throw new n("effect:unknown-color",`color '${t}' isn't valid`,{namedColor:t});return r}const T=/^rgba?/i,U=/^hsla?/i;function H(t){if(b(t.parameters,4),T.test(t.name))return[S(t.parameters[0]),S(t.parameters[1]),S(t.parameters[2]),t.parameters[3]?S(t.parameters[3]):1];if(U.test(t.name))return r(z(t.parameters[0]),S(t.parameters[1]),S(t.parameters[2]),t.parameters[3]?S(t.parameters[3]):1);throw new n("effect:syntax-error",`Invalid color function '${t.name}'`,{colorFunction:t})}export{m as parse};
5
+ import{hex2rgba as t,getNamedColorCopy as e,hsla2rgba as r}from"../../colorUtils.js";import n from"../../core/Error.js";import{BloomEffect as u,DropShadowEffect as a,BlurEffect as c,HueRotateEffect as o,OpacityEffect as i,ColorMatrixEffect as s}from"./effects.js";import{c as l}from"../../chunks/_commonjsHelpers.js";import{canInterpolateEffects as f,normalizeEffects as p}from"./utils.js";var h,m,g={exports:{}};function v(t){if(!t)return null;if("string"==typeof t)return d(t);const e=t.map((t=>{if(!Number.isFinite(t.scale)||t.scale<=0)throw new n("effect:invalid-scale","scale must be finite and greater than 0",{stop:t});return{scale:t.scale,effects:d(t.value)}}));e.sort(((t,e)=>e.effects.length-t.effects.length));for(let r=0;r<e.length-1;r++){if(!f(e[r].effects,e[r+1].effects))throw new n("effect:interpolation-impossible","Cannot interpolate by scale between 2 lists of mixed effects",{a:e[r].effects,b:e[r+1].effects});p(e[r].effects,e[r+1].effects)}return e.sort(((t,e)=>e.scale-t.scale)),e}function d(t){let e;if(!t)return[];try{e=g.exports.parse(t)}catch(r){throw new n("effect:invalid-syntax","Invalid effect syntax",{value:t,error:r})}return e.map((t=>y(t)))}function y(t){try{switch(t.name){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":return A(t);case"opacity":return w(t);case"hue-rotate":return x(t);case"blur":return b(t);case"drop-shadow":return C(t);case"bloom":return F(t)}}catch(e){throw e.details.filter=t,e}throw new n("effect:unknown-effect",`Effect '${t.name}' is not supported`,{effect:t})}function A(t){let e=1;return E(t.parameters,1),1===t.parameters.length&&(e=I(t.parameters[0])),new s(t.name,e)}function w(t){let e=1;return E(t.parameters,1),1===t.parameters.length&&(e=I(t.parameters[0])),new i(e)}function x(t){let e=0;return E(t.parameters,1),1===t.parameters.length&&(e=P(t.parameters[0])),new o(e)}function b(t){let e=0;return E(t.parameters,1),1===t.parameters.length&&(e=N(t.parameters[0]),$(e,t.parameters[0])),new c(e)}function C(t){const e=[];let r;for(const u of t.parameters)if("color"===u.type){if(e.length&&Object.freeze(e),r)throw new n("effect:type-error","Accepts only one color",{});r=T(u)}else{const t=N(u);if(Object.isFrozen(e))throw new n("effect:type-error","<length> parameters not consecutive",{lengths:e});e.push(t),3===e.length&&$(t,u)}if(e.length<2||e.length>3)throw new n("effect:type-error",`Expected <length>{2,3}, Actual: <length>{${e.length}}`,{lengths:e});return new a(e[0],e[1],e[2]||0,r||U("black"))}function F(t){let e=1,r=0,n=0;return E(t.parameters,3),t.parameters[0]&&(e=I(t.parameters[0])),t.parameters[1]&&(r=N(t.parameters[1]),$(r,t.parameters[1])),t.parameters[2]&&(n=I(t.parameters[2])),new u(e,r,n)}function E(t,e){if(t.length>e)throw new n("effect:type-error",`Function supports up to ${e} parameters, Actual: ${t.length}`,{parameters:t})}function j(t){return"color"===t.type?"<color>":z[t.unit]?"<length>":q[t.unit]?"<angle>":"%"===t.unit?"<percentage>":"<double>"}function $(t,e){if(t<0)throw new n("effect:type-error",`Negative values are not allowed, Actual: ${t}`,{term:e})}function O(t){if("quantity"!==t.type||null!==t.unit)throw new n("effect:type-error",`Expected <double>, Actual: ${j(t)}`,{term:t})}function k(t){if("quantity"!==t.type||null!==t.unit&&"%"!==t.unit)throw new n("effect:type-error",`Expected <double> or <percentage>, Actual: ${j(t)}`,{term:t})}m=function(){function t(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function e(t,r,n,u){var a=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(a,e.prototype),a.expected=r,a.found=n,a.location=u,a.name="SyntaxError",a}function r(t,e,r){return r=r||" ",t.length>e?t:(e-=t.length,t+(r+=r.repeat(e)).slice(0,e))}function n(t,r){var n,u={},a=(r=void 0!==r?r:{}).grammarSource,c={start:Lt},o=Lt,i="none",s=")",l=",",f="(",p="%",h="px",m="cm",g="mm",v="in",d="pt",y="pc",A="deg",w="rad",x="grad",b="turn",C="#",F=".",E="e",j=/^[ \t\n\r]/,$=/^[a-z\-]/,O=/^[0-9a-fA-F]/,k=/^[+\-]/,q=/^[0-9]/,S=Bt("none"),z=Ut("none",!1),R=Ut(")",!1),I=Ut(",",!1),M=Bt("whitespace"),P=Ht([" ","\t","\n","\r"],!1,!1),N=Bt("function"),T=Ut("(",!1),U=Bt("identifier"),H=Ht([["a","z"],"-"],!1,!1),_=Bt("percentage"),B=Ut("%",!1),D=Bt("length"),G=Ut("px",!1),J=Ut("cm",!1),K=Ut("mm",!1),L=Ut("in",!1),Q=Ut("pt",!1),V=Ut("pc",!1),W=Bt("angle"),X=Ut("deg",!1),Y=Ut("rad",!1),Z=Ut("grad",!1),tt=Ut("turn",!1),et=Bt("number"),rt=Bt("color"),nt=Ut("#",!1),ut=Ht([["0","9"],["a","f"],["A","F"]],!1,!1),at=Ht(["+","-"],!1,!1),ct=Ht([["0","9"]],!1,!1),ot=Ut(".",!1),it=Ut("e",!1),st=function(){return[]},lt=function(t,e){return{type:"function",name:t,parameters:e||[]}},ft=function(t,e){return e.length>0?se(t,e,3):[t]},pt=function(t){return{type:"quantity",value:t.value,unit:t.unit}},ht=function(t){return{type:"color",colorType:t.type,value:t.value}},mt=function(t){return t},gt=function(){return Tt()},vt=function(t){return{value:t,unit:"%"}},dt=function(t){return{value:t,unit:"px"}},yt=function(t){return{value:t,unit:"cm"}},At=function(t){return{value:t,unit:"mm"}},wt=function(t){return{value:t,unit:"in"}},xt=function(t){return{value:t,unit:"pt"}},bt=function(t){return{value:t,unit:"pc"}},Ct=function(t){return{value:t,unit:"deg"}},Ft=function(t){return{value:t,unit:"rad"}},Et=function(t){return{value:t,unit:"grad"}},jt=function(t){return{value:t,unit:"turn"}},$t=function(t){return{value:t,unit:null}},Ot=function(){return{type:"hex",value:Tt()}},kt=function(t){return{type:"function",value:t}},qt=function(){return{type:"named",value:Tt()}},St=function(){return parseFloat(Tt())},zt=0,Rt=0,It=[{line:1,column:1}],Mt=0,Pt=[],Nt=0;if("startRule"in r){if(!(r.startRule in c))throw new Error("Can't start parsing from rule \""+r.startRule+'".');o=c[r.startRule]}function Tt(){return t.substring(Rt,zt)}function Ut(t,e){return{type:"literal",text:t,ignoreCase:e}}function Ht(t,e,r){return{type:"class",parts:t,inverted:e,ignoreCase:r}}function _t(){return{type:"end"}}function Bt(t){return{type:"other",description:t}}function Dt(e){var r,n=It[e];if(n)return n;for(r=e-1;!It[r];)r--;for(n={line:(n=It[r]).line,column:n.column};r<e;)10===t.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return It[e]=n,n}function Gt(t,e){var r=Dt(t),n=Dt(e);return{source:a,start:{offset:t,line:r.line,column:r.column},end:{offset:e,line:n.line,column:n.column}}}function Jt(t){zt<Mt||(zt>Mt&&(Mt=zt,Pt=[]),Pt.push(t))}function Kt(t,r,n){return new e(e.buildMessage(t,r),t,r,n)}function Lt(){var t;return(t=Qt())===u&&(t=Vt()),t}function Qt(){var e,r;return Nt++,e=zt,Zt(),t.substr(zt,4)===i?(r=i,zt+=4):(r=u,0===Nt&&Jt(z)),r!==u?(Zt(),Rt=e,e=st()):(zt=e,e=u),Nt--,e===u&&0===Nt&&Jt(S),e}function Vt(){var t,e;if(t=[],(e=Wt())!==u)for(;e!==u;)t.push(e),e=Wt();else t=u;return t}function Wt(){var e,r,n,a;return e=zt,Zt(),(r=te())!==u?(Zt(),(n=Xt())===u&&(n=null),Zt(),41===t.charCodeAt(zt)?(a=s,zt++):(a=u,0===Nt&&Jt(R)),a!==u?(Zt(),Rt=e,e=lt(r,n)):(zt=e,e=u)):(zt=e,e=u),e}function Xt(){var e,r,n,a,c,o,i,s;if(e=zt,(r=Yt())!==u){for(n=[],a=zt,c=Zt(),44===t.charCodeAt(zt)?(o=l,zt++):(o=u,0===Nt&&Jt(I)),o===u&&(o=null),i=Zt(),(s=Yt())!==u?a=c=[c,o,i,s]:(zt=a,a=u);a!==u;)n.push(a),a=zt,c=Zt(),44===t.charCodeAt(zt)?(o=l,zt++):(o=u,0===Nt&&Jt(I)),o===u&&(o=null),i=Zt(),(s=Yt())!==u?a=c=[c,o,i,s]:(zt=a,a=u);Rt=e,e=ft(r,n)}else zt=e,e=u;return e}function Yt(){var t,e;return t=zt,(e=re())===u&&(e=ne())===u&&(e=ue())===u&&(e=ae()),e!==u&&(Rt=t,e=pt(e)),(t=e)===u&&(t=zt,(e=ce())!==u&&(Rt=t,e=ht(e)),t=e),t}function Zt(){var e,r;for(Nt++,e=[],j.test(t.charAt(zt))?(r=t.charAt(zt),zt++):(r=u,0===Nt&&Jt(P));r!==u;)e.push(r),j.test(t.charAt(zt))?(r=t.charAt(zt),zt++):(r=u,0===Nt&&Jt(P));return Nt--,r=u,0===Nt&&Jt(M),e}function te(){var e,r,n;return Nt++,e=zt,(r=ee())!==u?(40===t.charCodeAt(zt)?(n=f,zt++):(n=u,0===Nt&&Jt(T)),n!==u?(Rt=e,e=mt(r)):(zt=e,e=u)):(zt=e,e=u),Nt--,e===u&&(r=u,0===Nt&&Jt(N)),e}function ee(){var e,r,n;if(Nt++,e=zt,r=[],$.test(t.charAt(zt))?(n=t.charAt(zt),zt++):(n=u,0===Nt&&Jt(H)),n!==u)for(;n!==u;)r.push(n),$.test(t.charAt(zt))?(n=t.charAt(zt),zt++):(n=u,0===Nt&&Jt(H));else r=u;return r!==u&&(Rt=e,r=gt()),Nt--,(e=r)===u&&(r=u,0===Nt&&Jt(U)),e}function re(){var e,r,n;return Nt++,e=zt,Zt(),(r=oe())!==u?(37===t.charCodeAt(zt)?(n=p,zt++):(n=u,0===Nt&&Jt(B)),n!==u?(Rt=e,e=vt(r)):(zt=e,e=u)):(zt=e,e=u),Nt--,e===u&&0===Nt&&Jt(_),e}function ne(){var e,r,n;return Nt++,e=zt,Zt(),(r=oe())!==u?(t.substr(zt,2)===h?(n=h,zt+=2):(n=u,0===Nt&&Jt(G)),n!==u?(Rt=e,e=dt(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,Zt(),(r=oe())!==u?(t.substr(zt,2)===m?(n=m,zt+=2):(n=u,0===Nt&&Jt(J)),n!==u?(Rt=e,e=yt(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,Zt(),(r=oe())!==u?(t.substr(zt,2)===g?(n=g,zt+=2):(n=u,0===Nt&&Jt(K)),n!==u?(Rt=e,e=At(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,Zt(),(r=oe())!==u?(t.substr(zt,2)===v?(n=v,zt+=2):(n=u,0===Nt&&Jt(L)),n!==u?(Rt=e,e=wt(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,Zt(),(r=oe())!==u?(t.substr(zt,2)===d?(n=d,zt+=2):(n=u,0===Nt&&Jt(Q)),n!==u?(Rt=e,e=xt(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,Zt(),(r=oe())!==u?(t.substr(zt,2)===y?(n=y,zt+=2):(n=u,0===Nt&&Jt(V)),n!==u?(Rt=e,e=bt(r)):(zt=e,e=u)):(zt=e,e=u)))))),Nt--,e===u&&0===Nt&&Jt(D),e}function ue(){var e,r,n;return Nt++,e=zt,(r=oe())!==u?(t.substr(zt,3)===A?(n=A,zt+=3):(n=u,0===Nt&&Jt(X)),n!==u?(Rt=e,e=Ct(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,(r=oe())!==u?(t.substr(zt,3)===w?(n=w,zt+=3):(n=u,0===Nt&&Jt(Y)),n!==u?(Rt=e,e=Ft(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,(r=oe())!==u?(t.substr(zt,4)===x?(n=x,zt+=4):(n=u,0===Nt&&Jt(Z)),n!==u?(Rt=e,e=Et(r)):(zt=e,e=u)):(zt=e,e=u),e===u&&(e=zt,(r=oe())!==u?(t.substr(zt,4)===b?(n=b,zt+=4):(n=u,0===Nt&&Jt(tt)),n!==u?(Rt=e,e=jt(r)):(zt=e,e=u)):(zt=e,e=u)))),Nt--,e===u&&(r=u,0===Nt&&Jt(W)),e}function ae(){var t,e;return Nt++,t=zt,Zt(),(e=oe())!==u?(Rt=t,t=$t(e)):(zt=t,t=u),Nt--,t===u&&0===Nt&&Jt(et),t}function ce(){var e,r,n,a;if(Nt++,e=zt,35===t.charCodeAt(zt)?(r=C,zt++):(r=u,0===Nt&&Jt(nt)),r!==u){if(n=[],O.test(t.charAt(zt))?(a=t.charAt(zt),zt++):(a=u,0===Nt&&Jt(ut)),a!==u)for(;a!==u;)n.push(a),O.test(t.charAt(zt))?(a=t.charAt(zt),zt++):(a=u,0===Nt&&Jt(ut));else n=u;n!==u?(Rt=e,e=Ot()):(zt=e,e=u)}else zt=e,e=u;return e===u&&(e=zt,(r=Wt())!==u&&(Rt=e,r=kt(r)),(e=r)===u&&(e=zt,(r=ee())!==u&&(Rt=e,r=qt()),e=r)),Nt--,e===u&&(r=u,0===Nt&&Jt(rt)),e}function oe(){var e,r,n,a,c,o,i;for(e=zt,k.test(t.charAt(zt))?(t.charAt(zt),zt++):0===Nt&&Jt(at),r=zt,n=[],q.test(t.charAt(zt))?(a=t.charAt(zt),zt++):(a=u,0===Nt&&Jt(ct));a!==u;)n.push(a),q.test(t.charAt(zt))?(a=t.charAt(zt),zt++):(a=u,0===Nt&&Jt(ct));if(46===t.charCodeAt(zt)?(a=F,zt++):(a=u,0===Nt&&Jt(ot)),a!==u){if(c=[],q.test(t.charAt(zt))?(o=t.charAt(zt),zt++):(o=u,0===Nt&&Jt(ct)),o!==u)for(;o!==u;)c.push(o),q.test(t.charAt(zt))?(o=t.charAt(zt),zt++):(o=u,0===Nt&&Jt(ct));else c=u;c!==u?r=n=[n,a,c]:(zt=r,r=u)}else zt=r,r=u;if(r===u)if(r=[],q.test(t.charAt(zt))?(n=t.charAt(zt),zt++):(n=u,0===Nt&&Jt(ct)),n!==u)for(;n!==u;)r.push(n),q.test(t.charAt(zt))?(n=t.charAt(zt),zt++):(n=u,0===Nt&&Jt(ct));else r=u;if(r!==u){if(n=zt,101===t.charCodeAt(zt)?(a=E,zt++):(a=u,0===Nt&&Jt(it)),a!==u){if(k.test(t.charAt(zt))?(c=t.charAt(zt),zt++):(c=u,0===Nt&&Jt(at)),c===u&&(c=null),o=[],q.test(t.charAt(zt))?(i=t.charAt(zt),zt++):(i=u,0===Nt&&Jt(ct)),i!==u)for(;i!==u;)o.push(i),q.test(t.charAt(zt))?(i=t.charAt(zt),zt++):(i=u,0===Nt&&Jt(ct));else o=u;o!==u?n=a=[a,c,o]:(zt=n,n=u)}else zt=n,n=u;n===u&&(n=null),Rt=e,e=St()}else zt=e,e=u;return e}function ie(t,e){return t.map((function(t){return t[e]}))}function se(t,e,r){return[t].concat(ie(e,r))}if((n=o())!==u&&zt===t.length)return n;throw n!==u&&zt<t.length&&Jt(_t()),Kt(Pt,Mt<t.length?t.charAt(Mt):null,Mt<t.length?Gt(Mt,Mt+1):Gt(Mt,Mt))}return t(e,Error),e.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var n,u=null;for(n=0;n<t.length;n++)if(t[n].source===this.location.source){u=t[n].text.split(/\r\n|\n|\r/g);break}var a=this.location.start,c=this.location.source+":"+a.line+":"+a.column;if(u){var o=this.location.end,i=r("",a.line.toString().length),s=u[a.line-1],l=a.line===o.line?o.column:s.length+1;e+="\n --\x3e "+c+"\n"+i+" |\n"+a.line+" | "+s+"\n"+i+" | "+r("",a.column-1)+r("",l-a.column,"^")}else e+="\n at "+c}return e},e.buildMessage=function(t,e){var r={literal:function(t){return'"'+u(t.text)+'"'},class:function(t){var e=t.parts.map((function(t){return Array.isArray(t)?a(t[0])+"-"+a(t[1]):a(t)}));return"["+(t.inverted?"^":"")+e+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(t){return t.description}};function n(t){return t.charCodeAt(0).toString(16).toUpperCase()}function u(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}function a(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+n(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+n(t)}))}function c(t){return r[t.type](t)}function o(t){var e,r,n=t.map(c);if(n.sort(),n.length>0){for(e=1,r=1;e<n.length;e++)n[e-1]!==n[e]&&(n[r]=n[e],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}function i(t){return t?'"'+u(t)+'"':"end of input"}return"Expected "+o(t)+" but "+i(e)+" found."},{SyntaxError:e,parse:n}},(h=g).exports&&(h.exports=m());const q={deg:1,grad:.9,rad:180/Math.PI,turn:360};function S(t){if("quantity"!==t.type||(0!==t.value||null!==t.unit)&&null==q[t.unit])throw new n("effect:type-error",`Expected <angle>, Actual: ${j(t)}`,{term:t})}const z={px:1,cm:96/2.54,mm:96/2.54/10,in:96,pc:16,pt:96/72};function R(t){if("quantity"!==t.type||(0!==t.value||null!==t.unit)&&null==z[t.unit])throw new n("effect:type-error",`Expected <length>, Actual: ${j(t)}`,{term:t})}function I(t){k(t);const e=t.value;return $(e,t),"%"===t.unit?.01*e:e}function M(t){return O(t),$(t.value,t),t.value}function P(t){return S(t),t.value*q[t.unit]||0}function N(t){return R(t),t.value*z[t.unit]||0}function T(e){switch(e.colorType){case"hex":return t(e.value);case"named":return U(e.value);case"function":return B(e.value)}}function U(t){const r=e(t);if(!r)throw new n("effect:unknown-color",`color '${t}' isn't valid`,{namedColor:t});return r}const H=/^rgba?/i,_=/^hsla?/i;function B(t){if(E(t.parameters,4),H.test(t.name))return[I(t.parameters[0]),I(t.parameters[1]),I(t.parameters[2]),t.parameters[3]?I(t.parameters[3]):1];if(_.test(t.name))return r(M(t.parameters[0]),I(t.parameters[1]),I(t.parameters[2]),t.parameters[3]?I(t.parameters[3]):1);throw new n("effect:syntax-error",`Invalid color function '${t.name}'`,{colorFunction:t})}export{v as parse};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.22/esri/copyright.txt for details.
4
+ */
5
+ import{createEffectWithInitialValues as t}from"./effects.js";function n(t,n){const e=t.length>n.length?t:n;return(t.length>n.length?n:t).every(((t,n)=>t.type===e[n].type))}function e(n,e){const h=n.length>e.length?n:e,l=n.length>e.length?e:n;for(let g=l.length;g<h.length;g++)l.push(t(h[g]))}function h(t){const n=t[0];return!!n&&"type"in n}export{n as canInterpolateEffects,h as isEffectFunctions,e as normalizeEffects};