@arcgis/core 5.2.0-next.120 → 5.2.0-next.121

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 (348) hide show
  1. package/arcade/containerUtils.js +1 -1
  2. package/arcade/functions/feature.js +1 -1
  3. package/arcade/functions/featuresetstring.js +1 -1
  4. package/arcade/languageUtils.js +1 -1
  5. package/arcgisGlobal.d.ts +7 -0
  6. package/assets/components/assets/icon/addCellAbove16.json +1 -0
  7. package/assets/components/assets/icon/addCellAbove24.json +1 -0
  8. package/assets/components/assets/icon/addCellAbove32.json +1 -0
  9. package/assets/components/assets/icon/addCellBelow16.json +1 -0
  10. package/assets/components/assets/icon/addCellBelow24.json +1 -0
  11. package/assets/components/assets/icon/addCellBelow32.json +1 -0
  12. package/assets/components/assets/icon/linkedChart16.json +1 -0
  13. package/assets/components/assets/icon/linkedChart24.json +1 -0
  14. package/assets/components/assets/icon/linkedChart32.json +1 -0
  15. package/assets/components/assets/icon/polygonFromFeature16.json +1 -0
  16. package/assets/components/assets/icon/polygonFromFeature24.json +1 -0
  17. package/assets/components/assets/icon/polygonFromFeature32.json +1 -0
  18. package/assets/esri/core/workers/RemoteClient.js +1 -1
  19. package/assets/esri/core/workers/chunks/015cb790262a59857c5f.js +1 -0
  20. package/assets/esri/core/workers/chunks/025da54eef112d7e8f66.js +1 -0
  21. package/assets/esri/core/workers/chunks/033debcbf6b3683dc4fe.js +2 -0
  22. package/assets/esri/core/workers/chunks/064445e6f9512817ac87.js +2 -0
  23. package/assets/esri/core/workers/chunks/{304462b049116f59accc.js → 09676cfa99b90fe0cc63.js} +1 -1
  24. package/assets/esri/core/workers/chunks/0aadee0437fa061e4ff5.js +1 -0
  25. package/assets/esri/core/workers/chunks/{b0058619e0363002ad86.js → 0e9f54d7f158195bd203.js} +1 -1
  26. package/assets/esri/core/workers/chunks/1086f190f94c715bbfe4.js +1 -0
  27. package/assets/esri/core/workers/chunks/1846296be959e28c42bb.js +1 -0
  28. package/assets/esri/core/workers/chunks/{ea9e770efc85594e4dd2.js → 216d8cb86548e92a8196.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{d629708bf23da24ee523.js → 298f234f11a10c5120a2.js} +1 -1
  30. package/assets/esri/core/workers/chunks/29ae19206bbeb480be0f.js +1 -0
  31. package/assets/esri/core/workers/chunks/{dc1944a7601b518a9c48.js → 2ca49fb4590cc34a02bd.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{f890359d972cce54459e.js → 2f829321bfbd3bacd64f.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{7232fc11b23777b6be94.js → 369012c032ea6882607c.js} +1 -1
  34. package/assets/esri/core/workers/chunks/39c5e0f6262f69a62c66.js +1 -0
  35. package/assets/esri/core/workers/chunks/{9f760dc4492a03e0504c.js → 45d87af48a21644590c2.js} +1 -1
  36. package/assets/esri/core/workers/chunks/463d69f596d1d34ef275.js +2 -0
  37. package/assets/esri/core/workers/chunks/49affbed22e201f7c32b.js +1 -0
  38. package/assets/esri/core/workers/chunks/4adad3312caa24af98ac.js +1 -0
  39. package/assets/esri/core/workers/chunks/{8f0ecf4d06ec7b67d4ed.js → 52744dfd430cd0c0edfb.js} +1 -1
  40. package/assets/esri/core/workers/chunks/58a17fb3c0dd07c63d57.js +2 -0
  41. package/assets/esri/core/workers/chunks/5993db944b9e7825e0bc.js +1 -0
  42. package/assets/esri/core/workers/chunks/{090c9c2dbf92f2cac0b8.js → 770ca70d363184e39d60.js} +1 -1
  43. package/assets/esri/core/workers/chunks/83c7c4218bc6ba2f16ee.js +1 -0
  44. package/assets/esri/core/workers/chunks/{cfd8317ecd2e63af7c40.js → 8a103b6e9534516421e2.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{49e8ff5ed079a9e3be4b.js → 91a51d959ee5c6123c46.js} +1 -1
  46. package/assets/esri/core/workers/chunks/92f35b2c3c5f13778308.js +1 -0
  47. package/assets/esri/core/workers/chunks/97cd4145c016cf379120.js +1 -0
  48. package/assets/esri/core/workers/chunks/99ebc99e8d1bca105b5e.js +1 -0
  49. package/assets/esri/core/workers/chunks/{e18b8646c7378213b618.js → 9b3813e39992b1b99941.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{32fc7d1db4b311f6b880.js → 9e5b30b907102bc0c201.js} +1 -1
  51. package/assets/esri/core/workers/chunks/a005efcde3ca9def4e6b.js +1 -0
  52. package/assets/esri/core/workers/chunks/a3c1a5a5c5cbf27b376d.js +1 -0
  53. package/assets/esri/core/workers/chunks/a70c59129ea808857d07.js +1 -0
  54. package/assets/esri/core/workers/chunks/b5b30c8447a0f967fa79.js +1 -0
  55. package/assets/esri/core/workers/chunks/bb5ed2a796a45c41b0b4.js +1 -0
  56. package/assets/esri/core/workers/chunks/bcb06a0643b4c83535ee.js +1 -0
  57. package/assets/esri/core/workers/chunks/{066b7f6866d602f963e0.js → c3008b20cb5fd38bd900.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{22e85819e23202a8ba90.js → c39ebd8d469f1e8bb61e.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{7f2ac03efaa4a4898ba2.js → c3b96d1d43afccd23e45.js} +2 -2
  60. package/assets/esri/core/workers/chunks/{cb983f65995e57fff7a1.js → c44cbe04efddbbbaec13.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{8ce14dd209462f88b163.js → c70a32ac0fa49f4493ca.js} +1 -1
  62. package/assets/esri/core/workers/chunks/ce08e3369641da0d7a27.js +2 -0
  63. package/assets/esri/core/workers/chunks/d1b5be1aeab16d36d4b1.js +1 -0
  64. package/assets/esri/core/workers/chunks/{da6583e8d88441a1c02a.js → d38252956c3d9e2168f7.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{1742dbc6a827cfda471b.js → d3d48401462ef3bf0ad9.js} +1 -1
  66. package/assets/esri/core/workers/chunks/d9b761104ab6e4acaf91.js +1 -0
  67. package/assets/esri/core/workers/chunks/{723478607badcde5706b.js → d9d5f50af047ee7af129.js} +87 -86
  68. package/assets/esri/core/workers/chunks/{354912041363502c6a89.js → da161f8cbe1cfc5fcf7c.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{862e1acd80c4e43831dc.js → dc923e50958b68a50014.js} +1 -1
  70. package/assets/esri/core/workers/chunks/e86f83a6514a35255f64.js +1 -0
  71. package/assets/esri/core/workers/chunks/ea49721fdd2172d1c799.js +1 -0
  72. package/assets/esri/core/workers/chunks/{98a5327fd96d9542b39f.js → f90cad9f007a11154c0d.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{f18ee2eaa96d103627a6.js → fa3f824c874f29d24953.js} +1 -1
  74. package/assets/esri/core/workers/chunks/fbb390c0d92d1536fce3.js +1 -0
  75. package/assets/esri/core/workers/chunks/fbc5f275c4e5e6bfffaa.js +1 -0
  76. package/assets/esri/core/workers/chunks/{6ab7bb3834841834f839.js → fd5e61cb6f936eadcfe3.js} +1 -1
  77. package/assets/esri/themes/dark/main.css +1 -1
  78. package/assets/esri/themes/light/main.css +1 -1
  79. package/assets/esri/themes/light/view.css +1 -1
  80. package/basemaps/BasemapCollection.d.ts +148 -0
  81. package/basemaps/BasemapCollection.js +2 -0
  82. package/basemaps/BasemapsSource.d.ts +39 -0
  83. package/basemaps/BasemapsSource.js +2 -0
  84. package/basemaps/LocalBasemapsSource.d.ts +55 -0
  85. package/basemaps/LocalBasemapsSource.js +2 -0
  86. package/basemaps/PortalBasemapsSource.d.ts +98 -0
  87. package/basemaps/PortalBasemapsSource.js +2 -0
  88. package/basemaps/support/BasemapItem.d.ts +74 -0
  89. package/basemaps/support/BasemapItem.js +2 -0
  90. package/basemaps/support/basemapCompatibilityUtils.js +2 -0
  91. package/basemaps/types.d.ts +42 -0
  92. package/chunks/CheckerBoard.glsl.js +1 -1
  93. package/chunks/ColorMaterial.glsl.js +1 -1
  94. package/chunks/Component.glsl.js +11 -11
  95. package/chunks/DeepSky.glsl.js +1 -1
  96. package/chunks/DefaultMaterial.glsl.js +4 -4
  97. package/chunks/EdgeShader.glsl.js +1 -1
  98. package/chunks/FocusArea.glsl.js +1 -1
  99. package/chunks/GaussianSplat.glsl.js +9 -9
  100. package/chunks/HUDMaterial.glsl.js +1 -1
  101. package/chunks/ImageMaterial.glsl.js +1 -1
  102. package/chunks/LineCallout.glsl.js +1 -1
  103. package/chunks/LineMarker.glsl.js +97 -89
  104. package/chunks/NativeLine.glsl.js +1 -1
  105. package/chunks/Path.glsl.js +8 -7
  106. package/chunks/Pattern.glsl.js +1 -1
  107. package/chunks/PointRenderer.glsl.js +1 -1
  108. package/chunks/RealisticTree.glsl.js +4 -4
  109. package/chunks/RibbonLine.glsl.js +58 -56
  110. package/chunks/ShadowCastAccumulate.glsl.js +3 -3
  111. package/chunks/ShadowHighlight.glsl.js +4 -4
  112. package/chunks/ShadowHighlightBuffer.glsl.js +3 -3
  113. package/chunks/Terrain.glsl.js +12 -14
  114. package/chunks/Viewshed.glsl.js +1 -1
  115. package/chunks/Water.glsl.js +3 -3
  116. package/chunks/languageUtils.js +1 -1
  117. package/config.js +1 -1
  118. package/core/Accessor.d.ts +10 -0
  119. package/kernel.js +1 -1
  120. package/layers/CSVLayer.js +1 -1
  121. package/layers/GeoJSONLayer.d.ts +1 -1
  122. package/layers/GeoJSONLayer.js +1 -1
  123. package/layers/OGCFeatureLayer.js +1 -1
  124. package/layers/StreamLayer.js +1 -1
  125. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  126. package/layers/mixins/FeatureLayerBase.js +1 -1
  127. package/layers/support/LabelClass.d.ts +13 -4
  128. package/layers/support/LabelClass.js +1 -1
  129. package/layers/support/commonProperties.js +1 -1
  130. package/legend/ActiveLayerInfo.d.ts +130 -0
  131. package/legend/ActiveLayerInfo.js +2 -0
  132. package/legend/LegendContent.d.ts +118 -0
  133. package/legend/LegendContent.js +2 -0
  134. package/legend/support/clusterUtils.js +2 -0
  135. package/legend/support/colorRampUtils.js +2 -0
  136. package/legend/support/heatmapRampUtils.js +2 -0
  137. package/legend/support/relationshipRampUtils.js +2 -0
  138. package/legend/support/sizeRampUtils.js +2 -0
  139. package/legend/support/utils.js +2 -0
  140. package/legend/types.d.ts +403 -0
  141. package/libs/i3s/I3SModule.js +1 -1
  142. package/package.json +5 -5
  143. package/support/revision.js +1 -1
  144. package/support/userTypeGuards/isBasemapsSource.js +2 -0
  145. package/symbols/cim/CIMOperators.js +1 -1
  146. package/symbols/cim/callouts/effects/BackgroundCallout.js +2 -0
  147. package/symbols/cim/callouts/effects/BalloonCallout.js +2 -0
  148. package/symbols/cim/callouts/effects/PointSymbolCallout.js +2 -0
  149. package/symbols/cim/callouts/effects/SimpleLineCallout.js +2 -0
  150. package/symbols/cim/callouts/effects/calloutUtils.js +2 -0
  151. package/symbols/cim/cimAnalyzer.js +1 -1
  152. package/symbols/cim/utils.js +1 -1
  153. package/symbols/support/typeUtils.js +1 -1
  154. package/views/2d/LabelManager.js +1 -1
  155. package/views/2d/engine/AFeatureContainer.js +1 -1
  156. package/views/2d/engine/vectorTiles/decluttering/SymbolRepository.js +1 -1
  157. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  158. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  159. package/views/2d/engine/webgl/GlyphWorker.js +1 -1
  160. package/views/2d/engine/webgl/TileCpuState.js +1 -1
  161. package/views/2d/engine/webgl/TileGpuState.js +1 -1
  162. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  163. package/views/2d/engine/webgl/collisions/LabelStore.js +2 -0
  164. package/views/2d/engine/webgl/cpuMapped/CpuBuffer.js +1 -1
  165. package/views/2d/engine/webgl/cpuMapped/CpuMeshData.js +1 -1
  166. package/views/2d/engine/webgl/cpuMapped/GpuMeshState.js +1 -1
  167. package/views/2d/engine/webgl/definitions.js +1 -1
  168. package/views/2d/engine/webgl/mesh/MeshData.js +1 -1
  169. package/views/2d/engine/webgl/mesh/MultiTileMeshData.js +1 -1
  170. package/views/2d/engine/webgl/mesh/factories/CalloutMeshWriterCoordinator.js +2 -0
  171. package/views/2d/engine/webgl/mesh/factories/FeatureMeshFactory.js +1 -1
  172. package/views/2d/engine/webgl/mesh/factories/MeshWriterGroupCoordinator.js +2 -0
  173. package/views/2d/engine/webgl/mesh/templates/segmentUtils.js +1 -1
  174. package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
  175. package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
  176. package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
  177. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueInstance.js +1 -1
  178. package/views/2d/engine/webgl/shaderGraph/techniques/TestDisplayObject.js +1 -1
  179. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
  180. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  181. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  182. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  183. package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
  184. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  185. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  186. package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
  187. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
  188. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
  189. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
  190. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  191. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  192. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  193. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  194. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  195. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  196. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/CalloutMeshWriterPolicy.js +2 -0
  197. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  198. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterReferences.js +2 -0
  199. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterVertexPack.js +1 -1
  200. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/dataViewUtils.js +1 -1
  201. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
  202. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  203. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  204. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  205. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  206. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  207. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  208. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/constants.js +1 -1
  209. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  210. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  211. package/views/2d/engine/webgl/util/AnnotationMatcher.js +1 -1
  212. package/views/2d/engine/webgl/util/DimensionMatcher.js +1 -1
  213. package/views/2d/engine/webgl/util/IntervalMatcher.js +1 -1
  214. package/views/2d/engine/webgl/util/LabelMatcher.js +1 -1
  215. package/views/2d/engine/webgl/util/MapMatcher.js +1 -1
  216. package/views/2d/engine/webgl/util/Matcher.js +1 -1
  217. package/views/2d/engine/webgl/util/MatcherContext.js +1 -1
  218. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  219. package/views/2d/layers/MediaLayerView2D.js +1 -1
  220. package/views/2d/layers/TileLayerView2D.js +1 -1
  221. package/views/2d/layers/features/FeatureContainer.js +1 -1
  222. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  223. package/views/2d/layers/features/RenderState.js +1 -1
  224. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  225. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  226. package/views/2d/layers/features/support/GraphicsReader.js +1 -1
  227. package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
  228. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  229. package/views/2d/layers/support/annodime/MatcherGeometryOverride.js +1 -1
  230. package/views/2d/layers/support/annodime/PrivateMatcherGeometryOverrideEffect.js +1 -1
  231. package/views/2d/layers/support/annodime/annotationGraphic.js +1 -1
  232. package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
  233. package/views/2d/layers/support/annodime/debugUtils.js +1 -1
  234. package/views/2d/layers/support/annodime/virtualFields.js +1 -1
  235. package/views/3d/input/SceneInputManager.js +1 -1
  236. package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +2 -0
  237. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  238. package/views/3d/layers/SceneLayerWorker.js +1 -1
  239. package/views/3d/support/MemoryController.js +1 -1
  240. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  241. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  242. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +1 -3
  243. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
  244. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +1 -1
  245. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +8 -8
  246. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +6 -6
  247. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  248. package/views/3d/webgl-engine/core/shaderLibrary/forwardLinearDepthToReadShadow.glsl.js +4 -0
  249. package/views/3d/webgl-engine/core/shaderLibrary/{ForwardLinearDepthToWriteShadowMap.glsl.js → forwardLinearDepthToWriteShadow.glsl.js} +5 -5
  250. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
  251. package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +3 -4
  252. package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js +2 -2
  253. package/views/3d/webgl-engine/core/shaderLibrary/shading/readFragmentShadow.glsl.js +5 -0
  254. package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +24 -0
  255. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
  256. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  257. package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
  258. package/views/3d/webgl-engine/effects/focusArea/FocusArea.js +1 -1
  259. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  260. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
  261. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
  262. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  263. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowAccumulator.js +1 -1
  264. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
  265. package/views/3d/webgl-engine/lib/LineMaterial.js +1 -1
  266. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  267. package/views/3d/webgl-engine/materials/DrawParameters.js +1 -1
  268. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  269. package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
  270. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  271. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  272. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  273. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  274. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  275. package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +1 -1
  276. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  277. package/views/3d/webgl-engine/shaders/LineTechniqueConfiguration.js +1 -1
  278. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  279. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  280. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  281. package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -1
  282. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  283. package/views/3d/webgl-engine/shaders/{AnimatedLine.glsl.js → animatedAlpha.glsl.js} +11 -17
  284. package/views/ToolViewManager.js +1 -1
  285. package/views/VideoView.js +1 -1
  286. package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +3 -0
  287. package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -0
  288. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -0
  289. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -0
  290. package/widgets/BasemapGallery/types.d.ts +6 -1
  291. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +2 -0
  292. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  293. package/widgets/Editor/EditorViewModel.d.ts +2 -1
  294. package/widgets/Editor/EditorViewModel.js +1 -1
  295. package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
  296. package/widgets/Editor.d.ts +2 -1
  297. package/widgets/Editor.js +1 -1
  298. package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.d.ts +1 -0
  299. package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.js +1 -1
  300. package/widgets/HistogramRangeSlider.js +1 -1
  301. package/widgets/Legend/LegendViewModel.d.ts +1 -0
  302. package/widgets/Legend/LegendViewModel.js +1 -1
  303. package/widgets/Legend/styles/card/CardView.d.ts +1 -0
  304. package/widgets/Legend/styles/card/CardView.js +1 -1
  305. package/widgets/Legend/styles/classic/ClassicView.d.ts +1 -0
  306. package/widgets/Legend/styles/classic/ClassicView.js +1 -1
  307. package/widgets/Legend/support/ActiveLayerInfo.d.ts +2 -0
  308. package/widgets/Legend.js +1 -1
  309. package/assets/esri/core/workers/chunks/03918a862455191a8910.js +0 -1
  310. package/assets/esri/core/workers/chunks/1630913399384030d0b9.js +0 -1
  311. package/assets/esri/core/workers/chunks/1a39335aa2dce6d564d9.js +0 -1
  312. package/assets/esri/core/workers/chunks/25bb07d3c32b16a08813.js +0 -1
  313. package/assets/esri/core/workers/chunks/25cc6d7178a52f2f46b7.js +0 -1
  314. package/assets/esri/core/workers/chunks/2e999b05ce179dd9fa08.js +0 -1
  315. package/assets/esri/core/workers/chunks/36792b8a85e88044cb49.js +0 -1
  316. package/assets/esri/core/workers/chunks/3acc1299c1382c3b034d.js +0 -1
  317. package/assets/esri/core/workers/chunks/430802108b63194b7ddd.js +0 -2
  318. package/assets/esri/core/workers/chunks/4396ef5ab3eb9e9a7df2.js +0 -1
  319. package/assets/esri/core/workers/chunks/4efe5827a5c61db3b19d.js +0 -2
  320. package/assets/esri/core/workers/chunks/5938d5f6e37f49867d5a.js +0 -1
  321. package/assets/esri/core/workers/chunks/70347d25968975126fa7.js +0 -1
  322. package/assets/esri/core/workers/chunks/8628c027198982baed7c.js +0 -1
  323. package/assets/esri/core/workers/chunks/8c521caf050a486b6548.js +0 -1
  324. package/assets/esri/core/workers/chunks/a6d4132a16c51323a38a.js +0 -1
  325. package/assets/esri/core/workers/chunks/add834f867900a7091d2.js +0 -1
  326. package/assets/esri/core/workers/chunks/b56c5883a5468b18b122.js +0 -1
  327. package/assets/esri/core/workers/chunks/b5a102cf9f4377fb9842.js +0 -1
  328. package/assets/esri/core/workers/chunks/b6409d89914030d5854a.js +0 -1
  329. package/assets/esri/core/workers/chunks/c118b88a7c4359e68d9b.js +0 -1
  330. package/assets/esri/core/workers/chunks/c5e288d57bacb8451e2d.js +0 -2
  331. package/assets/esri/core/workers/chunks/ce3fb992f6c6ae7378a3.js +0 -1
  332. package/assets/esri/core/workers/chunks/ceda1e08c9ff26248db0.js +0 -1
  333. package/assets/esri/core/workers/chunks/d5e3f8e5b8d2576d3cb3.js +0 -2
  334. package/assets/esri/core/workers/chunks/ddb5d29a8998d0a76fd4.js +0 -1
  335. package/assets/esri/core/workers/chunks/de8a3a0796bd115426c0.js +0 -1
  336. package/assets/esri/core/workers/chunks/e707534a700a2de687ca.js +0 -1
  337. package/assets/esri/core/workers/chunks/f465fb26541372fdc908.js +0 -2
  338. package/assets/esri/core/workers/chunks/f5423006fb07db7dd6ee.js +0 -1
  339. package/assets/esri/core/workers/chunks/fdad31bbe8aee68a6eaf.js +0 -1
  340. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToReadShadowMap.glsl.js +0 -4
  341. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +0 -18
  342. package/views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js +0 -4
  343. /package/assets/esri/core/workers/chunks/{430802108b63194b7ddd.js.LICENSE.txt → 033debcbf6b3683dc4fe.js.LICENSE.txt} +0 -0
  344. /package/assets/esri/core/workers/chunks/{4efe5827a5c61db3b19d.js.LICENSE.txt → 064445e6f9512817ac87.js.LICENSE.txt} +0 -0
  345. /package/assets/esri/core/workers/chunks/{c5e288d57bacb8451e2d.js.LICENSE.txt → 463d69f596d1d34ef275.js.LICENSE.txt} +0 -0
  346. /package/assets/esri/core/workers/chunks/{d5e3f8e5b8d2576d3cb3.js.LICENSE.txt → 58a17fb3c0dd07c63d57.js.LICENSE.txt} +0 -0
  347. /package/assets/esri/core/workers/chunks/{7f2ac03efaa4a4898ba2.js.LICENSE.txt → c3b96d1d43afccd23e45.js.LICENSE.txt} +0 -0
  348. /package/assets/esri/core/workers/chunks/{f465fb26541372fdc908.js.LICENSE.txt → ce08e3369641da0d7a27.js.LICENSE.txt} +0 -0
@@ -0,0 +1,148 @@
1
+ import type Basemap from "../Basemap.js";
2
+ import type LocalBasemapsSource from "./LocalBasemapsSource.js";
3
+ import type PortalBasemapsSource from "./PortalBasemapsSource.js";
4
+ import type BasemapItem from "./support/BasemapItem.js";
5
+ import type Collection from "../core/Collection.js";
6
+ import type Portal from "../portal/Portal.js";
7
+ import type { BasemapProperties } from "../Basemap.js";
8
+ import type { LocalBasemapsSourceProperties } from "./LocalBasemapsSource.js";
9
+ import type { PortalBasemapsSourceProperties } from "./PortalBasemapsSource.js";
10
+ import type { BasemapCompatibilityFunction } from "./types.js";
11
+ import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
12
+ import type { Loadable, LoadableMixinProperties } from "../core/Loadable.js";
13
+ import type { AbortOptions } from "../core/promiseUtils.js";
14
+ import type { MapViewOrSceneView } from "../views/MapViewOrSceneView.js";
15
+
16
+ /** @since 5.2 */
17
+ export interface BasemapCollectionProperties extends LoadableMixinProperties, Partial<Pick<BasemapCollection, "view">> {
18
+ /**
19
+ * The map's [Map.basemap](https://developers.arcgis.com/javascript/latest/references/core/Map/#basemap).
20
+ *
21
+ * @since 5.2
22
+ */
23
+ activeBasemap?: BasemapProperties | string | null;
24
+ /**
25
+ * Function used to determine whether a basemap is compatible with the current view.
26
+ * This is mostly needed for SceneView.
27
+ *
28
+ * @since 5.2
29
+ */
30
+ compatibilityFunction?: BasemapCompatibilityFunction | null;
31
+ /**
32
+ * The source for basemaps that the gallery will display.
33
+ * This property can be autocast with an array or [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s, or
34
+ * a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) instance. The default source is a [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemaps/PortalBasemapsSource/).
35
+ *
36
+ * @since 5.2
37
+ */
38
+ source?: Portal | LocalBasemapsSourceProperties | ReadonlyArrayOrCollection<Basemap> | PortalBasemapsSourceProperties;
39
+ }
40
+
41
+ /**
42
+ * Provides the logic for displaying and selecting a collection of basemaps.
43
+ *
44
+ * @since 5.2
45
+ * @see [LocalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemaps/LocalBasemapsSource/)
46
+ * @see [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemaps/PortalBasemapsSource/)
47
+ */
48
+ export default class BasemapCollection extends Loadable {
49
+ /** @since 5.2 */
50
+ constructor(properties?: BasemapCollectionProperties);
51
+ /**
52
+ * The map's [Map.basemap](https://developers.arcgis.com/javascript/latest/references/core/Map/#basemap).
53
+ *
54
+ * @since 5.2
55
+ */
56
+ get activeBasemap(): Basemap | null;
57
+ set activeBasemap(value: BasemapProperties | string | null | undefined);
58
+ /**
59
+ * The current index of the active [Map.basemap](https://developers.arcgis.com/javascript/latest/references/core/Map/#basemap).
60
+ *
61
+ * @since 5.2
62
+ */
63
+ get activeBasemapIndex(): number;
64
+ /**
65
+ * Function used to determine whether a basemap is compatible with the current view.
66
+ * This is mostly needed for SceneView.
67
+ *
68
+ * @since 5.2
69
+ */
70
+ get compatibilityFunction(): BasemapCompatibilityFunction;
71
+ set compatibilityFunction(value: BasemapCompatibilityFunction | null | undefined);
72
+ /**
73
+ * A collection of items representing basemaps.
74
+ *
75
+ * @since 5.2
76
+ */
77
+ get items(): Collection<BasemapItem>;
78
+ /**
79
+ * Indicates whether any basemap item in the collection is loading.
80
+ *
81
+ * @default false
82
+ * @since 5.2
83
+ */
84
+ get loading(): boolean;
85
+ /**
86
+ * Indicates whether the projection engine is loading resources required to change the active basemap.
87
+ *
88
+ * @default false
89
+ * @internal
90
+ * @since 5.2
91
+ */
92
+ get projectionEngineLoading(): boolean;
93
+ /**
94
+ * The source for basemaps that the gallery will display.
95
+ * This property can be autocast with an array or [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s, or
96
+ * a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) instance. The default source is a [PortalBasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemaps/PortalBasemapsSource/).
97
+ *
98
+ * @since 5.2
99
+ */
100
+ get source(): LocalBasemapsSource | PortalBasemapsSource;
101
+ set source(value: Portal | LocalBasemapsSourceProperties | ReadonlyArrayOrCollection<Basemap> | PortalBasemapsSourceProperties);
102
+ /**
103
+ * The view from which the Basemap Gallery will operate. This view provides access to the active
104
+ * [Map.basemap](https://developers.arcgis.com/javascript/latest/references/core/Map/#basemap) through the view's [View.map](https://developers.arcgis.com/javascript/latest/references/core/views/View/#map) property.
105
+ *
106
+ * @since 5.2
107
+ */
108
+ accessor view: MapViewOrSceneView | null | undefined;
109
+ /**
110
+ * A convenience function to check basemap equality.
111
+ *
112
+ * @param basemap1 - The basemap to compare against `basemap2`.
113
+ * @param basemap2 - The basemap to compare against `basemap1`.
114
+ * @returns Returns `true` if both basemaps are equal, `false` otherwise.
115
+ * @since 5.2
116
+ */
117
+ basemapEquals(basemap1: Basemap | null | undefined, basemap2: Basemap | null | undefined): boolean;
118
+ /**
119
+ * Destroys the basemap collection.
120
+ *
121
+ * @since 5.2
122
+ */
123
+ destroy(): void;
124
+ /**
125
+ * Loads the current basemap source.
126
+ *
127
+ * @returns A promise that resolves with this collection when the source has loaded.
128
+ * @since 5.2
129
+ */
130
+ load(): Promise<this>;
131
+ /**
132
+ * Loads the current basemap source.
133
+ *
134
+ * Unlike [load()](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/#load), this method can be called again after the source changes.
135
+ *
136
+ * @param options - Options for aborting the load.
137
+ * @returns A promise that resolves with this collection when the source has loaded.
138
+ * @internal
139
+ * @since 5.2
140
+ */
141
+ loadSource(options?: AbortOptions | null | undefined): Promise<this>;
142
+ /**
143
+ * Refreshes the collection of basemap items.
144
+ *
145
+ * @since 5.2
146
+ */
147
+ refresh(): void;
148
+ }
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{__decorate as e}from"tslib";import t from"./LocalBasemapsSource.js";import i from"./PortalBasemapsSource.js";import{default3DCompatibility as s,default2DCompatibility as a}from"./support/basemapCompatibilityUtils.js";import o from"./support/BasemapItem.js";import r from"../core/Collection.js";import{Loadable as n,isLoadable as p}from"../core/Loadable.js";import{watch as c,on as m,when as l}from"../core/reactiveUtils.js";import{property as u,subclass as d}from"../core/accessorSupport/decorators.js";import{canProjectWithoutEngine as h,isLoaded as f,load as y}from"../geometry/projectionUtils.js";import{equals as v}from"../geometry/support/spatialReferenceUtils.js";import{basemapEnsureType as b}from"../support/basemapEnsureType.js";import{contentEquals as g}from"../support/basemapUtils.js";import{isBasemapsSource as j}from"../support/userTypeGuards/isBasemapsSource.js";const w=r.ofType(o);function _(e){return e&&"esri.portal.Portal"===e.declaredClass}function B(e){return e&&!(e instanceof i)&&(!!e.portal||!!e.query)}let I=class extends n{constructor(e){super(e),this._loadingProjectionEngine=!1,this.items=new w,this.view=null,this.source=new i}initialize(){const e=()=>this._recreateItems();this.addHandles([c(()=>[this.view,this.compatibilityFunction],()=>this._updateItems()),m(()=>this.source?.basemaps,"change",e,{onListenerAdd:e}),l(()=>this.view,()=>{this.source instanceof i&&(this.source.viewType=this.view?.type)},{once:!0})])}destroy(){const e=this.source.basemaps.indexOf(this.activeBasemap);this.source.basemaps.removeAt(e),this.source?.destroy()}get activeBasemap(){return this.view?.map?.basemap??null}set activeBasemap(e){const t=this.view;if(!t?.map)return;if(!(e=b(e))||!t.ready)return t.map.basemap=e,void this._clearOverride("activeBasemap");const i=e.spatialReference||this.items?.find(t=>this.basemapEquals(e,t.basemap))?.spatialReference;if(i&&"spatialReferenceLocked"in t&&!t.spatialReferenceLocked){const s=t.spatialReference;if(null!=i&&!v(s,i)&&!h(t.spatialReference,i)&&!f())return this._override("activeBasemap",e),this._loadingProjectionEngine=!0,void y().then(()=>{this._get("activeBasemap")===e&&(t.map.basemap=e,t.spatialReference=i,this._clearOverride("activeBasemap"))},()=>{}).finally(()=>{this._loadingProjectionEngine=!1});t.map.basemap=e,this._clearOverride("activeBasemap"),null==i||v(t.spatialReference,i)||(t.spatialReference=i)}else t.map.basemap=e,this._clearOverride("activeBasemap")}get activeBasemapIndex(){return this._findBasemapIndex(this.activeBasemap)}get compatibilityFunction(){return"3d"===this.view?.type?s:a}set compatibilityFunction(e){this._overrideIfSome("compatibilityFunction",e)}get source(){return this._get("source")}set source(e){(Array.isArray(e)||r.isCollection(e))&&(e=new t({basemaps:Array.isArray(e)?new r(e):e})),_(e)&&(e=new i({portal:e})),B(e)&&(e=new i(e)),j(e)||(e=null),this._set("source",e)}get loading(){return this.items.some(e=>"loading"===e.state)}get projectionEngineLoading(){return this._loadingProjectionEngine}basemapEquals(e,t){return g(e,t)}refresh(){this._recreateItems()}load(){return this.loadSource()}loadSource(e){return this.addResolvingPromise(p(this.source)?this.source.load(e):null),Promise.resolve(this)}_findBasemapIndex(e){const{items:t}=this,i=t.findIndex(t=>t.basemap===e);return-1===i?t.findIndex(t=>this.basemapEquals(t.basemap,e)):i}_recreateItems(){const e=this.source?.basemaps??[],{view:t,compatibilityFunction:i}=this,s=new Map(this.items.map(e=>[e.basemap,e])),a=e.map(e=>{const a=s.get(e);return a?(s.delete(e),a):new o({basemap:e,compatibilityFunction:i,view:t})});this.items.removeAll(),this.items.addMany(a),s.forEach(e=>e.destroy())}_updateItems(){for(const e of this.items)e.compatibilityFunction=this.compatibilityFunction,e.view=this.view}};e([u()],I.prototype,"_loadingProjectionEngine",void 0),e([u()],I.prototype,"activeBasemap",null),e([u({readOnly:!0})],I.prototype,"activeBasemapIndex",null),e([u()],I.prototype,"compatibilityFunction",null),e([u({readOnly:!0,type:w})],I.prototype,"items",void 0),e([u()],I.prototype,"source",null),e([u({readOnly:!0})],I.prototype,"loading",null),e([u({readOnly:!0})],I.prototype,"projectionEngineLoading",null),e([u()],I.prototype,"view",void 0),I=e([d("esri.basemaps.BasemapCollection")],I);const E=I;export{E as default};
@@ -0,0 +1,39 @@
1
+ import type Basemap from "../Basemap.js";
2
+ import type Accessor from "../core/Accessor.js";
3
+ import type Collection from "../core/Collection.js";
4
+ import type { BasemapsSourceState } from "./types.js";
5
+
6
+ /**
7
+ * Properties for constructing a [BasemapsSource](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapsSource/).
8
+ *
9
+ * @since 5.2
10
+ */
11
+ export interface BasemapsSourceProperties {}
12
+
13
+ /**
14
+ * Defines a source of basemaps.
15
+ *
16
+ * @since 5.2
17
+ */
18
+ export default abstract class BasemapsSource extends Accessor {
19
+ /** @since 5.2 */
20
+ constructor(properties?: BasemapsSourceProperties);
21
+ /**
22
+ * The collection of basemaps provided by the source.
23
+ *
24
+ * @since 5.2
25
+ */
26
+ abstract basemaps: Collection<Basemap>;
27
+ /**
28
+ * The current state of the source.
29
+ *
30
+ * @since 5.2
31
+ */
32
+ abstract readonly state: BasemapsSourceState;
33
+ /**
34
+ * Refreshes the basemaps provided by the source.
35
+ *
36
+ * @since 5.2
37
+ */
38
+ abstract refresh(): void;
39
+ }
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{__decorate as s}from"tslib";import r from"../core/Accessor.js";import{subclass as o}from"../core/accessorSupport/decorators.js";import{BasemapsSourceSymbol as e}from"../support/userTypeGuards/isBasemapsSource.js";var t;let a=class extends r{static{t=e}constructor(s){super(s),this[t]=!0}};a=s([o("esri.basemaps.BasemapsSource")],a);const c=a;export{c as default};
@@ -0,0 +1,55 @@
1
+ import type Basemap from "../Basemap.js";
2
+ import type BasemapsSource from "./BasemapsSource.js";
3
+ import type Collection from "../core/Collection.js";
4
+ import type { BasemapsSourceState } from "./types.js";
5
+ import type { BasemapProperties } from "../Basemap.js";
6
+ import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
7
+ import type { BasemapsSourceProperties } from "./BasemapsSource.js";
8
+
9
+ /** @since 5.2 */
10
+ export interface LocalBasemapsSourceProperties extends BasemapsSourceProperties {
11
+ /**
12
+ * A collection of [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s.
13
+ *
14
+ * @since 5.2
15
+ */
16
+ basemaps?: ReadonlyArrayOrCollection<BasemapProperties>;
17
+ }
18
+
19
+ /**
20
+ * A collection-driven source for [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s in a [BasemapCollection](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/).
21
+ *
22
+ * @since 5.2
23
+ * @see [BasemapCollection.source](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/#source)
24
+ */
25
+ export default class LocalBasemapsSource extends BasemapsSource {
26
+ /** @since 5.2 */
27
+ constructor(properties?: LocalBasemapsSourceProperties);
28
+ /**
29
+ * A collection of [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s.
30
+ *
31
+ * @since 5.2
32
+ */
33
+ get basemaps(): Collection<Basemap>;
34
+ set basemaps(value: ReadonlyArrayOrCollection<BasemapProperties>);
35
+ /**
36
+ * The source's state. The state is always `ready`.
37
+ *
38
+ * @since 5.2
39
+ */
40
+ get state(): BasemapsSourceState;
41
+ /**
42
+ * Destroys the local basemaps source.
43
+ *
44
+ * @since 5.2
45
+ */
46
+ destroy(): void;
47
+ /**
48
+ * Refreshes the source basemaps.
49
+ * Note: `refresh` will not affect LocalBasemapsSource.
50
+ * Modify basemaps directly instead.
51
+ *
52
+ * @since 5.2
53
+ */
54
+ refresh(): void;
55
+ }
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{__decorate as s}from"tslib";import e from"../Basemap.js";import o from"./BasemapsSource.js";import r from"../core/Collection.js";import{property as t,subclass as a}from"../core/accessorSupport/decorators.js";const p=r.ofType(e);let m=class extends o{constructor(s){super(s),this.basemaps=new p}destroy(){this.basemaps.forEach(s=>s.destroy())}get state(){return"ready"}refresh(){}};s([t({type:p})],m.prototype,"basemaps",void 0),s([t({readOnly:!0})],m.prototype,"state",null),m=s([a("esri.basemaps.LocalBasemapsSource")],m);const c=m;export{c as default};
@@ -0,0 +1,98 @@
1
+ import type Basemap from "../Basemap.js";
2
+ import type LocalBasemapsSource from "./LocalBasemapsSource.js";
3
+ import type Collection from "../core/Collection.js";
4
+ import type Portal from "../portal/Portal.js";
5
+ import type { LocalBasemapsSourceProperties } from "./LocalBasemapsSource.js";
6
+ import type { BasemapFilter, BasemapsSourceState, UpdateBasemapsCallback } from "./types.js";
7
+ import type { LoadableMixin, LoadableMixinProperties } from "../core/Loadable.js";
8
+ import type { EsriPromiseMixin } from "../core/Promise.js";
9
+ import type { AbortOptions } from "../core/promiseUtils.js";
10
+ import type { PortalProperties } from "../portal/Portal.js";
11
+
12
+ /** @since 5.2 */
13
+ export interface PortalBasemapsSourceProperties extends LocalBasemapsSourceProperties, LoadableMixinProperties, Partial<Pick<PortalBasemapsSource, "filterFunction" | "query" | "updateBasemapsCallback" | "viewType">> {
14
+ /**
15
+ * The Portal from which to fetch basemaps.
16
+ *
17
+ * @since 5.2
18
+ */
19
+ portal?: PortalProperties;
20
+ }
21
+
22
+ /**
23
+ * A Portal-driven source for [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s in a [BasemapCollection](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/).
24
+ *
25
+ * @since 5.2
26
+ * @see [BasemapCollection.source](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/#source)
27
+ */
28
+ export default class PortalBasemapsSource extends PortalBasemapsSourceSuperclass {
29
+ /** @since 5.2 */
30
+ constructor(properties?: PortalBasemapsSourceProperties);
31
+ /**
32
+ * A collection of [Basemap](https://developers.arcgis.com/javascript/latest/references/core/Basemap/)s fetched from the source's Portal.
33
+ *
34
+ * @since 5.2
35
+ */
36
+ get basemaps(): Collection<Basemap>;
37
+ /**
38
+ * Function used to filter basemaps after being fetched from the Portal.
39
+ *
40
+ * @since 5.2
41
+ */
42
+ accessor filterFunction: BasemapFilter | null | undefined;
43
+ /**
44
+ * The Portal from which to fetch basemaps.
45
+ *
46
+ * @since 5.2
47
+ */
48
+ get portal(): Portal;
49
+ set portal(value: PortalProperties);
50
+ /**
51
+ * An object with key-value pairs used to create a custom basemap gallery group query.
52
+ * Note that all parameters will be joined using the `AND` operator.
53
+ * A query string can also be provided for more advanced use cases.
54
+ *
55
+ * @since 5.2
56
+ */
57
+ accessor query: Record<string, any> | string | null | undefined;
58
+ /**
59
+ * The source's state.
60
+ *
61
+ * @default "not-loaded"
62
+ * @since 5.2
63
+ */
64
+ get state(): BasemapsSourceState;
65
+ /**
66
+ * Callback for updating basemaps after being fetched and filtered.
67
+ *
68
+ * @since 5.2
69
+ */
70
+ accessor updateBasemapsCallback: UpdateBasemapsCallback | null | undefined;
71
+ /**
72
+ * @internal
73
+ * @since 5.2
74
+ */
75
+ accessor viewType: "2d" | "3d" | null | undefined;
76
+ /**
77
+ * Destroys the Portal basemaps source.
78
+ *
79
+ * @since 5.2
80
+ */
81
+ destroy(): void;
82
+ /**
83
+ * Loads the source's Portal.
84
+ *
85
+ * @param options - Options for aborting the load.
86
+ * @returns A promise that resolves with this source when the Portal has loaded.
87
+ * @since 5.2
88
+ */
89
+ load(options?: AbortOptions | null | undefined): Promise<this>;
90
+ /**
91
+ * Refreshes basemaps by fetching them from the Portal.
92
+ *
93
+ * @returns A promise that resolves when the basemaps have been fetched.
94
+ * @since 5.2
95
+ */
96
+ refresh(): Promise<void>;
97
+ }
98
+ declare const PortalBasemapsSourceSuperclass: typeof LocalBasemapsSource & typeof EsriPromiseMixin & typeof LoadableMixin
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{__decorate as t}from"tslib";import a from"../Basemap.js";import s from"./LocalBasemapsSource.js";import{createTask as e}from"../core/asyncUtils.js";import o from"../core/Collection.js";import r from"../core/Error.js";import{LoadableMixin as i}from"../core/Loadable.js";import l from"../core/Logger.js";import{EsriPromiseMixin as p}from"../core/Promise.js";import{ignoreAbortErrors as m,throwIfAborted as n,isAbortError as d}from"../core/promiseUtils.js";import{watch as u,initial as h}from"../core/reactiveUtils.js";import{property as c,subclass as y}from"../core/accessorSupport/decorators.js";import f from"../portal/Portal.js";const b=o.ofType(a);let v=class extends(i(p(s))){constructor(t){super(t),this._loadTask=null,this.basemaps=new b,this.filterFunction=null,this.portal=f.getDefault(),this.query=null,this.updateBasemapsCallback=null,this.viewType=null}initialize(){this.addHandles(u(()=>[this.filterFunction,this.loadStatus,this.portal?.basemapGalleryGroupQuery,this.portal?.basemapGalleryGroupQuery3D,this.portal?.user,this.query,this.updateBasemapsCallback],()=>m(this.refresh()),h))}destroy(){this._loadTask?.abort(),this.filterFunction=null,this.portal=null,this.basemaps.forEach(t=>t.destroy())}get state(){return"not-loaded"===this.loadStatus?"not-loaded":"loading"===this.loadStatus||this._loadTask&&!this._loadTask.finished?"loading":"ready"}load(t){return this.addResolvingPromise(this.portal.load(t)),Promise.resolve(this)}async refresh(){if("loaded"!==this.loadStatus)return;this._loadTask?.abort();const t=this.portal;return(this._loadTask=e(async a=>{try{const s=await t.fetchBasemaps(this._toQueryString(this.query),{signal:a,include3d:"3d"===this.viewType||void 0});n(a),await this._updateBasemaps(s,a)}catch(s){if(d(s))throw s;n(a),l.getLogger(this).warn(new r("basemap-source:fetch-basemaps-error","Could not fetch basemaps from portal.",{error:s})),await this._updateBasemaps([],a)}})).promise}_toQueryString(t){return t&&"string"!=typeof t?Object.keys(t).map(a=>`${a}:${t[a]}`).join(" AND "):t}async _updateBasemaps(t,a){let s=await this._filterBasemaps(t);n(a),this.updateBasemapsCallback&&(s=await this.updateBasemapsCallback(s),n(a)),this.basemaps.removeAll(),this.basemaps.addMany(s)}async _filterBasemaps(t){if(!this.filterFunction)return t;const a=t.map(this.filterFunction),s=await Promise.all(a);return t.filter((t,a)=>s[a])}};t([c()],v.prototype,"_loadTask",void 0),t([c({readOnly:!0,type:b})],v.prototype,"basemaps",void 0),t([c()],v.prototype,"filterFunction",void 0),t([c({type:f})],v.prototype,"portal",void 0),t([c()],v.prototype,"query",void 0),t([c({readOnly:!0})],v.prototype,"state",null),t([c()],v.prototype,"updateBasemapsCallback",void 0),t([c()],v.prototype,"viewType",void 0),v=t([y("esri.basemaps.PortalBasemapsSource")],v);const g=v;export{g as default};
@@ -0,0 +1,74 @@
1
+ import type Basemap from "../../Basemap.js";
2
+ import type Accessor from "../../core/Accessor.js";
3
+ import type EsriError from "../../core/Error.js";
4
+ import type SpatialReference from "../../geometry/SpatialReference.js";
5
+ import type { BasemapCompatibilityFunction } from "../types.js";
6
+ import type { IdentifiableMixin, IdentifiableMixinProperties } from "../../core/Identifiable.js";
7
+ import type { MapViewOrSceneView } from "../../views/MapViewOrSceneView.js";
8
+
9
+ /** @since 5.2 */
10
+ export interface BasemapItemProperties extends IdentifiableMixinProperties, Partial<Pick<BasemapItem, "basemap" | "compatibilityFunction" | "view">> {}
11
+
12
+ /** @since 5.2 */
13
+ export type BasemapItemState = "ready" | "loading" | "error";
14
+
15
+ /**
16
+ * Represents one of the basemaps in [BasemapCollection.items](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/#items).
17
+ *
18
+ * @since 5.2
19
+ * @see [BasemapCollection.items](https://developers.arcgis.com/javascript/latest/references/core/basemaps/BasemapCollection/#items)
20
+ */
21
+ export default class BasemapItem extends BasemapItemSuperclass {
22
+ /** @since 5.2 */
23
+ constructor(properties?: BasemapItemProperties);
24
+ /**
25
+ * The item's associated basemap.
26
+ *
27
+ * @since 5.2
28
+ */
29
+ accessor basemap: Basemap;
30
+ /**
31
+ * Function used to determine whether a basemap is compatible with the current view.
32
+ * This is mostly needed for SceneView.
33
+ *
34
+ * @since 5.2
35
+ */
36
+ accessor compatibilityFunction: BasemapCompatibilityFunction | null;
37
+ /**
38
+ * The Error object returned if an error occurred.
39
+ *
40
+ * @since 5.2
41
+ */
42
+ get error(): EsriError | null | undefined;
43
+ /**
44
+ * The spatial reference of the item's basemap.
45
+ *
46
+ * @since 5.2
47
+ */
48
+ get spatialReference(): SpatialReference | null | undefined;
49
+ /**
50
+ * The item's state.
51
+ *
52
+ * @since 5.2
53
+ */
54
+ get state(): BasemapItemState;
55
+ /**
56
+ * The view associated with this item.
57
+ *
58
+ * @since 5.2
59
+ */
60
+ accessor view: MapViewOrSceneView | null | undefined;
61
+ /**
62
+ * Destroys the basemap item.
63
+ *
64
+ * @since 5.2
65
+ */
66
+ destroy(): void;
67
+ /**
68
+ * Refreshes the item's state.
69
+ *
70
+ * @since 5.2
71
+ */
72
+ refresh(): void;
73
+ }
74
+ declare const BasemapItemSuperclass: typeof Accessor & typeof IdentifiableMixin
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{__decorate as e}from"tslib";import t from"../../core/Accessor.js";import{createTask as r}from"../../core/asyncUtils.js";import{IdentifiableMixin as s}from"../../core/Identifiable.js";import{abortMaybe as i}from"../../core/maybe.js";import{isAbortError as a}from"../../core/promiseUtils.js";import{watch as o,whenOnce as l}from"../../core/reactiveUtils.js";import{property as n,subclass as p}from"../../core/accessorSupport/decorators.js";import{findSpatialReference as c}from"../../support/basemapUtils.js";let h=class extends(s(t)){constructor(e){super(e),this._refreshTask=null,this.compatibilityFunction=null,this.view=null}initialize(){this.addHandles(o(()=>[this.basemap?.loadStatus,this.compatibilityFunction,this.view&&"basemapTerrain"in this.view&&this.view.basemapTerrain?.tilingScheme,this.view?.ready,this.view?.spatialReference],()=>this.refresh())),this.refresh()}destroy(){this._refreshTask?.abort()}get _spatialReferenceTask(){return c(this.view,this.basemap)}set basemap(e){e?.load().catch(()=>{}),this._set("basemap",e)}get error(){if(!this.compatibilityFunction)return"failed"===this.basemap?.loadStatus?this.basemap.loadError:null;const e=this._refreshTask?.error;return a(e)?null:e}get spatialReference(){return this._spatialReferenceTask.spatialReference}get state(){const e=this.basemap?.loadStatus;if("loaded"!==e&&"failed"!==e)return"loading";if(!this.compatibilityFunction)return"loaded"===e?"ready":"error";const t=this._refreshTask;return!t?.finished||a(t.error)?"loading":t.error?"error":"ready"}refresh(){this._refreshTask=i(this._refreshTask);const e=this.basemap?.loadStatus;if("loaded"!==e&&"failed"!==e)return;const t=this.compatibilityFunction;t&&(this._refreshTask=r(async e=>{await t(this,{signal:e}),await l(()=>!this._spatialReferenceTask.updating,e)}))}};e([n()],h.prototype,"_refreshTask",void 0),e([n({readOnly:!0})],h.prototype,"_spatialReferenceTask",null),e([n()],h.prototype,"basemap",null),e([n()],h.prototype,"compatibilityFunction",void 0),e([n({readOnly:!0})],h.prototype,"error",null),e([n({readOnly:!0})],h.prototype,"spatialReference",null),e([n({readOnly:!0})],h.prototype,"state",null),e([n()],h.prototype,"view",void 0),h=e([p("esri.basemaps.support.BasemapItem")],h);const m=h;export{m as default};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{isSome as e}from"../../core/arrayUtils.js";import t from"../../core/Error.js";import{throwIfAborted as a}from"../../core/promiseUtils.js";import{isTiledLayer as i,isBasemap3DSupportedLayer as r,isIntegratedMesh3DTilesLayer as n,isBasemapSupportedTiledLayer as s}from"../../layers/support/layerUtils.js";import{stringFromViewingMode as o}from"../../views/ViewingMode.js";import{getTileInfoAndExtentFromWMTSLayer as l,checkIfTileInfoSupportedForView as p}from"../../views/3d/terrain/terrainUtils.js";import{TilingScheme as c}from"../../views/3d/terrain/TilingScheme.js";import{isSpatialReferenceSupported as m}from"../../views/support/spatialReferenceSupport.js";async function f(e,t={}){const{basemap:i,view:r}=e;await i.load(t),w(i),await h(i,r,t),a(t)}async function u(t,r={}){const{basemap:n,view:s}=t;a(r);const o=n.baseLayers.find(e=>"unknown"===e.type)?.loadError;if(null!=o)throw o;if(!s||"spatialReferenceLocked"in s&&!s.spatialReferenceLocked)return;if(await n.load(r),a(r),0===n.baseLayers.length)return;const l=n.baseLayers.at(0);if(!i(l))return;if(n.spatialReference){if(s.spatialReference.equals(n.spatialReference))return;y()}await l.load(r),a(r);const p=(("supportedSpatialReferences"in l?l.supportedSpatialReferences:null)||["tileInfo"in l?l.tileInfo?.spatialReference:null]).filter(e);0!==p.length&&p.every(e=>!s.spatialReference.equals(e))&&y()}function y(){throw new t("basemap-compatibility:incompatible-spatial-reference","Basemap spatial reference is not compatible with the view")}function w(e){if(0===e.baseLayers.length&&0===e.groundLayers.length&&0===e.referenceLayers.length)return;const t=e.baseLayers.concat(e.referenceLayers).toArray().filter(e=>!r(e)).map(e=>b(e));if(t.length)throw t[0];if(e.groundLayers){const t=e.groundLayers.filter(e=>!n(e)).map(e=>b(e)).toArray();if(t.length)throw t[0]}}function b(e){const a=e.operationalLayerType||"unknown";return new t("basemap-compatibility:unsupported-basemap-layer-type",`Unsupported basemap layer type ${a}`,{layer:e,operationalLayerType:a})}async function h(e,a,i){let r=e.baseLayers.at(0);if(e.groundLayers?.length>0)r=e.groundLayers.at(0);else{if(!(e.baseLayers.length>0))return;r=e.baseLayers.at(0)}if(s(r)){try{await r.load(i)}catch(n){const e="basemap-compatibility:unknown-error",a="Unknown basemap compatibility error",{name:i=e,message:r=a,details:s}=n;throw new t(i,r,s)}g(r,a)}}function g(e,a){const i=a.state.viewingMode;if(!i)return;let r,n;if("wmts"===e?.type){const s=l(e,a.spatialReference,i);if(null==s.tileInfo)throw new t("basemapgalleryitem:tiling-scheme-incompatible","Basemap tiling scheme is incompatible with the view");r=s.tileInfo,n=s.fullExtent}else r=e.tileInfo,n=e.fullExtent;if(null==r)return;if(!m(r.spatialReference,i))throw new t(`basemapgalleryitem:spatial-reference-unsupported-${o(i)}`,`Basemap spatial reference is unsupported in ${o(i)} mode`);const s="vector-tile"===e?.type?r.getCompatibleForVTL(256):null;if(1===i){let a=p(r,n,null,i);if(a&&"vector-tile"===e?.type&&null!=n&&s&&!p(s,n,null,i)&&(a=null),a){const e=r.spatialReference.isWebMercator?"web-mercator":"wgs84";throw new t(`basemapgalleryitem:tiling-scheme-unsupported-${e}-global`,"Basemap tiling scheme is unsupported in global mode",{error:a})}}else if(c.checkUnsupported(r))throw new t("basemapgalleryitem:tiling-scheme-unsupported-local","Basemap tiling scheme is unsupported in local mode");const f=a.basemapTerrain?.tilingScheme;if(f&&!f.compatibleWith(r)&&("vector-tile"!==e?.type||!s||!f.compatibleWith(s)))throw new t("basemapgalleryitem:tiling-scheme-incompatible","Basemap tiling scheme is incompatible with the view")}export{u as default2DCompatibility,f as default3DCompatibility};
@@ -0,0 +1,42 @@
1
+ import type Basemap from "../Basemap.js";
2
+ import type BasemapItem from "./support/BasemapItem.js";
3
+ import type { AbortOptions } from "../core/promiseUtils.js";
4
+
5
+ /**
6
+ * This function is used by the [PortalBasemapsSource.filterFunction](https://developers.arcgis.com/javascript/latest/references/core/basemaps/PortalBasemapsSource/#filterFunction) property to filter
7
+ * basemaps after they are fetched from the Portal.
8
+ *
9
+ * _Support for asynchronous filter functions was added at version 4.27._
10
+ *
11
+ * @param item - The current Basemap item being assessed in the array.
12
+ * @param index - The index of the Basemap being assessed.
13
+ * @param array - The array of basemaps being filtered.
14
+ * @returns Returns true if the test passes, false otherwise.
15
+ * @since 5.2
16
+ */
17
+ export type BasemapFilter = (item: Basemap, index: number, array: Basemap[]) => boolean | Promise<boolean>;
18
+
19
+ /**
20
+ * This function is used by the [PortalBasemapsSource.updateBasemapsCallback](https://developers.arcgis.com/javascript/latest/references/core/basemaps/PortalBasemapsSource/#updateBasemapsCallback) property for
21
+ * updating basemaps after being fetched and filtered.
22
+ *
23
+ * _Support for asynchronous update functions was added at version 4.29._
24
+ *
25
+ * @param items - An array of basemaps that have been fetched and filtered from the Portal.
26
+ * @returns The array of basemaps to display in the BasemapGallery.
27
+ * @since 5.2
28
+ */
29
+ export type UpdateBasemapsCallback = (items: Basemap[]) => Basemap[] | Promise<Basemap[]>;
30
+
31
+ /** @since 5.2 */
32
+ export type BasemapsSourceState = "ready" | "loading" | "not-loaded";
33
+
34
+ /**
35
+ * Determines whether a basemap is compatible with a view.
36
+ *
37
+ * @param item - The basemap gallery item to check.
38
+ * @param options - Options for aborting the compatibility check.
39
+ * @returns A promise that resolves when the basemap is compatible.
40
+ * @since 5.2
41
+ */
42
+ export type BasemapCompatibilityFunction = (item: BasemapItem, options?: AbortOptions) => Promise<void>;
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ColorConversion as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4PassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as a}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";function t(t){const n=new d,{vertex:c,fragment:v,varyings:g}=n;return n.fragment.include(e,t),n.include(a,t),r(c,t),n.attributes.add("position","vec3"),n.attributes.add("uv0","vec2"),g.add("vUV","vec2"),g.add("vpos","vec3"),c.main.add(s`vUV = uv0;
2
+ import{sliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ColorConversion as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4PassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as a}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";function t(t){const n=new d,{vertex:c,fragment:v,varyings:g}=n;return n.fragment.include(e,t),n.include(a,t),r(c,t),n.attributes.add("position","vec3"),n.attributes.add("uv0","vec2"),g.add("vUV","vec2"),g.add("vpos","vec3"),c.main.add(s`vUV = uv0;
3
3
  vpos = position;
4
4
  gl_Position = proj * view * vec4(position, 1.0);`),v.uniforms.add(new i("size",e=>e.size)),v.uniforms.add(new l("color1",e=>e.color1)),v.uniforms.add(new l("color2",e=>e.color2)),v.include(o),v.main.add(s`vec2 uvScaled = vUV / (2.0 * size);
5
5
  vec2 uv = fract(uvScaled - 0.25);
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{normalize as e}from"../core/libs/gl-matrix-2/math/vec3.js";import{ScreenSizeScaling as o}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VisualVariables as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{viewNormal as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as g,If as v}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as m}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";function u(u){const p=new b,{vertex:f,fragment:w,attributes:h,varyings:C}=p,{hasVVColor:j,hasVertexColors:y,screenSizeEnabled:S,shadingEnabled:L}=u;return h.add("position","vec3"),f.inputs.add("position",()=>"position"),t(f,u),p.include(i),p.include(o,u),p.include(a,u),p.include(s,u),p.include(l,u),w.include(r,u),p.include(m,u),j&&h.add("colorFeatureAttribute","float"),S&&h.add("offset","vec3"),y||C.add("vColor","vec4"),L&&(h.add("normal","vec3"),C.add("vViewNormal","vec3"),C.add("vShadedColor","vec4"),f.uniforms.add(d),f.constants.add("shadingTint","vec4",[0,0,0,.25]),w.constants.add("shadingDirection","vec3",e([.5,-.5,-.5])),f.code.add(g`vec4 blendColor(vec4 source, vec4 dest) {
2
+ import{normalize as e}from"../core/libs/gl-matrix-2/math/vec3.js";import{ScreenSizeScaling as o}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js";import{sliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VisualVariables as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{viewNormal as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as g,If as v}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as m}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";function u(u){const p=new b,{vertex:f,fragment:w,attributes:h,varyings:C}=p,{hasVVColor:j,hasVertexColors:y,screenSizeEnabled:S,shadingEnabled:L}=u;return h.add("position","vec3"),f.inputs.add("position",()=>"position"),t(f,u),p.include(i),p.include(o,u),p.include(a,u),p.include(s,u),p.include(l,u),w.include(r,u),p.include(m,u),j&&h.add("colorFeatureAttribute","float"),S&&h.add("offset","vec3"),y||C.add("vColor","vec4"),L&&(h.add("normal","vec3"),C.add("vViewNormal","vec3"),C.add("vShadedColor","vec4"),f.uniforms.add(d),f.constants.add("shadingTint","vec4",[0,0,0,.25]),w.constants.add("shadingDirection","vec3",e([.5,-.5,-.5])),f.code.add(g`vec4 blendColor(vec4 source, vec4 dest) {
3
3
  float blendAlpha = source.a + dest.a * (1.0 - source.a);
4
4
  vec3 blendedColor = blendAlpha == 0.0
5
5
  ? vec3(0.0)