@arcgis/core 6.0.0-next.1 → 6.0.0-next.11

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 (703) hide show
  1. package/analysis/AreaMeasurementAnalysis.d.ts +11 -1
  2. package/analysis/DimensionSimpleStyle.js +1 -1
  3. package/analysis/DirectLineMeasurementAnalysis.d.ts +11 -1
  4. package/analysis/DistanceMeasurementAnalysis.d.ts +8 -0
  5. package/arcade/featureSetUtils.js +1 -1
  6. package/arcade/functions/knowledgegraph.js +1 -1
  7. package/arcade/geometry/unitConversion.js +1 -1
  8. package/arcgisGlobal.d.ts +5 -5
  9. package/assets/esri/core/workers/RemoteClient.js +1 -1
  10. package/assets/esri/core/workers/chunks/01803f76bc0d9f2cd566.js +1 -0
  11. package/assets/esri/core/workers/chunks/{f09c9d9a554c33a753b4.js → 02253bdffbd580af22d8.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{5078b66ba31b770b689f.js → 037a8cc19debbaaa4e10.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{1ede8666d804c553803e.js → 0b6941781e35ce0f7274.js} +1 -1
  14. package/assets/esri/core/workers/chunks/0ccab50877b24f862d6e.js +1 -0
  15. package/assets/esri/core/workers/chunks/{ff3a53c3f00335552317.js → 0dc66b03ff55d0ea5a09.js} +1 -1
  16. package/assets/esri/core/workers/chunks/0f725cf79ce00e790a7d.js +1 -0
  17. package/assets/esri/core/workers/chunks/{a0d459bdb91ee892d4b6.js → 116293b1ee788a89ce1e.js} +1 -1
  18. package/assets/esri/core/workers/chunks/12a7997a40c77f5c9160.js +1 -0
  19. package/assets/esri/core/workers/chunks/{a7325ebb7edf3273bb34.js → 12b84262dedc6b393136.js} +1 -1
  20. package/assets/esri/core/workers/chunks/1b077c92345ffb5916c2.js +1 -0
  21. package/assets/esri/core/workers/chunks/{6dd0b79fa3a629ab4f27.js → 1bca39e0e651426bdbb5.js} +1 -1
  22. package/assets/esri/core/workers/chunks/1c0c5cb13c2590aae906.js +1 -0
  23. package/assets/esri/core/workers/chunks/{8959a825f5e1ce6f38ac.js → 1c65ab9ed611c322ce27.js} +1 -1
  24. package/assets/esri/core/workers/chunks/1e0d2715d603f48a7e0b.js +1 -0
  25. package/assets/esri/core/workers/chunks/261fea092ee7d27608a0.js +1 -0
  26. package/assets/esri/core/workers/chunks/2686fe5b62dd0be699c0.js +1 -0
  27. package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +1 -0
  28. package/assets/esri/core/workers/chunks/{83589144eeeb08f45557.js → 2aeb5cc32284dd3e4d22.js} +1 -1
  29. package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.js +1 -0
  30. package/assets/esri/core/workers/chunks/2e096537a3a5555a4a93.js +1 -0
  31. package/assets/esri/core/workers/chunks/{7a05b18f655c1167ce0a.js → 2ef5237e4c876d6a4ee0.js} +1 -1
  32. package/assets/esri/core/workers/chunks/37d6a264a3f1d8072aa0.js +1 -0
  33. package/assets/esri/core/workers/chunks/3b3e519f15ed52c83f0c.js +1 -0
  34. package/assets/esri/core/workers/chunks/3c0ed15b544df6fb0903.js +1 -0
  35. package/assets/esri/core/workers/chunks/{b612de42ee86c0d95247.js → 3d9d7d3a40b51eb7ee3d.js} +1 -1
  36. package/assets/esri/core/workers/chunks/3df5500a85345577480a.js +1 -0
  37. package/assets/esri/core/workers/chunks/3f7d583b676b23b3fadb.js +1 -0
  38. package/assets/esri/core/workers/chunks/3ffda5bf0b91700dc308.js +1 -0
  39. package/assets/esri/core/workers/chunks/40a584cb952e94326e9e.js +1 -0
  40. package/assets/esri/core/workers/chunks/{1317ecdfd0cfa683a493.js → 42323093827adffe56d3.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{1ba0dfbe0958cdbd7c9f.js → 42fd2a7b22b03dacc6a7.js} +1 -1
  42. package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +1 -0
  43. package/assets/esri/core/workers/chunks/{d201fbf3ceff946d2bd6.js → 44d5508042cacdfcac47.js} +1 -1
  44. package/assets/esri/core/workers/chunks/4503b20ca6a80fb63d72.js +1 -0
  45. package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +1 -0
  46. package/assets/esri/core/workers/chunks/45800373650fbc8262e6.js +1 -0
  47. package/assets/esri/core/workers/chunks/{6a7ab1ef9a37e87db5ae.js → 46a7da93a63663878583.js} +1 -1
  48. package/assets/esri/core/workers/chunks/46b4fb6a7fe4877b0efc.js +1120 -0
  49. package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +1 -0
  50. package/assets/esri/core/workers/chunks/4911ce62421a6c3320b0.js +1 -0
  51. package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +1 -0
  52. package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +1 -0
  53. package/assets/esri/core/workers/chunks/4debf2d9c3465250ef7a.js +1 -0
  54. package/assets/esri/core/workers/chunks/4e544de61f07ca660236.js +1 -0
  55. package/assets/esri/core/workers/chunks/4e8e322b469657ac22e2.js +1 -0
  56. package/assets/esri/core/workers/chunks/505227797bcf2a1d908d.js +1 -0
  57. package/assets/esri/core/workers/chunks/{67ac6b326bf80fc3d33d.js → 53be85d04cd2da4f391d.js} +1 -1
  58. package/assets/esri/core/workers/chunks/54778dec1598818d93cb.js +1 -0
  59. package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +1 -0
  60. package/assets/esri/core/workers/chunks/557671c897ca5563be6c.js +1 -0
  61. package/assets/esri/core/workers/chunks/567a65f4203f6e81f4b4.js +1 -0
  62. package/assets/esri/core/workers/chunks/5c7780f804d789cb37f5.js +1 -0
  63. package/assets/esri/core/workers/chunks/606ea251075fe81a1206.js +1 -0
  64. package/assets/esri/core/workers/chunks/{ceb680688fe7e570a774.js → 608be1172a908e92b9f1.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{e521bb9ee2030245c3ce.js → 612104dff305ff062dfa.js} +2 -2
  66. package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +1 -0
  67. package/assets/esri/core/workers/chunks/{3ac9dcbb0571a2580236.js → 62c8c9ad09e0166207fd.js} +1 -1
  68. package/assets/esri/core/workers/chunks/6400446b7615b97c3521.js +1 -0
  69. package/assets/esri/core/workers/chunks/6431480ba0fa8c8d487f.js +1 -0
  70. package/assets/esri/core/workers/chunks/6588725275c75fae0d9c.js +1 -0
  71. package/assets/esri/core/workers/chunks/665e31c494d2af505acc.js +1 -0
  72. package/assets/esri/core/workers/chunks/{9232f57623e1fa3ccabc.js → 67e4b5651fd7ff7d8cf0.js} +1 -1
  73. package/assets/esri/core/workers/chunks/68be3fb88ca61f82fb90.js +1 -0
  74. package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
  75. package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +1 -0
  76. package/assets/esri/core/workers/chunks/6ebe73f69ae822053b70.js +1 -0
  77. package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.js +1 -0
  78. package/assets/esri/core/workers/chunks/70cc2d79653d66e85b58.js +1 -0
  79. package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +1 -0
  80. package/assets/esri/core/workers/chunks/745a153d0cd34faa124e.js +1 -0
  81. package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +1 -0
  82. package/assets/esri/core/workers/chunks/76196c414e48834f7b92.js +1 -0
  83. package/assets/esri/core/workers/chunks/78472a57c2ba146fec65.js +1 -0
  84. package/assets/esri/core/workers/chunks/7ef182e24cad50815b4e.js +1 -0
  85. package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +1 -0
  86. package/assets/esri/core/workers/chunks/814751e705c05099f864.js +1 -0
  87. package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +1 -0
  88. package/assets/esri/core/workers/chunks/8487727f1197cf7dbf50.js +1 -0
  89. package/assets/esri/core/workers/chunks/88e54449261ef94e390d.js +1 -0
  90. package/assets/esri/core/workers/chunks/8b0d5551978ab0aac0d1.js +1 -0
  91. package/assets/esri/core/workers/chunks/8d0c2de92770a1567536.js +1 -0
  92. package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
  93. package/assets/esri/core/workers/chunks/917f53833b853898facc.js +1 -0
  94. package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +1 -0
  95. package/assets/esri/core/workers/chunks/943a0f140813ee4ab04a.js +1 -0
  96. package/assets/esri/core/workers/chunks/9ce91a909eccc4dfe388.js +1 -0
  97. package/assets/esri/core/workers/chunks/{c76c42c74eedd43263d3.js → 9dd1fc56eb1ea6eb705e.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{86a051e9fe71aa356108.js → 9e3e442a9874ed23a043.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{aa1054834738aef48bda.js → a0356702f2d3f787aeac.js} +1 -1
  100. package/assets/esri/core/workers/chunks/a40b6d8b5c73e06e14d4.js +1 -0
  101. package/assets/esri/core/workers/chunks/{1ba1f705b6ce5c8ea702.js → a655ebdb4bf0660615a2.js} +1 -1
  102. package/assets/esri/core/workers/chunks/a8286febe371dc186aaa.js +1 -0
  103. package/assets/esri/core/workers/chunks/aaba33611753c6aada68.js +1 -0
  104. package/assets/esri/core/workers/chunks/aba42885c5d6b2b5fe7f.js +1 -0
  105. package/assets/esri/core/workers/chunks/ad76f7ab2f3e6d5a5b3c.js +1 -0
  106. package/assets/esri/core/workers/chunks/ae40eac1eadd1a537bf4.js +1 -0
  107. package/assets/esri/core/workers/chunks/aeaaff7a4b1a99540f52.js +1 -0
  108. package/assets/esri/core/workers/chunks/af349c7bc8ef41a0e1bd.js +1 -0
  109. package/assets/esri/core/workers/chunks/af75747b06d79446a855.js +1 -0
  110. package/assets/esri/core/workers/chunks/b564ec4e03478f5659db.js +1 -0
  111. package/assets/esri/core/workers/chunks/b5fdcc80d5973b6e26d1.js +1 -0
  112. package/assets/esri/core/workers/chunks/bbf993dba74850bbf9d7.js +1 -0
  113. package/assets/esri/core/workers/chunks/bc0f54a2c15502b630ec.js +1 -0
  114. package/assets/esri/core/workers/chunks/{9ab25ee06041f907b9a2.js → c2c1f51a4668055c2838.js} +1 -1
  115. package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +1 -0
  116. package/assets/esri/core/workers/chunks/{a7985d20fa6e8d4878e7.js → d0f5bee9db1ad51ae687.js} +1 -1
  117. package/assets/esri/core/workers/chunks/d6ad4390df576198e45b.js +1 -0
  118. package/assets/esri/core/workers/chunks/d90a3bfd45b5ed4092e0.js +1 -0
  119. package/assets/esri/core/workers/chunks/dba280c370df13196711.js +1 -0
  120. package/assets/esri/core/workers/chunks/ddf0671976648f621269.js +1 -0
  121. package/assets/esri/core/workers/chunks/{c18189710d6198516175.js → de5ecb567bd69c613e9d.js} +1 -1
  122. package/assets/esri/core/workers/chunks/e10b57aefcc89671116e.js +1 -0
  123. package/assets/esri/core/workers/chunks/{534186fc921a0ccf58dc.js → e1f5d00878f27e1d413e.js} +1 -1
  124. package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +1 -0
  125. package/assets/esri/core/workers/chunks/e932951598499befabf5.js +1 -0
  126. package/assets/esri/core/workers/chunks/{e1ba915dae7747932c0f.js → eb04e1717a1002cda3ab.js} +1 -1
  127. package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +1 -0
  128. package/assets/esri/core/workers/chunks/f1df76f098a3cc924832.js +1 -0
  129. package/assets/esri/core/workers/chunks/f1f90adae13b04898008.js +1 -0
  130. package/assets/esri/core/workers/chunks/f46d9a19f79d4a4bd354.js +1 -0
  131. package/assets/esri/core/workers/chunks/f4f9d08b2df856e3b694.js +1 -0
  132. package/assets/esri/core/workers/chunks/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
  133. package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +1 -0
  134. package/assets/esri/core/workers/chunks/fb444954be74c1962ced.js +1 -0
  135. package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +1 -0
  136. package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.js → fc44d45598a7476bc606.js} +1 -1
  137. package/assets/esri/core/workers/chunks/fecaf0bc28aeea4d15db.js +1 -0
  138. package/assets/esri/libs/librust-parquet/pkg/parquet_bg.wasm +0 -0
  139. package/assets/esri/themes/base/_mixins.scss +2 -2
  140. package/assets/esri/themes/base/widgets/_Attribution.scss +1 -1
  141. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +2 -2
  142. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -5
  143. package/assets/esri/themes/base/widgets/_Bookmarks.scss +1 -1
  144. package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +2 -2
  145. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +5 -5
  146. package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +1 -1
  147. package/assets/esri/themes/base/widgets/_Compass.scss +0 -2
  148. package/assets/esri/themes/base/widgets/_DirectionalPad.scss +4 -10
  149. package/assets/esri/themes/base/widgets/_Directions.scss +40 -40
  150. package/assets/esri/themes/base/widgets/_Editor.scss +7 -7
  151. package/assets/esri/themes/base/widgets/_Expand.scss +1 -1
  152. package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
  153. package/assets/esri/themes/base/widgets/_FeatureForm.scss +6 -6
  154. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationLayers.scss +1 -1
  155. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationList.scss +1 -1
  156. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +4 -4
  157. package/assets/esri/themes/base/widgets/_FeatureTable.scss +27 -27
  158. package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +1 -1
  159. package/assets/esri/themes/base/widgets/_Features.scss +6 -6
  160. package/assets/esri/themes/base/widgets/_FilterBuilder.scss +1 -1
  161. package/assets/esri/themes/base/widgets/_FilterCondition.scss +1 -1
  162. package/assets/esri/themes/base/widgets/_Grid.scss +18 -18
  163. package/assets/esri/themes/base/widgets/_GridControls.scss +11 -11
  164. package/assets/esri/themes/base/widgets/_LayerList.scss +1 -1
  165. package/assets/esri/themes/base/widgets/_Legend.scss +5 -5
  166. package/assets/esri/themes/base/widgets/_NavigationToggle.scss +4 -1
  167. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +23 -28
  168. package/assets/esri/themes/base/widgets/_ResponsiveToolbar.scss +0 -2
  169. package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +1 -1
  170. package/assets/esri/themes/base/widgets/_SelectionList.scss +15 -15
  171. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +3 -5
  172. package/assets/esri/themes/base/widgets/_ShadowCast.scss +11 -11
  173. package/assets/esri/themes/base/widgets/_Sketch.scss +1 -1
  174. package/assets/esri/themes/base/widgets/_Slice.scss +3 -3
  175. package/assets/esri/themes/base/widgets/_SnappingControls.scss +1 -1
  176. package/assets/esri/themes/base/widgets/_TimeSlider.scss +5 -5
  177. package/assets/esri/themes/base/widgets/_TimeZoneLabel.scss +5 -4
  178. package/assets/esri/themes/base/widgets/_Tooltip.scss +14 -17
  179. package/assets/esri/themes/base/widgets/_UtilityNetworkAssociations.scss +2 -2
  180. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +1 -1
  181. package/assets/esri/themes/base/widgets/_UtilityNetworkValidateTopology.scss +2 -2
  182. package/assets/esri/themes/base/widgets/_ValuePicker.scss +2 -2
  183. package/assets/esri/themes/base/widgets/_VideoPlayer.scss +5 -5
  184. package/assets/esri/themes/base/widgets/_Widget.scss +5 -1
  185. package/assets/esri/themes/dark/main.css +1 -1
  186. package/assets/esri/themes/light/main.css +1 -1
  187. package/assets/esri/themes/light/view.css +1 -1
  188. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
  189. package/{basemaps/BasemapCollection.d.ts → basemapGallery/BasemapGalleryModel.d.ts} +8 -8
  190. package/{basemaps/BasemapCollection.js → basemapGallery/BasemapGalleryModel.js} +1 -1
  191. package/{basemaps → basemapGallery}/BasemapsSource.d.ts +1 -1
  192. package/{basemaps → basemapGallery}/BasemapsSource.js +1 -1
  193. package/{basemaps → basemapGallery}/LocalBasemapsSource.d.ts +2 -2
  194. package/{basemaps → basemapGallery}/LocalBasemapsSource.js +1 -1
  195. package/{basemaps → basemapGallery}/PortalBasemapsSource.d.ts +2 -2
  196. package/{basemaps → basemapGallery}/PortalBasemapsSource.js +1 -1
  197. package/{basemaps → basemapGallery}/support/BasemapItem.d.ts +2 -2
  198. package/{basemaps → basemapGallery}/support/BasemapItem.js +1 -1
  199. package/{basemaps → basemapGallery}/types.d.ts +2 -2
  200. package/chunks/AtmosphereCompositing.glsl.js +1 -1
  201. package/chunks/ChapmanAtmosphere.glsl.js +3 -3
  202. package/chunks/CloudsComposition.glsl.js +1 -1
  203. package/chunks/Component.glsl.js +41 -41
  204. package/chunks/DefaultMaterial.glsl.js +2 -2
  205. package/chunks/EdgeShader.glsl.js +9 -9
  206. package/chunks/Fog.glsl.js +5 -5
  207. package/chunks/GaussianSplat.glsl.js +2 -2
  208. package/chunks/GlobalIllumination.glsl.js +13 -11
  209. package/chunks/GlobalIlluminationBlur.glsl.js +3 -5
  210. package/chunks/GlobalIlluminationUpscale.glsl.js +1 -1
  211. package/chunks/HUDMaterial.glsl.js +13 -13
  212. package/chunks/Haze.glsl.js +6 -6
  213. package/chunks/HazeCompositing.glsl.js +1 -1
  214. package/chunks/LaserlinePath.glsl.js +6 -6
  215. package/chunks/LineCallout.glsl.js +1 -1
  216. package/chunks/LineMarker.glsl.js +5 -5
  217. package/chunks/NavigationDepth.glsl.js +2 -2
  218. package/chunks/Path.glsl.js +1 -1
  219. package/chunks/Pattern.glsl.js +26 -26
  220. package/chunks/Precipitation.glsl.js +7 -7
  221. package/chunks/RealisticTree.glsl.js +2 -2
  222. package/chunks/RibbonLine.glsl.js +80 -73
  223. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  224. package/chunks/ShadowHighlight.glsl.js +5 -5
  225. package/chunks/ShadowHighlightBuffer.glsl.js +1 -1
  226. package/chunks/SimpleAtmosphere.glsl.js +4 -4
  227. package/chunks/Terrain.glsl.js +29 -32
  228. package/chunks/Viewshed.glsl.js +2 -2
  229. package/chunks/Water.glsl.js +2 -2
  230. package/config.js +1 -1
  231. package/core/Loadable.js +1 -1
  232. package/core/arrayUtils.js +1 -1
  233. package/core/colorUtils.js +1 -1
  234. package/core/has.js +1 -1
  235. package/core/screenUtils.js +1 -1
  236. package/core/units.js +1 -1
  237. package/core/workers/workerFactory.js +1 -1
  238. package/form/elements/inputs/DynamicChoiceInput.d.ts +35 -5
  239. package/geometry/HeightModelInfo.js +1 -1
  240. package/geometry/operators/proximityOperator.js +1 -1
  241. package/geometry/projectionUtils.js +1 -1
  242. package/geometry/support/meshUtils.d.ts +1 -1
  243. package/geometry/support/scaleUtils.js +1 -1
  244. package/geometry/support/wkt.js +2 -0
  245. package/kernel.js +1 -1
  246. package/layers/BaseDynamicLayer.d.ts +1 -0
  247. package/layers/BaseElevationLayer.d.ts +2 -0
  248. package/layers/BaseTileLayer.d.ts +12 -9
  249. package/layers/CSVLayer.d.ts +0 -15
  250. package/layers/FeatureLayer.d.ts +2 -15
  251. package/layers/GeoJSONLayer.d.ts +0 -52
  252. package/layers/GeoRSSLayer.d.ts +0 -44
  253. package/layers/GeospatialPDFLayer.d.ts +2 -5
  254. package/layers/GeospatialPDFLayer.js +1 -1
  255. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  256. package/layers/OrientedImageryLayer.js +1 -1
  257. package/layers/ParquetLayer.d.ts +100 -12
  258. package/layers/ParquetLayer.js +1 -1
  259. package/layers/SketchLayer.d.ts +0 -1
  260. package/layers/VectorTileLayer.d.ts +2 -12
  261. package/layers/geospatialPDF/renderExtentUtils.js +1 -1
  262. package/layers/graphics/data/FeatureStore.js +1 -1
  263. package/layers/graphics/data/QueryEngineResult.js +1 -1
  264. package/layers/graphics/data/geometryUtils.js +1 -1
  265. package/layers/graphics/data/projectionSupport.js +1 -1
  266. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  267. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  268. package/layers/graphics/transferFeatures.js +1 -1
  269. package/layers/knowledgeGraph/layerUtils.js +1 -1
  270. package/layers/knowledgeGraph/nodeMovementUtils.js +1 -1
  271. package/layers/mixins/PortalLayer.js +1 -1
  272. package/layers/mixins/RefreshableLayer.d.ts +1 -3
  273. package/layers/mixins/ScaleRangeLayer.js +1 -1
  274. package/layers/mixins/SublayersOwner.js +1 -1
  275. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  276. package/layers/orientedImagery/core/utils.js +1 -1
  277. package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
  278. package/layers/raster/datasets/TIFFRaster.js +1 -1
  279. package/layers/raster/datasets/byteStreamUtils.js +1 -1
  280. package/layers/raster/formats/tiffParser.js +1 -1
  281. package/layers/support/ParquetPortalItemData.d.ts +2 -0
  282. package/layers/support/ParquetPortalItemData.js +1 -1
  283. package/layers/support/PortalItemData.d.ts +21 -0
  284. package/layers/support/PortalItemData.js +1 -1
  285. package/layers/support/Sublayer.js +1 -1
  286. package/layers/support/SubtypeSublayer.js +1 -1
  287. package/layers/support/layersLoader.js +1 -1
  288. package/layers/support/parquetUtils.d.ts +1 -1
  289. package/layers/support/types.d.ts +1 -1
  290. package/package.json +3 -3
  291. package/popup/FeaturesModel.d.ts +27 -6
  292. package/popup/FeaturesModel.js +1 -1
  293. package/portal/support/layersLoader.js +1 -1
  294. package/portal/support/portalLayers.js +1 -1
  295. package/renderers/VectorFieldRenderer.d.ts +4 -4
  296. package/rest/print.d.ts +49 -3
  297. package/rest/print.js +1 -1
  298. package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
  299. package/rest/support/printTaskUtils.js +1 -1
  300. package/smartMapping/renderers/color.js +1 -1
  301. package/smartMapping/renderers/dotDensity.js +1 -1
  302. package/smartMapping/renderers/heatmap.js +1 -1
  303. package/smartMapping/renderers/pieChart.js +1 -1
  304. package/smartMapping/renderers/support/spikeUtils.js +3 -3
  305. package/smartMapping/renderers/type.js +1 -1
  306. package/smartMapping/statistics/heatmapStatistics.js +1 -1
  307. package/smartMapping/statistics/histogram.js +1 -1
  308. package/smartMapping/statistics/summaryStatistics.js +1 -1
  309. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  310. package/smartMapping/statistics/uniqueValues.js +1 -1
  311. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  312. package/smartMapping/types.d.ts +3 -1
  313. package/symbols/LineSymbol3DLayer.js +1 -1
  314. package/symbols/callouts/LineCallout3D.js +1 -1
  315. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  316. package/symbols/cim/CIMSymbolHelper.js +1 -1
  317. package/symbols/cim/cimAnalyzer.js +1 -1
  318. package/symbols/edges/Edges3D.js +1 -1
  319. package/symbols/support/Symbol3DIconOutline.js +1 -1
  320. package/symbols/support/Symbol3DOutline.js +1 -1
  321. package/symbols/support/Symbol3DTextBorder.js +1 -1
  322. package/symbols/support/defaults3D.js +1 -1
  323. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  324. package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +6 -4
  325. package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
  326. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  327. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +6 -4
  328. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
  329. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  330. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  331. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  332. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  333. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  334. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  335. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  336. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  337. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  338. package/views/2d/layers/LayerView2D.js +1 -1
  339. package/views/2d/layers/features/FeatureContainer.js +1 -1
  340. package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
  341. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  342. package/views/2d/layers/features/processor/tracks/TrackAdapter.js +1 -1
  343. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  344. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  345. package/views/2d/layers/features/sources/strategies/AFeatureTileLoadStrategy.js +1 -1
  346. package/views/2d/layers/features/sources/strategies/FeatureDrillDownTileLoadStrategy.js +1 -1
  347. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  348. package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
  349. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  350. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  351. package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
  352. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  353. package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
  354. package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
  355. package/views/3d/analysis/LineOfSight/LineOfSightInteractionVisuals.js +1 -1
  356. package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
  357. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  358. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
  359. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
  360. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  361. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  362. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  363. package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
  364. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  365. package/views/3d/analysis/Viewshed/types.d.ts +3 -1
  366. package/views/3d/analysis/ViewshedAnalysisView3D.d.ts +3 -0
  367. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +2 -1
  368. package/views/3d/environment/Environment.d.ts +2 -2
  369. package/views/3d/environment/Environment.js +1 -1
  370. package/views/3d/environment/EnvironmentView.js +2 -0
  371. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  372. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  373. package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
  374. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  375. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  376. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  377. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  378. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  379. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  380. package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
  381. package/views/3d/layers/FlowSubView3D.js +1 -1
  382. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  383. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  384. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  385. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  386. package/views/3d/layers/MediaLayerView3D.js +1 -1
  387. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  388. package/views/3d/layers/RouteLayerView3D.js +1 -1
  389. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  390. package/views/3d/layers/SceneLayerView3D.js +1 -1
  391. package/views/3d/layers/TiledLayerView3D.js +1 -1
  392. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  393. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  394. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  395. package/views/3d/layers/graphics/Graphics3DBufferGraphicLayer.js +2 -0
  396. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  397. package/views/3d/layers/graphics/Graphics3DDrapedBufferGraphicLayer.js +2 -0
  398. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  399. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayerBase.js +2 -0
  400. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  401. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  402. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  403. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  404. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  405. package/views/3d/layers/graphics/Graphics3DStageObjectGraphicLayer.js +2 -0
  406. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  407. package/views/3d/layers/graphics/LabelInfo.js +1 -1
  408. package/views/3d/layers/graphics/Labeler.js +1 -1
  409. package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
  410. package/views/3d/layers/graphics/pointUtils.js +1 -1
  411. package/views/3d/layers/support/FeatureMemory.js +1 -1
  412. package/views/3d/layers/support/FeatureTile.js +1 -1
  413. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  414. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  415. package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
  416. package/views/3d/layers/support/SampledGeometryMaxDistanceRatio.js +1 -1
  417. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  418. package/views/3d/support/PBFDecoder.js +1 -1
  419. package/views/3d/support/elevationUpdateUtils.js +1 -1
  420. package/views/3d/support/popupHitTest.js +1 -1
  421. package/views/3d/terrain/OverlayManager.js +1 -1
  422. package/views/3d/terrain/OverlayRenderer.js +1 -1
  423. package/views/3d/terrain/TerrainRenderer.js +1 -1
  424. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  425. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +5 -5
  426. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +13 -13
  427. package/views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js +2 -0
  428. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
  429. package/views/3d/webgl-engine/core/shaderLibrary/lastFrameUniforms.js +2 -0
  430. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +7 -7
  431. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +31 -29
  432. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +26 -12
  433. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
  434. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +14 -14
  435. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
  436. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadGlobalIllumination.glsl.js +16 -11
  437. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +5 -5
  438. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +8 -8
  439. package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +1 -1
  440. package/views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js +2 -0
  441. package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js +1 -1
  442. package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +6 -6
  443. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
  444. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
  445. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  446. package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
  447. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  448. package/views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js +3 -3
  449. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.glsl.js +1 -1
  450. package/views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js +1 -1
  451. package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
  452. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +1 -1
  453. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  454. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  455. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  456. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  457. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  458. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +2 -2
  459. package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +5 -5
  460. package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
  461. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  462. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
  463. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
  464. package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +1 -1
  465. package/views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js +1 -1
  466. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
  467. package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
  468. package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
  469. package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
  470. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  471. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  472. package/views/3d/webgl-engine/lib/affectsGeometry.js +1 -1
  473. package/views/3d/webgl-engine/lib/bufferGeometryUtils.js +2 -0
  474. package/views/3d/webgl-engine/lib/edgeRendering/AdjustProjectedPosition.glsl.js +5 -5
  475. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
  476. package/views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js +11 -11
  477. package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
  478. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  479. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  480. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  481. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  482. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  483. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  484. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  485. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  486. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  487. package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
  488. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  489. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  490. package/views/3d/webgl-engine/shaders/lineUniforms.js +2 -0
  491. package/views/DOMContainer.d.ts +28 -9
  492. package/views/DOMContainer.js +1 -1
  493. package/views/PopupView.d.ts +6 -0
  494. package/views/SceneView.d.ts +4 -10
  495. package/views/SceneView.js +1 -1
  496. package/views/VideoView.d.ts +27 -9
  497. package/views/View.d.ts +20 -19
  498. package/views/View.js +1 -1
  499. package/views/View2D.d.ts +13 -13
  500. package/views/draw/Draw.d.ts +1 -1
  501. package/views/draw/support/InteractiveHandle.js +1 -1
  502. package/views/draw/support/PluginContext.js +1 -1
  503. package/views/draw/support/managers/TooltipManager.js +1 -1
  504. package/views/interactive/options/SnappingOptions.d.ts +29 -12
  505. package/views/interactive/options/TooltipOptions.d.ts +9 -1
  506. package/views/interactive/options/ValueOptions.d.ts +9 -2
  507. package/views/interactive/options/ViewOptions.d.ts +82 -6
  508. package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
  509. package/views/interactive/snapping/SnappingManagerPool.js +1 -1
  510. package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
  511. package/views/interactive/snapping/SnappingVisualizer.js +1 -1
  512. package/views/interactive/support/Units.d.ts +1 -0
  513. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  514. package/views/interactive/tooltip/components/ElevationModeSelect.js +1 -1
  515. package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
  516. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  517. package/views/layers/FeatureLikeLayerView.d.ts +2 -2
  518. package/views/layers/GraphicsLayerView.d.ts +1 -0
  519. package/views/layers/ImageryLayerView.d.ts +1 -0
  520. package/views/layers/LayerView.js +1 -1
  521. package/views/layers/LineOfSightLayerView.d.ts +3 -4
  522. package/views/layers/ParquetLayerView.d.ts +15 -0
  523. package/views/layers/ParquetLayerView.js +1 -1
  524. package/views/layers/ViewshedLayerView.d.ts +5 -6
  525. package/views/support/layerViewUtils.js +1 -1
  526. package/views/support/projectionUtils.js +1 -1
  527. package/views/types.d.ts +3 -1
  528. package/webdoc/support/saveUtils.js +1 -1
  529. package/webdoc/support/unsupportedErrors.js +1 -1
  530. package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +2 -2
  531. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  532. package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -3
  533. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -2
  534. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
  535. package/widgets/BasemapGallery/types.d.ts +3 -3
  536. package/widgets/BasemapLayerList.js +1 -1
  537. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  538. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  539. package/widgets/BatchAttributeForm/expressions/expressionUtils.js +1 -1
  540. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +6 -0
  541. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  542. package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
  543. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  544. package/widgets/BatchAttributeForm.js +1 -1
  545. package/widgets/DirectionalPad.js +1 -1
  546. package/widgets/Editor/EditorViewModel.d.ts +13 -8
  547. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  548. package/widgets/Editor/workflowUtils.js +1 -1
  549. package/widgets/Editor.d.ts +19 -9
  550. package/widgets/Expand.js +1 -1
  551. package/widgets/FeatureForm.d.ts +2 -2
  552. package/widgets/FeatureForm.js +1 -1
  553. package/widgets/FeatureTable/FieldColumn.js +1 -1
  554. package/widgets/FeatureTable.js +1 -1
  555. package/widgets/Features/FeaturesDrillIn.js +1 -1
  556. package/widgets/Features.js +1 -1
  557. package/widgets/Legend.d.ts +1 -0
  558. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  559. package/widgets/OrientedImageryViewer/adapters/draw/HeightMeasurementAdapter.js +1 -1
  560. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  561. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  562. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  563. package/widgets/OrientedImageryViewer/components/ImageLocationViewModel.js +1 -1
  564. package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
  565. package/widgets/OrientedImageryViewer/components/SketchTools.js +1 -1
  566. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  567. package/widgets/OrientedImageryViewer/types.d.ts +20 -0
  568. package/widgets/OrientedImageryViewer.d.ts +9 -1
  569. package/widgets/PanoramicVideoViewer.js +1 -1
  570. package/widgets/Print/PrintViewModel.d.ts +3 -2
  571. package/widgets/Print/PrintViewModel.js +1 -1
  572. package/widgets/Print.js +1 -1
  573. package/widgets/ScaleRangeSlider.js +1 -1
  574. package/widgets/Search/SearchResultRenderer.js +1 -1
  575. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  576. package/widgets/Sketch/SketchViewModel.d.ts +14 -9
  577. package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js +1 -1
  578. package/widgets/Sketch.d.ts +10 -10
  579. package/widgets/Track/TrackViewModel.d.ts +1 -1
  580. package/widgets/UtilityNetworkAssociations.js +1 -1
  581. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  582. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +1 -1
  583. package/widgets/UtilityNetworkTrace/types.d.ts +2 -2
  584. package/widgets/UtilityNetworkTrace.js +1 -1
  585. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  586. package/widgets/ValuePicker.js +1 -1
  587. package/widgets/VideoPlayer/components/PlayerActionsGroup.js +1 -1
  588. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  589. package/widgets/support/GridControls.js +1 -1
  590. package/widgets/support/PluginSettingsControls.js +1 -1
  591. package/widgets/support/SelectionList/FeatureItem.d.ts +9 -2
  592. package/widgets/support/SelectionToolbar.js +1 -1
  593. package/widgets/support/SnappingControls.d.ts +1 -1
  594. package/widgets/support/SnappingControls.js +1 -1
  595. package/widgets/support/componentsUtils.js +1 -1
  596. package/arcade/geometry/wkt.js +0 -2
  597. package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
  598. package/assets/esri/core/workers/chunks/00d24415bdeb0adae3df.js +0 -1
  599. package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
  600. package/assets/esri/core/workers/chunks/01b00fbf6a6a22d573ee.js +0 -1
  601. package/assets/esri/core/workers/chunks/02d4f91652a79d2b637e.js +0 -1
  602. package/assets/esri/core/workers/chunks/050c4b212f2b5691db34.js +0 -1
  603. package/assets/esri/core/workers/chunks/05963f57cbe5a5249496.js +0 -1
  604. package/assets/esri/core/workers/chunks/05d865b2736f452ad2aa.js +0 -1
  605. package/assets/esri/core/workers/chunks/06e7400f5ebe0719b81c.js +0 -1
  606. package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
  607. package/assets/esri/core/workers/chunks/084222c00d263a534952.js +0 -1
  608. package/assets/esri/core/workers/chunks/0b36abcbf03037b4073d.js +0 -1
  609. package/assets/esri/core/workers/chunks/107b025dc5b09465a78f.js +0 -1
  610. package/assets/esri/core/workers/chunks/1b551ef3d84d9c1e93f9.js +0 -1
  611. package/assets/esri/core/workers/chunks/1ef39aef6b33c530cbe4.js +0 -1
  612. package/assets/esri/core/workers/chunks/1f3148cebee1961249a4.js +0 -1
  613. package/assets/esri/core/workers/chunks/1f43e06dcfe56229bb0f.js +0 -1
  614. package/assets/esri/core/workers/chunks/2164fcaced72b0fda31f.js +0 -1
  615. package/assets/esri/core/workers/chunks/25b0885d3bc190b28c04.js +0 -1
  616. package/assets/esri/core/workers/chunks/25d6c674b1c4829f040f.js +0 -1
  617. package/assets/esri/core/workers/chunks/260dcb79dfd0f981949f.js +0 -1
  618. package/assets/esri/core/workers/chunks/2a570ce6b99dac6ee996.js +0 -1
  619. package/assets/esri/core/workers/chunks/2e6a2f4d686b71249c0e.js +0 -1
  620. package/assets/esri/core/workers/chunks/2f9033890c465acff698.js +0 -1
  621. package/assets/esri/core/workers/chunks/303676d1b10676c9cab4.js +0 -1
  622. package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
  623. package/assets/esri/core/workers/chunks/32d08b571bbd996d4e6d.js +0 -1
  624. package/assets/esri/core/workers/chunks/33956f12505e72e60293.js +0 -1
  625. package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
  626. package/assets/esri/core/workers/chunks/37a636f61cfe89c6bfd1.js +0 -1
  627. package/assets/esri/core/workers/chunks/380cc538c1ab453870fa.js +0 -1
  628. package/assets/esri/core/workers/chunks/3880d2c7fb14955d7f93.js +0 -1
  629. package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
  630. package/assets/esri/core/workers/chunks/40fb1910f780e78c128c.js +0 -1
  631. package/assets/esri/core/workers/chunks/4310c8d2b40ae69c3681.js +0 -1
  632. package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +0 -1
  633. package/assets/esri/core/workers/chunks/4848f195eb93cc93dd15.js +0 -1
  634. package/assets/esri/core/workers/chunks/4cddd217383b9333f32e.js +0 -1
  635. package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
  636. package/assets/esri/core/workers/chunks/4fa59f8ed3b7b6239548.js +0 -1
  637. package/assets/esri/core/workers/chunks/57970d43cdcc5cf57a30.js +0 -1
  638. package/assets/esri/core/workers/chunks/5e184fd47e76eb976fa9.js +0 -1
  639. package/assets/esri/core/workers/chunks/5ea8809b6519c05ad9f6.js +0 -1
  640. package/assets/esri/core/workers/chunks/5f3ab77a79c408423fde.js +0 -1
  641. package/assets/esri/core/workers/chunks/5fd099ca1024707387b2.js +0 -1
  642. package/assets/esri/core/workers/chunks/604344e45c0f27497188.js +0 -1
  643. package/assets/esri/core/workers/chunks/61ad8306ab79aca79505.js +0 -1
  644. package/assets/esri/core/workers/chunks/633a9051580c5302d2f7.js +0 -1
  645. package/assets/esri/core/workers/chunks/6469c0d18d3663e7da4b.js +0 -1
  646. package/assets/esri/core/workers/chunks/65654e481cce9ae40e54.js +0 -1
  647. package/assets/esri/core/workers/chunks/669e39c3437d7273f0c7.js +0 -1
  648. package/assets/esri/core/workers/chunks/68e24fa3f564c2a5c9fd.js +0 -1
  649. package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +0 -1
  650. package/assets/esri/core/workers/chunks/71f739bb3f7350704af6.js +0 -1
  651. package/assets/esri/core/workers/chunks/750a9f3cdb96b966274a.js +0 -1
  652. package/assets/esri/core/workers/chunks/776565dd9741ba2ba151.js +0 -1
  653. package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.js +0 -1
  654. package/assets/esri/core/workers/chunks/841f67baf6a1634ada48.js +0 -1
  655. package/assets/esri/core/workers/chunks/84fcbf7a1d04f01685d1.js +0 -1
  656. package/assets/esri/core/workers/chunks/897fc8e78a0d54a5ff5a.js +0 -1
  657. package/assets/esri/core/workers/chunks/8af92bcc075e03e3e902.js +0 -1742
  658. package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.js +0 -1
  659. package/assets/esri/core/workers/chunks/8e7a33cc1f83063043f2.js +0 -1
  660. package/assets/esri/core/workers/chunks/8fcfd515ee1b18c902e5.js +0 -1
  661. package/assets/esri/core/workers/chunks/9001e9a1e81bce175ddd.js +0 -1
  662. package/assets/esri/core/workers/chunks/9432feca48ca3e5849bd.js +0 -1
  663. package/assets/esri/core/workers/chunks/956a40f40bde416efe93.js +0 -1
  664. package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +0 -1
  665. package/assets/esri/core/workers/chunks/9673a9efec86040b8c13.js +0 -1
  666. package/assets/esri/core/workers/chunks/97dbbedea9fe03bd1306.js +0 -1
  667. package/assets/esri/core/workers/chunks/985b3f18cee87c3fe022.js +0 -1
  668. package/assets/esri/core/workers/chunks/9a7fc93cc693fd12b5d8.js +0 -1
  669. package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
  670. package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.js +0 -1
  671. package/assets/esri/core/workers/chunks/a20526996d01386ec3b7.js +0 -1
  672. package/assets/esri/core/workers/chunks/a23272a7a47a95f6ddea.js +0 -1
  673. package/assets/esri/core/workers/chunks/a7edf7541569fef77cb3.js +0 -1
  674. package/assets/esri/core/workers/chunks/aa5b42e44d2959fdacd3.js +0 -1
  675. package/assets/esri/core/workers/chunks/ae2181805d8ba130babc.js +0 -1
  676. package/assets/esri/core/workers/chunks/b05a41a60e30935644be.js +0 -1
  677. package/assets/esri/core/workers/chunks/b0cfec11c758eed8095f.js +0 -1
  678. package/assets/esri/core/workers/chunks/bff767ec5bb4c0d6b324.js +0 -1
  679. package/assets/esri/core/workers/chunks/c906f984b2b6e7578c06.js +0 -1
  680. package/assets/esri/core/workers/chunks/ca7fb75e2c62e7d37122.js +0 -1
  681. package/assets/esri/core/workers/chunks/cbdebdfa5f2cded29d0d.js +0 -1
  682. package/assets/esri/core/workers/chunks/cbe6c0f32608cb504695.js +0 -1
  683. package/assets/esri/core/workers/chunks/cfae60b9d2f2939e9c16.js +0 -1
  684. package/assets/esri/core/workers/chunks/d270cc9807161033686e.js +0 -1
  685. package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +0 -1
  686. package/assets/esri/core/workers/chunks/d6d5a9e73ee43d6066d3.js +0 -1
  687. package/assets/esri/core/workers/chunks/d89fe41c71c9621c41ae.js +0 -1
  688. package/assets/esri/core/workers/chunks/da18d96b35af20e73b3b.js +0 -1
  689. package/assets/esri/core/workers/chunks/de02a6a1f4810f99e9bb.js +0 -1
  690. package/assets/esri/core/workers/chunks/df0481bcc1613ee4b7af.js +0 -1
  691. package/assets/esri/core/workers/chunks/e22d45aeef293a5ffb78.js +0 -1
  692. package/assets/esri/core/workers/chunks/e5943f3a4bbc12c06c4d.js +0 -1
  693. package/assets/esri/core/workers/chunks/e7c60bd85abbd36cdc64.js +0 -1
  694. package/assets/esri/core/workers/chunks/ec9a2425b4a498054a19.js +0 -1
  695. package/assets/esri/core/workers/chunks/edf3be87a997f4f05b96.js +0 -1
  696. package/assets/esri/core/workers/chunks/f05de08e194a3f9b96f2.js +0 -1
  697. package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
  698. package/assets/esri/core/workers/chunks/f0aaa646b17ffdbdcefa.js +0 -1
  699. package/assets/esri/core/workers/chunks/f0c0c02730fe0d948fc1.js +0 -1
  700. package/assets/esri/core/workers/chunks/fd0254c6fc6c03ec11ba.js +0 -1
  701. package/assets/esri/core/workers/chunks/ffb3728e6ac428f62af1.js +0 -1
  702. package/views/3d/environment/EnvironmentManager.js +0 -2
  703. /package/{basemaps → basemapGallery}/support/basemapCompatibilityUtils.js +0 -0
@@ -19,7 +19,7 @@ export interface VectorFieldRendererProperties extends VisualVariablesMixinPrope
19
19
  * first band. `Direction` will return values from the second band. If the data represents u (zonal) and v (meridional) speed components, values are automatically converted
20
20
  * to `Magnitude` and `Direction`.
21
21
  *
22
- * @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-vfrenderer/)
22
+ * @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
23
23
  * @see [Styles and data visualization](https://developers.arcgis.com/javascript/latest/visualization/)
24
24
  * @example
25
25
  * const renderer = new VectorFieldRenderer({
@@ -54,7 +54,7 @@ export interface VectorFieldRendererProperties extends VisualVariablesMixinPrope
54
54
  * It can also be used to symbolize a single raster layer where the symbols are scalar.
55
55
  * The direction of the raster defines the angles, while the magnitude of the raster defines the size of the symbol.
56
56
  *
57
- * [![elevation-info](https://developers.arcgis.com/javascript/latest/assets/references/core/renderers/vector-field-renderer.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-vfrenderer/)
57
+ * [![elevation-info](https://developers.arcgis.com/javascript/latest/assets/references/core/renderers/vector-field-renderer.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
58
58
  *
59
59
  * > [!WARNING]
60
60
  * >
@@ -65,7 +65,7 @@ export interface VectorFieldRendererProperties extends VisualVariablesMixinPrope
65
65
  * > The [visualVariables](https://developers.arcgis.com/javascript/latest/references/core/renderers/VectorFieldRenderer/#visualVariables) set on the VectorFieldRenderer are not supported in the [Legend](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/).
66
66
  *
67
67
  * @since 4.17
68
- * @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-vfrenderer/)
68
+ * @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
69
69
  * @example
70
70
  * const renderer = new VectorFieldRenderer({
71
71
  * style: "beaufort-kn", // Beaufort point symbol (knots)
@@ -152,7 +152,7 @@ export default class VectorFieldRenderer extends VectorFieldRendererSuperclass {
152
152
  * first band. `Direction` will return values from the second band. If the data represents u (zonal) and v (meridional) speed components, values are automatically converted
153
153
  * to `Magnitude` and `Direction`.
154
154
  *
155
- * @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-vfrenderer/)
155
+ * @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
156
156
  * @see [Styles and data visualization](https://developers.arcgis.com/javascript/latest/visualization/)
157
157
  * @example
158
158
  * const renderer = new VectorFieldRenderer({
package/rest/print.d.ts CHANGED
@@ -76,12 +76,46 @@ import type PrintParameters from "./support/PrintParameters.js";
76
76
  import type { RequestOptions } from "../request/types.js";
77
77
  import type { PrintResponse } from "./types.js";
78
78
 
79
+ /**
80
+ * @internal
81
+ * @remarks Used by BA components
82
+ */
83
+ export interface GPPrintParameters {
84
+ /** @internal */
85
+ Web_Map_as_JSON: string;
86
+ /** @internal */
87
+ Format: string | null;
88
+ /** @internal */
89
+ Layout_Template?: string | null;
90
+ /** @internal */
91
+ Layout_Item_ID?: string;
92
+ /** @internal */
93
+ Report_Template?: string | null;
94
+ /** @internal */
95
+ Report_Item_ID?: string;
96
+ }
97
+
98
+ /**
99
+ * The printing features supported by a print service.
100
+ *
101
+ * @internal
102
+ */
103
+ export interface PrintCapabilities {
104
+ /**
105
+ * Whether the service accepts datum transformations.
106
+ *
107
+ * @internal
108
+ * @remarks used by the print-datum-transformation-input component.
109
+ */
110
+ readonly supportsDatumTransformations: boolean;
111
+ }
112
+
79
113
  /**
80
114
  * Sends a request to the print service to create a printable static image of the map using the options specified in
81
115
  * the [PrintParameters](https://developers.arcgis.com/javascript/latest/references/core/rest/support/PrintParameters/).
82
116
  *
83
117
  * @param url - The URL of the REST endpoint of the Export Web Map Task.
84
- * @param params - Defines the printing options.
118
+ * @param parameters - Defines the printing options.
85
119
  * @param requestOptions - Additional options to be used for the data request.
86
120
  * @returns Resolves to an object containing the URL of the generated printout of the view.
87
121
  * @example
@@ -125,7 +159,7 @@ import type { PrintResponse } from "./types.js";
125
159
  * console.log("Something broke: ", err);
126
160
  * }
127
161
  */
128
- export function execute(url: string, params: PrintParameters, requestOptions?: RequestOptions): Promise<PrintResponse>;
162
+ export function execute(url: string, parameters: PrintParameters, requestOptions?: RequestOptions): Promise<PrintResponse>;
129
163
 
130
164
  /**
131
165
  * Request the mode for the print request service.
@@ -133,4 +167,16 @@ export function execute(url: string, params: PrintParameters, requestOptions?: R
133
167
  * @param url - The URL of the REST endpoint of the Export Web Map Task.
134
168
  * @returns Returns the mode for the print request execution, either "sync" or "async".
135
169
  */
136
- export function getMode(url: string): Promise<string>;
170
+ export function getMode(url: string): Promise<string>;
171
+
172
+ /**
173
+ * Retrieves the GP print parameters based on the provided print parameters and print cache.
174
+ *
175
+ * @param url - The URL of the REST endpoint of the print service.
176
+ * @param parameters - The print parameters.
177
+ * @param requestOptions - Additional options for the request.
178
+ * @returns The GP print parameters derived from the provided print parameters and print cache.
179
+ * @internal
180
+ * @remarks Used by BA components
181
+ */
182
+ export function getGPPrintParameters(url: string, parameters: PrintParameters, requestOptions?: RequestOptions): Promise<GPPrintParameters>;
package/rest/print.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{id as e}from"../kernel.js";import t from"../request.js";import{JSONMap as n}from"../core/jsonMap.js";import{createScreenPoint as r,pt2px as i,px2pt as a}from"../core/screenUtils.js";import{dataComponents as o,normalize as s}from"../core/urlUtils.js";import c from"../geometry/Polygon.js";import{collectLabelingFields as l}from"../layers/support/fieldUtils.js";import{getFloorFilterClause as u}from"../layers/support/floorFilterUtils.js";import{getSizeRangeAtScale as d}from"../renderers/visualVariables/support/visualVariableUtils.js";import{asValidOptions as f,findToken as p}from"./utils.js";import{execute as m}from"./geoprocessor/execute.js";import{submitJob as h}from"./geoprocessor/submitJob.js";import{formatJsonMap as g}from"./support/fileFormat.js";import{toJSON as _}from"./support/layoutTemplate.js";import{getVisibleLayerViews as ee,isScreenshotRequired as v,isBingMapsLayer as y,isBlendLayer as te,getCopyright as b,getSelectionSymbol as ne,createPointLayer as x,getContextBoundingBox as re,createPolygonLayer as ie,createPolylineLayer as ae,createMultipointLayer as S}from"./support/printTaskUtils.js";import oe from"./support/PrintTemplate.js";import{toJSON as se}from"./support/reportTemplate.js";import ce from"../symbols/WebStyleSymbol.js";import le from"../views/support/HighlightOptions.js";const C={Feet:`ft`,Kilometers:`km`,Meters:`m`,Miles:`mi`},w=new n({esriFeet:`Feet`,esriKilometers:`Kilometers`,esriMeters:`Meters`,esriMiles:`Miles`}),T=new n({esriExecutionTypeSynchronous:`sync`,esriExecutionTypeAsynchronous:`async`}),E=new Map;async function D(e,t,n){let r=await N(t,await O(e,n));if(await k(e,n)===`sync`){let{results:t}=await m(e,r,void 0,n);return t?.[0]?.value}let i=await h(e,r,void 0,n);await i.waitForJobCompletion({interval:t.updateDelay});let{value:a}=await i.fetchResultData(`Output_File`,null,n);return a}async function O(e,n){let r=F(e),i=E.get(r)??{gpServerUrl:r,legendLayerNameMap:{},legendLayers:[],screenshotLayers:[]};return i.gpMetadata??=(await t(r,f({f:`json`},n))).data,i.cimVersion=i.gpMetadata.cimVersion,E.set(r,i),i}async function k(e,t){return we(await O(e,t))}async function A(e,n){let r=await O(e,n),i=r.gpMetadata.tasks,a=r.gpServerUrl;if(r.taskInfos)return r.taskInfos;let o=(await t(e,f({f:`json`},n))).data;r.taskInfos={ExportWebMap:o};let s=i?.filter(e=>e!==o.name)??[];return await Promise.all(s.map(async e=>{let i=(await t(`${a}/${e}`,f({f:`json`},n))).data,o=i.name.startsWith(`GetLayoutTemplatesInfo`)?`GetLayoutTemplatesInfo`:null;o&&(r.taskInfos[o]??=i)})),r.taskInfos}async function j(e,t,n){return(await A(e,n))[t]??null}async function M(e,t,n){let r=await j(e,t,n);return r?.executionType?T.fromJSON(r.executionType):`sync`}async function N(t,n){n||={is11xService:!1,legendLayerNameMap:{},legendLayers:[]};let r=t.template||new oe;r.showLabels??=!0;let i;r.format===`pdf`&&(i={enablePdfAccessibility:!0});let a=_(r.layout),o=r.exportOptions;if(o){let e=o.dpi;if(i??={},i.dpi=e,a?.toLowerCase()===`map_only`||a===``){let{width:e,height:t}=o;i.outputSize=e!=null&&t!=null?[e,t]:void 0}}let s=r.layoutOptions,c;if(s){let e,t;s.scalebarUnit===`Miles`||s.scalebarUnit===`Kilometers`?(e=`Kilometers`,t=`Miles`):(s.scalebarUnit===`Meters`||s.scalebarUnit===`Feet`)&&(e=`Meters`,t=`Feet`),c={titleText:s.titleText,authorText:s.authorText,copyrightText:s.copyrightText,customTextElements:s.customTextElements,elementOverrides:s.elementOverrides,scaleBarOptions:e||t?{metricUnit:w.toJSON(e)??void 0,metricLabel:e?C[e]:void 0,nonMetricUnit:w.toJSON(t)??void 0,nonMetricLabel:t?C[t]:void 0}:void 0}}let l=await P(t,r,n);if(l.operationalLayers){let e=RegExp(`[\\u4E00-\\u9FFF\\u0E00-\\u0E7F\\u0900-\\u097F\\u3040-\\u309F\\u30A0-\\u30FF\\u31F0-\\u31FF]`),t=/[\u0600-\u06FF]/,n=n=>{let r=n.text,i=n.font,a=i?.family?.toLowerCase();r&&i&&(a===`arial`||a===`arial unicode ms`)&&(i.family=e.test(r)?`Arial Unicode MS`:`Arial`,i.style!==`normal`&&t.test(r)&&(i.family=`Arial Unicode MS`))};for(let e of l.operationalLayers)if(e.featureCollection?.layers)for(let t of e.featureCollection.layers){if(t.layerDefinition?.drawingInfo?.renderer?.symbol){let e=t.layerDefinition.drawingInfo.renderer;e.symbol.type===`esriTS`&&n(e.symbol)}if(t.featureSet?.features)for(let e of t.featureSet.features)e.symbol&&e.symbol.type===`esriTS`&&n(e.symbol)}}let u=null;s?.legendLayers&&(u=s.legendLayers.filter(e=>!n.screenshotLayers.includes(e.layerId)).map(e=>{let t=e.layerId;n.legendLayerNameMap[t]=e.title;let r={id:t};if(e.subLayerIds){r.subLayerIds=e.subLayerIds;let t=e.dynamicLegend;t!=null&&(r.subLayerDynamicLegends=e.subLayerIds.map(()=>t))}return e.dynamicLegend!=null&&(r.dynamicLegend=e.dynamicLegend),r})),t.outSpatialReference&&(l.mapOptions.spatialReference=t.outSpatialReference.toJSON()),t.datumTransformations?.length&&(l.mapOptions.datumTransformations=t.datumTransformations.map(e=>e.toJSON())),Object.assign(l,{exportOptions:i,layoutOptions:c||{}}),Object.assign(l.layoutOptions,{legendOptions:{operationalLayers:u??n.legendLayers.slice()}}),n.legendLayers.length=0,n.screenshotLayers.length=0,E.set(n.gpServerUrl,n);let d={Web_Map_as_JSON:JSON.stringify(l),Format:g.toJSON(r.format),Layout_Template:a,Layout_Item_ID:void 0,Report_Template:se(r.report),Report_Item_ID:void 0};if(r.layoutItem){delete d.Layout_Template;let t=r.layoutItem;await t.load(),t.access!==`public`&&e&&await e.getCredential(n.gpServerUrl),d.Layout_Item_ID=JSON.stringify({id:t.id})}if(r.reportItem){delete d.Report_Template;let t=r.reportItem;await t.load(),t.access!==`public`&&e&&await e.getCredential(n.gpServerUrl),d.Report_Item_ID=JSON.stringify({id:t.id})}return t.extraParameters&&Object.assign(d,t.extraParameters),d}async function P(e,t,n){let r=e.view,i=r.spatialReference,a={operationalLayers:await I(r,t,n)};t.includeTables&&(a.tables=await _e(r));let o=e.extent||n.ssExtent||r.extent;if(i?.isWrappable&&(o=o.clone()._normalize(!0),i=o.spatialReference),a.mapOptions={extent:o&&o.toJSON(),spatialReference:i&&i.toJSON(),showAttribution:t.attributionVisible},n.ssExtent=null,r.background&&(a.background=r.background.toJSON()),r.rotation&&(a.mapOptions.rotation=-r.rotation),t.scalePreserved&&(a.mapOptions.scale=t.outScale||r.scale),r.timeExtent!=null){let e=r.timeExtent.start==null?null:r.timeExtent.start.getTime(),t=r.timeExtent.end==null?null:r.timeExtent.end.getTime();a.mapOptions.time=[e,t]}return t.reportOptions&&(a.reportOptions=t.reportOptions),a}function F(e){let t=e,n=t.lastIndexOf(`/GPServer/`);return n>0&&(t=t.slice(0,n+9)),t}async function I(e,t,n){let r=[],i=0;t.scalePreserved&&(i=t.outScale||e.scale);let a={layerView:null,outScale:i,printTemplate:t,view:e},o=ee(e,i);for(let e of o){let t=e.layer;if(!t.loaded||`layers`in t)continue;let i;a.layerView=e,i=v(e)?await G(t,a,n):y(t)?L(t):t?.type===`csv`?await z(t,a,n):t?.type===`catalog-footprint`?await R(t,a,n):t?.type===`feature`?await V(t,a,n):t?.type===`geojson`?await H(t,a,n):t?.type===`graphics`?await U(t,a,n):t?.type===`imagery`?W(t,n):t?.type===`imagery-tile`?await ue(t,a,n):t?.type===`kml`?await de(t,a,n):t?.type===`map-image`?fe(t,a,n):t?.type===`map-notes`?await pe(a,n):t?.type===`open-street-map`?me():t?.type===`stream`?await he(t,a,n):t?.type===`subtype-group`?await ge(t,n):t?.type===`tile`?ve(t,n):t?.type===`vector-tile`?await ye(t,a,n):t?.type===`web-tile`?be(t):t?.type===`wfs`?await xe(t,a,n):t?.type===`wms`?Se(t,n):t?.type===`wmts`?Ce(t):await G(t,a,n),i&&(Array.isArray(i)?r.push(...i):(i.id=t.id,i.title=n.legendLayerNameMap[t.id]||t.title,i.opacity=e.fullOpacity,i.minScale=t.minScale||0,i.maxScale=t.maxScale||0,te(t)&&t.blendMode&&t.blendMode!==`normal`&&(i.blendMode=t.blendMode),r.push(i)))}if(i)for(let e of r)e.minScale=0,e.maxScale=0;if(e.graphics?.length){let i=await B(null,e.graphics,t,n);i&&r.push(i)}return r}function L(e){return{culture:e.culture,key:e.key,type:`BingMaps${e.style===`aerial`?`Aerial`:e.style===`hybrid`?`Hybrid`:`Road`}`}}async function R(e,{layerView:t,printTemplate:n},r){if(parseFloat(r.cimVersion)<3.1)return B(e,await Z(t),n,r);let i=e.parent,a=(e=>({id:e.id,url:e.url,layerType:e.layerType,customParameters:e.customParameters,dynamicGroupLayer:{visibility:!1},footprintLayer:e.footprintLayer,layerDefinition:e.layerDefinition}))(Q(i,`web-map`));return K(a,i),a}async function z(e,t,n){e.legendEnabled&&n.legendLayers.push({id:e.id});let r=t.layerView,i=t.printTemplate;if(!r.filter&&(!e.portalItem||e.portalItem.access===`public`)){let t=Q(e,`web-map`);return t.type=`CSV`,delete t.popupInfo,delete t.layerType,t.showLabels=i.showLabels&&e.labelsVisible,t}return B(e,await Z(r),i,n)}async function B(e,t,n,r){let i,a=ie(),o=ae(),s=x(),u=S(),d=x();if(d.layerDefinition.name=`textLayer`,delete d.layerDefinition.drawingInfo,e){if(e.declaredClass===`esri.layers.FeatureLayer`||e.declaredClass===`esri.layers.StreamLayer`?a.layerDefinition.name=o.layerDefinition.name=s.layerDefinition.name=u.layerDefinition.name=r.legendLayerNameMap[e.id]||e.arcgisProps?.title||e.title:e.declaredClass===`esri.layers.GraphicsLayer`&&(t=e.graphics.items),e.renderer){let t=e.renderer.toJSON(),n=a.layerDefinition.drawingInfo;n&&(n.renderer=t);let r=o.layerDefinition.drawingInfo;r&&(r.renderer=t);let i=s.layerDefinition.drawingInfo;i&&(i.renderer=t);let c=u.layerDefinition.drawingInfo;c&&(c.renderer=t)}if(n.showLabels&&e.labelsVisible&&typeof e.write==`function`){let t=Q(e).layerDefinition?.drawingInfo?.labelingInfo;if(t){i=!0;let e=a.layerDefinition.drawingInfo;e&&(e.labelingInfo=t);let n=o.layerDefinition.drawingInfo;n&&(n.labelingInfo=t);let r=s.layerDefinition.drawingInfo;r&&(r.labelingInfo=t);let c=u.layerDefinition.drawingInfo;c&&(c.labelingInfo=t)}}}!e?.renderer&&!i&&(delete a.layerDefinition.drawingInfo,delete o.layerDefinition.drawingInfo,delete s.layerDefinition.drawingInfo,delete u.layerDefinition.drawingInfo);let f,p=e?.fieldsIndex,m=e?.renderer;if(p){let t=new Set;i&&await l(t,e),m&&typeof m.collectRequiredFields==`function`&&await m.collectRequiredFields(t,p),f=Array.from(t);let n=p.fields.map(e=>e.toJSON());a.layerDefinition.fields=n,o.layerDefinition.fields=n,s.layerDefinition.fields=n,u.layerDefinition.fields=n}let h=t?.length,g;for(let e=0;e<h;e++){let i=t[e]||t.at(e);if(i.visible!==!1&&i.geometry){if(g=i.toJSON(),g.hasOwnProperty(`popupTemplate`)&&delete g.popupTemplate,g.geometry?.z&&delete g.geometry.z,g.symbol&&(g.symbol.angle||delete g.symbol.angle,$(g.symbol)?g.symbol=await q(g.symbol,r):g.symbol.text&&delete g.attributes),(!n||!n.forceFeatureAttributes)&&f?.length){let e={};for(let t of f)g.attributes?.hasOwnProperty(t)&&(e[t]=g.attributes[t]);g.attributes=e}i.geometry.type===`polygon`?a.featureSet.features.push(g):i.geometry.type===`polyline`?o.featureSet.features.push(g):i.geometry.type===`point`?g.symbol?.text?d.featureSet.features.push(g):s.featureSet.features.push(g):i.geometry.type===`multipoint`?u.featureSet.features.push(g):i.geometry.type===`extent`&&(g.geometry=c.fromExtent(i.geometry).toJSON(),a.featureSet.features.push(g))}}let _=[a,o,u,s,d].filter(e=>e.featureSet.features.length>0);for(let e of _){let t=e.featureSet.features.every(e=>e.symbol);if(t&&(!n||!n.forceFeatureAttributes))for(let t of e.featureSet.features)delete t.attributes;t&&delete e.layerDefinition.drawingInfo,e.layerDefinition.drawingInfo?.renderer&&(await X(e.layerDefinition.drawingInfo.renderer),await J(e.layerDefinition.drawingInfo.renderer,r))}return _.length?{featureCollection:{layers:_},showLabels:i}:null}async function V(e,t,n){let r,i=e.renderer,a=parseFloat(n.cimVersion);if(e.featureReduction?.type===`binning`||e.featureReduction?.type===`cluster`&&(a<2.9||e.featureReduction.renderer?.type===`pie-chart`)||i?.type===`pie-chart`&&a<3.1||i?.type===`dot-density`&&a<2.6||e.geometryType===`polygon`&&i?.authoringInfo?.visualVariables?.some(e=>e.theme===`spike`))return G(e,t,n);e.legendEnabled&&n.legendLayers.push({id:e.id});let o=t.layerView,{printTemplate:s,view:c}=t,l=e.source?.type!==`feature-layer`&&e.source?.type!==`ogc-feature`;if(!o.filter&&!l&&i&&(!(`field`in i)||i.field==null||e.getField(i.field))){if(r=(e=>({id:e.id,title:e.title,url:e.url,layerType:e.layerType,customParameters:e.customParameters,layerDefinition:e.layerDefinition,charts:s.includeCharts?e.charts:void 0}))(Q(e)),s.attributionVisible&&(r.credits=b(e)),r.showLabels=s.showLabels&&e.labelsVisible&&!!e.labelingInfo&&e.labelingInfo.length>0,K(r,e),delete r.layerDefinition?.featureReduction?.disablePopup,delete r.layerDefinition?.featureReduction?.popupInfo,o.displayFilterEnabled||delete r.layerDefinition?.displayFilterInfo,r.layerDefinition?.drawingInfo?.renderer&&(delete r.layerDefinition.minScale,delete r.layerDefinition.maxScale,await X(r.layerDefinition.drawingInfo.renderer),await J(r.layerDefinition.drawingInfo.renderer,n),`visualVariables`in i&&i.visualVariables?.[0])){let e=i.visualVariables[0];if(e.type===`size`&&e.maxSize&&typeof e.maxSize!=`number`&&e.minSize&&typeof e.minSize!=`number`){let t=d(e,c.scale);r.layerDefinition.drawingInfo.renderer.visualVariables[0].minSize=t.minSize,r.layerDefinition.drawingInfo.renderer.visualVariables[0].maxSize=t.maxSize}}let t=u(o);if(t&&(r.layerDefinition??={},r.layerDefinition.definitionExpression=r.layerDefinition.definitionExpression?`(${r.layerDefinition.definitionExpression}) AND (${t})`:t),e.gdbVersion&&(r.layerDefinition??={},r.layerDefinition.gdbVersion=e.gdbVersion),o.hasHighlight&&`highlightIds`in o){let t=o;r.selectionObjectIds=t.highlightIds;let n=t.highlightOptions??c.defaultHighlight??new le;r.selectionSymbol=ne(e.geometryType,n)}}else r=await B(e,await Z(o),s,n);return r}async function H(e,t,n){return e.featureReduction?.type===`binning`||e.featureReduction?.type===`cluster`?G(e,t,n):(e.legendEnabled&&n.legendLayers.push({id:e.id}),B(e,await Z(t.layerView),t.printTemplate,n))}async function U(e,{printTemplate:t},n){return B(e,null,t,n)}function W(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});let n=(e=>({layerType:e.layerType,customParameters:e.customParameters}))(Q(e));return n.bandIds=e.bandIds,n.compressionQuality=e.compressionQuality,n.format=e.format,n.interpolation=e.interpolation,(e.mosaicRule||e.definitionExpression)&&(n.mosaicRule=e.exportImageServiceParameters.mosaicRule.toJSON()),e.rasterFunction&&(n.renderingRule=e.rasterFunction.toJSON()),e.renderer&&(n.layerDefinition??={},n.layerDefinition.drawingInfo??={},n.layerDefinition.drawingInfo.renderer=e.renderer.toJSON()),K(n,e),n}async function ue(e,t,n){if(e.renderer?.type===`flow`||!e.supportsWrite())return G(e,t,n);e.legendEnabled&&n.legendLayers.push({id:e.id});let r=(e=>({bandIds:e.bandIds,customParameters:e.customParameters,interpolation:e.interpolation,layerDefinition:e.layerDefinition}))(Q(e));return r.layerType=`ArcGISImageServiceLayer`,K(r,e),r}async function de(e,t,n){let r=t.printTemplate;if(!e.portalItem||e.portalItem.access===`public`){let t=Q(e,`web-map`);return t.type=`kml`,delete t.layerType,t.url=s(e.url),t}let i=[],a=t.layerView;a.allVisibleMapImages.forEach((t,n)=>{let r={id:`${e.id}_image${n}`,type:`image`,title:e.id,minScale:e.minScale||0,maxScale:e.maxScale||0,opacity:a.fullOpacity,extent:t.extent};t.href.startsWith(`data:image/png;base64,`)?r.imageData=t.href.slice(22):r.url=t.href,i.push(r)});let o=[...a.allVisiblePoints.items,...a.allVisiblePolylines.items,...a.allVisiblePolygons.items],c={id:e.id,...await B(null,o,r,n)};return i.push(c),i}function fe(e,{outScale:t,printTemplate:n,view:r},i){let a,o={id:e.id,subLayerIds:[]},s=[],c=t||r.scale,l=e=>{let t=c===0,n=e.minScale===0||c<=e.minScale,r=e.maxScale===0||c>=e.maxScale;if(e.visible&&(t||n&&r)){if(e.sublayers)e.sublayers.forEach(l);else{let t=e.toExportImageJSON(),n={id:e.id,name:e.title,layerDefinition:{definitionExpression:t.definitionExpression,drawingInfo:t.drawingInfo,orderBy:t.orderBy,source:t.source}};s.unshift(n),o.subLayerIds.push(e.id)}}};return e.sublayers?.forEach(l),s.length&&(s=s.map(({id:e,name:t,layerDefinition:n})=>({id:e,name:t,layerDefinition:n})),a=(e=>({layerType:e.layerType,customParameters:e.customParameters}))(Q(e)),a.layers=s,a.visibleLayers=e.capabilities?.exportMap?.supportsDynamicLayers?void 0:o.subLayerIds,n.attributionVisible&&(a.credits=b(e)),e.gdbVersion&&(a.gdbVersion=e.gdbVersion),K(a,e),e.legendEnabled&&i.legendLayers.push(o)),a}async function pe({layerView:e,printTemplate:t},n){let r=[],i=e.layer;if(i.featureCollections!=null)for(let e of i.featureCollections){let i=await B(e,e.source,t,n);i&&r.push(...i.featureCollection.layers)}else if(i.sublayers!=null)for(let e of i.sublayers){let i=await B(null,e.graphics,t,n);i&&r.push(...i.featureCollection.layers)}return{featureCollection:{layers:r}}}function me(){return{type:`OpenStreetMap`}}async function G(e,{printTemplate:t,view:n},i){let a={type:`image`};i.screenshotLayers.push(e.id);let s={format:`png`,ignoreBackground:!0,ignorePadding:!0,layers:[e]};n.rotation!==0&&(s.rotation=0);let c=i.ssExtent||n.state.extent.clone(),l=96,u=!0,d=!0;if(t.exportOptions){let e=t.exportOptions;e.dpi!=null&&e.dpi>0&&(l=e.dpi),e.width!=null&&e.width>0&&(u=e.width%2==n.width%2),e.height!=null&&e.height>0&&(d=e.height%2==n.height%2)}if(t.layout===`map-only`&&t.scalePreserved&&(!t.outScale||t.outScale===n.scale)&&l===96&&(!u||!d)&&n.state.extent.equals(n.extent)&&(s.area={x:0,y:0,width:n.width,height:n.height},u||--s.area.width,d||--s.area.height,!i.ssExtent)){let e=n.toMap(r(s.area.width,s.area.height));c.ymin=e.y,c.xmax=e.x,i.ssExtent=c}a.extent=c.clone()._normalize(!0).toJSON();let f=await n.takeScreenshot(s);return a.imageData=o(f.dataUrl)?.data,a}async function he(e,{layerView:t,printTemplate:n},r){return e.legendEnabled&&r.legendLayers.push({id:e.id}),B(e,await Z(t),n,r)}async function ge(e,t){if(e.legendEnabled)for(let n of e.sublayers)n.legendEnabled&&t.legendLayers.push({id:n.id});let n=(e=>({customParameters:e.customParameters,effect:e.effect,layerDefinition:e.layerDefinition,layerType:e.layerType,layers:e.layers,url:e.url}))(Q(e));if(K(n,e),Array.isArray(n.layers)){for(let e of n.layers)delete e.popupInfo;n.token&&n.layers.length>0&&(n.layers[n.layers.length-1].token=n.token,delete n.token)}return n}async function _e(e){let t=[],n=[];for(let t of e.map.allTables)t.type===`feature`&&!t.loaded&&n.push(t.load());n.length&&await Promise.allSettled(n);for(let n of e.map.allTables)if(n.type===`feature`&&n.loaded&&n.isTable&&n.source?.type===`feature-layer`){let e=(e=>({id:e.id,title:e.title,customParameters:e.customParameters,layerDefinition:{definitionExpression:e.layerDefinition?.definitionExpression},url:e.url}))(Q(n));K(e,n),t.push(e)}return t.length?t:void 0}function ve(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});let n=(e=>({layerType:e.layerType,customParameters:e.customParameters}))(Q(e));return K(n,e),n}async function ye(e,t,n){let r=t.layerView;if(e.serviceUrl&&e.styleUrl&&!r.spriteSourceChanged&&!r.styleChanged){let t=p(e.styleUrl,e.apiKey),r=p(e.serviceUrl,e.apiKey);if(!t&&!r||n.cimVersion!==`2.1.0`){let n={type:`VectorTileLayer`};return n.styleUrl=s(e.styleUrl),n.token=t,r!==t&&(n.additionalTokens=[{url:e.serviceUrl,token:r}]),n}}return G(e,t,n)}function be(e){let t={type:`WebTiledLayer`,urlTemplate:e.urlTemplate?.replaceAll("${",`{`),credits:e.copyright};return e.subDomains&&e.subDomains.length>0&&(t.subDomains=e.subDomains),t}async function xe(e,t,n){return parseFloat(n.cimVersion)<3.5?G(e,t,n):(e.legendEnabled&&n.legendLayers.push({id:e.id}),(e=>({layerType:e.layerType,layerDefinition:e.layerDefinition,url:e.url,wfsInfo:e.wfsInfo}))(Q(e,`web-map`)))}function Se(e,t){let n,r=[],i=e=>{e.visible&&(e.sublayers?e.sublayers.forEach(i):e.name&&r.unshift(e.name))};return e.sublayers&&e.sublayers.forEach(i),r.length&&(e.legendEnabled&&t.legendLayers.push({id:e.id,subLayerIds:r}),n={type:`wms`,customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,transparentBackground:e.imageTransparency,visibleLayers:r,url:s(e.url),version:e.version}),n}function Ce(e){let t=e.activeLayer;return{type:`wmts`,customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,format:t.imageFormat,layer:t.id,style:t.styleId,tileMatrixSet:t.tileMatrixSetId,url:s(e.url)}}function K(e,t){t.url&&(e.url=s(e.url||t.url),e.token=p(e.url,t.apiKey))}async function q(e,n){n.canvas||=document.createElement(`canvas`);let r=1024;n.canvas.width=r,n.canvas.height=r;let o=n.canvas.getContext(`2d`),s,c;if(e.path){let t=new Path2D(e.path);t.closePath(),o.fillStyle=Array.isArray(e.color)?`rgba(${e.color[0]},${e.color[1]},${e.color[2]},${e.color[3]/255})`:`rgb(0,0,0)`,o.fill(t);let n=re(o);if(!n)return null;o.clearRect(0,0,r,r);let a=i(e.size)/Math.max(n.width,n.height);o.scale(a,a);let l=r/a,u=l/2-n.width/2-n.x,d=l/2-n.height/2-n.y;if(o.translate(u,d),Array.isArray(e.color)&&o.fill(t),e.outline?.width&&Array.isArray(e.outline.color)){let r=e.outline;o.lineWidth=i(r.width)/a,o.lineJoin=`round`,o.strokeStyle=`rgba(${r.color[0]},${r.color[1]},${r.color[2]},${r.color[3]/255})`,o.stroke(t),n.width+=o.lineWidth,n.height+=o.lineWidth}n.width*=a,n.height*=a;let f=o.getImageData(r/2-n.width/2,r/2-n.height/2,Math.ceil(n.width),Math.ceil(n.height));s=f.width,c=f.height,o.canvas.width=s,o.canvas.height=c,o.putImageData(f,0,0)}else{let n=e.contentType===`image/svg+xml`?`data:image/svg+xml;base64,`+e.imageData:e.url,r=(await t(n,{responseType:`image`})).data;s=i(e.width),c=i(e.height),o.canvas.width=s,o.canvas.height=c,o.drawImage(r,0,0,o.canvas.width,o.canvas.height)}return{type:`esriPMS`,imageData:o.canvas.toDataURL(`image/png`).slice(22),angle:e.angle,contentType:`image/png`,height:a(c),width:a(s),xoffset:e.xoffset,yoffset:e.yoffset}}async function J(e,t){let n=e.type;if(n===`simple`&&$(e.symbol))e.symbol=await q(e.symbol,t)??{type:`esriSMS`,color:[0,0,0,0],size:0,style:`esriSMSSquare`};else if(n===`uniqueValue`){if($(e.defaultSymbol)&&(e.defaultSymbol=await q(e.defaultSymbol,t)),`uniqueValueInfos`in e&&e.uniqueValueInfos)for(let n of e.uniqueValueInfos)$(n.symbol)&&(n.symbol=await q(n.symbol,t));if(`uniqueValueGroups`in e&&e.uniqueValueGroups)for(let n of e.uniqueValueGroups)for(let e of n.classes)$(e.symbol)&&(e.symbol=await q(e.symbol,t))}else if(n===`classBreaks`){$(e.defaultSymbol)&&(e.defaultSymbol=await q(e.defaultSymbol,t));for(let n of e.classBreakInfos)$(n.symbol)&&(n.symbol=await q(n.symbol,t))}}async function Y(e){if(e?.type!==`styleSymbolReference`)return e;try{return(await ce.fromJSON(e).fetchSymbol())?.toJSON()??e}catch{return e}}async function X(e){if(e.type===`simple`&&e.symbol)e.symbol=await Y(e.symbol);else if(e.type===`uniqueValue`){if(e.defaultSymbol=await Y(e.defaultSymbol),`uniqueValueInfos`in e&&e.uniqueValueInfos)for(let t of e.uniqueValueInfos)t.symbol=await Y(t.symbol);if(`uniqueValueGroups`in e&&e.uniqueValueGroups)for(let t of e.uniqueValueGroups)for(let e of t.classes)e.symbol=await Y(e.symbol)}else if(e.type===`classBreaks`){e.defaultSymbol=await Y(e.defaultSymbol);for(let t of e.classBreakInfos)t.symbol=await Y(t.symbol)}}async function Z(e){return e.queryFeatures(e.createQuery()).then(e=>e.features)}function Q(e,t){return e.write({},{ignorePersistenceEnabled:!0,origin:t})??{}}function we(e){return e.gpMetadata?.executionType?T.fromJSON(e.gpMetadata.executionType):`sync`}function $(e){return e&&(e.path||e.contentType===`image/svg+xml`||e.url?.endsWith(`.svg`))}export{D as execute,N as getGpPrintParams,F as getGpServerUrl,k as getMode,O as getPrintCache,M as getTaskExecutionMode,j as getTaskInfo,A as getTaskInfos,E as printCacheMap};
2
+ import{id as e}from"../kernel.js";import t from"../request.js";import{JSONMap as n}from"../core/jsonMap.js";import{createScreenPoint as r,pt2px as i,px2pt as a}from"../core/screenUtils.js";import{dataComponents as o,normalize as s}from"../core/urlUtils.js";import c from"../core/Version.js";import l from"../geometry/Polygon.js";import{collectLabelingFields as u}from"../layers/support/fieldUtils.js";import{getFloorFilterClause as d}from"../layers/support/floorFilterUtils.js";import{getSizeRangeAtScale as f}from"../renderers/visualVariables/support/visualVariableUtils.js";import{asValidOptions as p,findToken as m}from"./utils.js";import{execute as h}from"./geoprocessor/execute.js";import{submitJob as g}from"./geoprocessor/submitJob.js";import{formatJsonMap as _}from"./support/fileFormat.js";import{toJSON as v}from"./support/layoutTemplate.js";import{getVisibleLayerViews as ee,isScreenshotRequired as te,isBingMapsLayer as ne,isBlendLayer as re,getCopyright as y,getSelectionSymbol as b,createPointLayer as x,getContextBoundingBox as S,createPolygonLayer as C,createPolylineLayer as w,createMultipointLayer as ie}from"./support/printTaskUtils.js";import ae from"./support/PrintTemplate.js";import{toJSON as oe}from"./support/reportTemplate.js";import se from"../symbols/WebStyleSymbol.js";import ce from"../views/support/HighlightOptions.js";const T={Feet:`ft`,Kilometers:`km`,Meters:`m`,Miles:`mi`},E=new n({esriFeet:`Feet`,esriKilometers:`Kilometers`,esriMeters:`Meters`,esriMiles:`Miles`}),D=new n({esriExecutionTypeSynchronous:`sync`,esriExecutionTypeAsynchronous:`async`}),O=new Map;let le;async function ue(e,t,n){let r=await P(e,t,n);if(await j(e,n)===`sync`){let{results:t}=await h(e,r,void 0,n);return t?.[0]?.value}let i=await g(e,r,void 0,n);await i.waitForJobCompletion({interval:t.updateDelay});let{value:a}=await i.fetchResultData(`Output_File`,null,n);return a}async function k(e,t){return(await A(e,t)).capabilities}async function A(e,n){let r=L(e),i=O.get(r);if(i?.gpMetadata)return i;let a=(await t(r,p({f:`json`},n))).data,o=a.cimVersion?c.parse(a.cimVersion):void 0,s={...i,capabilities:{supportsCatalogLayer:!o?.lessThan(3,1),supportsClustering:!o?.lessThan(2,9),supportsDatumTransformations:!o?.lessThan(3,7),supportsDotDensityRenderer:!o?.lessThan(2,6),supportsPieChartRenderer:!o?.lessThan(3,1),supportsSecureVectorTileLayer:o?.major!==2||o.minor!==1,supportsWFSLayer:!o?.lessThan(3,5)},gpMetadata:a,gpServerUrl:r};return O.set(r,s),s}async function j(e,t){return ke(await A(e,t))}async function M(e,t,n){return(await F(e,n))[t]??null}async function N(e,t,n){let r=await M(e,t,n);return r?.executionType?D.fromJSON(r.executionType):`sync`}async function P(t,n,r){let i=await A(t,r),a={capabilities:i.capabilities,legendLayerNameMap:{},legendLayers:[],screenshotLayers:[]},o=n.template||new ae;o.showLabels??=!0;let s;o.format===`pdf`&&(s={enablePdfAccessibility:!0});let c=v(o.layout),l=o.exportOptions;if(l){let e=l.dpi;if(s??={},s.dpi=e,c?.toLowerCase()===`map_only`||c===``){let{width:e,height:t}=l;s.outputSize=e!=null&&t!=null?[e,t]:void 0}}let u=o.layoutOptions,d;if(u){let e,t;u.scalebarUnit===`Miles`||u.scalebarUnit===`Kilometers`?(e=`Kilometers`,t=`Miles`):(u.scalebarUnit===`Meters`||u.scalebarUnit===`Feet`)&&(e=`Meters`,t=`Feet`),d={titleText:u.titleText,authorText:u.authorText,copyrightText:u.copyrightText,customTextElements:u.customTextElements,elementOverrides:u.elementOverrides,scaleBarOptions:e||t?{metricUnit:E.toJSON(e)??void 0,metricLabel:e?T[e]:void 0,nonMetricUnit:E.toJSON(t)??void 0,nonMetricLabel:t?T[t]:void 0}:void 0}}for(let e of u?.legendLayers??[])a.legendLayerNameMap[e.layerId]=e.title;let f=await I(n,o,a);if(f.operationalLayers){let e=RegExp(`[\\u4E00-\\u9FFF\\u0E00-\\u0E7F\\u0900-\\u097F\\u3040-\\u309F\\u30A0-\\u30FF\\u31F0-\\u31FF]`),t=/[\u0600-\u06FF]/,n=n=>{let r=n.text,i=n.font,a=i?.family?.toLowerCase();r&&i&&(a===`arial`||a===`arial unicode ms`)&&(i.family=e.test(r)?`Arial Unicode MS`:`Arial`,i.style!==`normal`&&t.test(r)&&(i.family=`Arial Unicode MS`))};for(let e of f.operationalLayers)if(e.featureCollection?.layers)for(let t of e.featureCollection.layers){let e=t.layerDefinition?.drawingInfo?.renderer;if(e&&`symbol`in e&&e.symbol?.type===`esriTS`&&n(e.symbol),t.featureSet?.features)for(let e of t.featureSet.features){let t=e.symbol;t?.type===`esriTS`&&n(t)}}}let p=null;u?.legendLayers&&(p=u.legendLayers.filter(e=>!a.screenshotLayers.includes(e.layerId)).map(e=>{let t={id:e.layerId};if(e.subLayerIds){t.subLayerIds=e.subLayerIds;let n=e.dynamicLegend;n!=null&&(t.subLayerDynamicLegends=e.subLayerIds.map(()=>n))}return e.dynamicLegend!=null&&(t.dynamicLegend=e.dynamicLegend),t})),n.outSpatialReference&&(f.mapOptions.spatialReference=n.outSpatialReference.toJSON()),n.datumTransformations?.length&&(f.mapOptions.datumTransformations=n.datumTransformations.map(e=>e.toJSON())),f.exportOptions=s,f.layoutOptions={...d,legendOptions:{operationalLayers:p??a.legendLayers.slice()}};let m={Web_Map_as_JSON:JSON.stringify(f),Format:_.toJSON(o.format),Layout_Template:c,Report_Template:oe(o.report)};if(o.layoutItem){delete m.Layout_Template;let t=o.layoutItem;await t.load(),t.access!==`public`&&e&&await e.getCredential(i.gpServerUrl),m.Layout_Item_ID=JSON.stringify({id:t.id})}if(o.reportItem){delete m.Report_Template;let t=o.reportItem;await t.load(),t.access!==`public`&&e&&await e.getCredential(i.gpServerUrl),m.Report_Item_ID=JSON.stringify({id:t.id})}return n.extraParameters&&Object.assign(m,n.extraParameters),m}async function F(e,n){let r=await A(e,n),i=r.gpMetadata?.tasks,a=r.gpServerUrl;if(r.taskInfos)return r.taskInfos;let o=(await t(e,p({f:`json`},n))).data;r.taskInfos={ExportWebMap:o};let s=i?.filter(e=>e!==o.name)??[];return await Promise.all(s.map(async e=>{let i=(await t(`${a}/${e}`,p({f:`json`},n))).data,o=i.name.startsWith(`GetLayoutTemplatesInfo`)?`GetLayoutTemplatesInfo`:null;o&&(r.taskInfos[o]??=i)})),r.taskInfos}async function I(e,t,n){let r=e.view,i=r.spatialReference,a={operationalLayers:await z(r,t,n),mapOptions:{extent:null,spatialReference:null,showAttribution:t.attributionVisible}};t.includeTables&&(a.tables=await Ce(r));let o=e.extent||n.screenshotExtent||r.extent;if(i?.isWrappable&&(o=o.clone().shiftCentralMeridian(),i=o.spatialReference),a.mapOptions={extent:o&&o.toJSON(),spatialReference:i&&i.toJSON(),showAttribution:t.attributionVisible},r.background&&(a.background=r.background.toJSON()),r.rotation&&(a.mapOptions.rotation=-r.rotation),t.scalePreserved&&(a.mapOptions.scale=t.outScale||r.scale),r.timeExtent!=null){let e=r.timeExtent.start==null?null:r.timeExtent.start.getTime(),t=r.timeExtent.end==null?null:r.timeExtent.end.getTime();a.mapOptions.time=[e,t]}return t.reportOptions&&(a.reportOptions=t.reportOptions),a}function L(e){let t=e,n=t.lastIndexOf(`/GPServer/`);return n>0&&(t=t.slice(0,n+9)),t}const R={getGPServerUrl:L,cache:O};async function z(e,t,n){let r=[],i=0;t.scalePreserved&&(i=t.outScale||e.scale);let a={layerView:null,outScale:i,printTemplate:t,view:e},o=ee(e,i);for(let e of o){let t=e.layer;if(!t.loaded||`layers`in t)continue;let i;a.layerView=e,i=te(e)?await W(t,a,n):ne(t)?B(t):t?.type===`csv`?await H(t,a,n):t?.type===`catalog-footprint`?await V(t,a,n):t?.type===`feature`?await de(t,a,n):t?.type===`geojson`?await fe(t,a,n):t?.type===`graphics`?await pe(t,a,n):t?.type===`imagery`?me(t,n):t?.type===`imagery-tile`?await he(t,a,n):t?.type===`kml`?await ge(t,a,n):t?.type===`map-image`?_e(t,a,n):t?.type===`map-notes`?await ve(a,n):t?.type===`open-street-map`?ye():t?.type===`sketch`?await be(t,a,n):t?.type===`stream`?await xe(t,a,n):t?.type===`subtype-group`?await Se(t,n):t?.type===`tile`?we(t,n):t?.type===`vector-tile`?await Te(t,a,n):t?.type===`web-tile`?Ee(t):t?.type===`wfs`?await De(t,a,n):t?.type===`wms`?Oe(t,n):t?.type===`wmts`?G(t):await W(t,a,n),i&&(Array.isArray(i)?r.push(...i):(i.id=t.id,i.title=n.legendLayerNameMap[t.id]||t.title,i.opacity=e.fullOpacity,i.minScale=t.minScale||0,i.maxScale=t.maxScale||0,re(t)&&t.blendMode&&t.blendMode!==`normal`&&(i.blendMode=t.blendMode),r.push(i)))}if(i)for(let e of r)e.minScale=0,e.maxScale=0;if(e.graphics?.length){let i=await U(null,e.graphics,t,n);i&&r.push(i)}return r}function B(e){return{culture:e.culture,key:e.key,type:`BingMaps${e.style===`aerial`?`Aerial`:e.style===`hybrid`?`Hybrid`:`Road`}`}}async function V(e,{layerView:t,printTemplate:n},r){if(!r.capabilities.supportsCatalogLayer)return U(e,await Z(t),n,r);let i=e.parent,{id:a,url:o,layerType:s,customParameters:c,footprintLayer:l,layerDefinition:u}=Q(i,`web-map`),d={id:a,url:o,layerType:s,customParameters:c,dynamicGroupLayer:{visibility:!1},footprintLayer:l,layerDefinition:u};return K(d,i),d}async function H(e,t,n){e.legendEnabled&&n.legendLayers.push({id:e.id});let r=t.layerView,i=t.printTemplate;if(!r.filter&&(!e.portalItem||e.portalItem.access===`public`)){let t=Q(e,`web-map`);return t.type=`CSV`,delete t.popupInfo,delete t.layerType,t.showLabels=i.showLabels&&e.labelsVisible,t}return U(e,await Z(r),i,n)}async function U(e,t,n,r){let i,a=C(),o=w(),s=x(),c=ie(),d=x();if(d.layerDefinition.name=`textLayer`,delete d.layerDefinition.drawingInfo,e){if((e.type===`feature`||e.type===`stream`)&&(a.layerDefinition.name=o.layerDefinition.name=s.layerDefinition.name=c.layerDefinition.name=r.legendLayerNameMap[e.id]||e.title||void 0),`renderer`in e&&e.renderer){let t=e.renderer.toJSON(),n=a.layerDefinition.drawingInfo;n&&(n.renderer=t);let r=o.layerDefinition.drawingInfo;r&&(r.renderer=t);let i=s.layerDefinition.drawingInfo;i&&(i.renderer=t);let l=c.layerDefinition.drawingInfo;l&&(l.renderer=t)}if(n.showLabels&&`labelsVisible`in e&&e.labelsVisible&&`write`in e){let t=Q(e).layerDefinition?.drawingInfo?.labelingInfo;if(t){i=!0;let e=a.layerDefinition.drawingInfo;e&&(e.labelingInfo=t);let n=o.layerDefinition.drawingInfo;n&&(n.labelingInfo=t);let r=s.layerDefinition.drawingInfo;r&&(r.labelingInfo=t);let l=c.layerDefinition.drawingInfo;l&&(l.labelingInfo=t)}}}!(e&&`renderer`in e&&e.renderer)&&!i&&(delete a.layerDefinition.drawingInfo,delete o.layerDefinition.drawingInfo,delete s.layerDefinition.drawingInfo,delete c.layerDefinition.drawingInfo);let f,p=e&&`fieldsIndex`in e?e.fieldsIndex:void 0,m=e&&`renderer`in e?e.renderer:null;if(p){let t=new Set;i&&e&&`fieldsIndex`in e&&await u(t,e),m&&typeof m.collectRequiredFields==`function`&&await m.collectRequiredFields(t,p),f=Array.from(t);let n=p.fields.map(e=>e.toJSON());a.layerDefinition.fields=n,o.layerDefinition.fields=n,s.layerDefinition.fields=n,c.layerDefinition.fields=n}for(let e of t??[]){let t=e.geometry;if(e.visible===!1||!t)continue;let r=e.toJSON();if(Object.hasOwn(r,`popupTemplate`)&&delete r.popupTemplate,r.geometry&&`z`in r.geometry&&r.geometry.z&&delete r.geometry.z,r.symbol){if(`angle`in r.symbol&&!r.symbol.angle){let e=r.symbol;delete e.angle}$(r.symbol)?r.symbol=await q(r.symbol):`text`in r.symbol&&r.symbol.text&&delete r.attributes}if((!n||!n.forceFeatureAttributes)&&f?.length){let e={};for(let t of f)r.attributes&&Object.hasOwn(r.attributes,t)&&(e[t]=r.attributes[t]);r.attributes=e}let i=r;t.type===`polygon`?a.featureSet.features.push(i):t.type===`polyline`?o.featureSet.features.push(i):t.type===`point`?r.symbol&&`text`in r.symbol&&r.symbol.text?d.featureSet.features.push(i):s.featureSet.features.push(i):t.type===`multipoint`?c.featureSet.features.push(i):t.type===`extent`&&(r.geometry=l.fromExtent(t).toJSON(),a.featureSet.features.push(i))}let h=[a,o,c,s,d].filter(e=>e.featureSet.features.length>0);for(let e of h){let t=e.featureSet.features.every(e=>`symbol`in e&&e.symbol);if(t&&(!n||!n.forceFeatureAttributes))for(let t of e.featureSet.features)delete t.attributes;t&&delete e.layerDefinition.drawingInfo,e.layerDefinition.drawingInfo?.renderer&&(await X(e.layerDefinition.drawingInfo.renderer),await J(e.layerDefinition.drawingInfo.renderer))}return h.length?{featureCollection:{layers:h},showLabels:i}:null}async function de(e,t,n){let r=e.renderer,i=n.capabilities;if(e.featureReduction?.type===`binning`||e.featureReduction?.type===`cluster`&&(!i.supportsClustering||e.featureReduction.renderer?.type===`pie-chart`)||r?.type===`pie-chart`&&!i.supportsPieChartRenderer||r?.type===`dot-density`&&!i.supportsDotDensityRenderer||e.geometryType===`polygon`&&r?.authoringInfo?.visualVariables?.some(e=>e.theme===`spike`))return W(e,t,n);e.legendEnabled&&n.legendLayers.push({id:e.id});let a=t.layerView,{printTemplate:o,view:s}=t,c=e.source?.type!==`feature-layer`&&e.source?.type!==`ogc-feature`;if(!a.filter&&!c&&r&&(!(`field`in r)||r.field==null||e.getField(r.field))){let{id:t,title:n,url:i,layerType:c,customParameters:l,layerDefinition:u,charts:p}=Q(e),m={id:t,title:n,url:i,layerType:c,customParameters:l,layerDefinition:u,charts:o.includeCharts?p:void 0};o.attributionVisible&&(m.credits=y(e)),m.showLabels=o.showLabels&&e.labelsVisible&&!!e.labelingInfo&&e.labelingInfo.length>0,K(m,e);let h=m.layerDefinition?.featureReduction;if(delete h?.disablePopup,delete h?.popupInfo,a.displayFilterEnabled||delete m.layerDefinition?.displayFilterInfo,m.layerDefinition?.drawingInfo?.renderer&&(delete m.layerDefinition.minScale,delete m.layerDefinition.maxScale,await X(m.layerDefinition.drawingInfo.renderer),await J(m.layerDefinition.drawingInfo.renderer),`visualVariables`in r&&r.visualVariables?.[0])){let e=r.visualVariables[0];if(e.type===`size`&&e.maxSize&&typeof e.maxSize!=`number`&&e.minSize&&typeof e.minSize!=`number`){let t=f(e,s.scale),n=m.layerDefinition.drawingInfo.renderer;if(`visualVariables`in n&&n.visualVariables?.[0]?.type===`sizeInfo`){let e=n.visualVariables[0];e.minSize=t.minSize,e.maxSize=t.maxSize}}}let g=d(a);if(g&&(m.layerDefinition??={},m.layerDefinition.definitionExpression=m.layerDefinition.definitionExpression?`(${m.layerDefinition.definitionExpression}) AND (${g})`:g),e.gdbVersion&&(m.layerDefinition??={},m.layerDefinition.gdbVersion=e.gdbVersion),a.hasHighlight&&`highlightIds`in a){let t=a;m.selectionObjectIds=t.highlightIds;let n=t.highlightOptions??s.defaultHighlight??new ce;m.selectionSymbol=b(e.geometryType,n)}return m}return U(e,await Z(a),o,n)}async function fe(e,t,n){return e.featureReduction?.type===`binning`||e.featureReduction?.type===`cluster`?W(e,t,n):(e.legendEnabled&&n.legendLayers.push({id:e.id}),U(e,await Z(t.layerView),t.printTemplate,n))}async function pe(e,{printTemplate:t},n){return U(e,e.graphics,t,n)}function me(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});let{layerType:n,customParameters:r}=Q(e),i={layerType:n,customParameters:r};return i.bandIds=e.bandIds,i.compressionQuality=e.compressionQuality,i.format=e.format,i.interpolation=e.interpolation,(e.mosaicRule||e.definitionExpression)&&(i.mosaicRule=e.exportImageServiceParameters.mosaicRule.toJSON()),e.rasterFunction&&(i.renderingRule=e.rasterFunction.toJSON()),e.renderer&&(i.layerDefinition??={},i.layerDefinition.drawingInfo??={},i.layerDefinition.drawingInfo.renderer=e.renderer.toJSON()),K(i,e),i}async function he(e,t,n){if(e.renderer?.type===`flow`||!e.supportsWrite())return W(e,t,n);e.legendEnabled&&n.legendLayers.push({id:e.id});let{bandIds:r,customParameters:i,interpolation:a,layerDefinition:o}=Q(e),s={bandIds:r,customParameters:i,interpolation:a,layerDefinition:o};return s.layerType=`ArcGISImageServiceLayer`,K(s,e),s}async function ge(e,t,n){let r=t.printTemplate;if(!e.portalItem||e.portalItem.access===`public`){let t=Q(e,`web-map`);return t.type=`kml`,delete t.layerType,t.url=s(e.url),t}let i=[],a=t.layerView;a.allVisibleMapImages.forEach((t,n)=>{let r={id:`${e.id}_image${n}`,type:`image`,title:e.id,minScale:e.minScale||0,maxScale:e.maxScale||0,opacity:a.fullOpacity,extent:t.extent};t.href.startsWith(`data:image/png;base64,`)?r.imageData=t.href.slice(22):r.url=t.href,i.push(r)});let o=[...a.allVisiblePoints.items,...a.allVisiblePolylines.items,...a.allVisiblePolygons.items],c={id:e.id,...await U(null,o,r,n)};return i.push(c),i}function _e(e,{outScale:t,printTemplate:n,view:r},i){let a={id:e.id,subLayerIds:[]},o=[],s=t||r.scale,c=e=>{let t=s===0,n=e.minScale===0||s<=e.minScale,r=e.maxScale===0||s>=e.maxScale;if(e.visible&&(t||n&&r)){if(e.sublayers)e.sublayers.forEach(c);else{let t=e.toExportImageJSON(),n={id:e.id,name:e.title,layerDefinition:{definitionExpression:t.definitionExpression,drawingInfo:t.drawingInfo,orderBy:t.orderBy,source:t.source}};o.unshift(n),a.subLayerIds.push(e.id)}}};if(e.sublayers?.forEach(c),o.length){o=o.map(({id:e,name:t,layerDefinition:n})=>({id:e,name:t,layerDefinition:n}));let{layerType:t,customParameters:r}=Q(e),s={layerType:t,customParameters:r};return s.layers=o,s.visibleLayers=e.capabilities?.exportMap?.supportsDynamicLayers?void 0:a.subLayerIds,n.attributionVisible&&(s.credits=y(e)),e.gdbVersion&&(s.gdbVersion=e.gdbVersion),K(s,e),e.legendEnabled&&i.legendLayers.push(a),s}}async function ve({layerView:e,printTemplate:t},n){let r=[],i=e.layer;if(i.featureCollections!=null)for(let e of i.featureCollections){let i=await U(e,e.source?.type===`memory`?e.source.items:[],t,n);i&&r.push(...i.featureCollection.layers)}else if(i.sublayers!=null)for(let e of i.sublayers){let i=await U(null,e.graphics,t,n);i&&r.push(...i.featureCollection.layers)}return{featureCollection:{layers:r}}}function ye(){return{type:`OpenStreetMap`}}async function be(e,{printTemplate:t},n){let r=[];if(e.featureCollections!=null)for(let i of e.featureCollections){let e=await U(i,i.source?.type===`memory`?i.source.items:[],t,n);e&&r.push(...e.featureCollection.layers)}else{let i=await U(null,e.graphics,t,n);i&&r.push(...i.featureCollection.layers)}return{featureCollection:{layers:r}}}async function W(e,{printTemplate:t,view:n},i){i.screenshotLayers.push(e.id);let a={format:`png`,ignoreBackground:!0,ignorePadding:!0,layers:[e]};n.rotation!==0&&(a.rotation=0);let s=i.screenshotExtent||n.state.extent.clone(),c=96,l=!0,u=!0;if(t.exportOptions){let e=t.exportOptions;e.dpi!=null&&e.dpi>0&&(c=e.dpi),e.width!=null&&e.width>0&&(l=e.width%2==n.width%2),e.height!=null&&e.height>0&&(u=e.height%2==n.height%2)}if(t.layout===`map-only`&&t.scalePreserved&&(!t.outScale||t.outScale===n.scale)&&c===96&&(!l||!u)&&n.state.extent.equals(n.extent)&&(a.area={x:0,y:0,width:n.width,height:n.height},l||--a.area.width,u||--a.area.height,!i.screenshotExtent)){let e=n.toMap(r(a.area.width,a.area.height));s.ymin=e.y,s.xmax=e.x,i.screenshotExtent=s}let d=s.clone().shiftCentralMeridian().toJSON(),f=await n.takeScreenshot(a);return{type:`image`,extent:d,imageData:o(f.dataUrl)?.data}}async function xe(e,{layerView:t,printTemplate:n},r){return e.legendEnabled&&r.legendLayers.push({id:e.id}),U(e,await Z(t),n,r)}async function Se(e,t){if(e.legendEnabled)for(let n of e.sublayers)n.legendEnabled&&t.legendLayers.push({id:n.id});let{customParameters:n,effect:r,layerDefinition:i,layerType:a,layers:o,url:s}=Q(e),c={customParameters:n,effect:r,layerDefinition:i,layerType:a,layers:o,url:s};if(K(c,e),Array.isArray(c.layers)){for(let e of c.layers)delete e.popupInfo;c.token&&c.layers.length>0&&(c.layers[c.layers.length-1].token=c.token,delete c.token)}return c}async function Ce(e){let t=[],n=[];for(let t of e.map.allTables)t.type===`feature`&&!t.loaded&&n.push(t.load());n.length&&await Promise.allSettled(n);for(let n of e.map.allTables)if(n.type===`feature`&&n.loaded&&n.isTable&&n.source?.type===`feature-layer`){let{id:e,title:r,customParameters:i,layerDefinition:a,url:o}=Q(n),s={id:e,title:r,customParameters:i,layerDefinition:{definitionExpression:a?.definitionExpression},url:o};K(s,n),t.push(s)}return t.length?t:void 0}function we(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});let{layerType:n,customParameters:r}=Q(e),i={layerType:n,customParameters:r};return K(i,e),i}async function Te(e,t,n){let r=t.layerView;if(e.serviceUrl&&e.styleUrl&&!r.spriteSourceChanged&&!r.styleChanged){let t=m(e.styleUrl,e.apiKey),r=m(e.serviceUrl,e.apiKey);if(!t&&!r||n.capabilities.supportsSecureVectorTileLayer){let n={type:`VectorTileLayer`};return n.styleUrl=s(e.styleUrl),n.token=t,r!==t&&(n.additionalTokens=[{url:e.serviceUrl,token:r}]),n}}return W(e,t,n)}function Ee(e){let t={type:`WebTiledLayer`,urlTemplate:e.urlTemplate?.replaceAll("${",`{`),credits:e.copyright};return e.subDomains&&e.subDomains.length>0&&(t.subDomains=e.subDomains),t}async function De(e,t,n){if(!n.capabilities.supportsWFSLayer)return W(e,t,n);e.legendEnabled&&n.legendLayers.push({id:e.id});let{layerType:r,layerDefinition:i,url:a,wfsInfo:o}=Q(e,`web-map`);return{layerType:r,layerDefinition:i,url:a,wfsInfo:o}}function Oe(e,t){let n=[],r=e=>{e.visible&&(e.sublayers?e.sublayers.forEach(r):e.name&&n.unshift(e.name))};if(e.sublayers?.forEach(r),n.length)return e.legendEnabled&&t.legendLayers.push({id:e.id,subLayerIds:n}),{type:`wms`,customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,transparentBackground:e.imageTransparency,visibleLayers:n,url:s(e.url),version:e.version}}function G(e){let t=e.activeLayer;return{type:`wmts`,customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,format:t.imageFormat,layer:t.id,style:t.styleId,tileMatrixSet:t.tileMatrixSetId,url:s(e.url)}}function K(e,t){if(!t.url)return;let n=typeof e.url==`string`&&e.url?e.url:t.url,r=s(n);e.url=r,e.token=m(r,t.apiKey)}async function q(e){if(e.type===`esriSMS`&&!e.path)return null;let n=e.type===`esriSMS`?null:(await t(e.contentType===`image/svg+xml`?`data:image/svg+xml;base64,`+e.imageData:e.url,{responseType:`image`})).data,r=le??=document.createElement(`canvas`),o=1024;r.width=o,r.height=o;let s=r.getContext(`2d`),c,l;if(e.type===`esriSMS`){let t=new Path2D(e.path);t.closePath(),s.fillStyle=Array.isArray(e.color)?`rgba(${e.color[0]},${e.color[1]},${e.color[2]},${e.color[3]/255})`:`rgb(0,0,0)`,s.fill(t);let n=S(s);if(!n)return null;s.clearRect(0,0,o,o);let r=i(e.size)/Math.max(n.width,n.height);s.scale(r,r);let a=o/r,u=a/2-n.width/2-n.x,d=a/2-n.height/2-n.y;if(s.translate(u,d),Array.isArray(e.color)&&s.fill(t),e.outline?.width&&Array.isArray(e.outline.color)){let a=e.outline;s.lineWidth=i(a.width)/r,s.lineJoin=`round`,s.strokeStyle=`rgba(${a.color[0]},${a.color[1]},${a.color[2]},${a.color[3]/255})`,s.stroke(t),n.width+=s.lineWidth,n.height+=s.lineWidth}n.width*=r,n.height*=r;let f=s.getImageData(o/2-n.width/2,o/2-n.height/2,Math.ceil(n.width),Math.ceil(n.height));c=f.width,l=f.height,s.canvas.width=c,s.canvas.height=l,s.putImageData(f,0,0)}else c=i(e.width),l=i(e.height),s.canvas.width=c,s.canvas.height=l,s.drawImage(n,0,0,s.canvas.width,s.canvas.height);return{type:`esriPMS`,imageData:s.canvas.toDataURL(`image/png`).slice(22),angle:e.angle,contentType:`image/png`,height:a(l),width:a(c),xoffset:e.xoffset,yoffset:e.yoffset}}async function J(e){let t=e.type;if(t===`simple`&&$(e.symbol))e.symbol=await q(e.symbol)??{type:`esriSMS`,color:[0,0,0,0],size:0,style:`esriSMSSquare`};else if(t===`uniqueValue`){if($(e.defaultSymbol)&&(e.defaultSymbol=await q(e.defaultSymbol)),`uniqueValueInfos`in e&&e.uniqueValueInfos)for(let t of e.uniqueValueInfos)$(t.symbol)&&(t.symbol=await q(t.symbol));if(`uniqueValueGroups`in e&&e.uniqueValueGroups)for(let t of e.uniqueValueGroups)for(let e of t.classes)$(e.symbol)&&(e.symbol=await q(e.symbol))}else if(t===`classBreaks`){$(e.defaultSymbol)&&(e.defaultSymbol=await q(e.defaultSymbol));for(let t of e.classBreakInfos)$(t.symbol)&&(t.symbol=await q(t.symbol))}}async function Y(e){if(e?.type!==`styleSymbolReference`)return e;try{return(await se.fromJSON(e).fetchSymbol())?.toJSON()??e}catch{return e}}async function X(e){if(e.type===`simple`&&e.symbol)e.symbol=await Y(e.symbol);else if(e.type===`uniqueValue`){if(e.defaultSymbol=await Y(e.defaultSymbol),`uniqueValueInfos`in e&&e.uniqueValueInfos)for(let t of e.uniqueValueInfos)t.symbol=await Y(t.symbol);if(`uniqueValueGroups`in e&&e.uniqueValueGroups)for(let t of e.uniqueValueGroups)for(let e of t.classes)e.symbol=await Y(e.symbol)}else if(e.type===`classBreaks`){e.defaultSymbol=await Y(e.defaultSymbol);for(let t of e.classBreakInfos)t.symbol=await Y(t.symbol)}}async function Z(e){return e.queryFeatures(e.createQuery()).then(e=>e.features)}function Q(e,t){return e.write({},{ignorePersistenceEnabled:!0,origin:t})??{}}function ke(e){return e.gpMetadata?.executionType?D.fromJSON(e.gpMetadata.executionType):`sync`}function $(e){return e?.type===`esriSMS`&&`path`in e&&!!e.path||(e?.type===`esriPMS`||e?.type===`esriPFS`)&&(`contentType`in e&&e.contentType===`image/svg+xml`||`url`in e&&!!e.url?.endsWith(`.svg`))}export{ue as execute,P as getGPPrintParameters,j as getMode,A as getPrintCache,k as getPrintCapabilities,N as getTaskExecutionMode,M as getTaskInfo,R as test};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{allocateFlatGeometry as e,writeBezierCurveSegment as t,writeCircularArcSegment as n,writeEllipticArc7Segment as r}from"../../../geometry/FlatGeometry.js";import{featureGeometryTypeKebabDictionary as i}from"../../../geometry/support/typeUtils.js";import{zScale as a}from"../../../geometry/support/zscale.js";import{FlatFeature as o}from"../../../layers/graphics/FlatFeature.js";import{FlatFeatureSet as s}from"../../../layers/graphics/FlatFeatureSet.js";import c from"../../../layers/graphics/OptimizedGeometry.js";import{createFeatureId as l}from"../../../layers/graphics/data/createFeatureId.js";import{makeAttributesClass as u,makeVertexTransformer as d}from"./pbfFeatureSetUtils.js";class f{constructor(e){this._options=e,this.featureSet=new s,this.parseOnly=null,this._idInfo=null,this._transformInPlace=null,this._transformInPlaceXY=null,this._push=f._pushXY,this._attributesClass=null,this._previousX=0,this._previousY=0,this._vertex=[],this._i=0,this._geometry=null,this._iVertex=0,this._iPart=0,this._isPolygon=!1,this._ringEndsAt=-1}queryGeometryType(){return this.featureSet.queryGeometryType}queryGeometry(){return this.featureSet.queryGeometry}idField(e){typeof e==`string`?this._idInfo??={type:`object-id`,fieldName:e}:this._idInfo={type:`unique-id-simple`,fieldName:e.name}}finish(){if(this._idInfo)for(let e of this.featureSet.features)e.objectId=l(e,this._idInfo);let{spatialReference:e,features:t}=this.featureSet;if(e)for(let{geometry:n}of t)n&&(n.spatialReference=e);this.featureSet.transform=null}feature(){this._attributesClass??=u(this.featureSet.fields?.map(e=>e.name)??[]),this.featureSet.features.push(new o(null,new this._attributesClass,null,0)),this._setVertexTransformer()}centroid(e){let{hasZ:t,hasM:n}=this.featureSet;this.featureSet.features.at(-1).centroid=new c([],e,t,n)}geometry(t,n,r){this._previousX=this._previousY=0,this._i=this._iVertex=this._iPart=0;let{hasZ:a,hasM:o}=this.featureSet;a??=!1,o??=!1,this._vertex=[0,0],a&&this._vertex.push(0),o&&this._vertex.push(0);let s=i.fromJSON(n);this._isPolygon=s===`polygon`;let c=Number(this._isPolygon),l=s===`point`?1:r.reduce((e,t)=>e+t-c,0),u=s===`point`?0:r.length;if(this._geometry=e(s,l,u,a,o,!1),this._push=a?o?f._pushXYZM:f._pushXYZ:o?f._pushXYM:f._pushXY,this._geometry.isMultipart()){this._geometry.partOffsets[0]=0;for(let e=0;e<u;++e)this._geometry.partOffsets[e+1]=this._geometry.partOffsets[e]+r[e]-c}this._ringEndsAt=c?this._geometry.partOffsets.at(1)??0:-1,t===1?(this.featureSet.queryGeometry=this._geometry,this.featureSet.queryGeometryType=n):this.featureSet.features.at(-1).geometry=this._geometry}coord(e){let t=this._vertex;t[this._i++]=e,!(this._i<t.length)&&(this._i=0,t[0]+=this._previousX,t[1]+=this._previousY,[this._previousX,this._previousY]=t,!(this._iVertex===this._ringEndsAt&&(++this._iPart,this._ringEndsAt=this._geometry.partOffsets[this._iPart+1],this._previousX=this._previousY=0,this._isPolygon))&&(this._transformInPlace?.(t),this._push(this)))}curvedGeometry(t,n,r,a){let{hasZ:o,hasM:s}=this.featureSet;o??=!1,s??=!1,this._i=this._iVertex=this._iPart=0;let c=i.fromJSON(t);this._isPolygon=c===`polygon`;let l=Number(!this._isPolygon),u=n.length,d=0,f=0,p=l*u;for(let e=0;e<r.length;++e)switch(p+=a[e],r[e]){case 1:case 3:d+=a[e];continue;case 2:f+=a[e]}this._geometry=e(c,p,u,o,s,!0,d,f);let{partOffsets:m}=this._geometry;m[0]=0;for(let e=0,t=0;e<u;++e){m[e+1]=m[e]+l;for(let r=0;r<n[e];++r)m[e+1]+=a[t++]}switch(t){case`esriGeometryPoint`:case`esriGeometryMultipoint`:throw Error(`Curved ${t} does not make sense`)}this.featureSet.features.at(-1).geometry=this._geometry}startCurvedPart(e){}finishCurvedPart(e){this._isPolygon||(this._transform(e,this._vertex),this._push(this)),++this._iPart}lineSegment(e,t){this._transform(e,this._vertex),this._push(this)}bezierSegment(e,n,r,i){this._transform(e,this._vertex),this._push(this),this._transformXY(n,h.b[0]),this._transformXY(r,h.b[1]),this._transformXY(i,h.b[2]),this._i=t(this._vertex,h,this._geometry,this._iVertex-1,this._i)}circularArcSegment(e,t,r){this._transform(e,this._vertex),this._push(this),this._transformXY(t,p.c[0]),this._transformXY(r,p.c[1]),this._i=n(this._vertex,p,this._geometry,this._iVertex-1,this._i)}ellipticArcSegment(e,t,n,i,a,o,s,c){this._transform(e,this._vertex),this._push(this),this._transformXY(t,m.a[0]),this._transformXY(n,m.a[1]),m.a[2]=i,m.a[3]=a,m.a[4]=o,m.a[5]=s,m.a[6]=c,this._i=r(this._vertex,m,this._geometry,this._iVertex-1,this._i)}static _pushXY(e){let t=e._iVertex++,{vertexXY:n}=e._geometry;[n[t*2],n[t*2+1]]=e._vertex}static _pushXYZ(e){let t=e._iVertex++,{vertexXY:n,vertexZ:r}=e._geometry;[n[t*2],n[t*2+1],r[t]]=e._vertex}static _pushXYM(e){let t=e._iVertex++,{vertexXY:n,vertexM:r}=e._geometry;[n[t*2],n[t*2+1],r[t]]=e._vertex}static _pushXYZM(e){let t=e._iVertex++,{vertexXY:n,vertexM:r,vertexZ:i}=e._geometry;[n[t*2],n[t*2+1],i[t],r[t]]=e._vertex}_setVertexTransformer(){let{sourceSpatialReference:e}=this._options,{spatialReference:t,hasZ:n,transform:r}=this.featureSet,i=n?a(e,t):1;this._transformInPlace??=d(this.featureSet,i),this._transformInPlaceXY??=d({transform:r})}_transform(e,t){for(let n=0;n<e.length;++n)t[n]=e[n];this._transformInPlace?.(t)}_transformXY(e,t){t[0]=e[0],t[1]=e[1],this._transformInPlaceXY?.(t)}}const p={c:[[0,0],[0,0]]},m={a:[[0,0],[0,0],0,0,0,0,0]},h={b:[[0,0],[0,0],[0,0]]};export{f as FlatFeatureSetParserContext};
2
+ import{allocateFlatGeometry as e,writeBezierCurveSegment as t,writeCircularArcSegment as n,writeEllipticArc7Segment as r,FlatGeometry as i}from"../../../geometry/FlatGeometry.js";import{featureGeometryTypeKebabDictionary as a}from"../../../geometry/support/typeUtils.js";import{zScale as o}from"../../../geometry/support/zscale.js";import{FlatFeature as s}from"../../../layers/graphics/FlatFeature.js";import{FlatFeatureSet as c}from"../../../layers/graphics/FlatFeatureSet.js";import l from"../../../layers/graphics/OptimizedGeometry.js";import{createFeatureId as u}from"../../../layers/graphics/data/createFeatureId.js";import{makeAttributesClass as d,makeVertexTransformer as f}from"./pbfFeatureSetUtils.js";class p{constructor(e){this._options=e,this.featureSet=new c,this.parseOnly=null,this._idInfo=null,this._transformInPlace=null,this._transformInPlaceXY=null,this._push=p._pushXY,this._attributesClass=null,this._previousX=0,this._previousY=0,this._vertex=[],this._i=0,this._geometry=null,this._iVertex=0,this._iPart=0,this._isPolygon=!1,this._ringEndsAt=-1,this._pointBuffer=null,this._pointBufferOffset=0}queryGeometryType(){return this.featureSet.queryGeometryType}queryGeometry(){return this.featureSet.queryGeometry}idField(e){typeof e==`string`?this._idInfo??={type:`object-id`,fieldName:e}:this._idInfo={type:`unique-id-simple`,fieldName:e.name}}finish(){if(this._idInfo)for(let e of this.featureSet.features)e.objectId=u(e,this._idInfo);let{spatialReference:e,features:t}=this.featureSet;if(e)for(let{geometry:n}of t)n&&(n.spatialReference=e);this.featureSet.transform=null}feature(){this._attributesClass??=d(this.featureSet.fields?.map(e=>e.name)??[]),this.featureSet.features.push(new s(null,new this._attributesClass,null,0)),this._setVertexTransformer()}centroid(e){let{hasZ:t,hasM:n}=this.featureSet;this.featureSet.features.at(-1).centroid=new l([],e,t,n)}geometry(t,n,r){this._previousX=this._previousY=0,this._i=this._iVertex=this._iPart=0;let{hasZ:i,hasM:o}=this.featureSet;i??=!1,o??=!1,this._vertex=[0,0],i&&this._vertex.push(0),o&&this._vertex.push(0);let s=a.fromJSON(n);this._isPolygon=s===`polygon`;let c=Number(this._isPolygon),l=s===`point`?1:r.reduce((e,t)=>e+t-c,0),u=s===`point`?0:r.length;if(this._geometry=s===`point`?this._allocatePoint():e(s,l,u,i,o,!1),this._push=i?o?p._pushXYZM:p._pushXYZ:o?p._pushXYM:p._pushXY,this._geometry.isMultipart()){this._geometry.partOffsets[0]=0;for(let e=0;e<u;++e)this._geometry.partOffsets[e+1]=this._geometry.partOffsets[e]+r[e]-c}this._ringEndsAt=c?this._geometry.partOffsets.at(1)??0:-1,t===1?(this.featureSet.queryGeometry=this._geometry,this.featureSet.queryGeometryType=n):this.featureSet.features.at(-1).geometry=this._geometry}coord(e){let t=this._vertex;t[this._i++]=e,!(this._i<t.length)&&(this._i=0,t[0]+=this._previousX,t[1]+=this._previousY,[this._previousX,this._previousY]=t,!(this._iVertex===this._ringEndsAt&&(++this._iPart,this._ringEndsAt=this._geometry.partOffsets[this._iPart+1],this._previousX=this._previousY=0,this._isPolygon))&&(this._transformInPlace?.(t),this._push(this)))}curvedGeometry(t,n,r,i){let{hasZ:o,hasM:s}=this.featureSet;o??=!1,s??=!1,this._i=this._iVertex=this._iPart=0;let c=a.fromJSON(t);this._isPolygon=c===`polygon`;let l=Number(!this._isPolygon),u=n.length,d=0,f=0,p=l*u;for(let e=0;e<r.length;++e)switch(p+=i[e],r[e]){case 1:case 3:d+=i[e];continue;case 2:f+=i[e]}this._geometry=e(c,p,u,o,s,!0,d,f);let{partOffsets:m}=this._geometry;m[0]=0;for(let e=0,t=0;e<u;++e){m[e+1]=m[e]+l;for(let r=0;r<n[e];++r)m[e+1]+=i[t++]}switch(t){case`esriGeometryPoint`:case`esriGeometryMultipoint`:throw Error(`Curved ${t} does not make sense`)}this.featureSet.features.at(-1).geometry=this._geometry}startCurvedPart(e){}finishCurvedPart(e){this._isPolygon||(this._transform(e,this._vertex),this._push(this)),++this._iPart}lineSegment(e,t){this._transform(e,this._vertex),this._push(this)}bezierSegment(e,n,r,i){this._transform(e,this._vertex),this._push(this),this._transformXY(n,g.b[0]),this._transformXY(r,g.b[1]),this._transformXY(i,g.b[2]),this._i=t(this._vertex,g,this._geometry,this._iVertex-1,this._i)}circularArcSegment(e,t,r){this._transform(e,this._vertex),this._push(this),this._transformXY(t,m.c[0]),this._transformXY(r,m.c[1]),this._i=n(this._vertex,m,this._geometry,this._iVertex-1,this._i)}ellipticArcSegment(e,t,n,i,a,o,s,c){this._transform(e,this._vertex),this._push(this),this._transformXY(t,h.a[0]),this._transformXY(n,h.a[1]),h.a[2]=i,h.a[3]=a,h.a[4]=o,h.a[5]=s,h.a[6]=c,this._i=r(this._vertex,h,this._geometry,this._iVertex-1,this._i)}_allocatePoint(){let{hasZ:e,hasM:t}=this.featureSet,n=Float64Array.BYTES_PER_ELEMENT*(2+Number(e)+Number(t));if(this._pointBuffer??=new ArrayBuffer(32*n),this._pointBufferOffset>=this._pointBuffer.byteLength){let e=Math.floor(this._pointBuffer.byteLength/n*1.5);this._pointBuffer=new ArrayBuffer(e*n),this._pointBufferOffset=0}let r=new Float64Array(this._pointBuffer,this._pointBufferOffset,2);this._pointBufferOffset+=r.byteLength;let a=new i({type:`point`,vertexCount:1,vertexXY:r,vertexZ:void 0,vertexM:void 0,partCount:0,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:0,segmentCountBezier:0});return e&&(a.vertexZ=new Float64Array(this._pointBuffer,this._pointBufferOffset,1),this._pointBufferOffset+=a.vertexZ.byteLength),t&&(a.vertexM=new Float64Array(this._pointBuffer,this._pointBufferOffset,1),this._pointBufferOffset+=a.vertexM.byteLength),a}static _pushXY(e){let t=e._iVertex++,{vertexXY:n}=e._geometry;[n[t*2],n[t*2+1]]=e._vertex}static _pushXYZ(e){let t=e._iVertex++,{vertexXY:n,vertexZ:r}=e._geometry;[n[t*2],n[t*2+1],r[t]]=e._vertex}static _pushXYM(e){let t=e._iVertex++,{vertexXY:n,vertexM:r}=e._geometry;[n[t*2],n[t*2+1],r[t]]=e._vertex}static _pushXYZM(e){let t=e._iVertex++,{vertexXY:n,vertexM:r,vertexZ:i}=e._geometry;[n[t*2],n[t*2+1],i[t],r[t]]=e._vertex}_setVertexTransformer(){let{sourceSpatialReference:e}=this._options,{spatialReference:t,hasZ:n,transform:r}=this.featureSet,i=n?o(e,t):1;this._transformInPlace??=f(this.featureSet,i),this._transformInPlaceXY??=f({transform:r})}_transform(e,t){for(let n=0;n<e.length;++n)t[n]=e[n];this._transformInPlace?.(t)}_transformXY(e,t){t[0]=e[0],t[1]=e[1],this._transformInPlaceXY?.(t)}}const m={c:[[0,0],[0,0]]},h={a:[[0,0],[0,0],0,0,0,0,0]},g={b:[[0,0],[0,0],[0,0]]};export{p as FlatFeatureSetParserContext};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import e from"../../Color.js";import t from"../../symbols/SimpleFillSymbol.js";import n from"../../symbols/SimpleLineSymbol.js";import r from"../../symbols/SimpleMarkerSymbol.js";import{isInEffectiveScaleRange as i}from"../../views/support/layerViewUtils.js";function a(){return{layerDefinition:{name:`multipointLayer`,geometryType:`esriGeometryMultipoint`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryMultipoint`,features:[]}}}function o(){return{layerDefinition:{name:`polygonLayer`,geometryType:`esriGeometryPolygon`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryPolygon`,features:[]}}}function s(){return{layerDefinition:{name:`pointLayer`,geometryType:`esriGeometryPoint`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryPoint`,features:[]}}}function c(){return{layerDefinition:{name:`polylineLayer`,geometryType:`esriGeometryPolyline`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryPolyline`,features:[]}}}function l(e,t=15){let n=e.canvas.width,r=e.canvas.height,i=e.getImageData(0,0,n,r).data,a,o,s,c,l,u;o1:for(o=r;o--;)for(a=n;a--;)if(i[(n*o+a)*4+3]>t){u=o;break o1}if(!u)return null;o2:for(a=n;a--;)for(o=u+1;o--;)if(i[(n*o+a)*4+3]>t){l=a;break o2}o3:for(a=0;a<=l;++a)for(o=u+1;o--;)if(i[(n*o+a)*4+3]>t){s=a;break o3}o4:for(o=0;o<=u;++o)for(a=s;a<=l;++a)if(i[(n*o+a)*4+3]>t){c=o;break o4}return{x:s,y:c,width:l-s,height:u-c}}function u(e){if(!e.attributionVisible)return;let t;if(typeof e.originOf==`function`&&e.originOf(`copyright`)===`user`&&(t=e.copyright),t||!e.hasAttributionData)return t??=e.portalItem?.accessInformation,t??=e.copyright,t??void 0}function d(i,a){let o=a.color?.clone()??new e([0,255,255]),s=a.haloColor?.clone()??o.clone();switch(i){case`envelope`:case`polygon`:return o.a*=a.fillOpacity??.25,new t({color:o,outline:new n({color:s}),style:`solid`});case`polyline`:return new n({color:s});default:return s.a=1,new r({color:s,outline:null})}}function f(e,t){let n=e.allLayerViews.items;if(t===e.scale)return n.filter(e=>!e.suspended);let r=[];for(let e of n){let n=e.parent;(!n||n===e.view||!h(n)&&!g(n)||r.includes(n))&&e.visible&&e.visibleAtCurrentTimeExtent&&i(e.layer.effectiveScaleRange,t)&&r.push(e)}return r}function p(e){return e?.type===`bing-maps`}function m(e){return e&&`blendMode`in e&&`effect`in e}function h(e){return e.layer.type===`catalog`}function g(e){return e.layer.type===`group`}function _(e){return e&&`trackInfo`in e}function v(e){let t=e.layer;if(m(t)){let n=t.blendMode;if((!n||n===`normal`)&&(t.effect||`featureEffect`in e&&e.featureEffect))return!0}return!!(_(t)&&t.trackInfo?.enabled)}export{a as createMultipointLayer,s as createPointLayer,o as createPolygonLayer,c as createPolylineLayer,l as getContextBoundingBox,u as getCopyright,d as getSelectionSymbol,f as getVisibleLayerViews,p as isBingMapsLayer,m as isBlendLayer,v as isScreenshotRequired};
2
+ import e from"../../Color.js";import{isInEffectiveScaleRange as t}from"../../geometry/support/scaleUtils.js";import n from"../../symbols/SimpleFillSymbol.js";import r from"../../symbols/SimpleLineSymbol.js";import i from"../../symbols/SimpleMarkerSymbol.js";function a(){return{layerDefinition:{name:`multipointLayer`,geometryType:`esriGeometryMultipoint`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryMultipoint`,features:[]}}}function o(){return{layerDefinition:{name:`polygonLayer`,geometryType:`esriGeometryPolygon`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryPolygon`,features:[]}}}function s(){return{layerDefinition:{name:`pointLayer`,geometryType:`esriGeometryPoint`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryPoint`,features:[]}}}function c(){return{layerDefinition:{name:`polylineLayer`,geometryType:`esriGeometryPolyline`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryPolyline`,features:[]}}}function l(e,t=15){let n=e.canvas.width,r=e.canvas.height,i=e.getImageData(0,0,n,r).data,a,o,s,c,l,u;o1:for(o=r;o--;)for(a=n;a--;)if(i[(n*o+a)*4+3]>t){u=o;break o1}if(!u)return null;o2:for(a=n;a--;)for(o=u+1;o--;)if(i[(n*o+a)*4+3]>t){l=a;break o2}o3:for(a=0;a<=l;++a)for(o=u+1;o--;)if(i[(n*o+a)*4+3]>t){s=a;break o3}o4:for(o=0;o<=u;++o)for(a=s;a<=l;++a)if(i[(n*o+a)*4+3]>t){c=o;break o4}return{x:s,y:c,width:l-s,height:u-c}}function u(e){if(!e.attributionVisible)return;let t;if(typeof e.originOf==`function`&&e.originOf(`copyright`)===`user`&&(t=e.copyright),t||!e.hasAttributionData)return t??=e.portalItem?.accessInformation,t??=e.copyright,t??void 0}function d(t,a){let o=a.color?.clone()??new e([0,255,255]),s=a.haloColor?.clone()??o.clone();switch(t){case`envelope`:case`polygon`:return o.a*=a.fillOpacity??.25,new n({color:o,outline:new r({color:s}),style:`solid`});case`polyline`:return new r({color:s});default:return s.a=1,new i({color:s,outline:null})}}function f(e,n){let r=e.allLayerViews.items;if(n===e.scale)return r.filter(e=>!e.suspended);let i=[];for(let e of r){let r=e.parent;(!r||r===e.view||!h(r)&&!g(r)||i.includes(r))&&e.visible&&e.visibleAtCurrentTimeExtent&&t(e.layer.effectiveScaleRange,n)&&i.push(e)}return i}function p(e){return e?.type===`bing-maps`}function m(e){return e&&`blendMode`in e&&`effect`in e}function h(e){return e.layer.type===`catalog`}function g(e){return e.layer.type===`group`}function _(e){return e&&`trackInfo`in e}function v(e){let t=e.layer;if(m(t)){let n=t.blendMode;if((!n||n===`normal`)&&(t.effect||`featureEffect`in e&&e.featureEffect))return!0}return!!(_(t)&&t.trackInfo?.enabled)}export{a as createMultipointLayer,s as createPointLayer,o as createPolygonLayer,c as createPolylineLayer,l as getContextBoundingBox,u as getCopyright,d as getSelectionSymbol,f as getVisibleLayerViews,p as isBingMapsLayer,m as isBlendLayer,v as isScreenshotRequired};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{clone as n}from"../../core/lang.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import a from"../../renderers/ClassBreaksRenderer.js";import o from"../../renderers/PointCloudRGBRenderer.js";import s from"../../renderers/PointCloudStretchRenderer.js";import c from"../../renderers/support/AuthoringInfo.js";import l from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as u,createColorStops as d}from"../../renderers/support/utils.js";import f from"../../renderers/visualVariables/ColorVariable.js";import p from"../../renderers/visualVariables/support/ColorStop.js";import m from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import h from"../heuristics/ageUnit.js";import g from"../heuristics/outline.js";import _ from"../heuristics/sizeRange.js";import{spliceVisualVariables as v,updateAuthoringInfoVisualVariable as y,processRegenerateParams as b,getRendererToUpdate as x,getStyleType as S,hasOutlineVV as C,hasScaleDependentSizeVV as w,findColorVVIndex as T,findOutlineVVIndex as E,findScaleDependentSizeVVIndex as D}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as O}from"./support/timeSeriesUtils.js";import{errorCallback as k,getTitleAndExpressionForAgeRenderer as A,updateAgeRendererAuthoringInfoVV as j,getClassBreaks as M,getSummaryStatistics as N,getPointSizeAlgorithm as P,createSymbol as F,getSymbolOutlineFromScheme as I,getSymbolSizeFromScheme as L,verifyBasicFieldValidity as R,isValidPointSize as z,getDefaultDataRange as ee,createDefaultStopValues as te,createStopValues as ne,getDataRange as re,createDataValues as ie,getBasemapInfo as ae}from"./support/utils.js";import B from"../statistics/summaryStatisticsForTimeSeries.js";import{verifyDates as oe,supportedAgeUnits as V}from"../statistics/support/ageUtils.js";import{verifyBinningParams as H}from"../support/binningUtils.js";import{isAnyDateField as U,getNormalizationType as se,getFieldsList as W}from"../support/utils.js";import{createLayerAdapter as G,featureCapableLayerTypes as K,getLayerTypeLabels as q,binningCapableLayerTypes as J}from"../support/adapters/support/layerUtils.js";import{cloneScheme as Y,createScheme as ce,getSchemes as le,getSchemeById as ue}from"../symbology/color.js";import{getColorSchemeDefinition as de}from"../symbology/support/utils.js";const fe=2**53-1;async function pe(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-visual-variable`);let r={...n},i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};if(await a.load(o),a.geometryType!==`mesh`&&r.worldScale&&r.view?.type!==`3d`)throw new t(`color-visual-variable:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'worldScale' parameter is true`);let s=await W({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),c=R(a,s,`color-visual-variable:invalid-parameters`);if(c)throw c;return{...r,layer:a}}async function me(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-continuous-renderer:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-continuous-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-continuous-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0;let i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled;let c=`featureReduction`in r.layer&&r.layer.featureReduction?.type===`cluster`;if(r.sizeOptimizationEnabled=(s===`point`||s===`multipoint`||s===`polyline`)&&!c&&r.sizeOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-continuous-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let l=await W({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),u=R(a,l,`color-continuous-renderer:invalid-parameters`);if(u)throw u;return{...r,layer:a}}async function he(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression)))throw new t(`color-class-breaks-renderer:missing-parameters`,`'layer' and 'field' or 'valueExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new t(`color-class-breaks-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-class-breaks-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0,r.classificationMethod??=`equal-interval`,r.normalizationType=se(r);let i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));if((r.minValue==null||r.maxValue==null)&&(r.minValue!=null||r.maxValue!=null))throw new t(`color-class-breaks-renderer:missing-parameters`,`Both 'minValue' and 'maxValue' are required when specifying custom data range`);let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;if(r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-class-breaks-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let c=await W({field:r.field,normalizationField:r.normalizationField}),l=R(a,c,`color-class-breaks-renderer:invalid-parameters`);if(l)throw l;return{...r,layer:a}}function ge(e){let t={...e};delete t.basemap,delete t.colorScheme,delete t.legendOptions,delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let n=t;return n.analyzeData=t.minValue==null||t.maxValue==null,n}async function _e(e){if(!e?.layer)throw new t(`color-point-cloud-true-color-renderer:missing-parameters`,`'layer' parameter is required`);let n={...e,layer:e.layer},r=[10],i=G(n.layer,r);if(!i)throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(r).join(`, `));if(n.layer=i,n.density=n.density||25,n.size=n.size||`100%`,!z(n.size))throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let a=n.signal==null?null:{signal:n.signal};return await i.load(a),n}async function ve(e){if(!(e?.layer&&e.field))throw new t(`color-point-cloud-continuous-renderer:missing-parameters`,`'layer' and 'field' parameters are required`);let n=e.field.toLowerCase();if(n!==`intensity`&&n!==`elevation`)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'field' should be either 'intensity' or 'elevation'`);let r={...e,layer:e.layer,field:e.field},i=[10],a=G(r.layer,i);if(!a)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));if(r.layer=a,r.density=r.density||25,r.size=r.size||`100%`,!z(r.size))throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let o=r.signal==null?null:{signal:r.signal};return await a.load(o),r}function X(e){let t={...e},n=!!t.symbolType?.includes(`3d-volumetric`);delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let r=t;return r.worldScale=n,r}async function ye(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new t(`color-age-renderer:missing-parameters`,`'layer', 'view', startTime', 'endTime' parameters are required`);let n={...e};n.symbolType=n.symbolType||`2d`,n.defaultSymbolEnabled??=!0;let r=G(n.layer,K);if(!r)throw new t(`color-age-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(K).join(`, `));let i=n.signal==null?null:{signal:n.signal};await r.load(i);let a=r.geometryType;n.outlineOptimizationEnabled=a===`polygon`&&n.outlineOptimizationEnabled;let o=`featureReduction`in n.layer&&n.layer.featureReduction?.type===`cluster`;if(n.sizeOptimizationEnabled=(a===`point`||a===`multipoint`||a===`polyline`)&&!o&&n.sizeOptimizationEnabled,a===`mesh`)n.symbolType=`3d-volumetric`,n.colorMixMode=n.colorMixMode||`replace`,n.edgesType=n.edgesType||`none`;else if(n.symbolType===`3d-volumetric-uniform`&&a!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);if(n.symbolType.includes(`3d-volumetric`)&&!(n.view&&n.view.type===`3d`))throw new t(`color-age-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let s=oe(r,n.startTime,n.endTime,`color-age-renderer:invalid-parameters`);if(s)throw s;if(n.unit&&!V.includes(n.unit))throw new t(`color-age-renderer:invalid-unit`,`Supported units are: ${V.join(`, `)}`);return{...n,layer:r}}async function be(e){let n=`regenerate-color-visual-variable`;await b(e,n);let r=await x(e);if(r?.type!==`class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer must be a ClassBreaksRenderer to regenerate a color visual variable`);let i=r.authoringInfo,a=i?.visualVariables.find(e=>e.type===`color`),o=r.visualVariables?.find(e=>e.type===`color`);if(!o)throw new t(`${n}:invalid-parameters`,`Renderer does not have a color visual variable`);let{field:s,normalizationField:c,valueExpression:l,valueExpressionTitle:u}=o,d=i?.type===`univariate-color-size`?i?.univariateTheme:a?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=a?.dataSeriesName,v=a?.dataSeriesCalculationName,y=await pe({layer:f,field:s,valueExpression:l,valueExpressionTitle:u,normalizationField:c,theme:d,forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function xe(e){let n=`regenerate-color-continuous-renderer`;await b(e,n);let r=await x(e),i=S(r);if(!i||![`color-continuous`,`color-size`].includes(i))throw new t(`${n}:invalid-renderer`,`Renderer is invalid`);let{authoringInfo:a,field:o,normalizationField:s,valueExpression:c,valueExpressionTitle:l}=r,u=a?.visualVariables.find(e=>e.type===`color`),d=u?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=u?.dataSeriesName,v=u?.dataSeriesCalculationName,y=await me({layer:f,field:o,valueExpression:c,valueExpressionTitle:l,normalizationField:s,theme:d,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function Se(e){let n=`regenerate-color-class-breaks-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i,field:a,normalizationField:o,normalizationType:s,normalizationTotal:c,valueExpression:l,valueExpressionTitle:u}=r,{classificationMethod:d,standardDeviationInterval:f}=i,p=r.classBreakInfos.length,{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=i?.dataSeriesName,w=i?.dataSeriesCalculationName,T=await he({layer:m,field:a,valueExpression:l,valueExpressionTitle:u,normalizationType:s,normalizationField:o,normalizationTotal:c,classificationMethod:d,standardDeviationInterval:f,numClasses:p,outlineOptimizationEnabled:C(r),defaultSymbolEnabled:!!r.defaultSymbol,forBinning:h,dataSeriesName:y,dataSeriesCalculationName:w,filter:g,view:_,signal:v});return{...e,creatorParameters:T,renderer:r}}async function Ce(e){let n=`regenerate-color-age-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-age`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i}=r,a=i?.visualVariables.find(e=>e.type===`color`),o=a.startTime,s=a.endTime,c=a.units,l=a.theme,{layer:u,filter:d,view:f,signal:p}=e,m=await ye({layer:u,startTime:o,endTime:s,unit:c,theme:l,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),filter:d,view:f,signal:p});return{...e,creatorParameters:m,renderer:r}}async function Z(e,t){let n=e.colorScheme,r=null,i=null,{view:a}=e,o=await ae(e.basemap,a);if(r=o.basemapId==null?null:o.basemapId,i=o.basemapTheme==null?null:o.basemapTheme,n)return{scheme:Y(n),basemapId:r,basemapTheme:i};let s=e.theme||`high-to-low`,c=le({theme:s,basemapTheme:i,geometryType:e.geometryType,worldScale:e.worldScale,view:a});if(c){if(r=c.basemapId,i=c.basemapTheme,e.schemeId){let t=s+`/`+r+`/`+e.schemeId;n=ue({id:t,geometryType:e.geometryType})}else n=c.primaryScheme}return{scheme:n,basemapId:r,basemapTheme:i}}function we(e,t){let n=de(e);return ce({geometryType:t},void 0,n.commonProps,n.colorRampInfo)}async function Te(n,r){let i=r.layer,a=await Z({basemap:r.basemap,colorScheme:r.colorScheme,geometryType:i.geometryType,schemeId:r.field.toLowerCase()===`elevation`?`point-cloud-elevation-scheme`:`point-cloud-intensity-scheme`}),o=a.scheme;if(!o)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Unable to find color scheme`);let s=e(o.colors,5);if(s.length<5)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Color scheme does not have enough colors`);let c=ee(n,!1,!0),l=c?te(c[0],c[1],5):ne(n);return{stops:d({values:l,isDate:!1,colors:s,labelIndexes:[0,2,4]}),basemapId:a.basemapId,basemapTheme:a.basemapTheme,statistics:n,defaultValuesUsed:!!c,colorScheme:Y(o)}}function Ee(e,t,n,r){let i=re(e,t,n,!0);return{values:ie(i,e,t,r),defaultValuesUsed:i.defaultValuesUsed}}async function De(n,i,a,o){let{field:s,theme:u}=n,d=await Z({basemap:n.basemap,theme:n.theme,geometryType:a,colorScheme:n.colorScheme,worldScale:n.worldScale,view:n.view}),h=d.scheme;if(!h)throw new t(`color-visual-variable:insufficient-info`,`Unable to find color scheme`);let g=e(h.colors,5);if(g.length<5)throw new t(`color-visual-variable:insufficient-info`,`Color scheme does not have enough colors`);let{values:_,defaultValuesUsed:v}=Ee(i,u,o,h.id.includes(`seq-`)),y=e(g,5),b=new f({field:s??void 0,valueExpression:n.valueExpression,valueExpressionTitle:n.valueExpressionTitle,normalizationField:n.normalizationField,stops:_.map((e,t)=>new p({value:e,color:y[t]})),legendOptions:r(m,n.legendOptions)}),x=new l({type:`color`,minSliderValue:n.minValue==null?i.min:n.minValue,maxSliderValue:n.maxValue==null?i.max:n.maxValue,theme:h.theme,dataSeriesName:n.dataSeriesName,dataSeriesCalculationName:n.dataSeriesCalculationName}),S=new c({visualVariables:[x]});return{basemapId:d.basemapId,basemapTheme:d.basemapTheme,visualVariable:b,statistics:i,defaultValuesUsed:v,colorScheme:Y(h),authoringInfo:S}}async function Oe(e,t,n,r,o,s,c){let l=await i(`esri/smartMapping/t9n/smartMapping`),{field:u,defaultSymbolEnabled:d}=c,f=Y(e.colorScheme),p=t?.opacity,m=[e.visualVariable.clone()];return t?.visualVariables?.length&&m.push(...t.visualVariables.map(e=>e.clone())),n?.minSize&&m.push(n.minSize),{renderer:new a({classBreakInfos:[{minValue:-fe,maxValue:fe,symbol:F(s,{type:c.symbolType,color:f.noDataColor,size:L(f,s),outline:I(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}})}],defaultLabel:d?l.other:null,defaultSymbol:d?F(s,{type:c.symbolType,color:f.noDataColor,size:L(f,s),outline:I(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}}):null,field:u,normalizationType:r,normalizationField:o,valueExpression:c.valueExpression,valueExpressionTitle:c.valueExpressionTitle,visualVariables:m,authoringInfo:e.authoringInfo&&e.authoringInfo.clone()}),visualVariable:e.visualVariable.clone(),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,colorScheme:Y(e.colorScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}async function Q(e){let t=await pe(e),{view:n,field:r,valueExpression:i,minValue:a,maxValue:o,layer:s,normalizationField:c,signal:l,filter:u,statistics:d,dataSeriesName:f,dataSeriesCalculationName:p}=t,m=c?`field`:void 0,h=await(d??(f?B({layer:s,view:n,signal:l,timeSeriesName:f,timeSeriesCalculationName:p,filter:u}):N({layer:s,field:r,valueExpression:i,sqlExpression:t.sqlExpression,sqlWhere:t.sqlWhere,normalizationType:m,normalizationField:c,minValue:a,maxValue:o,filter:u,view:n,signal:l}))),g=s,_=r&&typeof r!=`function`?g.getField(r):null;return await De(t,h,g.geometryType,U(_))}async function ke(t){let{view:n,filter:r,creatorParameters:i,renderer:a,signal:o}=await be(t),s=a.authoringInfo?.clone(),c=s?.visualVariables.find(e=>e.type===`color`),l=a.visualVariables?.find(e=>e.type===`color`),{field:u,normalizationField:d,valueExpression:f,valueExpressionTitle:m,theme:h,layer:g,dataSeriesName:_,dataSeriesCalculationName:v}=i,y=_?await B({layer:g,view:n,signal:o,timeSeriesName:_,timeSeriesCalculationName:v,filter:r}):await N({layer:g,field:u,valueExpression:f,normalizationField:d,filter:r,view:n,signal:o}),b=u&&typeof u!=`function`?g.getField(u):null,{values:x}=Ee(y,h,U(b),h===`high-to-low`);if(x.length===l.stops.length)l.stops.forEach((e,t)=>e.value=x[t]);else{let t=l.stops.map(e=>e.color),n=e(t,5);l.stops=x.map((e,t)=>new p({value:e,color:n[t]}))}return _&&(l.valueExpression=f??null,l.valueExpressionTitle=m??null,c&&(c.dataSeriesName=_,c.dataSeriesCalculationName=v)),c&&(c.minSliderValue=y.min,c.maxSliderValue=y.max),{visualVariable:l,authoringInfo:s,statistics:y}}function Ae(t,r){let i=t.colorsForClassBreaks;if(i?.length){for(let e of i)if(e.numClasses===r)return n(e.colors)}return e(t.colors,r)}async function $(e,n){let r=await i(`esri/smartMapping/t9n/smartMapping`),o=e.layer,s=e.defaultSymbolEnabled,l=o.geometryType,d=e.classificationMethod,f=d===`standard-deviation`,p=await Z({basemap:e.basemap,geometryType:l,theme:f?`above-and-below`:null,colorScheme:e.colorScheme,worldScale:!!e.symbolType?.includes(`3d-volumetric`),view:e.view}),m=p.scheme,{result:h,outlineResult:g}=n,_=h.classBreakInfos,v=e.normalizationType;if(!m)throw new t(`color-class-breaks-renderer:insufficient-info`,`Unable to find color scheme`);let y=Ae(m,_.length);if(!y||y.length!==_.length)throw new t(`color-class-breaks-renderer:insufficient-info`,`Color scheme does not have enough colors`);let b=g?.opacity,x=new a({classBreakInfos:_.map((t,n)=>({minValue:t.minValue,maxValue:t.maxValue,symbol:F(l,{type:e.symbolType,color:y[n],size:L(m,l),outline:I(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}),label:t.label})),defaultLabel:s?r.other:null,defaultSymbol:s?F(l,{type:e.symbolType,color:m.noDataColor,size:L(m,l),outline:I(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:v===`percent-of-total`?h.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new c({type:`class-breaks-color`,classificationMethod:d,standardDeviationInterval:e.standardDeviationInterval,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName})});return f||u({classBreakInfos:x.classBreakInfos,classificationMethod:d,normalizationType:v,round:!0}),g?.visualVariables?.length&&(x.visualVariables=g.visualVariables.map(e=>e.clone())),{renderer:x,colorScheme:Y(m),classBreaksResult:h,defaultValuesUsed:n.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function je(e){let t=await me(e),{layer:n,view:r,signal:i,filter:a}=t,[o,s,c]=await Promise.all([Q(X(t)),t.outlineOptimizationEnabled?g({layer:n,view:r,signal:i,filter:a}).catch(k):null,t.sizeOptimizationEnabled?_({layer:n,view:r,signal:i,filter:a}).catch(k):null]),l=t.normalizationField;return Oe(o,s,c,l?`field`:void 0,l,n.geometryType,t)}async function Me(e){let{renderer:t,view:n,signal:r,filter:i,creatorParameters:a}=await xe(e),{layer:o,outlineOptimizationEnabled:s,sizeOptimizationEnabled:c,valueExpression:l,valueExpressionTitle:u}=a,[d,f,p]=await Promise.all([ke(e),s?g({layer:o,view:n,signal:r,filter:i}).catch(k):null,c?_({layer:o,view:n,signal:r,filter:i}).catch(k):null]);return v(t,d.visualVariable,T),v(t,f?.visualVariables,E),v(t,p?.minSize,D),a.dataSeriesName&&(t.valueExpression=l??null,t.valueExpressionTitle=u??null),y(t,d.authoringInfo,`color`),{renderer:t}}async function Ne(e){let t=await he(e);return $(t,await M(ge(t),t.outlineOptimizationEnabled))}async function Pe(e){let{renderer:t,creatorParameters:n}=await Se(e),{normalizationType:r,outlineOptimizationEnabled:i,classificationMethod:a,valueExpression:o,valueExpressionTitle:s}=n;if(a===`manual`)return{renderer:t};let c=await M(ge(n),i),l=c.result.classBreakInfos;if(n.numClasses!==l.length){let e=we(t.classBreakInfos.map(e=>e.symbol),n.layer.geometryType);return{renderer:(await $({...n,colorScheme:e},c)).renderer}}return t.classBreakInfos.forEach((e,t)=>{e.minValue=l[t].minValue,e.maxValue=l[t].maxValue,e.label=l[t].label}),t.normalizationTotal=r===`percent-of-total`?c.result.normalizationTotal:void 0,a!==`standard-deviation`&&u({classBreakInfos:t.classBreakInfos,classificationMethod:a,normalizationType:r,round:!0}),v(t,c.outlineResult?.visualVariables,E),n.dataSeriesName&&(t.valueExpression=o??null,t.valueExpressionTitle=s??null),{renderer:t}}function Fe(e){return _e(e).then(e=>({renderer:new o({field:`RGB`,pointsPerInch:e.density??void 0,pointSizeAlgorithm:P(e.size)})}))}async function Ie(e){let t=await ve(e),n=await Te(t.statistics??await N({layer:t.layer,field:t.field,signal:t.signal}),t);return{renderer:new s({field:t.field,pointsPerInch:t.density??void 0,pointSizeAlgorithm:P(t.size),stops:n.stops}),basemapId:n.basemapId,basemapTheme:n.basemapTheme,statistics:n.statistics,defaultValuesUsed:n.defaultValuesUsed,colorScheme:n.colorScheme}}async function Le(e){let t=await ye(e),{defaultSymbolEnabled:n,view:r,startTime:i,endTime:a,symbolType:o,colorMixMode:s,edgesType:c,minValue:l,maxValue:u,signal:d,filter:f}=t,p=t.layer,[m,v,y]=await Promise.all([t.unit?{unit:t.unit,statistics:null}:h({view:r,layer:p,startTime:i,endTime:a,minValue:l,maxValue:u,signal:d,filter:f}),t.outlineOptimizationEnabled?g({layer:p,view:r,signal:d,filter:f}).catch(k):null,t.sizeOptimizationEnabled?_({layer:p,view:r,signal:d,filter:f}).catch(k):null]),{unit:b,statistics:x}=m,{valueExpression:S,title:C}=await A(t,b),w=await Q(X({layer:p,basemap:t.basemap,valueExpression:S,symbolType:o,statistics:x,legendOptions:{title:C},colorScheme:t.colorScheme,theme:t.theme,view:r,minValue:t.minValue,maxValue:t.maxValue,filter:f,signal:d})),T={valueExpression:S,defaultSymbolEnabled:n,symbolType:o,colorMixMode:s,edgesType:c},E=await Oe(w,v,y,null,null,p.geometryType,T);return(E.renderer.authoringInfo?.visualVariables)?.forEach(e=>j(e,i,a,b)),{...E,unit:b}}async function Re(e){let{renderer:t,creatorParameters:n}=await Ce(e),{layer:r,outlineOptimizationEnabled:i,sizeOptimizationEnabled:a,startTime:o,endTime:s,theme:c,view:l,signal:u,filter:d}=n,[f,p,m]=await Promise.all([h({view:l,layer:r,startTime:o,endTime:s,signal:u,filter:d}),i?g({layer:r,view:l,signal:u,filter:d}).catch(k):null,a?_({layer:r,view:l,signal:u,filter:d}).catch(k):null]),{unit:y,statistics:b}=f,{valueExpression:x,title:S}=await A(n,y),C=await Q(X({layer:r,valueExpression:x,statistics:b,legendOptions:{title:S},theme:c,view:l,filter:d,signal:u}));return v(t,C.visualVariable,T),v(t,p?.visualVariables,E),v(t,m?.minSize,D),t.authoringInfo=C.authoringInfo.clone(),(t.authoringInfo?.visualVariables)?.forEach(e=>j(e,o,s,y)),{renderer:t}}export{Le as createAgeRenderer,Ne as createClassBreaksRenderer,je as createContinuousRenderer,Ie as createPCContinuousRenderer,Fe as createPCTrueColorRenderer,Q as createVisualVariable,Re as regenerateAgeRenderer,Pe as regenerateClassBreaksRenderer,Me as regenerateContinuousRenderer,ke as regenerateVisualVariable};
2
+ import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{clone as n}from"../../core/lang.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import a from"../../renderers/ClassBreaksRenderer.js";import o from"../../renderers/PointCloudRGBRenderer.js";import s from"../../renderers/PointCloudStretchRenderer.js";import c from"../../renderers/support/AuthoringInfo.js";import l from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as u,createColorStops as d}from"../../renderers/support/utils.js";import f from"../../renderers/visualVariables/ColorVariable.js";import p from"../../renderers/visualVariables/support/ColorStop.js";import m from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import h from"../heuristics/ageUnit.js";import g from"../heuristics/outline.js";import _ from"../heuristics/sizeRange.js";import{spliceVisualVariables as v,updateAuthoringInfoVisualVariable as y,processRegenerateParams as b,getRendererToUpdate as x,getStyleType as S,hasOutlineVV as C,hasScaleDependentSizeVV as w,findColorVVIndex as T,findOutlineVVIndex as E,findScaleDependentSizeVVIndex as D}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as O}from"./support/timeSeriesUtils.js";import{errorCallback as k,getTitleAndExpressionForAgeRenderer as A,updateAgeRendererAuthoringInfoVV as j,getClassBreaks as M,getSummaryStatistics as N,getPointSizeAlgorithm as P,createSymbol as F,getSymbolOutlineFromScheme as I,getSymbolSizeFromScheme as L,verifyBasicFieldValidity as R,isValidPointSize as z,getDefaultDataRange as ee,createDefaultStopValues as te,createStopValues as ne,getDataRange as re,createDataValues as ie,getBasemapInfo as ae}from"./support/utils.js";import B from"../statistics/summaryStatisticsForTimeSeries.js";import{verifyDates as oe,supportedAgeUnits as V}from"../statistics/support/ageUtils.js";import{verifyBinningParams as H}from"../support/binningUtils.js";import{isAnyDateField as U,getNormalizationType as se,getFieldsList as W}from"../support/utils.js";import{createLayerAdapter as G,featureCapableLayerTypes as K,getLayerTypeLabels as q,binningCapableLayerTypes as J}from"../support/adapters/support/layerUtils.js";import{cloneScheme as Y,createScheme as ce,getSchemes as le,getSchemeById as ue}from"../symbology/color.js";import{getColorSchemeDefinition as de}from"../symbology/support/utils.js";const fe=2**53-1;async function pe(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-visual-variable`);let r={...n},i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};if(await a.load(o),a.geometryType!==`mesh`&&r.worldScale&&r.view?.type!==`3d`)throw new t(`color-visual-variable:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'worldScale' parameter is true`);let s=await W({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),c=R(a,s,`color-visual-variable:invalid-parameters`);if(c)throw c;return{...r,layer:a}}async function me(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-continuous-renderer:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-continuous-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-continuous-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0;let i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled;let c=`featureReduction`in r.layer&&r.layer.featureReduction?.type===`cluster`;if(r.sizeOptimizationEnabled=(s===`point`||s===`multipoint`||s===`polyline`)&&!c&&r.sizeOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-continuous-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let l=await W({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),u=R(a,l,`color-continuous-renderer:invalid-parameters`);if(u)throw u;return{...r,layer:a}}async function he(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression)))throw new t(`color-class-breaks-renderer:missing-parameters`,`'layer' and 'field' or 'valueExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new t(`color-class-breaks-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-class-breaks-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0,r.classificationMethod??=`equal-interval`,r.normalizationType=se(r);let i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));if((r.minValue==null||r.maxValue==null)&&(r.minValue!=null||r.maxValue!=null))throw new t(`color-class-breaks-renderer:missing-parameters`,`Both 'minValue' and 'maxValue' are required when specifying custom data range`);let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;if(r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-class-breaks-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let c=await W({field:r.field,normalizationField:r.normalizationField}),l=R(a,c,`color-class-breaks-renderer:invalid-parameters`);if(l)throw l;return{...r,layer:a}}function ge(e){let t={...e};delete t.basemap,delete t.colorScheme,delete t.legendOptions,delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let n=t;return n.analyzeData=t.minValue==null||t.maxValue==null,n}async function _e(e){if(!e?.layer)throw new t(`color-point-cloud-true-color-renderer:missing-parameters`,`'layer' parameter is required`);let n={...e,layer:e.layer},r=[12],i=G(n.layer,r);if(!i)throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(r).join(`, `));if(n.layer=i,n.density=n.density||25,n.size=n.size||`100%`,!z(n.size))throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let a=n.signal==null?null:{signal:n.signal};return await i.load(a),n}async function ve(e){if(!(e?.layer&&e.field))throw new t(`color-point-cloud-continuous-renderer:missing-parameters`,`'layer' and 'field' parameters are required`);let n=e.field.toLowerCase();if(n!==`intensity`&&n!==`elevation`)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'field' should be either 'intensity' or 'elevation'`);let r={...e,layer:e.layer,field:e.field},i=[12],a=G(r.layer,i);if(!a)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));if(r.layer=a,r.density=r.density||25,r.size=r.size||`100%`,!z(r.size))throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let o=r.signal==null?null:{signal:r.signal};return await a.load(o),r}function X(e){let t={...e},n=!!t.symbolType?.includes(`3d-volumetric`);delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let r=t;return r.worldScale=n,r}async function ye(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new t(`color-age-renderer:missing-parameters`,`'layer', 'view', startTime', 'endTime' parameters are required`);let n={...e};n.symbolType=n.symbolType||`2d`,n.defaultSymbolEnabled??=!0;let r=G(n.layer,K);if(!r)throw new t(`color-age-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(K).join(`, `));let i=n.signal==null?null:{signal:n.signal};await r.load(i);let a=r.geometryType;n.outlineOptimizationEnabled=a===`polygon`&&n.outlineOptimizationEnabled;let o=`featureReduction`in n.layer&&n.layer.featureReduction?.type===`cluster`;if(n.sizeOptimizationEnabled=(a===`point`||a===`multipoint`||a===`polyline`)&&!o&&n.sizeOptimizationEnabled,a===`mesh`)n.symbolType=`3d-volumetric`,n.colorMixMode=n.colorMixMode||`replace`,n.edgesType=n.edgesType||`none`;else if(n.symbolType===`3d-volumetric-uniform`&&a!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);if(n.symbolType.includes(`3d-volumetric`)&&!(n.view&&n.view.type===`3d`))throw new t(`color-age-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let s=oe(r,n.startTime,n.endTime,`color-age-renderer:invalid-parameters`);if(s)throw s;if(n.unit&&!V.includes(n.unit))throw new t(`color-age-renderer:invalid-unit`,`Supported units are: ${V.join(`, `)}`);return{...n,layer:r}}async function be(e){let n=`regenerate-color-visual-variable`;await b(e,n);let r=await x(e);if(r?.type!==`class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer must be a ClassBreaksRenderer to regenerate a color visual variable`);let i=r.authoringInfo,a=i?.visualVariables.find(e=>e.type===`color`),o=r.visualVariables?.find(e=>e.type===`color`);if(!o)throw new t(`${n}:invalid-parameters`,`Renderer does not have a color visual variable`);let{field:s,normalizationField:c,valueExpression:l,valueExpressionTitle:u}=o,d=i?.type===`univariate-color-size`?i?.univariateTheme:a?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=a?.dataSeriesName,v=a?.dataSeriesCalculationName,y=await pe({layer:f,field:s,valueExpression:l,valueExpressionTitle:u,normalizationField:c,theme:d,forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function xe(e){let n=`regenerate-color-continuous-renderer`;await b(e,n);let r=await x(e),i=S(r);if(!i||![`color-continuous`,`color-size`].includes(i))throw new t(`${n}:invalid-renderer`,`Renderer is invalid`);let{authoringInfo:a,field:o,normalizationField:s,valueExpression:c,valueExpressionTitle:l}=r,u=a?.visualVariables.find(e=>e.type===`color`),d=u?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=u?.dataSeriesName,v=u?.dataSeriesCalculationName,y=await me({layer:f,field:o,valueExpression:c,valueExpressionTitle:l,normalizationField:s,theme:d,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function Se(e){let n=`regenerate-color-class-breaks-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i,field:a,normalizationField:o,normalizationType:s,normalizationTotal:c,valueExpression:l,valueExpressionTitle:u}=r,{classificationMethod:d,standardDeviationInterval:f}=i,p=r.classBreakInfos.length,{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=i?.dataSeriesName,w=i?.dataSeriesCalculationName,T=await he({layer:m,field:a,valueExpression:l,valueExpressionTitle:u,normalizationType:s,normalizationField:o,normalizationTotal:c,classificationMethod:d,standardDeviationInterval:f,numClasses:p,outlineOptimizationEnabled:C(r),defaultSymbolEnabled:!!r.defaultSymbol,forBinning:h,dataSeriesName:y,dataSeriesCalculationName:w,filter:g,view:_,signal:v});return{...e,creatorParameters:T,renderer:r}}async function Ce(e){let n=`regenerate-color-age-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-age`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i}=r,a=i?.visualVariables.find(e=>e.type===`color`),o=a.startTime,s=a.endTime,c=a.units,l=a.theme,{layer:u,filter:d,view:f,signal:p}=e,m=await ye({layer:u,startTime:o,endTime:s,unit:c,theme:l,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),filter:d,view:f,signal:p});return{...e,creatorParameters:m,renderer:r}}async function Z(e,t){let n=e.colorScheme,r=null,i=null,{view:a}=e,o=await ae(e.basemap,a);if(r=o.basemapId==null?null:o.basemapId,i=o.basemapTheme==null?null:o.basemapTheme,n)return{scheme:Y(n),basemapId:r,basemapTheme:i};let s=e.theme||`high-to-low`,c=le({theme:s,basemapTheme:i,geometryType:e.geometryType,worldScale:e.worldScale,view:a});if(c){if(r=c.basemapId,i=c.basemapTheme,e.schemeId){let t=s+`/`+r+`/`+e.schemeId;n=ue({id:t,geometryType:e.geometryType})}else n=c.primaryScheme}return{scheme:n,basemapId:r,basemapTheme:i}}function we(e,t){let n=de(e);return ce({geometryType:t},void 0,n.commonProps,n.colorRampInfo)}async function Te(n,r){let i=r.layer,a=await Z({basemap:r.basemap,colorScheme:r.colorScheme,geometryType:i.geometryType,schemeId:r.field.toLowerCase()===`elevation`?`point-cloud-elevation-scheme`:`point-cloud-intensity-scheme`}),o=a.scheme;if(!o)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Unable to find color scheme`);let s=e(o.colors,5);if(s.length<5)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Color scheme does not have enough colors`);let c=ee(n,!1,!0),l=c?te(c[0],c[1],5):ne(n);return{stops:d({values:l,isDate:!1,colors:s,labelIndexes:[0,2,4]}),basemapId:a.basemapId,basemapTheme:a.basemapTheme,statistics:n,defaultValuesUsed:!!c,colorScheme:Y(o)}}function Ee(e,t,n,r){let i=re(e,t,n,!0);return{values:ie(i,e,t,r),defaultValuesUsed:i.defaultValuesUsed}}async function De(n,i,a,o){let{field:s,theme:u}=n,d=await Z({basemap:n.basemap,theme:n.theme,geometryType:a,colorScheme:n.colorScheme,worldScale:n.worldScale,view:n.view}),h=d.scheme;if(!h)throw new t(`color-visual-variable:insufficient-info`,`Unable to find color scheme`);let g=e(h.colors,5);if(g.length<5)throw new t(`color-visual-variable:insufficient-info`,`Color scheme does not have enough colors`);let{values:_,defaultValuesUsed:v}=Ee(i,u,o,h.id.includes(`seq-`)),y=e(g,5),b=new f({field:s??void 0,valueExpression:n.valueExpression,valueExpressionTitle:n.valueExpressionTitle,normalizationField:n.normalizationField,stops:_.map((e,t)=>new p({value:e,color:y[t]})),legendOptions:r(m,n.legendOptions)}),x=new l({type:`color`,minSliderValue:n.minValue==null?i.min:n.minValue,maxSliderValue:n.maxValue==null?i.max:n.maxValue,theme:h.theme,dataSeriesName:n.dataSeriesName,dataSeriesCalculationName:n.dataSeriesCalculationName}),S=new c({visualVariables:[x]});return{basemapId:d.basemapId,basemapTheme:d.basemapTheme,visualVariable:b,statistics:i,defaultValuesUsed:v,colorScheme:Y(h),authoringInfo:S}}async function Oe(e,t,n,r,o,s,c){let l=await i(`esri/smartMapping/t9n/smartMapping`),{field:u,defaultSymbolEnabled:d}=c,f=Y(e.colorScheme),p=t?.opacity,m=[e.visualVariable.clone()];return t?.visualVariables?.length&&m.push(...t.visualVariables.map(e=>e.clone())),n?.minSize&&m.push(n.minSize),{renderer:new a({classBreakInfos:[{minValue:-fe,maxValue:fe,symbol:F(s,{type:c.symbolType,color:f.noDataColor,size:L(f,s),outline:I(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}})}],defaultLabel:d?l.other:null,defaultSymbol:d?F(s,{type:c.symbolType,color:f.noDataColor,size:L(f,s),outline:I(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}}):null,field:u,normalizationType:r,normalizationField:o,valueExpression:c.valueExpression,valueExpressionTitle:c.valueExpressionTitle,visualVariables:m,authoringInfo:e.authoringInfo&&e.authoringInfo.clone()}),visualVariable:e.visualVariable.clone(),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,colorScheme:Y(e.colorScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}async function Q(e){let t=await pe(e),{view:n,field:r,valueExpression:i,minValue:a,maxValue:o,layer:s,normalizationField:c,signal:l,filter:u,statistics:d,dataSeriesName:f,dataSeriesCalculationName:p}=t,m=c?`field`:void 0,h=await(d??(f?B({layer:s,view:n,signal:l,timeSeriesName:f,timeSeriesCalculationName:p,filter:u}):N({layer:s,field:r,valueExpression:i,sqlExpression:t.sqlExpression,sqlWhere:t.sqlWhere,normalizationType:m,normalizationField:c,minValue:a,maxValue:o,filter:u,view:n,signal:l}))),g=s,_=r&&typeof r!=`function`?g.getField(r):null;return await De(t,h,g.geometryType,U(_))}async function ke(t){let{view:n,filter:r,creatorParameters:i,renderer:a,signal:o}=await be(t),s=a.authoringInfo?.clone(),c=s?.visualVariables.find(e=>e.type===`color`),l=a.visualVariables?.find(e=>e.type===`color`),{field:u,normalizationField:d,valueExpression:f,valueExpressionTitle:m,theme:h,layer:g,dataSeriesName:_,dataSeriesCalculationName:v}=i,y=_?await B({layer:g,view:n,signal:o,timeSeriesName:_,timeSeriesCalculationName:v,filter:r}):await N({layer:g,field:u,valueExpression:f,normalizationField:d,filter:r,view:n,signal:o}),b=u&&typeof u!=`function`?g.getField(u):null,{values:x}=Ee(y,h,U(b),h===`high-to-low`);if(x.length===l.stops.length)l.stops.forEach((e,t)=>e.value=x[t]);else{let t=l.stops.map(e=>e.color),n=e(t,5);l.stops=x.map((e,t)=>new p({value:e,color:n[t]}))}return _&&(l.valueExpression=f??null,l.valueExpressionTitle=m??null,c&&(c.dataSeriesName=_,c.dataSeriesCalculationName=v)),c&&(c.minSliderValue=y.min,c.maxSliderValue=y.max),{visualVariable:l,authoringInfo:s,statistics:y}}function Ae(t,r){let i=t.colorsForClassBreaks;if(i?.length){for(let e of i)if(e.numClasses===r)return n(e.colors)}return e(t.colors,r)}async function $(e,n){let r=await i(`esri/smartMapping/t9n/smartMapping`),o=e.layer,s=e.defaultSymbolEnabled,l=o.geometryType,d=e.classificationMethod,f=d===`standard-deviation`,p=await Z({basemap:e.basemap,geometryType:l,theme:f?`above-and-below`:null,colorScheme:e.colorScheme,worldScale:!!e.symbolType?.includes(`3d-volumetric`),view:e.view}),m=p.scheme,{result:h,outlineResult:g}=n,_=h.classBreakInfos,v=e.normalizationType;if(!m)throw new t(`color-class-breaks-renderer:insufficient-info`,`Unable to find color scheme`);let y=Ae(m,_.length);if(!y||y.length!==_.length)throw new t(`color-class-breaks-renderer:insufficient-info`,`Color scheme does not have enough colors`);let b=g?.opacity,x=new a({classBreakInfos:_.map((t,n)=>({minValue:t.minValue,maxValue:t.maxValue,symbol:F(l,{type:e.symbolType,color:y[n],size:L(m,l),outline:I(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}),label:t.label})),defaultLabel:s?r.other:null,defaultSymbol:s?F(l,{type:e.symbolType,color:m.noDataColor,size:L(m,l),outline:I(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:v===`percent-of-total`?h.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new c({type:`class-breaks-color`,classificationMethod:d,standardDeviationInterval:e.standardDeviationInterval,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName})});return f||u({classBreakInfos:x.classBreakInfos,classificationMethod:d,normalizationType:v,round:!0}),g?.visualVariables?.length&&(x.visualVariables=g.visualVariables.map(e=>e.clone())),{renderer:x,colorScheme:Y(m),classBreaksResult:h,defaultValuesUsed:n.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function je(e){let t=await me(e),{layer:n,view:r,signal:i,filter:a}=t,[o,s,c]=await Promise.all([Q(X(t)),t.outlineOptimizationEnabled?g({layer:n,view:r,signal:i,filter:a}).catch(k):null,t.sizeOptimizationEnabled?_({layer:n,view:r,signal:i,filter:a}).catch(k):null]),l=t.normalizationField;return Oe(o,s,c,l?`field`:void 0,l,n.geometryType,t)}async function Me(e){let{renderer:t,view:n,signal:r,filter:i,creatorParameters:a}=await xe(e),{layer:o,outlineOptimizationEnabled:s,sizeOptimizationEnabled:c,valueExpression:l,valueExpressionTitle:u}=a,[d,f,p]=await Promise.all([ke(e),s?g({layer:o,view:n,signal:r,filter:i}).catch(k):null,c?_({layer:o,view:n,signal:r,filter:i}).catch(k):null]);return v(t,d.visualVariable,T),v(t,f?.visualVariables,E),v(t,p?.minSize,D),a.dataSeriesName&&(t.valueExpression=l??null,t.valueExpressionTitle=u??null),y(t,d.authoringInfo,`color`),{renderer:t}}async function Ne(e){let t=await he(e);return $(t,await M(ge(t),t.outlineOptimizationEnabled))}async function Pe(e){let{renderer:t,creatorParameters:n}=await Se(e),{normalizationType:r,outlineOptimizationEnabled:i,classificationMethod:a,valueExpression:o,valueExpressionTitle:s}=n;if(a===`manual`)return{renderer:t};let c=await M(ge(n),i),l=c.result.classBreakInfos;if(n.numClasses!==l.length){let e=we(t.classBreakInfos.map(e=>e.symbol),n.layer.geometryType);return{renderer:(await $({...n,colorScheme:e},c)).renderer}}return t.classBreakInfos.forEach((e,t)=>{e.minValue=l[t].minValue,e.maxValue=l[t].maxValue,e.label=l[t].label}),t.normalizationTotal=r===`percent-of-total`?c.result.normalizationTotal:void 0,a!==`standard-deviation`&&u({classBreakInfos:t.classBreakInfos,classificationMethod:a,normalizationType:r,round:!0}),v(t,c.outlineResult?.visualVariables,E),n.dataSeriesName&&(t.valueExpression=o??null,t.valueExpressionTitle=s??null),{renderer:t}}function Fe(e){return _e(e).then(e=>({renderer:new o({field:`RGB`,pointsPerInch:e.density??void 0,pointSizeAlgorithm:P(e.size)})}))}async function Ie(e){let t=await ve(e),n=await Te(t.statistics??await N({layer:t.layer,field:t.field,signal:t.signal}),t);return{renderer:new s({field:t.field,pointsPerInch:t.density??void 0,pointSizeAlgorithm:P(t.size),stops:n.stops}),basemapId:n.basemapId,basemapTheme:n.basemapTheme,statistics:n.statistics,defaultValuesUsed:n.defaultValuesUsed,colorScheme:n.colorScheme}}async function Le(e){let t=await ye(e),{defaultSymbolEnabled:n,view:r,startTime:i,endTime:a,symbolType:o,colorMixMode:s,edgesType:c,minValue:l,maxValue:u,signal:d,filter:f}=t,p=t.layer,[m,v,y]=await Promise.all([t.unit?{unit:t.unit,statistics:null}:h({view:r,layer:p,startTime:i,endTime:a,minValue:l,maxValue:u,signal:d,filter:f}),t.outlineOptimizationEnabled?g({layer:p,view:r,signal:d,filter:f}).catch(k):null,t.sizeOptimizationEnabled?_({layer:p,view:r,signal:d,filter:f}).catch(k):null]),{unit:b,statistics:x}=m,{valueExpression:S,title:C}=await A(t,b),w=await Q(X({layer:p,basemap:t.basemap,valueExpression:S,symbolType:o,statistics:x,legendOptions:{title:C},colorScheme:t.colorScheme,theme:t.theme,view:r,minValue:t.minValue,maxValue:t.maxValue,filter:f,signal:d})),T={valueExpression:S,defaultSymbolEnabled:n,symbolType:o,colorMixMode:s,edgesType:c},E=await Oe(w,v,y,null,null,p.geometryType,T);return(E.renderer.authoringInfo?.visualVariables)?.forEach(e=>j(e,i,a,b)),{...E,unit:b}}async function Re(e){let{renderer:t,creatorParameters:n}=await Ce(e),{layer:r,outlineOptimizationEnabled:i,sizeOptimizationEnabled:a,startTime:o,endTime:s,theme:c,view:l,signal:u,filter:d}=n,[f,p,m]=await Promise.all([h({view:l,layer:r,startTime:o,endTime:s,signal:u,filter:d}),i?g({layer:r,view:l,signal:u,filter:d}).catch(k):null,a?_({layer:r,view:l,signal:u,filter:d}).catch(k):null]),{unit:y,statistics:b}=f,{valueExpression:x,title:S}=await A(n,y),C=await Q(X({layer:r,valueExpression:x,statistics:b,legendOptions:{title:S},theme:c,view:l,filter:d,signal:u}));return v(t,C.visualVariable,T),v(t,p?.visualVariables,E),v(t,m?.minSize,D),t.authoringInfo=C.authoringInfo.clone(),(t.authoringInfo?.visualVariables)?.forEach(e=>j(e,o,s,y)),{renderer:t}}export{Le as createAgeRenderer,Ne as createClassBreaksRenderer,je as createContinuousRenderer,Ie as createPCContinuousRenderer,Fe as createPCTrueColorRenderer,Q as createVisualVariable,Re as regenerateAgeRenderer,Pe as regenerateClassBreaksRenderer,Me as regenerateContinuousRenderer,ke as regenerateVisualVariable};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{getResolutionForScale as n}from"../../geometry/support/scaleUtils.js";import r from"../../renderers/DotDensityRenderer.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../heuristics/outline.js";import{roundValue as o}from"./support/dotDensityUtils.js";import{spliceVisualVariables as s,processRegenerateParams as c,getRendererToUpdate as l,getStyleType as u,hasOutlineVV as d,findOutlineVVIndex as f}from"./support/regenerateUtils.js";import{errorCallback as p,getSymbolOutlineFromScheme as m,verifyBasicFieldValidity as h,getBasemapInfo as g}from"./support/utils.js";import _ from"../statistics/spatialStatistics.js";import v from"../statistics/summaryStatisticsForAttributes.js";import y from"../statistics/support/attributeDensity.js";import{verifyBinningParams as b}from"../support/binningUtils.js";import{getFieldsList as x}from"../support/utils.js";import{binningCapableLayerTypes as S,createLayerAdapter as C,getLayerTypeLabels as w}from"../support/adapters/support/layerUtils.js";import{cloneScheme as T,getSchemes as E}from"../symbology/dotDensity.js";async function D(e){let n=e.view;if(!(e?.layer&&n&&e.attributes?.length))throw new t(`dot-density-renderer:missing-parameters`,`'layer', 'view' and 'attributes' parameters are required`);if(e.attributes.length>8)throw new t(`dot-density-renderer:invalid-parameters`,`Dot density renderer does not support more than 8 attributes`);e.forBinning&&b(e,`dot-density-renderer`);let r={...e,view:n,layer:e.layer,attributes:e.attributes},i=e.forBinning?S:[3,9,6,7,4,15],a=C(r.layer,i,e.forBinning);if(!a)throw new t(`dot-density-renderer:invalid-parameters`,`'layer' must be one of these types: `+w(i).join(`, `));r.dotBlendingEnabled??=!0,r.dotValueOptimizationEnabled??=!0;let o=r.signal==null?null:{signal:r.signal};if(await Promise.all([n.when(),a.load(o)]),a.geometryType!==`polygon`)throw new t(`dot-density-renderer:not-supported`,`Dot density renderer is supported for polygon layers only`);let s=[],c=r.attributes;for(let e of c){let t=await x({field:e.field,valueExpression:e.valueExpression});s.push(...t)}let l=h(a,s.filter(Boolean),`dot-density-renderer:invalid-parameters`);if(l)throw l;return{...r,layer:a}}async function O(e){let n=`regenerate-dot-density-renderer`;await c(e,n);let r=await l(e);if(u(r)!==`dot-density`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{layer:i,forBinning:a,filter:o,view:s,signal:f}=e,p=d(r),m=await D({layer:i,attributes:r.attributes.map(e=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle})),dotValueOptimizationEnabled:r.referenceScale!=null,outlineOptimizationEnabled:p,forBinning:a,filter:o,view:s,signal:f});return{...e,creatorParameters:m,renderer:r}}async function k(e){let t=e.dotDensityScheme,n=null,r=null,i=await g(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:T(t),basemapId:n,basemapTheme:r};let a=E({numColors:e.attributes.length,basemapTheme:r});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}function A(e){return{dotValue:1,referenceScale:e.scale,minSliderValue:1,maxSliderValue:100}}async function j(e){let{view:t,layer:r,attributes:i,signal:a,filter:s}=e,c=await r.getSampleFeatures({view:t,sampleSize:500,returnGeometry:!0,filter:s,signal:a},`json`),[l,u]=await Promise.all([_({features:c,geometryType:r.geometryType}),v({layer:r,attributes:i,filter:s,includeZeros:!1,includeNegatives:!1,view:t,signal:a})]),d=l!=null&&`avgSize`in l&&l.avgSize,f=u.avg;if(!d||!f)return A(t);let p=n(t.scale,t.spatialReference),m=d*d/(p*p)*.1;return{dotValue:o(f/m)||1,referenceScale:t.scale,minSliderValue:1,maxSliderValue:o(f)}}async function M(e){let{view:t,layer:r,attributes:i,signal:a,filter:s}=e,c=[];for(let e of i){let t=await x({field:e.field,valueExpression:e.valueExpression});c.push(...t)}let l=await r.getSampleFeatures({view:t,sampleSize:500,requiredFields:c,filter:s,returnGeometry:!0,signal:a},`json`),{minDensity:u,maxDensity:d,avgDensity:f}=await y({features:l,attributes:i,includeZeros:!1,includeNegatives:!1,view:t});if(!f||!u||!d)return A(t);let p=n(t.scale,t.spatialReference),m=p*p,h=o(u*m),g=o(d*m),_=o(f*m*10)||1;return _>g&&(_=g),{dotValue:_,referenceScale:t.scale,minSliderValue:h,maxSliderValue:g}}async function N(n){let o=await D(n),s=o.layer,c=s.geometryType,l=await k(o),u=l?.scheme;if(!u)throw new t(`dot-density-renderer:insufficient-info`,`Unable to find dot-density scheme`);let d=o.view,f=o.filter,h={layer:s,view:d,filter:f,attributes:o.attributes,signal:o.signal},g={layer:o.layer,view:d,filter:f,signal:o.signal},[_,v]=await Promise.all([o.trueDensity?M(h):j(h),o.outlineOptimizationEnabled?a(g).catch(p):null]),{dotValue:y,referenceScale:b,minSliderValue:x,maxSliderValue:S}=_,C=e(u.colors,o.attributes.length),w=o.attributes.map((e,t)=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:C[t]})),T=new r({attributes:w,dotBlendingEnabled:o.dotBlendingEnabled,outline:v?m(u,c,v.opacity):null,dotValue:y,referenceScale:o.dotValueOptimizationEnabled?b:null,legendOptions:o.legendOptions});return v?.visualVariables.length&&(T.visualVariables=v.visualVariables.map(e=>e.clone())),T.authoringInfo=new i({type:`dot-density`,minSliderValue:x,maxSliderValue:S}),{renderer:T,dotDensityScheme:u,basemapId:l.basemapId,basemapTheme:l.basemapTheme}}async function P(e){let{creatorParameters:t,renderer:n}=await O(e),{layer:r,attributes:i,outlineOptimizationEnabled:o,view:c,signal:l,filter:u}=t,d={layer:r,view:c,filter:u,attributes:i,signal:l},[m,h]=await Promise.all([t.trueDensity?M(d):j(d),o?a({layer:r,view:c,signal:l,filter:u}).catch(p):null]),{dotValue:g,referenceScale:_,minSliderValue:v,maxSliderValue:y}=m;return n.dotValue=g,n.referenceScale=t.dotValueOptimizationEnabled?_:null,n.authoringInfo&&(n.authoringInfo.minSliderValue=v,n.authoringInfo.maxSliderValue=y),s(n,h?.visualVariables,f),{renderer:n}}export{N as createRenderer,P as regenerateRenderer};
2
+ import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{getResolutionForScale as n}from"../../geometry/support/scaleUtils.js";import r from"../../renderers/DotDensityRenderer.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../heuristics/outline.js";import{roundValue as o}from"./support/dotDensityUtils.js";import{spliceVisualVariables as s,processRegenerateParams as c,getRendererToUpdate as l,getStyleType as u,hasOutlineVV as d,findOutlineVVIndex as f}from"./support/regenerateUtils.js";import{errorCallback as p,getSymbolOutlineFromScheme as m,verifyBasicFieldValidity as h,getBasemapInfo as g}from"./support/utils.js";import _ from"../statistics/spatialStatistics.js";import v from"../statistics/summaryStatisticsForAttributes.js";import y from"../statistics/support/attributeDensity.js";import{verifyBinningParams as b}from"../support/binningUtils.js";import{getFieldsList as x}from"../support/utils.js";import{binningCapableLayerTypes as S,createLayerAdapter as C,getLayerTypeLabels as w}from"../support/adapters/support/layerUtils.js";import{cloneScheme as T,getSchemes as E}from"../symbology/dotDensity.js";async function D(e){let n=e.view;if(!(e?.layer&&n&&e.attributes?.length))throw new t(`dot-density-renderer:missing-parameters`,`'layer', 'view' and 'attributes' parameters are required`);if(e.attributes.length>8)throw new t(`dot-density-renderer:invalid-parameters`,`Dot density renderer does not support more than 8 attributes`);e.forBinning&&b(e,`dot-density-renderer`);let r={...e,view:n,layer:e.layer,attributes:e.attributes},i=e.forBinning?S:[5,11,8,9,6,17],a=C(r.layer,i,e.forBinning);if(!a)throw new t(`dot-density-renderer:invalid-parameters`,`'layer' must be one of these types: `+w(i).join(`, `));r.dotBlendingEnabled??=!0,r.dotValueOptimizationEnabled??=!0;let o=r.signal==null?null:{signal:r.signal};if(await Promise.all([n.when(),a.load(o)]),a.geometryType!==`polygon`)throw new t(`dot-density-renderer:not-supported`,`Dot density renderer is supported for polygon layers only`);let s=[],c=r.attributes;for(let e of c){let t=await x({field:e.field,valueExpression:e.valueExpression});s.push(...t)}let l=h(a,s.filter(Boolean),`dot-density-renderer:invalid-parameters`);if(l)throw l;return{...r,layer:a}}async function O(e){let n=`regenerate-dot-density-renderer`;await c(e,n);let r=await l(e);if(u(r)!==`dot-density`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{layer:i,forBinning:a,filter:o,view:s,signal:f}=e,p=d(r),m=await D({layer:i,attributes:r.attributes.map(e=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle})),dotValueOptimizationEnabled:r.referenceScale!=null,outlineOptimizationEnabled:p,forBinning:a,filter:o,view:s,signal:f});return{...e,creatorParameters:m,renderer:r}}async function k(e){let t=e.dotDensityScheme,n=null,r=null,i=await g(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:T(t),basemapId:n,basemapTheme:r};let a=E({numColors:e.attributes.length,basemapTheme:r});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}function A(e){return{dotValue:1,referenceScale:e.scale,minSliderValue:1,maxSliderValue:100}}async function j(e){let{view:t,layer:r,attributes:i,signal:a,filter:s}=e,c=await r.getSampleFeatures({view:t,sampleSize:500,returnGeometry:!0,filter:s,signal:a},`json`),[l,u]=await Promise.all([_({features:c,geometryType:r.geometryType}),v({layer:r,attributes:i,filter:s,includeZeros:!1,includeNegatives:!1,view:t,signal:a})]),d=l!=null&&`avgSize`in l&&l.avgSize,f=u.avg;if(!d||!f)return A(t);let p=n(t.scale,t.spatialReference),m=d*d/(p*p)*.1;return{dotValue:o(f/m)||1,referenceScale:t.scale,minSliderValue:1,maxSliderValue:o(f)}}async function M(e){let{view:t,layer:r,attributes:i,signal:a,filter:s}=e,c=[];for(let e of i){let t=await x({field:e.field,valueExpression:e.valueExpression});c.push(...t)}let l=await r.getSampleFeatures({view:t,sampleSize:500,requiredFields:c,filter:s,returnGeometry:!0,signal:a},`json`),{minDensity:u,maxDensity:d,avgDensity:f}=await y({features:l,attributes:i,includeZeros:!1,includeNegatives:!1,view:t});if(!f||!u||!d)return A(t);let p=n(t.scale,t.spatialReference),m=p*p,h=o(u*m),g=o(d*m),_=o(f*m*10)||1;return _>g&&(_=g),{dotValue:_,referenceScale:t.scale,minSliderValue:h,maxSliderValue:g}}async function N(n){let o=await D(n),s=o.layer,c=s.geometryType,l=await k(o),u=l?.scheme;if(!u)throw new t(`dot-density-renderer:insufficient-info`,`Unable to find dot-density scheme`);let d=o.view,f=o.filter,h={layer:s,view:d,filter:f,attributes:o.attributes,signal:o.signal},g={layer:o.layer,view:d,filter:f,signal:o.signal},[_,v]=await Promise.all([o.trueDensity?M(h):j(h),o.outlineOptimizationEnabled?a(g).catch(p):null]),{dotValue:y,referenceScale:b,minSliderValue:x,maxSliderValue:S}=_,C=e(u.colors,o.attributes.length),w=o.attributes.map((e,t)=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:C[t]})),T=new r({attributes:w,dotBlendingEnabled:o.dotBlendingEnabled,outline:v?m(u,c,v.opacity):null,dotValue:y,referenceScale:o.dotValueOptimizationEnabled?b:null,legendOptions:o.legendOptions});return v?.visualVariables.length&&(T.visualVariables=v.visualVariables.map(e=>e.clone())),T.authoringInfo=new i({type:`dot-density`,minSliderValue:x,maxSliderValue:S}),{renderer:T,dotDensityScheme:u,basemapId:l.basemapId,basemapTheme:l.basemapTheme}}async function P(e){let{creatorParameters:t,renderer:n}=await O(e),{layer:r,attributes:i,outlineOptimizationEnabled:o,view:c,signal:l,filter:u}=t,d={layer:r,view:c,filter:u,attributes:i,signal:l},[m,h]=await Promise.all([t.trueDensity?M(d):j(d),o?a({layer:r,view:c,signal:l,filter:u}).catch(p):null]),{dotValue:g,referenceScale:_,minSliderValue:v,maxSliderValue:y}=m;return n.dotValue=g,n.referenceScale=t.dotValueOptimizationEnabled?_:null,n.authoringInfo&&(n.authoringInfo.minSliderValue=v,n.authoringInfo.maxSliderValue=y),s(n,h?.visualVariables,f),{renderer:n}}export{N as createRenderer,P as regenerateRenderer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import e from"../../Color.js";import{createUniqueColors as t}from"../../core/colorUtils.js";import n from"../../core/Error.js";import r from"../../renderers/HeatmapRenderer.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../../renderers/support/HeatmapColorStop.js";import{gaussianBlurRadiusPxToKernelDensityRadiusPt as o}from"../../renderers/support/heatmapUtils.js";import{processRegenerateParams as s,getRendererToUpdate as c,getStyleType as l}from"./support/regenerateUtils.js";import{verifyBasicFieldValidity as u,getBasemapInfo as d}from"./support/utils.js";import f from"../statistics/heatmapStatistics.js";import{getFieldsList as p}from"../support/utils.js";import{createLayerAdapter as m,getLayerTypeLabels as h}from"../support/adapters/support/layerUtils.js";import{cloneScheme as g,getSchemes as _}from"../symbology/heatmap.js";const v=.01,y=[0,.04];async function b(e){if(!(e?.layer&&e.view))throw new n(`heatmap-renderer:missing-parameters`,`'layer' and 'view' parameters are required`);let t={...e,layer:e.layer,view:e.view};t.radius??=t.blurRadius==null?18:o(t.blurRadius),t.minRatio??=.01,t.maxRatio??=1,t.fadeRatio??=.2,t.fadeToTransparent??=!0;let r=[2,3,4,6,7,8,9,12,15],i=m(t.layer,r);if(!i)throw new n(`heatmap-renderer:invalid-parameters`,`'layer' must be one of these types: `+h(r).join(`, `));t.layer=i;let a=t.signal==null?null:{signal:t.signal};await i.load(a);let s=await p({field:t.field}),c=u(i,s,`heatmap-renderer:invalid-parameters`);if(c)throw c;return t}async function x(e){let t=`regenerate-heatmap-renderer`;await s(e,t);let r=await c(e);if(l(r)!==`heatmap`)throw new n(`${t}:invalid-parameters`,`Renderer is invalid`);let{layer:i,filter:a,view:o,signal:u}=e,d=await b({layer:i,field:r.field,radius:r.radius,fadeRatio:r.authoringInfo?.fadeRatio,filter:a,view:o,signal:u});return{...e,creatorParameters:d,renderer:r}}async function S(e){let t=e.scheme,n=null,r=null,i=await d(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:g(t),basemapId:n,basemapTheme:r};let a=_({basemapTheme:r});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}async function C(n,o){let{field:s,basemap:c,radius:l,fadeToTransparent:u,heatmapScheme:d,view:f}=o,{scheme:p,basemapId:m,basemapTheme:h}=await S({basemap:c,scheme:d,view:f}),_=p.colors,b=_.length,x=n.min==null,C=x?y:[n.min,n.max],T,E=o.fadeRatio??0,D=o.maxRatio??0,O=o.minRatio??0,k=(D-O)/(b-1),A=_[0],j=u?O:v,M=[new a({ratio:0,color:new e([A.r,A.g,A.b,0])}),new a({ratio:v,color:new e([A.r,A.g,A.b,0])}),new a({ratio:j,color:new e([A.r,A.g,A.b,j])})];return t(_,b).forEach((e,t)=>{let n=O+k*t;M.push(new a({ratio:n,color:e}))}),u&&(w(M,E),T=new i({fadeRatio:E})),{renderer:new r({authoringInfo:T,radius:l,colorStops:M,field:s,minDensity:C[0],maxDensity:C[1]}),statistics:n,defaultValuesUsed:x,scheme:g(p),basemapId:m,basemapTheme:h}}function w(e,t){let n=(1-t)*10+1,r=e.length-3,i=e[2].color.a;e.forEach((e,a)=>{if(a<=2)return;let{color:o}=e,s=(a-3)/r;o.a=t===0?1:Math.min(Math.max(s*n+s+i,i),1)})}async function T(e){let t=await b(e);return C(t.statistics??await f({layer:t.layer,field:t.field,radius:t.radius,view:t.view,filter:t.filter,signal:t.signal}),t)}async function E(e){let{creatorParameters:t,renderer:n}=await x(e),r=await f({layer:t.layer,field:t.field,radius:t.radius,view:t.view,filter:t.filter,signal:t.signal}),i=r.min==null?y:[r.min,r.max];return n.minDensity=i[0],n.maxDensity=i[1],{renderer:D({renderer:n,fadeRatio:t.fadeRatio})}}function D(e){let{fadeRatio:t,renderer:n}=e,r=n.clone(),a=t??(r?.authoringInfo?.fadeRatio||0);return w(r.colorStops,a),r.authoringInfo?r.authoringInfo.fadeRatio=a:r.authoringInfo=new i({fadeRatio:a}),r}export{T as createRenderer,E as regenerateRenderer,D as updateRenderer};
2
+ import e from"../../Color.js";import{createUniqueColors as t}from"../../core/colorUtils.js";import n from"../../core/Error.js";import r from"../../renderers/HeatmapRenderer.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../../renderers/support/HeatmapColorStop.js";import{gaussianBlurRadiusPxToKernelDensityRadiusPt as o}from"../../renderers/support/heatmapUtils.js";import{processRegenerateParams as s,getRendererToUpdate as c,getStyleType as l}from"./support/regenerateUtils.js";import{verifyBasicFieldValidity as u,getBasemapInfo as d}from"./support/utils.js";import f from"../statistics/heatmapStatistics.js";import{getFieldsList as p}from"../support/utils.js";import{createLayerAdapter as m,getLayerTypeLabels as h}from"../support/adapters/support/layerUtils.js";import{cloneScheme as g,getSchemes as _}from"../symbology/heatmap.js";const v=.01,y=[0,.04];async function b(e){if(!(e?.layer&&e.view))throw new n(`heatmap-renderer:missing-parameters`,`'layer' and 'view' parameters are required`);let t={...e,layer:e.layer,view:e.view};t.radius??=t.blurRadius==null?18:o(t.blurRadius),t.minRatio??=.01,t.maxRatio??=1,t.fadeRatio??=.2,t.fadeToTransparent??=!0;let r=[3,5,6,8,9,10,11,14,17],i=m(t.layer,r);if(!i)throw new n(`heatmap-renderer:invalid-parameters`,`'layer' must be one of these types: `+h(r).join(`, `));t.layer=i;let a=t.signal==null?null:{signal:t.signal};await i.load(a);let s=await p({field:t.field}),c=u(i,s,`heatmap-renderer:invalid-parameters`);if(c)throw c;return t}async function x(e){let t=`regenerate-heatmap-renderer`;await s(e,t);let r=await c(e);if(l(r)!==`heatmap`)throw new n(`${t}:invalid-parameters`,`Renderer is invalid`);let{layer:i,filter:a,view:o,signal:u}=e,d=await b({layer:i,field:r.field,radius:r.radius,fadeRatio:r.authoringInfo?.fadeRatio,filter:a,view:o,signal:u});return{...e,creatorParameters:d,renderer:r}}async function S(e){let t=e.scheme,n=null,r=null,i=await d(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:g(t),basemapId:n,basemapTheme:r};let a=_({basemapTheme:r});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}async function C(n,o){let{field:s,basemap:c,radius:l,fadeToTransparent:u,heatmapScheme:d,view:f}=o,{scheme:p,basemapId:m,basemapTheme:h}=await S({basemap:c,scheme:d,view:f}),_=p.colors,b=_.length,x=n.min==null,C=x?y:[n.min,n.max],T,E=o.fadeRatio??0,D=o.maxRatio??0,O=o.minRatio??0,k=(D-O)/(b-1),A=_[0],j=u?O:v,M=[new a({ratio:0,color:new e([A.r,A.g,A.b,0])}),new a({ratio:v,color:new e([A.r,A.g,A.b,0])}),new a({ratio:j,color:new e([A.r,A.g,A.b,j])})];return t(_,b).forEach((e,t)=>{let n=O+k*t;M.push(new a({ratio:n,color:e}))}),u&&(w(M,E),T=new i({fadeRatio:E})),{renderer:new r({authoringInfo:T,radius:l,colorStops:M,field:s,minDensity:C[0],maxDensity:C[1]}),statistics:n,defaultValuesUsed:x,scheme:g(p),basemapId:m,basemapTheme:h}}function w(e,t){let n=(1-t)*10+1,r=e.length-3,i=e[2].color.a;e.forEach((e,a)=>{if(a<=2)return;let{color:o}=e,s=(a-3)/r;o.a=t===0?1:Math.min(Math.max(s*n+s+i,i),1)})}async function T(e){let t=await b(e);return C(t.statistics??await f({layer:t.layer,field:t.field,radius:t.radius,view:t.view,filter:t.filter,signal:t.signal}),t)}async function E(e){let{creatorParameters:t,renderer:n}=await x(e),r=await f({layer:t.layer,field:t.field,radius:t.radius,view:t.view,filter:t.filter,signal:t.signal}),i=r.min==null?y:[r.min,r.max];return n.minDensity=i[0],n.maxDensity=i[1],{renderer:D({renderer:n,fadeRatio:t.fadeRatio})}}function D(e){let{fadeRatio:t,renderer:n}=e,r=n.clone(),a=t??(r?.authoringInfo?.fadeRatio||0);return w(r.colorStops,a),r.authoringInfo?r.authoringInfo.fadeRatio=a:r.authoringInfo=new i({fadeRatio:a}),r}export{T as createRenderer,E as regenerateRenderer,D as updateRenderer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import e from"../../Color.js";import{isSome as t}from"../../core/arrayUtils.js";import{createUniqueColors as n}from"../../core/colorUtils.js";import r from"../../core/Error.js";import{toPt as i}from"../../core/screenUtils.js";import{fetchMessageBundle as a}from"../../intl/messages.js";import o from"../../layers/support/AggregateField.js";import s from"../../layers/support/ExpressionInfo.js";import c from"../../renderers/PieChartRenderer.js";import l from"../../renderers/support/AttributeColorInfo.js";import u from"../../renderers/support/OthersCategory.js";import d from"../../renderers/support/RendererLegendOptions.js";import f from"../heuristics/outline.js";import p from"../heuristics/sizeRange.js";import{createVisualVariables as m}from"./size.js";import{spliceVisualVariables as h,updateAuthoringInfoVisualVariable as g,processRegenerateParams as _,getRendererToUpdate as v,getStyleType as y,hasOutlineVV as b,hasScaleDependentSizeVV as x,isSizeVV as S,findSizeVVIndex as C,findOutlineVVIndex as w,findScaleDependentSizeVVIndex as T}from"./support/regenerateUtils.js";import{errorCallback as E,getSymbolOutlineFromScheme as D,createSymbol as O,verifyBasicFieldValidity as k,getBasemapInfo as A}from"./support/utils.js";import j from"../statistics/predominantCategories.js";import{getSumOfAttributesExpr as M}from"../statistics/support/utils.js";import{verifyBinningParams as N}from"../support/binningUtils.js";import{getFieldsList as P}from"../support/utils.js";import{binningCapableLayerTypes as F,createLayerAdapter as I,getLayerTypeLabels as L,getLayerTypes as R}from"../support/adapters/support/layerUtils.js";import{cloneScheme as z,getSchemes as B}from"../symbology/pieChart.js";import V from"../../symbols/SimpleLineSymbol.js";import{getCIMSymbolColor as H}from"../../symbols/support/cimSymbolUtils.js";const U=[2,3,4,6,7,8,9,12,15];async function W(e){if(!(e?.layer&&e.view&&e.attributes?.length))throw new r(`pie-chart-renderer:missing-parameters`,`'layer', 'view' and 'attributes' parameters are required`);if(e.attributes.length>10)throw new r(`pie-chart-renderer:invalid-parameters`,`PieChart renderer does not support more than 10 attributes`);e.forBinning&&N(e,`pie-chart-renderer`);let t={...e,layer:e.layer,view:e.view,attributes:e.attributes};t.shape=t.shape||`pie`,t.othersCategoryEnabled??=!0,t.includeSizeVariable=e.includeSizeVariable||!1;let n=e.forBinning?F:U,i=I(t.layer,n,e.forBinning);if(!i)throw new r(`pie-chart-renderer:invalid-parameters`,`'layer' must be one of these types: `+L(n).join(`, `));let a=t.signal==null?null:{signal:t.signal};await Promise.all([e.view.when(),i.load(a)]);let o=i.geometryType,s=o===`polygon`,c=o===`point`||o===`multipoint`||s;if(t.outlineOptimizationEnabled=s?t.outlineOptimizationEnabled:!1,t.sizeOptimizationEnabled=c?t.sizeOptimizationEnabled:!1,!c)throw new r(`pie-chart-renderer:not-supported`,`PieChart renderer is only supported for point and polygon layers`);let l=[],u=t.attributes;for(let e of u){let t=await P({field:e.field,valueExpression:e.valueExpression});l.push(...t)}let d=k(i,l.filter(Boolean),`pie-chart-renderer:invalid-parameters`);if(d)throw d;return{...t,layer:i}}async function G(e){let t=`regenerate-pie-chart-renderer`,n=e.includedParts?.includes(`size-variable`)??!0;await _(e,t);let i=await v(e);if(y(i)!==`pie-chart`)throw new r(`${t}:invalid-parameters`,`Renderer is invalid`);let{visualVariables:a}=i,{layer:o,forBinning:s,filter:c,view:l,signal:u}=e,d=b(i),f=x(i),p=n&&a?.some(S),m=await W({layer:o,attributes:i.attributes.map(e=>({field:e.field,label:e.label,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle})),outlineOptimizationEnabled:d,sizeOptimizationEnabled:f,includeSizeVariable:p,forBinning:s,filter:c,view:l,signal:u});return{...e,creatorParameters:m,renderer:i}}async function K(e){let t=e.pieChartScheme,n=null,r=null,i=await A(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:z(t),basemapId:n,basemapTheme:r};let a=B({numColors:e.attributes.length,geometryType:e.layer.geometryType,basemapTheme:r});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}async function q(e,t){let{valueExpression:n,sqlExpression:r,sqlWhere:i}=M(e.attributes),o=await a(`esri/smartMapping/t9n/smartMapping`);return m({layer:e.layer,basemap:e.basemap,valueExpression:n,sqlExpression:r,sqlWhere:i,sizeScheme:t,sizeOptimizationEnabled:e.sizeOptimizationEnabled,legendOptions:{title:o.sumOfCategories},filter:e.filter,view:e.view,signal:e.signal})}async function ee(e){let[o,s]=await Promise.all([W(e),a(`esri/smartMapping/t9n/smartMapping`)]),m=await K(o),h=m?.scheme;if(!h)throw new r(`pie-chart-renderer:insufficient-info`,`Unable to find pie-chart scheme`);let{layer:g,includeSizeVariable:_,sizeOptimizationEnabled:v,outlineOptimizationEnabled:y,view:b,signal:x,filter:S}=o,C=h.sizeScheme,w=o.attributes,T=w.map(e=>e.field).filter(t),[k,A,M,N]=await Promise.all([T.length>1?j({layer:g,fields:T,view:b,signal:x,filter:S}):null,_?q(o,C):null,!_&&v?p({layer:g,view:b,signal:x,filter:S}).catch(E):null,y?f({layer:g,view:b,signal:x,filter:S}).catch(E):null]),P=k?.predominantCategoryInfos?{uniqueValueInfos:k.predominantCategoryInfos}:{uniqueValueInfos:T.map(e=>({value:e,count:0}))},F=n(h.colors,w.length),I=w.map((e,t)=>new l({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:F[t]})),L=g.geometryType,R=C!=null&&`background`in C&&C.background,B=new c({attributes:I,othersCategory:new u({label:s.other,color:o.othersCategoryEnabled?h.colorForOthersCategory:null,threshold:.04}),holePercentage:o.shape===`donut`?.45:0,backgroundFillSymbol:R?O(L,{type:`2d`,color:R.color,outline:D(R,L,N?.opacity)}):null,size:i(h.size),outline:new V(D(h,`point`,N?.opacity)),legendOptions:d.from(o.legendOptions)});if(A&&(J(A,v,L),B.authoringInfo=A.authoringInfo.clone(),B.visualVariables=A.visualVariables?.map(e=>e.clone())),N?.visualVariables?.length){let e=N.visualVariables.map(e=>e.clone()).filter(e=>e.type!==`color`&&e.type!==`rotation`);B.visualVariables?B.visualVariables.push(...e):B.visualVariables=e}return M?.minSize&&(Y(M,L),B.visualVariables?B.visualVariables.push(M.minSize):B.visualVariables=[M.minSize]),{renderer:B,pieChartScheme:z(h),size:A,basemapId:m.basemapId,basemapTheme:m.basemapTheme,statistics:P}}async function te(e){let{creatorParameters:t,view:n,signal:r,filter:i,renderer:a}=await G(e),{layer:o,outlineOptimizationEnabled:s,includeSizeVariable:c,sizeOptimizationEnabled:l}=t,u=(await K(t))?.scheme?.sizeScheme,[d,m,_]=await Promise.all([s?f({layer:o,view:n,signal:r,filter:i}).catch(E):null,c?q(t,u):null,!c&&l?p({layer:o,view:n,signal:r,filter:i}).catch(E):null]),v=o.geometryType;if(m&&(J(m,l,v),h(a,m?.visualVariables,C),g(a,m?.authoringInfo,`size`)),d?.visualVariables?.length){let e=d.visualVariables.map(e=>e.clone()).filter(e=>e.type!==`color`&&e.type!==`rotation`);h(a,e,w)}return _?.minSize&&(Y(_,v),h(a,_?.minSize,T)),{renderer:a}}function J(e,t,n){t||e.visualVariables.forEach(e=>{typeof e.minSize==`number`&&typeof e.maxSize==`number`&&(e.minSize*=2.5,e.maxSize*=1.8)}),t&&n===`point`&&e.visualVariables.forEach(e=>{e?.minSize&&typeof e.minSize==`object`&&e.minSize?.stops?.forEach(e=>{e.size*=1.8})})}function Y(e,t){t===`point`&&e.minSize.stops?.forEach(e=>{e.size*=2.5}),t===`polygon`&&e.minSize.stops?.forEach(e=>{e.size*=1.8})}const ne=new Set([`unique-value`,`class-breaks`]),re=new e(`#aaaaaa`),X=new e(`#5c5c5c`),Z=[new e(`#e60049`),new e(`#0bb4ff`),new e(`#50e991`),new e(`#e6d800`),new e(`#9b19f5`),new e(`#ffa300`),new e(`#dc0ab4`),new e(`#b3d4ff`),new e(`#00bfa0`),new e(`#f0cccc`)];async function ie(e){if(!(e&&e.layer))throw new r(`pie-chart-cluster-renderer:missing-parameters`,`'layer' parameter is required`);let t={...e};t.shape=t.shape||`pie`,t.defaultSymbolEnabled??=!0;let n=e.layer;if(!R(U).includes(n.type))throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`'layer' must be one of these types: `+L(U).join(`, `));let i=t.signal==null?null:{signal:t.signal};if(await n.load(i),n.geometryType!==`point`)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cluster renderers are only supported for point layers`);let a=`renderer`in n?n.renderer:void 0;if(!a)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`input layer does not have a renderer.`);if(!ne.has(a.type))throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters based on a ${a.type} renderer.`);if(`valueExpression`in a&&a.valueExpression)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a layer whose renderer contains a valueExpression.`);if(a.type===`unique-value`){if(a.field2)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a UniqueValueRenderer using more than one field.`);if(a.uniqueValueInfos!=null&&a.uniqueValueInfos.length>10)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer cannot be created from a UniqueValueRenderer with more than 10 unique value infos.`)}if(a.type===`class-breaks`){if(a.classBreakInfos.length<2)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a layer renderer with a continuous color or size gradient.`);if(a.classBreakInfos.length>10)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer can not be created from a ClassBreaksRenderer with more than 10 class break infos.`);if(a?.authoringInfo?.type===`class-breaks-size`)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer can not be created from a ClassBreaksRenderer with breaks varied by size instead of color.`)}return t}async function ae(e){let{layer:t,shape:n,defaultSymbolEnabled:r,legendOptions:i}=await ie(e),o=`renderer`in t?t.renderer:void 0,s=(await a(`esri/smartMapping/t9n/smartMapping`)).other,u=[];o?.type===`unique-value`&&(u=oe({renderer:o,defaultSymbolEnabled:r,defaultLabelBackup:s})),o?.type===`class-breaks`&&(u=se({renderer:o,defaultSymbolEnabled:r,defaultLabelBackup:s}));let f=[],p=[];for(let e of u){let{field:t,color:n}=e;f.push(t),p.push(new l({color:n,field:t.name,label:t.alias}))}return{fields:f,renderer:new c({attributes:p,legendOptions:d.from(i),holePercentage:n===`donut`?.45:0,outline:null,size:9,othersCategory:null})}}function oe(e){let{renderer:t,defaultSymbolEnabled:r,defaultLabelBackup:i}=e,{field:a,defaultSymbol:c,defaultLabel:l}=t,u=t.uniqueValueInfos??[],d=c&&r,f=d?9:10,p=n(Z,f),m=(a?u.slice(0,f).map((e,t)=>{let n=e.label,r=p[t];return{field:new o({name:Q(e.value?.toString()),alias:n,onStatisticExpression:new s({title:`Field definition - ${n}`,expression:ce(a,e),returnType:`number`}),statisticType:`sum`}),color:$(e.symbol,r)}}):null)??[];if(d){let e=l||i;m.push({field:new o({name:Q(`cluster_default`),alias:e,onStatisticExpression:new s({title:`Field definition - ${e}`,expression:le(a,u),returnType:`number`}),statisticType:`sum`}),color:$(c,X)})}return m}function se(e){let{renderer:t,defaultSymbolEnabled:r,defaultLabelBackup:i}=e,{field:a,classBreakInfos:c,defaultSymbol:l,defaultLabel:u}=t,d=l&&r,f=d?9:10,p=n(Z,f),m=c.slice(0,f).map((e,t)=>{let n=e.label||`${e.minValue} - ${e.maxValue}`,r=p[t];return{field:new o({name:Q(n),alias:n,onStatisticExpression:new s({title:`Field definition - ${n}`,expression:ue(a,e),returnType:`number`}),statisticType:`sum`}),color:$(e.symbol,r)}});if(d){let e=u||i;m.push({field:new o({name:Q(`cluster_default`),alias:e,onStatisticExpression:new s({title:`Field definition - ${e}`,expression:de(a,c),returnType:`number`}),statisticType:`sum`}),color:$(l,X)})}return m}function Q(e){return`SUM_`+(e+``).replaceAll(/[^a-zA-Z0-9_]/g,`_`)}function $(e,t){if(e?.type===`simple-marker`&&e.color)return e.color.clone();if(e?.type===`cim`){let t=H(e);if(t)return t.clone()}return t?t.clone():re.clone()}function ce(e,t){return`Number(Text($feature["${e}"]) == "${t.value+``}")`}function le(e,t){return`Number(!(${t.map(t=>`(Text($feature["${e}"]) == "${t.value+``}")`).join(` || `)}))`}function ue(e,t){return`Number($feature["${e}"] >= ${t.minValue} && $feature["${e}"] < ${t.maxValue})`}function de(e,t){return`Number(!(${t.map(t=>`($feature["${e}"] >= ${t.minValue} && $feature["${e}"] < ${t.maxValue})`).join(` || `)}))`}export{ee as createRenderer,ae as createRendererForClustering,te as regenerateRenderer};
2
+ import e from"../../Color.js";import{isSome as t}from"../../core/arrayUtils.js";import{createUniqueColors as n}from"../../core/colorUtils.js";import r from"../../core/Error.js";import{toPt as i}from"../../core/screenUtils.js";import{fetchMessageBundle as a}from"../../intl/messages.js";import o from"../../layers/support/AggregateField.js";import s from"../../layers/support/ExpressionInfo.js";import c from"../../renderers/PieChartRenderer.js";import l from"../../renderers/support/AttributeColorInfo.js";import u from"../../renderers/support/OthersCategory.js";import d from"../../renderers/support/RendererLegendOptions.js";import f from"../heuristics/outline.js";import p from"../heuristics/sizeRange.js";import{createVisualVariables as m}from"./size.js";import{spliceVisualVariables as h,updateAuthoringInfoVisualVariable as g,processRegenerateParams as _,getRendererToUpdate as v,getStyleType as y,hasOutlineVV as b,hasScaleDependentSizeVV as x,isSizeVV as S,findSizeVVIndex as C,findOutlineVVIndex as w,findScaleDependentSizeVVIndex as T}from"./support/regenerateUtils.js";import{errorCallback as E,getSymbolOutlineFromScheme as D,createSymbol as O,verifyBasicFieldValidity as k,getBasemapInfo as A}from"./support/utils.js";import j from"../statistics/predominantCategories.js";import{getSumOfAttributesExpr as M}from"../statistics/support/utils.js";import{verifyBinningParams as N}from"../support/binningUtils.js";import{getFieldsList as P}from"../support/utils.js";import{binningCapableLayerTypes as F,createLayerAdapter as I,getLayerTypeLabels as L,getLayerTypes as R}from"../support/adapters/support/layerUtils.js";import{cloneScheme as z,getSchemes as B}from"../symbology/pieChart.js";import V from"../../symbols/SimpleLineSymbol.js";import{getCIMSymbolColor as H}from"../../symbols/support/cimSymbolUtils.js";const U=[3,5,6,8,9,10,11,14,17];async function W(e){if(!(e?.layer&&e.view&&e.attributes?.length))throw new r(`pie-chart-renderer:missing-parameters`,`'layer', 'view' and 'attributes' parameters are required`);if(e.attributes.length>10)throw new r(`pie-chart-renderer:invalid-parameters`,`PieChart renderer does not support more than 10 attributes`);e.forBinning&&N(e,`pie-chart-renderer`);let t={...e,layer:e.layer,view:e.view,attributes:e.attributes};t.shape=t.shape||`pie`,t.othersCategoryEnabled??=!0,t.includeSizeVariable=e.includeSizeVariable||!1;let n=e.forBinning?F:U,i=I(t.layer,n,e.forBinning);if(!i)throw new r(`pie-chart-renderer:invalid-parameters`,`'layer' must be one of these types: `+L(n).join(`, `));let a=t.signal==null?null:{signal:t.signal};await Promise.all([e.view.when(),i.load(a)]);let o=i.geometryType,s=o===`polygon`,c=o===`point`||o===`multipoint`||s;if(t.outlineOptimizationEnabled=s?t.outlineOptimizationEnabled:!1,t.sizeOptimizationEnabled=c?t.sizeOptimizationEnabled:!1,!c)throw new r(`pie-chart-renderer:not-supported`,`PieChart renderer is only supported for point and polygon layers`);let l=[],u=t.attributes;for(let e of u){let t=await P({field:e.field,valueExpression:e.valueExpression});l.push(...t)}let d=k(i,l.filter(Boolean),`pie-chart-renderer:invalid-parameters`);if(d)throw d;return{...t,layer:i}}async function G(e){let t=`regenerate-pie-chart-renderer`,n=e.includedParts?.includes(`size-variable`)??!0;await _(e,t);let i=await v(e);if(y(i)!==`pie-chart`)throw new r(`${t}:invalid-parameters`,`Renderer is invalid`);let{visualVariables:a}=i,{layer:o,forBinning:s,filter:c,view:l,signal:u}=e,d=b(i),f=x(i),p=n&&a?.some(S),m=await W({layer:o,attributes:i.attributes.map(e=>({field:e.field,label:e.label,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle})),outlineOptimizationEnabled:d,sizeOptimizationEnabled:f,includeSizeVariable:p,forBinning:s,filter:c,view:l,signal:u});return{...e,creatorParameters:m,renderer:i}}async function K(e){let t=e.pieChartScheme,n=null,r=null,i=await A(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:z(t),basemapId:n,basemapTheme:r};let a=B({numColors:e.attributes.length,geometryType:e.layer.geometryType,basemapTheme:r});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}async function q(e,t){let{valueExpression:n,sqlExpression:r,sqlWhere:i}=M(e.attributes),o=await a(`esri/smartMapping/t9n/smartMapping`);return m({layer:e.layer,basemap:e.basemap,valueExpression:n,sqlExpression:r,sqlWhere:i,sizeScheme:t,sizeOptimizationEnabled:e.sizeOptimizationEnabled,legendOptions:{title:o.sumOfCategories},filter:e.filter,view:e.view,signal:e.signal})}async function ee(e){let[o,s]=await Promise.all([W(e),a(`esri/smartMapping/t9n/smartMapping`)]),m=await K(o),h=m?.scheme;if(!h)throw new r(`pie-chart-renderer:insufficient-info`,`Unable to find pie-chart scheme`);let{layer:g,includeSizeVariable:_,sizeOptimizationEnabled:v,outlineOptimizationEnabled:y,view:b,signal:x,filter:S}=o,C=h.sizeScheme,w=o.attributes,T=w.map(e=>e.field).filter(t),[k,A,M,N]=await Promise.all([T.length>1?j({layer:g,fields:T,view:b,signal:x,filter:S}):null,_?q(o,C):null,!_&&v?p({layer:g,view:b,signal:x,filter:S}).catch(E):null,y?f({layer:g,view:b,signal:x,filter:S}).catch(E):null]),P=k?.predominantCategoryInfos?{uniqueValueInfos:k.predominantCategoryInfos}:{uniqueValueInfos:T.map(e=>({value:e,count:0}))},F=n(h.colors,w.length),I=w.map((e,t)=>new l({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:F[t]})),L=g.geometryType,R=C!=null&&`background`in C&&C.background,B=new c({attributes:I,othersCategory:new u({label:s.other,color:o.othersCategoryEnabled?h.colorForOthersCategory:null,threshold:.04}),holePercentage:o.shape===`donut`?.45:0,backgroundFillSymbol:R?O(L,{type:`2d`,color:R.color,outline:D(R,L,N?.opacity)}):null,size:i(h.size),outline:new V(D(h,`point`,N?.opacity)),legendOptions:d.from(o.legendOptions)});if(A&&(J(A,v,L),B.authoringInfo=A.authoringInfo.clone(),B.visualVariables=A.visualVariables?.map(e=>e.clone())),N?.visualVariables?.length){let e=N.visualVariables.map(e=>e.clone()).filter(e=>e.type!==`color`&&e.type!==`rotation`);B.visualVariables?B.visualVariables.push(...e):B.visualVariables=e}return M?.minSize&&(Y(M,L),B.visualVariables?B.visualVariables.push(M.minSize):B.visualVariables=[M.minSize]),{renderer:B,pieChartScheme:z(h),size:A,basemapId:m.basemapId,basemapTheme:m.basemapTheme,statistics:P}}async function te(e){let{creatorParameters:t,view:n,signal:r,filter:i,renderer:a}=await G(e),{layer:o,outlineOptimizationEnabled:s,includeSizeVariable:c,sizeOptimizationEnabled:l}=t,u=(await K(t))?.scheme?.sizeScheme,[d,m,_]=await Promise.all([s?f({layer:o,view:n,signal:r,filter:i}).catch(E):null,c?q(t,u):null,!c&&l?p({layer:o,view:n,signal:r,filter:i}).catch(E):null]),v=o.geometryType;if(m&&(J(m,l,v),h(a,m?.visualVariables,C),g(a,m?.authoringInfo,`size`)),d?.visualVariables?.length){let e=d.visualVariables.map(e=>e.clone()).filter(e=>e.type!==`color`&&e.type!==`rotation`);h(a,e,w)}return _?.minSize&&(Y(_,v),h(a,_?.minSize,T)),{renderer:a}}function J(e,t,n){t||e.visualVariables.forEach(e=>{typeof e.minSize==`number`&&typeof e.maxSize==`number`&&(e.minSize*=2.5,e.maxSize*=1.8)}),t&&n===`point`&&e.visualVariables.forEach(e=>{e?.minSize&&typeof e.minSize==`object`&&e.minSize?.stops?.forEach(e=>{e.size*=1.8})})}function Y(e,t){t===`point`&&e.minSize.stops?.forEach(e=>{e.size*=2.5}),t===`polygon`&&e.minSize.stops?.forEach(e=>{e.size*=1.8})}const ne=new Set([`unique-value`,`class-breaks`]),re=new e(`#aaaaaa`),X=new e(`#5c5c5c`),Z=[new e(`#e60049`),new e(`#0bb4ff`),new e(`#50e991`),new e(`#e6d800`),new e(`#9b19f5`),new e(`#ffa300`),new e(`#dc0ab4`),new e(`#b3d4ff`),new e(`#00bfa0`),new e(`#f0cccc`)];async function ie(e){if(!(e&&e.layer))throw new r(`pie-chart-cluster-renderer:missing-parameters`,`'layer' parameter is required`);let t={...e};t.shape=t.shape||`pie`,t.defaultSymbolEnabled??=!0;let n=e.layer;if(!R(U).includes(n.type))throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`'layer' must be one of these types: `+L(U).join(`, `));let i=t.signal==null?null:{signal:t.signal};if(await n.load(i),n.geometryType!==`point`)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cluster renderers are only supported for point layers`);let a=`renderer`in n?n.renderer:void 0;if(!a)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`input layer does not have a renderer.`);if(!ne.has(a.type))throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters based on a ${a.type} renderer.`);if(`valueExpression`in a&&a.valueExpression)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a layer whose renderer contains a valueExpression.`);if(a.type===`unique-value`){if(a.field2)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a UniqueValueRenderer using more than one field.`);if(a.uniqueValueInfos!=null&&a.uniqueValueInfos.length>10)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer cannot be created from a UniqueValueRenderer with more than 10 unique value infos.`)}if(a.type===`class-breaks`){if(a.classBreakInfos.length<2)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a layer renderer with a continuous color or size gradient.`);if(a.classBreakInfos.length>10)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer can not be created from a ClassBreaksRenderer with more than 10 class break infos.`);if(a?.authoringInfo?.type===`class-breaks-size`)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer can not be created from a ClassBreaksRenderer with breaks varied by size instead of color.`)}return t}async function ae(e){let{layer:t,shape:n,defaultSymbolEnabled:r,legendOptions:i}=await ie(e),o=`renderer`in t?t.renderer:void 0,s=(await a(`esri/smartMapping/t9n/smartMapping`)).other,u=[];o?.type===`unique-value`&&(u=oe({renderer:o,defaultSymbolEnabled:r,defaultLabelBackup:s})),o?.type===`class-breaks`&&(u=se({renderer:o,defaultSymbolEnabled:r,defaultLabelBackup:s}));let f=[],p=[];for(let e of u){let{field:t,color:n}=e;f.push(t),p.push(new l({color:n,field:t.name,label:t.alias}))}return{fields:f,renderer:new c({attributes:p,legendOptions:d.from(i),holePercentage:n===`donut`?.45:0,outline:null,size:9,othersCategory:null})}}function oe(e){let{renderer:t,defaultSymbolEnabled:r,defaultLabelBackup:i}=e,{field:a,defaultSymbol:c,defaultLabel:l}=t,u=t.uniqueValueInfos??[],d=c&&r,f=d?9:10,p=n(Z,f),m=(a?u.slice(0,f).map((e,t)=>{let n=e.label,r=p[t];return{field:new o({name:Q(e.value?.toString()),alias:n,onStatisticExpression:new s({title:`Field definition - ${n}`,expression:ce(a,e),returnType:`number`}),statisticType:`sum`}),color:$(e.symbol,r)}}):null)??[];if(d){let e=l||i;m.push({field:new o({name:Q(`cluster_default`),alias:e,onStatisticExpression:new s({title:`Field definition - ${e}`,expression:le(a,u),returnType:`number`}),statisticType:`sum`}),color:$(c,X)})}return m}function se(e){let{renderer:t,defaultSymbolEnabled:r,defaultLabelBackup:i}=e,{field:a,classBreakInfos:c,defaultSymbol:l,defaultLabel:u}=t,d=l&&r,f=d?9:10,p=n(Z,f),m=c.slice(0,f).map((e,t)=>{let n=e.label||`${e.minValue} - ${e.maxValue}`,r=p[t];return{field:new o({name:Q(n),alias:n,onStatisticExpression:new s({title:`Field definition - ${n}`,expression:ue(a,e),returnType:`number`}),statisticType:`sum`}),color:$(e.symbol,r)}});if(d){let e=u||i;m.push({field:new o({name:Q(`cluster_default`),alias:e,onStatisticExpression:new s({title:`Field definition - ${e}`,expression:de(a,c),returnType:`number`}),statisticType:`sum`}),color:$(l,X)})}return m}function Q(e){return`SUM_`+(e+``).replaceAll(/[^a-zA-Z0-9_]/g,`_`)}function $(e,t){if(e?.type===`simple-marker`&&e.color)return e.color.clone();if(e?.type===`cim`){let t=H(e);if(t)return t.clone()}return t?t.clone():re.clone()}function ce(e,t){return`Number(Text($feature["${e}"]) == "${t.value+``}")`}function le(e,t){return`Number(!(${t.map(t=>`(Text($feature["${e}"]) == "${t.value+``}")`).join(` || `)}))`}function ue(e,t){return`Number($feature["${e}"] >= ${t.minValue} && $feature["${e}"] < ${t.maxValue})`}function de(e,t){return`Number(!(${t.map(t=>`($feature["${e}"] >= ${t.minValue} && $feature["${e}"] < ${t.maxValue})`).join(` || `)}))`}export{ee as createRenderer,ae as createRendererForClustering,te as regenerateRenderer};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import e from"../../../Color.js";import{clone as t}from"../../../core/lang.js";import{px2pt as n}from"../../../core/screenUtils.js";import r from"../../../symbols/CIMSymbol.js";const i=`spike-height-override`,a=n(8),o=n(20),s=`triangle-solid-fill-open-outline`;function c(e){let{field:t,normalizationField:n,sizeStops:r}=e,{value:a,size:o}=r[0],{value:s,size:c}=r[1],l=0,u;t&&(l=`$feature["${t}"]`,u=`
2
+ import e from"../../../Color.js";import{clone as t}from"../../../core/lang.js";import{onePixelInPoints as n,px2pt as r}from"../../../core/screenUtils.js";import i from"../../../symbols/CIMSymbol.js";const a=`spike-height-override`,o=r(8),s=r(20),c=`triangle-solid-fill-open-outline`;function l(e){let{field:t,normalizationField:n,sizeStops:r}=e,{value:i,size:o}=r[0],{value:s,size:c}=r[1],l=0,u;t&&(l=`$feature["${t}"]`,u=`
3
3
  if(!HasValue($feature, "${t}")){
4
4
  return 0;
5
5
  }
@@ -15,11 +15,11 @@ import e from"../../../Color.js";import{clone as t}from"../../../core/lang.js";i
15
15
  var maxSize = ${c};
16
16
  var minSize = ${o};
17
17
 
18
- var minDataValue = ${a};
18
+ var minDataValue = ${i};
19
19
  var maxDataValue = ${s};
20
20
 
21
21
  var ratio = Constrain(( value - minDataValue ) / ( maxDataValue - minDataValue ), 0, 1);
22
22
 
23
23
  var size = Constrain(maxSize * ratio, minSize, maxSize);
24
24
  return size;
25
- `,returnType:`Default`};return[{type:`CIMPrimitiveOverride`,primitiveName:i,propertyName:`Length`,valueExpressionInfo:d}]}function l(e){let{primitiveOverrides:t,baseWidth:n,defaultHeight:s}=e,c=u(e);return new r({data:{type:`CIMSymbolReference`,symbol:{type:`CIMPointSymbol`,effects:[{type:`CIMGeometricEffectRadial`,primitiveName:i,angle:90,length:s??o},{type:`CIMGeometricEffectTaperedPolygon`,fromWidth:n??a,toWidth:1,length:5}],symbolLayers:c,haloSize:1,scaleX:1,angleAlignment:`Display`},primitiveOverrides:t}})}function u(e){let t=[d(e)],n=p(e);return n&&t.push(n),t}function d(e){let{strokeColor:t,strokeWidth:r,symbolStyle:i}=e,a=i?.includes(`solid-fill`)||i?.includes(`gradient-fill`),o=t?.toArray(),s=!1;return i?.includes(`outline`)&&a?s=!0:o=e.color?.toArray(),{type:`CIMSolidStroke`,effects:f(i),enable:!0,colorLocked:s,capStyle:`Round`,joinStyle:`Round`,lineStyle3D:`Strip`,miterLimit:4,width:r??n(1),color:o}}function f(e){if(!e?.includes(`closed`))return[{type:`CIMGeometricEffectAddControlPoints`,angleTolerance:90,primitiveName:`spike-control-points`},{type:`CIMGeometricEffectSuppress`,suppress:!0,invert:!0,primitiveName:`spike-stroke-suppress`}]}function p(e){let{color:t,symbolStyle:n}=e,r=n?.includes(`solid-fill`),i=n?.includes(`gradient-fill`);if(!r&&!i||!t)return;if(r)return{type:`CIMSolidFill`,enable:!0,colorLocked:!1,color:t?.toArray()};let a=t.clone();return a.a=0,{type:`CIMGradientFill`,enable:!0,angle:90,colorRamp:{type:`CIMMultipartColorRamp`,colorRamps:[{type:`CIMLinearContinuousColorRamp`,fromColor:t.toArray(),toColor:a.toArray()}],weights:[1]},gradientMethod:`Linear`,gradientSize:70,gradientSizeUnits:`Relative`,gradientType:`Continuous`}}function m(n,r){let{defaultHeight:a,baseWidth:o,color:s,strokeColor:c,primitiveOverrides:l,symbolStyle:u,strokeWidth:f}=r,m=n.data.symbol?.type===`CIMPointSymbol`?n.data.symbol:null,g=m?.symbolLayers;if(!g)return n;let _=m.effects,v=_?.find(e=>e.type===`CIMGeometricEffectTaperedPolygon`),y=_?.find(e=>e.type===`CIMGeometricEffectRadial`&&e.primitiveName===i);o!=null&&v&&(v.fromWidth=o),a!=null&&y&&(y.length=a);let b=g?.find(e=>e.type===`CIMSolidStroke`),x=g?.find(e=>e.type===`CIMSolidFill`),S=g?.find(e=>e.type===`CIMGradientFill`),C=S?.colorRamp?.type===`CIMMultipartColorRamp`&&S.colorRamp.colorRamps[0]?.type===`CIMLinearContinuousColorRamp`?S.colorRamp.colorRamps[0]:null;if(u){let t=x?.color??C?.fromColor??b?.color,n=s??(t?new e(t):void 0),i=b?.color??t,a=c??(i?new e(i):void 0),o=u.includes(`solid-fill`),l=u.includes(`gradient-fill`);if(!o&&!l&&h(g,x??S),n){if(o)h(g,S),x?x.color=n?.toArray():g.push(p({...r,color:n}));else if(l){if(h(g,x),!S)g.push(p({...r,color:n}));else if(C&&s){let e=n.clone();e.a=0,C.fromColor=n.toArray(),C.toColor=e.toArray()}}}if(b){let e=d({...r,strokeColor:a,color:n});b.effects=e.effects,b.color=e.color,b.width=e.width,b.colorLocked=e.colorLocked}}else if(b&&(c&&(b.color=c.toArray()),f!=null&&(b.width=f)),x&&s&&(x.color=s.toArray()),C&&s){let e=s.clone();e.a=0,C.fromColor=s.toArray(),C.toColor=e.toArray()}return l!==void 0&&(n.data.primitiveOverrides=t(l)),n}function h(e,t){if(!t)return;let n=e.indexOf(t);n!==-1&&e.splice(n,1)}export{c as createPrimitiveOverrides,l as createSpikeSymbol,s as defaultSpikeSymbolStyle,m as updateSpikeSymbol};
25
+ `,returnType:`Default`};return[{type:`CIMPrimitiveOverride`,primitiveName:a,propertyName:`Length`,valueExpressionInfo:d}]}function u(e){let{primitiveOverrides:t,baseWidth:n,defaultHeight:r}=e,c=d(e);return new i({data:{type:`CIMSymbolReference`,symbol:{type:`CIMPointSymbol`,effects:[{type:`CIMGeometricEffectRadial`,primitiveName:a,angle:90,length:r??s},{type:`CIMGeometricEffectTaperedPolygon`,fromWidth:n??o,toWidth:1,length:5}],symbolLayers:c,haloSize:1,scaleX:1,angleAlignment:`Display`},primitiveOverrides:t}})}function d(e){let t=[f(e)],n=m(e);return n&&t.push(n),t}function f(e){let{strokeColor:t,strokeWidth:r,symbolStyle:i}=e,a=i?.includes(`solid-fill`)||i?.includes(`gradient-fill`),o=t?.toArray(),s=!1;return i?.includes(`outline`)&&a?s=!0:o=e.color?.toArray(),{type:`CIMSolidStroke`,effects:p(i),enable:!0,colorLocked:s,capStyle:`Round`,joinStyle:`Round`,lineStyle3D:`Strip`,miterLimit:4,width:r??n,color:o}}function p(e){if(!e?.includes(`closed`))return[{type:`CIMGeometricEffectAddControlPoints`,angleTolerance:90,primitiveName:`spike-control-points`},{type:`CIMGeometricEffectSuppress`,suppress:!0,invert:!0,primitiveName:`spike-stroke-suppress`}]}function m(e){let{color:t,symbolStyle:n}=e,r=n?.includes(`solid-fill`),i=n?.includes(`gradient-fill`);if(!r&&!i||!t)return;if(r)return{type:`CIMSolidFill`,enable:!0,colorLocked:!1,color:t?.toArray()};let a=t.clone();return a.a=0,{type:`CIMGradientFill`,enable:!0,angle:90,colorRamp:{type:`CIMMultipartColorRamp`,colorRamps:[{type:`CIMLinearContinuousColorRamp`,fromColor:t.toArray(),toColor:a.toArray()}],weights:[1]},gradientMethod:`Linear`,gradientSize:70,gradientSizeUnits:`Relative`,gradientType:`Continuous`}}function h(n,r){let{defaultHeight:i,baseWidth:o,color:s,strokeColor:c,primitiveOverrides:l,symbolStyle:u,strokeWidth:d}=r,p=n.data.symbol?.type===`CIMPointSymbol`?n.data.symbol:null,h=p?.symbolLayers;if(!h)return n;let _=p.effects,v=_?.find(e=>e.type===`CIMGeometricEffectTaperedPolygon`),y=_?.find(e=>e.type===`CIMGeometricEffectRadial`&&e.primitiveName===a);o!=null&&v&&(v.fromWidth=o),i!=null&&y&&(y.length=i);let b=h?.find(e=>e.type===`CIMSolidStroke`),x=h?.find(e=>e.type===`CIMSolidFill`),S=h?.find(e=>e.type===`CIMGradientFill`),C=S?.colorRamp?.type===`CIMMultipartColorRamp`&&S.colorRamp.colorRamps[0]?.type===`CIMLinearContinuousColorRamp`?S.colorRamp.colorRamps[0]:null;if(u){let t=x?.color??C?.fromColor??b?.color,n=s??(t?new e(t):void 0),i=b?.color??t,a=c??(i?new e(i):void 0),o=u.includes(`solid-fill`),l=u.includes(`gradient-fill`);if(!o&&!l&&g(h,x??S),n){if(o)g(h,S),x?x.color=n?.toArray():h.push(m({...r,color:n}));else if(l){if(g(h,x),!S)h.push(m({...r,color:n}));else if(C&&s){let e=n.clone();e.a=0,C.fromColor=n.toArray(),C.toColor=e.toArray()}}}if(b){let e=f({...r,strokeColor:a,color:n});b.effects=e.effects,b.color=e.color,b.width=e.width,b.colorLocked=e.colorLocked}}else if(b&&(c&&(b.color=c.toArray()),d!=null&&(b.width=d)),x&&s&&(x.color=s.toArray()),C&&s){let e=s.clone();e.a=0,C.fromColor=s.toArray(),C.toColor=e.toArray()}return l!==void 0&&(n.data.primitiveOverrides=t(l)),n}function g(e,t){if(!t)return;let n=e.indexOf(t);n!==-1&&e.splice(n,1)}export{l as createPrimitiveOverrides,u as createSpikeSymbol,c as defaultSpikeSymbolStyle,h as updateSpikeSymbol};