@arcgis/core 4.28.0-rc.0 → 4.28.0-rc.2

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 (1068) 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/components/assets/icon/addConstant16.json +1 -0
  8. package/assets/components/assets/icon/addConstant24.json +1 -0
  9. package/assets/components/assets/icon/addConstant32.json +1 -0
  10. package/assets/components/assets/icon/addRasterVariable16.json +1 -0
  11. package/assets/components/assets/icon/addRasterVariable24.json +1 -0
  12. package/assets/components/assets/icon/addRasterVariable32.json +1 -0
  13. package/assets/components/assets/icon/addRasters16.json +1 -0
  14. package/assets/components/assets/icon/addRasters24.json +1 -0
  15. package/assets/components/assets/icon/addRasters32.json +1 -0
  16. package/assets/components/assets/icon/alertOffCircle16F.json +1 -0
  17. package/assets/components/assets/icon/alertOffCircle24F.json +1 -0
  18. package/assets/components/assets/icon/alertOffCircle32F.json +1 -0
  19. package/assets/components/assets/icon/boxChartSeries16.json +1 -0
  20. package/assets/components/assets/icon/boxChartSeries24.json +1 -0
  21. package/assets/components/assets/icon/boxChartSeries32.json +1 -0
  22. package/assets/components/assets/icon/breakRecurrence16.json +1 -0
  23. package/assets/components/assets/icon/breakRecurrence24.json +1 -0
  24. package/assets/components/assets/icon/breakRecurrence32.json +1 -0
  25. package/assets/components/assets/icon/bulletPoint16.json +1 -1
  26. package/assets/components/assets/icon/bulletPoint24.json +1 -1
  27. package/assets/components/assets/icon/bulletPoint32.json +1 -1
  28. package/assets/components/assets/icon/bulletPointLarge16.json +1 -0
  29. package/assets/components/assets/icon/bulletPointLarge24.json +1 -0
  30. package/assets/components/assets/icon/bulletPointLarge32.json +1 -0
  31. package/assets/components/assets/icon/chevronEnd16.json +1 -0
  32. package/assets/components/assets/icon/chevronEnd24.json +1 -0
  33. package/assets/components/assets/icon/chevronEnd32.json +1 -0
  34. package/assets/components/assets/icon/chevronStart16.json +1 -0
  35. package/assets/components/assets/icon/chevronStart24.json +1 -0
  36. package/assets/components/assets/icon/chevronStart32.json +1 -0
  37. package/assets/components/assets/icon/configureGridUnit16.json +1 -0
  38. package/assets/components/assets/icon/configureGridUnit24.json +1 -0
  39. package/assets/components/assets/icon/configureGridUnit32.json +1 -0
  40. package/assets/components/assets/icon/dimensionsUnit16.json +1 -0
  41. package/assets/components/assets/icon/dimensionsUnit24.json +1 -0
  42. package/assets/components/assets/icon/dimensionsUnit32.json +1 -0
  43. package/assets/components/assets/icon/dimensionsWall16.json +1 -0
  44. package/assets/components/assets/icon/dimensionsWall24.json +1 -0
  45. package/assets/components/assets/icon/dimensionsWall32.json +1 -0
  46. package/assets/components/assets/icon/flipVertical16.json +1 -0
  47. package/assets/components/assets/icon/flipVertical24.json +1 -0
  48. package/assets/components/assets/icon/flipVertical32.json +1 -0
  49. package/assets/components/assets/icon/imageCollectionExplorer16.json +1 -0
  50. package/assets/components/assets/icon/imageCollectionExplorer24.json +1 -0
  51. package/assets/components/assets/icon/imageCollectionExplorer32.json +1 -0
  52. package/assets/components/assets/icon/imageMagnifyingGlass16.json +1 -0
  53. package/assets/components/assets/icon/imageMagnifyingGlass24.json +1 -0
  54. package/assets/components/assets/icon/imageMagnifyingGlass32.json +1 -0
  55. package/assets/components/assets/icon/launch216.json +1 -0
  56. package/assets/components/assets/icon/launch224.json +1 -0
  57. package/assets/components/assets/icon/launch232.json +1 -0
  58. package/assets/components/assets/icon/mergeDetails16.json +1 -0
  59. package/assets/components/assets/icon/mergeDetails24.json +1 -0
  60. package/assets/components/assets/icon/mergeDetails32.json +1 -0
  61. package/assets/components/assets/icon/mergeUnits16.json +1 -0
  62. package/assets/components/assets/icon/mergeUnits24.json +1 -0
  63. package/assets/components/assets/icon/mergeUnits32.json +1 -0
  64. package/assets/components/assets/icon/minusCircle16F.json +1 -0
  65. package/assets/components/assets/icon/minusCircle24F.json +1 -0
  66. package/assets/components/assets/icon/minusCircle32F.json +1 -0
  67. package/assets/components/assets/icon/polygonSelect16.json +1 -0
  68. package/assets/components/assets/icon/polygonSelect24.json +1 -0
  69. package/assets/components/assets/icon/polygonSelect32.json +1 -0
  70. package/assets/components/assets/icon/projectMission16.json +1 -0
  71. package/assets/components/assets/icon/projectMission24.json +1 -0
  72. package/assets/components/assets/icon/projectMission32.json +1 -0
  73. package/assets/components/assets/icon/projectTemplate16.json +1 -0
  74. package/assets/components/assets/icon/projectTemplate24.json +1 -0
  75. package/assets/components/assets/icon/projectTemplate32.json +1 -0
  76. package/assets/components/assets/icon/properties16.json +1 -0
  77. package/assets/components/assets/icon/properties24.json +1 -0
  78. package/assets/components/assets/icon/properties32.json +1 -0
  79. package/assets/components/assets/icon/saveAs16.json +1 -0
  80. package/assets/components/assets/icon/saveAs24.json +1 -0
  81. package/assets/components/assets/icon/saveAs32.json +1 -0
  82. package/assets/components/assets/icon/splitUnits16.json +1 -0
  83. package/assets/components/assets/icon/splitUnits24.json +1 -0
  84. package/assets/components/assets/icon/splitUnits32.json +1 -0
  85. package/assets/components/assets/icon/storage16.json +1 -0
  86. package/assets/components/assets/icon/storage24.json +1 -0
  87. package/assets/components/assets/icon/storage32.json +1 -0
  88. package/assets/components/assets/panel/t9n/messages.json +3 -1
  89. package/assets/components/assets/panel/t9n/messages_ar.json +3 -1
  90. package/assets/components/assets/panel/t9n/messages_bg.json +3 -1
  91. package/assets/components/assets/panel/t9n/messages_bs.json +3 -1
  92. package/assets/components/assets/panel/t9n/messages_ca.json +3 -1
  93. package/assets/components/assets/panel/t9n/messages_cs.json +3 -1
  94. package/assets/components/assets/panel/t9n/messages_da.json +3 -1
  95. package/assets/components/assets/panel/t9n/messages_de.json +3 -1
  96. package/assets/components/assets/panel/t9n/messages_el.json +3 -1
  97. package/assets/components/assets/panel/t9n/messages_en.json +3 -1
  98. package/assets/components/assets/panel/t9n/messages_es.json +3 -1
  99. package/assets/components/assets/panel/t9n/messages_et.json +3 -1
  100. package/assets/components/assets/panel/t9n/messages_fi.json +3 -1
  101. package/assets/components/assets/panel/t9n/messages_fr.json +3 -1
  102. package/assets/components/assets/panel/t9n/messages_he.json +3 -1
  103. package/assets/components/assets/panel/t9n/messages_hr.json +3 -1
  104. package/assets/components/assets/panel/t9n/messages_hu.json +3 -1
  105. package/assets/components/assets/panel/t9n/messages_id.json +3 -1
  106. package/assets/components/assets/panel/t9n/messages_it.json +3 -1
  107. package/assets/components/assets/panel/t9n/messages_ja.json +3 -1
  108. package/assets/components/assets/panel/t9n/messages_ko.json +3 -1
  109. package/assets/components/assets/panel/t9n/messages_lt.json +3 -1
  110. package/assets/components/assets/panel/t9n/messages_lv.json +3 -1
  111. package/assets/components/assets/panel/t9n/messages_nl.json +3 -1
  112. package/assets/components/assets/panel/t9n/messages_no.json +3 -1
  113. package/assets/components/assets/panel/t9n/messages_pl.json +3 -1
  114. package/assets/components/assets/panel/t9n/messages_pt-BR.json +3 -1
  115. package/assets/components/assets/panel/t9n/messages_pt-PT.json +3 -1
  116. package/assets/components/assets/panel/t9n/messages_ro.json +3 -1
  117. package/assets/components/assets/panel/t9n/messages_ru.json +3 -1
  118. package/assets/components/assets/panel/t9n/messages_sk.json +3 -1
  119. package/assets/components/assets/panel/t9n/messages_sl.json +3 -1
  120. package/assets/components/assets/panel/t9n/messages_sr.json +3 -1
  121. package/assets/components/assets/panel/t9n/messages_sv.json +3 -1
  122. package/assets/components/assets/panel/t9n/messages_th.json +3 -1
  123. package/assets/components/assets/panel/t9n/messages_tr.json +3 -1
  124. package/assets/components/assets/panel/t9n/messages_uk.json +3 -1
  125. package/assets/components/assets/panel/t9n/messages_vi.json +3 -1
  126. package/assets/components/assets/panel/t9n/messages_zh-CN.json +3 -1
  127. package/assets/components/assets/panel/t9n/messages_zh-HK.json +3 -1
  128. package/assets/components/assets/panel/t9n/messages_zh-TW.json +3 -1
  129. package/assets/components/assets/table/t9n/messages_ar.json +5 -5
  130. package/assets/components/assets/table/t9n/messages_bg.json +5 -5
  131. package/assets/components/assets/table/t9n/messages_bs.json +5 -5
  132. package/assets/components/assets/table/t9n/messages_ca.json +5 -5
  133. package/assets/components/assets/table/t9n/messages_cs.json +5 -5
  134. package/assets/components/assets/table/t9n/messages_da.json +5 -5
  135. package/assets/components/assets/table/t9n/messages_de.json +5 -5
  136. package/assets/components/assets/table/t9n/messages_el.json +5 -5
  137. package/assets/components/assets/table/t9n/messages_es.json +5 -5
  138. package/assets/components/assets/table/t9n/messages_et.json +5 -5
  139. package/assets/components/assets/table/t9n/messages_fi.json +5 -5
  140. package/assets/components/assets/table/t9n/messages_fr.json +4 -4
  141. package/assets/components/assets/table/t9n/messages_he.json +5 -5
  142. package/assets/components/assets/table/t9n/messages_hr.json +5 -5
  143. package/assets/components/assets/table/t9n/messages_hu.json +5 -5
  144. package/assets/components/assets/table/t9n/messages_id.json +5 -5
  145. package/assets/components/assets/table/t9n/messages_it.json +5 -5
  146. package/assets/components/assets/table/t9n/messages_ja.json +5 -5
  147. package/assets/components/assets/table/t9n/messages_ko.json +5 -5
  148. package/assets/components/assets/table/t9n/messages_lt.json +5 -5
  149. package/assets/components/assets/table/t9n/messages_lv.json +5 -5
  150. package/assets/components/assets/table/t9n/messages_nl.json +5 -5
  151. package/assets/components/assets/table/t9n/messages_no.json +5 -5
  152. package/assets/components/assets/table/t9n/messages_pl.json +5 -5
  153. package/assets/components/assets/table/t9n/messages_pt-BR.json +5 -5
  154. package/assets/components/assets/table/t9n/messages_pt-PT.json +5 -5
  155. package/assets/components/assets/table/t9n/messages_ro.json +5 -5
  156. package/assets/components/assets/table/t9n/messages_ru.json +5 -5
  157. package/assets/components/assets/table/t9n/messages_sk.json +5 -5
  158. package/assets/components/assets/table/t9n/messages_sl.json +5 -5
  159. package/assets/components/assets/table/t9n/messages_sr.json +5 -5
  160. package/assets/components/assets/table/t9n/messages_sv.json +5 -5
  161. package/assets/components/assets/table/t9n/messages_th.json +5 -5
  162. package/assets/components/assets/table/t9n/messages_tr.json +5 -5
  163. package/assets/components/assets/table/t9n/messages_uk.json +5 -5
  164. package/assets/components/assets/table/t9n/messages_vi.json +5 -5
  165. package/assets/components/assets/table/t9n/messages_zh-CN.json +5 -5
  166. package/assets/components/assets/table/t9n/messages_zh-HK.json +5 -5
  167. package/assets/components/assets/table/t9n/messages_zh-TW.json +5 -5
  168. package/assets/components/assets/table-cell/t9n/messages_ar.json +5 -5
  169. package/assets/components/assets/table-cell/t9n/messages_bg.json +5 -5
  170. package/assets/components/assets/table-cell/t9n/messages_bs.json +5 -5
  171. package/assets/components/assets/table-cell/t9n/messages_ca.json +5 -5
  172. package/assets/components/assets/table-cell/t9n/messages_cs.json +5 -5
  173. package/assets/components/assets/table-cell/t9n/messages_da.json +5 -5
  174. package/assets/components/assets/table-cell/t9n/messages_de.json +5 -5
  175. package/assets/components/assets/table-cell/t9n/messages_el.json +5 -5
  176. package/assets/components/assets/table-cell/t9n/messages_es.json +5 -5
  177. package/assets/components/assets/table-cell/t9n/messages_et.json +5 -5
  178. package/assets/components/assets/table-cell/t9n/messages_fi.json +5 -5
  179. package/assets/components/assets/table-cell/t9n/messages_fr.json +5 -5
  180. package/assets/components/assets/table-cell/t9n/messages_he.json +5 -5
  181. package/assets/components/assets/table-cell/t9n/messages_hr.json +5 -5
  182. package/assets/components/assets/table-cell/t9n/messages_hu.json +5 -5
  183. package/assets/components/assets/table-cell/t9n/messages_id.json +5 -5
  184. package/assets/components/assets/table-cell/t9n/messages_it.json +5 -5
  185. package/assets/components/assets/table-cell/t9n/messages_ja.json +5 -5
  186. package/assets/components/assets/table-cell/t9n/messages_ko.json +5 -5
  187. package/assets/components/assets/table-cell/t9n/messages_lt.json +5 -5
  188. package/assets/components/assets/table-cell/t9n/messages_lv.json +5 -5
  189. package/assets/components/assets/table-cell/t9n/messages_nl.json +5 -5
  190. package/assets/components/assets/table-cell/t9n/messages_no.json +5 -5
  191. package/assets/components/assets/table-cell/t9n/messages_pl.json +5 -5
  192. package/assets/components/assets/table-cell/t9n/messages_pt-BR.json +5 -5
  193. package/assets/components/assets/table-cell/t9n/messages_pt-PT.json +5 -5
  194. package/assets/components/assets/table-cell/t9n/messages_ro.json +5 -5
  195. package/assets/components/assets/table-cell/t9n/messages_ru.json +5 -5
  196. package/assets/components/assets/table-cell/t9n/messages_sk.json +5 -5
  197. package/assets/components/assets/table-cell/t9n/messages_sl.json +5 -5
  198. package/assets/components/assets/table-cell/t9n/messages_sr.json +5 -5
  199. package/assets/components/assets/table-cell/t9n/messages_sv.json +5 -5
  200. package/assets/components/assets/table-cell/t9n/messages_th.json +5 -5
  201. package/assets/components/assets/table-cell/t9n/messages_tr.json +5 -5
  202. package/assets/components/assets/table-cell/t9n/messages_uk.json +5 -5
  203. package/assets/components/assets/table-cell/t9n/messages_vi.json +5 -5
  204. package/assets/components/assets/table-cell/t9n/messages_zh-CN.json +5 -5
  205. package/assets/components/assets/table-cell/t9n/messages_zh-HK.json +5 -5
  206. package/assets/components/assets/table-cell/t9n/messages_zh-TW.json +5 -5
  207. package/assets/components/assets/table-header/t9n/messages_ar.json +6 -6
  208. package/assets/components/assets/table-header/t9n/messages_bg.json +6 -6
  209. package/assets/components/assets/table-header/t9n/messages_bs.json +6 -6
  210. package/assets/components/assets/table-header/t9n/messages_ca.json +6 -6
  211. package/assets/components/assets/table-header/t9n/messages_cs.json +6 -6
  212. package/assets/components/assets/table-header/t9n/messages_da.json +6 -6
  213. package/assets/components/assets/table-header/t9n/messages_de.json +6 -6
  214. package/assets/components/assets/table-header/t9n/messages_el.json +6 -6
  215. package/assets/components/assets/table-header/t9n/messages_es.json +6 -6
  216. package/assets/components/assets/table-header/t9n/messages_et.json +6 -6
  217. package/assets/components/assets/table-header/t9n/messages_fi.json +6 -6
  218. package/assets/components/assets/table-header/t9n/messages_fr.json +6 -6
  219. package/assets/components/assets/table-header/t9n/messages_he.json +6 -6
  220. package/assets/components/assets/table-header/t9n/messages_hr.json +6 -6
  221. package/assets/components/assets/table-header/t9n/messages_hu.json +6 -6
  222. package/assets/components/assets/table-header/t9n/messages_id.json +6 -6
  223. package/assets/components/assets/table-header/t9n/messages_it.json +6 -6
  224. package/assets/components/assets/table-header/t9n/messages_ja.json +6 -6
  225. package/assets/components/assets/table-header/t9n/messages_ko.json +6 -6
  226. package/assets/components/assets/table-header/t9n/messages_lt.json +6 -6
  227. package/assets/components/assets/table-header/t9n/messages_lv.json +6 -6
  228. package/assets/components/assets/table-header/t9n/messages_nl.json +6 -6
  229. package/assets/components/assets/table-header/t9n/messages_no.json +6 -6
  230. package/assets/components/assets/table-header/t9n/messages_pl.json +6 -6
  231. package/assets/components/assets/table-header/t9n/messages_pt-BR.json +6 -6
  232. package/assets/components/assets/table-header/t9n/messages_pt-PT.json +6 -6
  233. package/assets/components/assets/table-header/t9n/messages_ro.json +6 -6
  234. package/assets/components/assets/table-header/t9n/messages_ru.json +6 -6
  235. package/assets/components/assets/table-header/t9n/messages_sk.json +6 -6
  236. package/assets/components/assets/table-header/t9n/messages_sl.json +6 -6
  237. package/assets/components/assets/table-header/t9n/messages_sr.json +6 -6
  238. package/assets/components/assets/table-header/t9n/messages_sv.json +6 -6
  239. package/assets/components/assets/table-header/t9n/messages_th.json +6 -6
  240. package/assets/components/assets/table-header/t9n/messages_tr.json +6 -6
  241. package/assets/components/assets/table-header/t9n/messages_uk.json +6 -6
  242. package/assets/components/assets/table-header/t9n/messages_vi.json +6 -6
  243. package/assets/components/assets/table-header/t9n/messages_zh-CN.json +6 -6
  244. package/assets/components/assets/table-header/t9n/messages_zh-HK.json +6 -6
  245. package/assets/components/assets/table-header/t9n/messages_zh-TW.json +6 -6
  246. package/assets/components/assets/time-picker/t9n/messages_ar.json +3 -0
  247. package/assets/components/assets/time-picker/t9n/messages_bg.json +3 -0
  248. package/assets/components/assets/time-picker/t9n/messages_bs.json +3 -0
  249. package/assets/components/assets/time-picker/t9n/messages_ca.json +3 -0
  250. package/assets/components/assets/time-picker/t9n/messages_cs.json +3 -0
  251. package/assets/components/assets/time-picker/t9n/messages_da.json +3 -0
  252. package/assets/components/assets/time-picker/t9n/messages_de.json +3 -0
  253. package/assets/components/assets/time-picker/t9n/messages_el.json +3 -0
  254. package/assets/components/assets/time-picker/t9n/messages_es.json +3 -0
  255. package/assets/components/assets/time-picker/t9n/messages_et.json +3 -0
  256. package/assets/components/assets/time-picker/t9n/messages_fi.json +3 -0
  257. package/assets/components/assets/time-picker/t9n/messages_fr.json +3 -0
  258. package/assets/components/assets/time-picker/t9n/messages_he.json +3 -0
  259. package/assets/components/assets/time-picker/t9n/messages_hr.json +3 -0
  260. package/assets/components/assets/time-picker/t9n/messages_hu.json +3 -0
  261. package/assets/components/assets/time-picker/t9n/messages_id.json +3 -0
  262. package/assets/components/assets/time-picker/t9n/messages_it.json +3 -0
  263. package/assets/components/assets/time-picker/t9n/messages_ja.json +3 -0
  264. package/assets/components/assets/time-picker/t9n/messages_ko.json +3 -0
  265. package/assets/components/assets/time-picker/t9n/messages_lt.json +3 -0
  266. package/assets/components/assets/time-picker/t9n/messages_lv.json +3 -0
  267. package/assets/components/assets/time-picker/t9n/messages_nl.json +3 -0
  268. package/assets/components/assets/time-picker/t9n/messages_no.json +3 -0
  269. package/assets/components/assets/time-picker/t9n/messages_pl.json +3 -0
  270. package/assets/components/assets/time-picker/t9n/messages_pt-BR.json +3 -0
  271. package/assets/components/assets/time-picker/t9n/messages_pt-PT.json +3 -0
  272. package/assets/components/assets/time-picker/t9n/messages_ro.json +3 -0
  273. package/assets/components/assets/time-picker/t9n/messages_ru.json +3 -0
  274. package/assets/components/assets/time-picker/t9n/messages_sk.json +3 -0
  275. package/assets/components/assets/time-picker/t9n/messages_sl.json +3 -0
  276. package/assets/components/assets/time-picker/t9n/messages_sr.json +3 -0
  277. package/assets/components/assets/time-picker/t9n/messages_sv.json +3 -0
  278. package/assets/components/assets/time-picker/t9n/messages_th.json +3 -0
  279. package/assets/components/assets/time-picker/t9n/messages_tr.json +3 -0
  280. package/assets/components/assets/time-picker/t9n/messages_uk.json +3 -0
  281. package/assets/components/assets/time-picker/t9n/messages_vi.json +3 -0
  282. package/assets/components/assets/time-picker/t9n/messages_zh-CN.json +3 -0
  283. package/assets/components/assets/time-picker/t9n/messages_zh-HK.json +3 -0
  284. package/assets/components/assets/time-picker/t9n/messages_zh-TW.json +3 -0
  285. package/assets/esri/core/workers/RemoteClient.js +1 -1
  286. package/assets/esri/core/workers/chunks/00da3c16741a9bc47f3a.js +1 -0
  287. package/assets/esri/core/workers/chunks/020825b9c12f2b6386a7.js +1 -0
  288. package/assets/esri/core/workers/chunks/07adca463da5554e514d.js +1 -0
  289. package/assets/esri/core/workers/chunks/07c1783baf9b19b4876a.js +1 -0
  290. package/assets/esri/core/workers/chunks/08a98e85e86ce560d005.js +1 -0
  291. package/assets/esri/core/workers/chunks/0e354096ad8817971eed.js +1 -0
  292. package/assets/esri/core/workers/chunks/0e4646d14fa0775bf463.js +1 -0
  293. package/assets/esri/core/workers/chunks/0ea41f142793edb99d3a.js +1 -0
  294. package/assets/esri/core/workers/chunks/10dc578a90e1194c8720.js +1 -0
  295. package/assets/esri/core/workers/chunks/18e0c5bfeb1aa7213dfa.js +1 -0
  296. package/assets/esri/core/workers/chunks/19c9966f74d287750aaa.js +1 -0
  297. package/assets/esri/core/workers/chunks/1a65d9b9f823d1e8b315.js +1 -0
  298. package/assets/esri/core/workers/chunks/1eb5468c7cf653338d53.js +1 -0
  299. package/assets/esri/core/workers/chunks/1f30ea1a598ddd2e5df3.js +1 -0
  300. package/assets/esri/core/workers/chunks/{40c00b352618c7839f7e.js → 1f87f22e00e3218661c6.js} +1 -1
  301. package/assets/esri/core/workers/chunks/1fc3b526e881ada30420.js +1 -0
  302. package/assets/esri/core/workers/chunks/2304b7456ced997904f6.js +1 -0
  303. package/assets/esri/core/workers/chunks/2d92df1e3ba4f05e0510.js +1 -0
  304. package/assets/esri/core/workers/chunks/31cb4c73764555b40328.js +1 -0
  305. package/assets/esri/core/workers/chunks/32bd6a343ea49c331e1f.js +1 -0
  306. package/assets/esri/core/workers/chunks/3491f1945d9c06d8b2c7.js +1 -0
  307. package/assets/esri/core/workers/chunks/366cf9bba6989342e447.js +1 -0
  308. package/assets/esri/core/workers/chunks/37edbd9b05bfdb2e645d.js +1 -0
  309. package/assets/esri/core/workers/chunks/3c5a112a9b58770a5242.js +1 -0
  310. package/assets/esri/core/workers/chunks/41778f8c49febe1f9404.js +1 -0
  311. package/assets/esri/core/workers/chunks/430ec9f5949b31959893.js +1 -0
  312. package/assets/esri/core/workers/chunks/43575b9acf9819f195f9.js +1 -0
  313. package/assets/esri/core/workers/chunks/43f7d9366d06d69e7c50.js +1 -0
  314. package/assets/esri/core/workers/chunks/{e8c7cc974420c0b92d0e.js → 4672504d6fe649da19f2.js} +1 -1
  315. package/assets/esri/core/workers/chunks/4e813f112a428b4acf0e.js +1 -0
  316. package/assets/esri/core/workers/chunks/{e93442c6d92229f3a4b0.js → 51b8913dff24e693bd25.js} +1 -1
  317. package/assets/esri/core/workers/chunks/5386b166f2e5dc0d9143.js +1 -0
  318. package/assets/esri/core/workers/chunks/562eafa5090827ebb7ec.js +1 -0
  319. package/assets/esri/core/workers/chunks/56a61a8bff08ae273de4.js +1 -0
  320. package/assets/esri/core/workers/chunks/580e7d3cbf6797a50ded.js +1 -0
  321. package/assets/esri/core/workers/chunks/5e8f02da4eae41f57383.js +1 -0
  322. package/assets/esri/core/workers/chunks/6046be598e8c673eeb1f.js +1 -0
  323. package/assets/esri/core/workers/chunks/61dec8399919b278b636.js +1 -0
  324. package/assets/esri/core/workers/chunks/6334a8a7b671d4042108.js +1 -0
  325. package/assets/esri/core/workers/chunks/6747503826bfc94bc6c0.js +1 -0
  326. package/assets/esri/core/workers/chunks/6867ed1860afb7aac536.js +1 -0
  327. package/assets/esri/core/workers/chunks/69c1c850af7ee33258e0.js +1 -0
  328. package/assets/esri/core/workers/chunks/70aa04b09143b7dd2ecb.js +1 -0
  329. package/assets/esri/core/workers/chunks/7388fd97e7b1a2142744.js +1 -0
  330. package/assets/esri/core/workers/chunks/7648f3341b7dff2825c3.js +1 -0
  331. package/assets/esri/core/workers/chunks/768271a12dc7e1781447.js +1 -0
  332. package/assets/esri/core/workers/chunks/{efb17a298363beca5209.js → 7756ed853b4ba54cd081.js} +1 -1
  333. package/assets/esri/core/workers/chunks/7f3bc7a2de59e485f22f.js +1 -0
  334. package/assets/esri/core/workers/chunks/7f433e25f3892475d5dc.js +1 -0
  335. package/assets/esri/core/workers/chunks/80bf6cf1bef17215bca4.js +1 -0
  336. package/assets/esri/core/workers/chunks/83d063b7ce768e9ab3de.js +1 -0
  337. package/assets/esri/core/workers/chunks/83f7e22a12d90ef93e62.js +1 -0
  338. package/assets/esri/core/workers/chunks/{4cc680fe4c9c39d2f853.js → 8a7fa4e8b0d14da7c9eb.js} +1 -1
  339. package/assets/esri/core/workers/chunks/92d8f75e616afa5c761e.js +1 -0
  340. package/assets/esri/core/workers/chunks/99fd09dd42b75a932e84.js +1 -0
  341. package/assets/esri/core/workers/chunks/{f0664a24f2c3705747a5.js → 9c77d69a13ec22cdd760.js} +1 -1
  342. package/assets/esri/core/workers/chunks/a360534e89a337871921.js +1 -0
  343. package/assets/esri/core/workers/chunks/a4341ec0fe89b865d849.js +1 -0
  344. package/assets/esri/core/workers/chunks/a821fa1870b83fed5d31.js +1 -0
  345. package/assets/esri/core/workers/chunks/a8e4726c1db23324eb54.js +1 -0
  346. package/assets/esri/core/workers/chunks/abcfe3bda6f40318b092.js +1 -0
  347. package/assets/esri/core/workers/chunks/ac3e429d43f80c596ec8.js +1 -0
  348. package/assets/esri/core/workers/chunks/ac53b5479dd229fa4f7d.js +1 -0
  349. package/assets/esri/core/workers/chunks/adf6bcf2447c95aeb440.js +1 -0
  350. package/assets/esri/core/workers/chunks/aeb3efa91165dd3d2493.js.LICENSE.txt +1 -1
  351. package/assets/esri/core/workers/chunks/b03eaba5fa75d6ef834a.js +1 -0
  352. package/assets/esri/core/workers/chunks/b251d8a856dc8b9406e0.js +1 -0
  353. package/assets/esri/core/workers/chunks/b3f5e97b47e896c6008a.js +1 -0
  354. package/assets/esri/core/workers/chunks/b6cc8d7dcc710231fe72.js +1 -0
  355. package/assets/esri/core/workers/chunks/b7c81a5bbcdd94b8a7f6.js +1 -0
  356. package/assets/esri/core/workers/chunks/b9a726f3bbad6fd4d65a.js +1 -0
  357. package/assets/esri/core/workers/chunks/c416df0668f6c596095f.js +1 -0
  358. package/assets/esri/core/workers/chunks/c447f4bf0e5f012f8f9b.js +1 -0
  359. package/assets/esri/core/workers/chunks/c7bd63103f101c09b1ea.js +1 -0
  360. package/assets/esri/core/workers/chunks/ca3d5803cdf035d7389d.js +1 -0
  361. package/assets/esri/core/workers/chunks/cb4b17f5cf96a9e36781.js +1 -0
  362. package/assets/esri/core/workers/chunks/cbddfcf57f72428a6992.js +1 -0
  363. package/assets/esri/core/workers/chunks/cc86c8c88124d916e1b3.js +1 -0
  364. package/assets/esri/core/workers/chunks/d0119dff8771e749436a.js +1 -0
  365. package/assets/esri/core/workers/chunks/d07235ce2765a25b9be4.js +1 -0
  366. package/assets/esri/core/workers/chunks/d0f903f2257eb96f7789.js +1 -0
  367. package/assets/esri/core/workers/chunks/d153a8b71111165fc891.js +1 -0
  368. package/assets/esri/core/workers/chunks/d213024012b1a019bfde.js +1 -0
  369. package/assets/esri/core/workers/chunks/d5fec54e98c8622349a4.js +1 -0
  370. package/assets/esri/core/workers/chunks/d878bb6409df183ea0ce.js +1 -0
  371. package/assets/esri/core/workers/chunks/da124ccd18d2745195fe.js +1 -0
  372. package/assets/esri/core/workers/chunks/dd55151bfac60b0deaac.js +1 -0
  373. package/assets/esri/core/workers/chunks/e06cd10b6f8f363b5131.js +1 -0
  374. package/assets/esri/core/workers/chunks/e5352dc8983d06d4ee0f.js +1 -0
  375. package/assets/esri/core/workers/chunks/e67c4b7ad06d8404895a.js +1 -0
  376. package/assets/esri/core/workers/chunks/e810336a4292ea6076a6.js +1 -0
  377. package/assets/esri/core/workers/chunks/{18ab9cc85a1a7988fdfd.js → ea9ae9d2aef01af90896.js} +1 -1
  378. package/assets/esri/core/workers/chunks/ef757269fb3fe0e74ef8.js +1 -0
  379. package/assets/esri/core/workers/chunks/f0d342303fc20e266d27.js +1 -0
  380. package/assets/esri/core/workers/chunks/f73563b23fd8dc6cf2fe.js +1 -0
  381. package/assets/esri/core/workers/chunks/f85107720159b855a469.js +1 -0
  382. package/assets/esri/core/workers/chunks/fbc57985d55b5fbe1e8a.js +1 -0
  383. package/assets/esri/core/workers/chunks/fc95b1a36ed68b851400.js +1 -0
  384. package/assets/esri/core/workers/chunks/{7cf7f2b991a7cbdad2ce.js → fd28400141a6751327ae.js} +1 -1
  385. package/assets/esri/t9n/common.json +1 -1
  386. package/assets/esri/t9n/common_ar.json +1 -1
  387. package/assets/esri/t9n/common_bg.json +1 -1
  388. package/assets/esri/t9n/common_bs.json +1 -1
  389. package/assets/esri/t9n/common_ca.json +1 -1
  390. package/assets/esri/t9n/common_cs.json +1 -1
  391. package/assets/esri/t9n/common_da.json +1 -1
  392. package/assets/esri/t9n/common_de.json +1 -1
  393. package/assets/esri/t9n/common_el.json +1 -1
  394. package/assets/esri/t9n/common_en.json +1 -1
  395. package/assets/esri/t9n/common_es.json +1 -1
  396. package/assets/esri/t9n/common_et.json +1 -1
  397. package/assets/esri/t9n/common_fi.json +1 -1
  398. package/assets/esri/t9n/common_fr.json +1 -1
  399. package/assets/esri/t9n/common_he.json +1 -1
  400. package/assets/esri/t9n/common_hr.json +1 -1
  401. package/assets/esri/t9n/common_hu.json +1 -1
  402. package/assets/esri/t9n/common_id.json +1 -1
  403. package/assets/esri/t9n/common_it.json +1 -1
  404. package/assets/esri/t9n/common_ja.json +1 -1
  405. package/assets/esri/t9n/common_ko.json +1 -1
  406. package/assets/esri/t9n/common_lt.json +1 -1
  407. package/assets/esri/t9n/common_lv.json +1 -1
  408. package/assets/esri/t9n/common_nb.json +1 -1
  409. package/assets/esri/t9n/common_nl.json +1 -1
  410. package/assets/esri/t9n/common_pl.json +1 -1
  411. package/assets/esri/t9n/common_pt-BR.json +1 -1
  412. package/assets/esri/t9n/common_pt-PT.json +1 -1
  413. package/assets/esri/t9n/common_ro.json +1 -1
  414. package/assets/esri/t9n/common_ru.json +1 -1
  415. package/assets/esri/t9n/common_sk.json +1 -1
  416. package/assets/esri/t9n/common_sl.json +1 -1
  417. package/assets/esri/t9n/common_sr.json +1 -1
  418. package/assets/esri/t9n/common_sv.json +1 -1
  419. package/assets/esri/t9n/common_th.json +1 -1
  420. package/assets/esri/t9n/common_tr.json +1 -1
  421. package/assets/esri/t9n/common_uk.json +1 -1
  422. package/assets/esri/t9n/common_vi.json +1 -1
  423. package/assets/esri/t9n/common_zh-CN.json +1 -1
  424. package/assets/esri/t9n/common_zh-HK.json +1 -1
  425. package/assets/esri/t9n/common_zh-TW.json +1 -1
  426. package/assets/esri/themes/base/_core.scss +2 -0
  427. package/assets/esri/themes/base/widgets/_DatePicker.scss +4 -0
  428. package/assets/esri/themes/base/widgets/_FeatureForm.scss +10 -14
  429. package/assets/esri/themes/base/widgets/_Features.scss +1 -1
  430. package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +1 -1
  431. package/assets/esri/themes/base/widgets/_TimeZoneLabel.scss +46 -0
  432. package/assets/esri/themes/base/widgets/_Tooltip.scss +1 -1
  433. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +4 -0
  434. package/assets/esri/themes/dark/main.css +1 -1
  435. package/assets/esri/themes/light/main.css +1 -1
  436. package/assets/esri/themes/light/view.css +1 -1
  437. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  438. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  439. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  440. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  441. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  442. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  443. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  444. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  445. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  446. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  447. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  448. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  449. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  450. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  451. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  452. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  453. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  454. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  455. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  456. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  457. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  458. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  459. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  460. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  461. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  462. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  463. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  464. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  465. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  466. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  467. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  468. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  469. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  470. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  471. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  472. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  473. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  474. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  475. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  476. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  477. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  478. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  479. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  480. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  481. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  482. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  483. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  484. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  485. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  486. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  487. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  488. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  489. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  490. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  491. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  492. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  493. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  494. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  495. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  496. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  497. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nb.json +1 -1
  498. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  499. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  500. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  501. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  502. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  503. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  504. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  505. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  506. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  507. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  508. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  509. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  510. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  511. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  512. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  513. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  514. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  515. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  516. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  517. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  518. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  519. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  520. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  521. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  522. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  523. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  524. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  525. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  526. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  527. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  528. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  529. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  530. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  531. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  532. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  533. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  534. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  535. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  536. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nb.json +1 -1
  537. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  538. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  539. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  540. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  541. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  542. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  543. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  544. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  545. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  546. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  547. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  548. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  549. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  550. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  551. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  552. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  553. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  554. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ar.json +1 -1
  555. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_bg.json +1 -1
  556. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_bs.json +1 -1
  557. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ca.json +1 -1
  558. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_cs.json +1 -1
  559. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_da.json +1 -1
  560. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_de.json +1 -1
  561. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_el.json +1 -1
  562. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_es.json +1 -1
  563. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_et.json +1 -1
  564. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_fi.json +1 -1
  565. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_fr.json +1 -1
  566. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_he.json +1 -1
  567. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_hr.json +1 -1
  568. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_hu.json +1 -1
  569. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_id.json +1 -1
  570. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_it.json +1 -1
  571. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ja.json +1 -1
  572. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ko.json +1 -1
  573. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_lt.json +1 -1
  574. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_lv.json +1 -1
  575. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_nb.json +1 -1
  576. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_nl.json +1 -1
  577. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_pl.json +1 -1
  578. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_pt-BR.json +1 -1
  579. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_pt-PT.json +1 -1
  580. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ro.json +1 -1
  581. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_ru.json +1 -1
  582. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_sk.json +1 -1
  583. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_sl.json +1 -1
  584. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_sr.json +1 -1
  585. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_sv.json +1 -1
  586. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_th.json +1 -1
  587. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_tr.json +1 -1
  588. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_uk.json +1 -1
  589. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_vi.json +1 -1
  590. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_zh-CN.json +1 -1
  591. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_zh-HK.json +1 -1
  592. package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_zh-TW.json +1 -1
  593. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ar.json +1 -1
  594. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_bg.json +1 -1
  595. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_bs.json +1 -1
  596. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ca.json +1 -1
  597. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_cs.json +1 -1
  598. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_da.json +1 -1
  599. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_de.json +1 -1
  600. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_el.json +1 -1
  601. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_es.json +1 -1
  602. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_et.json +1 -1
  603. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_fi.json +1 -1
  604. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_fr.json +1 -1
  605. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_he.json +1 -1
  606. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_hr.json +1 -1
  607. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_hu.json +1 -1
  608. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_id.json +1 -1
  609. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_it.json +1 -1
  610. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ja.json +1 -1
  611. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ko.json +1 -1
  612. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_lt.json +1 -1
  613. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_lv.json +1 -1
  614. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_nb.json +1 -1
  615. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_nl.json +1 -1
  616. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_pl.json +1 -1
  617. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_pt-BR.json +1 -1
  618. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_pt-PT.json +1 -1
  619. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ro.json +1 -1
  620. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_ru.json +1 -1
  621. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_sk.json +1 -1
  622. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_sl.json +1 -1
  623. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_sr.json +1 -1
  624. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_sv.json +1 -1
  625. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_th.json +1 -1
  626. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_tr.json +1 -1
  627. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_uk.json +1 -1
  628. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_vi.json +1 -1
  629. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_zh-CN.json +1 -1
  630. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_zh-HK.json +1 -1
  631. package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_zh-TW.json +1 -1
  632. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ar.json +1 -1
  633. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_bg.json +1 -1
  634. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_bs.json +1 -1
  635. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ca.json +1 -1
  636. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_cs.json +1 -1
  637. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_da.json +1 -1
  638. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_de.json +1 -1
  639. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_el.json +1 -1
  640. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_es.json +1 -1
  641. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_et.json +1 -1
  642. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_fi.json +1 -1
  643. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_fr.json +1 -1
  644. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_he.json +1 -1
  645. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_hr.json +1 -1
  646. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_hu.json +1 -1
  647. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_id.json +1 -1
  648. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_it.json +1 -1
  649. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ja.json +1 -1
  650. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ko.json +1 -1
  651. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_lt.json +1 -1
  652. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_lv.json +1 -1
  653. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_nb.json +1 -1
  654. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_nl.json +1 -1
  655. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_pl.json +1 -1
  656. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_pt-BR.json +1 -1
  657. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_pt-PT.json +1 -1
  658. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ro.json +1 -1
  659. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ru.json +1 -1
  660. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sk.json +1 -1
  661. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sl.json +1 -1
  662. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sr.json +1 -1
  663. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sv.json +1 -1
  664. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_th.json +1 -1
  665. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_tr.json +1 -1
  666. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_uk.json +1 -1
  667. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_vi.json +1 -1
  668. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_zh-CN.json +1 -1
  669. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_zh-HK.json +1 -1
  670. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_zh-TW.json +1 -1
  671. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
  672. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
  673. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
  674. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
  675. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  676. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
  677. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
  678. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  679. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
  680. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
  681. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
  682. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  683. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
  684. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
  685. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
  686. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
  687. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
  688. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
  689. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
  690. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
  691. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  692. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nb.json +1 -1
  693. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
  694. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
  695. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
  696. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
  697. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
  698. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
  699. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
  700. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
  701. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
  702. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
  703. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
  704. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
  705. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
  706. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
  707. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
  708. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
  709. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
  710. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ar.json +1 -1
  711. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bg.json +1 -1
  712. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bs.json +1 -1
  713. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ca.json +1 -1
  714. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_cs.json +1 -1
  715. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_da.json +1 -1
  716. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_de.json +1 -1
  717. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_el.json +1 -1
  718. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_es.json +1 -1
  719. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_et.json +1 -1
  720. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fi.json +1 -1
  721. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fr.json +1 -1
  722. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_he.json +1 -1
  723. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hr.json +1 -1
  724. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hu.json +1 -1
  725. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_id.json +1 -1
  726. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_it.json +1 -1
  727. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ja.json +1 -1
  728. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ko.json +1 -1
  729. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lt.json +1 -1
  730. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lv.json +1 -1
  731. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nb.json +1 -1
  732. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nl.json +1 -1
  733. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pl.json +1 -1
  734. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-BR.json +1 -1
  735. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-PT.json +1 -1
  736. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ro.json +1 -1
  737. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ru.json +1 -1
  738. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sk.json +1 -1
  739. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sl.json +1 -1
  740. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sr.json +1 -1
  741. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sv.json +1 -1
  742. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_th.json +1 -1
  743. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_tr.json +1 -1
  744. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_uk.json +1 -1
  745. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_vi.json +1 -1
  746. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-CN.json +1 -1
  747. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-HK.json +1 -1
  748. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-TW.json +1 -1
  749. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ar.json +1 -1
  750. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_bg.json +1 -1
  751. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_bs.json +1 -1
  752. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ca.json +1 -1
  753. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_cs.json +1 -1
  754. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_da.json +1 -1
  755. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_de.json +1 -1
  756. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_el.json +1 -1
  757. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_es.json +1 -1
  758. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_et.json +1 -1
  759. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_fi.json +1 -1
  760. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_fr.json +1 -1
  761. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_he.json +1 -1
  762. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_hr.json +1 -1
  763. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_hu.json +1 -1
  764. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_id.json +1 -1
  765. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_it.json +1 -1
  766. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ja.json +1 -1
  767. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ko.json +1 -1
  768. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_lt.json +1 -1
  769. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_lv.json +1 -1
  770. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_nb.json +1 -1
  771. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_nl.json +1 -1
  772. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_pl.json +1 -1
  773. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_pt-BR.json +1 -1
  774. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_pt-PT.json +1 -1
  775. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ro.json +1 -1
  776. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_ru.json +1 -1
  777. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_sk.json +1 -1
  778. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_sl.json +1 -1
  779. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_sr.json +1 -1
  780. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_sv.json +1 -1
  781. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_th.json +1 -1
  782. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_tr.json +1 -1
  783. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_uk.json +1 -1
  784. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_vi.json +1 -1
  785. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_zh-CN.json +1 -1
  786. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_zh-HK.json +1 -1
  787. package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_zh-TW.json +1 -1
  788. package/chunks/ComponentShader.glsl.js +27 -27
  789. package/chunks/HighlightApply.glsl.js +6 -7
  790. package/chunks/HighlightBlur.glsl.js +5 -6
  791. package/chunks/HighlightDownsample.glsl.js +8 -8
  792. package/chunks/languageUtils.js +1 -1
  793. package/core/MemCache.js +1 -1
  794. package/core/MemCachePool.js +1 -1
  795. package/core/colorUtils.js +1 -1
  796. package/core/sql/WhereClauseCache.js +1 -1
  797. package/geometry/GeometryCursor.js +1 -1
  798. package/geometry/support/meshUtils/loadExternal.js +1 -1
  799. package/interfaces.d.ts +320 -46
  800. package/intl/date.js +1 -1
  801. package/kernel.js +1 -1
  802. package/layers/GroupLayer.js +1 -1
  803. package/layers/MapNotesLayer.js +1 -1
  804. package/layers/SceneLayer.js +1 -1
  805. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  806. package/layers/graphics/data/AttributesBuilder.js +1 -1
  807. package/layers/graphics/data/FeatureStore.js +1 -1
  808. package/layers/graphics/data/QueryEngine.js +1 -1
  809. package/layers/graphics/data/QueryEngineResult.js +1 -1
  810. package/layers/graphics/data/attributeSupport.js +1 -1
  811. package/layers/graphics/data/geometryUtils.js +5 -0
  812. package/layers/graphics/data/queryUtils.js +5 -0
  813. package/layers/graphics/data/queryValidationUtils.js +5 -0
  814. package/layers/graphics/data/spatialQuerySupport.js +1 -1
  815. package/layers/graphics/editingSupport.js +1 -1
  816. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  817. package/layers/graphics/sources/csv/csv.js +1 -1
  818. package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
  819. package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
  820. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  821. package/layers/ogc/wfsUtils.js +1 -1
  822. package/layers/support/Field.js +1 -1
  823. package/layers/support/FieldsIndex.js +1 -1
  824. package/layers/support/LayerContingentValuesCache.js +1 -1
  825. package/layers/support/fieldProperties.js +1 -1
  826. package/layers/support/fieldUtils.js +1 -1
  827. package/layers/support/imageryRendererUtils.js +1 -1
  828. package/layers/support/labelFormatUtils.js +1 -1
  829. package/layers/support/rasterFormats/Lerc.js +1 -1
  830. package/layers/support/rasterFormats/RasterCodec.js +1 -1
  831. package/layers/support/rasterFormats/pixelRangeUtils.js +1 -1
  832. package/package.json +2 -2
  833. package/renderers/UniqueValueRenderer.js +1 -1
  834. package/renderers/support/utils.js +1 -1
  835. package/rest/featureService/FeatureService.js +1 -1
  836. package/rest/query/operations/query.js +1 -1
  837. package/smartMapping/labels/clusters.js +1 -1
  838. package/smartMapping/popup/support/clusterUtils.js +1 -1
  839. package/smartMapping/renderers/color.js +1 -1
  840. package/smartMapping/renderers/opacity.js +1 -1
  841. package/smartMapping/renderers/size.js +1 -1
  842. package/smartMapping/renderers/support/utils.js +1 -1
  843. package/smartMapping/renderers/type.js +1 -1
  844. package/smartMapping/renderers/univariateColorSize.js +1 -1
  845. package/smartMapping/statistics/histogram.js +1 -1
  846. package/smartMapping/statistics/summaryStatistics.js +1 -1
  847. package/smartMapping/statistics/support/statsWorker.js +1 -1
  848. package/smartMapping/statistics/support/utils.js +1 -1
  849. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  850. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  851. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  852. package/smartMapping/support/adapters/OGCFeatureLayerAdapter.js +1 -1
  853. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  854. package/smartMapping/support/adapters/StreamLayerAdapter.js +1 -1
  855. package/smartMapping/support/adapters/support/utils.js +1 -1
  856. package/smartMapping/support/clusterUtils.js +1 -1
  857. package/smartMapping/support/utils.js +1 -1
  858. package/support/revision.js +1 -1
  859. package/symbols/cim/CIMSymbolHelper.js +1 -1
  860. package/symbols/cim/effects/EffectDashes.js +1 -1
  861. package/symbols/support/previewCIMSymbol.js +1 -1
  862. package/time/timeZoneUtils.js +1 -1
  863. package/versionManagement/VersionManagementService.js +1 -1
  864. package/views/2d/engine/BitmapContainer.js +1 -1
  865. package/views/2d/engine/BitmapTile.js +1 -1
  866. package/views/2d/engine/Container.js +1 -1
  867. package/views/2d/engine/DisplayObject.js +1 -1
  868. package/views/2d/engine/FeatureContainer.js +1 -1
  869. package/views/2d/engine/Stage.js +1 -1
  870. package/views/2d/engine/flow/FlowContainer.js +1 -1
  871. package/views/2d/engine/imagery/RasterVFContainer.js +1 -1
  872. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  873. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  874. package/views/2d/engine/webgl/Painter.js +1 -1
  875. package/views/2d/engine/webgl/TileContainer.js +1 -1
  876. package/views/2d/engine/webgl/WGLContainer.js +1 -1
  877. package/views/2d/input/handlers/KeyPan.js +1 -1
  878. package/views/2d/layers/GroupLayerView2D.js +1 -1
  879. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  880. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  881. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  882. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  883. package/views/2d/layers/features/support/FeatureFilter.js +1 -1
  884. package/views/2d/viewpointUtils.js +1 -1
  885. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  886. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  887. package/views/3d/glTF/internal/Resource.js +1 -1
  888. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  889. package/views/3d/layers/I3SMeshView3D.js +1 -1
  890. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  891. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  892. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  893. package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
  894. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  895. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  896. package/views/3d/terrain/PlanarPatch.js +1 -1
  897. package/views/3d/terrain/SphericalPatch.js +1 -1
  898. package/views/3d/terrain/TerrainSurface.js +1 -1
  899. package/views/3d/terrain/Tile.js +1 -1
  900. package/views/3d/terrain/TileRenderer.js +1 -1
  901. package/views/3d/terrain/TileTexture.js +1 -1
  902. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  903. package/views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardByOpacity.glsl.js +1 -1
  904. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  905. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +54 -33
  906. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +1 -2
  907. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +1 -1
  908. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  909. package/views/3d/webgl-engine/effects/highlight/HighlightPassParameters.js +1 -1
  910. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  911. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  912. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  913. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  914. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  915. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  916. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  917. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  918. package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +1 -1
  919. package/views/3d/webgl-engine/shaders/HighlightBlur.glsl.js +1 -1
  920. package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +1 -1
  921. package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
  922. package/views/DOMContainer.js +1 -1
  923. package/views/interactive/SegmentLabels.js +1 -1
  924. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  925. package/views/overlay/TextOverlayItem.js +1 -1
  926. package/views/webgl/VertexArrayObject.js +1 -1
  927. package/webdoc/webdocLoadUtils.js +1 -1
  928. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  929. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  930. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  931. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  932. package/widgets/Editor/EditorViewModel.js +1 -1
  933. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  934. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  935. package/widgets/Editor/UpdateWorkflow.js +1 -1
  936. package/widgets/Editor/workflowUtils.js +1 -1
  937. package/widgets/Editor.js +1 -1
  938. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  939. package/widgets/Feature/FeatureViewModel.js +1 -1
  940. package/widgets/Feature/support/featureUtils.js +1 -1
  941. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  942. package/widgets/FeatureForm/FieldInput.js +1 -1
  943. package/widgets/FeatureForm/InputBase.js +1 -1
  944. package/widgets/FeatureForm/RelationshipInput.js +1 -1
  945. package/widgets/FeatureForm/css.js +1 -1
  946. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  947. package/widgets/FeatureForm.js +1 -1
  948. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  949. package/widgets/FeatureTable/FieldColumn.js +1 -1
  950. package/widgets/Features/FeaturesViewModel.js +1 -1
  951. package/widgets/Features/css.js +1 -1
  952. package/widgets/Features.js +1 -1
  953. package/widgets/Legend/LegendViewModel.js +1 -1
  954. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  955. package/widgets/Legend/support/utils.js +1 -1
  956. package/widgets/LineOfSight.js +1 -1
  957. package/widgets/OrientedImageryViewer.d.ts +4 -0
  958. package/widgets/Popup/actionUtils.js +1 -1
  959. package/widgets/ScaleRangeSlider.js +1 -1
  960. package/widgets/TimeZoneLabel/TimeZoneLabelViewModel.js +5 -0
  961. package/widgets/TimeZoneLabel/css.js +5 -0
  962. package/widgets/TimeZoneLabel.d.ts +4 -0
  963. package/widgets/TimeZoneLabel.js +5 -0
  964. package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  965. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  966. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  967. package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
  968. package/widgets/UtilityNetworkTrace.js +1 -1
  969. package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
  970. package/widgets/support/SnappingControls/SnappingControlsViewModel.js +1 -1
  971. package/assets/esri/core/workers/chunks/02120d192eafd7612475.js +0 -1
  972. package/assets/esri/core/workers/chunks/089e59445bd0b1131ffb.js +0 -1
  973. package/assets/esri/core/workers/chunks/0b539dacc5c72399ab32.js +0 -1
  974. package/assets/esri/core/workers/chunks/0bb57b54897fb4381b46.js +0 -1
  975. package/assets/esri/core/workers/chunks/0beebbb0c6dad0e742d7.js +0 -1
  976. package/assets/esri/core/workers/chunks/0d77c9c97301a4ee4167.js +0 -1
  977. package/assets/esri/core/workers/chunks/0d8ca51043c7784aed96.js +0 -1
  978. package/assets/esri/core/workers/chunks/112e89da628bdea5355c.js +0 -1
  979. package/assets/esri/core/workers/chunks/121a9e148509f2fe2210.js +0 -1
  980. package/assets/esri/core/workers/chunks/1586929658af88f6f961.js +0 -1
  981. package/assets/esri/core/workers/chunks/1856d16d738f44f58084.js +0 -1
  982. package/assets/esri/core/workers/chunks/1a36703ebe934749646e.js +0 -1
  983. package/assets/esri/core/workers/chunks/24a0cf405195421c0d06.js +0 -1
  984. package/assets/esri/core/workers/chunks/24c504585da8e44f956f.js +0 -1
  985. package/assets/esri/core/workers/chunks/24ff267cf253feac22de.js +0 -1
  986. package/assets/esri/core/workers/chunks/2561c2bd5a0826dedcb1.js +0 -1
  987. package/assets/esri/core/workers/chunks/2832161454babb40614b.js +0 -1
  988. package/assets/esri/core/workers/chunks/29cab345819ec02ed60a.js +0 -1
  989. package/assets/esri/core/workers/chunks/2f8e71dac98135bbc3e6.js +0 -1
  990. package/assets/esri/core/workers/chunks/36ab90fb34b9716a9983.js +0 -1
  991. package/assets/esri/core/workers/chunks/3e40c8402ff7a8fe48b9.js +0 -1
  992. package/assets/esri/core/workers/chunks/3ea0b872436fce84b927.js +0 -1
  993. package/assets/esri/core/workers/chunks/40633064c290dc2af9ea.js +0 -1
  994. package/assets/esri/core/workers/chunks/4108445c4a653772c5ee.js +0 -1
  995. package/assets/esri/core/workers/chunks/42ec4c80b0c2944cd65c.js +0 -1
  996. package/assets/esri/core/workers/chunks/432a009e756643f59cb4.js +0 -1
  997. package/assets/esri/core/workers/chunks/44a3d01b7daa46584ed9.js +0 -1
  998. package/assets/esri/core/workers/chunks/44b870cb53ba68b17c32.js +0 -1
  999. package/assets/esri/core/workers/chunks/4736188659a62488c777.js +0 -1
  1000. package/assets/esri/core/workers/chunks/4763831c8815fed636f7.js +0 -1
  1001. package/assets/esri/core/workers/chunks/4d81aa50d90f5701a343.js +0 -1
  1002. package/assets/esri/core/workers/chunks/4e6bf1efe3b0b474cbb4.js +0 -1
  1003. package/assets/esri/core/workers/chunks/526ae87737777154c3f3.js +0 -1
  1004. package/assets/esri/core/workers/chunks/52cef7cd3aaaa4f45c94.js +0 -1
  1005. package/assets/esri/core/workers/chunks/53859d0bd8bb14af2d4d.js +0 -1
  1006. package/assets/esri/core/workers/chunks/593d7f17090b74945345.js +0 -1
  1007. package/assets/esri/core/workers/chunks/5a3ccc0a19ac8fa9e524.js +0 -1
  1008. package/assets/esri/core/workers/chunks/5baae5acd184e87d5dc4.js +0 -1
  1009. package/assets/esri/core/workers/chunks/5bdd2a3422fe52aa2c65.js +0 -1
  1010. package/assets/esri/core/workers/chunks/66ba749ab0a631bbfdec.js +0 -1
  1011. package/assets/esri/core/workers/chunks/69da907a92901f0fb391.js +0 -1
  1012. package/assets/esri/core/workers/chunks/6b14d89d689a21014aec.js +0 -1
  1013. package/assets/esri/core/workers/chunks/6b1856303d1562f05100.js +0 -1
  1014. package/assets/esri/core/workers/chunks/6b7b5544ed1f9a84623f.js +0 -1
  1015. package/assets/esri/core/workers/chunks/6ce986f4213df8a2d934.js +0 -1
  1016. package/assets/esri/core/workers/chunks/784ffd52315a4d55d683.js +0 -1
  1017. package/assets/esri/core/workers/chunks/785d9a9a933314551b10.js +0 -1
  1018. package/assets/esri/core/workers/chunks/84870178173951ad6c2b.js +0 -1
  1019. package/assets/esri/core/workers/chunks/88d43db03cc11cbffa68.js +0 -1
  1020. package/assets/esri/core/workers/chunks/8e4c4ba900a90373217f.js +0 -1
  1021. package/assets/esri/core/workers/chunks/8f3680fee85a05839489.js +0 -1
  1022. package/assets/esri/core/workers/chunks/902b672a3475ec83b58b.js +0 -1
  1023. package/assets/esri/core/workers/chunks/943ea851c1b07af91172.js +0 -1
  1024. package/assets/esri/core/workers/chunks/97aecf210938015cc7a3.js +0 -1
  1025. package/assets/esri/core/workers/chunks/9a5e3b0cc8536f79c377.js +0 -1
  1026. package/assets/esri/core/workers/chunks/9f8207c82a17508a87a8.js +0 -1
  1027. package/assets/esri/core/workers/chunks/a01ffe03b1465c21b9e6.js +0 -1
  1028. package/assets/esri/core/workers/chunks/a298c9031962951e55a9.js +0 -1
  1029. package/assets/esri/core/workers/chunks/a5a7bbdd8298016535bc.js +0 -1
  1030. package/assets/esri/core/workers/chunks/aa453ae526a233cedf0c.js +0 -1
  1031. package/assets/esri/core/workers/chunks/ab5ffcf0db724d40f714.js +0 -1
  1032. package/assets/esri/core/workers/chunks/ad38e456a7cee940a165.js +0 -1
  1033. package/assets/esri/core/workers/chunks/adfbc168be8c49b51e1b.js +0 -1
  1034. package/assets/esri/core/workers/chunks/ae3ea5fa813aec0db5e1.js +0 -1
  1035. package/assets/esri/core/workers/chunks/ae59e10b225f08f38487.js +0 -1
  1036. package/assets/esri/core/workers/chunks/b030cf4b00e42337dc89.js +0 -1
  1037. package/assets/esri/core/workers/chunks/b0526633a93ef69ec47b.js +0 -1
  1038. package/assets/esri/core/workers/chunks/b0d6e6e489aaa331861c.js +0 -1
  1039. package/assets/esri/core/workers/chunks/b0ddb503463328531d8f.js +0 -1
  1040. package/assets/esri/core/workers/chunks/b1a8024bf8cdd0cd3884.js +0 -1
  1041. package/assets/esri/core/workers/chunks/b4f31d291c05b5f8ddac.js +0 -1
  1042. package/assets/esri/core/workers/chunks/b99bc08a01e9250b0a31.js +0 -1
  1043. package/assets/esri/core/workers/chunks/be57692d4b9ff6cd4c02.js +0 -1
  1044. package/assets/esri/core/workers/chunks/c260ad3434bb00ba64a7.js +0 -1
  1045. package/assets/esri/core/workers/chunks/c459c8d8630eb4b955b1.js +0 -1
  1046. package/assets/esri/core/workers/chunks/c5acddea13fd01912e79.js +0 -1
  1047. package/assets/esri/core/workers/chunks/c92e75b79aff7b505b31.js +0 -1
  1048. package/assets/esri/core/workers/chunks/ca85e88dad30b5f2956b.js +0 -1
  1049. package/assets/esri/core/workers/chunks/ce3bb546a729f0ccf696.js +0 -1
  1050. package/assets/esri/core/workers/chunks/cfd63bd57eea2caa4bcb.js +0 -1
  1051. package/assets/esri/core/workers/chunks/d60d5f006375f7fcc88c.js +0 -1
  1052. package/assets/esri/core/workers/chunks/d6ded127949160103f69.js +0 -1
  1053. package/assets/esri/core/workers/chunks/d95eed98316e59f8f35d.js +0 -1
  1054. package/assets/esri/core/workers/chunks/dca925a0d73f967f6897.js +0 -1
  1055. package/assets/esri/core/workers/chunks/e0b49c5eb5427656e835.js +0 -1
  1056. package/assets/esri/core/workers/chunks/e52d5a48e83d8df36f92.js +0 -1
  1057. package/assets/esri/core/workers/chunks/e8688b6cc3b3c1010b43.js +0 -1
  1058. package/assets/esri/core/workers/chunks/eb4bfafe821daeb4bb6e.js +0 -1
  1059. package/assets/esri/core/workers/chunks/eda86faa708cfe4c9f9a.js +0 -1
  1060. package/assets/esri/core/workers/chunks/f2718e260f594537f7fd.js +0 -1
  1061. package/assets/esri/core/workers/chunks/f57100e3dfc7f087c3ad.js +0 -1
  1062. package/assets/esri/core/workers/chunks/f5fd2ee5878c63777c51.js +0 -1
  1063. package/assets/esri/core/workers/chunks/f6b7036114b1d754fdd9.js +0 -1
  1064. package/assets/esri/core/workers/chunks/f6c0680c535c5a3c73ee.js +0 -1
  1065. package/layers/graphics/data/utils.js +0 -5
  1066. package/layers/graphics/sources/support/QueryEngineBuildLayer.js +0 -5
  1067. package/views/2d/engine/webgl/GroupContainer.js +0 -5
  1068. package/views/3d/analysis/DimensionAnalysisView3D.d.ts +0 -4
package/intl/date.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{strict as t}from"../core/jsonMap.js";import{beforeLocaleChange as o,getLocale as e}from"./locale.js";import{system as r,unknown as n,utc as a}from"../time/timeZoneUtils.js";import{DateTime as h}from"luxon";const m={year:void 0,month:void 0,day:void 0,weekday:void 0},i={hour:void 0,minute:void 0,second:void 0},s=Intl.DateTimeFormat().resolvedOptions().timeZone,l={timeZone:a},d={year:"numeric",month:"numeric",day:"numeric"},y={year:"numeric",month:"long",day:"numeric"},g={year:"numeric",month:"short",day:"numeric"},u={year:"numeric",month:"long",weekday:"long",day:"numeric"},c={hour:"numeric",minute:"numeric"},D={...c,second:"numeric"},T={"short-date":d,"short-date-short-time":{...d,...c},"short-date-short-time-24":{...d,...c,hour12:!1},"short-date-long-time":{...d,...D},"short-date-long-time-24":{...d,...D,hour12:!1},"short-date-le":d,"short-date-le-short-time":{...d,...c},"short-date-le-short-time-24":{...d,...c,hour12:!1},"short-date-le-long-time":{...d,...D},"short-date-le-long-time-24":{...d,...D,hour12:!1},"long-month-day-year":y,"long-month-day-year-short-time":{...y,...c},"long-month-day-year-short-time-24":{...y,...c,hour12:!1},"long-month-day-year-long-time":{...y,...D},"long-month-day-year-long-time-24":{...y,...D,hour12:!1},"day-short-month-year":g,"day-short-month-year-short-time":{...g,...c},"day-short-month-year-short-time-24":{...g,...c,hour12:!1},"day-short-month-year-long-time":{...g,...D},"day-short-month-year-long-time-24":{...g,...D,hour12:!1},"long-date":u,"long-date-short-time":{...u,...c},"long-date-short-time-24":{...u,...c,hour12:!1},"long-date-long-time":{...u,...D},"long-date-long-time-24":{...u,...D,hour12:!1},"long-month-year":{month:"long",year:"numeric"},"short-month-year":{month:"short",year:"numeric"},year:{year:"numeric"},"short-time":c,"long-time":D},S=t()({shortDate:"short-date",shortDateShortTime:"short-date-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLongTime:"short-date-long-time",shortDateLongTime24:"short-date-long-time-24",shortDateLE:"short-date-le",shortDateLEShortTime:"short-date-le-short-time",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLELongTime:"short-date-le-long-time",shortDateLELongTime24:"short-date-le-long-time-24",longMonthDayYear:"long-month-day-year",longMonthDayYearShortTime:"long-month-day-year-short-time",longMonthDayYearShortTime24:"long-month-day-year-short-time-24",longMonthDayYearLongTime:"long-month-day-year-long-time",longMonthDayYearLongTime24:"long-month-day-year-long-time-24",dayShortMonthYear:"day-short-month-year",dayShortMonthYearShortTime:"day-short-month-year-short-time",dayShortMonthYearShortTime24:"day-short-month-year-short-time-24",dayShortMonthYearLongTime:"day-short-month-year-long-time",dayShortMonthYearLongTime24:"day-short-month-year-long-time-24",longDate:"long-date",longDateShortTime:"long-date-short-time",longDateShortTime24:"long-date-short-time-24",longDateLongTime:"long-date-long-time",longDateLongTime24:"long-date-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year",year:"year"}),L={ar:"ar-u-nu-latn-ca-gregory"};let f=new WeakMap;const M=T["short-date-short-time"];function Y(t){let o=f.get(t);if(!o){const n=e(),a=L[n]||n,h=j(t.timeZone??r),m={...t,timeZone:h};o=new Intl.DateTimeFormat(a,m),f.set(t,o)}return o}function Z(t){return T[t]}function p(t,o=M){return Y(o).format(t)}function v(t,o=M){return p(new Date(t),{...o,...l,...i})}function w(t,o=M){return p(new Date(`1970-01-01T${t}Z`),{...o,...l,...m})}function E(t,o=M){const r=h.fromISO(t,{setZone:!0}),n=e(),a=L[n]??n,m=o.timeZone?j(o.timeZone):o.timeZone,i={...o,timeZone:m};return r.toLocaleString(i,{locale:a})}function j(t){switch(t){case r:return s;case n:return a;default:return t}}o((()=>{f=new WeakMap}));export{Z as convertDateFormatToIntlOptions,S as dateFormatJSONMap,p as formatDate,v as formatDateOnly,w as formatTimeOnly,E as formatTimestamp,Y as getDateTimeFormatter,j as resolveTimeZone};
5
+ import{strict as t}from"../core/jsonMap.js";import{beforeLocaleChange as o,getLocale as e}from"./locale.js";import{system as r,utc as n,unknown as a,systemTimeZone as h,shortTimeZoneName as m}from"../time/timeZoneUtils.js";import{DateTime as i}from"luxon";const s={year:void 0,month:void 0,day:void 0,weekday:void 0},l={hour:void 0,minute:void 0,second:void 0},d={timeZone:n},y={year:"numeric",month:"numeric",day:"numeric"},g={year:"numeric",month:"long",day:"numeric"},u={year:"numeric",month:"short",day:"numeric"},c={year:"numeric",month:"long",weekday:"long",day:"numeric"},D={hour:"numeric",minute:"numeric"},T={...D,second:"numeric"},f={"short-date":y,"short-date-short-time":{...y,...D},"short-date-short-time-24":{...y,...D,hour12:!1},"short-date-long-time":{...y,...T},"short-date-long-time-24":{...y,...T,hour12:!1},"short-date-le":y,"short-date-le-short-time":{...y,...D},"short-date-le-short-time-24":{...y,...D,hour12:!1},"short-date-le-long-time":{...y,...T},"short-date-le-long-time-24":{...y,...T,hour12:!1},"long-month-day-year":g,"long-month-day-year-short-time":{...g,...D},"long-month-day-year-short-time-24":{...g,...D,hour12:!1},"long-month-day-year-long-time":{...g,...T},"long-month-day-year-long-time-24":{...g,...T,hour12:!1},"day-short-month-year":u,"day-short-month-year-short-time":{...u,...D},"day-short-month-year-short-time-24":{...u,...D,hour12:!1},"day-short-month-year-long-time":{...u,...T},"day-short-month-year-long-time-24":{...u,...T,hour12:!1},"long-date":c,"long-date-short-time":{...c,...D},"long-date-short-time-24":{...c,...D,hour12:!1},"long-date-long-time":{...c,...T},"long-date-long-time-24":{...c,...T,hour12:!1},"long-month-year":{month:"long",year:"numeric"},"short-month-year":{month:"short",year:"numeric"},year:{year:"numeric"},"short-time":D,"long-time":T},S=t()({shortDate:"short-date",shortDateShortTime:"short-date-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLongTime:"short-date-long-time",shortDateLongTime24:"short-date-long-time-24",shortDateLE:"short-date-le",shortDateLEShortTime:"short-date-le-short-time",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLELongTime:"short-date-le-long-time",shortDateLELongTime24:"short-date-le-long-time-24",longMonthDayYear:"long-month-day-year",longMonthDayYearShortTime:"long-month-day-year-short-time",longMonthDayYearShortTime24:"long-month-day-year-short-time-24",longMonthDayYearLongTime:"long-month-day-year-long-time",longMonthDayYearLongTime24:"long-month-day-year-long-time-24",dayShortMonthYear:"day-short-month-year",dayShortMonthYearShortTime:"day-short-month-year-short-time",dayShortMonthYearShortTime24:"day-short-month-year-short-time-24",dayShortMonthYearLongTime:"day-short-month-year-long-time",dayShortMonthYearLongTime24:"day-short-month-year-long-time-24",longDate:"long-date",longDateShortTime:"long-date-short-time",longDateShortTime24:"long-date-short-time-24",longDateLongTime:"long-date-long-time",longDateLongTime24:"long-date-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year",year:"year"}),L={ar:"ar-u-nu-latn-ca-gregory"};let M=new WeakMap;const Y=f["short-date-short-time"];function Z(t){let o=M.get(t);if(!o){const n=e(),a=L[n]||n,h=k(t.timeZone??r),m={...t,timeZone:h};o=new Intl.DateTimeFormat(a,m),M.set(t,o)}return o}function w(t){return f[t]}function p(t,o=Y){return Z(o).format(t)}function v(t,o=Y){return p(new Date(t),{...o,...d,...l})}function E(t,o=Y){return p(new Date(`1970-01-01T${t}Z`),{...o,...d,...s})}function j(t,o=Y){if(o.timeZone)return p(new Date(t),o);const r=i.fromISO(t,{setZone:!0}),a=e(),h=L[a]??a,m=0===r.offset?n:o.timeZone,s={...o,timeZone:m};return r.toLocaleString(s,{locale:h})}function k(t){switch(t){case r:return h;case a:return n;default:return t}}function I(t,o){const r=e(),n=L[r]??r;return new Intl.DateTimeFormat(n,o).formatToParts(t)}function x(t,o=new Date){return I(o,{timeZone:t,timeZoneName:m}).find((({type:t})=>"timeZoneName"===t))?.value}o((()=>{M=new WeakMap}));export{w as convertDateFormatToIntlOptions,S as dateFormatJSONMap,p as formatDate,v as formatDateOnly,E as formatTimeOnly,j as formatTimestamp,Z as getDateTimeFormatter,x as getShortOffsetTimeZoneSuffix,k as resolveTimeZone};
package/kernel.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";import{buildDate as s,commitHash as r}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="4.28";let t,i=e;i="4.28.0-rc.0";function n(o){t=o}function m(s){const r=t?.findCredential(s);return r?.token?o(s,"token",r.token):s}has("host-webworker");export{m as addTokenParameter,s as buildDate,i as fullVersion,t as id,r as revision,n as setId,e as version};
5
+ import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";import{buildDate as s,commitHash as r}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="4.28";let t,i=e;i="4.28.0-rc.2";function n(o){t=o}function m(s){const r=t?.findCredential(s);return r?.token?o(s,"token",r.token):s}has("host-webworker");export{m as addTokenParameter,s as buildDate,i as fullVersion,t as id,r as revision,n as setId,e as version};
@@ -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 i from"../core/CollectionFlattener.js";import{loadAll as r}from"../core/loadAll.js";import t from"../core/Logger.js";import{MultiOriginJSONMixin as s}from"../core/MultiOriginJSONSupport.js";import{debounce as o,throwIfAbortError as a}from"../core/promiseUtils.js";import{watch as l,syncAndInitial as p,on as n,sync as d}from"../core/reactiveUtils.js";import{property as y}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{getProperties as c}from"../core/accessorSupport/utils.js";import{reader as h}from"../core/accessorSupport/decorators/reader.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{writer as u}from"../core/accessorSupport/decorators/writer.js";import{OriginId as b}from"../core/accessorSupport/PropertyOrigin.js";import v from"./Layer.js";import{BlendLayer as f}from"./mixins/BlendLayer.js";import{OperationalLayer as j}from"./mixins/OperationalLayer.js";import{PortalLayer as w}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as L}from"./mixins/ScaleRangeLayer.js";import{layerLookupMap as g}from"./support/lazyLayerLoader.js";import S from"../portal/PortalItem.js";import{createFlattenedTablesCollection as _}from"../support/collectionUtils.js";import{LayersMixin as O}from"../support/LayersMixin.js";import{TablesMixin as I}from"../support/TablesMixin.js";import{WebSceneTag as M}from"../support/tagSymbols.js";import{SaveOperationType as x}from"../webdoc/interfaces.js";import{beforeSave as A}from"../webdoc/support/saveUtils.js";import{getLayerJSON as V}from"../webdoc/support/writeUtils.js";let P=class extends(f(L(j(w(I(O(s(v)))))))){constructor(e){super(e),this.allLayers=new i({getCollections:()=>[this.layers],getChildrenFunction:e=>"layers"in e?e.layers:null}),this.allTables=_(this),this.fullExtent=void 0,this.operationalLayerType="GroupLayer",this.spatialReference=void 0,this.type="group",this._debouncedSaveOperations=o((async(e,i,r)=>{const{save:t,saveAs:s}=await import("./save/groupLayerUtils.js");switch(e){case x.SAVE:return t(this,i);case x.SAVE_AS:return s(this,r,i)}}))}initialize(){this._enforceVisibility(this.visibilityMode,this.visible),this.addHandles([l((()=>{let e=this.parent;for(;e&&"parent"in e&&e.parent;)e=e.parent;return e&&M in e}),(e=>{const i="prevent-adding-tables";this.removeHandles(i),e&&(this.tables.removeAll(),this.addHandles(n((()=>this.tables),"before-add",(e=>{e.preventDefault(),t.getLogger(this).errorOnce("tables","tables in group layers in a webscene are not supported. Please move the tables from the group layer to the webscene if you want to persist them.")})),i))}),p),l((()=>this.visible),this._onVisibilityChange.bind(this),d)])}destroy(){this.allLayers.destroy(),this.allTables.destroy()}_writeLayers(e,i,r,t){const s=[];if(!e)return s;e.forEach((e=>{const i=V(e,t.webmap?t.webmap.getLayerJSONFromResourceInfo(e):null,t);i?.layerType&&s.push(i)})),i.layers=s}set portalItem(e){this._set("portalItem",e)}readPortalItem(e,i,r){const{itemId:t,layerType:s}=i;if("GroupLayer"===s&&t)return new S({id:t,portal:r?.portal})}writePortalItem(e,i){e?.id&&(i.itemId=e.id)}set visibilityMode(e){const i=this._get("visibilityMode")!==e;this._set("visibilityMode",e),i&&this._enforceVisibility(e,this.visible)}async beforeSave(){return A(this)}load(e){const i=this.loadFromPortal({supportedTypes:["Feature Service","Feature Collection","Group Layer","Scene Service"],layerModuleTypeMap:g},e).catch((e=>{if(a(e),this.originIdOf("portalItem")===b.USER)throw e}));return this.addResolvingPromise(i),Promise.resolve(this)}async loadAll(){return r(this,(e=>{e(this.layers,this.tables)}))}layerAdded(e){e.visible&&"exclusive"===this.visibilityMode?this._turnOffOtherLayers(e):"inherited"===this.visibilityMode&&(e.visible=this.visible),this.hasHandles(e.uid)?console.error(`Layer readded to Grouplayer: uid=${e.uid}`):this.addHandles(l((()=>e.visible),(i=>this._onChildVisibilityChange(e,i)),d),e.uid)}layerRemoved(e){this.removeHandles(e.uid),this._enforceVisibility(this.visibilityMode,this.visible)}async save(e){return this._debouncedSaveOperations(x.SAVE,e)}async saveAs(e,i){return this._debouncedSaveOperations(x.SAVE_AS,i,e)}_turnOffOtherLayers(e){this.layers.forEach((i=>{i!==e&&(i.visible=!1)}))}_enforceVisibility(e,i){if(!c(this).initialized)return;const r=this.layers;let t=r.find((e=>e.visible));switch(e){case"exclusive":r.length&&!t&&(t=r.at(0),t.visible=!0),this._turnOffOtherLayers(t);break;case"inherited":r.forEach((e=>{e.visible=i}))}}_onVisibilityChange(e){"inherited"===this.visibilityMode&&this.layers.forEach((i=>{i.visible=e}))}_onChildVisibilityChange(e,i){switch(this.visibilityMode){case"exclusive":i?this._turnOffOtherLayers(e):this._isAnyLayerVisible()||(e.visible=!0);break;case"inherited":e.visible=this.visible}}_isAnyLayerVisible(){return this.layers.some((e=>e.visible))}};e([y({readOnly:!0,dependsOn:[]})],P.prototype,"allLayers",void 0),e([y({readOnly:!0})],P.prototype,"allTables",void 0),e([y()],P.prototype,"fullExtent",void 0),e([y({json:{read:!0,write:!0}})],P.prototype,"blendMode",void 0),e([y({json:{read:!1,write:{ignoreOrigin:!0}}})],P.prototype,"layers",void 0),e([u("layers")],P.prototype,"_writeLayers",null),e([y({type:["GroupLayer"]})],P.prototype,"operationalLayerType",void 0),e([y({json:{origins:{"web-map":{read:!1,write:{overridePolicy:e=>({enabled:"Group Layer"===e?.type})}},"web-scene":{read:!1,write:!1}}}})],P.prototype,"portalItem",null),e([h("web-map","portalItem",["itemId"])],P.prototype,"readPortalItem",null),e([u("web-map","portalItem",{itemId:{type:String}})],P.prototype,"writePortalItem",null),e([y()],P.prototype,"spatialReference",void 0),e([y({json:{read:!1},readOnly:!0,value:"group"})],P.prototype,"type",void 0),e([y({type:["independent","inherited","exclusive"],value:"independent",json:{write:!0,origins:{"web-map":{type:["independent","exclusive"],write:(e,i,r)=>{"inherited"!==e&&(i[r]=e)}}}}})],P.prototype,"visibilityMode",null),P=e([m("esri.layers.GroupLayer")],P);const E=P;export{E as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import i from"../core/CollectionFlattener.js";import{loadAll as r}from"../core/loadAll.js";import t from"../core/Logger.js";import{MultiOriginJSONMixin as s}from"../core/MultiOriginJSONSupport.js";import{debounce as o,throwIfAbortError as a}from"../core/promiseUtils.js";import{watch as l,syncAndInitial as p,on as n,sync as d}from"../core/reactiveUtils.js";import{property as y}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{getProperties as c}from"../core/accessorSupport/utils.js";import{reader as h}from"../core/accessorSupport/decorators/reader.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{writer as u}from"../core/accessorSupport/decorators/writer.js";import{OriginId as b}from"../core/accessorSupport/PropertyOrigin.js";import v from"./Layer.js";import{BlendLayer as f}from"./mixins/BlendLayer.js";import{OperationalLayer as j}from"./mixins/OperationalLayer.js";import{PortalLayer as w}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as L}from"./mixins/ScaleRangeLayer.js";import{layerLookupMap as g}from"./support/lazyLayerLoader.js";import S from"../portal/PortalItem.js";import{createFlattenedTablesCollection as _}from"../support/collectionUtils.js";import{LayersMixin as O}from"../support/LayersMixin.js";import{TablesMixin as I}from"../support/TablesMixin.js";import{WebSceneTag as M}from"../support/tagSymbols.js";import{SaveOperationType as x}from"../webdoc/interfaces.js";import{beforeSave as A}from"../webdoc/support/saveUtils.js";import{getLayerJSON as V}from"../webdoc/support/writeUtils.js";let P=class extends(f(L(j(w(I(O(s(v)))))))){constructor(e){super(e),this.allLayers=new i({getCollections:()=>[this.layers],getChildrenFunction:e=>"layers"in e?e.layers:null}),this.allTables=_(this),this.fullExtent=void 0,this.operationalLayerType="GroupLayer",this.spatialReference=void 0,this.type="group",this._debouncedSaveOperations=o((async(e,i,r)=>{const{save:t,saveAs:s}=await import("./save/groupLayerUtils.js");switch(e){case x.SAVE:return t(this,i);case x.SAVE_AS:return s(this,r,i)}}))}initialize(){this._enforceVisibility(this.visibilityMode,this.visible),this.addHandles([l((()=>{let e=this.parent;for(;e&&"parent"in e&&e.parent;)e=e.parent;return e&&M in e}),(e=>{const i="prevent-adding-tables";this.removeHandles(i),e&&(this.tables.removeAll(),this.addHandles(n((()=>this.tables),"before-add",(e=>{e.preventDefault(),t.getLogger(this).errorOnce("tables","tables in group layers in a webscene are not supported. Please move the tables from the group layer to the webscene if you want to persist them.")})),i))}),p),l((()=>this.visible),this._onVisibilityChange.bind(this),d)])}destroy(){this.allLayers.destroy(),this.allTables.destroy()}_writeLayers(e,i,r,t){const s=[];if(!e)return s;e.forEach((e=>{const i=V(e,t.webmap?t.webmap.getLayerJSONFromResourceInfo(e):null,t);i?.layerType&&s.push(i)})),i.layers=s}set portalItem(e){this._set("portalItem",e)}readPortalItem(e,i,r){const{itemId:t,layerType:s}=i;if("GroupLayer"===s&&t)return new S({id:t,portal:r?.portal})}writePortalItem(e,i){e?.id&&(i.itemId=e.id)}set visibilityMode(e){const i=this._get("visibilityMode")!==e;this._set("visibilityMode",e),i&&this._enforceVisibility(e,this.visible)}async beforeSave(){return A(this)}load(e){const i=this.loadFromPortal({supportedTypes:["Feature Service","Feature Collection","Group Layer","Scene Service"],layerModuleTypeMap:g},e).catch((e=>{if(a(e),this.originIdOf("portalItem")===b.USER)throw e}));return this.addResolvingPromise(i),Promise.resolve(this)}async loadAll(){return r(this,(e=>{e(this.layers,this.tables)}))}async save(e){return this._debouncedSaveOperations(x.SAVE,e)}async saveAs(e,i){return this._debouncedSaveOperations(x.SAVE_AS,i,e)}layerAdded(e){e.visible&&"exclusive"===this.visibilityMode?this._turnOffOtherLayers(e):"inherited"===this.visibilityMode&&(e.visible=this.visible),this.hasHandles(e.uid)?console.error(`Layer readded to Grouplayer: uid=${e.uid}`):this.addHandles(l((()=>e.visible),(i=>this._onChildVisibilityChange(e,i)),d),e.uid)}layerRemoved(e){this.removeHandles(e.uid),this._enforceVisibility(this.visibilityMode,this.visible)}_turnOffOtherLayers(e){this.layers.forEach((i=>{i!==e&&(i.visible=!1)}))}_enforceVisibility(e,i){if(!c(this).initialized)return;const r=this.layers;let t=r.find((e=>e.visible));switch(e){case"exclusive":r.length&&!t&&(t=r.at(0),t.visible=!0),this._turnOffOtherLayers(t);break;case"inherited":r.forEach((e=>{e.visible=i}))}}_onVisibilityChange(e){"inherited"===this.visibilityMode&&this.layers.forEach((i=>{i.visible=e}))}_onChildVisibilityChange(e,i){switch(this.visibilityMode){case"exclusive":i?this._turnOffOtherLayers(e):this._isAnyLayerVisible()||(e.visible=!0);break;case"inherited":e.visible=this.visible}}_isAnyLayerVisible(){return this.layers.some((e=>e.visible))}};e([y({readOnly:!0,dependsOn:[]})],P.prototype,"allLayers",void 0),e([y({readOnly:!0})],P.prototype,"allTables",void 0),e([y()],P.prototype,"fullExtent",void 0),e([y({json:{read:!0,write:!0}})],P.prototype,"blendMode",void 0),e([y({json:{read:!1,write:{ignoreOrigin:!0}}})],P.prototype,"layers",void 0),e([u("layers")],P.prototype,"_writeLayers",null),e([y({type:["GroupLayer"]})],P.prototype,"operationalLayerType",void 0),e([y({json:{origins:{"web-map":{read:!1,write:{overridePolicy:e=>({enabled:"Group Layer"===e?.type})}},"web-scene":{read:!1,write:!1}}}})],P.prototype,"portalItem",null),e([h("web-map","portalItem",["itemId"])],P.prototype,"readPortalItem",null),e([u("web-map","portalItem",{itemId:{type:String}})],P.prototype,"writePortalItem",null),e([y()],P.prototype,"spatialReference",void 0),e([y({json:{read:!1},readOnly:!0,value:"group"})],P.prototype,"type",void 0),e([y({type:["independent","inherited","exclusive"],value:"independent",json:{write:!0,origins:{"web-map":{type:["independent","exclusive"],write:(e,i,r)=>{"inherited"!==e&&(i[r]=e)}}}}})],P.prototype,"visibilityMode",null),P=e([m("esri.layers.GroupLayer")],P);const E=P;export{E 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 t from"../Graphic.js";import"../symbols.js";import r from"../core/Collection.js";import o from"../core/Error.js";import{clone as i}from"../core/lang.js";import{MultiOriginJSONMixin as l}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as a}from"../core/object.js";import n from"../core/Warning.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{reader as p}from"../core/accessorSupport/decorators/reader.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import{writer as m}from"../core/accessorSupport/decorators/writer.js";import{projectOrLoad as u,canProjectWithoutEngine as c,isLoaded as f,load as d,project as g}from"../geometry/projection.js";import{empty as b,expand as S,equals as h,toExtent as O,negativeInfinity as w}from"../geometry/support/aaBoundingRect.js";import{normalizeCentralMeridian as j}from"../geometry/support/normalizeUtils.js";import{equals as N}from"../geometry/support/spatialReferenceUtils.js";import L from"./FeatureLayer.js";import x from"./GraphicsLayer.js";import J from"./Layer.js";import{findLastObjectIdFromFeatures as T}from"./graphics/objectIdUtils.js";import{BlendLayer as v}from"./mixins/BlendLayer.js";import{OperationalLayer as C}from"./mixins/OperationalLayer.js";import{PortalLayer as M}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as I}from"./mixins/ScaleRangeLayer.js";import R from"./support/Field.js";import E from"../symbols/SimpleFillSymbol.js";import D from"../symbols/SimpleLineSymbol.js";import _ from"../symbols/SimpleMarkerSymbol.js";import G from"../symbols/TextSymbol.js";import P from"../geometry/SpatialReference.js";import F from"../geometry/Extent.js";function B(e){return"markup"===e.featureCollectionType||e.layers.some((e=>null!=e.layerDefinition.visibilityField||!k(e)))}function k({layerDefinition:e,featureSet:t}){const r=e.geometryType??t.geometryType;return $.find((t=>r===t.geometryTypeJSON&&e.drawingInfo?.renderer?.symbol?.type===t.identifyingSymbol.type))}function z(){return new F({xmin:-180,ymin:-90,xmax:180,ymax:90})}const U=new R({name:"OBJECTID",alias:"OBJECTID",type:"oid",nullable:!1,editable:!1}),W=new R({name:"title",alias:"Title",type:"string",nullable:!0,editable:!0});let A=class extends x{constructor(e){super(e),this.visibilityMode="inherited"}initialize(){for(const e of this.graphics)e.sourceLayer=this.layer;this.graphics.on("after-add",(e=>{e.item.sourceLayer=this.layer})),this.graphics.on("after-remove",(e=>{e.item.sourceLayer=null}))}get fullExtent(){const e=this.layer?.spatialReference,t=this.fullBounds;return e?null==t?u(z(),e).geometry:O(t,e):null}get fullBounds(){const e=this.layer?.spatialReference;if(!e)return null;const t=b();return this.graphics.forEach((r=>{const o=null!=r.geometry?u(r.geometry,e).geometry:null;null!=o&&S(t,"point"===o.type?o:o.extent,t)})),h(t,w)?null:t}get sublayers(){return this.graphics}};e([s({readOnly:!0})],A.prototype,"fullExtent",null),e([s({readOnly:!0})],A.prototype,"fullBounds",null),e([s({readOnly:!0})],A.prototype,"sublayers",null),e([s()],A.prototype,"layer",void 0),e([s()],A.prototype,"layerId",void 0),e([s({readOnly:!0})],A.prototype,"visibilityMode",void 0),A=e([y("esri.layers.MapNotesLayer.MapNotesSublayer")],A);const $=[{geometryType:"polygon",geometryTypeJSON:"esriGeometryPolygon",id:"polygonLayer",layerId:0,title:"Polygons",identifyingSymbol:(new E).toJSON()},{geometryType:"polyline",geometryTypeJSON:"esriGeometryPolyline",id:"polylineLayer",layerId:1,title:"Polylines",identifyingSymbol:(new D).toJSON()},{geometryType:"multipoint",geometryTypeJSON:"esriGeometryMultipoint",id:"multipointLayer",layerId:2,title:"Multipoints",identifyingSymbol:(new _).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"pointLayer",layerId:3,title:"Points",identifyingSymbol:(new _).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"textLayer",layerId:4,title:"Text",identifyingSymbol:(new G).toJSON()}];let q=class extends(v(I(C(M(l(J)))))){constructor(e){super(e),this.capabilities={operations:{supportsMapNotesEditing:!0}},this.featureCollections=null,this.featureCollectionJSON=null,this.featureCollectionType="notes",this.legendEnabled=!1,this.listMode="hide-children",this.minScale=0,this.maxScale=0,this.spatialReference=P.WGS84,this.sublayers=new r($.map((e=>new A({id:e.id,layerId:e.layerId,title:e.title,layer:this})))),this.title="Map Notes",this.type="map-notes",this.visibilityMode="inherited"}readCapabilities(e,t,r){return{operations:{supportsMapNotesEditing:!B(t)&&"portal-item"!==r?.origin}}}readFeatureCollections(e,t,o){if(!B(t))return null;const i=t.layers.map((e=>{const t=new L;return t.read(e,o),t}));return new r({items:i})}readLegacyfeatureCollectionJSON(e,t){return B(t)?i(t.featureCollection):null}get fullExtent(){const e=this.spatialReference,t=b();if(null!=this.sublayers)this.sublayers.forEach((({fullBounds:e})=>null!=e?S(t,e,t):t),t);else if(this.featureCollectionJSON?.layers.some((e=>e.layerDefinition.extent))){this.featureCollectionJSON.layers.forEach((r=>{const o=u(r.layerDefinition.extent,e).geometry;null!=o&&S(t,o,t)}))}return h(t,w)?u(z(),e).geometry:O(t,e)}readMinScale(e,t){for(const r of t.layers)if(null!=r.layerDefinition.minScale)return r.layerDefinition.minScale;return 0}readMaxScale(e,t){for(const r of t.layers)if(null!=r.layerDefinition.maxScale)return r.layerDefinition.maxScale;return 0}get multipointLayer(){return this._findSublayer("multipointLayer")}get pointLayer(){return this._findSublayer("pointLayer")}get polygonLayer(){return this._findSublayer("polygonLayer")}get polylineLayer(){return this._findSublayer("polylineLayer")}readSpatialReference(e,t){return t.layers.length?P.fromJSON(t.layers[0].layerDefinition.spatialReference):P.WGS84}readSublayers(e,o,i){if(B(o))return null;const l=[];let a=o.layers.reduce(((e,t)=>Math.max(e,t.layerDefinition.id??-1)),-1)+1;for(const r of o.layers){const{layerDefinition:e,featureSet:o}=r,i=e.id??a++,n=k(r);if(null!=n){const r=new A({id:n.id,title:e.name,layerId:i,layer:this,graphics:o.features.map((({geometry:e,symbol:r,attributes:o,popupInfo:i})=>t.fromJSON({attributes:o,geometry:e,symbol:r,popupTemplate:i})))});l.push(r)}}return new r(l)}writeSublayers(e,t,r,i){const{minScale:l,maxScale:n}=this;if(null==e)return;const s=e.some((e=>e.graphics.length>0));if(!this.capabilities.operations.supportsMapNotesEditing)return void(s&&i?.messages?.push(new o("map-notes-layer:editing-not-supported","New map notes cannot be added to this layer")));const p=[];let y=this.spatialReference.toJSON();e:for(const o of e)for(const e of o.graphics)if(null!=e.geometry){y=e.geometry.spatialReference.toJSON();break e}for(const o of $){const t=e.find((e=>o.id===e.id));this._writeMapNoteSublayer(p,t,o,l,n,y,i)}a("featureCollection.layers",p,t)}get textLayer(){return this._findSublayer("textLayer")}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Feature Collection"]},e)),Promise.resolve(this)}read(e,t){"featureCollection"in e&&(e=i(e),Object.assign(e,e.featureCollection)),super.read(e,t)}async beforeSave(){if(null==this.sublayers)return;let e=null;const t=[];for(const o of this.sublayers)for(const r of o.graphics)if(null!=r.geometry){const o=r.geometry;e?N(o.spatialReference,e)||(c(o.spatialReference,e)||f()||await d(),r.geometry=g(o,e)):e=o.spatialReference,t.push(r)}const r=await j(t.map((e=>e.geometry)));t.forEach(((e,t)=>e.geometry=r[t]))}_findSublayer(e){return null==this.sublayers?null:this.sublayers?.find((t=>t.id===e))??null}_writeMapNoteSublayer(e,t,r,o,l,a,n){const s=[];if(null!=t){for(const e of t.graphics)this._writeMapNote(s,e,r.geometryType,n);this._normalizeObjectIds(s,U),e.push({layerDefinition:{name:t.title,drawingInfo:{renderer:{type:"simple",symbol:i(r.identifyingSymbol)}},id:t.layerId,geometryType:r.geometryTypeJSON,minScale:o,maxScale:l,objectIdField:"OBJECTID",fields:[U.toJSON(),W.toJSON()],spatialReference:a},featureSet:{features:s,geometryType:r.geometryTypeJSON}})}}_writeMapNote(e,t,r,o){if(null==t)return;const{geometry:i,symbol:l,popupTemplate:a}=t;if(null==i)return;if(i.type!==r)return void o?.messages?.push(new n("map-notes-layer:invalid-geometry-type",`Geometry "${i.type}" cannot be saved in "${r}" layer`,{graphic:t}));if(null==l)return void o?.messages?.push(new n("map-notes-layer:no-symbol","Skipping map notes with no symbol",{graphic:t}));const s={attributes:{...t.attributes},geometry:i.toJSON(),symbol:l.toJSON()};null!=a&&(s.popupInfo=a.toJSON()),e.push(s)}_normalizeObjectIds(e,t){const r=t.name;let o=T(r,e)+1;const i=new Set;for(const l of e){l.attributes||(l.attributes={});const{attributes:e}=l;(null==e[r]||i.has(e[r]))&&(e[r]=o++),i.add(e[r])}}};e([s({readOnly:!0})],q.prototype,"capabilities",void 0),e([p(["portal-item","web-map"],"capabilities",["layers"])],q.prototype,"readCapabilities",null),e([s({readOnly:!0})],q.prototype,"featureCollections",void 0),e([p(["web-map","portal-item"],"featureCollections",["layers"])],q.prototype,"readFeatureCollections",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{enabled:!0,target:"featureCollection"}}}}})],q.prototype,"featureCollectionJSON",void 0),e([p(["web-map","portal-item"],"featureCollectionJSON",["featureCollection"])],q.prototype,"readLegacyfeatureCollectionJSON",null),e([s({readOnly:!0,json:{read:!0,write:{enabled:!0,ignoreOrigin:!0}}})],q.prototype,"featureCollectionType",void 0),e([s({readOnly:!0})],q.prototype,"fullExtent",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{target:"featureCollection.showLegend",overridePolicy(){return{enabled:null!=this.featureCollectionJSON}}}}}}})],q.prototype,"legendEnabled",void 0),e([s({type:["show","hide","hide-children"]})],q.prototype,"listMode",void 0),e([s({type:Number,nonNullable:!0,json:{write:!1}})],q.prototype,"minScale",void 0),e([p(["web-map","portal-item"],"minScale",["layers"])],q.prototype,"readMinScale",null),e([s({type:Number,nonNullable:!0,json:{write:!1}})],q.prototype,"maxScale",void 0),e([p(["web-map","portal-item"],"maxScale",["layers"])],q.prototype,"readMaxScale",null),e([s({readOnly:!0})],q.prototype,"multipointLayer",null),e([s({value:"ArcGISFeatureLayer",type:["ArcGISFeatureLayer"]})],q.prototype,"operationalLayerType",void 0),e([s({readOnly:!0})],q.prototype,"pointLayer",null),e([s({readOnly:!0})],q.prototype,"polygonLayer",null),e([s({readOnly:!0})],q.prototype,"polylineLayer",null),e([s({type:P})],q.prototype,"spatialReference",void 0),e([p(["web-map","portal-item"],"spatialReference",["layers"])],q.prototype,"readSpatialReference",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{ignoreOrigin:!0}}}}})],q.prototype,"sublayers",void 0),e([p("web-map","sublayers",["layers"])],q.prototype,"readSublayers",null),e([m("web-map","sublayers")],q.prototype,"writeSublayers",null),e([s({readOnly:!0})],q.prototype,"textLayer",null),e([s()],q.prototype,"title",void 0),e([s({readOnly:!0,json:{read:!1}})],q.prototype,"type",void 0),q=e([y("esri.layers.MapNotesLayer")],q);const H=q;export{H as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../geometry.js";import t from"../Graphic.js";import"../symbols.js";import r from"../core/Collection.js";import o from"../core/Error.js";import{clone as i}from"../core/lang.js";import{MultiOriginJSONMixin as l}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as n}from"../core/object.js";import a from"../core/Warning.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{reader as p}from"../core/accessorSupport/decorators/reader.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import{writer as m}from"../core/accessorSupport/decorators/writer.js";import{projectOrLoad as u,canProjectWithoutEngine as c,isLoaded as f,load as d,project as g}from"../geometry/projection.js";import{empty as b,expand as S,equals as h,toExtent as O,negativeInfinity as w}from"../geometry/support/aaBoundingRect.js";import{normalizeCentralMeridian as j}from"../geometry/support/normalizeUtils.js";import{equals as N}from"../geometry/support/spatialReferenceUtils.js";import L from"./FeatureLayer.js";import x from"./GraphicsLayer.js";import J from"./Layer.js";import{findLastObjectIdFromFeatures as T}from"./graphics/objectIdUtils.js";import{BlendLayer as v}from"./mixins/BlendLayer.js";import{OperationalLayer as C}from"./mixins/OperationalLayer.js";import{PortalLayer as M}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as I}from"./mixins/ScaleRangeLayer.js";import R from"./support/Field.js";import E from"../symbols/SimpleFillSymbol.js";import D from"../symbols/SimpleLineSymbol.js";import _ from"../symbols/SimpleMarkerSymbol.js";import G from"../symbols/TextSymbol.js";import P from"../geometry/SpatialReference.js";import F from"../geometry/Extent.js";function B(e){return"markup"===e.featureCollectionType||e.layers.some((e=>null!=e.layerDefinition.visibilityField||!k(e)))}function k({layerDefinition:e,featureSet:t}){const r=e.geometryType??t.geometryType;return $.find((t=>r===t.geometryTypeJSON&&e.drawingInfo?.renderer?.symbol?.type===t.identifyingSymbol.type))}function z(){return new F({xmin:-180,ymin:-90,xmax:180,ymax:90})}const U=new R({name:"OBJECTID",alias:"OBJECTID",type:"oid",nullable:!1,editable:!1}),W=new R({name:"title",alias:"Title",type:"string",nullable:!0,editable:!0,length:255});let A=class extends x{constructor(e){super(e),this.visibilityMode="inherited"}initialize(){for(const e of this.graphics)e.sourceLayer=this.layer;this.graphics.on("after-add",(e=>{e.item.sourceLayer=this.layer})),this.graphics.on("after-remove",(e=>{e.item.sourceLayer=null}))}get fullExtent(){const e=this.layer?.spatialReference,t=this.fullBounds;return e?null==t?u(z(),e).geometry:O(t,e):null}get fullBounds(){const e=this.layer?.spatialReference;if(!e)return null;const t=b();return this.graphics.forEach((r=>{const o=null!=r.geometry?u(r.geometry,e).geometry:null;null!=o&&S(t,"point"===o.type?o:o.extent,t)})),h(t,w)?null:t}get sublayers(){return this.graphics}};e([s({readOnly:!0})],A.prototype,"fullExtent",null),e([s({readOnly:!0})],A.prototype,"fullBounds",null),e([s({readOnly:!0})],A.prototype,"sublayers",null),e([s()],A.prototype,"layer",void 0),e([s()],A.prototype,"layerId",void 0),e([s({readOnly:!0})],A.prototype,"visibilityMode",void 0),A=e([y("esri.layers.MapNotesLayer.MapNotesSublayer")],A);const $=[{geometryType:"polygon",geometryTypeJSON:"esriGeometryPolygon",id:"polygonLayer",layerId:0,title:"Polygons",identifyingSymbol:(new E).toJSON()},{geometryType:"polyline",geometryTypeJSON:"esriGeometryPolyline",id:"polylineLayer",layerId:1,title:"Polylines",identifyingSymbol:(new D).toJSON()},{geometryType:"multipoint",geometryTypeJSON:"esriGeometryMultipoint",id:"multipointLayer",layerId:2,title:"Multipoints",identifyingSymbol:(new _).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"pointLayer",layerId:3,title:"Points",identifyingSymbol:(new _).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"textLayer",layerId:4,title:"Text",identifyingSymbol:(new G).toJSON()}];let q=class extends(v(I(C(M(l(J)))))){constructor(e){super(e),this.capabilities={operations:{supportsMapNotesEditing:!0}},this.featureCollections=null,this.featureCollectionJSON=null,this.featureCollectionType="notes",this.legendEnabled=!1,this.listMode="hide-children",this.minScale=0,this.maxScale=0,this.spatialReference=P.WGS84,this.sublayers=new r($.map((e=>new A({id:e.id,layerId:e.layerId,title:e.title,layer:this})))),this.title="Map Notes",this.type="map-notes",this.visibilityMode="inherited"}readCapabilities(e,t,r){return{operations:{supportsMapNotesEditing:!B(t)&&"portal-item"!==r?.origin}}}readFeatureCollections(e,t,o){if(!B(t))return null;const i=t.layers.map((e=>{const t=new L;return t.read(e,o),t}));return new r({items:i})}readLegacyfeatureCollectionJSON(e,t){return B(t)?i(t.featureCollection):null}get fullExtent(){const e=this.spatialReference,t=b();if(null!=this.sublayers)this.sublayers.forEach((({fullBounds:e})=>null!=e?S(t,e,t):t),t);else if(this.featureCollectionJSON?.layers.some((e=>e.layerDefinition.extent))){this.featureCollectionJSON.layers.forEach((r=>{const o=u(r.layerDefinition.extent,e).geometry;null!=o&&S(t,o,t)}))}return h(t,w)?u(z(),e).geometry:O(t,e)}readMinScale(e,t){for(const r of t.layers)if(null!=r.layerDefinition.minScale)return r.layerDefinition.minScale;return 0}readMaxScale(e,t){for(const r of t.layers)if(null!=r.layerDefinition.maxScale)return r.layerDefinition.maxScale;return 0}get multipointLayer(){return this._findSublayer("multipointLayer")}get pointLayer(){return this._findSublayer("pointLayer")}get polygonLayer(){return this._findSublayer("polygonLayer")}get polylineLayer(){return this._findSublayer("polylineLayer")}readSpatialReference(e,t){return t.layers.length?P.fromJSON(t.layers[0].layerDefinition.spatialReference):P.WGS84}readSublayers(e,o,i){if(B(o))return null;const l=[];let n=o.layers.reduce(((e,t)=>Math.max(e,t.layerDefinition.id??-1)),-1)+1;for(const r of o.layers){const{layerDefinition:e,featureSet:o}=r,i=e.id??n++,a=k(r);if(null!=a){const r=new A({id:a.id,title:e.name,layerId:i,layer:this,graphics:o.features.map((({geometry:e,symbol:r,attributes:o,popupInfo:i})=>t.fromJSON({attributes:o,geometry:e,symbol:r,popupTemplate:i})))});l.push(r)}}return new r(l)}writeSublayers(e,t,r,i){const{minScale:l,maxScale:a}=this;if(null==e)return;const s=e.some((e=>e.graphics.length>0));if(!this.capabilities.operations.supportsMapNotesEditing)return void(s&&i?.messages?.push(new o("map-notes-layer:editing-not-supported","New map notes cannot be added to this layer")));const p=[];let y=this.spatialReference.toJSON();e:for(const o of e)for(const e of o.graphics)if(null!=e.geometry){y=e.geometry.spatialReference.toJSON();break e}for(const o of $){const t=e.find((e=>o.id===e.id));this._writeMapNoteSublayer(p,t,o,l,a,y,i)}n("featureCollection.layers",p,t)}get textLayer(){return this._findSublayer("textLayer")}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Feature Collection"]},e)),Promise.resolve(this)}read(e,t){"featureCollection"in e&&(e=i(e),Object.assign(e,e.featureCollection)),super.read(e,t)}async beforeSave(){if(null==this.sublayers)return;let e=null;const t=[];for(const o of this.sublayers)for(const r of o.graphics)if(null!=r.geometry){const o=r.geometry;e?N(o.spatialReference,e)||(c(o.spatialReference,e)||f()||await d(),r.geometry=g(o,e)):e=o.spatialReference,t.push(r)}const r=await j(t.map((e=>e.geometry)));t.forEach(((e,t)=>e.geometry=r[t]))}_findSublayer(e){return null==this.sublayers?null:this.sublayers?.find((t=>t.id===e))??null}_writeMapNoteSublayer(e,t,r,o,l,n,a){const s=[];if(null!=t){for(const e of t.graphics)this._writeMapNote(s,e,r.geometryType,a);this._normalizeObjectIds(s,U),e.push({layerDefinition:{name:t.title,drawingInfo:{renderer:{type:"simple",symbol:i(r.identifyingSymbol)}},id:t.layerId,geometryType:r.geometryTypeJSON,minScale:o,maxScale:l,objectIdField:"OBJECTID",fields:[U.toJSON(),W.toJSON()],spatialReference:n},featureSet:{features:s,geometryType:r.geometryTypeJSON}})}}_writeMapNote(e,t,r,o){if(null==t)return;const{geometry:i,symbol:l,popupTemplate:n}=t;if(null==i)return;if(i.type!==r)return void o?.messages?.push(new a("map-notes-layer:invalid-geometry-type",`Geometry "${i.type}" cannot be saved in "${r}" layer`,{graphic:t}));if(null==l)return void o?.messages?.push(new a("map-notes-layer:no-symbol","Skipping map notes with no symbol",{graphic:t}));const s={attributes:{...t.attributes},geometry:i.toJSON(),symbol:l.toJSON()};null!=n&&(s.popupInfo=n.toJSON()),e.push(s)}_normalizeObjectIds(e,t){const r=t.name;let o=T(r,e)+1;const i=new Set;for(const l of e){l.attributes||(l.attributes={});const{attributes:e}=l;(null==e[r]||i.has(e[r]))&&(e[r]=o++),i.add(e[r])}}};e([s({readOnly:!0})],q.prototype,"capabilities",void 0),e([p(["portal-item","web-map"],"capabilities",["layers"])],q.prototype,"readCapabilities",null),e([s({readOnly:!0})],q.prototype,"featureCollections",void 0),e([p(["web-map","portal-item"],"featureCollections",["layers"])],q.prototype,"readFeatureCollections",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{enabled:!0,target:"featureCollection"}}}}})],q.prototype,"featureCollectionJSON",void 0),e([p(["web-map","portal-item"],"featureCollectionJSON",["featureCollection"])],q.prototype,"readLegacyfeatureCollectionJSON",null),e([s({readOnly:!0,json:{read:!0,write:{enabled:!0,ignoreOrigin:!0}}})],q.prototype,"featureCollectionType",void 0),e([s({readOnly:!0})],q.prototype,"fullExtent",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{target:"featureCollection.showLegend",overridePolicy(){return{enabled:null!=this.featureCollectionJSON}}}}}}})],q.prototype,"legendEnabled",void 0),e([s({type:["show","hide","hide-children"]})],q.prototype,"listMode",void 0),e([s({type:Number,nonNullable:!0,json:{write:!1}})],q.prototype,"minScale",void 0),e([p(["web-map","portal-item"],"minScale",["layers"])],q.prototype,"readMinScale",null),e([s({type:Number,nonNullable:!0,json:{write:!1}})],q.prototype,"maxScale",void 0),e([p(["web-map","portal-item"],"maxScale",["layers"])],q.prototype,"readMaxScale",null),e([s({readOnly:!0})],q.prototype,"multipointLayer",null),e([s({value:"ArcGISFeatureLayer",type:["ArcGISFeatureLayer"]})],q.prototype,"operationalLayerType",void 0),e([s({readOnly:!0})],q.prototype,"pointLayer",null),e([s({readOnly:!0})],q.prototype,"polygonLayer",null),e([s({readOnly:!0})],q.prototype,"polylineLayer",null),e([s({type:P})],q.prototype,"spatialReference",void 0),e([p(["web-map","portal-item"],"spatialReference",["layers"])],q.prototype,"readSpatialReference",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{ignoreOrigin:!0}}}}})],q.prototype,"sublayers",void 0),e([p("web-map","sublayers",["layers"])],q.prototype,"readSublayers",null),e([m("web-map","sublayers")],q.prototype,"writeSublayers",null),e([s({readOnly:!0})],q.prototype,"textLayer",null),e([s()],q.prototype,"title",void 0),e([s({readOnly:!0,json:{read:!1}})],q.prototype,"type",void 0),q=e([y("esri.layers.MapNotesLayer")],q);const H=q;export{H 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 t from"../Graphic.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{webSceneRendererTypes as i}from"../renderers/support/types.js";import s from"../request.js";import{ClonableMixin as o}from"../core/Clonable.js";import a from"../core/Collection.js";import n from"../core/Error.js";import l from"../core/Logger.js";import{MultiOriginJSONMixin as p}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as d,isAbortError as y}from"../core/promiseUtils.js";import{whenOnce as u}from"../core/reactiveUtils.js";import{join as c}from"../core/urlUtils.js";import{property as h}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{getProperties as f}from"../core/accessorSupport/utils.js";import{reader as m}from"../core/accessorSupport/decorators/reader.js";import{subclass as g}from"../core/accessorSupport/decorators/subclass.js";import{OriginId as v}from"../core/accessorSupport/PropertyOrigin.js";import b from"./Layer.js";import{APIKeyMixin as I}from"./mixins/APIKeyMixin.js";import{ArcGISService as w}from"./mixins/ArcGISService.js";import{EditBusLayer as L}from"./mixins/EditBusLayer.js";import{OperationalLayer as j}from"./mixins/OperationalLayer.js";import{PortalLayer as F}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as S}from"./mixins/ScaleRangeLayer.js";import{SceneService as _,SaveOperationType as O}from"./mixins/SceneService.js";import{isHostedAgolService as E}from"./support/arcgisLayerUrl.js";import{findAssociatedFeatureService as A}from"./support/associatedFeatureServiceUtils.js";import{zeroCapabilities as P}from"./support/capabilities.js";import{elevationInfo as T,labelsVisible as D,legendEnabled as U,popupEnabled as x,screenSizePerspectiveEnabled as R}from"./support/commonProperties.js";import{computeEffectiveEditingEnabled as q,getGlobalIdToObjectIdMap as C}from"./support/featureLayerUtils.js";import{FeatureReduction as G}from"./support/FeatureReduction.js";import Q from"./support/FeatureReductionSelection.js";import{defineFieldProperties as N}from"./support/fieldProperties.js";import k from"./support/FieldsIndex.js";import{fixRendererFields as V,unpackFieldNames as K}from"./support/fieldUtils.js";import{I3SNodePageDefinition as H,I3SMaterialDefinition as M,I3STextureSetDefinition as $,I3SGeometryDefinition as z}from"./support/I3SLayerDefinitions.js";import W from"./support/LabelClass.js";import{reader as B}from"./support/labelingInfo.js";import Z from"./support/LayerFloorInfo.js";import{layerLookupMap as J}from"./support/lazyLayerLoader.js";import{RangeInfo as X}from"./support/RangeInfo.js";import Y from"./support/SceneFilter.js";import{loadStyleRenderer as ee}from"../renderers/support/styleUtils.js";import te from"../rest/support/Query.js";import{logInvalidElevationInfoWarning as re,elevationModeUnsupportedMessage as ie,featureExpressionUnsupportedMessage as se}from"../support/elevationInfoUtils.js";import{sceneLayerEditingEnabled as oe}from"../support/featureFlags.js";import{createPopupTemplate as ae}from"../support/popupUtils.js";import{queryAttributesFromCachedAttributesId as ne}from"../views/3d/layers/i3s/I3SUtil.js";import{getRequiredFields as le,getFetchPopupTemplate as pe}from"../views/layers/support/popupUtils.js";import{transparencyToOpacity as de}from"../webdoc/support/opacityUtils.js";const ye=new Set(["3DObject","Point"]),ue=N();let ce=class extends(L(_(w(j(F(S(p(I(o(b)))))))))){constructor(...e){super(...e),this.featureReduction=null,this.rangeInfos=null,this.operationalLayerType="ArcGISSceneServiceLayer",this.type="scene",this.fields=null,this.floorInfo=null,this.outFields=null,this.nodePages=null,this.materialDefinitions=null,this.textureSetDefinitions=null,this.geometryDefinitions=null,this.serviceUpdateTimeStamp=null,this.excludeObjectIds=new a,this.definitionExpression=null,this.filter=null,this.path=null,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.priority=null,this.semantic=null,this.cachedDrawingInfo={color:!1},this.popupEnabled=!0,this.popupTemplate=null,this.objectIdField=null,this.globalIdField=null,this._fieldUsageInfo={},this.screenSizePerspectiveEnabled=!0,this.serviceItemId=void 0}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this._set("renderer",null)}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){const r=this.getFeatureType(t?.feature)?.domains?.[e];return r&&"inherited"!==r.type?r:this.getField(e)?.domain??null}getFeatureType(e){return e&&this.associatedLayer?this.associatedLayer.getFeatureType(e):null}get types(){return this.associatedLayer?.types??[]}get typeIdField(){return this.associatedLayer?.typeIdField??null}get templates(){return this.associatedLayer?.templates??null}get formTemplate(){return this.associatedLayer?.formTemplate??null}get fieldsIndex(){return new k(this.fields)}readNodePages(e,t,r){return"Point"===t.layerType&&(e=t.pointNodePages),null==e||"object"!=typeof e?null:H.fromJSON(e,r)}set elevationInfo(e){this._set("elevationInfo",e),this.loaded&&this._validateElevationInfo()}get effectiveCapabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.effectiveCapabilities)}get effectiveEditingEnabled(){return null!=this.associatedLayer&&q(this.associatedLayer)}get geometryType(){return fe[this.profile]||"mesh"}set renderer(e){V(e,this.fieldsIndex),this._set("renderer",e)}readCachedDrawingInfo(e){return null!=e&&"object"==typeof e||(e={}),null==e.color&&(e.color=!1),e}get capabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.capabilities)}_capabilitiesFromAssociatedFeatureLayer(e){e=null!=e?e:P;const{query:t,queryRelated:r,editing:{supportsGlobalId:i,supportsRollbackOnFailure:s,supportsUploadWithItemId:o,supportsGeometryUpdate:a,supportsReturnServiceEditsInSourceSpatialReference:n},data:{supportsZ:l,supportsM:p,isVersioned:d,supportsAttachment:y},operations:{supportsEditing:u,supportsAdd:c,supportsUpdate:h,supportsDelete:f,supportsQuery:m,supportsQueryAttachments:g,supportsAsyncConvert3D:v}}=e,b=e.operations.supportsChangeTracking,I=!!this.associatedLayer?.infoFor3D&&oe();return{query:t,queryRelated:r,editing:{supportsGlobalId:i,supportsReturnServiceEditsInSourceSpatialReference:n,supportsRollbackOnFailure:s,supportsGeometryUpdate:I&&a,supportsUploadWithItemId:o},data:{supportsAttachment:y,supportsZ:l,supportsM:p,isVersioned:d},operations:{supportsQuery:m,supportsQueryAttachments:g,supportsEditing:u&&b,supportsAdd:I&&c&&b,supportsDelete:I&&f&&b,supportsUpdate:h&&b,supportsAsyncConvert3D:v}}}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.associatedLayer?.editingEnabled??!1}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get infoFor3D(){return this.associatedLayer?.infoFor3D??null}get relationships(){return this.associatedLayer?.relationships}get defaultPopupTemplate(){return this.associatedLayer||this.attributeStorageInfo?this.createPopupTemplate():null}readObjectIdField(e,t){return!e&&t.fields&&t.fields.some((t=>("esriFieldTypeOID"===t.type&&(e=t.name),!!e))),e||void 0}readGlobalIdField(e,t){return!e&&t.fields&&t.fields.some((t=>("esriFieldTypeGlobalID"===t.type&&(e=t.name),!!e))),e||void 0}get displayField(){return this.associatedLayer?.displayField??null}readProfile(e,t){const r=t.store.profile;return null!=r&&he[r]?he[r]:(l.getLogger(this).error("Unknown or missing profile",{profile:r,layer:this}),"mesh-pyramids")}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){const t=null!=e?e.signal:null;await this.loadFromPortal({supportedTypes:["Scene Service"]},e).catch(d),await this._fetchService(t),await Promise.all([this._fetchIndexAndUpdateExtent(this.nodePages,t),this._setAssociatedFeatureLayer(t),this._loadFilterGeometries()]),this._validateElevationInfo(),this._applyAssociatedLayerOverrides(),this._populateFieldUsageInfo(),await ee(this,{origin:"service"},t),V(this.renderer,this.fieldsIndex),await this.finishLoadEditablePortalLayer(e)}async beforeSave(){null!=this.filter&&(this.filter=this.filter.clone(),await this.load())}async _loadFilterGeometries(){if(this.filter)try{await this.filter.loadGeometries(this.spatialReference)}catch(e){l.getLogger(this).error("#_loadFilterGeometries()",this,"Failed to load filter geometries. Geometry filter will not be applied for this layer.",{error:e}),this.filter=null}}createQuery(){const e=new te;return"mesh"!==this.geometryType&&(e.returnGeometry=!0,e.returnZ=!0),e.where=this.definitionExpression||"1=1",e.sqlFormat="standard",e.outFields=["*"],e}queryExtent(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryExtent(e||this.createQuery(),t)))}queryFeatureCount(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryFeatureCount(e||this.createQuery(),t)))}queryFeatures(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryFeatures(e||this.createQuery(),t))).then((e=>{if(e?.features)for(const t of e.features)t.layer=this,t.sourceLayer=this;return e}))}async queryRelatedFeatures(e,t){if(await this.load(),!this.associatedLayer)throw new n("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});return this.associatedLayer.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.associatedLayer)throw new n("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});return this.associatedLayer.queryRelatedFeaturesCount(e,t)}async queryCachedAttributes(e,t){const r=K(this.fieldsIndex,await le(this,pe(this)));return ne(this.parsedUrl.path,this.attributeStorageInfo??[],e,t,r)}async queryCachedFeature(e,r){const i=await this.queryCachedAttributes(e,[r]);if(!i||0===i.length)throw new n("scenelayer:feature-not-in-cached-data","Feature not found in cached data");const s=new t;return s.attributes=i[0],s.layer=this,s.sourceLayer=this,s}queryObjectIds(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryObjectIds(e||this.createQuery(),t)))}queryAttachments(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryAttachments(e,t)))}getFieldUsageInfo(e){const t={supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1};return this.loaded?this._fieldUsageInfo[e]||t:(l.getLogger(this).error("#getFieldUsageInfo()","Unavailable until layer is loaded"),t)}createPopupTemplate(e){return ae(this,e)}_getAssociatedLayerForQuery(){const e=this.associatedLayer;return e?.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),!this.associatedLayer)throw new n("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});try{await this.associatedLayer.load()}catch(e){throw new n("scenelayer:query-not-available","SceneLayer associated feature layer could not be loaded",{layer:this,error:e})}return this.associatedLayer}hasCachedStatistics(e){return null!=this.statisticsInfo&&this.statisticsInfo.some((t=>t.name===e))}async queryCachedStatistics(e,t){if(await this.load(t),!this.statisticsInfo)throw new n("scenelayer:no-cached-statistics","Cached statistics are not available for this layer");const r=this.fieldsIndex.get(e);if(!r)throw new n("scenelayer:field-unexisting",`Field '${e}' does not exist on the layer`);for(const i of this.statisticsInfo)if(i.name===r.name){const e=c(this.parsedUrl.path,i.href);return s(e,{query:{f:"json",token:this.apiKey},responseType:"json",signal:t?t.signal:null}).then((e=>e.data))}throw new n("scenelayer:no-cached-statistics","Cached statistics for this attribute are not available")}async saveAs(e,t){return this._debouncedSaveOperations(O.SAVE_AS,{...t,getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:"scene"},e)}async save(){const e={getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:"scene"};return this._debouncedSaveOperations(O.SAVE,e)}async applyEdits(e,t){const{applyEdits:r}=await import("./graphics/editingSupport.js");let i=t;await this.load();const s=this.associatedLayer;if(!s)throw new n(`${this.type}-layer:not-editable`,"Service is not editable");await s.load();const{globalIdField:o}=s;return E(s.url)&&s.infoFor3D&&null!=e.deleteFeatures&&null!=o&&(i={...i,globalIdToObjectId:await C(s,e.deleteFeatures,o)}),r(this,s.source,e,i)}async uploadAssets(e,t){if(await this.load(),null==this.associatedLayer)throw new n(`${this.type}-layer:not-editable`,"Service is not editable");return await this.associatedLayer.load(),this.associatedLayer.uploadAssets(e,t)}on(e,t){return super.on(e,t)}validateLayer(e){if(e.layerType&&!ye.has(e.layerType))throw new n("scenelayer:layer-type-not-supported","SceneLayer does not support this layer type",{layerType:e.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor))throw new n("layer:service-version-not-supported","Service version is not supported.",{serviceVersion:this.version.versionString,supportedVersions:"1.x, 2.x"});if(this.version.major>2)throw new n("layer:service-version-too-new","Service version is too new.",{serviceVersion:this.version.versionString,supportedVersions:"1.x, 2.x"});function t(e,t){let r=!1,i=!1;if(null==e)r=!0,i=!0;else{const s=t&&t.isGeographic;switch(e){case"east-north-up":case"earth-centered":r=!0,i=s;break;case"vertex-reference-frame":r=!0,i=!s;break;default:r=!1}}if(!r)throw new n("scenelayer:unsupported-normal-reference-frame","Normal reference frame is invalid.");if(!i)throw new n("scenelayer:incompatible-normal-reference-frame","Normal reference frame is incompatible with layer spatial reference.")}t(this.normalReferenceFrame,this.spatialReference)}_getTypeKeywords(){const e=[];if("points"===this.profile)e.push("Point");else{if("mesh-pyramids"!==this.profile)throw new n("scenelayer:unknown-profile","SceneLayer:save() encountered an unknown SceneLayer profile: "+this.profile);e.push("3DObject")}return e}_populateFieldUsageInfo(){if(this._fieldUsageInfo={},this.fields)for(const e of this.fields){const t=!(!this.attributeStorageInfo||!this.attributeStorageInfo.some((t=>t.name===e.name))),r=!!this.associatedLayer?.fields?.some((t=>t&&e.name===t.name)),i={supportsLabelingInfo:t,supportsRenderer:t,supportsPopupTemplate:t||r,supportsLayerQuery:r};this._fieldUsageInfo[e.name]=i}}_applyAssociatedLayerOverrides(){this._applyAssociatedLayerFieldsOverrides(),this._applyAssociatedLayerPopupOverrides(),this._applyAssociatedLayerExtentOverride(),this._applyAssociatedLayerPrivileges()}_applyAssociatedLayerFieldsOverrides(){if(!this.associatedLayer?.fields)return;let e=null;for(const t of this.associatedLayer.fields){const r=this.getField(t.name);r?(!r.domain&&t.domain&&(r.domain=t.domain.clone()),r.editable=t.editable,r.nullable=t.nullable,r.length=t.length):(e||(e=this.fields?this.fields.slice():[]),e.push(t.clone()))}e&&this._set("fields",e)}_applyAssociatedLayerPopupOverrides(){if(!this.associatedLayer)return;const e=["popupTemplate","popupEnabled"],t=f(this);for(let r=0;r<e.length;r++){const i=e[r],s=this.originIdOf(i),o=this.associatedLayer.originIdOf(i);s<o&&(o===v.SERVICE||o===v.PORTAL_ITEM)&&t.setAtOrigin(i,this.associatedLayer[i],o)}}_applyAssociatedLayerExtentOverride(){const e=this.associatedLayer?.editingInfo?.lastEditDate,t=this.associatedLayer?.serverGens,r=this.associatedLayer?.getAtOrigin("fullExtent","service");if(!oe()||null==this.associatedLayer?.infoFor3D||!r||!E(this.associatedLayer?.url)||!e||this.serviceUpdateTimeStamp?.lastUpdate===e.getTime()||!this.serviceUpdateTimeStamp&&t?.minServerGen===t?.serverGen)return;f(this).setAtOrigin("fullExtent",r.clone(),v.SERVICE)}_applyAssociatedLayerPrivileges(){const e=this.associatedLayer;e&&(this._set("userHasEditingPrivileges",e.userHasEditingPrivileges),this._set("userHasFullEditingPrivileges",e.userHasFullEditingPrivileges),this._set("userHasUpdateItemPrivileges",e.userHasUpdateItemPrivileges))}async _setAssociatedFeatureLayer(e){if(["mesh-pyramids","points"].includes(this.profile))try{const{serverUrl:t,layerId:r,portalItem:i}=await A(`${this.url}/layers/${this.layerId}`,{sceneLayerItem:this.portalItem,apiKey:this.apiKey,signal:e}),s=await J.FeatureLayer();this.associatedLayer=new s({url:t,layerId:r,portalItem:i}),await this.associatedLayer.load()}catch(t){y(t)||this._logWarningOnPopupEnabled()}}async _logWarningOnPopupEnabled(){await u((()=>this.popupEnabled&&null!=this.popupTemplate));const e=`this SceneLayer: ${this.title}`;null==this.attributeStorageInfo?l.getLogger(this).warn(`Associated FeatureLayer could not be loaded and no binary attributes found. Popups will not work on ${e}`):l.getLogger(this).info(`Associated FeatureLayer could not be loaded. Falling back to binary attributes for Popups on ${e}`)}_validateElevationInfo(){const e=this.elevationInfo;"mesh-pyramids"===this.profile&&re(l.getLogger(this),ie("Mesh scene layers","relative-to-scene",e)),re(l.getLogger(this),se("Scene layers",e))}};e([h({types:{key:"type",base:G,typeMap:{selection:Q}},json:{origins:{"web-scene":{name:"layerDefinition.featureReduction",write:!0},"portal-item":{name:"layerDefinition.featureReduction",write:!0}}}})],ce.prototype,"featureReduction",void 0),e([h({type:[X],json:{read:!1,origins:{"web-scene":{name:"layerDefinition.rangeInfos",write:!0},"portal-item":{name:"layerDefinition.rangeInfos",write:!0}}}})],ce.prototype,"rangeInfos",void 0),e([h({json:{read:!1}})],ce.prototype,"associatedLayer",void 0),e([h({type:["show","hide"]})],ce.prototype,"listMode",void 0),e([h({type:["ArcGISSceneServiceLayer"]})],ce.prototype,"operationalLayerType",void 0),e([h({json:{read:!1},readOnly:!0})],ce.prototype,"type",void 0),e([h({...ue.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],ce.prototype,"fields",void 0),e([h()],ce.prototype,"types",null),e([h()],ce.prototype,"typeIdField",null),e([h()],ce.prototype,"templates",null),e([h()],ce.prototype,"formTemplate",null),e([h({readOnly:!0})],ce.prototype,"fieldsIndex",null),e([h({type:Z,json:{read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo"}}})],ce.prototype,"floorInfo",void 0),e([h(ue.outFields)],ce.prototype,"outFields",void 0),e([h({type:H,readOnly:!0,json:{read:!1}})],ce.prototype,"nodePages",void 0),e([m("service","nodePages",["nodePages","pointNodePages"])],ce.prototype,"readNodePages",null),e([h({type:[M],readOnly:!0})],ce.prototype,"materialDefinitions",void 0),e([h({type:[$],readOnly:!0})],ce.prototype,"textureSetDefinitions",void 0),e([h({type:[z],readOnly:!0})],ce.prototype,"geometryDefinitions",void 0),e([h({readOnly:!0})],ce.prototype,"serviceUpdateTimeStamp",void 0),e([h({readOnly:!0})],ce.prototype,"attributeStorageInfo",void 0),e([h({readOnly:!0})],ce.prototype,"statisticsInfo",void 0),e([h({type:a.ofType(Number),nonNullable:!0,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.excludeObjectIds",write:{enabled:!0}}})],ce.prototype,"excludeObjectIds",void 0),e([h({type:String,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],ce.prototype,"definitionExpression",void 0),e([h({type:Y,json:{name:"layerDefinition.polygonFilter",write:{enabled:!0,allowNull:!0},origins:{service:{read:!1,write:!1}}}})],ce.prototype,"filter",void 0),e([h({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],ce.prototype,"path",void 0),e([h(T)],ce.prototype,"elevationInfo",null),e([h({readOnly:!0,json:{read:!1}})],ce.prototype,"effectiveCapabilities",null),e([h({readOnly:!0})],ce.prototype,"effectiveEditingEnabled",null),e([h({type:String})],ce.prototype,"geometryType",null),e([h(D)],ce.prototype,"labelsVisible",void 0),e([h({type:[W],json:{origins:{service:{name:"drawingInfo.labelingInfo",read:{reader:B},write:!1}},name:"layerDefinition.drawingInfo.labelingInfo",read:{reader:B},write:!0}})],ce.prototype,"labelingInfo",void 0),e([h(U)],ce.prototype,"legendEnabled",void 0),e([h({type:Number,json:{origins:{"web-document":{default:1,write:{enabled:!0,target:{opacity:{type:Number},"layerDefinition.drawingInfo.transparency":{type:Number}}},read:{source:["opacity","layerDefinition.drawingInfo.transparency"],reader(e,t){if("number"==typeof e&&e>=0&&e<=1)return e;const r=t.layerDefinition?.drawingInfo?.transparency;return void 0!==r?de(r):void 0}}},"portal-item":{write:!0},service:{read:!1}}}})],ce.prototype,"opacity",void 0),e([h({type:["Low","High"],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],ce.prototype,"priority",void 0),e([h({type:["Labels"],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],ce.prototype,"semantic",void 0),e([h({types:i,json:{origins:{service:{read:{source:"drawingInfo.renderer"}}},name:"layerDefinition.drawingInfo.renderer",write:!0},value:null})],ce.prototype,"renderer",null),e([h({json:{read:!1}})],ce.prototype,"cachedDrawingInfo",void 0),e([m("service","cachedDrawingInfo")],ce.prototype,"readCachedDrawingInfo",null),e([h({readOnly:!0,json:{read:!1}})],ce.prototype,"capabilities",null),e([h({type:Boolean,json:{read:!1}})],ce.prototype,"editingEnabled",null),e([h({readOnly:!0,json:{write:!1,read:!1}})],ce.prototype,"infoFor3D",null),e([h({readOnly:!0,json:{write:!1,read:!1}})],ce.prototype,"relationships",null),e([h(x)],ce.prototype,"popupEnabled",void 0),e([h({type:r,json:{name:"popupInfo",write:!0}})],ce.prototype,"popupTemplate",void 0),e([h({readOnly:!0,json:{read:!1}})],ce.prototype,"defaultPopupTemplate",null),e([h({type:String,json:{read:!1}})],ce.prototype,"objectIdField",void 0),e([m("service","objectIdField",["objectIdField","fields"])],ce.prototype,"readObjectIdField",null),e([h({type:String,json:{read:!1}})],ce.prototype,"globalIdField",void 0),e([m("service","globalIdField",["globalIdField","fields"])],ce.prototype,"readGlobalIdField",null),e([h({readOnly:!0,type:String,json:{read:!1}})],ce.prototype,"displayField",null),e([h({type:String,json:{read:!1}})],ce.prototype,"profile",void 0),e([m("service","profile",["store.profile"])],ce.prototype,"readProfile",null),e([h({readOnly:!0,type:String,json:{origins:{service:{read:{source:"store.normalReferenceFrame"}}},read:!1}})],ce.prototype,"normalReferenceFrame",void 0),e([h(R)],ce.prototype,"screenSizePerspectiveEnabled",void 0),e([h({json:{read:!1,origins:{service:{read:!0}}}})],ce.prototype,"serviceItemId",void 0),ce=e([g("esri.layers.SceneLayer")],ce);const he={"mesh-pyramids":"mesh-pyramids",meshpyramids:"mesh-pyramids","features-meshes":"mesh-pyramids",points:"points","features-points":"points",lines:"lines","features-lines":"lines",polygons:"polygons","features-polygons":"polygons"},fe={"mesh-pyramids":"mesh",points:"point",lines:"polyline",polygons:"polygon"},me=ce;export{me as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../Graphic.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{webSceneRendererTypes as i}from"../renderers/support/types.js";import s from"../request.js";import{ClonableMixin as o}from"../core/Clonable.js";import a from"../core/Collection.js";import n from"../core/Error.js";import l from"../core/Logger.js";import{MultiOriginJSONMixin as p}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as d,isAbortError as y}from"../core/promiseUtils.js";import{whenOnce as u}from"../core/reactiveUtils.js";import{join as c}from"../core/urlUtils.js";import{property as h}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{getProperties as f}from"../core/accessorSupport/utils.js";import{reader as m}from"../core/accessorSupport/decorators/reader.js";import{subclass as g}from"../core/accessorSupport/decorators/subclass.js";import{OriginId as v}from"../core/accessorSupport/PropertyOrigin.js";import b from"./Layer.js";import{APIKeyMixin as I}from"./mixins/APIKeyMixin.js";import{ArcGISService as w}from"./mixins/ArcGISService.js";import{EditBusLayer as L}from"./mixins/EditBusLayer.js";import{OperationalLayer as j}from"./mixins/OperationalLayer.js";import{PortalLayer as F}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as S}from"./mixins/ScaleRangeLayer.js";import{SceneService as _,SaveOperationType as O}from"./mixins/SceneService.js";import{isHostedAgolService as E}from"./support/arcgisLayerUrl.js";import{findAssociatedFeatureService as A}from"./support/associatedFeatureServiceUtils.js";import{zeroCapabilities as P}from"./support/capabilities.js";import{elevationInfo as T,labelsVisible as D,legendEnabled as U,popupEnabled as x,screenSizePerspectiveEnabled as R}from"./support/commonProperties.js";import{computeEffectiveEditingEnabled as q,getGlobalIdToObjectIdMap as C}from"./support/featureLayerUtils.js";import{FeatureReduction as G}from"./support/FeatureReduction.js";import Q from"./support/FeatureReductionSelection.js";import{defineFieldProperties as N}from"./support/fieldProperties.js";import k from"./support/FieldsIndex.js";import{fixRendererFields as V,unpackFieldNames as K}from"./support/fieldUtils.js";import{I3SNodePageDefinition as H,I3SMaterialDefinition as M,I3STextureSetDefinition as $,I3SGeometryDefinition as z}from"./support/I3SLayerDefinitions.js";import W from"./support/LabelClass.js";import{reader as B}from"./support/labelingInfo.js";import Z from"./support/LayerFloorInfo.js";import{layerLookupMap as J}from"./support/lazyLayerLoader.js";import{RangeInfo as X}from"./support/RangeInfo.js";import Y from"./support/SceneFilter.js";import{loadStyleRenderer as ee}from"../renderers/support/styleUtils.js";import te from"../rest/support/Query.js";import{logInvalidElevationInfoWarning as re,elevationModeUnsupportedMessage as ie,featureExpressionUnsupportedMessage as se}from"../support/elevationInfoUtils.js";import{sceneLayerEditingEnabled as oe}from"../support/featureFlags.js";import{createPopupTemplate as ae}from"../support/popupUtils.js";import{queryAttributesFromCachedAttributesId as ne}from"../views/3d/layers/i3s/I3SUtil.js";import{getRequiredFields as le,getFetchPopupTemplate as pe}from"../views/layers/support/popupUtils.js";import{transparencyToOpacity as de}from"../webdoc/support/opacityUtils.js";const ye=new Set(["3DObject","Point"]),ue=N();let ce=class extends(L(_(w(j(F(S(p(I(o(b)))))))))){constructor(...e){super(...e),this.featureReduction=null,this.rangeInfos=null,this.operationalLayerType="ArcGISSceneServiceLayer",this.type="scene",this.fields=null,this.floorInfo=null,this.outFields=null,this.nodePages=null,this.materialDefinitions=null,this.textureSetDefinitions=null,this.geometryDefinitions=null,this.serviceUpdateTimeStamp=null,this.excludeObjectIds=new a,this.definitionExpression=null,this.filter=null,this.path=null,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.priority=null,this.semantic=null,this.cachedDrawingInfo={color:!1},this.popupEnabled=!0,this.popupTemplate=null,this.objectIdField=null,this.globalIdField=null,this._fieldUsageInfo={},this.screenSizePerspectiveEnabled=!0,this.serviceItemId=void 0}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this._set("renderer",null)}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){const r=this.getFeatureType(t?.feature)?.domains?.[e];return r&&"inherited"!==r.type?r:this.getField(e)?.domain??null}getFeatureType(e){return e&&this.associatedLayer?this.associatedLayer.getFeatureType(e):null}get types(){return this.associatedLayer?.types??[]}get typeIdField(){return this.associatedLayer?.typeIdField??null}get templates(){return this.associatedLayer?.templates??null}get formTemplate(){return this.associatedLayer?.formTemplate??null}get fieldsIndex(){return new k(this.fields)}readNodePages(e,t,r){return"Point"===t.layerType&&(e=t.pointNodePages),null==e||"object"!=typeof e?null:H.fromJSON(e,r)}set elevationInfo(e){this._set("elevationInfo",e),this.loaded&&this._validateElevationInfo()}get effectiveCapabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.effectiveCapabilities)}get effectiveEditingEnabled(){return null!=this.associatedLayer&&q(this.associatedLayer)}get geometryType(){return fe[this.profile]||"mesh"}set renderer(e){V(e,this.fieldsIndex),this._set("renderer",e)}readCachedDrawingInfo(e){return null!=e&&"object"==typeof e||(e={}),null==e.color&&(e.color=!1),e}get capabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.capabilities)}_capabilitiesFromAssociatedFeatureLayer(e){e=null!=e?e:P;const{query:t,queryRelated:r,editing:{supportsGlobalId:i,supportsRollbackOnFailure:s,supportsUploadWithItemId:o,supportsGeometryUpdate:a,supportsReturnServiceEditsInSourceSpatialReference:n},data:{supportsZ:l,supportsM:p,isVersioned:d,supportsAttachment:y},operations:{supportsEditing:u,supportsAdd:c,supportsUpdate:h,supportsDelete:f,supportsQuery:m,supportsQueryAttachments:g,supportsAsyncConvert3D:v}}=e,b=e.operations.supportsChangeTracking,I=!!this.associatedLayer?.infoFor3D&&oe();return{query:t,queryRelated:r,editing:{supportsGlobalId:i,supportsReturnServiceEditsInSourceSpatialReference:n,supportsRollbackOnFailure:s,supportsGeometryUpdate:I&&a,supportsUploadWithItemId:o},data:{supportsAttachment:y,supportsZ:l,supportsM:p,isVersioned:d},operations:{supportsQuery:m,supportsQueryAttachments:g,supportsEditing:u&&b,supportsAdd:I&&c&&b,supportsDelete:I&&f&&b,supportsUpdate:h&&b,supportsAsyncConvert3D:v}}}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.associatedLayer?.editingEnabled??!1}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get infoFor3D(){return this.associatedLayer?.infoFor3D??null}get relationships(){return this.associatedLayer?.relationships}get defaultPopupTemplate(){return this.associatedLayer||this.attributeStorageInfo?this.createPopupTemplate():null}readObjectIdField(e,t){return!e&&t.fields&&t.fields.some((t=>("esriFieldTypeOID"===t.type&&(e=t.name),!!e))),e||void 0}readGlobalIdField(e,t){return!e&&t.fields&&t.fields.some((t=>("esriFieldTypeGlobalID"===t.type&&(e=t.name),!!e))),e||void 0}get displayField(){return this.associatedLayer?.displayField??null}readProfile(e,t){const r=t.store.profile;return null!=r&&he[r]?he[r]:(l.getLogger(this).error("Unknown or missing profile",{profile:r,layer:this}),"mesh-pyramids")}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){const t=null!=e?e.signal:null;await this.loadFromPortal({supportedTypes:["Scene Service"]},e).catch(d),await this._fetchService(t),await Promise.all([this._fetchIndexAndUpdateExtent(this.nodePages,t),this._setAssociatedFeatureLayer(t),this._loadFilterGeometries()]),this._validateElevationInfo(),this._applyAssociatedLayerOverrides(),this._populateFieldUsageInfo(),await ee(this,{origin:"service"},t),V(this.renderer,this.fieldsIndex),await this.finishLoadEditablePortalLayer(e)}async beforeSave(){null!=this.filter&&(this.filter=this.filter.clone(),await this.load())}async _loadFilterGeometries(){if(this.filter)try{await this.filter.loadGeometries(this.spatialReference)}catch(e){l.getLogger(this).error("#_loadFilterGeometries()",this,"Failed to load filter geometries. Geometry filter will not be applied for this layer.",{error:e}),this.filter=null}}createQuery(){const e=new te;return"mesh"!==this.geometryType&&(e.returnGeometry=!0,e.returnZ=!0),e.where=this.definitionExpression||"1=1",e.sqlFormat="standard",e.outFields=["*"],e}queryExtent(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryExtent(e||this.createQuery(),t)))}queryFeatureCount(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryFeatureCount(e||this.createQuery(),t)))}queryFeatures(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryFeatures(e||this.createQuery(),t))).then((e=>{if(e?.features)for(const t of e.features)t.layer=this,t.sourceLayer=this;return e}))}async queryRelatedFeatures(e,t){if(await this.load(),!this.associatedLayer)throw new n("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});return this.associatedLayer.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.associatedLayer)throw new n("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});return this.associatedLayer.queryRelatedFeaturesCount(e,t)}async queryCachedAttributes(e,t){const r=K(this.fieldsIndex,await le(this,pe(this)));return ne(this.parsedUrl.path,this.attributeStorageInfo??[],e,t,r)}async queryCachedFeature(e,r){const i=await this.queryCachedAttributes(e,[r]);if(!i||0===i.length)throw new n("scenelayer:feature-not-in-cached-data","Feature not found in cached data");const s=new t;return s.attributes=i[0],s.layer=this,s.sourceLayer=this,s}queryObjectIds(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryObjectIds(e||this.createQuery(),t)))}queryAttachments(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryAttachments(e,t)))}getFieldUsageInfo(e){const t={supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1};return this.loaded?this._fieldUsageInfo[e]||t:(l.getLogger(this).error("#getFieldUsageInfo()","Unavailable until layer is loaded"),t)}createPopupTemplate(e){return ae(this,e)}_getAssociatedLayerForQuery(){const e=this.associatedLayer;return e?.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),!this.associatedLayer)throw new n("scenelayer:query-not-available","SceneLayer queries are not available without an associated feature layer",{layer:this});try{await this.associatedLayer.load()}catch(e){throw new n("scenelayer:query-not-available","SceneLayer associated feature layer could not be loaded",{layer:this,error:e})}return this.associatedLayer}hasCachedStatistics(e){return null!=this.statisticsInfo&&this.statisticsInfo.some((t=>t.name===e))}async queryCachedStatistics(e,t){if(await this.load(t),!this.statisticsInfo)throw new n("scenelayer:no-cached-statistics","Cached statistics are not available for this layer");const r=this.fieldsIndex.get(e);if(!r)throw new n("scenelayer:field-unexisting",`Field '${e}' does not exist on the layer`);for(const i of this.statisticsInfo)if(i.name===r.name){const e=c(this.parsedUrl.path,i.href);return s(e,{query:{f:"json",token:this.apiKey},responseType:"json",signal:t?t.signal:null}).then((e=>e.data))}throw new n("scenelayer:no-cached-statistics","Cached statistics for this attribute are not available")}async saveAs(e,t){return this._debouncedSaveOperations(O.SAVE_AS,{...t,getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:"scene"},e)}async save(){const e={getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:"scene"};return this._debouncedSaveOperations(O.SAVE,e)}async applyEdits(e,t){const{applyEdits:r}=await import("./graphics/editingSupport.js");let i=t;await this.load();const s=this.associatedLayer;if(!s)throw new n(`${this.type}-layer:not-editable`,"Service is not editable");await s.load();const{globalIdField:o}=s;return E(s.url)&&s.infoFor3D&&null!=e.deleteFeatures&&null!=o&&(i={...i,globalIdToObjectId:await C(s,e.deleteFeatures,o)}),r(this,s.source,e,i)}async uploadAssets(e,t){if(await this.load(),null==this.associatedLayer)throw new n(`${this.type}-layer:not-editable`,"Service is not editable");return await this.associatedLayer.load(),this.associatedLayer.uploadAssets(e,t)}on(e,t){return super.on(e,t)}validateLayer(e){if(e.layerType&&!ye.has(e.layerType))throw new n("scenelayer:layer-type-not-supported","SceneLayer does not support this layer type",{layerType:e.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor))throw new n("layer:service-version-not-supported","Service version is not supported.",{serviceVersion:this.version.versionString,supportedVersions:"1.x, 2.x"});if(this.version.major>2)throw new n("layer:service-version-too-new","Service version is too new.",{serviceVersion:this.version.versionString,supportedVersions:"1.x, 2.x"});function t(e,t){let r=!1,i=!1;if(null==e)r=!0,i=!0;else{const s=t&&t.isGeographic;switch(e){case"east-north-up":case"earth-centered":r=!0,i=s;break;case"vertex-reference-frame":r=!0,i=!s;break;default:r=!1}}if(!r)throw new n("scenelayer:unsupported-normal-reference-frame","Normal reference frame is invalid.");if(!i)throw new n("scenelayer:incompatible-normal-reference-frame","Normal reference frame is incompatible with layer spatial reference.")}t(this.normalReferenceFrame,this.spatialReference)}_getTypeKeywords(){const e=[];if("points"===this.profile)e.push("Point");else{if("mesh-pyramids"!==this.profile)throw new n("scenelayer:unknown-profile","SceneLayer:save() encountered an unknown SceneLayer profile: "+this.profile);e.push("3DObject")}return e}_populateFieldUsageInfo(){if(this._fieldUsageInfo={},this.fields)for(const e of this.fields){const t=!(!this.attributeStorageInfo||!this.attributeStorageInfo.some((t=>t.name===e.name))),r=!!this.associatedLayer?.fields?.some((t=>t&&e.name===t.name)),i={supportsLabelingInfo:t,supportsRenderer:t,supportsPopupTemplate:t||r,supportsLayerQuery:r};this._fieldUsageInfo[e.name]=i}}_applyAssociatedLayerOverrides(){this._applyAssociatedLayerFieldsOverrides(),this._applyAssociatedLayerPopupOverrides(),this._applyAssociatedLayerExtentOverride(),this._applyAssociatedLayerPrivileges()}_applyAssociatedLayerFieldsOverrides(){if(!this.associatedLayer?.fields)return;let e=null;for(const t of this.associatedLayer.fields){const r=this.getField(t.name);r?(!r.domain&&t.domain&&(r.domain=t.domain.clone()),r.editable=t.editable,r.nullable=t.nullable,r.length=t.length):(e||(e=this.fields?this.fields.slice():[]),e.push(t.clone()))}e&&this._set("fields",e)}_applyAssociatedLayerPopupOverrides(){if(!this.associatedLayer)return;const e=["popupTemplate","popupEnabled"],t=f(this);for(let r=0;r<e.length;r++){const i=e[r],s=this.originIdOf(i),o=this.associatedLayer.originIdOf(i);s<o&&(o===v.SERVICE||o===v.PORTAL_ITEM)&&t.setAtOrigin(i,this.associatedLayer[i],o)}}_applyAssociatedLayerExtentOverride(){const e=this.associatedLayer?.editingInfo?.lastEditDate,t=this.associatedLayer?.serverGens,r=this.associatedLayer?.getAtOrigin("fullExtent","service");if(!oe()||null==this.associatedLayer?.infoFor3D||!r||!E(this.associatedLayer?.url)||!e||this.serviceUpdateTimeStamp?.lastUpdate===e.getTime()||!this.serviceUpdateTimeStamp&&t?.minServerGen===t?.serverGen)return;f(this).setAtOrigin("fullExtent",r.clone(),v.SERVICE)}_applyAssociatedLayerPrivileges(){const e=this.associatedLayer;e&&(this._set("userHasEditingPrivileges",e.userHasEditingPrivileges),this._set("userHasFullEditingPrivileges",e.userHasFullEditingPrivileges),this._set("userHasUpdateItemPrivileges",e.userHasUpdateItemPrivileges))}async _setAssociatedFeatureLayer(e){if(["mesh-pyramids","points"].includes(this.profile))try{const{serverUrl:t,layerId:r,portalItem:i}=await A(`${this.url}/layers/${this.layerId}`,{sceneLayerItem:this.portalItem,apiKey:this.apiKey,signal:e}),s=await J.FeatureLayer();this.associatedLayer=new s({url:t,layerId:r,portalItem:i}),await this.associatedLayer.load()}catch(t){y(t)||this._logWarningOnPopupEnabled()}}async _logWarningOnPopupEnabled(){await u((()=>this.popupEnabled&&null!=this.popupTemplate));const e=`this SceneLayer: ${this.title}`;null==this.attributeStorageInfo?l.getLogger(this).warn(`Associated FeatureLayer could not be loaded and no binary attributes found. Popups will not work on ${e}`):l.getLogger(this).info(`Associated FeatureLayer could not be loaded. Falling back to binary attributes for Popups on ${e}`)}_validateElevationInfo(){const e=this.elevationInfo;"mesh-pyramids"===this.profile&&re(l.getLogger(this),ie("Mesh scene layers","relative-to-scene",e)),re(l.getLogger(this),se("Scene layers",e))}};e([h({types:{key:"type",base:G,typeMap:{selection:Q}},json:{origins:{"web-scene":{name:"layerDefinition.featureReduction",write:!0},"portal-item":{name:"layerDefinition.featureReduction",write:!0}}}})],ce.prototype,"featureReduction",void 0),e([h({type:[X],json:{read:!1,origins:{"web-scene":{name:"layerDefinition.rangeInfos",write:!0},"portal-item":{name:"layerDefinition.rangeInfos",write:!0}}}})],ce.prototype,"rangeInfos",void 0),e([h({json:{read:!1}})],ce.prototype,"associatedLayer",void 0),e([h({type:["show","hide"]})],ce.prototype,"listMode",void 0),e([h({type:["ArcGISSceneServiceLayer"]})],ce.prototype,"operationalLayerType",void 0),e([h({json:{read:!1},readOnly:!0})],ce.prototype,"type",void 0),e([h({...ue.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],ce.prototype,"fields",void 0),e([h()],ce.prototype,"types",null),e([h()],ce.prototype,"typeIdField",null),e([h()],ce.prototype,"templates",null),e([h()],ce.prototype,"formTemplate",null),e([h({readOnly:!0,clonable:!1})],ce.prototype,"fieldsIndex",null),e([h({type:Z,json:{read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo"}}})],ce.prototype,"floorInfo",void 0),e([h(ue.outFields)],ce.prototype,"outFields",void 0),e([h({type:H,readOnly:!0,json:{read:!1}})],ce.prototype,"nodePages",void 0),e([m("service","nodePages",["nodePages","pointNodePages"])],ce.prototype,"readNodePages",null),e([h({type:[M],readOnly:!0})],ce.prototype,"materialDefinitions",void 0),e([h({type:[$],readOnly:!0})],ce.prototype,"textureSetDefinitions",void 0),e([h({type:[z],readOnly:!0})],ce.prototype,"geometryDefinitions",void 0),e([h({readOnly:!0})],ce.prototype,"serviceUpdateTimeStamp",void 0),e([h({readOnly:!0})],ce.prototype,"attributeStorageInfo",void 0),e([h({readOnly:!0})],ce.prototype,"statisticsInfo",void 0),e([h({type:a.ofType(Number),nonNullable:!0,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.excludeObjectIds",write:{enabled:!0}}})],ce.prototype,"excludeObjectIds",void 0),e([h({type:String,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],ce.prototype,"definitionExpression",void 0),e([h({type:Y,json:{name:"layerDefinition.polygonFilter",write:{enabled:!0,allowNull:!0},origins:{service:{read:!1,write:!1}}}})],ce.prototype,"filter",void 0),e([h({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],ce.prototype,"path",void 0),e([h(T)],ce.prototype,"elevationInfo",null),e([h({readOnly:!0,json:{read:!1}})],ce.prototype,"effectiveCapabilities",null),e([h({readOnly:!0})],ce.prototype,"effectiveEditingEnabled",null),e([h({type:String})],ce.prototype,"geometryType",null),e([h(D)],ce.prototype,"labelsVisible",void 0),e([h({type:[W],json:{origins:{service:{name:"drawingInfo.labelingInfo",read:{reader:B},write:!1}},name:"layerDefinition.drawingInfo.labelingInfo",read:{reader:B},write:!0}})],ce.prototype,"labelingInfo",void 0),e([h(U)],ce.prototype,"legendEnabled",void 0),e([h({type:Number,json:{origins:{"web-document":{default:1,write:{enabled:!0,target:{opacity:{type:Number},"layerDefinition.drawingInfo.transparency":{type:Number}}},read:{source:["opacity","layerDefinition.drawingInfo.transparency"],reader(e,t){if("number"==typeof e&&e>=0&&e<=1)return e;const r=t.layerDefinition?.drawingInfo?.transparency;return void 0!==r?de(r):void 0}}},"portal-item":{write:!0},service:{read:!1}}}})],ce.prototype,"opacity",void 0),e([h({type:["Low","High"],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],ce.prototype,"priority",void 0),e([h({type:["Labels"],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],ce.prototype,"semantic",void 0),e([h({types:i,json:{origins:{service:{read:{source:"drawingInfo.renderer"}}},name:"layerDefinition.drawingInfo.renderer",write:!0},value:null})],ce.prototype,"renderer",null),e([h({json:{read:!1}})],ce.prototype,"cachedDrawingInfo",void 0),e([m("service","cachedDrawingInfo")],ce.prototype,"readCachedDrawingInfo",null),e([h({readOnly:!0,json:{read:!1}})],ce.prototype,"capabilities",null),e([h({type:Boolean,json:{read:!1}})],ce.prototype,"editingEnabled",null),e([h({readOnly:!0,json:{write:!1,read:!1}})],ce.prototype,"infoFor3D",null),e([h({readOnly:!0,json:{write:!1,read:!1}})],ce.prototype,"relationships",null),e([h(x)],ce.prototype,"popupEnabled",void 0),e([h({type:r,json:{name:"popupInfo",write:!0}})],ce.prototype,"popupTemplate",void 0),e([h({readOnly:!0,json:{read:!1}})],ce.prototype,"defaultPopupTemplate",null),e([h({type:String,json:{read:!1}})],ce.prototype,"objectIdField",void 0),e([m("service","objectIdField",["objectIdField","fields"])],ce.prototype,"readObjectIdField",null),e([h({type:String,json:{read:!1}})],ce.prototype,"globalIdField",void 0),e([m("service","globalIdField",["globalIdField","fields"])],ce.prototype,"readGlobalIdField",null),e([h({readOnly:!0,type:String,json:{read:!1}})],ce.prototype,"displayField",null),e([h({type:String,json:{read:!1}})],ce.prototype,"profile",void 0),e([m("service","profile",["store.profile"])],ce.prototype,"readProfile",null),e([h({readOnly:!0,type:String,json:{origins:{service:{read:{source:"store.normalReferenceFrame"}}},read:!1}})],ce.prototype,"normalReferenceFrame",void 0),e([h(R)],ce.prototype,"screenSizePerspectiveEnabled",void 0),e([h({json:{read:!1,origins:{service:{read:!0}}}})],ce.prototype,"serviceItemId",void 0),ce=e([g("esri.layers.SceneLayer")],ce);const he={"mesh-pyramids":"mesh-pyramids",meshpyramids:"mesh-pyramids","features-meshes":"mesh-pyramids",points:"points","features-points":"points",lines:"lines","features-lines":"lines",polygons:"polygons","features-polygons":"polygons"},fe={"mesh-pyramids":"mesh",points:"point",lines:"polyline",polygons:"polygon"},me=ce;export{me 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 t from"../../../core/Accessor.js";import has from"../../../core/has.js";import i from"../../../core/Logger.js";import s from"../../../core/PooledArray.js";import{EsriPromiseMixin as a}from"../../../core/Promise.js";import{isAbortError as r}from"../../../core/promiseUtils.js";import{watch as d,initial as o,sync as n}from"../../../core/reactiveUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import{projectBoundingRect as u}from"../../../geometry/projection/projectBoundingRect.js";import{create as _,intersectsSphere as c}from"../../../geometry/support/aaBoundingRect.js";import{makeDehydratedPoint as p}from"../dehydratedPoint.js";import{PromiseQueue as g}from"../../support/PromiseQueue.js";import{viewingModeFromString as m}from"../../../views/ViewingMode.js";import{I3SClientNodeLoader as y}from"../../../views/3d/layers/i3s/I3SClientNodeLoader.js";import{addCallback as x}from"../../../views/3d/layers/i3s/I3SFrameTask.js";import{I3SIndex as f}from"../../../views/3d/layers/i3s/I3SIndex.js";import b from"../../../views/3d/layers/i3s/I3SLodHandling.js";import{NodeState as N,CacheState as w}from"../../../views/3d/layers/i3s/I3SNode.js";import v from"../../../views/3d/layers/i3s/I3SNodeLoader.js";import{I3SStreamDataController as C}from"../../../views/3d/layers/i3s/I3SStreamDataController.js";import{getVertexCrs as D,getIndexCrs as L,findIntersectingNodes as S}from"../../../views/3d/layers/i3s/I3SUtil.js";import V from"../../../views/3d/layers/i3s/I3SViewportQueries.js";import{FadeDirection as I}from"../../../views/3d/layers/support/I3SLayerView.js";import{toBoundingRect as A}from"../../../views/3d/support/extentUtils.js";import{ClientType as M,maxDownloadSlots as O}from"../../../views/3d/support/index.js";import{minQuality as F}from"../../../views/3d/support/MemoryController.js";import{extractSafeScaleBounds as P,scaleBoundsPredicate as U}from"../../../views/support/layerViewUtils.js";import{noBudget as G}from"../../../views/support/Scheduler.js";const q="esri.layers.graphics.controllers.I3SOnDemandController",j=i.getLogger(q),T=100,Q=2,E=1e4,H=1e-4,k=1.2,R=500,B=1.5;let z=class extends(a(t)){get isMeshPyramid(){return"mesh-pyramids"===this.layer.profile||"MeshPyramid"===this.layer.store?.lodType}get isGraphics3D(){return"points"===this.layer.profile}get useMaximumNumberOfFeatures(){return!this.isMeshPyramid&&(null==this.layer.priority||"High"===this.layer.priority)}get indexStreamController(){const e=this.layerView.view.resourceController.createStreamDataRequester(M.I3S_INDEX);return new C(e,this.layer.apiKey)}get dataStreamController(){const e=this.layerView.view.resourceController.createStreamDataRequester(M.I3S_DATA);return new C(e,this.layer.apiKey)}get crsVertex(){return D(this.layer)}get crsIndex(){return L(this.layer)}get layer(){return this.layerView.i3slayer}get running(){return this.updating}get rootNodeVisible(){if(null!=this._index){const e=this._index.rootNode;if(null!=e)return this._updateViewData(),this._index.isNodeVisible(e.index)}return!0}get index(){return this._index}constructor(e){super(e),this.screenSizeFactor=0,this.featureTarget=5e4,this.fixedFeatureTarget=!1,this.updating=!0,this.updatingProgress=1,this.leavesReached=!1,this.scaleVisibilityEnabled=!0,this.worker=null,this._featureLOD=1,this._stableFeatureLOD=!1,this._isIdle=!1,this._cameraDirty=!0,this._invisibleDirty=!1,this._idleStateCallbacks=null,this._newLoadingNodes=new s({deallocator:null}),this._loadedNodeScales=new Map,this._modificationsNodeFilteringArray=new s,this._downloadingCount=0,this._loadingNodes=new Map,this._updatingNodes=new Map,this._progressMaxNumNodes=1,this._requiredAttributes=new Array,this._requiredAttributesDirty=!0,this._updatesDisabled=!1,this.disableIDBCache=!1,this._disableMemCache=!1,this._restartNodeLoading=!1,this._fields=null,this._attributeStorageInfo=null,this._idleQueue=new g,this._elevationUpdateNodes=new s({deallocator:null}),this._errorCount=0}initialize(){const{layerView:e,layer:t}=this;this._disableMemCache=!e.loadCachedGPUData||!e.addCachedGPUData,this._lodHandling=new b(e),this._defaultGeometrySchema=t.store.defaultGeometrySchema,this.disableIDBCache=has("disable-feature:idb-cache"),"fields"in t&&(this._fields=t.fields,this._attributeStorageInfo=t.attributeStorageInfo),this.addResolvingPromise(Promise.all([t.indexInfo,t.when(),e.when()]).then((([i])=>{if(this.destroyed||!e||e.destroyed||!i)return;const{view:s,clientGeometry:a}=e,{resourceController:r}=s;if(this._setClippingArea(s.clippingArea),this.addHandles([d((()=>s?.pointsOfInterest?.focus?.renderLocation),(e=>this._pointOfInterestChanged(e)),o),d((()=>s.quality),(()=>this._setCameraDirty()),n),d((()=>e.contentVisible),(e=>{const t=e?()=>this._updateIdleState(!0):()=>this._updateViewData(),i=e?()=>this._updateIdleState(!1):()=>{};e&&null!=this._index&&this._index.invalidateAllElevationRanges(),this._idleStateCallbacks?(e||this.cancelNodeLoading(),this.restartNodeLoading(),this._idleStateCallbacks.idleBegin=t,this._idleStateCallbacks.idleEnd=i):this._idleStateCallbacks=r.scheduler.registerIdleStateCallbacks(t,i)}),o),x(e.view.resourceController.scheduler,this),d((()=>e.uncompressedTextureDownsamplingEnabled),(()=>this.restartNodeLoading())),d((()=>[this.featureTarget,this.fixedFeatureTarget]),(()=>{this._setCameraDirty(),this._stableFeatureLOD=!1})),d((()=>s.state?.contentCamera),(()=>this._setCameraDirty())),d((()=>t.elevationInfo),(e=>this._elevationInfoChanged(e))),d((()=>t.effectiveScaleRange),(()=>this._scaleBoundsChanged())),d((()=>e.lodFactor),(()=>this._setCameraDirty())),d((()=>e.availableFields),(()=>this._requiredFieldsChange())),d((()=>e.holeFilling),(e=>null!=this._index&&(this._index.holeFilling=e)))]),this._updateScaleHandles(),this._viewportQueries=new V(this.crsIndex,s.renderCoordsHelper,s.state.contentCamera,!s.state.fixedContentCamera||this.isGraphics3D,this._clippingArea,this.isMeshPyramid?s.basemapTerrain:s.elevationProvider,m(s.viewingMode),this.layer.elevationInfo,{progressiveLoadFactor:this._getProgressiveLoadFactor(),screenspaceErrorBias:this._lod,angleDependentLoD:this._lod<.5}),this._clientNodeLoader=new y(this.layer.uid,this.crsIndex,s.renderCoordsHelper.spatialReference,s.resourceController.memoryController,this.worker),this._index=new f(t,i,this.indexStreamController,this._clientNodeLoader,this._viewportQueries,j,e.holeFilling,(t=>e.isNodeLoaded(t)),(t=>e.isNodeReloading(t)),(e=>this._shouldLoadNode(e)),(e=>this._enableFromGPUCache(e,N.Leaf)),(e=>this._needsUpdate(e)),(()=>!this.indexStreamController.busy),(t=>e.computeVisibilityObb?e.computeVisibilityObb(t):null),e?.computeNodeFiltering?t=>e.computeNodeFiltering(t):void 0),this._index.updateElevationInfo(this.layer.elevationInfo,this.isMeshPyramid||this.isGraphics3D),this._index.imModificationsChanged(!!e.hasModifications),this._index.layerFilterChanged(!!e.hasGeometryFilter),null!=a){for(const e of a)this._addMesh(e.mesh,e.oid);this.addHandles(a.on("change",(e=>{for(const t of e.removed)this._removeMesh(t.oid);for(const t of e.added)this._addMesh(t.mesh,t.oid)})))}this._startNodeLoading()}))),this._tmpPoint=p(0,0,0,this.crsIndex)}updateNodeModificationStatus(e){const t=this._index,i=this.layerView;null!=t&&i?.updateNodeModificationStatus&&(this._modificationsNodeFilteringArray.clear(),e.forAll((e=>{const i=t.getNode(e);null!=i&&this._modificationsNodeFilteringArray.push(i)})),i.updateNodeModificationStatus(this._modificationsNodeFilteringArray),this._invisibleDirty=!0)}destroy(){this.cancelNodeLoading(),this._idleStateCallbacks&&(this._isIdle=!1,this._idleStateCallbacks.remove(),this._idleStateCallbacks=null),this._nodeLoader=null,K.prune(),null!=W&&(W.hide(),W=null)}_getRequiredAttributes(){if(null==this._attributeStorageInfo||!this._fields||!this.layerView.availableFields)return[];const e=this._attributeStorageInfo,t=this._fields,i=this.layer.objectIdField;return this.layerView.availableFields.map((i=>{const s=$(e,i),a=$(t,i);return s>=0&&a>=0?{index:s,name:t[a].name,field:t[a],attributeStorageInfo:e[s]}:null})).filter((e=>null!=e&&e.name!==i))}_requiredFieldsChange(){const e=this._getRequiredAttributes();X(this._requiredAttributes,e)||(this._requiredAttributes=e,this._requiredAttributesDirty=!1,this.restartNodeLoading())}requestUpdate(){this._requiredAttributesDirty=!0,this.restartNodeLoading()}_setClippingArea(e){const t=_();A(e,t,this.layerView.view.renderSpatialReference)?this._clippingArea=t:this._clippingArea=null}_pointOfInterestChanged(e){null!=this._viewportQueries&&(this._viewportQueries.setPointOfInterest(e),null!=this._index&&(this._index.progressiveLoadPenalty=J.distancePenalty*this._viewportQueries.distCameraToPOI(),this._index.requestUpdate()))}updateClippingArea(e){this._setClippingArea(e),null!=this._viewportQueries&&null!=this._index&&(this._viewportQueries.updateClippingArea(this._clippingArea),this._index.invalidateVisibilityCache()),this._setCameraDirty()}_setCameraDirty(){this._cameraDirty=!0,this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating()}_addMesh(e,t){if(null==this._index)return;const i=this._clientNodeLoader.createMeshNodeInfo(e,t),s=this._index.addClientNodeToIndex(i.id,i.mbs);this._clientNodeLoader.addMeshNode(s,i),this._evaluateUpdating(),this.notifyChange("rootNodeVisible")}_removeMesh(e){const t=this._clientNodeLoader.getMeshNodeIndex(e);if(null!=t){if(null==this._index)throw new Error("delayed removal of client side i3s node geometry not supported yet.");{const e=(e,t)=>{this.layerView.removeNode(t),this._loadedNodeScales.delete(t),this._clientNodeLoader.removeNode(e),this.layerView.deleteCachedNodeData&&null!=e&&this.layerView.deleteCachedNodeData(e),this.layerView.deleteCachedGPUData?.(this.layerView.loadCachedGPUData?.(t))},i=(e,t,i)=>{this._clientNodeLoader.updateNodeIndex(e,t,i),this.layerView.updateNodeIndex&&this.layerView.updateNodeIndex(t,i)};this._index.removeClientNodeFromIndex(t,e,i),this.notifyChange("rootNodeVisible")}}}updateElevationChanged(e,t){const i=this._index;if(null==i?.rootNode||null==t)return null;this.crsIndex.equals(t)||(u(e,t,Y,this.crsIndex),e=Y);const s=this._elevationUpdateNodes;return s.clear(),S(e,i.rootNode,i,(e=>s.push(e.index))),s.length&&(s.forAll((e=>i.updateElevationChanged(e))),this._setCameraDirty()),s}removeAllGeometryObbs(){null!=this._index&&this._index.removeAllGeometryObbs()}getRenderMbs(e){return null!=this._viewportQueries?this._viewportQueries.getRenderMbs(e):null}_elevationInfoChanged(e){null!=this._index&&(this._index.updateElevationInfo(e,this.isMeshPyramid||this.isGraphics3D),this._setCameraDirty())}_updateScaleHandles(){const e="scale-bounds";this.removeHandles(e),this._areScaleBoundsActive&&this.addHandles(this.layerView.view.basemapTerrain.on("scale-change",(e=>this._scaleUpdateHandler(e))),e)}_scaleBoundsChanged(){this._areScaleBoundsActive||this._loadedNodeScales.clear(),this._updateScaleHandles(),this._setCameraDirty()}_scaleUpdateHandler(e){this._updateScaleInBoundingRect(e.extent,e.spatialReference),this._setCameraDirty()}_updateScaleInBoundingRect(e,t){const i=this._index;if(null==i)return;null!=i.rootNode&&u(e,t,Y,this.crsIndex)&&this._loadedNodeScales.forEach(((e,t)=>{const s=i.getNode(t);null!=s&&c(Y,s.mbs)&&this._loadedNodeScales.set(t,this._computeScale(s))}))}restartNodeLoading(){this._restartNodeLoading=!0,this.cancelNodeLoading(),this._evaluateUpdating()}schedule(e,t){return this._idleQueue.push(e,t)}reschedule(e,t){return this._idleQueue.unshift(e,t)}get _isIntegratedMesh(){return"integrated-mesh"===this.layer.type}get _areScaleBoundsActive(){const{minScale:e,maxScale:t}=P(this.layer);return this.scaleVisibilityEnabled&&(e>0||t>0)}get unloadedMemoryEstimate(){return null!=this._index&&this.layerView.contentVisible?this._index.unloadedMemoryEstimate*this._lodDropFactor:0}async _loadNodeData(e,t){return e.index<0?this._clientNodeLoader.loadNodeData(e.id,t):this._nodeLoader.loadNodeData(e,t)}async _loadAttributes(e,t,i){return(e.index<0?this._clientNodeLoader:this._nodeLoader).loadAttributes(e,t,i)}get indexDepth(){return null!=this._index?this._index.maxLevel:0}set disableMemCache(e){this.layerView.loadCachedGPUData&&this.layerView.addCachedGPUData||(this._disableMemCache=!0),this._disableMemCache=e}runTask(e,t){return this.layerView.contentVisible?this.layerView.visible&&null!=this._index?(this._processWithErrorLogging(e,t),this._index.maxPriority):-1/0:(this._updateViewData(),this._evaluateUpdating(),-1/0)}_processWithErrorLogging(e,t){try{this._process(e,t)}catch(i){this._errorCount<50?j.error("Error during processing: "+i):50===this._errorCount&&j.error("Too many errors for this layer. Further errors will not be displayed."),this._errorCount++}}_process(e,t){this._restartNodeLoading&&this._startNodeLoading(),null!=this._nodeLoader&&null!=this._index&&(this._updateViewData(),this._invisibleDirty&&this._removeInvisibleNodes(e)&&(this._invisibleDirty=!1),this._isIntegratedMesh&&(e.enabled=!1),e.run((()=>this._processIndex(e))),this._updateFeatureLOD(),e.run((()=>this._processCache(e))),this._isIntegratedMesh&&(e.enabled=!0),e.run((()=>this._processNodes(e,t))),this._idleQueue.runTask(e),e.run((()=>this._prefetchIndex())),t.numIndexLoading+=this._index.indexLoading,t.numNodesLoading+=this._downloadingCount,e.run((()=>this._lodHandling.lodGlobalHandling(e))),this._evaluateUpdating())}_processIndex(e){if(null==this._index)return!1;if(this._index.dirty){this._newLoadingNodes.clear(),this._index.update(Array.from(this._loadingNodes.keys()),e,(e=>this.updateNodeModificationStatus(e))),this._disableMemCache||(this._newLoadingNodes.pushArray(this._index.updates.add.data,this._index.updates.add.length),this._newLoadingNodes.pushArray(this._index.updates.missing.data,this._index.updates.missing.length));const t=this._index.featureEstimate.leavesReached;this._index.isLoading||t===this._get("leavesReached")||this._set("leavesReached",t)}return this._index.load()}_prefetchIndex(){return!(null==this._index||this._loadingNodes.size>0||this._index.updates.add.length>0)&&this._index.prefetch()}_updateFeatureLOD(){if(!this.useMaximumNumberOfFeatures||null==this._index||null==this._viewportQueries)return;const e=!this._index.isLoading,t=this.featureTarget*this._baseLOD,i=this._index.featureEstimate;if(i.estimate=i.estimate||t/2,this._index.indexMissing>R){if(this._featureLOD<=H)return;this._featureLOD/=B,this._stableFeatureLOD=!1}else if(e&&i.estimate<t){if(i.leavesReached||this._featureLOD>=E||this._stableFeatureLOD)return;const e=Math.min(10,Math.max(t/i.estimate,1.001));this._featureLOD*=e;const s=this._lod,a=this._index.checkFeatureTarget(t,s);a!==s&&(this._featureLOD=a/this._baseLOD,this._stableFeatureLOD=!0)}else{if(!(i.estimate>t*k||e&&i.estimate>t))return;if(this._featureLOD<=H)return;this._featureLOD/=1+.25*(i.estimate/t-1),this._stableFeatureLOD=!1}this._featureLOD=Math.min(E,Math.max(H,this._featureLOD)),this._viewportQueries.updateScreenSpaceErrorBias(this._lod),this._index.requestUpdate()}_processCache(e){const t=this._index;if(null==t)return!1;for(;this._newLoadingNodes.length>0&&!e.done;){const i=this._newLoadingNodes.pop();for(let s=t.getParent(i);null!=s&&(!this.layerView.isNodeLoaded(s.index)&&this._isNodeInScaleBounds(s));s=t.getParent(s.index))if(this._enableFromGPUCache(s,N.Hole)){e.madeProgress();break}}return e.hasProgressed}_processNodes(e,t){if(null==this._index)return!1;let i=(this._isIdle?T:Q)-this._loadingNodes.size;const s=this._index.updates;for(s.cancel.forEach(this._cancelNode,this),s.cancel=[];s.remove.length>0&&!e.done;)this.layerView.removeNode(s.remove.pop()),e.madeProgress();for(;s.update.length>0&&!e.done;){const t=this._index.getNode(s.update.pop());null!=t&&(this._updateLoadedNode(t),e.madeProgress())}for(;s.add.length>0&&!e.done&&i>0;){--i;const a=this._index.getNode(s.add.back());if(null==a||a.cacheState!==w.Cached&&!this._hasNodeLoadToken(t))break;s.add.pop(),this._loadNode(a),e.madeProgress()}return e.hasProgressed}_cancelAllNodes(){this._loadingNodes.forEach((e=>e.abort())),this._loadingNodes.clear(),this._updatingNodes.forEach((e=>e.abort())),this._updatingNodes.clear()}_cancelNode(e){const t=this._loadingNodes.get(e);t&&(t.abort(),this._loadingNodes.delete(e))}_hasNodeLoadToken(e){return!(!this._isIdle&&e.numNodesLoading+this._loadingNodes.size>=Q)&&(this._downloadingCount<O&&!this.dataStreamController.busy)}_evaluateUpdating(){let e=!1,t=0;if(this.layerView){if(this.layerView.contentVisible){const i=(null!=this._index?this._index.indexMissing:0)+3*(null!=this._index?this._index.updates.add.length:0)+2*this._loadingNodes.size;e=!!(i>0||this._updatingNodes.size>0||this._restartNodeLoading||this._cameraDirty||this._idleQueue.running||this._lodHandling&&this._lodHandling.requiresLODGlobalHandling||null!=this._index&&this._index.isPrefetching),0===i&&(this._progressMaxNumNodes=1),this._progressMaxNumNodes=Math.max(i,this._progressMaxNumNodes),t=1-i/this._progressMaxNumNodes}else e=this._cameraDirty,t=e?0:1;this.updating=e,this.updatingProgress=t}}_updateViewData(){if(!this._cameraDirty||null==this._index||null==this._viewportQueries)return;const e=this.layerView.view,{contentCamera:t,fixedContentCamera:i}=e.state;this.screenSizeFactor=1/(t.perScreenPixelRatio/2),this._viewportQueries.updateCamera(t,!i||this.isGraphics3D),this._viewportQueries.setPointOfInterest(e.pointsOfInterest.focus.renderLocation),this._viewportQueries.updateScreenSpaceErrorBias(this._lod),this._index.invalidateVisibilityCache(),this._index.progressiveLoadPenalty=J.distancePenalty*this._viewportQueries.distCameraToPOI(),this._index.requestUpdate(),this._stableFeatureLOD=!1,this._invisibleDirty=!0,this._cameraDirty=!1,this.notifyChange("rootNodeVisible")}_getProgressiveLoadFactor(){return this.layerView.view.quality<1?1:this.layerView.progressiveLoadFactor}get _lod(){return this._featureLOD*this._baseLOD}get _baseLOD(){const e=this.layerView.lodFactor;return this.fixedFeatureTarget?1:(e>0?e:1)*this.layerView.view.quality}get _lodDropFactor(){if(this.fixedFeatureTarget)return 1;return(Math.min(this.layerView.view.quality,.5)-F)/(.5-F)}isGeometryVisible(e){return null!=this._index&&this._index.isGeometryVisible(e.index)}updateVisibility(e){null!=this._index&&this._index.invalidateNodeVisibilityCache(e)}invalidateGeometryVisibility(e){null!=this._index&&this._index.invalidateGeometryVisibility(e)}invalidateVisibilityObbs(){null!=this._index&&this._index.invalidateVisibilityObbs()}modificationsChanged(){null!=this._index&&this._index.imModificationsChanged(!!this.layerView.hasModifications),this._invisibleDirty=!0}_shouldLoadNode(e){return!(!this._lodHandling.shouldLoadNode(e)||this._shouldDropNode(e))&&(!(null==this._index||!this._index.isGeometryVisible(e.index))&&this._isNodeInScaleBounds(e))}_shouldDropNode(e){if(null==this._viewportQueries)return!1;const t=this._lodDropFactor;if(t>=1||!this._lodHandling.hasNoVisibleChildren(e))return!1;return Math.abs(this._viewportQueries.calcCameraDistanceToCenter(e))-this._viewportQueries.minDistance>(this._viewportQueries.maxDistance-this._viewportQueries.minDistance)*t}_startNodeLoading(){this._restartNodeLoading=!1;const e=this._index;if(this._updatesDisabled||null==e||null==this._viewportQueries)return;this._updateViewData(),this._requiredAttributesDirty&&(this._requiredAttributes=this._getRequiredAttributes(),this._requiredAttributesDirty=!1);const t={textureEncodings:this.layerView.supportedTextureEncodings,uncompressedTextureDownsamplingEnabled:this.layerView.uncompressedTextureDownsamplingEnabled,textureUsageMask:this.layerView.rendererTextureUsage,loadFeatureData:this.useMaximumNumberOfFeatures};this._nodeLoader=new v(this.layer,this.dataStreamController,j,this._defaultGeometrySchema,this._requiredAttributes,t),e.requestUpdate(),this._lodHandling.startNodeLoading((e=>this._isNodeInScaleBounds(e)),((e,t)=>this._removeNodes(e,t,Z.fadeout)),e,{maxLodLevel:this._viewportQueries.maxLodLevel}),this._evaluateUpdating()}isNodeLoading(){return null!=this._nodeLoader&&null!=this._index}cancelNodeLoading(){this.isNodeLoading()&&(this.indexStreamController.cancelAll(),this.dataStreamController.cancelAll(),this._idleQueue.cancelAll(),this._cancelAllNodes(),this._nodeLoader=null,this._evaluateUpdating())}_removeInvisibleNodes(e){const t=this._index;if(null==t||null==this._viewportQueries)return!1;K.clear(),this.layerView.getLoadedNodeIndices(K);const i=0===this._viewportQueries.maxDistance,s=i?()=>!1:e=>this._shouldDropNode(e);return K.filterInPlace((e=>{const i=t.getNode(e);return null==i||!t.isGeometryVisible(e)||s(i)||!this._isNodeInScaleBounds(i)})),K.length>0&&this._lodHandling.setLodGlobalDirty(),this._removeNodes(K,e,Z.pop),!(i&&this._lodDropFactor<1)&&(0===K.length||(K.clear(),!1))}markNodeToRemove(e){K.push(e)}removeMarkedNodes(){this._removeNodes(K,G,Z.pop)}_removeNodes(e,t,i){const s=e.length;if(0!==s&&!t.done){for(null!=this._index&&this._index.requestUpdate();e.length>0&&!t.done;){const s=e.pop(),a=this._index;i===Z.fadeout&&this.layerView.nodeFadeoutEnabled&&null!=a&&a.isGeometryVisible(s)?this.layerView.fadeNode(s,I.FadeOut,!0):this.layerView.removeNode(s),t.madeProgress()}if(this._loadedNodeScales.size>0)for(let t=e.length;t<s;t++){const i=e.data[t];this._loadedNodeScales.delete(i)}}}_needsUpdate(e){if(e.resources.isEmpty||this._updatingNodes.has(e.index))return!1;const t=this.layerView.getLoadedAttributes(e.index);return null!=t&&t!==this._requiredAttributes}async _updateLoadedNode(e){const t=new AbortController;this._updatingNodes.set(e.index,t),this._evaluateUpdating();try{const i=X(this.layerView.getLoadedAttributes(e.index),this._requiredAttributes);let s=null;s=i?await Promise.resolve(this.layerView.getAttributeData(e.index)):await this._loadAttributes(e,this._requiredAttributes,t.signal),await this.schedule((()=>this.layerView.updateAttributes(e.index,{loadedAttributes:this._requiredAttributes,attributeData:s},t.signal)),t.signal)}catch(i){if(!r(i))return this.layerView.updateAttributes(e.index,{loadedAttributes:this._requiredAttributes,attributeData:{}},t.signal)}this._updatingNodes.delete(e.index),this._evaluateUpdating()}_loadNode(e){if(this._loadingNodes.has(e.index))return void j.error("already loading node "+e.index);const t=new AbortController;this._loadingNodes.set(e.index,t),this._evaluateUpdating(),this._loadAndAddNode(e,t.signal).then((i=>{i&&null!=this._index&&this._loadingNodes.get(e.index)===t&&(this._loadingNodes.delete(e.index),this._index.requestUpdate())})).catch((e=>{if(!r(e))throw e})).finally((()=>{this._loadingNodes.get(e.index)===t&&this._loadingNodes.delete(e.index),this._evaluateUpdating()}))}_loadAndAddNode(e,t){return e.cacheState===w.Uncached?this._loadUncached(e,t).then((()=>!1)):this._loadCached(e,t).then((t=>!t&&(e.cacheState=w.Uncached,!0))).catch((t=>!r(t)&&(e.cacheState=w.Uncached,!0)))}_enableFromGPUCache(e,t){if(this._disableMemCache||null==this._index)return!1;if(t===N.Hole&&!this._index.useNodeAsHole(e.index))return!0;const i=this._loadCachedGPUData(e);return!!i&&(this.layerView.addCachedGPUData(e,i,t),this._nodeAdded(),!0)}_loadCachedGPUData(e){const t=this.layerView.loadCachedGPUData(e.index);return null!=t?.attributeInfo&&X(t.attributeInfo.loadedAttributes,this._requiredAttributes)?t:(this.layerView.deleteCachedGPUData(t),null)}_nodeAdded(){null!=this._index&&this._index.requestUpdate(),this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating()}updateLoadStatus(e,t){const i=this._index;null!=i&&i.updateChildrenLoaded(e,t?1:-1)}async _loadCached(e,t){if(this._enableFromGPUCache(e,N.Leaf))return!0;const i=this.layerView;if(this.disableIDBCache||!i.loadCachedNodeData||!i.addCachedNodeData)return!1;const s=(t,i)=>this._nodeLoader.loadTextures(e,t,i),a=(t,i)=>this._clientNodeLoader.loadTextures(e,t,i),r=e.index>=0?s:a,d=await this.schedule((()=>i.loadCachedNodeData(e,t,r)),t);if(null==d)return!1;const o=this._requiredAttributes,n=await this.reschedule((()=>this._loadAttributes(e,o,t)),t);return await this.reschedule((()=>i.addCachedNodeData(e,d,{loadedAttributes:o,attributeData:n},t)),t),this._nodeAdded(),!0}_loadUncached(e,t){return this._downloadingCount++,this._loadNodeData(e,t).catch((e=>{throw this._downloadingCount--,e})).then((i=>(this._downloadingCount--,this.schedule((()=>this.layerView.addNode(e,i,t)),t)))).then((()=>{this._nodeAdded(),e.cacheState=w.Cached})).catch((t=>{if(!r(t))throw j.error("#loadNodeData()",this.layer,`Failed to load node '${e.id}'`,t),e.failed=!0,null!=this._index&&this._index.requestUpdate(),t}))}_updateIdleState(e){e!==this._isIdle&&(this._isIdle=e,this._evaluateUpdating(),e&&this._index&&null!=this._index&&this._index.resetFailedNodes())}_getScale(e){if(this._loadedNodeScales.has(e.index))return this._loadedNodeScales.get(e.index);const t=this._computeScale(e);return this.layerView.isNodeLoaded(e.index)&&this._loadedNodeScales.set(e.index,t),t}_computeScale(e){this._tmpPoint.x=e.mbs[0],this._tmpPoint.y=e.mbs[1],this._tmpPoint.z=e.mbs[2];const t=e.mbs[3];return this.layerView.view.basemapTerrain.getSphereScale(this._tmpPoint,t)}_isNodeInScaleBounds(e){if(!this._areScaleBoundsActive)return!0;const t=this._getScale(e),{minScale:i,maxScale:s}=P(this.layer);return U(t,i,s)}updateStats(e){this.isGraphics3D&&(e.detail=this._featureLOD,e.target=this.featureTarget*this._baseLOD),this._index?.updateStats(e)}get test(){const e=this;return{index:this._index,set disableUpdates(t){e._updatesDisabled=t,t?e.cancelNodeLoading():e.requestUpdate()},set disableIDBCache(t){e.disableIDBCache=t},set ignoreServiceObb(t){null!=e._index&&(e._index.ignoreServiceObb=t)},shouldLoadNode:t=>e._shouldLoadNode(t)}}notifyLODUpdate(){this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating(),null!=this._index&&this._index.requestUpdate()}geometryFilterChanged(e){const t=this._index;null!=t&&t.layerFilterChanged(e),this._setCameraDirty()}};e([l({readOnly:!0})],z.prototype,"isMeshPyramid",null),e([l({readOnly:!0})],z.prototype,"isGraphics3D",null),e([l({readOnly:!0})],z.prototype,"useMaximumNumberOfFeatures",null),e([l({readOnly:!0})],z.prototype,"indexStreamController",null),e([l({readOnly:!0})],z.prototype,"dataStreamController",null),e([l({readOnly:!0})],z.prototype,"crsVertex",null),e([l({readOnly:!0})],z.prototype,"crsIndex",null),e([l()],z.prototype,"screenSizeFactor",void 0),e([l()],z.prototype,"featureTarget",void 0),e([l()],z.prototype,"fixedFeatureTarget",void 0),e([l()],z.prototype,"layerView",void 0),e([l()],z.prototype,"layer",null),e([l()],z.prototype,"updating",void 0),e([l({readOnly:!0})],z.prototype,"running",null),e([l()],z.prototype,"updatingProgress",void 0),e([l({readOnly:!0})],z.prototype,"leavesReached",void 0),e([l({constructOnly:!0})],z.prototype,"scaleVisibilityEnabled",void 0),e([l({constructOnly:!0})],z.prototype,"worker",void 0),e([l({readOnly:!0,dependsOn:[]})],z.prototype,"rootNodeVisible",null),z=e([h(q)],z);const K=new s({deallocator:null});let W;function X(e,t){return null!=e&&e.length===t.length&&e.every((e=>$(t,e.name)>=0))}function $(e,t){const i=t.toLowerCase();for(let s=0;s<e.length;s++)if(e[s].name.toLowerCase()===i)return s;return-1}const J={factorIM:.2,factor3dObject:.05,distancePenalty:10},Y=_();var Z;!function(e){e[e.pop=0]="pop",e[e.fadeout=1]="fadeout"}(Z||(Z={}));const ee=z;export{ee as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import has from"../../../core/has.js";import i from"../../../core/Logger.js";import s from"../../../core/PooledArray.js";import{EsriPromiseMixin as a}from"../../../core/Promise.js";import{isAbortError as r}from"../../../core/promiseUtils.js";import{watch as d,initial as o,sync as n}from"../../../core/reactiveUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import{projectBoundingRect as u}from"../../../geometry/projection/projectBoundingRect.js";import{create as _,intersectsSphere as c}from"../../../geometry/support/aaBoundingRect.js";import{makeDehydratedPoint as p}from"../dehydratedPoint.js";import{PromiseQueue as g}from"../../support/PromiseQueue.js";import{viewingModeFromString as m}from"../../../views/ViewingMode.js";import{I3SClientNodeLoader as y}from"../../../views/3d/layers/i3s/I3SClientNodeLoader.js";import{addCallback as f}from"../../../views/3d/layers/i3s/I3SFrameTask.js";import{I3SIndex as x}from"../../../views/3d/layers/i3s/I3SIndex.js";import b from"../../../views/3d/layers/i3s/I3SLodHandling.js";import{NodeState as N,CacheState as w}from"../../../views/3d/layers/i3s/I3SNode.js";import v from"../../../views/3d/layers/i3s/I3SNodeLoader.js";import{I3SStreamDataController as C}from"../../../views/3d/layers/i3s/I3SStreamDataController.js";import{getVertexCrs as D,getIndexCrs as L,findIntersectingNodes as S}from"../../../views/3d/layers/i3s/I3SUtil.js";import V from"../../../views/3d/layers/i3s/I3SViewportQueries.js";import{FadeDirection as I}from"../../../views/3d/layers/support/I3SLayerView.js";import{toBoundingRect as A}from"../../../views/3d/support/extentUtils.js";import{ClientType as M,maxDownloadSlots as O}from"../../../views/3d/support/index.js";import{minQuality as F}from"../../../views/3d/support/MemoryController.js";import{extractSafeScaleBounds as P,scaleBoundsPredicate as U}from"../../../views/support/layerViewUtils.js";import{noBudget as q}from"../../../views/support/Scheduler.js";const G="esri.layers.graphics.controllers.I3SOnDemandController",j=i.getLogger(G),T=100,Q=2,E=1e4,H=1e-4,k=1.2,R=500,B=1.5;let z=class extends(a(t)){get isMeshPyramid(){return"mesh-pyramids"===this.layer.profile||"MeshPyramid"===this.layer.store?.lodType}get isGraphics3D(){return"points"===this.layer.profile}get useMaximumNumberOfFeatures(){return!this.isMeshPyramid&&(null==this.layer.priority||"High"===this.layer.priority)}get indexStreamController(){const e=this.layerView.view.resourceController.createStreamDataRequester(M.I3S_INDEX);return new C(e,this.layer.apiKey)}get dataStreamController(){const e=this.layerView.view.resourceController.createStreamDataRequester(M.I3S_DATA);return new C(e,this.layer.apiKey)}get crsVertex(){return D(this.layer)}get crsIndex(){return L(this.layer)}get layer(){return this.layerView.i3slayer}get running(){return this.updating}get rootNodeVisible(){if(this._index){const e=this._index.rootNode;if(e)return this._updateViewData(),this._index.isNodeVisible(e.index)}return!0}get index(){return this._index}get requiredAttributes(){return this._requiredAttributes}constructor(e){super(e),this.screenSizeFactor=0,this.featureTarget=5e4,this.fixedFeatureTarget=!1,this.updating=!0,this.updatingProgress=1,this.leavesReached=!1,this.scaleVisibilityEnabled=!0,this.worker=null,this._featureLOD=1,this._stableFeatureLOD=!1,this._isIdle=!1,this._cameraDirty=!0,this._invisibleDirty=!1,this._idleStateCallbacks=null,this._newLoadingNodes=new s({deallocator:null}),this._loadedNodeScales=new Map,this._modificationsNodeFilteringArray=new s,this._downloadingCount=0,this._loadingNodes=new Map,this._updatingNodes=new Map,this._progressMaxNumNodes=1,this._requiredAttributes=new Array,this._requiredAttributesDirty=!0,this._updatesDisabled=!1,this.disableIDBCache=!1,this._disableMemCache=!1,this._restartNodeLoading=!1,this._fields=null,this._attributeStorageInfo=null,this._idleQueue=new g,this._elevationUpdateNodes=new s({deallocator:null}),this._errorCount=0}initialize(){const{layerView:e,layer:t}=this;this._disableMemCache=!e.loadCachedGPUData||!e.addCachedGPUData,this._lodHandling=new b(e),this._defaultGeometrySchema=t.store.defaultGeometrySchema,this.disableIDBCache=has("disable-feature:idb-cache"),"fields"in t&&(this._fields=t.fields,this._attributeStorageInfo=t.attributeStorageInfo),this.addResolvingPromise(Promise.all([t.indexInfo,t.when(),e.when()]).then((([i])=>{if(this.destroyed||!e||e.destroyed||!i)return;const{view:s,clientGeometry:a}=e,{resourceController:r}=s;if(this._setClippingArea(s.clippingArea),this.addHandles([d((()=>s?.pointsOfInterest?.focus?.renderLocation),(e=>this._pointOfInterestChanged(e)),o),d((()=>s.quality),(()=>this._setCameraDirty()),n),d((()=>e.contentVisible),(e=>{const t=e?()=>this._updateIdleState(!0):()=>this._updateViewData(),i=e?()=>this._updateIdleState(!1):()=>{};e&&null!=this._index&&this._index.invalidateAllElevationRanges(),this._idleStateCallbacks?(e||this.cancelNodeLoading(),this.restartNodeLoading(),this._idleStateCallbacks.idleBegin=t,this._idleStateCallbacks.idleEnd=i):this._idleStateCallbacks=r.scheduler.registerIdleStateCallbacks(t,i)}),o),f(e.view.resourceController.scheduler,this),d((()=>e.uncompressedTextureDownsamplingEnabled),(()=>this.restartNodeLoading())),d((()=>[this.featureTarget,this.fixedFeatureTarget]),(()=>{this._setCameraDirty(),this._stableFeatureLOD=!1})),d((()=>s.state?.contentCamera),(()=>this._setCameraDirty())),d((()=>t.elevationInfo),(e=>this._elevationInfoChanged(e))),d((()=>t.effectiveScaleRange),(()=>this._scaleBoundsChanged())),d((()=>e.lodFactor),(()=>this._setCameraDirty())),d((()=>e.availableFields),(()=>this._requiredFieldsChange())),d((()=>e.holeFilling),(e=>null!=this._index&&(this._index.holeFilling=e)))]),this._updateScaleHandles(),this._viewportQueries=new V(this.crsIndex,s.renderCoordsHelper,s.state.contentCamera,!s.state.fixedContentCamera||this.isGraphics3D,this._clippingArea,this.isMeshPyramid?s.basemapTerrain:s.elevationProvider,m(s.viewingMode),this.layer.elevationInfo,{progressiveLoadFactor:this._getProgressiveLoadFactor(),screenspaceErrorBias:this._lod,angleDependentLoD:this._lod<.5}),this._clientNodeLoader=new y(this.layer.uid,this.crsIndex,s.renderCoordsHelper.spatialReference,s.resourceController.memoryController,this.worker),this._index=new x(t,i,this.indexStreamController,this._clientNodeLoader,this._viewportQueries,j,e.holeFilling,(t=>e.isNodeLoaded(t)),(t=>e.isNodeReloading(t)),(e=>this._shouldLoadNode(e)),(e=>this._enableFromGPUCache(e,N.Leaf)),(e=>this._needsUpdate(e)),(()=>!this.indexStreamController.busy),(t=>e.computeVisibilityObb?e.computeVisibilityObb(t):null),e?.computeNodeFiltering?t=>e.computeNodeFiltering(t):void 0),this._index.updateElevationInfo(this.layer.elevationInfo,this.isMeshPyramid||this.isGraphics3D),this._index.imModificationsChanged(!!e.hasModifications),this._index.layerFilterChanged(!!e.hasGeometryFilter),null!=a){for(const e of a)this._addMesh(e.mesh,e.oid);this.addHandles(a.on("change",(e=>{for(const t of e.removed)this._removeMesh(t.oid);for(const t of e.added)this._addMesh(t.mesh,t.oid)})))}this._startNodeLoading()}))),this._tmpPoint=p(0,0,0,this.crsIndex)}updateNodeModificationStatus(e){const t=this._index,i=this.layerView;null!=t&&i?.updateNodeModificationStatus&&(this._modificationsNodeFilteringArray.clear(),e.forAll((e=>{const i=t.getNode(e);null!=i&&this._modificationsNodeFilteringArray.push(i)})),i.updateNodeModificationStatus(this._modificationsNodeFilteringArray),this._invisibleDirty=!0)}destroy(){this.cancelNodeLoading(),this._idleStateCallbacks&&(this._isIdle=!1,this._idleStateCallbacks.remove(),this._idleStateCallbacks=null),this._nodeLoader=null,K.prune(),null!=W&&(W.hide(),W=null)}_getRequiredAttributes(){if(null==this._attributeStorageInfo||!this._fields||!this.layerView.availableFields)return[];const e=this._attributeStorageInfo,t=this._fields,i=this.layer.objectIdField;return this.layerView.availableFields.map((i=>{const s=$(e,i),a=$(t,i);return s>=0&&a>=0?{index:s,name:t[a].name,field:t[a],attributeStorageInfo:e[s]}:null})).filter((e=>null!=e&&e.name!==i))}_requiredFieldsChange(){const e=this._getRequiredAttributes();X(this._requiredAttributes,e)||(this._requiredAttributes=e,this._requiredAttributesDirty=!1,this.restartNodeLoading())}requestUpdate(){this._requiredAttributesDirty=!0,this.restartNodeLoading()}_setClippingArea(e){const t=_();A(e,t,this.layerView.view.renderSpatialReference)?this._clippingArea=t:this._clippingArea=null}_pointOfInterestChanged(e){null!=this._viewportQueries&&(this._viewportQueries.setPointOfInterest(e),null!=this._index&&(this._index.progressiveLoadPenalty=J.distancePenalty*this._viewportQueries.distCameraToPOI(),this._index.requestUpdate()))}updateClippingArea(e){this._setClippingArea(e),null!=this._viewportQueries&&null!=this._index&&(this._viewportQueries.updateClippingArea(this._clippingArea),this._index.invalidateVisibilityCache()),this._setCameraDirty()}_setCameraDirty(){this._cameraDirty=!0,this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating()}_addMesh(e,t){if(null==this._index)return;const i=this._clientNodeLoader.createMeshNodeInfo(e,t),s=this._index.addClientNodeToIndex(i.id,i.mbs);this._clientNodeLoader.addMeshNode(s,i),this._evaluateUpdating(),this.notifyChange("rootNodeVisible")}_removeMesh(e){const t=this._clientNodeLoader.getMeshNodeIndex(e);if(null!=t){if(null==this._index)throw new Error("delayed removal of client side i3s node geometry not supported yet.");{const e=(e,t)=>{this.layerView.removeNode(t),this._loadedNodeScales.delete(t),this._clientNodeLoader.removeNode(e),this.layerView.deleteCachedNodeData&&null!=e&&this.layerView.deleteCachedNodeData(e),this.layerView.deleteCachedGPUData?.(this.layerView.loadCachedGPUData?.(t))},i=(e,t,i)=>{this._clientNodeLoader.updateNodeIndex(e,t,i),this.layerView.updateNodeIndex&&this.layerView.updateNodeIndex(t,i)};this._index.removeClientNodeFromIndex(t,e,i),this.notifyChange("rootNodeVisible")}}}updateElevationChanged(e,t){const i=this._index;if(null==i?.rootNode||null==t)return null;this.crsIndex.equals(t)||(u(e,t,Y,this.crsIndex),e=Y);const s=this._elevationUpdateNodes;return s.clear(),S(e,i.rootNode,i,(e=>s.push(e.index))),s.length&&(s.forAll((e=>i.updateElevationChanged(e))),this._setCameraDirty()),s}removeAllGeometryObbs(){null!=this._index&&this._index.removeAllGeometryObbs()}getRenderMbs(e){return null!=this._viewportQueries?this._viewportQueries.getRenderMbs(e):null}_elevationInfoChanged(e){null!=this._index&&(this._index.updateElevationInfo(e,this.isMeshPyramid||this.isGraphics3D),this._setCameraDirty())}_updateScaleHandles(){const e="scale-bounds";this.removeHandles(e),this._areScaleBoundsActive&&this.addHandles(this.layerView.view.basemapTerrain.on("scale-change",(e=>this._scaleUpdateHandler(e))),e)}_scaleBoundsChanged(){this._areScaleBoundsActive||this._loadedNodeScales.clear(),this._updateScaleHandles(),this._setCameraDirty()}_scaleUpdateHandler(e){this._updateScaleInBoundingRect(e.extent,e.spatialReference),this._setCameraDirty()}_updateScaleInBoundingRect(e,t){const i=this._index;if(null==i)return;null!=i.rootNode&&u(e,t,Y,this.crsIndex)&&this._loadedNodeScales.forEach(((e,t)=>{const s=i.getNode(t);null!=s&&c(Y,s.mbs)&&this._loadedNodeScales.set(t,this._computeScale(s))}))}restartNodeLoading(){this._restartNodeLoading=!0,this.cancelNodeLoading(),this._evaluateUpdating()}schedule(e,t){return this._idleQueue.push(e,t)}reschedule(e,t){return this._idleQueue.unshift(e,t)}get _isIntegratedMesh(){return"integrated-mesh"===this.layer.type}get _areScaleBoundsActive(){const{minScale:e,maxScale:t}=P(this.layer);return this.scaleVisibilityEnabled&&(e>0||t>0)}get unloadedMemoryEstimate(){return null!=this._index&&this.layerView.contentVisible?this._index.unloadedMemoryEstimate*this._lodDropFactor:0}async _loadNodeData(e,t){return e.index<0?this._clientNodeLoader.loadNodeData(e.id,t):this._nodeLoader.loadNodeData(e,t)}async _loadAttributes(e,t,i){return(e.index<0?this._clientNodeLoader:this._nodeLoader).loadAttributes(e,t,i)}get indexDepth(){return null!=this._index?this._index.maxLevel:0}set disableMemCache(e){this.layerView.loadCachedGPUData&&this.layerView.addCachedGPUData||(this._disableMemCache=!0),this._disableMemCache=e}runTask(e,t){return this.layerView.contentVisible?this.layerView.visible&&null!=this._index?(this._processWithErrorLogging(e,t),this._index.maxPriority):-1/0:(this._updateViewData(),this._evaluateUpdating(),-1/0)}_processWithErrorLogging(e,t){try{this._process(e,t)}catch(i){this._errorCount<50?j.error("Error during processing: "+i):50===this._errorCount&&j.error("Too many errors for this layer. Further errors will not be displayed."),this._errorCount++}}_process(e,t){this._restartNodeLoading&&this._startNodeLoading(),null!=this._nodeLoader&&null!=this._index&&(this._updateViewData(),this._invisibleDirty&&this._removeInvisibleNodes(e)&&(this._invisibleDirty=!1),this._isIntegratedMesh&&(e.enabled=!1),e.run((()=>this._processIndex(e))),this._updateFeatureLOD(),e.run((()=>this._processCache(e))),this._isIntegratedMesh&&(e.enabled=!0),e.run((()=>this._processNodes(e,t))),this._idleQueue.runTask(e),e.run((()=>this._prefetchIndex())),t.numIndexLoading+=this._index.indexLoading,t.numNodesLoading+=this._downloadingCount,e.run((()=>this._lodHandling.lodGlobalHandling(e))),this._evaluateUpdating())}_processIndex(e){if(null==this._index)return!1;if(this._index.dirty){this._newLoadingNodes.clear(),this._index.update(Array.from(this._loadingNodes.keys()),e,(e=>this.updateNodeModificationStatus(e))),this._disableMemCache||(this._newLoadingNodes.pushArray(this._index.updates.add.data,this._index.updates.add.length),this._newLoadingNodes.pushArray(this._index.updates.missing.data,this._index.updates.missing.length));const t=this._index.featureEstimate.leavesReached;this._index.isLoading||t===this._get("leavesReached")||this._set("leavesReached",t)}return this._index.load()}_prefetchIndex(){return!(null==this._index||this._loadingNodes.size>0||this._index.updates.add.length>0)&&this._index.prefetch()}_updateFeatureLOD(){if(!this.useMaximumNumberOfFeatures||null==this._index||null==this._viewportQueries)return;const e=!this._index.isLoading,t=this.featureTarget*this._baseLOD,i=this._index.featureEstimate;if(i.estimate=i.estimate||t/2,this._index.indexMissing>R){if(this._featureLOD<=H)return;this._featureLOD/=B,this._stableFeatureLOD=!1}else if(e&&i.estimate<t){if(i.leavesReached||this._featureLOD>=E||this._stableFeatureLOD)return;const e=Math.min(10,Math.max(t/i.estimate,1.001));this._featureLOD*=e;const s=this._lod,a=this._index.checkFeatureTarget(t,s);a!==s&&(this._featureLOD=a/this._baseLOD,this._stableFeatureLOD=!0)}else{if(!(i.estimate>t*k||e&&i.estimate>t))return;if(this._featureLOD<=H)return;this._featureLOD/=1+.25*(i.estimate/t-1),this._stableFeatureLOD=!1}this._featureLOD=Math.min(E,Math.max(H,this._featureLOD)),this._viewportQueries.updateScreenSpaceErrorBias(this._lod),this._index.requestUpdate()}_processCache(e){const t=this._index;if(null==t)return!1;for(;this._newLoadingNodes.length>0&&!e.done;){const i=this._newLoadingNodes.pop();for(let s=t.getParent(i);null!=s&&(!this.layerView.isNodeLoaded(s.index)&&this._isNodeInScaleBounds(s));s=t.getParent(s.index))if(this._enableFromGPUCache(s,N.Hole)){e.madeProgress();break}}return e.hasProgressed}_processNodes(e,t){if(null==this._index)return!1;let i=(this._isIdle?T:Q)-this._loadingNodes.size;const s=this._index.updates;for(s.cancel.forEach(this._cancelNode,this),s.cancel=[];s.remove.length>0&&!e.done;)this.layerView.removeNode(s.remove.pop()),e.madeProgress();for(;s.update.length>0&&!e.done;){const t=this._index.getNode(s.update.pop());null!=t&&(this._updateLoadedNode(t),e.madeProgress())}for(;s.add.length>0&&!e.done&&i>0;){--i;const a=this._index.getNode(s.add.back());if(null==a||a.cacheState!==w.Cached&&!this._hasNodeLoadToken(t))break;s.add.pop(),this._loadNode(a),e.madeProgress()}return e.hasProgressed}_cancelAllNodes(){this._loadingNodes.forEach((e=>e.abort())),this._loadingNodes.clear(),this._updatingNodes.forEach((e=>e.abort())),this._updatingNodes.clear()}_cancelNode(e){const t=this._loadingNodes.get(e);t&&(t.abort(),this._loadingNodes.delete(e))}_hasNodeLoadToken(e){return!(!this._isIdle&&e.numNodesLoading+this._loadingNodes.size>=Q)&&(this._downloadingCount<O&&!this.dataStreamController.busy)}_evaluateUpdating(){let e=!1,t=0;if(this.layerView){if(this.layerView.contentVisible){const i=(null!=this._index?this._index.indexMissing:0)+3*(null!=this._index?this._index.updates.add.length:0)+2*this._loadingNodes.size;e=!!(i>0||this._updatingNodes.size>0||this._restartNodeLoading||this._cameraDirty||this._idleQueue.running||this._lodHandling&&this._lodHandling.requiresLODGlobalHandling||null!=this._index&&this._index.isPrefetching),0===i&&(this._progressMaxNumNodes=1),this._progressMaxNumNodes=Math.max(i,this._progressMaxNumNodes),t=1-i/this._progressMaxNumNodes}else e=this._cameraDirty,t=e?0:1;this.updating=e,this.updatingProgress=t}}_updateViewData(){if(!this._cameraDirty||null==this._index||null==this._viewportQueries)return;const e=this.layerView.view,{contentCamera:t,fixedContentCamera:i}=e.state;this.screenSizeFactor=1/(t.perScreenPixelRatio/2),this._viewportQueries.updateCamera(t,!i||this.isGraphics3D),this._viewportQueries.setPointOfInterest(e.pointsOfInterest.focus.renderLocation),this._viewportQueries.updateScreenSpaceErrorBias(this._lod),this._index.invalidateVisibilityCache(),this._index.progressiveLoadPenalty=J.distancePenalty*this._viewportQueries.distCameraToPOI(),this._index.requestUpdate(),this._stableFeatureLOD=!1,this._invisibleDirty=!0,this._cameraDirty=!1,this.notifyChange("rootNodeVisible")}_getProgressiveLoadFactor(){return this.layerView.view.quality<1?1:this.layerView.progressiveLoadFactor}get _lod(){return this._featureLOD*this._baseLOD}get _baseLOD(){const e=this.layerView.lodFactor;return this.fixedFeatureTarget?1:(e>0?e:1)*this.layerView.view.quality}get _lodDropFactor(){if(this.fixedFeatureTarget)return 1;return(Math.min(this.layerView.view.quality,.5)-F)/(.5-F)}isGeometryVisible(e){return!!this._index?.isGeometryVisible(e.index)}updateVisibility(e){this._index?.invalidateNodeVisibilityCache(e)}invalidateGeometryVisibility(e){this._index?.invalidateGeometryVisibility(e)}invalidateVisibilityObbs(){this._index?.invalidateVisibilityObbs()}modificationsChanged(){this._index?.imModificationsChanged(!!this.layerView.hasModifications),this._invisibleDirty=!0}_shouldLoadNode(e){return!(!this._lodHandling.shouldLoadNode(e)||this._shouldDropNode(e))&&(!(null==this._index||!this._index.isGeometryVisible(e.index))&&this._isNodeInScaleBounds(e))}_shouldDropNode(e){if(null==this._viewportQueries)return!1;const t=this._lodDropFactor;if(t>=1||!this._lodHandling.hasNoVisibleChildren(e))return!1;return Math.abs(this._viewportQueries.calcCameraDistanceToCenter(e))-this._viewportQueries.minDistance>(this._viewportQueries.maxDistance-this._viewportQueries.minDistance)*t}_startNodeLoading(){this._restartNodeLoading=!1;const e=this._index;if(this._updatesDisabled||null==e||null==this._viewportQueries)return;this._updateViewData(),this._requiredAttributesDirty&&(this._requiredAttributes=this._getRequiredAttributes(),this._requiredAttributesDirty=!1);const t={textureEncodings:this.layerView.supportedTextureEncodings,uncompressedTextureDownsamplingEnabled:this.layerView.uncompressedTextureDownsamplingEnabled,textureUsageMask:this.layerView.rendererTextureUsage,loadFeatureData:this.useMaximumNumberOfFeatures};this._nodeLoader=new v(this.layer,this.dataStreamController,j,this._defaultGeometrySchema,this._requiredAttributes,t),e.requestUpdate(),this._lodHandling.startNodeLoading((e=>this._isNodeInScaleBounds(e)),((e,t)=>this._removeNodes(e,t,Z.fadeout)),e,{maxLodLevel:this._viewportQueries.maxLodLevel}),this._evaluateUpdating()}isNodeLoading(){return null!=this._nodeLoader&&null!=this._index}cancelNodeLoading(){this.isNodeLoading()&&(this.indexStreamController.cancelAll(),this.dataStreamController.cancelAll(),this._idleQueue.cancelAll(),this._cancelAllNodes(),this._nodeLoader=null,this._evaluateUpdating())}_removeInvisibleNodes(e){const t=this._index;if(null==t||null==this._viewportQueries)return!1;K.clear(),this.layerView.getLoadedNodeIndices(K);const i=0===this._viewportQueries.maxDistance,s=i?()=>!1:e=>this._shouldDropNode(e);return K.filterInPlace((e=>{const i=t.getNode(e);return null==i||!t.isGeometryVisible(e)||s(i)||!this._isNodeInScaleBounds(i)})),K.length>0&&this._lodHandling.setLodGlobalDirty(),this._removeNodes(K,e,Z.pop),!(i&&this._lodDropFactor<1)&&(0===K.length||(K.clear(),!1))}markNodeToRemove(e){K.push(e)}removeMarkedNodes(){this._removeNodes(K,q,Z.pop)}_removeNodes(e,t,i){const s=e.length;if(0!==s&&!t.done){for(null!=this._index&&this._index.requestUpdate();e.length>0&&!t.done;){const s=e.pop(),a=this._index;i===Z.fadeout&&this.layerView.nodeFadeoutEnabled&&null!=a&&a.isGeometryVisible(s)?this.layerView.fadeNode(s,I.FadeOut,!0):this.layerView.removeNode(s),t.madeProgress()}if(this._loadedNodeScales.size>0)for(let t=e.length;t<s;t++){const i=e.data[t];this._loadedNodeScales.delete(i)}}}_needsUpdate(e){if(e.resources.isEmpty||this._updatingNodes.has(e.index))return!1;const t=this.layerView.getLoadedAttributes(e.index);return null!=t&&t!==this._requiredAttributes}async _updateLoadedNode(e){const t=new AbortController;this._updatingNodes.set(e.index,t),this._evaluateUpdating();try{const i=X(this.layerView.getLoadedAttributes(e.index),this._requiredAttributes);let s=null;s=i?await Promise.resolve(this.layerView.getAttributeData(e.index)):await this._loadAttributes(e,this._requiredAttributes,t.signal),await this.schedule((()=>this.layerView.updateAttributes(e.index,{loadedAttributes:this._requiredAttributes,attributeData:s},t.signal)),t.signal)}catch(i){if(!r(i))return this.layerView.updateAttributes(e.index,{loadedAttributes:this._requiredAttributes,attributeData:{}},t.signal)}this._updatingNodes.delete(e.index),this._evaluateUpdating()}_loadNode(e){if(this._loadingNodes.has(e.index))return void j.error("already loading node "+e.index);const t=new AbortController;this._loadingNodes.set(e.index,t),this._evaluateUpdating(),this._loadAndAddNode(e,t.signal).then((i=>{i&&null!=this._index&&this._loadingNodes.get(e.index)===t&&(this._loadingNodes.delete(e.index),this._index.requestUpdate())})).catch((e=>{if(!r(e))throw e})).finally((()=>{this._loadingNodes.get(e.index)===t&&this._loadingNodes.delete(e.index),this._evaluateUpdating()}))}_loadAndAddNode(e,t){return e.cacheState===w.Uncached?this._loadUncached(e,t).then((()=>!1)):this._loadCached(e,t).then((t=>!t&&(e.cacheState=w.Uncached,!0))).catch((t=>!r(t)&&(e.cacheState=w.Uncached,!0)))}_enableFromGPUCache(e,t){if(this._disableMemCache||null==this._index)return!1;if(t===N.Hole&&!this._index.useNodeAsHole(e.index))return!0;const i=this._loadCachedGPUData(e);return!!i&&(this.layerView.addCachedGPUData(e,i,t),this._nodeAdded(),!0)}_loadCachedGPUData(e){const t=this.layerView.loadCachedGPUData(e.index);return null!=t?.attributeInfo&&X(t.attributeInfo.loadedAttributes,this._requiredAttributes)?t:(this.layerView.deleteCachedGPUData(t),null)}_nodeAdded(){null!=this._index&&this._index.requestUpdate(),this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating()}updateLoadStatus(e,t){const i=this._index;null!=i&&i.updateChildrenLoaded(e,t?1:-1)}async _loadCached(e,t){if(this._enableFromGPUCache(e,N.Leaf))return!0;const i=this.layerView;if(this.disableIDBCache||!i.loadCachedNodeData||!i.addCachedNodeData)return!1;const s=(t,i)=>this._nodeLoader.loadTextures(e,t,i),a=(t,i)=>this._clientNodeLoader.loadTextures(e,t,i),r=e.index>=0?s:a,d=await this.schedule((()=>i.loadCachedNodeData(e,t,r)),t);if(null==d)return!1;const o=this._requiredAttributes,n=await this.reschedule((()=>this._loadAttributes(e,o,t)),t);return await this.reschedule((()=>i.addCachedNodeData(e,d,{loadedAttributes:o,attributeData:n},t)),t),this._nodeAdded(),!0}_loadUncached(e,t){return this._downloadingCount++,this._loadNodeData(e,t).catch((e=>{throw this._downloadingCount--,e})).then((i=>(this._downloadingCount--,this.schedule((()=>this.layerView.addNode(e,i,t)),t)))).then((()=>{this._nodeAdded(),e.cacheState=w.Cached})).catch((t=>{if(!r(t))throw j.error("#loadNodeData()",this.layer,`Failed to load node '${e.id}'`,t),e.failed=!0,null!=this._index&&this._index.requestUpdate(),t}))}_updateIdleState(e){e!==this._isIdle&&(this._isIdle=e,this._evaluateUpdating(),e&&this._index&&null!=this._index&&this._index.resetFailedNodes())}_getScale(e){if(this._loadedNodeScales.has(e.index))return this._loadedNodeScales.get(e.index);const t=this._computeScale(e);return this.layerView.isNodeLoaded(e.index)&&this._loadedNodeScales.set(e.index,t),t}_computeScale(e){this._tmpPoint.x=e.mbs[0],this._tmpPoint.y=e.mbs[1],this._tmpPoint.z=e.mbs[2];const t=e.mbs[3];return this.layerView.view.basemapTerrain.getSphereScale(this._tmpPoint,t)}_isNodeInScaleBounds(e){if(!this._areScaleBoundsActive)return!0;const t=this._getScale(e),{minScale:i,maxScale:s}=P(this.layer);return U(t,i,s)}updateStats(e){this.isGraphics3D&&(e.detail=this._featureLOD,e.target=this.featureTarget*this._baseLOD),this._index?.updateStats(e)}get test(){const e=this;return{index:this._index,set disableUpdates(t){e._updatesDisabled=t,t?e.cancelNodeLoading():e.requestUpdate()},set disableIDBCache(t){e.disableIDBCache=t},set ignoreServiceObb(t){null!=e._index&&(e._index.ignoreServiceObb=t)},shouldLoadNode:t=>e._shouldLoadNode(t)}}notifyLODUpdate(){this._lodHandling.setLodGlobalDirty(),this._evaluateUpdating(),null!=this._index&&this._index.requestUpdate()}geometryFilterChanged(e){const t=this._index;null!=t&&t.layerFilterChanged(e),this._setCameraDirty()}};e([l({readOnly:!0})],z.prototype,"isMeshPyramid",null),e([l({readOnly:!0})],z.prototype,"isGraphics3D",null),e([l({readOnly:!0})],z.prototype,"useMaximumNumberOfFeatures",null),e([l({readOnly:!0})],z.prototype,"indexStreamController",null),e([l({readOnly:!0})],z.prototype,"dataStreamController",null),e([l({readOnly:!0})],z.prototype,"crsVertex",null),e([l({readOnly:!0})],z.prototype,"crsIndex",null),e([l()],z.prototype,"screenSizeFactor",void 0),e([l()],z.prototype,"featureTarget",void 0),e([l()],z.prototype,"fixedFeatureTarget",void 0),e([l()],z.prototype,"layerView",void 0),e([l()],z.prototype,"layer",null),e([l()],z.prototype,"updating",void 0),e([l({readOnly:!0})],z.prototype,"running",null),e([l()],z.prototype,"updatingProgress",void 0),e([l({readOnly:!0})],z.prototype,"leavesReached",void 0),e([l({constructOnly:!0})],z.prototype,"scaleVisibilityEnabled",void 0),e([l({constructOnly:!0})],z.prototype,"worker",void 0),e([l({readOnly:!0,dependsOn:[]})],z.prototype,"rootNodeVisible",null),z=e([h(G)],z);const K=new s({deallocator:null});let W;function X(e,t){return null!=e&&e.length===t.length&&e.every((e=>$(t,e.name)>=0))}function $(e,t){const i=t.toLowerCase();for(let s=0;s<e.length;s++)if(e[s].name.toLowerCase()===i)return s;return-1}const J={factorIM:.2,factor3dObject:.05,distancePenalty:10},Y=_();var Z;!function(e){e[e.pop=0]="pop",e[e.fadeout=1]="fadeout"}(Z||(Z={}));const ee=z;export{ee 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{getExpressionFromFieldName as t,getWhereClause as e,getAliasFromFieldName as i}from"./attributeSupport.js";import{getGeometry as s}from"./utils.js";import{processNullValue as a,getNormalizedValue as l}from"../../../statistics/utils.js";import{loadArcade as r}from"../../../support/arcadeOnDemand.js";class n{constructor(s,a,l){this._fieldDataCache=new Map,this._returnDistinctMap=new Map,this.returnDistinctValues=s.returnDistinctValues??!1,this.fieldsIndex=l,this.featureAdapter=a;const r=s.outFields;if(r&&!r.includes("*")){this.outFields=r;let s=0;for(const a of r){const r=t(a),n=this.fieldsIndex.get(r),u=n?null:e(r,l),d=n?n.name:i(a)||"FIELD_EXP_"+s++;this._fieldDataCache.set(a,{alias:d,clause:u})}}}countDistinctValues(t){return this.returnDistinctValues?(t.forEach((t=>this.getAttributes(t))),this._returnDistinctMap.size):t.length}getAttributes(t){const e=this._processAttributesForOutFields(t);return this._processAttributesForDistinctValues(e)}getFieldValue(t,i,s){const a=s?s.name:i;let l=null;return this._fieldDataCache.has(a)?l=this._fieldDataCache.get(a)?.clause:s||(l=e(i,this.fieldsIndex),this._fieldDataCache.set(a,{alias:a,clause:l})),s?this.featureAdapter.getAttribute(t,a):l?.calculateValue(t,this.featureAdapter)}getDataValues(t,e){const i=e.normalizationType,s=e.normalizationTotal,r=this.fieldsIndex.isDateField(e.field);return t.map((t=>{let n=e.field&&this.getFieldValue(t,e.field,this.fieldsIndex.get(e.field));if(e.field2?(n=`${a(n)}${e.fieldDelimiter}${a(this.getFieldValue(t,e.field2,this.fieldsIndex.get(e.field2)))}`,e.field3&&(n=`${n}${e.fieldDelimiter}${a(this.getFieldValue(t,e.field3,this.fieldsIndex.get(e.field3)))}`)):r&&"string"==typeof n&&(n=n?new Date(n).getTime():null),i&&Number.isFinite(n)){const a="field"===i&&e.normalizationField?this.getFieldValue(t,e.normalizationField,this.fieldsIndex.get(e.normalizationField)):null;n=l(n,i,a,s)}return n}))}async getExpressionValues(t,e,i,a,l){const{arcadeUtils:n}=await r(),u=n.hasGeometryOperations(e);u&&await n.enableGeometryOperations();const d=n.createFunction(e),o=n.getViewInfo(i),c={fields:this.fieldsIndex.fields};return t.map((t=>{const e={attributes:this.featureAdapter.getAttributes(t),layer:c,geometry:u?{...s(a.geometryType,a.hasZ,a.hasM,this.featureAdapter.getGeometry(t)),spatialReference:i?.spatialReference}:null},r=n.createExecContext(e,o,l);return n.executeFunction(d,r)}))}validateItem(t,i){return this._fieldDataCache.has(i)||this._fieldDataCache.set(i,{alias:i,clause:e(i,this.fieldsIndex)}),this._fieldDataCache.get(i)?.clause?.testFeature(t,this.featureAdapter)??!1}validateItems(t,i){return this._fieldDataCache.has(i)||this._fieldDataCache.set(i,{alias:i,clause:e(i,this.fieldsIndex)}),this._fieldDataCache.get(i)?.clause?.testSet(t,this.featureAdapter)??!1}_processAttributesForOutFields(t){const e=this.outFields;if(!e?.length)return this.featureAdapter.getAttributes(t);const i={};for(const s of e){const{alias:e,clause:a}=this._fieldDataCache.get(s);i[e]=a?a.calculateValue(t,this.featureAdapter):this.featureAdapter.getAttribute(t,e)}return i}_processAttributesForDistinctValues(t){if(null==t||!this.returnDistinctValues)return t;const e=this.outFields,i=[];if(e)for(const l of e){const{alias:e}=this._fieldDataCache.get(l);i.push(t[e])}else for(const l in t)i.push(t[l]);const s=`${(e||["*"]).join(",")}=${i.join(",")}`;let a=this._returnDistinctMap.get(s)||0;return this._returnDistinctMap.set(s,++a),a>1?null:t}}export{n as default};
5
+ import{getExpressionFromFieldName as t,getWhereClause as e,getAliasFromFieldName as i}from"./attributeSupport.js";import{getGeometry as s}from"./geometryUtils.js";import{isDateOnlyField as a,isTimestampOffsetField as l,isTimeOnlyField as r}from"../../support/fieldUtils.js";import{timeOnlyToMilliseconds as n}from"../../../smartMapping/statistics/support/utils.js";import{processNullValue as u,getNormalizedValue as o}from"../../../statistics/utils.js";import{loadArcade as d}from"../../../support/arcadeOnDemand.js";class c{constructor(s,a,l){this._fieldDataCache=new Map,this._returnDistinctMap=new Map,this.returnDistinctValues=s.returnDistinctValues??!1,this.fieldsIndex=l,this.featureAdapter=a;const r=s.outFields;if(r&&!r.includes("*")){this.outFields=r;let s=0;for(const a of r){const r=t(a),n=this.fieldsIndex.get(r),u=n?null:e(r,l),o=n?n.name:i(a)||"FIELD_EXP_"+s++;this._fieldDataCache.set(a,{alias:o,clause:u})}}}countDistinctValues(t){return this.returnDistinctValues?(t.forEach((t=>this.getAttributes(t))),this._returnDistinctMap.size):t.length}getAttributes(t){const e=this._processAttributesForOutFields(t);return this._processAttributesForDistinctValues(e)}getFieldValue(t,i,s){const a=s?s.name:i;let l=null;return this._fieldDataCache.has(a)?l=this._fieldDataCache.get(a)?.clause:s||(l=e(i,this.fieldsIndex),this._fieldDataCache.set(a,{alias:a,clause:l})),s?this.featureAdapter.getAttribute(t,a):l?.calculateValue(t,this.featureAdapter)}getDataValues(t,e,i=!0){const s=e.normalizationType,d=e.normalizationTotal,c=this.fieldsIndex.get(e.field),h=a(c)||l(c),f=r(c);return t.map((t=>{let a=e.field&&this.getFieldValue(t,e.field,this.fieldsIndex.get(e.field));if(e.field2?(a=`${u(a)}${e.fieldDelimiter}${u(this.getFieldValue(t,e.field2,this.fieldsIndex.get(e.field2)))}`,e.field3&&(a=`${a}${e.fieldDelimiter}${u(this.getFieldValue(t,e.field3,this.fieldsIndex.get(e.field3)))}`)):"string"==typeof a&&i&&(h?a=a?new Date(a).getTime():null:f&&(a=a?n(a):null)),s&&Number.isFinite(a)){const i="field"===s&&e.normalizationField?this.getFieldValue(t,e.normalizationField,this.fieldsIndex.get(e.normalizationField)):null;a=o(a,s,i,d)}return a}))}async getExpressionValues(t,e,i,a,l){const{arcadeUtils:r}=await d(),n=r.hasGeometryOperations(e);n&&await r.enableGeometryOperations();const u=r.createFunction(e),o=r.getViewInfo(i),c={fields:this.fieldsIndex.fields};return t.map((t=>{const e={attributes:this.featureAdapter.getAttributes(t),layer:c,geometry:n?{...s(a.geometryType,a.hasZ,a.hasM,this.featureAdapter.getGeometry(t)),spatialReference:i?.spatialReference}:null},d=r.createExecContext(e,o,l);return r.executeFunction(u,d)}))}validateItem(t,i){return this._fieldDataCache.has(i)||this._fieldDataCache.set(i,{alias:i,clause:e(i,this.fieldsIndex)}),this._fieldDataCache.get(i)?.clause?.testFeature(t,this.featureAdapter)??!1}validateItems(t,i){return this._fieldDataCache.has(i)||this._fieldDataCache.set(i,{alias:i,clause:e(i,this.fieldsIndex)}),this._fieldDataCache.get(i)?.clause?.testSet(t,this.featureAdapter)??!1}_processAttributesForOutFields(t){const e=this.outFields;if(!e?.length)return this.featureAdapter.getAttributes(t);const i={};for(const s of e){const{alias:e,clause:a}=this._fieldDataCache.get(s);i[e]=a?a.calculateValue(t,this.featureAdapter):this.featureAdapter.getAttribute(t,e)}return i}_processAttributesForDistinctValues(t){if(null==t||!this.returnDistinctValues)return t;const e=this.outFields,i=[];if(e)for(const l of e){const{alias:e}=this._fieldDataCache.get(l);i.push(t[e])}else for(const l in t)i.push(t[l]);const s=`${(e||["*"]).join(",")}=${i.join(",")}`;let a=this._returnDistinctMap.get(s)||0;return this._returnDistinctMap.set(s,++a),a>1?null:t}}export{c 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{isSome as e}from"../../../core/arrayUtils.js";import t from"../../../core/Error.js";import r from"../../../core/Evented.js";import s from"../../../core/Logger.js";import{create as o,fromRect as i}from"../../../geometry/support/aaBoundingBox.js";import{create as n}from"../../../geometry/support/aaBoundingRect.js";import{getBoundsOptimizedGeometry as a}from"../featureConversionUtils.js";import{BoundsStore as d}from"./BoundsStore.js";import{optimizedFeatureQueryEngineAdapter as u}from"./optimizedFeatureQueryEngineAdapter.js";import{cleanFromGeometryEngine as h}from"./utils.js";const f=o();class m{constructor(e){this.geometryInfo=e,this._boundsStore=new d,this._featuresById=new Map,this._markedIds=new Set,this.events=new r,this.featureAdapter=u}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach((t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)})),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,r,s,o]=this.fullBounds;return{xmin:t,ymin:r,xmax:s,ymax:o,spatialReference:h(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(t){const r=t.map((e=>this._upsert(e)));return this._emitChanged(),r.filter(e)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged()}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const r of e){const e=this._boundsStore.get(r.objectId);e&&t(i(f,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach((t=>e(t)))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,(e=>{t(this._featuresById.get(e))}))}startMarkingUsedFeatures(){this._boundsStore.invalidateIndex(),this._markedIds.clear()}sweep(){let e=!1;this._featuresById.forEach(((t,r)=>{this._markedIds.has(r)||(e=!0,this._remove(t))})),this._markedIds.clear(),e&&this._emitChanged()}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const r=e.objectId;if(null==r)return void s.getLogger("esri.layers.graphics.data.FeatureStore").error(new t("featurestore:invalid-feature","feature id is missing",{feature:e}));const o=this._featuresById.get(r);let i;if(this._markedIds.add(r),o?(e.displayId=o.displayId,i=this._boundsStore.get(r),this._boundsStore.delete(r)):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(r,null),void this._featuresById.set(r,e);i=a(null!=i?i:n(),e.geometry,this.geometryInfo.hasZ,this.geometryInfo.hasM),null!=i&&this._boundsStore.set(r,i),this._featuresById.set(r,e)}_upsert(e){const r=e?.objectId;if(null==r)return s.getLogger("esri.layers.graphics.data.FeatureStore").error(new t("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const o=this._featuresById.get(r);if(!o)return this._add(e),e;this._markedIds.add(r);const{geometry:i,attributes:d}=e;for(const t in d)o.attributes[t]=d[t];return i&&(o.geometry=i,this._boundsStore.set(r,a(n(),i,this.geometryInfo.hasZ,this.geometryInfo.hasM)??null)),o}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._markedIds.delete(t),this._boundsStore.delete(t),this._featuresById.delete(t),e}}export{m as default};
5
+ import{isSome as e}from"../../../core/arrayUtils.js";import t from"../../../core/Error.js";import r from"../../../core/Evented.js";import s from"../../../core/Logger.js";import{create as o,fromRect as i}from"../../../geometry/support/aaBoundingBox.js";import{create as n}from"../../../geometry/support/aaBoundingRect.js";import{getBoundsOptimizedGeometry as a}from"../featureConversionUtils.js";import{BoundsStore as d}from"./BoundsStore.js";import{cleanFromGeometryEngine as u}from"./geometryUtils.js";import{optimizedFeatureQueryEngineAdapter as h}from"./optimizedFeatureQueryEngineAdapter.js";const f=o();class m{constructor(e){this.geometryInfo=e,this._boundsStore=new d,this._featuresById=new Map,this._markedIds=new Set,this.events=new r,this.featureAdapter=h}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach((t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)})),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,r,s,o]=this.fullBounds;return{xmin:t,ymin:r,xmax:s,ymax:o,spatialReference:u(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(t){const r=t.map((e=>this._upsert(e)));return this._emitChanged(),r.filter(e)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged()}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const r of e){const e=this._boundsStore.get(r.objectId);e&&t(i(f,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach((t=>e(t)))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,(e=>{t(this._featuresById.get(e))}))}startMarkingUsedFeatures(){this._boundsStore.invalidateIndex(),this._markedIds.clear()}sweep(){let e=!1;this._featuresById.forEach(((t,r)=>{this._markedIds.has(r)||(e=!0,this._remove(t))})),this._markedIds.clear(),e&&this._emitChanged()}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const r=e.objectId;if(null==r)return void s.getLogger("esri.layers.graphics.data.FeatureStore").error(new t("featurestore:invalid-feature","feature id is missing",{feature:e}));const o=this._featuresById.get(r);let i;if(this._markedIds.add(r),o?(e.displayId=o.displayId,i=this._boundsStore.get(r),this._boundsStore.delete(r)):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(r,null),void this._featuresById.set(r,e);i=a(null!=i?i:n(),e.geometry,this.geometryInfo.hasZ,this.geometryInfo.hasM),null!=i&&this._boundsStore.set(r,i),this._featuresById.set(r,e)}_upsert(e){const r=e?.objectId;if(null==r)return s.getLogger("esri.layers.graphics.data.FeatureStore").error(new t("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const o=this._featuresById.get(r);if(!o)return this._add(e),e;this._markedIds.add(r);const{geometry:i,attributes:d}=e;for(const t in d)o.attributes[t]=d[t];return i&&(o.geometry=i,this._boundsStore.set(r,a(n(),i,this.geometryInfo.hasZ,this.geometryInfo.hasM)??null)),o}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._markedIds.delete(t),this._boundsStore.delete(t),this._featuresById.delete(t),e}}export{m 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{PositionHint as e,indexOf as t}from"../../../core/arrayUtils.js";import i from"../../../core/Error.js";import{isSerializable as s}from"../../../core/JSONSupport.js";import{clone as r}from"../../../core/lang.js";import{removeMaybe as a,destroyMaybe as n}from"../../../core/maybe.js";import{MemCacheStorage as o,MemCache as u}from"../../../core/MemCache.js";import{throwIfAborted as l}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as c}from"../../../core/unitUtils.js";import{getTransformation as h}from"../../../geometry/projection.js";import{set as m,negativeInfinity as p,create as f,expandWithAABB as y}from"../../../geometry/support/aaBoundingBox.js";import{fromValues as d,create as g}from"../../../geometry/support/aaBoundingRect.js";import{getBoundsXY as x}from"../../../geometry/support/boundsUtils.js";import{fromJSON as _,isExtent as w,isPolygon as S}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as F}from"../../../geometry/support/normalizeUtils.js";import{equals as R,isValid as Q}from"../../../geometry/support/spatialReferenceUtils.js";import{convertFromGeometry as I}from"../featureConversionUtils.js";import{getWhereClause as E,validateFields as j,validateFieldTypes as A,validateWhere as b,validateHaving as P,validNumericTypesKebabDict as q,validDateTypesKebabDict as T,hasInvalidFieldType as C}from"./attributeSupport.js";import{checkProjectionSupport as B,project as k,projectMany as v}from"./projectionSupport.js";import{queryCapabilities as M}from"./QueryEngineCapabilities.js";import{QueryEngineResult as z}from"./QueryEngineResult.js";import{getSpatialQueryOperator as O,canQueryWithRBush as G,checkSpatialQuerySupport as N}from"./spatialQuerySupport.js";import{getTimeExtent as U,getTimeOperator as Z}from"./timeSupport.js";import{queryEngineEmptyResult as V,normalizeQueryLike as H,cleanFromGeometryEngine as J,normalizeQuery as L,getGeometry as D}from"./utils.js";import $ from"../../support/FieldsIndex.js";import{loadArcade as W}from"../../../support/arcadeOnDemand.js";import{noBudget as K}from"../../../views/support/Scheduler.js";function X(e){return null!=e&&e.every((e=>"exceedslimit"!==e.statisticType))}const Y="feature-store:unsupported-query";class ee{constructor(e,t=null,i,s,r){this.attributes=e,this.geometry=i,this.centroid=s,this.filterFlags=r,this.groupId=-1,this.displayId=t}}const te=new o(2e6);let ie=0;class se{constructor(e){this._geometryQueryCache=null,this._changeHandle=null,this.capabilities={query:M},this.geometryType=e.geometryType,this.hasM=!!e.hasM,this.hasZ=!!e.hasZ,this.objectIdField=e.objectIdField,this.spatialReference=e.spatialReference,this.definitionExpression=e.definitionExpression,this.featureStore=e.featureStore,this.aggregateAdapter=e.aggregateAdapter,this._changeHandle=this.featureStore.events.on("changed",(()=>this.clearCache())),this.timeInfo=e.timeInfo,e.cacheSpatialQueries&&(this._geometryQueryCache=new u(ie+++"$$",te)),this.fieldsIndex=s(e.fieldsIndex)?e.fieldsIndex:$.fromJSON(e.fieldsIndex),e.scheduler&&e.priority&&(this._frameTask=e.scheduler.registerTask(e.priority))}destroy(){this._frameTask=a(this._frameTask),this.clearCache(),n(this._geometryQueryCache),this._changeHandle=a(this._changeHandle)}get featureAdapter(){return this.featureStore.featureAdapter}clearCache(){this._geometryQueryCache?.clear(),this._allFeaturesPromise=null,this._timeExtentPromise=null,this._fullExtentPromise=null}async executeQuery(e,t){try{return(await this._executeQuery(e,{},t)).createQueryResponse()}catch(i){if(i!==V)throw i;return new z([],e,this).createQueryResponse()}}async executeQueryForCount(e={},t){try{return(await this._executeQuery(e,{returnGeometry:!1,returnCentroid:!1,outSR:null},t)).createQueryResponseForCount()}catch(i){if(i!==V)throw i;return 0}}async executeQueryForExtent(e,t){const i=e.outSR;try{const s=await this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null},t),r=s.size;if(!r)return{count:0,extent:null};return{count:r,extent:await this._getBounds(s.items,s.spatialReference,i||this.spatialReference)}}catch(s){if(s===V)return{count:0,extent:null};throw s}}async executeQueryForIds(e,t){return this.executeQueryForIdSet(e,t).then((e=>Array.from(e)))}async executeQueryForIdSet(e,t){try{const i=await this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null},t),s=i.items,r=new Set;return await this._reschedule((()=>{for(const e of s)r.add(i.featureAdapter.getObjectId(e))}),t),r}catch(i){if(i===V)return new Set;throw i}}async executeQueryForSnapping(e,t){const{point:i,distance:s,returnEdge:a,vertexMode:n}=e;if(!a&&"none"===n)return{candidates:[]};let o=r(e.query);o=await this._schedule((()=>H(o,this.definitionExpression,this.spatialReference)),t),o=await this._reschedule((()=>this._checkQuerySupport(o)),t);const u=!R(i.spatialReference,this.spatialReference);u&&await B(i.spatialReference,this.spatialReference);const l="number"==typeof s?s:s.x,c="number"==typeof s?s:s.y,h={xmin:i.x-l,xmax:i.x+l,ymin:i.y-c,ymax:i.y+c,spatialReference:i.spatialReference},m=u?k(h,this.spatialReference):h;if(!m)return{candidates:[]};const p=(await F(_(i),null,{signal:t}))[0],f=(await F(_(m),null,{signal:t}))[0];if(null==p||null==f)return{candidates:[]};const y=new z(await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(f.toJSON()))),t),o,this);await this._reschedule((()=>this._executeObjectIdsQuery(y)),t),await this._reschedule((()=>this._executeTimeQuery(y)),t),await this._reschedule((()=>this._executeAttributesQuery(y)),t),await this._reschedule((()=>this._executeGeometryQueryForSnapping(y,t)),t);const d=p.toJSON(),g=u?k(d,this.spatialReference):d,x=u?Math.max(m.xmax-m.xmin,m.ymax-m.ymin)/2:s;return y.createSnappingResponse({...e,point:g,distance:x},i.spatialReference)}async executeQueryForLatestObservations(e,t){if(!this.timeInfo?.trackIdField)throw new i(Y,"Missing timeInfo or timeInfo.trackIdField",{query:e,timeInfo:this.timeInfo});try{const i=await this._executeQuery(e,{},t);return await this._reschedule((()=>this._filterLatest(i)),t),i.createQueryResponse()}catch(s){if(s!==V)throw s;return new z([],e,this).createQueryResponse()}}async executeQueryForSummaryStatistics(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._getQueryEngineResultForStats(e,{field:s,normalizationField:r,valueExpression:a},i)).createSummaryStatisticsResponse(t)}async executeQueryForUniqueValues(e={},t,i){const{field:s,field2:r,field3:a,valueExpression:n}=t;return(await this._getQueryEngineResultForStats(e,{field:s,field2:r,field3:a,valueExpression:n},i)).createUniqueValuesResponse(t)}async executeQueryForClassBreaks(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._getQueryEngineResultForStats(e,{field:s,normalizationField:r,valueExpression:a},i)).createClassBreaksResponse(t)}async executeQueryForHistogram(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._getQueryEngineResultForStats(e,{field:s,normalizationField:r,valueExpression:a},i)).createHistogramResponse(t)}async fetchRecomputedExtents(e){this._timeExtentPromise||=U(this.timeInfo,this.featureStore);const[t,i]=await Promise.all([this._getFullExtent(),this._timeExtentPromise]);return l(e),{fullExtent:t,timeExtent:i}}async _getBounds(e,t,i){const s=m(f(),p);await this.featureStore.forEachBounds(e,(e=>y(s,e)));const r={xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:J(this.spatialReference)};this.hasZ&&isFinite(s[2])&&isFinite(s[5])&&(r.zmin=s[2],r.zmax=s[5]);const a=k(r,t,i);if(a.spatialReference=J(i),a.xmax-a.xmin==0){const e=c(a.spatialReference);a.xmin-=e,a.xmax+=e}if(a.ymax-a.ymin==0){const e=c(a.spatialReference);a.ymin-=e,a.ymax+=e}if(this.hasZ&&null!=a.zmin&&null!=a.zmax&&a.zmax-a.zmin==0){const e=c(a.spatialReference);a.zmin-=e,a.zmax+=e}return a}_getFullExtent(){return this._fullExtentPromise||="getFullExtent"in this.featureStore&&this.featureStore.getFullExtent?Promise.resolve(this.featureStore.getFullExtent(this.spatialReference)):this._getAllFeatures().then((e=>this._getBounds(e,this.spatialReference,this.spatialReference))),this._fullExtentPromise}async _schedule(e,t){return null!=this._frameTask?this._frameTask.schedule(e,t):e(K)}async _reschedule(e,t){return null!=this._frameTask?this._frameTask.reschedule(e,t):e(K)}async _getAllFeaturesQueryEngineResult(e){return new z(await this._getAllFeatures(),e,this)}async _getAllFeatures(){if(null==this._allFeaturesPromise){const e=[];this._allFeaturesPromise=(async()=>{await this.featureStore.forEach((t=>e.push(t)))})().then((()=>e))}const e=this._allFeaturesPromise,t=await e;return e===this._allFeaturesPromise?t.slice():this._getAllFeatures()}async _executeQuery(e,t,i){e=r(e),e=await this._schedule((()=>L(e,this.definitionExpression,this.spatialReference)),i),e=await this._reschedule((()=>this._checkQuerySupport(e)),i),e={...e,...t};const s=await this._reschedule((()=>this._executeSceneFilterQuery(e,i)),i),a=await this._reschedule((()=>this._executeGeometryQuery(e,s,i)),i);return await this._reschedule((()=>this._executeAggregateIdsQuery(a)),i),await this._reschedule((()=>this._executeObjectIdsQuery(a)),i),await this._reschedule((()=>this._executeTimeQuery(a)),i),await this._reschedule((()=>this._executeAttributesQuery(a)),i),a}async _executeSceneFilterQuery(e,t){if(null==e.sceneFilter)return null;const{outSR:i,returnGeometry:s,returnCentroid:r}=e,a=this.featureStore.featureSpatialReference,n=e.sceneFilter.geometry,o=null==a||R(a,n.spatialReference)?n:k(n,a);if(!o)return null;const u=s||r,l=Q(i)&&!R(this.spatialReference,i)&&u?async e=>this._project(e,i):e=>e,c=this.featureAdapter,h=await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(o))),t);if("disjoint"===e.sceneFilter.spatialRelationship){if(!h.length)return null;const i=new Set;for(const e of h)i.add(c.getObjectId(e));const s=await this._reschedule((()=>this._getAllFeatures()),t),r=await this._reschedule((async()=>{const r=await O("esriSpatialRelDisjoint",o,this.geometryType,this.hasZ,this.hasM),a=e=>!i.has(c.getObjectId(e))||r(c.getGeometry(e)),n=await this._runSpatialFilter(s,a,t);return new z(n,e,this)}),t);return l(r)}if(!h.length)return new z([],e,this);if(this._canExecuteSinglePass(o,e))return l(new z(h,e,this));const m=await O("esriSpatialRelContains",o,this.geometryType,this.hasZ,this.hasM),p=await this._runSpatialFilter(h,(e=>m(c.getGeometry(e))),t);return l(new z(p,e,this))}async _executeGeometryQuery(i,s,r){if(null!=s&&0===s.items.length)return s;i=null!=s?s.query:i;const{geometry:a,outSR:n,spatialRel:o,returnGeometry:u,returnCentroid:l}=i,c=this.featureStore.featureSpatialReference,h=!a||null==c||R(c,a.spatialReference)?a:k(a,c),m=u||l,p=Q(n)&&!R(this.spatialReference,n),f=this._geometryQueryCache&&null==s?p&&m?JSON.stringify({originalFilterGeometry:a,spatialRelationship:o,outSpatialReference:n}):JSON.stringify({originalFilterGeometry:a,spatialRelationship:o}):null,y=f?this._geometryQueryCache.get(f):null;if(null!=y)return new z(y,i,this);const d=async e=>(p&&m&&await this._project(e,n),f&&this._geometryQueryCache.put(f,e.items,e.items.length+1),e);if(!h)return d(null!=s?s:await this._getAllFeaturesQueryEngineResult(i));const g=this.featureAdapter;let x=await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(a))),r);if("esriSpatialRelDisjoint"===o){if(!x.length)return d(null!=s?s:await this._getAllFeaturesQueryEngineResult(i));const e=new Set;for(const i of x)e.add(g.getObjectId(i));const t=null!=s?s.items:await this._reschedule((()=>this._getAllFeatures()),r),a=await this._reschedule((async()=>{const s=await O(o,h,this.geometryType,this.hasZ,this.hasM),a=t=>!e.has(g.getObjectId(t))||s(g.getGeometry(t)),n=await this._runSpatialFilter(t,a,r);return new z(n,i,this)}),r);return d(a)}if(null!=s){const i=new e;x=x.filter((e=>t(s.items,e,s.items.length,i)>=0))}if(!x.length){const e=new z([],i,this);return f&&this._geometryQueryCache.put(f,e.items,1),e}if(this._canExecuteSinglePass(h,i))return d(new z(x,i,this));const _=await O(o,h,this.geometryType,this.hasZ,this.hasM),w=await this._runSpatialFilter(x,(e=>_(g.getGeometry(e))),r);return d(new z(w,i,this))}async _executeGeometryQueryForSnapping(e,t){const{query:i}=e,{spatialRel:s}=i;if(!e?.items?.length||!i.geometry||!s)return;const r=await O(s,i.geometry,this.geometryType,this.hasZ,this.hasM),a=await this._runSpatialFilter(e.items,(e=>r(e.geometry)),t);e.items=a}_executeAggregateIdsQuery(e){if(0===e.items.length||!e.query.aggregateIds?.length||null==this.aggregateAdapter)return;const t=new Set;for(const s of e.query.aggregateIds){this.aggregateAdapter.getFeatureObjectIds(s).forEach((e=>t.add(e)))}const i=this.featureAdapter.getObjectId;e.items=e.items.filter((e=>t.has(i(e))))}_executeObjectIdsQuery(e){if(0===e.items.length||!e.query.objectIds?.length)return;const t=new Set(e.query.objectIds),i=this.featureAdapter.getObjectId;e.items=e.items.filter((e=>t.has(i(e))))}_executeTimeQuery(e){if(0===e.items.length)return;const t=Z(this.timeInfo,e.query.timeExtent,this.featureAdapter);null!=t&&(e.items=e.items.filter(t))}_executeAttributesQuery(e){if(0===e.items.length)return;const t=E(e.query.where,this.fieldsIndex);if(t){if(!t.isStandardized)throw new TypeError("Where clause is not standardized");e.items=e.items.filter((e=>t.testFeature(e,this.featureAdapter)))}}async _runSpatialFilter(e,t,i){if(!t)return e;if(null==this._frameTask)return e.filter((e=>t(e)));let s=0;const r=new Array,a=async n=>{for(;s<e.length;){const o=e[s++];t(o)&&(r.push(o),n.madeProgress()),n.done&&await this._reschedule((e=>a(e)),i)}};return this._reschedule((e=>a(e)),i).then((()=>r))}_filterLatest(e){const{trackIdField:t,startTimeField:i,endTimeField:s}=this.timeInfo,r=s||i,a=new Map,n=this.featureAdapter.getAttribute;for(const o of e.items){const e=n(o,t),i=n(o,r),s=a.get(e);(!s||i>n(s,r))&&a.set(e,o)}e.items=Array.from(a.values())}_canExecuteSinglePass(e,t){const{spatialRel:i}=t;return G(e)&&("esriSpatialRelEnvelopeIntersects"===i||"esriGeometryPoint"===this.geometryType&&("esriSpatialRelIntersects"===i||"esriSpatialRelContains"===i))}async _project(e,t){if(!t||R(this.spatialReference,t))return e;const i=this.featureAdapter;let s;try{const e=await this._getFullExtent();s=h(this.spatialReference,t,e)}catch{}const r=await v(e.items.map((e=>D(this.geometryType,this.hasZ,this.hasM,i.getGeometry(e)))),this.spatialReference,t,s);return e.items=r.map(((t,s)=>i.cloneWithGeometry(e.items[s],I(t,this.hasZ,this.hasM)))),e}_getQueryBBoxes(e){if(G(e)){if(w(e))return[d(Math.min(e.xmin,e.xmax),Math.min(e.ymin,e.ymax),Math.max(e.xmin,e.xmax),Math.max(e.ymin,e.ymax))];if(S(e))return e.rings.map((e=>d(Math.min(e[0][0],e[2][0]),Math.min(e[0][1],e[2][1]),Math.max(e[0][0],e[2][0]),Math.max(e[0][1],e[2][1]))))}return[x(g(),e)]}async _searchFeatures(e){const t=new Set;await Promise.all(e.map((e=>this.featureStore.forEachInBounds(e,(e=>t.add(e))))));const i=Array.from(t.values());return t.clear(),i}async _checkStatisticsSupport(e,t){if((e.distance??0)<0||null!=e.geometryPrecision||e.multipatchOption||e.pixelSize||e.relationParam||e.text||e.outStatistics||e.groupByFieldsForStatistics||e.having||e.orderByFields)throw new i(Y,"Unsupported query options",{query:e});return this._checkAttributesQuerySupport(e),Promise.all([this._checkStatisticsParamsSupport(t,e),N(e,this.geometryType,this.spatialReference),B(this.spatialReference,e.outSR)]).then((()=>e))}async _checkStatisticsParamsSupport(e,t){let s=[];if(e.valueExpression){const{arcadeUtils:t}=await W();s=t.extractFieldNames(e.valueExpression)}if(e.field&&s.push(e.field),e.field2&&s.push(e.field2),e.field3&&s.push(e.field3),e.normalizationField&&s.push(e.normalizationField),!s.length&&!e.valueExpression)throw new i(Y,"field or valueExpression is required",{params:e});j(this.fieldsIndex,s,{errorMessage:"Cannot calculate statistics for missing fields",query:t}),A(this.fieldsIndex,s,{expressionName:"statistics",query:t})}async _checkQuerySupport(e){if((e.distance??0)<0||null!=e.geometryPrecision||e.multipatchOption||e.pixelSize||e.relationParam||e.text)throw new i(Y,"Unsupported query options",{query:e});return this._checkAttributesQuerySupport(e),this._checkStatisticsQuerySupport(e),Promise.all([N(e,this.geometryType,this.spatialReference),B(this.spatialReference,e.outSR)]).then((()=>e))}_checkAttributesQuerySupport(e){const{outFields:t,orderByFields:s,returnDistinctValues:r,outStatistics:a}=e,n=a?a.map((e=>e.outStatisticFieldName&&e.outStatisticFieldName.toLowerCase())).filter(Boolean):[];if(s&&s.length>0){const t=" asc",i=" desc",r=s.map((e=>{const s=e.toLowerCase();return s.includes(t)?s.split(t)[0]:s.includes(i)?s.split(i)[0]:e})).filter((e=>!n.includes(e)));j(this.fieldsIndex,r,{expressionName:"orderByFields",query:e})}if(t&&t.length>0)j(this.fieldsIndex,t,{expressionName:"outFields",query:e});else if(r)throw new i(Y,"outFields should be specified for returnDistinctValues",{query:e});b(this.fieldsIndex,e.where,e)}_checkStatisticsQuerySupport(e){const{outStatistics:t,groupByFieldsForStatistics:s,having:r}=e,a=s?.length,n=t?.length;if(r){if(!a||!n)throw new i(Y,"outStatistics and groupByFieldsForStatistics should be specified with having",{query:e});P(this.fieldsIndex,r,t,e)}if(n){if(!X(t))return;const r=t.map((e=>e.onStatisticField)).filter(Boolean);j(this.fieldsIndex,r,{expressionName:"onStatisticFields",query:e}),a&&j(this.fieldsIndex,s,{expressionName:"groupByFieldsForStatistics",query:e});const n=new Set([...q.jsonValues,...T.jsonValues]),o=new Intl.ListFormat("en-US",{type:"conjunction"}).format([...q.apiValues,...T.apiValues]);for(const s of t){const{onStatisticField:t,statisticType:r}=s;if(("percentile_disc"===r||"percentile_cont"===r)&&"statisticParameters"in s){const{statisticParameters:t}=s;if(!t)throw new i(Y,"statisticParameters should be set for percentile type",{definition:s,query:e})}else if("count"!==r&&"min"!==r&&"max"!==r&&t&&C(t,this.fieldsIndex,n))throw new i(Y,`outStatistics with '${r}' statistic type, only supports ${o} field types`,{definition:s,query:e})}}}async _getQueryEngineResultForStats(e,t,i){e=r(e);try{e=await this._schedule((()=>L(e,this.definitionExpression,this.spatialReference)),i),e=await this._reschedule((()=>this._checkStatisticsSupport(e,t)),i);const s=await this._reschedule((()=>this._executeSceneFilterQuery(e,i)),i),r=await this._reschedule((()=>this._executeGeometryQuery(e,s,i)),i);return await this._reschedule((()=>this._executeAggregateIdsQuery(r)),i),await this._reschedule((()=>this._executeObjectIdsQuery(r)),i),await this._reschedule((()=>this._executeTimeQuery(r)),i),await this._reschedule((()=>this._executeAttributesQuery(r)),i),r}catch(s){if(s!==V)throw s;return new z([],e,this)}}}export{ee as Feature,se as QueryEngine};
5
+ import{PositionHint as e,indexOf as t}from"../../../core/arrayUtils.js";import i from"../../../core/Error.js";import{isSerializable as s}from"../../../core/JSONSupport.js";import{clone as r}from"../../../core/lang.js";import{removeMaybe as a,destroyMaybe as n}from"../../../core/maybe.js";import{MemCacheStorage as u,MemCache as l}from"../../../core/MemCache.js";import{throwIfAborted as o}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as h}from"../../../core/unitUtils.js";import{getTransformation as c}from"../../../geometry/projection.js";import{set as m,negativeInfinity as y,create as f,expandWithAABB as p}from"../../../geometry/support/aaBoundingBox.js";import{fromValues as d,create as g}from"../../../geometry/support/aaBoundingRect.js";import{getBoundsXY as x}from"../../../geometry/support/boundsUtils.js";import{fromJSON as _,isExtent as w,isPolygon as F}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as S}from"../../../geometry/support/normalizeUtils.js";import{equals as R,isValid as Q}from"../../../geometry/support/spatialReferenceUtils.js";import{convertFromGeometry as I}from"../featureConversionUtils.js";import{getWhereClause as j}from"./attributeSupport.js";import{cleanFromGeometryEngine as E,getGeometry as b}from"./geometryUtils.js";import{checkProjectionSupport as A,project as T,projectMany as v}from"./projectionSupport.js";import{queryCapabilities as C}from"./QueryEngineCapabilities.js";import{QueryEngineResult as M}from"./QueryEngineResult.js";import{queryEngineEmptyResult as G,normalizeQueryLike as O,normalizeQuery as P}from"./queryUtils.js";import{validateQuery as z,validateStatisticsQuery as B}from"./queryValidationUtils.js";import{getSpatialQueryOperator as q,canQueryWithRBush as k}from"./spatialQuerySupport.js";import{getTimeExtent as U,getTimeOperator as Z}from"./timeSupport.js";import H from"../../support/FieldsIndex.js";import{noBudget as J}from"../../../views/support/Scheduler.js";const N="unsupported-query";class L{constructor(e,t=null,i,s,r){this.attributes=e,this.geometry=i,this.centroid=s,this.filterFlags=r,this.groupId=-1,this.displayId=t}}const V=new u(2e6);let D=0;class W{constructor(e){this._geometryQueryCache=null,this._changeHandle=null,this.capabilities={query:C},this.geometryType=e.geometryType,this.hasM=!!e.hasM,this.hasZ=!!e.hasZ,this.objectIdField=e.objectIdField,this.spatialReference=e.spatialReference,this.definitionExpression=e.definitionExpression,this.featureStore=e.featureStore,this.aggregateAdapter=e.aggregateAdapter,this._changeHandle=this.featureStore.events.on("changed",(()=>this.clearCache())),this.timeInfo=e.timeInfo,e.cacheSpatialQueries&&(this._geometryQueryCache=new l(D+++"$$",V)),this.fieldsIndex=s(e.fieldsIndex)?e.fieldsIndex:H.fromJSON(e.fieldsIndex),this.availableFields=null==e.availableFields?new Set(this.fieldsIndex.fields.map((e=>e.name))):new Set(e.availableFields.map((e=>this.fieldsIndex.get(e)?.name)).filter((e=>null!=e))),e.scheduler&&e.priority&&(this._frameTask=e.scheduler.registerTask(e.priority))}destroy(){this._frameTask=a(this._frameTask),this.clearCache(),n(this._geometryQueryCache),this._changeHandle=a(this._changeHandle)}get featureAdapter(){return this.featureStore.featureAdapter}clearCache(){this._geometryQueryCache?.clear(),this._allFeaturesPromise=null,this._timeExtentPromise=null,this._fullExtentPromise=null}async executeQuery(e,t){try{return(await this._executeQuery(e,{},t)).createQueryResponse()}catch(i){if(i!==G)throw i;return new M([],e,this).createQueryResponse()}}async executeQueryForCount(e={},t){try{return(await this._executeQuery(e,{returnGeometry:!1,returnCentroid:!1,outSR:null},t)).createQueryResponseForCount()}catch(i){if(i!==G)throw i;return 0}}async executeQueryForExtent(e,t){const i=e.outSR;try{const s=await this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null},t),r=s.size;if(!r)return{count:0,extent:null};return{count:r,extent:await this._getBounds(s.items,s.spatialReference,i||this.spatialReference)}}catch(s){if(s===G)return{count:0,extent:null};throw s}}async executeQueryForIds(e,t){return this.executeQueryForIdSet(e,t).then((e=>Array.from(e)))}async executeQueryForIdSet(e,t){try{const i=await this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null},t),s=i.items,r=new Set;return await this._reschedule((()=>{for(const e of s)r.add(i.featureAdapter.getObjectId(e))}),t),r}catch(i){if(i===G)return new Set;throw i}}async executeQueryForSnapping(e,t){const{point:i,distance:s,returnEdge:a,vertexMode:n}=e;if(!a&&"none"===n)return{candidates:[]};let u=r(e.query);u=await this._schedule((()=>O(u,this.definitionExpression,this.spatialReference)),t),u=await this._reschedule((()=>z(u,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference})),t);const l=!R(i.spatialReference,this.spatialReference);l&&await A(i.spatialReference,this.spatialReference);const o="number"==typeof s?s:s.x,h="number"==typeof s?s:s.y,c={xmin:i.x-o,xmax:i.x+o,ymin:i.y-h,ymax:i.y+h,spatialReference:i.spatialReference},m=l?T(c,this.spatialReference):c;if(!m)return{candidates:[]};const y=(await S(_(i),null,{signal:t}))[0],f=(await S(_(m),null,{signal:t}))[0];if(null==y||null==f)return{candidates:[]};const p=new M(await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(f.toJSON()))),t),u,this);await this._reschedule((()=>this._executeObjectIdsQuery(p)),t),await this._reschedule((()=>this._executeTimeQuery(p)),t),await this._reschedule((()=>this._executeAttributesQuery(p)),t),await this._reschedule((()=>this._executeGeometryQueryForSnapping(p,t)),t);const d=y.toJSON(),g=l?T(d,this.spatialReference):d,x=l?Math.max(m.xmax-m.xmin,m.ymax-m.ymin)/2:s;return p.createSnappingResponse({...e,point:g,distance:x},i.spatialReference)}async executeQueryForLatestObservations(e,t){if(!this.timeInfo?.trackIdField)throw new i(N,"Missing timeInfo or timeInfo.trackIdField",{query:e,timeInfo:this.timeInfo});try{const i=await this._executeQuery(e,{},t);return await this._reschedule((()=>this._filterLatest(i)),t),i.createQueryResponse()}catch(s){if(s!==G)throw s;return new M([],e,this).createQueryResponse()}}async executeQueryForSummaryStatistics(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._executeQueryForStatistics(e,{field:s,normalizationField:r,valueExpression:a},i)).createSummaryStatisticsResponse(t)}async executeQueryForUniqueValues(e={},t,i){const{field:s,field2:r,field3:a,valueExpression:n}=t;return(await this._executeQueryForStatistics(e,{field:s,field2:r,field3:a,valueExpression:n},i)).createUniqueValuesResponse(t)}async executeQueryForClassBreaks(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._executeQueryForStatistics(e,{field:s,normalizationField:r,valueExpression:a},i)).createClassBreaksResponse(t)}async executeQueryForHistogram(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._executeQueryForStatistics(e,{field:s,normalizationField:r,valueExpression:a},i)).createHistogramResponse(t)}async fetchRecomputedExtents(e){this._timeExtentPromise||=U(this.timeInfo,this.featureStore);const[t,i]=await Promise.all([this._getFullExtent(),this._timeExtentPromise]);return o(e),{fullExtent:t,timeExtent:i}}async _getBounds(e,t,i){const s=m(f(),y);await this.featureStore.forEachBounds(e,(e=>p(s,e)));const r={xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:E(this.spatialReference)};this.hasZ&&isFinite(s[2])&&isFinite(s[5])&&(r.zmin=s[2],r.zmax=s[5]);const a=T(r,t,i);if(a.spatialReference=E(i),a.xmax-a.xmin==0){const e=h(a.spatialReference);a.xmin-=e,a.xmax+=e}if(a.ymax-a.ymin==0){const e=h(a.spatialReference);a.ymin-=e,a.ymax+=e}if(this.hasZ&&null!=a.zmin&&null!=a.zmax&&a.zmax-a.zmin==0){const e=h(a.spatialReference);a.zmin-=e,a.zmax+=e}return a}_getFullExtent(){return this._fullExtentPromise||="getFullExtent"in this.featureStore&&this.featureStore.getFullExtent?Promise.resolve(this.featureStore.getFullExtent(this.spatialReference)):this._getAllFeatures().then((e=>this._getBounds(e,this.spatialReference,this.spatialReference))),this._fullExtentPromise}async _schedule(e,t){return null!=this._frameTask?this._frameTask.schedule(e,t):e(J)}async _reschedule(e,t){return null!=this._frameTask?this._frameTask.reschedule(e,t):e(J)}async _getAllFeaturesQueryEngineResult(e){return new M(await this._getAllFeatures(),e,this)}async _getAllFeatures(){if(null==this._allFeaturesPromise){const e=[];this._allFeaturesPromise=(async()=>{await this.featureStore.forEach((t=>e.push(t)))})().then((()=>e))}const e=this._allFeaturesPromise,t=await e;return e===this._allFeaturesPromise?t.slice():this._getAllFeatures()}async _executeQuery(e,t,i){e=r(e),e=await this._schedule((()=>P(e,this.definitionExpression,this.spatialReference)),i),e=await this._reschedule((()=>z(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference})),i),e={...e,...t};const s=await this._reschedule((()=>this._executeSceneFilterQuery(e,i)),i),a=await this._reschedule((()=>this._executeGeometryQuery(e,s,i)),i);return await this._reschedule((()=>this._executeAggregateIdsQuery(a)),i),await this._reschedule((()=>this._executeObjectIdsQuery(a)),i),await this._reschedule((()=>this._executeTimeQuery(a)),i),await this._reschedule((()=>this._executeAttributesQuery(a)),i),a}async _executeSceneFilterQuery(e,t){if(null==e.sceneFilter)return null;const{outSR:i,returnGeometry:s,returnCentroid:r}=e,a=this.featureStore.featureSpatialReference,n=e.sceneFilter.geometry,u=null==a||R(a,n.spatialReference)?n:T(n,a);if(!u)return null;const l=s||r,o=Q(i)&&!R(this.spatialReference,i)&&l?async e=>this._project(e,i):e=>e,h=this.featureAdapter,c=await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(u))),t);if("disjoint"===e.sceneFilter.spatialRelationship){if(!c.length)return null;const i=new Set;for(const e of c)i.add(h.getObjectId(e));const s=await this._reschedule((()=>this._getAllFeatures()),t),r=await this._reschedule((async()=>{const r=await q("esriSpatialRelDisjoint",u,this.geometryType,this.hasZ,this.hasM),a=e=>!i.has(h.getObjectId(e))||r(h.getGeometry(e)),n=await this._runSpatialFilter(s,a,t);return new M(n,e,this)}),t);return o(r)}if(!c.length)return new M([],e,this);if(this._canExecuteSinglePass(u,e))return o(new M(c,e,this));const m=await q("esriSpatialRelContains",u,this.geometryType,this.hasZ,this.hasM),y=await this._runSpatialFilter(c,(e=>m(h.getGeometry(e))),t);return o(new M(y,e,this))}async _executeGeometryQuery(i,s,r){if(null!=s&&0===s.items.length)return s;i=null!=s?s.query:i;const{geometry:a,outSR:n,spatialRel:u,returnGeometry:l,returnCentroid:o}=i,h=this.featureStore.featureSpatialReference,c=!a||null==h||R(h,a.spatialReference)?a:T(a,h),m=l||o,y=Q(n)&&!R(this.spatialReference,n),f=this._geometryQueryCache&&null==s?y&&m?JSON.stringify({originalFilterGeometry:a,spatialRelationship:u,outSpatialReference:n}):JSON.stringify({originalFilterGeometry:a,spatialRelationship:u}):null,p=f?this._geometryQueryCache.get(f):null;if(null!=p)return new M(p,i,this);const d=async e=>(y&&m&&await this._project(e,n),f&&this._geometryQueryCache.put(f,e.items,e.items.length+1),e);if(!c)return d(null!=s?s:await this._getAllFeaturesQueryEngineResult(i));const g=this.featureAdapter;let x=await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(a))),r);if("esriSpatialRelDisjoint"===u){if(!x.length)return d(null!=s?s:await this._getAllFeaturesQueryEngineResult(i));const e=new Set;for(const i of x)e.add(g.getObjectId(i));const t=null!=s?s.items:await this._reschedule((()=>this._getAllFeatures()),r),a=await this._reschedule((async()=>{const s=await q(u,c,this.geometryType,this.hasZ,this.hasM),a=t=>!e.has(g.getObjectId(t))||s(g.getGeometry(t)),n=await this._runSpatialFilter(t,a,r);return new M(n,i,this)}),r);return d(a)}if(null!=s){const i=new e;x=x.filter((e=>t(s.items,e,s.items.length,i)>=0))}if(!x.length){const e=new M([],i,this);return f&&this._geometryQueryCache.put(f,e.items,1),e}if(this._canExecuteSinglePass(c,i))return d(new M(x,i,this));const _=await q(u,c,this.geometryType,this.hasZ,this.hasM),w=await this._runSpatialFilter(x,(e=>_(g.getGeometry(e))),r);return d(new M(w,i,this))}async _executeGeometryQueryForSnapping(e,t){const{query:i}=e,{spatialRel:s}=i;if(!e?.items?.length||!i.geometry||!s)return;const r=await q(s,i.geometry,this.geometryType,this.hasZ,this.hasM),a=await this._runSpatialFilter(e.items,(e=>r(e.geometry)),t);e.items=a}_executeAggregateIdsQuery(e){if(0===e.items.length||!e.query.aggregateIds?.length||null==this.aggregateAdapter)return;const t=new Set;for(const s of e.query.aggregateIds){this.aggregateAdapter.getFeatureObjectIds(s).forEach((e=>t.add(e)))}const i=this.featureAdapter.getObjectId;e.items=e.items.filter((e=>t.has(i(e))))}_executeObjectIdsQuery(e){if(0===e.items.length||!e.query.objectIds?.length)return;const t=new Set(e.query.objectIds),i=this.featureAdapter.getObjectId;e.items=e.items.filter((e=>t.has(i(e))))}_executeTimeQuery(e){if(0===e.items.length)return;const t=Z(this.timeInfo,e.query.timeExtent,this.featureAdapter);null!=t&&(e.items=e.items.filter(t))}_executeAttributesQuery(e){if(0===e.items.length)return;const t=j(e.query.where,this.fieldsIndex);if(t){if(!t.isStandardized)throw new TypeError("Where clause is not standardized");e.items=e.items.filter((e=>t.testFeature(e,this.featureAdapter)))}}async _runSpatialFilter(e,t,i){if(!t)return e;if(null==this._frameTask)return e.filter((e=>t(e)));let s=0;const r=new Array,a=async n=>{for(;s<e.length;){const u=e[s++];t(u)&&(r.push(u),n.madeProgress()),n.done&&await this._reschedule((e=>a(e)),i)}};return this._reschedule((e=>a(e)),i).then((()=>r))}_filterLatest(e){const{trackIdField:t,startTimeField:i,endTimeField:s}=this.timeInfo,r=s||i,a=new Map,n=this.featureAdapter.getAttribute;for(const u of e.items){const e=n(u,t),i=n(u,r),s=a.get(e);(!s||i>n(s,r))&&a.set(e,u)}e.items=Array.from(a.values())}_canExecuteSinglePass(e,t){const{spatialRel:i}=t;return k(e)&&("esriSpatialRelEnvelopeIntersects"===i||"esriGeometryPoint"===this.geometryType&&("esriSpatialRelIntersects"===i||"esriSpatialRelContains"===i))}async _project(e,t){if(!t||R(this.spatialReference,t))return e;const i=this.featureAdapter;let s;try{const e=await this._getFullExtent();s=c(this.spatialReference,t,e)}catch{}const r=await v(e.items.map((e=>b(this.geometryType,this.hasZ,this.hasM,i.getGeometry(e)))),this.spatialReference,t,s);return e.items=r.map(((t,s)=>i.cloneWithGeometry(e.items[s],I(t,this.hasZ,this.hasM)))),e}_getQueryBBoxes(e){if(k(e)){if(w(e))return[d(Math.min(e.xmin,e.xmax),Math.min(e.ymin,e.ymax),Math.max(e.xmin,e.xmax),Math.max(e.ymin,e.ymax))];if(F(e))return e.rings.map((e=>d(Math.min(e[0][0],e[2][0]),Math.min(e[0][1],e[2][1]),Math.max(e[0][0],e[2][0]),Math.max(e[0][1],e[2][1]))))}return[x(g(),e)]}async _searchFeatures(e){const t=new Set;await Promise.all(e.map((e=>this.featureStore.forEachInBounds(e,(e=>t.add(e))))));const i=Array.from(t.values());return t.clear(),i}async _executeQueryForStatistics(e,t,i){e=r(e);try{e=await this._schedule((()=>P(e,this.definitionExpression,this.spatialReference)),i),e=await this._reschedule((()=>B(e,t,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference})),i);const s=await this._reschedule((()=>this._executeSceneFilterQuery(e,i)),i),r=await this._reschedule((()=>this._executeGeometryQuery(e,s,i)),i);return await this._reschedule((()=>this._executeAggregateIdsQuery(r)),i),await this._reschedule((()=>this._executeObjectIdsQuery(r)),i),await this._reschedule((()=>this._executeTimeQuery(r)),i),await this._reschedule((()=>this._executeAttributesQuery(r)),i),r}catch(s){if(s!==G)throw s;return new M([],e,this)}}}export{L as Feature,W as QueryEngine};