@arcgis/core 5.0.0-next.86 → 5.0.0-next.88

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 (508) hide show
  1. package/Ground.js +1 -1
  2. package/Map.d.ts +4 -0
  3. package/WebLinkChart.d.ts +6 -3
  4. package/WebScene.js +1 -1
  5. package/analysis/ShadowCastAnalysis.d.ts +1 -0
  6. package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.d.ts +14 -2
  7. package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.js +1 -1
  8. package/applications/Components/OrientedImageryViewer/galleryUtils.d.ts +80 -0
  9. package/applications/Components/OrientedImageryViewer/galleryUtils.js +5 -0
  10. package/applications/Components/clipboard.d.ts +106 -0
  11. package/applications/Components/clipboard.js +5 -0
  12. package/assets/esri/core/libs/libtess/libtess-f32.wasm +0 -0
  13. package/assets/esri/core/libs/libtess/libtess-f64.wasm +0 -0
  14. package/assets/esri/core/t9n/Units.json +1 -1
  15. package/assets/esri/core/t9n/Units_ar.json +1 -1
  16. package/assets/esri/core/t9n/Units_bg.json +1 -1
  17. package/assets/esri/core/t9n/Units_bs.json +1 -1
  18. package/assets/esri/core/t9n/Units_ca.json +1 -1
  19. package/assets/esri/core/t9n/Units_cs.json +1 -1
  20. package/assets/esri/core/t9n/Units_da.json +1 -1
  21. package/assets/esri/core/t9n/Units_de.json +1 -1
  22. package/assets/esri/core/t9n/Units_el.json +1 -1
  23. package/assets/esri/core/t9n/Units_en.json +1 -1
  24. package/assets/esri/core/t9n/Units_es.json +1 -1
  25. package/assets/esri/core/t9n/Units_et.json +1 -1
  26. package/assets/esri/core/t9n/Units_fi.json +1 -1
  27. package/assets/esri/core/t9n/Units_fr.json +1 -1
  28. package/assets/esri/core/t9n/Units_he.json +1 -1
  29. package/assets/esri/core/t9n/Units_hr.json +1 -1
  30. package/assets/esri/core/t9n/Units_hu.json +1 -1
  31. package/assets/esri/core/t9n/Units_id.json +1 -1
  32. package/assets/esri/core/t9n/Units_it.json +1 -1
  33. package/assets/esri/core/t9n/Units_ja.json +1 -1
  34. package/assets/esri/core/t9n/Units_ko.json +1 -1
  35. package/assets/esri/core/t9n/Units_lt.json +1 -1
  36. package/assets/esri/core/t9n/Units_lv.json +1 -1
  37. package/assets/esri/core/t9n/Units_nl.json +1 -1
  38. package/assets/esri/core/t9n/Units_no.json +1 -1
  39. package/assets/esri/core/t9n/Units_pl.json +1 -1
  40. package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
  41. package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
  42. package/assets/esri/core/t9n/Units_ro.json +1 -1
  43. package/assets/esri/core/t9n/Units_ru.json +1 -1
  44. package/assets/esri/core/t9n/Units_sk.json +1 -1
  45. package/assets/esri/core/t9n/Units_sl.json +1 -1
  46. package/assets/esri/core/t9n/Units_sr.json +1 -1
  47. package/assets/esri/core/t9n/Units_sv.json +1 -1
  48. package/assets/esri/core/t9n/Units_th.json +1 -1
  49. package/assets/esri/core/t9n/Units_tr.json +1 -1
  50. package/assets/esri/core/t9n/Units_uk.json +1 -1
  51. package/assets/esri/core/t9n/Units_vi.json +1 -1
  52. package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
  53. package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
  54. package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
  55. package/assets/esri/core/workers/RemoteClient.js +1 -1
  56. package/assets/esri/core/workers/chunks/{6298e71e6c480d6f46e3.js → 0276e689e1371b40cff3.js} +1 -1
  57. package/assets/esri/core/workers/chunks/045a9cc900bb4ac8afde.js +1 -0
  58. package/assets/esri/core/workers/chunks/048173088bbeb1f6b8b6.js +1 -0
  59. package/assets/esri/core/workers/chunks/0be8b9d9ef56c37e74c3.js +1 -0
  60. package/assets/esri/core/workers/chunks/0bef671165e64f90ac86.js +1 -0
  61. package/assets/esri/core/workers/chunks/0c025d2b0d3162b07feb.js +1 -0
  62. package/assets/esri/core/workers/chunks/0c4ed18d67dea0c99f01.js +1 -0
  63. package/assets/esri/core/workers/chunks/0e0208b87566f4470f1d.js +1 -0
  64. package/assets/esri/core/workers/chunks/{981f05b5ef6f9c3f7e8a.js → 0fc0fd7618ef25dd6b67.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{1facc1b45345a095b9a7.js → 149c4181eaea32e9ac15.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{f1e1666bede364c069fc.js → 15c180deb8d09127ad31.js} +1 -1
  67. package/assets/esri/core/workers/chunks/1616ee2f6dce0203f1d5.js +1 -0
  68. package/assets/esri/core/workers/chunks/21bb414cb0623ffad577.js +1 -0
  69. package/assets/esri/core/workers/chunks/21c84e014c73bd85f4a3.js +1 -0
  70. package/assets/esri/core/workers/chunks/262677294d8c653e2b0b.js +1 -0
  71. package/assets/esri/core/workers/chunks/{5139bbe8f94df01467c7.js → 28a6a59033baa44bafab.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{c5d56b85d34026507902.js → 28c273f34ffde25cebc6.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{b7e40118b4d645e9f8e1.js → 2a12026f1ca9e8900a8b.js} +1 -1
  74. package/assets/esri/core/workers/chunks/2bc9f407f89d554a43ce.js +1 -0
  75. package/assets/esri/core/workers/chunks/2f21c5ae4fbe85c2792b.js +1 -0
  76. package/assets/esri/core/workers/chunks/3332ee9727874953523c.js +1 -0
  77. package/assets/esri/core/workers/chunks/{c477b0ce55211339c4cb.js → 33f44cc192c72064b5b6.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{1cf27708d17a4de75b68.js → 3672125daca3df24c8ab.js} +1 -1
  79. package/assets/esri/core/workers/chunks/37a607f3835ec6f60834.js +1 -0
  80. package/assets/esri/core/workers/chunks/{3ebd4cdafa7682062447.js → 39dd80c184ac48f877f1.js} +1 -1
  81. package/assets/esri/core/workers/chunks/3a3adf9b6502ad698aea.js +1 -0
  82. package/assets/esri/core/workers/chunks/{4a857a7f5e00dfab2b44.js → 3c663035cf872b66cb98.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{32b09ca094377a305881.js → 3d924488471601a17915.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{743165f9bc4d85748a0d.js → 42b56932340b6d0bc712.js} +1 -1
  85. package/assets/esri/core/workers/chunks/4de93e9f91fd891ed96f.js +1 -0
  86. package/assets/esri/core/workers/chunks/4eb02a03956d1c9c77ee.js +1 -0
  87. package/assets/esri/core/workers/chunks/{15132d36e7ccbb3c009e.js → 555a252bdb87e340bd02.js} +1 -1
  88. package/assets/esri/core/workers/chunks/{5d791bfca20791d8e0af.js → 5670e430584f020a3530.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{70df4331ed29d823bf38.js → 5b297353b058323f8080.js} +1 -1
  90. package/assets/esri/core/workers/chunks/5ef5dcca7c9b376f7f77.js +1 -0
  91. package/assets/esri/core/workers/chunks/{c12c095937b21e39ad3c.js → 614c63dae0158da0ed3d.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{5734aefbce8b6425630c.js → 63b46983155b1672e07a.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{8b575ac55bc396c0c477.js → 687677acc05b5e87effe.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{1aee859eaffa54ef2515.js → 727321c615f35d708d46.js} +1 -1
  95. package/assets/esri/core/workers/chunks/731cab5887c05f221279.js +1 -0
  96. package/assets/esri/core/workers/chunks/779fe8ccc4041f0b65a0.js +1 -0
  97. package/assets/esri/core/workers/chunks/782c24211daacb47b0b2.js +1 -0
  98. package/assets/esri/core/workers/chunks/79067e7d1ebc46afd775.js +1 -0
  99. package/assets/esri/core/workers/chunks/7a454e4d6df3360e0ab9.js +1 -0
  100. package/assets/esri/core/workers/chunks/7da56ba34c81d2bbaf25.js +1 -0
  101. package/assets/esri/core/workers/chunks/{d8b72c6f5f9b2d013b7f.js → 824b45b04b4f4f91dbce.js} +1 -1
  102. package/assets/esri/core/workers/chunks/836d10ceb93ed19f0aa6.js +1 -0
  103. package/assets/esri/core/workers/chunks/{68d0bae1816061d96307.js → 837d39e70880e4310bda.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{746190bb70aa78ba0bfc.js → 8936f9398414be26b83f.js} +4 -4
  105. package/assets/esri/core/workers/chunks/8bcb2180ecc88a39b317.js +1 -0
  106. package/assets/esri/core/workers/chunks/{e95f90d59041640727da.js → 8c5d827cbf8869defb87.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{7449af8f3637c1694660.js → 97155c8ac832d7c46f24.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{fbf21fda283836e8633c.js → 98cb131b62e30aee35e1.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{e067bbf12f711fd5b9a6.js → 9b3b9df0aa0fdcc77aa2.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{5852d291ef41201030d5.js → 9fa1512baa6e95d3f878.js} +21 -21
  111. package/assets/esri/core/workers/chunks/{8cb13b3776f07536c79f.js → a0d459bdb91ee892d4b6.js} +1 -1
  112. package/assets/esri/core/workers/chunks/{96616126aaf319cd1c6f.js → a5ed35f53769feb751db.js} +1 -1
  113. package/assets/esri/core/workers/chunks/{b6530c66804bede649d7.js → aa09e261d1f7dffaad8c.js} +1 -1
  114. package/assets/esri/core/workers/chunks/b268b4cbf5b0c856f88e.js +1 -0
  115. package/assets/esri/core/workers/chunks/b2f6cee006788ce3bd16.js +1 -0
  116. package/assets/esri/core/workers/chunks/{198ae9e02366870d3ec8.js → b46e772e415e2cfca896.js} +1 -1
  117. package/assets/esri/core/workers/chunks/{cee29c3a94376f6740d7.js → b4ab715a3c506e122f35.js} +1 -1
  118. package/assets/esri/core/workers/chunks/{b5ca894a6cb1a19676d5.js → b9756dce0b3af1a9dc54.js} +1 -1
  119. package/assets/esri/core/workers/chunks/baa7e90ec5259057d86b.js +1 -0
  120. package/assets/esri/core/workers/chunks/{52ae2073604deef63ea2.js → c083045d21636b95f26f.js} +1 -1
  121. package/assets/esri/core/workers/chunks/c267e57eb7f779115aba.js +1 -0
  122. package/assets/esri/core/workers/chunks/{5a0c5271304189a2401d.js → c38098f7073a10efdb1e.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{adecd31fd64d6753682d.js → c7c865dc1a93e781a3e3.js} +1 -1
  124. package/assets/esri/core/workers/chunks/c8e56dc1239118ac2a60.js +1 -0
  125. package/assets/esri/core/workers/chunks/cb6083f7294c8de297e1.js +1 -0
  126. package/assets/esri/core/workers/chunks/cb6c9469d7c16727cd12.js +1 -0
  127. package/assets/esri/core/workers/chunks/{e7e508258ad27468a6a5.js → cc6d9b2062b9de629111.js} +1 -1
  128. package/assets/esri/core/workers/chunks/d5386c0e77063c87fddd.js +1 -0
  129. package/assets/esri/core/workers/chunks/d782671235af2db1c458.js +1 -0
  130. package/assets/esri/core/workers/chunks/de33ce9b6f4e6c0e1389.js +1 -0
  131. package/assets/esri/core/workers/chunks/{0abb084b8a137f4fcdfc.js → e1c5773c12d9947bdc5f.js} +1 -1
  132. package/assets/esri/core/workers/chunks/e55ce8466aa979ac1e6b.js +1 -0
  133. package/assets/esri/core/workers/chunks/{21739c37160061f229ef.js → e585883d0036aa866420.js} +1 -1
  134. package/assets/esri/core/workers/chunks/e6d6d664fc9f2cd6a042.js +1 -0
  135. package/assets/esri/core/workers/chunks/e7cdc2a21104d84aec4a.js +1 -0
  136. package/assets/esri/core/workers/chunks/e9edf3987039def65859.js +1 -0
  137. package/assets/esri/core/workers/chunks/{3b434f318fdbbe4111e3.js → edbe52c2848486d64b16.js} +1 -1
  138. package/assets/esri/core/workers/chunks/{4f8895eb57ec6ab4b318.js → f5a61fa75ac877b5bb74.js} +1 -1
  139. package/assets/esri/core/workers/chunks/feba6c9ae162a0a8ea3a.js +1 -0
  140. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  141. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  142. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  143. package/assets/esri/themes/base/widgets/_FeatureTable.scss +9 -1
  144. package/assets/esri/themes/dark/main.css +1 -1
  145. package/assets/esri/themes/light/main.css +1 -1
  146. package/assets/esri/themes/light/view.css +1 -1
  147. package/chunks/{TextureOnly.glsl.js → Texture.glsl.js} +2 -2
  148. package/chunks/{WaterSurface.glsl.js → Water.glsl.js} +6 -6
  149. package/chunks/bundle.js +1 -1
  150. package/chunks/libtess-f32.js +1 -1
  151. package/chunks/libtess-f64.js +1 -1
  152. package/config.js +1 -1
  153. package/copyright.txt +84 -0
  154. package/core/Promise.d.ts +1 -1
  155. package/core/arrayUtils.js +1 -1
  156. package/core/quantity.js +1 -1
  157. package/core/quantityFormatUtils.js +1 -1
  158. package/core/units.d.ts +1 -1
  159. package/core/units.js +1 -1
  160. package/core/workers/WorkerHandle.js +1 -1
  161. package/editing/Clipboard.js +5 -0
  162. package/effects/FocusAreas.d.ts +1 -0
  163. package/form/FormTemplate.js +1 -1
  164. package/geometry/ellipsoidUtils.js +1 -1
  165. package/geometry/libtess.js +1 -1
  166. package/geometry/operators/geodesicBufferOperator.d.ts +1 -0
  167. package/geometry/operators/geodesicProximityOperator.d.ts +1 -0
  168. package/geometry/operators/geodeticAreaOperator.d.ts +1 -0
  169. package/geometry/operators/geodeticDensifyOperator.d.ts +1 -0
  170. package/geometry/operators/geodeticDistanceOperator.d.ts +1 -0
  171. package/geometry/operators/geodeticLengthOperator.d.ts +1 -0
  172. package/geometry/operators/geodeticUtilsOperator.d.ts +1 -0
  173. package/geometry/operators/shapePreservingProjectOperator.d.ts +1 -0
  174. package/geometry/operators/support/geographicTransformationUtils.d.ts +1 -0
  175. package/geometry/projection/projectors.js +1 -1
  176. package/geometry/projectionUtils.js +1 -1
  177. package/geometry/support/meshUtils/projection.js +1 -1
  178. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  179. package/geometry/support/planetGCSUtils.js +1 -1
  180. package/geometry/support/spatialReferenceUtils.js +1 -1
  181. package/identity/IdentityModal.js +1 -1
  182. package/interfaces.d.ts +2 -2
  183. package/kernel.js +1 -1
  184. package/layers/CatalogLayer.d.ts +1 -0
  185. package/layers/FeatureLayer.d.ts +6 -0
  186. package/layers/GeoJSONLayer.d.ts +1 -0
  187. package/layers/Layer.d.ts +1 -0
  188. package/layers/LinkChartLayer.d.ts +2 -2
  189. package/layers/MediaLayer.d.ts +1 -0
  190. package/layers/OGCFeatureLayer.d.ts +1 -0
  191. package/layers/ParquetLayer.d.ts +6 -0
  192. package/layers/SubtypeGroupLayer.d.ts +1 -0
  193. package/layers/WFSLayer.d.ts +1 -0
  194. package/layers/catalog/CatalogFootprintLayer.d.ts +1 -0
  195. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  196. package/layers/mixins/ArcGISImageService.d.ts +30 -16
  197. package/layers/mixins/BlendLayer.d.ts +1 -0
  198. package/layers/mixins/FeatureEffectLayer.d.ts +2 -0
  199. package/layers/mixins/ImageryTileMixin.d.ts +2 -1
  200. package/layers/mixins/ImageryTileMixin.js +1 -1
  201. package/layers/mixins/ScaleRangeLayer.d.ts +0 -42
  202. package/layers/orientedImagery/transformations/utils.js +1 -1
  203. package/layers/raster/datasets/RawBlockCache.js +1 -1
  204. package/layers/raster/functions/SpectralConversionFunction.js +5 -0
  205. package/layers/raster/functions/SpectralConversionFunctionArguments.js +5 -0
  206. package/layers/raster/functions/conversionUtils.js +1 -1
  207. package/layers/raster/functions/rasterFunctionHelper.js +1 -1
  208. package/layers/raster/functions/vectorFieldUtils.js +1 -1
  209. package/layers/support/FeatureFilter.d.ts +4 -0
  210. package/layers/support/parquetUtils.d.ts +44 -1
  211. package/layers/support/rasterFunctionUtils.d.ts +0 -4
  212. package/layers/support/vectorTileLayerLoader.js +1 -1
  213. package/layers/support/wmsUtils.js +1 -1
  214. package/networks/CircuitManager.d.ts +6 -5
  215. package/networks/CircuitManager.js +1 -1
  216. package/networks/Network.d.ts +1 -0
  217. package/networks/UtilityNetwork.js +1 -1
  218. package/networks/support/Circuit.d.ts +2 -4
  219. package/networks/support/CircuitLocation.d.ts +1 -7
  220. package/networks/support/CircuitLocation.js +1 -1
  221. package/networks/support/CircuitPathConnectivityElement.js +1 -1
  222. package/networks/support/CircuitSection.d.ts +2 -4
  223. package/networks/support/Subcircuit.d.ts +2 -2
  224. package/package.json +4 -4
  225. package/renderers/FlowRenderer.d.ts +1 -0
  226. package/renderers/support/colorRampUtils.js +1 -1
  227. package/rest/featureService/types.d.ts +2 -2
  228. package/rest/imageService.d.ts +36 -19
  229. package/rest/imageService.js +1 -1
  230. package/rest/knowledgeGraph/GraphSearch.d.ts +0 -1
  231. package/rest/knowledgeGraph/GraphSearchStreaming.d.ts +0 -1
  232. package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
  233. package/rest/networks/circuits/support/VerifyCircuitsParameters.d.ts +30 -0
  234. package/rest/networks/circuits/support/VerifyCircuitsParameters.js +1 -1
  235. package/rest/networks/circuits/verifyCircuits.js +1 -1
  236. package/rest/networks/support/Association.js +1 -1
  237. package/rest/networks/support/NetworkElement.d.ts +2 -1
  238. package/rest/networks/support/TelecomNetworkElement.js +1 -1
  239. package/rest/networks/support/TraceLocation.d.ts +1 -1
  240. package/rest/query.d.ts +4 -0
  241. package/rest/support/BinParametersBase.d.ts +9 -28
  242. package/rest/support/DateBinParameters.d.ts +0 -17
  243. package/rest/support/TopFeaturesQuery.d.ts +1 -0
  244. package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
  245. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  246. package/support/revision.js +1 -1
  247. package/symbols/CIMSymbol.d.ts +1 -0
  248. package/symbols/LineSymbolMarker.d.ts +2 -2
  249. package/symbols/SimpleFillSymbol.d.ts +2 -1
  250. package/symbols/SimpleLineSymbol.d.ts +4 -4
  251. package/symbols/support/cimSymbolUtils.d.ts +2 -0
  252. package/symbols/types.d.ts +140 -28
  253. package/views/2d/constraints/ZoomConstraint.js +1 -1
  254. package/views/2d/engine/imagery/RasterBitmap.js +1 -1
  255. package/views/2d/engine/imagery/RasterVFContainer.js +1 -1
  256. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  257. package/views/2d/engine/imagery/RasterVFTileContainer.js +1 -1
  258. package/views/2d/engine/rasterBrushes.js +1 -1
  259. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterProcessorTechnique.js +1 -1
  260. package/views/2d/engine/webgl/shaderGraph/techniques/raster/VectorFieldTechnique.js +5 -0
  261. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/AspectTechnique.js +1 -1
  262. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BandArithmeticTechnique.js +1 -1
  263. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ColormapToRGBTechnique.js +1 -1
  264. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CompositeBandTechnique.js +1 -1
  265. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ComputeChangeTechnique.js +1 -1
  266. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ContrastBrightnessTechnique.js +1 -1
  267. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ConvolutionTechnique.js +1 -1
  268. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CurvatureTechnique.js +1 -1
  269. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ExtractBandTechnique.js +1 -1
  270. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/FocalStatisticsTechnique.js +1 -1
  271. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/GrayscaleTechnique.js +1 -1
  272. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/HillshadeTechnique.js +1 -1
  273. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/LocalTechnique.js +1 -1
  274. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/MaskTechnique.js +1 -1
  275. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/NDVITechnique.js +1 -1
  276. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/RemapTechnique.js +1 -1
  277. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ReprojectTechnique.js +1 -1
  278. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ShadedReliefTechnique.js +1 -1
  279. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/SlopeTechnique.js +1 -1
  280. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/SpectralConversionTechnique.js +5 -0
  281. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/StretchTechnique.js +1 -1
  282. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/MagDirShader.js +5 -0
  283. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/ScalarShader.js +5 -0
  284. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/SpectralConversionShader.js +5 -0
  285. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  286. package/views/2d/layers/MediaLayerView2D.js +1 -1
  287. package/views/2d/layers/TileLayerView2D.js +1 -1
  288. package/views/2d/layers/imagery/ImageryVFStrategy.js +1 -1
  289. package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
  290. package/views/2d/types.d.ts +6 -1
  291. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  292. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  293. package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
  294. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  295. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementRawResult.js +5 -0
  296. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.d.ts +5 -1
  297. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.js +1 -1
  298. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  299. package/views/3d/environment/EnvironmentManager.js +1 -1
  300. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  301. package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
  302. package/views/3d/layers/FlowSubView3D.js +1 -1
  303. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  304. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  305. package/views/3d/layers/SceneLayerWorker.js +1 -1
  306. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  307. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  308. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  309. package/views/3d/layers/graphics/emissiveUtils.js +5 -0
  310. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  311. package/views/3d/layers/support/layerUtils.js +1 -1
  312. package/views/3d/state/ViewState.js +1 -1
  313. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  314. package/views/3d/support/mathUtils.js +1 -1
  315. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  316. package/views/3d/support/supportedSpatialReference.js +1 -1
  317. package/views/3d/terrain/BlendLayers.glsl.js +5 -0
  318. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  319. package/views/3d/terrain/OverlayRenderer.js +1 -1
  320. package/views/3d/terrain/RasterColorizer.glsl.js +5 -0
  321. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  322. package/views/3d/terrain/terrainUtils.js +1 -1
  323. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +3 -3
  324. package/views/3d/webgl-engine/core/shaderLibrary/shading/{Water.glsl.js → WaterColor.glsl.js} +2 -2
  325. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +2 -2
  326. package/views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js +1 -1
  327. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  328. package/views/3d/webgl-engine/effects/highlight/HighlightApply.glsl.js +5 -0
  329. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  330. package/views/3d/webgl-engine/effects/highlight/HighlightBlur.glsl.js +5 -0
  331. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  332. package/views/3d/webgl-engine/effects/highlight/HighlightDownsample.glsl.js +5 -0
  333. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  334. package/views/3d/webgl-engine/effects/highlight/HighlightToSingle.glsl.js +5 -0
  335. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  336. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +5 -0
  337. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  338. package/views/3d/webgl-engine/effects/laserlines/Laserline.glsl.js +5 -0
  339. package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +5 -0
  340. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  341. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  342. package/views/3d/webgl-engine/effects/magnifier/Magnifier.glsl.js +5 -0
  343. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  344. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  345. package/views/3d/webgl-engine/effects/smaa/BlendWeights.glsl.js +5 -0
  346. package/views/3d/webgl-engine/effects/smaa/Blur.glsl.js +5 -0
  347. package/views/3d/webgl-engine/effects/smaa/EdgeDetect.glsl.js +5 -0
  348. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  349. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  350. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  351. package/views/3d/webgl-engine/effects/ssao/SSAO.glsl.js +5 -0
  352. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  353. package/views/3d/webgl-engine/effects/ssao/SSAOBlur.glsl.js +5 -0
  354. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  355. package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
  356. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  357. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  358. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  359. package/views/3d/webgl-engine/lib/Texture.glsl.js +5 -0
  360. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  361. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +5 -0
  362. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  363. package/views/3d/webgl-engine/{shaders → materials}/Path.glsl.js +1 -1
  364. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  365. package/views/3d/webgl-engine/{shaders/WaterSurface.glsl.js → materials/Water.glsl.js} +1 -1
  366. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  367. package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +1 -1
  368. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  369. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +31 -23
  370. package/views/3d/webgl.js +1 -1
  371. package/views/VideoView.d.ts +1 -0
  372. package/views/VideoView.js +1 -1
  373. package/views/input/ViewEvents.js +1 -1
  374. package/views/input/recognizers/VerticalTwoFingerDrag.js +1 -1
  375. package/views/input/types.d.ts +94 -0
  376. package/views/interactive/snapping/FeatureSnappingLayerSource.d.ts +1 -0
  377. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  378. package/views/layers/FeatureLayerViewMixin.d.ts +1 -0
  379. package/views/support/MeasurementWorker.js +1 -1
  380. package/views/support/MeasurementWorkerHandle.js +1 -1
  381. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  382. package/views/support/measurementUtils.js +1 -1
  383. package/views/support/screenUtils.js +1 -1
  384. package/views/webgl/ShaderBuilder.js +1 -1
  385. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  386. package/widgets/AreaMeasurement2D.d.ts +1 -0
  387. package/widgets/AreaMeasurement2D.js +1 -1
  388. package/widgets/Attachments.d.ts +1 -0
  389. package/widgets/BasemapLayerList.d.ts +1 -0
  390. package/widgets/BasemapLayerList.js +1 -1
  391. package/widgets/BuildingExplorer.d.ts +1 -1
  392. package/widgets/CatalogLayerList.d.ts +1 -0
  393. package/widgets/CatalogLayerList.js +1 -1
  394. package/widgets/Directions.d.ts +1 -0
  395. package/widgets/Directions.js +1 -1
  396. package/widgets/DistanceMeasurement2D.d.ts +1 -0
  397. package/widgets/DistanceMeasurement2D.js +1 -1
  398. package/widgets/Editor/AddAssociationWorkflow.js +1 -1
  399. package/widgets/Editor.d.ts +1 -0
  400. package/widgets/Editor.js +1 -1
  401. package/widgets/FeatureForm.d.ts +1 -0
  402. package/widgets/FeatureForm.js +1 -1
  403. package/widgets/FeatureTable.d.ts +1 -0
  404. package/widgets/FeatureTable.js +1 -1
  405. package/widgets/FloorFilter.d.ts +1 -0
  406. package/widgets/FloorFilter.js +1 -1
  407. package/widgets/LayerList.d.ts +1 -0
  408. package/widgets/LayerList.js +1 -1
  409. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  410. package/widgets/OrientedImageryViewer/adapters/sketch/DataCaptureAdapter.js +1 -1
  411. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  412. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  413. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  414. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  415. package/widgets/OrientedImageryViewer/components/OverlayLayersListViewModel.js +1 -1
  416. package/widgets/OrientedImageryViewer/services/TransformationService.js +5 -0
  417. package/widgets/OrientedImageryViewer/support/dataCaptureUtils.js +5 -0
  418. package/widgets/OrientedImageryViewer/support/geometryUtils.js +5 -0
  419. package/widgets/OrientedImageryViewer/support/typeUtils.js +5 -0
  420. package/widgets/ScaleRangeSlider/ScaleRanges.d.ts +43 -1
  421. package/widgets/ScaleRangeSlider.d.ts +1 -0
  422. package/widgets/ScaleRangeSlider.js +1 -1
  423. package/widgets/Sketch.d.ts +1 -0
  424. package/widgets/Sketch.js +1 -1
  425. package/widgets/Slider/SliderViewModel.js +1 -1
  426. package/widgets/Swipe.d.ts +1 -1
  427. package/widgets/TableList.d.ts +2 -0
  428. package/widgets/TableList.js +1 -1
  429. package/widgets/TimeSlider.d.ts +1 -0
  430. package/widgets/TimeSlider.js +1 -1
  431. package/widgets/UtilityNetworkAssociations.d.ts +2 -0
  432. package/widgets/UtilityNetworkAssociations.js +1 -1
  433. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  434. package/widgets/UtilityNetworkTrace.d.ts +2 -0
  435. package/widgets/UtilityNetworkTrace.js +1 -1
  436. package/widgets/UtilityNetworkValidateTopology.d.ts +2 -0
  437. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  438. package/widgets/ValuePicker.d.ts +1 -0
  439. package/widgets/ValuePicker.js +1 -1
  440. package/widgets/support/SnappingControls.d.ts +1 -0
  441. package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
  442. package/widgets/support/UtilityNetworkAssociations/utils/createAssociation.js +1 -1
  443. package/assets/esri/core/workers/chunks/00e135dc1b4cb024973d.js +0 -1
  444. package/assets/esri/core/workers/chunks/03d037f9f04f165aac63.js +0 -1
  445. package/assets/esri/core/workers/chunks/03da31c7635d077e8d99.js +0 -1
  446. package/assets/esri/core/workers/chunks/0dcf1f3b6aa84cbe03a9.js +0 -1
  447. package/assets/esri/core/workers/chunks/165cf8031af160c99d70.js +0 -1
  448. package/assets/esri/core/workers/chunks/185c97bc63ce546995ce.js +0 -1
  449. package/assets/esri/core/workers/chunks/1a62c456e791c82050fe.js +0 -1
  450. package/assets/esri/core/workers/chunks/21163137e345badb1aaf.js +0 -1
  451. package/assets/esri/core/workers/chunks/25dead73dfc5a4c19285.js +0 -1
  452. package/assets/esri/core/workers/chunks/2767b69085c9f7a1e1af.js +0 -1
  453. package/assets/esri/core/workers/chunks/43e9eaedf65921b58eb2.js +0 -1
  454. package/assets/esri/core/workers/chunks/4caec60ac0a5851730c6.js +0 -1
  455. package/assets/esri/core/workers/chunks/4f4bdf9f5323fa702e6c.js +0 -1
  456. package/assets/esri/core/workers/chunks/5119e3159617b8e1ea13.js +0 -1
  457. package/assets/esri/core/workers/chunks/59d3f3fbae775fd7686e.js +0 -1
  458. package/assets/esri/core/workers/chunks/5a706eecd8a988fae6b7.js +0 -1
  459. package/assets/esri/core/workers/chunks/5ba2bbbb42ef1920579d.js +0 -1
  460. package/assets/esri/core/workers/chunks/5cc731f161012b63c77a.js +0 -1
  461. package/assets/esri/core/workers/chunks/5fa8fe6353dbdda0b06a.js +0 -1
  462. package/assets/esri/core/workers/chunks/6107b58457a70c8de9da.js +0 -1
  463. package/assets/esri/core/workers/chunks/654eef3ad30f34c42e12.js +0 -1
  464. package/assets/esri/core/workers/chunks/6d9e92d9c2503d5dc8dd.js +0 -1
  465. package/assets/esri/core/workers/chunks/7130b09300032d3a5925.js +0 -1
  466. package/assets/esri/core/workers/chunks/7f7c4ffbdf7b20dc7a54.js +0 -1
  467. package/assets/esri/core/workers/chunks/804c9666d0dc548b9f79.js +0 -1
  468. package/assets/esri/core/workers/chunks/8258b1c8ba6d44ba19c3.js +0 -1
  469. package/assets/esri/core/workers/chunks/8f2fc50eb988c0228b05.js +0 -1
  470. package/assets/esri/core/workers/chunks/8f3abaabc61858e929a5.js +0 -1
  471. package/assets/esri/core/workers/chunks/97ad3eb25ad003c16148.js +0 -1
  472. package/assets/esri/core/workers/chunks/a270e34bb248114ec280.js +0 -1
  473. package/assets/esri/core/workers/chunks/a56a5e00964d4cd59a66.js +0 -1
  474. package/assets/esri/core/workers/chunks/a774b4fc7df801503bea.js +0 -1
  475. package/assets/esri/core/workers/chunks/b1015e1f25b60c08d2cf.js +0 -1
  476. package/assets/esri/core/workers/chunks/c18a2948ae3cb527d8bb.js +0 -1
  477. package/assets/esri/core/workers/chunks/cb66a74448a6c0c20d5d.js +0 -1
  478. package/assets/esri/core/workers/chunks/d4f4c0201d8b641709c0.js +0 -1
  479. package/assets/esri/core/workers/chunks/d6d9d56b3733622deab6.js +0 -1
  480. package/assets/esri/core/workers/chunks/dedd9d47ccc019ffc484.js +0 -1
  481. package/assets/esri/core/workers/chunks/e271065410ba5c872f53.js +0 -1
  482. package/assets/esri/core/workers/chunks/e8a0654cebafa22b5b56.js +0 -1
  483. package/assets/esri/core/workers/chunks/ecf7d34b37ce6f0877af.js +0 -1
  484. package/assets/esri/core/workers/chunks/f25eb512592a84a508c1.js +0 -1
  485. package/assets/esri/core/workers/chunks/f64ec13167eb51da2f9b.js +0 -1
  486. package/layers/graphics/sources/ParquetSource.d.ts +0 -45
  487. package/views/2d/engine/imagery/BrushVectorField.js +0 -5
  488. package/views/3d/analysis/AreaMeasurement/support/utils.js +0 -5
  489. package/views/3d/analysis/VolumeMeasurement/volumeMeasurementUtils.js +0 -5
  490. package/views/3d/webgl-engine/core/shaderLibrary/raster/RasterColorizer.glsl.js +0 -5
  491. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +0 -5
  492. package/views/3d/webgl-engine/core/shaderLibrary/util/TextureOnly.glsl.js +0 -5
  493. package/views/3d/webgl-engine/shaders/BlendWeights.glsl.js +0 -5
  494. package/views/3d/webgl-engine/shaders/Blur.glsl.js +0 -5
  495. package/views/3d/webgl-engine/shaders/EdgeDetect.glsl.js +0 -5
  496. package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +0 -5
  497. package/views/3d/webgl-engine/shaders/HighlightBlur.glsl.js +0 -5
  498. package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +0 -5
  499. package/views/3d/webgl-engine/shaders/HighlightToSingle.glsl.js +0 -5
  500. package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +0 -5
  501. package/views/3d/webgl-engine/shaders/Laserlines.glsl.js +0 -5
  502. package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +0 -5
  503. package/views/3d/webgl-engine/shaders/SSAO.glsl.js +0 -5
  504. package/views/3d/webgl-engine/shaders/SSAOBlur.glsl.js +0 -5
  505. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +0 -5
  506. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShader.glsl.js +0 -5
  507. package/widgets/OrientedImageryViewer/dataCaptureUtils.js +0 -5
  508. /package/chunks/{Laserlines.glsl.js → Laserline.glsl.js} +0 -0
package/Ground.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as r}from"tslib";import e from"./Color.js";import o from"./core/Collection.js";import t from"./core/CollectionFlattener.js";import{referenceSetter as s}from"./core/collectionUtils.js";import{typeCast as a}from"./core/compilerUtils.js";import i from"./core/Error.js";import has from"./core/has.js";import{JSONSupportMixin as n}from"./core/JSONSupport.js";import{clone as l}from"./core/lang.js";import{Loadable as p}from"./core/Loadable.js";import{loadAll as c}from"./core/loadAll.js";import u from"./core/Logger.js";import{destroyMaybe as y}from"./core/maybe.js";import{isAbortError as d,throwIfAborted as m}from"./core/promiseUtils.js";import{property as h,subclass as f}from"./core/accessorSupport/decorators.js";import{Integer as g}from"./core/accessorSupport/ensureType.js";import v from"./ground/NavigationConstraint.js";import{GroundSymbol as j}from"./support/groundInstanceUtils.js";import{transparencyToOpacity as w,opacityToTransparency as C}from"./webdoc/support/opacityUtils.js";import{writer as L}from"./core/accessorSupport/decorators/writer.js";var S,b;let I=b=class extends(n(p)){static{S=j}constructor(r){super(r),this[S]=!0,this.parent=null,this.opacity=1,this.surfaceColor=null,this.undergroundColor=has("enable-feature:oit-ground")?void 0:new e("white"),this.navigationConstraint=null,this.layers=new o;const s=r=>{const{parent:e}=r;e&&e!==this&&"remove"in e&&e.remove?.(r),r.parent=this,"elevation"!==r.type&&"base-elevation"!==r.type&&u.getLogger(this).error(`Layer '${r.title}, id:${r.id}' of type '${r.type}' is not supported as a ground layer and will therefore be ignored. Only layers of type 'elevation' are supported.`)},a=r=>{r.parent=null};this.addHandles([this.layers.on("after-add",r=>s(r.item)),this.layers.on("after-remove",r=>a(r.item))]),this.allLayers=new t({getCollections:()=>[this.layers,this.parent?.basemap?.groundLayers]})}removeChildLayer(r){this.layers.remove(r)}initialize(){this.when().catch(r=>{d(r)||u.getLogger(this).error("#load()","Failed to load ground",r)}),this.resourceInfo&&this.read(this.resourceInfo.data,this.resourceInfo.context)}get integratedMeshGround(){const r=this.parent?.basemap?.groundLayers.at(0);return r?.replacesTerrain?r:null}destroy(){const r=this.layers.removeAll();for(const e of r)y(e);this.layers.destroy()}normalizeCtorArgs(r){return r&&"resourceInfo"in r&&(this._set("resourceInfo",r.resourceInfo),delete(r={...r}).resourceInfo),r}get loaded(){return super.loaded}get layers(){return this._get("layers")}set layers(r){this._set("layers",s(r,this._get("layers")))}writeLayers(r,e,o,t){const s=[];r?(t={...t,layerContainerType:"ground"},r.forEach(r=>{if("write"in r){const e={};a(r)().write(e,t)&&s.push(e)}else t?.messages&&t.messages.push(new i("layer:unsupported",`Layers (${r.title}, ${r.id}) of type '${r.declaredClass}' cannot be persisted in the ground`,{layer:r}))}),e.layers=s):e.layers=s}load(r){return this.addResolvingPromise(this._loadFromSource(r)),Promise.resolve(this)}loadAll(){return c(this,r=>r(this.layers))}async queryElevation(r,e){await this.load({signal:e?.signal});const{queryAll:o}=await import("./layers/support/ElevationQuery.js");m(e);const t=this.layers.filter(A).toArray();return this.parent?.basemap?.groundLayers&&this.parent?.basemap?.groundLayers.forEach(r=>{t.push(r)}),o(t,r,e)}async createElevationSampler(r,e){await this.load({signal:e?.signal});const{createSampler:o}=await import("./layers/support/ElevationQuery.js");m(e);return o(this.layers.filter(A).toArray(),r,e)}clone(){const r={opacity:this.opacity,surfaceColor:l(this.surfaceColor),undergroundColor:l(this.undergroundColor),navigationConstraint:l(this.navigationConstraint),layers:this.layers.slice()};return this.loaded&&(r.loadStatus="loaded"),new b({resourceInfo:this.resourceInfo}).set(r)}read(r,e){this.resourceInfo||this._set("resourceInfo",{data:r,context:e}),super.read(r,e)}_loadFromSource(r){const e=this.resourceInfo;return e?this._loadLayersFromJSON(e.data,e.context,r):Promise.resolve()}async _loadLayersFromJSON(r,e,o){const t=e?.origin||"web-scene",s=e?.portal||null,a=e?.url||null,{populateOperationalLayers:i}=await import("./layers/support/layersCreator.js");m(o);const n=[];if(r.layers&&Array.isArray(r.layers)){const e={context:{origin:t,url:a,portal:s,layerContainerType:"ground"},defaultLayerType:"ArcGISTiledElevationServiceLayer"};n.push(i(this.layers,r.layers,e))}await Promise.allSettled(n)}};function A(r){return r&&"createElevationSampler"in r}r([h()],I.prototype,"parent",void 0),r([h()],I.prototype,"integratedMeshGround",null),r([h({json:{read:!1,write:{isRequired:!0}}})],I.prototype,"layers",null),r([h()],I.prototype,"allLayers",void 0),r([L("layers")],I.prototype,"writeLayers",null),r([h({readOnly:!0})],I.prototype,"resourceInfo",void 0),r([h({type:Number,nonNullable:!0,range:{min:0,max:1},json:{type:g,read:{reader:w,source:"transparency"},write:{writer:(r,e)=>{e.transparency=C(r)},target:"transparency"}}})],I.prototype,"opacity",void 0),r([h({type:e,json:{type:[g],write:(r,e)=>{e.surfaceColor=r.toJSON().slice(0,3)}}})],I.prototype,"surfaceColor",void 0),r([h({type:e})],I.prototype,"undergroundColor",void 0),r([h({type:v,json:{write:!0}})],I.prototype,"navigationConstraint",void 0),I=b=r([f("esri.Ground")],I);const E=I;export{E as default};
5
+ import{__decorate as r}from"tslib";import e from"./Color.js";import o from"./core/Collection.js";import t from"./core/CollectionFlattener.js";import{referenceSetter as s}from"./core/collectionUtils.js";import{typeCast as a}from"./core/compilerUtils.js";import i from"./core/Error.js";import{JSONSupportMixin as n}from"./core/JSONSupport.js";import{clone as l}from"./core/lang.js";import{Loadable as p}from"./core/Loadable.js";import{loadAll as c}from"./core/loadAll.js";import y from"./core/Logger.js";import{destroyMaybe as u}from"./core/maybe.js";import{isAbortError as d,throwIfAborted as m}from"./core/promiseUtils.js";import{property as h,subclass as f}from"./core/accessorSupport/decorators.js";import{Integer as g}from"./core/accessorSupport/ensureType.js";import v from"./ground/NavigationConstraint.js";import{GroundSymbol as j}from"./support/groundInstanceUtils.js";import{transparencyToOpacity as w,opacityToTransparency as C}from"./webdoc/support/opacityUtils.js";import{writer as L}from"./core/accessorSupport/decorators/writer.js";var S,I;let b=I=class extends(n(p)){static{S=j}constructor(r){super(r),this[S]=!0,this.parent=null,this.opacity=1,this.surfaceColor=null,this.undergroundColor=new e("white"),this.navigationConstraint=null,this.layers=new o;const s=r=>{const{parent:e}=r;e&&e!==this&&"remove"in e&&e.remove?.(r),r.parent=this,"elevation"!==r.type&&"base-elevation"!==r.type&&y.getLogger(this).error(`Layer '${r.title}, id:${r.id}' of type '${r.type}' is not supported as a ground layer and will therefore be ignored. Only layers of type 'elevation' are supported.`)},a=r=>{r.parent=null};this.addHandles([this.layers.on("after-add",r=>s(r.item)),this.layers.on("after-remove",r=>a(r.item))]),this.allLayers=new t({getCollections:()=>[this.layers,this.parent?.basemap?.groundLayers]})}removeChildLayer(r){this.layers.remove(r)}initialize(){this.when().catch(r=>{d(r)||y.getLogger(this).error("#load()","Failed to load ground",r)}),this.resourceInfo&&this.read(this.resourceInfo.data,this.resourceInfo.context)}get integratedMeshGround(){const r=this.parent?.basemap?.groundLayers.at(0);return r?.replacesTerrain?r:null}destroy(){const r=this.layers.removeAll();for(const e of r)u(e);this.layers.destroy()}normalizeCtorArgs(r){return r&&"resourceInfo"in r&&(this._set("resourceInfo",r.resourceInfo),delete(r={...r}).resourceInfo),r}get loaded(){return super.loaded}get layers(){return this._get("layers")}set layers(r){this._set("layers",s(r,this._get("layers")))}writeLayers(r,e,o,t){const s=[];r?(t={...t,layerContainerType:"ground"},r.forEach(r=>{if("write"in r){const e={};a(r)().write(e,t)&&s.push(e)}else t?.messages&&t.messages.push(new i("layer:unsupported",`Layers (${r.title}, ${r.id}) of type '${r.declaredClass}' cannot be persisted in the ground`,{layer:r}))}),e.layers=s):e.layers=s}load(r){return this.addResolvingPromise(this._loadFromSource(r)),Promise.resolve(this)}loadAll(){return c(this,r=>r(this.layers))}async queryElevation(r,e){await this.load({signal:e?.signal});const{queryAll:o}=await import("./layers/support/ElevationQuery.js");m(e);const t=this.layers.filter(A).toArray();return this.parent?.basemap?.groundLayers&&this.parent?.basemap?.groundLayers.forEach(r=>{t.push(r)}),o(t,r,e)}async createElevationSampler(r,e){await this.load({signal:e?.signal});const{createSampler:o}=await import("./layers/support/ElevationQuery.js");m(e);return o(this.layers.filter(A).toArray(),r,e)}clone(){const r={opacity:this.opacity,surfaceColor:l(this.surfaceColor),undergroundColor:l(this.undergroundColor),navigationConstraint:l(this.navigationConstraint),layers:this.layers.slice()};return this.loaded&&(r.loadStatus="loaded"),new I({resourceInfo:this.resourceInfo}).set(r)}read(r,e){this.resourceInfo||this._set("resourceInfo",{data:r,context:e}),super.read(r,e)}_loadFromSource(r){const e=this.resourceInfo;return e?this._loadLayersFromJSON(e.data,e.context,r):Promise.resolve()}async _loadLayersFromJSON(r,e,o){const t=e?.origin||"web-scene",s=e?.portal||null,a=e?.url||null,{populateOperationalLayers:i}=await import("./layers/support/layersCreator.js");m(o);const n=[];if(r.layers&&Array.isArray(r.layers)){const e={context:{origin:t,url:a,portal:s,layerContainerType:"ground"},defaultLayerType:"ArcGISTiledElevationServiceLayer"};n.push(i(this.layers,r.layers,e))}await Promise.allSettled(n)}};function A(r){return r&&"createElevationSampler"in r}r([h()],b.prototype,"parent",void 0),r([h()],b.prototype,"integratedMeshGround",null),r([h({json:{read:!1,write:{isRequired:!0}}})],b.prototype,"layers",null),r([h()],b.prototype,"allLayers",void 0),r([L("layers")],b.prototype,"writeLayers",null),r([h({readOnly:!0})],b.prototype,"resourceInfo",void 0),r([h({type:Number,nonNullable:!0,range:{min:0,max:1},json:{type:g,read:{reader:w,source:"transparency"},write:{writer:(r,e)=>{e.transparency=C(r)},target:"transparency"}}})],b.prototype,"opacity",void 0),r([h({type:e,json:{type:[g],write:(r,e)=>{e.surfaceColor=r.toJSON().slice(0,3)}}})],b.prototype,"surfaceColor",void 0),r([h({type:e})],b.prototype,"undergroundColor",void 0),r([h({type:v,json:{write:!0}})],b.prototype,"navigationConstraint",void 0),b=I=r([f("esri.Ground")],b);const E=b;export{E as default};
package/Map.d.ts CHANGED
@@ -52,6 +52,7 @@ export interface MapProperties extends LayersMixinProperties, TablesMixinPropert
52
52
  * > [!WARNING]
53
53
  * >
54
54
  * > **Known Limitations**
55
+ * >
55
56
  * > 3D Basemaps can only be used in [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html).
56
57
  *
57
58
  * ##### 2D (legacy)
@@ -127,6 +128,7 @@ export interface MapProperties extends LayersMixinProperties, TablesMixinPropert
127
128
  * > [!WARNING]
128
129
  * >
129
130
  * > **Known Limitations**
131
+ * >
130
132
  * > Focus areas are only supported in [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html).
131
133
  *
132
134
  * @see [FocusAreas](https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html)
@@ -337,6 +339,7 @@ export default class Map extends MapSuperclass {
337
339
  * > [!WARNING]
338
340
  * >
339
341
  * > **Known Limitations**
342
+ * >
340
343
  * > 3D Basemaps can only be used in [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html).
341
344
  *
342
345
  * ##### 2D (legacy)
@@ -424,6 +427,7 @@ export default class Map extends MapSuperclass {
424
427
  * > [!WARNING]
425
428
  * >
426
429
  * > **Known Limitations**
430
+ * >
427
431
  * > Focus areas are only supported in [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html).
428
432
  *
429
433
  * @see [FocusAreas](https://developers.arcgis.com/javascript/latest/api-reference/esri-effects-FocusAreas.html)
package/WebLinkChart.d.ts CHANGED
@@ -187,7 +187,7 @@ export default class WebLinkChart extends WebDocument2D {
187
187
  * See [layout types](https://developers.arcgis.com/javascript/latest/api-reference/esri-linkChart-LinkChartProperties.html#layoutType) for a description of the different layout algorithms.
188
188
  *
189
189
  * @param layoutMode - The layout applied to the link chart.
190
- * @param options
190
+ * @param options - Additional options for refining how the layout is calculated and applied to the link chart.
191
191
  * @returns Resolves when the layout has been applied.
192
192
  * @since 4.32
193
193
  */
@@ -263,21 +263,24 @@ export default class WebLinkChart extends WebDocument2D {
263
263
  removeRecords(records: IdTypePair[]): Promise<IdTypePair[]>;
264
264
  }
265
265
 
266
+ /** Additional options for refining how the layout is calculated and applied to the link chart. */
266
267
  export interface WebLinkChartApplyLayoutOptions {
267
268
  /** Additional settings for organic layouts (particularly geographic layout) and chronological layouts. If not specified, then the current layout settings will be used. */
268
269
  layoutSettings?: LayoutSettings;
269
- /** A map of node IDs to their locked locations. Specify the location of specific entities. When the layout is recalculated these entities are placed at the specified location. */
270
+ /** A map of entity IDs to their locked locations. Specify the location of specific entities. When the layout is recalculated these entities are placed at the specified location. */
270
271
  lockedNodeLocations?: Map<string, Point>;
271
272
  /** A set of entity IDs to be used as root entities in the layout. Only applicable in tree, radial and hierachical layouts. */
272
273
  rootEntityIds?: Set<string>;
273
274
  }
274
275
 
276
+ /** Additional options that can be set when adding records to a link chart. */
275
277
  export interface WebLinkChartAddRecordsOptions extends AbortOptions {
276
278
  /** If set to true, adding a relationship will also add it's origin and destination entities. */
277
279
  cascadeAddRelationshipEndNodes?: boolean;
278
280
  }
279
281
 
282
+ /** Additional options for specifying which entities and relationships to traverse in the expand operation. */
280
283
  export interface WebLinkChartExpandOptions extends AbortOptions {
281
- /** Array of relationship named types to filter. */
284
+ /** Array of relationship named types to filter which entities and relationships are added in the expand. */
282
285
  relationshipTypeNames?: string[];
283
286
  }
package/WebScene.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"./Color.js";import{version as r}from"./kernel.js";import i from"./Map.js";import o from"./core/Collection.js";import s from"./core/Error.js";import{clone as a}from"./core/lang.js";import{LoadableMixin as n}from"./core/Loadable.js";import{loadAll as l}from"./core/loadAll.js";import p from"./core/Logger.js";import{destroyMaybe as d}from"./core/maybe.js";import{MultiOriginJSONSupportMixin as c,MultiOriginJSONSupport as h}from"./core/MultiOriginJSONSupport.js";import{EsriPromiseMixin as u}from"./core/Promise.js";import{debounce as m}from"./core/promiseUtils.js";import{on as y,watch as w}from"./core/reactiveUtils.js";import{urlToObject as f,addQueryParameter as g}from"./core/urlUtils.js";import b from"./core/Warning.js";import{property as v,subclass as _}from"./core/accessorSupport/decorators.js";import{updateOrigins as S}from"./core/accessorSupport/originUtils.js";import{readLoadable as A}from"./core/accessorSupport/read.js";import I from"./geometry/Extent.js";import j from"./geometry/HeightModelInfo.js";import{canProjectWithoutEngine as L}from"./geometry/projectionUtils.js";import R from"./geometry/SpatialReference.js";import{validateWebSceneError as P}from"./geometry/support/heightModelInfoUtils.js";import{fromJSON as U}from"./geometry/support/jsonUtils.js";import{isEarth as V}from"./geometry/support/spatialReferenceUtils.js";import O from"./portal/Portal.js";import M from"./portal/PortalItem.js";import{createForItemWrite as C}from"./portal/support/jsonContext.js";import{toggleTypeKeyword as E,typeKeyword as T}from"./portal/support/portalItemUtils.js";import{hasDeveloperBasemapLayer as N}from"./support/basemapUtils.js";import{ensureType as x}from"./support/groundUtils.js";import G from"./support/MapFloorInfo.js";import{WebSceneTag as F}from"./support/tagSymbols.js";import{createSchemaValidationError as W}from"./support/webSceneUtils.js";import{isSpatialReferenceSupported as $}from"./views/support/spatialReferenceSupport.js";import J from"./webdoc/Widgets.js";import{updateItemWithResources as k,saveResources as B}from"./webdoc/support/resourceUtils.js";import{evaluateWriteErrors as q}from"./webdoc/support/saveUtils.js";import{getOptimalThumbnailSize as H}from"./webdoc/support/thumbnailUtils.js";import{isCopyAllowed as D,initializeNewItem as z}from"./webdoc/support/webdocSaveUtils.js";import K from"./webscene/ApplicationProperties.js";import Q from"./webscene/Environment.js";import X from"./webscene/InitialViewProperties.js";import Y from"./webscene/Presentation.js";import Z from"./webscene/TransportationNetwork.js";import ee from"./webscene/Version.js";import{alphaCutoff as te}from"./webscene/support/AlphaCutoff.js";import{getLoader as re}from"./webscene/support/schemaValidatorLoader.js";import{writer as ie}from"./core/accessorSupport/decorators/writer.js";import{reader as oe}from"./core/accessorSupport/decorators/reader.js";var se;const ae=new ee(1,39),ne=()=>{const e=8,t=[],r=ae.major;for(let i=e;i<=ae.minor;i++)t.push(`${r}.${i}`);return t},le="Web Scene";let pe=class extends(n(u(c(i)))){static{se=F}constructor(e){super(e),this[se]=!0,this._layersIdGCTimeoutId=void 0,this._updateFromPromise=null,this._afterLoadHooks=[],this.applicationProperties=null,this.clippingArea=null,this.clippingEnabled=!1,this.floorInfo=null,this.heightModelInfo=void 0,this.sourceVersion=null,this.transportationNetworks=null,this.presentation=new Y,this.initialViewProperties=new X,this.portalItem=null,this.resourceInfo=null,this.widgets=null,this._debouncedSaveOperations=m(async(e,t,r)=>{switch(e){case 0:return this._saveImpl(t);case 1:return this._saveAsImpl(r,t)}}),this._loadContext={origin:"web-scene",initiator:this,hooks:{onAfterLoad:e=>this._afterLoadHooks.push(e)}},this._resourceReferences={portalItem:null,paths:[]},this.authoringApp=null,this.authoringAppVersion=null,this._isAuthoringAppSetByUser=!1,this._isAuthoringAppVersionSetByUser=!1}initialize(){if(this.when().catch(e=>{p.getLogger(this).error("#load()","Failed to load web scene",e)}),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t),this.addResolvingPromise(this._validateSpatialReference()),this.addResolvingPromise(this._validateHeightModelInfo())}this.addHandles(y(()=>this.allLayers,"change",()=>this._scheduleLayersIdGC()))}destroy(){this._unscheduleLayersIdGC(),this.presentation&&this.presentation.destroy(),this.portalItem=d(this.portalItem)}writeClippingArea(e,t){t.clippingArea||(t.clippingArea={}),t.clippingArea.geometry=e.toJSON()}readClippingEnabled(e,t){return!!t.clippingArea&&!!t.clippingArea.clip}writeClippingEnabled(e,t){this.clippingArea&&(t.clippingArea||(t.clippingArea={}),t.clippingArea.clip=e)}writeLayers(e,t,r,i){t[r]=this._layersToJSON(e,"operational-layers",i)}get loaded(){return super.loaded}readSourceVersion(e,t){const[r,i]=t.version.split(".");return new ee(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${ae.major}.${ae.minor}`}writeTables(e,t,r,i){const o=this._layersToJSON(e,"tables",i);o.length&&(t[r]=o)}get thumbnailUrl(){return this.portalItem?.thumbnailUrl??null}set thumbnailUrl(e){e?this._override("thumbnailUrl",e):(this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set("authoringApp",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp="ArcGIS API for JavaScript"}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set("authoringAppVersion",e)}writeAuthoringAppVersion(e,t){e&&this._isAuthoringAppVersionSetByUser?t.authoringAppVersion=e:t.authoringAppVersion=r}get ground(){return this._get("ground")}set ground(e){const t=x(e);null!=t&&this._set("ground",t)}writeGround(e,t,r,i){t[r]=e?e.write({},i):{transparency:0,layers:[]}}readInitialViewProperties(e,t,r){const{viewingMode:i,spatialReference:o}=t,s=new X,a={...t.initialState};return void 0!==o&&(a.spatialReference=o),void 0!==i&&(a.viewingMode=i),s.read(a,r),s}get spatialReference(){return this.initialViewProperties?.spatialReference??R.WebMercator}get viewingMode(){return this.initialViewProperties?.viewingMode??"global"}load(e){const t=this.ground;return this.addResolvingPromise(this._loadFromSource().then(()=>{t&&t!==this.ground&&t.destroy(),this._validateFeatureLayerSymbolVisibility(),this._validateUndergroundColor()})),Promise.resolve(this)}loadAll(){return l(this,e=>{const t=this.presentation&&this.presentation.slides;e(this.ground,this.basemap,this.layers,t&&t.map(e=>e.basemap),this.tables)})}read(e,t){t??=this._loadContext,t.origin="web-scene";const r=this._isAuthoringAppVersionSetByUser,i=this._isAuthoringAppSetByUser;if(A(this,e,t=>super.read(e,t),t),i||(this._isAuthoringAppSetByUser=!1),r||(this._isAuthoringAppVersionSetByUser=!1),e.baseMap&&Array.isArray(e.baseMap.elevationLayers)&&this.sourceVersion?.supportsVisibleElevationLayersInSlides){const t=e.baseMap.elevationLayers.map(e=>({id:e.id})),r=this.presentation.slides,i=t.filter(e=>!r.some(t=>t.visibleLayers.some(t=>t.id===e.id)));r.forEach(e=>e.visibleLayers.addMany(i))}}_writeBasemapElevationLayers(e){const t=e.ground?.layers;!e.baseMap&&t?.length&&(e.baseMap={title:"Basemap",baseMapLayers:[]}),e.baseMap&&(e.baseMap.elevationLayers=a(t))}_layersToJSON(e,t,r){const i={...r,layerContainerType:t};return e.map(e=>this._verifyWritableLayer(e,r)?e.write({},i):null).filter(e=>!!e).toArray()}_verifyWritableLayer(e,t){return!!e.persistenceEnabled&&("write"in e||(t?.messages?.push(new s("layer:unsupported",`Layers (${e.title}, ${e.id}) of type '${e.declaredClass}' cannot be persisted in web scenes`,{layer:e})),!1))}write(e,t){if("loaded"!==this.loadStatus){const e=new s("webscene:not-loaded","Web scene must be loaded before it can be serialized");throw p.getLogger(this).error("#toJSON()","Web scene must be loaded before it can be serialized",this.loadError||this.loadStatus),e}this._runLayersIdGC();const r=!t?.messages;t={messages:[],...t,origin:"web-scene"};const i=super.write(e,t);if(r){const e=t.messages?.filter(e=>"web-document-write:property-required"===e.name)??[];if(e.length){const t=new s("web-document:property-required","One or more properties that are required in the webscene JSON are missing, see details for the specific errors",{errors:e});throw p.getLogger(this).error("#toJSON()","One or more properties that are required in the webscene JSON are missing",e),t}}return this._writeBasemapElevationLayers(i),i}async save(e){return this._debouncedSaveOperations(0,e)}async _saveImpl(e){if(!this.portalItem)throw new s("webscene:portal-item-not-set","Portal item to save to has not been set on the WebScene");if(this.portalItem?.type!==le)throw new s("webscene:portal-item-wrong-type",`Portal item needs to have type "${le}"`);const t=this._updateFromPromise;await this._ensureLoadBeforeSave();const r=this._enableVerifyItemRelativeUrls(C(this.portalItem,"web-scene",!0)),i=this.write({},r);return await Promise.all(r.resources.pendingOperations),await this._verifySave(i,r,0,e),this._updateTypeKeywords(this.portalItem),await k(this.portalItem,i,this._resourceReferences,r),S(r),t&&await t,await this._saveThumbnail(),this.portalItem}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}async _saveAsImpl(e,t){let r=M.from(e);if(!r)throw new s("webscene:portal-item-required","saveAs requires a portal item to save to");r.id&&(r=r.clone(),r.id=null);const i=r.portal||O.getDefault();await this._ensureLoadBeforeSave(),r.type=le,r.portal=i;const o=this._enableVerifyItemRelativeUrls(C(r,"web-scene",!0)),a=this.write({},o);await Promise.all(o.resources.pendingOperations),await this._verifySaveAs(a,o,t);const n=this.thumbnailUrl,l=!this._isOverridden("thumbnailUrl");this._updateTypeKeywords(r),await i.signIn();const p=this.portalItem,d={item:p,authenticated:!(!p?.id||!p.portal.user)},{copyAllowed:c,itemReloaded:u}=await D(d,i);if(d.authenticated||=u,!c)throw new s(`${o.name}:save-as-copy-not-allowed`,"Owner of this map does not allow others to save a copy");const m={...t,copyAllResources:!0};return await z(r,d,a,m)&&(this._resourceReferences.portalItem=r),await B(this._resourceReferences,o),this.portalItem=r,h.prototype.read.call(this,{version:a.version,authoringApp:a.authoringApp,authoringAppVersion:a.authoringAppVersion},{name:"web-scene",ignoreDefaults:!0,url:r.itemUrl?f(r.itemUrl):void 0}),S(o),n&&(this.thumbnailUrl=l?g(n,"w","8192"):n),o.portalItem=r,await this._saveThumbnail(),r}async _saveThumbnail(){this._isOverridden("thumbnailUrl")&&(await(this.portalItem?.updateThumbnail({thumbnail:this.thumbnailUrl})),this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}async _verifySave(e,t,r,i){if(!V(this.spatialReference))throw new s("webscene:unsupported-spatial-reference","Webscenes using spatial reference systems from Mars or Moon can not be saved currently.");const{ignoreUnsupported:o,requiredPropertyChecksDisabled:a,strictSchemaValidationEnabled:n}=i||{};q(t,{errorName:"webscene:save"},{ignoreUnsupported:o,supplementalUnsupportedErrors:["scenemodification:unsupported"],requiredPropertyChecksDisabled:a});const l=re();if(n&&l){const t=(await l()).validate(e);if(!t.length)return;const i=`webscene did not validate:\n${t.join("\n")}`;p.getLogger(this).error(`${1===r?"saveAs":"save"}(): ${i}`);const o=t.map(e=>new s("webscene:schema-validation",e));throw W(o)}}_verifySaveAs(e,t,r){return this._verifySave(e,t,1,r)}verifySaveAs(e){const t=this._enableVerifyItemRelativeUrls({origin:"web-scene",messages:[]}),r=this.write({},t);return this._verifySaveAs(r,t,e)}canNotSaveAs(){return!1}async updateFrom(e,t={}){const r=this._updateFrom(e,t);this._updateFromPromise=r,await r;this._updateFromPromise===r&&(this._updateFromPromise=null)}async _updateFrom(e,t={}){if(await e.whenReady(),!t.environmentExcluded&&e.environment&&(this.initialViewProperties.environment=Q.prototype.clone.apply(e.environment)),!t.viewpointExcluded&&e.viewpoint&&(this.initialViewProperties.viewpoint=e.viewpoint.clone()),this.initialViewProperties.spatialReference=e.spatialReference.clone(),this.initialViewProperties.viewingMode=e.viewingMode,this.initialViewProperties.timeExtent=e.timeExtent?.clone()??null,this.initialViewProperties.analyses.updateFrom(e),null!=e.clippingArea?e.clippingArea!==this.clippingArea&&(this.clippingArea=e.clippingArea.clone(),this.clippingEnabled=!0):this.clippingEnabled=!1,e.heightModelInfo&&(this.heightModelInfo=e.heightModelInfo.clone()),e.map===this)for(const r of e.allLayerViews){const e="visible";e in r&&e in r.layer&&r._isOverridden(e)&&(r.layer[e]=r[e])}if(!t.widgetsExcluded)for(const r of e.persistableViewModels)r.updateWebDocument(this);(!1===t.thumbnailExcluded||null==t.thumbnailExcluded&&!t.viewpointExcluded)&&await this.updateThumbnail(e,{size:t.thumbnailSize})}async updateThumbnail(e,t){const r=H(e,t?.size),i=await e.takeScreenshot({format:"jpg",width:r.width,height:r.height,disableDecorations:!0});this.thumbnailUrl=i.dataUrl}async _loadFromSource(){this.resourceInfo?await this._loadFromJSON(this.resourceInfo):this.portalItem?.id?await this._loadFromItem(this.portalItem):await this._loadObjectsWithLayers(),await this._afterLoad()}async _afterLoad(){for(;this._afterLoadHooks.length;){const e=this._afterLoadHooks.slice();this._afterLoadHooks.length=0,await Promise.allSettled(e.map(e=>e(this._loadContext)))}}_readAndLoadFromJSON(e){const t=this._loadContext,r=this._validateJSON(e);return this.read(r,t),this._loadFromJSON(r)}_extractOperationalLayers(e){const t=[];if(!this.sourceVersion?.supportsGround&&e.baseMap&&Array.isArray(e.baseMap.elevationLayers))for(const o of e.baseMap.elevationLayers)t.push(o);const r=[],i=e=>(e.layers&&(e.layers=e.layers.filter(i)),"ArcGISTiledElevationServiceLayer"!==e.layerType||(this.sourceVersion?.supportsGround||r.push(e),!1));return{operationalLayers:e.operationalLayers?e.operationalLayers.filter(i):[],operationalElevationLayers:r,basemapElevationLayers:t}}async _loadFromJSON(e){const t=new o;await this._validateSpatialReference(),await this._validateHeightModelInfo();const{populateOperationalLayers:r}=await import("./layers/support/layersCreator.js"),{operationalLayers:i,operationalElevationLayers:s,basemapElevationLayers:a}=this._extractOperationalLayers(e),n=[],l={context:{...this._loadContext,layerContainerType:"operational-layers"}};if(this.portalItem&&(l.context.portal=this.portalItem.portal||O.getDefault()),a.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(r(this.ground.layers,a,e))}if(s.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(r(t,s,e))}i&&i.length>0&&n.push(r(this.layers,i,l)),e.tables?.length&&n.push(r(this.tables,e.tables,{...l,context:{...l.context,layerContainerType:"tables"},defaultLayerType:"ArcGISFeatureLayer"})),await Promise.allSettled(n),await this._loadObjectsWithLayers(),this.ground.layers.addMany(t.filter(e=>"base-elevation"===e.type||"elevation"===e.type))}async _ensureLoadBeforeSave(){await this.load(),await this._loadObjectsWithLayers();const e=[],t=[...this.allLayers.items];for(const{basemap:r}of this.presentation.slides.items)r&&(t.push(...r.baseLayers.items),t.push(...r.groundLayers.items),t.push(...r.referenceLayers.items));for(const r of t)if("beforeSave"in r&&"function"==typeof r.beforeSave){const t=r.beforeSave();t&&e.push(t)}await Promise.allSettled(e)}async _loadObjectsWithLayers(){const e=[];this.ground&&e.push(this.ground.load()),this.basemap&&e.push(this.basemap.load()),this.presentation.slides.forEach(t=>{t.basemap&&e.push(t.basemap.load())}),await Promise.allSettled(e)}async _loadFromItem(e){if(await e.load().catch(e=>{throw new s("webscene:load-portal-item","Failed to load portal item",{error:e})}),"Web Scene"!==e.type)throw new s("webscene:invalid-portal-item","Invalid portal item type '${type}', expected 'Web Scene'",{type:e.type});const t=await e.fetchData();this.resourceInfo=t;const r=this._loadContext;r.url=f(e.itemUrl),r.portal=e.portal||O.getDefault(),r.portalItem=e,r.readResourcePaths=[],await this._readAndLoadFromJSON(t),this._resourceReferences={portalItem:e,paths:r.readResourcePaths??[]}}_validateSpatialReference(){const e=this.initialViewProperties,t=this._sceneSpatialReference;let r;if("local"!==e.viewingMode){if(!$(t,1))return Promise.reject(new s("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in global mode, only Web Mercator, WGS84 GCS or CGCS2000 are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||L(e,t)}else{if(!$(t,2))return Promise.reject(new s("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in local mode, only projected coordinate systems are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||e.equals(t)}const i=e=>e?.camera?.position.spatialReference??e?.targetGeometry?.spatialReference,o=e.viewpoint,a=i(o);if(a&&!r(a))return Promise.reject(new s("webscene:incompatible-camera-spatial-reference","Camera spatial reference (${cameraSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{cameraSpatialReference:a,sceneSpatialReference:t,viewingMode:e.viewingMode}));const n=this.presentation.slides.find(e=>!r(i(e.viewpoint)));if(n){const r=i(n.viewpoint);return Promise.reject(new s("webscene:incompatible-slide-spatial-reference","Slide spatial reference (${slideSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{slideSpatialReference:r,sceneSpatialReference:t,viewingMode:e.viewingMode}))}return Promise.resolve()}_validateHeightModelInfo(){const e=this._sceneSpatialReference,t=P(this.heightModelInfo,e);return t?Promise.reject(t):Promise.resolve()}_validateFeatureLayerSymbolVisibility(){this.sourceVersion?.greaterEqual(1,35)||this.layers.forEach(e=>{"feature"===e.type&&e.addHandles(w(()=>e.loaded,()=>{"on-the-ground"===e.elevationInfo?.mode&&"simple"===e.renderer?.type&&"polygon-3d"===e.renderer.symbol?.type&&e.renderer.symbol.symbolLayers.some(t=>"fill"===t.type&&null!=t.material&&((!t.material.color||t.material.color.a*e.opacity<te)&&(e.loadWarnings.push(new b("feature-layer:invisible-draped-symbols","FeatureLayer has fully transparent symbols which will no longer render or highlight",{layer:e})),!0)))},{once:!0,sync:!0}))})}_validateUndergroundColor(){void 0===this.ground.undergroundColor&&this.sourceVersion?.lessThan(1,39)&&(this.ground.undergroundColor=new t("white"))}_validateJSON(e){const t=ee.parse(e.version||"","webscene");return ae.validate(t),e.version=`${t.major}.${t.minor}`,1===t.major&&t.minor<=2&&(e.spatialReference=R.WebMercator.toJSON()),e}_updateTypeKeywords(e){E(e,T.LOCAL_SCENE,"local"===this.initialViewProperties.viewingMode),E(e,T.DEVELOPER_BASEMAP,N(this.basemap)||this.presentation.slides.some(({basemap:e})=>!!e&&N(e))),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e,t,r)=>r.indexOf(e)===t))}get _sceneSpatialReference(){return this.initialViewProperties.spatialReference||R.WebMercator}get _verifyItemRelativeRootPath(){return this.portalItem?.itemUrl?f(this.portalItem.itemUrl).path:null}_enableVerifyItemRelativeUrls(e){const t=this._verifyItemRelativeRootPath;return t&&(e.verifyItemRelativeUrls={rootPath:t,writtenUrls:[]}),e}_unscheduleLayersIdGC(){this._layersIdGCTimeoutId&&(clearTimeout(this._layersIdGCTimeoutId),this._layersIdGCTimeoutId=0)}_scheduleLayersIdGC(){this._unscheduleLayersIdGC(),this._layersIdGCTimeoutId=setTimeout(()=>{this._layersIdGCTimeoutId=0,this._runLayersIdGC()},3e3)}_runLayersIdGC(){this._unscheduleLayersIdGC();const e=this.applicationProperties?.viewing?.search,t=e=>this.allLayers.some(t=>t.id===e&&t.persistenceEnabled);e?.layers&&(e.layers=e.layers.filter(e=>t(e.id)));const r=this.presentation&&this.presentation.slides;r&&r.forEach(e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter(e=>t(e.id)))})}static fromJSON(e){if(!e)throw new s("webscene:empty-resource","Expected a JSON resource but got nothing");return new this({resourceInfo:e})}static{this.version=`${ae.major}.${ae.minor}`}};e([v({type:K,json:{write:!0}})],pe.prototype,"applicationProperties",void 0),e([v({type:I,json:{read:{source:"clippingArea.geometry",reader:U},write:{target:"clippingArea.geometry"}}})],pe.prototype,"clippingArea",void 0),e([ie("clippingArea")],pe.prototype,"writeClippingArea",null),e([v({type:Boolean,json:{write:{target:"clippingArea.clip"}}})],pe.prototype,"clippingEnabled",void 0),e([oe("clippingEnabled",["clippingArea"])],pe.prototype,"readClippingEnabled",null),e([ie("clippingEnabled")],pe.prototype,"writeClippingEnabled",null),e([v({type:G,json:{read:{source:"mapFloorInfo"},write:{target:"mapFloorInfo"}}})],pe.prototype,"floorInfo",void 0),e([v({type:j,json:{write:!0}})],pe.prototype,"heightModelInfo",void 0),e([v({json:{write:{target:"operationalLayers",ignoreOrigin:!0}}})],pe.prototype,"layers",void 0),e([ie("layers")],pe.prototype,"writeLayers",null),e([v({readOnly:!0,type:ee,json:{type:ne(),write:{ignoreOrigin:!0,target:"version",isRequired:!0,overridePolicy:()=>({enabled:!0,allowNull:!0,ignoreOrigin:!0})}}})],pe.prototype,"sourceVersion",void 0),e([oe("sourceVersion",["version"])],pe.prototype,"readSourceVersion",null),e([ie("sourceVersion")],pe.prototype,"writeSourceVersion",null),e([v({json:{read:!1,write:{enabled:!0,ignoreOrigin:!0}}})],pe.prototype,"tables",void 0),e([ie("tables")],pe.prototype,"writeTables",null),e([v()],pe.prototype,"thumbnailUrl",null),e([v({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],pe.prototype,"authoringApp",null),e([ie("authoringApp")],pe.prototype,"writeAuthoringApp",null),e([v({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],pe.prototype,"authoringAppVersion",null),e([ie("authoringAppVersion")],pe.prototype,"writeAuthoringAppVersion",null),e([v({json:{write:{isRequired:!0,enabled:!0,overridePolicy:()=>({isRequired:!0,enabled:!0,allowNull:!0,ignoreOrigin:!0})}}})],pe.prototype,"ground",null),e([ie("ground")],pe.prototype,"writeGround",null),e([v({type:o.ofType(Z),json:{write:!0}})],pe.prototype,"transportationNetworks",void 0),e([v({type:Y,nonNullable:!0,json:{write:{ignoreOrigin:!0,writer:(e,t,r,i)=>{if(e.slides&&e.slides.length>0){const r={...i,isPresentation:!0};t.presentation=e.write({},r)}}}}})],pe.prototype,"presentation",void 0),e([v({type:X,nonNullable:!0,json:{write:{target:"initialState",isRequired:!0,ignoreOrigin:!0},default:()=>new X({viewingMode:"global",spatialReference:R.WebMercator})}})],pe.prototype,"initialViewProperties",void 0),e([oe("initialViewProperties",["initialState","spatialReference","viewingMode"])],pe.prototype,"readInitialViewProperties",null),e([v({type:R,json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],pe.prototype,"spatialReference",null),e([v({type:["local","global"],json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],pe.prototype,"viewingMode",null),e([v({type:M})],pe.prototype,"portalItem",void 0),e([v()],pe.prototype,"resourceInfo",void 0),e([v({type:J,json:{write:!0}})],pe.prototype,"widgets",void 0),pe=e([_("esri.WebScene")],pe);const de=pe;export{de as default};
5
+ import{__decorate as e}from"tslib";import{version as t}from"./kernel.js";import r from"./Map.js";import i from"./core/Collection.js";import o from"./core/Error.js";import{clone as s}from"./core/lang.js";import{LoadableMixin as a}from"./core/Loadable.js";import{loadAll as n}from"./core/loadAll.js";import l from"./core/Logger.js";import{destroyMaybe as p}from"./core/maybe.js";import{MultiOriginJSONSupportMixin as c,MultiOriginJSONSupport as d}from"./core/MultiOriginJSONSupport.js";import{EsriPromiseMixin as h}from"./core/Promise.js";import{debounce as u}from"./core/promiseUtils.js";import{on as m,watch as y}from"./core/reactiveUtils.js";import{urlToObject as w,addQueryParameter as f}from"./core/urlUtils.js";import g from"./core/Warning.js";import{property as b,subclass as v}from"./core/accessorSupport/decorators.js";import{updateOrigins as _}from"./core/accessorSupport/originUtils.js";import{readLoadable as S}from"./core/accessorSupport/read.js";import{isEarth as A}from"./geometry/ellipsoidUtils.js";import I from"./geometry/Extent.js";import j from"./geometry/HeightModelInfo.js";import{canProjectWithoutEngine as L}from"./geometry/projectionUtils.js";import P from"./geometry/SpatialReference.js";import{validateWebSceneError as R}from"./geometry/support/heightModelInfoUtils.js";import{fromJSON as U}from"./geometry/support/jsonUtils.js";import V from"./portal/Portal.js";import O from"./portal/PortalItem.js";import{createForItemWrite as M}from"./portal/support/jsonContext.js";import{toggleTypeKeyword as E,typeKeyword as C}from"./portal/support/portalItemUtils.js";import{hasDeveloperBasemapLayer as T}from"./support/basemapUtils.js";import{ensureType as N}from"./support/groundUtils.js";import x from"./support/MapFloorInfo.js";import{WebSceneTag as G}from"./support/tagSymbols.js";import{createSchemaValidationError as F}from"./support/webSceneUtils.js";import{isSpatialReferenceSupported as W}from"./views/support/spatialReferenceSupport.js";import $ from"./webdoc/Widgets.js";import{updateItemWithResources as J,saveResources as k}from"./webdoc/support/resourceUtils.js";import{evaluateWriteErrors as B}from"./webdoc/support/saveUtils.js";import{getOptimalThumbnailSize as q}from"./webdoc/support/thumbnailUtils.js";import{isCopyAllowed as H,initializeNewItem as D}from"./webdoc/support/webdocSaveUtils.js";import z from"./webscene/ApplicationProperties.js";import K from"./webscene/Environment.js";import Q from"./webscene/InitialViewProperties.js";import X from"./webscene/Presentation.js";import Y from"./webscene/TransportationNetwork.js";import Z from"./webscene/Version.js";import{alphaCutoff as ee}from"./webscene/support/AlphaCutoff.js";import{getLoader as te}from"./webscene/support/schemaValidatorLoader.js";import{writer as re}from"./core/accessorSupport/decorators/writer.js";import{reader as ie}from"./core/accessorSupport/decorators/reader.js";var oe;const se=new Z(1,39),ae=()=>{const e=8,t=[],r=se.major;for(let i=e;i<=se.minor;i++)t.push(`${r}.${i}`);return t},ne="Web Scene";let le=class extends(a(h(c(r)))){static{oe=G}constructor(e){super(e),this[oe]=!0,this._layersIdGCTimeoutId=void 0,this._updateFromPromise=null,this._afterLoadHooks=[],this.applicationProperties=null,this.clippingArea=null,this.clippingEnabled=!1,this.floorInfo=null,this.heightModelInfo=void 0,this.sourceVersion=null,this.transportationNetworks=null,this.presentation=new X,this.initialViewProperties=new Q,this.portalItem=null,this.resourceInfo=null,this.widgets=null,this._debouncedSaveOperations=u(async(e,t,r)=>{switch(e){case 0:return this._saveImpl(t);case 1:return this._saveAsImpl(r,t)}}),this._loadContext={origin:"web-scene",initiator:this,hooks:{onAfterLoad:e=>this._afterLoadHooks.push(e)}},this._resourceReferences={portalItem:null,paths:[]},this.authoringApp=null,this.authoringAppVersion=null,this._isAuthoringAppSetByUser=!1,this._isAuthoringAppVersionSetByUser=!1}initialize(){if(this.when().catch(e=>{l.getLogger(this).error("#load()","Failed to load web scene",e)}),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t),this.addResolvingPromise(this._validateSpatialReference()),this.addResolvingPromise(this._validateHeightModelInfo())}this.addHandles(m(()=>this.allLayers,"change",()=>this._scheduleLayersIdGC()))}destroy(){this._unscheduleLayersIdGC(),this.presentation&&this.presentation.destroy(),this.portalItem=p(this.portalItem)}writeClippingArea(e,t){t.clippingArea||(t.clippingArea={}),t.clippingArea.geometry=e.toJSON()}readClippingEnabled(e,t){return!!t.clippingArea&&!!t.clippingArea.clip}writeClippingEnabled(e,t){this.clippingArea&&(t.clippingArea||(t.clippingArea={}),t.clippingArea.clip=e)}writeLayers(e,t,r,i){t[r]=this._layersToJSON(e,"operational-layers",i)}get loaded(){return super.loaded}readSourceVersion(e,t){const[r,i]=t.version.split(".");return new Z(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${se.major}.${se.minor}`}writeTables(e,t,r,i){const o=this._layersToJSON(e,"tables",i);o.length&&(t[r]=o)}get thumbnailUrl(){return this.portalItem?.thumbnailUrl??null}set thumbnailUrl(e){e?this._override("thumbnailUrl",e):(this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set("authoringApp",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp="ArcGIS API for JavaScript"}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set("authoringAppVersion",e)}writeAuthoringAppVersion(e,r){e&&this._isAuthoringAppVersionSetByUser?r.authoringAppVersion=e:r.authoringAppVersion=t}get ground(){return this._get("ground")}set ground(e){const t=N(e);null!=t&&this._set("ground",t)}writeGround(e,t,r,i){t[r]=e?e.write({},i):{transparency:0,layers:[]}}readInitialViewProperties(e,t,r){const{viewingMode:i,spatialReference:o}=t,s=new Q,a={...t.initialState};return void 0!==o&&(a.spatialReference=o),void 0!==i&&(a.viewingMode=i),s.read(a,r),s}get spatialReference(){return this.initialViewProperties?.spatialReference??P.WebMercator}get viewingMode(){return this.initialViewProperties?.viewingMode??"global"}load(e){const t=this.ground;return this.addResolvingPromise(this._loadFromSource().then(()=>{t&&t!==this.ground&&t.destroy(),this._validateFeatureLayerSymbolVisibility()})),Promise.resolve(this)}loadAll(){return n(this,e=>{const t=this.presentation&&this.presentation.slides;e(this.ground,this.basemap,this.layers,t&&t.map(e=>e.basemap),this.tables)})}read(e,t){t??=this._loadContext,t.origin="web-scene";const r=this._isAuthoringAppVersionSetByUser,i=this._isAuthoringAppSetByUser;if(S(this,e,t=>super.read(e,t),t),i||(this._isAuthoringAppSetByUser=!1),r||(this._isAuthoringAppVersionSetByUser=!1),e.baseMap&&Array.isArray(e.baseMap.elevationLayers)&&this.sourceVersion?.supportsVisibleElevationLayersInSlides){const t=e.baseMap.elevationLayers.map(e=>({id:e.id})),r=this.presentation.slides,i=t.filter(e=>!r.some(t=>t.visibleLayers.some(t=>t.id===e.id)));r.forEach(e=>e.visibleLayers.addMany(i))}}_writeBasemapElevationLayers(e){const t=e.ground?.layers;!e.baseMap&&t?.length&&(e.baseMap={title:"Basemap",baseMapLayers:[]}),e.baseMap&&(e.baseMap.elevationLayers=s(t))}_layersToJSON(e,t,r){const i={...r,layerContainerType:t};return e.map(e=>this._verifyWritableLayer(e,r)?e.write({},i):null).filter(e=>!!e).toArray()}_verifyWritableLayer(e,t){return!!e.persistenceEnabled&&("write"in e||(t?.messages?.push(new o("layer:unsupported",`Layers (${e.title}, ${e.id}) of type '${e.declaredClass}' cannot be persisted in web scenes`,{layer:e})),!1))}write(e,t){if("loaded"!==this.loadStatus){const e=new o("webscene:not-loaded","Web scene must be loaded before it can be serialized");throw l.getLogger(this).error("#toJSON()","Web scene must be loaded before it can be serialized",this.loadError||this.loadStatus),e}this._runLayersIdGC();const r=!t?.messages;t={messages:[],...t,origin:"web-scene"};const i=super.write(e,t);if(r){const e=t.messages?.filter(e=>"web-document-write:property-required"===e.name)??[];if(e.length){const t=new o("web-document:property-required","One or more properties that are required in the webscene JSON are missing, see details for the specific errors",{errors:e});throw l.getLogger(this).error("#toJSON()","One or more properties that are required in the webscene JSON are missing",e),t}}return this._writeBasemapElevationLayers(i),i}async save(e){return this._debouncedSaveOperations(0,e)}async _saveImpl(e){if(!this.portalItem)throw new o("webscene:portal-item-not-set","Portal item to save to has not been set on the WebScene");if(this.portalItem?.type!==ne)throw new o("webscene:portal-item-wrong-type",`Portal item needs to have type "${ne}"`);const t=this._updateFromPromise;await this._ensureLoadBeforeSave();const r=this._enableVerifyItemRelativeUrls(M(this.portalItem,"web-scene",!0)),i=this.write({},r);return await Promise.all(r.resources.pendingOperations),await this._verifySave(i,r,0,e),this._updateTypeKeywords(this.portalItem),await J(this.portalItem,i,this._resourceReferences,r),_(r),t&&await t,await this._saveThumbnail(),this.portalItem}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}async _saveAsImpl(e,t){let r=O.from(e);if(!r)throw new o("webscene:portal-item-required","saveAs requires a portal item to save to");r.id&&(r=r.clone(),r.id=null);const i=r.portal||V.getDefault();await this._ensureLoadBeforeSave(),r.type=ne,r.portal=i;const s=this._enableVerifyItemRelativeUrls(M(r,"web-scene",!0)),a=this.write({},s);await Promise.all(s.resources.pendingOperations),await this._verifySaveAs(a,s,t);const n=this.thumbnailUrl,l=!this._isOverridden("thumbnailUrl");this._updateTypeKeywords(r),await i.signIn();const p=this.portalItem,c={item:p,authenticated:!(!p?.id||!p.portal.user)},{copyAllowed:h,itemReloaded:u}=await H(c,i);if(c.authenticated||=u,!h)throw new o(`${s.name}:save-as-copy-not-allowed`,"Owner of this map does not allow others to save a copy");const m={...t,copyAllResources:!0};return await D(r,c,a,m)&&(this._resourceReferences.portalItem=r),await k(this._resourceReferences,s),this.portalItem=r,d.prototype.read.call(this,{version:a.version,authoringApp:a.authoringApp,authoringAppVersion:a.authoringAppVersion},{name:"web-scene",ignoreDefaults:!0,url:r.itemUrl?w(r.itemUrl):void 0}),_(s),n&&(this.thumbnailUrl=l?f(n,"w","8192"):n),s.portalItem=r,await this._saveThumbnail(),r}async _saveThumbnail(){this._isOverridden("thumbnailUrl")&&(await(this.portalItem?.updateThumbnail({thumbnail:this.thumbnailUrl})),this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}async _verifySave(e,t,r,i){if(!A(this.spatialReference))throw new o("webscene:unsupported-spatial-reference","Webscenes using spatial reference systems from Mars or Moon can not be saved currently.");const{ignoreUnsupported:s,requiredPropertyChecksDisabled:a,strictSchemaValidationEnabled:n}=i||{};B(t,{errorName:"webscene:save"},{ignoreUnsupported:s,supplementalUnsupportedErrors:["scenemodification:unsupported"],requiredPropertyChecksDisabled:a});const p=te();if(n&&p){const t=(await p()).validate(e);if(!t.length)return;const i=`webscene did not validate:\n${t.join("\n")}`;l.getLogger(this).error(`${1===r?"saveAs":"save"}(): ${i}`);const s=t.map(e=>new o("webscene:schema-validation",e));throw F(s)}}_verifySaveAs(e,t,r){return this._verifySave(e,t,1,r)}verifySaveAs(e){const t=this._enableVerifyItemRelativeUrls({origin:"web-scene",messages:[]}),r=this.write({},t);return this._verifySaveAs(r,t,e)}canNotSaveAs(){return!1}async updateFrom(e,t={}){const r=this._updateFrom(e,t);this._updateFromPromise=r,await r;this._updateFromPromise===r&&(this._updateFromPromise=null)}async _updateFrom(e,t={}){if(await e.whenReady(),!t.environmentExcluded&&e.environment&&(this.initialViewProperties.environment=K.prototype.clone.apply(e.environment)),!t.viewpointExcluded&&e.viewpoint&&(this.initialViewProperties.viewpoint=e.viewpoint.clone()),this.initialViewProperties.spatialReference=e.spatialReference.clone(),this.initialViewProperties.viewingMode=e.viewingMode,this.initialViewProperties.timeExtent=e.timeExtent?.clone()??null,this.initialViewProperties.analyses.updateFrom(e),null!=e.clippingArea?e.clippingArea!==this.clippingArea&&(this.clippingArea=e.clippingArea.clone(),this.clippingEnabled=!0):this.clippingEnabled=!1,e.heightModelInfo&&(this.heightModelInfo=e.heightModelInfo.clone()),e.map===this)for(const r of e.allLayerViews){const e="visible";e in r&&e in r.layer&&r._isOverridden(e)&&(r.layer[e]=r[e])}if(!t.widgetsExcluded)for(const r of e.persistableViewModels)r.updateWebDocument(this);(!1===t.thumbnailExcluded||null==t.thumbnailExcluded&&!t.viewpointExcluded)&&await this.updateThumbnail(e,{size:t.thumbnailSize})}async updateThumbnail(e,t){const r=q(e,t?.size),i=await e.takeScreenshot({format:"jpg",width:r.width,height:r.height,disableDecorations:!0});this.thumbnailUrl=i.dataUrl}async _loadFromSource(){this.resourceInfo?await this._loadFromJSON(this.resourceInfo):this.portalItem?.id?await this._loadFromItem(this.portalItem):await this._loadObjectsWithLayers(),await this._afterLoad()}async _afterLoad(){for(;this._afterLoadHooks.length;){const e=this._afterLoadHooks.slice();this._afterLoadHooks.length=0,await Promise.allSettled(e.map(e=>e(this._loadContext)))}}_readAndLoadFromJSON(e){const t=this._loadContext,r=this._validateJSON(e);return this.read(r,t),this._loadFromJSON(r)}_extractOperationalLayers(e){const t=[];if(!this.sourceVersion?.supportsGround&&e.baseMap&&Array.isArray(e.baseMap.elevationLayers))for(const o of e.baseMap.elevationLayers)t.push(o);const r=[],i=e=>(e.layers&&(e.layers=e.layers.filter(i)),"ArcGISTiledElevationServiceLayer"!==e.layerType||(this.sourceVersion?.supportsGround||r.push(e),!1));return{operationalLayers:e.operationalLayers?e.operationalLayers.filter(i):[],operationalElevationLayers:r,basemapElevationLayers:t}}async _loadFromJSON(e){const t=new i;await this._validateSpatialReference(),await this._validateHeightModelInfo();const{populateOperationalLayers:r}=await import("./layers/support/layersCreator.js"),{operationalLayers:o,operationalElevationLayers:s,basemapElevationLayers:a}=this._extractOperationalLayers(e),n=[],l={context:{...this._loadContext,layerContainerType:"operational-layers"}};if(this.portalItem&&(l.context.portal=this.portalItem.portal||V.getDefault()),a.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(r(this.ground.layers,a,e))}if(s.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(r(t,s,e))}o&&o.length>0&&n.push(r(this.layers,o,l)),e.tables?.length&&n.push(r(this.tables,e.tables,{...l,context:{...l.context,layerContainerType:"tables"},defaultLayerType:"ArcGISFeatureLayer"})),await Promise.allSettled(n),await this._loadObjectsWithLayers(),this.ground.layers.addMany(t.filter(e=>"base-elevation"===e.type||"elevation"===e.type))}async _ensureLoadBeforeSave(){await this.load(),await this._loadObjectsWithLayers();const e=[],t=[...this.allLayers.items];for(const{basemap:r}of this.presentation.slides.items)r&&(t.push(...r.baseLayers.items),t.push(...r.groundLayers.items),t.push(...r.referenceLayers.items));for(const r of t)if("beforeSave"in r&&"function"==typeof r.beforeSave){const t=r.beforeSave();t&&e.push(t)}await Promise.allSettled(e)}async _loadObjectsWithLayers(){const e=[];this.ground&&e.push(this.ground.load()),this.basemap&&e.push(this.basemap.load()),this.presentation.slides.forEach(t=>{t.basemap&&e.push(t.basemap.load())}),await Promise.allSettled(e)}async _loadFromItem(e){if(await e.load().catch(e=>{throw new o("webscene:load-portal-item","Failed to load portal item",{error:e})}),"Web Scene"!==e.type)throw new o("webscene:invalid-portal-item","Invalid portal item type '${type}', expected 'Web Scene'",{type:e.type});const t=await e.fetchData();this.resourceInfo=t;const r=this._loadContext;r.url=w(e.itemUrl),r.portal=e.portal||V.getDefault(),r.portalItem=e,r.readResourcePaths=[],await this._readAndLoadFromJSON(t),this._resourceReferences={portalItem:e,paths:r.readResourcePaths??[]}}_validateSpatialReference(){const e=this.initialViewProperties,t=this._sceneSpatialReference;let r;if("local"!==e.viewingMode){if(!W(t,1))return Promise.reject(new o("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in global mode, only Web Mercator, WGS84 GCS or CGCS2000 are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||L(e,t)}else{if(!W(t,2))return Promise.reject(new o("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in local mode, only projected coordinate systems are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||e.equals(t)}const i=e=>e?.camera?.position.spatialReference??e?.targetGeometry?.spatialReference,s=e.viewpoint,a=i(s);if(a&&!r(a))return Promise.reject(new o("webscene:incompatible-camera-spatial-reference","Camera spatial reference (${cameraSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{cameraSpatialReference:a,sceneSpatialReference:t,viewingMode:e.viewingMode}));const n=this.presentation.slides.find(e=>!r(i(e.viewpoint)));if(n){const r=i(n.viewpoint);return Promise.reject(new o("webscene:incompatible-slide-spatial-reference","Slide spatial reference (${slideSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{slideSpatialReference:r,sceneSpatialReference:t,viewingMode:e.viewingMode}))}return Promise.resolve()}_validateHeightModelInfo(){const e=this._sceneSpatialReference,t=R(this.heightModelInfo,e);return t?Promise.reject(t):Promise.resolve()}_validateFeatureLayerSymbolVisibility(){this.sourceVersion?.greaterEqual(1,35)||this.layers.forEach(e=>{"feature"===e.type&&e.addHandles(y(()=>e.loaded,()=>{"on-the-ground"===e.elevationInfo?.mode&&"simple"===e.renderer?.type&&"polygon-3d"===e.renderer.symbol?.type&&e.renderer.symbol.symbolLayers.some(t=>"fill"===t.type&&null!=t.material&&((!t.material.color||t.material.color.a*e.opacity<ee)&&(e.loadWarnings.push(new g("feature-layer:invisible-draped-symbols","FeatureLayer has fully transparent symbols which will no longer render or highlight",{layer:e})),!0)))},{once:!0,sync:!0}))})}_validateJSON(e){const t=Z.parse(e.version||"","webscene");return se.validate(t),e.version=`${t.major}.${t.minor}`,1===t.major&&t.minor<=2&&(e.spatialReference=P.WebMercator.toJSON()),e}_updateTypeKeywords(e){E(e,C.LOCAL_SCENE,"local"===this.initialViewProperties.viewingMode),E(e,C.DEVELOPER_BASEMAP,T(this.basemap)||this.presentation.slides.some(({basemap:e})=>!!e&&T(e))),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e,t,r)=>r.indexOf(e)===t))}get _sceneSpatialReference(){return this.initialViewProperties.spatialReference||P.WebMercator}get _verifyItemRelativeRootPath(){return this.portalItem?.itemUrl?w(this.portalItem.itemUrl).path:null}_enableVerifyItemRelativeUrls(e){const t=this._verifyItemRelativeRootPath;return t&&(e.verifyItemRelativeUrls={rootPath:t,writtenUrls:[]}),e}_unscheduleLayersIdGC(){this._layersIdGCTimeoutId&&(clearTimeout(this._layersIdGCTimeoutId),this._layersIdGCTimeoutId=0)}_scheduleLayersIdGC(){this._unscheduleLayersIdGC(),this._layersIdGCTimeoutId=setTimeout(()=>{this._layersIdGCTimeoutId=0,this._runLayersIdGC()},3e3)}_runLayersIdGC(){this._unscheduleLayersIdGC();const e=this.applicationProperties?.viewing?.search,t=e=>this.allLayers.some(t=>t.id===e&&t.persistenceEnabled);e?.layers&&(e.layers=e.layers.filter(e=>t(e.id)));const r=this.presentation&&this.presentation.slides;r&&r.forEach(e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter(e=>t(e.id)))})}static fromJSON(e){if(!e)throw new o("webscene:empty-resource","Expected a JSON resource but got nothing");return new this({resourceInfo:e})}static{this.version=`${se.major}.${se.minor}`}};e([b({type:z,json:{write:!0}})],le.prototype,"applicationProperties",void 0),e([b({type:I,json:{read:{source:"clippingArea.geometry",reader:U},write:{target:"clippingArea.geometry"}}})],le.prototype,"clippingArea",void 0),e([re("clippingArea")],le.prototype,"writeClippingArea",null),e([b({type:Boolean,json:{write:{target:"clippingArea.clip"}}})],le.prototype,"clippingEnabled",void 0),e([ie("clippingEnabled",["clippingArea"])],le.prototype,"readClippingEnabled",null),e([re("clippingEnabled")],le.prototype,"writeClippingEnabled",null),e([b({type:x,json:{read:{source:"mapFloorInfo"},write:{target:"mapFloorInfo"}}})],le.prototype,"floorInfo",void 0),e([b({type:j,json:{write:!0}})],le.prototype,"heightModelInfo",void 0),e([b({json:{write:{target:"operationalLayers",ignoreOrigin:!0}}})],le.prototype,"layers",void 0),e([re("layers")],le.prototype,"writeLayers",null),e([b({readOnly:!0,type:Z,json:{type:ae(),write:{ignoreOrigin:!0,target:"version",isRequired:!0,overridePolicy:()=>({enabled:!0,allowNull:!0,ignoreOrigin:!0})}}})],le.prototype,"sourceVersion",void 0),e([ie("sourceVersion",["version"])],le.prototype,"readSourceVersion",null),e([re("sourceVersion")],le.prototype,"writeSourceVersion",null),e([b({json:{read:!1,write:{enabled:!0,ignoreOrigin:!0}}})],le.prototype,"tables",void 0),e([re("tables")],le.prototype,"writeTables",null),e([b()],le.prototype,"thumbnailUrl",null),e([b({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],le.prototype,"authoringApp",null),e([re("authoringApp")],le.prototype,"writeAuthoringApp",null),e([b({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],le.prototype,"authoringAppVersion",null),e([re("authoringAppVersion")],le.prototype,"writeAuthoringAppVersion",null),e([b({json:{write:{isRequired:!0,enabled:!0,overridePolicy:()=>({isRequired:!0,enabled:!0,allowNull:!0,ignoreOrigin:!0})}}})],le.prototype,"ground",null),e([re("ground")],le.prototype,"writeGround",null),e([b({type:i.ofType(Y),json:{write:!0}})],le.prototype,"transportationNetworks",void 0),e([b({type:X,nonNullable:!0,json:{write:{ignoreOrigin:!0,writer:(e,t,r,i)=>{if(e.slides&&e.slides.length>0){const r={...i,isPresentation:!0};t.presentation=e.write({},r)}}}}})],le.prototype,"presentation",void 0),e([b({type:Q,nonNullable:!0,json:{write:{target:"initialState",isRequired:!0,ignoreOrigin:!0},default:()=>new Q({viewingMode:"global",spatialReference:P.WebMercator})}})],le.prototype,"initialViewProperties",void 0),e([ie("initialViewProperties",["initialState","spatialReference","viewingMode"])],le.prototype,"readInitialViewProperties",null),e([b({type:P,json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],le.prototype,"spatialReference",null),e([b({type:["local","global"],json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],le.prototype,"viewingMode",null),e([b({type:O})],le.prototype,"portalItem",void 0),e([b()],le.prototype,"resourceInfo",void 0),e([b({type:$,json:{write:!0}})],le.prototype,"widgets",void 0),le=e([v("esri.WebScene")],le);const pe=le;export{pe as default};
@@ -118,6 +118,7 @@ export interface ShadowCastAnalysisProperties extends AnalysisProperties, Partia
118
118
  * > [!WARNING]
119
119
  * >
120
120
  * > **Known Limitations**
121
+ * >
121
122
  * > - Terrain does not cast shadows in this analysis.
122
123
  * > - As a result, to avoid incorrect shadow visualization, `startTimeOfDay` should be set after local sunrise and
123
124
  * > `endTimeOfDay` before local sunset. If these times fall outside daylight hours, shadows may be missing in areas where
@@ -1,8 +1,8 @@
1
1
  import type { Clonable } from "../../core/Clonable.js";
2
2
  import type { JSONSupportMixin } from "../../core/JSONSupport.js";
3
- import type { SystemOrLengthUnit, SystemOrVolumeUnit } from "../../core/units.js";
3
+ import type { SystemOrAreaUnit, SystemOrLengthUnit, SystemOrVolumeUnit } from "../../core/units.js";
4
4
 
5
- export interface VolumeMeasurementDisplayUnitsProperties extends Partial<Pick<VolumeMeasurementDisplayUnits, "elevation" | "volume">> {}
5
+ export interface VolumeMeasurementDisplayUnitsProperties extends Partial<Pick<VolumeMeasurementDisplayUnits, "area" | "elevation" | "length" | "volume">> {}
6
6
 
7
7
  /**
8
8
  * Units used for displaying values in the UI for the [VolumeMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurementAnalysis.html).
@@ -14,8 +14,20 @@ export interface VolumeMeasurementDisplayUnitsProperties extends Partial<Pick<Vo
14
14
  */
15
15
  export default class VolumeMeasurementDisplayUnits extends VolumeMeasurementDisplayUnitsSuperclass {
16
16
  constructor(properties?: VolumeMeasurementDisplayUnitsProperties);
17
+ /**
18
+ * Unit system (imperial, metric) or specific unit used for displaying area results.
19
+ *
20
+ * @since 5.0
21
+ */
22
+ accessor area: SystemOrAreaUnit | null | undefined;
17
23
  /** Unit system (imperial, metric) or specific unit used for displaying the cut and fill target elevation. */
18
24
  accessor elevation: SystemOrLengthUnit | null | undefined;
25
+ /**
26
+ * Unit system (imperial, metric) or specific unit used for displaying length results (for example perimeter).
27
+ *
28
+ * @since 5.0
29
+ */
30
+ accessor length: SystemOrLengthUnit | null | undefined;
19
31
  /** Unit system (imperial, metric) or specific unit used for displaying volume results. */
20
32
  accessor volume: SystemOrVolumeUnit | null | undefined;
21
33
  }
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{Clonable as o}from"../../core/Clonable.js";import{JSONSupportMixin as t}from"../../core/JSONSupport.js";import{measurementLengthUnits as r,measurementVolumeUnits as l}from"../../core/units.js";import{property as s,subclass as i}from"../../core/accessorSupport/decorators.js";let u=class extends(t(o)){constructor(e){super(e),this.elevation=null,this.volume=null}equals(e){return this===e||this.elevation===e.elevation&&this.volume===e.volume}};e([s({type:r,value:null})],u.prototype,"elevation",void 0),e([s({type:l,value:null})],u.prototype,"volume",void 0),u=e([i("esri.analysis.VolumeMeasurement.VolumeMeasurementDisplayUnits")],u);const a=u;export{a as default};
5
+ import{__decorate as e}from"tslib";import{Clonable as t}from"../../core/Clonable.js";import{JSONSupportMixin as o}from"../../core/JSONSupport.js";import{measurementAreaUnits as l,measurementLengthUnits as r,measurementVolumeUnits as s}from"../../core/units.js";import{property as a,subclass as i}from"../../core/accessorSupport/decorators.js";let u=class extends(o(t)){constructor(e){super(e),this.area=null,this.elevation=null,this.length=null,this.volume=null}equals(e){return this===e||this.elevation===e.elevation&&this.volume===e.volume&&this.area===e.area&&this.length===e.length}};e([a({type:l,value:null})],u.prototype,"area",void 0),e([a({type:r,value:null})],u.prototype,"elevation",void 0),e([a({type:r,value:null})],u.prototype,"length",void 0),e([a({type:s,value:null})],u.prototype,"volume",void 0),u=e([i("esri.analysis.VolumeMeasurement.VolumeMeasurementDisplayUnits")],u);const n=u;export{n as default};
@@ -0,0 +1,80 @@
1
+ /**
2
+ * OrientedImageryViewer gallery utils for Components.
3
+ *
4
+ * @experimental
5
+ * @internal
6
+ */
7
+ import type OrientedImageryLayer from "../../../layers/OrientedImageryLayer.js";
8
+ import type PixelBlock from "../../../layers/support/PixelBlock.js";
9
+ import type { AbortOptions } from "../../../core/promiseUtils.js";
10
+
11
+ /**
12
+ * @experimental
13
+ * @internal
14
+ */
15
+ export interface ImageSource {
16
+ /**
17
+ * The dataset format.
18
+ * e.g., "TIFF" | "MRF" | "JPG"
19
+ */
20
+ datasetFormat: string;
21
+ /** The url of the image source. */
22
+ url: string;
23
+ }
24
+
25
+ /**
26
+ * @experimental
27
+ * @internal
28
+ */
29
+ export interface GetImageSourceFromAttachmentProperties {
30
+ /** The oriented imagery layer. */
31
+ layer: OrientedImageryLayer;
32
+ /** The object id of the feature. */
33
+ objectId: number;
34
+ /** The abort options. */
35
+ options?: AbortOptions;
36
+ }
37
+
38
+ /**
39
+ * @param properties - The properties to get the image source from attachment.
40
+ * @experimental
41
+ * @internal
42
+ */
43
+ export function getImageSourceFromAttachment(properties: GetImageSourceFromAttachmentProperties): Promise<ImageSource>;
44
+
45
+ /**
46
+ * @param urlOrImageSource - The image source or url to get the thumbnail pixel block from.
47
+ * @param options - The abort options.
48
+ * @experimental
49
+ * @internal
50
+ */
51
+ export function getThumbnailAsPixelBlock(urlOrImageSource: ImageSource | string, options?: AbortOptions): Promise<PixelBlock | null | undefined>;
52
+
53
+ /**
54
+ * @experimental
55
+ * @internal
56
+ */
57
+ export interface LoadImageFromAttachmentProperties {
58
+ /** The oriented imagery layer. */
59
+ layer?: OrientedImageryLayer | null;
60
+ /** The object id of the feature. */
61
+ objectId: number;
62
+ /** The abort options. */
63
+ options?: AbortOptions;
64
+ }
65
+
66
+ /**
67
+ * @param properties - The properties to load the image for attachment.
68
+ * @experimental
69
+ * @internal
70
+ */
71
+ export function loadImageForAttachment(properties: LoadImageFromAttachmentProperties): Promise<PixelBlock | HTMLImageElement | null | undefined>;
72
+
73
+ /**
74
+ * @param pixelBlockOrImageElement - The pixel block or HTML image element.
75
+ * @param canvas - The canvas to render the image on.
76
+ * @param rotation - The rotation angle in degrees.
77
+ * @experimental
78
+ * @internal
79
+ */
80
+ export function renderImageWithRotation(pixelBlockOrImageElement: HTMLImageElement | PixelBlock, canvas: HTMLCanvasElement, rotation?: number): void;
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
+ */
5
+ import{getImageSourceFromAttachment as t,getThumbnailPixelBlock as e,loadImageForAttachment as n,renderImageWithRotation as r}from"../../../widgets/OrientedImageryViewer/galleryUtils.js";function o(e){const{layer:n,objectId:r,options:o}=e;return t(n,r,o)}async function a(t,n){return e(t,n)}function i(t){const{layer:e,objectId:r,options:o}=t;return n(e,`${r}`,o)}function c(t,e,n){return r(t,e,n)}export{o as getImageSourceFromAttachment,a as getThumbnailAsPixelBlock,i as loadImageForAttachment,c as renderImageWithRotation};
@@ -0,0 +1,106 @@
1
+ import type Graphic from "../../Graphic.js";
2
+ import type Collection from "../../core/Collection.js";
3
+ import type FeatureLayer from "../../layers/FeatureLayer.js";
4
+ import type SubtypeGroupLayer from "../../layers/SubtypeGroupLayer.js";
5
+ import type SubtypeSublayer from "../../layers/support/SubtypeSublayer.js";
6
+ import type { GeometryType } from "../../geometry/types.js";
7
+
8
+ /**
9
+ * The type of layers which are supported by the clipboard
10
+ *
11
+ * @experimental
12
+ * @internal
13
+ */
14
+ export type ClipboardSupportedLayer = FeatureLayer | SubtypeGroupLayer | SubtypeSublayer;
15
+
16
+ /**
17
+ * An item on the clipboard
18
+ *
19
+ * @experimental
20
+ * @internal
21
+ */
22
+ export interface ClipboardItem {
23
+ /**
24
+ * The graphic that has been placed in the clipboard
25
+ *
26
+ * @experimental
27
+ */
28
+ graphic: Graphic;
29
+ /**
30
+ * The layer to which the clipboard item is associated
31
+ *
32
+ * @experimental
33
+ */
34
+ layer: ClipboardSupportedLayer | null;
35
+ /**
36
+ * The type of clipboard item
37
+ *
38
+ * @experimental
39
+ */
40
+ type: "feature" | "string";
41
+ }
42
+
43
+ /**
44
+ * An application clipboard for use with types of arcgis data
45
+ *
46
+ * @experimental
47
+ * @internal
48
+ */
49
+ export interface EsriClipboard {
50
+ /**
51
+ * The list of geometry types that are currently held on the clipboard.
52
+ *
53
+ * @experimental
54
+ */
55
+ get geometryTypes(): Set<GeometryType>;
56
+ /**
57
+ * Flag to indicate if the clipboard has items that may have relationships
58
+ *
59
+ * @experimental
60
+ */
61
+ get hasDestinationRelationships(): boolean;
62
+ /**
63
+ * Flag to indicate if there are any features on the clipboard.
64
+ *
65
+ * @experimental
66
+ */
67
+ get hasItems(): boolean;
68
+ /**
69
+ * The list of features on the clipboard
70
+ * *
71
+ *
72
+ * @experimental
73
+ */
74
+ get items(): Collection<ClipboardItem>;
75
+ /**
76
+ * The single type of geometry that all features on the clipboard share. If the clipboard contains features with different geometry types, then "" will be returned.
77
+ *
78
+ * @experimental
79
+ */
80
+ get singleGeometryType(): GeometryType | null | undefined;
81
+ /**
82
+ * A number which increments when the clipboard contents are changed.
83
+ *
84
+ * @experimental
85
+ */
86
+ get version(): number;
87
+ /**
88
+ * Set the contents of the clipboard. All graphics will be cloned and represent the characteristics of the graphics at the point at which they were added to the clipboard.
89
+ *
90
+ * @param data
91
+ * @experimental
92
+ */
93
+ setData(data: {
94
+ layer: ClipboardSupportedLayer | null;
95
+ graphic: Graphic;
96
+ type: "feature" | "string";
97
+ }[] | Graphic[]): void;
98
+ }
99
+
100
+ /**
101
+ * Returns a singleton application clipboard
102
+ *
103
+ * @experimental
104
+ * @internal
105
+ */
106
+ export function getApplicationClipboard(): EsriClipboard;
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
+ */
5
+ import{getApplicationClipboard as i}from"../../editing/Clipboard.js";function o(){return i()}export{o as getApplicationClipboard};
@@ -1 +1 @@
1
- {"measures":{"length":"Length","area":"Area","volume":"Volume","angle":"Angle"},"systems":{"metric":"Metric","imperial":"Imperial"},"units":{"millimeters":{"singular":"millimeter","singularCapitalized":"Millimeter","plural":"millimeters","pluralCapitalized":"Millimeters","abbr":"mm"},"centimeters":{"singular":"centimeter","singularCapitalized":"Centimeter","plural":"centimeters","pluralCapitalized":"Centimeters","abbr":"cm"},"decimeters":{"singular":"decimeter","singularCapitalized":"Decimeter","plural":"decimeters","pluralCapitalized":"Decimeter","abbr":"dm"},"meters":{"singular":"meter","singularCapitalized":"Meter","plural":"meters","pluralCapitalized":"Meters","abbr":"m"},"kilometers":{"singular":"kilometer","singularCapitalized":"Kilometer","plural":"kilometers","pluralCapitalized":"Kilometers","abbr":"km"},"inches":{"singular":"inch","singularCapitalized":"Inch","plural":"inches","pluralCapitalized":"Inches","abbr":"in"},"feet":{"singular":"foot","singularCapitalized":"Foot","plural":"feet","pluralCapitalized":"Feet","abbr":"ft"},"yards":{"singular":"yard","singularCapitalized":"Yard","plural":"yards","pluralCapitalized":"Yards","abbr":"yd"},"miles":{"singular":"mile","singularCapitalized":"Mile","plural":"miles","pluralCapitalized":"Miles","abbr":"mi"},"nautical-miles":{"singular":"nautical mile","singularCapitalized":"Nautical mile","plural":"nautical miles","pluralCapitalized":"Nautical miles","abbr":"nmi"},"us-feet":{"singular":"foot (US)","singularCapitalized":"Foot (US)","plural":"feet (US)","pluralCapitalized":"Feet (US)","abbr":"ft"},"square-millimeters":{"singular":"square millimeter","singularCapitalized":"Square millimeter","plural":"square millimeters","pluralCapitalized":"Square millimeters","abbr":"mm²"},"square-centimeters":{"singular":"square centimeter","singularCapitalized":"Square centimeter","plural":"square centimeters","pluralCapitalized":"Square centimeters","abbr":"cm²"},"square-decimeters":{"singular":"square decimeter","singularCapitalized":"Square decimeter","plural":"square decimeters","pluralCapitalized":"Square decimeters","abbr":"dm²"},"square-meters":{"singular":"square meter","singularCapitalized":"Square meter","plural":"square meters","pluralCapitalized":"Square meters","abbr":"m²"},"square-kilometers":{"singular":"square kilometer","singularCapitalized":"Square kilometer","plural":"square kilometers","pluralCapitalized":"Square kilometers","abbr":"km²"},"square-inches":{"singular":"square inch","singularCapitalized":"Square inch","plural":"square inches","pluralCapitalized":"Square inches","abbr":"in²"},"square-feet":{"singular":"square foot","singularCapitalized":"Square foot","plural":"square feet","pluralCapitalized":"Square feet","abbr":"ft²"},"square-yards":{"singular":"square yard","singularCapitalized":"Square yard","plural":"square yards","pluralCapitalized":"Square yards","abbr":"yd²"},"square-miles":{"singular":"square mile","singularCapitalized":"Square mile","plural":"square miles","pluralCapitalized":"Square miles","abbr":"mi²"},"square-nautical-miles":{"singular":"square nautical mile","singularCapitalized":"Square nautical mile","plural":"square nautical miles","pluralCapitalized":"Square nautical miles","abbr":"nmi²"},"square-us-feet":{"singular":"square foot (US)","singularCapitalized":"Square foot (US)","plural":"square feet (US)","pluralCapitalized":"Square feet (US)","abbr":"ft²"},"acres":{"singular":"acre","singularCapitalized":"Acre","plural":"acres","pluralCapitalized":"Acres","abbr":"acre"},"ares":{"singular":"are","singularCapitalized":"Are","plural":"ares","pluralCapitalized":"Ares","abbr":"a"},"hectares":{"singular":"hectare","singularCapitalized":"Hectare","plural":"hectares","pluralCapitalized":"Hectares","abbr":"ha"},"liters":{"singular":"liter","singularCapitalized":"Liter","plural":"liters","pluralCapitalized":"Liters","abbr":"l"},"cubic-millimeters":{"singular":"cubic millimeter","singularCapitalized":"Cubic millimeter","plural":"cubic millimeters","pluralCapitalized":"Cubic millimeters","abbr":"mm³"},"cubic-centimeters":{"singular":"cubic centimeter","singularCapitalized":"Cubic centimeter","plural":"cubic centimeters","pluralCapitalized":"Cubic centimeters","abbr":"cm³"},"cubic-decimeters":{"singular":"cubic decimeter","singularCapitalized":"Cubic decimeter","plural":"cubic decimeters","pluralCapitalized":"Cubic decimeters","abbr":"dm³"},"cubic-meters":{"singular":"cubic meter","singularCapitalized":"Cubic meter","plural":"cubic meters","pluralCapitalized":"Cubic meters","abbr":"m³"},"cubic-kilometers":{"singular":"cubic kilometer","singularCapitalized":"Cubic kilometer","plural":"cubic kilometers","pluralCapitalized":"Cubic kilometers","abbr":"km³"},"cubic-inches":{"singular":"cubic inch","singularCapitalized":"Cubic inch","plural":"cubic inches","pluralCapitalized":"Cubic inches","abbr":"in³"},"cubic-feet":{"singular":"cubic foot","singularCapitalized":"Cubic foot","plural":"cubic feet","pluralCapitalized":"Cubic feet","abbr":"ft³"},"cubic-yards":{"singular":"cubic yard","singularCapitalized":"Cubic yard","plural":"cubic yards","pluralCapitalized":"Cubic yards","abbr":"yd³"},"cubic-miles":{"singular":"cubic mile","singularCapitalized":"Cubic mile","plural":"cubic miles","pluralCapitalized":"Cubic miles","abbr":"mi³"},"radians":{"singular":"radian","singularCapitalized":"Radian","plural":"radians","pluralCapitalized":"Radians","abbr":""},"degrees":{"singular":"degree","singularCapitalized":"Degree","plural":"degrees","pluralCapitalized":"Degrees","abbr":"°"},"bytes":{"B":"{fileSize} B","kB":"{fileSize} kB","MB":"{fileSize} MB","GB":"{fileSize} GB","TB":"{fileSize} TB"}}}
1
+ {"measures":{"length":"Length","area":"Area","volume":"Volume","angle":"Angle"},"systems":{"metric":"Metric","imperial":"Imperial"},"units":{"millimeters":{"singular":"millimeter","singularCapitalized":"Millimeter","plural":"millimeters","pluralCapitalized":"Millimeters","abbr":"mm"},"centimeters":{"singular":"centimeter","singularCapitalized":"Centimeter","plural":"centimeters","pluralCapitalized":"Centimeters","abbr":"cm"},"decimeters":{"singular":"decimeter","singularCapitalized":"Decimeter","plural":"decimeters","pluralCapitalized":"Decimeter","abbr":"dm"},"meters":{"singular":"meter","singularCapitalized":"Meter","plural":"meters","pluralCapitalized":"Meters","abbr":"m"},"kilometers":{"singular":"kilometer","singularCapitalized":"Kilometer","plural":"kilometers","pluralCapitalized":"Kilometers","abbr":"km"},"inches":{"singular":"inch","singularCapitalized":"Inch","plural":"inches","pluralCapitalized":"Inches","abbr":"in"},"feet":{"singular":"foot","singularCapitalized":"Foot","plural":"feet","pluralCapitalized":"Feet","abbr":"ft"},"yards":{"singular":"yard","singularCapitalized":"Yard","plural":"yards","pluralCapitalized":"Yards","abbr":"yd"},"miles":{"singular":"mile","singularCapitalized":"Mile","plural":"miles","pluralCapitalized":"Miles","abbr":"mi"},"nautical-miles":{"singular":"nautical mile","singularCapitalized":"Nautical mile","plural":"nautical miles","pluralCapitalized":"Nautical miles","abbr":"nmi"},"us-feet":{"singular":"foot (US)","singularCapitalized":"Foot (US)","plural":"feet (US)","pluralCapitalized":"Feet (US)","abbr":"ft"},"square-millimeters":{"singular":"square millimeter","singularCapitalized":"Square millimeter","plural":"square millimeters","pluralCapitalized":"Square millimeters","abbr":"mm²"},"square-centimeters":{"singular":"square centimeter","singularCapitalized":"Square centimeter","plural":"square centimeters","pluralCapitalized":"Square centimeters","abbr":"cm²"},"square-decimeters":{"singular":"square decimeter","singularCapitalized":"Square decimeter","plural":"square decimeters","pluralCapitalized":"Square decimeters","abbr":"dm²"},"square-meters":{"singular":"square meter","singularCapitalized":"Square meter","plural":"square meters","pluralCapitalized":"Square meters","abbr":"m²"},"square-kilometers":{"singular":"square kilometer","singularCapitalized":"Square kilometer","plural":"square kilometers","pluralCapitalized":"Square kilometers","abbr":"km²"},"square-inches":{"singular":"square inch","singularCapitalized":"Square inch","plural":"square inches","pluralCapitalized":"Square inches","abbr":"in²"},"square-feet":{"singular":"square foot","singularCapitalized":"Square foot","plural":"square feet","pluralCapitalized":"Square feet","abbr":"ft²"},"square-yards":{"singular":"square yard","singularCapitalized":"Square yard","plural":"square yards","pluralCapitalized":"Square yards","abbr":"yd²"},"square-miles":{"singular":"square mile","singularCapitalized":"Square mile","plural":"square miles","pluralCapitalized":"Square miles","abbr":"mi²"},"square-nautical-miles":{"singular":"square nautical mile","singularCapitalized":"Square nautical mile","plural":"square nautical miles","pluralCapitalized":"Square nautical miles","abbr":"nmi²"},"square-us-feet":{"singular":"square foot (US)","singularCapitalized":"Square foot (US)","plural":"square feet (US)","pluralCapitalized":"Square feet (US)","abbr":"ft²"},"acres":{"singular":"acre","singularCapitalized":"Acre","plural":"acres","pluralCapitalized":"Acres","abbr":"acre"},"ares":{"singular":"are","singularCapitalized":"Are","plural":"ares","pluralCapitalized":"Ares","abbr":"a"},"hectares":{"singular":"hectare","singularCapitalized":"Hectare","plural":"hectares","pluralCapitalized":"Hectares","abbr":"ha"},"liters":{"singular":"liter","singularCapitalized":"Liter","plural":"liters","pluralCapitalized":"Liters","abbr":"l"},"cubic-millimeters":{"singular":"cubic millimeter","singularCapitalized":"Cubic millimeter","plural":"cubic millimeters","pluralCapitalized":"Cubic millimeters","abbr":"mm³"},"cubic-centimeters":{"singular":"cubic centimeter","singularCapitalized":"Cubic centimeter","plural":"cubic centimeters","pluralCapitalized":"Cubic centimeters","abbr":"cm³"},"cubic-decimeters":{"singular":"cubic decimeter","singularCapitalized":"Cubic decimeter","plural":"cubic decimeters","pluralCapitalized":"Cubic decimeters","abbr":"dm³"},"cubic-meters":{"singular":"cubic meter","singularCapitalized":"Cubic meter","plural":"cubic meters","pluralCapitalized":"Cubic meters","abbr":"m³"},"cubic-kilometers":{"singular":"cubic kilometer","singularCapitalized":"Cubic kilometer","plural":"cubic kilometers","pluralCapitalized":"Cubic kilometers","abbr":"km³"},"cubic-inches":{"singular":"cubic inch","singularCapitalized":"Cubic inch","plural":"cubic inches","pluralCapitalized":"Cubic inches","abbr":"in³"},"cubic-feet":{"singular":"cubic foot","singularCapitalized":"Cubic foot","plural":"cubic feet","pluralCapitalized":"Cubic feet","abbr":"ft³"},"cubic-yards":{"singular":"cubic yard","singularCapitalized":"Cubic yard","plural":"cubic yards","pluralCapitalized":"Cubic yards","abbr":"yd³"},"cubic-miles":{"singular":"cubic mile","singularCapitalized":"Cubic mile","plural":"cubic miles","pluralCapitalized":"Cubic miles","abbr":"mi³"},"cubic-us-feet":{"singular":"cubic foot (US)","singularCapitalized":"Cubic foot (US)","plural":"cubic feet (US)","pluralCapitalized":"Cubic feet (US)","abbr":"ft³"},"radians":{"singular":"radian","singularCapitalized":"Radian","plural":"radians","pluralCapitalized":"Radians","abbr":""},"degrees":{"singular":"degree","singularCapitalized":"Degree","plural":"degrees","pluralCapitalized":"Degrees","abbr":"°"},"bytes":{"B":"{fileSize} B","kB":"{fileSize} kB","MB":"{fileSize} MB","GB":"{fileSize} GB","TB":"{fileSize} TB"}}}
@@ -1 +1 @@
1
- {"measures":{"length":"الطول","area":"المنطقة","volume":"الحجم","angle":"زاوية"},"systems":{"metric":"متري","imperial":"الإمبراطورية"},"units":{"millimeters":{"singular":"ملليمتر","singularCapitalized":"ملليمتر","plural":"ملليمتر","pluralCapitalized":"ميليميتر","abbr":"مم"},"centimeters":{"singular":"سنتيمتر","singularCapitalized":"سنتيمتر","plural":"سنتيمتر","pluralCapitalized":"سنتيميتر","abbr":"سم"},"decimeters":{"singular":"ديسيمتر","singularCapitalized":"ديسيمتر","plural":"ديسيميتر","pluralCapitalized":"ديسيمتر","abbr":"ديسيمتر"},"meters":{"singular":"متر","singularCapitalized":"متر","plural":"أمتار","pluralCapitalized":"أمتار","abbr":"متر"},"kilometers":{"singular":"كيلومتر","singularCapitalized":"كيلومتر","plural":"كيلومتر","pluralCapitalized":"كيلومترات","abbr":"كيلومتر"},"inches":{"singular":"بوصة","singularCapitalized":"بوصة","plural":"بوصة","pluralCapitalized":"بوصات","abbr":"في"},"feet":{"singular":"قدم","singularCapitalized":"قدم","plural":"قدم","pluralCapitalized":"أقدام","abbr":"قدم"},"yards":{"singular":"ياردة","singularCapitalized":"ياردة","plural":"ياردات","pluralCapitalized":"ياردات","abbr":"يارد"},"miles":{"singular":"ميل","singularCapitalized":"ميل","plural":"أميال","pluralCapitalized":"أميال","abbr":"ميل"},"nautical-miles":{"singular":"ميل بحري","singularCapitalized":"ميل بحري","plural":"أميال بحرية","pluralCapitalized":"أميال بحرية","abbr":"nmi"},"us-feet":{"singular":"قدم (الولايات المتحدة)","singularCapitalized":"قدم (الولايات المتحدة)","plural":"قدم (الولايات المتحدة)","pluralCapitalized":"أقدام (الولايات المتحدة)","abbr":"قدم"},"square-millimeters":{"singular":"مليمتر مربع","singularCapitalized":"ملليمتر مربع","plural":"ملليمتر مربع","pluralCapitalized":"ملليمترات مربعة","abbr":"مليمتر مربع"},"square-centimeters":{"singular":"سنتيمتر مربع","singularCapitalized":"سنتيمتر مربع","plural":"سنتيمتر مربع","pluralCapitalized":"سنتيمترات مربعة","abbr":"سنتيمتر مربع"},"square-decimeters":{"singular":"ديسيمتر مربع","singularCapitalized":"ديسيمتر مربع","plural":"ديسيمتر مربع","pluralCapitalized":"دسيمتر مربع","abbr":"ديسيمتر مربع"},"square-meters":{"singular":"متر مربع","singularCapitalized":"متر مربع","plural":"متر مربع","pluralCapitalized":"أمتار مربعة","abbr":"متر مربع"},"square-kilometers":{"singular":"كيلو متر مربع","singularCapitalized":"كيلومتر مربع","plural":"كيلو متر مربع","pluralCapitalized":"كيلومترات مربعة","abbr":"كيلومتر مربع"},"square-inches":{"singular":"بوصة مربعة","singularCapitalized":"بوصة مربعة","plural":"بوصة مربعة","pluralCapitalized":"بوصات مربعة","abbr":"بوصة مربعة"},"square-feet":{"singular":"قدم مربع","singularCapitalized":"قدم مربع","plural":"قدم مربع","pluralCapitalized":"أقدام مربعة","abbr":"قدم مربع"},"square-yards":{"singular":"ياردة مربعة","singularCapitalized":"ياردة مربع","plural":"ياردة مربعة","pluralCapitalized":"ياردات مربعة","abbr":"ياردة مربعة"},"square-miles":{"singular":"ميل مربع","singularCapitalized":"ميل مربع","plural":"ميل مربع","pluralCapitalized":"أميال مربعة","abbr":"ميل مربع"},"square-nautical-miles":{"singular":"ميل بحري مربع","singularCapitalized":"ميل بحري مربع","plural":"أميال بحرية مربعة","pluralCapitalized":"أميال بحرية مربعة","abbr":"nmi²"},"square-us-feet":{"singular":"قدم مربع (الولايات المتحدة)","singularCapitalized":"قدم مربع (الولايات المتحدة)","plural":"قدم مربع (الولايات المتحدة)","pluralCapitalized":"أقدام مربعة (الولايات المتحدة)","abbr":"قدم مربع"},"acres":{"singular":"آكر","singularCapitalized":"أكر","plural":"فدان","pluralCapitalized":"فدان","abbr":"آكر"},"ares":{"singular":"هي","singularCapitalized":"هي","plural":"آر","pluralCapitalized":"آرس","abbr":"a"},"hectares":{"singular":"هكتار","singularCapitalized":"هيكتار","plural":"هيكتار","pluralCapitalized":"هكتار","abbr":"هيكتارات"},"liters":{"singular":"لتر","singularCapitalized":"لتر","plural":"لتر","pluralCapitalized":"لترات","abbr":"l"},"cubic-millimeters":{"singular":"مليمتر مكعب","singularCapitalized":"مليمتر مكعب","plural":"مليمتر مكعب","pluralCapitalized":"مليمترات مكعبة","abbr":"مليمتر مكعب"},"cubic-centimeters":{"singular":"سنتيمتر مكعب","singularCapitalized":"سنتيمتر مكعب","plural":"سنتيمتر مكعب","pluralCapitalized":"سنتيمترات مكعبة","abbr":"سنتيمتر مكعب"},"cubic-decimeters":{"singular":"ديسيمتر مكعب","singularCapitalized":"ديسيمتر مكعب","plural":"ديسيمتر مكعب","pluralCapitalized":"ديسيمترات مكعب","abbr":"ديسيمتر مكعب"},"cubic-meters":{"singular":"متر مكعب","singularCapitalized":"متر مكعب","plural":"متر مكعب","pluralCapitalized":"أمتار مكعبة","abbr":"متر مكعب"},"cubic-kilometers":{"singular":"كيلومتر مكعب","singularCapitalized":"كيلومتر مكعب","plural":"كيلومتر مكعب","pluralCapitalized":"كيلومترات مكعبة","abbr":"كيلومتر مكعب"},"cubic-inches":{"singular":"بوصة مكعبة","singularCapitalized":"بوصة مكعبة","plural":"بوصة مكعبة","pluralCapitalized":"بوصات مكعبة","abbr":"بوصة مكعبة"},"cubic-feet":{"singular":"قدم مكعب","singularCapitalized":"قدم مكعب","plural":"قدم مكعب","pluralCapitalized":"أقدام مكعبة","abbr":"قدم مكعب"},"cubic-yards":{"singular":"ياردة مكعبة","singularCapitalized":"ياردة مكعبة","plural":"ياردة مكعبة","pluralCapitalized":"ياردات مكعبة","abbr":"ياردة مكعبة"},"cubic-miles":{"singular":"ميل مكعب","singularCapitalized":"ميل مكعب","plural":"ميل مكعب","pluralCapitalized":"أميال مكعبة","abbr":"ميل مكعب"},"radians":{"singular":"radian","singularCapitalized":"التقدير الدائري","plural":"التقديرات الدائرية","pluralCapitalized":"التقديرات الدائرية","abbr":""},"degrees":{"singular":"درجة","singularCapitalized":"درجة","plural":"درجات","pluralCapitalized":"الدرجات","abbr":"°"},"bytes":{"B":"{fileSize} بايت","kB":"{fileSize} كيلوبايت","MB":"{fileSize} ميجابايت","GB":"{fileSize} جيجابايت","TB":"{fileSize} تيرابايت"}}}
1
+ {"measures":{"length":"الطول","area":"المنطقة","volume":"الحجم","angle":"زاوية"},"systems":{"metric":"متري","imperial":"الإمبراطورية"},"units":{"millimeters":{"singular":"ملليمتر","singularCapitalized":"ملليمتر","plural":"ملليمتر","pluralCapitalized":"ميليميتر","abbr":"مم"},"centimeters":{"singular":"سنتيمتر","singularCapitalized":"سنتيمتر","plural":"سنتيمتر","pluralCapitalized":"سنتيميتر","abbr":"سم"},"decimeters":{"singular":"ديسيمتر","singularCapitalized":"ديسيمتر","plural":"ديسيميتر","pluralCapitalized":"ديسيمتر","abbr":"ديسيمتر"},"meters":{"singular":"متر","singularCapitalized":"متر","plural":"أمتار","pluralCapitalized":"أمتار","abbr":"متر"},"kilometers":{"singular":"كيلومتر","singularCapitalized":"كيلومتر","plural":"كيلومتر","pluralCapitalized":"كيلومترات","abbr":"كيلومتر"},"inches":{"singular":"بوصة","singularCapitalized":"بوصة","plural":"بوصة","pluralCapitalized":"بوصات","abbr":"في"},"feet":{"singular":"قدم","singularCapitalized":"قدم","plural":"قدم","pluralCapitalized":"أقدام","abbr":"قدم"},"yards":{"singular":"ياردة","singularCapitalized":"ياردة","plural":"ياردات","pluralCapitalized":"ياردات","abbr":"يارد"},"miles":{"singular":"ميل","singularCapitalized":"ميل","plural":"أميال","pluralCapitalized":"أميال","abbr":"ميل"},"nautical-miles":{"singular":"ميل بحري","singularCapitalized":"ميل بحري","plural":"أميال بحرية","pluralCapitalized":"أميال بحرية","abbr":"nmi"},"us-feet":{"singular":"قدم (الولايات المتحدة)","singularCapitalized":"قدم (الولايات المتحدة)","plural":"قدم (الولايات المتحدة)","pluralCapitalized":"أقدام (الولايات المتحدة)","abbr":"قدم"},"square-millimeters":{"singular":"مليمتر مربع","singularCapitalized":"ملليمتر مربع","plural":"ملليمتر مربع","pluralCapitalized":"ملليمترات مربعة","abbr":"مليمتر مربع"},"square-centimeters":{"singular":"سنتيمتر مربع","singularCapitalized":"سنتيمتر مربع","plural":"سنتيمتر مربع","pluralCapitalized":"سنتيمترات مربعة","abbr":"سنتيمتر مربع"},"square-decimeters":{"singular":"ديسيمتر مربع","singularCapitalized":"ديسيمتر مربع","plural":"ديسيمتر مربع","pluralCapitalized":"دسيمتر مربع","abbr":"ديسيمتر مربع"},"square-meters":{"singular":"متر مربع","singularCapitalized":"متر مربع","plural":"متر مربع","pluralCapitalized":"أمتار مربعة","abbr":"متر مربع"},"square-kilometers":{"singular":"كيلو متر مربع","singularCapitalized":"كيلومتر مربع","plural":"كيلو متر مربع","pluralCapitalized":"كيلومترات مربعة","abbr":"كيلومتر مربع"},"square-inches":{"singular":"بوصة مربعة","singularCapitalized":"بوصة مربعة","plural":"بوصة مربعة","pluralCapitalized":"بوصات مربعة","abbr":"بوصة مربعة"},"square-feet":{"singular":"قدم مربع","singularCapitalized":"قدم مربع","plural":"قدم مربع","pluralCapitalized":"أقدام مربعة","abbr":"قدم مربع"},"square-yards":{"singular":"ياردة مربعة","singularCapitalized":"ياردة مربع","plural":"ياردة مربعة","pluralCapitalized":"ياردات مربعة","abbr":"ياردة مربعة"},"square-miles":{"singular":"ميل مربع","singularCapitalized":"ميل مربع","plural":"ميل مربع","pluralCapitalized":"أميال مربعة","abbr":"ميل مربع"},"square-nautical-miles":{"singular":"ميل بحري مربع","singularCapitalized":"ميل بحري مربع","plural":"أميال بحرية مربعة","pluralCapitalized":"أميال بحرية مربعة","abbr":"nmi²"},"square-us-feet":{"singular":"قدم مربع (الولايات المتحدة)","singularCapitalized":"قدم مربع (الولايات المتحدة)","plural":"قدم مربع (الولايات المتحدة)","pluralCapitalized":"أقدام مربعة (الولايات المتحدة)","abbr":"قدم مربع"},"acres":{"singular":"آكر","singularCapitalized":"أكر","plural":"فدان","pluralCapitalized":"فدان","abbr":"آكر"},"ares":{"singular":"هي","singularCapitalized":"هي","plural":"آر","pluralCapitalized":"آرس","abbr":"a"},"hectares":{"singular":"هكتار","singularCapitalized":"هيكتار","plural":"هيكتار","pluralCapitalized":"هكتار","abbr":"هيكتارات"},"liters":{"singular":"لتر","singularCapitalized":"لتر","plural":"لتر","pluralCapitalized":"لترات","abbr":"l"},"cubic-millimeters":{"singular":"مليمتر مكعب","singularCapitalized":"مليمتر مكعب","plural":"مليمتر مكعب","pluralCapitalized":"مليمترات مكعبة","abbr":"مليمتر مكعب"},"cubic-centimeters":{"singular":"سنتيمتر مكعب","singularCapitalized":"سنتيمتر مكعب","plural":"سنتيمتر مكعب","pluralCapitalized":"سنتيمترات مكعبة","abbr":"سنتيمتر مكعب"},"cubic-decimeters":{"singular":"ديسيمتر مكعب","singularCapitalized":"ديسيمتر مكعب","plural":"ديسيمتر مكعب","pluralCapitalized":"ديسيمترات مكعب","abbr":"ديسيمتر مكعب"},"cubic-meters":{"singular":"متر مكعب","singularCapitalized":"متر مكعب","plural":"متر مكعب","pluralCapitalized":"أمتار مكعبة","abbr":"متر مكعب"},"cubic-kilometers":{"singular":"كيلومتر مكعب","singularCapitalized":"كيلومتر مكعب","plural":"كيلومتر مكعب","pluralCapitalized":"كيلومترات مكعبة","abbr":"كيلومتر مكعب"},"cubic-inches":{"singular":"بوصة مكعبة","singularCapitalized":"بوصة مكعبة","plural":"بوصة مكعبة","pluralCapitalized":"بوصات مكعبة","abbr":"بوصة مكعبة"},"cubic-feet":{"singular":"قدم مكعب","singularCapitalized":"قدم مكعب","plural":"قدم مكعب","pluralCapitalized":"أقدام مكعبة","abbr":"قدم مكعب"},"cubic-yards":{"singular":"ياردة مكعبة","singularCapitalized":"ياردة مكعبة","plural":"ياردة مكعبة","pluralCapitalized":"ياردات مكعبة","abbr":"ياردة مكعبة"},"cubic-miles":{"singular":"ميل مكعب","singularCapitalized":"ميل مكعب","plural":"ميل مكعب","pluralCapitalized":"أميال مكعبة","abbr":"ميل مكعب"},"cubic-us-feet":{"singular":"بيت_cubic foot (US)________________لاحقة","singularCapitalized":"بيت_Cubic foot (US)________________لاحقة","plural":"بيت_cubic feet (US)________________لاحقة","pluralCapitalized":"بيت_Cubic feet (US)________________لاحقة","abbr":"بيت_ft³_______لاحقة"},"radians":{"singular":"radian","singularCapitalized":"التقدير الدائري","plural":"التقديرات الدائرية","pluralCapitalized":"التقديرات الدائرية","abbr":""},"degrees":{"singular":"درجة","singularCapitalized":"درجة","plural":"درجات","pluralCapitalized":"الدرجات","abbr":"°"},"bytes":{"B":"{fileSize} بايت","kB":"{fileSize} كيلوبايت","MB":"{fileSize} ميجابايت","GB":"{fileSize} جيجابايت","TB":"{fileSize} تيرابايت"}}}