@arcgis/core 4.32.0-next.20250121 → 4.32.0-next.20250123

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 (867) hide show
  1. package/Graphic.js +1 -1
  2. package/Viewpoint.js +1 -1
  3. package/WebLinkChart.js +1 -1
  4. package/analysis/LengthDimension.js +1 -1
  5. package/analysis/SlicePlane.js +1 -1
  6. package/analysis/Viewshed.js +1 -1
  7. package/analysis/ViewshedAnalysis.js +1 -1
  8. package/arcade/featureSetUtils.js +1 -1
  9. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  10. package/arcade/featureset/support/shared.js +1 -1
  11. package/arcade/functions/knowledgegraph.js +1 -1
  12. package/arcade/treeAnalysis.js +1 -1
  13. package/assets/components/assets/icon/crosshair16.json +1 -0
  14. package/assets/components/assets/icon/crosshair24.json +1 -0
  15. package/assets/components/assets/icon/crosshair32.json +1 -0
  16. package/assets/components/assets/icon/utilityNetworkLayer16.json +1 -0
  17. package/assets/components/assets/icon/utilityNetworkLayer24.json +1 -0
  18. package/assets/components/assets/icon/utilityNetworkLayer32.json +1 -0
  19. package/assets/esri/core/t9n/Units_ar.json +1 -1
  20. package/assets/esri/core/t9n/Units_bg.json +1 -1
  21. package/assets/esri/core/t9n/Units_bs.json +1 -1
  22. package/assets/esri/core/t9n/Units_ca.json +1 -1
  23. package/assets/esri/core/t9n/Units_cs.json +1 -1
  24. package/assets/esri/core/t9n/Units_da.json +1 -1
  25. package/assets/esri/core/t9n/Units_de.json +1 -1
  26. package/assets/esri/core/t9n/Units_el.json +1 -1
  27. package/assets/esri/core/t9n/Units_es.json +1 -1
  28. package/assets/esri/core/t9n/Units_et.json +1 -1
  29. package/assets/esri/core/t9n/Units_fi.json +1 -1
  30. package/assets/esri/core/t9n/Units_fr.json +1 -1
  31. package/assets/esri/core/t9n/Units_he.json +1 -1
  32. package/assets/esri/core/t9n/Units_hr.json +1 -1
  33. package/assets/esri/core/t9n/Units_hu.json +1 -1
  34. package/assets/esri/core/t9n/Units_id.json +1 -1
  35. package/assets/esri/core/t9n/Units_it.json +1 -1
  36. package/assets/esri/core/t9n/Units_ja.json +1 -1
  37. package/assets/esri/core/t9n/Units_ko.json +1 -1
  38. package/assets/esri/core/t9n/Units_lt.json +1 -1
  39. package/assets/esri/core/t9n/Units_lv.json +1 -1
  40. package/assets/esri/core/t9n/Units_nl.json +1 -1
  41. package/assets/esri/core/t9n/Units_no.json +1 -1
  42. package/assets/esri/core/t9n/Units_pl.json +1 -1
  43. package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
  44. package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
  45. package/assets/esri/core/t9n/Units_ro.json +1 -1
  46. package/assets/esri/core/t9n/Units_ru.json +1 -1
  47. package/assets/esri/core/t9n/Units_sk.json +1 -1
  48. package/assets/esri/core/t9n/Units_sl.json +1 -1
  49. package/assets/esri/core/t9n/Units_sr.json +1 -1
  50. package/assets/esri/core/t9n/Units_sv.json +1 -1
  51. package/assets/esri/core/t9n/Units_th.json +1 -1
  52. package/assets/esri/core/t9n/Units_tr.json +1 -1
  53. package/assets/esri/core/t9n/Units_uk.json +1 -1
  54. package/assets/esri/core/t9n/Units_vi.json +1 -1
  55. package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
  56. package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
  57. package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
  58. package/assets/esri/core/workers/RemoteClient.js +1 -1
  59. package/assets/esri/core/workers/chunks/00479bc2393e5ad0e9b7.js +1 -0
  60. package/assets/esri/core/workers/chunks/0167cf867d8e46c818b0.js +1 -0
  61. package/assets/esri/core/workers/chunks/{6d17488396583d83d9be.js → 0711d3ad4d403bcfdcad.js} +1 -1
  62. package/assets/esri/core/workers/chunks/07360fde6ea65664e6ca.js +1 -0
  63. package/assets/esri/core/workers/chunks/{f8e188af5608293d5b2b.js → 07bff9e742f3e5877f3f.js} +1 -1
  64. package/assets/esri/core/workers/chunks/08ba4ab873a0da6a95eb.js +1 -0
  65. package/assets/esri/core/workers/chunks/{baf6b773b8c714d86cba.js → 0982611dd86f0805d102.js} +1 -1
  66. package/assets/esri/core/workers/chunks/12dd892cf61a76fb40ad.js +1 -0
  67. package/assets/esri/core/workers/chunks/13453393e40ab80329d9.js +1 -0
  68. package/assets/esri/core/workers/chunks/15e08e8a8a72b177d74c.js +1 -0
  69. package/assets/esri/core/workers/chunks/16f82e9d98371431b46d.js +1 -0
  70. package/assets/esri/core/workers/chunks/1787932b984ec8977095.js +1 -0
  71. package/assets/esri/core/workers/chunks/1e3ab66d0e8a7f160f33.js +1 -0
  72. package/assets/esri/core/workers/chunks/1f8eb143f5d665b95593.js +1 -0
  73. package/assets/esri/core/workers/chunks/2079d6e3da42d1ceb4c5.js +1 -0
  74. package/assets/esri/core/workers/chunks/207c040b0e42358a5389.js +1 -0
  75. package/assets/esri/core/workers/chunks/21016d58428b15f7427c.js +1 -0
  76. package/assets/esri/core/workers/chunks/{af0b0a7eedebcf99d05d.js → 2118e9ffb24178ed7f59.js} +1 -1
  77. package/assets/esri/core/workers/chunks/21c12edc0632eb911e73.js +1 -0
  78. package/assets/esri/core/workers/chunks/{12b2c8251ec2d0e2ca46.js → 22721fa9d1e8a8d47b0e.js} +1 -1
  79. package/assets/esri/core/workers/chunks/24a86c52c8bdd0b5eb4d.js +1 -0
  80. package/assets/esri/core/workers/chunks/{9970e0e74cf2877a7ffc.js → 2503beb30f905b78d85f.js} +2 -2
  81. package/assets/esri/core/workers/chunks/2503beb30f905b78d85f.js.LICENSE.txt +15 -0
  82. package/assets/esri/core/workers/chunks/25a6641938a9ccab39b7.js +1 -0
  83. package/assets/esri/core/workers/chunks/26a2bd432e7a1b3870c3.js +1 -0
  84. package/assets/esri/core/workers/chunks/26e9a1889d069e81a483.js +1 -0
  85. package/assets/esri/core/workers/chunks/2840705ae7fa909ab4ed.js +1 -0
  86. package/assets/esri/core/workers/chunks/2971266a49226e769360.js +1 -0
  87. package/assets/esri/core/workers/chunks/298da83f8d507d128213.js +1 -0
  88. package/assets/esri/core/workers/chunks/2a33e83ff2ef16a2b421.js +1 -0
  89. package/assets/esri/core/workers/chunks/2a7f5d09cdc0333fa4bd.js +1 -0
  90. package/assets/esri/core/workers/chunks/2e82c8882a0989ed5431.js +1 -0
  91. package/assets/esri/core/workers/chunks/2ea5e5e6c4660a06b516.js +1 -0
  92. package/assets/esri/core/workers/chunks/304722106439951da6e1.js +1 -0
  93. package/assets/esri/core/workers/chunks/324a5547c64a3bae670d.js +1 -0
  94. package/assets/esri/core/workers/chunks/349f31a1fb489fbfe60d.js +1 -0
  95. package/assets/esri/core/workers/chunks/{f95d4fb1199161d8b683.js → 34b31091e172e910d750.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{c690268f48bc84778b23.js → 3b6f2e5ec0a372ae8b94.js} +1 -1
  97. package/assets/esri/core/workers/chunks/3c23e567cfb7372c44ba.js +1 -0
  98. package/assets/esri/core/workers/chunks/{66d40a486aa3caa76106.js → 3c591f76e7d6204b7780.js} +1 -1
  99. package/assets/esri/core/workers/chunks/3f25b7844816bbc3a9fe.js +1 -0
  100. package/assets/esri/core/workers/chunks/402de76b5de05615e111.js +1 -0
  101. package/assets/esri/core/workers/chunks/453f71ac3579524221b2.js +1 -0
  102. package/assets/esri/core/workers/chunks/454034bad60414a9ab7f.js +1 -0
  103. package/assets/esri/core/workers/chunks/472564bd841d0c5d8f17.js +1 -0
  104. package/assets/esri/core/workers/chunks/483787099d2ba8b8022d.js +1 -0
  105. package/assets/esri/core/workers/chunks/499e845c727b7891283d.js +2 -0
  106. package/assets/esri/core/workers/chunks/{34b86b4b9e6c1937ee39.js.LICENSE.txt → 499e845c727b7891283d.js.LICENSE.txt} +4 -6
  107. package/assets/esri/core/workers/chunks/4d7bd2bbe9045a2fee7a.js +1 -0
  108. package/assets/esri/core/workers/chunks/4e5cf2d489db2a57d3bd.js +1 -0
  109. package/assets/esri/core/workers/chunks/52a1c14dc33964e197f6.js +1 -0
  110. package/assets/esri/core/workers/chunks/{f8b85c0074d4fe4c158e.js → 571a0af503dbe8093814.js} +1 -1
  111. package/assets/esri/core/workers/chunks/57ebfa7f163a1b40cd1e.js +1 -0
  112. package/assets/esri/core/workers/chunks/589777dab423b619da47.js +1 -0
  113. package/assets/esri/core/workers/chunks/{2de5fe03e28ca8a72597.js → 5a83f90b55a5efbe1ef2.js} +1 -1
  114. package/assets/esri/core/workers/chunks/5c57aa9fdc4e1bab61ac.js +1 -0
  115. package/assets/esri/core/workers/chunks/5e889a675cbaff03ad5a.js +1 -0
  116. package/assets/esri/core/workers/chunks/5fbdb5fea7d6676fcf19.js +1 -0
  117. package/assets/esri/core/workers/chunks/610b33b7291cffcc4e5d.js +1 -0
  118. package/assets/esri/core/workers/chunks/644e83f48752a34f0d1a.js +1 -0
  119. package/assets/esri/core/workers/chunks/{c81204ae663e58c7b689.js → 6aa6a56bcece0793967e.js} +1 -1
  120. package/assets/esri/core/workers/chunks/6d179eb8edcefb91d5d7.js +1 -0
  121. package/assets/esri/core/workers/chunks/6df1bda3826a4a3c1dc9.js +1 -0
  122. package/assets/esri/core/workers/chunks/6e6422eda398774acbc7.js +1 -0
  123. package/assets/esri/core/workers/chunks/6eb829a7959df2269b0e.js +1 -0
  124. package/assets/esri/core/workers/chunks/7719fe672ea74cdc87be.js +1 -0
  125. package/assets/esri/core/workers/chunks/774cbf14c74504458a6f.js +1 -0
  126. package/assets/esri/core/workers/chunks/79afe4674a0557eb26e4.js +1 -0
  127. package/assets/esri/core/workers/chunks/{02b2175132c9720bc756.js → 7a0415db78c68d31733f.js} +1 -1
  128. package/assets/esri/core/workers/chunks/7a9e1696dc6120df15b0.js +1 -0
  129. package/assets/esri/core/workers/chunks/7ae1f26ded268099f429.js +1 -0
  130. package/assets/esri/core/workers/chunks/7bf08823f861628144a1.js +1 -0
  131. package/assets/esri/core/workers/chunks/7d49b5bc9eb102e467ab.js +1 -0
  132. package/assets/esri/core/workers/chunks/7e4d72279cc599b7029c.js +1 -0
  133. package/assets/esri/core/workers/chunks/{89198ca24466d939e4e8.js → 7ee2d34d9eaab5e8f589.js} +1 -1
  134. package/assets/esri/core/workers/chunks/7fd48f0a2b35779e680a.js +1 -0
  135. package/assets/esri/core/workers/chunks/81efe1f47fd41b7a5cc1.js +1 -0
  136. package/assets/esri/core/workers/chunks/835fa4484c58d9b31c78.js +1 -0
  137. package/assets/esri/core/workers/chunks/{44ec3c77339b9765aaa4.js → 8584ccce34972e28c040.js} +1 -1
  138. package/assets/esri/core/workers/chunks/86149b4a5a148744c7d1.js +1 -0
  139. package/assets/esri/core/workers/chunks/86b63a4805f7dfbf5857.js +1 -0
  140. package/assets/esri/core/workers/chunks/89df68dd6a0386210d5d.js +1 -0
  141. package/assets/esri/core/workers/chunks/8a13cd313d309281dbb9.js +1 -0
  142. package/assets/esri/core/workers/chunks/{1bf472f3ca67b0275667.js → 8a1e4f65fc81aba7a704.js} +1 -1
  143. package/assets/esri/core/workers/chunks/8b8dd0771fbc582e1e24.js +2 -0
  144. package/assets/esri/core/workers/chunks/{280b7b885b96a5a68716.js.LICENSE.txt → 8b8dd0771fbc582e1e24.js.LICENSE.txt} +4 -6
  145. package/assets/esri/core/workers/chunks/8e334fa440ae542e2e34.js +1 -0
  146. package/assets/esri/core/workers/chunks/91384398f01485631f70.js +1 -0
  147. package/assets/esri/core/workers/chunks/92155d112ebb6a4c6c6e.js +1 -0
  148. package/assets/esri/core/workers/chunks/{6a737f056b2b95f09776.js → 92871ebb339a7b6ff29c.js} +1 -1
  149. package/assets/esri/core/workers/chunks/92d243c7bc2f92f6cd33.js +1 -0
  150. package/assets/esri/core/workers/chunks/971c956de1f8dd230d0f.js +1 -0
  151. package/assets/esri/core/workers/chunks/9848e9b9cc62328bfeb4.js +1 -0
  152. package/assets/esri/core/workers/chunks/9848f496d534feff6df1.js +314 -0
  153. package/assets/esri/core/workers/chunks/9bd22cdf6eb158555906.js +1 -0
  154. package/assets/esri/core/workers/chunks/{3a3e9701e5d7b05f41b7.js → 9bfb091cec7eed6c8111.js} +1 -1
  155. package/assets/esri/core/workers/chunks/9c5c6ecaf5be24279fa5.js +1 -0
  156. package/assets/esri/core/workers/chunks/9c6380af3bc3130658e1.js +1 -0
  157. package/assets/esri/core/workers/chunks/{17726b0ab1bf66185d66.js → 9d6d82419de2b76508d8.js} +1 -1
  158. package/assets/esri/core/workers/chunks/9ed1691eab19dfb1cf04.js +1 -0
  159. package/assets/esri/core/workers/chunks/a0a4c7605c678d2de7ef.js +1 -0
  160. package/assets/esri/core/workers/chunks/a3ae5ea96898de327147.js +1 -0
  161. package/assets/esri/core/workers/chunks/aca9a39eb1181a7733bb.js +1 -0
  162. package/assets/esri/core/workers/chunks/ad215219e5eef8598745.js +1 -0
  163. package/assets/esri/core/workers/chunks/ad7596e7f81f557bb2c8.js +1 -0
  164. package/assets/esri/core/workers/chunks/adf361e8b2887921a69c.js +1 -0
  165. package/assets/esri/core/workers/chunks/adfa126cea32298c28e9.js +1 -0
  166. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js +2 -0
  167. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +8 -0
  168. package/assets/esri/core/workers/chunks/b3aeda290470dcb2bdd2.js +1 -0
  169. package/assets/esri/core/workers/chunks/b3f9d7a676076a7557f5.js +1 -0
  170. package/assets/esri/core/workers/chunks/b42ecc7c3eb2fd8d1308.js +1 -0
  171. package/assets/esri/core/workers/chunks/b44cf0e4c2f93408cabc.js +1 -0
  172. package/assets/esri/core/workers/chunks/b70a9d23e549d0e60e0f.js +1 -0
  173. package/assets/esri/core/workers/chunks/b882f921387e21fb263d.js +1 -0
  174. package/assets/esri/core/workers/chunks/ba3c18d1efde46461231.js +1 -0
  175. package/assets/esri/core/workers/chunks/bb73cd34fbae935ccbcc.js +1 -0
  176. package/assets/esri/core/workers/chunks/bbdf93f2ac9bd80338b2.js +1 -0
  177. package/assets/esri/core/workers/chunks/bc0183350841e09d71fa.js +1 -0
  178. package/assets/esri/core/workers/chunks/bddfdbb2fb1dd813e8f2.js +1 -0
  179. package/assets/esri/core/workers/chunks/bf3c4c1bff8b71bc0b13.js +1 -0
  180. package/assets/esri/core/workers/chunks/c1970657a287ec96001e.js +1 -0
  181. package/assets/esri/core/workers/chunks/{399e67ccb69a5b206354.js → c1fd87af3129873369fd.js} +1 -1
  182. package/assets/esri/core/workers/chunks/{82266ca8002554198208.js → c2336d1f5b2b7bf6e7a7.js} +1 -1
  183. package/assets/esri/core/workers/chunks/c571c2155589d711005c.js +1 -0
  184. package/assets/esri/core/workers/chunks/c83b26ff96e39266adc2.js +1 -0
  185. package/assets/esri/core/workers/chunks/ca5bd71bc2c1b1b3f9d9.js +1 -0
  186. package/assets/esri/core/workers/chunks/{98da074899c82f0ded0b.js → cdd8983cf3a301805680.js} +1 -1
  187. package/assets/esri/core/workers/chunks/{435c037ccba71f1e22d3.js → d31f7598629f7cc50233.js} +1 -1
  188. package/assets/esri/core/workers/chunks/d45ff061bf71b73e9f26.js +1 -0
  189. package/assets/esri/core/workers/chunks/d4760e583dfac95dc8a1.js +1 -0
  190. package/assets/esri/core/workers/chunks/{7fe92f072d3641ec4662.js → d5a749156cb4ade92128.js} +1 -1
  191. package/assets/esri/core/workers/chunks/d6f2a023ddd26a544eb4.js +1 -0
  192. package/assets/esri/core/workers/chunks/d71a5c029fc9f4820589.js +1 -0
  193. package/assets/esri/core/workers/chunks/d7ccbe9b36e89b385040.js +1 -0
  194. package/assets/esri/core/workers/chunks/{e9c21907fabcedbd32ae.js → d8386803854f4b3e2576.js} +1 -1
  195. package/assets/esri/core/workers/chunks/d8c762ca94e3a11b125d.js +1 -0
  196. package/assets/esri/core/workers/chunks/da01b509b2237689faad.js +1 -0
  197. package/assets/esri/core/workers/chunks/daeca0feb37bbb198677.js +1 -0
  198. package/assets/esri/core/workers/chunks/dbc447413ab40a79ba87.js +1 -0
  199. package/assets/esri/core/workers/chunks/de2ca2dc1b5d62c0d82e.js +1 -0
  200. package/assets/esri/core/workers/chunks/df86a49ddc505b4a7c4a.js +1 -0
  201. package/assets/esri/core/workers/chunks/dfa4be2e07cc4c0938b0.js +1 -0
  202. package/assets/esri/core/workers/chunks/{fa331c8b556bb7fb8ae3.js → dfaf1da323906ee60549.js} +1 -1
  203. package/assets/esri/core/workers/chunks/e067cef3b3ac3af49b88.js +1 -0
  204. package/assets/esri/core/workers/chunks/e1108227821a85a784bc.js +2 -0
  205. package/assets/esri/core/workers/chunks/e1108227821a85a784bc.js.LICENSE.txt +9 -0
  206. package/assets/esri/core/workers/chunks/e42c8045f54aa88c9f6e.js +1 -0
  207. package/assets/esri/core/workers/chunks/e56647e61296643c5f84.js +1 -0
  208. package/assets/esri/core/workers/chunks/e6087eda5e3b7e5ad3e1.js +1 -0
  209. package/assets/esri/core/workers/chunks/e89439cc20b7f4c6a9d1.js +1 -0
  210. package/assets/esri/core/workers/chunks/e9993d4f2bfdc434fbcc.js +1 -0
  211. package/assets/esri/core/workers/chunks/ecc3a2adc384677bec38.js +1 -0
  212. package/assets/esri/core/workers/chunks/{54c149f90bf94b797b36.js → ed30f46236da29c15430.js} +1 -1
  213. package/assets/esri/core/workers/chunks/f2cf05fbbb51d657d300.js +1 -0
  214. package/assets/esri/core/workers/chunks/{1c67f4f84fff70e20902.js → f31a9d88113bb86d946e.js} +2 -2
  215. package/assets/esri/core/workers/chunks/{1c67f4f84fff70e20902.js.LICENSE.txt → f31a9d88113bb86d946e.js.LICENSE.txt} +4 -6
  216. package/assets/esri/core/workers/chunks/f62f657f9fef28f492e0.js +1 -0
  217. package/assets/esri/core/workers/chunks/fd1506eedb1cee717822.js +2 -0
  218. package/assets/esri/core/workers/chunks/fd1506eedb1cee717822.js.LICENSE.txt +3 -0
  219. package/assets/esri/core/workers/chunks/fef135e55706d84d1947.js +1 -0
  220. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  221. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  222. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
  223. package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
  224. package/assets/esri/themes/base/widgets/_FeatureTable.scss +8 -7
  225. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +24 -0
  226. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +49 -24
  227. package/assets/esri/themes/dark/main.css +1 -1
  228. package/assets/esri/themes/light/main.css +1 -1
  229. package/assets/esri/themes/light/view.css +1 -1
  230. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  231. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  232. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  233. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  234. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  235. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  236. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  237. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  238. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  239. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  240. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  241. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  242. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  243. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  244. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  245. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  246. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  247. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  248. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  249. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  250. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  251. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  252. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  253. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  254. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  255. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  256. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  257. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  258. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  259. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  260. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  261. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  262. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  263. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  264. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  265. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  266. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  267. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  268. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  269. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  270. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  271. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace.json +1 -1
  272. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
  273. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
  274. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
  275. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
  276. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  277. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
  278. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
  279. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  280. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_en.json +1 -1
  281. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
  282. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
  283. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
  284. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  285. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
  286. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
  287. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
  288. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
  289. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
  290. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
  291. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
  292. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
  293. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  294. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
  295. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_no.json +1 -1
  296. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
  297. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
  298. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
  299. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
  300. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
  301. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
  302. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
  303. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
  304. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
  305. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
  306. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
  307. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
  308. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
  309. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
  310. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
  311. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
  312. package/chunks/BloomComposition.glsl.js +33 -23
  313. package/chunks/Fog.glsl.js +4 -6
  314. package/chunks/Viewshed.glsl.js +7 -15
  315. package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
  316. package/chunks/arcgis-knowledge-client-core.js +1 -1
  317. package/chunks/cameraUtilsPlanar.js +1 -1
  318. package/chunks/cameraUtilsSpherical.js +1 -1
  319. package/chunks/lyr3DMain.js +1 -1
  320. package/chunks/lyr3DWorker.js +1 -1
  321. package/core/quantity.d.ts +1 -1
  322. package/core/quantity.js +5 -0
  323. package/core/units.d.ts +1 -1
  324. package/core/units.js +5 -0
  325. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  326. package/editing/sharedTemplates/SharedTemplateMetadata.d.ts +4 -0
  327. package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
  328. package/editing/sharedTemplates/templateDefinitions/parts/PresetTemplatePart.js +1 -1
  329. package/editing/templateUtils.js +5 -0
  330. package/form/elements/UtilityNetworkAssociationsElement.js +1 -1
  331. package/geometry/geometryEngine.js +1 -1
  332. package/geometry/geometryEngineAsync.js +1 -1
  333. package/geometry/operators/projectOperator.d.ts +4 -0
  334. package/geometry/operators/shapePreservingProjectOperator.d.ts +4 -0
  335. package/geometry/operators/support/GeographicTransformation.d.ts +4 -0
  336. package/geometry/operators/support/GeographicTransformation.js +1 -1
  337. package/geometry/operators/support/GeographicTransformationStep.d.ts +4 -0
  338. package/geometry/operators/support/apiConverter.js +1 -1
  339. package/geometry/operators/support/geographicTransformationUtils.d.ts +4 -0
  340. package/geometry/support/GeographicTransformation.d.ts +2 -2
  341. package/geometry/support/GeographicTransformationStep.d.ts +2 -2
  342. package/geometry/support/geodesicUtils.js +1 -1
  343. package/geometry/support/geometryUtils.js +1 -1
  344. package/geometry/support/meshUtils/elevation.js +1 -1
  345. package/geometry/support/near.js +1 -1
  346. package/geometry/support/rotate.js +1 -1
  347. package/geometry/support/typeUtils.js +1 -1
  348. package/geometry.js +1 -1
  349. package/grids/MeasuredGrid.js +1 -1
  350. package/interfaces.d.ts +2069 -622
  351. package/layers/BaseElevationLayer.js +1 -1
  352. package/layers/BingMapsLayer.js +1 -1
  353. package/layers/CSVLayer.js +1 -1
  354. package/layers/FeatureLayer.js +1 -1
  355. package/layers/GeoJSONLayer.js +1 -1
  356. package/layers/GeoRSSLayer.js +1 -1
  357. package/layers/ILyr3DWasmPerSceneView.js +1 -1
  358. package/layers/KMLLayer.js +1 -1
  359. package/layers/KnowledgeGraphLayer.js +1 -1
  360. package/layers/Layer.js +1 -1
  361. package/layers/LinkChartLayer.js +1 -1
  362. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  363. package/layers/MapNotesLayer.js +1 -1
  364. package/layers/OGCFeatureLayer.js +1 -1
  365. package/layers/OpenStreetMapLayer.js +1 -1
  366. package/layers/ParquetLayer.js +1 -1
  367. package/layers/RouteLayer.js +1 -1
  368. package/layers/SceneLayer.js +1 -1
  369. package/layers/StreamLayer.js +1 -1
  370. package/layers/VideoLayer.js +1 -1
  371. package/layers/WFSLayer.js +1 -1
  372. package/layers/WebTileLayer.js +1 -1
  373. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  374. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  375. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  376. package/layers/graphics/controllers/StreamController.js +1 -1
  377. package/layers/graphics/data/QueryEngineResult.js +1 -1
  378. package/layers/graphics/hydratedFeatures.js +1 -1
  379. package/layers/graphics/sources/CSVSource.js +1 -1
  380. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  381. package/layers/graphics/sources/GeoJSONSource.js +1 -1
  382. package/layers/graphics/sources/MemorySource.js +1 -1
  383. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  384. package/layers/graphics/sources/ParquetSource.js +1 -1
  385. package/layers/graphics/sources/WFSSource.js +1 -1
  386. package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
  387. package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
  388. package/layers/graphics/sources/support/uploadAssets.js +1 -1
  389. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  390. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  391. package/layers/knowledgeGraph/SessionMemoryStorage.js +1 -1
  392. package/layers/knowledgeGraph/supportUtils.js +1 -1
  393. package/layers/mixins/ArcGISCachedService.js +1 -1
  394. package/layers/mixins/ArcGISImageService.js +1 -1
  395. package/layers/mixins/FeatureReductionLayer.js +1 -1
  396. package/layers/mixins/ImageryTileMixin.js +1 -1
  397. package/layers/ogc/ogcFeatureUtils.js +1 -1
  398. package/layers/ogc/wfsUtils.js +1 -1
  399. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  400. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  401. package/layers/orientedImagery/queries.js +1 -1
  402. package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
  403. package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
  404. package/layers/orientedImagery/transformations/utils.js +1 -1
  405. package/layers/support/ElevationSampler.js +1 -1
  406. package/layers/support/FeatureFilter.js +1 -1
  407. package/layers/support/FeatureReductionBinning.js +1 -1
  408. package/layers/support/FeatureReductionCluster.js +1 -1
  409. package/layers/support/KMLMapImage.js +1 -1
  410. package/layers/support/KMLSublayer.js +1 -1
  411. package/layers/support/LabelClass.js +1 -1
  412. package/layers/support/LocalMediaElementSource.js +1 -1
  413. package/layers/support/MultidimensionalSubset.js +1 -1
  414. package/layers/support/OrderByInfo.d.ts +4 -0
  415. package/layers/support/RasterWorker.js +1 -1
  416. package/layers/support/RouteStopSymbols.js +1 -1
  417. package/layers/support/RouteSymbols.js +1 -1
  418. package/layers/support/SceneModification.js +1 -1
  419. package/layers/support/Sublayer.js +1 -1
  420. package/layers/support/SubtypeSublayer.js +1 -1
  421. package/layers/support/TelemetryData.js +1 -1
  422. package/layers/support/TrackInfo.js +1 -1
  423. package/layers/support/VideoFrame.js +1 -1
  424. package/layers/support/featureLayerUtils.js +1 -1
  425. package/layers/support/mediaUtils.js +1 -1
  426. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  427. package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
  428. package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
  429. package/layers/support/rasterDatasets/InMemoryRaster.js +1 -1
  430. package/layers/support/rasterDatasets/MRFRaster.js +1 -1
  431. package/layers/support/rasterDatasets/RawBlockCache.js +1 -1
  432. package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
  433. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  434. package/layers/support/rasterDatasets/covJSONParser.js +1 -1
  435. package/layers/support/rasterDatasets/pamParser.js +1 -1
  436. package/layers/support/rasterFunctions/ClipFunctionArguments.js +1 -1
  437. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  438. package/layers/support/rasterTransforms/PolynomialTransform.js +1 -1
  439. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  440. package/layers/support/source/QueryTableDataSource.js +1 -1
  441. package/layers/support/subtypeGroupLayerUtils.js +1 -1
  442. package/networks/Network.js +1 -1
  443. package/networks/support/utils.js +1 -1
  444. package/package.json +2 -2
  445. package/pointCloudRenderers.js +1 -1
  446. package/rasterRenderers.js +1 -1
  447. package/renderers/ClassBreaksRenderer.js +1 -1
  448. package/renderers/HeatmapRenderer.js +1 -1
  449. package/renderers/PieChartRenderer.js +1 -1
  450. package/renderers/UniqueValueRenderer.js +1 -1
  451. package/renderers/VectorFieldRenderer.js +1 -1
  452. package/renderers/support/RasterPresetRenderer.js +1 -1
  453. package/renderers/support/commonProperties.js +1 -1
  454. package/renderers/support/jsonUtils.js +1 -1
  455. package/renderers/support/rasterRendererHelper.js +1 -1
  456. package/renderers/support/rasterTypeUtils.js +5 -0
  457. package/renderers/support/typeUtils.js +5 -0
  458. package/renderers.js +1 -1
  459. package/rest/featureService/FeatureService.js +1 -1
  460. package/rest/geometryService/autoComplete.js +1 -1
  461. package/rest/geometryService/buffer.js +1 -1
  462. package/rest/geometryService/cut.js +1 -1
  463. package/rest/geometryService/trimExtend.js +1 -1
  464. package/rest/imageService.js +1 -1
  465. package/rest/knowledgeGraph/Entity.js +1 -1
  466. package/rest/knowledgeGraph/GraphQueryStreaming.js +1 -1
  467. package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
  468. package/rest/knowledgeGraph/Relationship.js +1 -1
  469. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.d.ts +4 -0
  470. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.js +5 -0
  471. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.d.ts +4 -0
  472. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.js +5 -0
  473. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.d.ts +4 -0
  474. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.js +5 -0
  475. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.d.ts +4 -0
  476. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.js +5 -0
  477. package/rest/knowledgeGraph/toolService/findPaths/FindPathsToolSettings.d.ts +4 -0
  478. package/rest/knowledgeGraph/toolService/findPaths/FindPathsToolSettings.js +5 -0
  479. package/rest/knowledgeGraph/wasmInterface/queryToWasmEncodedFactories.js +1 -1
  480. package/rest/knowledgeGraph/wasmInterface/updateToWasmEncodedFactories.js +1 -1
  481. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  482. package/rest/knowledgeGraphService.js +1 -1
  483. package/rest/networks/support/Association.js +1 -1
  484. package/rest/networks/support/ValidateNetworkTopologyParameters.js +1 -1
  485. package/rest/places.js +1 -1
  486. package/rest/print.js +1 -1
  487. package/rest/query/executeForExtent.js +1 -1
  488. package/rest/query/executeForTopExtents.js +1 -1
  489. package/rest/support/AddressToLocationsParameters.js +1 -1
  490. package/rest/support/AddressesToLocationsParameters.js +1 -1
  491. package/rest/support/AggregateFeatureSet.js +1 -1
  492. package/rest/support/AttributeBinsQuery.js +1 -1
  493. package/rest/support/BaseImageMeasureParameters.js +1 -1
  494. package/rest/support/BufferParameters.js +1 -1
  495. package/rest/support/ClosestFacilityParameters.js +1 -1
  496. package/rest/support/DataLayer.js +1 -1
  497. package/rest/support/DensifyParameters.js +1 -1
  498. package/rest/support/DirectionLine.js +1 -1
  499. package/rest/support/DirectionPoint.js +1 -1
  500. package/rest/support/DirectionsEvent.js +1 -1
  501. package/rest/support/DirectionsFeature.js +1 -1
  502. package/rest/support/DirectionsFeatureSet.js +1 -1
  503. package/rest/support/DistanceParameters.js +1 -1
  504. package/rest/support/FeatureSet.js +1 -1
  505. package/rest/support/FindParameters.js +1 -1
  506. package/rest/support/FindResult.js +1 -1
  507. package/rest/support/IdentifyParameters.js +1 -1
  508. package/rest/support/IdentifyResult.js +1 -1
  509. package/rest/support/ImageAngleParameters.js +1 -1
  510. package/rest/support/ImageAngleResult.js +1 -1
  511. package/rest/support/ImageAreaParameters.js +1 -1
  512. package/rest/support/ImageBoundaryResult.js +1 -1
  513. package/rest/support/ImageDistanceParameters.js +1 -1
  514. package/rest/support/ImageGPSInfoParameters.js +1 -1
  515. package/rest/support/ImageHeightParameters.js +1 -1
  516. package/rest/support/ImageHistogramParameters.js +1 -1
  517. package/rest/support/ImageIdentifyParameters.js +1 -1
  518. package/rest/support/ImagePixelLocationParameters.js +1 -1
  519. package/rest/support/ImagePointParameters.js +1 -1
  520. package/rest/support/ImagePointResult.js +1 -1
  521. package/rest/support/ImageSampleParameters.js +1 -1
  522. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  523. package/rest/support/ImageToMapParameters.js +1 -1
  524. package/rest/support/ImageVolumeParameters.js +1 -1
  525. package/rest/support/LengthsParameters.js +1 -1
  526. package/rest/support/LocationToAddressParameters.js +1 -1
  527. package/rest/support/MapToImageParameters.js +1 -1
  528. package/rest/support/MeasureAreaFromImageResult.js +1 -1
  529. package/rest/support/MeasureFromImageParameters.js +1 -1
  530. package/rest/support/MeasureLengthFromImageResult.js +1 -1
  531. package/rest/support/PointBarrier.js +1 -1
  532. package/rest/support/PolygonBarrier.js +1 -1
  533. package/rest/support/PolylineBarrier.js +1 -1
  534. package/rest/support/ProjectParameters.js +1 -1
  535. package/rest/support/QuantizationParameters.js +1 -1
  536. package/rest/support/Query.js +1 -1
  537. package/rest/support/RelationshipQuery.js +1 -1
  538. package/rest/support/RouteInfo.js +1 -1
  539. package/rest/support/RouteParameters.js +1 -1
  540. package/rest/support/ServiceAreaParameters.js +1 -1
  541. package/rest/support/Stop.js +1 -1
  542. package/rest/support/SuggestLocationsParameters.js +1 -1
  543. package/rest/support/TopFeaturesQuery.js +1 -1
  544. package/rest/support/TrimExtendParameters.js +1 -1
  545. package/rest/support/meshFeatureAttributes.js +1 -1
  546. package/smartMapping/labels/support/utils.js +1 -1
  547. package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
  548. package/smartMapping/renderers/color.js +1 -1
  549. package/smartMapping/renderers/dotDensity.js +1 -1
  550. package/smartMapping/renderers/heatmap.js +1 -1
  551. package/smartMapping/renderers/location.js +1 -1
  552. package/smartMapping/renderers/pieChart.js +1 -1
  553. package/smartMapping/renderers/size.js +1 -1
  554. package/smartMapping/renderers/support/referenceSizeUtils.js +1 -1
  555. package/smartMapping/renderers/support/utils.js +1 -1
  556. package/smartMapping/renderers/type.js +1 -1
  557. package/smartMapping/statistics/support/utils.js +1 -1
  558. package/support/arcadeOnDemand.js +1 -1
  559. package/support/arcadeUtils.js +1 -1
  560. package/support/revision.js +1 -1
  561. package/symbols/cim/CIMSymbolHelper.js +1 -1
  562. package/symbols/cim/cimAnalyzer.js +1 -1
  563. package/symbols/cim/effects/EffectBuffer.js +1 -1
  564. package/symbols/cim/effects/EffectDonut.js +1 -1
  565. package/symbols/cim/effects/EffectOffset.js +1 -1
  566. package/symbols/support/cimConversionUtils.js +1 -1
  567. package/symbols/support/defaults3D.js +1 -1
  568. package/symbols/support/jsonUtils.js +1 -1
  569. package/symbols/support/symbolConversion.js +1 -1
  570. package/symbols/support/typeUtils.js +5 -0
  571. package/symbols/support/utils.js +1 -1
  572. package/symbols/support/webStyleSymbolUtils.js +1 -1
  573. package/symbols.js +1 -1
  574. package/undoredo/support/Services.js +1 -1
  575. package/unionTypes.d.ts +4 -0
  576. package/unionTypes.js +5 -0
  577. package/views/2d/AnimationManager.js +1 -1
  578. package/views/2d/MapViewConstraints.js +1 -1
  579. package/views/2d/ViewState.js +1 -1
  580. package/views/2d/ViewStateManager.js +1 -1
  581. package/views/2d/engine/flow/FlowStrategy.js +1 -1
  582. package/views/2d/engine/flow/dataUtils.js +1 -1
  583. package/views/2d/engine/vectorTiles/tileInfoUtils.js +1 -1
  584. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  585. package/views/2d/engine/webgl/shaderGraph/techniques/createTestMeshData.js +1 -1
  586. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  587. package/views/2d/grid/gridUtils.js +1 -1
  588. package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
  589. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  590. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  591. package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
  592. package/views/2d/interactive/editingTools/draw/symbols.js +1 -1
  593. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  594. package/views/2d/layers/MediaLayerView2D.js +1 -1
  595. package/views/2d/layers/TileLayerView2D.js +1 -1
  596. package/views/2d/layers/VideoLayerView2D.js +1 -1
  597. package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
  598. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  599. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  600. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  601. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  602. package/views/2d/layers/support/clusterUtils.js +1 -1
  603. package/views/2d/navigation/actions/Pan.js +1 -1
  604. package/views/2d/navigation/actions/Rotate.js +1 -1
  605. package/views/2d/pointToPoint/Camera.js +1 -1
  606. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  607. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  608. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  609. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  610. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  611. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  612. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  613. package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
  614. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  615. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  616. package/views/3d/environment/EnvironmentManager.js +1 -1
  617. package/views/3d/environment/Fog.glsl.js +1 -1
  618. package/views/3d/interactive/Manipulator3D.js +1 -1
  619. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  620. package/views/3d/interactive/editingTools/media/MediaElementControllerControlPoints.js +1 -1
  621. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  622. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  623. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  624. package/views/3d/layers/Lyr3DWasm.js +1 -1
  625. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  626. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  627. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  628. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  629. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  630. package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
  631. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  632. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  633. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  634. package/views/3d/layers/support/FeatureTile.js +1 -1
  635. package/views/3d/layers/support/FeatureTileDescriptor.js +1 -1
  636. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  637. package/views/3d/layers/support/FeatureTileFetcher3DDebugger.js +1 -1
  638. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  639. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  640. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  641. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  642. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  643. package/views/3d/layers/support/TerrainTileTree3DDebugger.js +1 -1
  644. package/views/3d/state/ViewStateManager.js +1 -1
  645. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  646. package/views/3d/support/cameraUtilsPlanar.js +1 -1
  647. package/views/3d/support/cameraUtilsSpherical.js +1 -1
  648. package/views/3d/support/debugUtils.js +1 -1
  649. package/views/3d/support/hitTest.js +1 -1
  650. package/views/3d/support/viewpointUtils.js +1 -1
  651. package/views/3d/terrain/PlanarPatch.js +1 -1
  652. package/views/3d/terrain/SphericalPatch.js +1 -1
  653. package/views/3d/terrain/TerrainRenderer.js +1 -1
  654. package/views/3d/terrain/TerrainSurface.js +1 -1
  655. package/views/3d/terrain/Tile.js +1 -1
  656. package/views/3d/terrain/TilingScheme.js +1 -1
  657. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  658. package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
  659. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  660. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  661. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  662. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  663. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  664. package/views/SceneView.js +1 -1
  665. package/views/VideoView.js +1 -1
  666. package/views/View2D.js +1 -1
  667. package/views/draw/MultipointDrawAction.js +1 -1
  668. package/views/draw/PointDrawAction.js +1 -1
  669. package/views/draw/PolygonDrawAction.js +1 -1
  670. package/views/draw/PolylineDrawAction.js +1 -1
  671. package/views/draw/SegmentDrawAction.js +1 -1
  672. package/views/draw/drawSurfaces.js +1 -1
  673. package/views/draw/support/Box.js +1 -1
  674. package/views/draw/support/GraphicMover.js +1 -1
  675. package/views/draw/support/Reshape.js +1 -1
  676. package/views/draw/support/createUtils.js +1 -1
  677. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  678. package/views/interactive/sketch/constraintUtils.js +1 -1
  679. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  680. package/views/layers/support/Geometry.js +1 -1
  681. package/views/support/HighlightOptions.d.ts +4 -0
  682. package/views/support/drapedUtils.js +1 -1
  683. package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
  684. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  685. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  686. package/widgets/CoordinateConversion/support/Format.js +1 -1
  687. package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
  688. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  689. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  690. package/widgets/Editor/UpdateWorkflow.js +1 -1
  691. package/widgets/Editor/workflowUtils.js +1 -1
  692. package/widgets/ElevationProfile/support/ProfileLine2D.js +1 -1
  693. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  694. package/widgets/Feature/FeatureViewModel.js +1 -1
  695. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  696. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  697. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  698. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  699. package/widgets/FeatureTable.js +1 -1
  700. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  701. package/widgets/FeatureTemplates/TemplateItem.js +1 -1
  702. package/widgets/FeatureTemplates/featureTemplatesUtils.js +1 -1
  703. package/widgets/FeatureTemplates.js +1 -1
  704. package/widgets/Features/FeaturesViewModel.js +1 -1
  705. package/widgets/LayerList/LayerListItem.js +1 -1
  706. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  707. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  708. package/widgets/Legend/support/utils.js +1 -1
  709. package/widgets/Locate.js +1 -1
  710. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  711. package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.js +1 -1
  712. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  713. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  714. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  715. package/widgets/OrientedImageryViewer/components/ImageAreaMeasurement.js +5 -0
  716. package/widgets/OrientedImageryViewer/components/ImageDistanceMeasurement.js +5 -0
  717. package/widgets/OrientedImageryViewer/components/ImageMeasurement.js +5 -0
  718. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  719. package/widgets/OrientedImageryViewer/css.js +1 -1
  720. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  721. package/widgets/OrientedImageryViewer/symbols.js +1 -1
  722. package/widgets/OrientedImageryViewer.js +1 -1
  723. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  724. package/widgets/PanoramicViewer/constants.js +1 -1
  725. package/widgets/PanoramicViewer/utils.js +1 -1
  726. package/widgets/Print/PrintViewModel.js +1 -1
  727. package/widgets/Print.js +1 -1
  728. package/widgets/ScaleBar/ScaleBarViewModel.js +1 -1
  729. package/widgets/Search/SearchViewModel.js +1 -1
  730. package/widgets/Sketch/SketchViewModel.js +1 -1
  731. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +5 -0
  732. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +5 -0
  733. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  734. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  735. package/widgets/UtilityNetworkTrace.js +1 -1
  736. package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
  737. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  738. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationList.js +1 -1
  739. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  740. package/assets/esri/core/workers/chunks/0651586dc7bd2e8b34db.js +0 -1
  741. package/assets/esri/core/workers/chunks/077070295499b9bfabb6.js +0 -1
  742. package/assets/esri/core/workers/chunks/090cfc7f088a729afd47.js +0 -1
  743. package/assets/esri/core/workers/chunks/0d387baa64a89f88b1de.js +0 -1
  744. package/assets/esri/core/workers/chunks/105dcc7b7284b1e965b7.js +0 -1
  745. package/assets/esri/core/workers/chunks/134de9fa142129a43b1e.js +0 -1
  746. package/assets/esri/core/workers/chunks/16fa0a5f73ab67a8d3e4.js +0 -1
  747. package/assets/esri/core/workers/chunks/1797f62e9bf8f1ac8d13.js +0 -1
  748. package/assets/esri/core/workers/chunks/182722e2fe0a35c4d8db.js +0 -1
  749. package/assets/esri/core/workers/chunks/184846d2dde25ee12904.js +0 -1
  750. package/assets/esri/core/workers/chunks/1b3215f3290fb2f07ab8.js +0 -1
  751. package/assets/esri/core/workers/chunks/1d34a146b32b959923b0.js +0 -1
  752. package/assets/esri/core/workers/chunks/1f4dd96aacf8c40a1120.js +0 -1
  753. package/assets/esri/core/workers/chunks/1fa705ee39556ef4bb3b.js +0 -1
  754. package/assets/esri/core/workers/chunks/206194cf069ad4bcc3ad.js +0 -1
  755. package/assets/esri/core/workers/chunks/217f8139bea225d1fcc6.js +0 -1
  756. package/assets/esri/core/workers/chunks/22748779ca94eda44de5.js +0 -1
  757. package/assets/esri/core/workers/chunks/2427a01678f3d9fbf30b.js +0 -1
  758. package/assets/esri/core/workers/chunks/243520d9f4a118e63bbc.js +0 -1
  759. package/assets/esri/core/workers/chunks/26c8e30a5ee8db0314c8.js +0 -1
  760. package/assets/esri/core/workers/chunks/2779cf112299b612a73a.js +0 -1
  761. package/assets/esri/core/workers/chunks/280b7b885b96a5a68716.js +0 -2
  762. package/assets/esri/core/workers/chunks/299ed506209562be4fad.js +0 -1
  763. package/assets/esri/core/workers/chunks/2f5722844208d0f5d616.js +0 -1
  764. package/assets/esri/core/workers/chunks/2fb884799de54182d2c3.js +0 -2
  765. package/assets/esri/core/workers/chunks/2fb884799de54182d2c3.js.LICENSE.txt +0 -11
  766. package/assets/esri/core/workers/chunks/300a5f4842b90bda55b3.js +0 -1
  767. package/assets/esri/core/workers/chunks/33a13544b9e5f4f20bce.js +0 -1
  768. package/assets/esri/core/workers/chunks/33eebe5cb22a03ae90c8.js +0 -1
  769. package/assets/esri/core/workers/chunks/346ec2f8c373337c18c7.js +0 -1
  770. package/assets/esri/core/workers/chunks/34b86b4b9e6c1937ee39.js +0 -2
  771. package/assets/esri/core/workers/chunks/3512d53abe9abee7f420.js +0 -1
  772. package/assets/esri/core/workers/chunks/423329432fbf007c620b.js +0 -1
  773. package/assets/esri/core/workers/chunks/467bd3c0da9518a0058b.js +0 -1
  774. package/assets/esri/core/workers/chunks/47745c4f74830f981fd4.js +0 -1
  775. package/assets/esri/core/workers/chunks/4af0674fabfc965f1660.js +0 -1
  776. package/assets/esri/core/workers/chunks/4c1d11a91291b28a73be.js +0 -1
  777. package/assets/esri/core/workers/chunks/4c40fd932113a71cbe8e.js +0 -1
  778. package/assets/esri/core/workers/chunks/51fbbd082ca78e4417d9.js +0 -1
  779. package/assets/esri/core/workers/chunks/5a937486b9fd62b57dca.js +0 -1
  780. package/assets/esri/core/workers/chunks/5c05c899f7e6f764fedd.js +0 -1
  781. package/assets/esri/core/workers/chunks/636b944604480a905888.js +0 -1
  782. package/assets/esri/core/workers/chunks/6400f39a965900f66ce7.js +0 -1
  783. package/assets/esri/core/workers/chunks/643da327858a68ffbd88.js +0 -1
  784. package/assets/esri/core/workers/chunks/6c1470dc0bd4389d1a2d.js +0 -1
  785. package/assets/esri/core/workers/chunks/6c3862f42b6b27edf1cf.js +0 -2
  786. package/assets/esri/core/workers/chunks/6c3862f42b6b27edf1cf.js.LICENSE.txt +0 -10
  787. package/assets/esri/core/workers/chunks/6e804ee2d96d4de85a5f.js +0 -1
  788. package/assets/esri/core/workers/chunks/712f0dd46932c544df68.js +0 -1
  789. package/assets/esri/core/workers/chunks/71e88c90e9f9a9bddcd8.js +0 -1
  790. package/assets/esri/core/workers/chunks/7341108896d0e4d44dab.js +0 -1
  791. package/assets/esri/core/workers/chunks/74ba752dfab8ea5b6d2a.js +0 -314
  792. package/assets/esri/core/workers/chunks/79903647d4ed16d9a402.js +0 -1
  793. package/assets/esri/core/workers/chunks/7b4880b2dc6b01d70ccc.js +0 -1
  794. package/assets/esri/core/workers/chunks/7c98e4fcba1dc24eb788.js +0 -1
  795. package/assets/esri/core/workers/chunks/7d0fc25ce1f74adcfeb6.js +0 -1
  796. package/assets/esri/core/workers/chunks/8249351daa45ca82ca0c.js +0 -1
  797. package/assets/esri/core/workers/chunks/87ddc3d5d751d565cd97.js +0 -1
  798. package/assets/esri/core/workers/chunks/87f33a60768801ca1ce8.js +0 -1
  799. package/assets/esri/core/workers/chunks/885205379220ccee5802.js +0 -1
  800. package/assets/esri/core/workers/chunks/88bb55bca76f978c0aa3.js +0 -1
  801. package/assets/esri/core/workers/chunks/8b2f0c33e10e163d5c8f.js +0 -1
  802. package/assets/esri/core/workers/chunks/8c5d1fd2b2c7c26e8ff5.js +0 -1
  803. package/assets/esri/core/workers/chunks/8cda8dbd95f0a78063a8.js +0 -1
  804. package/assets/esri/core/workers/chunks/8e0e5183c88a45fbfd8e.js +0 -1
  805. package/assets/esri/core/workers/chunks/90eea0c2435bb5d10460.js +0 -1
  806. package/assets/esri/core/workers/chunks/93c1541241f92fc07eaa.js +0 -1
  807. package/assets/esri/core/workers/chunks/964f2897794d8d71dcb7.js +0 -1
  808. package/assets/esri/core/workers/chunks/97169740043b4a0a40fb.js +0 -1
  809. package/assets/esri/core/workers/chunks/976daa00d35ee7f27a26.js +0 -1
  810. package/assets/esri/core/workers/chunks/97d66b0d0ff1132966de.js +0 -1
  811. package/assets/esri/core/workers/chunks/984d5533dcc831c426be.js +0 -1
  812. package/assets/esri/core/workers/chunks/9970e0e74cf2877a7ffc.js.LICENSE.txt +0 -17
  813. package/assets/esri/core/workers/chunks/99b4f146d0f1661a217c.js +0 -1
  814. package/assets/esri/core/workers/chunks/9e4d68da11995a5b66c3.js +0 -1
  815. package/assets/esri/core/workers/chunks/a6095a6abb2610bb95c1.js +0 -1
  816. package/assets/esri/core/workers/chunks/aa96a05b94ae642c1c9f.js +0 -1
  817. package/assets/esri/core/workers/chunks/b0055e7b2e840d478de8.js +0 -1
  818. package/assets/esri/core/workers/chunks/b1bf8ad629a6b8f4489a.js +0 -1
  819. package/assets/esri/core/workers/chunks/b1e3448ba51557ff6c13.js +0 -1
  820. package/assets/esri/core/workers/chunks/b30046a40bcfbec8abe4.js +0 -1
  821. package/assets/esri/core/workers/chunks/b538d02706a25bbbe2d0.js +0 -1
  822. package/assets/esri/core/workers/chunks/b81b8a800eec9db7ece2.js +0 -1
  823. package/assets/esri/core/workers/chunks/c1c216b0aebe86311fae.js +0 -1
  824. package/assets/esri/core/workers/chunks/c436a112a3119ceabebf.js +0 -1
  825. package/assets/esri/core/workers/chunks/c609bc34b14e4956292e.js +0 -1
  826. package/assets/esri/core/workers/chunks/c8a09db652389f0d254d.js +0 -1
  827. package/assets/esri/core/workers/chunks/c8a645601d041f411060.js +0 -1
  828. package/assets/esri/core/workers/chunks/c9741eb7a66ff7ec9184.js +0 -1
  829. package/assets/esri/core/workers/chunks/cb3b7f83b3efb315bd14.js +0 -1
  830. package/assets/esri/core/workers/chunks/cdc5e4cd1214362e752a.js +0 -1
  831. package/assets/esri/core/workers/chunks/ce0fb7cbf72bbb4cfe98.js +0 -1
  832. package/assets/esri/core/workers/chunks/cf244cbd0558cc1142ed.js +0 -1
  833. package/assets/esri/core/workers/chunks/d181447e2be06beaa23f.js +0 -1
  834. package/assets/esri/core/workers/chunks/d5c93caa3a8bb06a0b3f.js +0 -1
  835. package/assets/esri/core/workers/chunks/da5fc368eb5b3592d05e.js +0 -1
  836. package/assets/esri/core/workers/chunks/dae7e8357936466482fe.js +0 -1
  837. package/assets/esri/core/workers/chunks/db20b986a5681316070b.js +0 -2
  838. package/assets/esri/core/workers/chunks/db20b986a5681316070b.js.LICENSE.txt +0 -5
  839. package/assets/esri/core/workers/chunks/dc7fb41ebe57b463d408.js +0 -1
  840. package/assets/esri/core/workers/chunks/dd935b6335c674b6f596.js +0 -1
  841. package/assets/esri/core/workers/chunks/ddd20894b5107b76b815.js +0 -1
  842. package/assets/esri/core/workers/chunks/de00150030003de05146.js +0 -1
  843. package/assets/esri/core/workers/chunks/decd316936df1ad3fa65.js +0 -1
  844. package/assets/esri/core/workers/chunks/df4d7f100222ea671730.js +0 -1
  845. package/assets/esri/core/workers/chunks/e2320e4e6fd976966c0b.js +0 -1
  846. package/assets/esri/core/workers/chunks/e418c4f7866d03d5352e.js +0 -1
  847. package/assets/esri/core/workers/chunks/e4f4ad67d778dea5b956.js +0 -1
  848. package/assets/esri/core/workers/chunks/e610dd938d30f75778bc.js +0 -1
  849. package/assets/esri/core/workers/chunks/eb256e8488e341c4a6f2.js +0 -1
  850. package/assets/esri/core/workers/chunks/ebc0094355504ec09fb8.js +0 -1
  851. package/assets/esri/core/workers/chunks/ec195549b274cca09d81.js +0 -1
  852. package/assets/esri/core/workers/chunks/ec4a45b40021abdead45.js +0 -1
  853. package/assets/esri/core/workers/chunks/ee5f43fbe4c2cc199e64.js +0 -1
  854. package/assets/esri/core/workers/chunks/f0334d31c8cac38baa25.js +0 -1
  855. package/assets/esri/core/workers/chunks/f1b63f092e239f84b849.js +0 -1
  856. package/assets/esri/core/workers/chunks/f2126b79f41dc62cc576.js +0 -1
  857. package/assets/esri/core/workers/chunks/f3a75dffb285590cb451.js +0 -1
  858. package/assets/esri/core/workers/chunks/f3e0b0f07a622fcdd6ae.js +0 -1
  859. package/assets/esri/core/workers/chunks/f581aec77accce7411e0.js +0 -1
  860. package/assets/esri/core/workers/chunks/f606350e4d040ad70f4d.js +0 -1
  861. package/assets/esri/core/workers/chunks/f849ffe8e551bd5896ef.js +0 -1
  862. package/assets/esri/core/workers/chunks/f877bcbd277a28154d82.js +0 -1
  863. package/assets/esri/core/workers/chunks/fa1c68f2ffcdff7986b6.js +0 -1
  864. package/assets/esri/core/workers/chunks/fa849ff6132c2cd6d8e8.js +0 -1
  865. package/assets/esri/core/workers/chunks/feeb36ffdffb227c4353.js +0 -1
  866. package/renderers/support/types.js +0 -5
  867. package/widgets/support/templateUtils.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import"../../renderers/PointCloudClassBreaksRenderer.js";import"../../renderers/PointCloudRenderer.js";import e from"../../renderers/PointCloudRGBRenderer.js";import i from"../../renderers/PointCloudStretchRenderer.js";import"../../renderers/PointCloudUniqueValueRenderer.js";import r from"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/PieChartRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import"../../core/Logger.js";import{createUniqueColors as a}from"../../core/colorUtils.js";import o from"../../core/Error.js";import{clone as n}from"../../core/lang.js";import{ensureClass as l}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as s}from"../../intl/messages.js";import t from"../../renderers/support/AuthoringInfo.js";import u from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as d,createColorStops as m}from"../../renderers/support/utils.js";import c from"../../renderers/visualVariables/ColorVariable.js";import p from"../../renderers/visualVariables/support/ColorStop.js";import f from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import y from"../heuristics/ageUnit.js";import v from"../heuristics/outline.js";import h from"../heuristics/sizeRange.js";import{spliceVisualVariables as w,findColorVVIndex as b,findOutlineVVIndex as g,findScaleDependentSizeVVIndex as T,updateAuthoringInfoVisualVariable as x,processRegenerateParams as z,getRendererToUpdate as E,getStyleType as V,hasOutlineVV as I,hasScaleDependentSizeVV as S}from"./support/regenerateUtils.js";import{getSummaryStatistics as M,errorCallback as j,getClassBreaks as B,getPointSizeAlgorithm as O,getTitleAndExpressionForAgeRenderer as k,updateAgeRendererAuthoringInfoVV as C,verifyBasicFieldValidity as F,isValidPointSize as R,getDefaultDataRange as q,createDefaultStopValues as U,createStopValues as P,getDataRange as D,createDataValues as L,createSymbol as $,getSymbolSizeFromScheme as A,getSymbolOutlineFromScheme as G,getBasemapInfo as W}from"./support/utils.js";import{verifyDates as H,supportedAgeUnits as J}from"../statistics/support/ageUtils.js";import{verifyBinningParams as K}from"../support/binningUtils.js";import{isAnyDateField as N,getFieldsList as Q,getNormalizationType as X}from"../support/utils.js";import{binningCapableLayerTypes as Y,featureCapableLayerTypes as Z,createLayerAdapter as _,getLayerTypeLabels as ee,LayerType as ie}from"../support/adapters/support/layerUtils.js";import{cloneScheme as re,getSchemes as ae,getSchemeById as oe}from"../symbology/color.js";const ne="high-to-low",le=2**53-1,se=5;async function te(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new o("color-visual-variable:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new o("color-visual-variable:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&K(e,"color-visual-variable");const i={...e},r=e.forBinning?Y:Z,a=_(i.layer,r,e.forBinning);if(!a)throw new o("color-visual-variable:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));const n=null!=i.signal?{signal:i.signal}:null;await a.load(n);if("mesh"!==a.geometryType&&i.worldScale&&(!i.view||"3d"!==i.view.type))throw new o("color-visual-variable:invalid-parameters","'view' parameter should be an instance of SceneView when 'worldScale' parameter is true");const l=await Q({field:i.field,normalizationField:i.normalizationField,valueExpression:i.valueExpression}),s=F(a,l,"color-visual-variable:invalid-parameters");if(s)throw s;return{...i,layer:a}}async function ue(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new o("color-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new o("color-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&K(e,"color-continuous-renderer");const i={...e};i.symbolType=i.symbolType||"2d",i.defaultSymbolEnabled??=!0;const r=e.forBinning?Y:Z,a=_(i.layer,r,e.forBinning);if(!a)throw new o("color-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));const n=null!=i.signal?{signal:i.signal}:null;await a.load(n);const l=a.geometryType;if(i.outlineOptimizationEnabled="polygon"===l&&i.outlineOptimizationEnabled,i.sizeOptimizationEnabled=("point"===l||"multipoint"===l||"polyline"===l)&&i.sizeOptimizationEnabled,"mesh"===l)i.symbolType="3d-volumetric",i.colorMixMode=i.colorMixMode||"replace",i.edgesType=i.edgesType||"none";else{if("3d-volumetric-uniform"===i.symbolType&&"point"!==l)throw new o("color-continuous-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(i.symbolType.includes("3d-volumetric")&&(!i.view||"3d"!==i.view.type))throw new o("color-continuous-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const s=await Q({field:i.field,normalizationField:i.normalizationField,valueExpression:i.valueExpression}),t=F(a,s,"color-continuous-renderer:invalid-parameters");if(t)throw t;return{...i,layer:a}}async function de(e){if(!e||!e.layer||!e.field&&!e.valueExpression)throw new o("color-class-breaks-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new o("color-class-breaks-renderer:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&K(e,"color-class-breaks-renderer");const i={...e};i.symbolType=i.symbolType||"2d",i.defaultSymbolEnabled??=!0,i.classificationMethod??="equal-interval",i.normalizationType=X(i);const r=e.forBinning?Y:Z,a=_(i.layer,r,e.forBinning);if(!a)throw new o("color-class-breaks-renderer:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));if(!(null!=i.minValue&&null!=i.maxValue)&&(null!=i.minValue||null!=i.maxValue))throw new o("color-class-breaks-renderer:missing-parameters","Both 'minValue' and 'maxValue' are required when specifying custom data range");const n=null!=i.signal?{signal:i.signal}:null;await a.load(n);const l=a.geometryType;if(i.outlineOptimizationEnabled="polygon"===l&&i.outlineOptimizationEnabled,"mesh"===l)i.symbolType="3d-volumetric",i.colorMixMode=i.colorMixMode||"replace",i.edgesType=i.edgesType||"none";else{if("3d-volumetric-uniform"===i.symbolType&&"point"!==l)throw new o("color-class-breaks-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(i.symbolType.includes("3d-volumetric")&&(!i.view||"3d"!==i.view.type))throw new o("color-class-breaks-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const s=await Q({field:i.field,normalizationField:i.normalizationField}),t=F(a,s,"color-class-breaks-renderer:invalid-parameters");if(t)throw t;return{...i,layer:a}}function me(e){const i={...e};delete i.basemap,delete i.colorScheme,delete i.legendOptions,delete i.symbolType,delete i.defaultSymbolEnabled,delete i.colorMixMode,delete i.edgesType;const r=i;return r.analyzeData=!(null!=i.minValue&&null!=i.maxValue),r}async function ce(e){if(!e?.layer)throw new o("color-point-cloud-true-color-renderer:missing-parameters","'layer' parameter is required");const i={...e,layer:e.layer},r=[ie.PointCloudLayer],a=_(i.layer,r);if(!a)throw new o("color-point-cloud-true-color-renderer:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));if(i.layer=a,i.density=i.density||25,i.size=i.size||"100%",!R(i.size))throw new o("color-point-cloud-true-color-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'");const n=null!=i.signal?{signal:i.signal}:null;return await a.load(n),i}async function pe(e){if(!e?.layer||!e.field)throw new o("color-point-cloud-continuous-renderer:missing-parameters","'layer' and 'field' parameters are required");const i=e.field.toLowerCase();if("intensity"!==i&&"elevation"!==i)throw new o("color-point-cloud-continuous-renderer:invalid-parameters","'field' should be either 'intensity' or 'elevation'");const r={...e,layer:e.layer,field:e.field},a=[ie.PointCloudLayer],n=_(r.layer,a);if(!n)throw new o("color-point-cloud-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+ee(a).join(", "));if(r.layer=n,r.density=r.density||25,r.size=r.size||"100%",!R(r.size))throw new o("color-point-cloud-continuous-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'");const l=null!=r.signal?{signal:r.signal}:null;return await n.load(l),r}function fe(e){const i={...e},r=!!i.symbolType?.includes("3d-volumetric");delete i.symbolType,delete i.defaultSymbolEnabled,delete i.colorMixMode,delete i.edgesType;const a=i;return a.worldScale=r,a}async function ye(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new o("color-age-renderer:missing-parameters","'layer', 'view', startTime', 'endTime' parameters are required");const i={...e};i.symbolType=i.symbolType||"2d",i.defaultSymbolEnabled??=!0;const r=_(i.layer,Z);if(!r)throw new o("color-age-renderer:invalid-parameters","'layer' must be one of these types: "+ee(Z).join(", "));const a=null!=i.signal?{signal:i.signal}:null;await r.load(a);const n=r.geometryType;if(i.outlineOptimizationEnabled="polygon"===n&&i.outlineOptimizationEnabled,i.sizeOptimizationEnabled=("point"===n||"multipoint"===n||"polyline"===n)&&i.sizeOptimizationEnabled,"mesh"===n)i.symbolType="3d-volumetric",i.colorMixMode=i.colorMixMode||"replace",i.edgesType=i.edgesType||"none";else if("3d-volumetric-uniform"===i.symbolType&&"point"!==n)throw new o("color-continuous-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(i.symbolType.includes("3d-volumetric")&&(!i.view||"3d"!==i.view.type))throw new o("color-age-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'");const l=H(r,i.startTime,i.endTime,"color-age-renderer:invalid-parameters");if(l)throw l;if(i.unit&&!J.includes(i.unit))throw new o("color-age-renderer:invalid-unit",`Supported units are: ${J.join(", ")}`);return{...i,layer:r}}async function ve(e){const i="regenerate-color-visual-variable";await z(e,i);const r=await E(e);if("class-breaks"!==r?.type)throw new o(`${i}:invalid-parameters`,"Renderer must be a ClassBreaksRenderer to regenerate a color visual variable");const a=r.authoringInfo,n=a?.visualVariables.find((e=>"color"===e.type)),l=r.visualVariables?.find((e=>"color"===e.type));if(!l)throw new o(`${i}:invalid-parameters`,"Renderer does not have a color visual variable");const{field:s,normalizationField:t,valueExpression:u,valueExpressionTitle:d}=l,m="univariate-color-size"===a?.type?a?.univariateTheme:n?.theme,{layer:c,forBinning:p,filter:f,view:y,signal:v}=e,h=await te({layer:c,field:s,valueExpression:u,valueExpressionTitle:d,normalizationField:t,theme:m,forBinning:p,filter:f,view:y,signal:v});return{...e,creatorParameters:h,renderer:r}}async function he(e){const i="regenerate-color-continuous-renderer";await z(e,i);const r=await E(e),a=V(r);if(!a||!["color-continuous","color-size"].includes(a))throw new o(`${i}:invalid-renderer`,"Renderer is invalid");const{authoringInfo:n,field:l,normalizationField:s,valueExpression:t,valueExpressionTitle:u}=r,d=n?.visualVariables.find((e=>"color"===e.type)),m=d?.theme,{layer:c,forBinning:p,filter:f,view:y,signal:v}=e,h=I(r),w=S(r),b=await ue({layer:c,field:l,valueExpression:t,valueExpressionTitle:u,normalizationField:s,theme:m,outlineOptimizationEnabled:h,sizeOptimizationEnabled:w,forBinning:p,filter:f,view:y,signal:v});return{...e,creatorParameters:b,renderer:r}}async function we(e){const i="regenerate-color-class-breaks-renderer";await z(e,i);const r=await E(e);if("color-class-breaks"!==V(r))throw new o(`${i}:invalid-parameters`,"Renderer is invalid");const{authoringInfo:a,field:n,normalizationField:l,normalizationType:s,normalizationTotal:t,valueExpression:u,valueExpressionTitle:d}=r,{classificationMethod:m,standardDeviationInterval:c}=a,p=r.classBreakInfos.length,{layer:f,forBinning:y,filter:v,view:h,signal:w}=e,b=I(r),g=await de({layer:f,field:n,valueExpression:u,valueExpressionTitle:d,normalizationType:s,normalizationField:l,normalizationTotal:t,classificationMethod:m,standardDeviationInterval:c,numClasses:p,outlineOptimizationEnabled:b,forBinning:y,filter:v,view:h,signal:w});return{...e,creatorParameters:g,renderer:r}}async function be(e){const i="regenerate-color-age-renderer";await z(e,i);const r=await E(e);if("color-age"!==V(r))throw new o(`${i}:invalid-parameters`,"Renderer is invalid");const{authoringInfo:a}=r,n=a?.visualVariables.find((e=>"color"===e.type)),l=n.startTime,s=n.endTime,t=n.units,u=n.theme,{layer:d,filter:m,view:c,signal:p}=e,f=I(r),y=S(r),v=await ye({layer:d,startTime:l,endTime:s,unit:t,theme:u,outlineOptimizationEnabled:f,sizeOptimizationEnabled:y,filter:m,view:c,signal:p});return{...e,creatorParameters:v,renderer:r}}async function ge(e,i){let r=e.colorScheme,a=null,o=null;const{view:n}=e,l=await W(e.basemap,n);if(a=null!=l.basemapId?l.basemapId:null,o=null!=l.basemapTheme?l.basemapTheme:null,r)return{scheme:re(r),basemapId:a,basemapTheme:o};const s=e.theme||ne,t=ae({theme:s,basemapTheme:o,geometryType:e.geometryType,worldScale:e.worldScale,view:n});if(t)if(a=t.basemapId,o=t.basemapTheme,e.schemeId){const i=s+"/"+a+"/"+e.schemeId;r=oe({id:i,geometryType:e.geometryType})}else r=t.primaryScheme;return{scheme:r,basemapId:a,basemapTheme:o}}async function Te(e,i){const r=i.layer,n=await ge({basemap:i.basemap,colorScheme:i.colorScheme,geometryType:r.geometryType,schemeId:"elevation"===i.field.toLowerCase()?"point-cloud-elevation-scheme":"point-cloud-intensity-scheme"}),l=n.scheme;if(!l)throw new o("color-point-cloud-continuous-renderer:insufficient-info","Unable to find color scheme");const s=a(l.colors,se);if(s.length<se)throw new o("color-point-cloud-continuous-renderer:insufficient-info","Color scheme does not have enough colors");const t=q(e,!1,!0),u=t?U(t[0],t[1],5):P(e);return{stops:m({values:u,isDate:!1,colors:s,labelIndexes:[0,2,4]}),basemapId:n.basemapId,basemapTheme:n.basemapTheme,statistics:e,defaultValuesUsed:!!t,colorScheme:re(l)}}function xe(e,i,r,a){const o=D(e,i,r,!0);return{values:L(o,e,i,a),defaultValuesUsed:o.defaultValuesUsed}}async function ze(e,i,r,n){const{field:s,theme:d}=e,m=await ge({basemap:e.basemap,theme:e.theme,geometryType:r,colorScheme:e.colorScheme,worldScale:e.worldScale,view:e.view}),y=m.scheme;if(!y)throw new o("color-visual-variable:insufficient-info","Unable to find color scheme");const v=a(y.colors,se);if(v.length<se)throw new o("color-visual-variable:insufficient-info","Color scheme does not have enough colors");const h=y.id.includes("seq-"),{values:w,defaultValuesUsed:b}=xe(i,d,n,h),g=a(v,se),T=new c({field:s??void 0,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationField:e.normalizationField,stops:w.map(((e,i)=>new p({value:e,color:g[i]}))),legendOptions:l(f,e.legendOptions)}),x=new u({type:"color",minSliderValue:null!=e.minValue?e.minValue:i.min,maxSliderValue:null!=e.maxValue?e.maxValue:i.max,theme:y.theme}),z=new t({visualVariables:[x]});return{basemapId:m.basemapId,basemapTheme:m.basemapTheme,visualVariable:T,statistics:i,defaultValuesUsed:b,colorScheme:re(y),authoringInfo:z}}async function Ee(e,i,a,o,n,l,t){const u=await s("esri/smartMapping/t9n/smartMapping"),{field:d,defaultSymbolEnabled:m}=t,c=re(e.colorScheme),p=i?.opacity,f=[e.visualVariable.clone()];i?.visualVariables?.length&&f.push(...i.visualVariables.map((e=>e.clone()))),a?.minSize&&f.push(a.minSize);return{renderer:new r({classBreakInfos:[{minValue:-9007199254740991,maxValue:le,symbol:$(l,{type:t.symbolType,color:c.noDataColor,size:A(c,l),outline:G(c,l,p),meshInfo:{colorMixMode:t.colorMixMode,edgesType:t.edgesType}})}],defaultLabel:m?u.other:null,defaultSymbol:m?$(l,{type:t.symbolType,color:c.noDataColor,size:A(c,l),outline:G(c,l,p),meshInfo:{colorMixMode:t.colorMixMode,edgesType:t.edgesType}}):null,field:d,normalizationType:o,normalizationField:n,valueExpression:t.valueExpression,valueExpressionTitle:t.valueExpressionTitle,visualVariables:f,authoringInfo:e.authoringInfo&&e.authoringInfo.clone()}),visualVariable:e.visualVariable.clone(),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,colorScheme:re(e.colorScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}async function Ve(e){const i=await te(e),{view:r,field:a,valueExpression:o,minValue:n,maxValue:l,layer:s,normalizationField:t,signal:u,filter:d,statistics:m}=i,c=t?"field":void 0,p=await(m??M({layer:s,field:a,valueExpression:o,sqlExpression:i.sqlExpression,sqlWhere:i.sqlWhere,normalizationType:c,normalizationField:t,minValue:n,maxValue:l,filter:d,view:r,signal:u})),f=s,y=a&&"function"!=typeof a?f.getField(a):null;return ze(i,p,f.geometryType,N(y))}async function Ie(e){const{view:i,filter:r,creatorParameters:a,renderer:n,signal:l}=await ve(e),s=n.authoringInfo?.clone(),t=s?.visualVariables.find((e=>"color"===e.type)),u=n.visualVariables?.find((e=>"color"===e.type)),{field:d,normalizationField:m,valueExpression:c,theme:p,layer:f}=a,y=await M({layer:f,field:d,valueExpression:c,normalizationField:m,filter:r,view:i,signal:l}),v=d&&"function"!=typeof d?f.getField(d):null,{values:h}=xe(y,p,N(v),"high-to-low"===p);if(h.length!==u.stops.length)throw new o("regenerate-color-visual-variable:invalid-parameters","Visual variable is invalid");return u.stops.forEach(((e,i)=>e.value=h[i])),t&&(t.minSliderValue=y.min,t.maxSliderValue=y.max),{visualVariable:u,authoringInfo:s,statistics:y}}function Se(e,i){const r=e.colorsForClassBreaks;if(r?.length)for(const a of r)if(a.numClasses===i)return n(a.colors);return a(e.colors,i)}async function Me(e,i){const a=await s("esri/smartMapping/t9n/smartMapping"),n=e.layer,l=e.defaultSymbolEnabled,u=n.geometryType,m=e.classificationMethod,c="standard-deviation"===m,p=await ge({basemap:e.basemap,geometryType:u,theme:c?"above-and-below":null,colorScheme:e.colorScheme,worldScale:!!e.symbolType?.includes("3d-volumetric"),view:e.view}),f=p.scheme,{result:y,outlineResult:v}=i,h=y.classBreakInfos,w=e.normalizationType;if(!f)throw new o("color-class-breaks-renderer:insufficient-info","Unable to find color scheme");const b=Se(f,h.length);if(!b||b.length!==h.length)throw new o("color-class-breaks-renderer:insufficient-info","Color scheme does not have enough colors");const g=v?.opacity,T=new r({classBreakInfos:h.map(((i,r)=>({minValue:i.minValue,maxValue:i.maxValue,symbol:$(u,{type:e.symbolType,color:b[r],size:A(f,u),outline:G(f,u,g),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}),label:i.label}))),defaultLabel:l?a.other:null,defaultSymbol:l?$(u,{type:e.symbolType,color:f.noDataColor,size:A(f,u),outline:G(f,u,g),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:w,normalizationField:e.normalizationField,normalizationTotal:"percent-of-total"===w?y.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new t({type:"class-breaks-color",classificationMethod:m,standardDeviationInterval:e.standardDeviationInterval})});return c||d({classBreakInfos:T.classBreakInfos,classificationMethod:m,normalizationType:w,round:!0}),v?.visualVariables?.length&&(T.visualVariables=v.visualVariables.map((e=>e.clone()))),{renderer:T,colorScheme:re(f),classBreaksResult:y,defaultValuesUsed:i.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function je(e){const i=await ue(e),{layer:r,view:a,signal:o,filter:n}=i,[l,s,t]=await Promise.all([Ve(fe(i)),i.outlineOptimizationEnabled?v({layer:r,view:a,signal:o,filter:n}).catch(j):null,i.sizeOptimizationEnabled?h({layer:r,view:a,signal:o,filter:n}).catch(j):null]),u=i.normalizationField;return Ee(l,s,t,u?"field":void 0,u,r.geometryType,i)}async function Be(e){const{renderer:i,view:r,signal:a,filter:o,creatorParameters:n}=await he(e),{layer:l,outlineOptimizationEnabled:s,sizeOptimizationEnabled:t}=n,[u,d,m]=await Promise.all([Ie(e),s?v({layer:l,view:r,signal:a,filter:o}).catch(j):null,t?h({layer:l,view:r,signal:a,filter:o}).catch(j):null]);return w(i,u.visualVariable,b),w(i,d?.visualVariables,g),w(i,m?.minSize,T),x(i,u.authoringInfo,"color"),{renderer:i}}async function Oe(e){const i=await de(e);return Me(i,await B(me(i),i.outlineOptimizationEnabled))}async function ke(e){const{renderer:i,creatorParameters:r}=await we(e),{normalizationType:a,outlineOptimizationEnabled:n,classificationMethod:l}=r,{result:s,outlineResult:t}=await B(me(r),n),u=s.classBreakInfos;if(r.numClasses!==u.length)throw new o("regenerate-color-class-breaks-renderer:insufficient-info","The number of class breaks generated does not match the number of class breaks in the renderer.");return i.classBreakInfos.forEach(((e,i)=>{e.minValue=u[i].minValue,e.maxValue=u[i].maxValue,e.label=u[i].label})),i.normalizationTotal="percent-of-total"===a?s.normalizationTotal:void 0,"standard-deviation"!==l&&d({classBreakInfos:i.classBreakInfos,classificationMethod:l,normalizationType:a,round:!0}),w(i,t?.visualVariables,g),{renderer:i}}function Ce(i){return ce(i).then((i=>({renderer:new e({field:"RGB",pointsPerInch:i.density??void 0,pointSizeAlgorithm:O(i.size)})})))}async function Fe(e){const r=await pe(e),a=r.statistics??await M({layer:r.layer,field:r.field,signal:r.signal}),o=await Te(a,r);return{renderer:new i({field:r.field,pointsPerInch:r.density??void 0,pointSizeAlgorithm:O(r.size),stops:o.stops}),basemapId:o.basemapId,basemapTheme:o.basemapTheme,statistics:o.statistics,defaultValuesUsed:o.defaultValuesUsed,colorScheme:o.colorScheme}}async function Re(e){const i=await ye(e),{defaultSymbolEnabled:r,view:a,startTime:o,endTime:n,symbolType:l,colorMixMode:s,edgesType:t,minValue:u,maxValue:d,signal:m,filter:c}=i,p=i.layer,[f,w,b]=await Promise.all([i.unit?{unit:i.unit,statistics:null}:y({view:a,layer:p,startTime:o,endTime:n,minValue:u,maxValue:d,signal:m,filter:c}),i.outlineOptimizationEnabled?v({layer:p,view:a,signal:m,filter:c}).catch(j):null,i.sizeOptimizationEnabled?h({layer:p,view:a,signal:m,filter:c}).catch(j):null]),{unit:g,statistics:T}=f,{valueExpression:x,title:z}=await k(i,g),E=await Ve(fe({layer:p,basemap:i.basemap,valueExpression:x,symbolType:l,statistics:T,legendOptions:{title:z},colorScheme:i.colorScheme,theme:i.theme,view:a,minValue:i.minValue,maxValue:i.maxValue,filter:c,signal:m})),V={layer:p,valueExpression:x,defaultSymbolEnabled:r,symbolType:l,colorMixMode:s,edgesType:t},I=await Ee(E,w,b,null,null,p.geometryType,V),S=I.renderer.authoringInfo?.visualVariables;return S?.forEach((e=>C(e,o,n,g))),{...I,unit:g}}async function qe(e){const{renderer:i,creatorParameters:r}=await be(e),{layer:a,outlineOptimizationEnabled:o,sizeOptimizationEnabled:n,startTime:l,endTime:s,theme:t,view:u,signal:d,filter:m}=r,[c,p,f]=await Promise.all([y({view:u,layer:a,startTime:l,endTime:s,signal:d,filter:m}),o?v({layer:a,view:u,signal:d,filter:m}).catch(j):null,n?h({layer:a,view:u,signal:d,filter:m}).catch(j):null]),{unit:x,statistics:z}=c,{valueExpression:E,title:V}=await k(r,x),I=await Ve(fe({layer:a,valueExpression:E,statistics:z,legendOptions:{title:V},theme:t,view:u,filter:m,signal:d}));w(i,I.visualVariable,b),w(i,p?.visualVariables,g),w(i,f?.minSize,T),i.authoringInfo=I.authoringInfo.clone();const S=i.authoringInfo?.visualVariables;return S?.forEach((e=>C(e,l,s,x))),{renderer:i}}export{Re as createAgeRenderer,Oe as createClassBreaksRenderer,je as createContinuousRenderer,Fe as createPCContinuousRenderer,Ce as createPCTrueColorRenderer,Ve as createVisualVariable,qe as regenerateAgeRenderer,ke as regenerateClassBreaksRenderer,Be as regenerateContinuousRenderer,Ie as regenerateVisualVariable};
5
+ import{createUniqueColors as e}from"../../core/colorUtils.js";import i from"../../core/Error.js";import{clone as a}from"../../core/lang.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as o}from"../../intl/messages.js";import n from"../../renderers/ClassBreaksRenderer.js";import l from"../../renderers/PointCloudRGBRenderer.js";import s from"../../renderers/PointCloudStretchRenderer.js";import t from"../../renderers/support/AuthoringInfo.js";import u from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as m,createColorStops as d}from"../../renderers/support/utils.js";import c from"../../renderers/visualVariables/ColorVariable.js";import p from"../../renderers/visualVariables/support/ColorStop.js";import f from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import y from"../heuristics/ageUnit.js";import v from"../heuristics/outline.js";import h from"../heuristics/sizeRange.js";import{spliceVisualVariables as w,findColorVVIndex as b,findOutlineVVIndex as g,findScaleDependentSizeVVIndex as T,updateAuthoringInfoVisualVariable as x,processRegenerateParams as z,getRendererToUpdate as E,getStyleType as V,hasOutlineVV as I,hasScaleDependentSizeVV as S}from"./support/regenerateUtils.js";import{getSummaryStatistics as M,errorCallback as O,getClassBreaks as B,getPointSizeAlgorithm as j,getTitleAndExpressionForAgeRenderer as k,updateAgeRendererAuthoringInfoVV as F,verifyBasicFieldValidity as q,isValidPointSize as C,getDefaultDataRange as U,createDefaultStopValues as P,createStopValues as R,getDataRange as D,createDataValues as L,createSymbol as $,getSymbolSizeFromScheme as A,getSymbolOutlineFromScheme as G,getBasemapInfo as W}from"./support/utils.js";import{verifyDates as H,supportedAgeUnits as J}from"../statistics/support/ageUtils.js";import{verifyBinningParams as K}from"../support/binningUtils.js";import{isAnyDateField as N,getFieldsList as Q,getNormalizationType as X}from"../support/utils.js";import{binningCapableLayerTypes as Y,featureCapableLayerTypes as Z,createLayerAdapter as _,getLayerTypeLabels as ee,LayerType as ie}from"../support/adapters/support/layerUtils.js";import{cloneScheme as ae,getSchemes as re,getSchemeById as oe}from"../symbology/color.js";const ne="high-to-low",le=2**53-1,se=5;async function te(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new i("color-visual-variable:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new i("color-visual-variable:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&K(e,"color-visual-variable");const a={...e},r=e.forBinning?Y:Z,o=_(a.layer,r,e.forBinning);if(!o)throw new i("color-visual-variable:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));const n=null!=a.signal?{signal:a.signal}:null;await o.load(n);if("mesh"!==o.geometryType&&a.worldScale&&(!a.view||"3d"!==a.view.type))throw new i("color-visual-variable:invalid-parameters","'view' parameter should be an instance of SceneView when 'worldScale' parameter is true");const l=await Q({field:a.field,normalizationField:a.normalizationField,valueExpression:a.valueExpression}),s=q(o,l,"color-visual-variable:invalid-parameters");if(s)throw s;return{...a,layer:o}}async function ue(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new i("color-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new i("color-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&K(e,"color-continuous-renderer");const a={...e};a.symbolType=a.symbolType||"2d",a.defaultSymbolEnabled??=!0;const r=e.forBinning?Y:Z,o=_(a.layer,r,e.forBinning);if(!o)throw new i("color-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));const n=null!=a.signal?{signal:a.signal}:null;await o.load(n);const l=o.geometryType;if(a.outlineOptimizationEnabled="polygon"===l&&a.outlineOptimizationEnabled,a.sizeOptimizationEnabled=("point"===l||"multipoint"===l||"polyline"===l)&&a.sizeOptimizationEnabled,"mesh"===l)a.symbolType="3d-volumetric",a.colorMixMode=a.colorMixMode||"replace",a.edgesType=a.edgesType||"none";else{if("3d-volumetric-uniform"===a.symbolType&&"point"!==l)throw new i("color-continuous-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(a.symbolType.includes("3d-volumetric")&&(!a.view||"3d"!==a.view.type))throw new i("color-continuous-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const s=await Q({field:a.field,normalizationField:a.normalizationField,valueExpression:a.valueExpression}),t=q(o,s,"color-continuous-renderer:invalid-parameters");if(t)throw t;return{...a,layer:o}}async function me(e){if(!e||!e.layer||!e.field&&!e.valueExpression)throw new i("color-class-breaks-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new i("color-class-breaks-renderer:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&K(e,"color-class-breaks-renderer");const a={...e};a.symbolType=a.symbolType||"2d",a.defaultSymbolEnabled??=!0,a.classificationMethod??="equal-interval",a.normalizationType=X(a);const r=e.forBinning?Y:Z,o=_(a.layer,r,e.forBinning);if(!o)throw new i("color-class-breaks-renderer:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));if(!(null!=a.minValue&&null!=a.maxValue)&&(null!=a.minValue||null!=a.maxValue))throw new i("color-class-breaks-renderer:missing-parameters","Both 'minValue' and 'maxValue' are required when specifying custom data range");const n=null!=a.signal?{signal:a.signal}:null;await o.load(n);const l=o.geometryType;if(a.outlineOptimizationEnabled="polygon"===l&&a.outlineOptimizationEnabled,"mesh"===l)a.symbolType="3d-volumetric",a.colorMixMode=a.colorMixMode||"replace",a.edgesType=a.edgesType||"none";else{if("3d-volumetric-uniform"===a.symbolType&&"point"!==l)throw new i("color-class-breaks-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(a.symbolType.includes("3d-volumetric")&&(!a.view||"3d"!==a.view.type))throw new i("color-class-breaks-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const s=await Q({field:a.field,normalizationField:a.normalizationField}),t=q(o,s,"color-class-breaks-renderer:invalid-parameters");if(t)throw t;return{...a,layer:o}}function de(e){const i={...e};delete i.basemap,delete i.colorScheme,delete i.legendOptions,delete i.symbolType,delete i.defaultSymbolEnabled,delete i.colorMixMode,delete i.edgesType;const a=i;return a.analyzeData=!(null!=i.minValue&&null!=i.maxValue),a}async function ce(e){if(!e?.layer)throw new i("color-point-cloud-true-color-renderer:missing-parameters","'layer' parameter is required");const a={...e,layer:e.layer},r=[ie.PointCloudLayer],o=_(a.layer,r);if(!o)throw new i("color-point-cloud-true-color-renderer:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));if(a.layer=o,a.density=a.density||25,a.size=a.size||"100%",!C(a.size))throw new i("color-point-cloud-true-color-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'");const n=null!=a.signal?{signal:a.signal}:null;return await o.load(n),a}async function pe(e){if(!e?.layer||!e.field)throw new i("color-point-cloud-continuous-renderer:missing-parameters","'layer' and 'field' parameters are required");const a=e.field.toLowerCase();if("intensity"!==a&&"elevation"!==a)throw new i("color-point-cloud-continuous-renderer:invalid-parameters","'field' should be either 'intensity' or 'elevation'");const r={...e,layer:e.layer,field:e.field},o=[ie.PointCloudLayer],n=_(r.layer,o);if(!n)throw new i("color-point-cloud-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+ee(o).join(", "));if(r.layer=n,r.density=r.density||25,r.size=r.size||"100%",!C(r.size))throw new i("color-point-cloud-continuous-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'");const l=null!=r.signal?{signal:r.signal}:null;return await n.load(l),r}function fe(e){const i={...e},a=!!i.symbolType?.includes("3d-volumetric");delete i.symbolType,delete i.defaultSymbolEnabled,delete i.colorMixMode,delete i.edgesType;const r=i;return r.worldScale=a,r}async function ye(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new i("color-age-renderer:missing-parameters","'layer', 'view', startTime', 'endTime' parameters are required");const a={...e};a.symbolType=a.symbolType||"2d",a.defaultSymbolEnabled??=!0;const r=_(a.layer,Z);if(!r)throw new i("color-age-renderer:invalid-parameters","'layer' must be one of these types: "+ee(Z).join(", "));const o=null!=a.signal?{signal:a.signal}:null;await r.load(o);const n=r.geometryType;if(a.outlineOptimizationEnabled="polygon"===n&&a.outlineOptimizationEnabled,a.sizeOptimizationEnabled=("point"===n||"multipoint"===n||"polyline"===n)&&a.sizeOptimizationEnabled,"mesh"===n)a.symbolType="3d-volumetric",a.colorMixMode=a.colorMixMode||"replace",a.edgesType=a.edgesType||"none";else if("3d-volumetric-uniform"===a.symbolType&&"point"!==n)throw new i("color-continuous-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(a.symbolType.includes("3d-volumetric")&&(!a.view||"3d"!==a.view.type))throw new i("color-age-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'");const l=H(r,a.startTime,a.endTime,"color-age-renderer:invalid-parameters");if(l)throw l;if(a.unit&&!J.includes(a.unit))throw new i("color-age-renderer:invalid-unit",`Supported units are: ${J.join(", ")}`);return{...a,layer:r}}async function ve(e){const a="regenerate-color-visual-variable";await z(e,a);const r=await E(e);if("class-breaks"!==r?.type)throw new i(`${a}:invalid-parameters`,"Renderer must be a ClassBreaksRenderer to regenerate a color visual variable");const o=r.authoringInfo,n=o?.visualVariables.find((e=>"color"===e.type)),l=r.visualVariables?.find((e=>"color"===e.type));if(!l)throw new i(`${a}:invalid-parameters`,"Renderer does not have a color visual variable");const{field:s,normalizationField:t,valueExpression:u,valueExpressionTitle:m}=l,d="univariate-color-size"===o?.type?o?.univariateTheme:n?.theme,{layer:c,forBinning:p,filter:f,view:y,signal:v}=e,h=await te({layer:c,field:s,valueExpression:u,valueExpressionTitle:m,normalizationField:t,theme:d,forBinning:p,filter:f,view:y,signal:v});return{...e,creatorParameters:h,renderer:r}}async function he(e){const a="regenerate-color-continuous-renderer";await z(e,a);const r=await E(e),o=V(r);if(!o||!["color-continuous","color-size"].includes(o))throw new i(`${a}:invalid-renderer`,"Renderer is invalid");const{authoringInfo:n,field:l,normalizationField:s,valueExpression:t,valueExpressionTitle:u}=r,m=n?.visualVariables.find((e=>"color"===e.type)),d=m?.theme,{layer:c,forBinning:p,filter:f,view:y,signal:v}=e,h=I(r),w=S(r),b=await ue({layer:c,field:l,valueExpression:t,valueExpressionTitle:u,normalizationField:s,theme:d,outlineOptimizationEnabled:h,sizeOptimizationEnabled:w,forBinning:p,filter:f,view:y,signal:v});return{...e,creatorParameters:b,renderer:r}}async function we(e){const a="regenerate-color-class-breaks-renderer";await z(e,a);const r=await E(e);if("color-class-breaks"!==V(r))throw new i(`${a}:invalid-parameters`,"Renderer is invalid");const{authoringInfo:o,field:n,normalizationField:l,normalizationType:s,normalizationTotal:t,valueExpression:u,valueExpressionTitle:m}=r,{classificationMethod:d,standardDeviationInterval:c}=o,p=r.classBreakInfos.length,{layer:f,forBinning:y,filter:v,view:h,signal:w}=e,b=I(r),g=await me({layer:f,field:n,valueExpression:u,valueExpressionTitle:m,normalizationType:s,normalizationField:l,normalizationTotal:t,classificationMethod:d,standardDeviationInterval:c,numClasses:p,outlineOptimizationEnabled:b,forBinning:y,filter:v,view:h,signal:w});return{...e,creatorParameters:g,renderer:r}}async function be(e){const a="regenerate-color-age-renderer";await z(e,a);const r=await E(e);if("color-age"!==V(r))throw new i(`${a}:invalid-parameters`,"Renderer is invalid");const{authoringInfo:o}=r,n=o?.visualVariables.find((e=>"color"===e.type)),l=n.startTime,s=n.endTime,t=n.units,u=n.theme,{layer:m,filter:d,view:c,signal:p}=e,f=I(r),y=S(r),v=await ye({layer:m,startTime:l,endTime:s,unit:t,theme:u,outlineOptimizationEnabled:f,sizeOptimizationEnabled:y,filter:d,view:c,signal:p});return{...e,creatorParameters:v,renderer:r}}async function ge(e,i){let a=e.colorScheme,r=null,o=null;const{view:n}=e,l=await W(e.basemap,n);if(r=null!=l.basemapId?l.basemapId:null,o=null!=l.basemapTheme?l.basemapTheme:null,a)return{scheme:ae(a),basemapId:r,basemapTheme:o};const s=e.theme||ne,t=re({theme:s,basemapTheme:o,geometryType:e.geometryType,worldScale:e.worldScale,view:n});if(t)if(r=t.basemapId,o=t.basemapTheme,e.schemeId){const i=s+"/"+r+"/"+e.schemeId;a=oe({id:i,geometryType:e.geometryType})}else a=t.primaryScheme;return{scheme:a,basemapId:r,basemapTheme:o}}async function Te(a,r){const o=r.layer,n=await ge({basemap:r.basemap,colorScheme:r.colorScheme,geometryType:o.geometryType,schemeId:"elevation"===r.field.toLowerCase()?"point-cloud-elevation-scheme":"point-cloud-intensity-scheme"}),l=n.scheme;if(!l)throw new i("color-point-cloud-continuous-renderer:insufficient-info","Unable to find color scheme");const s=e(l.colors,se);if(s.length<se)throw new i("color-point-cloud-continuous-renderer:insufficient-info","Color scheme does not have enough colors");const t=U(a,!1,!0),u=t?P(t[0],t[1],5):R(a);return{stops:d({values:u,isDate:!1,colors:s,labelIndexes:[0,2,4]}),basemapId:n.basemapId,basemapTheme:n.basemapTheme,statistics:a,defaultValuesUsed:!!t,colorScheme:ae(l)}}function xe(e,i,a,r){const o=D(e,i,a,!0);return{values:L(o,e,i,r),defaultValuesUsed:o.defaultValuesUsed}}async function ze(a,o,n,l){const{field:s,theme:m}=a,d=await ge({basemap:a.basemap,theme:a.theme,geometryType:n,colorScheme:a.colorScheme,worldScale:a.worldScale,view:a.view}),y=d.scheme;if(!y)throw new i("color-visual-variable:insufficient-info","Unable to find color scheme");const v=e(y.colors,se);if(v.length<se)throw new i("color-visual-variable:insufficient-info","Color scheme does not have enough colors");const h=y.id.includes("seq-"),{values:w,defaultValuesUsed:b}=xe(o,m,l,h),g=e(v,se),T=new c({field:s??void 0,valueExpression:a.valueExpression,valueExpressionTitle:a.valueExpressionTitle,normalizationField:a.normalizationField,stops:w.map(((e,i)=>new p({value:e,color:g[i]}))),legendOptions:r(f,a.legendOptions)}),x=new u({type:"color",minSliderValue:null!=a.minValue?a.minValue:o.min,maxSliderValue:null!=a.maxValue?a.maxValue:o.max,theme:y.theme}),z=new t({visualVariables:[x]});return{basemapId:d.basemapId,basemapTheme:d.basemapTheme,visualVariable:T,statistics:o,defaultValuesUsed:b,colorScheme:ae(y),authoringInfo:z}}async function Ee(e,i,a,r,l,s,t){const u=await o("esri/smartMapping/t9n/smartMapping"),{field:m,defaultSymbolEnabled:d}=t,c=ae(e.colorScheme),p=i?.opacity,f=[e.visualVariable.clone()];i?.visualVariables?.length&&f.push(...i.visualVariables.map((e=>e.clone()))),a?.minSize&&f.push(a.minSize);return{renderer:new n({classBreakInfos:[{minValue:-9007199254740991,maxValue:le,symbol:$(s,{type:t.symbolType,color:c.noDataColor,size:A(c,s),outline:G(c,s,p),meshInfo:{colorMixMode:t.colorMixMode,edgesType:t.edgesType}})}],defaultLabel:d?u.other:null,defaultSymbol:d?$(s,{type:t.symbolType,color:c.noDataColor,size:A(c,s),outline:G(c,s,p),meshInfo:{colorMixMode:t.colorMixMode,edgesType:t.edgesType}}):null,field:m,normalizationType:r,normalizationField:l,valueExpression:t.valueExpression,valueExpressionTitle:t.valueExpressionTitle,visualVariables:f,authoringInfo:e.authoringInfo&&e.authoringInfo.clone()}),visualVariable:e.visualVariable.clone(),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,colorScheme:ae(e.colorScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}async function Ve(e){const i=await te(e),{view:a,field:r,valueExpression:o,minValue:n,maxValue:l,layer:s,normalizationField:t,signal:u,filter:m,statistics:d}=i,c=t?"field":void 0,p=await(d??M({layer:s,field:r,valueExpression:o,sqlExpression:i.sqlExpression,sqlWhere:i.sqlWhere,normalizationType:c,normalizationField:t,minValue:n,maxValue:l,filter:m,view:a,signal:u})),f=s,y=r&&"function"!=typeof r?f.getField(r):null;return ze(i,p,f.geometryType,N(y))}async function Ie(e){const{view:a,filter:r,creatorParameters:o,renderer:n,signal:l}=await ve(e),s=n.authoringInfo?.clone(),t=s?.visualVariables.find((e=>"color"===e.type)),u=n.visualVariables?.find((e=>"color"===e.type)),{field:m,normalizationField:d,valueExpression:c,theme:p,layer:f}=o,y=await M({layer:f,field:m,valueExpression:c,normalizationField:d,filter:r,view:a,signal:l}),v=m&&"function"!=typeof m?f.getField(m):null,{values:h}=xe(y,p,N(v),"high-to-low"===p);if(h.length!==u.stops.length)throw new i("regenerate-color-visual-variable:invalid-parameters","Visual variable is invalid");return u.stops.forEach(((e,i)=>e.value=h[i])),t&&(t.minSliderValue=y.min,t.maxSliderValue=y.max),{visualVariable:u,authoringInfo:s,statistics:y}}function Se(i,r){const o=i.colorsForClassBreaks;if(o?.length)for(const e of o)if(e.numClasses===r)return a(e.colors);return e(i.colors,r)}async function Me(e,a){const r=await o("esri/smartMapping/t9n/smartMapping"),l=e.layer,s=e.defaultSymbolEnabled,u=l.geometryType,d=e.classificationMethod,c="standard-deviation"===d,p=await ge({basemap:e.basemap,geometryType:u,theme:c?"above-and-below":null,colorScheme:e.colorScheme,worldScale:!!e.symbolType?.includes("3d-volumetric"),view:e.view}),f=p.scheme,{result:y,outlineResult:v}=a,h=y.classBreakInfos,w=e.normalizationType;if(!f)throw new i("color-class-breaks-renderer:insufficient-info","Unable to find color scheme");const b=Se(f,h.length);if(!b||b.length!==h.length)throw new i("color-class-breaks-renderer:insufficient-info","Color scheme does not have enough colors");const g=v?.opacity,T=new n({classBreakInfos:h.map(((i,a)=>({minValue:i.minValue,maxValue:i.maxValue,symbol:$(u,{type:e.symbolType,color:b[a],size:A(f,u),outline:G(f,u,g),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}),label:i.label}))),defaultLabel:s?r.other:null,defaultSymbol:s?$(u,{type:e.symbolType,color:f.noDataColor,size:A(f,u),outline:G(f,u,g),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:w,normalizationField:e.normalizationField,normalizationTotal:"percent-of-total"===w?y.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new t({type:"class-breaks-color",classificationMethod:d,standardDeviationInterval:e.standardDeviationInterval})});return c||m({classBreakInfos:T.classBreakInfos,classificationMethod:d,normalizationType:w,round:!0}),v?.visualVariables?.length&&(T.visualVariables=v.visualVariables.map((e=>e.clone()))),{renderer:T,colorScheme:ae(f),classBreaksResult:y,defaultValuesUsed:a.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function Oe(e){const i=await ue(e),{layer:a,view:r,signal:o,filter:n}=i,[l,s,t]=await Promise.all([Ve(fe(i)),i.outlineOptimizationEnabled?v({layer:a,view:r,signal:o,filter:n}).catch(O):null,i.sizeOptimizationEnabled?h({layer:a,view:r,signal:o,filter:n}).catch(O):null]),u=i.normalizationField;return Ee(l,s,t,u?"field":void 0,u,a.geometryType,i)}async function Be(e){const{renderer:i,view:a,signal:r,filter:o,creatorParameters:n}=await he(e),{layer:l,outlineOptimizationEnabled:s,sizeOptimizationEnabled:t}=n,[u,m,d]=await Promise.all([Ie(e),s?v({layer:l,view:a,signal:r,filter:o}).catch(O):null,t?h({layer:l,view:a,signal:r,filter:o}).catch(O):null]);return w(i,u.visualVariable,b),w(i,m?.visualVariables,g),w(i,d?.minSize,T),x(i,u.authoringInfo,"color"),{renderer:i}}async function je(e){const i=await me(e);return Me(i,await B(de(i),i.outlineOptimizationEnabled))}async function ke(e){const{renderer:a,creatorParameters:r}=await we(e),{normalizationType:o,outlineOptimizationEnabled:n,classificationMethod:l}=r,{result:s,outlineResult:t}=await B(de(r),n),u=s.classBreakInfos;if(r.numClasses!==u.length)throw new i("regenerate-color-class-breaks-renderer:insufficient-info","The number of class breaks generated does not match the number of class breaks in the renderer.");return a.classBreakInfos.forEach(((e,i)=>{e.minValue=u[i].minValue,e.maxValue=u[i].maxValue,e.label=u[i].label})),a.normalizationTotal="percent-of-total"===o?s.normalizationTotal:void 0,"standard-deviation"!==l&&m({classBreakInfos:a.classBreakInfos,classificationMethod:l,normalizationType:o,round:!0}),w(a,t?.visualVariables,g),{renderer:a}}function Fe(e){return ce(e).then((e=>({renderer:new l({field:"RGB",pointsPerInch:e.density??void 0,pointSizeAlgorithm:j(e.size)})})))}async function qe(e){const i=await pe(e),a=i.statistics??await M({layer:i.layer,field:i.field,signal:i.signal}),r=await Te(a,i);return{renderer:new s({field:i.field,pointsPerInch:i.density??void 0,pointSizeAlgorithm:j(i.size),stops:r.stops}),basemapId:r.basemapId,basemapTheme:r.basemapTheme,statistics:r.statistics,defaultValuesUsed:r.defaultValuesUsed,colorScheme:r.colorScheme}}async function Ce(e){const i=await ye(e),{defaultSymbolEnabled:a,view:r,startTime:o,endTime:n,symbolType:l,colorMixMode:s,edgesType:t,minValue:u,maxValue:m,signal:d,filter:c}=i,p=i.layer,[f,w,b]=await Promise.all([i.unit?{unit:i.unit,statistics:null}:y({view:r,layer:p,startTime:o,endTime:n,minValue:u,maxValue:m,signal:d,filter:c}),i.outlineOptimizationEnabled?v({layer:p,view:r,signal:d,filter:c}).catch(O):null,i.sizeOptimizationEnabled?h({layer:p,view:r,signal:d,filter:c}).catch(O):null]),{unit:g,statistics:T}=f,{valueExpression:x,title:z}=await k(i,g),E=await Ve(fe({layer:p,basemap:i.basemap,valueExpression:x,symbolType:l,statistics:T,legendOptions:{title:z},colorScheme:i.colorScheme,theme:i.theme,view:r,minValue:i.minValue,maxValue:i.maxValue,filter:c,signal:d})),V={layer:p,valueExpression:x,defaultSymbolEnabled:a,symbolType:l,colorMixMode:s,edgesType:t},I=await Ee(E,w,b,null,null,p.geometryType,V),S=I.renderer.authoringInfo?.visualVariables;return S?.forEach((e=>F(e,o,n,g))),{...I,unit:g}}async function Ue(e){const{renderer:i,creatorParameters:a}=await be(e),{layer:r,outlineOptimizationEnabled:o,sizeOptimizationEnabled:n,startTime:l,endTime:s,theme:t,view:u,signal:m,filter:d}=a,[c,p,f]=await Promise.all([y({view:u,layer:r,startTime:l,endTime:s,signal:m,filter:d}),o?v({layer:r,view:u,signal:m,filter:d}).catch(O):null,n?h({layer:r,view:u,signal:m,filter:d}).catch(O):null]),{unit:x,statistics:z}=c,{valueExpression:E,title:V}=await k(a,x),I=await Ve(fe({layer:r,valueExpression:E,statistics:z,legendOptions:{title:V},theme:t,view:u,filter:d,signal:m}));w(i,I.visualVariable,b),w(i,p?.visualVariables,g),w(i,f?.minSize,T),i.authoringInfo=I.authoringInfo.clone();const S=i.authoringInfo?.visualVariables;return S?.forEach((e=>F(e,l,s,x))),{renderer:i}}export{Ce as createAgeRenderer,je as createClassBreaksRenderer,Oe as createContinuousRenderer,qe as createPCContinuousRenderer,Fe as createPCTrueColorRenderer,Ve as createVisualVariable,Ue as regenerateAgeRenderer,ke as regenerateClassBreaksRenderer,Be as regenerateContinuousRenderer,Ie as regenerateVisualVariable};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import e from"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/PieChartRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import"../../core/Logger.js";import{createUniqueColors as r}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{getResolutionForScale as i}from"../../geometry/support/scaleUtils.js";import a from"../../renderers/support/AuthoringInfo.js";import n from"../heuristics/outline.js";import{roundValue as s}from"./support/dotDensityUtils.js";import{spliceVisualVariables as l,findOutlineVVIndex as o,processRegenerateParams as u,getRendererToUpdate as d,getStyleType as m,hasOutlineVV as p}from"./support/regenerateUtils.js";import{errorCallback as c,getSymbolOutlineFromScheme as f,verifyBasicFieldValidity as y,getBasemapInfo as b}from"./support/utils.js";import g from"../statistics/spatialStatistics.js";import w from"../statistics/summaryStatisticsForAttributes.js";import v from"../statistics/support/attributeDensity.js";import{verifyBinningParams as h}from"../support/binningUtils.js";import{getFieldsList as S}from"../support/utils.js";import{LayerType as V,binningCapableLayerTypes as j,createLayerAdapter as E,getLayerTypeLabels as x}from"../support/adapters/support/layerUtils.js";import{cloneScheme as T,getSchemes as D}from"../symbology/dotDensity.js";const I=500;async function z(e){const r=e.view;if(!(e?.layer&&r&&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&&h(e,"dot-density-renderer");const i={...e,view:r,layer:e.layer,attributes:e.attributes},a=[V.FeatureLayer,V.ParquetLayer,V.OGCFeatureLayer,V.GeoJSONLayer,V.WFSLayer],n=e.forBinning?j:a,s=E(i.layer,n,e.forBinning);if(!s)throw new t("dot-density-renderer:invalid-parameters","'layer' must be one of these types: "+x(n).join(", "));i.dotBlendingEnabled??=!0,i.dotValueOptimizationEnabled??=!0;const l=null!=i.signal?{signal:i.signal}:null;await Promise.all([r.when(),s.load(l)]);if("polygon"!==s.geometryType)throw new t("dot-density-renderer:not-supported","Dot density renderer is supported for polygon layers only");const o=[],u=i.attributes;for(const t of u){const e=await S({field:t.field,valueExpression:t.valueExpression});o.push(...e)}const d=y(s,o.filter(Boolean),"dot-density-renderer:invalid-parameters");if(d)throw d;return{...i,layer:s}}async function O(e){const r="regenerate-dot-density-renderer";await u(e,r);const i=await d(e);if("dot-density"!==m(i))throw new t(`${r}:invalid-parameters`,"Renderer is invalid");const{layer:a,forBinning:n,filter:s,view:l,signal:o}=e,c=p(i),f=i.attributes.map((e=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle}))),y=await z({layer:a,attributes:f,dotValueOptimizationEnabled:null!=i.referenceScale,outlineOptimizationEnabled:c,forBinning:n,filter:s,view:l,signal:o});return{...e,creatorParameters:y,renderer:i}}async function R(e){let r=e.dotDensityScheme,t=null,i=null;const a=await b(e.basemap,e.view);if(t=null!=a.basemapId?a.basemapId:null,i=null!=a.basemapTheme?a.basemapTheme:null,r)return{scheme:T(r),basemapId:t,basemapTheme:i};const n=D({numColors:e.attributes.length,basemapTheme:i});return n&&(r=n.primaryScheme,t=n.basemapId,i=n.basemapTheme),{scheme:r,basemapId:t,basemapTheme:i}}function B(e){return{dotValue:1,referenceScale:e.scale,minSliderValue:1,maxSliderValue:100}}async function U(e){const{view:r,layer:t,attributes:a,signal:n,filter:l}=e,o=await t.getSampleFeatures({view:r,sampleSize:I,returnGeometry:!0,filter:l,signal:n},"json"),[u,d]=await Promise.all([g({features:o,geometryType:t.geometryType}),w({layer:t,attributes:a,filter:l,includeZeros:!1,includeNegatives:!1,view:r,signal:n})]),m=null!=u&&"avgSize"in u&&u.avgSize,p=d.avg;if(!m||!p)return B(r);const c=i(r.scale,r.spatialReference);return{dotValue:s(p/(m*m/(c*c)*.1))||1,referenceScale:r.scale,minSliderValue:1,maxSliderValue:s(p)}}async function P(e){const{view:r,layer:t,attributes:a,signal:n,filter:l}=e,o=[];for(const i of a){const e=await S({field:i.field,valueExpression:i.valueExpression});o.push(...e)}const u=await t.getSampleFeatures({view:r,sampleSize:I,requiredFields:o,filter:l,returnGeometry:!0,signal:n},"json"),{minDensity:d,maxDensity:m,avgDensity:p}=await v({features:u,attributes:a,includeZeros:!1,includeNegatives:!1,view:r});if(!p||!d||!m)return B(r);const c=i(r.scale,r.spatialReference),f=c*c,y=s(d*f),b=s(m*f);let g=s(p*f*10)||1;return g>b&&(g=b),{dotValue:g,referenceScale:r.scale,minSliderValue:y,maxSliderValue:b}}async function F(i){const s=await z(i),l=s.layer,o=l.geometryType,u=await R(s),d=u?.scheme;if(!d)throw new t("dot-density-renderer:insufficient-info","Unable to find dot-density scheme");const m=s.view,p=s.filter,y={layer:l,view:m,filter:p,attributes:s.attributes,signal:s.signal},b={layer:s.layer,view:m,filter:p,signal:s.signal},[g,w]=await Promise.all([s.trueDensity?P(y):U(y),s.outlineOptimizationEnabled?n(b).catch(c):null]),{dotValue:v,referenceScale:h,minSliderValue:S,maxSliderValue:V}=g,j=r(d.colors,s.attributes.length),E=s.attributes.map(((e,r)=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:j[r]}))),x=new e({attributes:E,dotBlendingEnabled:s.dotBlendingEnabled,outline:w?f(d,o,w.opacity):null,dotValue:v,referenceScale:s.dotValueOptimizationEnabled?h:null,legendOptions:s.legendOptions});return w?.visualVariables.length&&(x.visualVariables=w.visualVariables.map((e=>e.clone()))),x.authoringInfo=new a({type:"dot-density",minSliderValue:S,maxSliderValue:V}),{renderer:x,dotDensityScheme:d,basemapId:u.basemapId,basemapTheme:u.basemapTheme}}async function L(e){const{creatorParameters:r,renderer:t}=await O(e),{layer:i,attributes:a,outlineOptimizationEnabled:s,view:u,signal:d,filter:m}=r,p={layer:i,view:u,filter:m,attributes:a,signal:d},[f,y]=await Promise.all([r.trueDensity?P(p):U(p),s?n({layer:i,view:u,signal:d,filter:m}).catch(c):null]),{dotValue:b,referenceScale:g,minSliderValue:w,maxSliderValue:v}=f;return t.dotValue=b,t.referenceScale=r.dotValueOptimizationEnabled?g:null,t.authoringInfo&&(t.authoringInfo.minSliderValue=w,t.authoringInfo.maxSliderValue=v),l(t,y?.visualVariables,o),{renderer:t}}export{F as createRenderer,L as regenerateRenderer};
5
+ import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{getResolutionForScale as r}from"../../geometry/support/scaleUtils.js";import i from"../../renderers/DotDensityRenderer.js";import a from"../../renderers/support/AuthoringInfo.js";import n from"../heuristics/outline.js";import{roundValue as s}from"./support/dotDensityUtils.js";import{spliceVisualVariables as l,findOutlineVVIndex as o,processRegenerateParams as u,getRendererToUpdate as d,getStyleType as m,hasOutlineVV as p}from"./support/regenerateUtils.js";import{errorCallback as c,getSymbolOutlineFromScheme as f,verifyBasicFieldValidity as y,getBasemapInfo as b}from"./support/utils.js";import g from"../statistics/spatialStatistics.js";import w from"../statistics/summaryStatisticsForAttributes.js";import v from"../statistics/support/attributeDensity.js";import{verifyBinningParams as h}from"../support/binningUtils.js";import{getFieldsList as S}from"../support/utils.js";import{LayerType as V,binningCapableLayerTypes as E,createLayerAdapter as x,getLayerTypeLabels as j}from"../support/adapters/support/layerUtils.js";import{cloneScheme as T,getSchemes as D}from"../symbology/dotDensity.js";const I=500;async function z(e){const r=e.view;if(!(e?.layer&&r&&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&&h(e,"dot-density-renderer");const i={...e,view:r,layer:e.layer,attributes:e.attributes},a=[V.FeatureLayer,V.ParquetLayer,V.OGCFeatureLayer,V.GeoJSONLayer,V.WFSLayer],n=e.forBinning?E:a,s=x(i.layer,n,e.forBinning);if(!s)throw new t("dot-density-renderer:invalid-parameters","'layer' must be one of these types: "+j(n).join(", "));i.dotBlendingEnabled??=!0,i.dotValueOptimizationEnabled??=!0;const l=null!=i.signal?{signal:i.signal}:null;await Promise.all([r.when(),s.load(l)]);if("polygon"!==s.geometryType)throw new t("dot-density-renderer:not-supported","Dot density renderer is supported for polygon layers only");const o=[],u=i.attributes;for(const t of u){const e=await S({field:t.field,valueExpression:t.valueExpression});o.push(...e)}const d=y(s,o.filter(Boolean),"dot-density-renderer:invalid-parameters");if(d)throw d;return{...i,layer:s}}async function O(e){const r="regenerate-dot-density-renderer";await u(e,r);const i=await d(e);if("dot-density"!==m(i))throw new t(`${r}:invalid-parameters`,"Renderer is invalid");const{layer:a,forBinning:n,filter:s,view:l,signal:o}=e,c=p(i),f=i.attributes.map((e=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle}))),y=await z({layer:a,attributes:f,dotValueOptimizationEnabled:null!=i.referenceScale,outlineOptimizationEnabled:c,forBinning:n,filter:s,view:l,signal:o});return{...e,creatorParameters:y,renderer:i}}async function B(e){let t=e.dotDensityScheme,r=null,i=null;const a=await b(e.basemap,e.view);if(r=null!=a.basemapId?a.basemapId:null,i=null!=a.basemapTheme?a.basemapTheme:null,t)return{scheme:T(t),basemapId:r,basemapTheme:i};const n=D({numColors:e.attributes.length,basemapTheme:i});return n&&(t=n.primaryScheme,r=n.basemapId,i=n.basemapTheme),{scheme:t,basemapId:r,basemapTheme:i}}function F(e){return{dotValue:1,referenceScale:e.scale,minSliderValue:1,maxSliderValue:100}}async function P(e){const{view:t,layer:i,attributes:a,signal:n,filter:l}=e,o=await i.getSampleFeatures({view:t,sampleSize:I,returnGeometry:!0,filter:l,signal:n},"json"),[u,d]=await Promise.all([g({features:o,geometryType:i.geometryType}),w({layer:i,attributes:a,filter:l,includeZeros:!1,includeNegatives:!1,view:t,signal:n})]),m=null!=u&&"avgSize"in u&&u.avgSize,p=d.avg;if(!m||!p)return F(t);const c=r(t.scale,t.spatialReference);return{dotValue:s(p/(m*m/(c*c)*.1))||1,referenceScale:t.scale,minSliderValue:1,maxSliderValue:s(p)}}async function U(e){const{view:t,layer:i,attributes:a,signal:n,filter:l}=e,o=[];for(const r of a){const e=await S({field:r.field,valueExpression:r.valueExpression});o.push(...e)}const u=await i.getSampleFeatures({view:t,sampleSize:I,requiredFields:o,filter:l,returnGeometry:!0,signal:n},"json"),{minDensity:d,maxDensity:m,avgDensity:p}=await v({features:u,attributes:a,includeZeros:!1,includeNegatives:!1,view:t});if(!p||!d||!m)return F(t);const c=r(t.scale,t.spatialReference),f=c*c,y=s(d*f),b=s(m*f);let g=s(p*f*10)||1;return g>b&&(g=b),{dotValue:g,referenceScale:t.scale,minSliderValue:y,maxSliderValue:b}}async function L(r){const s=await z(r),l=s.layer,o=l.geometryType,u=await B(s),d=u?.scheme;if(!d)throw new t("dot-density-renderer:insufficient-info","Unable to find dot-density scheme");const m=s.view,p=s.filter,y={layer:l,view:m,filter:p,attributes:s.attributes,signal:s.signal},b={layer:s.layer,view:m,filter:p,signal:s.signal},[g,w]=await Promise.all([s.trueDensity?U(y):P(y),s.outlineOptimizationEnabled?n(b).catch(c):null]),{dotValue:v,referenceScale:h,minSliderValue:S,maxSliderValue:V}=g,E=e(d.colors,s.attributes.length),x=s.attributes.map(((e,t)=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:E[t]}))),j=new i({attributes:x,dotBlendingEnabled:s.dotBlendingEnabled,outline:w?f(d,o,w.opacity):null,dotValue:v,referenceScale:s.dotValueOptimizationEnabled?h:null,legendOptions:s.legendOptions});return w?.visualVariables.length&&(j.visualVariables=w.visualVariables.map((e=>e.clone()))),j.authoringInfo=new a({type:"dot-density",minSliderValue:S,maxSliderValue:V}),{renderer:j,dotDensityScheme:d,basemapId:u.basemapId,basemapTheme:u.basemapTheme}}async function G(e){const{creatorParameters:t,renderer:r}=await O(e),{layer:i,attributes:a,outlineOptimizationEnabled:s,view:u,signal:d,filter:m}=t,p={layer:i,view:u,filter:m,attributes:a,signal:d},[f,y]=await Promise.all([t.trueDensity?U(p):P(p),s?n({layer:i,view:u,signal:d,filter:m}).catch(c):null]),{dotValue:b,referenceScale:g,minSliderValue:w,maxSliderValue:v}=f;return r.dotValue=b,r.referenceScale=t.dotValueOptimizationEnabled?g:null,r.authoringInfo&&(r.authoringInfo.minSliderValue=w,r.authoringInfo.maxSliderValue=v),l(r,y?.visualVariables,o),{renderer:r}}export{L as createRenderer,G as regenerateRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../Color.js";import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import r from"../../renderers/HeatmapRenderer.js";import"../../renderers/PieChartRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import"../../core/Logger.js";import{createUniqueColors as a}from"../../core/colorUtils.js";import t from"../../core/Error.js";import o from"../../renderers/support/AuthoringInfo.js";import s from"../../renderers/support/HeatmapColorStop.js";import{gaussianBlurRadiusPxToKernelDensityRadiusPt as n}from"../../renderers/support/heatmapUtils.js";import{verifyBasicFieldValidity as i,getBasemapInfo as m}from"./support/utils.js";import p from"../statistics/heatmapStatistics.js";import{getFieldsList as l}from"../support/utils.js";import{LayerType as d,createLayerAdapter as u,getLayerTypeLabels as c}from"../support/adapters/support/layerUtils.js";import{cloneScheme as f,getSchemes as h}from"../symbology/heatmap.js";const w=.01;async function y(e){if(!e?.layer||!e.view)throw new t("heatmap-renderer:missing-parameters","'layer' and 'view' parameters are required");const r={...e,layer:e.layer,view:e.view};r.radius??=null==r.blurRadius?18:n(r.blurRadius),r.minRatio??=.01,r.maxRatio??=1,r.fadeRatio??=.2,r.fadeToTransparent??=!0;const a=[d.CSVLayer,d.FeatureLayer,d.GeoJSONLayer,d.KnowledgeGraphSublayer,d.OGCFeatureLayer,d.OrientedImageryLayer,d.StreamLayer,d.WFSLayer],o=u(r.layer,a);if(!o)throw new t("heatmap-renderer:invalid-parameters","'layer' must be one of these types: "+c(a).join(", "));r.layer=o;const s=null!=r.signal?{signal:r.signal}:null;await o.load(s);const m=await l({field:r.field}),p=i(o,m,"heatmap-renderer:invalid-parameters");if(p)throw p;return r}async function b(e){let r=e.scheme,a=null,t=null;const o=await m(e.basemap,e.view);if(a=null!=o.basemapId?o.basemapId:null,t=null!=o.basemapTheme?o.basemapTheme:null,r)return{scheme:f(r),basemapId:a,basemapTheme:t};const s=h({basemapTheme:t});return s&&(r=s.primaryScheme,a=s.basemapId,t=s.basemapTheme),{scheme:r,basemapId:a,basemapTheme:t}}async function j(t,n){const{field:i,basemap:m,radius:p,fadeToTransparent:l,heatmapScheme:d,view:u}=n,{scheme:c,basemapId:h,basemapTheme:y}=await b({basemap:m,scheme:d,view:u}),j=c.colors,R=j.length,I=null==t.min,S=I?[0,.04]:[t.min,t.max];let T;const v=n.fadeRatio??0,L=n.maxRatio??0,x=n.minRatio??0,C=(L-x)/(R-1),U=j[0],D=l?x:w,E=[new s({ratio:0,color:new e([U.r,U.g,U.b,0])}),new s({ratio:w,color:new e([U.r,U.g,U.b,0])}),new s({ratio:D,color:new e([U.r,U.g,U.b,D])})];a(j,R).forEach(((e,r)=>{const a=x+C*r;E.push(new s({ratio:a,color:e}))})),l&&(g(E,v),T=new o({fadeRatio:v}));return{renderer:new r({authoringInfo:T,radius:p,colorStops:E,field:i,minDensity:S[0],maxDensity:S[1]}),statistics:t,defaultValuesUsed:I,scheme:f(c),basemapId:h,basemapTheme:y}}function g(e,r){const a=10*(1-r)+1,t=e.length-3,o=e[2].color.a;e.forEach(((e,s)=>{if(s<=2)return;const{color:n}=e,i=(s-3)/t;n.a=0===r?1:Math.min(Math.max(i*a+i+o,o),1)}))}async function R(e){const r=await y(e);return j(r.statistics??await p({layer:r.layer,field:r.field,radius:r.radius,view:r.view,filter:r.filter,signal:r.signal}),r)}function I(e){const{fadeRatio:r,renderer:a}=e,t=a.clone(),s=r??(t?.authoringInfo?.fadeRatio||0);return g(t.colorStops,s),t.authoringInfo?t.authoringInfo.fadeRatio=s:t.authoringInfo=new o({fadeRatio:s}),t}export{R as createRenderer,I as updateRenderer};
5
+ import e from"../../Color.js";import{createUniqueColors as a}from"../../core/colorUtils.js";import r from"../../core/Error.js";import t from"../../renderers/HeatmapRenderer.js";import o from"../../renderers/support/AuthoringInfo.js";import s from"../../renderers/support/HeatmapColorStop.js";import{gaussianBlurRadiusPxToKernelDensityRadiusPt as i}from"../../renderers/support/heatmapUtils.js";import{verifyBasicFieldValidity as n,getBasemapInfo as m}from"./support/utils.js";import l from"../statistics/heatmapStatistics.js";import{getFieldsList as p}from"../support/utils.js";import{LayerType as u,createLayerAdapter as c,getLayerTypeLabels as f}from"../support/adapters/support/layerUtils.js";import{cloneScheme as d,getSchemes as h}from"../symbology/heatmap.js";const w=.01;async function y(e){if(!e?.layer||!e.view)throw new r("heatmap-renderer:missing-parameters","'layer' and 'view' parameters are required");const a={...e,layer:e.layer,view:e.view};a.radius??=null==a.blurRadius?18:i(a.blurRadius),a.minRatio??=.01,a.maxRatio??=1,a.fadeRatio??=.2,a.fadeToTransparent??=!0;const t=[u.CSVLayer,u.FeatureLayer,u.GeoJSONLayer,u.KnowledgeGraphSublayer,u.OGCFeatureLayer,u.OrientedImageryLayer,u.StreamLayer,u.WFSLayer],o=c(a.layer,t);if(!o)throw new r("heatmap-renderer:invalid-parameters","'layer' must be one of these types: "+f(t).join(", "));a.layer=o;const s=null!=a.signal?{signal:a.signal}:null;await o.load(s);const m=await p({field:a.field}),l=n(o,m,"heatmap-renderer:invalid-parameters");if(l)throw l;return a}async function b(e){let a=e.scheme,r=null,t=null;const o=await m(e.basemap,e.view);if(r=null!=o.basemapId?o.basemapId:null,t=null!=o.basemapTheme?o.basemapTheme:null,a)return{scheme:d(a),basemapId:r,basemapTheme:t};const s=h({basemapTheme:t});return s&&(a=s.primaryScheme,r=s.basemapId,t=s.basemapTheme),{scheme:a,basemapId:r,basemapTheme:t}}async function g(r,i){const{field:n,basemap:m,radius:l,fadeToTransparent:p,heatmapScheme:u,view:c}=i,{scheme:f,basemapId:h,basemapTheme:y}=await b({basemap:m,scheme:u,view:c}),g=f.colors,R=g.length,j=null==r.min,T=j?[0,.04]:[r.min,r.max];let v;const S=i.fadeRatio??0,L=i.maxRatio??0,x=i.minRatio??0,C=(L-x)/(R-1),U=g[0],E=p?x:w,F=[new s({ratio:0,color:new e([U.r,U.g,U.b,0])}),new s({ratio:w,color:new e([U.r,U.g,U.b,0])}),new s({ratio:E,color:new e([U.r,U.g,U.b,E])})];a(g,R).forEach(((e,a)=>{const r=x+C*a;F.push(new s({ratio:r,color:e}))})),p&&(I(F,S),v=new o({fadeRatio:S}));return{renderer:new t({authoringInfo:v,radius:l,colorStops:F,field:n,minDensity:T[0],maxDensity:T[1]}),statistics:r,defaultValuesUsed:j,scheme:d(f),basemapId:h,basemapTheme:y}}function I(e,a){const r=10*(1-a)+1,t=e.length-3,o=e[2].color.a;e.forEach(((e,s)=>{if(s<=2)return;const{color:i}=e,n=(s-3)/t;i.a=0===a?1:Math.min(Math.max(n*r+n+o,o),1)}))}async function R(e){const a=await y(e);return g(a.statistics??await l({layer:a.layer,field:a.field,radius:a.radius,view:a.view,filter:a.filter,signal:a.signal}),a)}function j(e){const{fadeRatio:a,renderer:r}=e,t=r.clone(),s=a??(t?.authoringInfo?.fadeRatio||0);return I(t.colorStops,s),t.authoringInfo?t.authoringInfo.fadeRatio=s:t.authoringInfo=new o({fadeRatio:s}),t}export{R as createRenderer,j as updateRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/PieChartRenderer.js";import"../../renderers/Renderer.js";import e from"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import"../../core/Logger.js";import r from"../../core/Error.js";import i from"../heuristics/outline.js";import o from"../heuristics/sizeRange.js";import{errorCallback as n,createSymbol as a,getSymbolSizeFromScheme as s,getSymbolOutlineFromScheme as l,getBasemapInfo as t}from"./support/utils.js";import{verifyBinningParams as m}from"../support/binningUtils.js";import{binningCapableLayerTypes as p,featureCapableLayerTypes as d,createLayerAdapter as c,getLayerTypeLabels as u}from"../support/adapters/support/layerUtils.js";import{cloneScheme as y,getSchemes as b}from"../symbology/location.js";async function f(e){if(!e?.layer)throw new r("location-renderer:missing-parameters","'layer' parameter is required");e.forBinning&&m(e,"location-renderer");const i={...e,layer:e.layer};i.symbolType=i.symbolType||"2d";const o=e.forBinning?p:d,n=c(i.layer,o,e.forBinning);if(!n)throw new r("location-renderer:invalid-parameters","'layer' must be one of these types: "+u(o).join(", "));i.layer=n;const a=null!=i.signal?{signal:i.signal}:null;await n.load(a);const s=n.geometryType;if(i.outlineOptimizationEnabled="polygon"===s&&i.outlineOptimizationEnabled,i.sizeOptimizationEnabled=("point"===s||"multipoint"===s||"polyline"===s)&&i.sizeOptimizationEnabled,"mesh"===s)i.symbolType="3d-volumetric",i.colorMixMode=i.colorMixMode||"replace",i.edgesType=i.edgesType||"none";else{if("3d-volumetric-uniform"===i.symbolType&&"point"!==s)throw new r("location-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(i.symbolType.includes("3d-volumetric")&&(!i.view||"3d"!==i.view.type))throw new r("location-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}return i}async function h(e,r){let i=e.locationScheme,o=null,n=null;const a=await t(e.basemap,e.view);if(o=null!=a.basemapId?a.basemapId:null,n=null!=a.basemapTheme?a.basemapTheme:null,i)return{scheme:y(i),basemapId:o,basemapTheme:n};const s=b({basemapTheme:n,geometryType:r,worldScale:!!e.symbolType?.includes("3d-volumetric"),view:e.view});return s&&(i=s.primaryScheme,o=s.basemapId,n=s.basemapTheme),{scheme:i,basemapId:o,basemapTheme:n}}async function w(t){const m=await f(t),p=m.layer.geometryType,d=await h(m,p),c=d.scheme;if(!c)throw new r("location-renderer:insufficient-info","Unable to find location scheme");const{view:u,layer:b,signal:w,filter:g}=m,[v,T]=await Promise.all([m.outlineOptimizationEnabled?i({view:u,layer:b,signal:w,filter:g}).catch(n):null,m.sizeOptimizationEnabled?o({view:u,layer:b,signal:w,filter:g}).catch(n):null]),j=v?.opacity,z=new e({symbol:a(p,{type:m.symbolType,color:c.color,size:s(c,p),outline:l(c,p,j),meshInfo:{colorMixMode:m.colorMixMode,edgesType:m.edgesType}})});return v?.visualVariables.length&&(z.visualVariables=v.visualVariables.map((e=>e.clone()))),T?.minSize&&(z.visualVariables?z.visualVariables.push(T.minSize):z.visualVariables=[T.minSize]),{renderer:z,locationScheme:y(c),basemapId:d.basemapId,basemapTheme:d.basemapTheme}}export{w as createRenderer};
5
+ import e from"../../core/Error.js";import i from"../../renderers/SimpleRenderer.js";import o from"../heuristics/outline.js";import r from"../heuristics/sizeRange.js";import{errorCallback as a,createSymbol as n,getSymbolSizeFromScheme as l,getSymbolOutlineFromScheme as s,getBasemapInfo as t}from"./support/utils.js";import{verifyBinningParams as m}from"../support/binningUtils.js";import{binningCapableLayerTypes as p,featureCapableLayerTypes as c,createLayerAdapter as u,getLayerTypeLabels as y}from"../support/adapters/support/layerUtils.js";import{cloneScheme as d,getSchemes as b}from"../symbology/location.js";async function f(i){if(!i?.layer)throw new e("location-renderer:missing-parameters","'layer' parameter is required");i.forBinning&&m(i,"location-renderer");const o={...i,layer:i.layer};o.symbolType=o.symbolType||"2d";const r=i.forBinning?p:c,a=u(o.layer,r,i.forBinning);if(!a)throw new e("location-renderer:invalid-parameters","'layer' must be one of these types: "+y(r).join(", "));o.layer=a;const n=null!=o.signal?{signal:o.signal}:null;await a.load(n);const l=a.geometryType;if(o.outlineOptimizationEnabled="polygon"===l&&o.outlineOptimizationEnabled,o.sizeOptimizationEnabled=("point"===l||"multipoint"===l||"polyline"===l)&&o.sizeOptimizationEnabled,"mesh"===l)o.symbolType="3d-volumetric",o.colorMixMode=o.colorMixMode||"replace",o.edgesType=o.edgesType||"none";else{if("3d-volumetric-uniform"===o.symbolType&&"point"!==l)throw new e("location-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o.symbolType.includes("3d-volumetric")&&(!o.view||"3d"!==o.view.type))throw new e("location-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}return o}async function h(e,i){let o=e.locationScheme,r=null,a=null;const n=await t(e.basemap,e.view);if(r=null!=n.basemapId?n.basemapId:null,a=null!=n.basemapTheme?n.basemapTheme:null,o)return{scheme:d(o),basemapId:r,basemapTheme:a};const l=b({basemapTheme:a,geometryType:i,worldScale:!!e.symbolType?.includes("3d-volumetric"),view:e.view});return l&&(o=l.primaryScheme,r=l.basemapId,a=l.basemapTheme),{scheme:o,basemapId:r,basemapTheme:a}}async function w(t){const m=await f(t),p=m.layer.geometryType,c=await h(m,p),u=c.scheme;if(!u)throw new e("location-renderer:insufficient-info","Unable to find location scheme");const{view:y,layer:b,signal:w,filter:v}=m,[T,g]=await Promise.all([m.outlineOptimizationEnabled?o({view:y,layer:b,signal:w,filter:v}).catch(a):null,m.sizeOptimizationEnabled?r({view:y,layer:b,signal:w,filter:v}).catch(a):null]),z=T?.opacity,j=new i({symbol:n(p,{type:m.symbolType,color:u.color,size:l(u,p),outline:s(u,p,z),meshInfo:{colorMixMode:m.colorMixMode,edgesType:m.edgesType}})});return T?.visualVariables.length&&(j.visualVariables=T.visualVariables.map((e=>e.clone()))),g?.minSize&&(j.visualVariables?j.visualVariables.push(g.minSize):j.visualVariables=[g.minSize]),{renderer:j,locationScheme:d(u),basemapId:c.basemapId,basemapTheme:c.basemapTheme}}export{w as createRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../Color.js";import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import r from"../../renderers/PieChartRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import"../../core/Logger.js";import"../../symbols.js";import{isSome as a}from"../../core/arrayUtils.js";import{createUniqueColors as i}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{toPt as n}from"../../core/screenUtils.js";import{fetchMessageBundle as s}from"../../intl/messages.js";import o from"../../layers/support/AggregateField.js";import l from"../../layers/support/ExpressionInfo.js";import u from"../../renderers/support/AttributeColorInfo.js";import{OthersCategory as p}from"../../renderers/support/OthersCategory.js";import m from"../../renderers/support/RendererLegendOptions.js";import c from"../heuristics/outline.js";import d from"../heuristics/sizeRange.js";import{createVisualVariables as f}from"./size.js";import{spliceVisualVariables as b,findSizeVVIndex as h,updateAuthoringInfoVisualVariable as y,findOutlineVVIndex as w,findScaleDependentSizeVVIndex as g,processRegenerateParams as v,getRendererToUpdate as z,getStyleType as S,hasOutlineVV as E,hasScaleDependentSizeVV as j,isSizeVV as V}from"./support/regenerateUtils.js";import{errorCallback as x,createSymbol as C,getSymbolOutlineFromScheme as T,verifyBasicFieldValidity as $,getBasemapInfo as I}from"./support/utils.js";import O from"../statistics/predominantCategories.js";import{getSumOfAttributesExpr as k}from"../statistics/support/utils.js";import{verifyBinningParams as q}from"../support/binningUtils.js";import{getFieldsList as L}from"../support/utils.js";import{LayerType as B,binningCapableLayerTypes as P,createLayerAdapter as R,getLayerTypeLabels as U,getLayerTypes as F}from"../support/adapters/support/layerUtils.js";import{cloneScheme as M,getSchemes as N}from"../symbology/pieChart.js";import{getCIMSymbolColor as _}from"../../symbols/support/cimSymbolUtils.js";import A from"../../symbols/SimpleLineSymbol.js";const D=[B.CSVLayer,B.FeatureLayer,B.GeoJSONLayer,B.KnowledgeGraphSublayer,B.OGCFeatureLayer,B.OrientedImageryLayer,B.ParquetLayer,B.StreamLayer,B.WFSLayer];async function G(e){if(!(e?.layer&&e.view&&e.attributes?.length))throw new t("pie-chart-renderer:missing-parameters","'layer', 'view' and 'attributes' parameters are required");if(e.attributes.length>10)throw new t("pie-chart-renderer:invalid-parameters","PieChart renderer does not support more than 10 attributes");e.forBinning&&q(e,"pie-chart-renderer");const r={...e,layer:e.layer,view:e.view,attributes:e.attributes};r.shape=r.shape||"pie",r.othersCategoryEnabled??=!0,r.includeSizeVariable=e.includeSizeVariable||!1;const a=e.forBinning?P:D,i=R(r.layer,a,e.forBinning);if(!i)throw new t("pie-chart-renderer:invalid-parameters","'layer' must be one of these types: "+U(a).join(", "));const n=null!=r.signal?{signal:r.signal}:null;await Promise.all([e.view.when(),i.load(n)]);const s=i.geometryType,o="polygon"===s,l="point"===s||"multipoint"===s||o;if(r.outlineOptimizationEnabled=!!o&&r.outlineOptimizationEnabled,r.sizeOptimizationEnabled=!!l&&r.sizeOptimizationEnabled,!l)throw new t("pie-chart-renderer:not-supported","PieChart renderer is only supported for point and polygon layers");const u=[],p=r.attributes;for(const t of p){const e=await L({field:t.field,valueExpression:t.valueExpression});u.push(...e)}const m=$(i,u.filter(Boolean),"pie-chart-renderer:invalid-parameters");if(m)throw m;return{...r,layer:i}}async function W(e){const r="regenerate-pie-chart-renderer";await v(e,r);const a=await z(e);if("pie-chart"!==S(a))throw new t(`${r}:invalid-parameters`,"Renderer is invalid");const{visualVariables:i}=a,{layer:n,forBinning:s,filter:o,view:l,signal:u}=e,p=E(a),m=j(a),c=i?.some(V),d=a.attributes.map((e=>({field:e.field,label:e.label,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle}))),f=await G({layer:n,attributes:d,outlineOptimizationEnabled:p,sizeOptimizationEnabled:m,includeSizeVariable:c,forBinning:s,filter:o,view:l,signal:u});return{...e,creatorParameters:f,renderer:a}}async function H(e){let r=e.pieChartScheme,a=null,i=null;const t=await I(e.basemap,e.view);if(a=null!=t.basemapId?t.basemapId:null,i=null!=t.basemapTheme?t.basemapTheme:null,r)return{scheme:M(r),basemapId:a,basemapTheme:i};const n=N({numColors:e.attributes.length,geometryType:e.layer.geometryType,basemapTheme:i});return n&&(r=n.primaryScheme,a=n.basemapId,i=n.basemapTheme),{scheme:r,basemapId:a,basemapTheme:i}}async function J(e,r){const{valueExpression:a,sqlExpression:i,sqlWhere:t}=k(e.attributes),n=await s("esri/smartMapping/t9n/smartMapping");return f({layer:e.layer,basemap:e.basemap,valueExpression:a,sqlExpression:i,sqlWhere:t,sizeScheme:r,sizeOptimizationEnabled:e.sizeOptimizationEnabled,legendOptions:{title:n.sumOfCategories},view:e.view,signal:e.signal})}async function K(e){const[o,l]=await Promise.all([G(e),s("esri/smartMapping/t9n/smartMapping")]),f=await H(o),b=f?.scheme;if(!b)throw new t("pie-chart-renderer:insufficient-info","Unable to find pie-chart scheme");const{layer:h,includeSizeVariable:y,sizeOptimizationEnabled:w,outlineOptimizationEnabled:g,view:v,signal:z,filter:S}=o,E=b.sizeScheme,j=o.attributes,V=j.map((e=>e.field)).filter(a),[$,I,k,q]=await Promise.all([V.length>1?O({layer:h,fields:V,view:v,signal:z,filter:S}):null,y?J(o,E):null,!y&&w?d({layer:h,view:v,signal:z,filter:S}).catch(x):null,g?c({layer:h,view:v,signal:z,filter:S}).catch(x):null]),L=$?.predominantCategoryInfos?{uniqueValueInfos:$.predominantCategoryInfos}:{uniqueValueInfos:V.map((e=>({value:e,count:0})))},B=i(b.colors,j.length),P=j.map(((e,r)=>new u({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:B[r]}))),R=h.geometryType,U=null!=E&&"background"in E&&E.background,F=new r({attributes:P,othersCategory:new p({label:l.other,color:o.othersCategoryEnabled?b.colorForOthersCategory:null,threshold:.04}),holePercentage:"donut"===o.shape?.45:0,backgroundFillSymbol:U?C(R,{type:"2d",color:U.color,outline:T(U,R,q?.opacity)}):null,size:n(b.size),outline:new A(T(b,"point",q?.opacity)),legendOptions:m.from(o.legendOptions)});if(I&&(Q(I,w,R),F.authoringInfo=I.authoringInfo.clone(),F.visualVariables=I.visualVariables?.map((e=>e.clone()))),q?.visualVariables?.length){const e=q.visualVariables.map((e=>e.clone())).filter((e=>"color"!==e.type&&"rotation"!==e.type));F.visualVariables?F.visualVariables.push(...e):F.visualVariables=e}return k?.minSize&&(X(k,R),F.visualVariables?F.visualVariables.push(k.minSize):F.visualVariables=[k.minSize]),{renderer:F,pieChartScheme:M(b),size:I,basemapId:f.basemapId,basemapTheme:f.basemapTheme,statistics:L}}async function Z(e){const{creatorParameters:r,view:a,signal:i,filter:t,renderer:n}=await W(e),{layer:s,outlineOptimizationEnabled:o,includeSizeVariable:l,sizeOptimizationEnabled:u}=r,p=await H(r),m=p?.scheme?.sizeScheme,[f,v,z]=await Promise.all([o?c({layer:s,view:a,signal:i,filter:t}).catch(x):null,l?J(r,m):null,!l&&u?d({layer:s,view:a,signal:i,filter:t}).catch(x):null]),S=s.geometryType;if(v&&(Q(v,u,S),b(n,v?.visualVariables,h),y(n,v?.authoringInfo,"size")),f?.visualVariables?.length){const e=f.visualVariables.map((e=>e.clone())).filter((e=>"color"!==e.type&&"rotation"!==e.type));b(n,e,w)}return z?.minSize&&(X(z,S),b(n,z?.minSize,g)),{renderer:n}}function Q(e,r,a){r||e.visualVariables.forEach((e=>{"number"==typeof e.minSize&&"number"==typeof e.maxSize&&(e.minSize*=2.5,e.maxSize*=1.8)})),r&&"point"===a&&e.visualVariables.forEach((e=>{e?.minSize&&"object"==typeof e.minSize&&e.minSize?.stops?.forEach((e=>{e.size*=1.8}))}))}function X(e,r){"point"===r&&e.minSize.stops?.forEach((e=>{e.size*=2.5})),"polygon"===r&&e.minSize.stops?.forEach((e=>{e.size*=1.8}))}const Y=new Set(["unique-value","class-breaks"]),ee=new e("#aaaaaa"),re=new e("#5c5c5c"),ae=[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 t("pie-chart-cluster-renderer:missing-parameters","'layer' parameter is required");const r={...e};r.shape=r.shape||"pie",r.defaultSymbolEnabled??=!0;const a=e.layer;if(!F(D).includes(a.type))throw new t("pie-chart-cluster-renderer:invalid-parameters","'layer' must be one of these types: "+U(D).join(", "));const i=null!=r.signal?{signal:r.signal}:null;await a.load(i);if(!("point"===a.geometryType))throw new t("pie-chart-cluster-renderer:invalid-parameters","Cluster renderers are only supported for point layers");const n="renderer"in a?a.renderer:void 0;if(!n)throw new t("pie-chart-cluster-renderer:invalid-parameters","input layer does not have a renderer.");if(!Y.has(n.type))throw new t("pie-chart-cluster-renderer:invalid-parameters",`Cannot create a pie chart renderer for clusters based on a ${n.type} renderer.`);if("valueExpression"in n&&n.valueExpression)throw new t("pie-chart-cluster-renderer:invalid-parameters","Cannot create a pie chart renderer for clusters from a layer whose renderer contains a valueExpression.");if("unique-value"===n.type){if(n.field2)throw new t("pie-chart-cluster-renderer:invalid-parameters","Cannot create a pie chart renderer for clusters from a UniqueValueRenderer using more than one field.");if(null!=n.uniqueValueInfos&&n.uniqueValueInfos.length>10)throw new t("pie-chart-cluster-renderer:invalid-parameters","PieChart cluster renderer cannot be created from a UniqueValueRenderer with more than 10 unique value infos.")}if("class-breaks"===n.type){if(n.classBreakInfos.length<2)throw new t("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(n.classBreakInfos.length>10)throw new t("pie-chart-cluster-renderer:invalid-parameters","PieChart cluster renderer can not be created from a ClassBreaksRenderer with more than 10 class break infos.");if("class-breaks-size"===n?.authoringInfo?.type)throw new t("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 r}async function te(e){const a=await ie(e),{layer:i,shape:t,defaultSymbolEnabled:n,legendOptions:o}=a,l="renderer"in i?i.renderer:void 0,p=(await s("esri/smartMapping/t9n/smartMapping")).other;let c=[];"unique-value"===l?.type&&(c=ne({renderer:l,defaultSymbolEnabled:n,defaultLabelBackup:p})),"class-breaks"===l?.type&&(c=se({renderer:l,defaultSymbolEnabled:n,defaultLabelBackup:p}));const d=[],f=[];for(const r of c){const{field:e,color:a}=r;d.push(e),f.push(new u({color:a,field:e.name,label:e.alias}))}return{fields:d,renderer:new r({attributes:f,legendOptions:m.from(o),holePercentage:"donut"===t?.45:0,outline:null,size:9,othersCategory:null})}}function ne(e){const{renderer:r,defaultSymbolEnabled:a,defaultLabelBackup:t}=e,{field:n,defaultSymbol:s,defaultLabel:u}=r,p=r.uniqueValueInfos??[],m=s&&a,c=m?9:10,d=i(ae,c),f=(n?p.slice(0,c).map(((e,r)=>{const a=e.label,i=d[r];return{field:new o({name:oe(e.value?.toString()),alias:a,onStatisticExpression:new l({title:`Field definition - ${a}`,expression:ue(n,e),returnType:"number"}),statisticType:"sum"}),color:le(e.symbol,i)}})):null)??[];if(m){const e="cluster_default",r=u||t;f.push({field:new o({name:oe(e),alias:r,onStatisticExpression:new l({title:`Field definition - ${r}`,expression:pe(n,p),returnType:"number"}),statisticType:"sum"}),color:le(s,re)})}return f}function se(e){const{renderer:r,defaultSymbolEnabled:a,defaultLabelBackup:t}=e,{field:n,classBreakInfos:s,defaultSymbol:u,defaultLabel:p}=r,m=u&&a,c=m?9:10,d=i(ae,c),f=s.slice(0,c).map(((e,r)=>{const a=e.label||`${e.minValue} - ${e.maxValue}`,i=d[r];return{field:new o({name:oe(a),alias:a,onStatisticExpression:new l({title:`Field definition - ${a}`,expression:me(n,e),returnType:"number"}),statisticType:"sum"}),color:le(e.symbol,i)}}));if(m){const e="cluster_default",r=p||t;f.push({field:new o({name:oe(e),alias:r,onStatisticExpression:new l({title:`Field definition - ${r}`,expression:ce(n,s),returnType:"number"}),statisticType:"sum"}),color:le(u,re)})}return f}function oe(e){return"SUM_"+(e+"").replaceAll(/[^a-zA-Z0-9_]/g,"_")}function le(e,r){if("simple-marker"===e?.type&&e.color)return e.color.clone();if("cim"===e?.type){const r=_(e);if(r)return r.clone()}return r?r.clone():ee.clone()}function ue(e,r){return`Number(Text($feature["${e}"]) == "${r.value+""}")`}function pe(e,r){return`Number(!(${r.map((r=>`(Text($feature["${e}"]) == "${r.value+""}")`)).join(" || ")}))`}function me(e,r){return`Number($feature["${e}"] >= ${r.minValue} && $feature["${e}"] < ${r.maxValue})`}function ce(e,r){return`Number(!(${r.map((r=>`($feature["${e}"] >= ${r.minValue} && $feature["${e}"] < ${r.maxValue})`)).join(" || ")}))`}export{K as createRenderer,te as createRendererForClustering,Z as regenerateRenderer};
5
+ import e from"../../Color.js";import{isSome as r}from"../../core/arrayUtils.js";import{createUniqueColors as a}from"../../core/colorUtils.js";import i from"../../core/Error.js";import{toPt as t}from"../../core/screenUtils.js";import{fetchMessageBundle as n}from"../../intl/messages.js";import s from"../../layers/support/AggregateField.js";import l from"../../layers/support/ExpressionInfo.js";import o from"../../renderers/PieChartRenderer.js";import u from"../../renderers/support/AttributeColorInfo.js";import{OthersCategory as p}from"../../renderers/support/OthersCategory.js";import m from"../../renderers/support/RendererLegendOptions.js";import c from"../heuristics/outline.js";import f from"../heuristics/sizeRange.js";import{createVisualVariables as d}from"./size.js";import{spliceVisualVariables as b,findSizeVVIndex as h,updateAuthoringInfoVisualVariable as y,findOutlineVVIndex as w,findScaleDependentSizeVVIndex as g,processRegenerateParams as v,getRendererToUpdate as z,getStyleType as S,hasOutlineVV as E,hasScaleDependentSizeVV as V,isSizeVV as x}from"./support/regenerateUtils.js";import{errorCallback as C,createSymbol as j,getSymbolOutlineFromScheme as T,verifyBasicFieldValidity as $,getBasemapInfo as I}from"./support/utils.js";import O from"../statistics/predominantCategories.js";import{getSumOfAttributesExpr as k}from"../statistics/support/utils.js";import{verifyBinningParams as q}from"../support/binningUtils.js";import{getFieldsList as L}from"../support/utils.js";import{LayerType as B,binningCapableLayerTypes as P,createLayerAdapter as U,getLayerTypeLabels as F,getLayerTypes as R}from"../support/adapters/support/layerUtils.js";import{cloneScheme as M,getSchemes as N}from"../symbology/pieChart.js";import _ from"../../symbols/SimpleLineSymbol.js";import{getCIMSymbolColor as A}from"../../symbols/support/cimSymbolUtils.js";const G=[B.CSVLayer,B.FeatureLayer,B.GeoJSONLayer,B.KnowledgeGraphSublayer,B.OGCFeatureLayer,B.OrientedImageryLayer,B.ParquetLayer,B.StreamLayer,B.WFSLayer];async function W(e){if(!(e?.layer&&e.view&&e.attributes?.length))throw new i("pie-chart-renderer:missing-parameters","'layer', 'view' and 'attributes' parameters are required");if(e.attributes.length>10)throw new i("pie-chart-renderer:invalid-parameters","PieChart renderer does not support more than 10 attributes");e.forBinning&&q(e,"pie-chart-renderer");const r={...e,layer:e.layer,view:e.view,attributes:e.attributes};r.shape=r.shape||"pie",r.othersCategoryEnabled??=!0,r.includeSizeVariable=e.includeSizeVariable||!1;const a=e.forBinning?P:G,t=U(r.layer,a,e.forBinning);if(!t)throw new i("pie-chart-renderer:invalid-parameters","'layer' must be one of these types: "+F(a).join(", "));const n=null!=r.signal?{signal:r.signal}:null;await Promise.all([e.view.when(),t.load(n)]);const s=t.geometryType,l="polygon"===s,o="point"===s||"multipoint"===s||l;if(r.outlineOptimizationEnabled=!!l&&r.outlineOptimizationEnabled,r.sizeOptimizationEnabled=!!o&&r.sizeOptimizationEnabled,!o)throw new i("pie-chart-renderer:not-supported","PieChart renderer is only supported for point and polygon layers");const u=[],p=r.attributes;for(const i of p){const e=await L({field:i.field,valueExpression:i.valueExpression});u.push(...e)}const m=$(t,u.filter(Boolean),"pie-chart-renderer:invalid-parameters");if(m)throw m;return{...r,layer:t}}async function J(e){const r="regenerate-pie-chart-renderer";await v(e,r);const a=await z(e);if("pie-chart"!==S(a))throw new i(`${r}:invalid-parameters`,"Renderer is invalid");const{visualVariables:t}=a,{layer:n,forBinning:s,filter:l,view:o,signal:u}=e,p=E(a),m=V(a),c=t?.some(x),f=a.attributes.map((e=>({field:e.field,label:e.label,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle}))),d=await W({layer:n,attributes:f,outlineOptimizationEnabled:p,sizeOptimizationEnabled:m,includeSizeVariable:c,forBinning:s,filter:l,view:o,signal:u});return{...e,creatorParameters:d,renderer:a}}async function K(e){let r=e.pieChartScheme,a=null,i=null;const t=await I(e.basemap,e.view);if(a=null!=t.basemapId?t.basemapId:null,i=null!=t.basemapTheme?t.basemapTheme:null,r)return{scheme:M(r),basemapId:a,basemapTheme:i};const n=N({numColors:e.attributes.length,geometryType:e.layer.geometryType,basemapTheme:i});return n&&(r=n.primaryScheme,a=n.basemapId,i=n.basemapTheme),{scheme:r,basemapId:a,basemapTheme:i}}async function Z(e,r){const{valueExpression:a,sqlExpression:i,sqlWhere:t}=k(e.attributes),s=await n("esri/smartMapping/t9n/smartMapping");return d({layer:e.layer,basemap:e.basemap,valueExpression:a,sqlExpression:i,sqlWhere:t,sizeScheme:r,sizeOptimizationEnabled:e.sizeOptimizationEnabled,legendOptions:{title:s.sumOfCategories},view:e.view,signal:e.signal})}async function D(e){const[s,l]=await Promise.all([W(e),n("esri/smartMapping/t9n/smartMapping")]),d=await K(s),b=d?.scheme;if(!b)throw new i("pie-chart-renderer:insufficient-info","Unable to find pie-chart scheme");const{layer:h,includeSizeVariable:y,sizeOptimizationEnabled:w,outlineOptimizationEnabled:g,view:v,signal:z,filter:S}=s,E=b.sizeScheme,V=s.attributes,x=V.map((e=>e.field)).filter(r),[$,I,k,q]=await Promise.all([x.length>1?O({layer:h,fields:x,view:v,signal:z,filter:S}):null,y?Z(s,E):null,!y&&w?f({layer:h,view:v,signal:z,filter:S}).catch(C):null,g?c({layer:h,view:v,signal:z,filter:S}).catch(C):null]),L=$?.predominantCategoryInfos?{uniqueValueInfos:$.predominantCategoryInfos}:{uniqueValueInfos:x.map((e=>({value:e,count:0})))},B=a(b.colors,V.length),P=V.map(((e,r)=>new u({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:B[r]}))),U=h.geometryType,F=null!=E&&"background"in E&&E.background,R=new o({attributes:P,othersCategory:new p({label:l.other,color:s.othersCategoryEnabled?b.colorForOthersCategory:null,threshold:.04}),holePercentage:"donut"===s.shape?.45:0,backgroundFillSymbol:F?j(U,{type:"2d",color:F.color,outline:T(F,U,q?.opacity)}):null,size:t(b.size),outline:new _(T(b,"point",q?.opacity)),legendOptions:m.from(s.legendOptions)});if(I&&(Q(I,w,U),R.authoringInfo=I.authoringInfo.clone(),R.visualVariables=I.visualVariables?.map((e=>e.clone()))),q?.visualVariables?.length){const e=q.visualVariables.map((e=>e.clone())).filter((e=>"color"!==e.type&&"rotation"!==e.type));R.visualVariables?R.visualVariables.push(...e):R.visualVariables=e}return k?.minSize&&(X(k,U),R.visualVariables?R.visualVariables.push(k.minSize):R.visualVariables=[k.minSize]),{renderer:R,pieChartScheme:M(b),size:I,basemapId:d.basemapId,basemapTheme:d.basemapTheme,statistics:L}}async function H(e){const{creatorParameters:r,view:a,signal:i,filter:t,renderer:n}=await J(e),{layer:s,outlineOptimizationEnabled:l,includeSizeVariable:o,sizeOptimizationEnabled:u}=r,p=await K(r),m=p?.scheme?.sizeScheme,[d,v,z]=await Promise.all([l?c({layer:s,view:a,signal:i,filter:t}).catch(C):null,o?Z(r,m):null,!o&&u?f({layer:s,view:a,signal:i,filter:t}).catch(C):null]),S=s.geometryType;if(v&&(Q(v,u,S),b(n,v?.visualVariables,h),y(n,v?.authoringInfo,"size")),d?.visualVariables?.length){const e=d.visualVariables.map((e=>e.clone())).filter((e=>"color"!==e.type&&"rotation"!==e.type));b(n,e,w)}return z?.minSize&&(X(z,S),b(n,z?.minSize,g)),{renderer:n}}function Q(e,r,a){r||e.visualVariables.forEach((e=>{"number"==typeof e.minSize&&"number"==typeof e.maxSize&&(e.minSize*=2.5,e.maxSize*=1.8)})),r&&"point"===a&&e.visualVariables.forEach((e=>{e?.minSize&&"object"==typeof e.minSize&&e.minSize?.stops?.forEach((e=>{e.size*=1.8}))}))}function X(e,r){"point"===r&&e.minSize.stops?.forEach((e=>{e.size*=2.5})),"polygon"===r&&e.minSize.stops?.forEach((e=>{e.size*=1.8}))}const Y=new Set(["unique-value","class-breaks"]),ee=new e("#aaaaaa"),re=new e("#5c5c5c"),ae=[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 i("pie-chart-cluster-renderer:missing-parameters","'layer' parameter is required");const r={...e};r.shape=r.shape||"pie",r.defaultSymbolEnabled??=!0;const a=e.layer;if(!R(G).includes(a.type))throw new i("pie-chart-cluster-renderer:invalid-parameters","'layer' must be one of these types: "+F(G).join(", "));const t=null!=r.signal?{signal:r.signal}:null;await a.load(t);if(!("point"===a.geometryType))throw new i("pie-chart-cluster-renderer:invalid-parameters","Cluster renderers are only supported for point layers");const n="renderer"in a?a.renderer:void 0;if(!n)throw new i("pie-chart-cluster-renderer:invalid-parameters","input layer does not have a renderer.");if(!Y.has(n.type))throw new i("pie-chart-cluster-renderer:invalid-parameters",`Cannot create a pie chart renderer for clusters based on a ${n.type} renderer.`);if("valueExpression"in n&&n.valueExpression)throw new i("pie-chart-cluster-renderer:invalid-parameters","Cannot create a pie chart renderer for clusters from a layer whose renderer contains a valueExpression.");if("unique-value"===n.type){if(n.field2)throw new i("pie-chart-cluster-renderer:invalid-parameters","Cannot create a pie chart renderer for clusters from a UniqueValueRenderer using more than one field.");if(null!=n.uniqueValueInfos&&n.uniqueValueInfos.length>10)throw new i("pie-chart-cluster-renderer:invalid-parameters","PieChart cluster renderer cannot be created from a UniqueValueRenderer with more than 10 unique value infos.")}if("class-breaks"===n.type){if(n.classBreakInfos.length<2)throw new i("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(n.classBreakInfos.length>10)throw new i("pie-chart-cluster-renderer:invalid-parameters","PieChart cluster renderer can not be created from a ClassBreaksRenderer with more than 10 class break infos.");if("class-breaks-size"===n?.authoringInfo?.type)throw new i("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 r}async function te(e){const r=await ie(e),{layer:a,shape:i,defaultSymbolEnabled:t,legendOptions:s}=r,l="renderer"in a?a.renderer:void 0,p=(await n("esri/smartMapping/t9n/smartMapping")).other;let c=[];"unique-value"===l?.type&&(c=ne({renderer:l,defaultSymbolEnabled:t,defaultLabelBackup:p})),"class-breaks"===l?.type&&(c=se({renderer:l,defaultSymbolEnabled:t,defaultLabelBackup:p}));const f=[],d=[];for(const n of c){const{field:e,color:r}=n;f.push(e),d.push(new u({color:r,field:e.name,label:e.alias}))}return{fields:f,renderer:new o({attributes:d,legendOptions:m.from(s),holePercentage:"donut"===i?.45:0,outline:null,size:9,othersCategory:null})}}function ne(e){const{renderer:r,defaultSymbolEnabled:i,defaultLabelBackup:t}=e,{field:n,defaultSymbol:o,defaultLabel:u}=r,p=r.uniqueValueInfos??[],m=o&&i,c=m?9:10,f=a(ae,c),d=(n?p.slice(0,c).map(((e,r)=>{const a=e.label,i=f[r];return{field:new s({name:le(e.value?.toString()),alias:a,onStatisticExpression:new l({title:`Field definition - ${a}`,expression:ue(n,e),returnType:"number"}),statisticType:"sum"}),color:oe(e.symbol,i)}})):null)??[];if(m){const e="cluster_default",r=u||t;d.push({field:new s({name:le(e),alias:r,onStatisticExpression:new l({title:`Field definition - ${r}`,expression:pe(n,p),returnType:"number"}),statisticType:"sum"}),color:oe(o,re)})}return d}function se(e){const{renderer:r,defaultSymbolEnabled:i,defaultLabelBackup:t}=e,{field:n,classBreakInfos:o,defaultSymbol:u,defaultLabel:p}=r,m=u&&i,c=m?9:10,f=a(ae,c),d=o.slice(0,c).map(((e,r)=>{const a=e.label||`${e.minValue} - ${e.maxValue}`,i=f[r];return{field:new s({name:le(a),alias:a,onStatisticExpression:new l({title:`Field definition - ${a}`,expression:me(n,e),returnType:"number"}),statisticType:"sum"}),color:oe(e.symbol,i)}}));if(m){const e="cluster_default",r=p||t;d.push({field:new s({name:le(e),alias:r,onStatisticExpression:new l({title:`Field definition - ${r}`,expression:ce(n,o),returnType:"number"}),statisticType:"sum"}),color:oe(u,re)})}return d}function le(e){return"SUM_"+(e+"").replaceAll(/[^a-zA-Z0-9_]/g,"_")}function oe(e,r){if("simple-marker"===e?.type&&e.color)return e.color.clone();if("cim"===e?.type){const r=A(e);if(r)return r.clone()}return r?r.clone():ee.clone()}function ue(e,r){return`Number(Text($feature["${e}"]) == "${r.value+""}")`}function pe(e,r){return`Number(!(${r.map((r=>`(Text($feature["${e}"]) == "${r.value+""}")`)).join(" || ")}))`}function me(e,r){return`Number($feature["${e}"] >= ${r.minValue} && $feature["${e}"] < ${r.maxValue})`}function ce(e,r){return`Number(!(${r.map((r=>`($feature["${e}"] >= ${r.minValue} && $feature["${e}"] < ${r.maxValue})`)).join(" || ")}))`}export{D as createRenderer,te as createRendererForClustering,H as regenerateRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/PieChartRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import"../../core/Logger.js";import{createUniqueColors as i}from"../../core/colorUtils.js";import r from"../../core/Error.js";import{toPt as a}from"../../core/screenUtils.js";import{ensureClass as n}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as s}from"../../intl/messages.js";import l from"../../renderers/support/AuthoringInfo.js";import t from"../../renderers/support/AuthoringInfoSizeStop.js";import o from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as m}from"../../renderers/support/utils.js";import u from"../../renderers/visualVariables/SizeVariable.js";import{castSizeFromStringOrNumber as d}from"../../renderers/visualVariables/support/castSizeVariable.js";import p from"../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import{TransformationType as c}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import f from"../heuristics/ageUnit.js";import y from"../heuristics/outline.js";import v from"../heuristics/referenceSize.js";import z from"../heuristics/sizeRange.js";import{getReferenceSizeStops as w,createPrimitiveOverrides as b,updateReferenceSizeSymbol as h,createReferenceSizeSymbol as g}from"./support/referenceSizeUtils.js";import{isSizeVV as S,getAuthoringInfoVisualVariable as x,spliceVisualVariables as E,findSizeVVIndex as T,findOutlineVVIndex as V,updateAuthoringInfoVisualVariable as I,processRegenerateParams as O,getRendererToUpdate as j,getStyleType as k,hasScaleDependentSizeVV as B,hasOutlineVV as F}from"./support/regenerateUtils.js";import{getSummaryStatistics as R,errorCallback as q,getClassBreaks as D,getTitleAndExpressionForAgeRenderer as U,updateAgeRendererAuthoringInfoVV as G,verifyBasicFieldValidity as P,getDataRange as M,getSizeRangeForAxis as C,createSymbol as $,getSymbolOutlineFromScheme as A,getSymbolSizeFromScheme as L,getBasemapInfo as W}from"./support/utils.js";import{verifyDates as H,supportedAgeUnits as J}from"../statistics/support/ageUtils.js";import{verifyBinningParams as K}from"../support/binningUtils.js";import{getFieldsList as N,getNormalizationType as Q,isAnyDateField as X}from"../support/utils.js";import{binningCapableLayerTypes as Y,featureCapableLayerTypes as Z,createLayerAdapter as _,getLayerTypeLabels as ee}from"../support/adapters/support/layerUtils.js";import{cloneScheme as ie,getSchemes as re}from"../symbology/size.js";import{getColorFromSymbol as ae}from"../../symbols/support/utils.js";const ne=2**53-1;async function se(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new r("size-visual-variable:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new r("size-visual-variable:missing-parameters","View is required when 'valueExpression' is specified");if("reference-size"===e.theme&&!e.view&&!e.field)throw new r("size-visual-variable:missing-parameters","'view' and 'field' are required when 'theme' is 'reference-size'");if("reference-size"===e.theme&&e.valueExpression)throw new r("size-visual-variable:missing-parameters","'valueExpression' is not supported when 'theme' is 'reference-size'");e.forBinning&&K(e,"size-visual-variable");const i={...e},a=e.forBinning?Y:Z,n=_(i.layer,a,e.forBinning);if(!n)throw new r("size-visual-variable:invalid-parameters","'layer' must be one of these types: "+ee(a).join(", "));"height"===i.axis&&(i.sizeOptimizationEnabled=!1);const s=null!=i.signal?{signal:i.signal}:null;await n.load(s);const l=n.geometryType;if("mesh"===l)throw new r("size-visual-variable:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(i.worldScale){if("polyline"===l||"polygon"===l)throw new r("size-visual-variable:not-supported","'worldScale' sizing is not supported for polyline and polygon layers");if(!i.view||"3d"!==i.view.type)throw new r("size-visual-variable:invalid-parameters","'view' parameter should be an instance of SceneView when 'worldScale' parameter is true")}if("reference-size"===i.theme&&!e.forBinning&&"polygon"!==l)throw new r("size-visual-variable:invalid-parameters","Reference size is only supported for polygon layers");const t=await N({field:i.field,normalizationField:i.normalizationField,valueExpression:i.valueExpression}),o=P(n,t,"size-visual-variable:invalid-parameters");if(o)throw o;return await te(i),{...i,layer:n}}async function le(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new r("size-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new r("size-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&K(e,"size-continuous-renderer");const i={...e};i.symbolType=i.symbolType||"2d",i.defaultSymbolEnabled??=!0;const a=e.forBinning?Y:Z,n=_(i.layer,a,e.forBinning);if(!n)throw new r("size-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+ee(a).join(", "));const s=null!=i.signal?{signal:i.signal}:null;await n.load(s);const l=n.geometryType,t=i.symbolType.includes("3d");if(i.outlineOptimizationEnabled="reference-size"!==i.theme&&"polygon"===l&&i.outlineOptimizationEnabled,"mesh"===l)throw new r("size-continuous-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(t&&("polyline"===l||"polygon"===l))throw new r("size-continuous-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(i.symbolType.includes("3d-volumetric")&&(!i.view||"3d"!==i.view.type))throw new r("size-continuous-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");if("reference-size"===i.theme&&!e.forBinning&&"polygon"!==l)throw new r("size-continuous-renderer:invalid-parameters","Reference size is only supported for polygon layers");const o=await N({field:i.field,normalizationField:i.normalizationField,valueExpression:i.valueExpression}),m=P(n,o,"size-continuous-renderer:invalid-parameters");if(m)throw m;return await te(i),{...i,layer:n}}async function te(e){const i=e.layer;if(("polygon"===i.geometryType||e.forBinning)&&e.view&&e.field&&!e.valueExpression&&(!e.theme||"reference-size"===e.theme)){try{e.referenceSizeResult=e.referenceSizeResult??await v({layer:i,view:e.view,filter:e.filter,forBinning:e.forBinning,signal:e.signal})}catch{}!e.theme&&e.referenceSizeResult?.isGrid&&(e.theme="reference-size"),e.referenceSizeOptions?.symbolStyle||(e.referenceSizeOptions?e.referenceSizeOptions.symbolStyle="circle":e.referenceSizeOptions={symbolStyle:"circle"})}}async function oe(e){if(!e||!(e.layer&&e.view&&e.sizeStops))throw new r("update-renderer-with-reference-size:missing-parameters","'layer', 'view and 'sizeStops' parameters are required");const{view:i,forBinning:a}=e,n=e.forBinning?Y:Z,s=_(e.layer,n,e.forBinning);if(!s)throw new r("update-renderer-with-reference-size:invalid-parameters","'layer' must be one of these types: "+ee(n).join(", "));const l=s.layer;let t=e.renderer;if(!t)if(e.forBinning){if(!("featureReduction"in l&&l.featureReduction&&"renderer"in l.featureReduction&&l.featureReduction.renderer)||"class-breaks"!==l.featureReduction.renderer.type&&"unique-value"!==l.featureReduction.renderer.type)throw new r("update-renderer-with-reference-size:invalid-parameters","Feature reduction renderer is not supported");t=l.featureReduction.renderer}else{if(!("renderer"in l)||!l.renderer||"class-breaks"!==l.renderer.type&&"unique-value"!==l.renderer.type)throw new r("update-renderer-with-reference-size:invalid-parameters","Renderer is not supported");t=l.renderer}const o=t.authoringInfo;if(!o||!o?.visualVariables?.some((e=>"reference-size"===e.theme)))throw new r("update-renderer-with-reference-size:invalid-parameters","'renderer.authoringInfo.visualVariables' should have an authoringInfoVisualVariable with 'theme' set to 'reference-size'");const m=e.isGrid??(await v({view:i,layer:l,forBinning:a}))?.isGrid;return{...e,isGrid:m,renderer:t,layer:s}}async function me(e){if(!e||!e.layer||!e.field&&!e.valueExpression)throw new r("size-class-breaks-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new r("size-class-breaks-renderer:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&K(e,"size-class-breaks-renderer");const i={...e};i.symbolType=i.symbolType||"2d",i.defaultSymbolEnabled??=!0,i.classificationMethod??="equal-interval",i.normalizationType=Q(i);const a=e.forBinning?Y:Z,n=_(i.layer,a,e.forBinning);if(!n)throw new r("size-class-breaks-renderer:invalid-parameters","'layer' must be one of these types: "+ee(a).join(", "));if(!(null!=i.minValue&&null!=i.maxValue)&&(null!=i.minValue||null!=i.maxValue))throw new r("size-class-breaks-renderer:missing-parameters","Both 'minValue' and 'maxValue' are required when specifying custom data range");const s=null!=i.signal?{signal:i.signal}:null;await n.load(s);const l=n.geometryType,t=i.symbolType.includes("3d");if(i.outlineOptimizationEnabled="polygon"===l&&i.outlineOptimizationEnabled,"mesh"===l)throw new r("size-class-breaks-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(t&&("polyline"===l||"polygon"===l))throw new r("size-class-breaks-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(i.symbolType.includes("3d-volumetric")&&(!i.view||"3d"!==i.view.type))throw new r("size-class-breaks-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");const o=await N({field:i.field,normalizationField:i.normalizationField}),m=P(n,o,"size-class-breaks-renderer:invalid-parameters");if(m)throw m;return{...i,layer:n}}function ue(e){const i={...e};delete i.basemap,delete i.sizeScheme,delete i.legendOptions,delete i.symbolType,delete i.defaultSymbolEnabled;const r=i;return r.analyzeData=!(null!=i.minValue&&null!=i.maxValue),r}function de(e){const i={...e},r=!!i.symbolType?.includes("3d-volumetric"),a=i;return a.worldScale=r,r&&(a.axis="3d-volumetric-uniform"===i.symbolType?"all":"height"),delete i.symbolType,delete i.defaultSymbolEnabled,a}async function pe(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new r("size-age-renderer:missing-parameters","'layer', 'view', 'startTime', 'endTime' parameters are required");const i={...e};i.symbolType??="2d",i.defaultSymbolEnabled??=!0;const a=_(i.layer,Z);if(!a)throw new r("size-age-renderer:invalid-parameters","'layer' must be one of these types: "+ee(Z).join(", "));const n=null!=i.signal?{signal:i.signal}:null;await a.load(n);const s=a.geometryType,l=i.symbolType.includes("3d");if(i.outlineOptimizationEnabled="polygon"===s&&i.outlineOptimizationEnabled,"mesh"===s)throw new r("size-age-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(l&&("polyline"===s||"polygon"===s))throw new r("size-age-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(i.symbolType.includes("3d-volumetric")&&(!i.view||"3d"!==i.view.type))throw new r("size-age-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");const t=H(a,i.startTime,i.endTime,"size-age-renderer:invalid-parameters");if(t)throw t;if(i.unit&&!J.includes(i.unit))throw new r("size-age-renderer:invalid-unit",`Supported units are: ${J.join(", ")}`);return{...i,layer:a}}async function ce(e){const i="regenerate-size-visual-variables";O(e,i);const a=await j(e),n=k(a);if(!n||!["size-continuous","univariate-color-size","color-size","relationship-size","type-size"].includes(n))throw new r(`${i}:invalid-parameters`,"Renderer is invalid");const s=x(a,"size");if(!s)throw new r(`${i}:invalid-parameters`,"Renderer does not have a size visual variable authoringInfo");const l=s.theme,t="reference-size"===l,o=a.visualVariables?.find(S);if(!o&&!t)throw new r(`${i}:invalid-parameters`,"Renderer does not have a size visual variable");let m=s.field,u=s.normalizationField,d=null,p=null;m||(o?.field?(m=o.field,u=o.normalizationField):a.field?(m=a.field,u=a.normalizationField):(d=o?.valueExpression??a.valueExpression,p=o?.valueExpressionTitle??a.valueExpressionTitle));const{layer:c,forBinning:f,filter:y,view:v,signal:z}=e,w=B(a),b=await se({layer:c,field:m,valueExpression:d,valueExpressionTitle:p,normalizationField:u,theme:l,sizeOptimizationEnabled:w,forBinning:f,filter:y,view:v,signal:z});return{...e,creatorParameters:b,renderer:a}}async function fe(e){const i="regenerate-size-continuous-renderer";O(e,i);const a=await j(e),n=k(a);if(!n||!["size-continuous","univariate-color-size"].includes(n))throw new r(`${i}:invalid-parameters`,"Renderer is invalid");const{authoringInfo:s,field:l,normalizationField:t,valueExpression:o,valueExpressionTitle:m}=a,u=s?.visualVariables.find((e=>"size"===e.type)),d=u.theme,{layer:p,forBinning:c,filter:f,view:y,signal:v}=e,z=F(a),w=B(a),b=await le({layer:p,field:l,valueExpression:o,valueExpressionTitle:m,normalizationField:t,theme:d,outlineOptimizationEnabled:z,sizeOptimizationEnabled:w,forBinning:c,filter:f,view:y,signal:v});return{...e,creatorParameters:b,renderer:a}}async function ye(e){const i="regenerate-size-class-breaks-renderer";await O(e,i);const a=await j(e);if("size-class-breaks"!==k(a))throw new r(`${i}:invalid-parameters`,"Renderer is invalid");const{authoringInfo:n,field:s,normalizationField:l,normalizationType:t,normalizationTotal:o,valueExpression:m,valueExpressionTitle:u}=a,{classificationMethod:d,standardDeviationInterval:p}=n,c=a.classBreakInfos.length,{layer:f,forBinning:y,filter:v,view:z,signal:w}=e,b=F(a),h=await me({layer:f,field:s,valueExpression:m,valueExpressionTitle:u,normalizationType:t,normalizationField:l,normalizationTotal:o,classificationMethod:d,standardDeviationInterval:p,numClasses:c,outlineOptimizationEnabled:b,forBinning:y,filter:v,view:z,signal:w});return{...e,creatorParameters:h,renderer:a}}async function ve(e){const i="regenerate-size-age-renderer";await O(e,i);const a=await j(e);if("size-age"!==k(a))throw new r(`${i}:invalid-parameters`,"Renderer is invalid");const{authoringInfo:n}=a,s=n?.visualVariables.find((e=>"size"===e.type)),l=s.startTime,t=s.endTime,o=s.units,m=s.theme,{layer:u,filter:d,view:p,signal:c}=e,f=F(a),y=B(a),v=await pe({layer:u,startTime:l,endTime:t,unit:o,theme:m,outlineOptimizationEnabled:f,sizeOptimizationEnabled:y,filter:d,view:p,signal:c});return{...e,creatorParameters:v,renderer:a}}async function ze(e){let i=e.sizeScheme,r=null,a=null;const n=await W(e.basemap,e.view);if(r=null!=n.basemapId?n.basemapId:null,a=null!=n.basemapTheme?n.basemapTheme:null,i)return{scheme:ie(i),basemapId:r,basemapTheme:a};const s=re({basemapTheme:a,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view});return s&&(i=s.primaryScheme,r=s.basemapId,a=s.basemapTheme),{scheme:i,basemapId:r,basemapTheme:a}}function we(e,i){switch(i){case"point":case"multipoint":{const i=e;return[d(i.minSize),d(i.maxSize)]}case"polyline":{const i=e;return[d(i.minWidth),d(i.maxWidth)]}case"polygon":{const i=e;return[d(i.marker.minSize),d(i.marker.maxSize)]}}}function be(e,i){e.transformationType===c.ClampedLinear&&"below"===i&&e.flipSizes()}async function he(e,i,r,a,n){return"reference-size"===r&&i?[1,i.size]:e?[e.minSize,e.maxSize]:we(a,n)}function ge(e,i,r){return"reference-size"===r&&i?[1,i.size]:e?[e.minSize,e.maxSize]:null}function Se(e,i){if("reference-size"===i.theme&&null!=e.min&&null!=e.max&&null!=e.avg&&null!=e.stddev){const i=100,r=0,a=0,n=1,s=e.avg,l=e.min,t=e.max,o=e.stddev,m=0!==s?o/s:0,u=l>a&&l<n&&t<2*n&&m<.5,d=l>r&&l<i&&t<2*i&&m<.5;return{minDataValue:u?a:d?r:l,maxDataValue:u?n:d?i:s+2*o,defaultValuesUsed:!1}}const{theme:r,field:a}=i,n=i.layer,s=a&&!("function"==typeof a)?n.getField(a):null,l=X(s);return M(e,r,l,"above"===r||"below"===r)}async function xe(e,i,a,s){const{theme:m,field:d,normalizationField:c,minValue:f,maxValue:y,axis:v}=e,z=e.layer.geometryType,b=await ze({basemap:e.basemap,geometryType:z,sizeScheme:e.sizeScheme,worldScale:e.worldScale,view:e.view}),h=b.scheme;if(!h)throw new r("size-visual-variable:insufficient-info","Unable to find size scheme");const g=await he(a,s,m,h,z),{minDataValue:S,maxDataValue:x,defaultValuesUsed:E}=Se(i,e),T=[],V="height"===v,I=V?v:void 0,O=g[0];let j=g[1];if(V&&"number"==typeof O&&"number"==typeof j){const e=C({minSize:O,maxSize:j},I);T.push(new u({axis:"width-and-depth",minSize:e.minSize})),j=e.maxSize}const k=new u({field:d??void 0,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,valueUnit:"unknown",normalizationField:c,axis:I,minSize:O,maxSize:j,minDataValue:S,maxDataValue:x,legendOptions:n(p,e.legendOptions)});be(k,m),T.unshift(k);const B=new o("reference-size"===m?{type:"size",field:e.field,normalizationField:e.normalizationField,sizeStops:w(k).map((({label:e,size:i,value:r})=>new t({label:e,size:i,value:r}))),theme:m,referenceSizeScale:s?.isGrid||e.sizeOptimizationEnabled?e?.view?.scale:void 0,referenceSizeSymbolStyle:e.referenceSizeOptions?.symbolStyle,minSliderValue:null!=f?f:i.min,maxSliderValue:null!=y?y:i.max}:{type:"size",theme:m,minSliderValue:null!=f?f:i.min,maxSliderValue:null!=y?y:i.max}),F=new l({visualVariables:[B]});return{basemapId:b.basemapId,basemapTheme:b.basemapTheme,visualVariables:T,statistics:i,isGrid:s?.isGrid,defaultValuesUsed:E,sizeScheme:ie(h),authoringInfo:F}}async function Ee(i,r,a,n,l){const t=await s("esri/smartMapping/t9n/smartMapping"),o=l.layer,m=l.field,u=o.geometryType,d=l.defaultSymbolEnabled,p=ie(i.sizeScheme),c="polygon"===u,f=c?p.marker:p,y=c?p.background:null,v=c?"point":u,z=r?.opacity,h=i.isGrid,S="reference-size"===l.theme,x=S?[]:i.visualVariables.map((e=>e.clone()));r?.visualVariables?.length&&x.push(...r.visualVariables.map((e=>e.clone())));const E=S?b({view:l.view,field:m,normalizationField:n,sizeStops:w(i.visualVariables[0]),sizeByScaleEnabled:h||!!l.sizeOptimizationEnabled}):null;return{renderer:new e({backgroundFillSymbol:!h&&y?$(u,{type:l.symbolType,color:y.color,outline:A(y,u,z)}):null,classBreakInfos:[{minValue:-9007199254740991,maxValue:ne,symbol:E?g({type:l.referenceSizeOptions?.symbolStyle||"circle",color:f.color,primitiveOverrides:E}):$(v,{type:l.symbolType,color:f.color,size:L(f,v),outline:A(f,v,z)})}],defaultLabel:d?t.other:null,defaultSymbol:d&&!S?$(v,{type:l.symbolType,color:f.noDataColor,size:L(f,v,!0),outline:A(f,v,z)}):null,field:m,normalizationField:n,normalizationType:a,valueExpression:l.valueExpression,valueExpressionTitle:l.valueExpressionTitle,visualVariables:x,authoringInfo:i.authoringInfo?.clone()}),visualVariables:i.visualVariables.map((e=>e.clone())),statistics:i.statistics,defaultValuesUsed:i.defaultValuesUsed,isGrid:h,sizeScheme:ie(i.sizeScheme),basemapId:i.basemapId,basemapTheme:i.basemapTheme}}function Te(e,i){const r=a(e.minSize),n=(a(e.maxSize)-r)/(i>=4?i-1:i),s=[];for(let a=0;a<i;a++)s.push(r+n*a);return s}async function Ve(i,r){const a=await s("esri/smartMapping/t9n/smartMapping"),n=i.layer,t=i.defaultSymbolEnabled,o=n.geometryType,u="polygon"===o,d=i.symbolType?.includes("3d-volumetric"),p=await ze({basemap:i.basemap,geometryType:o,sizeScheme:i.sizeScheme,worldScale:d,view:i.view}),c=p.scheme,{result:f,outlineResult:y}=r,v=f?.classBreakInfos??[],z=i.classificationMethod,w=i.normalizationType,b=u?c.marker:c,h=u?c.background:null,g=u?"point":o,S=we(b,g),x=d?C({minSize:S[0],maxSize:S[1]},"height"):null,E=Te({minSize:S[0],maxSize:x?x.maxSize:S[1]},v.length),T=y?.opacity,V=new e({backgroundFillSymbol:h&&$(o,{type:i.symbolType,color:h.color,outline:A(h,o,T)}),classBreakInfos:v.map(((e,r)=>({minValue:e.minValue,maxValue:e.maxValue,symbol:$(g,{type:i.symbolType,color:b.color,size:E[r],widthAndDepth:x?.minSize,outline:A(b,g,T)}),label:e.label}))),defaultLabel:t?a.other:null,defaultSymbol:t?$(g,{type:i.symbolType,color:b.noDataColor,size:L(b,g,!0),widthAndDepth:x?.minSize,outline:A(b,g,T)}):null,field:i.field,valueExpression:i.valueExpression,valueExpressionTitle:i.valueExpressionTitle,normalizationType:w,normalizationField:i.normalizationField,normalizationTotal:"percent-of-total"===w?f?.normalizationTotal:void 0,legendOptions:i.legendOptions,authoringInfo:new l({type:"class-breaks-size",classificationMethod:z,standardDeviationInterval:i.standardDeviationInterval})});return"standard-deviation"!==z&&m({classBreakInfos:V.classBreakInfos,classificationMethod:z,normalizationType:w,round:!0}),y?.visualVariables?.length&&(V.visualVariables=y.visualVariables.map((e=>e.clone()))),{renderer:V,sizeScheme:ie(c),classBreaksResult:f,defaultValuesUsed:!!r.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function Ie(e){const i=await se(e),{view:r,field:a,valueExpression:n,minValue:s,maxValue:l,layer:t,normalizationField:o,signal:m,statistics:u,filter:d}=i,p=o?"field":void 0,[c,f]=await Promise.all([u??R({layer:t,field:a,valueExpression:n,sqlExpression:i.sqlExpression,sqlWhere:i.sqlWhere,normalizationType:p,normalizationField:o,filter:d,minValue:s,maxValue:l,view:r,signal:m}),i.sizeOptimizationEnabled?z({view:r,layer:t,signal:m,filter:d}).catch(q):null]);return xe(i,c,f,i.referenceSizeResult)}async function Oe(e){const{view:i,filter:r,renderer:a,signal:n,creatorParameters:s}=await ce(e),{field:l,normalizationField:o,valueExpression:m,theme:d,layer:p,sizeOptimizationEnabled:c,referenceSizeResult:f,valueExpressionTitle:y}=s,v=o?"field":void 0,[b,h]=await Promise.all([R({layer:p,field:l,valueExpression:m,normalizationField:o,normalizationType:v,filter:r,view:i,signal:n}),c?z({view:i,layer:p,signal:n,filter:r}).catch(q):null]),g=ge(h,f,d),{minDataValue:E,maxDataValue:T}=Se(b,{theme:d,layer:p,field:l}),V=a.visualVariables?.find(S),I=(V?.stops?null:V)??new u({field:l??void 0,valueExpression:m,valueExpressionTitle:y,valueUnit:"unknown",normalizationField:o});g&&(I.minSize=g[0],I.maxSize=g[1]),I.minDataValue=E,I.maxDataValue=T,be(I,d);const O=x(a,"size");return O.minSliderValue=b.min,O.maxSliderValue=b.max,"reference-size"===d&&(O.sizeStops=w(I).map((({label:e,size:i,value:r})=>new t({label:e,size:i,value:r}))),O.referenceSizeScale=f?.isGrid||c?i?.scale:void 0),{visualVariables:"reference-size"===d?[]:[I],isGrid:!!f?.isGrid,authoringInfo:a.authoringInfo?.clone(),statistics:b}}async function je(e){const i=await le(e),r={layer:i.layer,view:i.view,filter:i.filter,signal:i.signal},[a,n]=await Promise.all([Ie(de(i)),i.outlineOptimizationEnabled?y(r).catch(q):null]),s=i.normalizationField;return Ee(a,n,s?"field":void 0,s,i)}async function ke(e){const{renderer:i,view:r,signal:a,filter:n,creatorParameters:s,forBinning:l}=await fe(e),{layer:t,outlineOptimizationEnabled:o,theme:m,referenceSizeResult:u}=s,[d,p]=await Promise.all([Oe({...e,referenceSizeResult:u}),o?y({layer:t,view:r,filter:n,signal:a}).catch(q):null]),c=d.isGrid,f="reference-size"===m;E(i,d.visualVariables,T),E(i,p?.visualVariables,V),I(i,d.authoringInfo,"size");const v=d.statistics;if(!f)return{renderer:i,statistics:v};return{renderer:await Be({layer:t,renderer:i,view:r,forBinning:l,sizeStops:x(i,"size","reference-size")?.sizeStops,isGrid:c}),isGrid:c,statistics:v}}async function Be(e){const{layer:a,referenceSizeOptions:n,renderer:s,sizeScheme:o,sizeStops:m,typeScheme:u,view:d,isGrid:p}=await oe(e),c=s.clone();c.authoringInfo??=new l;const f=c.authoringInfo.visualVariables.find((e=>"reference-size"===e.theme)),y=e.field??f?.field,v=e.normalizationField??f?.normalizationField;if(!y)throw new r("update-renderer-with-reference-size:invalid-parameters","'field' parameter or authoring info with 'field' is required.");const z=b({view:d,field:y,normalizationField:v,sizeStops:m,sizeByScaleEnabled:p||!!e.sizeOptimizationEnabled}),w=n?.symbolStyle||f?.referenceSizeSymbolStyle||"circle";if("class-breaks"===c.type){const e="polygon"===("geometryType"in a?a.geometryType:null)&&o&&"marker"in o?o.marker:null;c.classBreakInfos.forEach((i=>{const r=e?.color??ae(i.symbol,1);"cim"===i.symbol.type?h(i.symbol,{type:w,color:r,primitiveOverrides:z}):r&&(i.symbol=g({type:w,color:r,primitiveOverrides:z}))}))}else if("unique-value"===c.type){const e=c.uniqueValueGroups,r="polygon"===("geometryType"in a?a.geometryType:null)&&u&&"colors"in u?u.colors:null,n=r?i(r,c.uniqueValueInfos?.length??0):null;let s=0;if(e){for(const i of e)for(const e of i.classes??[]){const i=n?n[s]:ae(e.symbol,1);"cim"===e.symbol?.type?h(e.symbol,{type:w,color:i,primitiveOverrides:z}):i&&(e.symbol=g({type:w,color:i,primitiveOverrides:z})),s++}c.uniqueValueGroups=e}}return f&&(f.field=y,f.normalizationField=v,f.sizeStops=m.map((({label:e,size:i,value:r})=>new t({label:e,size:i,value:r}))),f.referenceSizeScale=p||e.sizeOptimizationEnabled?d.scale:void 0,f.referenceSizeSymbolStyle=w),c}async function Fe(e){const i=await me(e);return Ve(i,await D(ue(i),i.outlineOptimizationEnabled))}async function Re(e){const{renderer:i,creatorParameters:a}=await ye(e),{outlineOptimizationEnabled:n,normalizationType:s,classificationMethod:l}=a,{result:t,outlineResult:o}=await D(ue(a),n),u=t.classBreakInfos;if(a.numClasses!==u.length)throw new r("regenerate-class-breaks-renderer:invalid-parameters","The number of class breaks generated does not match the number of class breaks in the renderer.");return i.classBreakInfos.forEach(((e,i)=>{e.minValue=u[i].minValue,e.maxValue=u[i].maxValue,e.label=u[i].label})),i.normalizationTotal="percent-of-total"===s?t.normalizationTotal:void 0,"standard-deviation"!==l&&m({classBreakInfos:i.classBreakInfos,classificationMethod:l,normalizationType:s,round:!0}),E(i,o?.visualVariables,V),{renderer:i}}async function qe(e){const i=await pe(e),{defaultSymbolEnabled:r,view:a,startTime:n,endTime:s,symbolType:l,minValue:t,maxValue:o,signal:m,filter:u,layer:d}=i,[p,c]=await Promise.all([i.unit?{unit:i.unit,statistics:null,valueExpression:null}:await f({view:a,layer:d,startTime:n,endTime:s,minValue:t,maxValue:o,signal:m,filter:u}),i.outlineOptimizationEnabled?y({layer:d,view:a,filter:u,signal:m}).catch(q):null]),{unit:v,statistics:z}=p,{valueExpression:w,title:b}=await U(i,v),h=await Ie(de({layer:d,basemap:i.basemap,valueExpression:w,symbolType:l,statistics:z,legendOptions:{title:b},theme:i.theme,sizeScheme:i.sizeScheme,sizeOptimizationEnabled:i.sizeOptimizationEnabled,view:i.view,minValue:t,maxValue:o,filter:u,signal:m})),g={layer:d,valueExpression:w,defaultSymbolEnabled:r,symbolType:l},S=await Ee(h,c,null,null,g),x=S.renderer.authoringInfo?.visualVariables;return x?.forEach((e=>G(e,n,s,v))),{...S,unit:v}}async function De(e){const{renderer:i,creatorParameters:r}=await ve(e),{layer:a,outlineOptimizationEnabled:n,sizeOptimizationEnabled:s,startTime:l,endTime:t,theme:o,view:m,signal:u,filter:d}=r,[p,c]=await Promise.all([f({view:m,layer:a,startTime:l,endTime:t,signal:u,filter:d}),n?y({layer:a,view:m,filter:d,signal:u}).catch(q):null]),{unit:v,statistics:z}=p,{valueExpression:w,title:b}=await U(r,v),h=await Ie(de({layer:a,valueExpression:w,statistics:z,legendOptions:{title:b},sizeOptimizationEnabled:s,theme:o,view:m,filter:d,signal:u}));E(i,h.visualVariables,T),E(i,c?.visualVariables,V),i.authoringInfo=h.authoringInfo.clone();const g=i.authoringInfo?.visualVariables;return g?.forEach((e=>G(e,l,t,v))),{renderer:i}}export{qe as createAgeRenderer,Fe as createClassBreaksRenderer,je as createContinuousRenderer,Ie as createVisualVariables,De as regenerateAgeRenderer,Re as regenerateClassBreaksRenderer,ke as regenerateContinuousRenderer,Oe as regenerateVisualVariables,Be as updateRendererWithReferenceSize};
5
+ import{createUniqueColors as e}from"../../core/colorUtils.js";import i from"../../core/Error.js";import{toPt as a}from"../../core/screenUtils.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as n}from"../../intl/messages.js";import s from"../../renderers/ClassBreaksRenderer.js";import l from"../../renderers/support/AuthoringInfo.js";import t from"../../renderers/support/AuthoringInfoSizeStop.js";import o from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as u}from"../../renderers/support/utils.js";import m from"../../renderers/visualVariables/SizeVariable.js";import{castSizeFromStringOrNumber as d}from"../../renderers/visualVariables/support/castSizeVariable.js";import p from"../../renderers/visualVariables/support/SizeVariableLegendOptions.js";import{TransformationType as c}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import f from"../heuristics/ageUnit.js";import y from"../heuristics/outline.js";import v from"../heuristics/referenceSize.js";import z from"../heuristics/sizeRange.js";import{getReferenceSizeStops as w,createPrimitiveOverrides as b,updateReferenceSizeSymbol as h,createReferenceSizeSymbol as g}from"./support/referenceSizeUtils.js";import{isSizeVV as S,getAuthoringInfoVisualVariable as x,spliceVisualVariables as E,findSizeVVIndex as T,findOutlineVVIndex as V,updateAuthoringInfoVisualVariable as I,processRegenerateParams as O,getRendererToUpdate as k,getStyleType as B,hasScaleDependentSizeVV as F,hasOutlineVV as j}from"./support/regenerateUtils.js";import{getSummaryStatistics as q,errorCallback as R,getClassBreaks as D,getTitleAndExpressionForAgeRenderer as U,updateAgeRendererAuthoringInfoVV as G,verifyBasicFieldValidity as P,getDataRange as M,getSizeRangeForAxis as $,createSymbol as C,getSymbolOutlineFromScheme as A,getSymbolSizeFromScheme as L,getBasemapInfo as W}from"./support/utils.js";import{verifyDates as H,supportedAgeUnits as J}from"../statistics/support/ageUtils.js";import{verifyBinningParams as K}from"../support/binningUtils.js";import{getFieldsList as N,getNormalizationType as Q,isAnyDateField as X}from"../support/utils.js";import{binningCapableLayerTypes as Y,featureCapableLayerTypes as Z,createLayerAdapter as _,getLayerTypeLabels as ee}from"../support/adapters/support/layerUtils.js";import{cloneScheme as ie,getSchemes as ae}from"../symbology/size.js";import{getColorFromSymbol as re}from"../../symbols/support/utils.js";const ne=2**53-1;async function se(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new i("size-visual-variable:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new i("size-visual-variable:missing-parameters","View is required when 'valueExpression' is specified");if("reference-size"===e.theme&&!e.view&&!e.field)throw new i("size-visual-variable:missing-parameters","'view' and 'field' are required when 'theme' is 'reference-size'");if("reference-size"===e.theme&&e.valueExpression)throw new i("size-visual-variable:missing-parameters","'valueExpression' is not supported when 'theme' is 'reference-size'");e.forBinning&&K(e,"size-visual-variable");const a={...e},r=e.forBinning?Y:Z,n=_(a.layer,r,e.forBinning);if(!n)throw new i("size-visual-variable:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));"height"===a.axis&&(a.sizeOptimizationEnabled=!1);const s=null!=a.signal?{signal:a.signal}:null;await n.load(s);const l=n.geometryType;if("mesh"===l)throw new i("size-visual-variable:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(a.worldScale){if("polyline"===l||"polygon"===l)throw new i("size-visual-variable:not-supported","'worldScale' sizing is not supported for polyline and polygon layers");if(!a.view||"3d"!==a.view.type)throw new i("size-visual-variable:invalid-parameters","'view' parameter should be an instance of SceneView when 'worldScale' parameter is true")}if("reference-size"===a.theme&&!e.forBinning&&"polygon"!==l)throw new i("size-visual-variable:invalid-parameters","Reference size is only supported for polygon layers");const t=await N({field:a.field,normalizationField:a.normalizationField,valueExpression:a.valueExpression}),o=P(n,t,"size-visual-variable:invalid-parameters");if(o)throw o;return await te(a),{...a,layer:n}}async function le(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new i("size-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new i("size-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&K(e,"size-continuous-renderer");const a={...e};a.symbolType=a.symbolType||"2d",a.defaultSymbolEnabled??=!0;const r=e.forBinning?Y:Z,n=_(a.layer,r,e.forBinning);if(!n)throw new i("size-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));const s=null!=a.signal?{signal:a.signal}:null;await n.load(s);const l=n.geometryType,t=a.symbolType.includes("3d");if(a.outlineOptimizationEnabled="reference-size"!==a.theme&&"polygon"===l&&a.outlineOptimizationEnabled,"mesh"===l)throw new i("size-continuous-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(t&&("polyline"===l||"polygon"===l))throw new i("size-continuous-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(a.symbolType.includes("3d-volumetric")&&(!a.view||"3d"!==a.view.type))throw new i("size-continuous-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");if("reference-size"===a.theme&&!e.forBinning&&"polygon"!==l)throw new i("size-continuous-renderer:invalid-parameters","Reference size is only supported for polygon layers");const o=await N({field:a.field,normalizationField:a.normalizationField,valueExpression:a.valueExpression}),u=P(n,o,"size-continuous-renderer:invalid-parameters");if(u)throw u;return await te(a),{...a,layer:n}}async function te(e){const i=e.layer;if(("polygon"===i.geometryType||e.forBinning)&&e.view&&e.field&&!e.valueExpression&&(!e.theme||"reference-size"===e.theme)){try{e.referenceSizeResult=e.referenceSizeResult??await v({layer:i,view:e.view,filter:e.filter,forBinning:e.forBinning,signal:e.signal})}catch{}!e.theme&&e.referenceSizeResult?.isGrid&&(e.theme="reference-size"),e.referenceSizeOptions?.symbolStyle||(e.referenceSizeOptions?e.referenceSizeOptions.symbolStyle="circle":e.referenceSizeOptions={symbolStyle:"circle"})}}async function oe(e){if(!e||!(e.layer&&e.view&&e.sizeStops))throw new i("update-renderer-with-reference-size:missing-parameters","'layer', 'view and 'sizeStops' parameters are required");const{view:a,forBinning:r}=e,n=e.forBinning?Y:Z,s=_(e.layer,n,e.forBinning);if(!s)throw new i("update-renderer-with-reference-size:invalid-parameters","'layer' must be one of these types: "+ee(n).join(", "));const l=s.layer;let t=e.renderer;if(!t)if(e.forBinning){if(!("featureReduction"in l&&l.featureReduction&&"renderer"in l.featureReduction&&l.featureReduction.renderer)||"class-breaks"!==l.featureReduction.renderer.type&&"unique-value"!==l.featureReduction.renderer.type)throw new i("update-renderer-with-reference-size:invalid-parameters","Feature reduction renderer is not supported");t=l.featureReduction.renderer}else{if(!("renderer"in l)||!l.renderer||"class-breaks"!==l.renderer.type&&"unique-value"!==l.renderer.type)throw new i("update-renderer-with-reference-size:invalid-parameters","Renderer is not supported");t=l.renderer}const o=t.authoringInfo;if(!o||!o?.visualVariables?.some((e=>"reference-size"===e.theme)))throw new i("update-renderer-with-reference-size:invalid-parameters","'renderer.authoringInfo.visualVariables' should have an authoringInfoVisualVariable with 'theme' set to 'reference-size'");const u=e.isGrid??(await v({view:a,layer:l,forBinning:r}))?.isGrid;return{...e,isGrid:u,renderer:t,layer:s}}async function ue(e){if(!e||!e.layer||!e.field&&!e.valueExpression)throw new i("size-class-breaks-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new i("size-class-breaks-renderer:missing-parameters","View is required when 'valueExpression' is specified");e.forBinning&&K(e,"size-class-breaks-renderer");const a={...e};a.symbolType=a.symbolType||"2d",a.defaultSymbolEnabled??=!0,a.classificationMethod??="equal-interval",a.normalizationType=Q(a);const r=e.forBinning?Y:Z,n=_(a.layer,r,e.forBinning);if(!n)throw new i("size-class-breaks-renderer:invalid-parameters","'layer' must be one of these types: "+ee(r).join(", "));if(!(null!=a.minValue&&null!=a.maxValue)&&(null!=a.minValue||null!=a.maxValue))throw new i("size-class-breaks-renderer:missing-parameters","Both 'minValue' and 'maxValue' are required when specifying custom data range");const s=null!=a.signal?{signal:a.signal}:null;await n.load(s);const l=n.geometryType,t=a.symbolType.includes("3d");if(a.outlineOptimizationEnabled="polygon"===l&&a.outlineOptimizationEnabled,"mesh"===l)throw new i("size-class-breaks-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(t&&("polyline"===l||"polygon"===l))throw new i("size-class-breaks-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(a.symbolType.includes("3d-volumetric")&&(!a.view||"3d"!==a.view.type))throw new i("size-class-breaks-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");const o=await N({field:a.field,normalizationField:a.normalizationField}),u=P(n,o,"size-class-breaks-renderer:invalid-parameters");if(u)throw u;return{...a,layer:n}}function me(e){const i={...e};delete i.basemap,delete i.sizeScheme,delete i.legendOptions,delete i.symbolType,delete i.defaultSymbolEnabled;const a=i;return a.analyzeData=!(null!=i.minValue&&null!=i.maxValue),a}function de(e){const i={...e},a=!!i.symbolType?.includes("3d-volumetric"),r=i;return r.worldScale=a,a&&(r.axis="3d-volumetric-uniform"===i.symbolType?"all":"height"),delete i.symbolType,delete i.defaultSymbolEnabled,r}async function pe(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new i("size-age-renderer:missing-parameters","'layer', 'view', 'startTime', 'endTime' parameters are required");const a={...e};a.symbolType??="2d",a.defaultSymbolEnabled??=!0;const r=_(a.layer,Z);if(!r)throw new i("size-age-renderer:invalid-parameters","'layer' must be one of these types: "+ee(Z).join(", "));const n=null!=a.signal?{signal:a.signal}:null;await r.load(n);const s=r.geometryType,l=a.symbolType.includes("3d");if(a.outlineOptimizationEnabled="polygon"===s&&a.outlineOptimizationEnabled,"mesh"===s)throw new i("size-age-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(l&&("polyline"===s||"polygon"===s))throw new i("size-age-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(a.symbolType.includes("3d-volumetric")&&(!a.view||"3d"!==a.view.type))throw new i("size-age-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");const t=H(r,a.startTime,a.endTime,"size-age-renderer:invalid-parameters");if(t)throw t;if(a.unit&&!J.includes(a.unit))throw new i("size-age-renderer:invalid-unit",`Supported units are: ${J.join(", ")}`);return{...a,layer:r}}async function ce(e){const a="regenerate-size-visual-variables";O(e,a);const r=await k(e),n=B(r);if(!n||!["size-continuous","univariate-color-size","color-size","relationship-size","type-size"].includes(n))throw new i(`${a}:invalid-parameters`,"Renderer is invalid");const s=x(r,"size");if(!s)throw new i(`${a}:invalid-parameters`,"Renderer does not have a size visual variable authoringInfo");const l=s.theme,t="reference-size"===l,o=r.visualVariables?.find(S);if(!o&&!t)throw new i(`${a}:invalid-parameters`,"Renderer does not have a size visual variable");let u=s.field,m=s.normalizationField,d=null,p=null;u||(o?.field?(u=o.field,m=o.normalizationField):r.field?(u=r.field,m=r.normalizationField):(d=o?.valueExpression??r.valueExpression,p=o?.valueExpressionTitle??r.valueExpressionTitle));const{layer:c,forBinning:f,filter:y,view:v,signal:z}=e,w=F(r),b=await se({layer:c,field:u,valueExpression:d,valueExpressionTitle:p,normalizationField:m,theme:l,sizeOptimizationEnabled:w,forBinning:f,filter:y,view:v,signal:z});return{...e,creatorParameters:b,renderer:r}}async function fe(e){const a="regenerate-size-continuous-renderer";O(e,a);const r=await k(e),n=B(r);if(!n||!["size-continuous","univariate-color-size"].includes(n))throw new i(`${a}:invalid-parameters`,"Renderer is invalid");const{authoringInfo:s,field:l,normalizationField:t,valueExpression:o,valueExpressionTitle:u}=r,m=s?.visualVariables.find((e=>"size"===e.type)),d=m.theme,{layer:p,forBinning:c,filter:f,view:y,signal:v}=e,z=j(r),w=F(r),b=await le({layer:p,field:l,valueExpression:o,valueExpressionTitle:u,normalizationField:t,theme:d,outlineOptimizationEnabled:z,sizeOptimizationEnabled:w,forBinning:c,filter:f,view:y,signal:v});return{...e,creatorParameters:b,renderer:r}}async function ye(e){const a="regenerate-size-class-breaks-renderer";await O(e,a);const r=await k(e);if("size-class-breaks"!==B(r))throw new i(`${a}:invalid-parameters`,"Renderer is invalid");const{authoringInfo:n,field:s,normalizationField:l,normalizationType:t,normalizationTotal:o,valueExpression:u,valueExpressionTitle:m}=r,{classificationMethod:d,standardDeviationInterval:p}=n,c=r.classBreakInfos.length,{layer:f,forBinning:y,filter:v,view:z,signal:w}=e,b=j(r),h=await ue({layer:f,field:s,valueExpression:u,valueExpressionTitle:m,normalizationType:t,normalizationField:l,normalizationTotal:o,classificationMethod:d,standardDeviationInterval:p,numClasses:c,outlineOptimizationEnabled:b,forBinning:y,filter:v,view:z,signal:w});return{...e,creatorParameters:h,renderer:r}}async function ve(e){const a="regenerate-size-age-renderer";await O(e,a);const r=await k(e);if("size-age"!==B(r))throw new i(`${a}:invalid-parameters`,"Renderer is invalid");const{authoringInfo:n}=r,s=n?.visualVariables.find((e=>"size"===e.type)),l=s.startTime,t=s.endTime,o=s.units,u=s.theme,{layer:m,filter:d,view:p,signal:c}=e,f=j(r),y=F(r),v=await pe({layer:m,startTime:l,endTime:t,unit:o,theme:u,outlineOptimizationEnabled:f,sizeOptimizationEnabled:y,filter:d,view:p,signal:c});return{...e,creatorParameters:v,renderer:r}}async function ze(e){let i=e.sizeScheme,a=null,r=null;const n=await W(e.basemap,e.view);if(a=null!=n.basemapId?n.basemapId:null,r=null!=n.basemapTheme?n.basemapTheme:null,i)return{scheme:ie(i),basemapId:a,basemapTheme:r};const s=ae({basemapTheme:r,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view});return s&&(i=s.primaryScheme,a=s.basemapId,r=s.basemapTheme),{scheme:i,basemapId:a,basemapTheme:r}}function we(e,i){switch(i){case"point":case"multipoint":{const i=e;return[d(i.minSize),d(i.maxSize)]}case"polyline":{const i=e;return[d(i.minWidth),d(i.maxWidth)]}case"polygon":{const i=e;return[d(i.marker.minSize),d(i.marker.maxSize)]}}}function be(e,i){e.transformationType===c.ClampedLinear&&"below"===i&&e.flipSizes()}async function he(e,i,a,r,n){return"reference-size"===a&&i?[1,i.size]:e?[e.minSize,e.maxSize]:we(r,n)}function ge(e,i,a){return"reference-size"===a&&i?[1,i.size]:e?[e.minSize,e.maxSize]:null}function Se(e,i){if("reference-size"===i.theme&&null!=e.min&&null!=e.max&&null!=e.avg&&null!=e.stddev){const i=100,a=0,r=0,n=1,s=e.avg,l=e.min,t=e.max,o=e.stddev,u=0!==s?o/s:0,m=l>r&&l<n&&t<2*n&&u<.5,d=l>a&&l<i&&t<2*i&&u<.5;return{minDataValue:m?r:d?a:l,maxDataValue:m?n:d?i:s+2*o,defaultValuesUsed:!1}}const{theme:a,field:r}=i,n=i.layer,s=r&&!("function"==typeof r)?n.getField(r):null,l=X(s);return M(e,a,l,"above"===a||"below"===a)}async function xe(e,a,n,s){const{theme:u,field:d,normalizationField:c,minValue:f,maxValue:y,axis:v}=e,z=e.layer.geometryType,b=await ze({basemap:e.basemap,geometryType:z,sizeScheme:e.sizeScheme,worldScale:e.worldScale,view:e.view}),h=b.scheme;if(!h)throw new i("size-visual-variable:insufficient-info","Unable to find size scheme");const g=await he(n,s,u,h,z),{minDataValue:S,maxDataValue:x,defaultValuesUsed:E}=Se(a,e),T=[],V="height"===v,I=V?v:void 0,O=g[0];let k=g[1];if(V&&"number"==typeof O&&"number"==typeof k){const e=$({minSize:O,maxSize:k},I);T.push(new m({axis:"width-and-depth",minSize:e.minSize})),k=e.maxSize}const B=new m({field:d??void 0,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,valueUnit:"unknown",normalizationField:c,axis:I,minSize:O,maxSize:k,minDataValue:S,maxDataValue:x,legendOptions:r(p,e.legendOptions)});be(B,u),T.unshift(B);const F=new o("reference-size"===u?{type:"size",field:e.field,normalizationField:e.normalizationField,sizeStops:w(B).map((({label:e,size:i,value:a})=>new t({label:e,size:i,value:a}))),theme:u,referenceSizeScale:s?.isGrid||e.sizeOptimizationEnabled?e?.view?.scale:void 0,referenceSizeSymbolStyle:e.referenceSizeOptions?.symbolStyle,minSliderValue:null!=f?f:a.min,maxSliderValue:null!=y?y:a.max}:{type:"size",theme:u,minSliderValue:null!=f?f:a.min,maxSliderValue:null!=y?y:a.max}),j=new l({visualVariables:[F]});return{basemapId:b.basemapId,basemapTheme:b.basemapTheme,visualVariables:T,statistics:a,isGrid:s?.isGrid,defaultValuesUsed:E,sizeScheme:ie(h),authoringInfo:j}}async function Ee(e,i,a,r,l){const t=await n("esri/smartMapping/t9n/smartMapping"),o=l.layer,u=l.field,m=o.geometryType,d=l.defaultSymbolEnabled,p=ie(e.sizeScheme),c="polygon"===m,f=c?p.marker:p,y=c?p.background:null,v=c?"point":m,z=i?.opacity,h=e.isGrid,S="reference-size"===l.theme,x=S?[]:e.visualVariables.map((e=>e.clone()));i?.visualVariables?.length&&x.push(...i.visualVariables.map((e=>e.clone())));const E=S?b({view:l.view,field:u,normalizationField:r,sizeStops:w(e.visualVariables[0]),sizeByScaleEnabled:h||!!l.sizeOptimizationEnabled}):null;return{renderer:new s({backgroundFillSymbol:!h&&y?C(m,{type:l.symbolType,color:y.color,outline:A(y,m,z)}):null,classBreakInfos:[{minValue:-9007199254740991,maxValue:ne,symbol:E?g({type:l.referenceSizeOptions?.symbolStyle||"circle",color:f.color,primitiveOverrides:E}):C(v,{type:l.symbolType,color:f.color,size:L(f,v),outline:A(f,v,z)})}],defaultLabel:d?t.other:null,defaultSymbol:d&&!S?C(v,{type:l.symbolType,color:f.noDataColor,size:L(f,v,!0),outline:A(f,v,z)}):null,field:u,normalizationField:r,normalizationType:a,valueExpression:l.valueExpression,valueExpressionTitle:l.valueExpressionTitle,visualVariables:x,authoringInfo:e.authoringInfo?.clone()}),visualVariables:e.visualVariables.map((e=>e.clone())),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,isGrid:h,sizeScheme:ie(e.sizeScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}function Te(e,i){const r=a(e.minSize),n=(a(e.maxSize)-r)/(i>=4?i-1:i),s=[];for(let a=0;a<i;a++)s.push(r+n*a);return s}async function Ve(e,i){const a=await n("esri/smartMapping/t9n/smartMapping"),r=e.layer,t=e.defaultSymbolEnabled,o=r.geometryType,m="polygon"===o,d=e.symbolType?.includes("3d-volumetric"),p=await ze({basemap:e.basemap,geometryType:o,sizeScheme:e.sizeScheme,worldScale:d,view:e.view}),c=p.scheme,{result:f,outlineResult:y}=i,v=f?.classBreakInfos??[],z=e.classificationMethod,w=e.normalizationType,b=m?c.marker:c,h=m?c.background:null,g=m?"point":o,S=we(b,g),x=d?$({minSize:S[0],maxSize:S[1]},"height"):null,E=Te({minSize:S[0],maxSize:x?x.maxSize:S[1]},v.length),T=y?.opacity,V=new s({backgroundFillSymbol:h&&C(o,{type:e.symbolType,color:h.color,outline:A(h,o,T)}),classBreakInfos:v.map(((i,a)=>({minValue:i.minValue,maxValue:i.maxValue,symbol:C(g,{type:e.symbolType,color:b.color,size:E[a],widthAndDepth:x?.minSize,outline:A(b,g,T)}),label:i.label}))),defaultLabel:t?a.other:null,defaultSymbol:t?C(g,{type:e.symbolType,color:b.noDataColor,size:L(b,g,!0),widthAndDepth:x?.minSize,outline:A(b,g,T)}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:w,normalizationField:e.normalizationField,normalizationTotal:"percent-of-total"===w?f?.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new l({type:"class-breaks-size",classificationMethod:z,standardDeviationInterval:e.standardDeviationInterval})});return"standard-deviation"!==z&&u({classBreakInfos:V.classBreakInfos,classificationMethod:z,normalizationType:w,round:!0}),y?.visualVariables?.length&&(V.visualVariables=y.visualVariables.map((e=>e.clone()))),{renderer:V,sizeScheme:ie(c),classBreaksResult:f,defaultValuesUsed:!!i.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function Ie(e){const i=await se(e),{view:a,field:r,valueExpression:n,minValue:s,maxValue:l,layer:t,normalizationField:o,signal:u,statistics:m,filter:d}=i,p=o?"field":void 0,[c,f]=await Promise.all([m??q({layer:t,field:r,valueExpression:n,sqlExpression:i.sqlExpression,sqlWhere:i.sqlWhere,normalizationType:p,normalizationField:o,filter:d,minValue:s,maxValue:l,view:a,signal:u}),i.sizeOptimizationEnabled?z({view:a,layer:t,signal:u,filter:d}).catch(R):null]);return xe(i,c,f,i.referenceSizeResult)}async function Oe(e){const{view:i,filter:a,renderer:r,signal:n,creatorParameters:s}=await ce(e),{field:l,normalizationField:o,valueExpression:u,theme:d,layer:p,sizeOptimizationEnabled:c,referenceSizeResult:f,valueExpressionTitle:y}=s,v=o?"field":void 0,[b,h]=await Promise.all([q({layer:p,field:l,valueExpression:u,normalizationField:o,normalizationType:v,filter:a,view:i,signal:n}),c?z({view:i,layer:p,signal:n,filter:a}).catch(R):null]),g=ge(h,f,d),{minDataValue:E,maxDataValue:T}=Se(b,{theme:d,layer:p,field:l}),V=r.visualVariables?.find(S),I=(V?.stops?null:V)??new m({field:l??void 0,valueExpression:u,valueExpressionTitle:y,valueUnit:"unknown",normalizationField:o});g&&(I.minSize=g[0],I.maxSize=g[1]),I.minDataValue=E,I.maxDataValue=T,be(I,d);const O=x(r,"size");return O.minSliderValue=b.min,O.maxSliderValue=b.max,"reference-size"===d&&(O.sizeStops=w(I).map((({label:e,size:i,value:a})=>new t({label:e,size:i,value:a}))),O.referenceSizeScale=f?.isGrid||c?i?.scale:void 0),{visualVariables:"reference-size"===d?[]:[I],isGrid:!!f?.isGrid,authoringInfo:r.authoringInfo?.clone(),statistics:b}}async function ke(e){const i=await le(e),a={layer:i.layer,view:i.view,filter:i.filter,signal:i.signal},[r,n]=await Promise.all([Ie(de(i)),i.outlineOptimizationEnabled?y(a).catch(R):null]),s=i.normalizationField;return Ee(r,n,s?"field":void 0,s,i)}async function Be(e){const{renderer:i,view:a,signal:r,filter:n,creatorParameters:s,forBinning:l}=await fe(e),{layer:t,outlineOptimizationEnabled:o,theme:u,referenceSizeResult:m}=s,[d,p]=await Promise.all([Oe({...e,referenceSizeResult:m}),o?y({layer:t,view:a,filter:n,signal:r}).catch(R):null]),c=d.isGrid,f="reference-size"===u;E(i,d.visualVariables,T),E(i,p?.visualVariables,V),I(i,d.authoringInfo,"size");const v=d.statistics;if(!f)return{renderer:i,statistics:v};return{renderer:await Fe({layer:t,renderer:i,view:a,forBinning:l,sizeStops:x(i,"size","reference-size")?.sizeStops,isGrid:c}),isGrid:c,statistics:v}}async function Fe(a){const{layer:r,referenceSizeOptions:n,renderer:s,sizeScheme:o,sizeStops:u,typeScheme:m,view:d,isGrid:p}=await oe(a),c=s.clone();c.authoringInfo??=new l;const f=c.authoringInfo.visualVariables.find((e=>"reference-size"===e.theme)),y=a.field??f?.field,v=a.normalizationField??f?.normalizationField;if(!y)throw new i("update-renderer-with-reference-size:invalid-parameters","'field' parameter or authoring info with 'field' is required.");const z=b({view:d,field:y,normalizationField:v,sizeStops:u,sizeByScaleEnabled:p||!!a.sizeOptimizationEnabled}),w=n?.symbolStyle||f?.referenceSizeSymbolStyle||"circle";if("class-breaks"===c.type){const e="polygon"===("geometryType"in r?r.geometryType:null)&&o&&"marker"in o?o.marker:null;c.classBreakInfos.forEach((i=>{const a=e?.color??re(i.symbol,1);"cim"===i.symbol.type?h(i.symbol,{type:w,color:a,primitiveOverrides:z}):a&&(i.symbol=g({type:w,color:a,primitiveOverrides:z}))}))}else if("unique-value"===c.type){const i=c.uniqueValueGroups,a="polygon"===("geometryType"in r?r.geometryType:null)&&m&&"colors"in m?m.colors:null,n=a?e(a,c.uniqueValueInfos?.length??0):null;let s=0;if(i){for(const e of i)for(const i of e.classes??[]){const e=n?n[s]:re(i.symbol,1);"cim"===i.symbol?.type?h(i.symbol,{type:w,color:e,primitiveOverrides:z}):e&&(i.symbol=g({type:w,color:e,primitiveOverrides:z})),s++}c.uniqueValueGroups=i}}return f&&(f.field=y,f.normalizationField=v,f.sizeStops=u.map((({label:e,size:i,value:a})=>new t({label:e,size:i,value:a}))),f.referenceSizeScale=p||a.sizeOptimizationEnabled?d.scale:void 0,f.referenceSizeSymbolStyle=w),c}async function je(e){const i=await ue(e);return Ve(i,await D(me(i),i.outlineOptimizationEnabled))}async function qe(e){const{renderer:a,creatorParameters:r}=await ye(e),{outlineOptimizationEnabled:n,normalizationType:s,classificationMethod:l}=r,{result:t,outlineResult:o}=await D(me(r),n),m=t.classBreakInfos;if(r.numClasses!==m.length)throw new i("regenerate-class-breaks-renderer:invalid-parameters","The number of class breaks generated does not match the number of class breaks in the renderer.");return a.classBreakInfos.forEach(((e,i)=>{e.minValue=m[i].minValue,e.maxValue=m[i].maxValue,e.label=m[i].label})),a.normalizationTotal="percent-of-total"===s?t.normalizationTotal:void 0,"standard-deviation"!==l&&u({classBreakInfos:a.classBreakInfos,classificationMethod:l,normalizationType:s,round:!0}),E(a,o?.visualVariables,V),{renderer:a}}async function Re(e){const i=await pe(e),{defaultSymbolEnabled:a,view:r,startTime:n,endTime:s,symbolType:l,minValue:t,maxValue:o,signal:u,filter:m,layer:d}=i,[p,c]=await Promise.all([i.unit?{unit:i.unit,statistics:null,valueExpression:null}:await f({view:r,layer:d,startTime:n,endTime:s,minValue:t,maxValue:o,signal:u,filter:m}),i.outlineOptimizationEnabled?y({layer:d,view:r,filter:m,signal:u}).catch(R):null]),{unit:v,statistics:z}=p,{valueExpression:w,title:b}=await U(i,v),h=await Ie(de({layer:d,basemap:i.basemap,valueExpression:w,symbolType:l,statistics:z,legendOptions:{title:b},theme:i.theme,sizeScheme:i.sizeScheme,sizeOptimizationEnabled:i.sizeOptimizationEnabled,view:i.view,minValue:t,maxValue:o,filter:m,signal:u})),g={layer:d,valueExpression:w,defaultSymbolEnabled:a,symbolType:l},S=await Ee(h,c,null,null,g),x=S.renderer.authoringInfo?.visualVariables;return x?.forEach((e=>G(e,n,s,v))),{...S,unit:v}}async function De(e){const{renderer:i,creatorParameters:a}=await ve(e),{layer:r,outlineOptimizationEnabled:n,sizeOptimizationEnabled:s,startTime:l,endTime:t,theme:o,view:u,signal:m,filter:d}=a,[p,c]=await Promise.all([f({view:u,layer:r,startTime:l,endTime:t,signal:m,filter:d}),n?y({layer:r,view:u,filter:d,signal:m}).catch(R):null]),{unit:v,statistics:z}=p,{valueExpression:w,title:b}=await U(a,v),h=await Ie(de({layer:r,valueExpression:w,statistics:z,legendOptions:{title:b},sizeOptimizationEnabled:s,theme:o,view:u,filter:d,signal:m}));E(i,h.visualVariables,T),E(i,c?.visualVariables,V),i.authoringInfo=h.authoringInfo.clone();const g=i.authoringInfo?.visualVariables;return g?.forEach((e=>G(e,l,t,v))),{renderer:i}}export{Re as createAgeRenderer,je as createClassBreaksRenderer,ke as createContinuousRenderer,Ie as createVisualVariables,De as regenerateAgeRenderer,qe as regenerateClassBreaksRenderer,Be as regenerateContinuousRenderer,Oe as regenerateVisualVariables,Fe as updateRendererWithReferenceSize};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import"../../../symbols.js";import e from"../../../core/Error.js";import{clone as r}from"../../../core/lang.js";import n from"../../../renderers/visualVariables/support/SizeStop.js";import{PlacementPolygonCenterMethod as t}from"../../../symbols/cim/enums.js";import i from"../../../symbols/CIMSymbol.js";var o;function a(r){if(null!=r.minDataValue&&null!=r.maxDataValue&&null!=r.minSize&&null!=r.maxSize&&"number"==typeof r.minSize&&"number"==typeof r.maxSize)return[new n({value:r.minDataValue,size:r.minSize}),new n({value:r.maxDataValue,size:r.maxSize})];throw new e("create-reference-size-symbol","Invalid size variable")}function l(e){const{view:r,field:n,normalizationField:t,sizeStops:i,sizeByScaleEnabled:a}=e,{value:l,size:s}=i[0],{value:m,size:c}=i[1];let u,y=0;n&&(y=`$feature["${n}"]`,u=`\n if(!HasValue($feature, "${n}")){\n return 0;\n }\n $feature["${n}"];\n `),t&&(y=`$feature["${n}"] / $feature["${t}"]`,u=`if(!HasValue($feature, "${n}") || !HasValue($feature, "${t}") || $feature["${t}"] <= 0){\n return 0;\n }\n $feature["${n}"];\n $feature["${t}"];`);const p={type:"CIMExpressionInfo",title:"Size in pixels of outer ring",expression:a?`\n ${u}\n var maxSize = ${c};\n var referenceScale = ${r.scale};\n return (maxSize * (referenceScale / $view.scale));\n `:`${u}\n return ${c}`,returnType:"Default"},f={type:"CIMExpressionInfo",title:"Size in pixels of inner ring",expression:`\n ${u}\n var value = ${y};\n\n var referenceScale = ${r.scale};\n var referenceScaleRatio = ${a?"(referenceScale / $view.scale)":1};\n var maxSize = ${c} * referenceScaleRatio;\n var minSize = ${s} * referenceScaleRatio;\n\n var minDataValue = ${l};\n var maxDataValue = ${m};\n\n var ratio = Constrain(( value - minDataValue ) / ( maxDataValue - minDataValue ), 0, 1);\n\n var innerDotSize = Constrain(maxSize * ratio, minSize, maxSize);\n return innerDotSize;\n `,returnType:"Default"};return[{type:"CIMPrimitiveOverride",primitiveName:o.OuterRing,propertyName:"Size",valueExpressionInfo:p},{type:"CIMPrimitiveOverride",primitiveName:o.InnerDot,propertyName:"Size",valueExpressionInfo:f}]}function s(e){switch(e){case"circle":return{rings:[[[8.5,.2],[7.06,.33],[5.66,.7],[4.35,1.31],[3.16,2.14],[2.14,3.16],[1.31,4.35],[.7,5.66],[.33,7.06],[.2,8.5],[.33,9.94],[.7,11.34],[1.31,12.65],[2.14,13.84],[3.16,14.86],[4.35,15.69],[5.66,16.3],[7.06,16.67],[8.5,16.8],[9.94,16.67],[11.34,16.3],[12.65,15.69],[13.84,14.86],[14.86,13.84],[15.69,12.65],[16.3,11.34],[16.67,9.94],[16.8,8.5],[16.67,7.06],[16.3,5.66],[15.69,4.35],[14.86,3.16],[13.84,2.14],[12.65,1.31],[11.34,.7],[9.94,.33],[8.5,.2]]]};case"square":return{rings:[[[.5,.5],[.5,16.5],[16.5,16.5],[16.5,.5],[.5,.5]]]};case"diamond":return{rings:[[[8.5,.5],[.2,8.5],[8.5,16.5],[16.5,8.5],[8.5,.5]]]};case"hexagon-pointy":return{rings:[[[15.86,12.75],[15.86,4.25],[8.5,0],[1.14,4.25],[1.14,12.75],[8.5,17],[15.86,12.75]]]};case"hexagon-flat":return{rings:[[[12.75,15.86],[17,8.5],[12.75,1.14],[4.25,1.14],[0,8.5],[4.25,15.86],[12.75,15.86]]]}}}function m(e){const{type:r,color:n,colorLocked:i}=e;return{type:"CIMVectorMarker",enable:!0,colorLocked:!1,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",primitiveName:o.OuterRing,frame:{xmin:0,ymin:0,xmax:17,ymax:17},markerGraphics:[{type:"CIMMarkerGraphic",geometry:s(r),symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:n.toArray(),colorLocked:!!i,effects:[{type:"CIMGeometricEffectDonut",width:.75}]}]}}],scaleSymbolsProportionally:!1,respectFrame:!0,markerPlacement:{type:"CIMMarkerPlacementPolygonCenter",placePerPart:!1,method:t.OnPolygon,offsetX:0,offsetY:0,clipAtBoundary:!1},size:20}}function c(e){const{type:r,color:n}=e;return{type:"CIMVectorMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",primitiveName:o.InnerDot,frame:{xmin:0,ymin:0,xmax:17,ymax:17},markerGraphics:[{type:"CIMMarkerGraphic",geometry:s(r),symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:n.toArray()}]}}],scaleSymbolsProportionally:!0,respectFrame:!0,markerPlacement:{type:"CIMMarkerPlacementPolygonCenter",placePerPart:!1,method:t.OnPolygon,offsetX:0,offsetY:0,clipAtBoundary:!1},size:10}}function u(e){const{primitiveOverrides:r}=e;return new i({data:{type:"CIMSymbolReference",symbol:{type:"CIMPolygonSymbol",symbolLayers:[m(e),c(e)]},primitiveOverrides:r}})}function y(e){return"CIMVectorMarker"===e?.type?e.markerGraphics?.[0]:void 0}function p(e){return"CIMPolygonSymbol"===e?.symbol?.type?e.symbol.symbolLayers?.[0]:void 0}function f(e,r){"CIMVectorMarker"===e?.type&&null!=r&&(e.size=r)}function v(e,r){const n=y(e);n&&null!=r&&(n.geometry=s(r))}function S(e,r){const n=p(y(e));n&&null!=r&&(n.color=r.toArray())}function z(e,r,n){const t=p(y(e));t&&null!=r&&n&&(t.colorLocked=r)}function d(e,n){const{outerRingSize:t,innerDotSize:i,type:a,color:l,colorLocked:s,primitiveOverrides:m}=n,c="CIMPolygonSymbol"===e.data.symbol?.type?e.data.symbol.symbolLayers:null;if(2===c?.length)for(const r of c){const e=r.primitiveName===o.OuterRing;f(r,e?t:i),v(r,a),S(r,l),z(r,s,e)}return null!=t&&null!=i&&(e.data.primitiveOverrides=null),void 0!==m&&(e.data.primitiveOverrides=r(m)),e}!function(e){e.OuterRing="reference-size-outer-ring",e.InnerDot="reference-size-inner-dot"}(o||(o={}));export{l as createPrimitiveOverrides,u as createReferenceSizeSymbol,a as getReferenceSizeStops,d as updateReferenceSizeSymbol};
5
+ import e from"../../../core/Error.js";import{clone as r}from"../../../core/lang.js";import n from"../../../renderers/visualVariables/support/SizeStop.js";import t from"../../../symbols/CIMSymbol.js";import{PlacementPolygonCenterMethod as i}from"../../../symbols/cim/enums.js";var a;function o(r){if(null!=r.minDataValue&&null!=r.maxDataValue&&null!=r.minSize&&null!=r.maxSize&&"number"==typeof r.minSize&&"number"==typeof r.maxSize)return[new n({value:r.minDataValue,size:r.minSize}),new n({value:r.maxDataValue,size:r.maxSize})];throw new e("create-reference-size-symbol","Invalid size variable")}function l(e){const{view:r,field:n,normalizationField:t,sizeStops:i,sizeByScaleEnabled:o}=e,{value:l,size:s}=i[0],{value:m,size:c}=i[1];let u,y=0;n&&(y=`$feature["${n}"]`,u=`\n if(!HasValue($feature, "${n}")){\n return 0;\n }\n $feature["${n}"];\n `),t&&(y=`$feature["${n}"] / $feature["${t}"]`,u=`if(!HasValue($feature, "${n}") || !HasValue($feature, "${t}") || $feature["${t}"] <= 0){\n return 0;\n }\n $feature["${n}"];\n $feature["${t}"];`);const p={type:"CIMExpressionInfo",title:"Size in pixels of outer ring",expression:o?`\n ${u}\n var maxSize = ${c};\n var referenceScale = ${r.scale};\n return (maxSize * (referenceScale / $view.scale));\n `:`${u}\n return ${c}`,returnType:"Default"},f={type:"CIMExpressionInfo",title:"Size in pixels of inner ring",expression:`\n ${u}\n var value = ${y};\n\n var referenceScale = ${r.scale};\n var referenceScaleRatio = ${o?"(referenceScale / $view.scale)":1};\n var maxSize = ${c} * referenceScaleRatio;\n var minSize = ${s} * referenceScaleRatio;\n\n var minDataValue = ${l};\n var maxDataValue = ${m};\n\n var ratio = Constrain(( value - minDataValue ) / ( maxDataValue - minDataValue ), 0, 1);\n\n var innerDotSize = Constrain(maxSize * ratio, minSize, maxSize);\n return innerDotSize;\n `,returnType:"Default"};return[{type:"CIMPrimitiveOverride",primitiveName:a.OuterRing,propertyName:"Size",valueExpressionInfo:p},{type:"CIMPrimitiveOverride",primitiveName:a.InnerDot,propertyName:"Size",valueExpressionInfo:f}]}function s(e){switch(e){case"circle":return{rings:[[[8.5,.2],[7.06,.33],[5.66,.7],[4.35,1.31],[3.16,2.14],[2.14,3.16],[1.31,4.35],[.7,5.66],[.33,7.06],[.2,8.5],[.33,9.94],[.7,11.34],[1.31,12.65],[2.14,13.84],[3.16,14.86],[4.35,15.69],[5.66,16.3],[7.06,16.67],[8.5,16.8],[9.94,16.67],[11.34,16.3],[12.65,15.69],[13.84,14.86],[14.86,13.84],[15.69,12.65],[16.3,11.34],[16.67,9.94],[16.8,8.5],[16.67,7.06],[16.3,5.66],[15.69,4.35],[14.86,3.16],[13.84,2.14],[12.65,1.31],[11.34,.7],[9.94,.33],[8.5,.2]]]};case"square":return{rings:[[[.5,.5],[.5,16.5],[16.5,16.5],[16.5,.5],[.5,.5]]]};case"diamond":return{rings:[[[8.5,.5],[.2,8.5],[8.5,16.5],[16.5,8.5],[8.5,.5]]]};case"hexagon-pointy":return{rings:[[[15.86,12.75],[15.86,4.25],[8.5,0],[1.14,4.25],[1.14,12.75],[8.5,17],[15.86,12.75]]]};case"hexagon-flat":return{rings:[[[12.75,15.86],[17,8.5],[12.75,1.14],[4.25,1.14],[0,8.5],[4.25,15.86],[12.75,15.86]]]}}}function m(e){const{type:r,color:n,colorLocked:t}=e;return{type:"CIMVectorMarker",enable:!0,colorLocked:!1,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",primitiveName:a.OuterRing,frame:{xmin:0,ymin:0,xmax:17,ymax:17},markerGraphics:[{type:"CIMMarkerGraphic",geometry:s(r),symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:n.toArray(),colorLocked:!!t,effects:[{type:"CIMGeometricEffectDonut",width:.75}]}]}}],scaleSymbolsProportionally:!1,respectFrame:!0,markerPlacement:{type:"CIMMarkerPlacementPolygonCenter",placePerPart:!1,method:i.OnPolygon,offsetX:0,offsetY:0,clipAtBoundary:!1},size:20}}function c(e){const{type:r,color:n}=e;return{type:"CIMVectorMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",primitiveName:a.InnerDot,frame:{xmin:0,ymin:0,xmax:17,ymax:17},markerGraphics:[{type:"CIMMarkerGraphic",geometry:s(r),symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:n.toArray()}]}}],scaleSymbolsProportionally:!0,respectFrame:!0,markerPlacement:{type:"CIMMarkerPlacementPolygonCenter",placePerPart:!1,method:i.OnPolygon,offsetX:0,offsetY:0,clipAtBoundary:!1},size:10}}function u(e){const{primitiveOverrides:r}=e;return new t({data:{type:"CIMSymbolReference",symbol:{type:"CIMPolygonSymbol",symbolLayers:[m(e),c(e)]},primitiveOverrides:r}})}function y(e){return"CIMVectorMarker"===e?.type?e.markerGraphics?.[0]:void 0}function p(e){return"CIMPolygonSymbol"===e?.symbol?.type?e.symbol.symbolLayers?.[0]:void 0}function f(e,r){"CIMVectorMarker"===e?.type&&null!=r&&(e.size=r)}function v(e,r){const n=y(e);n&&null!=r&&(n.geometry=s(r))}function S(e,r){const n=p(y(e));n&&null!=r&&(n.color=r.toArray())}function z(e,r,n){const t=p(y(e));t&&null!=r&&n&&(t.colorLocked=r)}function d(e,n){const{outerRingSize:t,innerDotSize:i,type:o,color:l,colorLocked:s,primitiveOverrides:m}=n,c="CIMPolygonSymbol"===e.data.symbol?.type?e.data.symbol.symbolLayers:null;if(2===c?.length)for(const r of c){const e=r.primitiveName===a.OuterRing;f(r,e?t:i),v(r,o),S(r,l),z(r,s,e)}return null!=t&&null!=i&&(e.data.primitiveOverrides=null),void 0!==m&&(e.data.primitiveOverrides=r(m)),e}!function(e){e.OuterRing="reference-size-outer-ring",e.InnerDot="reference-size-inner-dot"}(a||(a={}));export{l as createPrimitiveOverrides,u as createReferenceSizeSymbol,o as getReferenceSizeStops,d as updateReferenceSizeSymbol};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../Color.js";import"../../../intl.js";import"../../../symbols.js";import t from"../../../core/Collection.js";import"../../../core/has.js";import n from"../../../core/Error.js";import{convertDateFormatToIntlOptions as o,formatDate as i}from"../../../intl/date.js";import{round as r}from"../../../renderers/support/numberUtils.js";import s from"../../../renderers/support/pointCloud/PointSizeSplatAlgorithm.js";import l from"../../heuristics/outline.js";import a from"../../statistics/classBreaks.js";import m from"../../statistics/summaryStatistics.js";import{getAgeExpressions as u}from"../../statistics/support/ageUtils.js";import{defaultBasemapGroups as c,isAnyDateField as f,defaultStatisticTypes as d,getBasemapId as p,getBasemapGroup as y}from"../../support/utils.js";import w from"../../../symbols/edges/SketchEdges3D.js";import h from"../../../symbols/edges/SolidEdges3D.js";import{getTimeZoneFormattingOptions as b,shortTimeZoneName as g}from"../../../time/timeZoneUtils.js";import{getBackgroundColorTheme as j}from"../../../views/support/colorUtils.js";import D from"../../../symbols/MeshSymbol3D.js";import S from"../../../symbols/FillSymbol3DLayer.js";import v from"../../../symbols/SimpleFillSymbol.js";import x from"../../../symbols/PolygonSymbol3D.js";import z from"../../../symbols/ExtrudeSymbol3DLayer.js";import T from"../../../symbols/SimpleLineSymbol.js";import U from"../../../symbols/LineSymbol3D.js";import L from"../../../symbols/LineSymbol3DLayer.js";import V from"../../../symbols/PathSymbol3DLayer.js";import k from"../../../symbols/SimpleMarkerSymbol.js";import F from"../../../symbols/PointSymbol3D.js";import I from"../../../symbols/IconSymbol3DLayer.js";import M from"../../../symbols/ObjectSymbol3DLayer.js";import{fetchMessageBundle as C}from"../../../intl/messages.js";import{substitute as Z}from"../../../intl/substitute.js";const B=/^(\d+(\.\d+)?)\s*(%)$/i,E=new e([0,0,0,.4]),P=new Set(["hours","minutes","seconds"]),A=[...c.light,...c.dark];function R(e,t,n,r){if("string"==typeof e){const t=n.getField(e);if(t&&f(t))return t.alias||t.name}else if("number"==typeof e||e instanceof Date){const s=null!=t&&P.has(t),l=o(s?"short-date-short-time":"short-date");if(r&&s){const t=n.layer,{timeZone:o}=b("preferredTimeZone"in t?t.preferredTimeZone:null,"datesInUnknownTimezone"in t&&t.datesInUnknownTimezone,r.timeZone,l,"date");return i(e,{...l,timeZone:o,timeZoneName:g})}return i(e,l)}return e}function Y(e,t,n){return e+t>0&&0>e-t&&n<0?0:e}function N(e,t,n,o){const{avg:i,stddev:r,min:s,max:l}=e,a=W(e,!!n,o??!0);let m=a?a[0]:s,u=a?a[1]:l;return a?{minDataValue:m,maxDataValue:u,defaultValuesUsed:!0}:("above"===t?m=Y(i,r,s):"below"===t&&(u=Y(i,r,s)),{minDataValue:m,maxDataValue:u,defaultValuesUsed:!1})}function W(e,t,n){let o,i;const r=$({statistics:e,isDate:t});return r.defaultValuesUsed?(o=r.min,i=r.max):!n||null!=e.avg&&e.stddev||(o=e.min,i=e.max),null!=o&&null!=i?[o,i]:null}function $(e){let t,n,o=e.statistics;if(o||(o={}),null==o.min)if(e.isDate){const e=q();t=e[0],n=e[1]}else t=0,n=100;else if(o.min===o.max)if(e.isDate){const e=q(o.min);t=e[0],n=e[1]}else o.min<0?(t=2*o.min,n=0):o.min>0?(t=0,n=2*o.min):(t=0,n=100);return{min:null!=t?t:o.min,max:null!=n?n:o.max,defaultValuesUsed:null!=t||null!=n}}function q(e){const t=("number"==typeof e?new Date(e):new Date).getUTCFullYear();let n=Date.UTC(t,0,1,12,0,0,0),o=Date.UTC(t,11,31,12,0,0,0);return"number"==typeof e&&(e<n&&(n=e),e>o&&(o=e)),[n,o]}function O({minDataValue:e,maxDataValue:t,defaultValuesUsed:n},o,i,r=!0){return n||"above"===i||"below"===i?H(e,t,5):J(o,r)}function _(e,t){const{avg:n,stddev:o}=e,i=e.min,s=e.max;if(null==n||null==o){const[n,o]=W(e,t,!0);return H(n,o,5)}const l=Y(n,o,i),a=s-l,m=l-i,u=Math.max(a,m);return r([l-u,l-u/2,l,u/2+l,l+u],{strictBounds:!0})}function G(e,t){const{min:n,max:o}=t,[i,s,l,a,m]=e,u=null!=n&&i<n,c=null!=o&&m>o;if(null==n||null==o||!u&&!c)return e;const f=u?n:i,d=c?o:m;return r([f,u?f+(l-f)/2:s,l,c?l+(d-l)/2:a,d],{strictBounds:!0})}function H(e,t,n){const o=(t-e)/(n-1),i=[e];for(let r=1;r<=n-2;r++)i.push(e+r*o);return i.push(t),r(i,{strictBounds:!0})}function J({min:e,max:t,avg:n,stddev:o},i=!0){if(null==e||null==t||null==n||null==o)return[];let s=n-o,l=n+o;s<e&&(s=e),l>t&&(l=t),i&&(n=s+(l-s)/2);let a=r([s,l],{strictBounds:!0});return s=a[0],l=a[1],a=[s,s+(n-s)/2,n,n+(l-n)/2,l],r(a,{strictBounds:!0})}function K(e,t,n){switch(t){case"point":case"multipoint":return n?"noDataSize"in e?e.noDataSize:null:"size"in e?e.size:null;case"polyline":return n?"noDataWidth"in e?e.noDataWidth:null:"width"in e?e.width:null;case"polygon":return"size"in e?e.size:null;default:return}}function Q(e,t,n){switch(t){case"point":case"multipoint":case"polygon":{if(!("outline"in e))return null;const t={color:e.outline.color,width:e.outline.width};if(null!=n&&t.color){const e=t.color.clone();e.a=n,t.color=e}return t}default:return}}function X(e,n){const{type:o,size:i,color:r,outline:s}=n;let l;switch(e){case"point":case"multipoint":if("2d"===o)l=new k({color:r,size:i,outline:{color:s.color,width:s.width}});else if("3d-flat"===o)l=new F({symbolLayers:new t([new I({size:i,resource:{primitive:"circle"},material:{color:r},outline:{color:s.color,size:s.width}})])});else if(o?.includes("3d-volumetric")){const e="3d-volumetric-uniform"===o,s=new M({height:i,resource:{primitive:e?"sphere":"cylinder"},material:{color:r}});e||(s.width=n.widthAndDepth,s.depth=n.widthAndDepth),l=new F({symbolLayers:new t([s])})}break;case"polyline":"2d"===o?l=new T({color:r,width:i}):"3d-flat"===o?l=new U({symbolLayers:new t([new L({size:i,material:{color:r}})])}):"3d-volumetric"===o&&(l=new U({symbolLayers:new t([new V({width:"number"==typeof i?i:parseFloat(i),height:"number"==typeof i?i:parseFloat(i),material:{color:r}})])}));break;case"polygon":"2d"===o?l=new v({color:r,outline:{color:s.color,width:s.width}}):"3d-flat"===o?l=new x({symbolLayers:new t([new S({material:{color:r},outline:{color:s.color,size:s.width}})])}):"3d-volumetric"===o&&(l=new x({symbolLayers:new t([new z({size:i,material:{color:r}})])}));break;case"mesh":{const e=n.meshInfo?.colorMixMode,o=n.meshInfo?.edgesType;l=new D({symbolLayers:new t([new S({material:{color:r,colorMixMode:e||null},edges:"solid"===o?new h({color:E}):"sketch"===o?new w({color:E}):null})])});break}}return l}function ee(e,t,o){const i=te({layer:e,fields:t});if(i.length)return new n(o,"Unknown fields: "+i.join(", ")+". You can only use fields defined in the layer schema");const r=ne({layer:e,fields:t});return r.length?new n(o,"Unsupported fields: "+r.join(", ")+". You can only use fields that are accessible to the renderer i.e. FieldUsageInfo.supportsRenderer must be true"):void 0}function te(e){const t=e.layer;return e.fields.filter((e=>!t.getField(e)))}function ne(e){const t=e.layer;return e.fields.filter((e=>{const n=t.getFieldUsageInfo(e);return!n||!n.supportsRenderer}))}async function oe(e,t){const n={layer:e.layer,view:e.view,filter:e.filter,signal:e.signal},[o,i]=await Promise.all([a(e).catch(ue),t?l(n).catch(ue):null]),r=W({min:o?.minValue,max:o?.maxValue,avg:null,stddev:null},!1,!1);return{result:r?await a({...e,classificationMethod:"equal-interval",numClasses:1,analyzeData:!1,minValue:r[0],maxValue:r[1],normalizationTotal:r[0]+r[1]}):o,defaultValuesUsed:!!r,outlineResult:i}}function ie(e){return m({outStatisticTypes:d,...e})}function re(e,t){let{minSize:n,maxSize:o}=e;if("height"===t){n=((o-n)/2+n)/(2*2.3),o*=2}return{minSize:n,maxSize:o}}function se(e){return B.test(e)}function le(e){if(null==e)return;const t=e.match(B),n=Number(t[1]);return"%"===t[3]?new s({scaleFactor:n/100}):void 0}function ae(e,t,n,o){e.startTime=t instanceof Date?t.getTime():t,e.endTime=n instanceof Date?n.getTime():n,e.units=o,e.field="string"==typeof t?t:"string"==typeof n?n:null}async function me(e,t){let n=null,o=null;if(!e&&!t)return{basemapId:n,basemapTheme:o};if(t&&(o=await j(t),e||(e=t.map?.basemap)),e&&(n=p(e,A,!1),n&&!o)){const e=y(n);null!=e&&(o=e)}return!n&&o&&(n="dark"===o?"dark-gray":"gray"),{basemapId:n,basemapTheme:o}}function ue(e){const t=e.name?.toLowerCase();if(!t||t?.includes(":insufficient-info")||t?.includes(":insufficient-data"))return null;throw e}async function ce(e,t){const{layer:n,startTime:o,endTime:i,view:r}=e,s=u({layer:n,startTime:o,endTime:i,unit:t}).valueExpression,l=await C("esri/smartMapping/t9n/smartMapping");return{valueExpression:s,title:Z(l[`ageInfo_${t}`],{unit:t,startTime:R(o,t,n,r),endTime:R(i,t,n,r)})}}export{G as clampAboveAndBelowStopValues,O as createDataValues,H as createDefaultStopValues,J as createStopValues,_ as createStopValuesForAboveBelow,X as createSymbol,ue as errorCallback,R as formatDate,Y as getBaseValueForAboveBelow,me as getBasemapInfo,oe as getClassBreaks,N as getDataRange,W as getDefaultDataRange,le as getPointSizeAlgorithm,re as getSizeRangeForAxis,ie as getSummaryStatistics,Q as getSymbolOutlineFromScheme,K as getSymbolSizeFromScheme,ce as getTitleAndExpressionForAgeRenderer,se as isValidPointSize,ae as updateAgeRendererAuthoringInfoVV,ee as verifyBasicFieldValidity};
5
+ import e from"../../../Color.js";import"../../../intl.js";import t from"../../../core/Collection.js";import"../../../core/has.js";import n from"../../../core/Error.js";import{convertDateFormatToIntlOptions as o,formatDate as i}from"../../../intl/date.js";import{round as r}from"../../../renderers/support/numberUtils.js";import s from"../../../renderers/support/pointCloud/PointSizeSplatAlgorithm.js";import l from"../../heuristics/outline.js";import a from"../../statistics/classBreaks.js";import m from"../../statistics/summaryStatistics.js";import{getAgeExpressions as u}from"../../statistics/support/ageUtils.js";import{defaultBasemapGroups as c,isAnyDateField as f,defaultStatisticTypes as d,getBasemapId as p,getBasemapGroup as y}from"../../support/utils.js";import w from"../../../symbols/ExtrudeSymbol3DLayer.js";import h from"../../../symbols/FillSymbol3DLayer.js";import b from"../../../symbols/IconSymbol3DLayer.js";import g from"../../../symbols/LineSymbol3D.js";import D from"../../../symbols/LineSymbol3DLayer.js";import j from"../../../symbols/MeshSymbol3D.js";import S from"../../../symbols/ObjectSymbol3DLayer.js";import v from"../../../symbols/PathSymbol3DLayer.js";import x from"../../../symbols/PointSymbol3D.js";import z from"../../../symbols/PolygonSymbol3D.js";import T from"../../../symbols/SimpleFillSymbol.js";import U from"../../../symbols/SimpleLineSymbol.js";import L from"../../../symbols/SimpleMarkerSymbol.js";import V from"../../../symbols/edges/SketchEdges3D.js";import k from"../../../symbols/edges/SolidEdges3D.js";import{getTimeZoneFormattingOptions as F,shortTimeZoneName as I}from"../../../time/timeZoneUtils.js";import{getBackgroundColorTheme as M}from"../../../views/support/colorUtils.js";import{fetchMessageBundle as C}from"../../../intl/messages.js";import{substitute as Z}from"../../../intl/substitute.js";const B=/^(\d+(\.\d+)?)\s*(%)$/i,E=new e([0,0,0,.4]),P=new Set(["hours","minutes","seconds"]),A=[...c.light,...c.dark];function R(e,t,n,r){if("string"==typeof e){const t=n.getField(e);if(t&&f(t))return t.alias||t.name}else if("number"==typeof e||e instanceof Date){const s=null!=t&&P.has(t),l=o(s?"short-date-short-time":"short-date");if(r&&s){const t=n.layer,{timeZone:o}=F("preferredTimeZone"in t?t.preferredTimeZone:null,"datesInUnknownTimezone"in t&&t.datesInUnknownTimezone,r.timeZone,l,"date");return i(e,{...l,timeZone:o,timeZoneName:I})}return i(e,l)}return e}function Y(e,t,n){return e+t>0&&0>e-t&&n<0?0:e}function N(e,t,n,o){const{avg:i,stddev:r,min:s,max:l}=e,a=W(e,!!n,o??!0);let m=a?a[0]:s,u=a?a[1]:l;return a?{minDataValue:m,maxDataValue:u,defaultValuesUsed:!0}:("above"===t?m=Y(i,r,s):"below"===t&&(u=Y(i,r,s)),{minDataValue:m,maxDataValue:u,defaultValuesUsed:!1})}function W(e,t,n){let o,i;const r=$({statistics:e,isDate:t});return r.defaultValuesUsed?(o=r.min,i=r.max):!n||null!=e.avg&&e.stddev||(o=e.min,i=e.max),null!=o&&null!=i?[o,i]:null}function $(e){let t,n,o=e.statistics;if(o||(o={}),null==o.min)if(e.isDate){const e=q();t=e[0],n=e[1]}else t=0,n=100;else if(o.min===o.max)if(e.isDate){const e=q(o.min);t=e[0],n=e[1]}else o.min<0?(t=2*o.min,n=0):o.min>0?(t=0,n=2*o.min):(t=0,n=100);return{min:null!=t?t:o.min,max:null!=n?n:o.max,defaultValuesUsed:null!=t||null!=n}}function q(e){const t=("number"==typeof e?new Date(e):new Date).getUTCFullYear();let n=Date.UTC(t,0,1,12,0,0,0),o=Date.UTC(t,11,31,12,0,0,0);return"number"==typeof e&&(e<n&&(n=e),e>o&&(o=e)),[n,o]}function O({minDataValue:e,maxDataValue:t,defaultValuesUsed:n},o,i,r=!0){return n||"above"===i||"below"===i?H(e,t,5):J(o,r)}function _(e,t){const{avg:n,stddev:o}=e,i=e.min,s=e.max;if(null==n||null==o){const[n,o]=W(e,t,!0);return H(n,o,5)}const l=Y(n,o,i),a=s-l,m=l-i,u=Math.max(a,m);return r([l-u,l-u/2,l,u/2+l,l+u],{strictBounds:!0})}function G(e,t){const{min:n,max:o}=t,[i,s,l,a,m]=e,u=null!=n&&i<n,c=null!=o&&m>o;if(null==n||null==o||!u&&!c)return e;const f=u?n:i,d=c?o:m;return r([f,u?f+(l-f)/2:s,l,c?l+(d-l)/2:a,d],{strictBounds:!0})}function H(e,t,n){const o=(t-e)/(n-1),i=[e];for(let r=1;r<=n-2;r++)i.push(e+r*o);return i.push(t),r(i,{strictBounds:!0})}function J({min:e,max:t,avg:n,stddev:o},i=!0){if(null==e||null==t||null==n||null==o)return[];let s=n-o,l=n+o;s<e&&(s=e),l>t&&(l=t),i&&(n=s+(l-s)/2);let a=r([s,l],{strictBounds:!0});return s=a[0],l=a[1],a=[s,s+(n-s)/2,n,n+(l-n)/2,l],r(a,{strictBounds:!0})}function K(e,t,n){switch(t){case"point":case"multipoint":return n?"noDataSize"in e?e.noDataSize:null:"size"in e?e.size:null;case"polyline":return n?"noDataWidth"in e?e.noDataWidth:null:"width"in e?e.width:null;case"polygon":return"size"in e?e.size:null;default:return}}function Q(e,t,n){switch(t){case"point":case"multipoint":case"polygon":{if(!("outline"in e))return null;const t={color:e.outline.color,width:e.outline.width};if(null!=n&&t.color){const e=t.color.clone();e.a=n,t.color=e}return t}default:return}}function X(e,n){const{type:o,size:i,color:r,outline:s}=n;let l;switch(e){case"point":case"multipoint":if("2d"===o)l=new L({color:r,size:i,outline:{color:s.color,width:s.width}});else if("3d-flat"===o)l=new x({symbolLayers:new t([new b({size:i,resource:{primitive:"circle"},material:{color:r},outline:{color:s.color,size:s.width}})])});else if(o?.includes("3d-volumetric")){const e="3d-volumetric-uniform"===o,s=new S({height:i,resource:{primitive:e?"sphere":"cylinder"},material:{color:r}});e||(s.width=n.widthAndDepth,s.depth=n.widthAndDepth),l=new x({symbolLayers:new t([s])})}break;case"polyline":"2d"===o?l=new U({color:r,width:i}):"3d-flat"===o?l=new g({symbolLayers:new t([new D({size:i,material:{color:r}})])}):"3d-volumetric"===o&&(l=new g({symbolLayers:new t([new v({width:"number"==typeof i?i:parseFloat(i),height:"number"==typeof i?i:parseFloat(i),material:{color:r}})])}));break;case"polygon":"2d"===o?l=new T({color:r,outline:{color:s.color,width:s.width}}):"3d-flat"===o?l=new z({symbolLayers:new t([new h({material:{color:r},outline:{color:s.color,size:s.width}})])}):"3d-volumetric"===o&&(l=new z({symbolLayers:new t([new w({size:i,material:{color:r}})])}));break;case"mesh":{const e=n.meshInfo?.colorMixMode,o=n.meshInfo?.edgesType;l=new j({symbolLayers:new t([new h({material:{color:r,colorMixMode:e||null},edges:"solid"===o?new k({color:E}):"sketch"===o?new V({color:E}):null})])});break}}return l}function ee(e,t,o){const i=te({layer:e,fields:t});if(i.length)return new n(o,"Unknown fields: "+i.join(", ")+". You can only use fields defined in the layer schema");const r=ne({layer:e,fields:t});return r.length?new n(o,"Unsupported fields: "+r.join(", ")+". You can only use fields that are accessible to the renderer i.e. FieldUsageInfo.supportsRenderer must be true"):void 0}function te(e){const t=e.layer;return e.fields.filter((e=>!t.getField(e)))}function ne(e){const t=e.layer;return e.fields.filter((e=>{const n=t.getFieldUsageInfo(e);return!n||!n.supportsRenderer}))}async function oe(e,t){const n={layer:e.layer,view:e.view,filter:e.filter,signal:e.signal},[o,i]=await Promise.all([a(e).catch(ue),t?l(n).catch(ue):null]),r=W({min:o?.minValue,max:o?.maxValue,avg:null,stddev:null},!1,!1);return{result:r?await a({...e,classificationMethod:"equal-interval",numClasses:1,analyzeData:!1,minValue:r[0],maxValue:r[1],normalizationTotal:r[0]+r[1]}):o,defaultValuesUsed:!!r,outlineResult:i}}function ie(e){return m({outStatisticTypes:d,...e})}function re(e,t){let{minSize:n,maxSize:o}=e;if("height"===t){n=((o-n)/2+n)/(2*2.3),o*=2}return{minSize:n,maxSize:o}}function se(e){return B.test(e)}function le(e){if(null==e)return;const t=e.match(B),n=Number(t[1]);return"%"===t[3]?new s({scaleFactor:n/100}):void 0}function ae(e,t,n,o){e.startTime=t instanceof Date?t.getTime():t,e.endTime=n instanceof Date?n.getTime():n,e.units=o,e.field="string"==typeof t?t:"string"==typeof n?n:null}async function me(e,t){let n=null,o=null;if(!e&&!t)return{basemapId:n,basemapTheme:o};if(t&&(o=await M(t),e||(e=t.map?.basemap)),e&&(n=p(e,A,!1),n&&!o)){const e=y(n);null!=e&&(o=e)}return!n&&o&&(n="dark"===o?"dark-gray":"gray"),{basemapId:n,basemapTheme:o}}function ue(e){const t=e.name?.toLowerCase();if(!t||t?.includes(":insufficient-info")||t?.includes(":insufficient-data"))return null;throw e}async function ce(e,t){const{layer:n,startTime:o,endTime:i,view:r}=e,s=u({layer:n,startTime:o,endTime:i,unit:t}).valueExpression,l=await C("esri/smartMapping/t9n/smartMapping");return{valueExpression:s,title:Z(l[`ageInfo_${t}`],{unit:t,startTime:R(o,t,n,r),endTime:R(i,t,n,r)})}}export{G as clampAboveAndBelowStopValues,O as createDataValues,H as createDefaultStopValues,J as createStopValues,_ as createStopValuesForAboveBelow,X as createSymbol,ue as errorCallback,R as formatDate,Y as getBaseValueForAboveBelow,me as getBasemapInfo,oe as getClassBreaks,N as getDataRange,W as getDefaultDataRange,le as getPointSizeAlgorithm,re as getSizeRangeForAxis,ie as getSummaryStatistics,Q as getSymbolOutlineFromScheme,K as getSymbolSizeFromScheme,ce as getTitleAndExpressionForAgeRenderer,se as isValidPointSize,ae as updateAgeRendererAuthoringInfoVV,ee as verifyBasicFieldValidity};