@arcgis/core 4.34.0-next.15 → 4.34.0-next.17

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 (216) hide show
  1. package/analysis/Analysis.js +1 -1
  2. package/analysis/AreaMeasurementAnalysis.js +1 -1
  3. package/analysis/DimensionAnalysis.js +1 -1
  4. package/analysis/DimensionSimpleStyle.js +1 -1
  5. package/analysis/DirectLineMeasurementAnalysis.js +1 -1
  6. package/analysis/LengthDimension.js +1 -1
  7. package/analysis/LineOfSightAnalysis.js +1 -1
  8. package/analysis/SliceAnalysis.js +1 -1
  9. package/analysis/SlicePlane.js +1 -1
  10. package/analysis/ViewshedAnalysis.js +1 -1
  11. package/applications/Components/sanitizerUtils.d.ts +3 -0
  12. package/applications/Components/sanitizerUtils.js +5 -0
  13. package/applications/MapViewer/layerUtils.d.ts +3 -0
  14. package/applications/MapViewer/layerUtils.js +5 -0
  15. package/applications/SceneViewer/layerUtils.d.ts +2 -2
  16. package/arcade.js +1 -1
  17. package/assets/esri/core/workers/RemoteClient.js +1 -1
  18. package/assets/esri/core/workers/chunks/{a08ce98672ab94d19613.js → 04e558a970c6a77f243e.js} +1 -1
  19. package/assets/esri/core/workers/chunks/0d99579d8cdeddc0fc9c.js +1 -0
  20. package/assets/esri/core/workers/chunks/1443520c9fb23381f8d5.js +1 -0
  21. package/assets/esri/core/workers/chunks/1a7570bd2b79194ff94b.js +42 -0
  22. package/assets/esri/core/workers/chunks/{0ed4ec00ef16aa58a33d.js → 254c4f7e277ae9915dce.js} +1 -1
  23. package/assets/esri/core/workers/chunks/2d51d0a24cdc89bafa1c.js +1 -0
  24. package/assets/esri/core/workers/chunks/2d89e354eeadadca4f7f.js +1 -0
  25. package/assets/esri/core/workers/chunks/3f8cc157b65a9d570921.js +1 -0
  26. package/assets/esri/core/workers/chunks/{2254989ca3ff3960f2fe.js → 400a4c9fa62964f8fa1d.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{58f403f956b7b3467344.js → 42da01bd3f401a017c0f.js} +1 -1
  28. package/assets/esri/core/workers/chunks/445ddf57d2f503a0b98b.js +1 -0
  29. package/assets/esri/core/workers/chunks/513dc2467e9b8b8c6df4.js +1 -0
  30. package/assets/esri/core/workers/chunks/52239e958a82ebcd2e7a.js +1 -0
  31. package/assets/esri/core/workers/chunks/{e980a81c4d1e05f07141.js → 53e43798d08ad2075c1f.js} +1 -1
  32. package/assets/esri/core/workers/chunks/55ce214a10fb6fc2e901.js +1 -0
  33. package/assets/esri/core/workers/chunks/{a6bcae413e62cd879b46.js → 5859e425c9bca96b6c80.js} +1 -1
  34. package/assets/esri/core/workers/chunks/5bfccd5dffda74740aa4.js +1 -0
  35. package/assets/esri/core/workers/chunks/66c8816e91e3f9e214d4.js +346 -0
  36. package/assets/esri/core/workers/chunks/{948c5454881e661c3bdc.js → 78a57f5aeb277b84b3da.js} +1 -1
  37. package/assets/esri/core/workers/chunks/7c56740cac444419e5b4.js +1 -0
  38. package/assets/esri/core/workers/chunks/{7f14d6cb754c7e94748c.js → 827919fe23e06e40a330.js} +139 -115
  39. package/assets/esri/core/workers/chunks/8599df135928d73da4a3.js +1 -0
  40. package/assets/esri/core/workers/chunks/87986f31061c426e761b.js +1 -0
  41. package/assets/esri/core/workers/chunks/{7ae88c141a5d85e5bb88.js → 87a743df7d8556d5e253.js} +1 -1
  42. package/assets/esri/core/workers/chunks/8855f1a6224ffbd0bb66.js +1 -0
  43. package/assets/esri/core/workers/chunks/885e8e90dfe5dbd5053d.js +1 -0
  44. package/assets/esri/core/workers/chunks/93e66d9c49eaeb503bff.js +1 -0
  45. package/assets/esri/core/workers/chunks/974c6b0e3a1f1dd523fa.js +1 -0
  46. package/assets/esri/core/workers/chunks/aeabe203da7bcdd580cf.js +1 -0
  47. package/assets/esri/core/workers/chunks/beb01d400f1aa089d2dc.js +1 -0
  48. package/assets/esri/core/workers/chunks/c1a72e1dbd1ba7b41965.js +1 -0
  49. package/assets/esri/core/workers/chunks/c4065934637b820cad5b.js +1 -0
  50. package/assets/esri/core/workers/chunks/cc1328cacc4ac07eb548.js +1 -0
  51. package/assets/esri/core/workers/chunks/{05f2133f05f86266d8c7.js → d2139307f62ea8bf999a.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{3f58da371633967a61ca.js → ddb66fe6fcd0764daa7a.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{70e5848aa372475fc8fa.js → eac7af86166c09c6a9be.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{243eb8a317333ec2715b.js → f3e179b48bca50c94538.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{7317346ed8d7c5bb859d.js → f537a02dc2fc9e6435a2.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{7e1906d35a764f7f10b0.js → fe1129f03476825a7344.js} +1 -1
  57. package/chunks/DefaultMaterial.glsl.js +30 -28
  58. package/chunks/RealisticTree.glsl.js +25 -22
  59. package/chunks/aiServices.js +1 -1
  60. package/config.js +1 -1
  61. package/core/LRUCache.js +1 -1
  62. package/core/MemCache.js +1 -1
  63. package/core/arrayUtils.js +1 -1
  64. package/core/urlUtils.js +1 -1
  65. package/core/workers/RemoteClient.js +1 -1
  66. package/core/workers/WorkerHandle.js +1 -1
  67. package/interfaces.d.ts +69 -25
  68. package/kernel.js +1 -1
  69. package/layers/VideoLayer.js +1 -1
  70. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  71. package/layers/mixins/FeatureLayerBase.js +1 -1
  72. package/layers/support/arcgisLayers.js +1 -1
  73. package/layers/support/fetchService.js +1 -1
  74. package/layers/support/layerUtils.js +1 -1
  75. package/package.json +1 -1
  76. package/portal/support/layersLoader.js +1 -1
  77. package/portal/support/loadUtils.js +1 -1
  78. package/portal/support/portalLayers.js +1 -1
  79. package/renderers/visualVariables/support/visualVariableUtils.js +1 -1
  80. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js +1 -1
  81. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
  82. package/rest/support/TranslateParameters.js +1 -1
  83. package/support/revision.js +1 -1
  84. package/symbols/WaterSymbol3DLayer.js +1 -1
  85. package/symbols/support/jsonUtils.js +1 -1
  86. package/symbols/support/symbolUtils.js +1 -1
  87. package/symbols/support/utils.js +1 -1
  88. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
  89. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
  90. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  91. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  92. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  93. package/views/3d/FocusAreasView.js +1 -1
  94. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  95. package/views/3d/analysis/Slice/SliceController.js +1 -1
  96. package/views/3d/layers/I3SMeshView3D.js +1 -1
  97. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  98. package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
  99. package/views/3d/layers/RouteLayerView3D.js +1 -1
  100. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  101. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  102. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  103. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  104. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  105. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  106. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  107. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  108. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  109. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  110. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  111. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  112. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  113. package/views/3d/layers/i3s/I3SLodHandling.js +1 -1
  114. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  115. package/views/3d/layers/support/makeScheduleFunction.js +1 -1
  116. package/views/3d/layers/support/symbolColorUtils.js +1 -1
  117. package/views/3d/state/controllers/FovController.js +1 -1
  118. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  119. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  120. package/views/3d/state/controllers/RotateController.js +1 -1
  121. package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
  122. package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
  123. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  124. package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
  125. package/views/3d/state/utils/navigationUtils.js +1 -1
  126. package/views/3d/support/StreamDataLoader.js +1 -1
  127. package/views/3d/terrain/OverlayRenderer.js +1 -1
  128. package/views/3d/terrain/TerrainRenderer.js +1 -1
  129. package/views/3d/terrain/TerrainSurface.js +1 -1
  130. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  131. package/views/3d/webgl-engine/collections/Component/RenderSubmitSystem.js +1 -1
  132. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  133. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js +11 -0
  134. package/views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js +18 -0
  135. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +40 -26
  136. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +35 -24
  137. package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +12 -8
  138. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +3 -1
  139. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +26 -8
  140. package/views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js +1 -1
  141. package/views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js +1 -1
  142. package/views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js +1 -1
  143. package/views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js +1 -1
  144. package/views/3d/webgl-engine/core/shaderModules/Float3DrawUniform.js +1 -1
  145. package/views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js +1 -1
  146. package/views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js +1 -1
  147. package/views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js +1 -1
  148. package/views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js +1 -1
  149. package/views/3d/webgl-engine/core/shaderModules/Float4sPassUniform.js +1 -1
  150. package/views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js +1 -1
  151. package/views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js +1 -1
  152. package/views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js +1 -1
  153. package/views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js +1 -1
  154. package/views/3d/webgl-engine/core/shaderModules/Matrix3DrawUniform.js +1 -1
  155. package/views/3d/webgl-engine/core/shaderModules/Matrix3PassUniform.js +1 -1
  156. package/views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js +1 -1
  157. package/views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js +1 -1
  158. package/views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js +1 -1
  159. package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
  160. package/views/3d/webgl-engine/core/shaderModules/Matrix4sPassUniform.js +1 -1
  161. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  162. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  163. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  164. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  165. package/views/3d/webgl-engine/lib/Program.js +1 -1
  166. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  167. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  168. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  169. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  170. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  171. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  172. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  173. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  174. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  175. package/views/analysis/analysisViewUtils.js +1 -1
  176. package/views/webgl/Program.js +1 -1
  177. package/views/webgl/ShaderBuilder.js +1 -1
  178. package/webscene/Slide.js +1 -1
  179. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  180. package/widgets/BatchAttributeForm.js +1 -1
  181. package/widgets/Editor/components/PendingFeatureList.js +1 -1
  182. package/widgets/FeatureTemplates.js +1 -1
  183. package/widgets/LineOfSight/LineOfSightTarget.js +1 -1
  184. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  185. package/widgets/Search/SearchViewModel.js +1 -1
  186. package/widgets/Search/support/layerSearchUtils.js +1 -1
  187. package/widgets/support/ItemList.js +1 -1
  188. package/widgets/support/SelectionList/FeatureItem.js +1 -1
  189. package/widgets/support/SelectionList/LayerItem.js +1 -1
  190. package/widgets/support/SelectionList.js +1 -1
  191. package/widgets/support/dateUtils.js +1 -1
  192. package/widgets/support/symbolPreviewUtils.js +1 -1
  193. package/assets/esri/core/workers/chunks/0dbb350ce651bc236ec8.js +0 -1
  194. package/assets/esri/core/workers/chunks/0ff6f15d46d7ddf6fe4d.js +0 -1
  195. package/assets/esri/core/workers/chunks/1f559f1e7f0bc0f4bf20.js +0 -346
  196. package/assets/esri/core/workers/chunks/462cc6966d060be59c7c.js +0 -1
  197. package/assets/esri/core/workers/chunks/4a805e7a57d25c4b595f.js +0 -66
  198. package/assets/esri/core/workers/chunks/58f92100b1b2343111c6.js +0 -1
  199. package/assets/esri/core/workers/chunks/5dcc8fa321f0a7c49f36.js +0 -1
  200. package/assets/esri/core/workers/chunks/5e539ce4751bcfa57145.js +0 -1
  201. package/assets/esri/core/workers/chunks/6194636638b0439fccd8.js +0 -1
  202. package/assets/esri/core/workers/chunks/622c0552ca3cd674d46c.js +0 -1
  203. package/assets/esri/core/workers/chunks/632d1a1287dde980479e.js +0 -1
  204. package/assets/esri/core/workers/chunks/64f5f27e7c5649d79cbc.js +0 -1
  205. package/assets/esri/core/workers/chunks/658e82c9b722852e02d0.js +0 -1
  206. package/assets/esri/core/workers/chunks/679d7baea233faf3fdbc.js +0 -1
  207. package/assets/esri/core/workers/chunks/7aef81778155be373d3e.js +0 -1
  208. package/assets/esri/core/workers/chunks/8b93cd4132934b0d7d39.js +0 -1
  209. package/assets/esri/core/workers/chunks/95507ff0a243e451b99e.js +0 -1
  210. package/assets/esri/core/workers/chunks/97b69fec3e87f11210ba.js +0 -1
  211. package/assets/esri/core/workers/chunks/a250a5c6e055e33bd25c.js +0 -1
  212. package/assets/esri/core/workers/chunks/b4273381dc069f4e1fa2.js +0 -1
  213. package/assets/esri/core/workers/chunks/b72137c63b7f2a525d9e.js +0 -1
  214. package/assets/esri/core/workers/chunks/c2264451d12f1fbaad22.js +0 -1
  215. package/assets/esri/core/workers/chunks/c6c86cbe65a58c3093ae.js +0 -1
  216. package/assets/esri/core/workers/chunks/fe3703ec198cbfebec30.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{getPreferredUrl as e}from"./layerUtils.js";import{fetchArcGISServiceJSON as r}from"../../support/requestPresets.js";const t=new Set(["Catalog Layer","Feature Layer","Oriented Imagery Layer"]);async function a(t,a){const{loadContext:n,...s}=a||{},o=n?await n.fetchServiceMetadata(t,s):await r(t,s),y=e(t,o);i(o),c(o);const l={serviceJSON:o,preferredUrl:y};if((o.currentVersion??0)<10.5)return l;const u=`${y??t}/layers`,f=n?await n.fetchServiceMetadata(u,s):await r(u,s);return i(f),c(f),l.layersJSON={layers:f.layers,tables:f.tables},l}function n(e){const{type:r}=e;return!!r&&t.has(r)}function s(e){return"Table"===e.type}function c(e){e.layers=e.layers?.filter(n),e.tables=e.tables?.filter(s)}function o(e){e.type||="Feature Layer"}function y(e){e.type||="Table"}function i(e){e.layers?.forEach(o),e.tables?.forEach(y)}function l(e){switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer"}return"FeatureLayer"}export{a as fetchFeatureService,l as getLayerModuleType};
5
+ import{getPreferredHost as e,getPreferredUrl as r}from"./layerUtils.js";import{fetchArcGISServiceJSON as t}from"../../support/requestPresets.js";const a=new Set(["Catalog Layer","Feature Layer","Oriented Imagery Layer"]);async function n(a,n){const{loadContext:s,...o}=n||{},y=s?await s.fetchServiceMetadata(a,o):await t(a,o),i=e(y);u(y),c(y);const l={serviceJSON:y,preferredHost:i};if((y.currentVersion??0)<10.5)return l;const f=`${r(a,y)??a}/layers`,L=s?await s.fetchServiceMetadata(f,o):await t(f,o);return u(L),c(L),l.layersJSON={layers:L.layers,tables:L.tables},l}function s(e){const{type:r}=e;return!!r&&a.has(r)}function o(e){return"Table"===e.type}function c(e){e.layers=e.layers?.filter(s),e.tables=e.tables?.filter(o)}function y(e){e.type||="Feature Layer"}function i(e){e.type||="Table"}function u(e){e.layers?.forEach(y),e.tables?.forEach(i)}function l(e){switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer"}return"FeatureLayer"}export{n as fetchFeatureService,l as getLayerModuleType};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{id as e}from"../../kernel.js";import t from"../../request.js";import n from"../../core/Collection.js";import{hasSameOrigin as r,changeHost as i}from"../../core/urlUtils.js";import{isLayerFromCatalog as u}from"../catalog/catalogUtils.js";function s(e){return d(e)||y(e)}function o(e){return null!=e&&"object"==typeof e&&"type"in e&&"feature"===e.type}function a(e){return null!=e&&"object"==typeof e&&"type"in e&&"graphics"===e.type}function c(e){return null!=e&&"object"==typeof e&&"type"in e&&"map-image"===e.type}function l(e){return null!=e&&"object"==typeof e&&"type"in e&&"map-notes"===e.type&&"sublayers"in e}function f(e){return null!=e&&"object"==typeof e&&"type"in e&&"knowledge-graph"===e.type&&"layers"in e}function p(e){return null!=e&&"object"==typeof e&&"type"in e&&"link-chart"===e.type&&"layers"in e}function y(e){return"scene"===e?.type}function g(e){return null!=e&&"object"==typeof e&&"type"in e&&"subtype-group"===e.type&&"sublayers"in e}function b(e){return"subtype-sublayer"===e?.type}function d(e){const t=e?.type;return"imagery-tile"===t||"tile"===t||"open-street-map"===t||"vector-tile"===t||"web-tile"===t||"wmts"===t}function m(e){const t=e?.type;return"base-tile"===t||"tile"===t||"elevation"===t||"imagery-tile"===t||"base-elevation"===t||"open-street-map"===t||"wcs"===t||"web-tile"===t||"wmts"===t||"vector-tile"===t}function h(e){return null!=e&&"type"in e&&"group"===e.type}const j={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function v(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function w(e){return"IntegratedMeshLayer"===e||"IntegratedMesh3DTilesLayer"===e}function L(e){return"integrated-mesh"===e||"integrated-mesh-3dtiles"===e}function S(e){return"voxel"===e?.type}function E(e){return"imagery-tile"===e?.type}function C(e,t){return null!=e?.parent&&"declaredClass"in e.parent&&"esri.Basemap"===e.parent.declaredClass&&e.parent[t].includes(e)}function M(e){return C(e,"baseLayers")}function x(e){return C(e,"referenceLayers")}function I(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function T(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}function U(e){return"feature"===e?.type&&"feature-layer"===e.source?.type}function k(e){const t=/[:;]/,n=[];let r=!1;if(e&&(e.forEach(((e,i)=>{n.push([i,e]),!r&&t.test(e)&&(r=!0)})),n.length>0)){let e;if(r){const t={};n.forEach((e=>{t[e[0]]=e[1]})),e=JSON.stringify(t)}else{const t=[];n.forEach((e=>{t.push(e[0]+":"+e[1])})),e=t.join(";")}return e}return null}function O(e){if(!e)return;const t=[];return e.forEach(((e,n)=>{t.push('"'+n+'":'+JSON.stringify(e))})),t.length?"{"+t.join(",")+"}":void 0}function B(e){if(e.activeLayer){const t=e.activeLayer.tileMatrixSet;if(t)return t;const n=e.activeLayer.tileMatrixSets;if(n)return n}return null}async function P(n,r){const i=e?.findServerInfo(n);if(null!=i?.currentVersion)return i.owningSystemUrl||null;const u=n.toLowerCase().indexOf("/rest/services");if(-1===u)return null;const s=`${n.slice(0,u)}/rest/info`,o=null!=r?r.signal:null,{data:a}=await t(s,{query:{f:"json"},responseType:"json",signal:o});return a?.owningSystemUrl||null}function q(e){if(!("capabilities"in e))return!1;switch(e.type){case"catalog":case"catalog-footprint":case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}function D(e){return null!=e&&"object"==typeof e&&"isTable"in e&&!!e.isTable}function J(e){return q(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function N(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":return!0;default:return!1}}function $(e){return!!N(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}function F(e){if(!e)return[];return("subtypes"in e?e.subtypes:g(e.parent)?e.parent.subtypes:[])??[]}function H(e){return("imagery"===e.type||"imagery-tile"===e.type)&&"flow"===e.renderer?.type}function V(e){const t=new n;for(const n of e.allLayers.concat(e.allTables))"csv"===n.type||u(n)||("charts"in n&&t.push(n),"subtype-group"===n.type&&t.push(...n.sublayers));return t}function z(e,t){const n=t?.preferredHost;return!n||r(e,`https://${n}`,!0)?null:i(e,n)}function A(e){return!e||"Feature Service"===e.type&&!e.sourceUrl}function G(e,t){t&&A(e)&&(e.url=t)}export{G as applyPreferredUrl,$ as getEffectiveEditingEnabled,J as getEffectiveLayerCapabilities,V as getLayersWithChartSupport,P as getOwningPortalUrl,z as getPreferredUrl,F as getSubtypesFromLayer,B as getTileMaxtrixSetFromActiveLayer,M as isBaseLayer,s as isBasemap3DSupportedLayer,d as isBasemapSupportedTiledLayer,I as isFeatureCollectionLayer,o as isFeatureLayer,U as isFeatureServiceLayer,a as isGraphicsLayer,h as isGroupLayer,E as isImageryTileLayer,L as isIntegratedMeshLayer,w as isIntegratedMeshOperationalLayer,f as isKnowledgeGraphLayer,q as isLayerWithFeatureCapabilities,T as isLayerWithFeatureLayerSource,H as isLayerWithFlowRenderer,p as isLinkChartLayer,c as isMapImageLayer,l as isMapNotesLayer,A as isPreferredUrlApplicable,x as isReferenceLayer,y as isSceneLayer,v as isSceneServiceLayer,g as isSubtypeGroupLayer,b as isSubtypeSublayer,D as isTable,m as isTiledLayer,S as isVoxelLayer,j as sceneServiceLayerTypeToClassName,k as serializeLayerDefinitions,O as serializeTimeOptions};
5
+ import{id as e}from"../../kernel.js";import t from"../../request.js";import n from"../../core/Collection.js";import{hasSameOrigin as r,changeHost as i}from"../../core/urlUtils.js";import{isLayerFromCatalog as u}from"../catalog/catalogUtils.js";function s(e){return d(e)||y(e)}function o(e){return null!=e&&"object"==typeof e&&"type"in e&&"feature"===e.type}function a(e){return null!=e&&"object"==typeof e&&"type"in e&&"graphics"===e.type}function c(e){return null!=e&&"object"==typeof e&&"type"in e&&"map-image"===e.type}function l(e){return null!=e&&"object"==typeof e&&"type"in e&&"map-notes"===e.type&&"sublayers"in e}function f(e){return null!=e&&"object"==typeof e&&"type"in e&&"knowledge-graph"===e.type&&"layers"in e}function p(e){return null!=e&&"object"==typeof e&&"type"in e&&"link-chart"===e.type&&"layers"in e}function y(e){return"scene"===e?.type}function g(e){return null!=e&&"object"==typeof e&&"type"in e&&"subtype-group"===e.type&&"sublayers"in e}function b(e){return"subtype-sublayer"===e?.type}function d(e){const t=e?.type;return"imagery-tile"===t||"tile"===t||"open-street-map"===t||"vector-tile"===t||"web-tile"===t||"wmts"===t}function m(e){const t=e?.type;return"base-tile"===t||"tile"===t||"elevation"===t||"imagery-tile"===t||"base-elevation"===t||"open-street-map"===t||"wcs"===t||"web-tile"===t||"wmts"===t||"vector-tile"===t}function h(e){return null!=e&&"type"in e&&"group"===e.type}const j={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function v(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function w(e){return"IntegratedMeshLayer"===e||"IntegratedMesh3DTilesLayer"===e}function L(e){return"integrated-mesh"===e||"integrated-mesh-3dtiles"===e}function S(e){return"voxel"===e?.type}function E(e){return"imagery-tile"===e?.type}function C(e,t){return null!=e?.parent&&"declaredClass"in e.parent&&"esri.Basemap"===e.parent.declaredClass&&e.parent[t].includes(e)}function M(e){return C(e,"baseLayers")}function x(e){return C(e,"referenceLayers")}function I(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function T(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}function U(e){return"feature"===e?.type&&"feature-layer"===e.source?.type}function k(e){const t=/[:;]/,n=[];let r=!1;if(e&&(e.forEach(((e,i)=>{n.push([i,e]),!r&&t.test(e)&&(r=!0)})),n.length>0)){let e;if(r){const t={};n.forEach((e=>{t[e[0]]=e[1]})),e=JSON.stringify(t)}else{const t=[];n.forEach((e=>{t.push(e[0]+":"+e[1])})),e=t.join(";")}return e}return null}function O(e){if(!e)return;const t=[];return e.forEach(((e,n)=>{t.push('"'+n+'":'+JSON.stringify(e))})),t.length?"{"+t.join(",")+"}":void 0}function B(e){if(e.activeLayer){const t=e.activeLayer.tileMatrixSet;if(t)return t;const n=e.activeLayer.tileMatrixSets;if(n)return n}return null}async function P(n,r){const i=e?.findServerInfo(n);if(null!=i?.currentVersion)return i.owningSystemUrl||null;const u=n.toLowerCase().indexOf("/rest/services");if(-1===u)return null;const s=`${n.slice(0,u)}/rest/info`,o=null!=r?r.signal:null,{data:a}=await t(s,{query:{f:"json"},responseType:"json",signal:o});return a?.owningSystemUrl||null}function q(e){if(!("capabilities"in e))return!1;switch(e.type){case"catalog":case"catalog-footprint":case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}function D(e){return null!=e&&"object"==typeof e&&"isTable"in e&&!!e.isTable}function H(e){return q(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function J(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":return!0;default:return!1}}function N(e){return!!J(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}function $(e){if(!e)return[];return("subtypes"in e?e.subtypes:g(e.parent)?e.parent.subtypes:[])??[]}function F(e){return("imagery"===e.type||"imagery-tile"===e.type)&&"flow"===e.renderer?.type}function V(e){const t=new n;for(const n of e.allLayers.concat(e.allTables))"csv"===n.type||u(n)||("charts"in n&&t.push(n),"subtype-group"===n.type&&t.push(...n.sublayers));return t}function z(e,t){const n=A(t);return!n||r(e,`https://${n}`,!0)?null:i(e,n)}function A(e){return e?.preferredHost}function G(e){return!e||"Feature Service"===e.type&&!e.sourceUrl}function K(e,t){if(!t||!G(e))return;const n=z(e.url,{preferredHost:t});n&&(e.url=n)}export{K as applyPreferredHostToPortalItem,N as getEffectiveEditingEnabled,H as getEffectiveLayerCapabilities,V as getLayersWithChartSupport,P as getOwningPortalUrl,A as getPreferredHost,z as getPreferredUrl,$ as getSubtypesFromLayer,B as getTileMaxtrixSetFromActiveLayer,M as isBaseLayer,s as isBasemap3DSupportedLayer,d as isBasemapSupportedTiledLayer,I as isFeatureCollectionLayer,o as isFeatureLayer,U as isFeatureServiceLayer,a as isGraphicsLayer,h as isGroupLayer,E as isImageryTileLayer,L as isIntegratedMeshLayer,w as isIntegratedMeshOperationalLayer,f as isKnowledgeGraphLayer,q as isLayerWithFeatureCapabilities,T as isLayerWithFeatureLayerSource,F as isLayerWithFlowRenderer,p as isLinkChartLayer,c as isMapImageLayer,l as isMapNotesLayer,G as isPreferredUrlApplicable,x as isReferenceLayer,y as isSceneLayer,v as isSceneServiceLayer,g as isSubtypeGroupLayer,b as isSubtypeSublayer,D as isTable,m as isTiledLayer,S as isVoxelLayer,j as sceneServiceLayerTypeToClassName,k as serializeLayerDefinitions,O as serializeTimeOptions};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "4.34.0-next.15",
3
+ "version": "4.34.0-next.17",
4
4
  "homepage": "https://js.arcgis.com",
5
5
  "description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
6
6
  "keywords": [
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{parse as t}from"../../layers/support/arcgisLayerUrl.js";import{fetchFeatureService as r}from"../../layers/support/fetchService.js";import{LayerLoadContext as a}from"../../layers/support/LayerLoadContext.js";import{applyPreferredUrl as o,getPreferredUrl as n,isPreferredUrlApplicable as s}from"../../layers/support/layerUtils.js";import l from"../Portal.js";import{createForItemRead as i}from"./jsonContext.js";import{instanceTypeToLayerTypes as u,getSublayersByLayerType as p,getFirstLayerOrTable as c,preprocessFSItemData as y,populateSceneServiceItemData as d,getNumLayersAndTables as f,layerTypeToLayerModuleType as m,createSublayerData as w}from"./loadUtils.js";import{hasTypeKeyword as h}from"./portalItemUtils.js";import{loadStyleRenderer as g}from"../../renderers/support/styleUtils.js";import{fetchArcGISServiceJSON as I}from"../../support/requestPresets.js";async function b(e,t){const r=e.instance.portalItem;if(r?.id)return await r.load(t),L(e),e.validateItem&&e.validateItem(r),S(e,t)}function L(t){const r=t.instance.portalItem;if(!r?.type||!t.supportedTypes.includes(r.type))throw new e("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}'",{type:r?.type,expectedType:t.supportedTypes.join(", ")})}async function S(e,t){const r=e.instance,o=r.portalItem;if(!o)return;let{url:n}=o;const{title:s}=o,l=i(o,"portal-item");if("group"===r.type)return v(r,l,e);n&&"media"!==r.type&&r.read({url:n},l);const u=new a,{data:p,preferredUrl:c}=await x(e,u,t);return c&&"media"!==r.type&&(n=c,r.read({url:n},l)),p&&r.read(p,l),r.resourceReferences={portalItem:o,paths:l.readResourcePaths??[]},"subtype-group"!==r.type&&r.read({title:s},l),g(r,l)}async function v(t,r,a){const o=t.portalItem;if(!t.sourceIsPortalItem)return;const{title:n,type:s}=o;if("Group Layer"===s){if(!h(o,"Map"))throw new e("portal:invalid-layer-item-typekeyword","'Group Layer' item without 'Map' type keyword is not supported");return T(t,a)}return t.read({title:n},r),j(t,a)}async function T(t,r){const a=t.portalItem,o=await a.fetchData("json");if(!o)return;if(!r.populateGroupLayer)throw new e("portal:missing-populate-group-layer","Missing populate group layer");const n=i(a,"web-map");t.read(o,n),await r.populateGroupLayer(t,o,{context:n}),t.resourceReferences={portalItem:a,paths:n.readResourcePaths??[]}}async function j(t,r){let o;const{portalItem:n}=t;if(!n)return;const s=n.type,l=r.layerModuleTypeMap;if(!l)throw new e("portal:missing-layer-module-type-map","Layer module type map is required to construct sub layers");switch(s){case"Feature Service":case"Feature Collection":o=l.FeatureLayer;break;case"Stream Service":o=l.StreamLayer;break;case"Scene Service":o=l.SceneLayer;break;case"Video Service":o=l.VideoLayer;break;default:throw new e("portal:unsupported-item-type-as-group",`The item type '${s}' is not supported as a 'IGroupLayer'`)}const i="Video Service"===s,u=new a;let[p,{data:m}]=await Promise.all([o(),i?{data:null}:x(r,u)]),w=()=>p;if(i)return M(t,w,l);if("Feature Service"===s){const e=c(m)?.customParameters;m=n.url?(await y(m,n.url,u)).data:{},w=await A(m,l)||w;const r=await E(n.url,{customParameters:e,loadContext:u});return await P(t,w,w,m,l,r)}return"Scene Service"===s&&n.url&&(m=await d(n,m,u)),f(m)>0?await P(t,w,null,m,l):await F(t,w,l)}async function F(e,t,r){const{portalItem:a}=e;if(!a?.url)return;const o=await I(a.url);o&&P(e,t,null,{layers:o.layers?.map(w),tables:o.tables?.map(w)},r)}async function M(e,t,r){const{portalItem:a}=e;if(!a?.url)return;const o=await I(a.url);o&&P(e,t,null,{layers:o.layers?.map((({id:e,name:t})=>({id:e,name:t})))},r)}async function P(e,t,r,a,o,n){let s=a.layers||[];const l=a.tables||[];if("Feature Collection"===e.portalItem?.type?(s.forEach(((e,t)=>{e.id=t,"Table"===e?.layerDefinition?.type&&l.push(e)})),s=s.filter((e=>"Table"!==e?.layerDefinition?.type))):(s.reverse(),l.reverse()),s.forEach((r=>{const o=n?.(r);if(o||!n){const n=U(e,t(r),a,r,o);e.add(n)}})),l.length){const t=r?null:await o.FeatureLayer();l.forEach((o=>{const s=n?.(o);if(s||!n){const n=U(e,r?r(o):t,a,o,s);e.tables.add(n)}}))}}function U(e,t,r,a,o){const n=e.portalItem,s={portalItem:n.clone(),layerId:a.id};null!=a.url&&(s.url=a.url);const i=new t(s);if("sourceJSON"in i&&(i.sourceJSON=o),"subtype-group"!==i.type&&"catalog"!==i.type&&(i.sublayerTitleMode="service-name"),"Feature Collection"===n.type){const e={origin:"portal-item",portal:n.portal||l.getDefault()};i.read(a,e);const t=r.showLegend;null!=t&&i.read({showLegend:t},e)}return i}async function x(e,t,r){if(!1===e.supportsData)return{data:void 0};const a=e.instance,n=a.portalItem;if(!n)return{data:void 0};let s=null;try{s=await n.fetchData("json",r)}catch(l){}if(C(a)){let e=null;const{count:r,preferredUrl:l}=await G(n,s,t);if(o(n,l),(s?.layers||s?.tables)&&r>0){if(null==a.layerId){const e=u(a.type),t=e?.length?p(s,e)[0]:c(s);t&&(a.layerId=t.id)}e=k(s,a),"OrientedImageryLayer"===e?.layerType&&"oriented-imagery"===a.type&&a.supportedSourceTypes.add("Feature Layer"),e&&null!=s.showLegend&&(e.showLegend=s.showLegend)}return r>1&&"sublayerTitleMode"in a&&"service-name"!==a.sublayerTitleMode&&(a.sublayerTitleMode="item-title-and-service-name"),{data:e,preferredUrl:l}}return{data:s}}async function G(e,r,a){if(r?.layers&&r?.tables)return{count:f(r)};const o=t(e.url);if(!o)return{count:1};const l=o.url.path,i=await a.fetchServiceMetadata(l,{customParameters:c(r)?.customParameters}).catch((()=>null));return{count:(r?.layers?.length??i?.layers?.length??0)+(r?.tables?.length??i?.tables?.length??0),preferredUrl:s(e)?n(l,i):null}}function k(e,t){const{layerId:r}=t,a=e.layers?.find((e=>e.id===r))||e.tables?.find((e=>e.id===r));return a&&D(a,t)?a:null}function C(e){return"stream"!==e.type&&"layerId"in e}function D(e,t){const r="layerType"in e&&e.layerType,{type:a}=t;return!("feature"===a&&r&&"ArcGISFeatureLayer"!==e.layerType||"catalog"===a&&!r||"oriented-imagery"===a&&!r||"subtype-group"===a&&!r)}async function E(e,t){const{layersJSON:a}=await r(e,t);if(!a)return null;const o=[...a.layers,...a.tables];return e=>o.find((t=>t.id===e.id))}async function A(e,t){const{layers:r,tables:a}=e,o=[...r??[],...a??[]];if(!o.length)return;const n=new Set,s=[];for(const{layerType:u}of o){const e=u??"ArcGISFeatureLayer";if(n.has(e))continue;n.add(e);const r=t[m(e)];s.push(r())}const l=await Promise.all(s),i=new Map;return Array.from(n).forEach(((e,t)=>{i.set(e,l[t])})),({layerType:e})=>{const t=e??"ArcGISFeatureLayer";return i.get(t)}}export{b as load};
5
+ import e from"../../core/Error.js";import{parse as t}from"../../layers/support/arcgisLayerUrl.js";import{fetchFeatureService as r}from"../../layers/support/fetchService.js";import{LayerLoadContext as a}from"../../layers/support/LayerLoadContext.js";import{applyPreferredHostToPortalItem as o,getPreferredHost as n,isPreferredUrlApplicable as s}from"../../layers/support/layerUtils.js";import l from"../Portal.js";import{createForItemRead as i}from"./jsonContext.js";import{instanceTypeToLayerTypes as p,getSublayersByLayerType as u,getFirstLayerOrTable as c,preprocessFSItemData as y,populateSceneServiceItemData as d,getNumLayersAndTables as f,layerTypeToLayerModuleType as m,createSublayerData as w}from"./loadUtils.js";import{hasTypeKeyword as h}from"./portalItemUtils.js";import{loadStyleRenderer as g}from"../../renderers/support/styleUtils.js";import{fetchArcGISServiceJSON as I}from"../../support/requestPresets.js";async function b(e,t){const r=e.instance.portalItem;if(r?.id)return await r.load(t),v(e),e.validateItem&&e.validateItem(r),L(e,t)}function v(t){const r=t.instance.portalItem;if(!r?.type||!t.supportedTypes.includes(r.type))throw new e("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}'",{type:r?.type,expectedType:t.supportedTypes.join(", ")})}async function L(e,t){const r=e.instance,o=r.portalItem;if(!o)return;let{url:n}=o;const{title:s}=o,l=i(o,"portal-item");if("group"===r.type)return S(r,l,e);n&&"media"!==r.type&&r.read({url:n},l);const p=new a,{data:u,preferredHost:c}=await x(e,p,t);return n=o.url,"isUrlHostModified"in r&&(c?r.applyPreferredHost({preferredHost:c}):r.applyHostFromPortalItem()),u&&r.read(u,l),r.resourceReferences={portalItem:o,paths:l.readResourcePaths??[]},"subtype-group"!==r.type&&r.read({title:s},l),g(r,l)}async function S(t,r,a){const o=t.portalItem;if(!t.sourceIsPortalItem)return;const{title:n,type:s}=o;if("Group Layer"===s){if(!h(o,"Map"))throw new e("portal:invalid-layer-item-typekeyword","'Group Layer' item without 'Map' type keyword is not supported");return T(t,a)}return t.read({title:n},r),j(t,a)}async function T(t,r){const a=t.portalItem,o=await a.fetchData("json");if(!o)return;if(!r.populateGroupLayer)throw new e("portal:missing-populate-group-layer","Missing populate group layer");const n=i(a,"web-map");t.read(o,n),await r.populateGroupLayer(t,o,{context:n}),t.resourceReferences={portalItem:a,paths:n.readResourcePaths??[]}}async function j(t,r){let n;const{portalItem:s}=t;if(!s)return;const l=s.type,i=r.layerModuleTypeMap;if(!i)throw new e("portal:missing-layer-module-type-map","Layer module type map is required to construct sub layers");switch(l){case"Feature Service":case"Feature Collection":n=i.FeatureLayer;break;case"Stream Service":n=i.StreamLayer;break;case"Scene Service":n=i.SceneLayer;break;case"Video Service":n=i.VideoLayer;break;default:throw new e("portal:unsupported-item-type-as-group",`The item type '${l}' is not supported as a 'IGroupLayer'`)}const p="Video Service"===l,u=new a;let[m,{data:w}]=await Promise.all([n(),p?{data:null}:x(r,u)]),h=()=>m;if(p)return F(t,h,i);if("Feature Service"===l){const e=c(w)?.customParameters;w=s.url?(await y(w,s.url,u)).data:{},h=await E(w,i)||h;const{provider:r,preferredHost:a}=await U(s.url,{customParameters:e,loadContext:u});return o(s,a),await H(t,h,h,w,i,r)}return"Scene Service"===l&&s.url&&(w=await d(s,w,u)),f(w)>0?await H(t,h,null,w,i):await P(t,h,i)}async function P(e,t,r){const{portalItem:a}=e;if(!a?.url)return;const o=await I(a.url);o&&H(e,t,null,{layers:o.layers?.map(w),tables:o.tables?.map(w)},r)}async function F(e,t,r){const{portalItem:a}=e;if(!a?.url)return;const o=await I(a.url);o&&H(e,t,null,{layers:o.layers?.map((({id:e,name:t})=>({id:e,name:t})))},r)}async function H(e,t,r,a,o,n){let s=a.layers||[];const l=a.tables||[];if("Feature Collection"===e.portalItem?.type?(s.forEach(((e,t)=>{e.id=t,"Table"===e?.layerDefinition?.type&&l.push(e)})),s=s.filter((e=>"Table"!==e?.layerDefinition?.type))):(s.reverse(),l.reverse()),s.forEach((r=>{const o=n?.(r);if(o||!n){const n=M(e,t(r),a,r,o);e.add(n)}})),l.length){const t=r?null:await o.FeatureLayer();l.forEach((o=>{const s=n?.(o);if(s||!n){const n=M(e,r?r(o):t,a,o,s);e.tables.add(n)}}))}}function M(e,t,r,a,o){const n=e.portalItem,s={portalItem:n.clone(),layerId:a.id};null!=a.url&&(s.url=a.url);const i=new t(s);if("sourceJSON"in i&&(i.sourceJSON=o),"subtype-group"!==i.type&&"catalog"!==i.type&&(i.sublayerTitleMode="service-name"),"Feature Collection"===n.type){const e={origin:"portal-item",portal:n.portal||l.getDefault()};i.read(a,e);const t=r.showLegend;null!=t&&i.read({showLegend:t},e)}return i}async function x(e,t,r){if(!1===e.supportsData)return{data:void 0};const a=e.instance,n=a.portalItem;if(!n)return{data:void 0};let s=null;try{s=await n.fetchData("json",r)}catch(l){}if(C(a)){let e=null;const{count:r,preferredHost:l}=await G(n,s,t);if(o(n,l),(s?.layers||s?.tables)&&r>0){if(null==a.layerId){const e=p(a.type),t=e?.length?u(s,e)[0]:c(s);t&&(a.layerId=t.id)}e=k(s,a),"OrientedImageryLayer"===e?.layerType&&"oriented-imagery"===a.type&&a.supportedSourceTypes.add("Feature Layer"),e&&null!=s.showLegend&&(e.showLegend=s.showLegend)}return r>1&&"sublayerTitleMode"in a&&"service-name"!==a.sublayerTitleMode&&(a.sublayerTitleMode="item-title-and-service-name"),{data:e,preferredHost:l}}return{data:s}}async function G(e,r,a){if(r?.layers&&r?.tables)return{count:f(r)};const o=t(e.url);if(!o)return{count:1};const l=o.url.path,i=await a.fetchServiceMetadata(l,{customParameters:c(r)?.customParameters}).catch((()=>null));return{count:(r?.layers?.length??i?.layers?.length??0)+(r?.tables?.length??i?.tables?.length??0),preferredHost:s(e)?n(i):null}}function k(e,t){const{layerId:r}=t,a=e.layers?.find((e=>e.id===r))||e.tables?.find((e=>e.id===r));return a&&D(a,t)?a:null}function C(e){return"stream"!==e.type&&"layerId"in e}function D(e,t){const r="layerType"in e&&e.layerType,{type:a}=t;return!("feature"===a&&r&&"ArcGISFeatureLayer"!==e.layerType||"catalog"===a&&!r||"oriented-imagery"===a&&!r||"subtype-group"===a&&!r)}async function U(e,t){const{layersJSON:a,preferredHost:o}=await r(e,t);if(!a)return{provider:null,preferredHost:o};const n=[...a.layers,...a.tables];return{provider:e=>n.find((t=>t.id===e.id)),preferredHost:o}}async function E(e,t){const{layers:r,tables:a}=e,o=[...r??[],...a??[]];if(!o.length)return;const n=new Set,s=[];for(const{layerType:p}of o){const e=p??"ArcGISFeatureLayer";if(n.has(e))continue;n.add(e);const r=t[m(e)];s.push(r())}const l=await Promise.all(s),i=new Map;return Array.from(n).forEach(((e,t)=>{i.set(e,l[t])})),({layerType:e})=>{const t=e??"ArcGISFeatureLayer";return i.get(t)}}export{b as load};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{findAssociatedFeatureService as e}from"../../layers/support/associatedFeatureServiceUtils.js";import{getLayerModuleType as r}from"../../layers/support/fetchService.js";import{getPreferredUrl as t}from"../../layers/support/layerUtils.js";function a(e){const t={id:e.id,name:e.name},a=r(e.type);return"FeatureLayer"!==a&&(t.layerType=a),t}async function l(e,r,l){let n;if(null==e?.layers||null==e?.tables){const u=await l.fetchServiceMetadata(r,{customParameters:s(e)?.customParameters});n=t(r,u),(e=e||{}).layers=e.layers||u?.layers?.map(a),e.tables=e.tables||u?.tables?.map(a)}return{data:e,preferredUrl:n}}function s(e){if(!e)return null;const{layers:r,tables:t}=e;return r?.length?r[0]:t?.length?t[0]:null}function n(e,r){if(null==r)return null;return[...e.layers||[],...e.tables||[]].find((e=>e.id===r))}function u(e,r){return[...e.layers||[],...e.tables||[]].filter((({layerType:e})=>e?r.includes(e):r.includes("ArcGISFeatureLayer")))}function c(e){return(e?.layers?.length??0)+(e?.tables?.length??0)}function i(e){switch(e){case"catalog":return["CatalogLayer"];case"feature":return["ArcGISFeatureLayer"];case"oriented-imagery":return["OrientedImageryLayer"];case"subtype-group":return["SubtypeGroupLayer","SubtypeGroupTable"]}return null}function o(e){switch(e){case"CatalogLayer":return"CatalogLayer";case"OrientedImageryLayer":return"OrientedImageryLayer";case"SubtypeGroupLayer":case"SubtypeGroupTable":return"SubtypeGroupLayer"}return"FeatureLayer"}async function y(r,t,l){if(!r?.url)return t??{};if(t??={},!t.layers){const e=await l.fetchServiceMetadata(r.url);t.layers=e.layers?.map(a)}const{serverUrl:n,portalItem:u}=await e(r.url,{sceneLayerItem:r,customParameters:s(t)?.customParameters}).catch((()=>({serverUrl:null,portalItem:null})));if(null==n)return t.tables=[],t;if(!t.tables&&u){const e=await u.fetchData().catch((()=>null));if(e?.tables)t.tables=e.tables.map(a);else{const r=await l.fetchServiceMetadata(n,{customParameters:s(e)?.customParameters}).catch((()=>null));t.tables=r?.tables?.map(a)}}if(t.tables)for(const e of t.tables)e.url=`${n}/${e.id}`;return t}export{a as createSublayerData,s as getFirstLayerOrTable,n as getLayerOrTable,c as getNumLayersAndTables,u as getSublayersByLayerType,i as instanceTypeToLayerTypes,o as layerTypeToLayerModuleType,y as populateSceneServiceItemData,l as preprocessFSItemData};
5
+ import{findAssociatedFeatureService as e}from"../../layers/support/associatedFeatureServiceUtils.js";import{getLayerModuleType as r}from"../../layers/support/fetchService.js";import{getPreferredHost as t}from"../../layers/support/layerUtils.js";function a(e){const t={id:e.id,name:e.name},a=r(e.type);return"FeatureLayer"!==a&&(t.layerType=a),t}async function l(e,r,l){let n;if(null==e?.layers||null==e?.tables){const u=await l.fetchServiceMetadata(r,{customParameters:s(e)?.customParameters});n=t(u),(e=e||{}).layers=e.layers||u?.layers?.map(a),e.tables=e.tables||u?.tables?.map(a)}return{data:e,preferredHost:n}}function s(e){if(!e)return null;const{layers:r,tables:t}=e;return r?.length?r[0]:t?.length?t[0]:null}function n(e,r){if(null==r)return null;return[...e.layers||[],...e.tables||[]].find((e=>e.id===r))}function u(e,r){return[...e.layers||[],...e.tables||[]].filter((({layerType:e})=>e?r.includes(e):r.includes("ArcGISFeatureLayer")))}function c(e){return(e?.layers?.length??0)+(e?.tables?.length??0)}function o(e){switch(e){case"catalog":return["CatalogLayer"];case"feature":return["ArcGISFeatureLayer"];case"oriented-imagery":return["OrientedImageryLayer"];case"subtype-group":return["SubtypeGroupLayer","SubtypeGroupTable"]}return null}function i(e){switch(e){case"CatalogLayer":return"CatalogLayer";case"OrientedImageryLayer":return"OrientedImageryLayer";case"SubtypeGroupLayer":case"SubtypeGroupTable":return"SubtypeGroupLayer"}return"FeatureLayer"}async function y(r,t,l){if(!r?.url)return t??{};if(t??={},!t.layers){const e=await l.fetchServiceMetadata(r.url);t.layers=e.layers?.map(a)}const{serverUrl:n,portalItem:u}=await e(r.url,{sceneLayerItem:r,customParameters:s(t)?.customParameters}).catch((()=>({serverUrl:null,portalItem:null})));if(null==n)return t.tables=[],t;if(!t.tables&&u){const e=await u.fetchData().catch((()=>null));if(e?.tables)t.tables=e.tables.map(a);else{const r=await l.fetchServiceMetadata(n,{customParameters:s(e)?.customParameters}).catch((()=>null));t.tables=r?.tables?.map(a)}}if(t.tables)for(const e of t.tables)e.url=`${n}/${e.id}`;return t}export{a as createSublayerData,s as getFirstLayerOrTable,n as getLayerOrTable,c as getNumLayersAndTables,u as getSublayersByLayerType,o as instanceTypeToLayerTypes,i as layerTypeToLayerModuleType,y as populateSceneServiceItemData,l as preprocessFSItemData};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{findAssociatedFeatureService as a}from"../../layers/support/associatedFeatureServiceUtils.js";import{getLayerModuleType as r}from"../../layers/support/fetchService.js";import{LayerLoadContext as t}from"../../layers/support/LayerLoadContext.js";import{sceneServiceLayerTypeToClassName as s,applyPreferredUrl as c,getPreferredUrl as n}from"../../layers/support/layerUtils.js";import{layerLookupMap as o}from"../../layers/support/lazyLayerLoader.js";import i from"../PortalItem.js";import{getFirstLayerOrTable as u,getNumLayersAndTables as l,preprocessFSItemData as y,getLayerOrTable as m,layerTypeToLayerModuleType as f,populateSceneServiceItemData as p}from"./loadUtils.js";import{hasTypeKeyword as d}from"./portalItemUtils.js";async function L(e){let{portalItem:a}=e;!a||a instanceof i||(a=new i(a));const r=await w(a);return new(0,r.constructor)({portalItem:a,...r.properties})}async function w(e){await e.load();const a=new t;return S(await N(e,a))}async function N(a,r){switch(a.type){case"3DTiles Service":return a.typeKeywords.includes("3DObject")?b():P();case"CSV":return F();case"Feature Collection":return M(a);case"Feature Service":return h(a,r);case"Feed":return x();case"GeoJson":return G();case"Group Layer":return J();case"Image Service":return g(a,r);case"KML":return V();case"Knowledge Graph Layer":return K();case"Map Service":return v(a,r);case"Media Layer":return k();case"Scene Service":return I(a,r);case"Stream Service":return j();case"Video Service":return T(a,r);case"Vector Tile Service":return C();case"WCS":return U();case"WFS":return W();case"WMS":return D();case"WMTS":return O();default:throw new e("portal:unknown-item-type","Unknown item type '${type}'",{type:a.type})}}async function S(e){const a=e.className,r=o[a];return{constructor:await r(),properties:e.properties}}async function v(e,a){return await $(e,a)?{className:"TileLayer"}:{className:"MapImageLayer"}}async function h(e,a){const r=await A(e,a);if("object"==typeof r){const{sourceJSON:e,className:a}=r,t={sourceJSON:e};return null!=r.id&&(t.layerId=r.id),{className:a||"FeatureLayer",properties:t}}return{className:"GroupLayer"}}async function I(e,r){const t=await A(e,r,(async()=>{try{if(!e.url)return[];const{serverUrl:t}=await a(e.url,{sceneLayerItem:e}),s=await r.fetchServiceMetadata(t);return s?.tables??[]}catch{return[]}}));if("object"==typeof t){const a={};let c;if(null!=t.id?(a.layerId=t.id,c=`${e.url}/layers/${t.id}`):c=e.url,e.typeKeywords?.length)for(const r of Object.keys(s))if(e.typeKeywords.includes(r))return{className:s[r]};const n=await r.fetchServiceMetadata(c,{customParameters:await r.fetchCustomParameters(e,(e=>u(e)?.customParameters))});return{className:s[n?.layerType]||"SceneLayer",properties:a}}if(!1===t){const a=await r.fetchServiceMetadata(e.url);if("Voxel"===a?.layerType)return{className:"VoxelLayer"}}return{className:"GroupLayer"}}async function M(e){await e.load();const a=d(e,"Map Notes"),r=d(e,"Markup");if(a||r)return{className:"MapNotesLayer"};if(d(e,"Route Layer"))return{className:"RouteLayer"};const t=await e.fetchData();return 1===l(t)?{className:"FeatureLayer"}:{className:"GroupLayer"}}async function g(e,a){await e.load();const r=e.typeKeywords?.map((e=>e.toLowerCase()))??[];if(r.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(r.includes("tiled imagery"))return{className:"ImageryTileLayer"};const t=await a.fetchItemData(e),s=t?.layerType;if("ArcGISTiledImageServiceLayer"===s)return{className:"ImageryTileLayer"};if("ArcGISImageServiceLayer"===s)return{className:"ImageryLayer"};const c=await a.fetchServiceMetadata(e.url,{customParameters:await a.fetchCustomParameters(e)}),n=c.cacheType?.toLowerCase(),o=c.capabilities?.toLowerCase().includes("tilesonly"),i=c.tileInfo?.format?.toLowerCase()??"",u=null==n&&["jpg","jpeg","png","png8","png24","png32","mixed"].includes(i);return"map"===n||u||o?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}function j(){return{className:"StreamLayer"}}async function T(e,a){return"object"==typeof await A(e,a)?{className:"VideoLayer"}:{className:"GroupLayer"}}function C(){return{className:"VectorTileLayer"}}function G(){return{className:"GeoJSONLayer"}}function P(){return{className:"IntegratedMesh3DTilesLayer"}}function b(){return{className:"UnsupportedLayer"}}function F(){return{className:"CSVLayer"}}function V(){return{className:"KMLLayer"}}function K(){return{className:"KnowledgeGraphLayer"}}function U(){return{className:"WCSLayer"}}function W(){return{className:"WFSLayer"}}function D(){return{className:"WMSLayer"}}function O(){return{className:"WMTSLayer"}}function x(){return{className:"StreamLayer"}}function J(){return{className:"GroupLayer"}}function k(){return{className:"MediaLayer"}}async function $(e,a){const{tileInfo:r}=await a.fetchServiceMetadata(e.url,{customParameters:await a.fetchCustomParameters(e)});return r}async function A(e,a,t){const{url:s,type:o}=e,i="Feature Service"===o;if(!s)return{};if(/\/\d+$/.test(s)){if(i){const t=await a.fetchServiceMetadata(s,{customParameters:await a.fetchCustomParameters(e,(e=>u(e)?.customParameters))});return c(e,n(s,t)),{id:t.id,className:r(t.type),sourceJSON:t}}return{}}if("Video Service"===o){const e=await a.fetchServiceMetadata(s);return!((e.layers?.length??0)>1)&&{}}await e.load();let d=await a.fetchItemData(e);if(i){const{data:r,preferredUrl:t}=await y(d,s,a);c(e,t);const n=E(r);if("object"==typeof n){const e=m(r,n.id);n.className=f(e?.layerType)}return n}"Scene Service"===o&&(d=await p(e,d,a));if(l(d)>0)return E(d);const L=await a.fetchServiceMetadata(s);return t&&(L.tables=await t()),E(L)}function E(e){return 1===l(e)&&{id:u(e)?.id}}export{L as fromItem,N as selectLayerClassPath};
5
+ import e from"../../core/Error.js";import{findAssociatedFeatureService as a}from"../../layers/support/associatedFeatureServiceUtils.js";import{getLayerModuleType as r}from"../../layers/support/fetchService.js";import{LayerLoadContext as t}from"../../layers/support/LayerLoadContext.js";import{sceneServiceLayerTypeToClassName as s,applyPreferredHostToPortalItem as c,getPreferredHost as n}from"../../layers/support/layerUtils.js";import{layerLookupMap as o}from"../../layers/support/lazyLayerLoader.js";import i from"../PortalItem.js";import{getFirstLayerOrTable as u,getNumLayersAndTables as l,preprocessFSItemData as y,getLayerOrTable as m,layerTypeToLayerModuleType as f,populateSceneServiceItemData as p}from"./loadUtils.js";import{hasTypeKeyword as d}from"./portalItemUtils.js";async function L(e){let{portalItem:a}=e;!a||a instanceof i||(a=new i(a));const r=await w(a);return new(0,r.constructor)({portalItem:a,...r.properties})}async function w(e){await e.load();const a=new t;return S(await N(e,a))}async function N(a,r){switch(a.type){case"3DTiles Service":return a.typeKeywords.includes("3DObject")?b():P();case"CSV":return F();case"Feature Collection":return M(a);case"Feature Service":return h(a,r);case"Feed":return x();case"GeoJson":return G();case"Group Layer":return J();case"Image Service":return g(a,r);case"KML":return V();case"Knowledge Graph Layer":return K();case"Map Service":return v(a,r);case"Media Layer":return k();case"Scene Service":return I(a,r);case"Stream Service":return j();case"Video Service":return T(a,r);case"Vector Tile Service":return C();case"WCS":return W();case"WFS":return U();case"WMS":return D();case"WMTS":return O();default:throw new e("portal:unknown-item-type","Unknown item type '${type}'",{type:a.type})}}async function S(e){const a=e.className,r=o[a];return{constructor:await r(),properties:e.properties}}async function v(e,a){return await $(e,a)?{className:"TileLayer"}:{className:"MapImageLayer"}}async function h(e,a){const r=await A(e,a);if("object"==typeof r){const{sourceJSON:e,className:a}=r,t={sourceJSON:e};return null!=r.id&&(t.layerId=r.id),{className:a||"FeatureLayer",properties:t}}return{className:"GroupLayer"}}async function I(e,r){const t=await A(e,r,(async()=>{try{if(!e.url)return[];const{serverUrl:t}=await a(e.url,{sceneLayerItem:e}),s=await r.fetchServiceMetadata(t);return s?.tables??[]}catch{return[]}}));if("object"==typeof t){const a={};let c;if(null!=t.id?(a.layerId=t.id,c=`${e.url}/layers/${t.id}`):c=e.url,e.typeKeywords?.length)for(const r of Object.keys(s))if(e.typeKeywords.includes(r))return{className:s[r]};const n=await r.fetchServiceMetadata(c,{customParameters:await r.fetchCustomParameters(e,(e=>u(e)?.customParameters))});return{className:s[n?.layerType]||"SceneLayer",properties:a}}if(!1===t){const a=await r.fetchServiceMetadata(e.url);if("Voxel"===a?.layerType)return{className:"VoxelLayer"}}return{className:"GroupLayer"}}async function M(e){await e.load();const a=d(e,"Map Notes"),r=d(e,"Markup");if(a||r)return{className:"MapNotesLayer"};if(d(e,"Route Layer"))return{className:"RouteLayer"};const t=await e.fetchData();return 1===l(t)?{className:"FeatureLayer"}:{className:"GroupLayer"}}async function g(e,a){await e.load();const r=e.typeKeywords?.map((e=>e.toLowerCase()))??[];if(r.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(r.includes("tiled imagery"))return{className:"ImageryTileLayer"};const t=await a.fetchItemData(e),s=t?.layerType;if("ArcGISTiledImageServiceLayer"===s)return{className:"ImageryTileLayer"};if("ArcGISImageServiceLayer"===s)return{className:"ImageryLayer"};const c=await a.fetchServiceMetadata(e.url,{customParameters:await a.fetchCustomParameters(e)}),n=c.cacheType?.toLowerCase(),o=c.capabilities?.toLowerCase().includes("tilesonly"),i=c.tileInfo?.format?.toLowerCase()??"",u=null==n&&["jpg","jpeg","png","png8","png24","png32","mixed"].includes(i);return"map"===n||u||o?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}function j(){return{className:"StreamLayer"}}async function T(e,a){return"object"==typeof await A(e,a)?{className:"VideoLayer"}:{className:"GroupLayer"}}function C(){return{className:"VectorTileLayer"}}function G(){return{className:"GeoJSONLayer"}}function P(){return{className:"IntegratedMesh3DTilesLayer"}}function b(){return{className:"UnsupportedLayer"}}function F(){return{className:"CSVLayer"}}function V(){return{className:"KMLLayer"}}function K(){return{className:"KnowledgeGraphLayer"}}function W(){return{className:"WCSLayer"}}function U(){return{className:"WFSLayer"}}function D(){return{className:"WMSLayer"}}function O(){return{className:"WMTSLayer"}}function x(){return{className:"StreamLayer"}}function J(){return{className:"GroupLayer"}}function k(){return{className:"MediaLayer"}}async function $(e,a){const{tileInfo:r}=await a.fetchServiceMetadata(e.url,{customParameters:await a.fetchCustomParameters(e)});return r}async function A(e,a,t){const{url:s,type:o}=e,i="Feature Service"===o;if(!s)return{};if(/\/\d+$/.test(s)){if(i){const t=await a.fetchServiceMetadata(s,{customParameters:await a.fetchCustomParameters(e,(e=>u(e)?.customParameters))});return c(e,n(t)),{id:t.id,className:r(t.type),sourceJSON:t}}return{}}if("Video Service"===o){const e=await a.fetchServiceMetadata(s);return!((e.layers?.length??0)>1)&&{}}await e.load();let d=await a.fetchItemData(e);if(i){const{data:r,preferredHost:t}=await y(d,s,a);c(e,t);const n=E(r);if("object"==typeof n){const e=m(r,n.id);n.className=f(e?.layerType)}return n}"Scene Service"===o&&(d=await p(e,d,a));if(l(d)>0)return E(d);const L=await a.fetchServiceMetadata(s);return t&&(L.tables=await t()),E(L)}function E(e){return 1===l(e)&&{id:u(e)?.id}}export{L as fromItem,N as selectLayerClassPath};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../Color.js";import n from"../../../Graphic.js";import{neverReached as a}from"../../../core/compilerUtils.js";import i from"../../../core/Logger.js";import{meterIn as t}from"../../support/lengthUtils.js";import{InputValueType as r,isValidNumber as l,TransformationType as s,isSizeVariable as o}from"./sizeVariableUtils.js";const c=()=>i.getLogger("esri.renderers.visualVariables.support.visualVariableUtils"),u=e=>c().warn(`The visualVariable should be an instance of esri.renderers.visualVariables.${e}`),f=()=>c().error("Use of arcade expressions requires an arcade context"),p=new n,d=Math.PI,v=/^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i;function m(n,a,i){const t="visualVariables"in n&&n.visualVariables?n.visualVariables.find((e=>"color"===e.type)):n;if(!t)return;if("esri.renderers.visualVariables.ColorVariable"!==t.declaredClass)return void u("ColorVariable");const r="number"==typeof a,s=r?null:a,o=s?.attributes;let c=r?a:null;const p=t.field,{ipData:d,hasExpression:v}=t.cache;let m=t.cache.compiledFunc;if(!p&&!v){const e=t.stops;return e&&e[0]&&e[0].color}if("number"!=typeof c)if(v){if(null==i?.arcade)return void f();const e={viewingMode:i.viewingMode,scale:i.scale,spatialReference:i.spatialReference},n=i.arcade.arcadeUtils,a=n.getViewInfo(e),r=n.createExecContext(s,a,i.timeZone);if(!m){const e=n.createSyntaxTree(t.valueExpression);m=n.createFunction(e),t.cache.compiledFunc=m}c=n.executeFunction(m,r)}else o&&(c=o[p]);const b=t.normalizationField,h=null!=o&&null!=b?parseFloat(o[b]):void 0;if(null!=c&&(!b||r||!isNaN(h)&&0!==h)){l(h)&&!r&&(c/=h);const n=T(c,d);if(n){const a=n[0],r=n[1],l=a===r?t.stops[a].color:e.blendColors(t.stops[a].color,t.stops[r].color,n[2],null!=i?i.color:void 0);return new e(l)}}}function b(e,n,a){const i="visualVariables"in e&&e.visualVariables?e.visualVariables.find((e=>"opacity"===e.type)):e;if(!i)return;if("esri.renderers.visualVariables.OpacityVariable"!==i.declaredClass)return void u("OpacityVariable");const t="number"==typeof n,r=t?null:n,s=r?.attributes;let o=t?n:null;const c=i.field,{ipData:p,hasExpression:d}=i.cache;let v=i.cache.compiledFunc;if(!c&&!d){const e=i.stops;return e&&e[0]&&e[0].opacity}if("number"!=typeof o)if(d){if(null==a?.arcade)return void f();const e={viewingMode:a.viewingMode,scale:a.scale,spatialReference:a.spatialReference},n=a.arcade.arcadeUtils,t=n.getViewInfo(e),l=n.createExecContext(r,t,a.timeZone);if(!v){const e=n.createSyntaxTree(i.valueExpression);v=n.createFunction(e),i.cache.compiledFunc=v}o=n.executeFunction(v,l)}else s&&(o=s[c]);const m=i.normalizationField,b=null!=s&&null!=m?parseFloat(s[m]):void 0;if(null!=o&&(!m||t||!isNaN(b)&&0!==b)){l(b)&&!t&&(o/=b);const e=T(o,p);if(e){const n=e[0],a=e[1];if(n===a)return i.stops[n].opacity;{const t=i.stops[n].opacity;return t+(i.stops[a].opacity-t)*e[2]}}}}function h(e,n,a){const i="visualVariables"in e&&e.visualVariables?e.visualVariables.find((e=>"rotation"===e.type)):e;if(!i)return;if("esri.renderers.visualVariables.RotationVariable"!==i.declaredClass)return void u("RotationVariable");const t=i.axis||"heading",r="heading"===t&&"arithmetic"===i.rotationType?90:0,l="heading"===t&&"arithmetic"===i.rotationType?-1:1,s="number"==typeof n?null:n,o=s?.attributes,c=i.field,{hasExpression:p}=i.cache;let d=i.cache.compiledFunc,v=null;if(!c&&!p)return v;if(p){if(null==a?.arcade)return void f();const e={viewingMode:a.viewingMode,scale:a.scale,spatialReference:a.spatialReference},n=a.arcade.arcadeUtils,t=n.getViewInfo(e),r=n.createExecContext(s,t,a.timeZone);if(!d){const e=n.createSyntaxTree(i.valueExpression);d=n.createFunction(e),i.cache.compiledFunc=d}v=n.executeFunction(d,r)}else o&&(v=o[c]);return v="number"!=typeof v||isNaN(v)?null:r+l*v,v}function V(e,n,a){const i="number"==typeof n,t=i?null:n,s=t?.attributes;let o=i?n:null;const{isScaleDriven:c}=e.cache;let u=e.cache.compiledFunc;if(c){const n=null!=a?a.scale:void 0,i=null!=a?a.view:void 0;o=null==n||"3d"===i?x(e):n}else if(!i)switch(e.inputValueType){case r.Expression:{if(null==a?.arcade)return void f();const n={viewingMode:a.viewingMode,scale:a.scale,spatialReference:a.spatialReference},i=a.arcade.arcadeUtils,r=i.getViewInfo(n),l=i.createExecContext(t,r,a.timeZone);if(!u){const n=i.createSyntaxTree(e.valueExpression);u=i.createFunction(n),e.cache.compiledFunc=u}o=i.executeFunction(u,l);break}case r.Field:s&&(o=s[e.field]);break;case r.Unknown:o=null}if(!l(o))return null;if(i||!e.normalizationField)return o;const p=s?parseFloat(s[e.normalizationField]):null;return l(p)&&0!==p?o/p:null}function x(e){let n=null,a=null;const i=e.stops;return i?(n=i[0].value,a=i[i.length-1].value):(n=e.minDataValue||0,a=e.maxDataValue||0),(n+a)/2}function y(e,n,a){const i="visualVariables"in e&&e.visualVariables?e.visualVariables.find((e=>"size"===e.type)):e;if(!i)return;if("esri.renderers.visualVariables.SizeVariable"!==i.declaredClass)return void u("SizeVariable");const t=R(V(i,n,a),i,n,a,i.cache.ipData);return null==t||isNaN(t)?void 0:t}function g(e,n,a){return null==e?null:o(e)?y(e,n,a):l(e)?e:null}function w(e,n,a){return l(a)&&e>a?a:l(n)&&e<n?n:e}function z(e,n,a,i){const t=g(n.minSize,a,i)||n.minDataValue;return null==e&&null==t?null:(e??0)+(t??0)}function F(e,n,a){const i=e.stops;let t=i?.length&&i[0].size;return null==t&&(t=e.minSize),g(t,n,a)}function S(e,n,a,i){const t=g(n.minSize,a,i);if(null==e)return t;const{minDataValue:r,maxDataValue:l}=n;if(null==r||null==l)return null;const s=(e-r)/(l-r),o=g(n.maxSize,a,i),c=null!=i?i.shape:void 0;if(e<=r)return t;if(e>=l)return o;if(null==t||null==o)return null;if("area"===n.scaleBy&&c){const e="circle"===c,n=e?d*(t/2)**2:t*t,a=n+s*((e?d*(o/2)**2:o*o)-n);return e?2*Math.sqrt(a/d):Math.sqrt(a)}return t+s*(o-t)}function E(e,n,a,i){const t=g(n.minSize,a,i);if(null==e||null==t)return t;const r=null!=i?i.shape:void 0,{minDataValue:l}=n;if(null==l)return null;const s=e/l,o=g(n.maxSize,a,i);let c=null;return c="circle"===r?2*Math.sqrt(s*(t/2)**2):"square"===r||"diamond"===r||"image"===r?Math.sqrt(s*t**2):s*t,w(c,t,o)}function C(e,n,a,i,t){if(null==e)return null;const[r,l,s]=T(e,t);if(r===l)return g(n.stops?.[r].size,a,i);{const e=g(n.stops?.[r].size,a,i),t=g(n.stops?.[l].size,a,i);return null==e||null==t?null:e+(t-e)*s}}function M(e,n,a,i){const r=(i?.resolution??1)*t[n.valueUnit],l=g(n.minSize,a,i),s=g(n.maxSize,a,i),{valueRepresentation:o}=n;if(null==e)return l;let c=null;return c="area"===o?2*Math.sqrt(e/d)/r:"radius"===o||"distance"===o?2*e/r:e/r,w(c,l,s)}function k(e){return e}function R(e,n,a,i,t){switch(n.transformationType){case s.Additive:return z(e,n,a,i);case s.Constant:return F(n,a,i);case s.ClampedLinear:return S(e,n,a,i);case s.Proportional:return E(e,n,a,i);case s.Stops:return C(e,n,a,i,t);case s.RealWorldSize:return M(e,n,a,i);case s.Identity:return k(e);case s.Unknown:return null}}function U(e,n,a){const{isScaleDriven:i}=e.cache;if(!(i&&"3d"===a||n))return null;const t={scale:n,view:a};let r=g(e.minSize,p,t),l=g(e.maxSize,p,t);if(null!=r||null!=l){if(r>l){const e=l;l=r,r=e}return{minSize:r,maxSize:l}}}function D(e,n,a){if(!e.visualVariables)return;const i=[],t=[],r=[],l=[],s=[];for(const o of e.visualVariables)switch(o.type){case"color":t.push(o);break;case"opacity":r.push(o);break;case"rotation":s.push(o);break;case"size":l.push(o)}return t.forEach((e=>{const t=m(e,n,a);i.push({variable:e,value:t})})),r.forEach((e=>{const t=b(e,n,a);i.push({variable:e,value:t})})),s.forEach((e=>{const t=h(e,n,a);i.push({variable:e,value:t})})),l.forEach((e=>{const t=y(e,n,a);i.push({variable:e,value:t})})),i}function T(e,n){if(!n)return;let a=0,i=n.length-1;return n.some(((n,t)=>e<n?(i=t,!0):(a=t,!1))),[a,i,(e-n[a])/(n[i]-n[a])]}function N(e,n,i){const t=["proportional","proportional","proportional"];for(const r of e){const e=r.useSymbolValue?"symbol-value":y(r,n,i)??"proportional";switch(r.axis){case"width":t[0]=e;break;case"depth":t[1]=e;break;case"height":t[2]=e;break;case"width-and-depth":t[0]=e,t[1]=e;break;case"all":case void 0:case null:t[0]=e,t[1]=e,t[2]=e;break;default:a(r.axis)}}return t}export{N as getAllSizes,m as getColor,b as getOpacity,h as getRotationAngle,y as getSize,R as getSizeForValue,g as getSizeFromNumberOrVariable,U as getSizeRangeAtScale,D as getVisualVariableValues,v as viewScaleRE};
5
+ import e from"../../../Color.js";import n from"../../../Graphic.js";import{neverReached as i}from"../../../core/compilerUtils.js";import t from"../../../core/Logger.js";import{meterIn as a}from"../../support/lengthUtils.js";import{InputValueType as r,isValidNumber as l,TransformationType as s,isSizeVariable as o}from"./sizeVariableUtils.js";const c=()=>t.getLogger("esri.renderers.visualVariables.support.visualVariableUtils"),u=e=>c().warn(`The visualVariable should be an instance of esri.renderers.visualVariables.${e}`),f=()=>c().error("Use of arcade expressions requires an arcade context"),p=new n,d=Math.PI,v=/^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i;function m(n,i,t){const a="visualVariables"in n?n.visualVariables?.find((e=>"color"===e.type)):n;if(!a)return;if("esri.renderers.visualVariables.ColorVariable"!==a.declaredClass)return void u("ColorVariable");const r="number"==typeof i,s=r?null:i,o=s?.attributes;let c=r?i:null;const p=a.field,{ipData:d,hasExpression:v}=a.cache;let m=a.cache.compiledFunc;if(!p&&!v){const e=a.stops;return e&&e[0]&&e[0].color}if("number"!=typeof c)if(v){if(null==t?.arcade)return void f();const e={viewingMode:t.viewingMode,scale:t.scale,spatialReference:t.spatialReference},n=t.arcade.arcadeUtils,i=n.getViewInfo(e),r=n.createExecContext(s,i,t.timeZone);if(!m){const e=n.createSyntaxTree(a.valueExpression);m=n.createFunction(e),a.cache.compiledFunc=m}c=n.executeFunction(m,r)}else o&&(c=o[p]);const h=a.normalizationField,b=null!=o&&null!=h?parseFloat(o[h]):void 0;if(null!=c&&(!h||r||!isNaN(b)&&0!==b)){l(b)&&!r&&(c/=b);const n=T(c,d);if(n){const i=n[0],r=n[1],l=i===r?a.stops[i].color:e.blendColors(a.stops[i].color,a.stops[r].color,n[2],null!=t?t.color:void 0);return new e(l)}}}function h(e,n,i){const t="visualVariables"in e?e.visualVariables?.find((e=>"opacity"===e.type)):e;if(!t)return;if("esri.renderers.visualVariables.OpacityVariable"!==t.declaredClass)return void u("OpacityVariable");const a="number"==typeof n,r=a?null:n,s=r?.attributes;let o=a?n:null;const c=t.field,{ipData:p,hasExpression:d}=t.cache;let v=t.cache.compiledFunc;if(!c&&!d){const e=t.stops;return e&&e[0]&&e[0].opacity}if("number"!=typeof o)if(d){if(null==i?.arcade)return void f();const e={viewingMode:i.viewingMode,scale:i.scale,spatialReference:i.spatialReference},n=i.arcade.arcadeUtils,a=n.getViewInfo(e),l=n.createExecContext(r,a,i.timeZone);if(!v){const e=n.createSyntaxTree(t.valueExpression);v=n.createFunction(e),t.cache.compiledFunc=v}o=n.executeFunction(v,l)}else s&&(o=s[c]);const m=t.normalizationField,h=null!=s&&null!=m?parseFloat(s[m]):void 0;if(null!=o&&(!m||a||!isNaN(h)&&0!==h)){l(h)&&!a&&(o/=h);const e=T(o,p);if(e){const n=e[0],i=e[1];if(n===i)return t.stops[n].opacity;{const a=t.stops[n].opacity;return a+(t.stops[i].opacity-a)*e[2]}}}}function b(e,n,i){const t="visualVariables"in e?e.visualVariables?.find((e=>"rotation"===e.type)):e;if(!t)return;if("esri.renderers.visualVariables.RotationVariable"!==t.declaredClass)return void u("RotationVariable");const a=t.axis||"heading",r="heading"===a&&"arithmetic"===t.rotationType?90:0,l="heading"===a&&"arithmetic"===t.rotationType?-1:1,s="number"==typeof n?null:n,o=s?.attributes,c=t.field,{hasExpression:p}=t.cache;let d=t.cache.compiledFunc,v=null;if(!c&&!p)return v;if(p){if(null==i?.arcade)return void f();const e={viewingMode:i.viewingMode,scale:i.scale,spatialReference:i.spatialReference},n=i.arcade.arcadeUtils,a=n.getViewInfo(e),r=n.createExecContext(s,a,i.timeZone);if(!d){const e=n.createSyntaxTree(t.valueExpression);d=n.createFunction(e),t.cache.compiledFunc=d}v=n.executeFunction(d,r)}else o&&(v=o[c]);return v="number"!=typeof v||isNaN(v)?null:r+l*v,v}function V(e,n,i){const t="number"==typeof n,a=t?null:n,s=a?.attributes;let o=t?n:null;const{isScaleDriven:c}=e.cache;let u=e.cache.compiledFunc;if(c){const n=null!=i?i.scale:void 0,t=null!=i?i.view:void 0;o=null==n||"3d"===t?x(e):n}else if(!t)switch(e.inputValueType){case r.Expression:{if(null==i?.arcade)return void f();const n={viewingMode:i.viewingMode,scale:i.scale,spatialReference:i.spatialReference},t=i.arcade.arcadeUtils,r=t.getViewInfo(n),l=t.createExecContext(a,r,i.timeZone);if(!u){const n=t.createSyntaxTree(e.valueExpression);u=t.createFunction(n),e.cache.compiledFunc=u}o=t.executeFunction(u,l);break}case r.Field:s&&(o=s[e.field]);break;case r.Unknown:o=null}if(!l(o))return null;if(t||!e.normalizationField)return o;const p=s?parseFloat(s[e.normalizationField]):null;return l(p)&&0!==p?o/p:null}function x(e){let n=null,i=null;const t=e.stops;return t?(n=t[0].value,i=t[t.length-1].value):(n=e.minDataValue||0,i=e.maxDataValue||0),(n+i)/2}function y(e,n,i){const t="visualVariables"in e?e.visualVariables?.find((e=>"size"===e.type)):e;if(!t)return;if("esri.renderers.visualVariables.SizeVariable"!==t.declaredClass)return void u("SizeVariable");const a=R(V(t,n,i),t,n,i,t.cache.ipData);return null==a||isNaN(a)?void 0:a}function g(e,n,i){return null==e?null:o(e)?y(e,n,i):l(e)?e:null}function w(e,n,i){return l(i)&&e>i?i:l(n)&&e<n?n:e}function z(e,n,i,t){const a=g(n.minSize,i,t)||n.minDataValue;return null==e&&null==a?null:(e??0)+(a??0)}function F(e,n,i){const t=e.stops;let a=t?.length&&t[0].size;return null==a&&(a=e.minSize),g(a,n,i)}function S(e,n,i,t){const a=g(n.minSize,i,t);if(null==e)return a;const{minDataValue:r,maxDataValue:l}=n;if(null==r||null==l)return null;const s=(e-r)/(l-r),o=g(n.maxSize,i,t),c=null!=t?t.shape:void 0;if(e<=r)return a;if(e>=l)return o;if(null==a||null==o)return null;if("area"===n.scaleBy&&c){const e="circle"===c,n=e?d*(a/2)**2:a*a,i=n+s*((e?d*(o/2)**2:o*o)-n);return e?2*Math.sqrt(i/d):Math.sqrt(i)}return a+s*(o-a)}function E(e,n,i,t){const a=g(n.minSize,i,t);if(null==e||null==a)return a;const r=null!=t?t.shape:void 0,{minDataValue:l}=n;if(null==l)return null;const s=e/l,o=g(n.maxSize,i,t);let c=null;return c="circle"===r?2*Math.sqrt(s*(a/2)**2):"square"===r||"diamond"===r||"image"===r?Math.sqrt(s*a**2):s*a,w(c,a,o)}function C(e,n,i,t,a){if(null==e)return null;const[r,l,s]=T(e,a);if(r===l)return g(n.stops?.[r].size,i,t);{const e=g(n.stops?.[r].size,i,t),a=g(n.stops?.[l].size,i,t);return null==e||null==a?null:e+(a-e)*s}}function M(e,n,i,t){const r=(t?.resolution??1)*a[n.valueUnit],l=g(n.minSize,i,t),s=g(n.maxSize,i,t),{valueRepresentation:o}=n;if(null==e)return l;let c=null;return c="area"===o?2*Math.sqrt(e/d)/r:"radius"===o||"distance"===o?2*e/r:e/r,w(c,l,s)}function k(e){return e}function R(e,n,i,t,a){switch(n.transformationType){case s.Additive:return z(e,n,i,t);case s.Constant:return F(n,i,t);case s.ClampedLinear:return S(e,n,i,t);case s.Proportional:return E(e,n,i,t);case s.Stops:return C(e,n,i,t,a);case s.RealWorldSize:return M(e,n,i,t);case s.Identity:return k(e);case s.Unknown:return null}}function U(e,n,i){const{isScaleDriven:t}=e.cache;if(!(t&&"3d"===i||n))return null;const a={scale:n,view:i};let r=g(e.minSize,p,a),l=g(e.maxSize,p,a);if(null!=r||null!=l){if(r>l){const e=l;l=r,r=e}return{minSize:r,maxSize:l}}}function D(e,n,i){if(!e.visualVariables)return;const t=[],a=[],r=[],l=[],s=[];for(const o of e.visualVariables)switch(o.type){case"color":a.push(o);break;case"opacity":r.push(o);break;case"rotation":s.push(o);break;case"size":l.push(o)}return a.forEach((e=>{const a=m(e,n,i);t.push({variable:e,value:a})})),r.forEach((e=>{const a=h(e,n,i);t.push({variable:e,value:a})})),s.forEach((e=>{const a=b(e,n,i);t.push({variable:e,value:a})})),l.forEach((e=>{const a=y(e,n,i);t.push({variable:e,value:a})})),t}function T(e,n){if(!n)return;let i=0,t=n.length-1;return n.some(((n,a)=>e<n?(t=a,!0):(i=a,!1))),[i,t,(e-n[i])/(n[t]-n[i])]}function N(e,n,t){const a=["proportional","proportional","proportional"];for(const r of e){const e=r.useSymbolValue?"symbol-value":y(r,n,t)??"proportional";switch(r.axis){case"width":a[0]=e;break;case"depth":a[1]=e;break;case"height":a[2]=e;break;case"width-and-depth":a[0]=e,a[1]=e;break;case"all":case void 0:case null:a[0]=e,a[1]=e,a[2]=e;break;default:i(r.axis)}}return a}export{N as getAllSizes,m as getColor,h as getOpacity,b as getRotationAngle,y as getSize,R as getSizeForValue,g as getSizeFromNumberOrVariable,U as getSizeRangeAtScale,D as getVisualVariableValues,v as viewScaleRE};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- var e,r,i,t,o,p,n;!function(e){e[e.Regular=0]="Regular",e[e.Provenance=1]="Provenance",e[e.Document=2]="Document"}(e||(e={})),function(e){e[e.esriFieldTypeSmallInteger=0]="esriFieldTypeSmallInteger",e[e.esriFieldTypeInteger=1]="esriFieldTypeInteger",e[e.esriFieldTypeSingle=2]="esriFieldTypeSingle",e[e.esriFieldTypeDouble=3]="esriFieldTypeDouble",e[e.esriFieldTypeString=4]="esriFieldTypeString",e[e.esriFieldTypeDate=5]="esriFieldTypeDate",e[e.esriFieldTypeOID=6]="esriFieldTypeOID",e[e.esriFieldTypeGeometry=7]="esriFieldTypeGeometry",e[e.esriFieldTypeBlob=8]="esriFieldTypeBlob",e[e.esriFieldTypeRaster=9]="esriFieldTypeRaster",e[e.esriFieldTypeGUID=10]="esriFieldTypeGUID",e[e.esriFieldTypeGlobalID=11]="esriFieldTypeGlobalID",e[e.esriFieldTypeXML=12]="esriFieldTypeXML",e[e.esriFieldTypeBigInteger=13]="esriFieldTypeBigInteger",e[e.esriFieldTypeDateOnly=14]="esriFieldTypeDateOnly",e[e.esriFieldTypeTimeOnly=15]="esriFieldTypeTimeOnly",e[e.esriFieldTypeTimestampOffset=16]="esriFieldTypeTimestampOffset"}(r||(r={})),function(e){e[e.esriGeometryNull=0]="esriGeometryNull",e[e.esriGeometryPoint=1]="esriGeometryPoint",e[e.esriGeometryMultipoint=2]="esriGeometryMultipoint",e[e.esriGeometryPolyline=3]="esriGeometryPolyline",e[e.esriGeometryPolygon=4]="esriGeometryPolygon",e[e.esriGeometryEnvelope=5]="esriGeometryEnvelope",e[e.esriGeometryAny=7]="esriGeometryAny",e[e.esriGeometryMultiPatch=9]="esriGeometryMultiPatch"}(i||(i={})),function(e){e[e.esriMethodHintUNSPECIFIED=0]="esriMethodHintUNSPECIFIED",e[e.esriUUIDESRI=1]="esriUUIDESRI",e[e.esriUUIDRFC4122=2]="esriUUIDRFC4122"}(t||(t={})),function(e){e[e.esriTypeUNSPECIFIED=0]="esriTypeUNSPECIFIED",e[e.esriTypeEntity=1]="esriTypeEntity",e[e.esriTypeRelationship=2]="esriTypeRelationship",e[e.esriTypeBoth=4]="esriTypeBoth"}(o||(o={})),function(e){e[e.esriGraphPropertyUNSPECIFIED=0]="esriGraphPropertyUNSPECIFIED",e[e.esriGraphPropertyRegular=1]="esriGraphPropertyRegular",e[e.esriGraphPropertyDocumentName=2]="esriGraphPropertyDocumentName",e[e.esriGraphPropertyDocumentTitle=3]="esriGraphPropertyDocumentTitle",e[e.esriGraphPropertyDocumentUrl=4]="esriGraphPropertyDocumentUrl",e[e.esriGraphPropertyDocumentText=5]="esriGraphPropertyDocumentText",e[e.esriGraphPropertyDocumentKeywords=6]="esriGraphPropertyDocumentKeywords",e[e.esriGraphPropertyDocumentContentType=7]="esriGraphPropertyDocumentContentType",e[e.esriGraphPropertyDocumentMetadata=8]="esriGraphPropertyDocumentMetadata",e[e.esriGraphPropertyDocumentFileExtension=9]="esriGraphPropertyDocumentFileExtension",e[e.esriGraphPropertyProvenanceInstanceId=10]="esriGraphPropertyProvenanceInstanceId",e[e.esriGraphPropertyProvenanceSourceType=11]="esriGraphPropertyProvenanceSourceType",e[e.esriGraphPropertyProvenanceSourceName=12]="esriGraphPropertyProvenanceSourceName",e[e.esriGraphPropertyProvenanceSource=13]="esriGraphPropertyProvenanceSource",e[e.esriGraphPropertyProvenanceComment=14]="esriGraphPropertyProvenanceComment",e[e.esriGraphPropertyProvenanceTypeName=15]="esriGraphPropertyProvenanceTypeName",e[e.esriGraphPropertyProvenancePropertyName=16]="esriGraphPropertyProvenancePropertyName"}(p||(p={})),function(e){e[e.esriIdentifierInfoTypeUNSPECIFIED=0]="esriIdentifierInfoTypeUNSPECIFIED",e[e.esriIdentifierInfoTypeDatabaseNative=1]="esriIdentifierInfoTypeDatabaseNative",e[e.esriIdentifierInfoTypeUniformProperty=2]="esriIdentifierInfoTypeUniformProperty"}(n||(n={}));export{r as EsriFieldTypes,i as EsriGeometryTypes,p as EsriGraphPropertyRole,n as EsriIdentifierInfoType,o as EsriNamedTypeCategory,t as EsriUuidMethodHintTypes,e as NamedObjectTypes};
5
+ var e,r,i,t,o,p,n;!function(e){e[e.Regular=0]="Regular",e[e.Provenance=1]="Provenance",e[e.Document=2]="Document"}(e||(e={})),function(e){e[e.esriFieldTypeSmallInteger=0]="esriFieldTypeSmallInteger",e[e.esriFieldTypeInteger=1]="esriFieldTypeInteger",e[e.esriFieldTypeSingle=2]="esriFieldTypeSingle",e[e.esriFieldTypeDouble=3]="esriFieldTypeDouble",e[e.esriFieldTypeString=4]="esriFieldTypeString",e[e.esriFieldTypeDate=5]="esriFieldTypeDate",e[e.esriFieldTypeOID=6]="esriFieldTypeOID",e[e.esriFieldTypeGeometry=7]="esriFieldTypeGeometry",e[e.esriFieldTypeBlob=8]="esriFieldTypeBlob",e[e.esriFieldTypeRaster=9]="esriFieldTypeRaster",e[e.esriFieldTypeGUID=10]="esriFieldTypeGUID",e[e.esriFieldTypeGlobalID=11]="esriFieldTypeGlobalID",e[e.esriFieldTypeXML=12]="esriFieldTypeXML",e[e.esriFieldTypeBigInteger=13]="esriFieldTypeBigInteger",e[e.esriFieldTypeDateOnly=14]="esriFieldTypeDateOnly",e[e.esriFieldTypeTimeOnly=15]="esriFieldTypeTimeOnly",e[e.esriFieldTypeTimestampOffset=16]="esriFieldTypeTimestampOffset"}(r||(r={})),function(e){e[e.esriGeometryNull=0]="esriGeometryNull",e[e.esriGeometryPoint=1]="esriGeometryPoint",e[e.esriGeometryMultipoint=2]="esriGeometryMultipoint",e[e.esriGeometryPolyline=3]="esriGeometryPolyline",e[e.esriGeometryPolygon=4]="esriGeometryPolygon",e[e.esriGeometryEnvelope=5]="esriGeometryEnvelope",e[e.esriGeometryAny=7]="esriGeometryAny",e[e.esriGeometryMultiPatch=9]="esriGeometryMultiPatch"}(i||(i={})),function(e){e[e.esriMethodHintUNSPECIFIED=0]="esriMethodHintUNSPECIFIED",e[e.esriUUIDESRI=1]="esriUUIDESRI",e[e.esriUUIDRFC4122=2]="esriUUIDRFC4122"}(t||(t={})),function(e){e[e.esriTypeUNSPECIFIED=0]="esriTypeUNSPECIFIED",e[e.esriTypeEntity=1]="esriTypeEntity",e[e.esriTypeRelationship=2]="esriTypeRelationship",e[e.esriTypeBoth=4]="esriTypeBoth",e[e.esriTypeMetaEntityProvenance=8]="esriTypeMetaEntityProvenance"}(o||(o={})),function(e){e[e.esriGraphPropertyUNSPECIFIED=0]="esriGraphPropertyUNSPECIFIED",e[e.esriGraphPropertyRegular=1]="esriGraphPropertyRegular",e[e.esriGraphPropertyDocumentName=2]="esriGraphPropertyDocumentName",e[e.esriGraphPropertyDocumentTitle=3]="esriGraphPropertyDocumentTitle",e[e.esriGraphPropertyDocumentUrl=4]="esriGraphPropertyDocumentUrl",e[e.esriGraphPropertyDocumentText=5]="esriGraphPropertyDocumentText",e[e.esriGraphPropertyDocumentKeywords=6]="esriGraphPropertyDocumentKeywords",e[e.esriGraphPropertyDocumentContentType=7]="esriGraphPropertyDocumentContentType",e[e.esriGraphPropertyDocumentMetadata=8]="esriGraphPropertyDocumentMetadata",e[e.esriGraphPropertyDocumentFileExtension=9]="esriGraphPropertyDocumentFileExtension",e[e.esriGraphPropertyProvenanceInstanceId=10]="esriGraphPropertyProvenanceInstanceId",e[e.esriGraphPropertyProvenanceSourceType=11]="esriGraphPropertyProvenanceSourceType",e[e.esriGraphPropertyProvenanceSourceName=12]="esriGraphPropertyProvenanceSourceName",e[e.esriGraphPropertyProvenanceSource=13]="esriGraphPropertyProvenanceSource",e[e.esriGraphPropertyProvenanceComment=14]="esriGraphPropertyProvenanceComment",e[e.esriGraphPropertyProvenanceTypeName=15]="esriGraphPropertyProvenanceTypeName",e[e.esriGraphPropertyProvenancePropertyName=16]="esriGraphPropertyProvenancePropertyName"}(p||(p={})),function(e){e[e.esriIdentifierInfoTypeUNSPECIFIED=0]="esriIdentifierInfoTypeUNSPECIFIED",e[e.esriIdentifierInfoTypeDatabaseNative=1]="esriIdentifierInfoTypeDatabaseNative",e[e.esriIdentifierInfoTypeUniformProperty=2]="esriIdentifierInfoTypeUniformProperty"}(n||(n={}));export{r as EsriFieldTypes,i as EsriGeometryTypes,p as EsriGraphPropertyRole,n as EsriIdentifierInfoType,o as EsriNamedTypeCategory,t as EsriUuidMethodHintTypes,e as NamedObjectTypes};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../core/Logger.js";import t from"../../../geometry/SpatialReference.js";import i from"../DataModel.js";import r from"../EntityType.js";import n from"../FieldIndex.js";import a from"../GraphObjectType.js";import o from"../GraphProperty.js";import s from"../RelationshipType.js";import p from"../SearchIndex.js";import l from"../SourceTypeValueBehavior.js";import{EsriUuidMethodHintTypes as d,EsriIdentifierInfoType as f,EsriNamedTypeCategory as u,NamedObjectTypes as c,EsriGraphPropertyRole as y,EsriGeometryTypes as m,EsriFieldTypes as _}from"./WasmDataModelWrapperInterfaces.js";let g=!1;function h(r){r.deleteLater(),g=!1;const n=new i({timestamp:r.timestamp,spatialReference:new t(r.spatial_reference),strict:r.strict,objectIdField:r.objectid_property,globalIdField:r.globalid_property,arcgisManaged:r.arcgis_managed,identifierInfo:{identifierMappingInfo:{identifierInfoType:f[r.identifier_info?.identifier_mapping_info?.identifier_info_type?.value],databaseNativeIdentifier:r.identifier_info?.identifier_mapping_info?.database_native_identifier,uniformPropertyIdentifier:{identifierPropertyName:r.identifier_info?.identifier_mapping_info?.uniform_property_identifier?.identifier_property_name}},identifierGenerationInfo:{uuidMethodHint:d[r.identifier_info?.identifier_generation_info?.uuid_method_hint?.value]}},searchIndexes:S(r.search_indexes),entityTypes:L(r.entity_types),relationshipTypes:F(r.relationship_types),metaEntityTypes:L(r.meta_entity_types),provenanceSourceTypeValues:G(r.provenance_source_type_values.value_behavior_array)});return g&&e.getLogger("esri.rest.knowledgeGraph.knowledgeGraphService").warnOnce("A big integer field was detected in the retrieved data model. The `big-integer` field type is not fully supported in web clients. Please see https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Field.html#type"),n}function v(e){return e.deleteLater(),new r(z(e))}function b(e){return e.deleteLater(),new n({name:e.name,unique:e.unique,ascending:e.ascending,description:e.description,fieldNames:x(e.fields)})}function j(e){return e.deleteLater(),new a(z(e))}function z(e){return{name:e.name,alias:e.alias,role:c[e.role.value],strict:e.strict,properties:M(e.properties),fieldIndexes:P(e.field_indexes)}}function T(e){return e.deleteLater(),new o({alias:e.alias,name:e.name,fieldType:_[e.field_type.value]?_[e.field_type.value]:void 0,geometryType:m[e.geometry_type.value]?m[e.geometry_type.value]:null,hasM:e.has_m,hasZ:e.has_z,nullable:e.nullable,editable:e.editable,required:e.required,defaultVisibility:e.default_visibility,systemMaintained:e.system_maintained,role:y[e.role.value],defaultValue:e.default_value})}function w(e){e.deleteLater();const t=z(e),i=[];for(let r=0;r<e.end_points.size();r++){const t=e.end_points.get(r);i.push({originEntityType:t.origin_entity_type,destinationEntityType:t.dest_entity_type})}return e.end_points.delete(),new s(Object.assign({endPoints:i},t))}function I(e){return new l({behavior:e.behavior,value:e.value})}function L(e){const t=[];for(let i=0;i<e.size();i++)t.push(v(e.get(i)));return e.delete(),t}function x(e){const t=[];for(let i=0;i<e.size();i++)t.push(e.get(i));return e.delete(),t}function M(e){const t=[];for(let i=0;i<e.size();i++){const r=T(e.get(i));"esriFieldTypeBigInteger"===r.fieldType&&(g=!0),t.push(r)}return e.delete(),t}function P(e){const t=[];for(let i=0;i<e.size();i++)t.push(b(e.get(i)));return e.delete(),t}function F(e){const t=[];for(let i=0;i<e.size();i++)t.push(w(e.get(i)));return e.delete(),t}function G(e){const t=[];for(let i=0;i<e.size();i++){const r=e.get(i);r.deleteLater(),t.push(I(r))}return e.delete(),t}function S(e){const t=[];for(let i=0;i<e.size();i++){const i=new p,r=e.get(0);i.name=r.name,i.supportedCategory=u[r.supported_category.value];const n=r.analyzers.size();for(let e=0;e<n;e++)i.analyzers.push({name:r.analyzers.get(e).name});r.analyzers.delete();for(let e=0;e<r.search_properties.keys().size();e++){const t=r.search_properties.keys().get(e),n=r.search_properties.get(t),a=[];for(let e=0;e<n.property_names.size();e++)a.push(n.property_names.get(e));i.searchProperties.set(t,{propertyNames:a})}t.push(i)}return e.delete(),t}export{h as wasmToDataModel,v as wasmToEntityType,b as wasmToFieldIndex,j as wasmToGraphObjectType,T as wasmToGraphProperty,w as wasmToRelationshipType,I as wasmToSourceTypeValueBehavior};
5
+ import e from"../../../core/Logger.js";import t from"../../../geometry/SpatialReference.js";import i from"../DataModel.js";import r from"../EntityType.js";import n from"../FieldIndex.js";import a from"../GraphObjectType.js";import o from"../GraphProperty.js";import s from"../RelationshipType.js";import p from"../SearchIndex.js";import l from"../SourceTypeValueBehavior.js";import{EsriUuidMethodHintTypes as d,EsriIdentifierInfoType as f,EsriNamedTypeCategory as u,NamedObjectTypes as c,EsriGraphPropertyRole as y,EsriGeometryTypes as m,EsriFieldTypes as _}from"./WasmDataModelWrapperInterfaces.js";let g=!1;function h(r){r.deleteLater(),g=!1;const n=new i({timestamp:r.timestamp,spatialReference:new t(r.spatial_reference),strict:r.strict,objectIdField:r.objectid_property,globalIdField:r.globalid_property,arcgisManaged:r.arcgis_managed,identifierInfo:{identifierMappingInfo:{identifierInfoType:f[r.identifier_info?.identifier_mapping_info?.identifier_info_type?.value],databaseNativeIdentifier:r.identifier_info?.identifier_mapping_info?.database_native_identifier,uniformPropertyIdentifier:{identifierPropertyName:r.identifier_info?.identifier_mapping_info?.uniform_property_identifier?.identifier_property_name}},identifierGenerationInfo:{uuidMethodHint:d[r.identifier_info?.identifier_generation_info?.uuid_method_hint?.value]}},searchIndexes:S(r.search_indexes),entityTypes:L(r.entity_types),relationshipTypes:F(r.relationship_types),metaEntityTypes:L(r.meta_entity_types),provenanceSourceTypeValues:G(r.provenance_source_type_values.value_behavior_array)});return g&&e.getLogger("esri.rest.knowledgeGraph.knowledgeGraphService").warnOnce("A big integer field was detected in the retrieved data model. The `big-integer` field type is not fully supported in web clients. Please see https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-Field.html#type"),n}function v(e){return e.deleteLater(),new r(z(e))}function b(e){return e.deleteLater(),new n({name:e.name,unique:e.unique,ascending:e.ascending,description:e.description,fieldNames:x(e.fields)})}function j(e){return e.deleteLater(),new a(z(e))}function z(e){return{name:e.name,alias:e.alias,role:c[e.role.value],strict:e.strict,properties:M(e.properties),fieldIndexes:P(e.field_indexes)}}function T(e){return e.deleteLater(),new o({alias:e.alias,name:e.name,fieldType:_[e.field_type.value]?_[e.field_type.value]:void 0,geometryType:m[e.geometry_type.value]?m[e.geometry_type.value]:null,hasM:e.has_m,hasZ:e.has_z,nullable:e.nullable,editable:e.editable,required:e.required,defaultVisibility:e.default_visibility,systemMaintained:e.system_maintained,role:y[e.role.value],defaultValue:e.default_value})}function w(e){e.deleteLater();const t=z(e),i=[];for(let r=0;r<e.end_points.size();r++){const t=e.end_points.get(r);i.push({originEntityType:t.origin_entity_type,destinationEntityType:t.dest_entity_type})}return e.end_points.delete(),new s(Object.assign({endPoints:i},t))}function I(e){return new l({behavior:e.behavior,value:e.value})}function L(e){const t=[];for(let i=0;i<e.size();i++)t.push(v(e.get(i)));return e.delete(),t}function x(e){const t=[];for(let i=0;i<e.size();i++)t.push(e.get(i));return e.delete(),t}function M(e){const t=[];for(let i=0;i<e.size();i++){const r=T(e.get(i));"esriFieldTypeBigInteger"===r.fieldType&&(g=!0),t.push(r)}return e.delete(),t}function P(e){const t=[];for(let i=0;i<e.size();i++)t.push(b(e.get(i)));return e.delete(),t}function F(e){const t=[];for(let i=0;i<e.size();i++)t.push(w(e.get(i)));return e.delete(),t}function G(e){const t=[];for(let i=0;i<e.size();i++){const r=e.get(i);r.deleteLater(),t.push(I(r))}return e.delete(),t}function S(e){const t=[];for(let i=0;i<e.size();i++){const r=new p,n=e.get(i);r.name=n.name,r.supportedCategory=u[n.supported_category.value];const a=n.analyzers.size();for(let e=0;e<a;e++)r.analyzers.push({name:n.analyzers.get(e).name});n.analyzers.delete();for(let e=0;e<n.search_properties.keys().size();e++){const t=n.search_properties.keys().get(e),i=n.search_properties.get(t),a=[];for(let e=0;e<i.property_names.size();e++)a.push(i.property_names.get(e));r.searchProperties.set(t,{propertyNames:a})}t.push(r)}return e.delete(),t}export{h as wasmToDataModel,v as wasmToEntityType,b as wasmToFieldIndex,j as wasmToGraphObjectType,T as wasmToGraphProperty,w as wasmToRelationshipType,I as wasmToSourceTypeValueBehavior};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{apiKey as e}from"./commonProperties.js";import p from"./TranslateContent.js";let i=class extends o{constructor(t){super(t),this.to=null,this.contents=null,this.portalUrl="https://www.arcgis.com",this.translator="esri",this.from=null,this.apiKey=null}};t([r({type:[String],json:{write:!0}})],i.prototype,"to",void 0),t([r({type:[p],json:{write:!0}})],i.prototype,"contents",void 0),t([r({type:String,json:{write:!0}})],i.prototype,"portalUrl",void 0),t([r({type:String,json:{write:!0,default:"esri"}})],i.prototype,"translator",void 0),t([r({type:String,json:{write:!0}})],i.prototype,"from",void 0),t([r(e)],i.prototype,"apiKey",void 0),i=t([s("esri.rest.support.TranslateParameters")],i);export{i as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import r from"../../core/JSONSupport.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import{apiKey as s}from"./commonProperties.js";import p from"./TranslateContent.js";let i=class extends r{constructor(t){super(t),this.to=null,this.contents=null,this.portalUrl="https://www.arcgis.com",this.translator="esri",this.from=null,this.apiKey=null,this.requestSource=null}};t([o({type:[String],json:{write:!0}})],i.prototype,"to",void 0),t([o({type:[p],json:{write:!0}})],i.prototype,"contents",void 0),t([o({type:String,json:{write:!0}})],i.prototype,"portalUrl",void 0),t([o({type:String,json:{write:!0,default:"esri"}})],i.prototype,"translator",void 0),t([o({type:String,json:{write:!0}})],i.prototype,"from",void 0),t([o(s)],i.prototype,"apiKey",void 0),t([o({type:String,json:{name:"x-esri-request-source"}})],i.prototype,"requestSource",void 0),i=t([e("esri.rest.support.TranslateParameters")],i);export{i as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- const e="20250612",b="5dd0aa88bced5e54b73b5be8e1ae4d25131f8ffb";export{e as buildDate,b as commitHash};
5
+ const e="20250615",a="567913f69189ee4334ab0b64d44c9a2e377ffa55";export{e as buildDate,a as commitHash};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import o from"../Color.js";import{clone as t}from"../core/lang.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{Integer as s}from"../core/accessorSupport/ensureType.js";import{enumeration as a}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import p from"./Symbol3DLayer.js";var l;let c=class extends p{static{l=this}constructor(e){super(e),this.color=m.clone(),this.type="water",this.waterbodySize="medium",this.waveDirection=null,this.waveStrength="moderate"}clone(){return new l({color:t(this.color),waterbodySize:this.waterbodySize,waveDirection:this.waveDirection,waveStrength:this.waveStrength})}};e([r({type:o,nonNullable:!0,json:{type:[s],write:(e,t,r)=>t[r]=e.toArray(o.AlphaMode.UNLESS_OPAQUE),default:()=>m.clone(),defaultEquals:e=>e.toCss(!0)===m.toCss(!0)}})],c.prototype,"color",void 0),e([a({Water:"water"},{readOnly:!0})],c.prototype,"type",void 0),e([r({type:["small","medium","large"],json:{write:!0,default:"medium"}})],c.prototype,"waterbodySize",void 0),e([r({type:Number,json:{write:!0,default:null}})],c.prototype,"waveDirection",void 0),e([r({type:["calm","rippled","slight","moderate"],json:{write:!0,default:"moderate"}})],c.prototype,"waveStrength",void 0),c=l=e([i("esri.symbols.WaterSymbol3DLayer")],c);const m=new o([0,119,190]);export{c as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import o from"../Color.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import{Integer as r}from"../core/accessorSupport/ensureType.js";import"../core/has.js";import"../core/RandomLCG.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import i from"./Symbol3DLayer.js";var p;let l=class extends i{static{p=this}constructor(e){super(e),this.color=c.clone(),this.type="water",this.waterbodySize="medium",this.waveDirection=null,this.waveStrength="moderate"}clone(){return new p({color:this.color.clone(),waterbodySize:this.waterbodySize,waveDirection:this.waveDirection,waveStrength:this.waveStrength})}};e([t({type:o,nonNullable:!0,json:{type:[r],write:(e,t,r)=>t[r]=e.toArray(o.AlphaMode.UNLESS_OPAQUE),default:()=>c.clone(),defaultEquals:e=>e.toCss(!0)===c.toCss(!0)}})],l.prototype,"color",void 0),e([s({Water:"water"},{readOnly:!0})],l.prototype,"type",void 0),e([t({type:["small","medium","large"],json:{write:!0,default:"medium"}})],l.prototype,"waterbodySize",void 0),e([t({type:Number,json:{write:!0,default:null}})],l.prototype,"waveDirection",void 0),e([t({type:["calm","rippled","slight","moderate"],json:{write:!0,default:"moderate"}})],l.prototype,"waveStrength",void 0),l=p=e([a("esri.symbols.WaterSymbol3DLayer")],l);const c=new o([0,119,190]);export{l as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{isSceneServiceLayer as o}from"../../layers/support/layerUtils.js";import n from"../WebStyleSymbol.js";import{to3D as t}from"./symbolConversion.js";import{readSymbol as s,isSymbol3D as l}from"./typeUtils.js";function r(e,o,n,t){const s=a(e,{},{context:t,isLabelSymbol:!1});null!=s&&(o[n]=s)}function i(e,o,n,t){const s=a(e,{},{context:t,isLabelSymbol:!0});null!=s&&(o[n]=s)}function p(e){return l(e)||e instanceof n}function y(e){return"polygon-3d"===e?.type||"line-3d"===e?.type}function a(n,s,l){if(null==n)return null;const{context:r,isLabelSymbol:i}=l,a=r?.origin,m=r?.messages;if("web-scene"===a&&!p(n)){const o=t(n,{retainCIM:!0,hasLabelingContext:i});return null!=o.symbol?o.symbol.write(s,r):(m?.push(new e("symbol:unsupported",`Symbols of type '${n.declaredClass}' are not supported in scenes. Use 3D symbology instead when working with WebScene and SceneView`,{symbol:n,context:r,error:o.error})),null)}return o(r?.layer)&&y(n)?(m?.push(new e("symbol:unsupported",`Symbols of type '${n.declaredClass}' are not supported on layers of type '${r?.layer?.declaredClass}'.`,{symbol:n,context:r})),null):("web-map"===a||"portal-item"===a&&!o(r?.layer))&&p(n)?(m?.push(new e("symbol:unsupported",`Symbols of type '${n.declaredClass}' are not supported in web maps and portal items. Use 2D symbology and CIMSymbol instead when working with MapView`,{symbol:n,context:r})),null):n.write(s,r)}function m(e,o){return s(e,null,o)}export{m as fromJSON,r as write,i as writeLabelSymbol};
5
+ import e from"../../core/Error.js";import{setDeepValue as o}from"../../core/object.js";import{isSceneServiceLayer as n}from"../../layers/support/layerUtils.js";import t from"../WebStyleSymbol.js";import{to3D as r}from"./symbolConversion.js";import{readSymbol as s,isSymbol3D as l}from"./typeUtils.js";function i(e,n,t,r){const s=a(e,{},{context:r,isLabelSymbol:!1});null!=s&&o(t,s,n)}function p(e,o,n,t){const r=a(e,{},{context:t,isLabelSymbol:!0});null!=r&&(o[n]=r)}function m(e){return l(e)||e instanceof t}function y(e){return"polygon-3d"===e?.type||"line-3d"===e?.type}function a(o,t,s){if(null==o)return null;const{context:l,isLabelSymbol:i}=s,p=l?.origin,a=l?.messages;if("web-scene"===p&&!m(o)){const n=r(o,{retainCIM:!0,hasLabelingContext:i});return null!=n.symbol?n.symbol.write(t,l):(a?.push(new e("symbol:unsupported",`Symbols of type '${o.declaredClass}' are not supported in scenes. Use 3D symbology instead when working with WebScene and SceneView`,{symbol:o,context:l,error:n.error})),null)}return n(l?.layer)&&y(o)?(a?.push(new e("symbol:unsupported",`Symbols of type '${o.declaredClass}' are not supported on layers of type '${l?.layer?.declaredClass}'.`,{symbol:o,context:l})),null):("web-map"===p||"portal-item"===p&&!n(l?.layer))&&m(o)?(a?.push(new e("symbol:unsupported",`Symbols of type '${o.declaredClass}' are not supported in web maps and portal items. Use 2D symbology and CIMSymbol instead when working with MapView`,{symbol:o,context:l})),null):o.write(t,l)}function u(e,o){return s(e,null,o)}export{u as fromJSON,i as write,p as writeLabelSymbol};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import"../../core/has.js";import{px2pt as e}from"../../core/screenUtils.js";import{isSubtypeGroupLayer as t}from"../../layers/support/layerUtils.js";import{loadArcade as l}from"../../support/loadArcade.js";import{getStroke as a}from"./gfxUtils.js";import{SymbolSizeDefaults as i}from"./previewUtils.js";import{renderSymbol as r,renderOnce as s}from"./renderUtils.js";import{applyColorToSymbol as o,applySizesToSymbol as n,applyRotationToSymbol as c,getCSSFilterFromEffectList as u,getColorFromSymbol as f,applyOpacityToColor as p}from"./utils.js";import{renderRelationshipRamp as y}from"../../widgets/Legend/styles/support/relationshipUtils.js";import{getRelationshipRampElement as h}from"../../widgets/Legend/support/relationshipRampUtils.js";let m=null;const b=[255,255,255];function d(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function g(e,t,l){const{backgroundColor:a,outline:r,dotSize:s}=e,o=l?.swatchSize||i.size,n=.8,c=Math.round(o*o/Math.max(s,.5)**2*n),u=window.devicePixelRatio,f=document.createElement("canvas"),p=o*u;f.width=p,f.height=p,f.style.width=f.width/u+"px",f.style.height=f.height/u+"px";const y=f.getContext("2d");if(a&&(y.fillStyle=a.toCss(!0),y.fillRect(0,0,p,p),y.fill()),y.fillStyle=t?.toCss(!0)??"",m&&m.length/2===c)for(let i=0;i<2*c;i+=2){const e=m[i],t=m[i+1];y.fillRect(e,t,s*u,s*u),y.fill()}else{m=[];for(let e=0;e<2*c;e+=2){const e=d(0,p),t=d(0,p);m.push(e,t),y.fillRect(e,t,s*u,s*u),y.fill()}}r&&(r.color&&(y.strokeStyle=r.color.toCss(!0)),y.lineWidth=r.width,y.strokeRect(0,0,p,p));const h=new Image(o,o);return h.src=f.toDataURL(),h.ariaLabel=l?.ariaLabel??null,h.alt=l?.ariaLabel??"",h}function w(e,t={}){const l=t.radius||40,i=2*Math.PI*l,s=e.length,o=i/s,n=[],c=a(t.outline);null!=c?.width&&(c.width*=2),(c||t.backgroundColor)&&n.push({shape:{type:"circle",cx:l,cy:l,r:l},fill:t.backgroundColor,stroke:c,offset:[0,0]});const u=t.values,f=u&&u.length===s&&100===u.reduce(((e,t)=>e+t),0),p=[0];for(let a=0;a<s;a++){let t=null;f&&(t=u[a]*i/100,p.push(t+p[a])),n.push({shape:{type:"circle",cx:l,cy:l,r:l/2},fill:[0,0,0,0],stroke:{width:l,dashArray:`${(t??o)/2} ${i}`,dashoffset:"-"+(f?p[a]/2:a*(o/2)),color:e[a]},offset:[0,0]})}let y=null;const h=2*l+(c?.width||0),m=t.holePercentage;if(m){c&&n.push({shape:{type:"circle",cx:l,cy:l,r:l*m},fill:null,stroke:c,offset:[0,0]});const e=h/2;y=[[{shape:{type:"circle",cx:e,cy:e,r:e},fill:b,stroke:c?{...c,color:b}:null,offset:[0,0]},{shape:{type:"circle",cx:e,cy:e,r:l*m},fill:[0,0,0],stroke:null,offset:[0,0]}]]}return r([n],[h,h],{effectView:t.effectList,ignoreStrokeWidth:!0,masking:y,rotations:[-90],ariaLabel:t.ariaLabel})}function S(e,t={}){const l=e?.authoringInfo;if(!("relationship"===l?.type)||!l?.numClasses||!e.uniqueValueInfos)return null;const{focus:a,numClasses:i}=l,r=h({focus:a,numClasses:i,infos:e.uniqueValueInfos}),o=t?.node||document.createElement("div");return s(o,(()=>y(r,t.id||"relationship",{opacity:t.opacity||1,effectList:t.effectList,ariaLabel:t.ariaLabel}))),o}function v(e,t={}){const l=24,a=75,i="horizontal"===t.align,r=i?a:l,s=i?l:a,o=t.width??r,n=t.height??s,c=t.gradient??!0,u=window.devicePixelRatio,f=o*u,p=n*u,y=document.createElement("canvas");y.width=f,y.height=p,y.ariaLabel=t.ariaLabel??null,y.style.width=`${o}px`,y.style.height=`${n}px`;const h=y.getContext("2d"),m=i?f:0,b=i?0:p;if(c){const t=h.createLinearGradient(0,0,m,b),l=e.length,a=1===l?0:1/(l-1);e.forEach(((e,l)=>t.addColorStop(l*a,e.toString()))),h.fillStyle=t,h.fillRect(0,0,f,p)}else{const t=i?f/e.length:f,l=i?p:p/e.length;let a=0,r=0;for(const s of e)h.fillStyle=s.toString(),h.fillRect(a,r,t,l),a=i?a+t:0,r=i?0:r+l}const d=document.createElement("div");return d.style.width=`${o}px`,d.style.height=`${n}px`,V(d,t?.effectList),d.appendChild(y),d}function V(e,t){if(!t)return;e.style.filter=u(t);const l=t.effects;if(l)for(const a of l)if("drop-shadow"===a?.type){a.offsetX<0?e.style.marginLeft=`${Math.abs(a.offsetX)}px`:e.style.marginRight=`${a.offsetX}px`;break}}async function k(e,t){switch(e.type){case"web-style":{const{previewWebStyleSymbol:l}=await import("./previewWebStyleSymbol.js");return l(e,k,t)}case"label-3d":case"line-3d":case"mesh-3d":case"point-3d":case"polygon-3d":{const{previewSymbol3D:l}=await import("./previewSymbol3D.js");return l(e,t)}case"simple-marker":case"simple-line":case"simple-fill":case"picture-marker":case"picture-fill":case"text":{const{previewSymbol2D:l}=await import("./previewSymbol2D.js");return l(e,t)}case"cim":{const{previewCIMSymbol:l}=await import("./previewCIMSymbol.js");return l(e,t)}default:return}}function L(e){return e&&"opacity"in e?e.opacity*L(e.parent):1}async function x(e,t){if(!e)return;const a=e.sourceLayer,i=(null!=t&&t.useSourceLayer?a:e.layer)??a,r=t?.ignoreOpacity?1:L(i);if(null!=e.symbol&&(null==t||!0!==t.ignoreGraphicSymbol)){const l="web-style"===e.symbol.type?await e.symbol.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats,cache:t?.webStyleCache}):e.symbol.clone();return o(l,null,r),l}const s=t?.renderer??C(i);let u=s&&"getSymbolAsync"in s?await s.getSymbolAsync(e,t):null;if(!u)return;if(u="web-style"===u.type?await u.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats,cache:t?.webStyleCache}):u.clone(),!s||!("visualVariables"in s)||!s.visualVariables?.length)return o(u,null,r),u;if("arcadeRequiredForVisualVariables"in s&&s.arcadeRequiredForVisualVariables&&null==t?.arcade){const e={...t};e.arcade=await l(),t=e}const{getColor:f,getOpacity:p,getAllSizes:y,getRotationAngle:h}=await import("../../renderers/visualVariables/support/visualVariableUtils.js"),m=[],b=[],d=[],g=[];for(const l of s.visualVariables)switch(l.type){case"color":m.push(l);break;case"opacity":b.push(l);break;case"rotation":g.push(l);break;case"size":l.target||d.push(l)}const w=!!m.length&&m[m.length-1],S=w?f(w,e,t):null,v=!!b.length&&b[b.length-1];let V=v?p(v,e,t):null;if(null!=r&&(V=null!=V?V*r:r),t?.ignoreOpacity&&(V=1),null!=S&&v&&null!=V&&(S.a=1),o(u,S,V),d.length&&!0!==t?.ignoreSizeVariables){const l=y(d,e,t);await n(u,l)}if(!0!==t?.ignoreRotationVariables)for(const l of g)c(u,h(l,e,t),l.axis);return u}async function R(e,t){if(!e)return;const{layer:a,sourceLayer:i}=e,r=L(a??i);if(null!=e.symbol&&(null==t||!0!==t.ignoreGraphicSymbol)){const l="web-style"===e.symbol.type?await e.symbol.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):e.symbol.clone();return f(l,r)}const s=t?.renderer??C(a)??C(i);let o=s&&"getSymbolAsync"in s?await s.getSymbolAsync(e,t):void 0;if(!o)return;o="web-style"===o.type?await o.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):o.clone();const n=f(o,r);if(!s||!("visualVariables"in s)||"visualVariables"in s&&!s.visualVariables||"visualVariables"in s&&!s.visualVariables?.length)return n;if("arcadeRequiredForVisualVariables"in s&&s.arcadeRequiredForVisualVariables&&null==t?.arcade){const e={...t};e.arcade=await l(),t=e}const{getColor:c,getOpacity:u}=await import("../../renderers/visualVariables/support/visualVariableUtils.js"),y=[],h=[];if(s.visualVariables)for(const l of s.visualVariables)switch(l.type){case"color":y.push(l);break;case"opacity":h.push(l)}const m=y.length>0?y[y.length-1]:null,b=m?c(m,e,t):n,d=h.length>0?h[h.length-1]:null;let g=d?u(d,e,t):null;return null!=r&&(g=null!=g?g*r:r),b?p(b,g):null}function C(e){if(e)return"renderer"in e?e.renderer:void 0}async function j(e,t,l){if(!e)return;const{layer:a,sourceLayer:i}=e,r=l?.renderer??C(a)??C(i);if(!r)return null;if("visualVariables"in r&&r.visualVariables?.length){const{getRampStops:i}=await import("../../widgets/Legend/support/colorRampUtils.js"),{getRampStops:s}=await import("../../widgets/Legend/support/sizeRampUtils.js"),{getDateFormatOptions:o}=await import("../../widgets/Legend/support/utils.js");let n=null;for(const c of r.visualVariables){const u=t?o(a,c,t.timeZone):null;let f=null;switch(c.type){case"color":f=await i(c,null,u);break;case"opacity":f=await i(c);break;case"size":c.target||(f=await s(r,c,null,l?.scale||t?.scale,t,u))}if(f?.length){const t=f.find(((t,l)=>{const a=e.attributes[c.field];return 0===l?a>=t.value:l===f?.length-1?a<=t.value:t.value===a}));if(t){n=t.label;break}}}if(n)return n}switch(r.type){case"class-breaks":{const t="getClassBreakInfo"in r?await r.getClassBreakInfo(e,l):null;return t?.label??(t&&r.classBreakInfos?.length>1)?`${t.minValue} - ${t.maxValue}`:null}case"unique-value":{const t="getUniqueValueInfo"in r?await r.getUniqueValueInfo(e,l):null;return t?.label}}return null}async function F(l,a){l?.layer&&t(l.layer)&&((l=l.cloneShallow()).layer=l.layer.findSublayerForFeature(l)??null);const i=null===l?a?.fallbackSymbol??null:await x(l,{ignoreGraphicSymbol:!!l.layer,ignoreOpacity:a?.ignoreOpacity??!0,ignoreRotationVariables:a?.ignoreRotationVariables??!0,ignoreSizeVariables:a?.ignoreSizeVariables??!0})??a?.fallbackSymbol??null;if(!i)return null;const r=await k(i,{geometry:a.useGeometryForShape?l?.geometry??null:null,useMarkerSymbolSize:!1!==a.useMarkerSymbolSize,size:{width:e(a.widthInPixels??16),height:e(a.heightInPixels??16)},..."cim"===i?.type?{cimOptions:{feature:{attributes:l?.attributes??{}}}}:{}});if(!r)return null;return"element"===(a?.format??"element")?r:r.outerHTML}export{R as getDisplayedColor,x as getDisplayedSymbol,j as getLegendLabel,F as previewGraphic,v as renderColorRampPreviewHTML,g as renderDotDensityPreviewHTML,w as renderPieChartPreviewHTML,k as renderPreviewHTML,S as renderRelationshipRampPreviewHTML};
5
+ import"../../core/has.js";import{px2pt as e}from"../../core/screenUtils.js";import{isSubtypeGroupLayer as t}from"../../layers/support/layerUtils.js";import{loadArcade as l}from"../../support/loadArcade.js";import{getStroke as a}from"./gfxUtils.js";import{SymbolSizeDefaults as i}from"./previewUtils.js";import{renderSymbol as r,renderOnce as s}from"./renderUtils.js";import{isSymbol3D as o}from"./typeUtils.js";import{applyColorToSymbol as n,applySizesToSymbol as c,applyRotationToSymbol as u,getCSSFilterFromEffectList as f,getColorFromSymbol as p,applyOpacityToColor as y}from"./utils.js";import{renderRelationshipRamp as h}from"../../widgets/Legend/styles/support/relationshipUtils.js";import{getRelationshipRampElement as m}from"../../widgets/Legend/support/relationshipRampUtils.js";let d=null;const b=[255,255,255];function g(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function w(e,t,l){const{backgroundColor:a,outline:r,dotSize:s}=e,o=l?.swatchSize||i.size,n=.8,c=Math.round(o*o/Math.max(s,.5)**2*n),u=window.devicePixelRatio,f=document.createElement("canvas"),p=o*u;f.width=p,f.height=p,f.style.width=f.width/u+"px",f.style.height=f.height/u+"px";const y=f.getContext("2d");if(a&&(y.fillStyle=a.toCss(!0),y.fillRect(0,0,p,p),y.fill()),y.fillStyle=t?.toCss(!0)??"",d&&d.length/2===c)for(let i=0;i<2*c;i+=2){const e=d[i],t=d[i+1];y.fillRect(e,t,s*u,s*u),y.fill()}else{d=[];for(let e=0;e<2*c;e+=2){const e=g(0,p),t=g(0,p);d.push(e,t),y.fillRect(e,t,s*u,s*u),y.fill()}}r&&(r.color&&(y.strokeStyle=r.color.toCss(!0)),y.lineWidth=r.width,y.strokeRect(0,0,p,p));const h=new Image(o,o);return h.src=f.toDataURL(),h.ariaLabel=l?.ariaLabel??null,h.alt=l?.ariaLabel??"",h}function S(e,t={}){const l=t.radius||40,i=2*Math.PI*l,s=e.length,o=i/s,n=[],c=a(t.outline);null!=c?.width&&(c.width*=2),(c||t.backgroundColor)&&n.push({shape:{type:"circle",cx:l,cy:l,r:l},fill:t.backgroundColor,stroke:c,offset:[0,0]});const u=t.values,f=u&&u.length===s&&100===u.reduce(((e,t)=>e+t),0),p=[0];for(let a=0;a<s;a++){let t=null;f&&(t=u[a]*i/100,p.push(t+p[a])),n.push({shape:{type:"circle",cx:l,cy:l,r:l/2},fill:[0,0,0,0],stroke:{width:l,dashArray:`${(t??o)/2} ${i}`,dashoffset:"-"+(f?p[a]/2:a*(o/2)),color:e[a]},offset:[0,0]})}let y=null;const h=2*l+(c?.width||0),m=t.holePercentage;if(m){c&&n.push({shape:{type:"circle",cx:l,cy:l,r:l*m},fill:null,stroke:c,offset:[0,0]});const e=h/2;y=[[{shape:{type:"circle",cx:e,cy:e,r:e},fill:b,stroke:c?{...c,color:b}:null,offset:[0,0]},{shape:{type:"circle",cx:e,cy:e,r:l*m},fill:[0,0,0],stroke:null,offset:[0,0]}]]}return r([n],[h,h],{effectView:t.effectList,ignoreStrokeWidth:!0,masking:y,rotations:[-90],ariaLabel:t.ariaLabel})}function v(e,t={}){const l=e?.authoringInfo;if(!("relationship"===l?.type)||!l?.numClasses||!e.uniqueValueInfos)return null;const{focus:a,numClasses:i}=l,r=m({focus:a,numClasses:i,infos:e.uniqueValueInfos}),o=t?.node||document.createElement("div");return s(o,(()=>h(r,t.id||"relationship",{opacity:t.opacity||1,effectList:t.effectList,ariaLabel:t.ariaLabel}))),o}function V(e,t={}){const l=24,a=75,i="horizontal"===t.align,r=i?a:l,s=i?l:a,o=t.width??r,n=t.height??s,c=t.gradient??!0,u=window.devicePixelRatio,f=o*u,p=n*u,y=document.createElement("canvas");y.width=f,y.height=p,y.ariaLabel=t.ariaLabel??null,y.style.width=`${o}px`,y.style.height=`${n}px`;const h=y.getContext("2d"),m=i?f:0,d=i?0:p;if(c){const t=h.createLinearGradient(0,0,m,d),l=e.length,a=1===l?0:1/(l-1);e.forEach(((e,l)=>t.addColorStop(l*a,e.toString()))),h.fillStyle=t,h.fillRect(0,0,f,p)}else{const t=i?f/e.length:f,l=i?p:p/e.length;let a=0,r=0;for(const s of e)h.fillStyle=s.toString(),h.fillRect(a,r,t,l),a=i?a+t:0,r=i?0:r+l}const b=document.createElement("div");return b.style.width=`${o}px`,b.style.height=`${n}px`,k(b,t?.effectList),b.appendChild(y),b}function k(e,t){if(!t)return;e.style.filter=f(t);const l=t.effects;if(l)for(const a of l)if("drop-shadow"===a?.type){a.offsetX<0?e.style.marginLeft=`${Math.abs(a.offsetX)}px`:e.style.marginRight=`${a.offsetX}px`;break}}async function L(e,t){switch(e.type){case"web-style":{const{previewWebStyleSymbol:l}=await import("./previewWebStyleSymbol.js");return l(e,L,t)}case"label-3d":case"line-3d":case"mesh-3d":case"point-3d":case"polygon-3d":{const{previewSymbol3D:l}=await import("./previewSymbol3D.js");return l(e,t)}case"simple-marker":case"simple-line":case"simple-fill":case"picture-marker":case"picture-fill":case"text":{const{previewSymbol2D:l}=await import("./previewSymbol2D.js");return l(e,t)}case"cim":{const{previewCIMSymbol:l}=await import("./previewCIMSymbol.js");return l(e,t)}default:return}}function x(e){return e&&"opacity"in e?e.opacity*x(e.parent):1}async function R(e,t){if(!e)return;const a=e.sourceLayer,i=(null!=t&&t.useSourceLayer?a:e.layer)??a,r=t?.ignoreOpacity?1:x(i);if(null!=e.symbol&&(null==t||!0!==t.ignoreGraphicSymbol)){const l="web-style"===e.symbol.type?await e.symbol.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats,cache:t?.webStyleCache}):e.symbol.clone();return n(l,null,{add:r}),l}const s=t?.renderer??F(i);let o=s&&"getSymbolAsync"in s?await s.getSymbolAsync(e,t):null;if(!o)return;if(o="web-style"===o.type?await o.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats,cache:t?.webStyleCache}):o.clone(),!(s&&"visualVariables"in s&&s.visualVariables?.length&&j(o)))return n(o,null,{add:r}),o;if("arcadeRequiredForVisualVariables"in s&&s.arcadeRequiredForVisualVariables&&null==t?.arcade){const e={...t};e.arcade=await l(),t=e}const{getColor:f,getOpacity:p,getAllSizes:y,getRotationAngle:h}=await import("../../renderers/visualVariables/support/visualVariableUtils.js"),m=[],d=[],b=[],g=[];for(const l of s.visualVariables)switch(l.type){case"color":m.push(l);break;case"opacity":d.push(l);break;case"rotation":g.push(l);break;case"size":l.target||b.push(l)}const w=!!m.length&&m[m.length-1],S=w?f(w,e,t):null,v=!!t?.ignoreOpacity,V=!!d.length&&d[d.length-1],k=V?p(V,e,t):null;if(n(o,S,v?void 0:{override:k,add:r}),b.length&&!0!==t?.ignoreSizeVariables){const l=y(b,e,t);await c(o,l)}if(!0!==t?.ignoreRotationVariables)for(const l of g)u(o,h(l,e,t),l.axis);return o}async function C(e,t){if(!e)return;const{layer:a,sourceLayer:i}=e,r=x(a??i);if(null!=e.symbol&&(null==t||!0!==t.ignoreGraphicSymbol)){const l="web-style"===e.symbol.type?await e.symbol.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):e.symbol.clone();return p(l,r)}const s=t?.renderer??F(a)??F(i);let o=s&&"getSymbolAsync"in s?await s.getSymbolAsync(e,t):void 0;if(!o)return;o="web-style"===o.type?await o.fetchSymbol({...t,acceptedFormats:t?.webStyleAcceptedFormats}):o.clone();const n=p(o,void 0);if(!s||!("visualVariables"in s)||"visualVariables"in s&&!s.visualVariables||"visualVariables"in s&&!s.visualVariables?.length||!j(o))return n?y(n,r):void 0;if("arcadeRequiredForVisualVariables"in s&&s.arcadeRequiredForVisualVariables&&null==t?.arcade){const e={...t};e.arcade=await l(),t=e}const{getColor:c,getOpacity:u}=await import("../../renderers/visualVariables/support/visualVariableUtils.js"),f=[],h=[];if(s.visualVariables)for(const l of s.visualVariables)switch(l.type){case"color":f.push(l);break;case"opacity":h.push(l)}const m=f.length>0?f[f.length-1]:null,d=(m?c(m,e,t):void 0)??n,b=h.length>0?h[h.length-1]:null,g=b?u(b,e,t):null;return null!=d&&null!=g&&(d.a=g),d?y(d,r):null}function j(e){return!o(e)||"water"!==e.symbolLayers.at(0)?.type}function F(e){if(e)return"renderer"in e?e.renderer:void 0}async function U(e,t,l){if(!e)return;const{layer:a,sourceLayer:i}=e,r=l?.renderer??F(a)??F(i);if(!r)return null;if("visualVariables"in r&&r.visualVariables?.length){const{getRampStops:i}=await import("../../widgets/Legend/support/colorRampUtils.js"),{getRampStops:s}=await import("../../widgets/Legend/support/sizeRampUtils.js"),{getDateFormatOptions:o}=await import("../../widgets/Legend/support/utils.js");let n=null;for(const c of r.visualVariables){const u=t?o(a,c,t.timeZone):null;let f=null;switch(c.type){case"color":f=await i(c,null,u);break;case"opacity":f=await i(c);break;case"size":c.target||(f=await s(r,c,null,l?.scale||t?.scale,t,u))}if(f?.length){const t=f.find(((t,l)=>{const a=e.attributes[c.field];return 0===l?a>=t.value:l===f?.length-1?a<=t.value:t.value===a}));if(t){n=t.label;break}}}if(n)return n}switch(r.type){case"class-breaks":{const t="getClassBreakInfo"in r?await r.getClassBreakInfo(e,l):null;return t?.label??(t&&r.classBreakInfos?.length>1)?`${t.minValue} - ${t.maxValue}`:null}case"unique-value":{const t="getUniqueValueInfo"in r?await r.getUniqueValueInfo(e,l):null;return t?.label}}return null}async function z(l,a){l?.layer&&t(l.layer)&&((l=l.cloneShallow()).layer=l.layer.findSublayerForFeature(l)??null);const i=null===l?a?.fallbackSymbol??null:await R(l,{ignoreGraphicSymbol:!!l.layer,ignoreOpacity:a?.ignoreOpacity??!0,ignoreRotationVariables:a?.ignoreRotationVariables??!0,ignoreSizeVariables:a?.ignoreSizeVariables??!0})??a?.fallbackSymbol??null;if(!i)return null;const r=await L(i,{geometry:a.useGeometryForShape?l?.geometry??null:null,useMarkerSymbolSize:!1!==a.useMarkerSymbolSize,size:{width:e(a.widthInPixels??16),height:e(a.heightInPixels??16)},..."cim"===i?.type?{cimOptions:{feature:{attributes:l?.attributes??{}}}}:{}});if(!r)return null;return"element"===(a?.format??"element")?r:r.outerHTML}export{C as getDisplayedColor,R as getDisplayedSymbol,U as getLegendLabel,z as previewGraphic,V as renderColorRampPreviewHTML,w as renderDotDensityPreviewHTML,S as renderPieChartPreviewHTML,L as renderPreviewHTML,v as renderRelationshipRampPreviewHTML};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../Color.js";import{forEach as t}from"../../core/asyncUtils.js";import"../../core/has.js";import{px2pt as r}from"../../core/screenUtils.js";import{ONES as o}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{effectFunctionsFromJSON as n}from"../../layers/effects/jsonUtils.js";import{getCIMSymbolColor as l}from"./cimSymbolUtils.js";import{getStroke as i}from"./gfxUtils.js";import{Symbol3DMaterial as c}from"./Symbol3DMaterial.js";import{isSymbol3D as s,isSymbol2D as u}from"./typeUtils.js";const a=new e("white");function f(e){const t=e.symbolLayers?.at(-1);if(t&&"outline"in t)return t?.outline?.size}function m(e){if(!e)return 0;if(s(e)){const t=f(e);return null!=t?t:0}return r(i(e)?.width)}function y(e){if(null==e||!("symbolLayers"in e)||null==e.symbolLayers)return!1;switch(e.type){case"point-3d":return e.symbolLayers.some((e=>"object"===e.type));case"line-3d":return e.symbolLayers.some((e=>"path"===e.type));case"polygon-3d":return e.symbolLayers.some((e=>"object"===e.type||"extrude"===e.type));default:return!1}}function p(e){return e.resource?.href??""}function h(t,r){if(!t)return null;let o=null;return s(t)?o=b(t):u(t)&&(o="cim"===t.type?l(t):t.color?new e(t.color):null),o?w(o,r):null}function b(t){const r=t.symbolLayers;if(!r)return null;let o=null;return r.forEach((e=>{"object"===e.type&&e.resource?.href||(o="water"===e.type?e.color:e.material?e.material.color:null)})),o?new e(o):null}function w(t,r){if(null==r||null==t)return t;const o=t.toRgba();return o[3]=o[3]*r,new e(o)}function d(e,t,r){const o=e.symbolLayers;if(!o)return;const n=e=>w(t??e??(null!=r?a:null),r);o.forEach((e=>{if("object"!==e.type||!e.resource?.href||t)if("water"===e.type)e.color=n(e.color);else{const t=null!=e.material?e.material.color:null,o=n(t);if(null==e.material?e.material=new c({color:o}):e.material.color=o,null!=r&&"outline"in e&&null!=e.outline?.color&&(e.outline.color=w(e.outline.color,r)),"marker"in e&&null!=e.marker){const t=n(e.marker.color);e.marker.color=t}}}))}function j(e,t,r){(t=t??e.color)&&(e.color=w(t,r)),null!=r&&"outline"in e&&e.outline?.color&&(e.outline.color=w(e.outline.color,r))}function k(t,r,o){t&&(r||null!=o)&&(r&&(r=new e(r)),s(t)?d(t,r,o):u(t)&&j(t,r,o))}async function g(e,r){const o=e.symbolLayers;o&&await t(o,(async e=>L(e,r)))}async function L(e,t){switch(e.type){case"extrude":S(e,t);break;case"icon":case"line":case"text":z(e,t);break;case"path":v(e,t);break;case"object":await U(e,t)}}function z(e,t){const r=x(t);null!=r&&(e.size=r)}function x(e){for(const t of e)if("number"==typeof t)return t;return null}function S(e,t){const r=t[2];"number"==typeof r&&(e.size=r)}async function U(e,t){const{resourceSize:r,symbolSize:o}=await O(e),n=E(t,r,o);null!=n&&(e.width=R(t[0],o[0],r[0],n),e.depth=R(t[1],o[1],r[1],n),e.height=R(t[2],o[2],r[2],n))}function v(e,t){const r=E(t,o,[e.width,void 0,e.height]);null!=r&&(e.width=R(t[0],e.width,1,r),e.height=R(t[2],e.height,1,r))}function E(e,t,r){for(let o=0;o<3;o++){const n=e[o];switch(n){case"symbol-value":{const e=r[o];return null!=e?e/t[o]:1}case"proportional":break;default:if(n&&t[o])return n/t[o]}}return null}async function O(e){const{computeObjectLayerResourceSize:t}=await import("./symbolLayerUtils.js"),r=await t(e,10),{width:o,height:n,depth:l}=e,i=[o,l,n];let c=1;for(let s=0;s<3;s++){const e=i[s];if(null!=e){c=e/r[s];break}}for(let s=0;s<3;s++)null==i[s]&&(i[s]=r[s]*c);return{resourceSize:r,symbolSize:i}}function R(e,t,r,o){switch(e){case"proportional":return r*o;case"symbol-value":return null!=t?t:r;default:return e}}function C(e,t){const r=x(t);if(null!=r)switch(e.type){case"simple-marker":e.size=r;break;case"picture-marker":{const t=e.width/e.height;t>1?(e.width=r,e.height=r*t):(e.width=r*t,e.height=r);break}case"simple-line":e.width=r;break;case"text":e.font.size=r}}async function D(e,t){if(e&&t)return s(e)?g(e,t):void(u(e)&&C(e,t))}function J(e,t,r){if(e&&null!=t)if(s(e)){const o=e.symbolLayers;o&&o.forEach((e=>{if("object"===e.type)switch(r){case"tilt":e.tilt=(e.tilt??0)+t;break;case"roll":e.roll=(e.roll??0)+t;break;default:e.heading=(e.heading??0)+t}"icon"===e.type&&(e.angle+=t)}))}else u(e)&&("simple-marker"!==e.type&&"picture-marker"!==e.type&&"text"!==e.type||(e.angle+=t))}function M(e){if(!e)return null;const t=e.effects.filter((e=>"bloom"!==e.type)).map((e=>e.toJSON()));return n(t)}function N(e){return null!=e&&"polygon-3d"===e.type&&e.symbolLayers.some((e=>"extrude"===e.type))}export{k as applyColorToSymbol,w as applyOpacityToColor,J as applyRotationToSymbol,D as applySizesToSymbol,M as getCSSFilterFromEffectList,h as getColorFromSymbol,p as getIconHref,m as getSymbolOutlineSize,y as isVolumetricSymbol,N as symbolHasExtrudeSymbolLayer};
5
+ import e from"../../Color.js";import{forEach as t}from"../../core/asyncUtils.js";import"../../core/has.js";import{px2pt as r}from"../../core/screenUtils.js";import{ONES as o}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{effectFunctionsFromJSON as n}from"../../layers/effects/jsonUtils.js";import{getCIMSymbolColor as l}from"./cimSymbolUtils.js";import{getStroke as i}from"./gfxUtils.js";import{Symbol3DMaterial as c}from"./Symbol3DMaterial.js";import{isSymbol3D as s,isSymbol2D as u}from"./typeUtils.js";function a(e){const t=e.symbolLayers?.at(-1);if(t&&"outline"in t)return t?.outline?.size}function f(e){if(!e)return 0;if(s(e)){const t=a(e);return null!=t?t:0}return r(i(e)?.width)}function m(e){if(null==e||!("symbolLayers"in e)||null==e.symbolLayers)return!1;switch(e.type){case"point-3d":return e.symbolLayers.some((e=>"object"===e.type));case"line-3d":return e.symbolLayers.some((e=>"path"===e.type));case"polygon-3d":return e.symbolLayers.some((e=>"object"===e.type||"extrude"===e.type));default:return!1}}function y(e){return e.resource?.href??""}function p(t,r){if(!t)return null;let o=null;return s(t)?o=h(t):u(t)&&(o="cim"===t.type?l(t):t.color?new e(t.color):null),o?d(o,r):null}function h(t){const r=t.symbolLayers;if(!r)return null;let o=null;return r.forEach((e=>{"object"===e.type&&e.resource?.href||(o="water"===e.type?e.color:e.material?e.material.color:null)})),o?new e(o):null}function d(t,r){if(null==r||null==t)return t;const o=t.toRgba();return o[3]=o[3]*r,new e(o)}function b(t,r,o){const n=t.symbolLayers;if(!n)return;const l=(t,n=!1)=>{let l=r??t??null;return null!=o?.override&&(!l&&n&&(l=new e([255,255,255])),l&&(l.a=o.override)),d(l,o?.add)};n.forEach((e=>{if("water"===e.type)return void(e.color=d(e.color,o?.add));const t=null!=e.material?e.material.color:null,r=l(t,"icon"===e.type&&null!=e.resource?.href);null==e.material?e.material=new c({color:r}):e.material.color=r,"outline"in e&&e.outline?.color&&null!=o?.add&&(e.outline.color=d(e.outline.color,o.add)),"marker"in e&&null!=e.marker&&(e.marker.color=l(e.marker.color))}))}function w(e,t,r){t=t??e.color,null!=r?.override&&t&&(t.a=r.override),t&&(e.color=d(t,r?.add)),"outline"in e&&e.outline?.color&&(e.outline.color=d(e.outline.color,r?.add))}function j(t,r,o){t&&(r||null!=o)&&(r&&(r=new e(r)),s(t)?b(t,r,o):u(t)&&w(t,r,o))}async function k(e,r){const o=e.symbolLayers;o&&await t(o,(async e=>g(e,r)))}async function g(e,t){switch(e.type){case"extrude":z(e,t);break;case"icon":case"line":case"text":L(e,t);break;case"path":S(e,t);break;case"object":await x(e,t)}}function L(e,t){const r=v(t);null!=r&&(e.size=r)}function v(e){for(const t of e)if("number"==typeof t)return t;return null}function z(e,t){const r=t[2];"number"==typeof r&&(e.size=r)}async function x(e,t){const{resourceSize:r,symbolSize:o}=await E(e),n=U(t,r,o);null!=n&&(e.width=O(t[0],o[0],r[0],n),e.depth=O(t[1],o[1],r[1],n),e.height=O(t[2],o[2],r[2],n))}function S(e,t){const r=U(t,o,[e.width,void 0,e.height]);null!=r&&(e.width=O(t[0],e.width,1,r),e.height=O(t[2],e.height,1,r))}function U(e,t,r){for(let o=0;o<3;o++){const n=e[o];switch(n){case"symbol-value":{const e=r[o];return null!=e?e/t[o]:1}case"proportional":break;default:if(n&&t[o])return n/t[o]}}return null}async function E(e){const{computeObjectLayerResourceSize:t}=await import("./symbolLayerUtils.js"),r=await t(e,10),{width:o,height:n,depth:l}=e,i=[o,l,n];let c=1;for(let s=0;s<3;s++){const e=i[s];if(null!=e){c=e/r[s];break}}for(let s=0;s<3;s++)null==i[s]&&(i[s]=r[s]*c);return{resourceSize:r,symbolSize:i}}function O(e,t,r,o){switch(e){case"proportional":return r*o;case"symbol-value":return null!=t?t:r;default:return e}}function R(e,t){const r=v(t);if(null!=r)switch(e.type){case"simple-marker":e.size=r;break;case"picture-marker":{const t=e.width/e.height;t>1?(e.width=r,e.height=r*t):(e.width=r*t,e.height=r);break}case"simple-line":e.width=r;break;case"text":e.font.size=r}}async function C(e,t){if(e&&t)return s(e)?k(e,t):void(u(e)&&R(e,t))}function D(e,t,r){if(e&&null!=t)if(s(e)){const o=e.symbolLayers;o&&o.forEach((e=>{if("object"===e.type)switch(r){case"tilt":e.tilt=(e.tilt??0)+t;break;case"roll":e.roll=(e.roll??0)+t;break;default:e.heading=(e.heading??0)+t}"icon"===e.type&&(e.angle+=t)}))}else u(e)&&("simple-marker"!==e.type&&"picture-marker"!==e.type&&"text"!==e.type||(e.angle+=t))}function J(e){if(!e)return null;const t=e.effects.filter((e=>"bloom"!==e.type)).map((e=>e.toJSON()));return n(t)}function M(e){return null!=e&&"polygon-3d"===e.type&&e.symbolLayers.some((e=>"extrude"===e.type))}export{j as applyColorToSymbol,d as applyOpacityToColor,D as applyRotationToSymbol,C as applySizesToSymbol,J as getCSSFilterFromEffectList,p as getColorFromSymbol,y as getIconHref,f as getSymbolOutlineSize,m as isVolumetricSymbol,M as symbolHasExtrudeSymbolLayer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{GLSLShaderModule as e}from"../../GLSLShaderModule.js";import{Float as i,Vec4 as t,FixedArray as a,Vec2 as o,Mat3 as s,Sampler2D as r,Vec3 as l}from"../../graph/glsl.js";import{resolveIncludes as n}from"../../../shaders/sources/resolver.js";const p={hittestDist:i,hittestPos:o},y={filterFlags:r,animation:r,visualVariableData:r,dataDriven0:r,dataDriven1:r,dataDriven2:r,gpgpu:r,size:i},d={displayViewScreenMat3:s,displayViewMat3:s,displayMat3:s,viewMat3:s,tileMat3:s,displayZoomFactor:i,requiredZoomFactor:i,tileOffset:o,currentScale:i,currentZoom:i,metersPerSRUnit:i};class u extends e{constructor(){super(...arguments),this.vertexShader=n("materials/pie/pie.vert"),this.fragmentShader=n("materials/pie/pie.frag"),this.required={...y,...d,outlineWidth:i,colors:a,defaultColor:t,othersColor:t,outlineColor:t,donutRatio:i,sectorThreshold:i},this.options={hittestUniforms:p,visualVariableSizeMinMaxValue:{minMaxValueAndSize:t},visualVariableSizeScaleStops:{sizes:{...a.ofType(i,8),type:"array",elementType:i,size:8},values:{...a.ofType(i,8),type:"array",elementType:i,size:8}},visualVariableSizeStops:{sizes:{...a.ofType(i,8),type:"array",elementType:i,size:8},values:{...a.ofType(i,8),type:"array",elementType:i,size:8}},visualVariableSizeUnitValue:{unitValueToPixelsRatio:i},visualVariableOpacity:{opacities:{...a.ofType(i,8),type:"array",elementType:i,size:8},opacityValues:{...a.ofType(i,8),type:"array",elementType:i,size:8}}},this.locations={pos:{index:0,type:o},id:{index:1,type:l},bitset:{index:2,type:i},offset:{index:3,type:o},texCoords:{index:4,type:o},size:{index:5,type:o},referenceSize:{index:6,type:i},zoomRange:{index:7,type:o}},this.defines={VV_SIZE_MIN_MAX_VALUE:"boolean",VV_SIZE_SCALE_STOPS:"boolean",VV_SIZE_FIELD_STOPS:"boolean",VV_SIZE_UNIT_VALUE:"boolean",VV_OPACITY:"boolean",HITTEST:"boolean",numberOfFields:"number",highlight:"boolean",inside:"boolean",outside:"boolean"}}setNumberOfFields(e){this.required.colors={...a.ofType(t,e),type:"array",elementType:t,size:e}}}export{u as PieChartShader};
5
+ import{GLSLShaderModule as e}from"../../GLSLShaderModule.js";import{Float as i,Vec4 as t,FixedArray as a,Vec2 as o,Mat3 as s,Sampler2D as r,Vec3 as l}from"../../graph/glsl.js";import{resolveIncludes as n}from"../../../shaders/sources/resolver.js";const p={hittestDist:i,hittestPos:o},y={filterFlags:r,animation:r,visualVariableData:r,dataDriven0:r,dataDriven1:r,dataDriven2:r,gpgpu:r,size:i},d={displayViewScreenMat3:s,displayViewMat3:s,displayMat3:s,viewMat3:s,tileMat3:s,displayZoomFactor:i,requiredZoomFactor:i,tileOffset:o,currentScale:i,currentZoom:i,metersPerSRUnit:i};class u extends e{constructor(){super(...arguments),this.vertexShader=n("materials/pie/pie.vert"),this.fragmentShader=n("materials/pie/pie.frag"),this.required={...y,...d,outlineWidth:i,colors:a,defaultColor:t,othersColor:t,outlineColor:t,donutRatio:i,sectorThreshold:i},this.options={hittestUniforms:p,visualVariableSizeMinMaxValue:{minMaxValueAndSize:t},visualVariableSizeScaleStops:{sizes:{...a.ofType(i,8),type:"array",elementType:i,size:8},values:{...a.ofType(i,8),type:"array",elementType:i,size:8}},visualVariableSizeStops:{sizes:{...a.ofType(i,8),type:"array",elementType:i,size:8},values:{...a.ofType(i,8),type:"array",elementType:i,size:8}},visualVariableSizeUnitValue:{unitValueToPixelsRatio:i},visualVariableOpacity:{opacities:{...a.ofType(i,8),type:"array",elementType:i,size:8},opacityValues:{...a.ofType(i,8),type:"array",elementType:i,size:8}},highlightUniforms:{highlightAll:i,activeReasons:i}},this.locations={pos:{index:0,type:o},id:{index:1,type:l},bitset:{index:2,type:i},offset:{index:3,type:o},texCoords:{index:4,type:o},size:{index:5,type:o},referenceSize:{index:6,type:i},zoomRange:{index:7,type:o}},this.defines={VV_SIZE_MIN_MAX_VALUE:"boolean",VV_SIZE_SCALE_STOPS:"boolean",VV_SIZE_FIELD_STOPS:"boolean",VV_SIZE_UNIT_VALUE:"boolean",VV_OPACITY:"boolean",HITTEST:"boolean",numberOfFields:"number",highlight:"boolean",inside:"boolean",outside:"boolean"}}setNumberOfFields(e){this.required.colors={...a.ofType(t,e),type:"array",elementType:t,size:e}}}export{u as PieChartShader};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{FeatureSymbologyDrawOrder as e}from"../../../enums.js";import{FeatureTechnique as t}from"../FeatureTechnique.js";import{isHittest as s,getFeatureUniforms as i,getSelectionDefines as r,resolveDynamicUniforms as a,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{TechniqueType as u}from"../TechniqueType.js";import{PieChartShader as n}from"./PieChartShader.js";class h extends t{constructor(){super(...arguments),this.type=u.PieChart,this.shaders={geometry:new n},this.symbologyPlane=e.MARKER}render(e,t){const{painter:u}=e,{instance:n,target:h}=t,m=this.shaders.geometry,l=n.getInput(),f=l.uniforms.numberOfFields,S=s(e),V=i(e,h),d=r(e);m.setNumberOfFields(f),u.setShader({shader:m,uniforms:{...a(e,t.target,l.uniforms.shader),...V.storage,...V.view,hittestUniforms:V.hittestRequest?{hittestDist:V.hittestRequest?.distance,hittestPos:V.hittestRequest?.position}:null},defines:{VV_SIZE_MIN_MAX_VALUE:!!l.uniforms.shader.visualVariableSizeMinMaxValue,VV_SIZE_SCALE_STOPS:!!l.uniforms.shader.visualVariableSizeScaleStops,VV_SIZE_FIELD_STOPS:!!l.uniforms.shader.visualVariableSizeStops,VV_SIZE_UNIT_VALUE:!!l.uniforms.shader.visualVariableSizeUnitValue,VV_OPACITY:!!l.uniforms.shader.visualVariableOpacity,HITTEST:S,highlight:V.highlight?1:0,...d,numberOfFields:f},optionalAttributes:{},useComputeBuffer:S}),u.setPipelineState(o(e)),u.submitDraw(e,t)}}export{h as PieChartTechnique};
5
+ import{FeatureSymbologyDrawOrder as e}from"../../../enums.js";import{FeatureTechnique as t}from"../FeatureTechnique.js";import{isHittest as i,getFeatureUniforms as s,getSelectionDefines as r,resolveDynamicUniforms as a,getFeaturePipelineState as h}from"../featureTechniqueUtils.js";import{TechniqueType as o}from"../TechniqueType.js";import{PieChartShader as u}from"./PieChartShader.js";class n extends t{constructor(){super(...arguments),this.type=o.PieChart,this.shaders={geometry:new u},this.symbologyPlane=e.MARKER}render(e,t){const{painter:o}=e,{instance:u,target:n}=t,l=this.shaders.geometry,m=u.getInput(),f=m.uniforms.numberOfFields,S=i(e),V=s(e,n),d=r(e);l.setNumberOfFields(f),o.setShader({shader:l,uniforms:{...a(e,t.target,m.uniforms.shader),...V.storage,...V.view,...V.highlight,highlightUniforms:V.highlight,hittestUniforms:V.hittestRequest?{hittestDist:V.hittestRequest?.distance,hittestPos:V.hittestRequest?.position}:null},defines:{VV_SIZE_MIN_MAX_VALUE:!!m.uniforms.shader.visualVariableSizeMinMaxValue,VV_SIZE_SCALE_STOPS:!!m.uniforms.shader.visualVariableSizeScaleStops,VV_SIZE_FIELD_STOPS:!!m.uniforms.shader.visualVariableSizeStops,VV_SIZE_UNIT_VALUE:!!m.uniforms.shader.visualVariableSizeUnitValue,VV_OPACITY:!!m.uniforms.shader.visualVariableOpacity,HITTEST:S,highlight:V.highlight?1:0,...d,numberOfFields:f},optionalAttributes:{},useComputeBuffer:S}),o.setPipelineState(h(e)),o.submitDraw(e,t)}}export{n as PieChartTechnique};