@arcgis/core 5.0.0-next.55 → 5.0.0-next.57

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 (392) hide show
  1. package/Color.d.ts +12 -4
  2. package/Ground.js +1 -1
  3. package/applications/Components/SelectionOperation.d.ts +5 -0
  4. package/applications/Components/SketchTooltipControls.d.ts +5 -0
  5. package/applications/Components/actionUtils.d.ts +5 -0
  6. package/applications/Components/analysisUtils.d.ts +5 -0
  7. package/applications/Components/arcadeEditorUtils.d.ts +5 -0
  8. package/applications/Components/arcadeFeatureUtils.d.ts +5 -0
  9. package/applications/Components/basemapUtils.d.ts +5 -0
  10. package/applications/Components/drawUtils.d.ts +5 -0
  11. package/applications/Components/featureUtils.d.ts +5 -0
  12. package/applications/Components/fontUtils.d.ts +5 -0
  13. package/applications/Components/formatUtils.d.ts +5 -0
  14. package/applications/Components/getDefaultUnits.d.ts +5 -0
  15. package/applications/Components/gfxUtils.d.ts +5 -0
  16. package/applications/Components/imageryUtils.d.ts +5 -0
  17. package/applications/Components/layerOriginUtils.d.ts +5 -0
  18. package/applications/Components/layersEffectsJsonUtils.d.ts +5 -0
  19. package/applications/Components/previewSymbol2D.d.ts +5 -0
  20. package/applications/Components/reactiveUtils.d.ts +6 -0
  21. package/applications/Components/sanitizerUtils.d.ts +5 -0
  22. package/applications/Components/stringUtils.d.ts +6 -2
  23. package/applications/Components/styleUtils.d.ts +5 -0
  24. package/applications/Components/svgUtils.d.ts +5 -0
  25. package/applications/Components/testUtils.d.ts +5 -0
  26. package/applications/Components/viewUtils.d.ts +5 -0
  27. package/applications/Components/webStyleSymbolUtils.d.ts +5 -0
  28. package/applications/Excalibur/videoViewUtils.d.ts +5 -0
  29. package/applications/ExperienceBuilder/sketchUtils.d.ts +5 -0
  30. package/applications/KnowledgeStudio/generalSdkInternalAccess.d.ts +10 -0
  31. package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +10 -0
  32. package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +11 -1
  33. package/applications/KnowledgeStudio/reshape.d.ts +5 -0
  34. package/applications/KnowledgeStudio/resourceSerializationUtils.d.ts +5 -0
  35. package/applications/MapViewer/layerUtils.d.ts +5 -0
  36. package/applications/MapViewer/mediaUtils.d.ts +5 -0
  37. package/applications/MapViewer/templateUtils.d.ts +5 -0
  38. package/applications/PortalApp/layerUtils.d.ts +5 -0
  39. package/applications/SceneViewer/colorUtils.d.ts +5 -0
  40. package/applications/SceneViewer/devEnvironmentUtils.d.ts +5 -0
  41. package/applications/SceneViewer/layerUtils.d.ts +5 -0
  42. package/applications/SceneViewer/sceneViewerUtils.d.ts +5 -0
  43. package/applications/SceneViewer/symbolUtils.d.ts +5 -0
  44. package/applications/Urban/meshUtils.d.ts +5 -0
  45. package/applications/WebEditor/sketchUtils.d.ts +5 -0
  46. package/arcade.d.ts +22 -0
  47. package/assets/esri/core/workers/RemoteClient.js +1 -1
  48. package/assets/esri/core/workers/chunks/5340887a4a48bde3407a.js +1 -0
  49. package/assets/esri/core/workers/chunks/82ced9254b27707522ef.js +1 -0
  50. package/assets/esri/core/workers/chunks/8628bf45a33af786cd49.js +1 -0
  51. package/assets/esri/core/workers/chunks/{d63cf90d1356d1f10138.js → 8f4c480c418eba299c2b.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{fa92a7c11befbad8739f.js → b4f944ef6c174b20b619.js} +1 -1
  53. package/assets/esri/core/workers/chunks/c531c0e3d420a1be0ad2.js +316 -0
  54. package/assets/esri/core/workers/chunks/{14765f98b8ea447498a1.js → da2c41ac0f82f32013c1.js} +4 -4
  55. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  56. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  57. package/chunks/ChapmanAtmosphere.glsl.js +5 -7
  58. package/chunks/HUDMaterial.glsl.js +1 -1
  59. package/chunks/LineCallout.glsl.js +2 -2
  60. package/chunks/Precipitation.glsl.js +1 -1
  61. package/chunks/Terrain.glsl.js +1 -1
  62. package/chunks/lyr3DMain.js +1 -1
  63. package/chunks/vec32.js +1 -1
  64. package/config.d.ts +19 -1
  65. package/config.js +1 -1
  66. package/core/Error.d.ts +3 -4
  67. package/core/Error.js +1 -1
  68. package/core/Warning.js +1 -1
  69. package/core/accessorSupport/decorators.d.ts +11 -0
  70. package/core/accessorSupport/types.d.ts +2 -0
  71. package/core/has.js +1 -1
  72. package/core/lang.d.ts +6 -0
  73. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  74. package/core/libs/gl-matrix-2/vec3.js +1 -1
  75. package/core/promiseUtils.d.ts +5 -0
  76. package/core/quantity.d.ts +5 -0
  77. package/core/reactiveUtils.d.ts +142 -0
  78. package/core/scheduling.d.ts +26 -5
  79. package/core/scheduling.js +1 -1
  80. package/core/sql/WhereClause.d.ts +2 -13
  81. package/core/sql/{WhereGrammar.d.ts → types.d.ts} +22 -1
  82. package/core/sql.d.ts +8 -0
  83. package/core/string.js +1 -1
  84. package/core/types.d.ts +30 -1
  85. package/core/units.d.ts +8 -0
  86. package/core/urlUtils.d.ts +7 -0
  87. package/core/workers/loaderConfig.js +1 -1
  88. package/core/workers/workerFactory.js +1 -1
  89. package/core/workers.d.ts +26 -0
  90. package/form/elements/inputs.d.ts +55 -0
  91. package/form/elements.d.ts +43 -0
  92. package/geometry/coordinateFormatter.d.ts +33 -0
  93. package/geometry/geometryEngine.d.ts +16 -0
  94. package/geometry/operators/affineTransformOperator.d.ts +5 -0
  95. package/geometry/operators/alphaShapeOperator.d.ts +9 -0
  96. package/geometry/operators/areaOperator.d.ts +7 -0
  97. package/geometry/operators/autoCompleteOperator.d.ts +5 -0
  98. package/geometry/operators/boundaryOperator.d.ts +5 -0
  99. package/geometry/operators/bufferOperator.d.ts +11 -0
  100. package/geometry/operators/centroidOperator.d.ts +14 -0
  101. package/geometry/operators/clipOperator.d.ts +7 -0
  102. package/geometry/operators/containsOperator.d.ts +9 -0
  103. package/geometry/operators/convexHullOperator.d.ts +9 -0
  104. package/geometry/operators/crossesOperator.d.ts +7 -0
  105. package/geometry/operators/cutOperator.d.ts +18 -0
  106. package/geometry/operators/densifyOperator.d.ts +21 -0
  107. package/geometry/operators/differenceOperator.d.ts +7 -0
  108. package/geometry/operators/disjointOperator.d.ts +8 -0
  109. package/geometry/operators/distanceOperator.d.ts +8 -0
  110. package/geometry/operators/equalsOperator.d.ts +5 -0
  111. package/geometry/operators/extendOperator.d.ts +8 -0
  112. package/geometry/operators/generalizeOperator.d.ts +7 -0
  113. package/geometry/operators/geodesicBufferOperator.d.ts +13 -0
  114. package/geometry/operators/geodesicProximityOperator.d.ts +13 -0
  115. package/geometry/operators/geodeticAreaOperator.d.ts +11 -0
  116. package/geometry/operators/geodeticDensifyOperator.d.ts +12 -0
  117. package/geometry/operators/geodeticDistanceOperator.d.ts +14 -0
  118. package/geometry/operators/geodeticLengthOperator.d.ts +11 -0
  119. package/geometry/operators/geodeticUtilsOperator.d.ts +11 -0
  120. package/geometry/operators/graphicBufferOperator.d.ts +7 -0
  121. package/geometry/operators/integrateOperator.d.ts +9 -0
  122. package/geometry/operators/intersectionOperator.d.ts +7 -0
  123. package/geometry/operators/intersectsOperator.d.ts +9 -0
  124. package/geometry/operators/isNearOperator.d.ts +7 -0
  125. package/geometry/operators/labelPointOperator.d.ts +14 -0
  126. package/geometry/operators/lengthOperator.d.ts +7 -0
  127. package/geometry/operators/linesToPolygonsOperator.d.ts +5 -0
  128. package/geometry/operators/locateBetweenOperator.d.ts +10 -0
  129. package/geometry/operators/minimumBoundingCircleOperator.d.ts +13 -0
  130. package/geometry/operators/multiPartToSinglePartOperator.d.ts +7 -0
  131. package/geometry/operators/offsetOperator.d.ts +44 -0
  132. package/geometry/operators/overlapsOperator.d.ts +7 -0
  133. package/geometry/operators/polygonOverlayOperator.d.ts +6 -0
  134. package/geometry/operators/polygonSlicerOperator.d.ts +5 -0
  135. package/geometry/operators/projectOperator.d.ts +41 -0
  136. package/geometry/operators/proximityOperator.d.ts +8 -0
  137. package/geometry/operators/relateOperator.d.ts +7 -0
  138. package/geometry/operators/reshapeOperator.d.ts +5 -0
  139. package/geometry/operators/shapePreservingProjectOperator.d.ts +27 -0
  140. package/geometry/operators/simplifyOGCOperator.d.ts +8 -0
  141. package/geometry/operators/simplifyOperator.d.ts +9 -0
  142. package/geometry/operators/support/geographicTransformationUtils.d.ts +11 -0
  143. package/geometry/operators/symmetricDifferenceOperator.d.ts +12 -0
  144. package/geometry/operators/touchesOperator.d.ts +7 -0
  145. package/geometry/operators/unionOperator.d.ts +7 -0
  146. package/geometry/operators/withinOperator.d.ts +9 -0
  147. package/geometry/support/geodesicUtils.d.ts +8 -0
  148. package/geometry/support/jsonUtils.d.ts +7 -0
  149. package/geometry/support/meshUtils.d.ts +5 -0
  150. package/geometry/support/normalizeUtils.d.ts +7 -0
  151. package/geometry/support/webMercatorUtils.d.ts +12 -0
  152. package/geometry.d.ts +38 -0
  153. package/interfaces.d.ts +31 -32
  154. package/intl.d.ts +111 -0
  155. package/kernel.d.ts +5 -0
  156. package/kernel.js +1 -1
  157. package/layers/BaseDynamicLayer.d.ts +1 -1
  158. package/layers/CSVLayer.d.ts +2 -2
  159. package/layers/CatalogLayer.d.ts +2 -2
  160. package/layers/FeatureLayer.d.ts +2 -1
  161. package/layers/GeoJSONLayer.d.ts +2 -1
  162. package/layers/ILyr3DWasmPerSceneView.js +1 -1
  163. package/layers/Layer.d.ts +1 -1
  164. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  165. package/layers/OGCFeatureLayer.d.ts +1 -1
  166. package/layers/ParquetLayer.d.ts +1 -1
  167. package/layers/RouteLayer.js +1 -1
  168. package/layers/SceneLayer.d.ts +2 -1
  169. package/layers/StreamLayer.d.ts +6 -5
  170. package/layers/SubtypeGroupLayer.d.ts +3 -4
  171. package/layers/VectorTileLayer.d.ts +1 -1
  172. package/layers/WFSLayer.d.ts +2 -1
  173. package/layers/WMSLayer.d.ts +2 -2
  174. package/layers/catalog/catalogUtils.d.ts +6 -0
  175. package/layers/ogc/wcsUtils.d.ts +6 -0
  176. package/layers/ogc/wfsUtils.d.ts +6 -0
  177. package/layers/orientedImagery/transformations/imageToWorld.d.ts +10 -0
  178. package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
  179. package/layers/orientedImagery/transformations/worldToImage.d.ts +10 -0
  180. package/layers/orientedImagery/types.d.ts +1 -1
  181. package/layers/support/arcadeUtils.d.ts +5 -0
  182. package/layers/support/csvUtils.d.ts +6 -0
  183. package/layers/support/fieldUtils.d.ts +9 -0
  184. package/layers/support/parquetUtils.d.ts +6 -0
  185. package/layers/support/rasterFunctionConstants.d.ts +9 -0
  186. package/layers/support/rasterFunctionUtils.d.ts +7 -0
  187. package/package.json +1 -1
  188. package/pointCloudRenderers.d.ts +44 -0
  189. package/popup/content.d.ts +48 -0
  190. package/rasterRenderers.d.ts +46 -0
  191. package/renderers/support/AuthoringInfo.d.ts +1 -1
  192. package/renderers/support/jsonUtils.d.ts +7 -0
  193. package/renderers/support/utils.d.ts +5 -0
  194. package/renderers/visualVariables/SizeVariable.d.ts +0 -3
  195. package/renderers/visualVariables/VisualVariable.d.ts +1 -1
  196. package/renderers/visualVariables/support/VisualVariableLegendOptions.d.ts +1 -1
  197. package/renderers.d.ts +46 -0
  198. package/request.d.ts +17 -0
  199. package/rest/closestFacility.d.ts +21 -0
  200. package/rest/featureService/utils.d.ts +5 -0
  201. package/rest/find.d.ts +21 -0
  202. package/rest/geometryService.d.ts +14 -0
  203. package/rest/geoprocessor.d.ts +16 -0
  204. package/rest/identify.d.ts +19 -0
  205. package/rest/imageService.d.ts +10 -0
  206. package/rest/knowledgeGraphService.d.ts +39 -0
  207. package/rest/lastMileDelivery.d.ts +12 -0
  208. package/rest/locator.d.ts +24 -0
  209. package/rest/networkService.d.ts +5 -0
  210. package/rest/networks/queryAssociations.d.ts +7 -0
  211. package/rest/networks/support/NetworkElement.d.ts +1 -1
  212. package/rest/networks/synthesizeAssociationGeometries.d.ts +7 -0
  213. package/rest/networks/trace.d.ts +6 -0
  214. package/rest/places.d.ts +34 -0
  215. package/rest/print.d.ts +74 -0
  216. package/rest/query.d.ts +33 -0
  217. package/rest/route.d.ts +18 -0
  218. package/rest/serviceArea.d.ts +18 -0
  219. package/rest/support/AreasAndLengthsParameters.d.ts +2 -2
  220. package/rest/support/AttachmentQuery.d.ts +0 -1
  221. package/rest/support/AttributeBinsQuery.d.ts +3 -3
  222. package/rest/support/AutoIntervalBinParameters.d.ts +4 -4
  223. package/rest/support/DateBinParameters.d.ts +2 -2
  224. package/rest/support/DateBinTimeInterval.d.ts +1 -1
  225. package/rest/support/DensifyParameters.d.ts +1 -1
  226. package/rest/support/DirectionsFeature.d.ts +1 -1
  227. package/rest/support/GPMessage.d.ts +1 -1
  228. package/rest/support/LastMileDeliveryParameters.d.ts +1 -1
  229. package/rest/support/QuantizationParameters.d.ts +3 -3
  230. package/rest/support/Query.d.ts +0 -1
  231. package/rest/support/QueryMixin.d.ts +1 -1
  232. package/rest/support/RelationshipQuery.d.ts +0 -1
  233. package/rest/support/interfaces.d.ts +1 -2
  234. package/rest/symbolService.d.ts +9 -0
  235. package/smartMapping/heuristics/binLevel.d.ts +12 -0
  236. package/smartMapping/heuristics/scaleRange.d.ts +15 -0
  237. package/smartMapping/heuristics/sizeRange.d.ts +12 -0
  238. package/smartMapping/labels/bins.d.ts +13 -0
  239. package/smartMapping/labels/clusters.d.ts +16 -0
  240. package/smartMapping/popup/clusters.d.ts +21 -0
  241. package/smartMapping/popup/templates.d.ts +18 -0
  242. package/smartMapping/raster/renderers/classBreaks.d.ts +7 -0
  243. package/smartMapping/raster/renderers/colormap.d.ts +7 -0
  244. package/smartMapping/raster/renderers/flow.d.ts +19 -0
  245. package/smartMapping/raster/renderers/rgb.d.ts +7 -0
  246. package/smartMapping/raster/renderers/shadedRelief.d.ts +7 -0
  247. package/smartMapping/raster/renderers/stretch.d.ts +7 -0
  248. package/smartMapping/raster/renderers/uniqueValue.d.ts +7 -0
  249. package/smartMapping/raster/renderers/vectorField.d.ts +20 -0
  250. package/smartMapping/raster/support/colorRamps.d.ts +7 -0
  251. package/smartMapping/raster/support/utils.d.ts +5 -0
  252. package/smartMapping/renderers/color.d.ts +17 -0
  253. package/smartMapping/renderers/dotDensity.d.ts +21 -0
  254. package/smartMapping/renderers/heatmap.d.ts +17 -0
  255. package/smartMapping/renderers/location.d.ts +10 -0
  256. package/smartMapping/renderers/opacity.d.ts +19 -0
  257. package/smartMapping/renderers/pieChart.d.ts +19 -0
  258. package/smartMapping/renderers/predominance.d.ts +27 -0
  259. package/smartMapping/renderers/relationship.d.ts +48 -0
  260. package/smartMapping/renderers/size.d.ts +18 -0
  261. package/smartMapping/renderers/support/rendererUtils.d.ts +8 -0
  262. package/smartMapping/renderers/support/spikeUtils.d.ts +6 -0
  263. package/smartMapping/renderers/type.d.ts +18 -0
  264. package/smartMapping/renderers/univariateColorSize.d.ts +29 -0
  265. package/smartMapping/statistics/classBreaks.d.ts +14 -0
  266. package/smartMapping/statistics/heatmapStatistics.d.ts +15 -0
  267. package/smartMapping/statistics/histogram.d.ts +17 -0
  268. package/smartMapping/statistics/predominantCategories.d.ts +6 -0
  269. package/smartMapping/statistics/summaryStatistics.d.ts +15 -0
  270. package/smartMapping/statistics/summaryStatisticsForAge.d.ts +8 -1
  271. package/smartMapping/statistics/support/ageUtils.d.ts +8 -0
  272. package/smartMapping/statistics/support/predominanceUtils.d.ts +8 -1
  273. package/smartMapping/statistics/types.d.ts +6 -1
  274. package/smartMapping/statistics/uniqueValues.d.ts +13 -0
  275. package/smartMapping/symbology/color.d.ts +8 -0
  276. package/smartMapping/symbology/dotDensity.d.ts +7 -0
  277. package/smartMapping/symbology/flow.d.ts +8 -0
  278. package/smartMapping/symbology/heatmap.d.ts +8 -0
  279. package/smartMapping/symbology/location.d.ts +8 -0
  280. package/smartMapping/symbology/pieChart.d.ts +7 -0
  281. package/smartMapping/symbology/predominance.d.ts +7 -0
  282. package/smartMapping/symbology/relationship.d.ts +7 -0
  283. package/smartMapping/symbology/size.d.ts +7 -0
  284. package/smartMapping/symbology/support/colorRamps.d.ts +7 -0
  285. package/smartMapping/symbology/type.d.ts +8 -0
  286. package/support/popupUtils.d.ts +5 -0
  287. package/support/revision.js +1 -1
  288. package/support/timeUtils.d.ts +9 -0
  289. package/symbols/CIMSymbol.d.ts +1 -1
  290. package/symbols/ExtrudeSymbol3DLayer.d.ts +2 -2
  291. package/symbols/FillSymbol3DLayer.d.ts +1 -1
  292. package/symbols/LineSymbol3DLayer.d.ts +2 -2
  293. package/symbols/ObjectSymbol3DLayer.d.ts +2 -2
  294. package/symbols/PathSymbol3DLayer.d.ts +2 -2
  295. package/symbols/TextSymbol.d.ts +2 -2
  296. package/symbols/support/Symbol3DFillMaterial.d.ts +1 -1
  297. package/symbols/support/Symbol3DFillMaterial.js +1 -1
  298. package/symbols/support/Symbol3DHalo.d.ts +8 -4
  299. package/symbols/support/Symbol3DHalo.js +1 -1
  300. package/symbols/support/cimConversionUtils.d.ts +9 -0
  301. package/symbols/support/cimSymbolUtils.d.ts +10 -0
  302. package/symbols/support/jsonUtils.d.ts +7 -0
  303. package/symbols/support/symbolUtils.d.ts +5 -0
  304. package/symbols.d.ts +59 -0
  305. package/tables/elements.d.ts +41 -0
  306. package/time/TimeExtent.d.ts +1 -1
  307. package/time/TimeInterval.d.ts +1 -1
  308. package/unionTypes.d.ts +5 -0
  309. package/versionManagement/utils.d.ts +5 -0
  310. package/versionManagement/versionAdapters/utils.d.ts +5 -0
  311. package/views/2d/MapViewConstraints.d.ts +18 -10
  312. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  313. package/views/2d/layers/RouteLayerView2D.js +1 -1
  314. package/views/2d/layers/TileLayerView2D.js +1 -1
  315. package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
  316. package/views/2d/layers/support/RouteLayerWaypointVisualization.js +5 -0
  317. package/views/3d/analysis/DirectLineMeasurement/types.d.ts +5 -0
  318. package/views/3d/analysis/LineOfSight/types.d.ts +5 -0
  319. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementError.d.ts +1 -1
  320. package/views/3d/analysis/VolumeMeasurement/types.d.ts +5 -0
  321. package/views/3d/environment/ChapmanRaymarching.glsl.js +2 -1
  322. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  323. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  324. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  325. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  326. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  327. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  328. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  329. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  330. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  331. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  332. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  333. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  334. package/views/3d/terrain/TerrainSurface.js +1 -1
  335. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  336. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +2 -2
  337. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  338. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  339. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  340. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  341. package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
  342. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +8 -8
  343. package/views/3d/webgl.d.ts +6 -0
  344. package/views/BreakpointsOwner.d.ts +16 -16
  345. package/views/IBreakpointsOwner.d.ts +15 -15
  346. package/views/MapView.d.ts +1 -1
  347. package/views/PopupView.d.ts +2 -2
  348. package/views/SelectionManager.d.ts +1 -0
  349. package/views/SelectionManager.js +1 -1
  350. package/views/VideoView.js +1 -1
  351. package/views/View.d.ts +6 -8
  352. package/views/analysis/AreaMeasurement/types.d.ts +6 -0
  353. package/views/analysis/DistanceMeasurement/types.d.ts +5 -0
  354. package/views/analysis/ElevationProfile/ElevationProfileError.d.ts +4 -4
  355. package/views/analysis/ElevationProfile/types.d.ts +6 -0
  356. package/views/analysis/types.d.ts +5 -0
  357. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  358. package/views/interactive/snapping/GridSnappingEngine.js +1 -1
  359. package/views/layers/BuildingSceneLayerView.d.ts +1 -1
  360. package/views/layers/LayerView.d.ts +1 -1
  361. package/views/support/colorUtils.d.ts +5 -0
  362. package/views/support/selectionUtils.js +1 -1
  363. package/webscene/types.d.ts +5 -0
  364. package/widgets/FeatureForm/FeatureFormViewModel.d.ts +2 -2
  365. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  366. package/widgets/Features/FeaturesViewModel.d.ts +1 -1
  367. package/widgets/Home/HomeViewModel.d.ts +1 -1
  368. package/widgets/Locate/LocateViewModel.d.ts +2 -2
  369. package/widgets/Search/types.d.ts +5 -0
  370. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +1 -1
  371. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  372. package/widgets/smartMapping/support/utils.d.ts +6 -0
  373. package/widgets/support/SelectionList/FeatureItem.js +1 -1
  374. package/widgets/support/SelectionList/LayerItem.js +1 -1
  375. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  376. package/widgets/support/SelectionList.js +1 -1
  377. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  378. package/widgets/support/symbolPreviewUtils.js +1 -1
  379. package/widgets/support/widget.d.ts +11 -0
  380. package/assets/esri/core/workers/chunks/0d1e8d5d9abee38e275e.js +0 -316
  381. package/assets/esri/core/workers/chunks/73c3ee2697265b0f7208.js +0 -1
  382. package/assets/esri/core/workers/chunks/cd2ea924cb91cdb6dde9.js +0 -1
  383. package/assets/esri/core/workers/chunks/d57577c02fb2932e8305.js +0 -1
  384. package/colorUtils.d.ts +0 -13
  385. package/core/Logger.d.ts +0 -29
  386. package/core/Message.d.ts +0 -2
  387. package/core/Message.js +0 -5
  388. package/core/accessorSupport/PropertyOrigin.d.ts +0 -2
  389. package/core/sql/sql92grammar.d.ts +0 -12
  390. package/core/string.d.ts +0 -3
  391. package/core/time.d.ts +0 -2
  392. package/core/timeUtils.d.ts +0 -2
@@ -1,3 +1,145 @@
1
+ /**
2
+ * * {@link core/reactiveUtils#overview}
3
+ * * [Using reactiveUtils](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#using-reactiveutils)
4
+ * * [Working with collections](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#working-with-collections)
5
+ * * [Working with objects](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#working-with-objects)
6
+ * * [WatchHandles and Promises](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#watchhandles-and-promises)
7
+ * * [Working with truthy values](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#truthy-values)
8
+ *
9
+ * <span id="overview"></span>
10
+ * ## Overview
11
+ * `reactiveUtils` provide capabilities for observing changes to the state of the SDK's properties,
12
+ * and is an important part of managing your application's life-cycle.
13
+ * State can be observed on a variety of different data types and structures
14
+ * including strings, numbers, arrays, booleans, collections, and objects.
15
+ *
16
+ * <span id="using-reactiveutils"></span>
17
+ * ## Using reactiveUtils
18
+ *
19
+ * `reactiveUtils` provides five methods that offer different patterns and capabilities for observing state:
20
+ * [on()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#on), [once()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#once), [watch()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#watch), [when()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#when) and [whenOnce()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#whenOnce).
21
+ *
22
+ * The following is a basic example using [watch()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#watch). It demonstrates how to track the
23
+ * Map component [updating](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-map/#updating) property and then send a message to the console
24
+ * when the property changes. This snippet uses a `getValue` function as an expression that evaluates the
25
+ * `updating` property, and when a change is observed the new value is passed to the callback:
26
+ *
27
+ * ```js
28
+ * // Basic example of watching for changes on a boolean property
29
+ * const viewElement = document.querySelector("arcgis-map");
30
+ * reactiveUtils.watch(
31
+ * // getValue function
32
+ * () => viewElement.updating,
33
+ * // callback
34
+ * (updating) => {
35
+ * console.log(updating)
36
+ * });
37
+ * ```
38
+ *
39
+ * <span id="working-with-collections"></span>
40
+ * ### Working with collections
41
+ *
42
+ * `reactiveUtils` can be used to observe changes within a collection, such as [Map#allLayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#allLayers). Out-of-the-box JavaScript methods
43
+ * such as [`.map()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) and [`.filter()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) can be used as
44
+ * expressions to be evaluated in the `getValue` function.
45
+ *
46
+ * ```js
47
+ * // Watching for changes within a collection
48
+ * // whenever a new layer is added to the map
49
+ * const viewElement = document.querySelector("arcgis-map");
50
+ * reactiveUtils.watch(
51
+ * () => viewElement.map.allLayers.map( layer => layer.id),
52
+ * (ids) => {
53
+ * console.log(`FeatureLayer IDs ${ids}`);
54
+ * });
55
+ * ```
56
+ *
57
+ * <span id="working-with-objects"></span>
58
+ * ### Working with objects
59
+ *
60
+ * With `reactiveUtils` you can track named object properties through dot notation (e.g. `viewElement.updating`) or
61
+ * through bracket notation (e.g. `viewElement["updating"]`). You can also use the
62
+ * [optional chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining) operator (`?.`). This operator
63
+ * simplifies the process of verifying that properties used in the `getValue` function
64
+ * are not `undefined` or `null`.
65
+ *
66
+ * ```js
67
+ * // Watch for changes in an object using optional chaining
68
+ * // whenever the map's extent changes
69
+ * const viewElement = document.querySelector("arcgis-map");
70
+ * reactiveUtils.watch(
71
+ * () => viewElement?.extent?.xmin,
72
+ * (xmin) => {
73
+ * console.log(`Extent change xmin = ${xmin}`)
74
+ * });
75
+ * ```
76
+ *
77
+ * <span id="watchhandles-and-promises"></span>
78
+ * ### WatchHandles and Promises
79
+ *
80
+ * The [watch()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#watch), [on()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#on) and
81
+ * [when()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#when) methods return a [ResourceHandle](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Handles.html#ResourceHandle). Be sure to remove watch handles when they are no longer needed to avoid memory leaks.
82
+ *
83
+ * ```js
84
+ * // Use a WatchHandle to stop watching
85
+ * const viewElement = document.querySelector("arcgis-map");
86
+ * const handle = reactiveUtils.watch(
87
+ * () => viewElement?.extent?.xmin,
88
+ * (xmin) => {
89
+ * console.log(`Extent change xmin = ${xmin}`)
90
+ * });
91
+ *
92
+ * // In another function
93
+ * handle.remove()
94
+ * ```
95
+ *
96
+ * The [once()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#once) and [whenOnce()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#whenOnce) methods return a Promise instead of a `WatchHandle`.
97
+ * In some advanced use cases where an API action may take additional time, these
98
+ * methods also offer the option to cancel the async callback via an
99
+ * [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal).
100
+ * Be aware that if the returned Promise is not resolved, it can also result in a memory leak.
101
+ *
102
+ * ```js
103
+ * // Use an AbortSignal to cancel an async callback
104
+ * // during view animation
105
+ * const abortController = new AbortController();
106
+ *
107
+ * // Observe the View's animation state
108
+ * reactiveUtils.whenOnce(
109
+ * () => view?.animation, {signal: abortController.signal})
110
+ * .then((animation) => {
111
+ * console.log(`View animation state is ${animation.state}`)
112
+ * });
113
+ *
114
+ * // Cancel the async callback
115
+ * const someFunction = () => {
116
+ * abortController.abort();
117
+ * }
118
+ * ```
119
+ *
120
+ * <span id="truthy-values"></span>
121
+ * ### Working with truthy values
122
+ *
123
+ * The [when()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#when) and [whenOnce()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html#whenOnce) methods watch for *truthy* values, these are values that evaluate to `true`
124
+ * in boolean contexts. To learn more about using truthy, visit this
125
+ * [MDN Web doc](https://developer.mozilla.org/en-US/docs/Glossary/Truthy) article. The snippets below use the [Popup.visible](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Popup.html) property, which is a boolean.
126
+ *
127
+ * ```js
128
+ * // Observe changes on a boolean property
129
+ * const viewElement = document.querySelector("arcgis-map");
130
+ * reactiveUtils.when(() => viewElement.popup?.visible, () => console.log("Truthy"));
131
+ * reactiveUtils.when(() => !viewElement.popup?.visible, () => console.log("Not truthy"));
132
+ * reactiveUtils.when(() => viewElement.popup?.visible === true, () => console.log("True"));
133
+ * reactiveUtils.when(() => viewElement.popup?.visible !== undefined, () => console.log("Defined"));
134
+ * reactiveUtils.when(() => viewElement.popup?.visible === undefined, () => console.log("Undefined"));
135
+ * ```
136
+ *
137
+ * @since 4.23
138
+ * @see [Watch for changes guide topic](https://developers.arcgis.com/javascript/latest/watch-for-changes/)
139
+ * @see [Sample - Watch for changes in components using reactiveUtils](https://developers.arcgis.com/javascript/latest/sample-code/watch-for-changes-reactiveutils-components/)
140
+ * @see [Sample - Property changes with reactiveUtils](https://developers.arcgis.com/javascript/latest/sample-code/watch-for-changes-reactiveutils/)
141
+ * @see [Samples with `reactiveUtils`](https://developers.arcgis.com/javascript/latest/sample-code/?tagged=reactiveUtils)
142
+ */
1
143
  import type { EventedMixin } from "./Evented.js";
2
144
  import type { ResourceHandle } from "./Handles.js";
3
145
  import type { AbortOptions } from "./promiseUtils.js";
@@ -1,17 +1,38 @@
1
+ /**
2
+ * Various utilities and convenience functions for executing code at various phases of browser frames.
3
+ * The scheduling module allows you to register tasks that are executed in every animation frame. This
4
+ * can be used to synchronize updates with ongoing animations of the view, or to animate the view
5
+ * manually by adjusting the extent or camera in every frame.
6
+ *
7
+ * ```js
8
+ * // Animate the scene view camera heading in every frame
9
+ * let handle = scheduling.addFrameTask({
10
+ * update: function() {
11
+ * let camera = view.camera.clone();
12
+ * camera.heading += 0.2;
13
+ * view.camera = camera;
14
+ * }
15
+ * });
16
+ *
17
+ * // Remove frame task as soon as the user starts navigating in the view
18
+ * reactiveUtils.whenOnce(() => view.navigating, () => handle.remove());
19
+ * ```
20
+ *
21
+ * @since 4.7
22
+ */
1
23
  import type { ResourceHandle } from "./Handles.js";
2
- import type { Milliseconds } from "./time.js";
3
24
 
4
25
  /** An object with timing information. */
5
26
  export interface PhaseEvent {
6
27
  /** The elapsed time since the last animation frame. */
7
- deltaTime: Milliseconds;
28
+ deltaTime: number;
8
29
  /**
9
30
  * The amount of time spent within the current animation frame.
10
31
  * This can be used for budgeting (e.g. some tasks may already have run).
11
32
  */
12
- elapsedFrameTime: Milliseconds;
33
+ elapsedFrameTime: number;
13
34
  /** The absolute time at the start of the current animation frame. */
14
- time: Milliseconds;
35
+ time: number;
15
36
  }
16
37
 
17
38
  /**
@@ -35,7 +56,7 @@ export interface PhaseCallbacks {
35
56
  export type PhaseCallback = (event: PhaseEvent) => void;
36
57
 
37
58
  /** An object to remove or pause a frame task registered with [addFrameTask()](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-scheduling.html#addFrameTask). */
38
- export abstract class FrameTaskHandle {
59
+ export interface FrameTaskHandle {
39
60
  /** Pause the execution the frame task at every frame. */
40
61
  pause(): void;
41
62
  /** Removes the frame task. */
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{nextTick as e}from"./nextTick.js";import{recordPerformance as t}from"./performance.js";import n from"./PerformanceSampler.js";import r from"./PooledArray.js";import{createResolver as s,isAborted as o,createAbortError as a}from"./promiseUtils.js";import{Milliseconds as i}from"./time.js";class c{constructor(e){this.phases=e,this.paused=!1,this.ticks=-1,this.removed=!1}}class m{constructor(e){this.callback=e,this.isActive=!0}remove(){this.isActive=!1}}let u=0,l=0;const p={time:i(0),deltaTime:i(0),elapsedFrameTime:i(0),frameDuration:i(0)},f=["prepare","preRender","render","postRender","update","finish"],h=[],d=new r;class w{constructor(e){this._task=e}remove(){this._task.removed=!0}pause(){this._task.paused=!0}resume(){this._task.paused=!1,v()}}function k(){null!=D&&(cancelAnimationFrame(D),D=requestAnimationFrame(g))}function v(){null==D&&(u=performance.now(),D=requestAnimationFrame(g))}const A={frameTasks:d,willDispatch:!1,clearFrameTasks:j,dispatch:b,executeFrameTasks:M,reschedule:k};function F(t){const n=new m(t);return h.push(n),A.willDispatch||(A.willDispatch=!0,e(b)),n}function T(e){const t=new c(e);return d.push(t),v(),new w(t)}let D=null;function j(e=!1){d.forAll(e=>{e.removed=!0}),e&&q()}function x(e){l=Math.max(0,e)}function g(){const e=performance.now();D=null;const t=d.some(e=>!e.paused&&!e.removed);D=t?requestAnimationFrame(g):null,A.executeFrameTasks(e)}function M(e){const n=i(e-u);u=e;const r=l>0?l:1e3/60,s=Math.max(0,n-r);p.time=e,p.frameDuration=i(r-s);for(let a=0;a<f.length;a++){const r=performance.now(),s=f[a];d.forAll(t=>{if(t.paused||t.removed)return;0===a&&t.ticks++;t.phases[s]&&(p.elapsedFrameTime=i(performance.now()-e),p.deltaTime=0===t.ticks?i(0):n,t.phases[s]?.call(t,p))});const o=performance.now();U[a].push(o-r),t(s,r,o,"Maps SDK","Scheduling")}q();const o=performance.now();z.push(o-e),t("Animation Frame",e,o,"Maps SDK","Scheduling")}const S=new r;function q(){d.forAll(e=>{e.removed&&S.push(e)}),d.removeUnorderedMany(S.data,S.length),S.clear()}function _(){d.prune(),S.prune()}function b(){for(;h.length;){const e=h.shift();e.isActive&&e.callback()}A.willDispatch=!1}function y(t=1,n){const r=s(),i=()=>{o(n)?r.reject(a()):0===t?r():(--t,e(()=>i()))};return i(),r.promise}function P(e){return y(1,e)}function R(){const e=s(),t=T({postRender:()=>{t.remove(),F(e)}});return e.promise}async function K(e){await P(e),await new Promise(t=>requestAnimationFrame(()=>{e?.aborted||t()}))}const U=f.map(e=>new n(e)),z=new n("total");export{w as FrameTaskHandle,T as addFrameTask,_ as cleanupScheduling,A as debug,U as performanceInfo,z as performanceTotal,F as schedule,x as setFrameDuration,K as waitAnimationFrame,R as waitRender,P as waitTick,y as waitTicks};
5
+ import{nextTick as e}from"./nextTick.js";import{recordPerformance as t}from"./performance.js";import n from"./PerformanceSampler.js";import r from"./PooledArray.js";import{createResolver as s,isAborted as o,createAbortError as a}from"./promiseUtils.js";import{Milliseconds as i}from"./time.js";class c{constructor(e){this.phases=e,this.paused=!1,this.ticks=-1,this.removed=!1}}class m{constructor(e){this.callback=e,this.isActive=!0}remove(){this.isActive=!1}}let u=0,l=0;const p={time:i(0),deltaTime:i(0),elapsedFrameTime:i(0),frameDuration:i(0)},f=["prepare","preRender","render","postRender","update","finish"],h=[],d=new r;class w{constructor(e){this._task=e}remove(){this._task.removed=!0}pause(){this._task.paused=!0}resume(){this._task.paused=!1,v()}}function k(){null!=D&&(cancelAnimationFrame(D),D=requestAnimationFrame(g))}function v(){null==D&&(u=performance.now(),D=requestAnimationFrame(g))}const A={frameTasks:d,willDispatch:!1,clearFrameTasks:j,dispatch:b,executeFrameTasks:M,reschedule:k};function F(t){const n=new m(t);return h.push(n),A.willDispatch||(A.willDispatch=!0,e(b)),n}function T(e){const t=new c(e);return d.push(t),v(),new w(t)}let D=null;function j(e=!1){d.forAll(e=>{e.removed=!0}),e&&q()}function x(e){l=Math.max(0,e)}function g(){const e=performance.now();D=null;const t=d.some(e=>!e.paused&&!e.removed);D=t?requestAnimationFrame(g):null,A.executeFrameTasks(e)}function M(e){const n=i(e-u);u=e;const r=l>0?l:1e3/60,s=Math.max(0,n-r);p.time=e,p.frameDuration=i(r-s);for(let a=0;a<f.length;a++){const r=performance.now(),s=f[a];d.forAll(t=>{if(t.paused||t.removed)return;0===a&&t.ticks++;t.phases[s]&&(p.elapsedFrameTime=i(performance.now()-e),p.deltaTime=0===t.ticks?i(0):n,t.phases[s]?.call(t,p))});const o=performance.now();U[a].push(o-r),t(s,r,o,"Maps SDK","Scheduling")}q();const o=performance.now();z.push(o-e),t("Animation Frame",e,o,"Maps SDK","Scheduling")}const S=new r;function q(){d.forAll(e=>{e.removed&&S.push(e)}),d.removeUnorderedMany(S.data,S.length),S.clear()}function _(){d.prune(),S.prune()}function b(){for(;h.length;){const e=h.shift();e.isActive&&e.callback()}A.willDispatch=!1}function y(t=1,n){const r=s(),i=()=>{o(n)?r.reject(a()):0===t?r():(--t,e(()=>i()))};return i(),r.promise}function P(e){return y(1,e)}function R(){const e=s(),t=T({postRender:()=>{t.remove(),F(e)}});return e.promise}async function K(e){await P(e),await new Promise(t=>requestAnimationFrame(()=>{e?.aborted||t()}))}const U=f.map(e=>new n(e)),z=new n("total");export{T as addFrameTask,_ as cleanupScheduling,A as debug,U as performanceInfo,z as performanceTotal,F as schedule,x as setFrameDuration,K as waitAnimationFrame,R as waitRender,P as waitTick,y as waitTicks};
@@ -1,11 +1,4 @@
1
- import type { SQLSourceLocation } from "./sql92grammar.js";
2
- import type { SQLNode } from "./WhereGrammar.js";
3
-
4
- export interface SQLSyntaxError extends Error {
5
- location: SQLSourceLocation;
6
- message: string;
7
- name: "SyntaxError";
8
- }
1
+ import type { SimpleAttributes, SQLNode } from "./types.js";
9
2
 
10
3
  /**
11
4
  * The WhereClause is used to extract the features that meet a specified condition by parsing the provided
@@ -88,8 +81,4 @@ export default abstract class WhereClause {
88
81
  * });
89
82
  */
90
83
  testFeature(feature: SimpleAttributes): boolean;
91
- }
92
-
93
- export type SimpleAttributes = {
94
- attributes: Record<string, unknown>;
95
- } | Record<string, any>;
84
+ }
@@ -1,4 +1,25 @@
1
- import type { SQLSourceLocation } from "./sql92grammar.js";
1
+
2
+ export interface SourcePosition {
3
+ column: number;
4
+ line: number;
5
+ offset: number;
6
+ }
7
+
8
+ export interface SQLSourceLocation {
9
+ end: SourcePosition;
10
+ source?: unknown;
11
+ start: SourcePosition;
12
+ }
13
+
14
+ export interface SQLSyntaxError extends Error {
15
+ location: SQLSourceLocation;
16
+ message: string;
17
+ name: "SyntaxError";
18
+ }
19
+
20
+ export type SimpleAttributes = {
21
+ attributes: Record<string, unknown>;
22
+ } | Record<string, any>;
2
23
 
3
24
  /**
4
25
  * SQL parse tree is composed of SqlNodes. It may be an operator, literal, function, list, and so forth.
package/core/sql.d.ts CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Creates a [WhereClause](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-sql-WhereClause.html) expression that adheres to standardized SQL expressions.
3
+ * SQL expression is a combination of one or more values, operators and SQL functions that
4
+ * results in to a value.
5
+ *
6
+ * @since 4.14
7
+ * @see [Standardized SQL functions in ArcGIS Online](https://doc.arcgis.com/en/arcgis-online/reference/sql-agol.htm)
8
+ */
1
9
  import type WhereClause from "./sql/WhereClause.js";
2
10
  import type FieldsIndex from "../layers/support/FieldsIndex.js";
3
11
 
package/core/string.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{getDeepValue as t}from"./object.js";const e=/\{([^}]+)\}/g;function n(t){return t??""}function r(r,o){return o?r.replaceAll(e,"object"==typeof o?(e,r)=>n(t(r,o)):(t,e)=>n(o(e))):r}function o(t,e){return t.replaceAll(/([.$?*|{}()[\]\\/+\-^])/g,t=>e?.includes(t)?t:`\\${t}`)}function l(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}let u;function c(t){u??=new DOMParser;return u.parseFromString(t||"","text/html").body.innerText||""}function i(t,e){return new RegExp(`{${e}}`,"ig").test(t)}function f(t,...e){let n=t[0];for(let r=0;r<e.length;++r)n+=e[r]+t[r+1];return n}export{o as escapeRegExpString,l as numericHash,r as replace,f as safeToString,c as stripHTML,i as templateHasKey};
5
+ import{getDeepValue as t}from"./object.js";const e=/\{([^}]+)\}/g;function n(t){return t??""}function r(r,o){return o?r.replaceAll(e,"object"==typeof o?(e,r)=>n(t(r,o)):(t,e)=>n(o(e))):r}function o(e,n){return e.replaceAll(/\$\{([^\s:}]*)(?::([^\s:}]+))?\}/g,(e,r)=>{if(""===r)return"$";const o=t(r,n);return(o??"").toString()})}function u(t,e){return t.replaceAll(/([.$?*|{}()[\]\\/+\-^])/g,t=>e?.includes(t)?t:`\\${t}`)}function l(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}let c;function i(t){c??=new DOMParser;return c.parseFromString(t||"","text/html").body.innerText||""}function f(t,e){return new RegExp(`{${e}}`,"ig").test(t)}function g(t,...e){let n=t[0];for(let r=0;r<e.length;++r)n+=e[r]+t[r+1];return n}export{u as escapeRegExpString,l as numericHash,r as replace,g as safeToString,i as stripHTML,o as substitute,f as templateHasKey};
package/core/types.d.ts CHANGED
@@ -23,4 +23,33 @@ export interface ScreenPoint {
23
23
  x: number;
24
24
  /** The y coordinate in pixels. */
25
25
  y: number;
26
- }
26
+ }
27
+
28
+ /**
29
+ * A custom log interceptor function.
30
+ *
31
+ * @param level - The level of the message.
32
+ * @param module - The module from which the log message originated.
33
+ * @param args - Arguments of any type to be logged.
34
+ * @returns Return true to indicate the log message has been handled and should no longer be processed
35
+ * (neither by other interceptors nor by the default handler which logs messages to the console).
36
+ * @example
37
+ * // Only show error messages, not warnings nor info messages
38
+ * esriConfig.log.level = "error";
39
+ *
40
+ * esriConfig.log.interceptors.push(function(level, module, ...args) {
41
+ * // Send all messages to a REST end-point
42
+ * request(loggingUrl, {
43
+ * method: "post",
44
+ * body: {
45
+ * level: level,
46
+ * module: module,
47
+ * details: JSON.stringify(args)
48
+ * }
49
+ * });
50
+ *
51
+ * // Return false so that the default log handler still writes log messages to the console
52
+ * return false;
53
+ * });
54
+ */
55
+ export type LogInterceptor = (level: "error" | "warn" | "info", module: string, ...args: any[]) => boolean;
package/core/units.d.ts CHANGED
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Types of units used across the JS API.
3
+ *
4
+ * @since 4.18
5
+ */
1
6
 
2
7
  export type APIUnitString = "millimeters" | "centimeters" | "meters" | "feet" | "us-feet" | "clarke-feet" | "fathoms" | "nautical-miles" | "german-meters" | "us-chains" | "us-links" | "us-miles" | "kilometers" | "clarke-yards" | "clarke-chains" | "clarke-links" | "sears-yards" | "sears-feet" | "sears-chains" | "sears-links" | "benoit-1895-a-yards" | "benoit-1895-a-feet" | "benoit-1895-a-chains" | "benoit-1895-a-links" | "benoit-1895-b-yards" | "benoit-1895-b-feet" | "benoit-1895-b-chains" | "benoit-1895-b-links" | "1865-feet" | "indian-feet" | "indian-1937-feet" | "indian-1962-feet" | "indian-1975-feet" | "indian-yards" | "indian-1937-yards" | "indian-1962-yards" | "indian-1975-yards" | "statute-miles" | "gold-coast-feet" | "british-1936-feet" | "yards" | "chains" | "links" | "sears-1922-truncated-yards" | "sears-1922-truncated-feet" | "sears-1922-truncated-chains" | "sears-1922-truncated-links" | "us-yards" | "decimeters" | "inches" | "us-inches" | "rods" | "us-rods" | "us-nautical-miles" | "uk-nautical-miles" | "smoots" | "tx-vara" | "points" | "micrometers" | "nanometers" | "50-kilometers" | "150-kilometers";
3
8
 
@@ -16,6 +21,9 @@ export type ElevationUnit = "unknown" | "inches" | "feet" | "us-feet" | "yards"
16
21
  /** Units for angles. */
17
22
  export type AngleUnit = "degrees" | "radians";
18
23
 
24
+ /** Units for time. */
25
+ export type TimeUnit = "milliseconds" | "seconds" | "minutes" | "hours" | "days" | "weeks" | "months" | "years" | "decades" | "centuries";
26
+
19
27
  /** Units for angles. */
20
28
  export type Unit = LengthUnit | AreaUnit | VolumeUnit | AngleUnit;
21
29
 
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Utility methods for working with URLs.
3
+ *
4
+ * @since 4.0
5
+ * @see [esriConfig.request](https://developers.arcgis.com/javascript/latest/api-reference/esri-config.html#ConfigWithRequest)
6
+ * @see [Guide topic - Proxy pages](https://developers.arcgis.com/javascript/latest/proxies/)
7
+ */
1
8
 
2
9
  /**
3
10
  * Converts the URL arguments to an object representation.
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import"../../config.js";import"../../request.js";import"../Error.js";import"../Logger.js";import"../urlUtils.js";import"../has.js";let s=null;const a={};function r(s){const r={async:s.async,isDebug:s.isDebug,locale:s.locale,baseUrl:s.baseUrl,has:{...s.has},map:{...s.map},packages:s.packages?.slice()||[],paths:{...a.paths,...s.paths}};return s.hasOwnProperty("async")||(r.async=!0),s.hasOwnProperty("isDebug")||(r.isDebug=!1),s.baseUrl||(r.baseUrl=a.baseUrl),r}export{s as defaultLoaderUrl,r as loaderConfig};
5
+ import"../../config.js";import"../../request.js";import"../has.js";import"../RandomLCG.js";import"../Logger.js";import"../urlUtils.js";let s=null;const a={};function e(s){const e={async:s.async,isDebug:s.isDebug,locale:s.locale,baseUrl:s.baseUrl,has:{...s.has},map:{...s.map},packages:s.packages?.slice()||[],paths:{...a.paths,...s.paths}};return s.hasOwnProperty("async")||(e.async=!0),s.hasOwnProperty("isDebug")||(e.isDebug=!1),s.baseUrl||(e.baseUrl=a.baseUrl),e}export{s as defaultLoaderUrl,e as loaderConfig};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{getAssetUrl as e}from"../../assets.js";import r from"../../config.js";import{getLocale as t}from"../../intl.js";import{fullVersion as o}from"../../kernel.js";import has from"../has.js";import s from"../Logger.js";import{makeAbsolute as a}from"../urlUtils.js";import{loaderConfig as n}from"./loaderConfig.js";import{receiveMessage as i,MessageType as l}from"./utils.js";import f from"./WorkerFallback.js";import{commitHash as u,buildDate as c}from"../../support/revision.js";const d=()=>s.getLogger("esri.core.workers.workerFactory"),{HANDSHAKE:m}=l,p='let globalId=0;const outgoing=new Map,configuration={CONFIGURATION};self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;let s=null;return new Promise((r,i)=>{if(t){if(t.aborted)return i(createAbortError());s=()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))},t.addEventListener("abort",s)}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}).finally(()=>{t&&t.removeEventListener("abort",s)})}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,fullVersion:r}=configuration.kernelInfo,{revision:t,fullVersion:n,version:s}=e.kernelInfo;esriConfig.assetsPath!==esriConfig.defaultAssetsPath&&o!==t&&console.warn(`Version mismatch detected between ArcGIS Maps SDK for JavaScript modules and assets. For more information visit https://esriurl.com/using-local-assets.\nModules version: ${r}\nAssets version: ${n??s}\nAssets path: ${esriConfig.assetsPath}`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let n;function t(e){const o=n.connect(e);self.postMessage({type:2,jobId:r,data:o},[o])}"function"==typeof define&&define.amd?require([workerPath],e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(e=>e||new Promise(e=>{require([o.modulePath],e)})).then(t)}):"System"in self&&"function"==typeof System.import?System.import(workerPath).then(e=>(n=e.default,checkWorkerRevision(n),n.loadWorker(o.modulePath))).then(e=>e||System.import(o.modulePath)).then(t):esriConfig.workers.useDynamicImport?import(workerPath).then(e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(e=>e||import(o.modulePath)).then(t)}):(self.RemoteClient||importScripts(workerPath),n=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(t));break;case 3:if(outgoing.has(r)){const s=outgoing.get(r);outgoing.delete(r),o.error?s.reject(JSON.parse(o.error)):s.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});';let g,y;const h="Failed to create Worker. Fallback to execute module in main thread",k=void 0;async function w(){if(!has("esri-workers"))return b(new f);if(!g&&!y)try{const e=p.split("{CONFIGURATION}").join(v());g=URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}catch(r){y=r||{}}let e;if(g)try{e=new Worker(g,{name:"esri-worker-"+P++,...k})}catch(r){d().warn(h,y),e=new f}else d().warn(h,y),e=new f;return b(e)}async function b(e){return new Promise(r=>{function t(s){const a=i(s);a&&a.type===m&&(e.removeEventListener("message",t),e.removeEventListener("error",o),r(e))}function o(r){r.preventDefault(),e.removeEventListener("message",t),e.removeEventListener("error",o),d().warn("Failed to create Worker. Fallback to execute module in main thread",r),(e=new f).addEventListener("message",t),e.addEventListener("error",o)}e.addEventListener("message",t),e.addEventListener("error",o)})}function v(){let s;if(null!=r.default){const e={...r};delete e.default,s=JSON.parse(JSON.stringify(e))}else s=JSON.parse(JSON.stringify(r));s.assetsPath=a(s.assetsPath),s.defaultAssetsPath=s.defaultAssetsPath?a(s.defaultAssetsPath):void 0,s.request.interceptors=[],s.log.interceptors=[],s.locale=t(),s.has={"esri-csp-restrictions":has("esri-csp-restrictions"),"esri-2d-debug":!1,"esri-2d-update-debug":has("esri-2d-update-debug"),"esri-2d-log-updating":has("esri-2d-log-updating"),"featurelayer-pbf":has("featurelayer-pbf"),"featurelayer-fast-triangulation-enabled":has("featurelayer-fast-triangulation-enabled"),"featurelayer-simplify-thresholds":has("featurelayer-simplify-thresholds"),"featurelayer-simplify-payload-size-factors":has("featurelayer-simplify-payload-size-factors"),"featurelayer-simplify-mobile-factor":has("featurelayer-simplify-mobile-factor"),"featurelayer-query-max-depth":has("featurelayer-query-max-depth"),"featurelayer-query-tile-max-features":has("featurelayer-query-tile-max-features"),"featurelayer-query-tile-concurrency":has("featurelayer-query-tile-concurrency"),"featurelayer-query-pausing-enabled":has("featurelayer-query-pausing-enabled"),"featurelayer-snapshot-concurrency":has("featurelayer-snapshot-concurrency"),"featurelayer-snapshot-enabled":has("featurelayer-snapshot-enabled"),"parquetlayer-full-query-feature-count":has("parquetlayer-full-query-feature-count"),"esri-atomics":has("esri-atomics"),"esri-shared-array-buffer":has("esri-shared-array-buffer"),"esri-tiles-debug":has("esri-tiles-debug"),"esri-workers-arraybuffer-transfer":has("esri-workers-arraybuffer-transfer"),"feature-polyline-generalization-factor":has("feature-polyline-generalization-factor"),"host-webworker":1},s.workers.loaderUrl&&(s.workers.loaderUrl=a(s.workers.loaderUrl)),s.workers.workerPath?s.workers.workerPath=a(s.workers.workerPath):s.workers.workerPath=a(e("esri/core/workers/RemoteClient.js")),s.workers.useDynamicImport=has("esri-esbuild-build");const i=r.workers.loaderConfig,l=n({baseUrl:i?.baseUrl,locale:t(),has:{"csp-restrictions":1,"dojo-test-sniff":0,"host-webworker":1,...i?.has},map:{...i?.map},paths:{...i?.paths},packages:i?.packages||[]}),f={buildDate:c,fullVersion:o,revision:u};return JSON.stringify({esriConfig:s,loaderConfig:l,kernelInfo:f})}let P=0;export{w as createWorker};
5
+ import{getAssetUrl as e}from"../../assets.js";import r from"../../config.js";import{getLocale as t}from"../../intl.js";import{fullVersion as o}from"../../kernel.js";import has from"../has.js";import s from"../Logger.js";import{makeAbsolute as a}from"../urlUtils.js";import{loaderConfig as n}from"./loaderConfig.js";import{receiveMessage as i,MessageType as l}from"./utils.js";import f from"./WorkerFallback.js";import{commitHash as u,buildDate as c}from"../../support/revision.js";const d=()=>s.getLogger("esri.core.workers.workerFactory"),{HANDSHAKE:m}=l,p='let globalId=0;const outgoing=new Map,configuration={CONFIGURATION};self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;let s=null;return new Promise((r,i)=>{if(t){if(t.aborted)return i(createAbortError());s=()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))},t.addEventListener("abort",s)}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}).finally(()=>{t&&t.removeEventListener("abort",s)})}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,fullVersion:r}=configuration.kernelInfo,{revision:t,fullVersion:n,version:s}=e.kernelInfo;esriConfig.assetsPath!==esriConfig.defaultAssetsPath&&o!==t&&console.warn(`Version mismatch detected between ArcGIS Maps SDK for JavaScript modules and assets. For more information visit https://esriurl.com/using-local-assets.\nModules version: ${r}\nAssets version: ${n??s}\nAssets path: ${esriConfig.assetsPath}`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let n;function t(e){const o=n.connect(e);self.postMessage({type:2,jobId:r,data:o},[o])}"function"==typeof define&&define.amd?require([workerPath],e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(e=>e||new Promise(e=>{require([o.modulePath],e)})).then(t)}):"System"in self&&"function"==typeof System.import?System.import(workerPath).then(e=>(n=e.default,checkWorkerRevision(n),n.loadWorker(o.modulePath))).then(e=>e||System.import(o.modulePath)).then(t):esriConfig.workers.useDynamicImport?import(workerPath).then(e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(e=>e||import(o.modulePath)).then(t)}):(self.RemoteClient||importScripts(workerPath),n=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(t));break;case 3:if(outgoing.has(r)){const s=outgoing.get(r);outgoing.delete(r),o.error?s.reject(JSON.parse(o.error)):s.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});';let g,y;const h="Failed to create Worker. Fallback to execute module in main thread";async function k(){if(!has("esri-workers"))return w(new f);if(!g&&!y)try{const e=p.split("{CONFIGURATION}").join(b());g=URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}catch(r){y=r||{}}let e;if(g)try{e=new Worker(g,{name:"esri-worker-"+v++})}catch(r){d().warn(h,y),e=new f}else d().warn(h,y),e=new f;return w(e)}async function w(e){return new Promise(r=>{function t(s){const a=i(s);a&&a.type===m&&(e.removeEventListener("message",t),e.removeEventListener("error",o),r(e))}function o(r){r.preventDefault(),e.removeEventListener("message",t),e.removeEventListener("error",o),d().warn("Failed to create Worker. Fallback to execute module in main thread",r),(e=new f).addEventListener("message",t),e.addEventListener("error",o)}e.addEventListener("message",t),e.addEventListener("error",o)})}function b(){let s;if(null!=r.default){const e={...r};delete e.default,s=JSON.parse(JSON.stringify(e))}else s=JSON.parse(JSON.stringify(r));s.assetsPath=a(s.assetsPath),s.defaultAssetsPath=s.defaultAssetsPath?a(s.defaultAssetsPath):void 0,s.request.interceptors=[],s.log.interceptors=[],s.locale=t(),s.has={"esri-csp-restrictions":has("esri-csp-restrictions"),"esri-2d-debug":!1,"esri-2d-update-debug":has("esri-2d-update-debug"),"esri-2d-log-updating":has("esri-2d-log-updating"),"featurelayer-pbf":has("featurelayer-pbf"),"featurelayer-fast-triangulation-enabled":has("featurelayer-fast-triangulation-enabled"),"featurelayer-simplify-thresholds":has("featurelayer-simplify-thresholds"),"featurelayer-simplify-payload-size-factors":has("featurelayer-simplify-payload-size-factors"),"featurelayer-simplify-mobile-factor":has("featurelayer-simplify-mobile-factor"),"featurelayer-query-max-depth":has("featurelayer-query-max-depth"),"featurelayer-query-tile-max-features":has("featurelayer-query-tile-max-features"),"featurelayer-query-tile-concurrency":has("featurelayer-query-tile-concurrency"),"featurelayer-query-pausing-enabled":has("featurelayer-query-pausing-enabled"),"featurelayer-snapshot-concurrency":has("featurelayer-snapshot-concurrency"),"featurelayer-snapshot-enabled":has("featurelayer-snapshot-enabled"),"parquetlayer-full-query-feature-count":has("parquetlayer-full-query-feature-count"),"esri-atomics":has("esri-atomics"),"esri-shared-array-buffer":has("esri-shared-array-buffer"),"esri-tiles-debug":has("esri-tiles-debug"),"esri-workers-arraybuffer-transfer":has("esri-workers-arraybuffer-transfer"),"feature-polyline-generalization-factor":has("feature-polyline-generalization-factor"),"host-webworker":1},s.workers.loaderUrl&&(s.workers.loaderUrl=a(s.workers.loaderUrl)),s.workers.workerPath?s.workers.workerPath=a(s.workers.workerPath):s.workers.workerPath=a(e("esri/core/workers/RemoteClient.js")),s.workers.useDynamicImport=has("esri-esbuild-build");const i=r.workers.loaderConfig,l=n({baseUrl:i?.baseUrl,locale:t(),has:{"csp-restrictions":1,"dojo-test-sniff":0,"host-webworker":1,...i?.has},map:{...i?.map},paths:{...i?.paths},packages:i?.packages||[]}),f={buildDate:c,fullVersion:o,revision:u};return JSON.stringify({esriConfig:s,loaderConfig:l,kernelInfo:f})}let v=0;export{k as createWorker};
package/core/workers.d.ts CHANGED
@@ -1,3 +1,29 @@
1
+ /**
2
+ * This module is a utility framework that simplifies the use of
3
+ * [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers) in the
4
+ * ArcGIS Maps SDK for JavaScript.
5
+ *
6
+ * The workers framework takes advantage of multi-core CPUs to perform computationally expensive tasks in
7
+ * a background thread without interfering with the user interface. This framework loads a script
8
+ * and provides a calling function in the main thread using the [Connection class](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-workers-Connection.html).
9
+ * The Connection can then be used to offload jobs asynchronously from the main thread to workers.
10
+ * The workers framework returns a Promise once the job is completed.
11
+ *
12
+ * > [!WARNING]
13
+ * >
14
+ * > **Known Limitations**
15
+ * >
16
+ * > Workers do not have access to document, window and parent objects, and cannot directly affect the parent page; this includes
17
+ * > DOM manipulation.
18
+ * >
19
+ * > The [esriRequest](https://developers.arcgis.com/javascript/latest/api-reference/esri-request.html) module can be used within worker script with the following exceptions:
20
+ * > - [esriRequest.options.body](https://developers.arcgis.com/javascript/latest/api-reference/esri-request-types.html#RequestOptions) `FormData` value is not supported.
21
+ * > - [esriRequest.options.responseType](https://developers.arcgis.com/javascript/latest/api-reference/esri-request-types.html#RequestOptions) supported values are: `array-buffer`, `blob`, `json`, `native`, `text`
22
+ * > - [esriRequest.getHeader](https://developers.arcgis.com/javascript/latest/api-reference/esri-request-types.html#GetHeader) is not supported.
23
+ *
24
+ * @since 4.2
25
+ * @see [ES modules custom workers sample](https://github.com/Esri/jsapi-resources/tree/main/core-samples/jsapi-custom-workers)
26
+ */
1
27
  import type Connection from "./workers/Connection.js";
2
28
  import type { OpenOptions } from "./workers/workers.js";
3
29
 
@@ -1,3 +1,58 @@
1
+ /**
2
+ * A convenience module for importing [Input](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-Input.html) classes
3
+ * when developing with [TypeScript](https://developers.arcgis.com/javascript/latest/get-started/#typescript).
4
+ * For example, rather than importing form element inputs one at a time like this:
5
+ *
6
+ * ```js
7
+ * import BarcodeScannerInput from "@arcgis/core/form/elements/inputs/BarcodeScannerInput.js";
8
+ * import ComboBoxInput from "@arcgis/core/form/elements/inputs/ComboBoxInput.js";
9
+ * import DatePickerInput from "@arcgis/core/form/elements/inputs/DatePickerInput.js";
10
+ * import DateTimeOffsetPickerInput from "@arcgis/core/form/elements/inputs/DateTimeOffsetPickerInput.js";
11
+ * import DateTimePickerInput from "@arcgis/core/form/elements/inputs/DateTimePickerInput.js";
12
+ * import RadioButtonsInput from "@arcgis/core/form/elements/inputs/RadioButtonsInput.js";
13
+ * import SwitchInput from "@arcgis/core/form/elements/inputs/SwitchInput.js";
14
+ * import TextAreaInput from "@arcgis/core/form/elements/inputs/TextAreaInput.js";
15
+ * import TextBoxInput from "@arcgis/core/form/elements/inputs/TextBoxInput.js";
16
+ * import TimePickerInput from "@arcgis/core/form/elements/inputs/TimePickerInput.js";
17
+ * ```
18
+ *
19
+ * You can use this module to import them on a single line:
20
+ *
21
+ * ```js
22
+ * import { BarcodeScannerInput, ComboBoxInput, DatePickerInput, DateTimeOffsetPickerInput, DateTimePickerInput, RadioButtonsInput, SwitchInput, TextAreaInput, TextBoxInput, TimePickerInput } from "@arcgis/core/form/elements/inputs.js";
23
+ * ```
24
+ *
25
+ * This module also allows you to implement [type guards](https://basarat.gitbook.io/typescript/type-system/typeguard)
26
+ * on the form element inputs, making your code smarter.
27
+ *
28
+ * ```js
29
+ * import { Input } from "@arcgis/core/form/elements/inputs.js";
30
+ *
31
+ * function logFormElementInput(input: Input): void {
32
+ * if (input.type === "text-area") {
33
+ * console.log("Form element input type is TextAreaInput");
34
+ * }
35
+ * else {
36
+ * // The compiler knows the content element must be an input type such as `text-area` | `text-box` | `barcode-scanner` | `radio-buttons` | `combo-box`, etc.
37
+ * console.log("The value is not a valid form element input.")
38
+ * }
39
+ * }
40
+ * ```
41
+ *
42
+ * @since 4.16
43
+ * @see [FormTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-FormTemplate.html)
44
+ * @see [FieldElement](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-FieldElement.html)
45
+ * @see [BarcodeScannerInput](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-BarcodeScannerInput.html)
46
+ * @see [ComboBoxInput](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-ComboBoxInput.html)
47
+ * @see [DatePickerInput](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-DatePickerInput.html)
48
+ * @see [DateTimeOffsetPickerInput](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-DateTimeOffsetPickerInput.html)
49
+ * @see [DateTimePickerInput](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-DateTimePickerInput.html)
50
+ * @see [RadioButtonsInput](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-RadioButtonsInput.html)
51
+ * @see [SwitchInput](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-SwitchInput.html)
52
+ * @see [TextAreaInput](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-TextAreaInput.html)
53
+ * @see [TextBoxInput](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-TextBoxInput.html)
54
+ * @see [TimePickerInput](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-inputs-TimePickerInput.html)
55
+ */
1
56
  import type BarcodeScannerInputClass from "./inputs/BarcodeScannerInput.js";
2
57
  import type ComboBoxInputClass from "./inputs/ComboBoxInput.js";
3
58
  import type DatePickerInputClass from "./inputs/DatePickerInput.js";
@@ -1,3 +1,46 @@
1
+ /**
2
+ * A convenience module for importing [Element](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-Element.html) classes
3
+ * when developing with [TypeScript](https://developers.arcgis.com/javascript/latest/get-started/#typescript).
4
+ * For example, rather than importing form elements one at a time like this:
5
+ *
6
+ * ```js
7
+ * import FieldElement from "@arcgis/core/form/elements/FieldElement.js";
8
+ * import GroupElement from "@arcgis/core/form/elements/GroupElement.js";
9
+ * import RelationshipElement from "@arcgis/core/form/elements/RelationshipElement.js";
10
+ * import TextElement from "@arcgis/core/form/elements/TextElement.js";
11
+ * ```
12
+ *
13
+ * You can use this module to import them on a single line:
14
+ *
15
+ * ```js
16
+ * import { FieldElement, GroupElement, RelationshipElement, TextElement } from "@arcgis/core/form/elements.js";
17
+ * ```
18
+ *
19
+ * This module also allows you to implement [type guards](https://basarat.gitbook.io/typescript/type-system/typeguard)
20
+ * on the form elements, making your code smarter.
21
+ *
22
+ * ```js
23
+ * import { Element } from "@arcgis/core/form/elements.js";
24
+ *
25
+ * function logFormElement(element: Element): void {
26
+ * if (element.type === "field") {
27
+ * console.log("Form element type is field");
28
+ * }
29
+ * else {
30
+ * // The compiler knows the content element must be `field | group | relationship`
31
+ * console.log("The value is not a valid form element.")
32
+ * }
33
+ * }
34
+ * ```
35
+ *
36
+ * @since 4.16
37
+ * @see [FormTemplate](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-FormTemplate.html)
38
+ * @see [FieldElement](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-FieldElement.html)
39
+ * @see [GroupElement](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-GroupElement.html)
40
+ * @see [RelationshipElement](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-RelationshipElement.html)
41
+ * @see [TextElement](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-TextElement.html)
42
+ * @see [UtilityNetworkAssociationsElement](https://developers.arcgis.com/javascript/latest/api-reference/esri-form-elements-UtilityNetworkAssociationsElement.html)
43
+ */
1
44
  import type AttachmentElementClass from "./elements/AttachmentElement.js";
2
45
  import type FieldElementClass from "./elements/FieldElement.js";
3
46
  import type GroupElementClass from "./elements/GroupElement.js";
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Converts between [points](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) and formatted coordinates notation strings
3
+ * such as:
4
+ * * decimal degrees
5
+ * * degrees, minutes, and seconds
6
+ * * U.S. National Grid (USNG)
7
+ * * Military Grid Reference System (MGRS).
8
+ *
9
+ * To use the conversion methods, the [load()](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-coordinateFormatter.html#load) method must be called first
10
+ * if [isLoaded()](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-coordinateFormatter.html#isLoaded) is `false`.
11
+ *
12
+ * > [!WARNING]
13
+ * >
14
+ * > **Known Limitations**
15
+ * >
16
+ * > The browser must support [WebAssembly](https://caniuse.com/#feat=wasm) for this module to work.
17
+ * > The methods that convert formatted strings to [points](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) expect the spatial reference
18
+ * > parameter to be a [geographic coordinate system](https://developers.arcgis.com/rest/services-reference/enterprise/using-spatial-references.htm).
19
+ * > The methods that convert [points](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html) to formatted strings expect the point's
20
+ * > [Point#spatialReference](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Point.html#spatialReference) to be a
21
+ * > [geographic coordinate system](https://developers.arcgis.com/rest/services-reference/enterprise/using-spatial-references.htm).
22
+ *
23
+ * @since 4.7
24
+ * @example
25
+ * // Assign a latitude/longitude string to a const.
26
+ * const latlon = "55 56 39.123N 003 09 43.034W";
27
+ *
28
+ * // Load dependencies.
29
+ * await coordinateFormatter.load();
30
+ *
31
+ * // Use the `fromLatitudeLongitude` method to convert the latitude/longitude string to a point geometry.
32
+ * const point = coordinateFormatter.fromLatitudeLongitude(latlon);
33
+ */
1
34
  import type Point from "./Point.js";
2
35
  import type SpatialReference from "./SpatialReference.js";
3
36
  import type { LatitudeLongitudeFormat } from "./types.js";
@@ -1,3 +1,19 @@
1
+ /**
2
+ * A client-side geometry engine for testing, measuring, and analyzing the spatial relationship
3
+ * between two or more 2D geometries. If more than one geometry is required for any of the methods below,
4
+ * all geometries must have the same spatial reference for the methods to work as expected.
5
+ *
6
+ * Read the following blog series to learn more about GeometryEngine:
7
+ *
8
+ * - [ArcGIS Blog - GeometryEngine: Testing spatial relationships and editing](https://blogs.esri.com/esri/arcgis/2015/09/09/geometryengine-part-1-testing-spatial-relationships-and-editing/)
9
+ * - [ArcGIS Blog - GeometryEngine: Measurement](https://blogs.esri.com/esri/arcgis/2015/09/16/geometryengine-part-2-measurement/)
10
+ * - [ArcGIS Blog - GeometryEngine: Overlay analysis](https://blogs.esri.com/esri/arcgis/2015/09/23/geometryengine-part-3-overlay-analysis/)
11
+ *
12
+ * @deprecated since version 4.32. Use [geometry operators](https://developers.arcgis.com/javascript/latest/spatial-analysis/intro-geometry-operators/) instead.
13
+ * @since 4.0
14
+ * @see [Sample - Geodesic Buffers (2D & 3D)](https://developers.arcgis.com/javascript/latest/sample-code/ge-geodesicbuffer/)
15
+ * @see {@link geometry/projection}
16
+ */
1
17
  import type Extent from "./Extent.js";
2
18
  import type Point from "./Point.js";
3
19
  import type Polygon from "./Polygon.js";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Applies an affine transformation to 2D geometries via the [Transformation](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-operators-support-Transformation.html) class.
3
+ *
4
+ * @since 4.31
5
+ */
1
6
  import type Transformation from "./support/Transformation.js";
2
7
  import type { GeometryUnion, GeometrySansMeshUnion } from "../support/typeUtils.js";
3
8
 
@@ -1,3 +1,12 @@
1
+ /**
2
+ * Calculates the alpha shape of 2D points (concave hull).
3
+ * Alpha shapes are used to generalize bounding polygons containing sets of points or multipoints. Using this operator on other geometry types will produce results, however it is probably not what you are expecting.
4
+ *
5
+ * ![Alpha shape operator](https://developers.arcgis.com/javascript/latest/assets/img/apiref/operators/alphaShape.png "Alpha shape operator")
6
+ *
7
+ * @since 4.31
8
+ * @see [Alpha shape - wikipedia](https://en.wikipedia.org/wiki/Alpha_shape)
9
+ */
1
10
  import type Polygon from "../Polygon.js";
2
11
  import type { GeometryUnion } from "../support/typeUtils.js";
3
12