@arcgis/core 4.28.0-rc.1 → 4.28.0-rc.3

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 (764) hide show
  1. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  2. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  3. package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
  4. package/arcade/featureset/support/FeatureSet.js +1 -1
  5. package/arcade/functions/featuresetbase.js +1 -1
  6. package/arcade/treeAnalysis.js +1 -1
  7. package/assets/esri/core/workers/RemoteClient.js +1 -1
  8. package/assets/esri/core/workers/chunks/020825b9c12f2b6386a7.js +1 -0
  9. package/assets/esri/core/workers/chunks/02d235849ba93541d7ad.js +1 -0
  10. package/assets/esri/core/workers/chunks/0422c5160491fbcf01dc.js +1 -0
  11. package/assets/esri/core/workers/chunks/07adca463da5554e514d.js +1 -0
  12. package/assets/esri/core/workers/chunks/07c1783baf9b19b4876a.js +1 -0
  13. package/assets/esri/core/workers/chunks/08a98e85e86ce560d005.js +1 -0
  14. package/assets/esri/core/workers/chunks/0ea41f142793edb99d3a.js +1 -0
  15. package/assets/esri/core/workers/chunks/10dc578a90e1194c8720.js +1 -0
  16. package/assets/esri/core/workers/chunks/18e0c5bfeb1aa7213dfa.js +1 -0
  17. package/assets/esri/core/workers/chunks/19c9966f74d287750aaa.js +1 -0
  18. package/assets/esri/core/workers/chunks/1a65d9b9f823d1e8b315.js +1 -0
  19. package/assets/esri/core/workers/chunks/1eb5468c7cf653338d53.js +1 -0
  20. package/assets/esri/core/workers/chunks/1f30ea1a598ddd2e5df3.js +1 -0
  21. package/assets/esri/core/workers/chunks/{40c00b352618c7839f7e.js → 1f87f22e00e3218661c6.js} +1 -1
  22. package/assets/esri/core/workers/chunks/1fc3b526e881ada30420.js +1 -0
  23. package/assets/esri/core/workers/chunks/224e79f6c172da444e0a.js +1 -0
  24. package/assets/esri/core/workers/chunks/2304b7456ced997904f6.js +1 -0
  25. package/assets/esri/core/workers/chunks/2d92df1e3ba4f05e0510.js +1 -0
  26. package/assets/esri/core/workers/chunks/30776102fbab294bfe7b.js +1 -0
  27. package/assets/esri/core/workers/chunks/32bd6a343ea49c331e1f.js +1 -0
  28. package/assets/esri/core/workers/chunks/3491f1945d9c06d8b2c7.js +1 -0
  29. package/assets/esri/core/workers/chunks/366cf9bba6989342e447.js +1 -0
  30. package/assets/esri/core/workers/chunks/37edbd9b05bfdb2e645d.js +1 -0
  31. package/assets/esri/core/workers/chunks/3ac9001b19a90faf5573.js +1 -0
  32. package/assets/esri/core/workers/chunks/3c5a112a9b58770a5242.js +1 -0
  33. package/assets/esri/core/workers/chunks/41081c921037e543a22f.js +1 -0
  34. package/assets/esri/core/workers/chunks/41778f8c49febe1f9404.js +1 -0
  35. package/assets/esri/core/workers/chunks/430ec9f5949b31959893.js +1 -0
  36. package/assets/esri/core/workers/chunks/43575b9acf9819f195f9.js +1 -0
  37. package/assets/esri/core/workers/chunks/43f7d9366d06d69e7c50.js +1 -0
  38. package/assets/esri/core/workers/chunks/4564a7885d045a850887.js +1 -0
  39. package/assets/esri/core/workers/chunks/{b98a2191cb997d632438.js → 4672504d6fe649da19f2.js} +1 -1
  40. package/assets/esri/core/workers/chunks/4adf3a8c6b49c381a633.js +1 -0
  41. package/assets/esri/core/workers/chunks/4e813f112a428b4acf0e.js +1 -0
  42. package/assets/esri/core/workers/chunks/5386b166f2e5dc0d9143.js +1 -0
  43. package/assets/esri/core/workers/chunks/562eafa5090827ebb7ec.js +1 -0
  44. package/assets/esri/core/workers/chunks/56a61a8bff08ae273de4.js +1 -0
  45. package/assets/esri/core/workers/chunks/580e7d3cbf6797a50ded.js +1 -0
  46. package/assets/esri/core/workers/chunks/5e8f02da4eae41f57383.js +1 -0
  47. package/assets/esri/core/workers/chunks/6046be598e8c673eeb1f.js +1 -0
  48. package/assets/esri/core/workers/chunks/6334a8a7b671d4042108.js +1 -0
  49. package/assets/esri/core/workers/chunks/{2721aa6b6941b28b9758.js → 63c8bf00120a4e67f5b0.js} +1 -1
  50. package/assets/esri/core/workers/chunks/6747503826bfc94bc6c0.js +1 -0
  51. package/assets/esri/core/workers/chunks/6867ed1860afb7aac536.js +1 -0
  52. package/assets/esri/core/workers/chunks/69c1c850af7ee33258e0.js +1 -0
  53. package/assets/esri/core/workers/chunks/70aa04b09143b7dd2ecb.js +1 -0
  54. package/assets/esri/core/workers/chunks/74951370a341f02d3714.js +1 -0
  55. package/assets/esri/core/workers/chunks/7648f3341b7dff2825c3.js +1 -0
  56. package/assets/esri/core/workers/chunks/768271a12dc7e1781447.js +1 -0
  57. package/assets/esri/core/workers/chunks/{efb17a298363beca5209.js → 7756ed853b4ba54cd081.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{fa6103e3d4e857b0035b.js → 78e2fa121760383b08ec.js} +9 -6
  59. package/assets/esri/core/workers/chunks/7b8377b3a9f78f9d3613.js +1 -0
  60. package/assets/esri/core/workers/chunks/7f3bc7a2de59e485f22f.js +1 -0
  61. package/assets/esri/core/workers/chunks/7f433e25f3892475d5dc.js +1 -0
  62. package/assets/esri/core/workers/chunks/80bf6cf1bef17215bca4.js +1 -0
  63. package/assets/esri/core/workers/chunks/{1a723bb4a341f645e5fe.js → 83b8141f0c80e3448012.js} +1 -1
  64. package/assets/esri/core/workers/chunks/83d063b7ce768e9ab3de.js +1 -0
  65. package/assets/esri/core/workers/chunks/83f7e22a12d90ef93e62.js +1 -0
  66. package/assets/esri/core/workers/chunks/{4cc680fe4c9c39d2f853.js → 8a7fa4e8b0d14da7c9eb.js} +1 -1
  67. package/assets/esri/core/workers/chunks/934c32c49bb9e21482fd.js +1 -0
  68. package/assets/esri/core/workers/chunks/969a82b674eda9f8720f.js +1 -0
  69. package/assets/esri/core/workers/chunks/99fd09dd42b75a932e84.js +1 -0
  70. package/assets/esri/core/workers/chunks/{f0664a24f2c3705747a5.js → 9c77d69a13ec22cdd760.js} +1 -1
  71. package/assets/esri/core/workers/chunks/a1e16c33f1843dbdce26.js +1 -0
  72. package/assets/esri/core/workers/chunks/a360534e89a337871921.js +1 -0
  73. package/assets/esri/core/workers/chunks/a4341ec0fe89b865d849.js +1 -0
  74. package/assets/esri/core/workers/chunks/a50ec5b647a160199cb2.js +1 -0
  75. package/assets/esri/core/workers/chunks/a821fa1870b83fed5d31.js +1 -0
  76. package/assets/esri/core/workers/chunks/a8e4726c1db23324eb54.js +1 -0
  77. package/assets/esri/core/workers/chunks/abcfe3bda6f40318b092.js +1 -0
  78. package/assets/esri/core/workers/chunks/ac3e429d43f80c596ec8.js +1 -0
  79. package/assets/esri/core/workers/chunks/ac53b5479dd229fa4f7d.js +1 -0
  80. package/assets/esri/core/workers/chunks/aeb3efa91165dd3d2493.js.LICENSE.txt +1 -1
  81. package/assets/esri/core/workers/chunks/b03eaba5fa75d6ef834a.js +1 -0
  82. package/assets/esri/core/workers/chunks/b3f5e97b47e896c6008a.js +1 -0
  83. package/assets/esri/core/workers/chunks/b6cc8d7dcc710231fe72.js +1 -0
  84. package/assets/esri/core/workers/chunks/{77923afde29ae1ff10ca.js → b6e86e179f99b5cf8dff.js} +1 -1
  85. package/assets/esri/core/workers/chunks/b7c81a5bbcdd94b8a7f6.js +1 -0
  86. package/assets/esri/core/workers/chunks/b9a726f3bbad6fd4d65a.js +1 -0
  87. package/assets/esri/core/workers/chunks/c3ddf5dbc34f118002df.js +1 -0
  88. package/assets/esri/core/workers/chunks/c416df0668f6c596095f.js +1 -0
  89. package/assets/esri/core/workers/chunks/c447f4bf0e5f012f8f9b.js +1 -0
  90. package/assets/esri/core/workers/chunks/c7bd63103f101c09b1ea.js +1 -0
  91. package/assets/esri/core/workers/chunks/cb4b17f5cf96a9e36781.js +1 -0
  92. package/assets/esri/core/workers/chunks/cbddfcf57f72428a6992.js +1 -0
  93. package/assets/esri/core/workers/chunks/cc86c8c88124d916e1b3.js +1 -0
  94. package/assets/esri/core/workers/chunks/d0119dff8771e749436a.js +1 -0
  95. package/assets/esri/core/workers/chunks/d0f903f2257eb96f7789.js +1 -0
  96. package/assets/esri/core/workers/chunks/d153a8b71111165fc891.js +1 -0
  97. package/assets/esri/core/workers/chunks/{7b3d5f044c96e2c2af11.js → d191267d91a53db42956.js} +1 -1
  98. package/assets/esri/core/workers/chunks/d213024012b1a019bfde.js +1 -0
  99. package/assets/esri/core/workers/chunks/d5fec54e98c8622349a4.js +1 -0
  100. package/assets/esri/core/workers/chunks/d878bb6409df183ea0ce.js +1 -0
  101. package/assets/esri/core/workers/chunks/da124ccd18d2745195fe.js +1 -0
  102. package/assets/esri/core/workers/chunks/dd55151bfac60b0deaac.js +1 -0
  103. package/assets/esri/core/workers/chunks/e06cd10b6f8f363b5131.js +1 -0
  104. package/assets/esri/core/workers/chunks/e5352dc8983d06d4ee0f.js +1 -0
  105. package/assets/esri/core/workers/chunks/e67c4b7ad06d8404895a.js +1 -0
  106. package/assets/esri/core/workers/chunks/e810336a4292ea6076a6.js +1 -0
  107. package/assets/esri/core/workers/chunks/{4c3345ffbe79ee0167fb.js → ea9ae9d2aef01af90896.js} +1 -1
  108. package/assets/esri/core/workers/chunks/ef757269fb3fe0e74ef8.js +1 -0
  109. package/assets/esri/core/workers/chunks/f0d342303fc20e266d27.js +1 -0
  110. package/assets/esri/core/workers/chunks/f73563b23fd8dc6cf2fe.js +1 -0
  111. package/assets/esri/core/workers/chunks/f85107720159b855a469.js +1 -0
  112. package/assets/esri/core/workers/chunks/fbc57985d55b5fbe1e8a.js +1 -0
  113. package/assets/esri/core/workers/chunks/ffa330a19a09679212fb.js +1 -0
  114. package/assets/esri/themes/base/_core.scss +2 -0
  115. package/assets/esri/themes/base/widgets/_BasemapGallery.scss +3 -9
  116. package/assets/esri/themes/base/widgets/_DatePicker.scss +4 -0
  117. package/assets/esri/themes/base/widgets/_Features.scss +1 -1
  118. package/assets/esri/themes/base/widgets/_Legend.scss +1 -1
  119. package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +1 -1
  120. package/assets/esri/themes/base/widgets/_TimeZoneLabel.scss +46 -0
  121. package/assets/esri/themes/base/widgets/_Tooltip.scss +1 -1
  122. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +4 -0
  123. package/assets/esri/themes/dark/main.css +1 -1
  124. package/assets/esri/themes/light/main.css +1 -1
  125. package/assets/esri/themes/light/view.css +1 -1
  126. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  127. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  128. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  129. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  130. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  131. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  132. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  133. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  134. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  135. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  136. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  137. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  138. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  139. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  140. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  141. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  142. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  143. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  144. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  145. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  146. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  147. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  148. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  149. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  150. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  151. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  152. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  153. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  154. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  155. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  156. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  157. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  158. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  159. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  160. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  161. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  162. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  163. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  165. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  166. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  167. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  168. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  169. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  170. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  171. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  172. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  173. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  174. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  175. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  176. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  177. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  178. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  179. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  180. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  181. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  182. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  183. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  184. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  185. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  186. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nb.json +1 -1
  187. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  188. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  189. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  190. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  191. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  192. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  193. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  194. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  195. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  196. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  197. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  198. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  199. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  200. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  201. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  202. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  203. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  204. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  205. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  206. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  207. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  208. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  209. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  210. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  211. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  212. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  213. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  214. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  215. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  216. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  217. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  218. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  219. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  220. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  221. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  222. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  223. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  224. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  225. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nb.json +1 -1
  226. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  227. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  228. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  229. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  230. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  231. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  232. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  233. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  234. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  235. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  236. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  237. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  238. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  239. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  240. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  241. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  242. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  243. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ar.json +1 -1
  244. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_bg.json +1 -1
  245. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_bs.json +1 -1
  246. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ca.json +1 -1
  247. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_cs.json +1 -1
  248. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_da.json +1 -1
  249. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_de.json +1 -1
  250. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_el.json +1 -1
  251. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_es.json +1 -1
  252. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_et.json +1 -1
  253. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_fi.json +1 -1
  254. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_fr.json +1 -1
  255. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_he.json +1 -1
  256. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_hr.json +1 -1
  257. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_hu.json +1 -1
  258. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_id.json +1 -1
  259. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_it.json +1 -1
  260. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ja.json +1 -1
  261. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ko.json +1 -1
  262. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_lt.json +1 -1
  263. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_lv.json +1 -1
  264. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_nb.json +1 -1
  265. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_nl.json +1 -1
  266. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_pl.json +1 -1
  267. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_pt-BR.json +1 -1
  268. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_pt-PT.json +1 -1
  269. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ro.json +1 -1
  270. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ru.json +1 -1
  271. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_sk.json +1 -1
  272. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_sl.json +1 -1
  273. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_sr.json +1 -1
  274. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_sv.json +1 -1
  275. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_th.json +1 -1
  276. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_tr.json +1 -1
  277. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_uk.json +1 -1
  278. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_vi.json +1 -1
  279. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_zh-CN.json +1 -1
  280. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_zh-HK.json +1 -1
  281. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_zh-TW.json +1 -1
  282. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ar.json +1 -1
  283. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_bg.json +1 -1
  284. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_bs.json +1 -1
  285. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ca.json +1 -1
  286. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_cs.json +1 -1
  287. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_da.json +1 -1
  288. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_de.json +1 -1
  289. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_el.json +1 -1
  290. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_es.json +1 -1
  291. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_et.json +1 -1
  292. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_fi.json +1 -1
  293. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_fr.json +1 -1
  294. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_he.json +1 -1
  295. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_hr.json +1 -1
  296. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_hu.json +1 -1
  297. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_id.json +1 -1
  298. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_it.json +1 -1
  299. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ja.json +1 -1
  300. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ko.json +1 -1
  301. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_lt.json +1 -1
  302. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_lv.json +1 -1
  303. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_nb.json +1 -1
  304. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_nl.json +1 -1
  305. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_pl.json +1 -1
  306. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_pt-BR.json +1 -1
  307. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_pt-PT.json +1 -1
  308. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ro.json +1 -1
  309. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ru.json +1 -1
  310. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_sk.json +1 -1
  311. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_sl.json +1 -1
  312. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_sr.json +1 -1
  313. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_sv.json +1 -1
  314. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_th.json +1 -1
  315. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_tr.json +1 -1
  316. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_uk.json +1 -1
  317. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_vi.json +1 -1
  318. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_zh-CN.json +1 -1
  319. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_zh-HK.json +1 -1
  320. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_zh-TW.json +1 -1
  321. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ar.json +1 -1
  322. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_bg.json +1 -1
  323. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_bs.json +1 -1
  324. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ca.json +1 -1
  325. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_cs.json +1 -1
  326. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_da.json +1 -1
  327. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_de.json +1 -1
  328. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_el.json +1 -1
  329. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_es.json +1 -1
  330. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_et.json +1 -1
  331. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_fi.json +1 -1
  332. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_fr.json +1 -1
  333. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_he.json +1 -1
  334. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_hr.json +1 -1
  335. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_hu.json +1 -1
  336. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_id.json +1 -1
  337. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_it.json +1 -1
  338. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ja.json +1 -1
  339. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ko.json +1 -1
  340. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_lt.json +1 -1
  341. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_lv.json +1 -1
  342. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_nb.json +1 -1
  343. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_nl.json +1 -1
  344. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_pl.json +1 -1
  345. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_pt-BR.json +1 -1
  346. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_pt-PT.json +1 -1
  347. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ro.json +1 -1
  348. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ru.json +1 -1
  349. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sk.json +1 -1
  350. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sl.json +1 -1
  351. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sr.json +1 -1
  352. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sv.json +1 -1
  353. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_th.json +1 -1
  354. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_tr.json +1 -1
  355. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_uk.json +1 -1
  356. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_vi.json +1 -1
  357. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_zh-CN.json +1 -1
  358. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_zh-HK.json +1 -1
  359. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_zh-TW.json +1 -1
  360. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
  361. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
  362. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
  363. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
  364. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  365. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
  366. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
  367. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  368. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
  369. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
  370. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
  371. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  372. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
  373. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
  374. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
  375. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
  376. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
  377. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
  378. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
  379. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
  380. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  381. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nb.json +1 -1
  382. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
  383. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
  384. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
  385. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
  386. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
  387. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
  388. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
  389. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
  390. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
  391. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
  392. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
  393. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
  394. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
  395. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
  396. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
  397. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
  398. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
  399. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ar.json +1 -1
  400. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bg.json +1 -1
  401. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bs.json +1 -1
  402. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ca.json +1 -1
  403. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_cs.json +1 -1
  404. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_da.json +1 -1
  405. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_de.json +1 -1
  406. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_el.json +1 -1
  407. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_es.json +1 -1
  408. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_et.json +1 -1
  409. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fi.json +1 -1
  410. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fr.json +1 -1
  411. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_he.json +1 -1
  412. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hr.json +1 -1
  413. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hu.json +1 -1
  414. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_id.json +1 -1
  415. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_it.json +1 -1
  416. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ja.json +1 -1
  417. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ko.json +1 -1
  418. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lt.json +1 -1
  419. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lv.json +1 -1
  420. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nb.json +1 -1
  421. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nl.json +1 -1
  422. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pl.json +1 -1
  423. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-BR.json +1 -1
  424. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-PT.json +1 -1
  425. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ro.json +1 -1
  426. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ru.json +1 -1
  427. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sk.json +1 -1
  428. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sl.json +1 -1
  429. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sr.json +1 -1
  430. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sv.json +1 -1
  431. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_th.json +1 -1
  432. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_tr.json +1 -1
  433. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_uk.json +1 -1
  434. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_vi.json +1 -1
  435. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-CN.json +1 -1
  436. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-HK.json +1 -1
  437. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-TW.json +1 -1
  438. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ar.json +1 -1
  439. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_bg.json +1 -1
  440. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_bs.json +1 -1
  441. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ca.json +1 -1
  442. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_cs.json +1 -1
  443. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_da.json +1 -1
  444. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_de.json +1 -1
  445. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_el.json +1 -1
  446. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_es.json +1 -1
  447. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_et.json +1 -1
  448. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_fi.json +1 -1
  449. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_fr.json +1 -1
  450. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_he.json +1 -1
  451. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_hr.json +1 -1
  452. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_hu.json +1 -1
  453. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_id.json +1 -1
  454. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_it.json +1 -1
  455. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ja.json +1 -1
  456. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ko.json +1 -1
  457. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_lt.json +1 -1
  458. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_lv.json +1 -1
  459. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_nb.json +1 -1
  460. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_nl.json +1 -1
  461. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_pl.json +1 -1
  462. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_pt-BR.json +1 -1
  463. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_pt-PT.json +1 -1
  464. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ro.json +1 -1
  465. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ru.json +1 -1
  466. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_sk.json +1 -1
  467. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_sl.json +1 -1
  468. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_sr.json +1 -1
  469. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_sv.json +1 -1
  470. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_th.json +1 -1
  471. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_tr.json +1 -1
  472. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_uk.json +1 -1
  473. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_vi.json +1 -1
  474. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_zh-CN.json +1 -1
  475. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_zh-HK.json +1 -1
  476. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_zh-TW.json +1 -1
  477. package/chunks/HighlightApply.glsl.js +6 -7
  478. package/chunks/HighlightBlur.glsl.js +5 -6
  479. package/chunks/HighlightDownsample.glsl.js +8 -8
  480. package/chunks/languageUtils.js +1 -1
  481. package/core/MemCache.js +1 -1
  482. package/core/MemCachePool.js +1 -1
  483. package/core/colorUtils.js +1 -1
  484. package/geometry/GeometryCursor.js +1 -1
  485. package/geometry/support/meshUtils/georeference.js +1 -1
  486. package/interfaces.d.ts +1546 -264
  487. package/intl/date.js +1 -1
  488. package/kernel.js +1 -1
  489. package/layers/GroupLayer.js +1 -1
  490. package/layers/MapNotesLayer.js +1 -1
  491. package/layers/SceneLayer.js +1 -1
  492. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  493. package/layers/graphics/data/AttributesBuilder.js +1 -1
  494. package/layers/graphics/data/QueryEngineResult.js +1 -1
  495. package/layers/graphics/data/queryValidationUtils.js +1 -1
  496. package/layers/graphics/editingSupport.js +1 -1
  497. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  498. package/layers/graphics/sources/csv/csv.js +1 -1
  499. package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
  500. package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
  501. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  502. package/layers/mixins/ArcGISMapService.js +1 -1
  503. package/layers/ogc/wfsUtils.js +1 -1
  504. package/layers/save/groupLayerUtils.js +1 -1
  505. package/layers/save/utils.js +1 -1
  506. package/layers/support/Field.js +1 -1
  507. package/layers/support/FieldsIndex.js +1 -1
  508. package/layers/support/ImageElement.js +1 -1
  509. package/layers/support/LayerContingentValuesCache.js +1 -1
  510. package/layers/support/Sublayer.js +1 -1
  511. package/layers/support/Subtype.d.ts +4 -0
  512. package/layers/support/Subtype.js +1 -1
  513. package/layers/support/fieldProperties.js +1 -1
  514. package/layers/support/fieldUtils.js +1 -1
  515. package/layers/support/imageryRendererUtils.js +1 -1
  516. package/layers/support/labelFormatUtils.js +1 -1
  517. package/networks/Network.js +1 -1
  518. package/package.json +2 -2
  519. package/portal/support/jsonContext.js +1 -1
  520. package/portal/support/layersLoader.js +1 -1
  521. package/renderers/UniqueValueRenderer.js +1 -1
  522. package/renderers/support/utils.js +1 -1
  523. package/rest/featureService/FeatureService.d.ts +4 -0
  524. package/rest/featureService/FeatureService.js +1 -1
  525. package/rest/featureService/utils.d.ts +4 -0
  526. package/smartMapping/labels/clusters.js +1 -1
  527. package/smartMapping/popup/support/clusterUtils.js +1 -1
  528. package/smartMapping/renderers/color.js +1 -1
  529. package/smartMapping/renderers/opacity.js +1 -1
  530. package/smartMapping/renderers/size.js +1 -1
  531. package/smartMapping/renderers/support/utils.js +1 -1
  532. package/smartMapping/renderers/type.js +1 -1
  533. package/smartMapping/renderers/univariateColorSize.js +1 -1
  534. package/smartMapping/statistics/histogram.js +1 -1
  535. package/smartMapping/statistics/summaryStatistics.js +1 -1
  536. package/smartMapping/statistics/support/statsWorker.js +1 -1
  537. package/smartMapping/statistics/support/utils.js +1 -1
  538. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  539. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  540. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  541. package/smartMapping/support/adapters/OGCFeatureLayerAdapter.js +1 -1
  542. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  543. package/smartMapping/support/adapters/StreamLayerAdapter.js +1 -1
  544. package/smartMapping/support/adapters/support/utils.js +1 -1
  545. package/smartMapping/support/clusterUtils.js +1 -1
  546. package/smartMapping/support/utils.js +1 -1
  547. package/support/basemapUtils.js +1 -1
  548. package/support/revision.js +1 -1
  549. package/symbols/cim/CIMSymbolHelper.js +1 -1
  550. package/symbols/cim/effects/EffectDashes.js +1 -1
  551. package/symbols/support/previewCIMSymbol.js +1 -1
  552. package/time/timeZoneUtils.js +1 -1
  553. package/versionManagement/VersionManagementService.d.ts +4 -0
  554. package/versionManagement/VersionManagementService.js +1 -1
  555. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  556. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  557. package/views/2d/engine/webgl/Overlay.js +1 -1
  558. package/views/2d/input/handlers/KeyPan.js +1 -1
  559. package/views/2d/interactive/editingTools/manipulations/DragManipulation.js +1 -1
  560. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  561. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  562. package/views/2d/viewpointUtils.js +1 -1
  563. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  564. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  565. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  566. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  567. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  568. package/views/3d/layers/I3SMeshView3D.js +1 -1
  569. package/views/3d/layers/MediaLayerView3D.js +1 -1
  570. package/views/3d/layers/SceneLayerWorker.js +1 -1
  571. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  572. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  573. package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
  574. package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
  575. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  576. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  577. package/views/3d/support/MemoryController.js +1 -1
  578. package/views/3d/support/PBFDecoder.js +1 -1
  579. package/views/3d/support/ResourceController.js +1 -1
  580. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  581. package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
  582. package/views/3d/terrain/PlanarPatch.js +1 -1
  583. package/views/3d/terrain/SphericalPatch.js +1 -1
  584. package/views/3d/terrain/TerrainSurface.js +1 -1
  585. package/views/3d/terrain/Tile.js +1 -1
  586. package/views/3d/terrain/TileRenderer.js +1 -1
  587. package/views/3d/terrain/TileTexture.js +1 -1
  588. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  589. package/views/3d/webgl-engine/core/FBOPool.js +5 -0
  590. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +9 -6
  591. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +1 -1
  592. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  593. package/views/3d/webgl-engine/effects/highlight/HighlightPassParameters.js +1 -1
  594. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  595. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  596. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  597. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  598. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  599. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  600. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  601. package/views/3d/webgl-engine/lib/textureUtils.js +1 -1
  602. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  603. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  604. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  605. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  606. package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +1 -1
  607. package/views/3d/webgl-engine/shaders/HighlightBlur.glsl.js +1 -1
  608. package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +1 -1
  609. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +1 -1
  610. package/views/draw/DrawOperation.js +1 -1
  611. package/views/draw/support/Reshape.js +1 -1
  612. package/views/interactive/SegmentLabels.js +1 -1
  613. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  614. package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
  615. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  616. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  617. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
  618. package/views/interactive/snapping/featureSources/snappingCandidateElevationAlignment.js +1 -1
  619. package/views/overlay/TextOverlayItem.js +1 -1
  620. package/views/webgl/VertexArrayObject.js +1 -1
  621. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  622. package/widgets/BasemapGallery.js +1 -1
  623. package/widgets/DirectionalPad.js +1 -1
  624. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  625. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  626. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  627. package/widgets/Editor/EditorViewModel.js +1 -1
  628. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  629. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  630. package/widgets/Editor/UpdateWorkflow.js +1 -1
  631. package/widgets/Editor/workflowUtils.js +1 -1
  632. package/widgets/Editor.js +1 -1
  633. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  634. package/widgets/Feature/FeatureViewModel.js +1 -1
  635. package/widgets/Feature/support/featureUtils.js +1 -1
  636. package/widgets/FeatureForm/FieldInput.js +1 -1
  637. package/widgets/FeatureForm/RelationshipInput.js +1 -1
  638. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  639. package/widgets/FeatureForm.js +1 -1
  640. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  641. package/widgets/FeatureTable/FieldColumn.js +1 -1
  642. package/widgets/Features/FeaturesViewModel.js +1 -1
  643. package/widgets/Features/css.js +1 -1
  644. package/widgets/Features.js +1 -1
  645. package/widgets/Legend/LegendViewModel.js +1 -1
  646. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  647. package/widgets/Legend/support/utils.js +1 -1
  648. package/widgets/LineOfSight.js +1 -1
  649. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  650. package/widgets/OrientedImageryViewer.d.ts +4 -0
  651. package/widgets/OrientedImageryViewer.js +1 -1
  652. package/widgets/Popup/actionUtils.js +1 -1
  653. package/widgets/ScaleRangeSlider.js +1 -1
  654. package/widgets/TimeSlider.js +1 -1
  655. package/widgets/TimeZoneLabel/TimeZoneLabelViewModel.js +5 -0
  656. package/widgets/TimeZoneLabel/css.js +5 -0
  657. package/widgets/TimeZoneLabel.d.ts +4 -0
  658. package/widgets/TimeZoneLabel.js +5 -0
  659. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  660. package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
  661. package/widgets/UtilityNetworkTrace.js +1 -1
  662. package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
  663. package/widgets/support/SnappingControls/SnappingControlsViewModel.js +1 -1
  664. package/assets/esri/core/workers/chunks/0036b6df93a17e57e3b9.js +0 -1
  665. package/assets/esri/core/workers/chunks/089e59445bd0b1131ffb.js +0 -1
  666. package/assets/esri/core/workers/chunks/09886c56427c4b3f18b5.js +0 -1
  667. package/assets/esri/core/workers/chunks/0b539dacc5c72399ab32.js +0 -1
  668. package/assets/esri/core/workers/chunks/0bb57b54897fb4381b46.js +0 -1
  669. package/assets/esri/core/workers/chunks/0d77c9c97301a4ee4167.js +0 -1
  670. package/assets/esri/core/workers/chunks/0d8ca51043c7784aed96.js +0 -1
  671. package/assets/esri/core/workers/chunks/121a9e148509f2fe2210.js +0 -1
  672. package/assets/esri/core/workers/chunks/1461910bd37aea28948b.js +0 -1
  673. package/assets/esri/core/workers/chunks/1586929658af88f6f961.js +0 -1
  674. package/assets/esri/core/workers/chunks/16d45f439b89da3ec835.js +0 -1
  675. package/assets/esri/core/workers/chunks/1ef3533abdd937ae2794.js +0 -1
  676. package/assets/esri/core/workers/chunks/24c504585da8e44f956f.js +0 -1
  677. package/assets/esri/core/workers/chunks/24ff267cf253feac22de.js +0 -1
  678. package/assets/esri/core/workers/chunks/2561c2bd5a0826dedcb1.js +0 -1
  679. package/assets/esri/core/workers/chunks/2832161454babb40614b.js +0 -1
  680. package/assets/esri/core/workers/chunks/29cab345819ec02ed60a.js +0 -1
  681. package/assets/esri/core/workers/chunks/2f8e71dac98135bbc3e6.js +0 -1
  682. package/assets/esri/core/workers/chunks/369f2ef414498c17a05a.js +0 -1
  683. package/assets/esri/core/workers/chunks/4108445c4a653772c5ee.js +0 -1
  684. package/assets/esri/core/workers/chunks/432a009e756643f59cb4.js +0 -1
  685. package/assets/esri/core/workers/chunks/435f04e3964b1c6d4880.js +0 -1
  686. package/assets/esri/core/workers/chunks/44a3d01b7daa46584ed9.js +0 -1
  687. package/assets/esri/core/workers/chunks/44b870cb53ba68b17c32.js +0 -1
  688. package/assets/esri/core/workers/chunks/4736188659a62488c777.js +0 -1
  689. package/assets/esri/core/workers/chunks/4763831c8815fed636f7.js +0 -1
  690. package/assets/esri/core/workers/chunks/4781e2011a32d7724889.js +0 -1
  691. package/assets/esri/core/workers/chunks/4d81aa50d90f5701a343.js +0 -1
  692. package/assets/esri/core/workers/chunks/4e0bf30da4281070e453.js +0 -1
  693. package/assets/esri/core/workers/chunks/4e60ac00b15b34a3b5f5.js +0 -1
  694. package/assets/esri/core/workers/chunks/4e6bf1efe3b0b474cbb4.js +0 -1
  695. package/assets/esri/core/workers/chunks/505132c47dbdf5fdeacc.js +0 -1
  696. package/assets/esri/core/workers/chunks/526ae87737777154c3f3.js +0 -1
  697. package/assets/esri/core/workers/chunks/53859d0bd8bb14af2d4d.js +0 -1
  698. package/assets/esri/core/workers/chunks/593d7f17090b74945345.js +0 -1
  699. package/assets/esri/core/workers/chunks/5a3ccc0a19ac8fa9e524.js +0 -1
  700. package/assets/esri/core/workers/chunks/5baae5acd184e87d5dc4.js +0 -1
  701. package/assets/esri/core/workers/chunks/5bdd2a3422fe52aa2c65.js +0 -1
  702. package/assets/esri/core/workers/chunks/5e907ec0ee1565b5fbbc.js +0 -1
  703. package/assets/esri/core/workers/chunks/66ba749ab0a631bbfdec.js +0 -1
  704. package/assets/esri/core/workers/chunks/69da907a92901f0fb391.js +0 -1
  705. package/assets/esri/core/workers/chunks/6b14d89d689a21014aec.js +0 -1
  706. package/assets/esri/core/workers/chunks/6b7b5544ed1f9a84623f.js +0 -1
  707. package/assets/esri/core/workers/chunks/6ce986f4213df8a2d934.js +0 -1
  708. package/assets/esri/core/workers/chunks/785d9a9a933314551b10.js +0 -1
  709. package/assets/esri/core/workers/chunks/7f6840c53a456524b74c.js +0 -1
  710. package/assets/esri/core/workers/chunks/84870178173951ad6c2b.js +0 -1
  711. package/assets/esri/core/workers/chunks/8634d6a62f4de973e39b.js +0 -1
  712. package/assets/esri/core/workers/chunks/88d43db03cc11cbffa68.js +0 -1
  713. package/assets/esri/core/workers/chunks/902b672a3475ec83b58b.js +0 -1
  714. package/assets/esri/core/workers/chunks/943ea851c1b07af91172.js +0 -1
  715. package/assets/esri/core/workers/chunks/9a5e3b0cc8536f79c377.js +0 -1
  716. package/assets/esri/core/workers/chunks/9f8207c82a17508a87a8.js +0 -1
  717. package/assets/esri/core/workers/chunks/a01ffe03b1465c21b9e6.js +0 -1
  718. package/assets/esri/core/workers/chunks/a298c9031962951e55a9.js +0 -1
  719. package/assets/esri/core/workers/chunks/a877a4826cd6a46ec99b.js +0 -1
  720. package/assets/esri/core/workers/chunks/a9a0194120ec65a00f6d.js +0 -1
  721. package/assets/esri/core/workers/chunks/aa453ae526a233cedf0c.js +0 -1
  722. package/assets/esri/core/workers/chunks/ab5ffcf0db724d40f714.js +0 -1
  723. package/assets/esri/core/workers/chunks/ad38e456a7cee940a165.js +0 -1
  724. package/assets/esri/core/workers/chunks/ae3ea5fa813aec0db5e1.js +0 -1
  725. package/assets/esri/core/workers/chunks/ae59e10b225f08f38487.js +0 -1
  726. package/assets/esri/core/workers/chunks/b030cf4b00e42337dc89.js +0 -1
  727. package/assets/esri/core/workers/chunks/b0526633a93ef69ec47b.js +0 -1
  728. package/assets/esri/core/workers/chunks/b0d6e6e489aaa331861c.js +0 -1
  729. package/assets/esri/core/workers/chunks/b0ddb503463328531d8f.js +0 -1
  730. package/assets/esri/core/workers/chunks/b1a8024bf8cdd0cd3884.js +0 -1
  731. package/assets/esri/core/workers/chunks/b3243695e0edfcbca276.js +0 -1
  732. package/assets/esri/core/workers/chunks/be57692d4b9ff6cd4c02.js +0 -1
  733. package/assets/esri/core/workers/chunks/c0061d993e1ede22b1dc.js +0 -1
  734. package/assets/esri/core/workers/chunks/c260ad3434bb00ba64a7.js +0 -1
  735. package/assets/esri/core/workers/chunks/c2be3b9aa28e454cf931.js +0 -1
  736. package/assets/esri/core/workers/chunks/c459c8d8630eb4b955b1.js +0 -1
  737. package/assets/esri/core/workers/chunks/c4df42fe859a9115a6e4.js +0 -1
  738. package/assets/esri/core/workers/chunks/c5acddea13fd01912e79.js +0 -1
  739. package/assets/esri/core/workers/chunks/c607fe4df3ca054f9aa8.js +0 -1
  740. package/assets/esri/core/workers/chunks/ca023e409bb7de9a69ab.js +0 -1
  741. package/assets/esri/core/workers/chunks/ca85e88dad30b5f2956b.js +0 -1
  742. package/assets/esri/core/workers/chunks/ce3bb546a729f0ccf696.js +0 -1
  743. package/assets/esri/core/workers/chunks/cfd63bd57eea2caa4bcb.js +0 -1
  744. package/assets/esri/core/workers/chunks/d6ded127949160103f69.js +0 -1
  745. package/assets/esri/core/workers/chunks/d8c696da42f8f8919b83.js +0 -1
  746. package/assets/esri/core/workers/chunks/d95eed98316e59f8f35d.js +0 -1
  747. package/assets/esri/core/workers/chunks/e0b49c5eb5427656e835.js +0 -1
  748. package/assets/esri/core/workers/chunks/e52b9e423c0ba4134309.js +0 -1
  749. package/assets/esri/core/workers/chunks/e52d5a48e83d8df36f92.js +0 -1
  750. package/assets/esri/core/workers/chunks/e53df0f018a82e3a35bd.js +0 -1
  751. package/assets/esri/core/workers/chunks/ea953f5a0a975f7bd7b9.js +0 -1
  752. package/assets/esri/core/workers/chunks/eb4bfafe821daeb4bb6e.js +0 -1
  753. package/assets/esri/core/workers/chunks/f183a4b52095e4c498b4.js +0 -1
  754. package/assets/esri/core/workers/chunks/f221b9c6ae6c7eb4ca01.js +0 -1
  755. package/assets/esri/core/workers/chunks/f57100e3dfc7f087c3ad.js +0 -1
  756. package/assets/esri/core/workers/chunks/f5fd2ee5878c63777c51.js +0 -1
  757. package/assets/esri/core/workers/chunks/f6b7036114b1d754fdd9.js +0 -1
  758. package/assets/esri/core/workers/chunks/f6c0680c535c5a3c73ee.js +0 -1
  759. package/assets/esri/core/workers/chunks/f72a5af2a7ca1536f10a.js +0 -1
  760. package/assets/esri/core/workers/chunks/f99deed4120f605b6cd6.js +0 -1
  761. package/assets/esri/core/workers/chunks/fac3e57784d7f37053af.js +0 -1
  762. package/layers/graphics/sources/support/QueryEngineBuildLayer.js +0 -5
  763. package/widgets/DirectionalPad/DirectionalPadViewModel.d.ts +0 -4
  764. package/widgets/DirectionalPad.d.ts +0 -4
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../request.js";import{isSome as n}from"../../core/arrayUtils.js";import{JSONSupportMixin as i}from"../../core/JSONSupport.js";import s from"../../core/Loadable.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/has.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{parse as a}from"./arcgisLayerUrl.js";import l from"./Contingency.js";import u from"./ContingencyConstraintViolation.js";import c from"./ContingentValue.js";import p from"./ContingentValuesResult.js";import d from"./FieldGroup.js";import y from"./Subtype.js";var f;let m=f=class extends(i(s)){constructor(e){super(e),this.request=t,this.fieldGroups=null,this.fieldGroupDefinitions=null}initialize(){}get subtypeFieldName(){const{layer:e}=this;return"subtype-group"===e.type?e.subtypeField:e.typeIdField}static async createLoadedLayerContingentValuesCache(e){await e.load();const t=e.sourceJSON;if(void 0===e.layerId)return null;const n=t.hasContingentValuesDefinition;if(n)return new f({layer:e}).load();if(void 0===n){const t=a(e.url);if(null==t)return null;const n=t.url.path;if((await f._staticFetchEnterpriseFeatureRoot(n)).supportsQueryDataElements){const t=e.layerId.toString(),i=await f._staticFetchEnterpriseFieldGroup(n,t);if(i){const t=i.map((e=>({name:e.name,isEditingRestrictive:e.isEditingRestrictive,fields:e.fieldNames.names})));return new f({layer:e,fieldGroupDefinitions:t}).load()}}}return null}async load(e){const t=this.layer.load(e).then((()=>this._initializeContingentValues(this.fieldGroupDefinitions,e)));return this.addResolvingPromise(t),this}validateContingencyConstraints(e,t){const n=Object.keys(e),i=[],s=[];for(const r of this.fieldGroups){const o=r.isEditingRestrictive?"error":"warning";if(t&&!r.fields.some((e=>t.includes(e))))continue;if(!r.fields.every((e=>n.includes(e)))){s.push(new u({fieldGroup:r,type:o}));continue}let a=!1;const l=e[this.subtypeFieldName],c=r.contingencies.filter((e=>!(!e.isRetired&&e.subtype)||e.subtype.code===l));for(const t of c){let n=!0;for(const i in t.values){const s=t.values[i];if("any"!==s.objectType)if("null"===s.objectType){if(null!=e[i]){n=!1;break}}else if("code"===s.objectType){if(e[i]!==s.codedValue.code){n=!1;break}}else if("range"===s.objectType){const t=e[i];if(t<s.minValue||t>s.maxValue){n=!1;break}}}if(n){a=!0;break}}a||i.push(new u({fieldGroup:r,type:o}))}return{invalid:i,incomplete:s}}getContingentValues(e,t,n=!1){const i=e[this.subtypeFieldName],s=null!=i,r={};let o=[];const a=this.fieldGroups.filter((e=>e.fields.includes(t)));o.push(new c({objectType:"any"}));for(const l of a){let a=[];const u=l.contingencies.filter((e=>!(e.isRetired||e.subtype&&s&&e.subtype.code!==i)));let c=!1;const p={};for(const n of u){let i,s=!0;for(const r in n.values){const o=n.values[r];if(t!==r){if(void 0!==e[r]&&"any"!==o.objectType)if("null"===o.objectType)null!==e[r]&&(s=!1);else if("code"===o.objectType)e[r]!==o.codedValue.code&&(s=!1);else if("range"===o.objectType){const t=e[r];(t<o.minValue||t>o.maxValue)&&(s=!1)}}else i=o,c=c||"range"===o.objectType}if(i&&s){if("any"===i.objectType){a.length=0,a.push(i);break}const e=this._generateKey(i);p[e]||a.push(i),p[e]=!0}}c&&(a=this._joinRange(a)),r[l.name]=a,o=n?this._filterIntersection(o,a):[]}return 1===a.length&&n&&(o=[]),new p({contingentValuesAllGroups:o,contingentValuesByFieldGroup:r})}_generateKey(e){switch(e.objectType){case"any":return"@any@";case"null":return"@null@";case"code":return e.codedValue.name+e.codedValue.code.toString();case"range":return e.minValue.toString()+"-"+e.maxValue.toString()}}_joinRange(e){let t,n;e.sort(((e,t)=>"null"===e.objectType?-1:"null"===t.objectType?1:e.minValue-t.minValue));const i=[];for(const s of e)"null"!==s.objectType?null!=t&&null!=n?n<s.minValue?(i.push(new c({objectType:"range",minValue:t,maxValue:n})),t=s.minValue,n=s.maxValue):n<s.maxValue&&(n=s.maxValue):(t=s.minValue,n=s.maxValue):i.push(s);return i.push(new c({objectType:"range",minValue:t,maxValue:n})),i}_filterIntersection(e,t){if(0===e.length||0===t.length)return[];if("any"===e[0].objectType)return t;if("any"===t[0].objectType)return e;const n="range"===e[0].objectType||"range"===e[1]?.objectType,i="range"===t[0].objectType||"range"===t[1]?.objectType;return n||i?this._intersectRanges(e,t):this._intersectValues(e,t)}_intersectRanges(e,t){const n=[];let i,s=0;for(const r of e)for(;s<t.length;s++){const e=t[s];if("null"===r.objectType&&"null"===e.objectType)n.push(new c({objectType:"null"}));else{if("null"===r.objectType)break;if("null"===e.objectType)continue}if(r.maxValue<e.minValue)break;if(r.maxValue===e.minValue){n.push(new c({objectType:"range",minValue:r.maxValue,maxValue:e.minValue}));break}if(!(r.minValue>e.maxValue))if(r.minValue!==e.maxValue){if(i=r.minValue>e.minValue?r.minValue:e.minValue,r.maxValue<e.maxValue){n.push(new c({objectType:"range",minValue:i,maxValue:r.maxValue}));break}n.push(new c({objectType:"range",minValue:i,maxValue:e.maxValue}))}else n.push(new c({objectType:"range",minValue:r.minValue,maxValue:e.maxValue}))}return n}_intersectValues(e,t){const n=[];for(const i of e)t.some((e=>{if(i.objectType===e.objectType)switch(i.objectType){case"any":case"null":return!0;case"code":return i.codedValue.code===e.codedValue.code&&i.codedValue.name===e.codedValue.name}return!1}))&&n.push(i);return n}static async _staticFetchEnterpriseFeatureRoot(e,n){return t(e,{responseType:"json",query:{f:"json"},...n}).then((e=>e.data))}static async _staticFetchEnterpriseFieldGroup(e,n,i){return t(`${e}/queryDataElements`,{responseType:"json",query:{layers:JSON.stringify([n]),f:"json"},...i}).then((e=>e.data.layerDataElements?.[0].dataElement.fieldGroups))}async _initializeContingentValues(e,t){const n=e??await this._fetchFieldGroupDefs(t);if(0===n.length)return void(this.fieldGroups=[]);const i=await this._fetchContingentValues(n,t);this.fieldGroups=i}async _fetchFieldGroupDefs(e){if(void 0===this.layer.layerId)return[];const t=this.layer.sourceJSON,n=this.layer.layerId.toString(),i=a(this.layer.url).url.path;if(t.hasContingentValuesDefinition){return(await this._fetchAGOLFieldGroup(i,n,e)).map((e=>({name:e.name,isEditingRestrictive:e.restrictive,fields:e.fields.map((e=>this.layer.fieldsIndex.normalizeFieldName(e)))})))}return void 0!==t.hasContingentValuesDefinition?[]:this._fetchEnterpriseFeatureRoot(i,e).then((async t=>{if(t.supportsQueryDataElements){return(await this._fetchEnterpriseFieldGroup(i,n,e)).map((e=>({name:e.name,isEditingRestrictive:e.isEditingRestrictive,fields:e.fieldNames.names.map((e=>this.layer.fieldsIndex.normalizeFieldName(e)))})))}return[]}))}async _fetchAGOLFieldGroup(e,n,i){return t(`${e}/${n}/fieldgroups`,{responseType:"json",query:{f:"json"},...i}).then((e=>e.data.fieldGroups))}async _fetchEnterpriseFieldGroup(e,t,n){return f._staticFetchEnterpriseFieldGroup(e,t,n)}async _fetchEnterpriseFeatureRoot(e,t){return f._staticFetchEnterpriseFeatureRoot(e,t)}async _fetchContingentValues(e,t){if(void 0===this.layer.layerId)return[];const n=this.layer.sourceJSON,i=this.layer.layerId.toString(),s=a(this.layer.url).url.path;if(n.hasContingentValuesDefinition){const n=await this._fetchAGOLContingentValues(s,i,t);return this._constructFieldGroupsAGOL(e,n)}const r=await this._fetchEnterpriseContingentValues(s,i,t);return this._constructFieldGroupsEnterprise(e,r)}_constructFieldGroupsAGOL(e,t){return e.map((e=>{const n=t.contingentValuesDefinition.fieldGroups.find((t=>t.name===e.name));if(n){let i=[];return i=t.contingentValuesDefinition.hasSubType?this._parseAGOLFieldGroupSubtype(e,t,n.subTypes):this._parseAGOLFieldGroup(e,t,n.contingentValues),new d({name:e.name,isEditingRestrictive:e.isEditingRestrictive,fields:e.fields,contingencies:i})}return null})).filter(n)}_parseAGOLFieldGroupSubtype(e,t,n){let i=[];return n?.forEach((n=>{const s=this._getSubtypeAGOL(n.name);i=i.concat(this._parseAGOLFieldGroup(e,t,n.contingentValues,s))})),i}_parseAGOLFieldGroup(e,t,n,i=null){const s=[];for(const r of n??[]){const n=this._parseAGOLContingency(r,e,t,i);s.push(n)}return s}_parseAGOLContingency(e,t,n,i){const s=e.id,r=!!e.retired&&1===e.retired,o={};for(let a=0,l=0;a<t.fields.length;a++){const s=t.fields[a],r=n.typeCodes[e.types[a]];if("Code"===r){let t=e.values[l];l++;const r=this._getDomain(i,s),a=this.layer.getField(s);if("string"===a?.type){const e=n.stringDicts.find((e=>e.domain===r.name));e&&(t=e.entries[t])}const u=r.codedValues.find((e=>e.code===t)),p=new c({codedValue:u,objectType:"code"});o[s]=p}else if("Range"===r){const t=e.values[l];l++;const n=t.range[0],i=t.range[1],r=new c({minValue:n,maxValue:i,objectType:"range"});o[s]=r}else if("Any"===r){const e=new c({objectType:"any"});o[s]=e}else{const e=new c({objectType:"null"});o[s]=e}}return new l({id:s,isRetired:r,subtype:i,values:o})}_constructFieldGroupsEnterprise(e,t){const i=t.fieldGroups;return e.map((e=>{const n=i.find((t=>t.name===e.name));if(n){const i=n.contingencies.map((n=>{const i=n.id,s=n.isRetired||!1,r=this._getSubtypeEnterprise(n.subtypeCode),o={};for(let a=0;a<e.fields.length;a++){const i=e.fields[a];let s=n.values[a];if("number"==typeof s||"string"==typeof s){const e=this._getDomain(r,i),n=this.layer.getField(i);if("string"===n?.type)s=t.stringDictionary[s];else if("date"===n?.type){const e=new Date(`${s}+00:00`);s=e.getTime()}const a=e.codedValues.find((e=>e.code===s)),l=new c({codedValue:a,objectType:"code"});o[i]=l}else if("object"==typeof s){const e=s.minValue,t=s.maxValue,n=new c({minValue:e,maxValue:t,objectType:"range"});o[i]=n}else if(s){const e=new c({objectType:"any"});o[i]=e}else{const e=new c({objectType:"null"});o[i]=e}}return new l({id:i,isRetired:s,subtype:r,values:o})}));return new d({name:e.name,isEditingRestrictive:e.isEditingRestrictive,fields:e.fields,contingencies:i})}return null})).filter(n)}async _fetchEnterpriseContingentValues(e,n,i){return t(`${e}/queryContingentValues`,{responseType:"json",query:{layers:JSON.stringify([n]),f:"json"},...i}).then((e=>e.data.contingentValueSets?.[0]))}async _fetchAGOLContingentValues(e,n,i){return t(`${e}/${n}/contingentValues`,{responseType:"json",query:{f:"json"},...i}).then((e=>e.data))}_getSubtypeEnterprise(e){const t=this.layer.sourceJSON;let n;if(t.subtypes){const i=t.subtypes.find((t=>t.code===e));n=y.fromJSON(i)}return n||null}_getSubtypeAGOL(e){const t=this.layer.sourceJSON;let n;if(t.subtypes){const i=t.subtypes.find((t=>t.name===e));n=y.fromJSON(i)}return n||null}_getDomain(e,t){const n=e?e.domains?.[t]:this.layer.getFieldDomain(t);return"inherited"===n?.type?this.layer.getFieldDomain(t):n}};e([r({constructOnly:!0})],m.prototype,"layer",void 0),e([r({constructOnly:!0})],m.prototype,"request",void 0),e([r({type:[d]})],m.prototype,"fieldGroups",void 0),e([r({constructOnly:!0})],m.prototype,"fieldGroupDefinitions",void 0),e([r()],m.prototype,"subtypeFieldName",null),m=f=e([o("esri.layers.support.LayerContingentValuesCache")],m);const h=m;export{h as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../request.js";import{isSome as n}from"../../core/arrayUtils.js";import{JSONSupportMixin as i}from"../../core/JSONSupport.js";import s from"../../core/Loadable.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/has.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{parse as a}from"./arcgisLayerUrl.js";import l from"./Contingency.js";import u from"./ContingencyConstraintViolation.js";import c from"./ContingentValue.js";import p from"./ContingentValuesResult.js";import d from"./FieldGroup.js";import{isStringField as f,isDateField as y}from"./fieldUtils.js";import m from"./Subtype.js";var h;let g=h=class extends(i(s)){constructor(e){super(e),this.request=t,this.fieldGroups=null,this.fieldGroupDefinitions=null}initialize(){}get subtypeFieldName(){const{layer:e}=this;return"subtype-group"===e.type?e.subtypeField:e.typeIdField}static async createLoadedLayerContingentValuesCache(e){await e.load();const t=e.sourceJSON;if(void 0===e.layerId)return null;const n=t.hasContingentValuesDefinition;if(n)return new h({layer:e}).load();if(void 0===n){const t=a(e.url);if(null==t)return null;const n=t.url.path;if((await h._staticFetchEnterpriseFeatureRoot(n)).supportsQueryDataElements){const t=e.layerId.toString(),i=await h._staticFetchEnterpriseFieldGroup(n,t);if(i){const t=i.map((e=>({name:e.name,isEditingRestrictive:e.isEditingRestrictive,fields:e.fieldNames.names})));return new h({layer:e,fieldGroupDefinitions:t}).load()}}}return null}async load(e){const t=this.layer.load(e).then((()=>this._initializeContingentValues(this.fieldGroupDefinitions,e)));return this.addResolvingPromise(t),this}validateContingencyConstraints(e,t){const n=Object.keys(e),i=[],s=[];for(const r of this.fieldGroups){const o=r.isEditingRestrictive?"error":"warning";if(t&&!r.fields.some((e=>t.includes(e))))continue;if(!r.fields.every((e=>n.includes(e)))){s.push(new u({fieldGroup:r,type:o}));continue}let a=!1;const l=e[this.subtypeFieldName],c=r.contingencies.filter((e=>!(!e.isRetired&&e.subtype)||e.subtype.code===l));for(const t of c){let n=!0;for(const i in t.values){const s=t.values[i];if("any"!==s.objectType)if("null"===s.objectType){if(null!=e[i]){n=!1;break}}else if("code"===s.objectType){if(e[i]!==s.codedValue.code){n=!1;break}}else if("range"===s.objectType){const t=e[i];if(t<s.minValue||t>s.maxValue){n=!1;break}}}if(n){a=!0;break}}a||i.push(new u({fieldGroup:r,type:o}))}return{invalid:i,incomplete:s}}getContingentValues(e,t,n=!1){const i=e[this.subtypeFieldName],s=null!=i,r={};let o=[];const a=this.fieldGroups.filter((e=>e.fields.includes(t)));o.push(new c({objectType:"any"}));for(const l of a){let a=[];const u=l.contingencies.filter((e=>!(e.isRetired||e.subtype&&s&&e.subtype.code!==i)));let c=!1;const p={};for(const n of u){let i,s=!0;for(const r in n.values){const o=n.values[r];if(t!==r){if(void 0!==e[r]&&"any"!==o.objectType)if("null"===o.objectType)null!==e[r]&&(s=!1);else if("code"===o.objectType)e[r]!==o.codedValue.code&&(s=!1);else if("range"===o.objectType){const t=e[r];(t<o.minValue||t>o.maxValue)&&(s=!1)}}else i=o,c=c||"range"===o.objectType}if(i&&s){if("any"===i.objectType){a.length=0,a.push(i);break}const e=this._generateKey(i);p[e]||a.push(i),p[e]=!0}}c&&(a=this._joinRange(a)),r[l.name]=a,o=n?this._filterIntersection(o,a):[]}return 1===a.length&&n&&(o=[]),new p({contingentValuesAllGroups:o,contingentValuesByFieldGroup:r})}_generateKey(e){switch(e.objectType){case"any":return"@any@";case"null":return"@null@";case"code":return e.codedValue.name+e.codedValue.code.toString();case"range":return e.minValue.toString()+"-"+e.maxValue.toString()}}_joinRange(e){let t,n;e.sort(((e,t)=>"null"===e.objectType?-1:"null"===t.objectType?1:e.minValue-t.minValue));const i=[];for(const s of e)"null"!==s.objectType?null!=t&&null!=n?n<s.minValue?(i.push(new c({objectType:"range",minValue:t,maxValue:n})),t=s.minValue,n=s.maxValue):n<s.maxValue&&(n=s.maxValue):(t=s.minValue,n=s.maxValue):i.push(s);return i.push(new c({objectType:"range",minValue:t,maxValue:n})),i}_filterIntersection(e,t){if(0===e.length||0===t.length)return[];if("any"===e[0].objectType)return t;if("any"===t[0].objectType)return e;const n="range"===e[0].objectType||"range"===e[1]?.objectType,i="range"===t[0].objectType||"range"===t[1]?.objectType;return n||i?this._intersectRanges(e,t):this._intersectValues(e,t)}_intersectRanges(e,t){const n=[];let i,s=0;for(const r of e)for(;s<t.length;s++){const e=t[s];if("null"===r.objectType&&"null"===e.objectType)n.push(new c({objectType:"null"}));else{if("null"===r.objectType)break;if("null"===e.objectType)continue}if(r.maxValue<e.minValue)break;if(r.maxValue===e.minValue){n.push(new c({objectType:"range",minValue:r.maxValue,maxValue:e.minValue}));break}if(!(r.minValue>e.maxValue))if(r.minValue!==e.maxValue){if(i=r.minValue>e.minValue?r.minValue:e.minValue,r.maxValue<e.maxValue){n.push(new c({objectType:"range",minValue:i,maxValue:r.maxValue}));break}n.push(new c({objectType:"range",minValue:i,maxValue:e.maxValue}))}else n.push(new c({objectType:"range",minValue:r.minValue,maxValue:e.maxValue}))}return n}_intersectValues(e,t){const n=[];for(const i of e)t.some((e=>{if(i.objectType===e.objectType)switch(i.objectType){case"any":case"null":return!0;case"code":return i.codedValue.code===e.codedValue.code&&i.codedValue.name===e.codedValue.name}return!1}))&&n.push(i);return n}static async _staticFetchEnterpriseFeatureRoot(e,n){return t(e,{responseType:"json",query:{f:"json"},...n}).then((e=>e.data))}static async _staticFetchEnterpriseFieldGroup(e,n,i){return t(`${e}/queryDataElements`,{responseType:"json",query:{layers:JSON.stringify([n]),f:"json"},...i}).then((e=>e.data.layerDataElements?.[0].dataElement.fieldGroups))}async _initializeContingentValues(e,t){const n=e??await this._fetchFieldGroupDefs(t);if(0===n.length)return void(this.fieldGroups=[]);const i=await this._fetchContingentValues(n,t);this.fieldGroups=i}async _fetchFieldGroupDefs(e){if(void 0===this.layer.layerId)return[];const t=this.layer.sourceJSON,n=this.layer.layerId.toString(),i=a(this.layer.url).url.path;if(t.hasContingentValuesDefinition){return(await this._fetchAGOLFieldGroup(i,n,e)).map((e=>({name:e.name,isEditingRestrictive:e.restrictive,fields:e.fields.map((e=>this.layer.fieldsIndex.normalizeFieldName(e)))})))}return void 0!==t.hasContingentValuesDefinition?[]:this._fetchEnterpriseFeatureRoot(i,e).then((async t=>{if(t.supportsQueryDataElements){return(await this._fetchEnterpriseFieldGroup(i,n,e)).map((e=>({name:e.name,isEditingRestrictive:e.isEditingRestrictive,fields:e.fieldNames.names.map((e=>this.layer.fieldsIndex.normalizeFieldName(e)))})))}return[]}))}async _fetchAGOLFieldGroup(e,n,i){return t(`${e}/${n}/fieldgroups`,{responseType:"json",query:{f:"json"},...i}).then((e=>e.data.fieldGroups))}async _fetchEnterpriseFieldGroup(e,t,n){return h._staticFetchEnterpriseFieldGroup(e,t,n)}async _fetchEnterpriseFeatureRoot(e,t){return h._staticFetchEnterpriseFeatureRoot(e,t)}async _fetchContingentValues(e,t){if(void 0===this.layer.layerId)return[];const n=this.layer.sourceJSON,i=this.layer.layerId.toString(),s=a(this.layer.url).url.path;if(n.hasContingentValuesDefinition){const n=await this._fetchAGOLContingentValues(s,i,t);return this._constructFieldGroupsAGOL(e,n)}const r=await this._fetchEnterpriseContingentValues(s,i,t);return this._constructFieldGroupsEnterprise(e,r)}_constructFieldGroupsAGOL(e,t){return e.map((e=>{const n=t.contingentValuesDefinition.fieldGroups.find((t=>t.name===e.name));if(n){let i=[];return i=t.contingentValuesDefinition.hasSubType?this._parseAGOLFieldGroupSubtype(e,t,n.subTypes):this._parseAGOLFieldGroup(e,t,n.contingentValues),new d({name:e.name,isEditingRestrictive:e.isEditingRestrictive,fields:e.fields,contingencies:i})}return null})).filter(n)}_parseAGOLFieldGroupSubtype(e,t,n){let i=[];return n?.forEach((n=>{const s=this._getSubtypeAGOL(n.name);i=i.concat(this._parseAGOLFieldGroup(e,t,n.contingentValues,s))})),i}_parseAGOLFieldGroup(e,t,n,i=null){const s=[];for(const r of n??[]){const n=this._parseAGOLContingency(r,e,t,i);s.push(n)}return s}_parseAGOLContingency(e,t,n,i){const s=e.id,r=!!e.retired&&1===e.retired,o={};for(let a=0,l=0;a<t.fields.length;a++){const s=t.fields[a],r=n.typeCodes[e.types[a]];if("Code"===r){let t=e.values[l];l++;const r=this._getDomain(i,s),a=this.layer.getField(s);if("string"===a?.type){const e=n.stringDicts.find((e=>e.domain===r.name));e&&(t=e.entries[t])}const u=r.codedValues.find((e=>e.code===t)),p=new c({codedValue:u,objectType:"code"});o[s]=p}else if("Range"===r){const t=e.values[l];l++;const n=t.range[0],i=t.range[1],r=new c({minValue:n,maxValue:i,objectType:"range"});o[s]=r}else if("Any"===r){const e=new c({objectType:"any"});o[s]=e}else{const e=new c({objectType:"null"});o[s]=e}}return new l({id:s,isRetired:r,subtype:i,values:o})}_constructFieldGroupsEnterprise(e,t){const i=t.fieldGroups;return e.map((e=>{const n=i.find((t=>t.name===e.name));if(n){const i=n.contingencies.map((n=>{const i=n.id,s=n.isRetired||!1,r=this._getSubtypeEnterprise(n.subtypeCode),o={};for(let a=0;a<e.fields.length;a++){const i=e.fields[a];let s=n.values[a];if("number"==typeof s||"string"==typeof s){const e=this._getDomain(r,i),n=this.layer.getField(i);if(f(n))s=t.stringDictionary[s];else if(y(n)){const e=new Date(`${s}+00:00`);s=e.getTime()}const a=e.codedValues.find((e=>e.code===s)),l=new c({codedValue:a,objectType:"code"});o[i]=l}else if("object"==typeof s){const e=s.minValue,t=s.maxValue,n=new c({minValue:e,maxValue:t,objectType:"range"});o[i]=n}else if(s){const e=new c({objectType:"any"});o[i]=e}else{const e=new c({objectType:"null"});o[i]=e}}return new l({id:i,isRetired:s,subtype:r,values:o})}));return new d({name:e.name,isEditingRestrictive:e.isEditingRestrictive,fields:e.fields,contingencies:i})}return null})).filter(n)}async _fetchEnterpriseContingentValues(e,n,i){return t(`${e}/queryContingentValues`,{responseType:"json",query:{layers:JSON.stringify([n]),f:"json"},...i}).then((e=>e.data.contingentValueSets?.[0]))}async _fetchAGOLContingentValues(e,n,i){return t(`${e}/${n}/contingentValues`,{responseType:"json",query:{f:"json"},...i}).then((e=>e.data))}_getSubtypeEnterprise(e){const t=this.layer.sourceJSON;let n;if(t.subtypes){const i=t.subtypes.find((t=>t.code===e));n=m.fromJSON(i)}return n||null}_getSubtypeAGOL(e){const t=this.layer.sourceJSON;let n;if(t.subtypes){const i=t.subtypes.find((t=>t.name===e));n=m.fromJSON(i)}return n||null}_getDomain(e,t){const n=e?e.domains?.[t]:this.layer.getFieldDomain(t);return"inherited"===n?.type?this.layer.getFieldDomain(t):n}};e([r({constructOnly:!0})],g.prototype,"layer",void 0),e([r({constructOnly:!0})],g.prototype,"request",void 0),e([r({type:[d]})],g.prototype,"fieldGroups",void 0),e([r({constructOnly:!0})],g.prototype,"fieldGroupDefinitions",void 0),e([r()],g.prototype,"subtypeFieldName",null),g=h=e([o("esri.layers.support.LayerContingentValuesCache")],g);const V=g;export{V as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import r from"../../PopupTemplate.js";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"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import{rendererTypes as t,webSceneRendererTypes as i}from"../../renderers/support/types.js";import o from"../../request.js";import{isSymbol3D as s}from"../../symbols.js";import a from"../../core/Collection.js";import l from"../../core/Error.js";import has from"../../core/has.js";import{IdentifiableMixin as n}from"../../core/Identifiable.js";import{clone as p}from"../../core/lang.js";import y from"../../core/Loadable.js";import d from"../../core/Logger.js";import{MultiOriginJSONMixin as u}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as c}from"../../core/sql.js";import{objectToQuery as f}from"../../core/urlUtils.js";import{property as m}from"../../core/accessorSupport/decorators/property.js";import{cast as h}from"../../core/accessorSupport/decorators/cast.js";import{reader as b}from"../../core/accessorSupport/decorators/reader.js";import{subclass as g}from"../../core/accessorSupport/decorators/subclass.js";import{writer as S}from"../../core/accessorSupport/decorators/writer.js";import{ensureInteger as I,ensureType as w,Integer as v,ensureClass as j}from"../../core/accessorSupport/ensureType.js";import{OriginId as L,nameToId as D}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as E}from"../../core/accessorSupport/utils.js";import x from"../graphics/sources/support/QueryTask.js";import F from"./FeatureType.js";import P from"./Field.js";import O from"./FieldsIndex.js";import T from"./LabelClass.js";import{validateLabelingInfo as _}from"./labelingInfo.js";import A from"./LayerFloorInfo.js";import{getFeatureLayerCapabilities as V}from"./serviceCapabilitiesUtils.js";import{DataLayerSource as M}from"./source/DataLayerSource.js";import{MapLayerSource as N}from"./source/MapLayerSource.js";import q from"../../rest/support/AttachmentQuery.js";import R from"../../rest/support/Query.js";import{createPopupTemplate as U}from"../../support/popupUtils.js";import k from"../../geometry/Extent.js";import{featureGeometryTypeKebabDictionary as C}from"../../geometry/support/typeUtils.js";var Q;function B(e){return null!=e&&"esriSMS"===e.type}function J(e,r,t){const i=this.originIdOf(r)>=D(t.origin);return{ignoreOrigin:!0,allowNull:i,enabled:!!t&&("map-image"===t.layer?.type&&(t.writeSublayerStructure||i))}}function $(e,r,t){return{enabled:!!t&&("tile"===t.layer?.type&&(t.origin&&this.originIdOf(r)>=D(t.origin)||this._isOverridden(r)))}}function G(e,r,t){return{ignoreOrigin:!0,enabled:t&&t.writeSublayerStructure||!1}}function H(e,r,t){return{ignoreOrigin:!0,enabled:!!t&&(t.writeSublayerStructure||this.originIdOf(r)>=D(t.origin))}}let z=0;const K=new Set;K.add("layer"),K.add("parent"),K.add("loaded"),K.add("loadStatus"),K.add("loadError"),K.add("loadWarnings");let W=Q=class extends(u(n(y))){constructor(e){super(e),this.capabilities=void 0,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.sourceJSON=null,this.title=null,this.typeIdField=null,this.type="sublayer",this.types=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise((async()=>{const{layer:r,url:t}=this;if(!r&&!t)throw new l("sublayer:missing-layer","Sublayer can't be loaded without being part of a layer",{sublayer:this});const i=r?await r.fetchSublayerInfo(this,e):(await o(t,{responseType:"json",query:{f:"json"},...e})).data;i&&(this.sourceJSON=i,this.read({layerDefinition:i},{origin:"service"}))})()),this}readCapabilities(e,r){r=r.layerDefinition||r;const{operations:{supportsQuery:t,supportsQueryAttachments:i},query:{supportsFormatPBF:o},data:{supportsAttachment:s}}=V(r,this.url);return{exportMap:{supportsModification:!!r.canModifyLayer},operations:{supportsQuery:t,supportsQueryAttachments:i},data:{supportsAttachment:s},query:{supportsFormatPBF:o}}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer("definitionExpression",e)}get effectiveScaleRange(){const{minScale:e,maxScale:r}=this;return{minScale:e,maxScale:r}}readMaxScaleRange(e,r){return{minScale:r.minScale??0,maxScale:r.maxScale??0}}get fieldsIndex(){return new O(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer("floorInfo",e)}readGlobalIdFieldFromService(e,r){if((r=r.layerDefinition||r).globalIdField)return r.globalIdField;if(r.fields)for(const t of r.fields)if("esriFieldTypeGlobalID"===t.type)return t.name}get id(){const e=this._get("id");return e??z++}set id(e){this._get("id")!==e&&(!1!==this.layer?.capabilities?.exportMap?.supportsDynamicLayers?this._set("id",e):this._logLockedError("id","capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'"))}set labelingInfo(e){this._setAndNotifyLayer("labelingInfo",e)}writeLabelingInfo(e,r,t,i){e&&e.length&&(r.layerDefinition={drawingInfo:{labelingInfo:e.map((e=>e.write({},i)))}})}set labelsVisible(e){this._setAndNotifyLayer("labelsVisible",e)}set layer(e){this._set("layer",e),this.sublayers&&this.sublayers.forEach((r=>r.layer=e))}set listMode(e){this._set("listMode",e)}set minScale(e){this._setAndNotifyLayer("minScale",e)}readMinScale(e,r){return r.minScale||r.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer("maxScale",e)}readMaxScale(e,r){return r.maxScale||r.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,r){if((r=r.layerDefinition||r).objectIdField)return r.objectIdField;if(r.fields)for(const t of r.fields)if("esriFieldTypeOID"===t.type)return t.name}set opacity(e){this._setAndNotifyLayer("opacity",e)}readOpacity(e,r){const t=r.layerDefinition;return 1-.01*((null!=t?.transparency?t.transparency:t?.drawingInfo?.transparency)??0)}writeOpacity(e,r,t,i){r.layerDefinition={drawingInfo:{transparency:100-100*e}}}writeParent(e,r){this.parent&&this.parent!==this.layer?r.parentLayerId=I(this.parent.id):r.parentLayerId=-1}get queryTask(){if(!this.layer)return null;const{spatialReference:e}=this.layer,r="gdbVersion"in this.layer?this.layer.gdbVersion:void 0,{capabilities:t,fieldsIndex:i}=this,o=has("featurelayer-pbf")&&t?.query.supportsFormatPBF,s=t?.operations?.supportsQueryAttachments??!1;return new x({url:this.url,pbfSupported:o,fieldsIndex:i,gdbVersion:r,sourceSpatialReference:e,queryAttachmentsSupported:s})}set renderer(e){if(e)for(const r of e.getSymbols())if(s(r)){d.getLogger(this).warn("Sublayer renderer should use 2D symbols");break}this._setAndNotifyLayer("renderer",e)}get source(){return this._get("source")||new N({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer("source",e)}set sublayers(e){this._handleSublayersChange(e,this._get("sublayers")),this._set("sublayers",e)}castSublayers(e){return w(a.ofType(Q),e)}writeSublayers(e,r,t){this.sublayers?.length&&(r[t]=this.sublayers.map((e=>e.id)).toArray().reverse())}readTypeIdField(e,r){let t=(r=r.layerDefinition||r).typeIdField;if(t&&r.fields){t=t.toLowerCase();const e=r.fields.find((e=>e.name.toLowerCase()===t));e&&(t=e.name)}return t}get url(){const e=this.layer?.parsedUrl??this._lastParsedUrl,r=this.source;if(!e)return null;if(this._lastParsedUrl=e,"map-layer"===r?.type)return`${e.path}/${r.mapLayerId}`;const t={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${f(t)}`}set url(e){this._overrideIfSome("url",e)}set visible(e){this._setAndNotifyLayer("visible",e)}writeVisible(e,r,t,i){r[t]=this.getAtOrigin("defaultVisibility","service")||e}clone(){const{store:e}=E(this),r=new Q;return E(r).store=e.clone(K),this.commitProperty("url"),r._lastParsedUrl=this._lastParsedUrl,r}createPopupTemplate(e){return U(this,e)}createQuery(){return new R({returnGeometry:!0,where:this.definitionExpression||"1=1"})}async createFeatureLayer(){if(this.hasOwnProperty("sublayers"))return null;const{layer:e}=this,r=e?.parsedUrl,t=new(0,(await import("../FeatureLayer.js")).default)({url:r?.path});return r&&this.source&&("map-layer"===this.source.type?t.layerId=this.source.mapLayerId:t.dynamicDataSource=this.source),null!=e?.refreshInterval&&(t.refreshInterval=e.refreshInterval),this.definitionExpression&&(t.definitionExpression=this.definitionExpression),this.floorInfo&&(t.floorInfo=p(this.floorInfo)),this.originIdOf("labelingInfo")>L.SERVICE&&(t.labelingInfo=p(this.labelingInfo)),this.originIdOf("labelsVisible")>L.DEFAULTS&&(t.labelsVisible=this.labelsVisible),this.originIdOf("legendEnabled")>L.DEFAULTS&&(t.legendEnabled=this.legendEnabled),this.originIdOf("visible")>L.DEFAULTS&&(t.visible=this.visible),this.originIdOf("minScale")>L.DEFAULTS&&(t.minScale=this.minScale),this.originIdOf("maxScale")>L.DEFAULTS&&(t.maxScale=this.maxScale),this.originIdOf("opacity")>L.DEFAULTS&&(t.opacity=this.opacity),this.originIdOf("popupTemplate")>L.DEFAULTS&&(t.popupTemplate=p(this.popupTemplate)),this.originIdOf("renderer")>L.SERVICE&&(t.renderer=p(this.renderer)),"data-layer"===this.source?.type&&(t.dynamicDataSource=this.source.clone()),this.originIdOf("title")>L.DEFAULTS&&(t.title=this.title),"map-image"===e?.type&&e.originIdOf("customParameters")>L.DEFAULTS&&(t.customParameters=e.customParameters),"tile"===e?.type&&e.originIdOf("customParameters")>L.DEFAULTS&&(t.customParameters=e.customParameters),t}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){const{typeIdField:r,types:t}=this;if(!r||!e)return null;const i=e.attributes?e.attributes[r]:void 0;if(null==i)return null;let o=null;return t?.some((e=>{const{id:r}=e;return null!=r&&(r.toString()===i.toString()&&(o=e),!!o)})),o}getFieldDomain(e,r){const t=r?.feature,i=this.getFeatureType(t);if(i){const r=i.domains&&i.domains[e];if(r&&"inherited"!==r.type)return r}return this._getLayerDomain(e)}async queryAttachments(e,r){await this.load(),e=q.from(e);const t=this.capabilities;if(!t?.data?.supportsAttachment)throw new l("queryAttachments:not-supported","this layer doesn't support attachments");const{attachmentTypes:i,objectIds:o,globalIds:s,num:a,size:n,start:p,where:y}=e;if(!t?.operations?.supportsQueryAttachments){if(i?.length>0||s?.length>0||n?.length>0||a||p||y)throw new l("queryAttachments:option-not-supported","when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",e)}if(!(o?.length||s?.length||y))throw new l("queryAttachments:invalid-query","'objectIds', 'globalIds', or 'where' are required to perform attachment query",e);return this.queryTask.executeAttachmentQuery(e,r)}async queryFeatures(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new l("queryFeatures:not-supported","this layer has no url.");const t=await this.queryTask.execute(e,{...r,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(t?.features)for(const i of t.features)i.sourceLayer=this;return t}toExportImageJSON(e){const r={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:"mapLayer"}},t=c(e,this.definitionExpression);null!=t&&(r.definitionExpression=t);const i=["renderer","labelingInfo","opacity","labelsVisible"].reduce(((e,r)=>(e[r]=this.originIdOf(r),e)),{}),o=Object.keys(i).some((e=>i[e]>L.SERVICE));if(o){const e=r.drawingInfo={};if(i.renderer>L.SERVICE&&(e.renderer=this.renderer?this.renderer.toJSON():null),i.labelsVisible>L.SERVICE&&(e.showLabels=this.labelsVisible),this.labelsVisible&&i.labelingInfo>L.SERVICE)if(this.labelingInfo){!this.loaded&&this.labelingInfo?.some((e=>!e.labelPlacement))&&d.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let r=this.labelingInfo;null!=this.geometryType&&(r=_(this.labelingInfo,C.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=r.filter((e=>e.labelPlacement)).map((e=>e.toJSON({origin:"service",layer:this.layer})))}else e.showLabels=!1;i.opacity>L.SERVICE&&(e.transparency=100-100*this.opacity),this._assignDefaultSymbolColors(e.renderer)}return r}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,(e=>{e.color||"esriSMSX"!==e.style&&"esriSMSCross"!==e.style||(e.outline?.color?e.color=e.outline.color:e.color=[0,0,0,0])}))}_forEachSimpleMarkerSymbols(e,r){if(e){const t=("uniqueValueInfos"in e?e.uniqueValueInfos:"classBreakInfos"in e?e.classBreakInfos:null)??[];for(const e of t)B(e.symbol)&&r(e.symbol);"symbol"in e&&B(e.symbol)&&r(e.symbol),"defaultSymbol"in e&&B(e.defaultSymbol)&&r(e.defaultSymbol)}}_setAndNotifyLayer(e,r){const t=this.layer,i=this._get(e);let o,s;switch(e){case"definitionExpression":case"floorInfo":o="supportsSublayerDefinitionExpression";break;case"minScale":case"maxScale":case"visible":o="supportsSublayerVisibility";break;case"labelingInfo":case"labelsVisible":case"opacity":case"renderer":case"source":o="supportsDynamicLayers",s="supportsModification"}const a=E(this).getDefaultOrigin();if("service"!==a){if(o&&!1===this.layer?.capabilities?.exportMap?.[o])return void this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${o}'`);if(s&&!1===this.capabilities?.exportMap[s])return void this._logLockedError(e,`capability not available 'capabilities.exportMap.${s}'`)}"source"!==e||"not-loaded"===this.loadStatus?(this._set(e,r),"service"!==a&&i!==r&&t&&t.emit&&t.emit("sublayer-update",{propertyName:e,target:this})):this._logLockedError(e,"'source' can't be changed after calling sublayer.load()")}_handleSublayersChange(e,r){r&&(r.forEach((e=>{e.parent=null,e.layer=null})),this.removeAllHandles()),e&&(e.forEach((e=>{e.parent=this,e.layer=this.layer})),this.addHandles([e.on("after-add",(({item:e})=>{e.parent=this,e.layer=this.layer})),e.on("after-remove",(({item:e})=>{e.parent=null,e.layer=null})),e.on("before-changes",(e=>{const r=this.layer?.capabilities?.exportMap?.supportsSublayersChanges;null==r||r||(d.getLogger(this).error(new l("sublayer:sublayers-non-modifiable","Sublayer can't be added, moved, or removed from the layer's sublayers",{sublayer:this,layer:this.layer})),e.preventDefault())}))]))}_logLockedError(e,r){const{layer:t,declaredClass:i}=this;d.getLogger(i).error(new l("sublayer:locked",`Property '${String(e)}' can't be changed on Sublayer from the layer '${t?.id}'`,{reason:r,sublayer:this,layer:t}))}_getLayerDomain(e){const r=this.fieldsIndex.get(e);return r?r.domain:null}};W.test={isMapImageLayerOverridePolicy:e=>e===G||e===J,isTileImageLayerOverridePolicy:e=>e===$},e([m({readOnly:!0})],W.prototype,"capabilities",void 0),e([b("service","capabilities",["layerDefinition.canModifyLayer","layerDefinition.capabilities"])],W.prototype,"readCapabilities",null),e([m()],W.prototype,"defaultPopupTemplate",null),e([m({type:String,value:null,json:{name:"layerDefinition.definitionExpression",write:{allowNull:!0,overridePolicy:J}}})],W.prototype,"definitionExpression",null),e([m({readOnly:!0})],W.prototype,"effectiveScaleRange",null),e([b("service","maxScaleRange",["minScale","maxScale"])],W.prototype,"readMaxScaleRange",null),e([m({type:[P],json:{origins:{service:{read:{source:"layerDefinition.fields"}}}}})],W.prototype,"fields",void 0),e([m({readOnly:!0})],W.prototype,"fieldsIndex",null),e([m({type:A,value:null,json:{name:"layerDefinition.floorInfo",read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo",overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],W.prototype,"floorInfo",null),e([m({type:k,json:{read:{source:"layerDefinition.extent"}}})],W.prototype,"fullExtent",void 0),e([m({type:C.apiValues,json:{origins:{service:{name:"layerDefinition.geometryType",read:{reader:C.read}}}}})],W.prototype,"geometryType",void 0),e([m({type:String})],W.prototype,"globalIdField",void 0),e([b("service","globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],W.prototype,"readGlobalIdFieldFromService",null),e([m({type:v,json:{write:{ignoreOrigin:!0}}})],W.prototype,"id",null),e([m({value:null,type:[T],json:{read:{source:"layerDefinition.drawingInfo.labelingInfo"},write:{target:"layerDefinition.drawingInfo.labelingInfo",overridePolicy:G}}})],W.prototype,"labelingInfo",null),e([S("labelingInfo")],W.prototype,"writeLabelingInfo",null),e([m({type:Boolean,value:!0,json:{read:{source:"layerDefinition.drawingInfo.showLabels"},write:{target:"layerDefinition.drawingInfo.showLabels",overridePolicy:G}}})],W.prototype,"labelsVisible",null),e([m({value:null})],W.prototype,"layer",null),e([m({type:String,json:{write:{overridePolicy:$}}})],W.prototype,"layerItemId",void 0),e([m({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend",overridePolicy:H}}})],W.prototype,"legendEnabled",void 0),e([m({type:["show","hide","hide-children"],value:"show",json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],W.prototype,"listMode",null),e([m({type:Number,value:0,json:{write:{overridePolicy:G}}})],W.prototype,"minScale",null),e([b("minScale",["minScale","layerDefinition.minScale"])],W.prototype,"readMinScale",null),e([m({type:Number,value:0,json:{write:{overridePolicy:G}}})],W.prototype,"maxScale",null),e([b("maxScale",["maxScale","layerDefinition.maxScale"])],W.prototype,"readMaxScale",null),e([m({type:String})],W.prototype,"objectIdField",void 0),e([b("service","objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],W.prototype,"readObjectIdFieldFromService",null),e([m({type:Number,value:1,json:{write:{target:"layerDefinition.drawingInfo.transparency",overridePolicy:G}}})],W.prototype,"opacity",null),e([b("opacity",["layerDefinition.drawingInfo.transparency","layerDefinition.transparency"])],W.prototype,"readOpacity",null),e([S("opacity")],W.prototype,"writeOpacity",null),e([m({json:{type:v,write:{target:"parentLayerId",writerEnsuresNonNull:!0,overridePolicy:G}}})],W.prototype,"parent",void 0),e([S("parent")],W.prototype,"writeParent",null),e([m({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,r)=>!r.disablePopup},write:{target:"disablePopup",overridePolicy:H,writer(e,r,t){r[t]=!e}}}})],W.prototype,"popupEnabled",void 0),e([m({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy:H}}})],W.prototype,"popupTemplate",void 0),e([m({readOnly:!0})],W.prototype,"queryTask",null),e([m({types:t,value:null,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:G},origins:{"web-scene":{types:i,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:G}}}}})],W.prototype,"renderer",null),e([m({types:{key:"type",base:null,typeMap:{"data-layer":M,"map-layer":N}},cast(e){if(e){if("mapLayerId"in e)return j(N,e);if("dataSource"in e)return j(M,e)}return e},json:{name:"layerDefinition.source",write:{overridePolicy:G}}})],W.prototype,"source",null),e([m()],W.prototype,"sourceJSON",void 0),e([m({value:null,json:{type:[v],write:{target:"subLayerIds",allowNull:!0,overridePolicy:G}}})],W.prototype,"sublayers",null),e([h("sublayers")],W.prototype,"castSublayers",null),e([S("sublayers")],W.prototype,"writeSublayers",null),e([m({type:String,json:{name:"name",write:{overridePolicy:H}}})],W.prototype,"title",void 0),e([m({type:String})],W.prototype,"typeIdField",void 0),e([m({json:{read:!1},readOnly:!0,value:"sublayer"})],W.prototype,"type",void 0),e([b("typeIdField",["layerDefinition.typeIdField"])],W.prototype,"readTypeIdField",null),e([m({type:[F],json:{origins:{service:{read:{source:"layerDefinition.types"}}}}})],W.prototype,"types",void 0),e([m({type:String,json:{name:"layerUrl",write:{overridePolicy:$}}})],W.prototype,"url",null),e([m({type:Boolean,value:!0,json:{read:{source:"defaultVisibility"},write:{target:"defaultVisibility",overridePolicy:G}}})],W.prototype,"visible",null),e([S("visible")],W.prototype,"writeVisible",null),W=Q=e([g("esri.layers.support.Sublayer")],W);const X=W;export{X as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import r from"../../PopupTemplate.js";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"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import{rendererTypes as t,webSceneRendererTypes as i}from"../../renderers/support/types.js";import o from"../../request.js";import{isSymbol3D as a}from"../../symbols.js";import s from"../../core/Collection.js";import l from"../../core/Error.js";import has from"../../core/has.js";import{IdentifiableMixin as n}from"../../core/Identifiable.js";import{clone as p}from"../../core/lang.js";import y from"../../core/Loadable.js";import d from"../../core/Logger.js";import{MultiOriginJSONMixin as u}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as c}from"../../core/sql.js";import{objectToQuery as f}from"../../core/urlUtils.js";import{property as m}from"../../core/accessorSupport/decorators/property.js";import{cast as h}from"../../core/accessorSupport/decorators/cast.js";import{reader as b}from"../../core/accessorSupport/decorators/reader.js";import{subclass as g}from"../../core/accessorSupport/decorators/subclass.js";import{writer as S}from"../../core/accessorSupport/decorators/writer.js";import{ensureInteger as I,ensureType as w,Integer as v,ensureClass as j}from"../../core/accessorSupport/ensureType.js";import{OriginId as L,nameToId as D}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as E}from"../../core/accessorSupport/utils.js";import F from"../graphics/sources/support/QueryTask.js";import x from"./FeatureType.js";import P from"./Field.js";import O from"./FieldsIndex.js";import T from"./LabelClass.js";import{validateLabelingInfo as _}from"./labelingInfo.js";import A from"./LayerFloorInfo.js";import{getFeatureLayerCapabilities as V}from"./serviceCapabilitiesUtils.js";import{DataLayerSource as M}from"./source/DataLayerSource.js";import{MapLayerSource as N}from"./source/MapLayerSource.js";import q from"../../rest/support/AttachmentQuery.js";import C from"../../rest/support/Query.js";import{createPopupTemplate as R}from"../../support/popupUtils.js";import U from"../../geometry/Extent.js";import{featureGeometryTypeKebabDictionary as k}from"../../geometry/support/typeUtils.js";var Q;function B(e){return null!=e&&"esriSMS"===e.type}function J(e,r,t){const i=this.originIdOf(r)>=D(t.origin);return{ignoreOrigin:!0,allowNull:i,enabled:!!t&&("map-image"===t.layer?.type&&(t.writeSublayerStructure||i))}}function $(e,r,t){return{enabled:!!t&&("tile"===t.layer?.type&&(t.origin&&this.originIdOf(r)>=D(t.origin)||this._isOverridden(r)))}}function G(e,r,t){return{ignoreOrigin:!0,enabled:t&&t.writeSublayerStructure||!1}}function H(e,r,t){return{ignoreOrigin:!0,enabled:!!t&&(t.writeSublayerStructure||this.originIdOf(r)>=D(t.origin))}}let z=0;const K=new Set;K.add("layer"),K.add("parent"),K.add("loaded"),K.add("loadStatus"),K.add("loadError"),K.add("loadWarnings");let W=Q=class extends(u(n(y))){constructor(e){super(e),this.capabilities=void 0,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.sourceJSON=null,this.title=null,this.typeIdField=null,this.type="sublayer",this.types=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise((async()=>{const{layer:r,url:t}=this;if(!r&&!t)throw new l("sublayer:missing-layer","Sublayer can't be loaded without being part of a layer",{sublayer:this});const i=r?await r.fetchSublayerInfo(this,e):(await o(t,{responseType:"json",query:{f:"json"},...e})).data;i&&(this.sourceJSON=i,this.read({layerDefinition:i},{origin:"service"}))})()),this}readCapabilities(e,r){r=r.layerDefinition||r;const{operations:{supportsQuery:t,supportsQueryAttachments:i},query:{supportsFormatPBF:o},data:{supportsAttachment:a}}=V(r,this.url);return{exportMap:{supportsModification:!!r.canModifyLayer},operations:{supportsQuery:t,supportsQueryAttachments:i},data:{supportsAttachment:a},query:{supportsFormatPBF:o}}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer("definitionExpression",e)}get effectiveScaleRange(){const{minScale:e,maxScale:r}=this;return{minScale:e,maxScale:r}}readMaxScaleRange(e,r){return{minScale:(r=r.layerDefinition||r).minScale??0,maxScale:r.maxScale??0}}get fieldsIndex(){return new O(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer("floorInfo",e)}readGlobalIdFieldFromService(e,r){if((r=r.layerDefinition||r).globalIdField)return r.globalIdField;if(r.fields)for(const t of r.fields)if("esriFieldTypeGlobalID"===t.type)return t.name}get id(){const e=this._get("id");return e??z++}set id(e){this._get("id")!==e&&(!1!==this.layer?.capabilities?.exportMap?.supportsDynamicLayers?this._set("id",e):this._logLockedError("id","capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'"))}set labelingInfo(e){this._setAndNotifyLayer("labelingInfo",e)}writeLabelingInfo(e,r,t,i){e&&e.length&&(r.layerDefinition={drawingInfo:{labelingInfo:e.map((e=>e.write({},i)))}})}set labelsVisible(e){this._setAndNotifyLayer("labelsVisible",e)}set layer(e){this._set("layer",e),this.sublayers&&this.sublayers.forEach((r=>r.layer=e))}set listMode(e){this._set("listMode",e)}set minScale(e){this._setAndNotifyLayer("minScale",e)}readMinScale(e,r){return r.minScale||r.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer("maxScale",e)}readMaxScale(e,r){return r.maxScale||r.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,r){if((r=r.layerDefinition||r).objectIdField)return r.objectIdField;if(r.fields)for(const t of r.fields)if("esriFieldTypeOID"===t.type)return t.name}set opacity(e){this._setAndNotifyLayer("opacity",e)}readOpacity(e,r){const t=r.layerDefinition;return 1-.01*((null!=t?.transparency?t.transparency:t?.drawingInfo?.transparency)??0)}writeOpacity(e,r,t,i){r.layerDefinition={drawingInfo:{transparency:100-100*e}}}writeParent(e,r){this.parent&&this.parent!==this.layer?r.parentLayerId=I(this.parent.id):r.parentLayerId=-1}get queryTask(){if(!this.layer)return null;const{spatialReference:e}=this.layer,r="gdbVersion"in this.layer?this.layer.gdbVersion:void 0,{capabilities:t,fieldsIndex:i}=this,o=has("featurelayer-pbf")&&t?.query.supportsFormatPBF,a=t?.operations?.supportsQueryAttachments??!1;return new F({url:this.url,pbfSupported:o,fieldsIndex:i,gdbVersion:r,sourceSpatialReference:e,queryAttachmentsSupported:a})}set renderer(e){if(e)for(const r of e.getSymbols())if(a(r)){d.getLogger(this).warn("Sublayer renderer should use 2D symbols");break}this._setAndNotifyLayer("renderer",e)}get source(){return this._get("source")||new N({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer("source",e)}set sublayers(e){this._handleSublayersChange(e,this._get("sublayers")),this._set("sublayers",e)}castSublayers(e){return w(s.ofType(Q),e)}writeSublayers(e,r,t){this.sublayers?.length&&(r[t]=this.sublayers.map((e=>e.id)).toArray().reverse())}readTitle(e,r){return r.layerDefinition?.name??r.name}readTypeIdField(e,r){let t=(r=r.layerDefinition||r).typeIdField;if(t&&r.fields){t=t.toLowerCase();const e=r.fields.find((e=>e.name.toLowerCase()===t));e&&(t=e.name)}return t}get url(){const e=this.layer?.parsedUrl??this._lastParsedUrl,r=this.source;if(!e)return null;if(this._lastParsedUrl=e,"map-layer"===r?.type)return`${e.path}/${r.mapLayerId}`;const t={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${f(t)}`}set url(e){this._overrideIfSome("url",e)}set visible(e){this._setAndNotifyLayer("visible",e)}writeVisible(e,r,t,i){r[t]=this.getAtOrigin("defaultVisibility","service")||e}clone(){const{store:e}=E(this),r=new Q;return E(r).store=e.clone(K),this.commitProperty("url"),r._lastParsedUrl=this._lastParsedUrl,r}createPopupTemplate(e){return R(this,e)}createQuery(){return new C({returnGeometry:!0,where:this.definitionExpression||"1=1"})}async createFeatureLayer(){if(this.hasOwnProperty("sublayers"))return null;const e=(await import("../FeatureLayer.js")).default,{layer:r,url:t}=this;let i;if(t&&this.originIdOf("url")>L.SERVICE)i=new e({url:t});else{if(!r?.parsedUrl)throw new l("createFeatureLayer:missing-information","Cannot create a FeatureLayer without a url or a parent layer");{const t=r.parsedUrl;i=new e({url:t.path}),t&&this.source&&("map-layer"===this.source.type?i.layerId=this.source.mapLayerId:i.dynamicDataSource=this.source)}}return null!=r?.refreshInterval&&(i.refreshInterval=r.refreshInterval),this.definitionExpression&&(i.definitionExpression=this.definitionExpression),this.floorInfo&&(i.floorInfo=p(this.floorInfo)),this.originIdOf("labelingInfo")>L.SERVICE&&(i.labelingInfo=p(this.labelingInfo)),this.originIdOf("labelsVisible")>L.DEFAULTS&&(i.labelsVisible=this.labelsVisible),this.originIdOf("legendEnabled")>L.DEFAULTS&&(i.legendEnabled=this.legendEnabled),this.originIdOf("visible")>L.DEFAULTS&&(i.visible=this.visible),this.originIdOf("minScale")>L.DEFAULTS&&(i.minScale=this.minScale),this.originIdOf("maxScale")>L.DEFAULTS&&(i.maxScale=this.maxScale),this.originIdOf("opacity")>L.DEFAULTS&&(i.opacity=this.opacity),this.originIdOf("popupTemplate")>L.DEFAULTS&&(i.popupTemplate=p(this.popupTemplate)),this.originIdOf("renderer")>L.SERVICE&&(i.renderer=p(this.renderer)),"data-layer"===this.source?.type&&(i.dynamicDataSource=this.source.clone()),this.originIdOf("title")>L.DEFAULTS&&(i.title=this.title),"map-image"===r?.type&&r.originIdOf("customParameters")>L.DEFAULTS&&(i.customParameters=r.customParameters),"tile"===r?.type&&r.originIdOf("customParameters")>L.DEFAULTS&&(i.customParameters=r.customParameters),i}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){const{typeIdField:r,types:t}=this;if(!r||!e)return null;const i=e.attributes?e.attributes[r]:void 0;if(null==i)return null;let o=null;return t?.some((e=>{const{id:r}=e;return null!=r&&(r.toString()===i.toString()&&(o=e),!!o)})),o}getFieldDomain(e,r){const t=r?.feature,i=this.getFeatureType(t);if(i){const r=i.domains&&i.domains[e];if(r&&"inherited"!==r.type)return r}return this._getLayerDomain(e)}async queryAttachments(e,r){await this.load(),e=q.from(e);const t=this.capabilities;if(!t?.data?.supportsAttachment)throw new l("queryAttachments:not-supported","this layer doesn't support attachments");const{attachmentTypes:i,objectIds:o,globalIds:a,num:s,size:n,start:p,where:y}=e;if(!t?.operations?.supportsQueryAttachments){if(i?.length>0||a?.length>0||n?.length>0||s||p||y)throw new l("queryAttachments:option-not-supported","when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",e)}if(!(o?.length||a?.length||y))throw new l("queryAttachments:invalid-query","'objectIds', 'globalIds', or 'where' are required to perform attachment query",e);return this.queryTask.executeAttachmentQuery(e,r)}async queryFeatures(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new l("queryFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new l("queryFeatures:not-supported","this layer has no url.");const t=await this.queryTask.execute(e,{...r,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(t?.features)for(const i of t.features)i.sourceLayer=this;return t}toExportImageJSON(e){const r={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:"mapLayer"}},t=c(e,this.definitionExpression);null!=t&&(r.definitionExpression=t);const i=["renderer","labelingInfo","opacity","labelsVisible"].reduce(((e,r)=>(e[r]=this.originIdOf(r),e)),{}),o=Object.keys(i).some((e=>i[e]>L.SERVICE));if(o){const e=r.drawingInfo={};if(i.renderer>L.SERVICE&&(e.renderer=this.renderer?this.renderer.toJSON():null),i.labelsVisible>L.SERVICE&&(e.showLabels=this.labelsVisible),this.labelsVisible&&i.labelingInfo>L.SERVICE)if(this.labelingInfo){!this.loaded&&this.labelingInfo?.some((e=>!e.labelPlacement))&&d.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let r=this.labelingInfo;null!=this.geometryType&&(r=_(this.labelingInfo,k.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=r.filter((e=>e.labelPlacement)).map((e=>e.toJSON({origin:"service",layer:this.layer})))}else e.showLabels=!1;i.opacity>L.SERVICE&&(e.transparency=100-100*this.opacity),this._assignDefaultSymbolColors(e.renderer)}return r}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,(e=>{e.color||"esriSMSX"!==e.style&&"esriSMSCross"!==e.style||(e.outline?.color?e.color=e.outline.color:e.color=[0,0,0,0])}))}_forEachSimpleMarkerSymbols(e,r){if(e){const t=("uniqueValueInfos"in e?e.uniqueValueInfos:"classBreakInfos"in e?e.classBreakInfos:null)??[];for(const e of t)B(e.symbol)&&r(e.symbol);"symbol"in e&&B(e.symbol)&&r(e.symbol),"defaultSymbol"in e&&B(e.defaultSymbol)&&r(e.defaultSymbol)}}_setAndNotifyLayer(e,r){const t=this.layer,i=this._get(e);let o,a;switch(e){case"definitionExpression":case"floorInfo":o="supportsSublayerDefinitionExpression";break;case"minScale":case"maxScale":case"visible":o="supportsSublayerVisibility";break;case"labelingInfo":case"labelsVisible":case"opacity":case"renderer":case"source":o="supportsDynamicLayers",a="supportsModification"}const s=E(this).getDefaultOrigin();if("service"!==s){if(o&&!1===this.layer?.capabilities?.exportMap?.[o])return void this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${o}'`);if(a&&!1===this.capabilities?.exportMap[a])return void this._logLockedError(e,`capability not available 'capabilities.exportMap.${a}'`)}"source"!==e||"not-loaded"===this.loadStatus?(this._set(e,r),"service"!==s&&i!==r&&t&&t.emit&&t.emit("sublayer-update",{propertyName:e,target:this})):this._logLockedError(e,"'source' can't be changed after calling sublayer.load()")}_handleSublayersChange(e,r){r&&(r.forEach((e=>{e.parent=null,e.layer=null})),this.removeAllHandles()),e&&(e.forEach((e=>{e.parent=this,e.layer=this.layer})),this.addHandles([e.on("after-add",(({item:e})=>{e.parent=this,e.layer=this.layer})),e.on("after-remove",(({item:e})=>{e.parent=null,e.layer=null})),e.on("before-changes",(e=>{const r=this.layer?.capabilities?.exportMap?.supportsSublayersChanges;null==r||r||(d.getLogger(this).error(new l("sublayer:sublayers-non-modifiable","Sublayer can't be added, moved, or removed from the layer's sublayers",{sublayer:this,layer:this.layer})),e.preventDefault())}))]))}_logLockedError(e,r){const{layer:t,declaredClass:i}=this;d.getLogger(i).error(new l("sublayer:locked",`Property '${String(e)}' can't be changed on Sublayer from the layer '${t?.id}'`,{reason:r,sublayer:this,layer:t}))}_getLayerDomain(e){const r=this.fieldsIndex.get(e);return r?r.domain:null}};W.test={isMapImageLayerOverridePolicy:e=>e===G||e===J,isTileImageLayerOverridePolicy:e=>e===$},e([m({readOnly:!0})],W.prototype,"capabilities",void 0),e([b("service","capabilities",["layerDefinition.canModifyLayer","layerDefinition.capabilities"])],W.prototype,"readCapabilities",null),e([m()],W.prototype,"defaultPopupTemplate",null),e([m({type:String,value:null,json:{name:"layerDefinition.definitionExpression",write:{allowNull:!0,overridePolicy:J}}})],W.prototype,"definitionExpression",null),e([m({readOnly:!0})],W.prototype,"effectiveScaleRange",null),e([b("service","maxScaleRange",["minScale","maxScale"])],W.prototype,"readMaxScaleRange",null),e([m({type:[P],json:{origins:{service:{read:{source:"layerDefinition.fields"}}}}})],W.prototype,"fields",void 0),e([m({readOnly:!0})],W.prototype,"fieldsIndex",null),e([m({type:A,value:null,json:{name:"layerDefinition.floorInfo",read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo",overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],W.prototype,"floorInfo",null),e([m({type:U,json:{read:{source:"layerDefinition.extent"}}})],W.prototype,"fullExtent",void 0),e([m({type:k.apiValues,json:{origins:{service:{name:"layerDefinition.geometryType",read:{reader:k.read}}}}})],W.prototype,"geometryType",void 0),e([m({type:String})],W.prototype,"globalIdField",void 0),e([b("service","globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],W.prototype,"readGlobalIdFieldFromService",null),e([m({type:v,json:{write:{ignoreOrigin:!0}}})],W.prototype,"id",null),e([m({value:null,type:[T],json:{read:{source:"layerDefinition.drawingInfo.labelingInfo"},write:{target:"layerDefinition.drawingInfo.labelingInfo",overridePolicy:G}}})],W.prototype,"labelingInfo",null),e([S("labelingInfo")],W.prototype,"writeLabelingInfo",null),e([m({type:Boolean,value:!0,json:{read:{source:"layerDefinition.drawingInfo.showLabels"},write:{target:"layerDefinition.drawingInfo.showLabels",overridePolicy:G}}})],W.prototype,"labelsVisible",null),e([m({value:null})],W.prototype,"layer",null),e([m({type:String,json:{write:{overridePolicy:$}}})],W.prototype,"layerItemId",void 0),e([m({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend",overridePolicy:H}}})],W.prototype,"legendEnabled",void 0),e([m({type:["show","hide","hide-children"],value:"show",json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],W.prototype,"listMode",null),e([m({type:Number,value:0,json:{write:{overridePolicy:G}}})],W.prototype,"minScale",null),e([b("minScale",["minScale","layerDefinition.minScale"])],W.prototype,"readMinScale",null),e([m({type:Number,value:0,json:{write:{overridePolicy:G}}})],W.prototype,"maxScale",null),e([b("maxScale",["maxScale","layerDefinition.maxScale"])],W.prototype,"readMaxScale",null),e([m({type:String})],W.prototype,"objectIdField",void 0),e([b("service","objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],W.prototype,"readObjectIdFieldFromService",null),e([m({type:Number,value:1,json:{write:{target:"layerDefinition.drawingInfo.transparency",overridePolicy:G}}})],W.prototype,"opacity",null),e([b("opacity",["layerDefinition.drawingInfo.transparency","layerDefinition.transparency"])],W.prototype,"readOpacity",null),e([S("opacity")],W.prototype,"writeOpacity",null),e([m({json:{type:v,write:{target:"parentLayerId",writerEnsuresNonNull:!0,overridePolicy:G}}})],W.prototype,"parent",void 0),e([S("parent")],W.prototype,"writeParent",null),e([m({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,r)=>!r.disablePopup},write:{target:"disablePopup",overridePolicy:H,writer(e,r,t){r[t]=!e}}}})],W.prototype,"popupEnabled",void 0),e([m({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy:H}}})],W.prototype,"popupTemplate",void 0),e([m({readOnly:!0})],W.prototype,"queryTask",null),e([m({types:t,value:null,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:G},origins:{"web-scene":{types:i,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:G}}}}})],W.prototype,"renderer",null),e([m({types:{key:"type",base:null,typeMap:{"data-layer":M,"map-layer":N}},cast(e){if(e){if("mapLayerId"in e)return j(N,e);if("dataSource"in e)return j(M,e)}return e},json:{name:"layerDefinition.source",write:{overridePolicy:G}}})],W.prototype,"source",null),e([m()],W.prototype,"sourceJSON",void 0),e([m({value:null,json:{type:[v],write:{target:"subLayerIds",allowNull:!0,overridePolicy:G}}})],W.prototype,"sublayers",null),e([h("sublayers")],W.prototype,"castSublayers",null),e([S("sublayers")],W.prototype,"writeSublayers",null),e([m({type:String,json:{name:"name",write:{overridePolicy:H}}})],W.prototype,"title",void 0),e([b("service","title",["name","layerDefinition.name"])],W.prototype,"readTitle",null),e([m({type:String})],W.prototype,"typeIdField",void 0),e([m({json:{read:!1},readOnly:!0,value:"sublayer"})],W.prototype,"type",void 0),e([b("typeIdField",["layerDefinition.typeIdField"])],W.prototype,"readTypeIdField",null),e([m({type:[x],json:{origins:{service:{read:{source:"layerDefinition.types"}}}}})],W.prototype,"types",void 0),e([m({type:String,json:{name:"layerUrl",write:{overridePolicy:$}}})],W.prototype,"url",null),e([m({type:Boolean,value:!0,json:{read:{source:"defaultVisibility"},write:{target:"defaultVisibility",overridePolicy:G}}})],W.prototype,"visible",null),e([S("visible")],W.prototype,"writeVisible",null),W=Q=e([g("esri.layers.support.Sublayer")],W);const X=W;export{X as default};
@@ -0,0 +1,4 @@
1
+ import "../../interfaces";
2
+
3
+ import Subtype = __esri.Subtype;
4
+ export default Subtype;
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import{ClonableMixin as r}from"../../core/Clonable.js";import{JSONSupport as t}from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{reader as e}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{writer as i}from"../../core/accessorSupport/decorators/writer.js";import{fromJSON as a}from"./domains.js";let c=class extends(r(t)){constructor(){super(...arguments),this.code=null,this.defaultValues={},this.domains=null,this.name=null}readDomains(o){if(!o)return null;const r={};for(const t of Object.keys(o))r[t]=a(o[t]);return r}writeDomains(o,r){if(!o)return;const t={};for(const s of Object.keys(o))o[s]&&(t[s]=o[s]?.toJSON());r.domains=t}};o([s({type:Number,json:{write:!0}})],c.prototype,"code",void 0),o([s({type:Object,json:{write:!0}})],c.prototype,"defaultValues",void 0),o([s({json:{write:!0}})],c.prototype,"domains",void 0),o([e("domains")],c.prototype,"readDomains",null),o([i("domains")],c.prototype,"writeDomains",null),o([s({type:String,json:{write:!0}})],c.prototype,"name",void 0),c=o([p("esri.layers.support.Subtype")],c);const n=c;export{n as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import{ClonableMixin as r}from"../../core/Clonable.js";import{JSONSupport as t}from"../../core/JSONSupport.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{reader as e}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{writer as i}from"../../core/accessorSupport/decorators/writer.js";import{fromJSON as a}from"./domains.js";let c=class extends(r(t)){constructor(o){super(o),this.code=null,this.defaultValues={},this.domains=null,this.name=null}readDomains(o){if(!o)return null;const r={};for(const t of Object.keys(o))r[t]=a(o[t]);return r}writeDomains(o,r){if(!o)return;const t={};for(const s of Object.keys(o))o[s]&&(t[s]=o[s]?.toJSON());r.domains=t}};o([s({type:Number,json:{write:!0}})],c.prototype,"code",void 0),o([s({type:Object,json:{write:!0}})],c.prototype,"defaultValues",void 0),o([s({json:{write:!0}})],c.prototype,"domains",void 0),o([e("domains")],c.prototype,"readDomains",null),o([i("domains")],c.prototype,"writeDomains",null),o([s({type:String,json:{write:!0}})],c.prototype,"name",void 0),c=o([p("esri.layers.support.Subtype")],c);const n=c;export{n as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import has from"../../core/has.js";import e from"../../core/Logger.js";import i from"./Field.js";import t from"./FieldsIndex.js";import{fixFields as r}from"./fieldUtils.js";function s(){return{fields:{type:[i],value:null,set:function(i){if(i&&has("big-integer-warning-enabled")){const t=i.filter((e=>"big-integer"===e.type||"oid"===e.type&&e.length>=8));if(t.length){const i=t.map((e=>`'${e.name}'`)).join(", ");e.getLogger(this).warn("#fields",`Layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}') references big-integer field(s): ${i}, support for which is experimental. Only integers less than ${Number.MAX_SAFE_INTEGER} (Number.MAX_SAFE_INTEGER) are supported.`)}}this._set("fields",i)}},fieldsIndex:{readOnly:!0,get(){return t.fromLayer(this)}},outFields:{type:[String],json:{read:!1},set:function(e){this._userOutFields=e,this.notifyChange("outFields")},get:function(){const i=this._userOutFields;if(!i?.length)return null;if(i.includes("*"))return["*"];if(!this.fields)return i;for(const t of i){const r=this.fieldsIndex?.has(t);r||e.getLogger("esri.layers.support.fieldProperties").error("field-attributes-layer:invalid-field",`Invalid field ${t} found in outFields`,{layer:this,outFields:i})}return r(this.fieldsIndex,i)}}}}export{s as defineFieldProperties};
5
+ import has from"../../core/has.js";import e from"../../core/Logger.js";import i from"./Field.js";import t from"./FieldsIndex.js";import{fixFields as r}from"./fieldUtils.js";function s(){return{fields:{type:[i],value:null,set:function(i){if(i&&has("big-integer-warning-enabled")){const t=i.filter((e=>"big-integer"===e.type||"oid"===e.type&&(e.length||0)>=8));if(t.length){const i=t.map((e=>`'${e.name}'`)).join(", ");e.getLogger(this).warn("#fields",`Layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}') references big-integer field(s): ${i}, support for which is experimental. Only integers less than ${Number.MAX_SAFE_INTEGER} (Number.MAX_SAFE_INTEGER) are supported.`)}}this._set("fields",i)}},fieldsIndex:{readOnly:!0,get(){return t.fromLayer(this)}},outFields:{type:[String],json:{read:!1},set:function(e){this._userOutFields=e,this.notifyChange("outFields")},get:function(){const i=this._userOutFields;if(!i?.length)return null;if(i.includes("*"))return["*"];if(!this.fields)return i;for(const t of i){const r=this.fieldsIndex?.has(t);r||e.getLogger("esri.layers.support.fieldProperties").error("field-attributes-layer:invalid-field",`Invalid field ${t} found in outFields`,{layer:this,outFields:i})}return r(this.fieldsIndex,i)}}}}export{s as defineFieldProperties};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{getDeepValue as n,setDeepValue as i}from"../../core/object.js";import{union as t}from"../../core/SetUtils.js";import{parseWhereClause as r}from"../../core/sql.js";import{validateDomainValue as l,getDomainRange as o,DomainValidationError as s}from"./domainUtils.js";import{loadArcade as a}from"../../support/arcadeOnDemand.js";const u=/^([0-9_])/,f=/[^a-z0-9_\u0080-\uffff]+/gi;function d(e){if(null==e)return null;return e.trim().replaceAll(f,"_").replace(u,"F$1")||null}const c=["field","field2","field3","normalizationField","rotationInfo.field","proportionalSymbolInfo.field","proportionalSymbolInfo.normalizationField","colorInfo.field","colorInfo.normalizationField"],m=["field","normalizationField"];function p(e,n){if(null!=e&&null!=n)for(const i of Array.isArray(e)?e:[e])if(y(c,i,n),"visualVariables"in i&&i.visualVariables)for(const e of i.visualVariables)y(m,e,n)}function y(e,t,r){if(e)for(const l of e){const e=n(l,t),o=e&&"function"!=typeof e&&r.get(e);o&&i(l,o.name,t)}}function g(e,n){if(null!=e&&n?.fields?.length)if("startField"in e){const i=n.get(e.startField),t=n.get(e.endField);e.startField=i?.name??null,e.endField=t?.name??null}else{const i=n.get(e.startTimeField),t=n.get(e.endTimeField);e.startTimeField=i?.name??null,e.endTimeField=t?.name??null}}const F=new Set;function I(e,n){return e&&n?(F.clear(),b(F,e,n),Array.from(F).sort()):[]}function b(e,n,i){if(i)if(n?.fields?.length)if(i.includes("*"))for(const{name:t}of n.fields)e.add(t);else for(const t of i)T(e,n,t);else{if(i.includes("*"))return e.clear(),void e.add("*");for(const n of i)null!=n&&e.add(n)}}function T(e,n,i){if("string"==typeof i)if(n){const t=n.get(i);t&&e.add(t.name)}else e.add(i)}function x(e,n){return null==n||null==e?[]:n.includes("*")?(e.fields??[]).map((e=>e.name)):n}function w(e,n,i=1){if(!n||!e)return[];if(n.includes("*"))return["*"];const t=I(e,n);return t.length/e.fields.length>=i?["*"]:t}async function h(e,n,i){if(!i)return;const{arcadeUtils:t}=await a(),r=t.extractFieldNames(i,n?.fields?.map((e=>e.name)));for(const l of r)T(e,n,l)}async function S(n,i,t){if(t&&"1=1"!==t){const l=await r(t,i);if(!l.isStandardized)throw new e("fieldUtils:collectFilterFields","Where clause is not standardized",{where:t});b(n,i,l.fieldNames)}}function _({displayField:e,fields:n}){return e||(n?.length?A(n,"name-or-title")||A(n,"unique-identifier")||A(n,"type-or-category")||E(n):null)}function E(e){for(const n of e){if(!n?.name)continue;const e=n.name.toLowerCase();if(e.includes("name")||e.includes("title"))return n.name}return null}function A(e,n){for(const i of e)if(i?.valueType&&i.valueType===n)return i.name;return null}async function v(e){if(!e)return[];const n=new Set;return await $(n,e),Array.from(n).sort()}async function $(e,n){if(!n)return;const i=n.elevationInfo?.featureExpressionInfo;return i?i.collectRequiredFields(e,n.fieldsIndex):void 0}function N(e,n,i){i.onStatisticExpression?h(e,n,i.onStatisticExpression.expression):e.add(i.onStatisticField)}async function L(e,n,i){if(!n||!i||!("fields"in i))return;const t=[],r=i.popupTemplate;t.push(D(e,n,r)),i.fields&&t.push(...i.fields.map((async i=>N(e,n.fieldsIndex,i)))),await Promise.all(t)}async function D(e,n,i){const t=[];i?.expressionInfos&&t.push(...i.expressionInfos.map((i=>h(e,n.fieldsIndex,i.expression))));const r=i?.content;if(Array.isArray(r))for(const l of r)"expression"===l.type&&l.expressionInfo&&t.push(h(e,n.fieldsIndex,l.expressionInfo.expression));await Promise.all(t)}async function O(e,n,i){n&&(n.timeInfo&&i?.timeExtent&&b(e,n.fieldsIndex,[n.timeInfo.startField,n.timeInfo.endField]),n.floorInfo&&b(e,n.fieldsIndex,[n.floorInfo.floorField]),null!=i?.where&&await S(e,n.fieldsIndex,i.where))}async function V(e,n,i){n&&i&&await Promise.all(i.map((i=>j(e,n,i))))}async function j(e,n,i){n&&i&&(i.valueExpression?await h(e,n.fieldsIndex,i.valueExpression):i.field&&T(e,n.fieldsIndex,i.field))}async function U(e){if(!e)return[];const n="timeInfo"in e&&e.timeInfo;return n?I(e.fieldsIndex,[e.trackIdField,n.startField,n.endField]):[]}function C(e){return e?I(e.fieldsIndex,M(e)):[]}function R(e){if(!e)return[];const n=e.geometryFieldsInfo;return n?I(e.fieldsIndex,[n.shapeAreaField,n.shapeLengthField]):[]}const k=new Set(["oid","global-id","guid"]),z=new Set(["oid","global-id"]),G=[/^fnode_$/i,/^tnode_$/i,/^lpoly_$/i,/^rpoly_$/i,/^poly_$/i,/^subclass$/i,/^subclass_$/i,/^rings_ok$/i,/^rings_nok$/i,/shape/i,/perimeter/i,/objectid/i,/_i$/i];function P(e){const n=new Set;B(e).forEach((e=>n.add(e))),R(e).forEach((e=>n.add(e.toLowerCase())));const i=e&&"infoFor3D"in e?e.infoFor3D:void 0;return i&&(Object.values(i.assetMapFieldRoles).forEach((e=>n.add(e.toLowerCase()))),Object.values(i.transformFieldRoles).forEach((e=>n.add(e.toLowerCase())))),Array.from(n)}function M(e){if(!e)return[];const n="editFieldsInfo"in e&&e.editFieldsInfo;if(!n)return[];const{creationDateField:i,creatorField:t,editDateField:r,editorField:l}=n;return[i,t,r,l].filter(Boolean)}function B(e){return M(e).map((e=>e.toLowerCase()))}function X(e,n){return e.editable&&!k.has(e.type)&&!B(n).includes(e.name?.toLowerCase()??"")}function q(e,n){const i=e.name?.toLowerCase()??"";return!(null!=n?.objectIdField&&i===n.objectIdField.toLowerCase()||null!=n?.globalIdField&&i===n.globalIdField.toLowerCase()||P(n).includes(i)||z.has(e.type)||G.some((e=>e.test(i))))}async function Y(e){if(!e)return[];const n=new Set;return await J(n,e),Array.from(n).sort()}async function J(e,n){const{labelingInfo:i,fieldsIndex:t}=n;i?.length&&await Promise.all(i.map((n=>W(e,t,n))))}async function W(e,n,i){if(!i)return;const t=i.getLabelExpression(),r=i.where;if("arcade"===t.type)await h(e,n,t.expression);else{const i=t.expression.match(/{[^}]*}/g);i&&i.forEach((i=>{T(e,n,i.slice(1,-1))}))}await S(e,n,r)}function H(e){const n=e.defaultValue;return void 0!==n&&re(e,n)?n:e.nullable?null:void 0}function K(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}function Q(e){return null===e||K(e)}const Z="isInteger"in Number?Number.isInteger:e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e;function ee(e){return null===e||Z(e)}function ne(e){return null!=e&&"string"==typeof e}function ie(e){return null===e||ne(e)}function te(){return!0}function re(e,n){let i;switch(e.type){case"date":case"integer":case"long":case"small-integer":case"big-integer":case"esriFieldTypeDate":case"esriFieldTypeInteger":case"esriFieldTypeLong":case"esriFieldTypeSmallInteger":case"esriFieldTypeBigInteger":i=e.nullable?ee:Z;break;case"double":case"single":case"esriFieldTypeSingle":case"esriFieldTypeDouble":i=e.nullable?Q:K;break;case"string":case"esriFieldTypeString":i=e.nullable?ie:ne;break;default:i=te}return 1===arguments.length?i:i(n)}const le=["integer","small-integer","big-integer"],oe=["single","double"],se=[...le,...oe],ae=["esriFieldTypeInteger","esriFieldTypeSmallInteger","esriFieldTypeBigInteger"],ue=["esriFieldTypeSingle","esriFieldTypeDouble"],fe=new Set([...le,...ae]),de=new Set([...oe,...ue]),ce=t(fe,de),me=["date","date-only","timestamp-offset"],pe=new Set([...me,"esriFieldTypeDate","esriFieldTypeDateOnly","esriFieldTypeTimestampOffset"]);function ye(e){return null!=e&&fe.has(e.type)}function ge(e){return null!=e&&ce.has(e.type)}function Fe(e){return null!=e&&("string"===e.type||"esriFieldTypeString"===e.type)}function Ie(e){return null!=e&&pe.has(e.type)}function be(e){return null!=e&&("time-only"===e.type||"esriFieldTypeTimeOnly"===e.type)}function Te(e){return null!=e&&("oid"===e.type||"esriFieldTypeOID"===e.type)}function xe(e){return null!=e&&("global-id"===e.type||"esriFieldTypeGlobalID"===e.type)}function we(e,n){return null===Ee(e,n)}var he,Se;function _e(e){return null==e||"number"==typeof e&&isNaN(e)?null:e}function Ee(e,n){return null==e||e.nullable&&null===n?null:ge(e)&&!Ae(e.type,Number(n))?he.OUT_OF_RANGE:re(e,n)?e.domain?l(e.domain,n):null:Se.INVALID_TYPE}function Ae(e,n){const i="string"==typeof e?$e(e):e;if(!i)return!1;const t=i.min,r=i.max;return i.isInteger?Z(n)&&n>=t&&n<=r:n>=t&&n<=r}function ve(e){const n=o(e.domain);return n||(ge(e)?$e(e.type):void 0)}function $e(e){switch(e){case"esriFieldTypeSmallInteger":case"small-integer":return Le;case"esriFieldTypeInteger":case"integer":return De;case"esriFieldTypeBigInteger":case"big-integer":return Oe;case"esriFieldTypeSingle":case"single":return Ve;case"esriFieldTypeDouble":case"double":return je}}function Ne(e){if(!K(e))return null;if(Z(e)){if(e>=Le.min&&e<=Le.max)return"esriFieldTypeSmallInteger";if(e>=De.min&&e<=De.max)return"esriFieldTypeInteger";if(e>=Oe.min&&e<=Oe.max)return"esriFieldTypeBigInteger"}return e>=Ve.min&&e<=Ve.max?"esriFieldTypeSingle":"esriFieldTypeDouble"}!function(e){e.OUT_OF_RANGE="numeric-range-validation-error::out-of-range"}(he||(he={})),function(e){e.INVALID_TYPE="type-validation-error::invalid-type"}(Se||(Se={}));const Le={min:-32768,max:32767,isInteger:!0},De={min:-2147483648,max:2147483647,isInteger:!0},Oe={min:-Number.MAX_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,isInteger:!0},Ve={min:-34e37,max:12e37,isInteger:!1},je={min:-Number.MAX_VALUE,max:Number.MAX_VALUE,isInteger:!1};function Ue(e,n,i){switch(e){case s.INVALID_CODED_VALUE:return`Value ${i} is not in the coded domain - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case s.VALUE_OUT_OF_RANGE:return`Value ${i} is out of the range of valid values - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case Se.INVALID_TYPE:return`Value ${i} is not a valid value for the field type - field: ${n.name}, type: ${n.type}, nullable: ${n.nullable}`;case he.OUT_OF_RANGE:{const{min:e,max:t}=$e(n.type);return`Value ${i} is out of range for the number type - field: ${n.name}, type: ${n.type}, value range is ${e} to ${t}`}}}function Ce(e,n){return!Re(e,n,null)}function Re(e,n,i){if(!n?.attributes||!e){if(null!=i)for(const n of e??[])i.add(n);return!0}const t=new Set(Object.keys(n.attributes));let r=!1;for(const l of e)if(!t.has(l)){if(r=!0,null==i)break;i.add(l)}return r}async function ke(e,n){const i=new Set;for(const t of n)await h(i,e.fieldsIndex,t);return Array.from(i).sort()}function ze(e){return!!e&&["raster.itempixelvalue","raster.servicepixelvalue"].some((n=>e.toLowerCase().startsWith(n)))}export{he as NumericRangeValidationError,Se as TypeValidationError,Oe as bigIntegerRange,h as collectArcadeFieldNames,$ as collectElevationFields,L as collectFeatureReductionFields,T as collectField,b as collectFields,O as collectFilterFields,J as collectLabelingFields,V as collectOrderByInfos,D as collectPopupTemplateFields,me as dateTypes,je as doubleRange,Ce as featureHasFields,I as fixFields,p as fixRendererFields,g as fixTimeInfoFields,ue as floatJSONTypes,oe as floatTypes,_ as getDisplayFieldName,M as getEditTrackingFields,v as getElevationFields,ke as getExpressionFields,C as getFeatureEditFields,R as getFeatureGeometryFields,H as getFieldDefaultValue,ve as getFieldRange,Y as getLabelingFields,P as getLowerCaseDefaultHiddenFields,B as getLowerCaseEditTrackingFields,Ne as getNumericTypeForValue,U as getTimeFields,ae as integerJSONTypes,De as integerRange,le as integerTypes,Ie as isDateField,X as isFieldEditable,q as isFieldVisibleByDefault,xe as isGlobalIDField,ye as isIntegerField,Ae as isNumberInRange,ge as isNumericField,Te as isObjectIDField,ze as isRasterPixelValueField,Fe as isStringField,be as isTimeOnlyField,we as isValidFieldValue,re as isValueMatchingFieldType,d as normalizeFieldName,se as numericTypes,w as packFields,Re as populateMissingFields,c as rendererFields,_e as sanitizeNullFieldValue,Ve as singleRange,Le as smallIntegerRange,x as unpackFieldNames,Ee as validateFieldValue,Ue as validationErrorToString,m as visualVariableFields};
5
+ import e from"../../core/Error.js";import{getDeepValue as n,setDeepValue as i}from"../../core/object.js";import{union as t}from"../../core/SetUtils.js";import{parseWhereClause as r}from"../../core/sql.js";import{validateDomainValue as l,getDomainRange as o,DomainValidationError as s}from"./domainUtils.js";import{loadArcade as a}from"../../support/arcadeOnDemand.js";const u=/^([0-9_])/,f=/[^a-z0-9_\u0080-\uffff]+/gi;function d(e){if(null==e)return null;return e.trim().replaceAll(f,"_").replace(u,"F$1")||null}const c=["field","field2","field3","normalizationField","rotationInfo.field","proportionalSymbolInfo.field","proportionalSymbolInfo.normalizationField","colorInfo.field","colorInfo.normalizationField"],p=["field","normalizationField"];function m(e,n){if(null!=e&&null!=n)for(const i of Array.isArray(e)?e:[e])if(y(c,i,n),"visualVariables"in i&&i.visualVariables)for(const e of i.visualVariables)y(p,e,n)}function y(e,t,r){if(e)for(const l of e){const e=n(l,t),o=e&&"function"!=typeof e&&r.get(e);o&&i(l,o.name,t)}}function g(e,n){if(null!=e&&n?.fields?.length)if("startField"in e){const i=n.get(e.startField),t=n.get(e.endField);e.startField=i?.name??null,e.endField=t?.name??null}else{const i=n.get(e.startTimeField),t=n.get(e.endTimeField);e.startTimeField=i?.name??null,e.endTimeField=t?.name??null}}const F=new Set;function I(e,n){return e&&n?(F.clear(),b(F,e,n),Array.from(F).sort()):[]}function b(e,n,i){if(i)if(n?.fields?.length)if(i.includes("*"))for(const{name:t}of n.fields)e.add(t);else for(const t of i)T(e,n,t);else{if(i.includes("*"))return e.clear(),void e.add("*");for(const n of i)null!=n&&e.add(n)}}function T(e,n,i){if("string"==typeof i)if(n){const t=n.get(i);t&&e.add(t.name)}else e.add(i)}function x(e,n){return null==n||null==e?[]:n.includes("*")?(e.fields??[]).map((e=>e.name)):n}function w(e,n,i=1){if(!n||!e)return[];if(n.includes("*"))return["*"];const t=I(e,n);return t.length/e.fields.length>=i?["*"]:t}async function h(e,n,i){if(!i)return;const{arcadeUtils:t}=await a(),r=t.extractFieldNames(i,n?.fields?.map((e=>e.name)));for(const l of r)T(e,n,l)}async function _(n,i,t){if(t&&"1=1"!==t){const l=await r(t,i);if(!l.isStandardized)throw new e("fieldUtils:collectFilterFields","Where clause is not standardized",{where:t});b(n,i,l.fieldNames)}}function E({displayField:e,fields:n}){return e||(n?.length?v(n,"name-or-title")||v(n,"unique-identifier")||v(n,"type-or-category")||S(n):null)}function S(e){for(const n of e){if(!n?.name)continue;const e=n.name.toLowerCase();if(e.includes("name")||e.includes("title"))return n.name}return null}function v(e,n){for(const i of e)if(i?.valueType&&i.valueType===n)return i.name;return null}async function A(e){if(!e)return[];const n=new Set;return await N(n,e),Array.from(n).sort()}async function N(e,n){if(!n)return;const i=n.elevationInfo?.featureExpressionInfo;return i?i.collectRequiredFields(e,n.fieldsIndex):void 0}function $(e,n,i){i.onStatisticExpression?h(e,n,i.onStatisticExpression.expression):e.add(i.onStatisticField)}async function D(e,n,i){if(!n||!i||!("fields"in i))return;const t=[],r=i.popupTemplate;t.push(L(e,n,r)),i.fields&&t.push(...i.fields.map((async i=>$(e,n.fieldsIndex,i)))),await Promise.all(t)}async function L(e,n,i){const t=[];i?.expressionInfos&&t.push(...i.expressionInfos.map((i=>h(e,n.fieldsIndex,i.expression))));const r=i?.content;if(Array.isArray(r))for(const l of r)"expression"===l.type&&l.expressionInfo&&t.push(h(e,n.fieldsIndex,l.expressionInfo.expression));await Promise.all(t)}async function O(e,n,i){n&&(n.timeInfo&&i?.timeExtent&&b(e,n.fieldsIndex,[n.timeInfo.startField,n.timeInfo.endField]),n.floorInfo&&b(e,n.fieldsIndex,[n.floorInfo.floorField]),null!=i?.where&&await _(e,n.fieldsIndex,i.where))}async function V(e,n,i){n&&i&&await Promise.all(i.map((i=>j(e,n,i))))}async function j(e,n,i){n&&i&&(i.valueExpression?await h(e,n.fieldsIndex,i.valueExpression):i.field&&T(e,n.fieldsIndex,i.field))}async function U(e){if(!e)return[];const n="timeInfo"in e&&e.timeInfo;return n?I(e.fieldsIndex,[e.trackIdField,n.startField,n.endField]):[]}function C(e){return e?I(e.fieldsIndex,B(e)):[]}function R(e){if(!e)return[];const n=e.geometryFieldsInfo;return n?I(e.fieldsIndex,[n.shapeAreaField,n.shapeLengthField]):[]}const k=new Set(["oid","global-id","guid"]),z=new Set(["oid","global-id"]),G=[/^fnode_$/i,/^tnode_$/i,/^lpoly_$/i,/^rpoly_$/i,/^poly_$/i,/^subclass$/i,/^subclass_$/i,/^rings_ok$/i,/^rings_nok$/i,/shape/i,/perimeter/i,/objectid/i,/_i$/i];function P(e){const n=new Set;M(e).forEach((e=>n.add(e))),R(e).forEach((e=>n.add(e.toLowerCase())));const i=e&&"infoFor3D"in e?e.infoFor3D:void 0;return i&&(Object.values(i.assetMapFieldRoles).forEach((e=>n.add(e.toLowerCase()))),Object.values(i.transformFieldRoles).forEach((e=>n.add(e.toLowerCase())))),Array.from(n)}function B(e){if(!e)return[];const n="editFieldsInfo"in e&&e.editFieldsInfo;if(!n)return[];const{creationDateField:i,creatorField:t,editDateField:r,editorField:l}=n;return[i,t,r,l].filter(Boolean)}function M(e){return B(e).map((e=>e.toLowerCase()))}function X(e,n){return e.editable&&!k.has(e.type)&&!M(n).includes(e.name?.toLowerCase()??"")}function q(e,n){const i=e.name?.toLowerCase()??"";return!(null!=n?.objectIdField&&i===n.objectIdField.toLowerCase()||null!=n?.globalIdField&&i===n.globalIdField.toLowerCase()||P(n).includes(i)||z.has(e.type)||G.some((e=>e.test(i))))}async function Y(e){if(!e)return[];const n=new Set;return await J(n,e),Array.from(n).sort()}async function J(e,n){const{labelingInfo:i,fieldsIndex:t}=n;i?.length&&await Promise.all(i.map((n=>W(e,t,n))))}async function W(e,n,i){if(!i)return;const t=i.getLabelExpression(),r=i.where;if("arcade"===t.type)await h(e,n,t.expression);else{const i=t.expression.match(/{[^}]*}/g);i&&i.forEach((i=>{T(e,n,i.slice(1,-1))}))}await _(e,n,r)}function H(e){const n=e.defaultValue;return void 0!==n&&re(e,n)?n:e.nullable?null:void 0}function K(e){const n="string"==typeof e?{type:e}:e;return ye(n)?255:"esriFieldTypeDate"===n.type||"date"===n.type?8:void 0}function Q(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}function Z(e){return null===e||Q(e)}function ee(e){return null===e||Number.isInteger(e)}function ne(e){return null!=e&&"string"==typeof e}function ie(e){return null===e||ne(e)}function te(){return!0}function re(e,n){let i;switch(e.type){case"date":case"integer":case"long":case"small-integer":case"big-integer":case"esriFieldTypeDate":case"esriFieldTypeInteger":case"esriFieldTypeLong":case"esriFieldTypeSmallInteger":case"esriFieldTypeBigInteger":i=e.nullable?ee:Number.isInteger;break;case"double":case"single":case"esriFieldTypeSingle":case"esriFieldTypeDouble":i=e.nullable?Z:Q;break;case"string":case"esriFieldTypeString":i=e.nullable?ie:ne;break;default:i=te}return 1===arguments.length?i:i(n)}const le=["integer","small-integer","big-integer"],oe=["single","double"],se=[...le,...oe],ae=["esriFieldTypeInteger","esriFieldTypeSmallInteger","esriFieldTypeBigInteger"],ue=["esriFieldTypeSingle","esriFieldTypeDouble"],fe=new Set([...le,...ae]),de=new Set([...oe,...ue]),ce=t(fe,de);function pe(e){return null!=e&&fe.has(e.type)}function me(e){return null!=e&&ce.has(e.type)}function ye(e){return null!=e&&("string"===e.type||"esriFieldTypeString"===e.type)}function ge(e){return null!=e&&("date"===e.type||"esriFieldTypeDate"===e.type)}function Fe(e){return null!=e&&("date-only"===e.type||"esriFieldTypeDateOnly"===e.type)}function Ie(e){return null!=e&&("timestamp-offset"===e.type||"esriFieldTypeTimestampOffset"===e.type)}function be(e){return null!=e&&("time-only"===e.type||"esriFieldTypeTimeOnly"===e.type)}function Te(e){return null!=e&&("oid"===e.type||"esriFieldTypeOID"===e.type)}function xe(e){return null!=e&&("global-id"===e.type||"esriFieldTypeGlobalID"===e.type)}function we(e,n){return null===Se(e,n)}var he,_e;function Ee(e){return null==e||"number"==typeof e&&isNaN(e)?null:e}function Se(e,n){return null==e||e.nullable&&null===n?null:me(e)&&!ve(e.type,Number(n))?he.OUT_OF_RANGE:re(e,n)?e.domain?l(e.domain,n):null:_e.INVALID_TYPE}function ve(e,n){const i="string"==typeof e?Ne(e):e;if(!i)return!1;const t=i.min,r=i.max;return i.isInteger?Number.isInteger(n)&&n>=t&&n<=r:n>=t&&n<=r}function Ae(e){const n=o(e.domain);return n||(me(e)?Ne(e.type):void 0)}function Ne(e){switch(e){case"esriFieldTypeSmallInteger":case"small-integer":return De;case"esriFieldTypeInteger":case"integer":return Le;case"esriFieldTypeBigInteger":case"big-integer":return Oe;case"esriFieldTypeSingle":case"single":return Ve;case"esriFieldTypeDouble":case"double":return je}}function $e(e){if(!Q(e))return null;if(Number.isInteger(e)){if(e>=De.min&&e<=De.max)return"esriFieldTypeSmallInteger";if(e>=Le.min&&e<=Le.max)return"esriFieldTypeInteger";if(e>=Oe.min&&e<=Oe.max)return"esriFieldTypeBigInteger"}return e>=Ve.min&&e<=Ve.max?"esriFieldTypeSingle":"esriFieldTypeDouble"}!function(e){e.OUT_OF_RANGE="numeric-range-validation-error::out-of-range"}(he||(he={})),function(e){e.INVALID_TYPE="type-validation-error::invalid-type"}(_e||(_e={}));const De={min:-32768,max:32767,isInteger:!0},Le={min:-2147483648,max:2147483647,isInteger:!0},Oe={min:-Number.MAX_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,isInteger:!0},Ve={min:-34e37,max:12e37,isInteger:!1},je={min:-Number.MAX_VALUE,max:Number.MAX_VALUE,isInteger:!1};function Ue(e,n,i){switch(e){case s.INVALID_CODED_VALUE:return`Value ${i} is not in the coded domain - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case s.VALUE_OUT_OF_RANGE:return`Value ${i} is out of the range of valid values - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case _e.INVALID_TYPE:return`Value ${i} is not a valid value for the field type - field: ${n.name}, type: ${n.type}, nullable: ${n.nullable}`;case he.OUT_OF_RANGE:{const{min:e,max:t}=Ne(n.type);return`Value ${i} is out of range for the number type - field: ${n.name}, type: ${n.type}, value range is ${e} to ${t}`}}}function Ce(e,n){return!Re(e,n,null)}function Re(e,n,i){if(!n?.attributes||!e){if(null!=i)for(const n of e??[])i.add(n);return!0}const t=new Set(Object.keys(n.attributes));let r=!1;for(const l of e)if(!t.has(l)){if(r=!0,null==i)break;i.add(l)}return r}async function ke(e,n){const i=new Set;for(const t of n)await h(i,e.fieldsIndex,t);return Array.from(i).sort()}function ze(e){return!!e&&["raster.itempixelvalue","raster.servicepixelvalue"].some((n=>e.toLowerCase().startsWith(n)))}export{he as NumericRangeValidationError,_e as TypeValidationError,Oe as bigIntegerRange,h as collectArcadeFieldNames,N as collectElevationFields,D as collectFeatureReductionFields,T as collectField,b as collectFields,O as collectFilterFields,J as collectLabelingFields,V as collectOrderByInfos,L as collectPopupTemplateFields,je as doubleRange,Ce as featureHasFields,I as fixFields,m as fixRendererFields,g as fixTimeInfoFields,ue as floatJSONTypes,oe as floatTypes,E as getDisplayFieldName,B as getEditTrackingFields,A as getElevationFields,ke as getExpressionFields,C as getFeatureEditFields,R as getFeatureGeometryFields,K as getFieldDefaultLength,H as getFieldDefaultValue,Ae as getFieldRange,Y as getLabelingFields,P as getLowerCaseDefaultHiddenFields,M as getLowerCaseEditTrackingFields,$e as getNumericTypeForValue,U as getTimeFields,ae as integerJSONTypes,Le as integerRange,le as integerTypes,ge as isDateField,Fe as isDateOnlyField,X as isFieldEditable,q as isFieldVisibleByDefault,xe as isGlobalIDField,pe as isIntegerField,ve as isNumberInRange,me as isNumericField,Te as isObjectIDField,ze as isRasterPixelValueField,ye as isStringField,be as isTimeOnlyField,Ie as isTimestampOffsetField,we as isValidFieldValue,re as isValueMatchingFieldType,d as normalizeFieldName,se as numericTypes,w as packFields,Re as populateMissingFields,c as rendererFields,Ee as sanitizeNullFieldValue,Ve as singleRange,De as smallIntegerRange,x as unpackFieldNames,Se as validateFieldValue,Ue as validationErrorToString,p as visualVariableFields};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{clone as e}from"../../core/lang.js";import n from"./RasterFunction.js";import{getPixelValueRange as t}from"./rasterFormats/pixelRangeUtils.js";import{schema as r}from"./rasterFunctions/rasterFunctionSchema.js";import{getRFxArgColorRampValue as o,convertColorRampToColormap as a,getColorRampName as i,convertRGBATo32Bit as s}from"../../renderers/support/colorRampUtils.js";import{stretchTypeJSONDict as u}from"../../renderers/support/stretchRendererUtils.js";import l from"../../renderers/visualVariables/SizeVariable.js";const c=new Set(["u1","u2","u4","u8","s8","u16","s16"]),m={simple_scalar:"Simple Scalar",wind_barb:"Wind Barb",single_arrow:"Single Arrow",beaufort_kn:"Beaufort Wind (Knots)",beaufort_m:"Beaufort Wind (MetersPerSecond)",ocean_current_m:"Ocean Current (MetersPerSecond)",ocean_current_kn:"Ocean Current (Knots)"},f=new Set(["raster-stretch","unique-value","class-breaks","raster-shaded-relief","vector-field","raster-colormap"]);function p(e){return f.has(e.type)}function g(n,t){if(!n||!t)return e(n||t);const r=e(n);if(r.functionDefinition&&t.rasterFunctionDefinition){const e=t.rasterFunctionDefinition;(e.thumbnail||e.thumbnailEx)&&(e.thumbnail=e.thumbnailEx=void 0),d(r.functionDefinition.arguments,t),r.rasterFunctionDefinition=r.functionDefinition.toJSON()}else if("none"!==t.functionName?.toLowerCase()){b(r.functionArguments).Raster=t}return r}function d(e,n){for(const t in e)"raster"===t.toLowerCase()&&("RasterFunctionVariable"===e[t].type?(e[t]=n.rasterFunctionDefinition,e[t].type="RasterFunctionTemplate"):"RasterFunctionTemplate"===e[t].type&&d(e[t].arguments,n))}function h(n){const t=e(r[n.functionName+"Function"]),o=n.functionArguments;for(const e in o)"raster"===e.toLowerCase()?(t.arguments[e]=h(o[e]),t.arguments[e].type="RasterFunctionTemplate"):"colormap"===e.toLowerCase()?(t.arguments[e].value=V(o[e]),t.arguments.ColorSchemeType.value=0):t.arguments[e].value=o[e];return t}function y(e,n){switch(n=n||{},e.type){case"raster-stretch":return w(e,n);case"class-breaks":return S(e,n);case"unique-value":return F(e,n);case"raster-colormap":return A(e,n);case"vector-field":return T(e,n);case"raster-shaded-relief":return v(e,n);case"flow":throw new Error("Unsupported rendering rule.")}}function b(e){const n=e?.Raster;return n&&"esri.layers.support.RasterFunction"===n.declaredClass?b(n.functionArguments):e}const R={none:0,standardDeviation:3,histogramEqualization:4,minMax:5,percentClip:6,sigmoid:9};function T(e,t){const r=new n;r.functionName="VectorFieldRenderer";const{dataType:o,bandNames:a}=t,i="vector-uv"===o;let s,u;if(a&&2===a.length){const e=a.map((e=>e.toLowerCase()));s=e.indexOf("magnitude"),u=e.indexOf("direction")}-1!==s&&null!==s||(s=0,u=1);const c="arithmetic"===e.rotationType?1:2,f="flow-from"===e.flowRepresentation?0:1,p=e.visualVariables?e.visualVariables.find((e=>"Magnitude"===e.field)):new l,g={magnitudeBandID:s,directionBandID:u,isUVComponents:i,referenceSystem:c,massFlowAngleRepresentation:f,symbolTileSize:50,symbolTileSizeUnits:100,calculationMethod:"Vector Average",symbologyName:m[e.style.toLowerCase().replace("-","_")],minimumMagnitude:p.minDataValue,maximumMagnitude:p.maxDataValue,minimumSymbolSize:p.minSize,maximumSymbolSize:p.maxSize};r.functionArguments=g;const d=h(r);return t.convertToRFT?n.fromJSON({rasterFunctionDefinition:d}):r}function v(e,t){const r=t.convertToRFT;if("elevation"!==t.dataType&&("generic"!==t.dataType||1!==t.bandCount||"s16"!==t.pixelType&&"s32"!==t.pixelType&&"f32"!==t.pixelType&&"f64"!==t.pixelType))return new n;const i=new n;i.functionName="Hillshade";const s="traditional"===e.hillshadeType?0:1,u="none"===e.scalingType?1:3,l={HillshadeType:s,SlopeType:u,ZFactor:e.zFactor};return 0===s&&(l.Azimuth=e.azimuth,l.Altitude=e.altitude),3===u&&(l.PSPower=e.pixelSizePower,l.PSZFactor=e.pixelSizeFactor),i.functionArguments=l,i.variableName="Raster",e.colorRamp&&(i.functionName="ShadedRelief",r?l.ColorRamp=o(e.colorRamp):l.Colormap=a(e.colorRamp)),r?new n({rasterFunctionDefinition:h(i)}):i}function w(e,t){const r=t.convertToRFT,s=new n;s.functionName="Stretch";const l=R[u.toJSON(e.stretchType)],c="u8",m={StretchType:l,Statistics:N(e.statistics??[]),DRA:e.dynamicRangeAdjustment,UseGamma:e.useGamma,Gamma:e.gamma,ComputeGamma:e.computeGamma};if(null!=e.outputMin&&(m.Min=e.outputMin),null!=e.outputMax&&(m.Max=e.outputMax),l===R.standardDeviation?(m.NumberOfStandardDeviations=e.numberOfStandardDeviations,s.outputPixelType=c):l===R.percentClip?(m.MinPercent=e.minPercent,m.MaxPercent=e.maxPercent,s.outputPixelType=c):l===R.minMax?s.outputPixelType=c:l===R.sigmoid&&(m.SigmoidStrengthLevel=e.sigmoidStrengthLevel),s.functionArguments=m,s.variableName="Raster",e.colorRamp){const u=e.colorRamp,l=new n;if(r)l.functionArguments={ColorRamp:o(u)};else{const n=i(u,!0);if(n)l.functionArguments={colorRampName:n};else if(!t.convertColorRampToColormap||"algorithmic"!==u.type&&"multipart"!==u.type){const n=e.colorRamp.toJSON();"algorithmic"===n.type?n.algorithm=n.algorithm||"esriCIELabAlgorithm":"multipart"===n.type&&n.colorRamps?.length&&n.colorRamps.forEach((e=>e.algorithm=e.algorithm||"esriCIELabAlgorithm")),l.functionArguments={colorRamp:n}}else l.functionArguments={Colormap:a(u)}}return l.variableName="Raster",l.functionName="Colormap",l.functionArguments.Raster=s,r?new n({rasterFunctionDefinition:h(l)}):l}return r?new n({rasterFunctionDefinition:h(s)}):s}function S(e,t){const r=[],o=[],a=[],i=[],s=1e-6,{pixelType:u,rasterAttributeTable:l}=t,c=null==l?null:l.features,m=C(l);if(m&&c&&Array.isArray(c)&&e.classBreakInfos){e.classBreakInfos.forEach(((n,t)=>{const r=n.symbol?.color;let o;r?.a&&null!=n.minValue&&null!=n.maxValue&&c.forEach((a=>{null!=n.minValue&&null!=n.maxValue&&(o=a.attributes[e.field],(o>=n.minValue&&o<n.maxValue||t===e.classBreakInfos.length-1&&o>=n.minValue)&&i.push([a.attributes[m],r.r,r.g,r.b]))}))}));const r=u?x(i,u):i,o=new n;return o.functionName="Colormap",o.functionArguments={},o.functionArguments.Colormap=r,o.variableName="Raster",t.convertToRFT?new n({rasterFunctionDefinition:h(o)}):o}e.classBreakInfos.forEach(((e,n)=>{if(null==e.minValue||null==e.maxValue)return;const t=e.symbol&&e.symbol.color;t?.a?(0===n?r.push(e.minValue,e.maxValue+s):r.push(e.minValue+s,e.maxValue+s),o.push(n),i.push([n,t.r,t.g,t.b])):a.push(e.minValue,e.maxValue)}));const f=u?x(i,u):i,p=new n;p.functionName="Remap",p.functionArguments={InputRanges:r,OutputValues:o,NoDataRanges:a},p.variableName="Raster";const g=new n;return g.functionName="Colormap",g.functionArguments={Colormap:f,Raster:p},t.convertToRFT?new n({rasterFunctionDefinition:h(g)}):g}function x(e,n){const r=c.has(n)?t(n):null;return r&&e.push([Math.floor(r[0]-1),0,0,0],[Math.ceil(r[1]+1),0,0,0]),e}function C(e){if(null==e)return;const{fields:n}=e,t=n?.find((e=>e?.name&&"value"===e.name.toLowerCase()));return t?.name}function F(e,t){const r=[],{pixelType:o,rasterAttributeTable:a}=t,i=null==a?null:a.features,s=C(a),u=e.defaultSymbol?.color?.toRgb(),l=e.uniqueValueInfos;if(l)if(i){if(s){const n=new Map;l.forEach((e=>{const t=e.value,r=e.symbol?.color;null!=t&&r?.a&&n.set(String(t),r.toRgb())}));const t=e.field;i.forEach((({attributes:e})=>{const o=String(e[t]),a=e[s],i=n.get(o);i?r.push([a,...i]):u&&r.push([a,...u])}))}}else for(let n=0;n<l.length;n++){const e=l[n],t=e.symbol?.color,o=+e.value;if(t?.a){if(isNaN(o))return null;r.push([o,t.r,t.g,t.b])}}const c=o&&r.length>0?x(r,o):r,m=new n;return m.functionName="Colormap",m.functionArguments={},m.functionArguments.Colormap=c,m.variableName="Raster",t.convertToRFT?new n({rasterFunctionDefinition:h(m)}):m}function A(e,t){const r=e.extractColormap();if(!r||0===r.length)return null;const{pixelType:o}=t,a=o?x(r,o):r,i=new n;return i.functionName="Colormap",i.functionArguments={},i.functionArguments.Colormap=a,t.convertToRFT?new n({rasterFunctionDefinition:h(i)}):i}function N(e){const n=[];return e?.forEach((e=>{const t=e;if(Array.isArray(t))n.push(t);else{if(null==t.min||null==t.max)return;const e=[t.min,t.max,t.avg||0,t.stddev||0];n.push(e)}})),n}function V(e){const n=[],t=[];return e.forEach((e=>{n.push(e[0]),t.push(s([...e.slice(1),255]))})),{type:"RasterColormap",values:n,colors:t}}export{g as combineRenderingRules,y as convertRendererToRenderingRule,h as convertRenderingRuleToRFT,p as isSupportedRendererType};
5
+ import{clone as e}from"../../core/lang.js";import n from"./RasterFunction.js";import{getPixelValueRange as t}from"./rasterFormats/pixelRangeUtils.js";import{schema as r}from"./rasterFunctions/rasterFunctionSchema.js";import{getRFxArgColorRampValue as o,convertColorRampToColormap as a,getColorRampName as i,convertRGBATo32Bit as s}from"../../renderers/support/colorRampUtils.js";import{stretchTypeJSONDict as u}from"../../renderers/support/stretchRendererUtils.js";import l from"../../renderers/visualVariables/SizeVariable.js";const c=new Set(["u1","u2","u4","u8","s8","u16","s16"]),m={simple_scalar:"Simple Scalar",wind_barb:"Wind Barb",single_arrow:"Single Arrow",beaufort_kn:"Beaufort Wind (Knots)",beaufort_m:"Beaufort Wind (MetersPerSecond)",ocean_current_m:"Ocean Current (MetersPerSecond)",ocean_current_kn:"Ocean Current (Knots)"},f=new Set(["raster-stretch","unique-value","class-breaks","raster-shaded-relief","vector-field","raster-colormap"]);function p(e){return f.has(e.type)}function g(n,t){if(!n||!t)return e(n||t);const r=e(n);if(r.functionDefinition&&t.rasterFunctionDefinition){const e=t.rasterFunctionDefinition;(e.thumbnail||e.thumbnailEx)&&(e.thumbnail=e.thumbnailEx=void 0),d(r.functionDefinition.arguments,t),r.rasterFunctionDefinition=r.functionDefinition.toJSON()}else if("none"!==t.functionName?.toLowerCase()){b(r.functionArguments).Raster=t}return r}function d(e,n){for(const t in e)"raster"===t.toLowerCase()&&("RasterFunctionVariable"===e[t].type?(e[t]=n.rasterFunctionDefinition,e[t].type="RasterFunctionTemplate"):"RasterFunctionTemplate"===e[t].type&&d(e[t].arguments,n))}function h(n){const t=e(r[n.functionName+"Function"]),o=n.functionArguments;for(const e in o)"raster"===e.toLowerCase()?(t.arguments[e]=h(o[e]),t.arguments[e].type="RasterFunctionTemplate"):"colormap"===e.toLowerCase()?(t.arguments[e].value=V(o[e]),t.arguments.ColorSchemeType.value=0):t.arguments[e].value=o[e];return t}function y(e,n){switch(n=n||{},e.type){case"raster-stretch":return w(e,n);case"class-breaks":return S(e,n);case"unique-value":return F(e,n);case"raster-colormap":return A(e,n);case"vector-field":return T(e,n);case"raster-shaded-relief":return v(e,n);case"flow":throw new Error("Unsupported rendering rule.")}}function b(e){const n=e?.Raster??e?.raster;return n&&"esri.layers.support.RasterFunction"===n.declaredClass?b(n.functionArguments):e}const R={none:0,standardDeviation:3,histogramEqualization:4,minMax:5,percentClip:6,sigmoid:9};function T(e,t){const r=new n;r.functionName="VectorFieldRenderer";const{dataType:o,bandNames:a}=t,i="vector-uv"===o;let s,u;if(a&&2===a.length){const e=a.map((e=>e.toLowerCase()));s=e.indexOf("magnitude"),u=e.indexOf("direction")}-1!==s&&null!==s||(s=0,u=1);const c="arithmetic"===e.rotationType?1:2,f="flow-from"===e.flowRepresentation?0:1,p=e.visualVariables?e.visualVariables.find((e=>"Magnitude"===e.field)):new l,g={magnitudeBandID:s,directionBandID:u,isUVComponents:i,referenceSystem:c,massFlowAngleRepresentation:f,symbolTileSize:50,symbolTileSizeUnits:100,calculationMethod:"Vector Average",symbologyName:m[e.style.toLowerCase().replace("-","_")],minimumMagnitude:p.minDataValue,maximumMagnitude:p.maxDataValue,minimumSymbolSize:p.minSize,maximumSymbolSize:p.maxSize};r.functionArguments=g;const d=h(r);return t.convertToRFT?n.fromJSON({rasterFunctionDefinition:d}):r}function v(e,t){const r=t.convertToRFT;if("elevation"!==t.dataType&&("generic"!==t.dataType||1!==t.bandCount||"s16"!==t.pixelType&&"s32"!==t.pixelType&&"f32"!==t.pixelType&&"f64"!==t.pixelType))return new n;const i=new n;i.functionName="Hillshade";const s="traditional"===e.hillshadeType?0:1,u="none"===e.scalingType?1:3,l={HillshadeType:s,SlopeType:u,ZFactor:e.zFactor};return 0===s&&(l.Azimuth=e.azimuth,l.Altitude=e.altitude),3===u&&(l.PSPower=e.pixelSizePower,l.PSZFactor=e.pixelSizeFactor),i.functionArguments=l,i.variableName="Raster",e.colorRamp&&(i.functionName="ShadedRelief",r?l.ColorRamp=o(e.colorRamp):l.Colormap=a(e.colorRamp)),r?new n({rasterFunctionDefinition:h(i)}):i}function w(e,t){const r=t.convertToRFT,s=new n;s.functionName="Stretch";const l=R[u.toJSON(e.stretchType)],c="u8",m={StretchType:l,Statistics:N(e.statistics??[]),DRA:e.dynamicRangeAdjustment,UseGamma:e.useGamma,Gamma:e.gamma,ComputeGamma:e.computeGamma};if(null!=e.outputMin&&(m.Min=e.outputMin),null!=e.outputMax&&(m.Max=e.outputMax),l===R.standardDeviation?(m.NumberOfStandardDeviations=e.numberOfStandardDeviations,s.outputPixelType=c):l===R.percentClip?(m.MinPercent=e.minPercent,m.MaxPercent=e.maxPercent,s.outputPixelType=c):l===R.minMax?s.outputPixelType=c:l===R.sigmoid&&(m.SigmoidStrengthLevel=e.sigmoidStrengthLevel),s.functionArguments=m,s.variableName="Raster",e.colorRamp){const u=e.colorRamp,l=new n;if(r)l.functionArguments={ColorRamp:o(u)};else{const n=i(u,!0);if(n)l.functionArguments={colorRampName:n};else if(!t.convertColorRampToColormap||"algorithmic"!==u.type&&"multipart"!==u.type){const n=e.colorRamp.toJSON();"algorithmic"===n.type?n.algorithm=n.algorithm||"esriCIELabAlgorithm":"multipart"===n.type&&n.colorRamps?.length&&n.colorRamps.forEach((e=>e.algorithm=e.algorithm||"esriCIELabAlgorithm")),l.functionArguments={colorRamp:n}}else l.functionArguments={Colormap:a(u)}}return l.variableName="Raster",l.functionName="Colormap",l.functionArguments.Raster=s,r?new n({rasterFunctionDefinition:h(l)}):l}return r?new n({rasterFunctionDefinition:h(s)}):s}function S(e,t){const r=[],o=[],a=[],i=[],s=1e-6,{pixelType:u,rasterAttributeTable:l}=t,c=null==l?null:l.features,m=C(l);if(m&&c&&Array.isArray(c)&&e.classBreakInfos){e.classBreakInfos.forEach(((n,t)=>{const r=n.symbol?.color;let o;r?.a&&null!=n.minValue&&null!=n.maxValue&&c.forEach((a=>{null!=n.minValue&&null!=n.maxValue&&(o=a.attributes[e.field],(o>=n.minValue&&o<n.maxValue||t===e.classBreakInfos.length-1&&o>=n.minValue)&&i.push([a.attributes[m],r.r,r.g,r.b]))}))}));const r=u?x(i,u):i,o=new n;return o.functionName="Colormap",o.functionArguments={},o.functionArguments.Colormap=r,o.variableName="Raster",t.convertToRFT?new n({rasterFunctionDefinition:h(o)}):o}e.classBreakInfos.forEach(((e,n)=>{if(null==e.minValue||null==e.maxValue)return;const t=e.symbol&&e.symbol.color;t?.a?(0===n?r.push(e.minValue,e.maxValue+s):r.push(e.minValue+s,e.maxValue+s),o.push(n),i.push([n,t.r,t.g,t.b])):a.push(e.minValue,e.maxValue)}));const f=u?x(i,u):i,p=new n;p.functionName="Remap",p.functionArguments={InputRanges:r,OutputValues:o,NoDataRanges:a},p.variableName="Raster";const g=new n;return g.functionName="Colormap",g.functionArguments={Colormap:f,Raster:p},t.convertToRFT?new n({rasterFunctionDefinition:h(g)}):g}function x(e,n){const r=c.has(n)?t(n):null;return r&&e.push([Math.floor(r[0]-1),0,0,0],[Math.ceil(r[1]+1),0,0,0]),e}function C(e){if(null==e)return;const{fields:n}=e,t=n?.find((e=>e?.name&&"value"===e.name.toLowerCase()));return t?.name}function F(e,t){const r=[],{pixelType:o,rasterAttributeTable:a}=t,i=null==a?null:a.features,s=C(a),u=e.defaultSymbol?.color?.toRgb(),l=e.uniqueValueInfos;if(l)if(i){if(s){const n=new Map;l.forEach((e=>{const t=e.value,r=e.symbol?.color;null!=t&&r?.a&&n.set(String(t),r.toRgb())}));const t=e.field;i.forEach((({attributes:e})=>{const o=String(e[t]),a=e[s],i=n.get(o);i?r.push([a,...i]):u&&r.push([a,...u])}))}}else for(let n=0;n<l.length;n++){const e=l[n],t=e.symbol?.color,o=+e.value;if(t?.a){if(isNaN(o))return null;r.push([o,t.r,t.g,t.b])}}const c=o?x(r,o):r,m=new n;return m.functionName="Colormap",m.functionArguments={},m.functionArguments.Colormap=c,m.variableName="Raster",t.convertToRFT?new n({rasterFunctionDefinition:h(m)}):m}function A(e,t){const r=e.extractColormap();if(!r||0===r.length)return null;const{pixelType:o}=t,a=o?x(r,o):r,i=new n;return i.functionName="Colormap",i.functionArguments={},i.functionArguments.Colormap=a,t.convertToRFT?new n({rasterFunctionDefinition:h(i)}):i}function N(e){const n=[];return e?.forEach((e=>{const t=e;if(Array.isArray(t))n.push(t);else{if(null==t.min||null==t.max)return;const e=[t.min,t.max,t.avg||0,t.stddev||0];n.push(e)}})),n}function V(e){const n=[],t=[];return e.forEach((e=>{n.push(e[0]),t.push(s([...e.slice(1),255]))})),{type:"RasterColormap",values:n,colors:t}}export{g as combineRenderingRules,y as convertRendererToRenderingRule,h as convertRenderingRuleToRFT,p as isSupportedRendererType};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import r from"../../core/Logger.js";import{parseWhereClause as t}from"../../core/sql.js";import{formatDate as n,convertDateFormatToIntlOptions as a}from"../../intl/date.js";import{formatNumber as o}from"../../intl/number.js";import{isNumericField as i}from"./fieldUtils.js";import{getLabelExpression as l,getSingleFieldArcadeExpression as s}from"./labelUtils.js";import{createLabelExpression as u}from"../../support/arcadeOnDemand.js";const c=r.getLogger("esri.layers.support.labelFormatUtils"),f={type:"simple",evaluate:()=>null},p={getAttribute:(e,r)=>e.field(r)};async function m(r,n,a){if(!r||!r.symbol||!n)return f;const o=r.where,i=l(r);let m;if("arcade"===i.type){const r=await u(i.expression,a,n);if(null==r)return f;m={type:"arcade",evaluate(t,n){try{const e="attributes"in t?r.repurposeFeature(t):t;e.contextTimeZone=n??null;const a=r.evaluate({$view:{timeZone:n},$feature:e},r.services);if(null!=a)return a.toString()}catch(a){c.error(new e("arcade-expression-error","Encountered an error when evaluating label expression for feature",{error:a,feature:t,expression:i}))}return null},needsHydrationToEvaluate:()=>null==s(i.expression)}}else m={type:"simple",evaluate:e=>i.expression.replaceAll(/{[^}]*}/g,(r=>{const t=r.slice(1,-1),a=n.get(t);if(!a)return r;let o=null;if("attributes"in e){e&&e.attributes&&(o=e.attributes[a.name])}else o=e.field(a.name);return null==o?"":d(o,a)}))};if(o){let r;try{r=await t(o,n)}catch(g){return c.error(new e("bad-where-clause","Encountered an error when evaluating where clause, ignoring",{where:o,error:g})),f}const a=m.evaluate;m.evaluate=(t,n)=>{const i="attributes"in t?void 0:p;try{if(r.testFeature(t,i))return a(t,n)}catch(g){c.error(new e("bad-where-clause","Encountered an error when evaluating where clause for feature",{where:o,feature:t,error:g}))}return null}}return m}function d(e,r){if(null==e)return"";const t=r.domain;if(t)if("codedValue"===t.type||"coded-value"===t.type){const r=e;for(const e of t.codedValues)if(e.code===r)return e.name}else if("range"===t.type){const r=+e,n="range"in t?t.range[0]:t.minValue,a="range"in t?t.range[1]:t.maxValue;if(n<=r&&r<=a)return t.name}let l=e;return"date"===r.type||"esriFieldTypeDate"===r.type?l=n(l,a("short-date")):i(r)&&(l=o(+l)),l||""}export{m as createLabelFunction,d as formatField};
5
+ import e from"../../core/Error.js";import r from"../../core/Logger.js";import{parseWhereClause as t}from"../../core/sql.js";import{formatDate as n,convertDateFormatToIntlOptions as a}from"../../intl/date.js";import{formatNumber as o}from"../../intl/number.js";import{isDateField as i,isNumericField as l}from"./fieldUtils.js";import{getLabelExpression as u,getSingleFieldArcadeExpression as s}from"./labelUtils.js";import{createLabelExpression as c}from"../../support/arcadeOnDemand.js";const f=r.getLogger("esri.layers.support.labelFormatUtils"),m={type:"simple",evaluate:()=>null},p={getAttribute:(e,r)=>e.field(r)};async function d(r,n,a){if(!r||!r.symbol||!n)return m;const o=r.where,i=u(r);let l;if("arcade"===i.type){const r=await c(i.expression,a,n);if(null==r)return m;l={type:"arcade",evaluate(t,n){try{const e="attributes"in t?r.repurposeFeature(t):t;e.contextTimeZone=n??null;const a=r.evaluate({$view:{timeZone:n},$feature:e},r.services);if(null!=a)return a.toString()}catch(a){f.error(new e("arcade-expression-error","Encountered an error when evaluating label expression for feature",{error:a,feature:t,expression:i}))}return null},needsHydrationToEvaluate:()=>null==s(i.expression)}}else l={type:"simple",evaluate:e=>i.expression.replaceAll(/{[^}]*}/g,(r=>{const t=r.slice(1,-1),a=n.get(t);if(!a)return r;let o=null;if("attributes"in e){e&&e.attributes&&(o=e.attributes[a.name])}else o=e.field(a.name);return null==o?"":g(o,a)}))};if(o){let r;try{r=await t(o,n)}catch(d){return f.error(new e("bad-where-clause","Encountered an error when evaluating where clause, ignoring",{where:o,error:d})),m}const a=l.evaluate;l.evaluate=(t,n)=>{const i="attributes"in t?void 0:p;try{if(r.testFeature(t,i))return a(t,n)}catch(d){f.error(new e("bad-where-clause","Encountered an error when evaluating where clause for feature",{where:o,feature:t,error:d}))}return null}}return l}function g(e,r){if(null==e)return"";const t=r.domain;if(t)if("codedValue"===t.type||"coded-value"===t.type){const r=e;for(const e of t.codedValues)if(e.code===r)return e.name}else if("range"===t.type){const r=+e,n="range"in t?t.range[0]:t.minValue,a="range"in t?t.range[1]:t.maxValue;if(n<=r&&r<=a)return t.name}let u=e;return i(r)?u=n(u,a("short-date")):l(r)&&(u=o(+u)),u||""}export{d as createLabelFunction,g as formatField};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../geometry.js";import t from"../Graphic.js";import r from"../request.js";import o from"../core/Error.js";import s from"../core/Loadable.js";import i from"../core/Logger.js";import{MultiOriginJSONMixin as a}from"../core/MultiOriginJSONSupport.js";import{isAbortError as n}from"../core/promiseUtils.js";import{urlToObject as l}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import u from"../geometry/Extent.js";import{fromJSON as c}from"../geometry/support/jsonUtils.js";import{versionMatches as m,onApplyEditsEvent as y,onUpdateMomentEvent as h,emitApplyEditsEvent as f}from"../layers/mixins/EditBusLayer.js";import{parse as g}from"../layers/support/arcgisLayerUrl.js";import v from"./support/TopologyValidationJobInfo.js";import{networkFromPortalItem as w}from"./support/utils.js";import{isVersionInEditSession as j}from"../versionManagement/support/versionManagementUtils.js";import S from"../geometry/SpatialReference.js";let U=class extends(a(s)){static fromPortalItem(e){return w(e)}constructor(e){super(e),this.id=null,this.title=null,this.layerUrl=null,this.dataElement=null,this.fullExtent=null,this.spatialReference=null,this.type=null,this.sourceJSON=null,this.gdbVersion=null,this.historicMoment=null,this._applyEditsHandler=e=>{const{serviceUrl:t,gdbVersion:r,result:o}=e,s=t===this.featureServiceUrl,i=m(t,r,this.gdbVersion);s&&i&&o.then((e=>{j(t,r)&&(this.historicMoment=e.historicMoment)}))},this._updateMomentHandler=e=>{const{serviceUrl:t,gdbVersion:r,moment:o}=e,s=t===this.featureServiceUrl,i=m(t,r,this.gdbVersion);s&&i&&(this.historicMoment=o)},this.when().then((()=>{this.addHandles([y(this._applyEditsHandler),h(this._updateMomentHandler)])}),(()=>{}))}initialize(){this.when().catch((e=>{n(e)||i.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:e})}))}get datasetName(){return this.dataElement?.name??null}get owner(){return this.dataElement?.userIdentity??null}get schemaGeneration(){return this.dataElement?.schemaGeneration??null}get parsedUrl(){return l(this.layerUrl)}get featureServiceUrl(){return g(this.parsedUrl.path).url.path}get networkServiceUrl(){return this.featureServiceUrl.replace(/\/FeatureServer/i,"/UtilityNetworkServer")}get layerId(){return g(this.parsedUrl.path).sublayer}get networkSystemLayers(){return null}async load(e){return this.addResolvingPromise(this._fetchDataElement(this.featureServiceUrl,this.layerId.toString(),e)),this.addResolvingPromise(this._fetchLayerMetaData(this.layerUrl,e)),this}getLayerIdBySourceId(e){if(this.dataElement){const t=this.dataElement.domainNetworks;for(const r of t){for(const t of r.edgeSources??[])if(t.sourceId===e)return t.layerId;for(const t of r.junctionSources??[])if(t.sourceId===e)return t.layerId}return null}return null}async queryNamedTraceConfigurations(e,t){const[{queryNamedTraceConfigurations:r},{default:o}]=await Promise.all([import("../rest/networks/queryNamedTraceConfigurations.js"),import("../rest/networks/support/QueryNamedTraceConfigurationsParameters.js")]),s=this.networkServiceUrl,i=o.from(e);return(await r(s,i,{...t}))?.namedTraceConfigurations}async validateTopology(e,t){if(!e.validateArea)throw new o("network:undefined-validateArea","the network must have validateArea defined in the validate network topology parameters.");const[{validateNetworkTopology:r},{default:s}]=await Promise.all([import("../rest/networks/validateNetworkTopology.js"),import("../rest/networks/support/ValidateNetworkTopologyParameters.js")]),i=s.from(e);i.gdbVersion=this.gdbVersion;const a=this.networkServiceUrl,n=this.featureServiceUrl,l=f(n,null,null,!0),d=await r(a,i,{...t});if(d?.serviceEdits){const e=[];for(const t of d.serviceEdits){const{editedFeatures:r}=t,o=r?.spatialReference?new S(r.spatialReference):null;e.push({layerId:t.layerId,editedFeatures:{adds:r?.adds?.map((e=>this._createEditedFeature(e,o)))||[],updates:r?.updates?.map((e=>({original:this._createEditedFeature(e[0],o),current:this._createEditedFeature(e[1],o)})))||[],deletes:r?.deletes?.map((e=>this._createEditedFeature(e,o)))||[],spatialReference:o}})}l.resolve({edits:null,addedFeatures:[],updatedFeatures:[],deletedFeatures:[],addedAttachments:[],updatedAttachments:[],deletedAttachments:[],editedFeatures:e,exceededTransferLimit:!1,historicMoment:d.moment})}return d}async submitTopologyValidationJob(e,t){if(!e.validateArea)throw new o("network:undefined-validateArea","the network must have validateArea defined in the validate network topology parameters.");if(!this.gdbVersion)throw new o("network:undefined-gdb-version","version must be defined");const[{submitValidateNetworkTopologyJob:r},{default:s}]=await Promise.all([import("../rest/networks/validateNetworkTopology.js"),import("../rest/networks/support/ValidateNetworkTopologyParameters.js")]),i=s.from(e);i.gdbVersion=this.gdbVersion;const a=this.networkServiceUrl,n=this.featureServiceUrl?f(this.featureServiceUrl,null,null,!0):void 0,l=await r(a,i,{...t});return new v({statusUrl:l,editsResolver:n})}_createEditedFeature(e,r){return new t({attributes:e.attributes,geometry:c({...e.geometry,spatialReference:r})})}async _fetchLayerMetaData(e,t){const o=await r(e,{responseType:"json",query:{f:"json"},...t});this.sourceJSON=o.data,this.read(o.data,{origin:"service"})}async _fetchDataElement(e,t,o){if(this.dataElement)return;const s=await r(`${e}/queryDataElements`,{responseType:"json",query:{layers:JSON.stringify([t]),f:"json"},...o}).then((e=>e.data.layerDataElements?.[0]));s&&this.read(s,{origin:"service"})}};e([d({type:String,nonNullable:!0,json:{origins:{"web-map":{read:!0,write:{isRequired:!0}},service:{read:!0}},read:!1}})],U.prototype,"id",void 0),e([d({type:String,nonNullable:!0,json:{origins:{"web-map":{read:!0,write:{isRequired:!0}},service:{read:{source:"name"}}},read:!1}})],U.prototype,"title",void 0),e([d({type:String,nonNullable:!0,json:{origins:{"web-map":{read:{source:"url"},write:{target:"url",isRequired:!0}}},read:!1}})],U.prototype,"layerUrl",void 0),e([d({type:Object,json:{origins:{service:{read:!0}},read:!1}})],U.prototype,"dataElement",void 0),e([d({type:u,json:{origins:{service:{read:{source:"extent"}}},read:!1}})],U.prototype,"fullExtent",void 0),e([d({type:S,json:{origins:{service:{read:{source:"extent.spatialReference"}}},read:!1}})],U.prototype,"spatialReference",void 0),e([d({type:["utility","trace"],readOnly:!0,json:{read:!1,write:!1}})],U.prototype,"type",void 0),e([d({readOnly:!0})],U.prototype,"datasetName",null),e([d({readOnly:!0})],U.prototype,"owner",null),e([d({readOnly:!0})],U.prototype,"schemaGeneration",null),e([d({readOnly:!0})],U.prototype,"parsedUrl",null),e([d({readOnly:!0})],U.prototype,"featureServiceUrl",null),e([d({readOnly:!0})],U.prototype,"networkServiceUrl",null),e([d({readOnly:!0})],U.prototype,"layerId",null),e([d()],U.prototype,"sourceJSON",void 0),e([d({readOnly:!0})],U.prototype,"networkSystemLayers",null),e([d()],U.prototype,"gdbVersion",void 0),e([d({type:Date})],U.prototype,"historicMoment",void 0),U=e([p("esri.networks.Network")],U);const b=U;export{b as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../geometry.js";import t from"../Graphic.js";import r from"../request.js";import o from"../core/Error.js";import s from"../core/Loadable.js";import i from"../core/Logger.js";import{MultiOriginJSONMixin as a}from"../core/MultiOriginJSONSupport.js";import{isAbortError as n}from"../core/promiseUtils.js";import{urlToObject as l}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as u}from"../core/accessorSupport/decorators/subclass.js";import p from"../geometry/Extent.js";import{fromJSON as c}from"../geometry/support/jsonUtils.js";import{versionMatches as m,onApplyEditsEvent as y,onUpdateMomentEvent as h,emitApplyEditsEvent as f}from"../layers/mixins/EditBusLayer.js";import{parse as g}from"../layers/support/arcgisLayerUrl.js";import v from"./support/TopologyValidationJobInfo.js";import{networkFromPortalItem as w}from"./support/utils.js";import{isVersionInEditSession as j,currentSessionId as S}from"../versionManagement/support/versionManagementUtils.js";import b from"../geometry/SpatialReference.js";let U=class extends(a(s)){static fromPortalItem(e){return w(e)}constructor(e){super(e),this.id=null,this.title=null,this.layerUrl=null,this.dataElement=null,this.fullExtent=null,this.spatialReference=null,this.type=null,this.sourceJSON=null,this.gdbVersion=null,this.historicMoment=null,this._applyEditsHandler=e=>{const{serviceUrl:t,gdbVersion:r,result:o}=e,s=t===this.featureServiceUrl,i=m(t,r,this.gdbVersion);s&&i&&o.then((e=>{j(t,r)&&(this.historicMoment=e.historicMoment)}))},this._updateMomentHandler=e=>{const{serviceUrl:t,gdbVersion:r,moment:o}=e,s=t===this.featureServiceUrl,i=m(t,r,this.gdbVersion);s&&i&&(this.historicMoment=o)},this.when().then((()=>{this.addHandles([y(this._applyEditsHandler),h(this._updateMomentHandler)])}),(()=>{}))}initialize(){this.when().catch((e=>{n(e)||i.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:e})}))}get datasetName(){return this.dataElement?.name??null}get owner(){return this.dataElement?.userIdentity??null}get schemaGeneration(){return this.dataElement?.schemaGeneration??null}get parsedUrl(){return l(this.layerUrl)}get featureServiceUrl(){return g(this.parsedUrl.path).url.path}get networkServiceUrl(){return this.featureServiceUrl.replace(/\/FeatureServer/i,"/UtilityNetworkServer")}get layerId(){return g(this.parsedUrl.path).sublayer}get networkSystemLayers(){return null}async load(e){return this.addResolvingPromise(this._fetchDataElement(this.featureServiceUrl,this.layerId.toString(),e)),this.addResolvingPromise(this._fetchLayerMetaData(this.layerUrl,e)),this}getLayerIdBySourceId(e){if(this.dataElement){const t=this.dataElement.domainNetworks;for(const r of t){for(const t of r.edgeSources??[])if(t.sourceId===e)return t.layerId;for(const t of r.junctionSources??[])if(t.sourceId===e)return t.layerId}return null}return null}async queryNamedTraceConfigurations(e,t){const[{queryNamedTraceConfigurations:r},{default:o}]=await Promise.all([import("../rest/networks/queryNamedTraceConfigurations.js"),import("../rest/networks/support/QueryNamedTraceConfigurationsParameters.js")]),s=this.networkServiceUrl,i=o.from(e);return(await r(s,i,{...t}))?.namedTraceConfigurations}async validateTopology(e,t){if(!e.validateArea)throw new o("network:undefined-validateArea","the network must have validateArea defined in the validate network topology parameters.");const[{validateNetworkTopology:r},{default:s}]=await Promise.all([import("../rest/networks/validateNetworkTopology.js"),import("../rest/networks/support/ValidateNetworkTopologyParameters.js")]),i=s.from(e);j(this.featureServiceUrl,this.gdbVersion||null)&&(i.sessionID=S),i.gdbVersion=this.gdbVersion;const a=this.networkServiceUrl,n=this.featureServiceUrl,l=f(n,null,this.gdbVersion,!0),d=await r(a,i,{...t});if(d?.serviceEdits){const e=[];for(const t of d.serviceEdits){const{editedFeatures:r}=t,o=r?.spatialReference?new b(r.spatialReference):null;e.push({layerId:t.layerId,editedFeatures:{adds:r?.adds?.map((e=>this._createEditedFeature(e,o)))||[],updates:r?.updates?.map((e=>({original:this._createEditedFeature(e[0],o),current:this._createEditedFeature(e[1],o)})))||[],deletes:r?.deletes?.map((e=>this._createEditedFeature(e,o)))||[],spatialReference:o}})}l.resolve({edits:null,addedFeatures:[],updatedFeatures:[],deletedFeatures:[],addedAttachments:[],updatedAttachments:[],deletedAttachments:[],editedFeatures:e,exceededTransferLimit:!1,historicMoment:d.moment})}return d}async submitTopologyValidationJob(e,t){if(!e.validateArea)throw new o("network:undefined-validateArea","the network must have validateArea defined in the validate network topology parameters.");if(!this.gdbVersion)throw new o("network:undefined-gdb-version","version must be defined");const[{submitValidateNetworkTopologyJob:r},{default:s}]=await Promise.all([import("../rest/networks/validateNetworkTopology.js"),import("../rest/networks/support/ValidateNetworkTopologyParameters.js")]),i=s.from(e);j(this.featureServiceUrl,this.gdbVersion||null)&&(i.sessionID=S),i.gdbVersion=this.gdbVersion;const a=this.networkServiceUrl,n=this.featureServiceUrl?f(this.featureServiceUrl,null,this.gdbVersion,!0):void 0,l=await r(a,i,{...t});return new v({statusUrl:l,editsResolver:n})}_createEditedFeature(e,r){return new t({attributes:e.attributes,geometry:c({...e.geometry,spatialReference:r})})}async _fetchLayerMetaData(e,t){const o=await r(e,{responseType:"json",query:{f:"json"},...t});this.sourceJSON=o.data,this.read(o.data,{origin:"service"})}async _fetchDataElement(e,t,o){if(this.dataElement)return;const s=await r(`${e}/queryDataElements`,{responseType:"json",query:{layers:JSON.stringify([t]),f:"json"},...o}).then((e=>e.data.layerDataElements?.[0]));s&&this.read(s,{origin:"service"})}};e([d({type:String,nonNullable:!0,json:{origins:{"web-map":{read:!0,write:{isRequired:!0}},service:{read:!0}},read:!1}})],U.prototype,"id",void 0),e([d({type:String,nonNullable:!0,json:{origins:{"web-map":{read:!0,write:{isRequired:!0}},service:{read:{source:"name"}}},read:!1}})],U.prototype,"title",void 0),e([d({type:String,nonNullable:!0,json:{origins:{"web-map":{read:{source:"url"},write:{target:"url",isRequired:!0}}},read:!1}})],U.prototype,"layerUrl",void 0),e([d({type:Object,json:{origins:{service:{read:!0}},read:!1}})],U.prototype,"dataElement",void 0),e([d({type:p,json:{origins:{service:{read:{source:"extent"}}},read:!1}})],U.prototype,"fullExtent",void 0),e([d({type:b,json:{origins:{service:{read:{source:"extent.spatialReference"}}},read:!1}})],U.prototype,"spatialReference",void 0),e([d({type:["utility","trace"],readOnly:!0,json:{read:!1,write:!1}})],U.prototype,"type",void 0),e([d({readOnly:!0})],U.prototype,"datasetName",null),e([d({readOnly:!0})],U.prototype,"owner",null),e([d({readOnly:!0})],U.prototype,"schemaGeneration",null),e([d({readOnly:!0})],U.prototype,"parsedUrl",null),e([d({readOnly:!0})],U.prototype,"featureServiceUrl",null),e([d({readOnly:!0})],U.prototype,"networkServiceUrl",null),e([d({readOnly:!0})],U.prototype,"layerId",null),e([d()],U.prototype,"sourceJSON",void 0),e([d({readOnly:!0})],U.prototype,"networkSystemLayers",null),e([d()],U.prototype,"gdbVersion",void 0),e([d({type:Date})],U.prototype,"historicMoment",void 0),U=e([u("esri.networks.Network")],U);const k=U;export{k as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "4.28.0-rc.1",
3
+ "version": "4.28.0-rc.3",
4
4
  "homepage": "https://js.arcgis.com",
5
5
  "description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
6
6
  "keywords": [
@@ -27,7 +27,7 @@
27
27
  "dependencies": {
28
28
  "@esri/arcgis-html-sanitizer": "~3.0.1",
29
29
  "@esri/calcite-colors": "~6.1.0",
30
- "@esri/calcite-components": "^1.9.1",
30
+ "@esri/calcite-components": "^1.9.2",
31
31
  "@popperjs/core": "~2.11.8",
32
32
  "@zip.js/zip.js": "~2.7.29",
33
33
  "focus-trap": "~7.5.3",
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{urlToObject as t}from"../../core/urlUtils.js";import r from"../Portal.js";function e(e){return{origin:"portal-item",url:t(e.itemUrl),portal:e.portal||r.getDefault(),portalItem:e,readResourcePaths:[]}}function l(e){return{origin:"portal-item",messages:[],writtenProperties:[],url:e.itemUrl?t(e.itemUrl):null,portal:e.portal||r.getDefault(),portalItem:e}}function o(e){return{origin:"web-map",url:t(e.itemUrl),portal:e.portal||r.getDefault(),portalItem:e,readResourcePaths:[]}}function a(e){return{origin:"web-map",messages:[],writtenProperties:[],url:e.itemUrl?t(e.itemUrl):null,portal:e.portal||r.getDefault(),portalItem:e}}export{o as createForGroupLayerItemRead,a as createForGroupLayerItemWrite,e as createForItemRead,l as createForItemWrite};
5
+ import{urlToObject as t}from"../../core/urlUtils.js";import r from"../Portal.js";function e(e){return{origin:"portal-item",url:t(e.itemUrl),portal:e.portal||r.getDefault(),portalItem:e,readResourcePaths:[]}}function o(e){const o=t(e.itemUrl);return{origin:"portal-item",messages:[],writtenProperties:[],url:o,portal:e.portal||r.getDefault(),portalItem:e,verifyItemRelativeUrls:o?{rootPath:o.path,writtenUrls:[]}:null,blockedRelativeUrls:[]}}function l(e){return{origin:"web-map",url:t(e.itemUrl),portal:e.portal||r.getDefault(),portalItem:e,readResourcePaths:[]}}function a(e,o){const l=t(e.itemUrl);return{origin:"web-map",messages:[],writtenProperties:[],url:l,portal:e.portal||r.getDefault(),portalItem:e,initiator:o,verifyItemRelativeUrls:l?{rootPath:l.path,writtenUrls:[]}:null,blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}}}export{l as createForGroupLayerItemRead,a as createForGroupLayerItemWrite,e as createForItemRead,o as createForItemWrite};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{OriginId as t}from"../../core/accessorSupport/PropertyOrigin.js";import{parse as r}from"../../layers/support/arcgisLayerUrl.js";import{fetchFeatureService as a}from"../../layers/support/fetchService.js";import{LayerLoadContext as n}from"../../layers/support/LayerLoadContext.js";import{populateGroupLayer as o}from"../../layers/support/layersCreator.js";import{layerLookupMap as s}from"../../layers/support/lazyLayerLoader.js";import i from"../Portal.js";import{createForItemRead as l,createForGroupLayerItemRead as p}from"./jsonContext.js";import{preprocessFSItemData as u,getSubtypeGroupLayerIds as c,getOrientedImageryLayerIds as y,populateSceneServiceItemData as f,getNumLayersAndTables as d,createSublayerData as m,getFirstLayerOrTableId as h}from"./loadUtils.js";import{hasTypeKeyword as w}from"./portalItemUtils.js";import{loadStyleRenderer as g}from"../../renderers/support/styleUtils.js";import{fetchArcGISServiceJSON as b}from"../../support/requestPresets.js";async function I(e,t){const r=e.instance.portalItem;if(r?.id)return await r.load(t),L(e),S(e,t)}function L(t){const r=t.instance.portalItem;if(!r?.type||!t.supportedTypes.includes(r.type))throw new e("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}'",{type:r?.type,expectedType:t.supportedTypes.join(", ")})}async function S(e,t){const r=e.instance,a=r.portalItem;if(!a)return;const{url:o,title:s}=a,i=l(a);if("group"===r.type)return j(r,i,e);o&&r.read({url:o},i);const p=new n,u=await C(e,p,t);return u&&r.read(u,i),r.resourceReferences={portalItem:a,paths:i.readResourcePaths??[]},"subtype-group"!==r.type&&r.read({title:s},i),g(r,i)}async function j(r,a,n){const o=r.portalItem;if(r.originIdOf("portalItem")!==t.USER)return;const{title:s,type:i}=o;if("Group Layer"===i){if(!w(o,"Map"))throw new e("portal:invalid-layer-item-typekeyword","'Group Layer' item without 'Map' type keyword is not supported");return T(r)}return r.read({title:s},a),v(r,n)}async function T(e){const t=e.portalItem,r=await t.fetchData("json");if(!r)return;const a=p(t);e.read(r,a),await o(e,r,{context:a})}async function v(t,r){let a;const{portalItem:o}=t;if(!o)return;const s=o.type,i=r.layerModuleTypeMap;switch(s){case"Feature Service":case"Feature Collection":a=i.FeatureLayer;break;case"Stream Service":a=i.StreamLayer;break;case"Scene Service":a=i.SceneLayer;break;default:throw new e("portal:unsupported-item-type-as-group",`The item type '${s}' is not supported as a 'IGroupLayer'`)}const l=new n;let[p,m]=await Promise.all([a(),C(r,l)]),h=()=>p;if("Feature Service"===s){m=o.url?await u(m,o.url,l):{};const e=c(m),r=y(m),a=[];if(e.length||r?.length){e.length&&a.push("SubtypeGroupLayer"),r?.length&&a.push("OrientedImageryLayer");const t=[];for(const e of a){const r=i[e];t.push(r())}const n=await Promise.all(t),o=new Map;a.forEach(((e,t)=>{o.set(e,n[t])})),h=e=>e.layerType?o.get(e.layerType)??p:p}const n=await k(o.url);return await x(t,h,m,n)}return"Scene Service"===s&&o.url&&(m=await f(o,m,l)),d(m)>0?await x(t,h,m):await M(t,h)}async function M(e,t){const{portalItem:r}=e;if(!r?.url)return;const a=await b(r.url);a&&x(e,t,{layers:a.layers?.map(m),tables:a.tables?.map(m)})}async function x(e,t,r,a){let n=r.layers||[];const o=r.tables||[];if("Feature Collection"===e.portalItem?.type?(n.forEach(((e,t)=>{e.id=t,"Table"===e?.layerDefinition?.type&&o.push(e)})),n=n.filter((e=>"Table"!==e?.layerDefinition?.type))):(n.reverse(),o.reverse()),n.forEach((n=>{const o=a?.(n);if(o||!a){const a=F(e,t(n),r,n,o);e.add(a)}})),o.length){const t=await s.FeatureLayer();o.forEach((n=>{const o=a?.(n);if(o||!a){const a=F(e,t,r,n,o);e.tables.add(a)}}))}}function F(e,t,r,a,n){const o=e.portalItem,s={portalItem:o.clone(),layerId:a.id};null!=a.url&&(s.url=a.url);const l=new t(s);if("sourceJSON"in l&&(l.sourceJSON=n),"subtype-group"!==l.type&&(l.sublayerTitleMode="service-name"),"Feature Collection"===o.type){const e={origin:"portal-item",portal:o.portal||i.getDefault()};l.read(a,e);const t=r.showLegend;null!=t&&l.read({showLegend:t},e)}return l}async function C(e,t,r){if(!1===e.supportsData)return;const a=e.instance,n=a.portalItem;if(!n)return;let o=null;try{o=await n.fetchData("json",r)}catch(s){}if(O(a)){let e=null;const r=await D(n,o,t);if((o?.layers||o?.tables)&&r>0){if(null==a.layerId){const e=c(o);a.layerId="subtype-group"===a.type?e?.[0]:h(o)}e=E(o,a),e&&null!=o.showLegend&&(e.showLegend=o.showLegend)}return r>1&&"sublayerTitleMode"in a&&"service-name"!==a.sublayerTitleMode&&(a.sublayerTitleMode="item-title-and-service-name"),e}return o}async function D(e,t,a){if(t?.layers&&t?.tables)return d(t);const n=r(e.url);if(!n)return 1;const o=await a.fetchServiceMetadata(n.url.path).catch((()=>null));return(t?.layers?.length??o?.layers?.length??0)+(t?.tables?.length??o?.tables?.length??0)}function E(e,t){const{layerId:r}=t,a=e.layers?.find((e=>e.id===r))||e.tables?.find((e=>e.id===r));return a&&P(a,t)?a:null}function O(e){return"stream"!==e.type&&"layerId"in e}function P(e,t){return!("feature"===t.type&&"layerType"in e&&"SubtypeGroupLayer"===e.layerType||"subtype-group"===t.type&&!("layerType"in e))}async function k(e){const{layersJSON:t}=await a(e);if(!t)return null;const r=[...t.layers,...t.tables];return e=>r.find((t=>t.id===e.id))}export{I as load};
5
+ import e from"../../core/Error.js";import{parse as t}from"../../layers/support/arcgisLayerUrl.js";import{fetchFeatureService as r}from"../../layers/support/fetchService.js";import{LayerLoadContext as a}from"../../layers/support/LayerLoadContext.js";import{populateGroupLayer as n}from"../../layers/support/layersCreator.js";import{layerLookupMap as o}from"../../layers/support/lazyLayerLoader.js";import s from"../Portal.js";import{createForItemRead as l,createForGroupLayerItemRead as i}from"./jsonContext.js";import{preprocessFSItemData as p,getSubtypeGroupLayerIds as u,getOrientedImageryLayerIds as c,populateSceneServiceItemData as y,getNumLayersAndTables as f,createSublayerData as d,getFirstLayerOrTableId as m}from"./loadUtils.js";import{hasTypeKeyword as h}from"./portalItemUtils.js";import{loadStyleRenderer as w}from"../../renderers/support/styleUtils.js";import{fetchArcGISServiceJSON as b}from"../../support/requestPresets.js";async function g(e,t){const r=e.instance.portalItem;if(r?.id)return await r.load(t),I(e),L(e,t)}function I(t){const r=t.instance.portalItem;if(!r?.type||!t.supportedTypes.includes(r.type))throw new e("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}'",{type:r?.type,expectedType:t.supportedTypes.join(", ")})}async function L(e,t){const r=e.instance,n=r.portalItem;if(!n)return;const{url:o,title:s}=n,i=l(n);if("group"===r.type)return S(r,i,e);o&&r.read({url:o},i);const p=new a,u=await F(e,p,t);return u&&r.read(u,i),r.resourceReferences={portalItem:n,paths:i.readResourcePaths??[]},"subtype-group"!==r.type&&r.read({title:s},i),w(r,i)}async function S(t,r,a){const n=t.portalItem;if(!t.sourceIsPortalItem)return;const{title:o,type:s}=n;if("Group Layer"===s){if(!h(n,"Map"))throw new e("portal:invalid-layer-item-typekeyword","'Group Layer' item without 'Map' type keyword is not supported");return T(t)}return t.read({title:o},r),j(t,a)}async function T(e){const t=e.portalItem,r=await t.fetchData("json");if(!r)return;const a=i(t);e.read(r,a),await n(e,r,{context:a}),e.resourceReferences={portalItem:t,paths:a.readResourcePaths??[]}}async function j(t,r){let n;const{portalItem:o}=t;if(!o)return;const s=o.type,l=r.layerModuleTypeMap;switch(s){case"Feature Service":case"Feature Collection":n=l.FeatureLayer;break;case"Stream Service":n=l.StreamLayer;break;case"Scene Service":n=l.SceneLayer;break;default:throw new e("portal:unsupported-item-type-as-group",`The item type '${s}' is not supported as a 'IGroupLayer'`)}const i=new a;let[d,m]=await Promise.all([n(),F(r,i)]),h=()=>d;if("Feature Service"===s){m=o.url?await p(m,o.url,i):{};const e=u(m),r=c(m),a=[];if(e.length||r?.length){e.length&&a.push("SubtypeGroupLayer"),r?.length&&a.push("OrientedImageryLayer");const t=[];for(const e of a){const r=l[e];t.push(r())}const n=await Promise.all(t),o=new Map;a.forEach(((e,t)=>{o.set(e,n[t])})),h=e=>e.layerType?o.get(e.layerType)??d:d}const n=await E(o.url);return await M(t,h,m,n)}return"Scene Service"===s&&o.url&&(m=await y(o,m,i)),f(m)>0?await M(t,h,m):await v(t,h)}async function v(e,t){const{portalItem:r}=e;if(!r?.url)return;const a=await b(r.url);a&&M(e,t,{layers:a.layers?.map(d),tables:a.tables?.map(d)})}async function M(e,t,r,a){let n=r.layers||[];const s=r.tables||[];if("Feature Collection"===e.portalItem?.type?(n.forEach(((e,t)=>{e.id=t,"Table"===e?.layerDefinition?.type&&s.push(e)})),n=n.filter((e=>"Table"!==e?.layerDefinition?.type))):(n.reverse(),s.reverse()),n.forEach((n=>{const o=a?.(n);if(o||!a){const a=x(e,t(n),r,n,o);e.add(a)}})),s.length){const t=await o.FeatureLayer();s.forEach((n=>{const o=a?.(n);if(o||!a){const a=x(e,t,r,n,o);e.tables.add(a)}}))}}function x(e,t,r,a,n){const o=e.portalItem,l={portalItem:o.clone(),layerId:a.id};null!=a.url&&(l.url=a.url);const i=new t(l);if("sourceJSON"in i&&(i.sourceJSON=n),"subtype-group"!==i.type&&(i.sublayerTitleMode="service-name"),"Feature Collection"===o.type){const e={origin:"portal-item",portal:o.portal||s.getDefault()};i.read(a,e);const t=r.showLegend;null!=t&&i.read({showLegend:t},e)}return i}async function F(e,t,r){if(!1===e.supportsData)return;const a=e.instance,n=a.portalItem;if(!n)return;let o=null;try{o=await n.fetchData("json",r)}catch(s){}if(D(a)){let e=null;const r=await P(n,o,t);if((o?.layers||o?.tables)&&r>0){if(null==a.layerId){const e=u(o);a.layerId="subtype-group"===a.type?e?.[0]:m(o)}e=C(o,a),e&&null!=o.showLegend&&(e.showLegend=o.showLegend)}return r>1&&"sublayerTitleMode"in a&&"service-name"!==a.sublayerTitleMode&&(a.sublayerTitleMode="item-title-and-service-name"),e}return o}async function P(e,r,a){if(r?.layers&&r?.tables)return f(r);const n=t(e.url);if(!n)return 1;const o=await a.fetchServiceMetadata(n.url.path).catch((()=>null));return(r?.layers?.length??o?.layers?.length??0)+(r?.tables?.length??o?.tables?.length??0)}function C(e,t){const{layerId:r}=t,a=e.layers?.find((e=>e.id===r))||e.tables?.find((e=>e.id===r));return a&&k(a,t)?a:null}function D(e){return"stream"!==e.type&&"layerId"in e}function k(e,t){return!("feature"===t.type&&"layerType"in e&&"SubtypeGroupLayer"===e.layerType||"subtype-group"===t.type&&!("layerType"in e))}async function E(e){const{layersJSON:t}=await r(e);if(!t)return null;const a=[...t.layers,...t.tables];return e=>a.find((t=>t.id===e.id))}export{g as load};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import{ensureType as t}from"../symbols.js";import s from"../core/Error.js";import{clone as i}from"../core/lang.js";import o from"../core/Logger.js";import{deepMerge as l}from"../core/object.js";import{watch as r}from"../core/reactiveUtils.js";import{property as u}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import{enumeration as a}from"../core/accessorSupport/decorators/enumeration.js";import{reader as p}from"../core/accessorSupport/decorators/reader.js";import{subclass as f}from"../core/accessorSupport/decorators/subclass.js";import{writer as d}from"../core/accessorSupport/decorators/writer.js";import{diff as c}from"../core/accessorSupport/diffUtils.js";import{ensureType as h,ensureString as m}from"../core/accessorSupport/ensureType.js";import{collectArcadeFieldNames as y,collectField as b}from"../layers/support/fieldUtils.js";import v from"../portal/Portal.js";import _ from"./Renderer.js";import{VisualVariablesMixin as V}from"./mixins/VisualVariablesMixin.js";import{rendererSymbolProperty as q,rendererBackgroundFillSymbolProperty as I}from"./support/commonProperties.js";import{LegendOptions as g}from"./support/LegendOptions.js";import S from"./support/UniqueValue.js";import w from"./support/UniqueValueClass.js";import U from"./support/UniqueValueGroup.js";import j from"./support/UniqueValueInfo.js";import{loadArcade as F}from"../support/arcadeOnDemand.js";import{f as O,t as G}from"../chunks/persistableUrlUtils.js";import{fetchStyle as D}from"../symbols/support/styleUtils.js";import x from"../symbols/WebStyleSymbol.js";var E;const M="esri.renderers.UniqueValueRenderer",N=o.getLogger(M),R="uvInfos-watcher",P="uvGroups-watcher",C=",",$=h(j);function z(e){const{field1:t,field2:s,field3:i,fieldDelimiter:o,uniqueValueInfos:l,valueExpression:r}=e,u=!(!t||!s);return[{classes:(l??[]).map((e=>{const{symbol:l,label:n,value:a,description:p}=e,[f,d,c]=u?a?.toString()?.split(o||"")||[]:[a],h=[];return(t||r)&&h.push(f),s&&h.push(d),i&&h.push(c),{symbol:l,label:n,values:[h],description:p}}))}]}let k=E=class extends(V(_)){constructor(e){super(e),this._valueInfoMap={},this._isDefaultSymbolDerived=!1,this._isInfosSource=null,this.type="unique-value",this.backgroundFillSymbol=null,this.orderByClassesEnabled=!1,this.valueExpressionTitle=null,this.legendOptions=null,this.defaultLabel=null,this.portal=null,this.styleOrigin=null,this.diff={uniqueValueInfos(e,t){if(!e&&!t)return;if(!e||!t)return{type:"complete",oldValue:e,newValue:t};let s=!1;const i={type:"collection",added:[],removed:[],changed:[],unchanged:[]};for(let o=0;o<t.length;o++){const l=e.find((e=>e.value===t[o].value));l?c(l,t[o])?(i.changed.push({type:"complete",oldValue:l,newValue:t[o]}),s=!0):i.unchanged.push({oldValue:l,newValue:t[o]}):(i.added.push(t[o]),s=!0)}for(let o=0;o<e.length;o++){t.find((t=>t.value===e[o].value))||(i.removed.push(e[o]),s=!0)}return s?i:void 0}},this._set("uniqueValueInfos",[]),this._set("uniqueValueGroups",[])}get _cache(){return{compiledFunc:null}}set field(e){this._set("field",e),this._updateFieldDelimiter(),this._updateUniqueValues()}castField(e){return null==e||"function"==typeof e?e:m(e)}writeField(e,t,i,o){"string"==typeof e?t[i]=e:o?.messages?o.messages.push(new s("property:unsupported","UniqueValueRenderer.field set to a function cannot be written to JSON")):N.error(".field: cannot write field to JSON since it's not a string value")}set field2(e){this._set("field2",e),this._updateFieldDelimiter(),this._updateUniqueValues()}set field3(e){this._set("field3",e),this._updateUniqueValues()}set valueExpression(e){this._set("valueExpression",e),this._updateUniqueValues()}set defaultSymbol(e){this._isDefaultSymbolDerived=!1,this._set("defaultSymbol",e)}set fieldDelimiter(e){this._set("fieldDelimiter",e),this._updateUniqueValues()}readPortal(e,t,s){return s.portal||v.getDefault()}readStyleOrigin(e,t,s){if(t.styleName)return Object.freeze({styleName:t.styleName});if(t.styleUrl){const e=O(t.styleUrl,s);return Object.freeze({styleUrl:e})}}writeStyleOrigin(e,t,s,i){e.styleName?t.styleName=e.styleName:e.styleUrl&&(t.styleUrl=G(e.styleUrl,i))}set uniqueValueGroups(e){this.styleOrigin?N.error("#uniqueValueGroups=","Cannot modify unique value groups of a UniqueValueRenderer created from a web style"):(this._set("uniqueValueGroups",e),this._updateInfosFromGroups(),this._isInfosSource=!1,this._watchUniqueValueGroups())}set uniqueValueInfos(e){this.styleOrigin?N.error("#uniqueValueInfos=","Cannot modify unique value infos of a UniqueValueRenderer created from a web style"):(this._set("uniqueValueInfos",e),this._updateValueInfoMap(),this._updateGroupsFromInfos(),this._isInfosSource=!0,this._watchUniqueValueInfos())}addUniqueValueInfo(e,s){if(this.styleOrigin)return void N.error("#addUniqueValueInfo()","Cannot modify unique value infos of a UniqueValueRenderer created from a web style");let i;i="object"==typeof e?$(e):new j({value:e,symbol:t(s)}),this.uniqueValueInfos?.push(i),this._valueInfoMap[i.value]=i,this._updateGroupsFromInfos(),this._isInfosSource=!0,this._watchUniqueValueInfos()}removeUniqueValueInfo(e){if(this.styleOrigin)return void N.error("#removeUniqueValueInfo()","Cannot modify unique value infos of a UniqueValueRenderer created from a web style");const t=this.uniqueValueInfos;if(t)for(let s=0;s<t.length;s++){if(t[s].value===e+""){delete this._valueInfoMap[e],t.splice(s,1);break}}this._updateGroupsFromInfos(),this._isInfosSource=!0,this._watchUniqueValueInfos()}async getUniqueValueInfo(e,t){let s=t;return this.valueExpression&&null==t?.arcade&&(s={...s,arcade:await F()}),this._getUniqueValueInfo(e,s)}getSymbol(e,t){if(this.valueExpression&&null==t?.arcade)return void N.error("#getSymbol()","Please use getSymbolAsync if valueExpression is used");const s=this._getUniqueValueInfo(e,t);return s?.symbol||this.defaultSymbol}async getSymbolAsync(e,t){let s=t;if(this.valueExpression&&null==s?.arcade){const e=await F(),{arcadeUtils:t}=e;t.hasGeometryOperations(this.valueExpression)&&await t.enableGeometryOperations(),s={...s,arcade:e}}const i=this._getUniqueValueInfo(e,s);return i?.symbol||this.defaultSymbol}getSymbols(){const e=[];for(const t of this.uniqueValueInfos??[])t.symbol&&e.push(t.symbol);return this.defaultSymbol&&e.push(this.defaultSymbol),e}getAttributeHash(){return this.visualVariables&&this.visualVariables.reduce(((e,t)=>e+t.getAttributeHash()),"")}getMeshHash(){const e=JSON.stringify(this.backgroundFillSymbol),t=JSON.stringify(this.defaultSymbol),s=this.uniqueValueInfos?.reduce(((e,t)=>e+t.getMeshHash()),"");return`${e}.${t}.${s}.${`${this.field}.${this.field2}.${this.field3}.${this.fieldDelimiter}`}.${this.valueExpression}`}clone(){const e=new E({field:this.field,field2:this.field2,field3:this.field3,defaultLabel:this.defaultLabel,defaultSymbol:i(this.defaultSymbol),orderByClassesEnabled:this.orderByClassesEnabled,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,fieldDelimiter:this.fieldDelimiter,visualVariables:i(this.visualVariables),legendOptions:i(this.legendOptions),authoringInfo:this.authoringInfo&&this.authoringInfo.clone(),backgroundFillSymbol:i(this.backgroundFillSymbol)});this._isDefaultSymbolDerived&&(e._isDefaultSymbolDerived=!0),e._set("portal",this.portal);const t=i(this.uniqueValueInfos),s=i(this.uniqueValueGroups);return this.styleOrigin&&(e._set("styleOrigin",Object.freeze(i(this.styleOrigin))),Object.freeze(t),Object.freeze(s)),e._set("uniqueValueInfos",t),e._updateValueInfoMap(),e._set("uniqueValueGroups",s),e._isInfosSource=this._isInfosSource,e._watchUniqueValueInfosAndGroups(),e}get arcadeRequired(){return this.arcadeRequiredForVisualVariables||!!this.valueExpression}async collectRequiredFields(e,t){const s=[this.collectVVRequiredFields(e,t),this.collectSymbolFields(e,t)];await Promise.all(s)}async collectSymbolFields(e,t){const s=[...this.getSymbols().map((s=>s.collectRequiredFields(e,t))),y(e,t,this.valueExpression)];b(e,t,this.field),b(e,t,this.field2),b(e,t,this.field3),await Promise.all(s)}populateFromStyle(){return D(this.styleOrigin,{portal:this.portal}).then((e=>{const t=[];return this._valueInfoMap={},e&&e.data&&Array.isArray(e.data.items)&&e.data.items.forEach((s=>{const i=new x({styleUrl:e.styleUrl,styleName:e.styleName,portal:this.portal,name:s.name});this.defaultSymbol||s.name!==e.data.defaultItem||(this.defaultSymbol=i,this._isDefaultSymbolDerived=!0);const o=new j({value:s.name,symbol:i});t.push(o),this._valueInfoMap[s.name]=o})),this._set("uniqueValueInfos",Object.freeze(t)),this._updateGroupsFromInfos(!0),this._isInfosSource=null,this._watchUniqueValueInfos(),!this.defaultSymbol&&this.uniqueValueInfos?.length&&(this.defaultSymbol=this.uniqueValueInfos[0].symbol,this._isDefaultSymbolDerived=!0),this}))}_updateFieldDelimiter(){this.field&&this.field2&&!this.fieldDelimiter&&this._set("fieldDelimiter",C)}_updateUniqueValues(){null!=this._isInfosSource&&(this._isInfosSource?this._updateGroupsFromInfos():this._updateInfosFromGroups())}_updateValueInfoMap(){this._valueInfoMap={};const{uniqueValueInfos:e}=this;if(e)for(const t of e)this._valueInfoMap[t.value+""]=t}_watchUniqueValueInfosAndGroups(){this._watchUniqueValueInfos(),this._watchUniqueValueGroups()}_watchUniqueValueInfos(){this.removeHandles(R);const{uniqueValueInfos:e}=this;if(e){const t=[];for(const s of e)t.push(r((()=>({symbol:s.symbol,value:s.value,label:s.label,description:s.description})),((e,t)=>{e!==t&&(this._updateGroupsFromInfos(),this._isInfosSource=!0)}),{sync:!0}));this.addHandles(t,R)}}_watchUniqueValueGroups(){this.removeHandles(P);const{uniqueValueGroups:e}=this;if(e){const t=[];for(const s of e){t.push(r((()=>({classes:s.classes})),((e,t)=>{e!==t&&(this._updateInfosFromGroups(),this._isInfosSource=!1)}),{sync:!0}));for(const e of s.classes??[])t.push(r((()=>({symbol:e.symbol,values:e.values,label:e.label,description:e.description})),((e,t)=>{e!==t&&(this._updateInfosFromGroups(),this._isInfosSource=!1)}),{sync:!0}))}this.addHandles(t,P)}}_updateInfosFromGroups(){if(!this.uniqueValueGroups)return this._set("uniqueValueInfos",null),this._updateValueInfoMap(),void this._watchUniqueValueInfos();const e=[],{field:t,field2:s,field3:i,fieldDelimiter:o,uniqueValueGroups:l,valueExpression:r}=this;if(!t&&!r)return this._set("uniqueValueInfos",e),this._updateValueInfoMap(),void this._watchUniqueValueInfos();const u=!(!t||!s);for(const n of l)for(const t of n.classes??[]){const{symbol:l,label:r,values:n,description:a}=t;for(const t of n??[]){const{value:n,value2:p,value3:f}=t,d=[n];s&&d.push(p),i&&d.push(f);const c=u?d.join(o||""):d[0];e.push(new j({symbol:l,label:r,value:c,description:a}))}}this._set("uniqueValueInfos",e),this._updateValueInfoMap(),this._watchUniqueValueInfos()}_updateGroupsFromInfos(e=!1){if(!this.uniqueValueInfos)return this._set("uniqueValueGroups",null),void this._watchUniqueValueGroups();const{field:t,field2:s,valueExpression:i,fieldDelimiter:o,uniqueValueInfos:l}=this;if(!t&&!i||!l.length)return this._set("uniqueValueGroups",[]),void this._watchUniqueValueGroups();const r=!(!t||!s),u=l.map((e=>{const{symbol:t,label:s,value:i,description:l}=e,[u,n,a]=r?i?.toString()?.split(o||"")||[]:[i];return new w({symbol:t,label:s,description:l,values:[new S({value:u,value2:n,value3:a})]})})),n=[new U({classes:u})];e&&Object.freeze(n),this._set("uniqueValueGroups",n),this._watchUniqueValueGroups()}_getUniqueValueInfo(e,t){return this.valueExpression?this._getUnqiueValueInfoForExpression(e,t):this._getUnqiueValueInfoForFields(e)}_getUnqiueValueInfoForExpression(e,t){const{viewingMode:s,scale:i,spatialReference:o,arcade:l,timeZone:r}=t??{};let u=this._cache.compiledFunc;const n=l.arcadeUtils;if(!u){const e=n.createSyntaxTree(this.valueExpression);u=n.createFunction(e),this._cache.compiledFunc=u}const a=n.executeFunction(u,n.createExecContext(e,n.getViewInfo({viewingMode:s,scale:i,spatialReference:o}),r));return this._valueInfoMap[a+""]}_getUnqiueValueInfoForFields(e){const t=this.field,s=e.attributes;let i;if("function"!=typeof t&&this.field2){const e=this.field2,o=this.field3,l=[];t&&l.push(s[t]),e&&l.push(s[e]),o&&l.push(s[o]),i=l.join(this.fieldDelimiter||"")}else"function"==typeof t?i=t(e):t&&(i=s[t]);return this._valueInfoMap[i+""]}static fromPortalStyle(e,t){const s=new E(t?.properties);s._set("styleOrigin",Object.freeze({styleName:e})),s._set("portal",t?.portal||v.getDefault());const i=s.populateFromStyle();return i.catch((t=>{N.error(`#fromPortalStyle('${e}'[, ...])`,"Failed to create unique value renderer from style name",t)})),i}static fromStyleUrl(e,t){const s=new E(t?.properties);s._set("styleOrigin",Object.freeze({styleUrl:e}));const i=s.populateFromStyle();return i.catch((t=>{N.error(`#fromStyleUrl('${e}'[, ...])`,"Failed to create unique value renderer from style URL",t)})),i}};e([u({readOnly:!0})],k.prototype,"_cache",null),e([a({uniqueValue:"unique-value"})],k.prototype,"type",void 0),e([u(I)],k.prototype,"backgroundFillSymbol",void 0),e([u({value:null,json:{type:String,read:{source:"field1"},write:{target:"field1"}}})],k.prototype,"field",null),e([n("field")],k.prototype,"castField",null),e([d("field")],k.prototype,"writeField",null),e([u({type:String,value:null,json:{write:!0}})],k.prototype,"field2",null),e([u({type:String,value:null,json:{write:!0}})],k.prototype,"field3",null),e([u({type:Boolean,json:{name:"drawInClassOrder",default:!1,write:!0,origins:{"web-scene":{write:!1}}}})],k.prototype,"orderByClassesEnabled",void 0),e([u({type:String,value:null,json:{write:!0}})],k.prototype,"valueExpression",null),e([u({type:String,json:{write:!0}})],k.prototype,"valueExpressionTitle",void 0),e([u({type:g,json:{write:!0}})],k.prototype,"legendOptions",void 0),e([u({type:String,json:{write:!0}})],k.prototype,"defaultLabel",void 0),e([u(l({...q},{json:{write:{overridePolicy(){return{enabled:!this._isDefaultSymbolDerived}}},origins:{"web-scene":{write:{overridePolicy(){return{enabled:!this._isDefaultSymbolDerived}}}}}}}))],k.prototype,"defaultSymbol",null),e([u({type:String,value:null,json:{write:!0}})],k.prototype,"fieldDelimiter",null),e([u({type:v,readOnly:!0})],k.prototype,"portal",void 0),e([p("portal",["styleName"])],k.prototype,"readPortal",null),e([u({readOnly:!0,json:{write:{enabled:!1,overridePolicy:()=>({enabled:!0})}}})],k.prototype,"styleOrigin",void 0),e([p("styleOrigin",["styleName","styleUrl"])],k.prototype,"readStyleOrigin",null),e([d("styleOrigin",{styleName:{type:String},styleUrl:{type:String}})],k.prototype,"writeStyleOrigin",null),e([u({type:[U],json:{read:{source:["uniqueValueGroups","uniqueValueInfos"],reader:(e,t,s)=>(t.uniqueValueGroups||z(t)).map((e=>U.fromJSON(e,s)))},write:{overridePolicy(){return this.styleOrigin?{enabled:!1}:{enabled:!0}}}}})],k.prototype,"uniqueValueGroups",null),e([u({type:[j],json:{read:!1,write:{overridePolicy(){return this.styleOrigin?{enabled:!1}:{enabled:!0}}}}})],k.prototype,"uniqueValueInfos",null),k=E=e([f(M)],k);const A=k;export{A as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{ensureType as t}from"../symbols.js";import s from"../core/Error.js";import{clone as i}from"../core/lang.js";import o from"../core/Logger.js";import{deepMerge as l}from"../core/object.js";import{watch as r}from"../core/reactiveUtils.js";import{property as u}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import{enumeration as a}from"../core/accessorSupport/decorators/enumeration.js";import{reader as p}from"../core/accessorSupport/decorators/reader.js";import{subclass as f}from"../core/accessorSupport/decorators/subclass.js";import{writer as d}from"../core/accessorSupport/decorators/writer.js";import{diff as c}from"../core/accessorSupport/diffUtils.js";import{ensureType as h,ensureString as m}from"../core/accessorSupport/ensureType.js";import{collectArcadeFieldNames as y,collectField as b}from"../layers/support/fieldUtils.js";import v from"../portal/Portal.js";import _ from"./Renderer.js";import{VisualVariablesMixin as V}from"./mixins/VisualVariablesMixin.js";import{rendererSymbolProperty as q,rendererBackgroundFillSymbolProperty as g}from"./support/commonProperties.js";import{LegendOptions as I}from"./support/LegendOptions.js";import S from"./support/UniqueValue.js";import w from"./support/UniqueValueClass.js";import U from"./support/UniqueValueGroup.js";import j from"./support/UniqueValueInfo.js";import{loadArcade as F}from"../support/arcadeOnDemand.js";import{f as O,t as G}from"../chunks/persistableUrlUtils.js";import{fetchStyle as D}from"../symbols/support/styleUtils.js";import x from"../symbols/WebStyleSymbol.js";var E;const M="esri.renderers.UniqueValueRenderer",N=o.getLogger(M),R="uvInfos-watcher",P="uvGroups-watcher",C=",",$=h(j);function z(e){const{field1:t,field2:s,field3:i,fieldDelimiter:o,uniqueValueInfos:l,valueExpression:r}=e,u=!(!t||!s);return[{classes:(l??[]).map((e=>{const{symbol:l,label:n,value:a,description:p}=e,[f,d,c]=u?a?.toString()?.split(o||"")||[]:[a],h=[];return(t||r)&&h.push(f),s&&h.push(d),i&&h.push(c),{symbol:l,label:n,values:[h],description:p}}))}]}let k=E=class extends(V(_)){constructor(e){super(e),this._valueInfoMap={},this._isDefaultSymbolDerived=!1,this._isInfosSource=null,this.type="unique-value",this.backgroundFillSymbol=null,this.orderByClassesEnabled=!1,this.valueExpressionTitle=null,this.legendOptions=null,this.defaultLabel=null,this.portal=null,this.styleOrigin=null,this.diff={uniqueValueInfos(e,t){if(!e&&!t)return;if(!e||!t)return{type:"complete",oldValue:e,newValue:t};let s=!1;const i={type:"collection",added:[],removed:[],changed:[],unchanged:[]};for(let o=0;o<t.length;o++){const l=e.find((e=>e.value===t[o].value));l?c(l,t[o])?(i.changed.push({type:"complete",oldValue:l,newValue:t[o]}),s=!0):i.unchanged.push({oldValue:l,newValue:t[o]}):(i.added.push(t[o]),s=!0)}for(let o=0;o<e.length;o++){t.find((t=>t.value===e[o].value))||(i.removed.push(e[o]),s=!0)}return s?i:void 0}},this._set("uniqueValueInfos",[]),this._set("uniqueValueGroups",[])}get _cache(){return{compiledFunc:null}}set field(e){this._set("field",e),this._updateFieldDelimiter(),this._updateUniqueValues()}castField(e){return null==e||"function"==typeof e?e:m(e)}writeField(e,t,i,o){"string"==typeof e?t[i]=e:o?.messages?o.messages.push(new s("property:unsupported","UniqueValueRenderer.field set to a function cannot be written to JSON")):N.error(".field: cannot write field to JSON since it's not a string value")}set field2(e){this._set("field2",e),this._updateFieldDelimiter(),this._updateUniqueValues()}set field3(e){this._set("field3",e),this._updateUniqueValues()}set valueExpression(e){this._set("valueExpression",e),this._updateUniqueValues()}set defaultSymbol(e){this._isDefaultSymbolDerived=!1,this._set("defaultSymbol",e)}set fieldDelimiter(e){this._set("fieldDelimiter",e),this._updateUniqueValues()}readPortal(e,t,s){return s.portal||v.getDefault()}readStyleOrigin(e,t,s){if(t.styleName)return Object.freeze({styleName:t.styleName});if(t.styleUrl){const e=O(t.styleUrl,s);return Object.freeze({styleUrl:e})}}writeStyleOrigin(e,t,s,i){e.styleName?t.styleName=e.styleName:e.styleUrl&&(t.styleUrl=G(e.styleUrl,i))}set uniqueValueGroups(e){this.styleOrigin?N.error("#uniqueValueGroups=","Cannot modify unique value groups of a UniqueValueRenderer created from a web style"):(this._set("uniqueValueGroups",e),this._updateInfosFromGroups(),this._isInfosSource=!1,this._watchUniqueValueGroups())}set uniqueValueInfos(e){this.styleOrigin?N.error("#uniqueValueInfos=","Cannot modify unique value infos of a UniqueValueRenderer created from a web style"):(this._set("uniqueValueInfos",e),this._updateValueInfoMap(),this._updateGroupsFromInfos(),this._isInfosSource=!0,this._watchUniqueValueInfos())}addUniqueValueInfo(e,s){if(this.styleOrigin)return void N.error("#addUniqueValueInfo()","Cannot modify unique value infos of a UniqueValueRenderer created from a web style");let i;i="object"==typeof e?$(e):new j({value:e,symbol:t(s)}),this.uniqueValueInfos?.push(i),this._valueInfoMap[i.value]=i,this._updateGroupsFromInfos(),this._isInfosSource=!0,this._watchUniqueValueInfos()}removeUniqueValueInfo(e){if(this.styleOrigin)return void N.error("#removeUniqueValueInfo()","Cannot modify unique value infos of a UniqueValueRenderer created from a web style");const t=this.uniqueValueInfos;if(t)for(let s=0;s<t.length;s++){const i=t[s];if(String(i.value)===String(e)){delete this._valueInfoMap[e],t.splice(s,1);break}}this._updateGroupsFromInfos(),this._isInfosSource=!0,this._watchUniqueValueInfos()}async getUniqueValueInfo(e,t){let s=t;return this.valueExpression&&null==t?.arcade&&(s={...s,arcade:await F()}),this._getUniqueValueInfo(e,s)}getSymbol(e,t){if(this.valueExpression&&null==t?.arcade)return void N.error("#getSymbol()","Please use getSymbolAsync if valueExpression is used");const s=this._getUniqueValueInfo(e,t);return s?.symbol||this.defaultSymbol}async getSymbolAsync(e,t){let s=t;if(this.valueExpression&&null==s?.arcade){const e=await F(),{arcadeUtils:t}=e;t.hasGeometryOperations(this.valueExpression)&&await t.enableGeometryOperations(),s={...s,arcade:e}}const i=this._getUniqueValueInfo(e,s);return i?.symbol||this.defaultSymbol}getSymbols(){const e=[];for(const t of this.uniqueValueInfos??[])t.symbol&&e.push(t.symbol);return this.defaultSymbol&&e.push(this.defaultSymbol),e}getAttributeHash(){return this.visualVariables&&this.visualVariables.reduce(((e,t)=>e+t.getAttributeHash()),"")}getMeshHash(){const e=JSON.stringify(this.backgroundFillSymbol),t=JSON.stringify(this.defaultSymbol),s=this.uniqueValueInfos?.reduce(((e,t)=>e+t.getMeshHash()),"");return`${e}.${t}.${s}.${`${this.field}.${this.field2}.${this.field3}.${this.fieldDelimiter}`}.${this.valueExpression}`}clone(){const e=new E({field:this.field,field2:this.field2,field3:this.field3,defaultLabel:this.defaultLabel,defaultSymbol:i(this.defaultSymbol),orderByClassesEnabled:this.orderByClassesEnabled,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,fieldDelimiter:this.fieldDelimiter,visualVariables:i(this.visualVariables),legendOptions:i(this.legendOptions),authoringInfo:this.authoringInfo&&this.authoringInfo.clone(),backgroundFillSymbol:i(this.backgroundFillSymbol)});this._isDefaultSymbolDerived&&(e._isDefaultSymbolDerived=!0),e._set("portal",this.portal);const t=i(this.uniqueValueInfos),s=i(this.uniqueValueGroups);return this.styleOrigin&&(e._set("styleOrigin",Object.freeze(i(this.styleOrigin))),Object.freeze(t),Object.freeze(s)),e._set("uniqueValueInfos",t),e._updateValueInfoMap(),e._set("uniqueValueGroups",s),e._isInfosSource=this._isInfosSource,e._watchUniqueValueInfosAndGroups(),e}get arcadeRequired(){return this.arcadeRequiredForVisualVariables||!!this.valueExpression}async collectRequiredFields(e,t){const s=[this.collectVVRequiredFields(e,t),this.collectSymbolFields(e,t)];await Promise.all(s)}async collectSymbolFields(e,t){const s=[...this.getSymbols().map((s=>s.collectRequiredFields(e,t))),y(e,t,this.valueExpression)];b(e,t,this.field),b(e,t,this.field2),b(e,t,this.field3),await Promise.all(s)}populateFromStyle(){return D(this.styleOrigin,{portal:this.portal}).then((e=>{const t=[];return this._valueInfoMap={},e&&e.data&&Array.isArray(e.data.items)&&e.data.items.forEach((s=>{const i=new x({styleUrl:e.styleUrl,styleName:e.styleName,portal:this.portal,name:s.name});this.defaultSymbol||s.name!==e.data.defaultItem||(this.defaultSymbol=i,this._isDefaultSymbolDerived=!0);const o=new j({value:s.name,symbol:i});t.push(o),this._valueInfoMap[s.name]=o})),this._set("uniqueValueInfos",Object.freeze(t)),this._updateGroupsFromInfos(!0),this._isInfosSource=null,this._watchUniqueValueInfos(),!this.defaultSymbol&&this.uniqueValueInfos?.length&&(this.defaultSymbol=this.uniqueValueInfos[0].symbol,this._isDefaultSymbolDerived=!0),this}))}_updateFieldDelimiter(){this.field&&this.field2&&!this.fieldDelimiter&&this._set("fieldDelimiter",C)}_updateUniqueValues(){null!=this._isInfosSource&&(this._isInfosSource?this._updateGroupsFromInfos():this._updateInfosFromGroups())}_updateValueInfoMap(){this._valueInfoMap={};const{uniqueValueInfos:e}=this;if(e)for(const t of e)this._valueInfoMap[t.value+""]=t}_watchUniqueValueInfosAndGroups(){this._watchUniqueValueInfos(),this._watchUniqueValueGroups()}_watchUniqueValueInfos(){this.removeHandles(R);const{uniqueValueInfos:e}=this;if(e){const t=[];for(const s of e)t.push(r((()=>({symbol:s.symbol,value:s.value,label:s.label,description:s.description})),((e,t)=>{e!==t&&(this._updateGroupsFromInfos(),this._isInfosSource=!0)}),{sync:!0}));this.addHandles(t,R)}}_watchUniqueValueGroups(){this.removeHandles(P);const{uniqueValueGroups:e}=this;if(e){const t=[];for(const s of e){t.push(r((()=>({classes:s.classes})),((e,t)=>{e!==t&&(this._updateInfosFromGroups(),this._isInfosSource=!1)}),{sync:!0}));for(const e of s.classes??[])t.push(r((()=>({symbol:e.symbol,values:e.values,label:e.label,description:e.description})),((e,t)=>{e!==t&&(this._updateInfosFromGroups(),this._isInfosSource=!1)}),{sync:!0}))}this.addHandles(t,P)}}_updateInfosFromGroups(){if(!this.uniqueValueGroups)return this._set("uniqueValueInfos",null),this._updateValueInfoMap(),void this._watchUniqueValueInfos();const e=[],{field:t,field2:s,field3:i,fieldDelimiter:o,uniqueValueGroups:l,valueExpression:r}=this;if(!t&&!r)return this._set("uniqueValueInfos",e),this._updateValueInfoMap(),void this._watchUniqueValueInfos();const u=!(!t||!s);for(const n of l)for(const t of n.classes??[]){const{symbol:l,label:r,values:n,description:a}=t;for(const t of n??[]){const{value:n,value2:p,value3:f}=t,d=[n];s&&d.push(p),i&&d.push(f);const c=u?d.join(o||""):d[0];e.push(new j({symbol:l,label:r,value:c,description:a}))}}this._set("uniqueValueInfos",e),this._updateValueInfoMap(),this._watchUniqueValueInfos()}_updateGroupsFromInfos(e=!1){if(!this.uniqueValueInfos)return this._set("uniqueValueGroups",null),void this._watchUniqueValueGroups();const{field:t,field2:s,valueExpression:i,fieldDelimiter:o,uniqueValueInfos:l}=this;if(!t&&!i||!l.length)return this._set("uniqueValueGroups",[]),void this._watchUniqueValueGroups();const r=!(!t||!s),u=l.map((e=>{const{symbol:t,label:s,value:i,description:l}=e,[u,n,a]=r?i?.toString()?.split(o||"")||[]:[i];return new w({symbol:t,label:s,description:l,values:[new S({value:u,value2:n,value3:a})]})})),n=[new U({classes:u})];e&&Object.freeze(n),this._set("uniqueValueGroups",n),this._watchUniqueValueGroups()}_getUniqueValueInfo(e,t){return this.valueExpression?this._getUnqiueValueInfoForExpression(e,t):this._getUnqiueValueInfoForFields(e)}_getUnqiueValueInfoForExpression(e,t){const{viewingMode:s,scale:i,spatialReference:o,arcade:l,timeZone:r}=t??{};let u=this._cache.compiledFunc;const n=l.arcadeUtils;if(!u){const e=n.createSyntaxTree(this.valueExpression);u=n.createFunction(e),this._cache.compiledFunc=u}const a=n.executeFunction(u,n.createExecContext(e,n.getViewInfo({viewingMode:s,scale:i,spatialReference:o}),r));return this._valueInfoMap[a+""]}_getUnqiueValueInfoForFields(e){const t=this.field,s=e.attributes;let i;if("function"!=typeof t&&this.field2){const e=this.field2,o=this.field3,l=[];t&&l.push(s[t]),e&&l.push(s[e]),o&&l.push(s[o]),i=l.join(this.fieldDelimiter||"")}else"function"==typeof t?i=t(e):t&&(i=s[t]);return this._valueInfoMap[i+""]}static fromPortalStyle(e,t){const s=new E(t?.properties);s._set("styleOrigin",Object.freeze({styleName:e})),s._set("portal",t?.portal||v.getDefault());const i=s.populateFromStyle();return i.catch((t=>{N.error(`#fromPortalStyle('${e}'[, ...])`,"Failed to create unique value renderer from style name",t)})),i}static fromStyleUrl(e,t){const s=new E(t?.properties);s._set("styleOrigin",Object.freeze({styleUrl:e}));const i=s.populateFromStyle();return i.catch((t=>{N.error(`#fromStyleUrl('${e}'[, ...])`,"Failed to create unique value renderer from style URL",t)})),i}};e([u({readOnly:!0})],k.prototype,"_cache",null),e([a({uniqueValue:"unique-value"})],k.prototype,"type",void 0),e([u(g)],k.prototype,"backgroundFillSymbol",void 0),e([u({value:null,json:{type:String,read:{source:"field1"},write:{target:"field1"}}})],k.prototype,"field",null),e([n("field")],k.prototype,"castField",null),e([d("field")],k.prototype,"writeField",null),e([u({type:String,value:null,json:{write:!0}})],k.prototype,"field2",null),e([u({type:String,value:null,json:{write:!0}})],k.prototype,"field3",null),e([u({type:Boolean,json:{name:"drawInClassOrder",default:!1,write:!0,origins:{"web-scene":{write:!1}}}})],k.prototype,"orderByClassesEnabled",void 0),e([u({type:String,value:null,json:{write:!0}})],k.prototype,"valueExpression",null),e([u({type:String,json:{write:!0}})],k.prototype,"valueExpressionTitle",void 0),e([u({type:I,json:{write:!0}})],k.prototype,"legendOptions",void 0),e([u({type:String,json:{write:!0}})],k.prototype,"defaultLabel",void 0),e([u(l({...q},{json:{write:{overridePolicy(){return{enabled:!this._isDefaultSymbolDerived}}},origins:{"web-scene":{write:{overridePolicy(){return{enabled:!this._isDefaultSymbolDerived}}}}}}}))],k.prototype,"defaultSymbol",null),e([u({type:String,value:null,json:{write:!0}})],k.prototype,"fieldDelimiter",null),e([u({type:v,readOnly:!0})],k.prototype,"portal",void 0),e([p("portal",["styleName"])],k.prototype,"readPortal",null),e([u({readOnly:!0,json:{write:{enabled:!1,overridePolicy:()=>({enabled:!0})}}})],k.prototype,"styleOrigin",void 0),e([p("styleOrigin",["styleName","styleUrl"])],k.prototype,"readStyleOrigin",null),e([d("styleOrigin",{styleName:{type:String},styleUrl:{type:String}})],k.prototype,"writeStyleOrigin",null),e([u({type:[U],json:{read:{source:["uniqueValueGroups","uniqueValueInfos"],reader:(e,t,s)=>(t.uniqueValueGroups||z(t)).map((e=>U.fromJSON(e,s)))},write:{overridePolicy(){return this.styleOrigin?{enabled:!1}:{enabled:!0}}}}})],k.prototype,"uniqueValueGroups",null),e([u({type:[j],json:{read:!1,write:{overridePolicy(){return this.styleOrigin?{enabled:!1}:{enabled:!0}}}}})],k.prototype,"uniqueValueInfos",null),k=E=e([f(M)],k);const A=k;export{A as default};