@arcgis/core 5.2.0-next.20 → 5.2.0-next.22

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 (271) hide show
  1. package/Graphic.d.ts +1 -0
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/0eb0ce43b4813cae968f.js +2 -0
  4. package/assets/esri/core/workers/chunks/{2dbd88566abac030e965.js → 162dada6a199d1efdf86.js} +2 -2
  5. package/assets/esri/core/workers/chunks/1a4bec464daa9662ab2a.js +1 -0
  6. package/assets/esri/core/workers/chunks/{b375abfb2a2d9c63e20a.js → 2255a21c7b959f04d941.js} +1 -1
  7. package/assets/esri/core/workers/chunks/292498a9c7d462d215c6.js +1 -0
  8. package/assets/esri/core/workers/chunks/2ef80e003b4f0393ac2e.js +1 -0
  9. package/assets/esri/core/workers/chunks/{4517630bf869205bab87.js → 38a76bc4ef5c10ab0488.js} +1 -1
  10. package/assets/esri/core/workers/chunks/3b4fc67f6cb7393fbd97.js +1 -0
  11. package/assets/esri/core/workers/chunks/{8ce4fe00328173224ed2.js → 44e32ed3a570593a7245.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{db26cf2c2735183294b8.js → 50345dfc00380b158c96.js} +1 -1
  13. package/assets/esri/core/workers/chunks/5468a65698931603656d.js +1 -0
  14. package/assets/esri/core/workers/chunks/5b42f8aa0247adc2d065.js +1 -0
  15. package/assets/esri/core/workers/chunks/{d7acbc2ddff4cee8a465.js → 5ee887fc6e1e0e70e02f.js} +1 -1
  16. package/assets/esri/core/workers/chunks/66c2cfe11161d5dc989a.js +1 -0
  17. package/assets/esri/core/workers/chunks/6c0c77de1934f35dc45f.js +1 -0
  18. package/assets/esri/core/workers/chunks/{f7f820483e45c05ab9e4.js → 75df436e6e9773bdcfc2.js} +1 -1
  19. package/assets/esri/core/workers/chunks/780519b60aa674a61a74.js +1 -0
  20. package/assets/esri/core/workers/chunks/{a2247f4c3116efb16c4f.js → 7e23de8d9b2d938808f6.js} +1 -1
  21. package/assets/esri/core/workers/chunks/7fc8516111bd869256fc.js +1 -0
  22. package/assets/esri/core/workers/chunks/8579eba21f40630d073d.js +1 -0
  23. package/assets/esri/core/workers/chunks/{72edd08a2ff08970ba38.js → 87011d2fe14c54e296af.js} +1 -1
  24. package/assets/esri/core/workers/chunks/928b18e13e015330d44b.js +1 -0
  25. package/assets/esri/core/workers/chunks/93b40245378ced43ca08.js +1 -0
  26. package/assets/esri/core/workers/chunks/9434c76ad39c936dba90.js +1 -0
  27. package/assets/esri/core/workers/chunks/98dfe31e8ed9b522eaff.js +1 -0
  28. package/assets/esri/core/workers/chunks/{4104a0585969f8cd524c.js → a40ede4d3375184f21fe.js} +1 -1
  29. package/assets/esri/core/workers/chunks/a533d066cac26124c5ce.js +1 -0
  30. package/assets/esri/core/workers/chunks/a536904fe6f3b16fdbdc.js +1 -0
  31. package/assets/esri/core/workers/chunks/a54773c9bbc751619b3f.js +2 -0
  32. package/assets/esri/core/workers/chunks/a8167ab9fd846d699be5.js +1 -0
  33. package/assets/esri/core/workers/chunks/{dd0c1cf921369e2bc48b.js → a90619adff41658f8057.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{ac16016964be3b684e98.js → aded4e704e09a28edc8f.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{eccbddaec4be44c86f79.js → b0b3c67b7d37bd854d95.js} +2 -2
  36. package/assets/esri/core/workers/chunks/b419fd36337e76e2d4a3.js +680 -0
  37. package/assets/esri/core/workers/chunks/{05d597dd117766beadd8.js → b91a15522692781560b4.js} +1 -1
  38. package/assets/esri/core/workers/chunks/be4275a4b8977ec3eb61.js +1 -0
  39. package/assets/esri/core/workers/chunks/{e8d65900eefff1152207.js → c593539c2cce7a2b9d44.js} +1 -1
  40. package/assets/esri/core/workers/chunks/c86d388d216adbb15a05.js +1 -0
  41. package/assets/esri/core/workers/chunks/{0b522e05668bef729b1b.js → ceb5bd9f2afaa2ea0808.js} +1 -1
  42. package/assets/esri/core/workers/chunks/d07068c44d560e4ce02e.js +1 -0
  43. package/assets/esri/core/workers/chunks/{595bc41ff36c77324d01.js → d4e0346209fabc58f929.js} +9 -9
  44. package/assets/esri/core/workers/chunks/{5809e70a8e57e9b05959.js → dd795c95cdc3812b5b49.js} +1 -1
  45. package/assets/esri/core/workers/chunks/e29c8c10331edfa83277.js +1 -0
  46. package/assets/esri/core/workers/chunks/{44b30bce8e9a75b9e1b3.js → ef94d25d1cceb25ea9fe.js} +2 -2
  47. package/assets/esri/core/workers/chunks/f02a9408ba3893484c6c.js +1 -0
  48. package/assets/esri/core/workers/chunks/f7344d855f1092383abe.js +1 -0
  49. package/assets/esri/core/workers/chunks/{5f63077ec5ba3560491b.js → fb9f8b6cc2b4ae5b60df.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{ecbf84a1f42e6188faab.js → fd629872b5c07853f695.js} +1 -1
  51. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  52. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -1
  53. package/assets/esri/themes/dark/main.css +1 -1
  54. package/assets/esri/themes/light/main.css +1 -1
  55. package/assets/esri/themes/light/view.css +1 -1
  56. package/chunks/GaussianSplat.glsl.js +4 -4
  57. package/chunks/GaussianSplatShadow.glsl.js +1 -1
  58. package/chunks/Pattern.glsl.js +17 -17
  59. package/chunks/RibbonLine.glsl.js +45 -43
  60. package/chunks/bundle2.js +1 -1
  61. package/config.js +1 -1
  62. package/core/date.js +1 -1
  63. package/form/FormTemplate.d.ts +15 -20
  64. package/form/elements/AttachmentElement.d.ts +38 -11
  65. package/form/elements/Element.d.ts +9 -6
  66. package/form/elements/FieldElement.d.ts +0 -1
  67. package/form/elements/GroupElement.d.ts +4 -6
  68. package/form/elements/RelationshipElement.d.ts +8 -8
  69. package/form/elements/inputs/attachments/AttachmentInput.d.ts +34 -18
  70. package/form/elements/inputs/attachments/AudioInput.d.ts +4 -3
  71. package/form/elements/inputs/attachments/DocumentInput.d.ts +2 -6
  72. package/form/elements/inputs/attachments/ImageInput.d.ts +4 -3
  73. package/form/elements/inputs/attachments/Input.d.ts +6 -3
  74. package/form/elements/inputs/attachments/SignatureInput.d.ts +3 -3
  75. package/form/elements/inputs/attachments/VideoInput.d.ts +4 -3
  76. package/form/elements.d.ts +6 -12
  77. package/form/types.d.ts +0 -4
  78. package/geometry/support/geometryUtils.js +1 -1
  79. package/geometry/support/intersects.js +1 -1
  80. package/geometry/support/intersectsBase.js +1 -1
  81. package/kernel.js +1 -1
  82. package/layers/AnnotationFeatureLayer.d.ts +44 -0
  83. package/layers/AnnotationFeatureLayer.js +1 -1
  84. package/layers/DimensionFeatureLayer.d.ts +40 -0
  85. package/layers/DimensionFeatureLayer.js +1 -1
  86. package/layers/DimensionLayer.d.ts +1 -0
  87. package/layers/FeatureLayer.js +1 -1
  88. package/layers/IntegratedMesh3DTilesLayer.d.ts +9 -1
  89. package/layers/OrientedImageryLayer.js +1 -1
  90. package/layers/ParquetLayer.d.ts +6 -10
  91. package/layers/ParquetLayer.js +1 -1
  92. package/layers/graphics/data/attributeSupport.js +1 -1
  93. package/layers/graphics/data/queryValidationUtils.js +1 -1
  94. package/layers/graphics/sources/ParquetSource.js +1 -1
  95. package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
  96. package/layers/graphics/sources/geojson/geojson.js +1 -1
  97. package/layers/graphics/sources/parquet/FileProvider.js +1 -1
  98. package/layers/graphics/sources/parquet/PortalParquetLayerFileProvider.js +1 -1
  99. package/layers/graphics/sources/parquet/fileProviderChangedError.js +2 -0
  100. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  101. package/layers/mixins/ArcGISImageService.js +1 -1
  102. package/layers/mixins/EditBusLayer.js +1 -1
  103. package/layers/orientedImagery/core/utils.js +1 -1
  104. package/layers/raster/datasets/WCSRaster.js +1 -1
  105. package/layers/support/AnnotationFeatureSublayer.d.ts +5 -3
  106. package/layers/support/RasterBandInfo.js +1 -1
  107. package/layers/support/SymbolLayerDrawing.js +1 -1
  108. package/layers/types.d.ts +1 -0
  109. package/package.json +2 -2
  110. package/rest/support/AttachmentQuery.d.ts +13 -1
  111. package/rest/support/AttachmentQuery.js +1 -1
  112. package/rest/support/OutDistance.d.ts +5 -1
  113. package/rest/support/PrintParameters.d.ts +2 -1
  114. package/rest/support/Query.d.ts +2 -0
  115. package/support/basemapUtils.js +1 -1
  116. package/support/revision.js +1 -1
  117. package/symbols/SimpleMarkerSymbol.d.ts +2 -2
  118. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  119. package/views/2d/engine/AFeatureContainer.js +1 -1
  120. package/views/2d/engine/transitions/FadeTransition.js +1 -1
  121. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  122. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  123. package/views/2d/engine/webgl/TileCpuState.js +1 -1
  124. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  125. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  126. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  127. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  128. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  129. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  130. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  131. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  132. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  133. package/views/2d/layers/LayerView2D.js +1 -1
  134. package/views/2d/layers/MediaLayerView2D.js +1 -1
  135. package/views/2d/layers/features/FeatureContainer.js +1 -1
  136. package/views/2d/layers/features/RenderState.js +1 -1
  137. package/views/2d/layers/features/aggregation/GeohashSpatialIndex.js +1 -1
  138. package/views/2d/layers/features/aggregation/GridSpatialIndex.js +1 -1
  139. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  140. package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
  141. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  142. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  143. package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
  144. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  145. package/views/2d/layers/support/annodime/DimensionInfo.js +1 -1
  146. package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
  147. package/views/3d/analysis/LineOfSight/LineOfSightDrawToolRenderer.js +1 -1
  148. package/views/3d/analysis/LineOfSight/LineOfSightInteractionVisuals.js +2 -0
  149. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
  150. package/views/3d/analysis/LineOfSight/LineOfSightReshapeTool3D.js +1 -1
  151. package/views/3d/analysis/LineOfSight/LineOfSightTool2.js +1 -1
  152. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
  153. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  154. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  155. package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
  156. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  157. package/views/3d/layers/GaussianSplatLayerViewPerformanceInfo.js +1 -1
  158. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  159. package/views/3d/layers/graphics/Graphics3DPathSymbolLayerConstants.js +1 -1
  160. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  161. package/views/3d/state/utils/navigationUtils.js +1 -1
  162. package/views/3d/support/gaussianSplatting/GaussianSplatAtlasPages.js +1 -1
  163. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  164. package/views/3d/support/gaussianSplatting/GaussianSplatHeaderTexture.js +2 -0
  165. package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
  166. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  167. package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +11 -11
  168. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBuffer.glsl.js +6 -9
  169. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathEvaluate.glsl.js +46 -46
  170. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexInfo.glsl.js +46 -18
  171. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +22 -22
  172. package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +4 -4
  173. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js +13 -12
  174. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizer.js +1 -1
  175. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  176. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  177. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  178. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  179. package/views/3d/webgl-engine/lib/GaussianSplatShadowRenderNode.js +1 -1
  180. package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
  181. package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
  182. package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
  183. package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
  184. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  185. package/views/3d/webgl-engine/lib/PathVertexInfo.js +1 -1
  186. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  187. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  188. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferUtils.js +1 -1
  189. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +1 -1
  190. package/views/3d/webgl-engine/materials/PathLayouts.js +1 -1
  191. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  192. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  193. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  194. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +1 -1
  195. package/views/3d/webgl-engine/shaders/PatternTextureBuffer.glsl.js +1 -1
  196. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  197. package/views/3d/webgl-engine/shaders/RibbonLineLayouts.js +1 -1
  198. package/views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js +2 -0
  199. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +10 -10
  200. package/views/View2D.d.ts +2 -2
  201. package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
  202. package/views/layers/AnnotationFeatureLayerView.d.ts +9 -1
  203. package/views/layers/DimensionFeatureLayerView.d.ts +9 -1
  204. package/views/layers/FeatureLikeLayerView.js +1 -1
  205. package/views/webgl/ShaderBuilder.js +1 -1
  206. package/widgets/BasemapGallery.js +1 -1
  207. package/widgets/BatchAttributeForm/attachmentUtils.js +1 -1
  208. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  209. package/widgets/BatchAttributeForm/css.js +1 -1
  210. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  211. package/widgets/BatchAttributeForm.js +1 -1
  212. package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
  213. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  214. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  215. package/widgets/Editor/UpdateWorkflow.js +1 -1
  216. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  217. package/widgets/Editor/types.d.ts +12 -0
  218. package/widgets/Editor/workflowUtils.js +1 -1
  219. package/widgets/Editor.js +1 -1
  220. package/widgets/FeatureForm/FeatureFormViewModel.d.ts +16 -12
  221. package/widgets/FeatureForm.d.ts +14 -16
  222. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  223. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  224. package/widgets/FeatureTable/Grid/types.d.ts +20 -0
  225. package/widgets/FeatureTable.d.ts +14 -2
  226. package/widgets/FeatureTable.js +1 -1
  227. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  228. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
  229. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  230. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  231. package/widgets/OrientedImageryViewer/components/VideoEnhancementTools.js +1 -1
  232. package/widgets/OrientedImageryViewer/constants.js +1 -1
  233. package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
  234. package/widgets/OrientedImageryViewer/navigation/utils.js +1 -1
  235. package/widgets/OrientedImageryViewer/support/panConstraint.js +2 -0
  236. package/widgets/OrientedImageryViewer.js +1 -1
  237. package/widgets/Print/CustomTemplate.d.ts +7 -0
  238. package/widgets/Search/LayerSearchSource.d.ts +3 -0
  239. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  240. package/assets/esri/core/workers/chunks/0a259137932211b80f0e.js +0 -1
  241. package/assets/esri/core/workers/chunks/26aa8190ac439f634c5b.js +0 -1
  242. package/assets/esri/core/workers/chunks/3192586ec7fc73ed1165.js +0 -1
  243. package/assets/esri/core/workers/chunks/35a508a9311689d8df52.js +0 -1
  244. package/assets/esri/core/workers/chunks/3e89f487c5851c954d8b.js +0 -1
  245. package/assets/esri/core/workers/chunks/4fdd38d7362bf09a994b.js +0 -1
  246. package/assets/esri/core/workers/chunks/501fa9b029df2e7b73c3.js +0 -2
  247. package/assets/esri/core/workers/chunks/5216dd0544e901039c84.js +0 -1
  248. package/assets/esri/core/workers/chunks/5f0bc019add4aff3130c.js +0 -1
  249. package/assets/esri/core/workers/chunks/630ad47857de3cf726d1.js +0 -1
  250. package/assets/esri/core/workers/chunks/6ac09f4e85c664a17365.js +0 -1
  251. package/assets/esri/core/workers/chunks/6e8b9c03240ec372b587.js +0 -1
  252. package/assets/esri/core/workers/chunks/74922daaedb479ec6f03.js +0 -1
  253. package/assets/esri/core/workers/chunks/764c8ba14ab74b66b391.js +0 -1
  254. package/assets/esri/core/workers/chunks/7ee76504e7fea389a1c9.js +0 -1
  255. package/assets/esri/core/workers/chunks/912a8743a02f467b63b0.js +0 -2
  256. package/assets/esri/core/workers/chunks/9def4619d102f1d41578.js +0 -1
  257. package/assets/esri/core/workers/chunks/a0876a52a3c2ad849370.js +0 -1
  258. package/assets/esri/core/workers/chunks/a3c5b754a6fa0f4250bf.js +0 -1
  259. package/assets/esri/core/workers/chunks/a98905bf6050ad3b8721.js +0 -633
  260. package/assets/esri/core/workers/chunks/bf67e0f6064fb9d94ac8.js +0 -1
  261. package/assets/esri/core/workers/chunks/c9e5d3f496cefb8e3934.js +0 -1
  262. package/assets/esri/core/workers/chunks/cd892f429d5ffe8de99e.js +0 -1
  263. package/assets/esri/core/workers/chunks/d34d41a350facfa9b7c0.js +0 -1
  264. package/assets/esri/core/workers/chunks/d5a0e3a73df827dc7b06.js +0 -1
  265. package/assets/esri/core/workers/chunks/e5471373f89fd7cb9844.js +0 -1
  266. package/assets/esri/core/workers/chunks/ff00ac01f0baaecaa890.js +0 -1
  267. /package/assets/esri/core/workers/chunks/{912a8743a02f467b63b0.js.LICENSE.txt → 0eb0ce43b4813cae968f.js.LICENSE.txt} +0 -0
  268. /package/assets/esri/core/workers/chunks/{2dbd88566abac030e965.js.LICENSE.txt → 162dada6a199d1efdf86.js.LICENSE.txt} +0 -0
  269. /package/assets/esri/core/workers/chunks/{44b30bce8e9a75b9e1b3.js.LICENSE.txt → a54773c9bbc751619b3f.js.LICENSE.txt} +0 -0
  270. /package/assets/esri/core/workers/chunks/{eccbddaec4be44c86f79.js.LICENSE.txt → b0b3c67b7d37bd854d95.js.LICENSE.txt} +0 -0
  271. /package/assets/esri/core/workers/chunks/{501fa9b029df2e7b73c3.js.LICENSE.txt → ef94d25d1cceb25ea9fe.js.LICENSE.txt} +0 -0
@@ -23,27 +23,43 @@ export interface AttachmentInputProperties extends Partial<Pick<AttachmentInput,
23
23
  }
24
24
 
25
25
  /**
26
- * The `AttachmentInput` class defines a flexible user interface for an attachment input. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate`. This is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/) widget.
26
+ * The `AttachmentInput` class defines a user interface for an attachment input. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set on the [Editor's `layerInfo.formTemplate`](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/#layerInfos/) or a [feature layer's `formTemplate`](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) and displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/). The `AttachmentInput` offers the most flexibility, and allows a number of different attachment types to be included in a single attachment element.
27
27
  *
28
28
  * > [!CAUTION]
29
- * >
30
- * > This class is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
29
+ * > * Input methods that are configured as only allowing `capture` are not supported on desktop devices for inputs such as [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/), [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/), or [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/).
30
+ * > * For inputs such as [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/), [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/), or [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/), minimum requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
31
31
  *
32
32
  * @since 5.1
33
33
  * @see [AttachmentElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/)
34
+ * @see [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/)
35
+ * @see [DocumentInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/DocumentInput/)
36
+ * @see [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/)
37
+ * @see [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/)
34
38
  * @example
35
- * // Creates a new AttachmentInput for an attachment element within a form
39
+ * // Create the new input types for the general attachment input
40
+ * const audioInput = new AudioInput({
41
+ * inputMethod: "any",
42
+ * maxDuration: 30,
43
+ * });
44
+ *
45
+ * const imageInput = new ImageInput({
46
+ * inputMethod: "upload",
47
+ * maxImageSize: 800,
48
+ * });
49
+ *
50
+ * const documentInput = new DocumentInput({
51
+ * maxFileSize: 500,
52
+ * });
53
+ *
54
+ * const videoInput = new VideoInput({
55
+ * inputMethod: "any",
56
+ * maxDuration: 90,
57
+ * });
58
+ *
59
+ * // Create the general attachment input that allows for multiple types of attachments
36
60
  * const attachmentInput = new AttachmentInput({
37
- * inputTypes: [
38
- * { // autocastable to ImageInput
39
- * type: "image",
40
- * maxImageSize: 800,
41
- * },
42
- * { // autocastable to VideoInput
43
- * type: "video",
44
- * inputMethod: "capture",
45
- * },
46
- * ]
61
+ * attachmentAssociationType: "any", // Associates all existing attachments to this element.
62
+ * inputTypes: [documentInput, audioInput, imageInput, videoInput]
47
63
  * });
48
64
  */
49
65
  export default class AttachmentInput extends Input {
@@ -56,9 +72,9 @@ export default class AttachmentInput extends Input {
56
72
  *
57
73
  * value | description |
58
74
  * --------------|---------------------------
59
- * `any` | Associates all existing attachments to this element. This must be the only attachment element within the form.
60
- * `exact` | Associates any attachments with the associated `attachmentKeyword`.
61
- * `exactOrNone` | Associates only attachments that have the keyword specified by `attachmentKeyword` and any attachments with no keyword defined.
75
+ * `any` | Include all existing attachments associated with this feature regardless of their keyword value. This option is only available if there are no existing [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) in the form. If an attachment element has this set, additional attachment elements cannot be added to the form.
76
+ * `exact` | Only attachments whose keyword matches the form element's [keyword](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#attachmentKeyword) will be shown.
77
+ * `exactOrNone` | Associates attachments whose keyword matches the [attachmentKeyword](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#attachmentKeyword) and those that do not have a keyword. Only one attachment element with `exactOrNone` can be used within a form and it cannot be used in conjunction with any other attachment element that has an `attachmentAssociationType` value of `exact` or `any`.
62
78
  *
63
79
  * @default "exact"
64
80
  * @since 5.1
@@ -78,7 +94,7 @@ export default class AttachmentInput extends Input {
78
94
  get inputTypes(): NestableAttachmentInputUnion[] | null;
79
95
  set inputTypes(value: ((AudioInputProperties & { type: "audio"; }) | (DocumentInputProperties & { type: "document"; }) | (ImageInputProperties & { type: "image"; }) | (SignatureInputProperties & { type: "signature"; }) | (VideoInputProperties & { type: "video"; }))[] | null | undefined);
80
96
  /**
81
- * The input type identifier. Valid value of this property is "attachment"
97
+ * The input type identifier.
82
98
  *
83
99
  * @since 5.1
84
100
  */
@@ -5,11 +5,12 @@ import type { InputMethod } from "../../../../portal/jsonTypes.js";
5
5
  export interface AudioInputProperties extends Partial<Pick<AudioInput, "inputMethod" | "maxDuration">> {}
6
6
 
7
7
  /**
8
- * The `AudioInput` class defines a user interface for an input to which audio files can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate`. This is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/) widget.
8
+ * The `AudioInput` class defines a user interface for an input to which audio files can be attached.
9
9
  *
10
10
  * > [!CAUTION]
11
11
  * >
12
- * > This class is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
12
+ * > * Input methods that are configured as only allowing `capture` are not supported.
13
+ * > * Minimum input requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
13
14
  *
14
15
  * @since 5.1
15
16
  * @see [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/)
@@ -37,7 +38,7 @@ export default class AudioInput extends Input {
37
38
  */
38
39
  accessor maxDuration: number | null | undefined;
39
40
  /**
40
- * The input type identifier. Valid value of this property is "audio"
41
+ * The input type identifier.
41
42
  *
42
43
  * @since 5.1
43
44
  */
@@ -4,11 +4,7 @@ import type Input from "./Input.js";
4
4
  export interface DocumentInputProperties extends Partial<Pick<DocumentInput, "maxFileSize">> {}
5
5
 
6
6
  /**
7
- * The `DocumentInput` class defines a user interface for an input to which document files can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate`. This is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/) widget.
8
- *
9
- * > [!CAUTION]
10
- * >
11
- * > This class is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
7
+ * The `DocumentInput` class defines a user interface for an input to which document files can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set on the [Editor's `layerInfo.formTemplate`](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/#layerInfos/) or a [feature layer's `formTemplate`](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) and displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
12
8
  *
13
9
  * @since 5.1
14
10
  * @see [DocumentInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/DocumentInput/)
@@ -28,7 +24,7 @@ export default class DocumentInput extends Input {
28
24
  */
29
25
  accessor maxFileSize: number | null | undefined;
30
26
  /**
31
- * The input type identifier. Valid value of this property is "document"
27
+ * The input type identifier.
32
28
  *
33
29
  * @since 5.1
34
30
  */
@@ -5,11 +5,12 @@ import type { InputMethod } from "../../../../portal/jsonTypes.js";
5
5
  export interface ImageInputProperties extends Partial<Pick<ImageInput, "inputMethod" | "maxImageSize">> {}
6
6
 
7
7
  /**
8
- * The `ImageInput` class defines a user interface for an input to which image files can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate`. This is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/) widget.
8
+ * The `ImageInput` class defines a user interface for an input to which image files can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate` and is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
9
9
  *
10
10
  * > [!CAUTION]
11
11
  * >
12
- * > This class is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
12
+ * > * Input methods that are configured as only allowing `capture` are not supported.
13
+ * > * Minimum input requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
13
14
  *
14
15
  * @since 5.1
15
16
  * @see [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/)
@@ -37,7 +38,7 @@ export default class ImageInput extends Input {
37
38
  */
38
39
  accessor maxImageSize: number | null | undefined;
39
40
  /**
40
- * The input type identifier. Valid value of this property is "image"
41
+ * The input type identifier.
41
42
  *
42
43
  * @since 5.1
43
44
  */
@@ -5,15 +5,18 @@ import type { AttachmentInputType } from "./types.js";
5
5
  /** @since 5.1 */
6
6
  export default abstract class Input extends InputSuperclass {
7
7
  /**
8
- * The type of [input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/). These elements are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [form's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate`. The configured `formTemplate` automatically displays within the [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/) widget when editing attribute features.
8
+ * The type of [input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/). This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set on the [Editor's `layerInfo.formTemplate`](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/#layerInfos/) or a [feature layer's `formTemplate`](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) and displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
9
+ *
10
+ * > [!CAUTION]
11
+ * > * Input methods that are configured as only allowing `capture` are not supported on desktop devices for inputs such as [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/), [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/), or [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/).
12
+ * > * For inputs such as [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/), [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/), or [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/), minimum requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
9
13
  *
10
14
  * Possible Value | Description
11
15
  * ---------------|-------------
12
- * attachment | The user interface for an input to attach multiple different types of files.
16
+ * attachment | The user interface for a general [attachment input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AttachmentInput/) to attach multiple different types of files.
13
17
  * audio | The user interface for an [audio](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/) input.
14
18
  * document | The user interface for a [document](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/DocumentInput/) input.
15
19
  * image | The user interface for an [image](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/) input.
16
- * signature | The user interface for a [signature](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/SignatureInput/) input.
17
20
  * video | The user interface for a [video](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/) input.
18
21
  *
19
22
  * @since 5.1
@@ -5,11 +5,11 @@ import type { InputMethod } from "../../../../portal/jsonTypes.js";
5
5
  export interface SignatureInputProperties extends Partial<Pick<SignatureInput, "inputMethod">> {}
6
6
 
7
7
  /**
8
- * The `SignatureInput` class defines a user interface for an input to which a signature can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate`. This is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/) widget.
8
+ * The `SignatureInput` class defines a user interface for an input to which a signature can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate` and is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
9
9
  *
10
10
  * > [!CAUTION]
11
11
  * >
12
- * > This class is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
12
+ * > This class is not fully supported within the SDK and is not intended for use in development.
13
13
  *
14
14
  * @since 5.1
15
15
  * @see [SignatureInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/SignatureInput/)
@@ -30,7 +30,7 @@ export default class SignatureInput extends Input {
30
30
  */
31
31
  accessor inputMethod: InputMethod;
32
32
  /**
33
- * The input type identifier. Valid value of this property is "signature"
33
+ * The input type identifier.
34
34
  *
35
35
  * @since 5.1
36
36
  */
@@ -5,11 +5,12 @@ import type { InputMethod } from "../../../../portal/jsonTypes.js";
5
5
  export interface VideoInputProperties extends Partial<Pick<VideoInput, "inputMethod" | "maxDuration">> {}
6
6
 
7
7
  /**
8
- * The `VideoInput` class defines a user interface for an input to which a video file can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate`. This is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/) widget.
8
+ * The `VideoInput` class defines a user interface for an input to which a video file can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate` and is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
9
9
  *
10
10
  * > [!CAUTION]
11
11
  * >
12
- * > This class is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
12
+ * > * Input methods that are configured as only allowing `capture` are not supported.
13
+ * > * Minimum input requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
13
14
  *
14
15
  * @since 5.1
15
16
  * @see [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/)
@@ -37,7 +38,7 @@ export default class VideoInput extends Input {
37
38
  */
38
39
  accessor maxDuration: number | null | undefined;
39
40
  /**
40
- * The input type identifier. Valid value of this property is "video"
41
+ * The input type identifier.
41
42
  *
42
43
  * @since 5.1
43
44
  */
@@ -8,12 +8,13 @@
8
8
  * import GroupElement from "@arcgis/core/form/elements/GroupElement.js";
9
9
  * import RelationshipElement from "@arcgis/core/form/elements/RelationshipElement.js";
10
10
  * import TextElement from "@arcgis/core/form/elements/TextElement.js";
11
+ * import AttachmentElement from "@arcgis/core/form/elements/AttachmentElement.js";
11
12
  * ```
12
13
  *
13
14
  * You can use this module to import them on a single line:
14
15
  *
15
16
  * ```js
16
- * import { FieldElement, GroupElement, RelationshipElement, TextElement } from "@arcgis/core/form/elements.js";
17
+ * import { FieldElement, GroupElement, RelationshipElement, TextElement, AttachmentElement } from "@arcgis/core/form/elements.js";
17
18
  * ```
18
19
  *
19
20
  * This module also allows you to implement [type guards](https://basarat.gitbook.io/typescript/type-system/typeguard)
@@ -27,7 +28,7 @@
27
28
  * console.log("Form element type is field");
28
29
  * }
29
30
  * else {
30
- * // The compiler knows the content element must be `field | group | relationship`
31
+ * // The compiler knows the content element must be `field | group | relationship | attachment | text | utilityNetworkAssociations`
31
32
  * console.log("The value is not a valid form element.")
32
33
  * }
33
34
  * }
@@ -35,6 +36,7 @@
35
36
  *
36
37
  * @since 4.16
37
38
  * @see [FormTemplate](https://developers.arcgis.com/javascript/latest/references/core/form/FormTemplate/)
39
+ * @see [AttachmentElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/)
38
40
  * @see [FieldElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/FieldElement/)
39
41
  * @see [GroupElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/GroupElement/)
40
42
  * @see [RelationshipElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/RelationshipElement/)
@@ -81,22 +83,14 @@ export type TextElement = TextElementClass;
81
83
  /**
82
84
  * `AttachmentElement` defines how one or more attachments can participate in the form. When present in the form, the user has the ability to upload an attachment specific to the form element.
83
85
  *
84
- * > [!CAUTION]
85
- * >
86
- * > The `attachment` element is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
87
- *
88
- * @internal
86
+ * @since 5.1
89
87
  */
90
88
  export const AttachmentElement: typeof AttachmentElementClass;
91
89
 
92
90
  /**
93
91
  * `AttachmentElement` defines how one or more attachments can participate in the form. When present in the form, the user has the ability to upload an attachment specific to the form element.
94
92
  *
95
- * > [!CAUTION]
96
- * >
97
- * > The `attachment` element is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
98
- *
99
- * @internal
93
+ * @since 5.1
100
94
  */
101
95
  export type AttachmentElement = AttachmentElementClass;
102
96
 
package/form/types.d.ts CHANGED
@@ -8,10 +8,6 @@ import type UtilityNetworkAssociationsElement from "./elements/UtilityNetworkAss
8
8
  /**
9
9
  * Form element types.
10
10
  *
11
- * > [!CAUTION]
12
- * >
13
- * > * The `AttachmentElement` is not yet fully supported by the [FeatureForm](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/) widget.
14
- *
15
11
  * @since 5.0
16
12
  * @see [Web Map Specification - formInfo](https://developers.arcgis.com/web-map-specification/objects/formInfo/)
17
13
  */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../Extent.js";import{getExtentForScale as n}from"./scaleUtils.js";async function t(e,n){if(e.hasZ||"2d"===n.type)return e;const t=n.map?.ground;return t?.layers.length?(await t.queryElevation(e,{cache:n.basemapTerrain?.elevationQueryCache})).geometry:e}function r(e,n,t){return a(e.center,n,t)}function a(t,r,a){const i=t.hasZ?t.z:void 0;if(r?.map){return(null!=a?n(r,a):r.extent).clone().centerAt(t).set({zmax:i,zmin:i})}const{x:o,y:u,spatialReference:c}=t;return new e({xmin:o-.25,ymin:u-.25,xmax:o+.25,ymax:u+.25,spatialReference:c,zmin:i,zmax:i})}function i(e,n,t,r){switch(e?.type){case"extent":return e;case"polygon":case"polyline":case"multipoint":return e.extent??void 0;case"point":return a(r.execute(e),n??void 0,t??void 0);default:return}}function o([e,n,t,r],[a,i,o,u]){return e===a&&n===i&&(null==t&&null==o||t===o)&&(null==r&&null==u||r===u)}export{o as comparePoints,a as createExtentFromPoint,i as getExtentFromGeometry,t as getPointWithElevation,r as scaleExtent};
2
+ import e from"../Extent.js";import{getExtentForScale as n}from"./scaleUtils.js";async function t(e,n){if(e.hasZ||"2d"===n.type)return e;const t=n.map?.ground;return t?.layers.length?(await t.queryElevation(e,{cache:n.basemapTerrain?.elevationQueryCache})).geometry:e}function r(e,n,t){return i(e.center,n,t)}function i(t,r,i){const u=t.hasZ?t.z:void 0;if(r?.map){return(null!=i?n(r,i):r.extent).clone().centerAt(t).set({zmax:u,zmin:u})}const{x:a,y:o,spatialReference:c}=t;return new e({xmin:a-.25,ymin:o-.25,xmax:a+.25,ymax:o+.25,spatialReference:c,zmin:u,zmax:u})}function u(e,n,t,r){switch(e?.type){case"extent":return e;case"polygon":case"polyline":case"multipoint":return e.extent??void 0;case"point":return i(r.execute(e),n??void 0,t??void 0);default:return}}function a([e,n,t,r],[i,u,a,o]){return e===i&&n===u&&(null==t&&null==a||t===a)&&(null==r&&null==o||r===o)}function o(e){return e?l:c}function c(e,n){return e[0]===n[0]&&e[1]===n[1]}function l(e,n){return e[0]===n[0]&&e[1]===n[1]&&e[2]===n[2]}export{a as comparePoints,c as coordinate2DEquals,l as coordinate3DEquals,i as createExtentFromPoint,o as getCoordinateEquals,u as getExtentFromGeometry,t as getPointWithElevation,r as scaleExtent};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{extentIntersectsExtent as e,getFeatureExtentIntersector as t}from"./intersectsBase.js";export{extentIntersectsMultipoint,extentIntersectsPoint,extentIntersectsPolygon,extentIntersectsPolyline,segmentIntersects}from"./intersectsBase.js";function s(s){return"mesh"===s?e:t(s)}export{e as extentIntersectsExtent,s as getExtentIntersector,t as getFeatureExtentIntersector};
2
+ import{extentIntersectsExtent as e,getFeatureExtentIntersector as t}from"./intersectsBase.js";export{extentIntersectsMultipoint,extentIntersectsPoint,extentIntersectsPolygon,extentIntersectsPolyline,nearLine,pointInPolygon,segmentIntersects,targetIntersectsPolygon}from"./intersectsBase.js";function n(n){return"mesh"===n?e:t(n)}export{e as extentIntersectsExtent,n as getExtentIntersector,t as getFeatureExtentIntersector};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{extentContainsCoords2D as n,extentContainsPoint as t,ringsContainsCoords as e,extentContainsCoords3D as r}from"./contains.js";function i(n,e){return t(n,e)}function o(n,t){const e=n.hasZ&&t.hasZ;let r,i,o;if(n.xmin<=t.xmin){if(r=t.xmin,n.xmax<r)return!1}else if(r=n.xmin,t.xmax<r)return!1;if(n.ymin<=t.ymin){if(i=t.ymin,n.ymax<i)return!1}else if(i=n.ymin,t.ymax<i)return!1;if(e&&t.hasZ)if(n.zmin<=t.zmin){if(o=t.zmin,n.zmax<o)return!1}else if(o=n.zmin,t.zmax<o)return!1;return!0}function m(t,e){const{points:i,hasZ:o}=e,m=o?r:n;for(const n of i)if(m(t,n))return!0;return!1}const s=[0,0],u=[0,0],f=[0,0],c=[0,0],a=[s,u,f,c],x=[[f,s],[s,u],[u,c],[c,f]];function l(n,t){return y(n,t.rings)}function y(t,r){s[0]=t.xmin,s[1]=t.ymax,u[0]=t.xmax,u[1]=t.ymax,f[0]=t.xmin,f[1]=t.ymin,c[0]=t.xmax,c[1]=t.ymin;for(const n of a)if(e(r,n))return!0;for(const e of r){if(!e.length)continue;let r=e[0];if(n(t,r))return!0;for(let i=1;i<e.length;i++){const o=e[i];if(n(t,o)||p(r,o,x))return!0;r=o}}return!1}function h(t,e){s[0]=t.xmin,s[1]=t.ymax,u[0]=t.xmax,u[1]=t.ymax,f[0]=t.xmin,f[1]=t.ymin,c[0]=t.xmax,c[1]=t.ymin;const r=e.paths;for(const i of r){if(!r.length)continue;let e=i[0];if(n(t,e))return!0;for(let r=1;r<i.length;r++){const o=i[r];if(n(t,o)||p(e,o,x))return!0;e=o}}return!1}function p(n,t,e){for(let r=0;r<e.length;r++)if(g(n,t,e[r][0],e[r][1]))return!0;return!1}function g(n,t,e,r,i){const[o,m]=n,[s,u]=t,[f,c]=e,[a,x]=r,l=a-f,y=o-f,h=s-o,p=x-c,g=m-c,z=u-m,G=p*h-l*z;if(0===G)return!1;const P=(l*g-p*y)/G,Z=(h*g-z*y)/G;return P>=0&&P<=1&&Z>=0&&Z<=1&&(i&&(i[0]=o+P*(s-o),i[1]=m+P*(u-m)),!0)}function z(n){switch(n){case"esriGeometryEnvelope":case"extent":return o;case"esriGeometryMultipoint":case"multipoint":return m;case"esriGeometryPoint":case"point":return i;case"esriGeometryMultiPatch":case"multipatch":case"esriGeometryPolygon":case"polygon":return l;case"esriGeometryPolyline":case"polyline":return h}}export{o as extentIntersectsExtent,m as extentIntersectsMultipoint,i as extentIntersectsPoint,l as extentIntersectsPolygon,h as extentIntersectsPolyline,z as getFeatureExtentIntersector,g as segmentIntersects};
2
+ import{extentContainsCoords2D as n,extentContainsPoint as t,ringsContainsCoords as e,extentContainsCoords3D as r}from"./contains.js";function o(n,e){return t(n,e)}function i(n,t){const e=n.hasZ&&t.hasZ;let r,o,i;if(n.xmin<=t.xmin){if(r=t.xmin,n.xmax<r)return!1}else if(r=n.xmin,t.xmax<r)return!1;if(n.ymin<=t.ymin){if(o=t.ymin,n.ymax<o)return!1}else if(o=n.ymin,t.ymax<o)return!1;if(e&&t.hasZ)if(n.zmin<=t.zmin){if(i=t.zmin,n.zmax<i)return!1}else if(i=n.zmin,t.zmax<i)return!1;return!0}function f(t,e){const{points:o,hasZ:i}=e,f=i?r:n;for(const n of o)if(f(t,n))return!0;return!1}const s=[0,0],c=[0,0],u=[0,0],m=[0,0],a=[s,c,u,m],l=[[u,s],[s,c],[c,m],[m,u]];function x(n,t){return h(n,t.rings)}function h(t,r){s[0]=t.xmin,s[1]=t.ymax,c[0]=t.xmax,c[1]=t.ymax,u[0]=t.xmin,u[1]=t.ymin,m[0]=t.xmax,m[1]=t.ymin;for(const n of a)if(e(r,n))return!0;for(const e of r){if(!e.length)continue;let r=e[0];if(n(t,r))return!0;for(let o=1;o<e.length;o++){const i=e[o];if(n(t,i)||g(r,i,l))return!0;r=i}}return!1}function y(t,e){s[0]=t.xmin,s[1]=t.ymax,c[0]=t.xmax,c[1]=t.ymax,u[0]=t.xmin,u[1]=t.ymin,m[0]=t.xmax,m[1]=t.ymin;const r=e.paths;for(const o of r){if(!r.length)continue;let e=o[0];if(n(t,e))return!0;for(let r=1;r<o.length;r++){const i=o[r];if(n(t,i)||g(e,i,l))return!0;e=i}}return!1}function g(n,t,e){for(let r=0;r<e.length;r++)if(p(n,t,e[r][0],e[r][1]))return!0;return!1}function p(n,t,e,r,o){const[i,f]=n,[s,c]=t,[u,m]=e,[a,l]=r,x=a-u,h=i-u,y=s-i,g=l-m,p=f-m,z=c-f,G=g*y-x*z;if(0===G)return!1;const M=(x*p-g*h)/G,P=(y*p-z*h)/G;return M>=0&&M<=1&&P>=0&&P<=1&&(o&&(o[0]=i+M*(s-i),o[1]=f+M*(c-f)),!0)}function z(n,t,e){for(const r of t){const t=r.length;for(let o=1;o<t;o++){const t=r[o-1],i=r[o];let f=(i[0]-t[0])*(i[0]-t[0])+(i[1]-t[1])*(i[1]-t[1]);if(0===f)continue;f=Math.sqrt(f);const s=((i[0]-t[0])*(n[1]-t[1])-(i[1]-t[1])*(n[0]-t[0]))/f;if(Math.abs(s)<e){const r=((i[0]-t[0])*(n[0]-t[0])+(i[1]-t[1])*(n[1]-t[1]))/f;if(r>-e&&r<f+e)return!0}}}return!1}function G(n){const t=1e-6,e=n[0],r=n[n.length-1];return Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t}function M(n,t){let e=0;for(const r of t){const t=r.length;for(let o=1;o<t;o++){const t=r[o-1],i=r[o];if(t[1]>n[1]==i[1]>n[1])continue;(i[0]-t[0])*(n[1]-t[1])-(i[1]-t[1])*(n[0]-t[0])>0?e++:e--}}return 0!==e}function P(n,t){n.length>1&&!G(n)&&(n=[...n,n[0]]);for(let e=0;e<t.length;e++){const r=t[e],o=r.length;for(const t of r)if(M(t,[n]))return!0;if(G(r))for(const e of n)if(M(e,t))return!0;for(let t=1;t<o;t++){const e=r[t-1],o=r[t];for(let t=0;t<n.length;t++){if(p(e,o,n[t],n[(t+1)%n.length]))return!0}}}return!1}function Z(n){switch(n){case"esriGeometryEnvelope":case"extent":return i;case"esriGeometryMultipoint":case"multipoint":return f;case"esriGeometryPoint":case"point":return o;case"esriGeometryMultiPatch":case"multipatch":case"esriGeometryPolygon":case"polygon":return x;case"esriGeometryPolyline":case"polyline":return y}}export{i as extentIntersectsExtent,f as extentIntersectsMultipoint,o as extentIntersectsPoint,x as extentIntersectsPolygon,y as extentIntersectsPolyline,Z as getFeatureExtentIntersector,z as nearLine,M as pointInPolygon,p as segmentIntersects,P as targetIntersectsPolygon};
package/kernel.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.2";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.2.0-next.20",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
2
+ import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.2";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.2.0-next.22",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
@@ -73,6 +73,50 @@ export interface AnnotationFeatureLayerProperties extends LayerProperties, APIKe
73
73
 
74
74
  export interface AnnotationFeatureLayerEvents extends EditBusLayerEvents, RefreshableLayerEvents, LayerEvents {}
75
75
 
76
+ /**
77
+ * An AnnotationFeatureLayer displays text as features in a 2D map. An annotation is a type of feature that consists of text with
78
+ * position, layout, and style attributes. Initially, the AnnotationFeatureLayer will display all sublayers from the service, but you can configure the
79
+ * visibility of each [AnnotationFeatureSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/AnnotationFeatureSublayer/) using the [visible](https://developers.arcgis.com/javascript/latest/references/core/layers/support/AnnotationFeatureSublayer/#visible) property
80
+ * on each sublayer. Annotation features are not supported by the Legend component and the printed legend (it does print, but will not display in the printed legend).
81
+ * Example of an annotation feature (see [Annotation in ArcGIS Pro](https://doc.esri.com/en/arcgis-pro/latest/help/data/annotation/annotation.html)
82
+ * for more information on creating and publishing annotation features):
83
+ *
84
+ * <figure>
85
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/annotationfeaturelayer.avif" alt="annotation"/>
86
+ * <figcaption> This image shows an AnnotationFeatureLayer representing wildfire burns and water features.</figcaption>
87
+ * </figure>
88
+ *
89
+ * AnnotationFeatureLayers may be created from a [url](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#url).
90
+ * AnnotationFeatureLayers are published with specific fonts and symbols to be used for display. Annotation features text use the same client-side rendering engine as labels.
91
+ * If the font specified by the service is not available, a default font will be used instead.
92
+ * See the [Labeling guide](/Labeling/) for more information on how to configure labeling and text symbols.
93
+ *
94
+ * ```js
95
+ * // get a reference to arcgis-map
96
+ * const viewElement = document.querySelector("arcgis-map");
97
+ * // Create an annotation feature layer from a feature service layer URL
98
+ * const layer = new AnnotationFeatureLayer({
99
+ * url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/RiversAnnotation/FeatureServer/0"
100
+ * });
101
+ * // add the layer to the map
102
+ * viewElement.map.add(layer);
103
+ * ```
104
+ *
105
+ * > [!WARNING]
106
+ * >
107
+ * > **Known Limitations**
108
+ * > The following features are not currently supported at this release. Future releases will see increased functionality and support for additional features.
109
+ * > * Editing
110
+ * > * [AnnotationFeatureLayerView.featureEffect](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationFeatureLayerView/#featureEffect)
111
+ * > * [AnnotationFeatureLayerView.filter](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationFeatureLayerView/#filter)
112
+ *
113
+ * @beta
114
+ * @since 5.1
115
+ * @see [AnnotationFeatureSublayer (beta)](https://developers.arcgis.com/javascript/latest/references/core/layers/support/AnnotationFeatureSublayer/)
116
+ * @see [Labeling guide](/labeling/)
117
+ * @see [Annotation in ArcGIS Pro](https://doc.esri.com/en/arcgis-pro/latest/help/data/annotation/annotation.html)
118
+ * @see [DimensionFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionFeatureLayer/)
119
+ */
76
120
  export default class AnnotationFeatureLayer extends AnnotationFeatureLayerSuperclass {
77
121
  /**
78
122
  * @deprecated
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t,__decorate as r}from"tslib";import s from"../PopupTemplate.js";import i from"../request.js";import{ClonableMixin as o}from"../core/Clonable.js";import a from"../core/Collection.js";import n from"../core/Error.js";import{disposable as l,makeHandle as p}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as u}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as d,whenOrAbort as y,onAbort as m}from"../core/promiseUtils.js";import{watch as h,sync as c}from"../core/reactiveUtils.js";import{join as f}from"../core/urlUtils.js";import{property as b,subclass as v}from"../core/accessorSupport/decorators.js";import g from"./Layer.js";import{APIKeyMixin as j}from"./mixins/APIKeyMixin.js";import{ArcGISService as S}from"./mixins/ArcGISService.js";import{BlendLayer as L}from"./mixins/BlendLayer.js";import{CustomParametersMixin as E}from"./mixins/CustomParametersMixin.js";import{FeatureLayerBase as w}from"./mixins/FeatureLayerBase.js";import{OperationalLayer as F}from"./mixins/OperationalLayer.js";import{PortalLayer as I}from"./mixins/PortalLayer.js";import{RefreshableLayer as T}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as P}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as x}from"./mixins/TemporalLayer.js";import _ from"./support/AnnotationFeatureSublayer.js";import{parse as O,cleanTitle as C,titleFromUrlAndName as A}from"./support/arcgisLayerUrl.js";import{barrierWeight as q,id as U,popupEnabled as k}from"./support/commonProperties.js";import{ensureLayerCredential as M,createQuery as D,getFieldDomain as N,hasDataChanged as Q}from"./support/featureLayerUtils.js";import{defineFieldProperties as G}from"./support/fieldProperties.js";import{fixTimeInfoFields as H}from"./support/fieldUtils.js";import{serviceSupportsSpatialReference as J}from"./support/versionUtils.js";import R from"../rest/support/Query.js";import{createPopupTemplate as $}from"../support/popupUtils.js";import{reader as B}from"../core/accessorSupport/decorators/reader.js";const K="annotation-feature-layer",V=G(),W=a.ofType(_);let z=class extends(w(L(x(P(T(S(F(I(u(E(j(o(g))))))))))))){constructor(e){super(e),this._sublayerLookup=new Map,this.barrierWeight="high",this.fields=null,this.fieldsIndex=null,this.operationalLayerType="ArcGISAnnotationLayer",this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.source=null,this.sublayers=new W,this.sublayerTitleMode="item-title",this.supportedSourceTypes=new Set(["Annotation Layer"]),this.type="annotation-feature",this._dataElementPromise=null,this.addHandles(h(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),c))}destroy(){this.source?.destroy()}load(e){const t=e?.signal,r=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(d).then(async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(t);null!=e&&(this.layerId=e)}if(!this.url)throw new n(`${K}:missing-url`,"AnnotationFeatureLayer must be created with a url");return this.initLayerProperties(await this.createGraphicsSource(t))}).then(()=>M(this,"load",e));return this.addResolvingPromise(r),Promise.resolve(this)}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get effectiveEditingEnabled(){return!1}get defaultPopupTemplate(){return this.createPopupTemplate()}readSublayers(e,t){const r=new W(t.subtypes.map(({code:e})=>new _({subtypeCode:e})).reverse());if(this.visibleLayers){const e=new Set(this.visibleLayers);r.forEach(t=>{t.visible=e.has(t.subtypeCode)})}return r}readTitleFromService(e,t){const{url:r}=this,s=t.name||O(r)?.title;switch(this.sublayerTitleMode){case"item-title":if(r)return A(r,s);break;case"item-title-and-service-name":{let e=this.portalItem?.title;if(e&&e!==s)return e=C(e),s?`${e} - ${C(s)}`:e;break}}return s?C(s):void 0}readTitleFromPortalItem(e){return"item-title"===this.sublayerTitleMode?e:void 0}get visibleLayers(){return 0===this.sublayers.length?this._get("visibleLayers")??null:Array.from(new Set(this.sublayers?.toArray().filter(e=>e.visible).map(e=>e.subtypeCode).sort((e,t)=>e-t)??null))}set visibleLayers(e){this._set("visibleLayers",e)}createPopupTemplate(e){return $(this,e)}async createGraphicsSource(r){const s={stack:[],error:void 0,hasError:!1};try{const{default:t}=await y(import("./graphics/sources/FeatureLayerSource.js"),r),i=new t({layer:this,supportedSourceTypes:this.supportedSourceTypes});e(s,l(m(r,()=>i.cancelLoad())??p()),!1);return await i.load({signal:r}),i}catch(i){s.error=i,s.hasError=!0}finally{t(s)}}createQuery(){const e=D(this);return e.where=this.definitionExpression||"1=1",e}async fetchDataElement(e){if(this._dataElementPromise)return this._dataElementPromise;if(!this.url)throw new Error("InternalError: A URL is required to retrieve the data element for this layer.");const t=f(this.url,"queryDataElements"),r={f:"json",layers:this.layerId};return this._dataElementPromise=i(t,{...e,responseType:"json",query:r}).then(e=>{const t=e.data.layerDataElements,r=this.layerId,s=t.find(e=>e.layerId===r);if(!s)throw new n("fetchDataElement:not-available","A data element for this layer could not be retrieved.");return s.dataElement}),this._dataElementPromise}findSublayerForFeature(e){const t=this.fieldsIndex.get(this.subtypeField),r=e.attributes[t.name];return this.findSublayerForSubtypeCode(r)}findSublayerForSubtypeCode(e){return this._sublayerLookup.get(e)}getFieldDomain(e,t){return N(this,e,t,this.getField(e)?.domain??null)}async queryFeatures(e,t){const r=await this.load(),s=await r.source.queryFeatures(R.from(e)??r.createQuery(),t);if(s?.features)for(const i of s.features){const e=this.findSublayerForFeature(i);i.origin=e?.graphicOrigin,i.layer=i.sourceLayer=this}return s}async queryObjectIds(e,t){const r=await this.load();return r.source.queryObjectIds(R.from(e)??r.createQuery(),t)}async queryFeatureCount(e,t){const r=await this.load();return r.source.queryFeatureCount(R.from(e)??r.createQuery(),t)}async queryExtent(e,t){const r=await this.load();return r.source.queryExtent(R.from(e)??r.createQuery(),t)}serviceSupportsSpatialReference(e){return this.loaded&&J(this,e)}async initLayerProperties(e){this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),H(this.timeInfo,this.fieldsIndex)}async hasDataChanged(){return Q(this)}_fetchFirstValidLayerId(e){return i(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{const t=e.data;if(!t)return;this.applyPreferredHost(t);const r=[...t.layers||[],...t.tables||[]];return r.find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id})}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null}),this.removeHandles("sublayers-owner"),this._sublayerLookup.clear()),e&&(e.forEach(e=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),this.addHandles([e.on("after-add",({item:e})=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),e.on("after-remove",({item:e})=>{e.parent=null,this._sublayerLookup.delete(e.subtypeCode)})],"sublayers-owner"))}};r([b(q)],z.prototype,"barrierWeight",void 0),r([b({json:{write:!0}})],z.prototype,"editingEnabled",null),r([b({readOnly:!0})],z.prototype,"effectiveEditingEnabled",null),r([b({...V.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],z.prototype,"fields",void 0),r([b(V.fieldsIndex)],z.prototype,"fieldsIndex",void 0),r([b(U)],z.prototype,"id",void 0),r([b({type:["ArcGISAnnotationLayer"]})],z.prototype,"operationalLayerType",void 0),r([b(V.outFields)],z.prototype,"outFields",void 0),r([b(k)],z.prototype,"popupEnabled",void 0),r([b({type:s,json:{name:"popupInfo",write:!0}})],z.prototype,"popupTemplate",void 0),r([b({readOnly:!0})],z.prototype,"defaultPopupTemplate",null),r([b({clonable:!1,readOnly:!0})],z.prototype,"source",void 0),r([b({type:W})],z.prototype,"sublayers",void 0),r([B("service","sublayers",["subtypes"])],z.prototype,"readSublayers",null),r([b({type:String})],z.prototype,"sublayerTitleMode",void 0),r([B("service","title",["name"])],z.prototype,"readTitleFromService",null),r([B("portal-item","title")],z.prototype,"readTitleFromPortalItem",null),r([b({json:{read:!1},value:"annotation-feature",readOnly:!0})],z.prototype,"type",void 0),r([b({type:[Number],json:{write:{ignoreOrigin:!0}}})],z.prototype,"visibleLayers",null),z=r([v("esri.layers.AnnotationFeatureLayer")],z);const X=z;export{X as default};
2
+ import{__addDisposableResource as e,__disposeResources as t,__decorate as r}from"tslib";import s from"../PopupTemplate.js";import i from"../request.js";import{ClonableMixin as o}from"../core/Clonable.js";import a from"../core/Collection.js";import n from"../core/Error.js";import{disposable as l,makeHandle as p}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as u}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as d,whenOrAbort as y,onAbort as m}from"../core/promiseUtils.js";import{watch as h,sync as c}from"../core/reactiveUtils.js";import{join as f}from"../core/urlUtils.js";import{property as b,subclass as v}from"../core/accessorSupport/decorators.js";import g from"./Layer.js";import{APIKeyMixin as S}from"./mixins/APIKeyMixin.js";import{ArcGISService as j}from"./mixins/ArcGISService.js";import{BlendLayer as L}from"./mixins/BlendLayer.js";import{CustomParametersMixin as E}from"./mixins/CustomParametersMixin.js";import{FeatureLayerBase as w}from"./mixins/FeatureLayerBase.js";import{OperationalLayer as F}from"./mixins/OperationalLayer.js";import{PortalLayer as I}from"./mixins/PortalLayer.js";import{RefreshableLayer as T}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as P}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as _}from"./mixins/TemporalLayer.js";import x from"./support/AnnotationFeatureSublayer.js";import{parse as O,cleanTitle as C,titleFromUrlAndName as A}from"./support/arcgisLayerUrl.js";import{barrierWeight as q,id as U,popupEnabled as k}from"./support/commonProperties.js";import{ensureLayerCredential as M,createQuery as D,getFieldDomain as N,hasDataChanged as Q}from"./support/featureLayerUtils.js";import{defineFieldProperties as G}from"./support/fieldProperties.js";import{fixTimeInfoFields as H}from"./support/fieldUtils.js";import{serviceSupportsSpatialReference as J}from"./support/versionUtils.js";import R from"../rest/support/Query.js";import{createPopupTemplate as $}from"../support/popupUtils.js";import{reader as B}from"../core/accessorSupport/decorators/reader.js";const K="annotation-feature-layer",V=G(),W=a.ofType(x);let z=class extends(w(L(_(P(T(j(F(I(u(E(S(o(g))))))))))))){constructor(e){super(e),this._sublayerLookup=new Map,this.barrierWeight="high",this.fields=null,this.fieldsIndex=null,this.operationalLayerType="ArcGISAnnotationLayer",this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.source=null,this.sublayers=new W,this.sublayerTitleMode="item-title",this.supportedSourceTypes=new Set(["Annotation Layer"]),this.type="annotation-feature",this._dataElementPromise=null,this.addHandles(h(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),c))}destroy(){this.source?.destroy()}load(e){const t=e?.signal,r=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(d).then(async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(t);null!=e&&(this.layerId=e)}if(!this.url)throw new n(`${K}:missing-url`,"AnnotationFeatureLayer must be created with a url");return this.initLayerProperties(await this.createGraphicsSource(t))}).then(()=>M(this,"load",e));return this.addResolvingPromise(r),Promise.resolve(this)}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get effectiveEditingEnabled(){return!1}get defaultPopupTemplate(){return this.createPopupTemplate()}readSublayers(e,t){const r=new W(t.subtypes.map(({code:e})=>new x({subtypeCode:e})).reverse());if(this.visibleLayers){const e=new Set(this.visibleLayers);r.forEach(t=>{t.visible=e.has(t.subtypeCode)})}return r}readTitleFromService(e,t){const{url:r}=this,s=t.name||O(r)?.title;switch(this.sublayerTitleMode){case"item-title":if(r)return A(r,s);break;case"item-title-and-service-name":{let e=this.portalItem?.title;if(e&&e!==s)return e=C(e),s?`${e} - ${C(s)}`:e;break}}return s?C(s):void 0}readTitleFromPortalItem(e){return"item-title"===this.sublayerTitleMode?e:void 0}get visibleLayers(){return 0===this.sublayers.length?this._get("visibleLayers")??null:Array.from(new Set(this.sublayers?.toArray().filter(e=>e.visible).map(e=>e.subtypeCode).sort((e,t)=>e-t)??null))}set visibleLayers(e){this._set("visibleLayers",e)}createPopupTemplate(e){return $(this,e)}async createGraphicsSource(r){const s={stack:[],error:void 0,hasError:!1};try{const{default:t}=await y(import("./graphics/sources/FeatureLayerSource.js"),r),i=new t({layer:this,supportedSourceTypes:this.supportedSourceTypes});e(s,l(m(r,()=>i.cancelLoad())??p()),!1);return await i.load({signal:r}),i}catch(i){s.error=i,s.hasError=!0}finally{t(s)}}createQuery(){const e=D(this);return e.where=this.definitionExpression||"1=1",e}async fetchDataElement(e){if(this._dataElementPromise)return this._dataElementPromise;if(!this.url)throw new Error("InternalError: A URL is required to retrieve the data element for this layer.");const t=f(this.url,"queryDataElements"),r={f:"json",layers:this.layerId};return this._dataElementPromise=i(t,{...e,responseType:"json",query:r}).then(e=>{const t=e.data.layerDataElements,r=this.layerId,s=t.find(e=>e.layerId===r);if(!s)throw new n("fetchDataElement:not-available","A data element for this layer could not be retrieved.");return s.dataElement}),this._dataElementPromise}findSublayerForFeature(e){const t=this.fieldsIndex.get(this.subtypeField),r=e.attributes[t.name];return this.findSublayerForSubtypeCode(r)}findSublayerForSubtypeCode(e){return this._sublayerLookup.get(e)}getFieldDomain(e,t){return N(this,e,t,this.getField(e)?.domain??null)}async queryFeatures(e,t){const r=await this.load(),s=await r.source.queryFeatures(R.from(e)??r.createQuery(),t);if(s?.features)for(const i of s.features){const e=this.findSublayerForFeature(i);i.origin=e?.graphicOrigin,i.layer=i.sourceLayer=this}return s}async queryObjectIds(e,t){const r=await this.load();return r.source.queryObjectIds(R.from(e)??r.createQuery(),t)}async queryFeatureCount(e,t){const r=await this.load();return r.source.queryFeatureCount(R.from(e)??r.createQuery(),t)}async queryExtent(e,t){const r=await this.load();return r.source.queryExtent(R.from(e)??r.createQuery(),t)}serviceSupportsSpatialReference(e){return this.loaded&&J(this,e)}async initLayerProperties(e){this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),H(this.timeInfo,this.fieldsIndex)}async hasDataChanged(){return Q(this)}_verifySource(){if(this.version&&this.version<10.8)throw new n(K+":unsupported-version","The feature service must be version 10.8 or above.")}_fetchFirstValidLayerId(e){return i(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{const t=e.data;if(!t)return;this.applyPreferredHost(t);const r=[...t.layers||[],...t.tables||[]];return r.find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id})}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null}),this.removeHandles("sublayers-owner"),this._sublayerLookup.clear()),e&&(e.forEach(e=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),this.addHandles([e.on("after-add",({item:e})=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),e.on("after-remove",({item:e})=>{e.parent=null,this._sublayerLookup.delete(e.subtypeCode)})],"sublayers-owner"))}};r([b(q)],z.prototype,"barrierWeight",void 0),r([b({json:{write:!0}})],z.prototype,"editingEnabled",null),r([b({readOnly:!0})],z.prototype,"effectiveEditingEnabled",null),r([b({...V.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],z.prototype,"fields",void 0),r([b(V.fieldsIndex)],z.prototype,"fieldsIndex",void 0),r([b(U)],z.prototype,"id",void 0),r([b({type:["ArcGISAnnotationLayer"]})],z.prototype,"operationalLayerType",void 0),r([b(V.outFields)],z.prototype,"outFields",void 0),r([b(k)],z.prototype,"popupEnabled",void 0),r([b({type:s,json:{name:"popupInfo",write:!0}})],z.prototype,"popupTemplate",void 0),r([b({readOnly:!0})],z.prototype,"defaultPopupTemplate",null),r([b({clonable:!1,readOnly:!0})],z.prototype,"source",void 0),r([b({type:W})],z.prototype,"sublayers",void 0),r([B("service","sublayers",["subtypes"])],z.prototype,"readSublayers",null),r([b({type:String})],z.prototype,"sublayerTitleMode",void 0),r([B("service","title",["name"])],z.prototype,"readTitleFromService",null),r([B("portal-item","title")],z.prototype,"readTitleFromPortalItem",null),r([b({json:{read:!1},value:"annotation-feature",readOnly:!0})],z.prototype,"type",void 0),r([b({type:[Number],json:{write:{ignoreOrigin:!0}}})],z.prototype,"visibleLayers",null),z=r([v("esri.layers.AnnotationFeatureLayer")],z);const X=z;export{X as default};
@@ -45,6 +45,46 @@ export interface DimensionFeatureLayerProperties extends LayerProperties, APIKey
45
45
 
46
46
  export interface DimensionFeatureLayerEvents extends EditBusLayerEvents, RefreshableLayerEvents, LayerEvents {}
47
47
 
48
+ /**
49
+ * DimensionFeatureLayer is 2D-only, and is not supported in [3D SceneViews](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). This layer is used for showing specific lengths or distances on a map. A dimension may indicate the length of a side of a building or land parcel, or the distance between two features,
50
+ * such as a fire hydrant and the corner of a building. A dimension feature is composed of several parts that may or may not be displayed, depending on the application. These parts are each represented differently
51
+ * using different symbology and placement rules. Dimension features are not supported by the Legend component and the printed legend (it does print, but will not display in the printed legend).
52
+ * Example of a dimension feature:
53
+ *
54
+ * <figure>
55
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/dimensionfeaturelayer.avif" alt="dimension"/>
56
+ * <figcaption> This image shows a DimensionFeatureLayer visualizing distances.</figcaption>
57
+ * </figure>
58
+ *
59
+ * DimensionFeatureLayer may be created from a [url](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionFeatureLayer/#url).
60
+ * In the geodatabase, dimensions are stored in dimension feature classes. As with other feature classes in the geodatabase, all features in a dimension feature class have a geographic location and attributes and
61
+ * can either be inside or outside a feature dataset. Like annotation features, dimension features are graphic features, and their symbology is stored in the geodatabase.
62
+ *
63
+ * ```js
64
+ * // get a reference to arcgis-map
65
+ * const viewElement = document.querySelector("arcgis-map");
66
+ * // Create a dimension feature layer from a feature service layer URL
67
+ * const layer = new DimensionFeatureLayer({
68
+ * url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/LakeDimensions/FeatureServer/0"
69
+ * });
70
+ * // add the layer to the map
71
+ * viewElement.map.add(layer);
72
+ * ```
73
+ *
74
+ * > [!WARNING]
75
+ * >
76
+ * > **Known Limitations**
77
+ * > The following features are not currently supported at this release. Future releases will see increased functionality and support for additional features.
78
+ * > * Editing
79
+ * > * [DimensionFeatureLayerView.featureEffect](https://developers.arcgis.com/javascript/latest/references/core/views/layers/DimensionFeatureLayerView/#featureEffect)
80
+ * > * [DimensionFeatureLayerView.filter](https://developers.arcgis.com/javascript/latest/references/core/views/layers/DimensionFeatureLayerView/#filter)
81
+ *
82
+ * @beta
83
+ * @since 5.1
84
+ * @see [Dimensions in ArcGIS Pro](https://doc.esri.com/en/arcgis-pro/latest/help/data/dimensions/dimensions-in-arcgis-pro.html)
85
+ * @see [3D DimensionLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionLayer/)
86
+ * @see [AnnotationFeatureLayer (beta)](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/)
87
+ */
48
88
  export default class DimensionFeatureLayer extends DimensionFeatureLayerSuperclass {
49
89
  /**
50
90
  * @deprecated
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as r,__decorate as t}from"tslib";import i from"../PopupTemplate.js";import o from"../request.js";import{ClonableMixin as s}from"../core/Clonable.js";import a from"../core/Error.js";import{disposable as n,makeHandle as l}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as p}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as u,whenOrAbort as m,onAbort as d}from"../core/promiseUtils.js";import{join as c}from"../core/urlUtils.js";import{property as h,subclass as y}from"../core/accessorSupport/decorators.js";import f from"../graphic/DimensionFeatureGraphicOrigin.js";import g from"./Layer.js";import{APIKeyMixin as j}from"./mixins/APIKeyMixin.js";import{ArcGISService as v}from"./mixins/ArcGISService.js";import{BlendLayer as E}from"./mixins/BlendLayer.js";import{CustomParametersMixin as b}from"./mixins/CustomParametersMixin.js";import{FeatureLayerBase as S}from"./mixins/FeatureLayerBase.js";import{OperationalLayer as I}from"./mixins/OperationalLayer.js";import{PortalLayer as L}from"./mixins/PortalLayer.js";import{RefreshableLayer as P}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as T}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as w}from"./mixins/TemporalLayer.js";import{parse as F,cleanTitle as x,titleFromUrlAndName as O}from"./support/arcgisLayerUrl.js";import{barrierWeight as q,id as D,popupEnabled as _}from"./support/commonProperties.js";import{ensureLayerCredential as U,createQuery as M,getFieldDomain as A,hasDataChanged as G}from"./support/featureLayerUtils.js";import{defineFieldProperties as Q}from"./support/fieldProperties.js";import{fixTimeInfoFields as C}from"./support/fieldUtils.js";import{serviceSupportsSpatialReference as J}from"./support/versionUtils.js";import N from"../rest/support/Query.js";import{createPopupTemplate as R}from"../support/popupUtils.js";import{reader as k}from"../core/accessorSupport/decorators/reader.js";const $="dimension-feature-layer",B=Q();let H=class extends(S(E(w(T(P(v(I(L(p(b(j(s(g))))))))))))){constructor(e){super(e),this.barrierWeight="high",this.fields=null,this.fieldsIndex=null,this.graphicOrigin=new f(this),this.operationalLayerType="ArcGISDimensionLayer",this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.source=null,this.sublayerTitleMode="item-title",this.supportedSourceTypes=new Set(["Dimension Layer"]),this.type="dimension-feature",this._dataElementPromise=null}destroy(){this.source?.destroy()}load(e){const r=e?.signal,t=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(u).then(async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(r);null!=e&&(this.layerId=e)}if(!this.url)throw new a(`${$}:missing-url`,"DimensionFeatureLayer must be created with a url");return this.initLayerProperties(await this.createGraphicsSource(r))}).then(()=>U(this,"load",e));return this.addResolvingPromise(t),Promise.resolve(this)}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get effectiveEditingEnabled(){return!1}get defaultPopupTemplate(){return this.createPopupTemplate()}readTitleFromService(e,r){const{url:t}=this,i=r.name||F(t)?.title;switch(this.sublayerTitleMode){case"item-title":if(t)return O(t,i);break;case"item-title-and-service-name":{let e=this.portalItem?.title;if(e&&e!==i)return e=x(e),i?`${e} - ${x(i)}`:e;break}}return i?x(i):void 0}readTitleFromPortalItem(e){return"item-title"===this.sublayerTitleMode?e:void 0}createPopupTemplate(e){return R(this,e)}async createGraphicsSource(t){const i={stack:[],error:void 0,hasError:!1};try{const{default:r}=await m(import("./graphics/sources/FeatureLayerSource.js"),t),o=new r({layer:this,supportedSourceTypes:this.supportedSourceTypes});e(i,n(d(t,()=>o.cancelLoad())??l()),!1);return await o.load({signal:t}),o}catch(o){i.error=o,i.hasError=!0}finally{r(i)}}createQuery(){const e=M(this);return e.where=this.definitionExpression||"1=1",e}async fetchDataElement(e){if(this._dataElementPromise)return this._dataElementPromise;if(!this.url)throw new Error("InternalError: A URL is required to retrieve the data element for this layer.");const r=c(this.url,"queryDataElements"),t={f:"json",layers:this.layerId};return this._dataElementPromise=o(r,{...e,responseType:"json",query:t}).then(e=>{const r=e.data.layerDataElements,t=this.layerId,i=r.find(e=>e.layerId===t);if(!i)throw new a("fetchDataElement:not-available","A data element for this layer could not be retrieved.");return i.dataElement}),this._dataElementPromise}getFieldDomain(e,r){return A(this,e,r,this.getField(e)?.domain??null)}async queryFeatures(e,r){const t=await this.load(),i=await t.source.queryFeatures(N.from(e)??t.createQuery(),r),o=this.graphicOrigin;if(i?.features)for(const s of i.features)s.layer=s.sourceLayer=t,s.origin=o;return i}async queryObjectIds(e,r){const t=await this.load();return t.source.queryObjectIds(N.from(e)??t.createQuery(),r)}async queryFeatureCount(e,r){const t=await this.load();return t.source.queryFeatureCount(N.from(e)??t.createQuery(),r)}async queryExtent(e,r){const t=await this.load();return t.source.queryExtent(N.from(e)??t.createQuery(),r)}serviceSupportsSpatialReference(e){return this.loaded&&J(this,e)}async initLayerProperties(e){this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),C(this.timeInfo,this.fieldsIndex)}async hasDataChanged(){return G(this)}_fetchFirstValidLayerId(e){return o(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{const r=e.data;if(!r)return;this.applyPreferredHost(r);const t=[...r.layers||[],...r.tables||[]];return t.find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id})}};t([h(q)],H.prototype,"barrierWeight",void 0),t([h({json:{write:!0}})],H.prototype,"editingEnabled",null),t([h({readOnly:!0})],H.prototype,"effectiveEditingEnabled",null),t([h({...B.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],H.prototype,"fields",void 0),t([h(B.fieldsIndex)],H.prototype,"fieldsIndex",void 0),t([h({readOnly:!0,clonable:!1})],H.prototype,"graphicOrigin",void 0),t([h(D)],H.prototype,"id",void 0),t([h({type:["ArcGISDimensionLayer"]})],H.prototype,"operationalLayerType",void 0),t([h(B.outFields)],H.prototype,"outFields",void 0),t([h(_)],H.prototype,"popupEnabled",void 0),t([h({type:i,json:{name:"popupInfo",write:!0}})],H.prototype,"popupTemplate",void 0),t([h({readOnly:!0})],H.prototype,"defaultPopupTemplate",null),t([h({clonable:!1,readOnly:!0})],H.prototype,"source",void 0),t([h({type:String})],H.prototype,"sublayerTitleMode",void 0),t([k("service","title",["name"])],H.prototype,"readTitleFromService",null),t([k("portal-item","title")],H.prototype,"readTitleFromPortalItem",null),t([h({json:{read:!1},value:"dimension-feature",readOnly:!0})],H.prototype,"type",void 0),H=t([y("esri.layers.DimensionFeatureLayer")],H);const K=H;export{K as default};
2
+ import{__addDisposableResource as e,__disposeResources as r,__decorate as t}from"tslib";import i from"../PopupTemplate.js";import o from"../request.js";import{ClonableMixin as s}from"../core/Clonable.js";import a from"../core/Error.js";import{disposable as n,makeHandle as l}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as p}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as u,whenOrAbort as m,onAbort as d}from"../core/promiseUtils.js";import{join as c}from"../core/urlUtils.js";import{property as h,subclass as y}from"../core/accessorSupport/decorators.js";import f from"../graphic/DimensionFeatureGraphicOrigin.js";import v from"./Layer.js";import{APIKeyMixin as g}from"./mixins/APIKeyMixin.js";import{ArcGISService as j}from"./mixins/ArcGISService.js";import{BlendLayer as b}from"./mixins/BlendLayer.js";import{CustomParametersMixin as E}from"./mixins/CustomParametersMixin.js";import{FeatureLayerBase as S}from"./mixins/FeatureLayerBase.js";import{OperationalLayer as I}from"./mixins/OperationalLayer.js";import{PortalLayer as T}from"./mixins/PortalLayer.js";import{RefreshableLayer as w}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as L}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as P}from"./mixins/TemporalLayer.js";import{parse as F,cleanTitle as x,titleFromUrlAndName as O}from"./support/arcgisLayerUrl.js";import{barrierWeight as q,id as _,popupEnabled as D}from"./support/commonProperties.js";import{ensureLayerCredential as U,createQuery as M,getFieldDomain as A,hasDataChanged as G}from"./support/featureLayerUtils.js";import{defineFieldProperties as Q}from"./support/fieldProperties.js";import{fixTimeInfoFields as C}from"./support/fieldUtils.js";import{serviceSupportsSpatialReference as J}from"./support/versionUtils.js";import N from"../rest/support/Query.js";import{createPopupTemplate as R}from"../support/popupUtils.js";import{reader as k}from"../core/accessorSupport/decorators/reader.js";const $="dimension-feature-layer",B=Q();let H=class extends(S(b(P(L(w(j(I(T(p(E(g(s(v))))))))))))){constructor(e){super(e),this.barrierWeight="high",this.fields=null,this.fieldsIndex=null,this.graphicOrigin=new f(this),this.operationalLayerType="ArcGISDimensionLayer",this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.source=null,this.sublayerTitleMode="item-title",this.supportedSourceTypes=new Set(["Dimension Layer"]),this.type="dimension-feature",this._dataElementPromise=null}destroy(){this.source?.destroy()}load(e){const r=e?.signal,t=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(u).then(async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(r);null!=e&&(this.layerId=e)}if(!this.url)throw new a(`${$}:missing-url`,"DimensionFeatureLayer must be created with a url");return this.initLayerProperties(await this.createGraphicsSource(r))}).then(()=>U(this,"load",e));return this.addResolvingPromise(t),Promise.resolve(this)}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get effectiveEditingEnabled(){return!1}get defaultPopupTemplate(){return this.createPopupTemplate()}readTitleFromService(e,r){const{url:t}=this,i=r.name||F(t)?.title;switch(this.sublayerTitleMode){case"item-title":if(t)return O(t,i);break;case"item-title-and-service-name":{let e=this.portalItem?.title;if(e&&e!==i)return e=x(e),i?`${e} - ${x(i)}`:e;break}}return i?x(i):void 0}readTitleFromPortalItem(e){return"item-title"===this.sublayerTitleMode?e:void 0}createPopupTemplate(e){return R(this,e)}async createGraphicsSource(t){const i={stack:[],error:void 0,hasError:!1};try{const{default:r}=await m(import("./graphics/sources/FeatureLayerSource.js"),t),o=new r({layer:this,supportedSourceTypes:this.supportedSourceTypes});e(i,n(d(t,()=>o.cancelLoad())??l()),!1);return await o.load({signal:t}),o}catch(o){i.error=o,i.hasError=!0}finally{r(i)}}createQuery(){const e=M(this);return e.where=this.definitionExpression||"1=1",e}async fetchDataElement(e){if(this._dataElementPromise)return this._dataElementPromise;if(!this.url)throw new Error("InternalError: A URL is required to retrieve the data element for this layer.");const r=c(this.url,"queryDataElements"),t={f:"json",layers:this.layerId};return this._dataElementPromise=o(r,{...e,responseType:"json",query:t}).then(e=>{const r=e.data.layerDataElements,t=this.layerId,i=r.find(e=>e.layerId===t);if(!i)throw new a("fetchDataElement:not-available","A data element for this layer could not be retrieved.");return i.dataElement}),this._dataElementPromise}getFieldDomain(e,r){return A(this,e,r,this.getField(e)?.domain??null)}async queryFeatures(e,r){const t=await this.load(),i=await t.source.queryFeatures(N.from(e)??t.createQuery(),r),o=this.graphicOrigin;if(i?.features)for(const s of i.features)s.layer=s.sourceLayer=t,s.origin=o;return i}async queryObjectIds(e,r){const t=await this.load();return t.source.queryObjectIds(N.from(e)??t.createQuery(),r)}async queryFeatureCount(e,r){const t=await this.load();return t.source.queryFeatureCount(N.from(e)??t.createQuery(),r)}async queryExtent(e,r){const t=await this.load();return t.source.queryExtent(N.from(e)??t.createQuery(),r)}serviceSupportsSpatialReference(e){return this.loaded&&J(this,e)}async initLayerProperties(e){this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),C(this.timeInfo,this.fieldsIndex)}async hasDataChanged(){return G(this)}_verifySource(){if(this.version&&this.version<10.8)throw new a($+":unsupported-version","The feature service must be version 10.8 or above.")}_fetchFirstValidLayerId(e){return o(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{const r=e.data;if(!r)return;this.applyPreferredHost(r);const t=[...r.layers||[],...r.tables||[]];return t.find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id})}};t([h(q)],H.prototype,"barrierWeight",void 0),t([h({json:{write:!0}})],H.prototype,"editingEnabled",null),t([h({readOnly:!0})],H.prototype,"effectiveEditingEnabled",null),t([h({...B.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],H.prototype,"fields",void 0),t([h(B.fieldsIndex)],H.prototype,"fieldsIndex",void 0),t([h({readOnly:!0,clonable:!1})],H.prototype,"graphicOrigin",void 0),t([h(_)],H.prototype,"id",void 0),t([h({type:["ArcGISDimensionLayer"]})],H.prototype,"operationalLayerType",void 0),t([h(B.outFields)],H.prototype,"outFields",void 0),t([h(D)],H.prototype,"popupEnabled",void 0),t([h({type:i,json:{name:"popupInfo",write:!0}})],H.prototype,"popupTemplate",void 0),t([h({readOnly:!0})],H.prototype,"defaultPopupTemplate",null),t([h({clonable:!1,readOnly:!0})],H.prototype,"source",void 0),t([h({type:String})],H.prototype,"sublayerTitleMode",void 0),t([k("service","title",["name"])],H.prototype,"readTitleFromService",null),t([k("portal-item","title")],H.prototype,"readTitleFromPortalItem",null),t([h({json:{read:!1},value:"dimension-feature",readOnly:!0})],H.prototype,"type",void 0),H=t([y("esri.layers.DimensionFeatureLayer")],H);const K=H;export{K as default};
@@ -103,6 +103,7 @@ export interface DimensionLayerProperties extends LayerProperties, OperationalLa
103
103
  * @see [DimensionSimpleStyle](https://developers.arcgis.com/javascript/latest/references/core/analysis/DimensionSimpleStyle/)
104
104
  * @see [DimensionAnalysisView3D](https://developers.arcgis.com/javascript/latest/references/core/views/3d/analysis/DimensionAnalysisView3D/)
105
105
  * @see [Sample - Length dimensioning](https://developers.arcgis.com/javascript/latest/sample-code/layers-dimension/)
106
+ * @see [2D DimensionFeatureLayer (beta)](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionFeatureLayer/)
106
107
  */
107
108
  export default class DimensionLayer extends DimensionLayerSuperclass {
108
109
  /** @example const dimensionLayer = new DimensionLayer(); */