@arcgis/core 4.28.0-next.20230524 → 4.28.0-next.20230621

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 (1955) hide show
  1. package/Map.js +1 -1
  2. package/README.md +17 -17
  3. package/WebMap.js +1 -1
  4. package/WebScene.js +1 -1
  5. package/arcade/featureSetUtils.js +1 -1
  6. package/arcade/featureset/actions/Adapted.js +1 -1
  7. package/arcade/featureset/actions/GroupBy.js +1 -1
  8. package/arcade/featureset/actions/OrderBy.js +1 -1
  9. package/arcade/featureset/support/FeatureSetIterator.js +1 -1
  10. package/arcade/functions/featuresetbase.js +1 -1
  11. package/arcade/functions/featuresetstring.js +1 -1
  12. package/arcade/functions/geometry.js +1 -1
  13. package/arcade/languageUtils.js +1 -1
  14. package/arcade/treeAnalysis.js +1 -1
  15. package/assets/components/assets/card/t9n/messages_ar.json +1 -1
  16. package/assets/components/assets/card/t9n/messages_bg.json +1 -1
  17. package/assets/components/assets/card/t9n/messages_bs.json +1 -1
  18. package/assets/components/assets/card/t9n/messages_ca.json +1 -1
  19. package/assets/components/assets/card/t9n/messages_cs.json +1 -1
  20. package/assets/components/assets/card/t9n/messages_da.json +1 -1
  21. package/assets/components/assets/card/t9n/messages_de.json +1 -1
  22. package/assets/components/assets/card/t9n/messages_el.json +1 -1
  23. package/assets/components/assets/card/t9n/messages_es.json +1 -1
  24. package/assets/components/assets/card/t9n/messages_et.json +1 -1
  25. package/assets/components/assets/card/t9n/messages_fi.json +1 -1
  26. package/assets/components/assets/card/t9n/messages_fr.json +1 -1
  27. package/assets/components/assets/card/t9n/messages_he.json +1 -1
  28. package/assets/components/assets/card/t9n/messages_hr.json +1 -1
  29. package/assets/components/assets/card/t9n/messages_hu.json +1 -1
  30. package/assets/components/assets/card/t9n/messages_id.json +1 -1
  31. package/assets/components/assets/card/t9n/messages_it.json +1 -1
  32. package/assets/components/assets/card/t9n/messages_ja.json +1 -1
  33. package/assets/components/assets/card/t9n/messages_ko.json +1 -1
  34. package/assets/components/assets/card/t9n/messages_lt.json +1 -1
  35. package/assets/components/assets/card/t9n/messages_lv.json +1 -1
  36. package/assets/components/assets/card/t9n/messages_nl.json +1 -1
  37. package/assets/components/assets/card/t9n/messages_no.json +1 -1
  38. package/assets/components/assets/card/t9n/messages_pl.json +1 -1
  39. package/assets/components/assets/card/t9n/messages_pt-BR.json +1 -1
  40. package/assets/components/assets/card/t9n/messages_pt-PT.json +1 -1
  41. package/assets/components/assets/card/t9n/messages_ro.json +1 -1
  42. package/assets/components/assets/card/t9n/messages_ru.json +1 -1
  43. package/assets/components/assets/card/t9n/messages_sk.json +1 -1
  44. package/assets/components/assets/card/t9n/messages_sl.json +1 -1
  45. package/assets/components/assets/card/t9n/messages_sr.json +1 -1
  46. package/assets/components/assets/card/t9n/messages_sv.json +1 -1
  47. package/assets/components/assets/card/t9n/messages_th.json +1 -1
  48. package/assets/components/assets/card/t9n/messages_tr.json +1 -1
  49. package/assets/components/assets/card/t9n/messages_uk.json +1 -1
  50. package/assets/components/assets/card/t9n/messages_vi.json +1 -1
  51. package/assets/components/assets/card/t9n/messages_zh-CN.json +1 -1
  52. package/assets/components/assets/card/t9n/messages_zh-HK.json +1 -1
  53. package/assets/components/assets/card/t9n/messages_zh-TW.json +1 -1
  54. package/assets/components/assets/combobox/t9n/messages.json +1 -0
  55. package/assets/components/assets/combobox/t9n/messages_ar.json +1 -0
  56. package/assets/components/assets/combobox/t9n/messages_bg.json +1 -0
  57. package/assets/components/assets/combobox/t9n/messages_bs.json +1 -0
  58. package/assets/components/assets/combobox/t9n/messages_ca.json +1 -0
  59. package/assets/components/assets/combobox/t9n/messages_cs.json +1 -0
  60. package/assets/components/assets/combobox/t9n/messages_da.json +1 -0
  61. package/assets/components/assets/combobox/t9n/messages_de.json +1 -0
  62. package/assets/components/assets/combobox/t9n/messages_el.json +1 -0
  63. package/assets/components/assets/combobox/t9n/messages_en.json +1 -0
  64. package/assets/components/assets/combobox/t9n/messages_es.json +1 -0
  65. package/assets/components/assets/combobox/t9n/messages_et.json +1 -0
  66. package/assets/components/assets/combobox/t9n/messages_fi.json +1 -0
  67. package/assets/components/assets/combobox/t9n/messages_fr.json +1 -0
  68. package/assets/components/assets/combobox/t9n/messages_he.json +1 -0
  69. package/assets/components/assets/combobox/t9n/messages_hr.json +1 -0
  70. package/assets/components/assets/combobox/t9n/messages_hu.json +1 -0
  71. package/assets/components/assets/combobox/t9n/messages_id.json +1 -0
  72. package/assets/components/assets/combobox/t9n/messages_it.json +1 -0
  73. package/assets/components/assets/combobox/t9n/messages_ja.json +1 -0
  74. package/assets/components/assets/combobox/t9n/messages_ko.json +1 -0
  75. package/assets/components/assets/combobox/t9n/messages_lt.json +1 -0
  76. package/assets/components/assets/combobox/t9n/messages_lv.json +1 -0
  77. package/assets/components/assets/combobox/t9n/messages_nl.json +1 -0
  78. package/assets/components/assets/combobox/t9n/messages_no.json +1 -0
  79. package/assets/components/assets/combobox/t9n/messages_pl.json +1 -0
  80. package/assets/components/assets/combobox/t9n/messages_pt-BR.json +1 -0
  81. package/assets/components/assets/combobox/t9n/messages_pt-PT.json +1 -0
  82. package/assets/components/assets/combobox/t9n/messages_ro.json +1 -0
  83. package/assets/components/assets/combobox/t9n/messages_ru.json +1 -0
  84. package/assets/components/assets/combobox/t9n/messages_sk.json +1 -0
  85. package/assets/components/assets/combobox/t9n/messages_sl.json +1 -0
  86. package/assets/components/assets/combobox/t9n/messages_sr.json +1 -0
  87. package/assets/components/assets/combobox/t9n/messages_sv.json +1 -0
  88. package/assets/components/assets/combobox/t9n/messages_th.json +1 -0
  89. package/assets/components/assets/combobox/t9n/messages_tr.json +1 -0
  90. package/assets/components/assets/combobox/t9n/messages_uk.json +1 -0
  91. package/assets/components/assets/combobox/t9n/messages_vi.json +1 -0
  92. package/assets/components/assets/combobox/t9n/messages_zh-CN.json +1 -0
  93. package/assets/components/assets/combobox/t9n/messages_zh-HK.json +1 -0
  94. package/assets/components/assets/combobox/t9n/messages_zh-TW.json +1 -0
  95. package/assets/components/assets/handle/t9n/messages_cs.json +1 -1
  96. package/assets/components/assets/handle/t9n/messages_ja.json +1 -1
  97. package/assets/components/assets/handle/t9n/messages_ru.json +1 -1
  98. package/assets/components/assets/handle/t9n/messages_sk.json +1 -1
  99. package/assets/components/assets/icon/accessibility16.json +1 -0
  100. package/assets/components/assets/icon/accessibility24.json +1 -0
  101. package/assets/components/assets/icon/accessibility32.json +1 -0
  102. package/assets/components/assets/icon/addAndUpdateFeatures16.json +1 -0
  103. package/assets/components/assets/icon/addAndUpdateFeatures24.json +1 -0
  104. package/assets/components/assets/icon/addAndUpdateFeatures32.json +1 -0
  105. package/assets/components/assets/icon/addFeatures16.json +1 -0
  106. package/assets/components/assets/icon/addFeatures24.json +1 -0
  107. package/assets/components/assets/icon/addFeatures32.json +1 -0
  108. package/assets/components/assets/icon/arrowCircleDown16.json +1 -0
  109. package/assets/components/assets/icon/arrowCircleDown16F.json +1 -0
  110. package/assets/components/assets/icon/arrowCircleDown24.json +1 -0
  111. package/assets/components/assets/icon/arrowCircleDown24F.json +1 -0
  112. package/assets/components/assets/icon/arrowCircleDown32.json +1 -0
  113. package/assets/components/assets/icon/arrowCircleDown32F.json +1 -0
  114. package/assets/components/assets/icon/arrowCircleDownF16.json +1 -0
  115. package/assets/components/assets/icon/arrowCircleDownF24.json +1 -0
  116. package/assets/components/assets/icon/arrowCircleDownF32.json +1 -0
  117. package/assets/components/assets/icon/joinedViewLayer16.json +1 -0
  118. package/assets/components/assets/icon/joinedViewLayer24.json +1 -0
  119. package/assets/components/assets/icon/joinedViewLayer32.json +1 -0
  120. package/assets/components/assets/icon/locationSharing16.json +1 -0
  121. package/assets/components/assets/icon/locationSharing16F.json +1 -0
  122. package/assets/components/assets/icon/locationSharing24.json +1 -0
  123. package/assets/components/assets/icon/locationSharing24F.json +1 -0
  124. package/assets/components/assets/icon/locationSharing32.json +1 -0
  125. package/assets/components/assets/icon/locationSharing32F.json +1 -0
  126. package/assets/components/assets/icon/locationSharingDisabled16.json +1 -0
  127. package/assets/components/assets/icon/locationSharingDisabled24.json +1 -0
  128. package/assets/components/assets/icon/locationSharingDisabled32.json +1 -0
  129. package/assets/components/assets/icon/locationSharingEnabled16.json +1 -0
  130. package/assets/components/assets/icon/locationSharingEnabled24.json +1 -0
  131. package/assets/components/assets/icon/locationSharingEnabled32.json +1 -0
  132. package/assets/components/assets/icon/locationSharingFilled16.json +1 -0
  133. package/assets/components/assets/icon/locationSharingFilled24.json +1 -0
  134. package/assets/components/assets/icon/locationSharingFilled32.json +1 -0
  135. package/assets/components/assets/icon/locationSharingOff16.json +1 -0
  136. package/assets/components/assets/icon/locationSharingOff24.json +1 -0
  137. package/assets/components/assets/icon/locationSharingOff32.json +1 -0
  138. package/assets/components/assets/icon/maskInside16.json +1 -0
  139. package/assets/components/assets/icon/maskInside24.json +1 -0
  140. package/assets/components/assets/icon/maskInside32.json +1 -0
  141. package/assets/components/assets/icon/maskOutside16.json +1 -0
  142. package/assets/components/assets/icon/maskOutside24.json +1 -0
  143. package/assets/components/assets/icon/maskOutside32.json +1 -0
  144. package/assets/components/assets/icon/numberCircle116F.json +1 -0
  145. package/assets/components/assets/icon/numberCircle124F.json +1 -0
  146. package/assets/components/assets/icon/numberCircle132F.json +1 -0
  147. package/assets/components/assets/icon/numberCircle1F16.json +1 -0
  148. package/assets/components/assets/icon/numberCircle1F24.json +1 -0
  149. package/assets/components/assets/icon/numberCircle1F32.json +1 -0
  150. package/assets/components/assets/icon/numberCircle216F.json +1 -0
  151. package/assets/components/assets/icon/numberCircle224F.json +1 -0
  152. package/assets/components/assets/icon/numberCircle232F.json +1 -0
  153. package/assets/components/assets/icon/numberCircle2F16.json +1 -0
  154. package/assets/components/assets/icon/numberCircle2F24.json +1 -0
  155. package/assets/components/assets/icon/numberCircle2F32.json +1 -0
  156. package/assets/components/assets/icon/numberCircle316F.json +1 -0
  157. package/assets/components/assets/icon/numberCircle324F.json +1 -0
  158. package/assets/components/assets/icon/numberCircle332F.json +1 -0
  159. package/assets/components/assets/icon/numberCircle3F16.json +1 -0
  160. package/assets/components/assets/icon/numberCircle3F24.json +1 -0
  161. package/assets/components/assets/icon/numberCircle3F32.json +1 -0
  162. package/assets/components/assets/icon/numberCircle416F.json +1 -0
  163. package/assets/components/assets/icon/numberCircle424F.json +1 -0
  164. package/assets/components/assets/icon/numberCircle432F.json +1 -0
  165. package/assets/components/assets/icon/numberCircle4F16.json +1 -0
  166. package/assets/components/assets/icon/numberCircle4F24.json +1 -0
  167. package/assets/components/assets/icon/numberCircle4F32.json +1 -0
  168. package/assets/components/assets/icon/numberCircle516F.json +1 -0
  169. package/assets/components/assets/icon/numberCircle524F.json +1 -0
  170. package/assets/components/assets/icon/numberCircle532F.json +1 -0
  171. package/assets/components/assets/icon/numberCircle5F16.json +1 -0
  172. package/assets/components/assets/icon/numberCircle5F24.json +1 -0
  173. package/assets/components/assets/icon/numberCircle5F32.json +1 -0
  174. package/assets/components/assets/icon/numberCircle616F.json +1 -0
  175. package/assets/components/assets/icon/numberCircle624F.json +1 -0
  176. package/assets/components/assets/icon/numberCircle632F.json +1 -0
  177. package/assets/components/assets/icon/numberCircle6F16.json +1 -0
  178. package/assets/components/assets/icon/numberCircle6F24.json +1 -0
  179. package/assets/components/assets/icon/numberCircle6F32.json +1 -0
  180. package/assets/components/assets/icon/numberCircle716F.json +1 -0
  181. package/assets/components/assets/icon/numberCircle724F.json +1 -0
  182. package/assets/components/assets/icon/numberCircle732F.json +1 -0
  183. package/assets/components/assets/icon/numberCircle7F16.json +1 -0
  184. package/assets/components/assets/icon/numberCircle7F24.json +1 -0
  185. package/assets/components/assets/icon/numberCircle7F32.json +1 -0
  186. package/assets/components/assets/icon/numberCircle816F.json +1 -0
  187. package/assets/components/assets/icon/numberCircle824F.json +1 -0
  188. package/assets/components/assets/icon/numberCircle832F.json +1 -0
  189. package/assets/components/assets/icon/numberCircle8F16.json +1 -0
  190. package/assets/components/assets/icon/numberCircle8F24.json +1 -0
  191. package/assets/components/assets/icon/numberCircle8F32.json +1 -0
  192. package/assets/components/assets/icon/numberCircle916F.json +1 -0
  193. package/assets/components/assets/icon/numberCircle924F.json +1 -0
  194. package/assets/components/assets/icon/numberCircle932F.json +1 -0
  195. package/assets/components/assets/icon/numberCircle9F16.json +1 -0
  196. package/assets/components/assets/icon/numberCircle9F24.json +1 -0
  197. package/assets/components/assets/icon/numberCircle9F32.json +1 -0
  198. package/assets/components/assets/icon/orientedImageryLayer16.json +1 -0
  199. package/assets/components/assets/icon/orientedImageryLayer24.json +1 -0
  200. package/assets/components/assets/icon/orientedImageryLayer32.json +1 -0
  201. package/assets/components/assets/icon/overwriteFeatures16.json +1 -0
  202. package/assets/components/assets/icon/overwriteFeatures24.json +1 -0
  203. package/assets/components/assets/icon/overwriteFeatures32.json +1 -0
  204. package/assets/components/assets/icon/parcelLayer16.json +1 -0
  205. package/assets/components/assets/icon/parcelLayer24.json +1 -0
  206. package/assets/components/assets/icon/parcelLayer32.json +1 -0
  207. package/assets/components/assets/icon/refreshF16.json +1 -0
  208. package/assets/components/assets/icon/refreshF24.json +1 -0
  209. package/assets/components/assets/icon/refreshF32.json +1 -0
  210. package/assets/components/assets/icon/strikethrough16.json +1 -0
  211. package/assets/components/assets/icon/strikethrough24.json +1 -0
  212. package/assets/components/assets/icon/strikethrough32.json +1 -0
  213. package/assets/components/assets/icon/updateFeatures16.json +1 -0
  214. package/assets/components/assets/icon/updateFeatures24.json +1 -0
  215. package/assets/components/assets/icon/updateFeatures32.json +1 -0
  216. package/assets/components/assets/icon/viewAssociations16.json +1 -0
  217. package/assets/components/assets/icon/viewAssociations24.json +1 -0
  218. package/assets/components/assets/icon/viewAssociations32.json +1 -0
  219. package/assets/components/assets/input-date-picker/t9n/messages_ar.json +1 -1
  220. package/assets/components/assets/input-date-picker/t9n/messages_bg.json +1 -1
  221. package/assets/components/assets/input-date-picker/t9n/messages_bs.json +1 -1
  222. package/assets/components/assets/input-date-picker/t9n/messages_ca.json +1 -1
  223. package/assets/components/assets/input-date-picker/t9n/messages_cs.json +1 -1
  224. package/assets/components/assets/input-date-picker/t9n/messages_da.json +1 -1
  225. package/assets/components/assets/input-date-picker/t9n/messages_de.json +1 -1
  226. package/assets/components/assets/input-date-picker/t9n/messages_el.json +1 -1
  227. package/assets/components/assets/input-date-picker/t9n/messages_es.json +1 -1
  228. package/assets/components/assets/input-date-picker/t9n/messages_et.json +1 -1
  229. package/assets/components/assets/input-date-picker/t9n/messages_fi.json +1 -1
  230. package/assets/components/assets/input-date-picker/t9n/messages_fr.json +1 -1
  231. package/assets/components/assets/input-date-picker/t9n/messages_he.json +1 -1
  232. package/assets/components/assets/input-date-picker/t9n/messages_hr.json +1 -1
  233. package/assets/components/assets/input-date-picker/t9n/messages_hu.json +1 -1
  234. package/assets/components/assets/input-date-picker/t9n/messages_id.json +1 -1
  235. package/assets/components/assets/input-date-picker/t9n/messages_it.json +1 -1
  236. package/assets/components/assets/input-date-picker/t9n/messages_ja.json +1 -1
  237. package/assets/components/assets/input-date-picker/t9n/messages_ko.json +1 -1
  238. package/assets/components/assets/input-date-picker/t9n/messages_lt.json +1 -1
  239. package/assets/components/assets/input-date-picker/t9n/messages_lv.json +1 -1
  240. package/assets/components/assets/input-date-picker/t9n/messages_nl.json +1 -1
  241. package/assets/components/assets/input-date-picker/t9n/messages_no.json +1 -1
  242. package/assets/components/assets/input-date-picker/t9n/messages_pl.json +1 -1
  243. package/assets/components/assets/input-date-picker/t9n/messages_pt-BR.json +1 -1
  244. package/assets/components/assets/input-date-picker/t9n/messages_pt-PT.json +1 -1
  245. package/assets/components/assets/input-date-picker/t9n/messages_ro.json +1 -1
  246. package/assets/components/assets/input-date-picker/t9n/messages_ru.json +1 -1
  247. package/assets/components/assets/input-date-picker/t9n/messages_sk.json +1 -1
  248. package/assets/components/assets/input-date-picker/t9n/messages_sl.json +1 -1
  249. package/assets/components/assets/input-date-picker/t9n/messages_sr.json +1 -1
  250. package/assets/components/assets/input-date-picker/t9n/messages_sv.json +1 -1
  251. package/assets/components/assets/input-date-picker/t9n/messages_th.json +1 -1
  252. package/assets/components/assets/input-date-picker/t9n/messages_tr.json +1 -1
  253. package/assets/components/assets/input-date-picker/t9n/messages_uk.json +1 -1
  254. package/assets/components/assets/input-date-picker/t9n/messages_vi.json +1 -1
  255. package/assets/components/assets/input-date-picker/t9n/messages_zh-CN.json +1 -1
  256. package/assets/components/assets/input-date-picker/t9n/messages_zh-HK.json +1 -1
  257. package/assets/components/assets/input-date-picker/t9n/messages_zh-TW.json +1 -1
  258. package/assets/components/assets/input-time-picker/t9n/messages_ar.json +1 -1
  259. package/assets/components/assets/input-time-picker/t9n/messages_bg.json +1 -1
  260. package/assets/components/assets/input-time-picker/t9n/messages_bs.json +1 -1
  261. package/assets/components/assets/input-time-picker/t9n/messages_ca.json +1 -1
  262. package/assets/components/assets/input-time-picker/t9n/messages_cs.json +1 -1
  263. package/assets/components/assets/input-time-picker/t9n/messages_da.json +1 -1
  264. package/assets/components/assets/input-time-picker/t9n/messages_de.json +1 -1
  265. package/assets/components/assets/input-time-picker/t9n/messages_el.json +1 -1
  266. package/assets/components/assets/input-time-picker/t9n/messages_es.json +1 -1
  267. package/assets/components/assets/input-time-picker/t9n/messages_et.json +1 -1
  268. package/assets/components/assets/input-time-picker/t9n/messages_fi.json +1 -1
  269. package/assets/components/assets/input-time-picker/t9n/messages_fr.json +1 -1
  270. package/assets/components/assets/input-time-picker/t9n/messages_he.json +1 -1
  271. package/assets/components/assets/input-time-picker/t9n/messages_hr.json +1 -1
  272. package/assets/components/assets/input-time-picker/t9n/messages_hu.json +1 -1
  273. package/assets/components/assets/input-time-picker/t9n/messages_id.json +1 -1
  274. package/assets/components/assets/input-time-picker/t9n/messages_it.json +1 -1
  275. package/assets/components/assets/input-time-picker/t9n/messages_ja.json +1 -1
  276. package/assets/components/assets/input-time-picker/t9n/messages_ko.json +1 -1
  277. package/assets/components/assets/input-time-picker/t9n/messages_lt.json +1 -1
  278. package/assets/components/assets/input-time-picker/t9n/messages_lv.json +1 -1
  279. package/assets/components/assets/input-time-picker/t9n/messages_nl.json +1 -1
  280. package/assets/components/assets/input-time-picker/t9n/messages_no.json +1 -1
  281. package/assets/components/assets/input-time-picker/t9n/messages_pl.json +1 -1
  282. package/assets/components/assets/input-time-picker/t9n/messages_pt-BR.json +1 -1
  283. package/assets/components/assets/input-time-picker/t9n/messages_pt-PT.json +1 -1
  284. package/assets/components/assets/input-time-picker/t9n/messages_ro.json +1 -1
  285. package/assets/components/assets/input-time-picker/t9n/messages_ru.json +1 -1
  286. package/assets/components/assets/input-time-picker/t9n/messages_sk.json +1 -1
  287. package/assets/components/assets/input-time-picker/t9n/messages_sl.json +1 -1
  288. package/assets/components/assets/input-time-picker/t9n/messages_sr.json +1 -1
  289. package/assets/components/assets/input-time-picker/t9n/messages_sv.json +1 -1
  290. package/assets/components/assets/input-time-picker/t9n/messages_th.json +1 -1
  291. package/assets/components/assets/input-time-picker/t9n/messages_tr.json +1 -1
  292. package/assets/components/assets/input-time-picker/t9n/messages_uk.json +1 -1
  293. package/assets/components/assets/input-time-picker/t9n/messages_vi.json +1 -1
  294. package/assets/components/assets/input-time-picker/t9n/messages_zh-CN.json +1 -1
  295. package/assets/components/assets/input-time-picker/t9n/messages_zh-HK.json +1 -1
  296. package/assets/components/assets/input-time-picker/t9n/messages_zh-TW.json +1 -1
  297. package/assets/components/assets/list-item/t9n/messages_vi.json +1 -1
  298. package/assets/components/assets/menu/t9n/messages.json +3 -0
  299. package/assets/components/assets/menu/t9n/messages_ar.json +3 -0
  300. package/assets/components/assets/menu/t9n/messages_bg.json +3 -0
  301. package/assets/components/assets/menu/t9n/messages_bs.json +3 -0
  302. package/assets/components/assets/menu/t9n/messages_ca.json +3 -0
  303. package/assets/components/assets/menu/t9n/messages_cs.json +3 -0
  304. package/assets/components/assets/menu/t9n/messages_da.json +3 -0
  305. package/assets/components/assets/menu/t9n/messages_de.json +3 -0
  306. package/assets/components/assets/menu/t9n/messages_el.json +3 -0
  307. package/assets/components/assets/menu/t9n/messages_en.json +3 -0
  308. package/assets/components/assets/menu/t9n/messages_es.json +3 -0
  309. package/assets/components/assets/menu/t9n/messages_et.json +3 -0
  310. package/assets/components/assets/menu/t9n/messages_fi.json +3 -0
  311. package/assets/components/assets/menu/t9n/messages_fr.json +3 -0
  312. package/assets/components/assets/menu/t9n/messages_he.json +3 -0
  313. package/assets/components/assets/menu/t9n/messages_hr.json +3 -0
  314. package/assets/components/assets/menu/t9n/messages_hu.json +3 -0
  315. package/assets/components/assets/menu/t9n/messages_id.json +3 -0
  316. package/assets/components/assets/menu/t9n/messages_it.json +3 -0
  317. package/assets/components/assets/menu/t9n/messages_ja.json +3 -0
  318. package/assets/components/assets/menu/t9n/messages_ko.json +3 -0
  319. package/assets/components/assets/menu/t9n/messages_lt.json +3 -0
  320. package/assets/components/assets/menu/t9n/messages_lv.json +3 -0
  321. package/assets/components/assets/menu/t9n/messages_nl.json +3 -0
  322. package/assets/components/assets/menu/t9n/messages_no.json +3 -0
  323. package/assets/components/assets/menu/t9n/messages_pl.json +3 -0
  324. package/assets/components/assets/menu/t9n/messages_pt-BR.json +3 -0
  325. package/assets/components/assets/menu/t9n/messages_pt-PT.json +3 -0
  326. package/assets/components/assets/menu/t9n/messages_ro.json +3 -0
  327. package/assets/components/assets/menu/t9n/messages_ru.json +3 -0
  328. package/assets/components/assets/menu/t9n/messages_sk.json +3 -0
  329. package/assets/components/assets/menu/t9n/messages_sl.json +3 -0
  330. package/assets/components/assets/menu/t9n/messages_sr.json +3 -0
  331. package/assets/components/assets/menu/t9n/messages_sv.json +3 -0
  332. package/assets/components/assets/menu/t9n/messages_th.json +3 -0
  333. package/assets/components/assets/menu/t9n/messages_tr.json +3 -0
  334. package/assets/components/assets/menu/t9n/messages_uk.json +3 -0
  335. package/assets/components/assets/menu/t9n/messages_vi.json +3 -0
  336. package/assets/components/assets/menu/t9n/messages_zh-CN.json +3 -0
  337. package/assets/components/assets/menu/t9n/messages_zh-HK.json +3 -0
  338. package/assets/components/assets/menu/t9n/messages_zh-TW.json +3 -0
  339. package/assets/components/assets/menu-item/t9n/messages.json +4 -0
  340. package/assets/components/assets/menu-item/t9n/messages_ar.json +4 -0
  341. package/assets/components/assets/menu-item/t9n/messages_bg.json +4 -0
  342. package/assets/components/assets/menu-item/t9n/messages_bs.json +4 -0
  343. package/assets/components/assets/menu-item/t9n/messages_ca.json +4 -0
  344. package/assets/components/assets/menu-item/t9n/messages_cs.json +4 -0
  345. package/assets/components/assets/menu-item/t9n/messages_da.json +4 -0
  346. package/assets/components/assets/menu-item/t9n/messages_de.json +4 -0
  347. package/assets/components/assets/menu-item/t9n/messages_el.json +4 -0
  348. package/assets/components/assets/menu-item/t9n/messages_en.json +4 -0
  349. package/assets/components/assets/menu-item/t9n/messages_es.json +4 -0
  350. package/assets/components/assets/menu-item/t9n/messages_et.json +4 -0
  351. package/assets/components/assets/menu-item/t9n/messages_fi.json +4 -0
  352. package/assets/components/assets/menu-item/t9n/messages_fr.json +4 -0
  353. package/assets/components/assets/menu-item/t9n/messages_he.json +4 -0
  354. package/assets/components/assets/menu-item/t9n/messages_hr.json +4 -0
  355. package/assets/components/assets/menu-item/t9n/messages_hu.json +4 -0
  356. package/assets/components/assets/menu-item/t9n/messages_id.json +4 -0
  357. package/assets/components/assets/menu-item/t9n/messages_it.json +4 -0
  358. package/assets/components/assets/menu-item/t9n/messages_ja.json +4 -0
  359. package/assets/components/assets/menu-item/t9n/messages_ko.json +4 -0
  360. package/assets/components/assets/menu-item/t9n/messages_lt.json +4 -0
  361. package/assets/components/assets/menu-item/t9n/messages_lv.json +4 -0
  362. package/assets/components/assets/menu-item/t9n/messages_nl.json +4 -0
  363. package/assets/components/assets/menu-item/t9n/messages_no.json +4 -0
  364. package/assets/components/assets/menu-item/t9n/messages_pl.json +4 -0
  365. package/assets/components/assets/menu-item/t9n/messages_pt-BR.json +4 -0
  366. package/assets/components/assets/menu-item/t9n/messages_pt-PT.json +4 -0
  367. package/assets/components/assets/menu-item/t9n/messages_ro.json +4 -0
  368. package/assets/components/assets/menu-item/t9n/messages_ru.json +4 -0
  369. package/assets/components/assets/menu-item/t9n/messages_sk.json +4 -0
  370. package/assets/components/assets/menu-item/t9n/messages_sl.json +4 -0
  371. package/assets/components/assets/menu-item/t9n/messages_sr.json +4 -0
  372. package/assets/components/assets/menu-item/t9n/messages_sv.json +4 -0
  373. package/assets/components/assets/menu-item/t9n/messages_th.json +4 -0
  374. package/assets/components/assets/menu-item/t9n/messages_tr.json +4 -0
  375. package/assets/components/assets/menu-item/t9n/messages_uk.json +4 -0
  376. package/assets/components/assets/menu-item/t9n/messages_vi.json +4 -0
  377. package/assets/components/assets/menu-item/t9n/messages_zh-CN.json +4 -0
  378. package/assets/components/assets/menu-item/t9n/messages_zh-HK.json +4 -0
  379. package/assets/components/assets/menu-item/t9n/messages_zh-TW.json +4 -0
  380. package/assets/components/assets/tab-title/t9n/messages.json +3 -0
  381. package/assets/components/assets/tab-title/t9n/messages_ar.json +3 -0
  382. package/assets/components/assets/tab-title/t9n/messages_bg.json +3 -0
  383. package/assets/components/assets/tab-title/t9n/messages_bs.json +3 -0
  384. package/assets/components/assets/tab-title/t9n/messages_ca.json +3 -0
  385. package/assets/components/assets/tab-title/t9n/messages_cs.json +3 -0
  386. package/assets/components/assets/tab-title/t9n/messages_da.json +3 -0
  387. package/assets/components/assets/tab-title/t9n/messages_de.json +3 -0
  388. package/assets/components/assets/tab-title/t9n/messages_el.json +3 -0
  389. package/assets/components/assets/tab-title/t9n/messages_en.json +3 -0
  390. package/assets/components/assets/tab-title/t9n/messages_es.json +3 -0
  391. package/assets/components/assets/tab-title/t9n/messages_et.json +3 -0
  392. package/assets/components/assets/tab-title/t9n/messages_fi.json +3 -0
  393. package/assets/components/assets/tab-title/t9n/messages_fr.json +3 -0
  394. package/assets/components/assets/tab-title/t9n/messages_he.json +3 -0
  395. package/assets/components/assets/tab-title/t9n/messages_hr.json +3 -0
  396. package/assets/components/assets/tab-title/t9n/messages_hu.json +3 -0
  397. package/assets/components/assets/tab-title/t9n/messages_id.json +3 -0
  398. package/assets/components/assets/tab-title/t9n/messages_it.json +3 -0
  399. package/assets/components/assets/tab-title/t9n/messages_ja.json +3 -0
  400. package/assets/components/assets/tab-title/t9n/messages_ko.json +3 -0
  401. package/assets/components/assets/tab-title/t9n/messages_lt.json +3 -0
  402. package/assets/components/assets/tab-title/t9n/messages_lv.json +3 -0
  403. package/assets/components/assets/tab-title/t9n/messages_nl.json +3 -0
  404. package/assets/components/assets/tab-title/t9n/messages_no.json +3 -0
  405. package/assets/components/assets/tab-title/t9n/messages_pl.json +3 -0
  406. package/assets/components/assets/tab-title/t9n/messages_pt-BR.json +3 -0
  407. package/assets/components/assets/tab-title/t9n/messages_pt-PT.json +3 -0
  408. package/assets/components/assets/tab-title/t9n/messages_ro.json +3 -0
  409. package/assets/components/assets/tab-title/t9n/messages_ru.json +3 -0
  410. package/assets/components/assets/tab-title/t9n/messages_sk.json +3 -0
  411. package/assets/components/assets/tab-title/t9n/messages_sl.json +3 -0
  412. package/assets/components/assets/tab-title/t9n/messages_sr.json +3 -0
  413. package/assets/components/assets/tab-title/t9n/messages_sv.json +3 -0
  414. package/assets/components/assets/tab-title/t9n/messages_th.json +3 -0
  415. package/assets/components/assets/tab-title/t9n/messages_tr.json +3 -0
  416. package/assets/components/assets/tab-title/t9n/messages_uk.json +3 -0
  417. package/assets/components/assets/tab-title/t9n/messages_vi.json +3 -0
  418. package/assets/components/assets/tab-title/t9n/messages_zh-CN.json +3 -0
  419. package/assets/components/assets/tab-title/t9n/messages_zh-HK.json +3 -0
  420. package/assets/components/assets/tab-title/t9n/messages_zh-TW.json +3 -0
  421. package/assets/components/assets/text-area/t9n/messages.json +2 -1
  422. package/assets/components/assets/text-area/t9n/messages_en.json +2 -1
  423. package/assets/esri/core/workers/RemoteClient.js +1 -1
  424. package/assets/esri/core/workers/chunks/002fe1ec63ea33e6972d.js +1 -0
  425. package/assets/esri/core/workers/chunks/013efa75c96be04cf57a.js +1 -0
  426. package/assets/esri/core/workers/chunks/0254165377538522c830.js +1 -0
  427. package/assets/esri/core/workers/chunks/036301f545aba2b8e485.js +1 -0
  428. package/assets/esri/core/workers/chunks/07f16ea775b39a1a4a7b.js +1 -0
  429. package/assets/esri/core/workers/chunks/0d47e4b1b41b1f87e81b.js +1 -0
  430. package/assets/esri/core/workers/chunks/0d805fd9cd9ff3a636ca.js +1 -0
  431. package/assets/esri/core/workers/chunks/0fb1d3dce61bdd71bfff.js +1 -0
  432. package/assets/esri/core/workers/chunks/105cf61dbd999d0cee16.js +1 -0
  433. package/assets/esri/core/workers/chunks/114ef73112dd50edf5a4.js +1 -0
  434. package/assets/esri/core/workers/chunks/{1766371def0b2f953ac3.js → 13ed0105d52d57897730.js} +1 -1
  435. package/assets/esri/core/workers/chunks/1497709057d28ce7c1be.js +1 -0
  436. package/assets/esri/core/workers/chunks/170c72126d10b1fdb2b0.js +1 -0
  437. package/assets/esri/core/workers/chunks/1bbc868d2430103951eb.js +1 -0
  438. package/assets/esri/core/workers/chunks/1d2ef88a8d028adef102.js +1 -0
  439. package/assets/esri/core/workers/chunks/1e9e68312cd865358260.js +1 -0
  440. package/assets/esri/core/workers/chunks/2420ec029236ab31d908.js +1 -0
  441. package/assets/esri/core/workers/chunks/28474af01bf427c36eeb.js +1 -0
  442. package/assets/esri/core/workers/chunks/28c67c98039503b62e6e.js +1 -0
  443. package/assets/esri/core/workers/chunks/2ef70c9b2484a11b7435.js +1 -0
  444. package/assets/esri/core/workers/chunks/{efb96aefe979a0f5c632.js → 3048157f4f13d22c1753.js} +1 -1
  445. package/assets/esri/core/workers/chunks/308eeeaec591b4eea1de.js +1 -0
  446. package/assets/esri/core/workers/chunks/308f3811dfa71f619279.js +1 -0
  447. package/assets/esri/core/workers/chunks/314a8b5593306be246ab.js +1 -0
  448. package/assets/esri/core/workers/chunks/35a97dd2872ac3f00977.js +1 -0
  449. package/assets/esri/core/workers/chunks/3620e9fa4b5dbc21ad87.js +1 -0
  450. package/assets/esri/core/workers/chunks/39079bcfd35ed73c4e34.js +1 -0
  451. package/assets/esri/core/workers/chunks/39ae4b9b766f674bc6f2.js +1 -0
  452. package/assets/esri/core/workers/chunks/{2bdc63395c7466ce1641.js → 3b3d676b609c47a77164.js} +1 -1
  453. package/assets/esri/core/workers/chunks/3bbaa78c68a4bf159722.js +1 -0
  454. package/assets/esri/core/workers/chunks/{0d02856e55d20b99fc8b.js → 3bc77c0c08f72d74f08b.js} +1 -1
  455. package/assets/esri/core/workers/chunks/3c3f65913006b84b2289.js +1 -0
  456. package/assets/esri/core/workers/chunks/3d42fa4ab5f8632d690a.js +1 -0
  457. package/assets/esri/core/workers/chunks/3d9a8cb638cf9b8ca4b3.js +1 -0
  458. package/assets/esri/core/workers/chunks/3db8ae98799c752afe60.js +1 -0
  459. package/assets/esri/core/workers/chunks/4018d8a06471423cb672.js +1 -0
  460. package/assets/esri/core/workers/chunks/42b6315e21c4c1345ba5.js +1 -0
  461. package/assets/esri/core/workers/chunks/42be658be0019944d8d5.js +1 -0
  462. package/assets/esri/core/workers/chunks/42f3421740a5479559dc.js +1 -0
  463. package/assets/esri/core/workers/chunks/45629ff775e77234b227.js +1 -0
  464. package/assets/esri/core/workers/chunks/4b235d1b6a72773cd4f4.js +1107 -0
  465. package/assets/esri/core/workers/chunks/50b17799f1abce982a19.js +1 -0
  466. package/assets/esri/core/workers/chunks/52315f93a6f0ad59bd90.js +1 -0
  467. package/assets/esri/core/workers/chunks/54b319ca2d557b4b4358.js +1 -0
  468. package/assets/esri/core/workers/chunks/57077e608f20d3a931e8.js +1 -0
  469. package/assets/esri/core/workers/chunks/{97cdbec7532cfcdf9ad2.js → 595a2baa04d92de59558.js} +1 -1
  470. package/assets/esri/core/workers/chunks/5bb96e602d7cecbecf54.js +1 -0
  471. package/assets/esri/core/workers/chunks/5c69acab678f61d3f1a2.js +1 -0
  472. package/assets/esri/core/workers/chunks/{45a4041881e6235d73a2.js → 5f6e899aceffcf9bffb0.js} +1 -1
  473. package/assets/esri/core/workers/chunks/63322229183f1d4eaa70.js +1 -0
  474. package/assets/esri/core/workers/chunks/642510b0371311ff8e16.js +1 -0
  475. package/assets/esri/core/workers/chunks/68b0e0aa33880bc1ba77.js +1 -0
  476. package/assets/esri/core/workers/chunks/6995ace1d25d67c98d0e.js +1 -0
  477. package/assets/esri/core/workers/chunks/6a3d611e8842afbb50ab.js.LICENSE.txt +1 -6
  478. package/assets/esri/core/workers/chunks/6a82be278c7f3db83354.js +1 -0
  479. package/assets/esri/core/workers/chunks/6aa99bcb868b0a7cc58c.js +1 -0
  480. package/assets/esri/core/workers/chunks/6e562fa57c0347091154.js +1 -0
  481. package/assets/esri/core/workers/chunks/6fb92cd88e4fb65fa7be.js +1 -0
  482. package/assets/esri/core/workers/chunks/740dc67038f554431f1b.js +1 -0
  483. package/assets/esri/core/workers/chunks/77fcc4fc0fb3739365f6.js +1 -0
  484. package/assets/esri/core/workers/chunks/784587a8ae46e3856507.js +1 -0
  485. package/assets/esri/core/workers/chunks/{4c35c663528f710e8c78.js → 79cb672c85ea29e8484a.js} +1 -1
  486. package/assets/esri/core/workers/chunks/7ce036a6592cd745e720.js +1 -0
  487. package/assets/esri/core/workers/chunks/7dc6774c77c822b68c99.js +1 -0
  488. package/assets/esri/core/workers/chunks/7e4013f8c31c9a9438c6.js +1 -0
  489. package/assets/esri/core/workers/chunks/82939ead43848a13f765.js +1 -0
  490. package/assets/esri/core/workers/chunks/82a103a8b5382300889d.js +1 -0
  491. package/assets/esri/core/workers/chunks/88fdd288ef799a7ac48a.js +1 -0
  492. package/assets/esri/core/workers/chunks/8b05fb365336cc42fecc.js +1 -0
  493. package/assets/esri/core/workers/chunks/8b6b963230df56850580.js +1 -0
  494. package/assets/esri/core/workers/chunks/8e08968505483dc58e00.js +1 -0
  495. package/assets/esri/core/workers/chunks/915734255a79bff3ef0f.js +1 -0
  496. package/assets/esri/core/workers/chunks/928a311786199825fd29.js +1 -0
  497. package/assets/esri/core/workers/chunks/95ff92d7caa34664d58f.js +1 -0
  498. package/assets/esri/core/workers/chunks/99512f2aa78e8ff6b6c6.js +1 -0
  499. package/assets/esri/core/workers/chunks/9a0e7c41f796609b3db9.js +1 -0
  500. package/assets/esri/core/workers/chunks/9c8ab6bd8c170cbc5fa5.js +1 -0
  501. package/assets/esri/core/workers/chunks/9e570cd4a48c30c83ae6.js +1 -0
  502. package/assets/esri/core/workers/chunks/a6ece91e6b3343f133a0.js +1 -0
  503. package/assets/esri/core/workers/chunks/{96c027ffad89524b0820.js → af8f75478979e11fc00a.js} +1 -1
  504. package/assets/esri/core/workers/chunks/b052463ffb7cb32306dc.js +1 -0
  505. package/assets/esri/core/workers/chunks/b2a423d9ce8bb784267c.js +1 -0
  506. package/assets/esri/core/workers/chunks/b31974524932e638df8c.js +1 -0
  507. package/assets/esri/core/workers/chunks/b75b4b132dbd9cb9d372.js +1 -0
  508. package/assets/esri/core/workers/chunks/bb3c94acc6d60436e40a.js +1 -0
  509. package/assets/esri/core/workers/chunks/bc89f5f9653bb1242a61.js +1 -0
  510. package/assets/esri/core/workers/chunks/bcd2af32e2380fc3c6b3.js +1 -0
  511. package/assets/esri/core/workers/chunks/{4a12ca8d6756cedfb74c.js → bf3a6346ec25692e130c.js} +1 -1
  512. package/assets/esri/core/workers/chunks/{3c5a64a545272f148e93.js → c16ec2f614844b3191c0.js} +1 -1
  513. package/assets/esri/core/workers/chunks/c1dfbda75abc748a6ca4.js +1 -0
  514. package/assets/esri/core/workers/chunks/c8702e53a8ad6cf6ab85.js +1 -0
  515. package/assets/esri/core/workers/chunks/c90416e7bf29eb1d4536.js +1 -0
  516. package/assets/esri/core/workers/chunks/cb004c492e22c50f9bfa.js +1 -0
  517. package/assets/esri/core/workers/chunks/cb763c42379341b94d1e.js +1 -0
  518. package/assets/esri/core/workers/chunks/cfc3dcca2b69d20d5375.js +1 -0
  519. package/assets/esri/core/workers/chunks/cfc48f30ecc9b27ac409.js +1 -0
  520. package/assets/esri/core/workers/chunks/cfe379a78a983373b3ac.js +1 -0
  521. package/assets/esri/core/workers/chunks/d0e2b42dca51711f2c6f.js +1 -0
  522. package/assets/esri/core/workers/chunks/d0ff496834686dbfe29f.js +1 -0
  523. package/assets/esri/core/workers/chunks/{c7fb48ea5d907883bcce.js → d199290f843ffb78a001.js} +1 -1
  524. package/assets/esri/core/workers/chunks/d1c00e7d7884c3010e1c.js +1 -0
  525. package/assets/esri/core/workers/chunks/d2a127f7bb0e2ba14a13.js +1 -0
  526. package/assets/esri/core/workers/chunks/d8607326a199dd994844.js +1 -0
  527. package/assets/esri/core/workers/chunks/da0ab3f64802204323ed.js +1 -0
  528. package/assets/esri/core/workers/chunks/dabd889e064c4e7807fa.js +1 -0
  529. package/assets/esri/core/workers/chunks/{3bc6b5f0643364749ef8.js → de3d57c9b5d7a1d33bf1.js} +1 -1
  530. package/assets/esri/core/workers/chunks/df661a3b3629bd122a73.js +1 -0
  531. package/assets/esri/core/workers/chunks/df96824a6f76bad1370c.js +1 -0
  532. package/assets/esri/core/workers/chunks/e097f41bbfac00250477.js +1 -0
  533. package/assets/esri/core/workers/chunks/e3243d120a23a9b48392.js +1 -0
  534. package/assets/esri/core/workers/chunks/e325151aaa4a1c2a2d0c.js +1 -0
  535. package/assets/esri/core/workers/chunks/e55f80b774e090a0aa04.js +1 -0
  536. package/assets/esri/core/workers/chunks/e668c7e2e61aae6ca6e0.js +1 -0
  537. package/assets/esri/core/workers/chunks/e69e12c25658592e9874.js +1 -0
  538. package/assets/esri/core/workers/chunks/eb7053ba7e491bf25829.js +1 -0
  539. package/assets/esri/core/workers/chunks/ebe25310eabce61f7e72.js +1 -0
  540. package/assets/esri/core/workers/chunks/ef900614353505afb210.js +1 -0
  541. package/assets/esri/core/workers/chunks/f0299d93a95f40ea7cf7.js +1 -0
  542. package/assets/esri/core/workers/chunks/f1da7b29eecad0e9efae.js +1 -0
  543. package/assets/esri/core/workers/chunks/f23b95d7e51a144ad065.js +1 -0
  544. package/assets/esri/core/workers/chunks/f263e73a25fae4beffae.js +1 -0
  545. package/assets/esri/core/workers/chunks/{dcec000d7e883fab69ee.js → f50c6491bff822d89716.js} +1 -1
  546. package/assets/esri/core/workers/chunks/f528239fdba6d910d022.js +1 -0
  547. package/assets/esri/core/workers/chunks/f556490dae3c69419052.js +1 -0
  548. package/assets/esri/core/workers/chunks/f709ce36e29371d4f9d0.js +1 -0
  549. package/assets/esri/core/workers/chunks/{2f9fadbe7e94f79afeda.js → f88a6a9c837b5f76bdd2.js} +1 -1
  550. package/assets/esri/core/workers/chunks/fb44d872b9dbadcf8ccf.js +1 -0
  551. package/assets/esri/core/workers/chunks/fcc8aa0624f212b94a70.js +1 -0
  552. package/assets/esri/images/portal/livestreamvideolayer16.png +0 -0
  553. package/assets/esri/images/portal/{mediaservice16.png → videolayer16.png} +0 -0
  554. package/assets/esri/t9n/common_sv.json +1 -1
  555. package/assets/esri/themes/base/_View.scss +2 -5
  556. package/assets/esri/themes/base/widgets/_BasemapGallery.scss +9 -12
  557. package/assets/esri/themes/base/widgets/_Bookmarks.scss +5 -0
  558. package/assets/esri/themes/base/widgets/_Daylight.scss +4 -6
  559. package/assets/esri/themes/base/widgets/_Feature.scss +20 -8
  560. package/assets/esri/themes/base/widgets/_FeatureContent.scss +9 -3
  561. package/assets/esri/themes/base/widgets/_FeatureForm.scss +19 -2
  562. package/assets/esri/themes/base/widgets/_Features.scss +5 -7
  563. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +69 -36
  564. package/assets/esri/themes/base/widgets/_Popup.scss +3 -3
  565. package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +1 -0
  566. package/assets/esri/themes/base/widgets/_Swipe.scss +11 -0
  567. package/assets/esri/themes/base/widgets/_ValuePicker.scss +5 -2
  568. package/assets/esri/themes/base/widgets/_Widget.scss +7 -0
  569. package/assets/esri/themes/dark/main.css +1 -1
  570. package/assets/esri/themes/light/main.css +1 -1
  571. package/assets/esri/themes/light/view.css +1 -1
  572. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ar.json +1 -1
  573. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bg.json +1 -1
  574. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bs.json +1 -1
  575. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ca.json +1 -1
  576. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_cs.json +1 -1
  577. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_da.json +1 -1
  578. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_de.json +1 -1
  579. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_el.json +1 -1
  580. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_es.json +1 -1
  581. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_et.json +1 -1
  582. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fi.json +1 -1
  583. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fr.json +1 -1
  584. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_he.json +1 -1
  585. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hr.json +1 -1
  586. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hu.json +1 -1
  587. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_id.json +1 -1
  588. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_it.json +1 -1
  589. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ja.json +1 -1
  590. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ko.json +1 -1
  591. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lt.json +1 -1
  592. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lv.json +1 -1
  593. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nb.json +1 -1
  594. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nl.json +1 -1
  595. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pl.json +1 -1
  596. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-BR.json +1 -1
  597. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-PT.json +1 -1
  598. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ro.json +1 -1
  599. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ru.json +1 -1
  600. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sk.json +1 -1
  601. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sl.json +1 -1
  602. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sr.json +1 -1
  603. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sv.json +1 -1
  604. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_th.json +1 -1
  605. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_tr.json +1 -1
  606. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_uk.json +1 -1
  607. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_vi.json +1 -1
  608. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-CN.json +1 -1
  609. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-HK.json +1 -1
  610. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-TW.json +1 -1
  611. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ar.json +1 -1
  612. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bg.json +1 -1
  613. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bs.json +1 -1
  614. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ca.json +1 -1
  615. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_cs.json +1 -1
  616. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_da.json +1 -1
  617. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_de.json +1 -1
  618. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_el.json +1 -1
  619. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_es.json +1 -1
  620. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_et.json +1 -1
  621. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fi.json +1 -1
  622. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fr.json +1 -1
  623. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_he.json +1 -1
  624. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hr.json +1 -1
  625. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hu.json +1 -1
  626. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_id.json +1 -1
  627. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_it.json +1 -1
  628. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ja.json +1 -1
  629. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ko.json +1 -1
  630. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lt.json +1 -1
  631. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lv.json +1 -1
  632. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nb.json +1 -1
  633. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nl.json +1 -1
  634. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pl.json +1 -1
  635. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-BR.json +1 -1
  636. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-PT.json +1 -1
  637. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ro.json +1 -1
  638. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ru.json +1 -1
  639. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sk.json +1 -1
  640. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sl.json +1 -1
  641. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sr.json +1 -1
  642. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sv.json +1 -1
  643. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_th.json +1 -1
  644. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_tr.json +1 -1
  645. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_uk.json +1 -1
  646. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_vi.json +1 -1
  647. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-CN.json +1 -1
  648. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-HK.json +1 -1
  649. package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-TW.json +1 -1
  650. package/assets/esri/widgets/CoordinateConversion/t9n/CoordinateConversion_ja.json +1 -1
  651. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  652. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  653. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  654. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  655. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  656. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  657. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  658. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  659. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  660. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  661. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  662. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  663. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  664. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  665. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  666. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  667. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  668. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  669. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  670. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  671. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  672. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  673. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  674. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  675. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  676. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  677. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  678. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  679. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  680. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  681. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  682. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  683. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  684. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  685. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  686. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  687. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  688. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  689. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  690. package/assets/esri/widgets/Feature/t9n/Feature_ar.json +1 -1
  691. package/assets/esri/widgets/Feature/t9n/Feature_bg.json +1 -1
  692. package/assets/esri/widgets/Feature/t9n/Feature_bs.json +1 -1
  693. package/assets/esri/widgets/Feature/t9n/Feature_ca.json +1 -1
  694. package/assets/esri/widgets/Feature/t9n/Feature_cs.json +1 -1
  695. package/assets/esri/widgets/Feature/t9n/Feature_da.json +1 -1
  696. package/assets/esri/widgets/Feature/t9n/Feature_de.json +1 -1
  697. package/assets/esri/widgets/Feature/t9n/Feature_el.json +1 -1
  698. package/assets/esri/widgets/Feature/t9n/Feature_es.json +1 -1
  699. package/assets/esri/widgets/Feature/t9n/Feature_et.json +1 -1
  700. package/assets/esri/widgets/Feature/t9n/Feature_fi.json +1 -1
  701. package/assets/esri/widgets/Feature/t9n/Feature_fr.json +1 -1
  702. package/assets/esri/widgets/Feature/t9n/Feature_he.json +1 -1
  703. package/assets/esri/widgets/Feature/t9n/Feature_hr.json +1 -1
  704. package/assets/esri/widgets/Feature/t9n/Feature_hu.json +1 -1
  705. package/assets/esri/widgets/Feature/t9n/Feature_id.json +1 -1
  706. package/assets/esri/widgets/Feature/t9n/Feature_it.json +1 -1
  707. package/assets/esri/widgets/Feature/t9n/Feature_ja.json +1 -1
  708. package/assets/esri/widgets/Feature/t9n/Feature_ko.json +1 -1
  709. package/assets/esri/widgets/Feature/t9n/Feature_lt.json +1 -1
  710. package/assets/esri/widgets/Feature/t9n/Feature_lv.json +1 -1
  711. package/assets/esri/widgets/Feature/t9n/Feature_nb.json +1 -1
  712. package/assets/esri/widgets/Feature/t9n/Feature_nl.json +1 -1
  713. package/assets/esri/widgets/Feature/t9n/Feature_pl.json +1 -1
  714. package/assets/esri/widgets/Feature/t9n/Feature_pt-BR.json +1 -1
  715. package/assets/esri/widgets/Feature/t9n/Feature_pt-PT.json +1 -1
  716. package/assets/esri/widgets/Feature/t9n/Feature_ro.json +1 -1
  717. package/assets/esri/widgets/Feature/t9n/Feature_ru.json +1 -1
  718. package/assets/esri/widgets/Feature/t9n/Feature_sk.json +1 -1
  719. package/assets/esri/widgets/Feature/t9n/Feature_sl.json +1 -1
  720. package/assets/esri/widgets/Feature/t9n/Feature_sr.json +1 -1
  721. package/assets/esri/widgets/Feature/t9n/Feature_sv.json +1 -1
  722. package/assets/esri/widgets/Feature/t9n/Feature_th.json +1 -1
  723. package/assets/esri/widgets/Feature/t9n/Feature_tr.json +1 -1
  724. package/assets/esri/widgets/Feature/t9n/Feature_uk.json +1 -1
  725. package/assets/esri/widgets/Feature/t9n/Feature_vi.json +1 -1
  726. package/assets/esri/widgets/Feature/t9n/Feature_zh-CN.json +1 -1
  727. package/assets/esri/widgets/Feature/t9n/Feature_zh-HK.json +1 -1
  728. package/assets/esri/widgets/Feature/t9n/Feature_zh-TW.json +1 -1
  729. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  730. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  731. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  732. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  733. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  734. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  735. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  736. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  737. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  738. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  739. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  740. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  741. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  742. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  743. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  744. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  745. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  746. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  747. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  748. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  749. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  750. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nb.json +1 -1
  751. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  752. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  753. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  754. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  755. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  756. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  757. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  758. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  759. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  760. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  761. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  762. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  763. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  764. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  765. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  766. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  767. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  768. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
  769. package/assets/esri/widgets/Features/t9n/Features_ar.json +1 -1
  770. package/assets/esri/widgets/Features/t9n/Features_bg.json +1 -1
  771. package/assets/esri/widgets/Features/t9n/Features_bs.json +1 -1
  772. package/assets/esri/widgets/Features/t9n/Features_ca.json +1 -1
  773. package/assets/esri/widgets/Features/t9n/Features_cs.json +1 -1
  774. package/assets/esri/widgets/Features/t9n/Features_da.json +1 -1
  775. package/assets/esri/widgets/Features/t9n/Features_de.json +1 -1
  776. package/assets/esri/widgets/Features/t9n/Features_el.json +1 -1
  777. package/assets/esri/widgets/Features/t9n/Features_es.json +1 -1
  778. package/assets/esri/widgets/Features/t9n/Features_et.json +1 -1
  779. package/assets/esri/widgets/Features/t9n/Features_fi.json +1 -1
  780. package/assets/esri/widgets/Features/t9n/Features_fr.json +1 -1
  781. package/assets/esri/widgets/Features/t9n/Features_he.json +1 -1
  782. package/assets/esri/widgets/Features/t9n/Features_hr.json +1 -1
  783. package/assets/esri/widgets/Features/t9n/Features_hu.json +1 -1
  784. package/assets/esri/widgets/Features/t9n/Features_id.json +1 -1
  785. package/assets/esri/widgets/Features/t9n/Features_it.json +1 -1
  786. package/assets/esri/widgets/Features/t9n/Features_ja.json +1 -1
  787. package/assets/esri/widgets/Features/t9n/Features_ko.json +1 -1
  788. package/assets/esri/widgets/Features/t9n/Features_lt.json +1 -1
  789. package/assets/esri/widgets/Features/t9n/Features_lv.json +1 -1
  790. package/assets/esri/widgets/Features/t9n/Features_nb.json +1 -1
  791. package/assets/esri/widgets/Features/t9n/Features_nl.json +1 -1
  792. package/assets/esri/widgets/Features/t9n/Features_pl.json +1 -1
  793. package/assets/esri/widgets/Features/t9n/Features_pt-BR.json +1 -1
  794. package/assets/esri/widgets/Features/t9n/Features_pt-PT.json +1 -1
  795. package/assets/esri/widgets/Features/t9n/Features_ro.json +1 -1
  796. package/assets/esri/widgets/Features/t9n/Features_ru.json +1 -1
  797. package/assets/esri/widgets/Features/t9n/Features_sk.json +1 -1
  798. package/assets/esri/widgets/Features/t9n/Features_sl.json +1 -1
  799. package/assets/esri/widgets/Features/t9n/Features_sr.json +1 -1
  800. package/assets/esri/widgets/Features/t9n/Features_sv.json +1 -1
  801. package/assets/esri/widgets/Features/t9n/Features_th.json +1 -1
  802. package/assets/esri/widgets/Features/t9n/Features_tr.json +1 -1
  803. package/assets/esri/widgets/Features/t9n/Features_uk.json +1 -1
  804. package/assets/esri/widgets/Features/t9n/Features_vi.json +1 -1
  805. package/assets/esri/widgets/Features/t9n/Features_zh-CN.json +1 -1
  806. package/assets/esri/widgets/Features/t9n/Features_zh-HK.json +1 -1
  807. package/assets/esri/widgets/Features/t9n/Features_zh-TW.json +1 -1
  808. package/assets/esri/widgets/Legend/t9n/Legend_ar.json +1 -1
  809. package/assets/esri/widgets/Legend/t9n/Legend_bg.json +1 -1
  810. package/assets/esri/widgets/Legend/t9n/Legend_bs.json +1 -1
  811. package/assets/esri/widgets/Legend/t9n/Legend_ca.json +1 -1
  812. package/assets/esri/widgets/Legend/t9n/Legend_cs.json +1 -1
  813. package/assets/esri/widgets/Legend/t9n/Legend_da.json +1 -1
  814. package/assets/esri/widgets/Legend/t9n/Legend_de.json +1 -1
  815. package/assets/esri/widgets/Legend/t9n/Legend_el.json +1 -1
  816. package/assets/esri/widgets/Legend/t9n/Legend_es.json +1 -1
  817. package/assets/esri/widgets/Legend/t9n/Legend_et.json +1 -1
  818. package/assets/esri/widgets/Legend/t9n/Legend_fi.json +1 -1
  819. package/assets/esri/widgets/Legend/t9n/Legend_fr.json +1 -1
  820. package/assets/esri/widgets/Legend/t9n/Legend_he.json +1 -1
  821. package/assets/esri/widgets/Legend/t9n/Legend_hr.json +1 -1
  822. package/assets/esri/widgets/Legend/t9n/Legend_hu.json +1 -1
  823. package/assets/esri/widgets/Legend/t9n/Legend_id.json +1 -1
  824. package/assets/esri/widgets/Legend/t9n/Legend_it.json +1 -1
  825. package/assets/esri/widgets/Legend/t9n/Legend_ja.json +1 -1
  826. package/assets/esri/widgets/Legend/t9n/Legend_ko.json +1 -1
  827. package/assets/esri/widgets/Legend/t9n/Legend_lt.json +1 -1
  828. package/assets/esri/widgets/Legend/t9n/Legend_lv.json +1 -1
  829. package/assets/esri/widgets/Legend/t9n/Legend_nb.json +1 -1
  830. package/assets/esri/widgets/Legend/t9n/Legend_nl.json +1 -1
  831. package/assets/esri/widgets/Legend/t9n/Legend_pl.json +1 -1
  832. package/assets/esri/widgets/Legend/t9n/Legend_pt-BR.json +1 -1
  833. package/assets/esri/widgets/Legend/t9n/Legend_pt-PT.json +1 -1
  834. package/assets/esri/widgets/Legend/t9n/Legend_ro.json +1 -1
  835. package/assets/esri/widgets/Legend/t9n/Legend_ru.json +1 -1
  836. package/assets/esri/widgets/Legend/t9n/Legend_sk.json +1 -1
  837. package/assets/esri/widgets/Legend/t9n/Legend_sl.json +1 -1
  838. package/assets/esri/widgets/Legend/t9n/Legend_sr.json +1 -1
  839. package/assets/esri/widgets/Legend/t9n/Legend_sv.json +1 -1
  840. package/assets/esri/widgets/Legend/t9n/Legend_th.json +1 -1
  841. package/assets/esri/widgets/Legend/t9n/Legend_tr.json +1 -1
  842. package/assets/esri/widgets/Legend/t9n/Legend_uk.json +1 -1
  843. package/assets/esri/widgets/Legend/t9n/Legend_vi.json +1 -1
  844. package/assets/esri/widgets/Legend/t9n/Legend_zh-CN.json +1 -1
  845. package/assets/esri/widgets/Legend/t9n/Legend_zh-HK.json +1 -1
  846. package/assets/esri/widgets/Legend/t9n/Legend_zh-TW.json +1 -1
  847. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  848. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  849. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  850. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  851. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  852. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  853. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  854. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  855. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  856. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  857. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  858. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  859. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  860. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  861. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  862. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  863. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  864. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  865. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  866. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  867. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  868. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  869. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  870. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nb.json +1 -1
  871. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  872. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  873. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  874. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  875. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  876. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  877. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  878. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  879. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  880. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  881. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  882. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  883. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  884. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  885. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  886. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  887. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  888. package/assets/esri/widgets/Popup/t9n/Popup_ar.json +1 -1
  889. package/assets/esri/widgets/Popup/t9n/Popup_bg.json +1 -1
  890. package/assets/esri/widgets/Popup/t9n/Popup_bs.json +1 -1
  891. package/assets/esri/widgets/Popup/t9n/Popup_ca.json +1 -1
  892. package/assets/esri/widgets/Popup/t9n/Popup_cs.json +1 -1
  893. package/assets/esri/widgets/Popup/t9n/Popup_da.json +1 -1
  894. package/assets/esri/widgets/Popup/t9n/Popup_de.json +1 -1
  895. package/assets/esri/widgets/Popup/t9n/Popup_el.json +1 -1
  896. package/assets/esri/widgets/Popup/t9n/Popup_es.json +1 -1
  897. package/assets/esri/widgets/Popup/t9n/Popup_et.json +1 -1
  898. package/assets/esri/widgets/Popup/t9n/Popup_fi.json +1 -1
  899. package/assets/esri/widgets/Popup/t9n/Popup_fr.json +1 -1
  900. package/assets/esri/widgets/Popup/t9n/Popup_he.json +1 -1
  901. package/assets/esri/widgets/Popup/t9n/Popup_hr.json +1 -1
  902. package/assets/esri/widgets/Popup/t9n/Popup_hu.json +1 -1
  903. package/assets/esri/widgets/Popup/t9n/Popup_id.json +1 -1
  904. package/assets/esri/widgets/Popup/t9n/Popup_it.json +1 -1
  905. package/assets/esri/widgets/Popup/t9n/Popup_ja.json +1 -1
  906. package/assets/esri/widgets/Popup/t9n/Popup_ko.json +1 -1
  907. package/assets/esri/widgets/Popup/t9n/Popup_lt.json +1 -1
  908. package/assets/esri/widgets/Popup/t9n/Popup_lv.json +1 -1
  909. package/assets/esri/widgets/Popup/t9n/Popup_nb.json +1 -1
  910. package/assets/esri/widgets/Popup/t9n/Popup_nl.json +1 -1
  911. package/assets/esri/widgets/Popup/t9n/Popup_pl.json +1 -1
  912. package/assets/esri/widgets/Popup/t9n/Popup_pt-BR.json +1 -1
  913. package/assets/esri/widgets/Popup/t9n/Popup_pt-PT.json +1 -1
  914. package/assets/esri/widgets/Popup/t9n/Popup_ro.json +1 -1
  915. package/assets/esri/widgets/Popup/t9n/Popup_ru.json +1 -1
  916. package/assets/esri/widgets/Popup/t9n/Popup_sk.json +1 -1
  917. package/assets/esri/widgets/Popup/t9n/Popup_sl.json +1 -1
  918. package/assets/esri/widgets/Popup/t9n/Popup_sr.json +1 -1
  919. package/assets/esri/widgets/Popup/t9n/Popup_sv.json +1 -1
  920. package/assets/esri/widgets/Popup/t9n/Popup_th.json +1 -1
  921. package/assets/esri/widgets/Popup/t9n/Popup_tr.json +1 -1
  922. package/assets/esri/widgets/Popup/t9n/Popup_uk.json +1 -1
  923. package/assets/esri/widgets/Popup/t9n/Popup_vi.json +1 -1
  924. package/assets/esri/widgets/Popup/t9n/Popup_zh-CN.json +1 -1
  925. package/assets/esri/widgets/Popup/t9n/Popup_zh-HK.json +1 -1
  926. package/assets/esri/widgets/Popup/t9n/Popup_zh-TW.json +1 -1
  927. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  928. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  929. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  930. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  931. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  932. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  933. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  934. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  935. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  936. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  937. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  938. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  939. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  940. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  941. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  942. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  943. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  944. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  945. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  946. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  947. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  948. package/assets/esri/widgets/Sketch/t9n/Sketch_nb.json +1 -1
  949. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  950. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  951. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  952. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  953. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  954. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  955. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  956. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  957. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  958. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  959. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  960. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  961. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  962. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  963. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  964. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  965. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  966. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
  967. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
  968. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
  969. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
  970. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  971. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
  972. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
  973. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  974. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
  975. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
  976. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
  977. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  978. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
  979. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
  980. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
  981. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
  982. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
  983. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
  984. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
  985. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
  986. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  987. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nb.json +1 -1
  988. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
  989. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
  990. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
  991. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
  992. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
  993. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
  994. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
  995. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
  996. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
  997. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
  998. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
  999. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
  1000. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
  1001. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
  1002. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
  1003. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
  1004. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
  1005. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ar.json +1 -1
  1006. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bg.json +1 -1
  1007. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bs.json +1 -1
  1008. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ca.json +1 -1
  1009. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_cs.json +1 -1
  1010. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_da.json +1 -1
  1011. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_de.json +1 -1
  1012. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_el.json +1 -1
  1013. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_es.json +1 -1
  1014. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_et.json +1 -1
  1015. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fi.json +1 -1
  1016. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fr.json +1 -1
  1017. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_he.json +1 -1
  1018. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hr.json +1 -1
  1019. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hu.json +1 -1
  1020. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_id.json +1 -1
  1021. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_it.json +1 -1
  1022. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ja.json +1 -1
  1023. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ko.json +1 -1
  1024. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lt.json +1 -1
  1025. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lv.json +1 -1
  1026. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nb.json +1 -1
  1027. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nl.json +1 -1
  1028. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pl.json +1 -1
  1029. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-BR.json +1 -1
  1030. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-PT.json +1 -1
  1031. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ro.json +1 -1
  1032. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ru.json +1 -1
  1033. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sk.json +1 -1
  1034. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sl.json +1 -1
  1035. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sr.json +1 -1
  1036. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sv.json +1 -1
  1037. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_th.json +1 -1
  1038. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_tr.json +1 -1
  1039. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_uk.json +1 -1
  1040. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_vi.json +1 -1
  1041. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-CN.json +1 -1
  1042. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-HK.json +1 -1
  1043. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-TW.json +1 -1
  1044. package/chunks/AtmosphereCompositing.glsl.js +5 -5
  1045. package/chunks/BlendWeights.glsl.js +9 -9
  1046. package/chunks/Blur.glsl.js +1 -1
  1047. package/chunks/ChapmanAtmosphere.glsl.js +8 -7
  1048. package/chunks/CheckerBoard.glsl.js +5 -5
  1049. package/chunks/CloudsComposition.glsl.js +3 -3
  1050. package/chunks/ColorMaterial.glsl.js +12 -12
  1051. package/chunks/ComponentShader.glsl.js +8 -8
  1052. package/chunks/DefaultMaterial.glsl.js +43 -43
  1053. package/chunks/EdgeDetect.glsl.js +2 -2
  1054. package/chunks/EdgeShader.glsl.js +1 -1
  1055. package/chunks/Fog.glsl.js +2 -2
  1056. package/chunks/HUDMaterial.glsl.js +1 -1
  1057. package/chunks/HighlightApply.glsl.js +4 -4
  1058. package/chunks/ImageMaterial.glsl.js +7 -7
  1059. package/chunks/LineCallout.glsl.js +5 -5
  1060. package/chunks/LineMarker.glsl.js +1 -1
  1061. package/chunks/Path.glsl.js +16 -16
  1062. package/chunks/Pattern.glsl.js +33 -32
  1063. package/chunks/Precipitation.glsl.js +3 -3
  1064. package/chunks/RealisticTree.glsl.js +7 -7
  1065. package/chunks/RibbonLine.glsl.js +41 -41
  1066. package/chunks/SSAO.glsl.js +1 -1
  1067. package/chunks/ShadedColorMaterial.glsl.js +1 -1
  1068. package/chunks/ShadowCastAccumulate.glsl.js +4 -3
  1069. package/chunks/ShadowCastVisualize.glsl.js +1 -1
  1070. package/chunks/ShadowHighlight.glsl.js +14 -11
  1071. package/chunks/Terrain.glsl.js +15 -13
  1072. package/chunks/Theme.js +1 -1
  1073. package/chunks/Tooltip.js +1 -1
  1074. package/chunks/WaterSurface.glsl.js +18 -18
  1075. package/chunks/boundedPlane.js +1 -1
  1076. package/chunks/languageUtils.js +1 -1
  1077. package/chunks/mat3.js +1 -1
  1078. package/chunks/quat.js +1 -1
  1079. package/chunks/quat2.js +1 -1
  1080. package/chunks/quatf32.js +1 -1
  1081. package/chunks/vec2.js +1 -1
  1082. package/chunks/vec3.js +1 -1
  1083. package/chunks/vec3f32.js +1 -1
  1084. package/copyright.txt +1 -1
  1085. package/core/Clonable.js +1 -1
  1086. package/core/Collection.js +1 -1
  1087. package/core/Evented.js +1 -1
  1088. package/core/Handles.js +1 -1
  1089. package/core/JSONSupport.js +1 -1
  1090. package/core/MemCache.js +1 -1
  1091. package/core/MemCachePool.js +5 -0
  1092. package/core/Promise.js +1 -1
  1093. package/core/Queue.js +1 -1
  1094. package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
  1095. package/core/ReentrantObjectPool.js +1 -1
  1096. package/core/accessorSupport/MultiOriginStore.js +1 -1
  1097. package/core/accessorSupport/PropertyOrigin.js +1 -1
  1098. package/core/accessorSupport/extensions/serializableProperty/reader.js +1 -1
  1099. package/core/accessorSupport/trackingUtils.js +1 -1
  1100. package/core/accessorSupport/utils.js +1 -1
  1101. package/core/accessorSupport/watch.js +1 -1
  1102. package/core/clock.js +1 -1
  1103. package/core/events.js +1 -1
  1104. package/core/fontUtils.js +1 -1
  1105. package/core/handleUtils.js +1 -1
  1106. package/core/libs/gl-matrix-2/factories/quatf32.js +1 -1
  1107. package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
  1108. package/core/libs/gl-matrix-2/math/mat3.js +1 -1
  1109. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  1110. package/core/libs/gl-matrix-2/math/vec2.js +1 -1
  1111. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  1112. package/core/libs/gl-matrix-2/vec3.js +1 -1
  1113. package/core/libs/rbush/PooledRBush.js +1 -1
  1114. package/core/maybe.js +1 -1
  1115. package/core/perspectiveUtils.js +1 -1
  1116. package/core/promiseUtils.js +1 -1
  1117. package/core/scheduling.js +1 -1
  1118. package/core/support/OwningCollection.js +1 -1
  1119. package/core/support/WatchUpdatingTracking.js +1 -1
  1120. package/core/time.js +1 -1
  1121. package/core/timeUtils.js +1 -1
  1122. package/core/unitFormatUtils.js +1 -1
  1123. package/core/unitUtils.js +1 -1
  1124. package/core/urlUtils.js +1 -1
  1125. package/core/watchUtils.js +1 -1
  1126. package/core/workers/RemoteClient.js +1 -1
  1127. package/core/workers/request.js +1 -1
  1128. package/core/workers/workers.js +1 -1
  1129. package/form/elements/RelationshipElement.d.ts +4 -0
  1130. package/geometry/Mesh.js +1 -1
  1131. package/geometry/Polygon.js +1 -1
  1132. package/geometry/support/DoubleArray.js +1 -1
  1133. package/geometry/support/MeshComponent.js +1 -1
  1134. package/geometry/support/MeshMaterial.js +1 -1
  1135. package/geometry/support/MeshMaterialMetallicRoughness.js +1 -1
  1136. package/geometry/support/MeshTexture.js +1 -1
  1137. package/geometry/support/MeshVertexAttributes.js +1 -1
  1138. package/geometry/support/axisAngleDegrees.js +1 -1
  1139. package/geometry/support/coordsUtils.js +1 -1
  1140. package/geometry/support/meshUtils/External.js +1 -1
  1141. package/geometry/support/meshUtils/bounds.js +5 -0
  1142. package/geometry/support/meshUtils/centerAt.js +1 -1
  1143. package/geometry/support/meshUtils/georeference.js +1 -1
  1144. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  1145. package/geometry/support/meshUtils/merge.js +1 -1
  1146. package/geometry/support/meshUtils/projection.js +1 -1
  1147. package/geometry/support/meshUtils/rotate.js +1 -1
  1148. package/geometry/support/meshUtils/scale.js +1 -1
  1149. package/geometry/support/meshVertexSpaceUtils.js +5 -0
  1150. package/geometry/support/plane.js +1 -1
  1151. package/geometry/support/rotate.js +1 -1
  1152. package/geometry/support/triangulationUtils.js +1 -1
  1153. package/identity/IdentityManagerBase.js +1 -1
  1154. package/interfaces.d.ts +2665 -476
  1155. package/intl/date.js +1 -1
  1156. package/intl/locale.js +1 -1
  1157. package/intl/messages.js +1 -1
  1158. package/intl/number.js +1 -1
  1159. package/layers/FeatureLayer.js +1 -1
  1160. package/layers/ImageryTileLayer.js +1 -1
  1161. package/layers/KnowledgeGraphLayer.js +1 -1
  1162. package/layers/LinkChartLayer.js +1 -1
  1163. package/layers/MapImageLayer.js +1 -1
  1164. package/layers/OrientedImageryLayer.js +1 -1
  1165. package/layers/RouteLayer.js +1 -1
  1166. package/layers/SceneLayer.js +1 -1
  1167. package/layers/StreamLayer.js +1 -1
  1168. package/layers/SubtypeGroupLayer.js +1 -1
  1169. package/layers/TileLayer.js +1 -1
  1170. package/layers/VideoLayer.js +1 -1
  1171. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  1172. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  1173. package/layers/graphics/controllers/StreamController.js +1 -1
  1174. package/layers/graphics/data/QueryEngine.js +1 -1
  1175. package/layers/graphics/data/attributeSupport.js +1 -1
  1176. package/layers/graphics/editingSupport.js +1 -1
  1177. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  1178. package/layers/graphics/sources/MemorySource.js +1 -1
  1179. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  1180. package/layers/graphics/sources/WFSSource.js +1 -1
  1181. package/layers/graphics/sources/support/clientSideDefaults.js +1 -1
  1182. package/layers/graphics/sources/support/uploadAssets.js +1 -1
  1183. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  1184. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +4 -0
  1185. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +5 -0
  1186. package/layers/knowledgeGraph/{KnowledgeGraphSubLayerBase.js → KnowledgeGraphSublayerBase.js} +1 -1
  1187. package/layers/mixins/ArcGISImageService.js +1 -1
  1188. package/layers/mixins/EditBusLayer.js +1 -1
  1189. package/layers/mixins/FeatureLayerBase.js +1 -1
  1190. package/layers/mixins/ImageryTileMixin.js +1 -1
  1191. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  1192. package/layers/orientedImagery/core/bestImageUtils.js +1 -1
  1193. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  1194. package/layers/orientedImagery/transformations/groundToImageUtils.js +1 -1
  1195. package/layers/orientedImagery/transformations/imageToGroundUtils.js +1 -1
  1196. package/layers/support/ElevationQuery.js +1 -1
  1197. package/layers/support/ElevationSampler.js +1 -1
  1198. package/layers/support/ExportImageParameters.js +1 -1
  1199. package/layers/support/ExportWMSImageParameters.js +1 -1
  1200. package/layers/support/FeatureReductionBinning.js +1 -1
  1201. package/layers/support/FeatureReductionCluster.js +1 -1
  1202. package/layers/support/FetchAssociatedFeatureLayer.js +1 -1
  1203. package/layers/support/RasterFunction.js +1 -1
  1204. package/layers/support/RasterFunctionInfo.js +5 -0
  1205. package/layers/support/RasterFunctionProperties.js +5 -0
  1206. package/layers/support/RasterFunctionTemplate.js +5 -0
  1207. package/layers/support/RasterFunctionVariable.js +5 -0
  1208. package/layers/support/Sublayer.js +1 -1
  1209. package/layers/support/SubtypeSublayer.js +1 -1
  1210. package/layers/support/TelemetryData.js +1 -1
  1211. package/layers/support/TelemetryDisplay.js +1 -1
  1212. package/layers/support/VideoTimeExtent.js +1 -1
  1213. package/layers/support/capabilities.js +1 -1
  1214. package/layers/support/editableLayers.js +1 -1
  1215. package/layers/support/featureLayerUtils.js +1 -1
  1216. package/layers/support/fieldUtils.js +1 -1
  1217. package/layers/support/imageryRendererUtils.js +1 -1
  1218. package/layers/support/layerUtils.js +1 -1
  1219. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  1220. package/layers/support/rasterEnums.js +1 -1
  1221. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  1222. package/layers/support/rasterFunctions/colormaps.js +1 -1
  1223. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  1224. package/layers/video/VideoCameraSensorModel.js +5 -0
  1225. package/layers/video/VideoController.js +5 -0
  1226. package/layers/video/videoUtils.js +5 -0
  1227. package/layers/voxel/VoxelVolume.js +1 -1
  1228. package/layers/voxel/voxelPlaneUtils.js +1 -1
  1229. package/networks/Network.js +1 -1
  1230. package/networks/support/TopologyValidationJobInfo.js +1 -1
  1231. package/networks/support/TraceJobInfo.d.ts +4 -0
  1232. package/package.json +3 -3
  1233. package/popup/support/FieldInfoFormat.js +1 -1
  1234. package/portal/PortalGroup.js +1 -1
  1235. package/portal/PortalItem.js +1 -1
  1236. package/portal/schemas/definitions.js +1 -1
  1237. package/portal/support/portalItemUtils.js +1 -1
  1238. package/renderers/SimpleRenderer.js +1 -1
  1239. package/renderers/support/ClassBreakInfo.js +1 -1
  1240. package/renderers/support/UniqueValueInfo.js +1 -1
  1241. package/renderers/support/colorRampUtils.js +1 -1
  1242. package/renderers/support/commonProperties.js +1 -1
  1243. package/renderers/support/types.js +1 -1
  1244. package/renderers/support/utils.js +1 -1
  1245. package/request.js +1 -1
  1246. package/rest/knowledgeGraph/GraphApplyEditsResult.js +1 -1
  1247. package/rest/places.js +1 -1
  1248. package/rest/query/operations/pbfJSONFeatureSet.js +1 -1
  1249. package/rest/support/PlacesQueryResult.js +1 -1
  1250. package/rest/support/meshFeatureSet.js +1 -1
  1251. package/smartMapping/labels/bins.d.ts +4 -0
  1252. package/smartMapping/labels/bins.js +5 -0
  1253. package/smartMapping/labels/clusters.js +1 -1
  1254. package/smartMapping/labels/support/utils.js +5 -0
  1255. package/smartMapping/renderers/color.js +1 -1
  1256. package/smartMapping/renderers/dotDensity.js +1 -1
  1257. package/smartMapping/renderers/heatmap.js +1 -1
  1258. package/smartMapping/renderers/location.js +1 -1
  1259. package/smartMapping/renderers/pieChart.js +1 -1
  1260. package/smartMapping/renderers/size.js +1 -1
  1261. package/smartMapping/renderers/type.js +1 -1
  1262. package/smartMapping/support/binningUtils.js +1 -1
  1263. package/smartMapping/symbology/color.js +1 -1
  1264. package/smartMapping/symbology/flow.js +1 -1
  1265. package/smartMapping/symbology/support/colors.js +1 -1
  1266. package/statistics/utils.js +1 -1
  1267. package/support/AnalysesCollection.js +1 -1
  1268. package/support/arcadeUtils.js +1 -1
  1269. package/support/basemapUtils.js +1 -1
  1270. package/support/featureFlags.js +1 -1
  1271. package/support/requestUtils.js +1 -1
  1272. package/support/revision.js +1 -1
  1273. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  1274. package/symbols/cim/CIMSymbolHelper.js +1 -1
  1275. package/symbols/cim/CIMSymbolRasterizer.js +1 -1
  1276. package/symbols/cim/cimAnalyzer.js +1 -1
  1277. package/symbols/cim/effects/EffectBuffer.js +1 -1
  1278. package/symbols/cim/effects/EffectDonut.js +1 -1
  1279. package/symbols/cim/effects/EffectOffset.js +1 -1
  1280. package/symbols/support/previewCIMSymbol.js +1 -1
  1281. package/symbols/support/previewSymbol3D.js +1 -1
  1282. package/symbols/support/svgUtils.js +1 -1
  1283. package/symbols/support/utils.js +1 -1
  1284. package/symbols/support/webStyleSymbolUtils.js +1 -1
  1285. package/versionManagement/VersionManagementService.js +1 -1
  1286. package/versionManagement/support/versionManagementUtils.js +1 -1
  1287. package/views/2d/LabelManager.js +1 -1
  1288. package/views/2d/MapViewConstraints.js +1 -1
  1289. package/views/2d/PaddedViewState.js +1 -1
  1290. package/views/2d/ViewState.js +1 -1
  1291. package/views/2d/ViewStateManager.js +5 -0
  1292. package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
  1293. package/views/2d/engine/imagery/RasterVFTile.js +1 -1
  1294. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  1295. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  1296. package/views/2d/engine/webgl/BufferPool.js +1 -1
  1297. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  1298. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  1299. package/views/2d/engine/webgl/WGLTile.js +1 -1
  1300. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  1301. package/views/2d/engine/webgl/animatedFormats/AnimatableTextureResource.js +1 -1
  1302. package/views/2d/engine/webgl/animatedFormats/utils.js +1 -1
  1303. package/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js +1 -1
  1304. package/views/2d/engine/webgl/cpuMapped/Buffer.js +1 -1
  1305. package/views/2d/engine/webgl/cpuMapped/Geometry.js +1 -1
  1306. package/views/2d/engine/webgl/effects/highlight/HighlightSurfaces.js +1 -1
  1307. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  1308. package/views/2d/input/MapViewInputManager.js +1 -1
  1309. package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
  1310. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  1311. package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
  1312. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  1313. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  1314. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  1315. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  1316. package/views/2d/layers/KMLLayerView2D.js +1 -1
  1317. package/views/2d/layers/LayerView2D.js +1 -1
  1318. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  1319. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  1320. package/views/2d/layers/MediaLayerView2D.js +1 -1
  1321. package/views/2d/layers/RouteLayerView2D.js +1 -1
  1322. package/views/2d/layers/StreamLayerView2D.js +1 -1
  1323. package/views/2d/layers/TileLayerView2D.js +1 -1
  1324. package/views/2d/layers/features/Pipeline.js +1 -1
  1325. package/views/2d/layers/features/Store2D.js +1 -1
  1326. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  1327. package/views/2d/layers/features/processors/BaseProcessor.js +1 -1
  1328. package/views/2d/layers/features/processors/HeatmapProcessor.js +1 -1
  1329. package/views/2d/layers/features/processors/SymbolProcessor.js +1 -1
  1330. package/views/2d/layers/features/schemaUtils.js +1 -1
  1331. package/views/2d/layers/features/sources/SnapshotFeatureSource.js +1 -1
  1332. package/views/2d/layers/features/sources/StreamConnectionState.js +1 -1
  1333. package/views/2d/layers/features/sources/StreamSource.js +1 -1
  1334. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  1335. package/views/2d/layers/features/tileRenderers/BaseTileRenderer.js +1 -1
  1336. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  1337. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  1338. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  1339. package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
  1340. package/views/2d/layers/support/DebugOverlay.js +1 -1
  1341. package/views/2d/navigation/MapViewNavigation.js +1 -1
  1342. package/views/2d/navigation/ZoomBox.js +1 -1
  1343. package/views/2d/navigation/actions/Pinch.js +1 -1
  1344. package/views/2d/navigation/actions/Rotate.js +1 -1
  1345. package/views/2d/viewpointUtils.js +1 -1
  1346. package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
  1347. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
  1348. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  1349. package/views/3d/analysis/Dimension/DimensionController.js +1 -1
  1350. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  1351. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  1352. package/views/3d/analysis/Dimension/LengthDimensionVisualization.js +1 -1
  1353. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  1354. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  1355. package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
  1356. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  1357. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  1358. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  1359. package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
  1360. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  1361. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  1362. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  1363. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  1364. package/views/3d/analysis/Slice/SliceVisualization.js +1 -1
  1365. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  1366. package/views/3d/analysis/support/viewUtils.js +1 -1
  1367. package/views/3d/camera/constraintUtils/distance.js +1 -1
  1368. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  1369. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  1370. package/views/3d/environment/CloudsComposition.js +1 -1
  1371. package/views/3d/environment/CloudsGenerator.js +1 -1
  1372. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  1373. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  1374. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  1375. package/views/3d/environment/weatherUtils.js +1 -1
  1376. package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
  1377. package/views/3d/externalRenderers/RenderContext.js +1 -1
  1378. package/views/3d/glTF/internal/resourceUtils.js +1 -1
  1379. package/views/3d/input/SceneInputManager.js +1 -1
  1380. package/views/3d/interactive/Manipulator3D.js +1 -1
  1381. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  1382. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  1383. package/views/3d/interactive/editingTools/lineGraphicVisualElementUtils.js +1 -1
  1384. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  1385. package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
  1386. package/views/3d/interactive/editingTools/manipulatorUtils.js +1 -1
  1387. package/views/3d/interactive/editingTools/moveGraphic/GraphicMoveTool.js +1 -1
  1388. package/views/3d/interactive/editingTools/originGraphicVisualElementUtils.js +1 -1
  1389. package/views/3d/interactive/editingTools/reshapeGraphic/GraphicReshapeTool.js +1 -1
  1390. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  1391. package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
  1392. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  1393. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  1394. package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
  1395. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
  1396. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateObjectSymbol3DAdapter.js +1 -1
  1397. package/views/3d/interactive/manipulatorUtils.js +1 -1
  1398. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  1399. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  1400. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  1401. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  1402. package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
  1403. package/views/3d/interactive/visualElements/EngineVisualElement.js +1 -1
  1404. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  1405. package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
  1406. package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
  1407. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  1408. package/views/3d/interactive/visualElements/MarkerVisualElement.js +1 -1
  1409. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  1410. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  1411. package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
  1412. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  1413. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  1414. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  1415. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  1416. package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
  1417. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  1418. package/views/3d/interactive/visualElements/VisualElement.js +1 -1
  1419. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  1420. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  1421. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  1422. package/views/3d/layers/DimensionLayerView3D.js +1 -1
  1423. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  1424. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  1425. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  1426. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  1427. package/views/3d/layers/I3SMeshView3D.js +1 -1
  1428. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  1429. package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
  1430. package/views/3d/layers/II3SMeshView3D.js +1 -1
  1431. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  1432. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  1433. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  1434. package/views/3d/layers/LayerView3D.js +1 -1
  1435. package/views/3d/layers/LineOfSightLayerView3D.js +1 -1
  1436. package/views/3d/layers/MapImageLayerView3D.js +1 -1
  1437. package/views/3d/layers/MediaLayerView3D.js +1 -1
  1438. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  1439. package/views/3d/layers/PointCloudWorker.js +1 -1
  1440. package/views/3d/layers/RouteLayerView3D.js +1 -1
  1441. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  1442. package/views/3d/layers/SceneLayerView3D.js +1 -1
  1443. package/views/3d/layers/SceneLayerWorker.js +1 -1
  1444. package/views/3d/layers/StreamLayerView3D.js +1 -1
  1445. package/views/3d/layers/TileLayerView3D.js +1 -1
  1446. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  1447. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  1448. package/views/3d/layers/WMSLayerView3D.js +1 -1
  1449. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  1450. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  1451. package/views/3d/layers/graphics/ElevationQuery.js +1 -1
  1452. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  1453. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  1454. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  1455. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  1456. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  1457. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  1458. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  1459. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  1460. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  1461. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  1462. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  1463. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  1464. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  1465. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  1466. package/views/3d/layers/graphics/Labeler.js +1 -1
  1467. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  1468. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  1469. package/views/3d/layers/graphics/webStyleUtils.js +1 -1
  1470. package/views/3d/layers/i3s/Highlights.js +1 -1
  1471. package/views/3d/layers/i3s/I3SClientMaterialUtil.js +5 -0
  1472. package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
  1473. package/views/3d/layers/i3s/I3SFrameTask.js +1 -1
  1474. package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
  1475. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  1476. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  1477. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  1478. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  1479. package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
  1480. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  1481. package/views/3d/layers/i3s/featureEditing.js +1 -1
  1482. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  1483. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  1484. package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
  1485. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  1486. package/views/3d/layers/support/SceneLayerViewRequiredFields.js +1 -1
  1487. package/views/3d/layers/support/uvUtils.js +1 -1
  1488. package/views/3d/state/Frustum.js +1 -1
  1489. package/views/3d/state/GoToOperation.js +1 -1
  1490. package/views/3d/state/ViewState.js +1 -1
  1491. package/views/3d/state/ViewStateManager.js +1 -1
  1492. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  1493. package/views/3d/state/controllers/RotateController.js +1 -1
  1494. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  1495. package/views/3d/state/controllers/global/ZoomController.js +1 -1
  1496. package/views/3d/state/controllers/local/ZoomController.js +1 -1
  1497. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  1498. package/views/3d/support/CombinedElevationProvider.js +1 -1
  1499. package/views/3d/support/DisplayQualityProfile.js +1 -1
  1500. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  1501. package/views/3d/support/LaserLineRenderer.js +1 -1
  1502. package/views/3d/support/MemoryController.js +1 -1
  1503. package/views/3d/support/RenderCoordsHelper.js +1 -1
  1504. package/views/3d/support/SceneViewPerformanceInfo.js +1 -1
  1505. package/views/3d/support/SharedSymbolResources.js +1 -1
  1506. package/views/3d/support/StreamTextureCollection.js +1 -1
  1507. package/views/3d/support/geometryUtils/ray.js +1 -1
  1508. package/views/3d/support/orientedBoundingBox.js +1 -1
  1509. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  1510. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  1511. package/views/3d/support/renderInfoUtils/line.js +1 -1
  1512. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  1513. package/views/3d/support/sunUtils.js +1 -1
  1514. package/views/3d/terrain/Overlay.js +1 -1
  1515. package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
  1516. package/views/3d/terrain/OverlayManager.js +1 -1
  1517. package/views/3d/terrain/OverlayRenderTarget.js +1 -1
  1518. package/views/3d/terrain/OverlayRenderer.js +1 -1
  1519. package/views/3d/terrain/PatchRenderData.js +1 -1
  1520. package/views/3d/terrain/SphericalPatch.js +1 -1
  1521. package/views/3d/terrain/TerrainRenderer.js +1 -1
  1522. package/views/3d/terrain/TerrainSurface.js +1 -1
  1523. package/views/3d/terrain/Tile.js +1 -1
  1524. package/views/3d/terrain/TileRenderer.js +1 -1
  1525. package/views/3d/terrain/TilingSchemeLogic.js +1 -1
  1526. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  1527. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  1528. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  1529. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  1530. package/views/3d/webgl-engine/core/FBOCache.js +5 -0
  1531. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  1532. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +1 -1
  1533. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +3 -9
  1534. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +13 -15
  1535. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +30 -35
  1536. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +1 -1
  1537. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +6 -6
  1538. package/views/3d/webgl-engine/core/shaderLibrary/hud/{HUDUniforms.js → HUDRenderStyle.js} +1 -1
  1539. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +5 -6
  1540. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +3 -3
  1541. package/views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js +5 -1
  1542. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +2 -2
  1543. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js +3 -3
  1544. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +10 -10
  1545. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +18 -16
  1546. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +2 -2
  1547. package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +1 -1
  1548. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +2 -2
  1549. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +8 -8
  1550. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +9 -9
  1551. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +1 -1
  1552. package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloat16Encoding.glsl.js +25 -0
  1553. package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
  1554. package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +1 -1
  1555. package/views/3d/webgl-engine/core/shaderModules/Uniform.js +1 -1
  1556. package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
  1557. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  1558. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  1559. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  1560. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
  1561. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  1562. package/views/3d/webgl-engine/lib/Highlight.js +1 -1
  1563. package/views/3d/webgl-engine/lib/MagnifierHelper.js +1 -1
  1564. package/views/3d/webgl-engine/lib/Material.js +1 -1
  1565. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  1566. package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
  1567. package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
  1568. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  1569. package/views/3d/webgl-engine/lib/Program.js +1 -1
  1570. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  1571. package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
  1572. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  1573. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  1574. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  1575. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  1576. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  1577. package/views/3d/webgl-engine/lib/ShadowHighlight.js +1 -1
  1578. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  1579. package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
  1580. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  1581. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  1582. package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
  1583. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  1584. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechniqueConfiguration.js +1 -1
  1585. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  1586. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  1587. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  1588. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  1589. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  1590. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  1591. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  1592. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  1593. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  1594. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  1595. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  1596. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  1597. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  1598. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  1599. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  1600. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  1601. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  1602. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  1603. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  1604. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  1605. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  1606. package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
  1607. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  1608. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  1609. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  1610. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  1611. package/views/3d/webgl-engine/materials/pbrUtils.js +5 -0
  1612. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  1613. package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
  1614. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  1615. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  1616. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  1617. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  1618. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  1619. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  1620. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  1621. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  1622. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  1623. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  1624. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  1625. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  1626. package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
  1627. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  1628. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  1629. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  1630. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  1631. package/views/3d/webgl-engine/shaders/SMAAPassParameters.js +1 -1
  1632. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  1633. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  1634. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  1635. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  1636. package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
  1637. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  1638. package/views/DOMContainer.js +1 -1
  1639. package/views/LayerViewManager.js +1 -1
  1640. package/views/MapView.js +1 -1
  1641. package/views/PopupView.js +1 -1
  1642. package/views/SceneView.js +1 -1
  1643. package/views/ToolViewManager.js +1 -1
  1644. package/views/draw/DrawGraphicTool.js +1 -1
  1645. package/views/draw/DrawOperation.js +1 -1
  1646. package/views/draw/DrawTool.js +1 -1
  1647. package/views/draw/support/GraphicMover.js +1 -1
  1648. package/views/draw/support/HighlightHelper.js +1 -1
  1649. package/views/draw/support/Reshape.js +1 -1
  1650. package/views/draw/support/createUtils.js +1 -1
  1651. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  1652. package/views/input/ViewEvents.js +1 -1
  1653. package/views/interactive/SegmentLabels.js +1 -1
  1654. package/views/interactive/coordinateHelper.js +1 -1
  1655. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  1656. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  1657. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  1658. package/views/interactive/editGeometry/operations/ScaleVertex.js +1 -1
  1659. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  1660. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  1661. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  1662. package/views/interactive/snapping/SnappingConstraint.js +1 -1
  1663. package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
  1664. package/views/interactive/snapping/SnappingManager.js +1 -1
  1665. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  1666. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  1667. package/views/interactive/snapping/featureSources/I3SSnappingSource.js +1 -1
  1668. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  1669. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
  1670. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  1671. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorkerHandle.js +1 -1
  1672. package/views/interactive/snapping/featureSources/sceneLayerSource/sceneLayerSnappingUtils.js +1 -1
  1673. package/views/interactive/support/viewUtils.js +1 -1
  1674. package/views/layers/FeatureLayerView.js +1 -1
  1675. package/views/layers/GroupLayerView.js +1 -1
  1676. package/views/layers/LayerView.js +1 -1
  1677. package/views/layers/RefreshableLayerView.js +1 -1
  1678. package/views/layers/StreamLayerView.js +1 -1
  1679. package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
  1680. package/views/overlay/LineOverlayItem.js +1 -1
  1681. package/views/overlay/TextOverlayItem.js +1 -1
  1682. package/views/overlay/ViewOverlay.js +1 -1
  1683. package/views/support/QueueProcessor.js +1 -1
  1684. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  1685. package/views/support/geometry2dUtils.js +1 -1
  1686. package/views/support/geometry3dUtils.js +1 -1
  1687. package/views/support/screenshotUtils.js +1 -1
  1688. package/views/ui/DefaultUI.js +1 -1
  1689. package/views/ui/UI.js +1 -1
  1690. package/views/webgl/AppleAmdDriverHelper.js +5 -0
  1691. package/views/webgl/BufferObject.js +1 -1
  1692. package/views/webgl/FramebufferObject.js +1 -1
  1693. package/views/webgl/Measurement.js +1 -1
  1694. package/views/webgl/Renderbuffer.js +1 -1
  1695. package/views/webgl/RenderingContext.js +1 -1
  1696. package/views/webgl/Texture.js +1 -1
  1697. package/views/webgl/TextureDescriptor.js +1 -1
  1698. package/views/webgl/VertexArrayObject.js +1 -1
  1699. package/views/webgl/heatmapTextureUtils.js +1 -1
  1700. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  1701. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  1702. package/{layers/orientedImagery/core/imageryUtils.js → webdoc/interfaces.js} +1 -1
  1703. package/webdoc/support/writeUtils.js +1 -1
  1704. package/webmap/initialViewPropertiesUtils.js +1 -1
  1705. package/webscene/Slide.js +1 -1
  1706. package/widgets/Attachments.js +1 -1
  1707. package/widgets/Attribution/AttributionViewModel.js +1 -1
  1708. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  1709. package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
  1710. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  1711. package/widgets/BasemapGallery.js +1 -1
  1712. package/widgets/BasemapLayerList/BasemapLayerListViewModel.js +1 -1
  1713. package/widgets/BasemapLayerList.js +1 -1
  1714. package/widgets/Bookmarks/css.js +1 -1
  1715. package/widgets/Bookmarks.js +1 -1
  1716. package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
  1717. package/widgets/BuildingExplorer/BuildingExplorerViewModel.js +1 -1
  1718. package/widgets/BuildingExplorer/BuildingNumericFilterViewModel.js +1 -1
  1719. package/widgets/Compass/CompassViewModel.js +1 -1
  1720. package/widgets/Daylight/DaylightViewModel.js +1 -1
  1721. package/widgets/Directions/DirectionsViewModel.js +1 -1
  1722. package/widgets/Directions.js +1 -1
  1723. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  1724. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  1725. package/widgets/Editor/CreateWorkflow.js +1 -1
  1726. package/widgets/Editor/EditorViewModel.js +1 -1
  1727. package/widgets/Editor/Edits.js +1 -1
  1728. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  1729. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  1730. package/widgets/Editor/UpdateWorkflow.js +1 -1
  1731. package/widgets/Editor/UpdateWorkflowData.js +1 -1
  1732. package/widgets/Editor/Upload.js +1 -1
  1733. package/widgets/Editor/Workflow.js +1 -1
  1734. package/widgets/Editor/modelUploadUtils.js +1 -1
  1735. package/widgets/Editor/workflowUtils.js +1 -1
  1736. package/widgets/Editor.js +1 -1
  1737. package/widgets/ElevationProfile/ElevationProfileController.js +1 -1
  1738. package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
  1739. package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
  1740. package/widgets/ElevationProfile/support/ElevationProfileView.js +1 -1
  1741. package/widgets/ElevationProfile/support/InputRepresentation3D.js +1 -1
  1742. package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
  1743. package/widgets/Feature/FeatureAttachments.js +1 -1
  1744. package/widgets/Feature/FeatureContent/FeatureContentViewModel.js +1 -1
  1745. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  1746. package/widgets/Feature/FeatureMedia/pieChart.js +1 -1
  1747. package/widgets/Feature/FeatureMedia/xyChart.js +1 -1
  1748. package/widgets/Feature/FeatureMedia.js +1 -1
  1749. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  1750. package/widgets/Feature/FeatureRelationship.js +1 -1
  1751. package/widgets/Feature/FeatureViewModel.js +1 -1
  1752. package/widgets/Feature/support/featureUtils.js +1 -1
  1753. package/widgets/Feature/support/relatedFeatureUtils.js +1 -1
  1754. package/widgets/FeatureForm/EditableInput.d.ts +4 -0
  1755. package/widgets/FeatureForm/EditableInput.js +1 -1
  1756. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  1757. package/widgets/FeatureForm/FieldInput.d.ts +4 -0
  1758. package/widgets/FeatureForm/FieldInput.js +1 -1
  1759. package/widgets/FeatureForm/FormExpressionsManager.js +1 -1
  1760. package/widgets/FeatureForm/GroupInput.d.ts +4 -0
  1761. package/widgets/FeatureForm/GroupInput.js +1 -1
  1762. package/widgets/FeatureForm/InputBase.d.ts +4 -0
  1763. package/widgets/FeatureForm/InputBase.js +1 -1
  1764. package/widgets/FeatureForm/InputField.d.ts +4 -0
  1765. package/widgets/FeatureForm/InputFieldGroup.d.ts +4 -0
  1766. package/widgets/FeatureForm/RelationshipInput.d.ts +4 -0
  1767. package/widgets/FeatureForm/RelationshipInput.js +1 -1
  1768. package/widgets/FeatureForm/css.js +1 -1
  1769. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  1770. package/widgets/FeatureForm.js +1 -1
  1771. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  1772. package/widgets/FeatureTable/FieldColumn.js +1 -1
  1773. package/widgets/FeatureTable/Grid/Column.js +1 -1
  1774. package/widgets/FeatureTable/Grid/Grid.js +11 -11
  1775. package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
  1776. package/widgets/FeatureTable.js +1 -1
  1777. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  1778. package/widgets/FeatureTemplates/ItemList.js +1 -1
  1779. package/widgets/FeatureTemplates.js +1 -1
  1780. package/widgets/Features/FeaturesViewModel.d.ts +4 -0
  1781. package/widgets/Features.d.ts +4 -0
  1782. package/widgets/Features.js +1 -1
  1783. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  1784. package/widgets/Home.js +1 -1
  1785. package/widgets/LayerList/ListItem.js +1 -1
  1786. package/widgets/Legend/LegendViewModel.js +1 -1
  1787. package/widgets/Legend/styles/Card.js +1 -1
  1788. package/widgets/Legend/styles/Classic.js +1 -1
  1789. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  1790. package/widgets/Legend/support/styleUtils.js +1 -1
  1791. package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
  1792. package/widgets/Locate/LocateViewModel.js +1 -1
  1793. package/widgets/Locate.js +1 -1
  1794. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  1795. package/widgets/OrientedImageryViewer.js +1 -1
  1796. package/widgets/Popup.js +1 -1
  1797. package/widgets/Print/FileLink.js +1 -1
  1798. package/widgets/ScaleRangeSlider.js +1 -1
  1799. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  1800. package/widgets/ShadowCast/ShadowTooltipViewModel.js +1 -1
  1801. package/widgets/ShadowCast.js +1 -1
  1802. package/widgets/Sketch/SketchViewModel.js +1 -1
  1803. package/widgets/TableList/ListItem.js +1 -1
  1804. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  1805. package/widgets/Track/TrackViewModel.js +1 -1
  1806. package/widgets/Track.js +1 -1
  1807. package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  1808. package/widgets/UtilityNetworkAssociations.js +1 -1
  1809. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  1810. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  1811. package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
  1812. package/widgets/UtilityNetworkTrace.js +1 -1
  1813. package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.d.ts +4 -0
  1814. package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
  1815. package/widgets/UtilityNetworkValidateTopology.d.ts +4 -0
  1816. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  1817. package/widgets/ValuePicker/ValuePickerBaseComponent.js +1 -1
  1818. package/widgets/ValuePicker/ValuePickerCollection.d.ts +4 -0
  1819. package/widgets/ValuePicker/ValuePickerCombobox.d.ts +4 -0
  1820. package/widgets/ValuePicker/ValuePickerCombobox.js +1 -1
  1821. package/widgets/ValuePicker/ValuePickerLabel.d.ts +4 -0
  1822. package/widgets/ValuePicker/ValuePickerSlider.d.ts +4 -0
  1823. package/widgets/ValuePicker/ValuePickerSlider.js +1 -1
  1824. package/widgets/ValuePicker.d.ts +4 -0
  1825. package/widgets/ValuePicker.js +1 -1
  1826. package/widgets/Weather/WeatherViewModel.js +1 -1
  1827. package/widgets/Widget.js +1 -1
  1828. package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.js +1 -1
  1829. package/widgets/support/ColorPicker.js +1 -1
  1830. package/widgets/support/GeolocationPositioning.js +1 -1
  1831. package/widgets/support/Popover.js +1 -1
  1832. package/widgets/support/Selector2D/SelectionOperation2D.js +1 -1
  1833. package/widgets/support/Selector2D.js +1 -1
  1834. package/widgets/support/SnappingControls/SnappingControlsViewModel.js +1 -1
  1835. package/widgets/support/chartUtils.js +1 -1
  1836. package/widgets/support/chartUtilsAm5.js +1 -1
  1837. package/widgets/support/componentsUtils.js +1 -1
  1838. package/widgets/support/geolocationUtils.js +1 -1
  1839. package/widgets/support/jsxWidgetSupport.js +1 -1
  1840. package/assets/esri/core/workers/chunks/030b43764f945cb1f8b0.js +0 -1
  1841. package/assets/esri/core/workers/chunks/03bc91648286b9b75e30.js +0 -1
  1842. package/assets/esri/core/workers/chunks/03dba2a2bbc363369a0f.js +0 -1
  1843. package/assets/esri/core/workers/chunks/0618fb0058f39ecd363f.js +0 -1
  1844. package/assets/esri/core/workers/chunks/099cacba30fd93af8ebc.js +0 -1
  1845. package/assets/esri/core/workers/chunks/0adcc644ab424469a62d.js +0 -1
  1846. package/assets/esri/core/workers/chunks/0fcb8d408696075338e2.js +0 -1
  1847. package/assets/esri/core/workers/chunks/1257825488d2494e901d.js +0 -1
  1848. package/assets/esri/core/workers/chunks/14d97dc471ff449bb12d.js +0 -1
  1849. package/assets/esri/core/workers/chunks/16e459b16bdd6e1a821b.js +0 -1
  1850. package/assets/esri/core/workers/chunks/187c3b971ed0fc4363ef.js +0 -1
  1851. package/assets/esri/core/workers/chunks/18db07d739a713cc0465.js +0 -1
  1852. package/assets/esri/core/workers/chunks/1fd7e2d91d0d76ba1802.js +0 -1
  1853. package/assets/esri/core/workers/chunks/20ea76301f58a4145223.js +0 -1
  1854. package/assets/esri/core/workers/chunks/270471cd31609e303496.js +0 -1
  1855. package/assets/esri/core/workers/chunks/293315442f5afe8069dc.js +0 -1
  1856. package/assets/esri/core/workers/chunks/2e627c94e57c924e5917.js +0 -1095
  1857. package/assets/esri/core/workers/chunks/39288fa69561d21f04f8.js +0 -1
  1858. package/assets/esri/core/workers/chunks/39714837f9d3708e3806.js +0 -1
  1859. package/assets/esri/core/workers/chunks/3a63ab2bff22950ffadf.js +0 -1
  1860. package/assets/esri/core/workers/chunks/3ce1fe5e7a841f6dc355.js +0 -1
  1861. package/assets/esri/core/workers/chunks/3d511e09f36002e1032e.js +0 -1
  1862. package/assets/esri/core/workers/chunks/431d54867bc3bb848fbb.js +0 -1
  1863. package/assets/esri/core/workers/chunks/4474512927623c7bb16c.js +0 -1
  1864. package/assets/esri/core/workers/chunks/45e5ad704d18dd0857ce.js +0 -1
  1865. package/assets/esri/core/workers/chunks/4f2e49bbbf667b68d8a7.js +0 -1
  1866. package/assets/esri/core/workers/chunks/50e6bf76dcb372183824.js +0 -1
  1867. package/assets/esri/core/workers/chunks/50f929d9453fb058cf47.js +0 -1
  1868. package/assets/esri/core/workers/chunks/5270fedc8c7951807eb4.js +0 -1
  1869. package/assets/esri/core/workers/chunks/528107548340cfc6a8f0.js +0 -1
  1870. package/assets/esri/core/workers/chunks/55486c644e8b01326a0d.js +0 -1
  1871. package/assets/esri/core/workers/chunks/5576858f56314afcb4d5.js +0 -1
  1872. package/assets/esri/core/workers/chunks/571dac507622948ac03e.js +0 -1
  1873. package/assets/esri/core/workers/chunks/5a4c04bf4f57e74457c5.js +0 -1
  1874. package/assets/esri/core/workers/chunks/5bbe1495fa421394d12e.js +0 -1
  1875. package/assets/esri/core/workers/chunks/621c91af7c051d44d378.js +0 -1
  1876. package/assets/esri/core/workers/chunks/673d6e284d5e85a107ca.js +0 -1
  1877. package/assets/esri/core/workers/chunks/6ab0c2e27ba6b1b4afc7.js +0 -1
  1878. package/assets/esri/core/workers/chunks/6b0e5728b2dbd23b0834.js +0 -1
  1879. package/assets/esri/core/workers/chunks/6d80f81bf6ad97a7e69e.js +0 -1
  1880. package/assets/esri/core/workers/chunks/6e7178de0b2c3d2f7e6b.js +0 -1
  1881. package/assets/esri/core/workers/chunks/70d6e5edf05ef7079fa8.js +0 -1
  1882. package/assets/esri/core/workers/chunks/71bdf8f10aee0077f681.js +0 -1
  1883. package/assets/esri/core/workers/chunks/72b2c3c8e76da699690c.js +0 -1
  1884. package/assets/esri/core/workers/chunks/749fafd2481d37b5e2a0.js +0 -1
  1885. package/assets/esri/core/workers/chunks/785a6c925f29bc962992.js +0 -1
  1886. package/assets/esri/core/workers/chunks/78ce0b1af62435d8ebf4.js +0 -1
  1887. package/assets/esri/core/workers/chunks/791f529e90135398b3d5.js +0 -1
  1888. package/assets/esri/core/workers/chunks/7bbdba52157da13a01fc.js +0 -1
  1889. package/assets/esri/core/workers/chunks/83298b1bdbcbe39d8ba1.js +0 -1
  1890. package/assets/esri/core/workers/chunks/84f897e5910752e7aebc.js +0 -1
  1891. package/assets/esri/core/workers/chunks/858961981aa2a57d37db.js +0 -1
  1892. package/assets/esri/core/workers/chunks/8cc8d88e5dd1e586eb04.js +0 -1
  1893. package/assets/esri/core/workers/chunks/8d3abfe6fdc5ac8d6cb7.js +0 -1
  1894. package/assets/esri/core/workers/chunks/924e4a18d8403d1caea3.js +0 -1
  1895. package/assets/esri/core/workers/chunks/94c1a2d31b3253cf6062.js +0 -1
  1896. package/assets/esri/core/workers/chunks/96d339abcd917f1f0ae1.js +0 -1
  1897. package/assets/esri/core/workers/chunks/97dbfe04136aa5e4cd4d.js +0 -1
  1898. package/assets/esri/core/workers/chunks/9ab400a89dd701778d2c.js +0 -1
  1899. package/assets/esri/core/workers/chunks/9de820b7df38b948c92b.js +0 -1
  1900. package/assets/esri/core/workers/chunks/9e209c6a2aded37f90fb.js +0 -1
  1901. package/assets/esri/core/workers/chunks/9fe349f43d5ff5a4ac2d.js +0 -1
  1902. package/assets/esri/core/workers/chunks/a12d1d3addeae0771c00.js +0 -1
  1903. package/assets/esri/core/workers/chunks/a1c31bb8c12831539328.js +0 -1
  1904. package/assets/esri/core/workers/chunks/a2484a3993ec81a095b4.js +0 -1
  1905. package/assets/esri/core/workers/chunks/a5bd457d0284419b4f34.js +0 -1
  1906. package/assets/esri/core/workers/chunks/a6c2fbf8aefb2e793ce3.js +0 -1
  1907. package/assets/esri/core/workers/chunks/a719cb801d647234546c.js +0 -1
  1908. package/assets/esri/core/workers/chunks/a95bee31d06e69a0d56d.js +0 -1
  1909. package/assets/esri/core/workers/chunks/ab2b56442fee12be5c68.js +0 -1
  1910. package/assets/esri/core/workers/chunks/ad215f7279e6b0a0d6f3.js +0 -1
  1911. package/assets/esri/core/workers/chunks/af5c9cbbcb6f56893560.js +0 -1
  1912. package/assets/esri/core/workers/chunks/b1d88f8e528bf7092f35.js +0 -1
  1913. package/assets/esri/core/workers/chunks/b4e2dc6b3d06b426e596.js +0 -1
  1914. package/assets/esri/core/workers/chunks/b6b2cac44a5189afdc7a.js +0 -1
  1915. package/assets/esri/core/workers/chunks/ba43e85d345393f47778.js +0 -1
  1916. package/assets/esri/core/workers/chunks/ba6024465308c248170b.js +0 -1
  1917. package/assets/esri/core/workers/chunks/bc2c4b00168f9251f693.js +0 -1
  1918. package/assets/esri/core/workers/chunks/bead656f8da33e023b2b.js +0 -1
  1919. package/assets/esri/core/workers/chunks/c2cb9fa18c77f0c5104e.js +0 -1
  1920. package/assets/esri/core/workers/chunks/c2fb0f3179b9ff294b68.js +0 -1
  1921. package/assets/esri/core/workers/chunks/cb8270d50f152fff2804.js +0 -1
  1922. package/assets/esri/core/workers/chunks/d0ff968e42116f592065.js +0 -1
  1923. package/assets/esri/core/workers/chunks/d265da47f6c752a40ac1.js +0 -1
  1924. package/assets/esri/core/workers/chunks/d26eaac455346f4df51a.js +0 -1
  1925. package/assets/esri/core/workers/chunks/d30be8788a3ea70f1edf.js +0 -1
  1926. package/assets/esri/core/workers/chunks/d3768c90b419386b65f9.js +0 -1
  1927. package/assets/esri/core/workers/chunks/d64c271c173797d98286.js +0 -1
  1928. package/assets/esri/core/workers/chunks/d6b6bb8aecc85d2a3f6b.js +0 -1
  1929. package/assets/esri/core/workers/chunks/d725dbbdeb05322e6d88.js +0 -1
  1930. package/assets/esri/core/workers/chunks/d95ca50ca7af4c222036.js +0 -1
  1931. package/assets/esri/core/workers/chunks/da6db22616bd95ee5380.js +0 -1
  1932. package/assets/esri/core/workers/chunks/df3e497d12ed77bae168.js +0 -1
  1933. package/assets/esri/core/workers/chunks/df6f54607ad4c6e28d1d.js +0 -1
  1934. package/assets/esri/core/workers/chunks/e1b2076d0040fcb7d864.js +0 -1
  1935. package/assets/esri/core/workers/chunks/e2f4e1c4fe166d249b2e.js +0 -1
  1936. package/assets/esri/core/workers/chunks/e46cd2a6da8d5cba1db6.js +0 -1
  1937. package/assets/esri/core/workers/chunks/e5bbd4cc5edbf7ab3624.js +0 -1
  1938. package/assets/esri/core/workers/chunks/e72150a38b202b68be2b.js +0 -1
  1939. package/assets/esri/core/workers/chunks/e8db7303b2f63c0ec0c9.js +0 -1
  1940. package/assets/esri/core/workers/chunks/ea9e25eaaada36253da3.js +0 -1
  1941. package/assets/esri/core/workers/chunks/eca24f316629ad0c0609.js +0 -1
  1942. package/assets/esri/core/workers/chunks/f21aa0bfc6c8f809ea86.js +0 -1
  1943. package/assets/esri/core/workers/chunks/f3462020ee3b9c6f3822.js +0 -1
  1944. package/assets/esri/core/workers/chunks/f720967ba8c5486a26a2.js +0 -1
  1945. package/assets/esri/core/workers/chunks/fb080339bfaf32731ca6.js +0 -1
  1946. package/assets/esri/core/workers/chunks/fdf58386a67e54c09bfb.js +0 -1
  1947. package/layers/knowledgeGraph/KnowledgeGraphSubLayer.d.ts +0 -4
  1948. package/layers/knowledgeGraph/KnowledgeGraphSubLayer.js +0 -5
  1949. package/layers/orientedImagery/core/Affixes.js +0 -5
  1950. package/layers/orientedImagery/core/CameraProperties.js +0 -5
  1951. package/layers/orientedImagery/core/ImageProperties.js +0 -5
  1952. package/layers/orientedImagery/core/ImageryTypes.js +0 -5
  1953. package/layers/video/VideoEngine.js +0 -5
  1954. package/views/3d/webgl-engine/lib/AppleAmdDriverHelper.js +0 -5
  1955. package/views/3d/webgl-engine/lib/RenderTargetHelper.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{disposeMaybe as t}from"../../core/maybe.js";import{after as e}from"../../core/promiseUtils.js";import{Milliseconds as s}from"../../core/time.js";import{webglDebugEnabled as i}from"./checkWebGLError.js";import{ContextState as a}from"./ContextState.js";import{ContextType as r}from"./contextUtils.js";import{BufferType as n,Face as l,BASE_TEXTURE_UNIT as h,ClearBufferBit as f,FramebufferTarget as o,TextureSamplingMode as u,SyncCondition as c,ResourceType as _,ClientWaitSyncStatus as d,BlendFactor as b,BlendOperation as F,CullMode as g,CompareFunction as p,StencilOperation as B,ColorAttachment as E,TextureType as R,PrimitiveType as m}from"./enums.js";import{InstanceCounter as T}from"./InstanceCounter.js";import{Parameters as O}from"./Parameters.js";import{ProgramCache as A}from"./ProgramCache.js";import{StateTracker as x}from"./renderState.js";import{Texture as C}from"./Texture.js";import{getErrorString as U}from"./Util.js";import{WebGLDriverTest as S}from"./WebGLDriverTest.js";import{Capabilities as k}from"./capabilities/Capabilities.js";import y from"./capabilities/isWebGL2Context.js";let P=class{constructor(t,e){this.gl=t,this.instanceCounter=new T,this.programCache=new A(this),this._state=new a,this._numOfDrawCalls=0,this._numOfTriangles=0,this.type=y(t)?r.WEBGL2:r.WEBGL1,this._loadExtensions(),this.configure(e)}get gl2(){return this.type===r.WEBGL1?null:this.gl}configure(e){this._capabilities=new k(this.gl,e),this._parameters=new O(this.gl,this._capabilities,e),C.TEXTURE_UNIT_FOR_UPDATES=this._parameters.maxTextureImageUnits-1;const s=this.gl.getParameter(this.gl.VIEWPORT);this._state=new a,this._state.viewport={x:s[0],y:s[1],width:s[2],height:s[3]},this._stateTracker=new x({setBlending:t=>{if(t){this.setBlendingEnabled(!0),this.setBlendEquationSeparate(t.opRgb,t.opAlpha),this.setBlendFunctionSeparate(t.srcRgb,t.dstRgb,t.srcAlpha,t.dstAlpha);const e=t.color;this.setBlendColor(e.r,e.g,e.b,e.a)}else this.setBlendingEnabled(!1)},setCulling:t=>{t?(this.setFaceCullingEnabled(!0),this.setCullFace(t.face),this.setFrontFace(t.mode)):this.setFaceCullingEnabled(!1)},setPolygonOffset:t=>{t?(this.setPolygonOffsetFillEnabled(!0),this.setPolygonOffset(t.factor,t.units)):this.setPolygonOffsetFillEnabled(!1)},setDepthTest:t=>{t?(this.setDepthTestEnabled(!0),this.setDepthFunction(t.func)):this.setDepthTestEnabled(!1)},setStencilTest:t=>{if(t){this.setStencilTestEnabled(!0);const e=t.function;this.setStencilFunction(e.func,e.ref,e.mask);const s=t.operation;this.setStencilOp(s.fail,s.zFail,s.zPass)}else this.setStencilTestEnabled(!1)},setDepthWrite:t=>{t?(this.setDepthWriteEnabled(!0),this.setDepthRange(t.zNear,t.zFar)):this.setDepthWriteEnabled(!1)},setColorWrite:t=>{t?this.setColorMask(t.r,t.g,t.b,t.a):this.setColorMask(!1,!1,!1,!1)},setStencilWrite:t=>{t?this.setStencilWriteMask(t.mask):this.setStencilWriteMask(0)}}),this.enforceState(),t(this._driverTest),this._driverTest=new S(this)}dispose(){t(this._driverTest),this.programCache.dispose(),this.bindVAO(null),this.unbindBuffer(n.ARRAY_BUFFER),this.unbindBuffer(n.ELEMENT_ARRAY_BUFFER),this.type===r.WEBGL2&&(this.unbindBuffer(n.UNIFORM_BUFFER),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(n.PIXEL_PACK_BUFFER),this.unbindBuffer(n.PIXEL_UNPACK_BUFFER),this.unbindBuffer(n.COPY_READ_BUFFER),this.unbindBuffer(n.COPY_WRITE_BUFFER)),this._state.textureUnitMap.length=0,i()&&console.log(this.instanceCounter.resourceInformation)}get driverTest(){return this._driverTest}get contextAttributes(){return this.gl.getContextAttributes()}get parameters(){return this._parameters}setPipelineState(t){this._stateTracker.setPipeline(t)}setBlendingEnabled(t){this._state.blend!==t&&(!0===t?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this._state.blend=t,this._stateTracker.invalidateBlending())}externalProgramUpdate(){this._state.program?.stop(),this._state.program=null}externalTextureUnitUpdate(t,e){for(let s=0;s<t.length;++s)this._state.textureUnitMap[t[s]]=null;e>=0&&(this._state.activeTexture=e)}externalVertexArrayObjectUpdate(){const t=this.capabilities.vao;t&&(t.bindVertexArray(null),this._state.vertexArrayObject=null),this._state.vertexBuffer=null,this._state.indexBuffer=null}externalVertexBufferUpdate(){this._state.vertexBuffer=null}externalIndexBufferUpdate(){this._state.indexBuffer=null}setBlendColor(t,e,s,i){t===this._state.blendColor.r&&e===this._state.blendColor.g&&s===this._state.blendColor.b&&i===this._state.blendColor.a||(this.gl.blendColor(t,e,s,i),this._state.blendColor.r=t,this._state.blendColor.g=e,this._state.blendColor.b=s,this._state.blendColor.a=i,this._stateTracker.invalidateBlending())}setBlendFunction(t,e){t===this._state.blendFunction.srcRGB&&e===this._state.blendFunction.dstRGB||(this.gl.blendFunc(t,e),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=t,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=e,this._stateTracker.invalidateBlending())}setBlendFunctionSeparate(t,e,s,i){this._state.blendFunction.srcRGB===t&&this._state.blendFunction.srcAlpha===s&&this._state.blendFunction.dstRGB===e&&this._state.blendFunction.dstAlpha===i||(this.gl.blendFuncSeparate(t,e,s,i),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=s,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=i,this._stateTracker.invalidateBlending())}setBlendEquation(t){this._state.blendEquation.mode!==t&&(this.gl.blendEquation(t),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=t,this._stateTracker.invalidateBlending())}setBlendEquationSeparate(t,e){this._state.blendEquation.mode===t&&this._state.blendEquation.modeAlpha===e||(this.gl.blendEquationSeparate(t,e),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=e,this._stateTracker.invalidateBlending())}setColorMask(t,e,s,i){this._state.colorMask.r===t&&this._state.colorMask.g===e&&this._state.colorMask.b===s&&this._state.colorMask.a===i||(this.gl.colorMask(t,e,s,i),this._state.colorMask.r=t,this._state.colorMask.g=e,this._state.colorMask.b=s,this._state.colorMask.a=i,this._stateTracker.invalidateColorWrite())}setClearColor(t,e,s,i){this._state.clearColor.r===t&&this._state.clearColor.g===e&&this._state.clearColor.b===s&&this._state.clearColor.a===i||(this.gl.clearColor(t,e,s,i),this._state.clearColor.r=t,this._state.clearColor.g=e,this._state.clearColor.b=s,this._state.clearColor.a=i)}setFaceCullingEnabled(t){this._state.faceCulling!==t&&(!0===t?this.gl.enable(this.gl.CULL_FACE):this.gl.disable(this.gl.CULL_FACE),this._state.faceCulling=t,this._stateTracker.invalidateCulling())}setPolygonOffsetFillEnabled(t){this._state.polygonOffsetFill!==t&&(!0===t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL),this._state.polygonOffsetFill=t,this._stateTracker.invalidatePolygonOffset())}setPolygonOffset(t,e){this._state.polygonOffset[0]===t&&this._state.polygonOffset[1]===e||(this._state.polygonOffset[0]=t,this._state.polygonOffset[1]=e,this.gl.polygonOffset(t,e),this._stateTracker.invalidatePolygonOffset())}setCullFace(t){this._state.cullFace!==t&&(this.gl.cullFace(t),this._state.cullFace=t,this._stateTracker.invalidateCulling())}setFrontFace(t){this._state.frontFace!==t&&(this.gl.frontFace(t),this._state.frontFace=t,this._stateTracker.invalidateCulling())}setScissorTestEnabled(t){this._state.scissorTest!==t&&(!0===t?this.gl.enable(this.gl.SCISSOR_TEST):this.gl.disable(this.gl.SCISSOR_TEST),this._state.scissorTest=t)}setScissorRect(t,e,s,i){this._state.scissorRect.x===t&&this._state.scissorRect.y===e&&this._state.scissorRect.width===s&&this._state.scissorRect.height===i||(this.gl.scissor(t,e,s,i),this._state.scissorRect.x=t,this._state.scissorRect.y=e,this._state.scissorRect.width=s,this._state.scissorRect.height=i)}setDepthTestEnabled(t){this._state.depthTest!==t&&(!0===t?this.gl.enable(this.gl.DEPTH_TEST):this.gl.disable(this.gl.DEPTH_TEST),this._state.depthTest=t,this._stateTracker.invalidateDepthTest())}setClearDepth(t){this._state.clearDepth!==t&&(this.gl.clearDepth(t),this._state.clearDepth=t)}setDepthFunction(t){this._state.depthFunction!==t&&(this.gl.depthFunc(t),this._state.depthFunction=t,this._stateTracker.invalidateDepthTest())}setDepthWriteEnabled(t){this._state.depthWrite!==t&&(this.gl.depthMask(t),this._state.depthWrite=t,this._stateTracker.invalidateDepthWrite())}setDepthRange(t,e){this._state.depthRange.zNear===t&&this._state.depthRange.zFar===e||(this.gl.depthRange(t,e),this._state.depthRange.zNear=t,this._state.depthRange.zFar=e,this._stateTracker.invalidateDepthWrite())}setStencilTestEnabled(t){this._state.stencilTest!==t&&(!0===t?this.gl.enable(this.gl.STENCIL_TEST):this.gl.disable(this.gl.STENCIL_TEST),this._state.stencilTest=t,this._stateTracker.invalidateStencilTest())}setClearStencil(t){t!==this._state.clearStencil&&(this.gl.clearStencil(t),this._state.clearStencil=t)}setStencilFunction(t,e,s){this._state.stencilFunction.func===t&&this._state.stencilFunction.ref===e&&this._state.stencilFunction.mask===s||(this.gl.stencilFunc(t,e,s),this._state.stencilFunction.face=l.FRONT_AND_BACK,this._state.stencilFunction.func=t,this._state.stencilFunction.ref=e,this._state.stencilFunction.mask=s,this._stateTracker.invalidateStencilTest())}setStencilFunctionSeparate(t,e,s,i){this._state.stencilFunction.face===t&&this._state.stencilFunction.func===e&&this._state.stencilFunction.ref===s&&this._state.stencilFunction.mask===i||(this.gl.stencilFuncSeparate(t,e,s,i),this._state.stencilFunction.face=t,this._state.stencilFunction.func=e,this._state.stencilFunction.ref=s,this._state.stencilFunction.mask=i,this._stateTracker.invalidateStencilTest())}setStencilWriteMask(t){this._state.stencilWriteMask!==t&&(this.gl.stencilMask(t),this._state.stencilWriteMask=t,this._stateTracker.invalidateStencilWrite())}setStencilOp(t,e,s){this._state.stencilOperation.face===l.FRONT_AND_BACK&&this._state.stencilOperation.fail===t&&this._state.stencilOperation.zFail===e&&this._state.stencilOperation.zPass===s||(this.gl.stencilOp(t,e,s),this._state.stencilOperation.face=l.FRONT_AND_BACK,this._state.stencilOperation.fail=t,this._state.stencilOperation.zFail=e,this._state.stencilOperation.zPass=s,this._stateTracker.invalidateStencilTest())}setStencilOpSeparate(t,e,s,i){this._state.stencilOperation.face===t&&this._state.stencilOperation.fail===e&&this._state.stencilOperation.zFail===s&&this._state.stencilOperation.zPass===i||(this.gl.stencilOpSeparate(t,e,s,i),this._state.stencilOperation.face=t,this._state.stencilOperation.fail=e,this._state.stencilOperation.zFail=s,this._state.stencilOperation.zPass=i,this._stateTracker.invalidateStencilTest())}setActiveTexture(t,e=!1){const s=this._state.activeTexture;return t>=0&&(e||t!==this._state.activeTexture)&&(this.gl.activeTexture(h+t),this._state.activeTexture=t),s}clear(t){t&&this.gl.clear(t)}clearSafe(t,e=255){t&&(t&f.COLOR_BUFFER_BIT&&this.setColorMask(!0,!0,!0,!0),t&f.DEPTH_BUFFER_BIT&&this.setDepthWriteEnabled(!0),t&f.STENCIL_BUFFER_BIT&&this.setStencilWriteMask(e),this.gl.clear(t))}drawArrays(t,e,s){if(i()&&(this._numOfDrawCalls++,this._numOfTriangles+=N(t,s)),this.gl.drawArrays(t,e,s),i()){const t=U(this);t&&console.error("drawArrays:",t)}}drawElements(t,e,s,a){if(i()&&(this._numOfDrawCalls++,this._numOfTriangles+=N(t,e)),this.gl.drawElements(t,e,s,a),i()){const i=U(this);if(i){const r=this.getBoundVAO(),n=r?.indexBuffer,l=r?.vertexBuffers,h={indexBuffer:n,vertexBuffers:l},f={mode:t,count:e,type:s,offset:a},o=n?.size??0,u=a+e,c=o<u?`. Buffer is too small. Attempted to draw index ${u} of ${o}`:"";console.error(`drawElements: ${i}${c}`,{args:f,vao:h})}}}logInfo(){i()&&console.log(`DrawCalls: ${this._numOfDrawCalls}, Triangles: ${this._numOfTriangles}`)}resetInfo(){i()&&(this._numOfDrawCalls=0,this._numOfTriangles=0)}get capabilities(){return this._capabilities}setViewport(t,e,s,i){s=Math.max(Math.round(s),1),i=Math.max(Math.round(i),1);const a=this._state.viewport;a.x===t&&a.y===e&&a.width===s&&a.height===i||(a.x=t,a.y=e,a.width=s,a.height=i,this.gl.viewport(t,e,s,i))}getViewport(){const t=this._state.viewport;return{x:t.x,y:t.y,width:t.width,height:t.height}}useProgram(t){this._state.program!==t&&(this._state.program?.stop(),this._state.program=t,this.gl.useProgram(t?.glName??null))}bindTexture(t,e,s=!1){(e>=this.parameters.maxTextureImageUnits||e<0)&&console.error("Input texture unit is out of range of available units!");const i=this._state.textureUnitMap[e];return null==t||null==t.glName?(null!=i&&(this.setActiveTexture(e,s),this.gl.bindTexture(i.descriptor.target,null)),this._state.textureUnitMap[e]=null,i):s||i!==t?(this.setActiveTexture(e,s),this.gl.bindTexture(t.descriptor.target,t.glName),t.applyChanges(),this._state.textureUnitMap[e]=t,i):(t.isDirty&&(this.setActiveTexture(e,s),t.applyChanges()),i)}unbindTexture(t){if(null!=t)for(let e=0;e<this.parameters.maxTextureImageUnits;e++)this._state.textureUnitMap[e]===t&&(this.bindTexture(null,e),this._state.textureUnitMap[e]=null)}bindFramebuffer(t,e=!1){if(e||this._state.readFramebuffer!==t||this._state.drawFramebuffer!==t){if(null==t)return this.gl.bindFramebuffer(o.FRAMEBUFFER,null),this._state.readFramebuffer=null,void(this._state.drawFramebuffer=null);t.initializeAndBind(o.FRAMEBUFFER),this._state.readFramebuffer=t,this._state.drawFramebuffer=t}}bindFramebufferSeparate(t,e,s=!1){const i=e===o.READ_FRAMEBUFFER,a=i?this._state.readFramebuffer:this._state.drawFramebuffer;(s||a!==t)&&(null==t?this.gl.bindFramebuffer(e,null):t.initializeAndBind(e),i?this._state.readFramebuffer=t??null:this._state.drawFramebuffer=t??null)}blitFramebuffer(t,e,s=0,i=0,a=t.width,r=t.height,n=0,l=0,h=e.width,c=e.height,_=f.COLOR_BUFFER_BIT,d=u.NEAREST){this.bindFramebufferSeparate(t,o.READ_FRAMEBUFFER),this.bindFramebufferSeparate(e,o.DRAW_FRAMEBUFFER);this.gl.blitFramebuffer(s,i,a,r,n,l,h,c,_,d)}bindBuffer(t,e){if(t)switch(e??=t.bufferType,e){case n.ARRAY_BUFFER:this._state.vertexBuffer=v(this.gl,t,e,this._state.vertexBuffer);break;case n.ELEMENT_ARRAY_BUFFER:this._state.indexBuffer=v(this.gl,t,e,this._state.indexBuffer);break;case n.UNIFORM_BUFFER:this._state.uniformBuffer=v(this.gl,t,e,this._state.uniformBuffer);break;case n.PIXEL_PACK_BUFFER:this._state.pixelPackBuffer=v(this.gl,t,e,this._state.pixelPackBuffer);break;case n.PIXEL_UNPACK_BUFFER:this._state.pixelUnpackBuffer=v(this.gl,t,e,this._state.pixelUnpackBuffer);break;case n.COPY_READ_BUFFER:this._state.copyReadBuffer=v(this.gl,t,e,this._state.copyReadBuffer);break;case n.COPY_WRITE_BUFFER:this._state.copyWriteBuffer=v(this.gl,t,e,this._state.copyWriteBuffer)}}bindRenderbuffer(t){const e=this.gl;t||(e.bindRenderbuffer(e.RENDERBUFFER,null),this._state.renderbuffer=null),this._state.renderbuffer!==t&&(e.bindRenderbuffer(e.RENDERBUFFER,t.glName),this._state.renderbuffer=t)}_getBufferBinding(t,e){if(e>=this.parameters.maxUniformBufferBindings||e<0)return console.error("Uniform buffer binding point is out of range!"),null;const s=this._state.uniformBufferBindingPoints;let i=s[e];return null==i&&(i={buffer:null,offset:0,size:0},s[e]=i),i}bindBufferBase(t,e,s){const i=this._getBufferBinding(t,e);if(null==i)return;if(i.buffer===s&&0===i.offset&&0===i.size)return;this.gl.bindBufferBase(t,e,s?s.glName:null),i.buffer=s,i.offset=0,i.size=0}bindBufferRange(t,e,s,i,a){const r=this._getBufferBinding(t,e);if(null==r)return;if(r.buffer===s&&r.offset===i&&r.size===a)return;if(i%this._parameters.uniformBufferOffsetAlignment!=0)return void console.error("Uniform buffer binding offset is not a multiple of the context offset alignment");this.gl.bindBufferRange(t,e,s.glName,i,a),r.buffer=s,r.offset=i,r.size=a}bindUBO(t,e,s,a){null!=e?(i()&&(a??e.byteLength)>this._parameters.maxUniformBlockSize&&console.error("Attempting to bind more data than the maximum uniform block size"),e.initialize(),void 0!==s&&void 0!==a?this.bindBufferRange(n.UNIFORM_BUFFER,t,e.buffer,s,a):this.bindBufferBase(n.UNIFORM_BUFFER,t,e.buffer)):this.bindBufferBase(n.UNIFORM_BUFFER,t,null)}unbindUBO(t){for(let e=0,s=this._state.uniformBufferBindingPoints.length;e<s;e++){const s=this._state.uniformBufferBindingPoints[e];null!=s&&s.buffer===t.buffer&&this.bindBufferBase(n.UNIFORM_BUFFER,e,null)}}unbindBuffer(t){switch(t){case n.ARRAY_BUFFER:this._state.vertexBuffer=v(this.gl,null,t,this._state.vertexBuffer);break;case n.ELEMENT_ARRAY_BUFFER:this._state.indexBuffer=v(this.gl,null,t,this._state.indexBuffer);break;case n.UNIFORM_BUFFER:this._state.uniformBuffer=v(this.gl,null,t,this._state.uniformBuffer);break;case n.PIXEL_PACK_BUFFER:this._state.pixelPackBuffer=v(this.gl,null,t,this._state.pixelPackBuffer);break;case n.PIXEL_UNPACK_BUFFER:this._state.pixelUnpackBuffer=v(this.gl,null,t,this._state.pixelUnpackBuffer);break;case n.COPY_READ_BUFFER:this._state.copyReadBuffer=v(this.gl,null,t,this._state.copyReadBuffer);break;case n.COPY_WRITE_BUFFER:this._state.copyWriteBuffer=v(this.gl,null,t,this._state.copyWriteBuffer)}}bindVAO(t=null){null!=t?this._state.vertexArrayObject!==t&&(t.bind(),this._state.vertexArrayObject=t):this._state.vertexArrayObject&&(this._state.vertexArrayObject.unbind(),this._state.vertexArrayObject=null)}async clientWaitAsync(t=s(10)){const i=this.gl,a=i.fenceSync(c.SYNC_GPU_COMMANDS_COMPLETE,0);if(!a)throw new Error("Client wait failed, could not create sync object");let r;this.instanceCounter.increment(_.Sync,a),i.flush();do{await e(t),r=i.clientWaitSync(a,0,0)}while(r===d.TIMEOUT_EXPIRED);if(this.instanceCounter.decrement(_.Sync,a),i.deleteSync(a),r===d.WAIT_FAILED)throw new Error("Client wait failed")}getBoundFramebufferObject(t=o.FRAMEBUFFER){return t===o.READ_FRAMEBUFFER?this._state.readFramebuffer:this._state.drawFramebuffer}getBoundVAO(){return this._state.vertexArrayObject}resetState(){this.useProgram(null),this.bindVAO(null),this.bindFramebuffer(null,!0),this.unbindBuffer(n.ARRAY_BUFFER),this.unbindBuffer(n.ELEMENT_ARRAY_BUFFER),this.type===r.WEBGL2&&(this.unbindBuffer(n.UNIFORM_BUFFER),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(n.PIXEL_PACK_BUFFER),this.unbindBuffer(n.PIXEL_UNPACK_BUFFER),this.unbindBuffer(n.COPY_READ_BUFFER),this.unbindBuffer(n.COPY_WRITE_BUFFER));for(let t=0;t<this.parameters.maxTextureImageUnits;++t)this.bindTexture(null,t);this.setBlendingEnabled(!1),this.setBlendFunction(b.ONE,b.ZERO),this.setBlendEquation(F.ADD),this.setBlendColor(0,0,0,0),this.setFaceCullingEnabled(!1),this.setCullFace(l.BACK),this.setFrontFace(g.CCW),this.setPolygonOffsetFillEnabled(!1),this.setPolygonOffset(0,0),this.setScissorTestEnabled(!1),this.setScissorRect(0,0,this.gl.canvas.width,this.gl.canvas.height),this.setDepthTestEnabled(!1),this.setDepthFunction(p.LESS),this.setDepthRange(0,1),this.setStencilTestEnabled(!1),this.setStencilFunction(p.ALWAYS,0,0),this.setStencilOp(B.KEEP,B.KEEP,B.KEEP),this.setClearColor(0,0,0,0),this.setClearDepth(1),this.setClearStencil(0),this.setColorMask(!0,!0,!0,!0),this.setStencilWriteMask(4294967295),this.setDepthWriteEnabled(!0),this.setViewport(0,0,this.gl.canvas.width,this.gl.canvas.height)}enforceState(){const t=this.capabilities.vao;t&&t.bindVertexArray(null);const{gl:e,gl2:s}=this;for(let a=0;a<this.parameters.maxVertexAttributes;a++)e.disableVertexAttribArray(a);if(this._state.vertexBuffer?e.bindBuffer(this._state.vertexBuffer.bufferType,this._state.vertexBuffer.glName):e.bindBuffer(n.ARRAY_BUFFER,null),this._state.indexBuffer?e.bindBuffer(this._state.indexBuffer.bufferType,this._state.indexBuffer.glName):e.bindBuffer(n.ELEMENT_ARRAY_BUFFER,null),null!=s){this._state.uniformBuffer?s.bindBuffer(this._state.uniformBuffer.bufferType,this._state.uniformBuffer.glName):s.bindBuffer(n.UNIFORM_BUFFER,null);for(let t=0;t<this._parameters.maxUniformBufferBindings;t++){const e=this._state.uniformBufferBindingPoints[t];if(null!=e){const{buffer:i,offset:a,size:r}=e;null!==i?0===a&&0===r?s.bindBufferBase(n.UNIFORM_BUFFER,t,i.glName):s.bindBufferRange(n.UNIFORM_BUFFER,t,i.glName,a,r):s.bindBufferBase(n.UNIFORM_BUFFER,t,null)}}this._state.pixelPackBuffer?s.bindBuffer(this._state.pixelPackBuffer.bufferType,this._state.pixelPackBuffer.glName):s.bindBuffer(n.PIXEL_PACK_BUFFER,null),this._state.pixelUnpackBuffer?s.bindBuffer(this._state.pixelUnpackBuffer.bufferType,this._state.pixelUnpackBuffer.glName):s.bindBuffer(n.PIXEL_UNPACK_BUFFER,null),this._state.copyReadBuffer?s.bindBuffer(this._state.copyReadBuffer.bufferType,this._state.copyReadBuffer.glName):s.bindBuffer(n.COPY_READ_BUFFER,null),this._state.copyWriteBuffer?s.bindBuffer(this._state.copyWriteBuffer.bufferType,this._state.copyWriteBuffer.glName):s.bindBuffer(n.COPY_WRITE_BUFFER,null),s.bindFramebuffer(o.READ_FRAMEBUFFER,null),s.readBuffer(s.BACK),this._state.readFramebuffer&&(s.bindFramebuffer(o.READ_FRAMEBUFFER,this._state.readFramebuffer.glName),s.readBuffer(E.COLOR_ATTACHMENT0)),s.bindFramebuffer(o.DRAW_FRAMEBUFFER,this._state.drawFramebuffer?.glName??null)}else this._state.readFramebuffer=this._state.drawFramebuffer,e.bindFramebuffer(o.FRAMEBUFFER,this._state.drawFramebuffer?.glName??null);if(t&&this._state.vertexArrayObject){const t=this._state.vertexArrayObject;this._state.vertexArrayObject&&(this._state.vertexArrayObject.unbind(),this._state.vertexArrayObject=null),this.bindVAO(t)}e.useProgram(this._state.program?.glName??null),e.blendColor(this._state.blendColor.r,this._state.blendColor.g,this._state.blendColor.b,this._state.blendColor.a),e.bindRenderbuffer(e.RENDERBUFFER,this._state.renderbuffer?this._state.renderbuffer.glName:null),!0===this._state.blend?e.enable(this.gl.BLEND):e.disable(this.gl.BLEND),e.blendEquationSeparate(this._state.blendEquation.mode,this._state.blendEquation.modeAlpha),e.blendFuncSeparate(this._state.blendFunction.srcRGB,this._state.blendFunction.dstRGB,this._state.blendFunction.srcAlpha,this._state.blendFunction.dstAlpha),e.clearColor(this._state.clearColor.r,this._state.clearColor.g,this._state.clearColor.b,this._state.clearColor.a),e.clearDepth(this._state.clearDepth),e.clearStencil(this._state.clearStencil),e.colorMask(this._state.colorMask.r,this._state.colorMask.g,this._state.colorMask.b,this._state.colorMask.a),e.cullFace(this._state.cullFace),e.depthFunc(this._state.depthFunction),e.depthRange(this._state.depthRange.zNear,this._state.depthRange.zFar),!0===this._state.depthTest?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),e.depthMask(this._state.depthWrite),e.frontFace(this._state.frontFace),e.lineWidth(1),!0===this._state.faceCulling?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),e.polygonOffset(this._state.polygonOffset[0],this._state.polygonOffset[1]),!0===this._state.polygonOffsetFill?e.enable(e.POLYGON_OFFSET_FILL):e.disable(e.POLYGON_OFFSET_FILL),e.scissor(this._state.scissorRect.x,this._state.scissorRect.y,this._state.scissorRect.width,this._state.scissorRect.height),!0===this._state.scissorTest?e.enable(e.SCISSOR_TEST):e.disable(e.SCISSOR_TEST),e.stencilFunc(this._state.stencilFunction.func,this._state.stencilFunction.ref,this._state.stencilFunction.mask),e.stencilOpSeparate(this._state.stencilOperation.face,this._state.stencilOperation.fail,this._state.stencilOperation.zFail,this._state.stencilOperation.zPass),!0===this._state.stencilTest?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),e.stencilMask(this._state.stencilWriteMask);for(let a=0;a<this.parameters.maxTextureImageUnits;a++){e.activeTexture(h+a),e.bindTexture(R.TEXTURE_2D,null),e.bindTexture(R.TEXTURE_CUBE_MAP,null),this.type===r.WEBGL2&&(e.bindTexture(R.TEXTURE_3D,null),e.bindTexture(R.TEXTURE_2D_ARRAY,null));const t=this._state.textureUnitMap[a];null!=t&&e.bindTexture(t.descriptor.target,t.glName)}e.activeTexture(h+this._state.activeTexture);const i=this._state.viewport;e.viewport(i.x,i.y,i.width,i.height),this.resetInfo()}_loadExtensions(){this.type===r.WEBGL1&&this.gl.getExtension("OES_element_index_uint"),this.gl.getExtension("KHR_parallel_shader_compile")}};function v(t,e,s,i){return e?i!==e&&t.bindBuffer(s,e.glName):t.bindBuffer(s,null),e}function N(t,e){switch(t){case m.POINTS:return 2*e;case m.TRIANGLES:return e/3;case m.TRIANGLE_STRIP:case m.TRIANGLE_FAN:return e-2;default:return 0}}export{P as RenderingContext};
5
+ import{disposeMaybe as t}from"../../core/maybe.js";import{after as e}from"../../core/promiseUtils.js";import{Milliseconds as s}from"../../core/time.js";import{webglDebugEnabled as i,checkWebGLError as a}from"./checkWebGLError.js";import{ContextState as r}from"./ContextState.js";import{ContextType as n}from"./contextUtils.js";import{BufferType as l,Face as h,BASE_TEXTURE_UNIT as f,ClearBufferBit as o,FramebufferTarget as u,TextureSamplingMode as _,SyncCondition as c,ResourceType as d,ClientWaitSyncStatus as b,BlendFactor as F,BlendOperation as g,CullMode as p,CompareFunction as B,StencilOperation as E,ColorAttachment as R,TextureType as m,PrimitiveType as T}from"./enums.js";import{InstanceCounter as O}from"./InstanceCounter.js";import{Parameters as x}from"./Parameters.js";import{ProgramCache as A}from"./ProgramCache.js";import{StateTracker as C}from"./renderState.js";import{Texture as U}from"./Texture.js";import{getErrorString as S}from"./Util.js";import{WebGLDriverTest as k}from"./WebGLDriverTest.js";import{Capabilities as y}from"./capabilities/Capabilities.js";import P from"./capabilities/isWebGL2Context.js";let v=class{constructor(t,e){this.gl=t,this.instanceCounter=new O,this.programCache=new A(this),this._state=new r,this._numOfDrawCalls=0,this._numOfTriangles=0,this.type=P(t)?n.WEBGL2:n.WEBGL1,this._loadExtensions(),this.configure(e)}get gl2(){return this.type===n.WEBGL1?null:this.gl}configure(e){this._capabilities=new y(this.gl,e),this._parameters=new x(this.gl,this._capabilities,e),U.TEXTURE_UNIT_FOR_UPDATES=this._parameters.maxTextureImageUnits-1;const s=this.gl.getParameter(this.gl.VIEWPORT);this._state=new r,this._state.viewport={x:s[0],y:s[1],width:s[2],height:s[3]},this._stateTracker=new C({setBlending:t=>{if(t){this.setBlendingEnabled(!0),this.setBlendEquationSeparate(t.opRgb,t.opAlpha),this.setBlendFunctionSeparate(t.srcRgb,t.dstRgb,t.srcAlpha,t.dstAlpha);const e=t.color;this.setBlendColor(e.r,e.g,e.b,e.a)}else this.setBlendingEnabled(!1)},setCulling:t=>{t?(this.setFaceCullingEnabled(!0),this.setCullFace(t.face),this.setFrontFace(t.mode)):this.setFaceCullingEnabled(!1)},setPolygonOffset:t=>{t?(this.setPolygonOffsetFillEnabled(!0),this.setPolygonOffset(t.factor,t.units)):this.setPolygonOffsetFillEnabled(!1)},setDepthTest:t=>{t?(this.setDepthTestEnabled(!0),this.setDepthFunction(t.func)):this.setDepthTestEnabled(!1)},setStencilTest:t=>{if(t){this.setStencilTestEnabled(!0);const e=t.function;this.setStencilFunction(e.func,e.ref,e.mask);const s=t.operation;this.setStencilOp(s.fail,s.zFail,s.zPass)}else this.setStencilTestEnabled(!1)},setDepthWrite:t=>{t?(this.setDepthWriteEnabled(!0),this.setDepthRange(t.zNear,t.zFar)):this.setDepthWriteEnabled(!1)},setColorWrite:t=>{t?this.setColorMask(t.r,t.g,t.b,t.a):this.setColorMask(!1,!1,!1,!1)},setStencilWrite:t=>{t?this.setStencilWriteMask(t.mask):this.setStencilWriteMask(0)}}),this.enforceState(),t(this._driverTest),this._driverTest=new k(this)}dispose(){t(this._driverTest),this.programCache.dispose(),this.bindVAO(null),this.unbindBuffer(l.ARRAY_BUFFER),this.unbindBuffer(l.ELEMENT_ARRAY_BUFFER),this.type===n.WEBGL2&&(this.unbindBuffer(l.UNIFORM_BUFFER),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(l.PIXEL_PACK_BUFFER),this.unbindBuffer(l.PIXEL_UNPACK_BUFFER),this.unbindBuffer(l.COPY_READ_BUFFER),this.unbindBuffer(l.COPY_WRITE_BUFFER)),this._state.textureUnitMap.length=0,i()&&console.log(this.instanceCounter.resourceInformation)}get driverTest(){return this._driverTest}get contextAttributes(){return this.gl.getContextAttributes()}get parameters(){return this._parameters}setPipelineState(t){this._stateTracker.setPipeline(t)}setBlendingEnabled(t){this._state.blend!==t&&(!0===t?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this._state.blend=t,this._stateTracker.invalidateBlending())}externalProgramUpdate(){this._state.program?.stop(),this._state.program=null}externalTextureUnitUpdate(t,e){for(let s=0;s<t.length;++s)this._state.textureUnitMap[t[s]]=null;e>=0&&(this._state.activeTexture=e)}externalVertexArrayObjectUpdate(){const t=this.capabilities.vao;t&&(t.bindVertexArray(null),this._state.vertexArrayObject=null),this._state.vertexBuffer=null,this._state.indexBuffer=null}externalVertexBufferUpdate(){this._state.vertexBuffer=null}externalIndexBufferUpdate(){this._state.indexBuffer=null}setBlendColor(t,e,s,i){t===this._state.blendColor.r&&e===this._state.blendColor.g&&s===this._state.blendColor.b&&i===this._state.blendColor.a||(this.gl.blendColor(t,e,s,i),this._state.blendColor.r=t,this._state.blendColor.g=e,this._state.blendColor.b=s,this._state.blendColor.a=i,this._stateTracker.invalidateBlending())}setBlendFunction(t,e){t===this._state.blendFunction.srcRGB&&e===this._state.blendFunction.dstRGB||(this.gl.blendFunc(t,e),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=t,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=e,this._stateTracker.invalidateBlending())}setBlendFunctionSeparate(t,e,s,i){this._state.blendFunction.srcRGB===t&&this._state.blendFunction.srcAlpha===s&&this._state.blendFunction.dstRGB===e&&this._state.blendFunction.dstAlpha===i||(this.gl.blendFuncSeparate(t,e,s,i),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=s,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=i,this._stateTracker.invalidateBlending())}setBlendEquation(t){this._state.blendEquation.mode!==t&&(this.gl.blendEquation(t),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=t,this._stateTracker.invalidateBlending())}setBlendEquationSeparate(t,e){this._state.blendEquation.mode===t&&this._state.blendEquation.modeAlpha===e||(this.gl.blendEquationSeparate(t,e),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=e,this._stateTracker.invalidateBlending())}setColorMask(t,e,s,i){this._state.colorMask.r===t&&this._state.colorMask.g===e&&this._state.colorMask.b===s&&this._state.colorMask.a===i||(this.gl.colorMask(t,e,s,i),this._state.colorMask.r=t,this._state.colorMask.g=e,this._state.colorMask.b=s,this._state.colorMask.a=i,this._stateTracker.invalidateColorWrite())}setClearColor(t,e,s,i){this._state.clearColor.r===t&&this._state.clearColor.g===e&&this._state.clearColor.b===s&&this._state.clearColor.a===i||(this.gl.clearColor(t,e,s,i),this._state.clearColor.r=t,this._state.clearColor.g=e,this._state.clearColor.b=s,this._state.clearColor.a=i)}setFaceCullingEnabled(t){this._state.faceCulling!==t&&(!0===t?this.gl.enable(this.gl.CULL_FACE):this.gl.disable(this.gl.CULL_FACE),this._state.faceCulling=t,this._stateTracker.invalidateCulling())}setPolygonOffsetFillEnabled(t){this._state.polygonOffsetFill!==t&&(!0===t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL),this._state.polygonOffsetFill=t,this._stateTracker.invalidatePolygonOffset())}setPolygonOffset(t,e){this._state.polygonOffset[0]===t&&this._state.polygonOffset[1]===e||(this._state.polygonOffset[0]=t,this._state.polygonOffset[1]=e,this.gl.polygonOffset(t,e),this._stateTracker.invalidatePolygonOffset())}setCullFace(t){this._state.cullFace!==t&&(this.gl.cullFace(t),this._state.cullFace=t,this._stateTracker.invalidateCulling())}setFrontFace(t){this._state.frontFace!==t&&(this.gl.frontFace(t),this._state.frontFace=t,this._stateTracker.invalidateCulling())}setScissorTestEnabled(t){this._state.scissorTest!==t&&(!0===t?this.gl.enable(this.gl.SCISSOR_TEST):this.gl.disable(this.gl.SCISSOR_TEST),this._state.scissorTest=t)}setScissorRect(t,e,s,i){this._state.scissorRect.x===t&&this._state.scissorRect.y===e&&this._state.scissorRect.width===s&&this._state.scissorRect.height===i||(this.gl.scissor(t,e,s,i),this._state.scissorRect.x=t,this._state.scissorRect.y=e,this._state.scissorRect.width=s,this._state.scissorRect.height=i)}setDepthTestEnabled(t){this._state.depthTest!==t&&(!0===t?this.gl.enable(this.gl.DEPTH_TEST):this.gl.disable(this.gl.DEPTH_TEST),this._state.depthTest=t,this._stateTracker.invalidateDepthTest())}setClearDepth(t){this._state.clearDepth!==t&&(this.gl.clearDepth(t),this._state.clearDepth=t)}setDepthFunction(t){this._state.depthFunction!==t&&(this.gl.depthFunc(t),this._state.depthFunction=t,this._stateTracker.invalidateDepthTest())}setDepthWriteEnabled(t){this._state.depthWrite!==t&&(this.gl.depthMask(t),this._state.depthWrite=t,this._stateTracker.invalidateDepthWrite())}setDepthRange(t,e){this._state.depthRange.zNear===t&&this._state.depthRange.zFar===e||(this.gl.depthRange(t,e),this._state.depthRange.zNear=t,this._state.depthRange.zFar=e,this._stateTracker.invalidateDepthWrite())}setStencilTestEnabled(t){this._state.stencilTest!==t&&(!0===t?this.gl.enable(this.gl.STENCIL_TEST):this.gl.disable(this.gl.STENCIL_TEST),this._state.stencilTest=t,this._stateTracker.invalidateStencilTest())}setClearStencil(t){t!==this._state.clearStencil&&(this.gl.clearStencil(t),this._state.clearStencil=t)}setStencilFunction(t,e,s){this._state.stencilFunction.func===t&&this._state.stencilFunction.ref===e&&this._state.stencilFunction.mask===s||(this.gl.stencilFunc(t,e,s),this._state.stencilFunction.face=h.FRONT_AND_BACK,this._state.stencilFunction.func=t,this._state.stencilFunction.ref=e,this._state.stencilFunction.mask=s,this._stateTracker.invalidateStencilTest())}setStencilFunctionSeparate(t,e,s,i){this._state.stencilFunction.face===t&&this._state.stencilFunction.func===e&&this._state.stencilFunction.ref===s&&this._state.stencilFunction.mask===i||(this.gl.stencilFuncSeparate(t,e,s,i),this._state.stencilFunction.face=t,this._state.stencilFunction.func=e,this._state.stencilFunction.ref=s,this._state.stencilFunction.mask=i,this._stateTracker.invalidateStencilTest())}setStencilWriteMask(t){this._state.stencilWriteMask!==t&&(this.gl.stencilMask(t),this._state.stencilWriteMask=t,this._stateTracker.invalidateStencilWrite())}setStencilOp(t,e,s){this._state.stencilOperation.face===h.FRONT_AND_BACK&&this._state.stencilOperation.fail===t&&this._state.stencilOperation.zFail===e&&this._state.stencilOperation.zPass===s||(this.gl.stencilOp(t,e,s),this._state.stencilOperation.face=h.FRONT_AND_BACK,this._state.stencilOperation.fail=t,this._state.stencilOperation.zFail=e,this._state.stencilOperation.zPass=s,this._stateTracker.invalidateStencilTest())}setStencilOpSeparate(t,e,s,i){this._state.stencilOperation.face===t&&this._state.stencilOperation.fail===e&&this._state.stencilOperation.zFail===s&&this._state.stencilOperation.zPass===i||(this.gl.stencilOpSeparate(t,e,s,i),this._state.stencilOperation.face=t,this._state.stencilOperation.fail=e,this._state.stencilOperation.zFail=s,this._state.stencilOperation.zPass=i,this._stateTracker.invalidateStencilTest())}setActiveTexture(t,e=!1){const s=this._state.activeTexture;return t>=0&&(e||t!==this._state.activeTexture)&&(this.gl.activeTexture(f+t),this._state.activeTexture=t),s}clear(t){t&&this.gl.clear(t)}clearSafe(t,e=255){t&&(t&o.COLOR_BUFFER_BIT&&this.setColorMask(!0,!0,!0,!0),t&o.DEPTH_BUFFER_BIT&&this.setDepthWriteEnabled(!0),t&o.STENCIL_BUFFER_BIT&&this.setStencilWriteMask(e),this.gl.clear(t))}drawArrays(t,e,s){i()&&(this._numOfDrawCalls++,this._numOfTriangles+=M(t,s)),this.gl.drawArrays(t,e,s),a(this.gl)}drawElements(t,e,s,a){if(i()&&(this._numOfDrawCalls++,this._numOfTriangles+=M(t,e)),this.gl.drawElements(t,e,s,a),i()){const i=S(this);if(i){const r=this.getBoundVAO(),n=r?.indexBuffer,l=r?.vertexBuffers,h={indexBuffer:n,vertexBuffers:l},f={mode:t,count:e,type:s,offset:a},o=n?.size??0,u=a+e,_=o<u?`. Buffer is too small. Attempted to draw index ${u} of ${o}`:"";console.error(`drawElements: ${i}${_}`,{args:f,vao:h})}}}logInfo(){i()&&console.log(`DrawCalls: ${this._numOfDrawCalls}, Triangles: ${this._numOfTriangles}`)}resetInfo(){i()&&(this._numOfDrawCalls=0,this._numOfTriangles=0)}get capabilities(){return this._capabilities}setViewport(t,e,s,i){s=Math.max(Math.round(s),1),i=Math.max(Math.round(i),1);const a=this._state.viewport;a.x===t&&a.y===e&&a.width===s&&a.height===i||(a.x=t,a.y=e,a.width=s,a.height=i,this.gl.viewport(t,e,s,i))}getViewport(){const t=this._state.viewport;return{x:t.x,y:t.y,width:t.width,height:t.height}}useProgram(t){this._state.program!==t&&(this._state.program?.stop(),this._state.program=t,this.gl.useProgram(t?.glName??null))}bindTexture(t,e,s=!1){(e>=this.parameters.maxTextureImageUnits||e<0)&&console.error("Input texture unit is out of range of available units!");const i=this._state.textureUnitMap[e];return null==t||null==t.glName?(null!=i&&(this.setActiveTexture(e,s),this.gl.bindTexture(i.descriptor.target,null)),this._state.textureUnitMap[e]=null,i):s||i!==t?(this.setActiveTexture(e,s),this.gl.bindTexture(t.descriptor.target,t.glName),t.applyChanges(),this._state.textureUnitMap[e]=t,i):(t.isDirty&&(this.setActiveTexture(e,s),t.applyChanges()),i)}unbindTexture(t){if(null!=t)for(let e=0;e<this.parameters.maxTextureImageUnits;e++)this._state.textureUnitMap[e]===t&&(this.bindTexture(null,e),this._state.textureUnitMap[e]=null)}bindFramebuffer(t,e=!1){if(e||this._state.readFramebuffer!==t||this._state.drawFramebuffer!==t){if(null==t)return this.gl.bindFramebuffer(u.FRAMEBUFFER,null),this._state.readFramebuffer=null,void(this._state.drawFramebuffer=null);t.initializeAndBind(u.FRAMEBUFFER),this._state.readFramebuffer=t,this._state.drawFramebuffer=t}}bindFramebufferSeparate(t,e,s=!1){const i=e===u.READ_FRAMEBUFFER,a=i?this._state.readFramebuffer:this._state.drawFramebuffer;(s||a!==t)&&(null==t?this.gl.bindFramebuffer(e,null):t.initializeAndBind(e),i?this._state.readFramebuffer=t??null:this._state.drawFramebuffer=t??null)}blitFramebuffer(t,e,s=0,i=0,a=t.width,r=t.height,n=0,l=0,h=e.width,f=e.height,c=o.COLOR_BUFFER_BIT,d=_.NEAREST){this.bindFramebufferSeparate(t,u.READ_FRAMEBUFFER),this.bindFramebufferSeparate(e,u.DRAW_FRAMEBUFFER);this.gl.blitFramebuffer(s,i,a,r,n,l,h,f,c,d)}bindBuffer(t,e){if(t)switch(e??=t.bufferType,e){case l.ARRAY_BUFFER:this._state.vertexBuffer=N(this.gl,t,e,this._state.vertexBuffer);break;case l.ELEMENT_ARRAY_BUFFER:this._state.indexBuffer=N(this.gl,t,e,this._state.indexBuffer);break;case l.UNIFORM_BUFFER:this._state.uniformBuffer=N(this.gl,t,e,this._state.uniformBuffer);break;case l.PIXEL_PACK_BUFFER:this._state.pixelPackBuffer=N(this.gl,t,e,this._state.pixelPackBuffer);break;case l.PIXEL_UNPACK_BUFFER:this._state.pixelUnpackBuffer=N(this.gl,t,e,this._state.pixelUnpackBuffer);break;case l.COPY_READ_BUFFER:this._state.copyReadBuffer=N(this.gl,t,e,this._state.copyReadBuffer);break;case l.COPY_WRITE_BUFFER:this._state.copyWriteBuffer=N(this.gl,t,e,this._state.copyWriteBuffer)}}bindRenderbuffer(t){const e=this.gl;t||(e.bindRenderbuffer(e.RENDERBUFFER,null),this._state.renderbuffer=null),this._state.renderbuffer!==t&&(e.bindRenderbuffer(e.RENDERBUFFER,t.glName),this._state.renderbuffer=t)}_getBufferBinding(t,e){if(e>=this.parameters.maxUniformBufferBindings||e<0)return console.error("Uniform buffer binding point is out of range!"),null;const s=this._state.uniformBufferBindingPoints;let i=s[e];return null==i&&(i={buffer:null,offset:0,size:0},s[e]=i),i}bindBufferBase(t,e,s){const i=this._getBufferBinding(t,e);if(null==i)return;if(i.buffer===s&&0===i.offset&&0===i.size)return;this.gl.bindBufferBase(t,e,s?s.glName:null),i.buffer=s,i.offset=0,i.size=0}bindBufferRange(t,e,s,i,a){const r=this._getBufferBinding(t,e);if(null==r)return;if(r.buffer===s&&r.offset===i&&r.size===a)return;if(i%this._parameters.uniformBufferOffsetAlignment!=0)return void console.error("Uniform buffer binding offset is not a multiple of the context offset alignment");this.gl.bindBufferRange(t,e,s.glName,i,a),r.buffer=s,r.offset=i,r.size=a}bindUBO(t,e,s,a){null!=e?(i()&&(a??e.byteLength)>this._parameters.maxUniformBlockSize&&console.error("Attempting to bind more data than the maximum uniform block size"),e.initialize(),void 0!==s&&void 0!==a?this.bindBufferRange(l.UNIFORM_BUFFER,t,e.buffer,s,a):this.bindBufferBase(l.UNIFORM_BUFFER,t,e.buffer)):this.bindBufferBase(l.UNIFORM_BUFFER,t,null)}unbindUBO(t){for(let e=0,s=this._state.uniformBufferBindingPoints.length;e<s;e++){const s=this._state.uniformBufferBindingPoints[e];null!=s&&s.buffer===t.buffer&&this.bindBufferBase(l.UNIFORM_BUFFER,e,null)}}unbindBuffer(t){switch(t){case l.ARRAY_BUFFER:this._state.vertexBuffer=N(this.gl,null,t,this._state.vertexBuffer);break;case l.ELEMENT_ARRAY_BUFFER:this._state.indexBuffer=N(this.gl,null,t,this._state.indexBuffer);break;case l.UNIFORM_BUFFER:this._state.uniformBuffer=N(this.gl,null,t,this._state.uniformBuffer);break;case l.PIXEL_PACK_BUFFER:this._state.pixelPackBuffer=N(this.gl,null,t,this._state.pixelPackBuffer);break;case l.PIXEL_UNPACK_BUFFER:this._state.pixelUnpackBuffer=N(this.gl,null,t,this._state.pixelUnpackBuffer);break;case l.COPY_READ_BUFFER:this._state.copyReadBuffer=N(this.gl,null,t,this._state.copyReadBuffer);break;case l.COPY_WRITE_BUFFER:this._state.copyWriteBuffer=N(this.gl,null,t,this._state.copyWriteBuffer)}}bindVAO(t=null){null!=t?this._state.vertexArrayObject!==t&&(t.bind(),this._state.vertexArrayObject=t):this._state.vertexArrayObject&&(this._state.vertexArrayObject.unbind(),this._state.vertexArrayObject=null)}async clientWaitAsync(t=s(10)){const i=this.gl,a=i.fenceSync(c.SYNC_GPU_COMMANDS_COMPLETE,0);if(!a)throw new Error("Client wait failed, could not create sync object");let r;this.instanceCounter.increment(d.Sync,a),i.flush();do{await e(t),r=i.clientWaitSync(a,0,0)}while(r===b.TIMEOUT_EXPIRED);if(this.instanceCounter.decrement(d.Sync,a),i.deleteSync(a),r===b.WAIT_FAILED)throw new Error("Client wait failed")}getBoundFramebufferObject(t=u.FRAMEBUFFER){return t===u.READ_FRAMEBUFFER?this._state.readFramebuffer:this._state.drawFramebuffer}getBoundVAO(){return this._state.vertexArrayObject}resetState(){this.useProgram(null),this.bindVAO(null),this.bindFramebuffer(null,!0),this.unbindBuffer(l.ARRAY_BUFFER),this.unbindBuffer(l.ELEMENT_ARRAY_BUFFER),this.type===n.WEBGL2&&(this.unbindBuffer(l.UNIFORM_BUFFER),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(l.PIXEL_PACK_BUFFER),this.unbindBuffer(l.PIXEL_UNPACK_BUFFER),this.unbindBuffer(l.COPY_READ_BUFFER),this.unbindBuffer(l.COPY_WRITE_BUFFER));for(let t=0;t<this.parameters.maxTextureImageUnits;++t)this.bindTexture(null,t);this.setBlendingEnabled(!1),this.setBlendFunction(F.ONE,F.ZERO),this.setBlendEquation(g.ADD),this.setBlendColor(0,0,0,0),this.setFaceCullingEnabled(!1),this.setCullFace(h.BACK),this.setFrontFace(p.CCW),this.setPolygonOffsetFillEnabled(!1),this.setPolygonOffset(0,0),this.setScissorTestEnabled(!1),this.setScissorRect(0,0,this.gl.canvas.width,this.gl.canvas.height),this.setDepthTestEnabled(!1),this.setDepthFunction(B.LESS),this.setDepthRange(0,1),this.setStencilTestEnabled(!1),this.setStencilFunction(B.ALWAYS,0,0),this.setStencilOp(E.KEEP,E.KEEP,E.KEEP),this.setClearColor(0,0,0,0),this.setClearDepth(1),this.setClearStencil(0),this.setColorMask(!0,!0,!0,!0),this.setStencilWriteMask(4294967295),this.setDepthWriteEnabled(!0),this.setViewport(0,0,this.gl.canvas.width,this.gl.canvas.height)}enforceState(){const t=this.capabilities.vao;t&&t.bindVertexArray(null);const{gl:e,gl2:s}=this;for(let a=0;a<this.parameters.maxVertexAttributes;a++)e.disableVertexAttribArray(a);if(this._state.vertexBuffer?e.bindBuffer(this._state.vertexBuffer.bufferType,this._state.vertexBuffer.glName):e.bindBuffer(l.ARRAY_BUFFER,null),this._state.indexBuffer?e.bindBuffer(this._state.indexBuffer.bufferType,this._state.indexBuffer.glName):e.bindBuffer(l.ELEMENT_ARRAY_BUFFER,null),null!=s){this._state.uniformBuffer?s.bindBuffer(this._state.uniformBuffer.bufferType,this._state.uniformBuffer.glName):s.bindBuffer(l.UNIFORM_BUFFER,null);for(let t=0;t<this._parameters.maxUniformBufferBindings;t++){const e=this._state.uniformBufferBindingPoints[t];if(null!=e){const{buffer:i,offset:a,size:r}=e;null!==i?0===a&&0===r?s.bindBufferBase(l.UNIFORM_BUFFER,t,i.glName):s.bindBufferRange(l.UNIFORM_BUFFER,t,i.glName,a,r):s.bindBufferBase(l.UNIFORM_BUFFER,t,null)}}this._state.pixelPackBuffer?s.bindBuffer(this._state.pixelPackBuffer.bufferType,this._state.pixelPackBuffer.glName):s.bindBuffer(l.PIXEL_PACK_BUFFER,null),this._state.pixelUnpackBuffer?s.bindBuffer(this._state.pixelUnpackBuffer.bufferType,this._state.pixelUnpackBuffer.glName):s.bindBuffer(l.PIXEL_UNPACK_BUFFER,null),this._state.copyReadBuffer?s.bindBuffer(this._state.copyReadBuffer.bufferType,this._state.copyReadBuffer.glName):s.bindBuffer(l.COPY_READ_BUFFER,null),this._state.copyWriteBuffer?s.bindBuffer(this._state.copyWriteBuffer.bufferType,this._state.copyWriteBuffer.glName):s.bindBuffer(l.COPY_WRITE_BUFFER,null),s.bindFramebuffer(u.READ_FRAMEBUFFER,null),s.readBuffer(s.BACK),this._state.readFramebuffer&&(s.bindFramebuffer(u.READ_FRAMEBUFFER,this._state.readFramebuffer.glName),s.readBuffer(R.COLOR_ATTACHMENT0)),s.bindFramebuffer(u.DRAW_FRAMEBUFFER,this._state.drawFramebuffer?.glName??null)}else this._state.readFramebuffer=this._state.drawFramebuffer,e.bindFramebuffer(u.FRAMEBUFFER,this._state.drawFramebuffer?.glName??null);if(t&&this._state.vertexArrayObject){const t=this._state.vertexArrayObject;this._state.vertexArrayObject&&(this._state.vertexArrayObject.unbind(),this._state.vertexArrayObject=null),this.bindVAO(t)}e.useProgram(this._state.program?.glName??null),e.blendColor(this._state.blendColor.r,this._state.blendColor.g,this._state.blendColor.b,this._state.blendColor.a),e.bindRenderbuffer(e.RENDERBUFFER,this._state.renderbuffer?this._state.renderbuffer.glName:null),!0===this._state.blend?e.enable(this.gl.BLEND):e.disable(this.gl.BLEND),e.blendEquationSeparate(this._state.blendEquation.mode,this._state.blendEquation.modeAlpha),e.blendFuncSeparate(this._state.blendFunction.srcRGB,this._state.blendFunction.dstRGB,this._state.blendFunction.srcAlpha,this._state.blendFunction.dstAlpha),e.clearColor(this._state.clearColor.r,this._state.clearColor.g,this._state.clearColor.b,this._state.clearColor.a),e.clearDepth(this._state.clearDepth),e.clearStencil(this._state.clearStencil),e.colorMask(this._state.colorMask.r,this._state.colorMask.g,this._state.colorMask.b,this._state.colorMask.a),e.cullFace(this._state.cullFace),e.depthFunc(this._state.depthFunction),e.depthRange(this._state.depthRange.zNear,this._state.depthRange.zFar),!0===this._state.depthTest?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),e.depthMask(this._state.depthWrite),e.frontFace(this._state.frontFace),e.lineWidth(1),!0===this._state.faceCulling?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),e.polygonOffset(this._state.polygonOffset[0],this._state.polygonOffset[1]),!0===this._state.polygonOffsetFill?e.enable(e.POLYGON_OFFSET_FILL):e.disable(e.POLYGON_OFFSET_FILL),e.scissor(this._state.scissorRect.x,this._state.scissorRect.y,this._state.scissorRect.width,this._state.scissorRect.height),!0===this._state.scissorTest?e.enable(e.SCISSOR_TEST):e.disable(e.SCISSOR_TEST),e.stencilFunc(this._state.stencilFunction.func,this._state.stencilFunction.ref,this._state.stencilFunction.mask),e.stencilOpSeparate(this._state.stencilOperation.face,this._state.stencilOperation.fail,this._state.stencilOperation.zFail,this._state.stencilOperation.zPass),!0===this._state.stencilTest?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),e.stencilMask(this._state.stencilWriteMask);for(let a=0;a<this.parameters.maxTextureImageUnits;a++){e.activeTexture(f+a),e.bindTexture(m.TEXTURE_2D,null),e.bindTexture(m.TEXTURE_CUBE_MAP,null),this.type===n.WEBGL2&&(e.bindTexture(m.TEXTURE_3D,null),e.bindTexture(m.TEXTURE_2D_ARRAY,null));const t=this._state.textureUnitMap[a];null!=t&&e.bindTexture(t.descriptor.target,t.glName)}e.activeTexture(f+this._state.activeTexture);const i=this._state.viewport;e.viewport(i.x,i.y,i.width,i.height),this.resetInfo()}_loadExtensions(){this.type===n.WEBGL1&&this.gl.getExtension("OES_element_index_uint"),this.gl.getExtension("KHR_parallel_shader_compile")}};function N(t,e,s,i){return e?i!==e&&t.bindBuffer(s,e.glName):t.bindBuffer(s,null),e}function M(t,e){switch(t){case T.POINTS:return 2*e;case T.TRIANGLES:return e/3;case T.TRIANGLE_STRIP:case T.TRIANGLE_FAN:return e-2;default:return 0}}export{v as RenderingContext};
@@ -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 t from"../../core/Error.js";import"../../core/has.js";import{isPowerOfTwo as e}from"../../core/mathUtils.js";import{checkWebGLError as i}from"./checkWebGLError.js";import{ContextType as r}from"./contextUtils.js";import{ResourceType as s,TextureType as o,TextureSamplingMode as a,PixelFormat as n,PixelType as p,SizedPixelFormat as h,TextureWrapMode as l,CompressedTextureFormat as d}from"./enums.js";import{GLObjectType as c}from"./GLObjectType.js";import{estimateMemory as _}from"./TextureDescriptor.js";import{ValidatedTextureDescriptor as m}from"./ValidatedTextureDescriptor.js";const u=4;let T=class{constructor(e,i=null,a=null){if(this.type=c.Texture,this._glName=null,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._wasImmutablyAllocated=!1,"context"in e)this._descriptor=e,a=i;else{const r=m.validate(e,i);if(!r)throw new t("Texture descriptor invalid");this._descriptor=r}if(this._descriptor.context.instanceCounter.increment(s.Texture,this),this._descriptor.context.type!==r.WEBGL2&&(this._descriptor.isImmutable&&(this._descriptor.isImmutable=!1),R(this._descriptor.target)))throw new t("3D and array textures are not supported in WebGL1");this._descriptor.target===o.TEXTURE_CUBE_MAP?this._setDataCubeMap(a):this.setData(a)}get glName(){return this._glName}get descriptor(){return this._descriptor}get gpuMemoryUsage(){return P.delete(this),_(this._descriptor)}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty}dispose(){this._descriptor.context.gl&&this._glName&&(this._descriptor.context.unbindTexture(this),this._descriptor.context.gl.deleteTexture(this._glName),this._glName=null,this._descriptor.context.instanceCounter.decrement(s.Texture,this))}release(){this.dispose()}resize(e,i){const r=this._descriptor;if(r.width!==e||r.height!==i){if(this._wasImmutablyAllocated)throw new t("Immutable textures can't be resized!");r.width=e,r.height=i,this._descriptor.target===o.TEXTURE_CUBE_MAP?this._setDataCubeMap(null):this.setData(null)}}_setDataCubeMap(t=null){for(let e=o.TEXTURE_CUBE_MAP_POSITIVE_X;e<=o.TEXTURE_CUBE_MAP_NEGATIVE_Z;e++)this._setData(t,e)}setData(t){this._setData(t)}_setData(e,r){if(!this._descriptor.context||!this._descriptor.context.gl)return;const s=this._descriptor.context.gl;i(s),this._glName||(this._glName=s.createTexture()),void 0===e&&(e=null);const o=this._descriptor,a=r??o.target,n=R(a);null===e&&(o.width=o.width||u,o.height=o.height||u,n&&(o.depth=o.depth??1));const p=this._descriptor.context.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(T.TEXTURE_UNIT_FOR_UPDATES),g(this._descriptor.context,o),this._configurePixelStorage(),i(s);const h=this._deriveInternalFormat();if(D(e)){let t=e.width,r=e.height;const p=1;e instanceof HTMLVideoElement&&(t=e.videoWidth,r=e.videoHeight),o.width&&o.height,n&&o.depth,o.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(a,h,o.hasMipmap,t,r,p),this._texImage(a,0,h,t,r,p,e),i(s),o.hasMipmap&&this.generateMipmap(),o.width||(o.width=t),o.height||(o.height=r),n&&!o.depth&&(o.depth=p)}else{const{width:r,height:p,depth:l}=o;if(null==r||null==p)throw new t("Width and height must be specified!");if(n&&null==l)throw new t("Depth must be specified!");if(o.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(a,h,o.hasMipmap,r,p,l),A(e)){const i=e.levels,n=b(a,r,p,l),d=Math.min(n-1,i.length-1);null!=this._descriptor.context.gl2?s.texParameteri(o.target,this._descriptor.context.gl2.TEXTURE_MAX_LEVEL,d):o.hasMipmap=o.hasMipmap&&n===i.length;const c=h;if(!w(c))throw new t("Attempting to use compressed data with an uncompressed format!");this._forEachMipmapLevel(((t,e,r,s)=>{const o=i[Math.min(t,i.length-1)];this._compressedTexImage(a,t,c,e,r,s,o)}),d)}else this._texImage(a,0,h,r,p,l,e),i(s),o.hasMipmap&&this.generateMipmap()}x(s,this._descriptor),E(s,this._descriptor),f(this._descriptor.context,this._descriptor),i(s),this._descriptor.context.bindTexture(p,T.TEXTURE_UNIT_FOR_UPDATES)}updateData(e,i,r,s,o,a,n=0){a||console.error("An attempt to use uninitialized data!"),this._glName||console.error("An attempt to update uninitialized texture!");const p=this._descriptor.context.gl,h=this._descriptor.context.gl2,l=this._descriptor,d=this._deriveInternalFormat(),{pixelFormat:c,dataType:_,target:m,isImmutable:u}=l;if(u&&!this._wasImmutablyAllocated)throw new t("Cannot update immutable texture before allocation!");const g=this._descriptor.context.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES,!0);if((i<0||r<0||s>l.width||o>l.height||i+s>l.width||r+o>l.height)&&console.error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage(),n){if(!h)return void console.error("Webgl2 must be enabled to use dataRowOffset!");p.pixelStorei(h.UNPACK_SKIP_ROWS,n)}if(D(a)?h?h.texSubImage2D(m,e,i,r,s,o,c,_,a):p.texSubImage2D(m,e,i,r,c,_,a):A(a)?p.compressedTexSubImage2D(m,e,i,r,s,o,d,a.levels[e]):p.texSubImage2D(m,e,i,r,s,o,c,_,a),n){if(!h)return void console.error("Webgl2 must be enabled to use dataRowOffset!");p.pixelStorei(h.UNPACK_SKIP_ROWS,0)}this._descriptor.context.bindTexture(g,T.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(e,i,r,s,o,a,n,p){p||console.error("An attempt to use uninitialized data!"),this._glName||console.error("An attempt to update uninitialized texture!");const h=this._descriptor.context.gl2;if(null==h)throw new t("3D textures are not supported in WebGL1");const l=this._descriptor,d=this._deriveInternalFormat(),{pixelFormat:c,dataType:_,isImmutable:m,target:u}=l;if(m&&!this._wasImmutablyAllocated)throw new t("Cannot update immutable texture before allocation!");R(u)||console.warn("Attempting to set 3D texture data on a non-3D texture");const g=this._descriptor.context.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES);if(this._descriptor.context.setActiveTexture(T.TEXTURE_UNIT_FOR_UPDATES),(i<0||r<0||s<0||o>l.width||a>l.height||n>l.depth||i+o>l.width||r+a>l.height||s+n>l.depth)&&console.error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage(),A(p))p=p.levels[e],h.compressedTexSubImage3D(u,e,i,r,s,o,a,n,d,p);else{const t=p;h.texSubImage3D(u,e,i,r,s,o,a,n,c,_,t)}this._descriptor.context.bindTexture(g,T.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const e=this._descriptor;if(!e.hasMipmap){if(this._wasImmutablyAllocated)throw new t("Cannot add mipmaps to immutable texture after allocation");e.hasMipmap=!0,this._samplingModeDirty=!0,g(this._descriptor.context,e)}e.samplingMode===a.LINEAR?(this._samplingModeDirty=!0,e.samplingMode=a.LINEAR_MIPMAP_NEAREST):e.samplingMode===a.NEAREST&&(this._samplingModeDirty=!0,e.samplingMode=a.NEAREST_MIPMAP_NEAREST);const i=this._descriptor.context.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(T.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.gl.generateMipmap(e.target),this._descriptor.context.bindTexture(i,T.TEXTURE_UNIT_FOR_UPDATES)}setSamplingMode(t){t!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=t,this._samplingModeDirty=!0)}setWrapMode(t){t!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=t,g(this._descriptor.context,this._descriptor),this._wrapModeDirty=!0)}applyChanges(){const t=this._descriptor.context.gl,e=this._descriptor;this._samplingModeDirty&&(x(t,e),this._samplingModeDirty=!1),this._wrapModeDirty&&(E(t,e),this._wrapModeDirty=!1)}_deriveInternalFormat(){if(this._descriptor.context.type===r.WEBGL1)return this._descriptor.internalFormat=this._descriptor.pixelFormat;if(null!=this._descriptor.internalFormat)return this._descriptor.internalFormat===n.DEPTH_STENCIL&&(this._descriptor.internalFormat=n.DEPTH24_STENCIL8),this._descriptor.internalFormat;switch(this._descriptor.dataType){case p.FLOAT:switch(this._descriptor.pixelFormat){case n.RGBA:return this._descriptor.internalFormat=h.RGBA32F;case n.RGB:return this._descriptor.internalFormat=h.RGB32F;default:throw new t("Unable to derive format")}case p.UNSIGNED_BYTE:switch(this._descriptor.pixelFormat){case n.RGBA:return this._descriptor.internalFormat=h.RGBA8;case n.RGB:return this._descriptor.internalFormat=h.RGB8}}return this._descriptor.internalFormat=this._descriptor.pixelFormat===n.DEPTH_STENCIL?n.DEPTH24_STENCIL8:this._descriptor.pixelFormat}_configurePixelStorage(){const t=this._descriptor.context.gl,{unpackAlignment:e,flipped:i,preMultiplyAlpha:r}=this._descriptor;t.pixelStorei(t.UNPACK_ALIGNMENT,e),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i?1:0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r?1:0)}_texStorage(e,i,r,s,o,a){const n=this._descriptor.context.gl2;if(null==n)throw new t("Immutable textures are not supported in WebGL1");if(!M(i))throw new t("Immutable textures must have a sized internal format");if(!this._descriptor.isImmutable)return;const p=r?b(e,s,o,a):1;if(R(e)){if(null==a)throw new t("Missing depth dimension for 3D texture upload");n.texStorage3D(e,p,i,s,o,a)}else n.texStorage2D(e,p,i,s,o);this._wasImmutablyAllocated=!0}_texImage(e,i,s,o,a,n,p){const h=this._descriptor.context.gl,l=R(e),{isImmutable:d,pixelFormat:c,dataType:_}=this._descriptor,m=this._descriptor.context.type===r.WEBGL2,u=m?h:null;if(m||!D(p))if(d){if(null!=p){const r=p;if(l){if(null==n)throw new t("Missing depth dimension for 3D texture upload");u.texSubImage3D(e,i,0,0,0,o,a,n,c,_,r)}else h.texSubImage2D(e,i,0,0,o,a,c,_,r)}}else{const r=p;if(l){if(null==n)throw new t("Missing depth dimension for 3D texture upload");u.texImage3D(e,i,s,o,a,n,0,c,_,r)}else h.texImage2D(e,i,s,o,a,0,c,_,r)}else h.texImage2D(e,0,s,c,_,p)}_compressedTexImage(e,i,s,o,a,n,p){const h=this._descriptor.context.gl;let l=null;const d=R(e),c=this._descriptor.isImmutable;if(d){if(this._descriptor.context.type!==r.WEBGL2)throw new t("3D textures are not supported in WebGL1");l=h}if(c){if(null!=p)if(d){if(null==n)throw new t("Missing depth dimension for 3D texture upload");l.compressedTexSubImage3D(e,i,0,0,0,o,a,n,s,p)}else h.compressedTexSubImage2D(e,i,0,0,o,a,s,p)}else if(d){if(null==n)throw new t("Missing depth dimension for 3D texture upload");l.compressedTexImage3D(e,i,s,o,a,n,0,p)}else h.compressedTexImage2D(e,i,s,o,a,0,p)}_forEachMipmapLevel(e,i=1/0){let{width:r,height:s,depth:a,hasMipmap:n,target:p}=this._descriptor;const h=p===o.TEXTURE_3D;if(null==r||null==s||h&&null==a)throw new t("Missing texture dimensions for mipmap calculation");for(let t=0;e(t,r,s,a),n&&(1!==r||1!==s||h&&1!==a)&&!(t>=i);++t)r=Math.max(1,r>>1),s=Math.max(1,s>>1),h&&(a=Math.max(1,a>>1))}};function g(t,i){(null!=i.width&&i.width<0||null!=i.height&&i.height<0||null!=i.depth&&i.depth<0)&&console.error("Negative dimension parameters are not allowed!");const s=t.type===r.WEBGL2;if(s||!i.isImmutable&&!R(i.target)||console.error("Immutable and 3D-like textures are not supported in WebGL1!"),s)return;null!=i.width&&e(i.width)&&null!=i.height&&e(i.height)||("number"==typeof i.wrapMode?i.wrapMode!==l.CLAMP_TO_EDGE&&console.error("Non-power-of-two textures must have a wrap mode of CLAMP_TO_EDGE!"):i.wrapMode.s===l.CLAMP_TO_EDGE&&i.wrapMode.t===l.CLAMP_TO_EDGE||console.error("Non-power-of-two textures must have a wrap mode of CLAMP_TO_EDGE!"),i.hasMipmap&&console.error("Mipmapping requires power-of-two textures!"))}function x(t,e){let i=e.samplingMode,r=e.samplingMode;i===a.LINEAR_MIPMAP_NEAREST||i===a.LINEAR_MIPMAP_LINEAR?(i=a.LINEAR,e.hasMipmap||(r=a.LINEAR)):i!==a.NEAREST_MIPMAP_NEAREST&&i!==a.NEAREST_MIPMAP_LINEAR||(i=a.NEAREST,e.hasMipmap||(r=a.NEAREST)),t.texParameteri(e.target,t.TEXTURE_MAG_FILTER,i),t.texParameteri(e.target,t.TEXTURE_MIN_FILTER,r)}function E(t,e){"number"==typeof e.wrapMode?(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode)):(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode.s),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode.t))}function f(t,e){const i=t.capabilities.textureFilterAnisotropic;if(!i)return;t.gl.texParameterf(e.target,i.TEXTURE_MAX_ANISOTROPY,e.maxAnisotropy??1)}function M(t){return t in h}function w(t){return t in d}function A(t){return null!=t&&"type"in t&&"compressed"===t.type}function I(t){return null!=t&&"byteLength"in t}function D(t){return null!=t&&!A(t)&&!I(t)}function R(t){return t===o.TEXTURE_3D||t===o.TEXTURE_2D_ARRAY}function b(t,e,i,r=1){let s=Math.max(e,i);return t===o.TEXTURE_3D&&(s=Math.max(s,r)),Math.round(Math.log(s)/Math.LN2)+1}function U(){const t=new Array;return P.forEach(((e,i)=>t.push([i.gpuMemoryUsage,e]))),P.clear(),t.sort(((t,e)=>e[0]-t[0])),t.reduce(((t,e)=>`${t}\n\n${Math.round(e[0]/1024)}KB: ${e[1]}`),"")}T.TEXTURE_UNIT_FOR_UPDATES=0;const P=new Map;export{T as Texture,U as clearUnestimatedTextures};
5
+ import t from"../../core/Error.js";import"../../core/has.js";import{isPowerOfTwo as e}from"../../core/mathUtils.js";import{checkWebGLError as i}from"./checkWebGLError.js";import{ContextType as r}from"./contextUtils.js";import{ResourceType as s,TextureType as o,TextureSamplingMode as a,PixelFormat as n,PixelType as h,SizedPixelFormat as p,TextureWrapMode as l,CompressedTextureFormat as d}from"./enums.js";import{GLObjectType as c}from"./GLObjectType.js";import{estimateMemory as _}from"./TextureDescriptor.js";import{ValidatedTextureDescriptor as m}from"./ValidatedTextureDescriptor.js";const u=4;let T=class{constructor(e,i=null,a=null){if(this.type=c.Texture,this._glName=null,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._wasImmutablyAllocated=!1,"context"in e)this._descriptor=e,a=i;else{const r=m.validate(e,i);if(!r)throw new t("Texture descriptor invalid");this._descriptor=r}if(this._descriptor.context.instanceCounter.increment(s.Texture,this),this._descriptor.context.type!==r.WEBGL2&&(this._descriptor.isImmutable&&(this._descriptor.isImmutable=!1),R(this._descriptor.target)))throw new t("3D and array textures are not supported in WebGL1");this._descriptor.target===o.TEXTURE_CUBE_MAP?this._setDataCubeMap(a):this.setData(a)}get glName(){return this._glName}get descriptor(){return this._descriptor}get gpuMemoryUsage(){return P.delete(this),_(this._descriptor)}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty}dispose(){this._descriptor.context.gl&&this._glName&&(this._descriptor.context.unbindTexture(this),this._descriptor.context.gl.deleteTexture(this._glName),this._glName=null,this._descriptor.context.instanceCounter.decrement(s.Texture,this))}release(){this.dispose()}resize(e,i){const r=this._descriptor;if(r.width!==e||r.height!==i){if(this._wasImmutablyAllocated)throw new t("Immutable textures can't be resized!");r.width=e,r.height=i,this._descriptor.target===o.TEXTURE_CUBE_MAP?this._setDataCubeMap(null):this.setData(null)}}_setDataCubeMap(t=null){for(let e=o.TEXTURE_CUBE_MAP_POSITIVE_X;e<=o.TEXTURE_CUBE_MAP_NEGATIVE_Z;e++)this._setData(t,e)}setData(t){this._setData(t)}_setData(e,r){if(!this._descriptor.context||!this._descriptor.context.gl)return;const s=this._descriptor.context.gl;i(s),this._glName||(this._glName=s.createTexture()),void 0===e&&(e=null);const o=this._descriptor,a=r??o.target,n=R(a);null===e&&(o.width=o.width||u,o.height=o.height||u,n&&(o.depth=o.depth??1));const h=this._descriptor.context.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(T.TEXTURE_UNIT_FOR_UPDATES),g(this._descriptor.context,o),this._configurePixelStorage(),i(s);const p=this._deriveInternalFormat();if(D(e)){let t="width"in e?e.width:e.codedWidth,r="height"in e?e.height:e.codedHeight;const h=1;e instanceof HTMLVideoElement&&(t=e.videoWidth,r=e.videoHeight),o.width&&o.height,n&&o.depth,o.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(a,p,o.hasMipmap,t,r,h),this._texImage(a,0,p,t,r,h,e),i(s),o.hasMipmap&&this.generateMipmap(),o.width||(o.width=t),o.height||(o.height=r),n&&!o.depth&&(o.depth=h)}else{const{width:r,height:h,depth:l}=o;if(null==r||null==h)throw new t("Width and height must be specified!");if(n&&null==l)throw new t("Depth must be specified!");if(o.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(a,p,o.hasMipmap,r,h,l),A(e)){const i=e.levels,n=b(a,r,h,l),d=Math.min(n-1,i.length-1);null!=this._descriptor.context.gl2?s.texParameteri(o.target,this._descriptor.context.gl2.TEXTURE_MAX_LEVEL,d):o.hasMipmap=o.hasMipmap&&n===i.length;const c=p;if(!w(c))throw new t("Attempting to use compressed data with an uncompressed format!");this._forEachMipmapLevel(((t,e,r,s)=>{const o=i[Math.min(t,i.length-1)];this._compressedTexImage(a,t,c,e,r,s,o)}),d)}else this._texImage(a,0,p,r,h,l,e),i(s),o.hasMipmap&&this.generateMipmap()}x(s,this._descriptor),E(s,this._descriptor),f(this._descriptor.context,this._descriptor),i(s),this._descriptor.context.bindTexture(h,T.TEXTURE_UNIT_FOR_UPDATES)}updateData(e,i,r,s,o,a,n=0){a||console.error("An attempt to use uninitialized data!"),this._glName||console.error("An attempt to update uninitialized texture!");const h=this._descriptor.context.gl,p=this._descriptor.context.gl2,l=this._descriptor,d=this._deriveInternalFormat(),{pixelFormat:c,dataType:_,target:m,isImmutable:u}=l;if(u&&!this._wasImmutablyAllocated)throw new t("Cannot update immutable texture before allocation!");const g=this._descriptor.context.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES,!0);if((i<0||r<0||s>l.width||o>l.height||i+s>l.width||r+o>l.height)&&console.error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage(),n){if(!p)return void console.error("Webgl2 must be enabled to use dataRowOffset!");h.pixelStorei(p.UNPACK_SKIP_ROWS,n)}if(D(a)?p?p.texSubImage2D(m,e,i,r,s,o,c,_,a):h.texSubImage2D(m,e,i,r,c,_,a):A(a)?h.compressedTexSubImage2D(m,e,i,r,s,o,d,a.levels[e]):h.texSubImage2D(m,e,i,r,s,o,c,_,a),n){if(!p)return void console.error("Webgl2 must be enabled to use dataRowOffset!");h.pixelStorei(p.UNPACK_SKIP_ROWS,0)}this._descriptor.context.bindTexture(g,T.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(e,i,r,s,o,a,n,h){h||console.error("An attempt to use uninitialized data!"),this._glName||console.error("An attempt to update uninitialized texture!");const p=this._descriptor.context.gl2;if(null==p)throw new t("3D textures are not supported in WebGL1");const l=this._descriptor,d=this._deriveInternalFormat(),{pixelFormat:c,dataType:_,isImmutable:m,target:u}=l;if(m&&!this._wasImmutablyAllocated)throw new t("Cannot update immutable texture before allocation!");R(u)||console.warn("Attempting to set 3D texture data on a non-3D texture");const g=this._descriptor.context.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES);if(this._descriptor.context.setActiveTexture(T.TEXTURE_UNIT_FOR_UPDATES),(i<0||r<0||s<0||o>l.width||a>l.height||n>l.depth||i+o>l.width||r+a>l.height||s+n>l.depth)&&console.error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage(),A(h))h=h.levels[e],p.compressedTexSubImage3D(u,e,i,r,s,o,a,n,d,h);else{const t=h;p.texSubImage3D(u,e,i,r,s,o,a,n,c,_,t)}this._descriptor.context.bindTexture(g,T.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const e=this._descriptor;if(!e.hasMipmap){if(this._wasImmutablyAllocated)throw new t("Cannot add mipmaps to immutable texture after allocation");e.hasMipmap=!0,this._samplingModeDirty=!0,g(this._descriptor.context,e)}e.samplingMode===a.LINEAR?(this._samplingModeDirty=!0,e.samplingMode=a.LINEAR_MIPMAP_NEAREST):e.samplingMode===a.NEAREST&&(this._samplingModeDirty=!0,e.samplingMode=a.NEAREST_MIPMAP_NEAREST);const i=this._descriptor.context.bindTexture(this,T.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(T.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.gl.generateMipmap(e.target),this._descriptor.context.bindTexture(i,T.TEXTURE_UNIT_FOR_UPDATES)}setSamplingMode(t){t!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=t,this._samplingModeDirty=!0)}setWrapMode(t){t!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=t,g(this._descriptor.context,this._descriptor),this._wrapModeDirty=!0)}applyChanges(){const t=this._descriptor.context.gl,e=this._descriptor;this._samplingModeDirty&&(x(t,e),this._samplingModeDirty=!1),this._wrapModeDirty&&(E(t,e),this._wrapModeDirty=!1)}_deriveInternalFormat(){if(this._descriptor.context.type===r.WEBGL1)return this._descriptor.internalFormat=this._descriptor.pixelFormat;if(null!=this._descriptor.internalFormat)return this._descriptor.internalFormat===n.DEPTH_STENCIL&&(this._descriptor.internalFormat=n.DEPTH24_STENCIL8),this._descriptor.internalFormat;switch(this._descriptor.dataType){case h.FLOAT:switch(this._descriptor.pixelFormat){case n.RGBA:return this._descriptor.internalFormat=p.RGBA32F;case n.RGB:return this._descriptor.internalFormat=p.RGB32F;default:throw new t("Unable to derive format")}case h.UNSIGNED_BYTE:switch(this._descriptor.pixelFormat){case n.RGBA:return this._descriptor.internalFormat=p.RGBA8;case n.RGB:return this._descriptor.internalFormat=p.RGB8}}return this._descriptor.internalFormat=this._descriptor.pixelFormat===n.DEPTH_STENCIL?n.DEPTH24_STENCIL8:this._descriptor.pixelFormat}_configurePixelStorage(){const t=this._descriptor.context.gl,{unpackAlignment:e,flipped:i,preMultiplyAlpha:r}=this._descriptor;t.pixelStorei(t.UNPACK_ALIGNMENT,e),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i?1:0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r?1:0)}_texStorage(e,i,r,s,o,a){const n=this._descriptor.context.gl2;if(null==n)throw new t("Immutable textures are not supported in WebGL1");if(!M(i))throw new t("Immutable textures must have a sized internal format");if(!this._descriptor.isImmutable)return;const h=r?b(e,s,o,a):1;if(R(e)){if(null==a)throw new t("Missing depth dimension for 3D texture upload");n.texStorage3D(e,h,i,s,o,a)}else n.texStorage2D(e,h,i,s,o);this._wasImmutablyAllocated=!0}_texImage(e,i,s,o,a,n,h){const p=this._descriptor.context.gl,l=R(e),{isImmutable:d,pixelFormat:c,dataType:_}=this._descriptor,m=this._descriptor.context.type===r.WEBGL2,u=m?p:null;if(m||!D(h))if(d){if(null!=h){const r=h;if(l){if(null==n)throw new t("Missing depth dimension for 3D texture upload");u.texSubImage3D(e,i,0,0,0,o,a,n,c,_,r)}else p.texSubImage2D(e,i,0,0,o,a,c,_,r)}}else{const r=h;if(l){if(null==n)throw new t("Missing depth dimension for 3D texture upload");u.texImage3D(e,i,s,o,a,n,0,c,_,r)}else p.texImage2D(e,i,s,o,a,0,c,_,r)}else p.texImage2D(e,0,s,c,_,h)}_compressedTexImage(e,i,s,o,a,n,h){const p=this._descriptor.context.gl;let l=null;const d=R(e),c=this._descriptor.isImmutable;if(d){if(this._descriptor.context.type!==r.WEBGL2)throw new t("3D textures are not supported in WebGL1");l=p}if(c){if(null!=h)if(d){if(null==n)throw new t("Missing depth dimension for 3D texture upload");l.compressedTexSubImage3D(e,i,0,0,0,o,a,n,s,h)}else p.compressedTexSubImage2D(e,i,0,0,o,a,s,h)}else if(d){if(null==n)throw new t("Missing depth dimension for 3D texture upload");l.compressedTexImage3D(e,i,s,o,a,n,0,h)}else p.compressedTexImage2D(e,i,s,o,a,0,h)}_forEachMipmapLevel(e,i=1/0){let{width:r,height:s,depth:a,hasMipmap:n,target:h}=this._descriptor;const p=h===o.TEXTURE_3D;if(null==r||null==s||p&&null==a)throw new t("Missing texture dimensions for mipmap calculation");for(let t=0;e(t,r,s,a),n&&(1!==r||1!==s||p&&1!==a)&&!(t>=i);++t)r=Math.max(1,r>>1),s=Math.max(1,s>>1),p&&(a=Math.max(1,a>>1))}};function g(t,i){(null!=i.width&&i.width<0||null!=i.height&&i.height<0||null!=i.depth&&i.depth<0)&&console.error("Negative dimension parameters are not allowed!");const s=t.type===r.WEBGL2;if(s||!i.isImmutable&&!R(i.target)||console.error("Immutable and 3D-like textures are not supported in WebGL1!"),s)return;null!=i.width&&e(i.width)&&null!=i.height&&e(i.height)||("number"==typeof i.wrapMode?i.wrapMode!==l.CLAMP_TO_EDGE&&console.error("Non-power-of-two textures must have a wrap mode of CLAMP_TO_EDGE!"):i.wrapMode.s===l.CLAMP_TO_EDGE&&i.wrapMode.t===l.CLAMP_TO_EDGE||console.error("Non-power-of-two textures must have a wrap mode of CLAMP_TO_EDGE!"),i.hasMipmap&&console.error("Mipmapping requires power-of-two textures!"))}function x(t,e){let i=e.samplingMode,r=e.samplingMode;i===a.LINEAR_MIPMAP_NEAREST||i===a.LINEAR_MIPMAP_LINEAR?(i=a.LINEAR,e.hasMipmap||(r=a.LINEAR)):i!==a.NEAREST_MIPMAP_NEAREST&&i!==a.NEAREST_MIPMAP_LINEAR||(i=a.NEAREST,e.hasMipmap||(r=a.NEAREST)),t.texParameteri(e.target,t.TEXTURE_MAG_FILTER,i),t.texParameteri(e.target,t.TEXTURE_MIN_FILTER,r)}function E(t,e){"number"==typeof e.wrapMode?(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode)):(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode.s),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode.t))}function f(t,e){const i=t.capabilities.textureFilterAnisotropic;if(!i)return;t.gl.texParameterf(e.target,i.TEXTURE_MAX_ANISOTROPY,e.maxAnisotropy??1)}function M(t){return t in p}function w(t){return t in d}function A(t){return null!=t&&"type"in t&&"compressed"===t.type}function I(t){return null!=t&&"byteLength"in t}function D(t){return null!=t&&!A(t)&&!I(t)}function R(t){return t===o.TEXTURE_3D||t===o.TEXTURE_2D_ARRAY}function b(t,e,i,r=1){let s=Math.max(e,i);return t===o.TEXTURE_3D&&(s=Math.max(s,r)),Math.round(Math.log(s)/Math.LN2)+1}function U(){const t=new Array;return P.forEach(((e,i)=>t.push([i.gpuMemoryUsage,e]))),P.clear(),t.sort(((t,e)=>e[0]-t[0])),t.reduce(((t,e)=>`${t}\n\n${Math.round(e[0]/1024)}KB: ${e[1]}`),"")}T.TEXTURE_UNIT_FOR_UPDATES=0;const P=new Map;export{T as Texture,U as clearUnestimatedTextures};
@@ -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{TextureType as t,PixelFormat as i,PixelType as h,TextureSamplingMode as s,TextureWrapMode as a}from"./enums.js";import{getBytesPerElementFormat as p}from"./Util.js";class e{constructor(p=0,e=p){this.width=p,this.height=e,this.target=t.TEXTURE_2D,this.pixelFormat=i.RGBA,this.dataType=h.UNSIGNED_BYTE,this.samplingMode=s.LINEAR,this.wrapMode=a.REPEAT,this.maxAnisotropy=1,this.flipped=!1,this.hasMipmap=!1,this.isOpaque=!1,this.unpackAlignment=4,this.preMultiplyAlpha=!1,this.depth=1,this.isImmutable=!1}}function r(t){return t.width<=0||t.height<=0||null==t.internalFormat?0:t.width*t.height*(t.hasMipmap?4/3:1)*p(t.internalFormat)}export{e as TextureDescriptor,r as estimateMemory};
5
+ import{TextureType as t,PixelFormat as i,PixelType as h,TextureSamplingMode as s,TextureWrapMode as a}from"./enums.js";import{getBytesPerElementFormat as p}from"./Util.js";class e{constructor(p=0,e=p){this.width=p,this.height=e,this.target=t.TEXTURE_2D,this.pixelFormat=i.RGBA,this.dataType=h.UNSIGNED_BYTE,this.samplingMode=s.LINEAR,this.wrapMode=a.REPEAT,this.maxAnisotropy=1,this.flipped=!1,this.hasMipmap=!1,this.isOpaque=!1,this.unpackAlignment=4,this.preMultiplyAlpha=!1,this.depth=1,this.isImmutable=!1}}function r(t){return t.width<=0||t.height<=0?0:t.width*t.height*(t.hasMipmap?4/3:1)*(null==t.internalFormat?4:p(t.internalFormat))}export{e as TextureDescriptor,r as estimateMemory};
@@ -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 t from"../../core/Logger.js";import{disposeMaybe as e,nullifyNonNullableForDispose as i}from"../../core/maybe.js";import{typedArrayStaticSize as r}from"../../core/typedArrayUtil.js";import{ResourceType as s}from"./enums.js";import{bindVertexBufferLayout as n,unbindVertexBufferLayout as o}from"./Util.js";const f=t.getLogger("esri.views.webgl.VertexArrayObject");let u=class{constructor(t,e,i,r,n=null){this._context=t,this._locations=e,this._layout=i,this._buffers=r,this._indexBuffer=n,this._glName=null,this._initialized=!1,t.instanceCounter.increment(s.VertexArrayObject,this)}get glName(){return this._glName}get context(){return this._context}get vertexBuffers(){return this._buffers}get indexBuffer(){return this._indexBuffer}get byteSize(){return Object.keys(this._buffers).reduce(((t,e)=>t+this._buffers[e].byteLength),null!=this._indexBuffer?this._indexBuffer.byteLength:0)}get layout(){return this._layout}get locations(){return this._locations}get memoryEstimate(){return this.byteSize+(Object.keys(this._buffers).length+(this._indexBuffer?1:0))*r}dispose(){if(this._context){this._context.getBoundVAO()===this&&this._context.bindVAO(null);for(const t in this._buffers)this._buffers[t]?.dispose(),delete this._buffers[t];this._indexBuffer=e(this._indexBuffer),this.disposeVAOOnly()}else(this._glName||Object.getOwnPropertyNames(this._buffers).length>0)&&f.warn("Leaked WebGL VAO")}disposeVAOOnly(){if(this._glName){const t=this._context?.capabilities?.vao;t.deleteVertexArray(this._glName),this._glName=null}this._context.instanceCounter.decrement(s.VertexArrayObject,this),this._context=i(this._context)}initialize(){if(this._initialized)return;const t=this._context.capabilities.vao;if(t){const e=t.createVertexArray();t.bindVertexArray(e),this._bindLayout(),t.bindVertexArray(null),this._glName=e}this._initialized=!0}bind(){this.initialize();const t=this._context.capabilities.vao;t?t.bindVertexArray(this.glName):(this._context.bindVAO(null),this._bindLayout())}_bindLayout(){const{_buffers:t,_layout:e,_indexBuffer:i}=this;t||f.error("Vertex buffer dictionary is empty!");const r=this._context.gl;for(const s in t){const i=t[s];i||f.error("Vertex buffer is uninitialized!");const r=e[s];r||f.error("Vertex element descriptor is empty!"),n(this._context,this._locations,i,r)}if(null!=i){!!this._context.capabilities.vao?r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,i.glName):this._context.bindBuffer(i)}}unbind(){this.initialize();const t=this._context.capabilities.vao;t?t.bindVertexArray(null):this._unbindLayout()}_unbindLayout(){const{_buffers:t,_layout:e}=this;t||f.error("Vertex buffer dictionary is empty!");for(const i in t){const r=t[i];r||f.error("Vertex buffer is uninitialized!");const s=e[i];o(this._context,this._locations,r,s)}null!=this._indexBuffer&&this._context.unbindBuffer(this._indexBuffer.bufferType)}};export{u as VertexArrayObject};
5
+ import t from"../../core/Logger.js";import{disposeMaybe as e}from"../../core/maybe.js";import{typedArrayStaticSize as i}from"../../core/typedArrayUtil.js";import{ResourceType as r}from"./enums.js";import{bindVertexBufferLayout as s,unbindVertexBufferLayout as n}from"./Util.js";const o=t.getLogger("esri.views.webgl.VertexArrayObject");let f=class{constructor(t,e,i,s,n=null){this._context=t,this._locations=e,this._layout=i,this._buffers=s,this._indexBuffer=n,this._glName=null,this._initialized=!1,t.instanceCounter.increment(r.VertexArrayObject,this)}get glName(){return this._glName}get context(){return this._context}get vertexBuffers(){return this._buffers}get indexBuffer(){return this._indexBuffer}get byteSize(){return Object.keys(this._buffers).reduce(((t,e)=>t+this._buffers[e].byteLength),null!=this._indexBuffer?this._indexBuffer.byteLength:0)}get layout(){return this._layout}get locations(){return this._locations}get memoryUsage(){return this.byteSize+(Object.keys(this._buffers).length+(this._indexBuffer?1:0))*i}dispose(){if(this._context){this._context.getBoundVAO()===this&&this._context.bindVAO(null);for(const t in this._buffers)this._buffers[t]?.dispose(),delete this._buffers[t];this._indexBuffer=e(this._indexBuffer),this.disposeVAOOnly()}else(this._glName||Object.getOwnPropertyNames(this._buffers).length>0)&&o.warn("Leaked WebGL VAO")}disposeVAOOnly(){if(this._glName){const t=this._context?.capabilities?.vao;t.deleteVertexArray(this._glName),this._glName=null}this._context.instanceCounter.decrement(r.VertexArrayObject,this),this._context=null}initialize(){if(this._initialized)return;const t=this._context.capabilities.vao;if(t){const e=t.createVertexArray();t.bindVertexArray(e),this._bindLayout(),t.bindVertexArray(null),this._glName=e}this._initialized=!0}bind(){this.initialize();const t=this._context.capabilities.vao;t?t.bindVertexArray(this.glName):(this._context.bindVAO(null),this._bindLayout())}_bindLayout(){const{_buffers:t,_layout:e,_indexBuffer:i}=this;t||o.error("Vertex buffer dictionary is empty!");const r=this._context.gl;for(const n in t){const i=t[n];i||o.error("Vertex buffer is uninitialized!");const r=e[n];r||o.error("Vertex element descriptor is empty!"),s(this._context,this._locations,i,r)}if(null!=i){!!this._context.capabilities.vao?r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,i.glName):this._context.bindBuffer(i)}}unbind(){this.initialize();const t=this._context.capabilities.vao;t?t.bindVertexArray(null):this._unbindLayout()}_unbindLayout(){const{_buffers:t,_layout:e}=this;t||o.error("Vertex buffer dictionary is empty!");for(const i in t){const r=t[i];r||o.error("Vertex buffer is uninitialized!");const s=e[i];n(this._context,this._locations,r,s)}null!=this._indexBuffer&&this._context.unbindBuffer(this._indexBuffer.bufferType)}};export{f as VertexArrayObject};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{unwrapOrThrow as t}from"../../core/maybe.js";import{PixelType as r,TextureSamplingMode as a,PixelFormat as o,SizedPixelFormat as l}from"./enums.js";function n(n,i){const{textureFloat:f,colorBufferFloat:s}=n.capabilities,u=f?.textureFloat,m=f?.textureFloatLinear,_=f?.textureHalfFloat,p=f?.textureHalfFloatLinear,d=f?.HALF_FLOAT,x=s?.textureFloat,b=s?.textureHalfFloat,c=s?.floatBlend,h=t(n.driverTest).floatBufferBlend.result;if(!u&&!_)throw new e("heatmap:missing-texture-float","HeatmapRenderer requires WebGL2 or the WebGL1 extension OES_texture_float or OES_texture_half_float.");if(!x&&!b)throw new e("heatmap:missing-color-buffer-float","HeatmapRenderer requires the WebGL extension EXT_color_buffer_float or EXT_color_buffer_half_float or WEBGL_color_buffer_float.");if(!(c&&h||b))throw new e("heatmap:missing-float-blend","HeatmapRenderer requires the WebGL extension EXT_float_blend or EXT_color_buffer_half_float."+(h?"":" This device claims support for EXT_float_blend, but does not actually support it."));const E=u&&x&&c&&h,F=_&&b,R=m,L=p,T=!!s?.R32F,w=!!s?.R16F;if(E&&(R||!L))return R||i.warnOnce("Missing WebGL extension OES_texture_float_linear. Heatmap quality may be reduced."),{dataType:r.FLOAT,samplingMode:R?a.LINEAR:a.NEAREST,pixelFormat:T?o.RED:o.RGBA,internalFormat:T?l.R32F:o.RGBA};if(F)return L||i.warnOnce("Missing WebGL extension OES_texture_half_float_linear. Heatmap quality may be reduced."),{dataType:d,samplingMode:L?a.LINEAR:a.NEAREST,pixelFormat:w?o.RED:o.RGBA,internalFormat:w?l.R16F:o.RGBA};throw new e("heatmap:missing-hardware-support","HeatmapRenderer requires WebGL extensions that allow it to render and blend to float or half float textures.")}export{n as loadHeatmapTextureConfiguration};
5
+ import e from"../../core/Error.js";import{PixelType as t,TextureSamplingMode as r,PixelFormat as a,SizedPixelFormat as o}from"./enums.js";class l{constructor(e,t,r,a){this.dataType=e,this.samplingMode=t,this.pixelFormat=r,this.internalFormat=a}}function n(n,i){const{textureFloat:f,colorBufferFloat:s}=n.capabilities,u=f?.textureFloat,_=f?.textureFloatLinear,m=f?.textureHalfFloat,h=f?.textureHalfFloatLinear,p=s?.textureFloat,d=s?.textureHalfFloat,c=s?.floatBlend,x=n.driverTest.floatBufferBlend.result;if(!u&&!m)throw new e("heatmap:missing-texture-float","HeatmapRenderer requires WebGL2 or the WebGL1 extension OES_texture_float or OES_texture_half_float.");if(!p&&!d)throw new e("heatmap:missing-color-buffer-float","HeatmapRenderer requires the WebGL extension EXT_color_buffer_float or EXT_color_buffer_half_float or WEBGL_color_buffer_float.");if(!(c&&x||d))throw new e("heatmap:missing-float-blend","HeatmapRenderer requires the WebGL extension EXT_float_blend or EXT_color_buffer_half_float."+(x?"":" This device claims support for EXT_float_blend, but does not actually support it."));const b=u&&p&&c&&x,E=m&&d,R=_,F=h,L=!!s?.R32F,w=!!s?.R16F;if(b&&(R||!F))return R||i.warnOnce("Missing WebGL extension OES_texture_float_linear. Heatmap quality may be reduced."),new l(t.FLOAT,R?r.LINEAR:r.NEAREST,L?a.RED:a.RGBA,L?o.R32F:a.RGBA);if(E)return F||i.warnOnce("Missing WebGL extension OES_texture_half_float_linear. Heatmap quality may be reduced."),new l(t.HALF_FLOAT,F?r.LINEAR:r.NEAREST,w?a.RED:a.RGBA,w?o.R16F:a.RGBA);throw new e("heatmap:missing-hardware-support","HeatmapRenderer requires WebGL extensions that allow it to render and blend to float or half float textures.")}export{l as HeatmapTextureConfiguration,n as loadHeatmapTextureConfiguration};
@@ -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{glsl as e}from"../3d/webgl-engine/core/shaderModules/interfaces.js";import{AppleAmdDriverHelper as r}from"../3d/webgl-engine/lib/AppleAmdDriverHelper.js";import{BufferObject as t}from"./BufferObject.js";import{ContextType as o}from"./contextUtils.js";import{TextureWrapMode as n,TextureSamplingMode as i,Usage as s,BufferType as a,PrimitiveType as p,DataType as l,PixelFormat as c,PixelType as m}from"./enums.js";import{FramebufferObject as g}from"./FramebufferObject.js";import{TextureDescriptor as f}from"./TextureDescriptor.js";import{WebGLDriverTestModule as d}from"./WebGLDriverTestModule.js";class h extends d{constructor(e){super(),this._rctx=e,this._helperProgram=null,this._rctx.type===o.WEBGL2&&has("mac")&&has("chrome")&&(this._program=this._prepareProgram(),this._helperProgram=this._prepareHelperProgram())}dispose(){super.dispose(),this._helperProgram?.dispose(),this._helperProgram=null}_test(e){const r=this._rctx;r.resetState();const o=new f(1);o.wrapMode=n.CLAMP_TO_EDGE,o.samplingMode=i.NEAREST;const d=new g(r,o),h=t.createIndex(this._rctx,s.STATIC_DRAW,new Uint8Array([0]));r.bindFramebuffer(d),r.setViewport(0,0,1,1),r.useProgram(this._helperProgram),r.bindBuffer(h,a.ELEMENT_ARRAY_BUFFER),r.drawElements(p.POINTS,1,l.UNSIGNED_BYTE,0),r.useProgram(e),r.bindVAO(null),r.drawArrays(p.TRIANGLES,0,258);const _=new Uint8Array(4);return d.readPixels(0,0,1,1,c.RGBA,m.UNSIGNED_BYTE,_),d.dispose(),h.dispose(),255===_[0]}_prepareProgram(){const r=85,t=`#version 300 es\n precision highp float;\n\n out float triangleId;\n\n const vec3 triangleVertices[3] = vec3[3](vec3(-0.5, -0.5, 0.0), vec3(0.5, -0.5, 0.0), vec3(0.0, 0.5, 0.0));\n\n void main(void) {\n triangleId = floor(float(gl_VertexID)/3.0);\n\n vec3 position = triangleVertices[gl_VertexID % 3];\n float offset = triangleId / ${e.float(r)};\n position.z = 0.5 - offset;\n\n gl_Position = vec4(position, 1.0);\n }\n `,o=`#version 300 es\n precision highp float;\n\n in float triangleId;\n\n out vec4 fragColor;\n\n void main(void) {\n fragColor = triangleId == ${e.float(r)} ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0);\n }\n `;return this._rctx.programCache.acquire(t,o,new Map([]))}_prepareHelperProgram(){const e=r.getShaderSources();return this._rctx.programCache.acquire(e.vertex,e.fragment,new Map([]))}}export{h as DrawArraysRequiresIndicesTypeReset};
5
+ import has from"../../core/has.js";import{glsl as r}from"../3d/webgl-engine/core/shaderModules/interfaces.js";import{AppleAmdDriverHelper as e}from"./AppleAmdDriverHelper.js";import{BufferObject as t}from"./BufferObject.js";import{ContextType as o}from"./contextUtils.js";import{TextureWrapMode as n,TextureSamplingMode as s,Usage as i,BufferType as a,PrimitiveType as p,DataType as c,PixelFormat as l,PixelType as m}from"./enums.js";import{FramebufferObject as f}from"./FramebufferObject.js";import{TextureDescriptor as g}from"./TextureDescriptor.js";import{WebGLDriverTestModule as d}from"./WebGLDriverTestModule.js";class h extends d{constructor(r){super(),this._rctx=r,this._helperProgram=null,this._rctx.type===o.WEBGL2&&has("mac")&&has("chrome")&&(this._program=this._prepareProgram(),this._helperProgram=this._prepareHelperProgram())}dispose(){super.dispose(),this._helperProgram?.dispose(),this._helperProgram=null}_test(r){const e=this._rctx;e.resetState();const o=new g(1);o.wrapMode=n.CLAMP_TO_EDGE,o.samplingMode=s.NEAREST;const d=new f(e,o),h=t.createIndex(this._rctx,i.STATIC_DRAW,new Uint8Array([0]));e.bindFramebuffer(d),e.setViewport(0,0,1,1),e.useProgram(this._helperProgram),e.bindBuffer(h,a.ELEMENT_ARRAY_BUFFER),e.drawElements(p.POINTS,1,c.UNSIGNED_BYTE,0),e.useProgram(r),e.bindVAO(null),e.drawArrays(p.TRIANGLES,0,258);const _=new Uint8Array(4);return d.readPixels(0,0,1,1,l.RGBA,m.UNSIGNED_BYTE,_),d.dispose(),h.dispose(),255===_[0]}_prepareProgram(){const e=85,t=`#version 300 es\n precision highp float;\n\n out float triangleId;\n\n const vec3 triangleVertices[3] = vec3[3](vec3(-0.5, -0.5, 0.0), vec3(0.5, -0.5, 0.0), vec3(0.0, 0.5, 0.0));\n\n void main(void) {\n triangleId = floor(float(gl_VertexID)/3.0);\n\n vec3 position = triangleVertices[gl_VertexID % 3];\n float offset = triangleId / ${r.float(e)};\n position.z = 0.5 - offset;\n\n gl_Position = vec4(position, 1.0);\n }\n `,o=`#version 300 es\n precision highp float;\n\n in float triangleId;\n\n out vec4 fragColor;\n\n void main(void) {\n fragColor = triangleId == ${r.float(e)} ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0);\n }\n `;return this._rctx.programCache.acquire(t,o,new Map([]))}_prepareHelperProgram(){const r=e.getShaderSources();return this._rctx.programCache.acquire(r.vertex,r.fragment,new Map([]))}}export{h as DrawArraysRequiresIndicesTypeReset};
@@ -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{Pos2us as e}from"../2d/engine/webgl/DefaultVertexAttributeLayouts.js";import{BufferObject as r}from"./BufferObject.js";import{TextureWrapMode as t,TextureSamplingMode as i,Usage as s,ClearBufferBit as o,PrimitiveType as n,PixelFormat as a,PixelType as m}from"./enums.js";import{FramebufferObject as p}from"./FramebufferObject.js";import{Texture as g}from"./Texture.js";import{TextureDescriptor as u}from"./TextureDescriptor.js";import{VertexArrayObject as c}from"./VertexArrayObject.js";import{WebGLDriverTestModule as _}from"./WebGLDriverTestModule.js";class d extends _{constructor(e){super(),this._rctx=e,this._image=new Image,this._image.src="data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='5' height='5' version='1.1' viewBox='0 0 5 5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='5' height='5' fill='%23f00' fill-opacity='.5'/%3E%3C/svg%3E%0A",this._image.width=5,this._image.height=5,this._image.decode();const r="\n precision highp float;\n\n attribute vec2 a_pos;\n varying vec2 v_uv;\n\n void main() {\n v_uv = a_pos;\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\n }\n ",t="\n precision highp float;\n\n varying vec2 v_uv;\n\n uniform sampler2D u_texture;\n\n void main() {\n gl_FragColor = texture2D(u_texture, v_uv);\n }\n ";this._program=e.programCache.acquire(r,t,new Map([["a_pos",0]]))}dispose(){super.dispose(),this._image.src=""}_test(_){const d=this._rctx;if(!d.gl)return _.dispose(),!0;const f=new u(1);f.wrapMode=t.CLAMP_TO_EDGE,f.samplingMode=i.NEAREST;const h=new p(d,f),l=r.createVertex(d,s.STATIC_DRAW,new Uint16Array([0,0,1,0,0,1,1,1])),w=new c(d,new Map([["a_pos",0]]),e,{geometry:l}),v=new u;v.samplingMode=i.LINEAR,v.wrapMode=t.CLAMP_TO_EDGE;const x=new g(d,v,this._image);d.useProgram(_),d.bindTexture(x,0),_.setUniform1i("u_texture",0);const b=d.getBoundFramebufferObject(),{x:A,y:E,width:T,height:j}=d.getViewport();d.bindFramebuffer(h),d.setViewport(0,0,1,1),d.setClearColor(0,0,0,0),d.setBlendingEnabled(!1),d.clearSafe(o.COLOR_BUFFER_BIT),d.bindVAO(w),d.drawArrays(n.TRIANGLE_STRIP,0,4);const C=new Uint8Array(4);return h.readPixels(0,0,1,1,a.RGBA,m.UNSIGNED_BYTE,C),w.dispose(),h.dispose(),x.dispose(),d.setViewport(A,E,T,j),d.bindFramebuffer(b),255!==C[0]}}export{d as SVGPremultipliedAlpha};
5
+ import{Pos2us as e}from"../2d/engine/webgl/DefaultVertexAttributeLayouts.js";import{BufferObject as r}from"./BufferObject.js";import{TextureWrapMode as t,TextureSamplingMode as o,Usage as n,ClearBufferBit as s,PrimitiveType as i,PixelFormat as a,PixelType as p}from"./enums.js";import{FramebufferObject as m}from"./FramebufferObject.js";import{Texture as u}from"./Texture.js";import{TextureDescriptor as c}from"./TextureDescriptor.js";import{VertexArrayObject as d}from"./VertexArrayObject.js";import{WebGLDriverTestModule as g}from"./WebGLDriverTestModule.js";class f extends g{constructor(e){super(),this._rctx=e;const r="\n precision highp float;\n\n attribute vec2 a_pos;\n varying vec2 v_uv;\n\n void main() {\n v_uv = a_pos;\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\n }\n ",t="\n precision highp float;\n\n varying vec2 v_uv;\n\n uniform sampler2D u_texture;\n\n void main() {\n gl_FragColor = texture2D(u_texture, v_uv);\n }\n ";this._program=e.programCache.acquire(r,t,new Map([["a_pos",0]]))}dispose(){super.dispose()}_test(g){const f=this._rctx;if(!f.gl)return g.dispose(),!0;const l=new c(1);l.wrapMode=t.CLAMP_TO_EDGE,l.samplingMode=o.NEAREST;const w=new m(f,l),v=r.createVertex(f,n.STATIC_DRAW,new Uint16Array([0,0,1,0,0,1,1,1])),x=new d(f,new Map([["a_pos",0]]),e,{geometry:v}),h=new c;h.samplingMode=o.LINEAR,h.wrapMode=t.CLAMP_TO_EDGE;const b=new u(f,h,_);f.useProgram(g),f.bindTexture(b,0),g.setUniform1i("u_texture",0);const A=f.getBoundFramebufferObject(),{x:E,y:T,width:j,height:C}=f.getViewport();f.bindFramebuffer(w),f.setViewport(0,0,1,1),f.setClearColor(0,0,0,0),f.setBlendingEnabled(!1),f.clearSafe(s.COLOR_BUFFER_BIT),f.bindVAO(x),f.drawArrays(i.TRIANGLE_STRIP,0,4);const y=new Uint8Array(4);return w.readPixels(0,0,1,1,a.RGBA,p.UNSIGNED_BYTE,y),x.dispose(),w.dispose(),b.dispose(),f.setViewport(E,T,j,C),f.bindFramebuffer(A),255!==y[0]}}const _=new Image;_.src="data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='5' height='5' version='1.1' viewBox='0 0 5 5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='5' height='5' fill='%23f00' fill-opacity='.5'/%3E%3C/svg%3E%0A",_.width=5,_.height=5,_.decode();export{f as SVGPremultipliedAlpha};
@@ -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
- function e(e){const{orientedImageryType:t}=e;return"string"==typeof t&&"B"===t}export{e as isSphericalImagery};
5
+ var A;!function(A){A[A.SAVE=0]="SAVE",A[A.SAVE_AS=1]="SAVE_AS"}(A||(A={}));export{A as SaveOperationType};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{clone as t}from"../../core/lang.js";import{getDeepValue as n}from"../../core/object.js";import{numberToJSON as i}from"../../core/accessorSupport/extensions/serializableProperty/writer.js";import{isFeatureCollectionLayer as r}from"../../layers/support/layerUtils.js";const o=new Set(["bing-maps","imagery","imagery-tile","map-image","open-street-map","tile","unknown","unsupported","vector-tile","web-tile","wms","wmts"]),l=new Set(["csv","feature","geo-rss","geojson","group","imagery","imagery-tile","kml","map-image","map-notes","media","ogc-feature","route","subtype-group","tile","unknown","unsupported","vector-tile","web-tile","wfs","wms","wmts"]);function a(e){o.delete(e),l.delete(e)}function s(e){o.add(e),l.add(e)}function p(e){return"basemap"===e.layerContainerType?o:"operational-layers"===e.layerContainerType?l:null}function m(e,t){if(t.restrictedWebMapWriting){const n=p(t);return null==n||n.has(e.type)&&!r(e)}return!0}function u(e,t){if(t)if(r(e)){const i=n("featureCollection.layers",t),r=i&&i[0]&&i[0].layerDefinition;r&&c(e,r)}else if("stream"===e.type){c(e,t.layerDefinition=t.layerDefinition||{})}else"group"!==e.type&&c(e,t)}function c(e,t){"maxScale"in e&&(t.maxScale=i(e.maxScale)??void 0),"minScale"in e&&(t.minScale=i(e.minScale)??void 0)}function d(e,t){if(u(e,t),t&&("blendMode"in e&&(t.blendMode=e.blendMode,"normal"===t.blendMode&&delete t.blendMode),t.opacity=i(e.opacity)??void 0,t.title=e.title||"Layer",t.visibility=e.visible,"legendEnabled"in e&&"wmts"!==e.type))if(r(e)){const n=t.featureCollection;n&&(n.showLegend=e.legendEnabled)}else t.showLegend=e.legendEnabled}function f(n,i,r){if(!("write"in n)||!n.write)return r&&r.messages&&r.messages.push(new e("layer:unsupported",`Layers (${n.title}, ${n.id}) of type '${n.declaredClass}' cannot be persisted`,{layer:n})),null;if(m(n,r)){const e={};return n.write(e,r)?e:null}return null!=i&&d(n,i=t(i)),i}export{s as disableRestrictedWriting,a as enableRestrictedWriting,f as getLayerJSON};
5
+ import e from"../../core/Error.js";import{clone as t}from"../../core/lang.js";import{getDeepValue as n}from"../../core/object.js";import{numberToJSON as r}from"../../core/accessorSupport/extensions/serializableProperty/writer.js";import{isFeatureCollectionLayer as i}from"../../layers/support/layerUtils.js";const o=new Set(["bing-maps","imagery","imagery-tile","map-image","open-street-map","tile","unknown","unsupported","vector-tile","web-tile","wms","wmts"]),l=new Set(["csv","feature","geo-rss","geojson","group","imagery","imagery-tile","kml","map-image","map-notes","media","ogc-feature","route","stream","subtype-group","tile","unknown","unsupported","vector-tile","web-tile","wfs","wms","wmts"]);function a(e){o.delete(e),l.delete(e)}function s(e){o.add(e),l.add(e)}function p(e){return"basemap"===e.layerContainerType?o:"operational-layers"===e.layerContainerType?l:null}function m(e,t){if(t.restrictedWebMapWriting){const n=p(t);return null==n||n.has(e.type)&&!i(e)}return!0}function u(e,t){if(t)if(i(e)){const r=n("featureCollection.layers",t),i=r&&r[0]&&r[0].layerDefinition;i&&c(e,i)}else"group"!==e.type&&c(e,t)}function c(e,t){"maxScale"in e&&(t.maxScale=r(e.maxScale)??void 0),"minScale"in e&&(t.minScale=r(e.minScale)??void 0)}function d(e,t){if(u(e,t),t&&("blendMode"in e&&(t.blendMode=e.blendMode,"normal"===t.blendMode&&delete t.blendMode),t.opacity=r(e.opacity)??void 0,t.title=e.title||"Layer",t.visibility=e.visible,"legendEnabled"in e&&"wmts"!==e.type))if(i(e)){const n=t.featureCollection;n&&(n.showLegend=e.legendEnabled)}else t.showLegend=e.legendEnabled}function f(n,r,i){if(!("write"in n)||!n.write)return i&&i.messages&&i.messages.push(new e("layer:unsupported",`Layers (${n.title}, ${n.id}) of type '${n.declaredClass}' cannot be persisted`,{layer:n})),null;if(m(n,i)){const e={};return n.write(e,i)?e:null}return null!=r&&d(n,r=t(r)),r}export{s as disableRestrictedWriting,a as enableRestrictedWriting,f as getLayerJSON};
@@ -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 r from"../Viewpoint.js";import{geographicToWebMercator as t}from"../geometry/support/webMercatorUtils.js";import"../request.js";import"../config.js";import"../kernel.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/urlUtils.js";import"../geometry.js";import"../geometry/Extent.js";import"../geometry/Geometry.js";import"../geometry/Multipoint.js";import"../geometry/Point.js";import"../geometry/Polygon.js";import"../geometry/Polyline.js";import"../rest/geometryService/units.js";import"../rest/operations/generalize.js";import"../rest/support/GeneralizeParameters.js";import"../rest/operations/lengths.js";import"../rest/support/LengthsParameters.js";import"../rest/operations/offset.js";import"../rest/support/OffsetParameters.js";import{project as e}from"../rest/geometryService/project.js";import"../rest/operations/relation.js";import"../rest/support/RelationParameters.js";import"../rest/operations/trimExtend.js";import"../rest/support/TrimExtendParameters.js";import o from"../rest/support/ProjectParameters.js";async function s(t,e,o){const s=t?.viewpoint?.targetGeometry;if(s)return null;const p=await i(t,e,o);if(!p)return null;return new r({targetGeometry:p})}async function i(r,s,i){const p=r?.spatialReference,m=s?.extent;if(!p||!m)return null;if(p.isWGS84)return m.clone();if(p.isWebMercator)return t(m);const{getGeometryServiceURL:n}=await import("../portal/support/geometryServiceUtils.js");try{const r=await n(s),t=new o;t.geometries=[m],t.outSpatialReference=p;return(await e(r,t))[0]}catch(a){i.error("Error projecting item's extent:",a)}return null}export{s as computeInitialViewpoint};
5
+ import e from"../Viewpoint.js";import{geographicToWebMercator as t}from"../geometry/support/webMercatorUtils.js";import{project as r}from"../rest/geometryService/project.js";import o from"../rest/support/ProjectParameters.js";async function n(t,r,o){const n=t?.viewpoint?.targetGeometry;if(n)return null;const s=await i(t,r,o);if(!s)return null;return new e({targetGeometry:s})}async function i(e,n,i){const s=e?.spatialReference,a=n?.extent;if(!s||!a)return null;if(s.isWGS84)return a.clone();if(s.isWebMercator)return t(a);const{getGeometryServiceURL:c}=await import("../portal/support/geometryServiceUtils.js");try{const e=await c(n),t=new o;t.geometries=[a],t.outSpatialReference=s;return(await r(e,t))[0]}catch(p){i.error("Error projecting item's extent:",p)}return null}export{n as computeInitialViewpoint};
package/webscene/Slide.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{_ as e}from"../chunks/tslib.es6.js";import t from"../Basemap.js";import i from"../Viewpoint.js";import{result as n}from"../core/asyncUtils.js";import r from"../core/Collection.js";import{referenceSetter as o}from"../core/collectionUtils.js";import{JSONSupport as s}from"../core/JSONSupport.js";import a from"../core/Logger.js";import{destroyMaybe as l,removeMaybe as p}from"../core/maybe.js";import{eachAlways as m,onAbortOrThrow as h,isAbortError as c}from"../core/promiseUtils.js";import{when as u}from"../core/reactiveUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{cast as g}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import{ensureType as v}from"../core/accessorSupport/ensureType.js";import{d as b}from"../chunks/vec3.js";import{c as w}from"../chunks/vec3f64.js";import f from"../layers/Layer.js";import{isOperationalLayer as T}from"../layers/mixins/OperationalLayer.js";import{ensureType as L,clonePreservingTiledLayers as j}from"../support/basemapUtils.js";import{moduloPositive as C}from"../views/3d/support/mathUtils.js";import{toCamera as _}from"../views/3d/support/viewpointUtils.js";import{TaskPriority as S}from"../views/support/Scheduler.js";import{SlideThumbnail as E}from"../webdoc/support/SlideThumbnail.js";import k from"./SunLighting.js";import U from"./VirtualLighting.js";import V from"./support/Description.js";import{SlideEnvironment as I}from"./support/SlideEnvironment.js";import x from"./support/SlideGround.js";import{SlideVisibleLayer as D}from"./support/SlideVisibleLayer.js";import R from"./support/Title.js";let A=0;const O=r.ofType(D);let q=class extends s{constructor(e){super(e),this.id=Date.now().toString(16)+"-slide-"+A++,this.title=new R,this.description=new V,this.thumbnail=new E,this.viewpoint=null,this.basemap=null,this.ground=null,this.environment=new I,this.visibleLayers=new O}destroy(){this.visibleLayers.removeAll(),this.basemap?.destroy(),this.basemap=null,this.thumbnail=l(this.thumbnail),this.description=null,this.title=null,this.thumbnail=null}castTitle(e){return"string"==typeof e?new R({text:e}):v(R,e)}castDescription(e){return"string"==typeof e?new V({text:e}):v(V,e)}castThumbnail(e){return"string"==typeof e?new E({url:e}):v(E,e)}castBasemap(e){return L(e)}set visibleLayers(e){this._set("visibleLayers",o(e,this._get("visibleLayers"),O))}castVisibleLayers(e){return e&&"function"==typeof e.map?e.map((e=>{if("string"==typeof e)return{id:e};if(e instanceof f){const t=B(e);return{id:e.id,sublayerIds:t}}return e.id?{id:e.id,sublayerIds:"sublayerIds"in e?e.sublayerIds:void 0}:(a.getLogger(this).warn('Invalid visible layer, expected { id }, Layer or "id"'),e)})):null}clone(){return new(0,this.constructor)({id:this.id,title:this.title.clone(),thumbnail:this.thumbnail.clone(),description:this.description&&this.description.clone()||null,viewpoint:this.viewpoint&&this.viewpoint.clone()||null,basemap:this.basemap&&this.basemap.clone()||null,ground:this.ground&&this.ground.clone()||null,visibleLayers:this.visibleLayers.clone(),environment:this.environment&&this.environment.clone()||null})}_updateVisibleLayersFrom(e){const t=[];return m(this._getLayers(e.map).map((i=>e.whenLayerView(i).then((e=>{if(e.visible){const n=B(i);t.push(new D({id:e.layer.id,sublayerIds:n}))}})))).toArray()).then((()=>{this.visibleLayers.removeAll(),this.visibleLayers.addMany(t)}))}updateFrom(e,t){const i={format:"png",quality:80,width:120,height:75,disableDecorations:!0,...t&&t.screenshot};return e.when((()=>(this.viewpoint=e.viewpoint.clone(),this.environment.lighting="virtual"===e.environment.lighting.type?U.prototype.clone.apply(e.environment.lighting):k.prototype.clone.apply(e.environment.lighting),this.environment.weather=e.environment.weather.clone(),this.basemap=e.map.basemap&&e.map.basemap.clone()||null,this.ground=e.map.ground?x.fromGround(e.map.ground):null,this._updateVisibleLayersFrom(e)))).then((()=>e.takeScreenshot(i))).then((e=>(this.thumbnail=new E({url:e.dataUrl}),this)))}async applyTo(e,t){null!=this._applyToController&&this._applyToController.abort();let i=new AbortController;this._applyToController=i;const r=h(t,(()=>i?.abort())),o=e.resourceController.scheduler.registerTask(S.SLIDE);let s=!1;const a={animate:!0,...t,signal:this._applyToController.signal},l=async()=>{await Promise.all([o.schedule((()=>s=this._setViewpointOfInterest(e,a))),o.schedule((()=>this._applyBasemap(e,a)),a.signal)]),await Promise.all([o.schedule((()=>this._applyLayerVisibility(e)),a.signal),o.schedule((()=>this._applyGround(e)),a.signal),o.schedule((()=>this._applyViewpoint(e,a)),a.signal)]),await o.schedule((()=>e.environment.weather=this.environment.weather.clone()))},p=await n(e.addUpdatingPromise(l()));if(s&&(e.contentCamera=null),o.remove(),this._applyToController===i&&(this._applyToController=null),i=null,r?.remove(),!1===p.ok)throw p.error;return this}async _applyBasemap(e,t){if(this.basemap){try{await this.basemap.load(t)}catch(i){if(c(i))throw i}e.map.basemap=j(this.basemap,e.map.basemap)}}_applyGround(e){this.ground&&(e.map.ground=this.ground.cloneAndApplyTo(e.map.ground))}_getLayers(e){const t=new r;return this._collectLayers(e,t),this._collectLayers(e.ground,t),t}_collectLayers(e,t){e.layers.forEach((e=>{T(e)&&(t.add(e),"layers"in e&&this._collectLayers(e,t))}))}_applyLayerVisibility(e){if(!this.visibleLayers)return;this._getLayers(e.map).forEach((e=>{const t=this.visibleLayers.find((t=>t.id===e.id));e.visible=null!=t;const i=t&&t.sublayerIds,n=M(e);i&&n&&n.forEach((e=>e.visible=i.includes(e.id)))}))}_setViewpointOfInterest(e,t){if(e.state.fixedContentCamera||!this.viewpoint||t?.ignoreViewpoint||!t?.useDestinationCamera)return!1;const i=_(e,this.viewpoint);return e.contentCamera=i,null!=i}async _applyViewpoint(e,t){if(this._applyCachedCameraTrackingEnabled(e),this.viewpoint&&!t.ignoreViewpoint){if(null!=this.viewpoint.camera&&(this.viewpoint.camera.fov=e.camera.fov),t.animate&&this.get("environment.lighting.date"))return this._animateToLighting(e,t);t.animate&&(e.environment.applyLighting(this.environment.lighting.clone()),await e.goTo(this.viewpoint,t)),e.viewpoint=this.viewpoint}e.environment.applyLighting(this.environment.lighting.clone())}async _animateToLighting(e,t){let i=null;"virtual"!==e.environment.lighting.type&&"virtual"!==this.environment.lighting.type&&("global"===e.viewingMode&&(i=this._animateLightingWithCamera(e,e.environment.lighting,this.environment.lighting)),e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1),e.environment.lighting.directShadowsEnabled=this.environment.lighting.directShadowsEnabled,"virtual"===this.environment.lighting.type||"virtual"===e.environment.lighting.type?(e.environment.applyLighting(this.environment.lighting.clone()),"virtual"!==e.environment.lighting.type&&(e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1)):null!=this.environment.lighting.displayUTCOffset&&(e.environment.lighting.displayUTCOffset=this.environment.lighting.displayUTCOffset);return e.goTo(this.viewpoint,t).then((()=>{this._applyCachedCameraTrackingEnabled(e),e.environment.applyLighting(this.environment.lighting.clone())})).catch((t=>{throw null==e.animation&&this._applyCachedCameraTrackingEnabled(e),t})).finally((()=>{p(i)}))}_applyCachedCameraTrackingEnabled(e){null!=e.environment.cachedCameraTrackingEnabled&&(e.environment.lighting.cameraTrackingEnabled=e.environment.cachedCameraTrackingEnabled,e.environment.cachedCameraTrackingEnabled=null)}_getTime(e){return[e.getTime(),3600*e.getUTCHours()+60*e.getUTCMinutes()+e.getUTCSeconds()]}_setTime(e,t,i){return e.setTime(t),e.setUTCHours(i/3600),e.setUTCMinutes(i%3600/60),e.setUTCSeconds(i%3600%60),e}_animateLightingWithCamera(e,t,i){const n=new Date(t.date.toString()),[r,o]=this._getTime(n),[s,a]=this._getTime(i.date),l=P(o,a),p=e.renderCoordsHelper,m=w();p.toRenderCoords(e.camera.position,m);const h=w(),c=w();null!=this.viewpoint.camera&&p.toRenderCoords(this.viewpoint.camera.position,h);const d=new Date;return u((()=>e.camera),(e=>{p.toRenderCoords(e.position,c);const i=b(m,c),n=b(h,c);let a=0;i+n!==0&&(a=i/(i+n));const u=r+(s-r)*a,g=H(o,l*a);t.date=this._setTime(d,u,g)}))}static createFrom(e,t){return(new this).updateFrom(e,t)}};function M(e){if("building-scene"===e.type||"map-image"===e.type)return e.allSublayers.toArray()}function B(e){const t=M(e);if(t)return t.filter((e=>e.visible)).map((e=>e.id))}e([d({type:String,json:{write:{isRequired:!0}}})],q.prototype,"id",void 0),e([d({type:R,json:{default:()=>new R({text:""}),write:{isRequired:!0}}})],q.prototype,"title",void 0),e([g("title")],q.prototype,"castTitle",null),e([d({type:V,json:{write:{overridePolicy:e=>({enabled:!(!e||!e.text)})}}})],q.prototype,"description",void 0),e([g("description")],q.prototype,"castDescription",null),e([d({type:E,json:{default:()=>new E({url:""}),write:{isRequired:!0}}})],q.prototype,"thumbnail",void 0),e([g("thumbnail")],q.prototype,"castThumbnail",null),e([d({type:i,nonNullable:!0,json:{write:{isRequired:!0}}})],q.prototype,"viewpoint",void 0),e([d({type:t,json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],q.prototype,"basemap",void 0),e([g("basemap")],q.prototype,"castBasemap",null),e([d({type:x,json:{write:!0}})],q.prototype,"ground",void 0),e([d({type:O,json:{write:{isRequired:!0}}})],q.prototype,"visibleLayers",null),e([g("visibleLayers")],q.prototype,"castVisibleLayers",null),e([d({type:I,json:{write:!0}})],q.prototype,"environment",void 0),q=e([y("esri.webscene.Slide")],q);const F=86400,G=43200;function P(e,t){let i=t-e;return i>G&&(i-=F),i<-G&&(i+=F),i}function H(e,t){return C(e+t,F)}const N=q;export{N as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../Basemap.js";import i from"../Viewpoint.js";import{result as n}from"../core/asyncUtils.js";import r from"../core/Collection.js";import{referenceSetter as o}from"../core/collectionUtils.js";import{JSONSupport as s}from"../core/JSONSupport.js";import a from"../core/Logger.js";import{destroyMaybe as l,removeMaybe as p}from"../core/maybe.js";import{eachAlways as m,onAbortOrThrow as h,isAbortError as c}from"../core/promiseUtils.js";import{when as u}from"../core/reactiveUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{cast as y}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as g}from"../core/accessorSupport/decorators/subclass.js";import{ensureType as v}from"../core/accessorSupport/ensureType.js";import{d as b}from"../chunks/vec3.js";import{c as w}from"../chunks/vec3f64.js";import f from"../layers/Layer.js";import{isOperationalLayer as T}from"../layers/mixins/OperationalLayer.js";import{ensureType as L,clonePreservingTiledLayers as _}from"../support/basemapUtils.js";import{moduloPositive as j}from"../views/3d/support/mathUtils.js";import{toCamera as C}from"../views/3d/support/viewpointUtils.js";import{TaskPriority as S}from"../views/support/Scheduler.js";import{SlideThumbnail as E}from"../webdoc/support/SlideThumbnail.js";import k from"./SunLighting.js";import U from"./VirtualLighting.js";import V from"./support/Description.js";import{SlideEnvironment as I}from"./support/SlideEnvironment.js";import x from"./support/SlideGround.js";import{SlideVisibleLayer as D}from"./support/SlideVisibleLayer.js";import R from"./support/Title.js";let A=0;const O=r.ofType(D);let q=class extends s{constructor(e){super(e),this.id=Date.now().toString(16)+"-slide-"+A++,this.title=new R,this.description=new V,this.thumbnail=new E,this.viewpoint=null,this.basemap=null,this.ground=null,this.environment=new I,this.visibleLayers=new O}destroy(){this.visibleLayers.removeAll(),this.basemap=null,this.thumbnail=l(this.thumbnail),this.description=null,this.title=null,this.thumbnail=null}castTitle(e){return"string"==typeof e?new R({text:e}):v(R,e)}castDescription(e){return"string"==typeof e?new V({text:e}):v(V,e)}castThumbnail(e){return"string"==typeof e?new E({url:e}):v(E,e)}castBasemap(e){return L(e)}set visibleLayers(e){this._set("visibleLayers",o(e,this._get("visibleLayers"),O))}castVisibleLayers(e){return e&&"function"==typeof e.map?e.map((e=>{if("string"==typeof e)return{id:e};if(e instanceof f){const t=B(e);return{id:e.id,sublayerIds:t}}return e.id?{id:e.id,sublayerIds:"sublayerIds"in e?e.sublayerIds:void 0}:(a.getLogger(this).warn('Invalid visible layer, expected { id }, Layer or "id"'),e)})):null}clone(){return new(0,this.constructor)({id:this.id,title:this.title.clone(),thumbnail:this.thumbnail.clone(),description:this.description&&this.description.clone()||null,viewpoint:this.viewpoint&&this.viewpoint.clone()||null,basemap:this.basemap&&this.basemap.clone()||null,ground:this.ground&&this.ground.clone()||null,visibleLayers:this.visibleLayers.clone(),environment:this.environment&&this.environment.clone()||null})}_updateVisibleLayersFrom(e){const t=[];return m(this._getLayers(e.map).map((i=>e.whenLayerView(i).then((e=>{if(e.visible){const n=B(i);t.push(new D({id:e.layer.id,sublayerIds:n}))}})))).toArray()).then((()=>{this.visibleLayers.removeAll(),this.visibleLayers.addMany(t)}))}updateFrom(e,t){const i={format:"png",quality:80,width:120,height:75,disableDecorations:!0,...t&&t.screenshot};return e.when((()=>(this.viewpoint=e.viewpoint.clone(),this.environment.lighting="virtual"===e.environment.lighting.type?U.prototype.clone.apply(e.environment.lighting):k.prototype.clone.apply(e.environment.lighting),this.environment.weather=e.environment.weather.clone(),this.basemap=e.map.basemap&&e.map.basemap.clone()||null,this.ground=e.map.ground?x.fromGround(e.map.ground):null,this._updateVisibleLayersFrom(e)))).then((()=>e.takeScreenshot(i))).then((e=>(this.thumbnail=new E({url:e.dataUrl}),this)))}async applyTo(e,t){null!=this._applyToController&&this._applyToController.abort();let i=new AbortController;this._applyToController=i;const r=h(t,(()=>i?.abort())),o=e.resourceController.scheduler.registerTask(S.SLIDE);let s=!1;const a={animate:!0,...t,signal:this._applyToController.signal},l=async()=>{await Promise.all([o.schedule((()=>s=this._setViewpointOfInterest(e,a))),o.schedule((()=>this._applyBasemap(e,a)),a.signal)]),await this._loadLayersWithSublayerVisibility(e),await Promise.all([o.schedule((()=>this._applyLayerVisibility(e)),a.signal),o.schedule((()=>this._applyGround(e)),a.signal),o.schedule((()=>this._applyViewpoint(e,a)),a.signal)]),await o.schedule((()=>e.environment.weather=this.environment.weather.clone()))},p=await n(e.addUpdatingPromise(l()));if(s&&(e.contentCamera=null),o.remove(),this._applyToController===i&&(this._applyToController=null),i=null,r?.remove(),!1===p.ok)throw p.error;return this}async _applyBasemap(e,t){if(this.basemap){try{await this.basemap.load(t)}catch(i){if(c(i))throw i}e.map.basemap=_(this.basemap,e.map.basemap)}}_applyGround(e){this.ground&&(e.map.ground=this.ground.cloneAndApplyTo(e.map.ground))}_getLayers(e){const t=new r;return this._collectLayers(e,t),this._collectLayers(e.ground,t),t}_collectLayers(e,t){e.layers.forEach((e=>{T(e)&&(t.add(e),"layers"in e&&this._collectLayers(e,t))}))}async _loadLayersWithSublayerVisibility(e){this.visibleLayers&&await m(this._getLayers(e.map).map((e=>{const t=this.visibleLayers.find((t=>t.id===e.id))?.sublayerIds;return t?e.load():null})))}_applyLayerVisibility(e){if(!this.visibleLayers)return;this._getLayers(e.map).forEach((e=>{const t=this.visibleLayers.find((t=>t.id===e.id));e.visible=null!=t;const i=t?.sublayerIds,n=M(e);i&&n&&n.forEach((e=>e.visible=i.includes(e.id)))}))}_setViewpointOfInterest(e,t){if(e.state.fixedContentCamera||!this.viewpoint||t?.ignoreViewpoint||!t?.useDestinationCamera)return!1;const i=C(e,this.viewpoint);return e.contentCamera=i,null!=i}async _applyViewpoint(e,t){if(this._applyCachedCameraTrackingEnabled(e),this.viewpoint&&!t.ignoreViewpoint){if(null!=this.viewpoint.camera&&(this.viewpoint.camera.fov=e.camera.fov),t.animate&&this.get("environment.lighting.date"))return this._animateToLighting(e,t);t.animate&&(e.environment.applyLighting(this.environment.lighting.clone()),await e.goTo(this.viewpoint,t)),e.viewpoint=this.viewpoint}e.environment.applyLighting(this.environment.lighting.clone())}async _animateToLighting(e,t){let i=null;"virtual"!==e.environment.lighting.type&&"virtual"!==this.environment.lighting.type&&("global"===e.viewingMode&&(i=this._animateLightingWithCamera(e,e.environment.lighting,this.environment.lighting)),e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1),e.environment.lighting.directShadowsEnabled=this.environment.lighting.directShadowsEnabled,"virtual"===this.environment.lighting.type||"virtual"===e.environment.lighting.type?(e.environment.applyLighting(this.environment.lighting.clone()),"virtual"!==e.environment.lighting.type&&(e.environment.cachedCameraTrackingEnabled=e.environment.lighting.cameraTrackingEnabled,e.environment.lighting.cameraTrackingEnabled=!1)):null!=this.environment.lighting.displayUTCOffset&&(e.environment.lighting.displayUTCOffset=this.environment.lighting.displayUTCOffset);return e.goTo(this.viewpoint,t).then((()=>{this._applyCachedCameraTrackingEnabled(e),e.environment.applyLighting(this.environment.lighting.clone())})).catch((t=>{throw null==e.animation&&this._applyCachedCameraTrackingEnabled(e),t})).finally((()=>{p(i)}))}_applyCachedCameraTrackingEnabled(e){null!=e.environment.cachedCameraTrackingEnabled&&(e.environment.lighting.cameraTrackingEnabled=e.environment.cachedCameraTrackingEnabled,e.environment.cachedCameraTrackingEnabled=null)}_getTime(e){return[e.getTime(),3600*e.getUTCHours()+60*e.getUTCMinutes()+e.getUTCSeconds()]}_setTime(e,t,i){return e.setTime(t),e.setUTCHours(i/3600),e.setUTCMinutes(i%3600/60),e.setUTCSeconds(i%3600%60),e}_animateLightingWithCamera(e,t,i){const n=new Date(t.date.toString()),[r,o]=this._getTime(n),[s,a]=this._getTime(i.date),l=P(o,a),p=e.renderCoordsHelper,m=w();p.toRenderCoords(e.camera.position,m);const h=w(),c=w();null!=this.viewpoint.camera&&p.toRenderCoords(this.viewpoint.camera.position,h);const d=new Date;return u((()=>e.camera),(e=>{p.toRenderCoords(e.position,c);const i=b(m,c),n=b(h,c);let a=0;i+n!==0&&(a=i/(i+n));const u=r+(s-r)*a,y=W(o,l*a);t.date=this._setTime(d,u,y)}))}static createFrom(e,t){return(new this).updateFrom(e,t)}};function M(e){if("building-scene"===e.type||"map-image"===e.type)return e.allSublayers.toArray()}function B(e){const t=M(e);if(t)return t.filter((e=>e.visible)).map((e=>e.id))}e([d({type:String,json:{write:{isRequired:!0}}})],q.prototype,"id",void 0),e([d({type:R,json:{default:()=>new R({text:""}),write:{isRequired:!0}}})],q.prototype,"title",void 0),e([y("title")],q.prototype,"castTitle",null),e([d({type:V,json:{write:{overridePolicy:e=>({enabled:!(!e||!e.text)})}}})],q.prototype,"description",void 0),e([y("description")],q.prototype,"castDescription",null),e([d({type:E,json:{default:()=>new E({url:""}),write:{isRequired:!0}}})],q.prototype,"thumbnail",void 0),e([y("thumbnail")],q.prototype,"castThumbnail",null),e([d({type:i,nonNullable:!0,json:{write:{isRequired:!0}}})],q.prototype,"viewpoint",void 0),e([d({type:t,json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],q.prototype,"basemap",void 0),e([y("basemap")],q.prototype,"castBasemap",null),e([d({type:x,json:{write:!0}})],q.prototype,"ground",void 0),e([d({type:O,json:{write:{isRequired:!0}}})],q.prototype,"visibleLayers",null),e([y("visibleLayers")],q.prototype,"castVisibleLayers",null),e([d({type:I,json:{write:!0}})],q.prototype,"environment",void 0),q=e([g("esri.webscene.Slide")],q);const F=86400,G=43200;function P(e,t){let i=t-e;return i>G&&(i-=F),i<-G&&(i+=F),i}function W(e,t){return j(e+t,F)}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"../core/Error.js";import{on as s,watch as i,initial as a}from"../core/reactiveUtils.js";import{formatFileSize as n}from"../core/unitFormatUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import d from"./Widget.js";import c from"./Attachments/AttachmentsViewModel.js";import{getIconPath as m,isSupportedImage as h}from"./Attachments/support/attachmentUtils.js";import{loadCalciteComponents as u}from"./support/componentsUtils.js";import{storeNode as p,discardNode as g,isRTL as b}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{tsx as _}from"./support/jsxFactory.js";const v={addButton:!0,addSubmitButton:!0,cancelAddButton:!0,cancelUpdateButton:!0,deleteButton:!0,errorMessage:!0,progressBar:!0,updateButton:!0},y="esri-attachments",w="esri-button",A={base:y,loaderContainer:`${y}__loader-container`,loader:`${y}__loader`,fadeIn:`${y}--fade-in`,container:`${y}__container`,containerList:`${y}__container--list`,containerPreview:`${y}__container--preview`,actions:`${y}__actions`,deleteButton:`${y}__delete-button`,addAttachmentButton:`${y}__add-attachment-button`,errorMessage:`${y}__error-message`,items:`${y}__items`,item:`${y}__item`,itemButton:`${y}__item-button`,itemMask:`${y}__item-mask`,itemMaskIcon:`${y}__item-mask--icon`,itemImage:`${y}__image`,itemImageResizable:`${y}__image--resizable`,itemLabel:`${y}__label`,itemFilename:`${y}__filename`,itemChevronIcon:`${y}__item-chevron-icon`,itemLink:`${y}__item-link`,itemLinkOverlay:`${y}__item-link-overlay`,itemLinkOverlayIcon:`${y}__item-link-overlay-icon`,itemEditIcon:`${y}__item-edit-icon`,itemAddIcon:`${y}__item-add-icon`,itemAddButton:`${y}__item-add-button`,formNode:`${y}__form-node`,fileFieldset:`${y}__file-fieldset`,fileLabel:`${y}__file-label`,fileName:`${y}__file-name`,fileInput:`${y}__file-input`,metadata:`${y}__metadata`,metadataFieldset:`${y}__metadata-fieldset`,progressBar:`${y}__progress-bar`,esriWidget:"esri-widget",esriButton:w,buttonDisabled:`${w}--disabled`,esriButtonSecondary:`${w}--secondary`,esriButtonTertiary:`${w}--tertiary`,esriButtonThird:`${w}--third`,esriButtonSmall:`${w}--small`,esriButtonHalf:`${w}--half`,empty:"esri-widget__content--empty",iconExternalLink:"esri-icon-link-external",iconEdit:"esri-icon-edit",iconRight:"esri-icon-right",iconLeft:"esri-icon-left",iconPlus:"esri-icon-plus"},F=window.CSS;let k=class extends d{constructor(e,t){super(e,t),this.displayType="auto",this.messages=null,this.messagesUnits=null,this.selectedFile=null,this.submitting=!1,this.viewModel=null,this.visibleElements={...v},this._supportsImageOrientation=F&&F.supports&&F.supports("image-orientation","from-image"),this._addAttachmentForm=null,this._updateAttachmentForm=null}initialize(){this.viewModel||(this.viewModel=new c),this.addHandles([s((()=>this.viewModel?.attachmentInfos),"change",(()=>this.scheduleRender())),s((()=>this.viewModel?.fileInfos),"change",(()=>this.scheduleRender())),i((()=>this.viewModel?.mode),(()=>this._modeChanged()),a)])}loadDependencies(){return u({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js")})}get capabilities(){return this.viewModel.capabilities}set capabilities(e){this.viewModel.capabilities=e}get effectiveDisplayType(){const{displayType:e}=this;return e&&"auto"!==e?e:this.viewModel.supportsResizeAttachments?"preview":"list"}get graphic(){return this.viewModel.graphic}set graphic(e){this.viewModel.graphic=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}castVisibleElements(e){return{...v,...e}}addAttachment(){const{_addAttachmentForm:e,viewModel:s}=this;return this._set("submitting",!0),this._set("error",null),s.addAttachment(e).then((e=>(this._set("submitting",!1),this._set("error",null),s.mode="view",e))).catch((e=>{throw this._set("submitting",!1),this._set("error",new t("attachments:add-attachment",this.messages.addErrorMessage,e)),e}))}deleteAttachment(e){const{viewModel:s}=this;return this._set("submitting",!0),this._set("error",null),s.deleteAttachment(e).then((e=>(this._set("submitting",!1),this._set("error",null),s.mode="view",e))).catch((e=>{throw this._set("submitting",!1),this._set("error",new t("attachments:delete-attachment",this.messages.deleteErrorMessage,e)),e}))}updateAttachment(){const{viewModel:e}=this,{_updateAttachmentForm:s}=this;return this._set("submitting",!0),this._set("error",null),e.updateAttachment(s).then((t=>(this._set("submitting",!1),this._set("error",null),e.mode="view",t))).catch((e=>{throw this._set("submitting",!1),this._set("error",new t("attachments:update-attachment",this.messages.updateErrorMessage,e)),e}))}addFile(){const e=this.viewModel.addFile(this.selectedFile,this._addAttachmentForm);return this.viewModel.mode="view",e}updateFile(){const{viewModel:e}=this,t=e.updateFile(this.selectedFile,this._updateAttachmentForm,e.activeFileInfo);return e.mode="view",t}deleteFile(e){const t=this.viewModel.deleteFile(e||this.viewModel.activeFileInfo?.file);return this.viewModel.mode="view",t}render(){const{submitting:e,viewModel:t}=this,{state:s}=t;return _("div",{class:this.classes(A.base,A.esriWidget)},e?this.renderProgressBar():null,"loading"===s?this.renderLoading():this.renderAttachments(),this.renderErrorMessage())}renderErrorMessage(){const{error:e,visibleElements:t}=this;return e&&t.errorMessage?_("div",{key:"error-message",class:A.errorMessage},e.message):null}renderAttachments(){const{activeFileInfo:e,mode:t,activeAttachmentInfo:s}=this.viewModel;return"add"===t?this.renderAddForm():"edit"===t?this.renderDetailsForm(s||e):this.renderAttachmentContainer()}renderLoading(){return _("div",{class:A.loaderContainer,key:"loader"},_("div",{class:A.loader}))}renderProgressBar(){return this.visibleElements.progressBar?_("div",{class:A.progressBar,key:"progress-bar"}):null}renderAddForm(){const{submitting:e,selectedFile:t}=this,s=e||!t,i=this.visibleElements.cancelAddButton?_("button",{type:"button",bind:this,disabled:e,onclick:this._cancelForm,class:this.classes(A.esriButton,A.esriButtonTertiary,A.esriButtonSmall,A.esriButtonHalf,e&&A.buttonDisabled)},this.messages.cancel):null,a=this.visibleElements.addSubmitButton?_("button",{type:"submit",disabled:s,class:this.classes(A.esriButton,A.esriButtonSecondary,A.esriButtonSmall,A.esriButtonHalf,{[A.buttonDisabled]:s})},this.messages.add):null,n=t?_("span",{key:"file-name",class:A.fileName},t.name):null,r=_("form",{bind:this,afterCreate:p,afterRemoved:g,"data-node-ref":"_addAttachmentForm",onsubmit:this._submitAddAttachment},_("fieldset",{class:A.fileFieldset},n,_("label",{class:this.classes(A.fileLabel,A.esriButton,A.esriButtonSecondary)},t?this.messages.changeFile:this.messages.selectFile,_("input",{class:A.fileInput,type:"file",name:"attachment",bind:this,onchange:this._handleFileInputChange}))),a,i);return _("div",{key:"add-form-container",class:A.formNode},r)}renderDetailsForm(e){const{visibleElements:t,viewModel:s,selectedFile:i,submitting:a}=this,{capabilities:r}=s,l=a||!i;let o,d,c,m;i?(o=i.type,d=i.name,c=i.size):e&&"file"in e?(o=e.file.type,d=e.file.name,c=e.file.size):e&&"contentType"in e&&(o=e.contentType,d=e.name,c=e.size,m=e.url);const h=r.editing&&r.operations?.delete&&t.deleteButton?_("button",{key:"delete-button",type:"button",disabled:a,bind:this,onclick:t=>this._submitDeleteAttachment(t,e),class:this.classes(A.esriButton,A.esriButtonSmall,A.esriButtonTertiary,A.deleteButton,{[A.buttonDisabled]:a})},this.messages.delete):void 0,u=r.editing&&r.operations?.update&&t.updateButton?_("button",{disabled:l,key:"update-button",type:"submit",class:this.classes(A.esriButton,A.esriButtonSmall,A.esriButtonThird,{[A.buttonDisabled]:l})},this.messages.update):void 0,b=this.visibleElements.cancelUpdateButton?_("button",{disabled:a,key:"cancel-button",type:"button",bind:this,onclick:this._cancelForm,class:this.classes(A.esriButton,A.esriButtonSmall,A.esriButtonTertiary,A.esriButtonThird,{[A.buttonDisabled]:a})},this.messages.cancel):void 0,f=r.editing&&r.operations?.update?_("fieldset",{key:"file",class:A.fileFieldset},_("span",{key:"file-name",class:A.fileName},d),_("label",{class:this.classes(A.fileLabel,A.esriButton,A.esriButtonSecondary)},this.messages.changeFile,_("input",{class:A.fileInput,type:"file",name:"attachment",bind:this,onchange:this._handleFileInputChange}))):void 0,v=_("fieldset",{key:"size",class:A.metadataFieldset},_("label",null,n(this.messagesUnits,c??0))),y=_("fieldset",{key:"content-type",class:A.metadataFieldset},_("label",null,o)),w=null!=m?_("a",{class:A.itemLink,href:m,rel:"noreferrer",target:"_blank"},this.renderImageMask(e,400),_("div",{class:A.itemLinkOverlay},_("span",{class:A.itemLinkOverlayIcon},_("calcite-icon",{icon:"launch"})))):this.renderImageMask(e,400),F=_("form",{bind:this,afterCreate:p,afterRemoved:g,"data-node-ref":"_updateAttachmentForm",onsubmit:t=>this._submitUpdateAttachment(t,e)},_("div",{class:A.metadata},v,y),f,_("div",{class:A.actions},h,b,u));return _("div",{key:"edit-form-container",class:A.formNode},w,F)}renderImageMask(e,t){return e?"file"in e?this.renderGenericImageMask(e.file.name,e.file.type):this.renderImageMaskForAttachment(e,t):null}renderGenericImageMask(e,t){const{supportsResizeAttachments:s}=this.viewModel,i=m(t),a={[A.itemImageResizable]:s};return _("div",{class:this.classes(A.itemMaskIcon,A.itemMask)},_("img",{title:e,alt:e,src:i,class:this.classes(a,A.itemImage)}))}renderImageMaskForAttachment(e,t){const{supportsResizeAttachments:s}=this.viewModel;if(!e)return null;const{contentType:i,name:a,url:n}=e;if(!s||!h(i))return this.renderGenericImageMask(a,i);const r=this._getCSSTransform(e),l=r?{transform:r,"image-orientation":"none"}:{},o=`${n}${n?.includes("?")?"&":"?"}w=${t}`,d={[A.itemImageResizable]:s};return _("div",{class:this.classes(A.itemMask)},_("img",{styles:l,alt:a,title:a,src:o,class:this.classes(d,A.itemImage)}))}renderFile(e){const{file:t}=e;return _("li",{class:A.item,key:t},_("button",{key:"details-button",bind:this,class:A.itemButton,title:this.messages.attachmentDetails,"aria-label":this.messages.attachmentDetails,onclick:()=>this._startEditFile(e),type:"button"},this.renderImageMask(e),_("label",{class:A.itemLabel},_("span",{class:A.itemFilename},t.name||this.messages.noTitle),_("span",{"aria-hidden":"true",class:this.classes(A.itemChevronIcon,b(this.container)?A.iconLeft:A.iconRight)}))))}renderAttachmentInfo({attachmentInfo:e,displayType:t}){const{viewModel:s,effectiveDisplayType:i}=this,{capabilities:a,supportsResizeAttachments:n}=s,{contentType:r,name:l,url:o}=e,d=this.renderImageMask(e,"list"===t?48:400),c=a.editing?_("span",{"aria-hidden":"true",class:this.classes(A.itemChevronIcon,b(this.container)?A.iconLeft:A.iconRight)}):null,m=[d,"preview"===i&&n&&h(r)?null:_("label",{class:A.itemLabel},_("span",{class:A.itemFilename},l||this.messages.noTitle),c)],u=a.editing?_("button",{key:"details-button",bind:this,class:A.itemButton,title:this.messages.attachmentDetails,"aria-label":this.messages.attachmentDetails,"data-attachment-info-id":e.id,onclick:()=>this._startEditAttachment(e),type:"button"},m):_("a",{key:"details-link",class:A.itemButton,href:o??void 0,target:"_blank"},m);return _("li",{class:A.item,key:e},u)}renderAttachmentContainer(){const{effectiveDisplayType:e,viewModel:t,visibleElements:s}=this,{attachmentInfos:i,capabilities:a,fileInfos:n}=t,r=!!i?.length,l=!!n?.length,o={[A.containerList]:"preview"!==e,[A.containerPreview]:"preview"===e},d=a.editing&&a.operations?.add&&s.addButton?_("button",{bind:this,onclick:()=>this._startAddAttachment(),class:this.classes(A.esriButton,A.esriButtonTertiary,A.addAttachmentButton),type:"button"},_("span",{"aria-hidden":"true",class:this.classes(A.itemAddIcon,A.iconPlus)}),this.messages.add):void 0,c=r?_("ul",{key:"attachments-list",class:A.items},i.toArray().map((t=>this.renderAttachmentInfo({attachmentInfo:t,displayType:e})))):void 0,m=l?_("ul",{key:"file-list",class:A.items},n.toArray().map((e=>this.renderFile(e)))):void 0,h=l||r?void 0:_("div",{class:A.empty},this.messages.noAttachments);return _("div",{key:"attachments-container",class:this.classes(A.container,o)},c,m,h,d)}_modeChanged(){this._set("error",null),this._set("selectedFile",null)}_handleFileInputChange(e){const t=e.target,s=t&&t.files&&t.files.item(0);this._set("selectedFile",s)}_submitDeleteAttachment(e,t){e.preventDefault(),t&&("file"in t?this.deleteFile(t.file):t&&this.deleteAttachment(t))}_submitAddAttachment(e){e.preventDefault(),this.viewModel.filesEnabled?this.addFile():this.addAttachment()}_submitUpdateAttachment(e,t){e.preventDefault(),t&&"file"in t?this.updateFile():this.updateAttachment()}_startEditAttachment(e){const{viewModel:t}=this;t.activeFileInfo=null,t.activeAttachmentInfo=e,t.mode="edit"}_startEditFile(e){const{viewModel:t}=this;t.activeAttachmentInfo=null,t.activeFileInfo=e,t.mode="edit"}_startAddAttachment(){this.viewModel.mode="add"}_cancelForm(e){e.preventDefault(),this.viewModel.mode="view"}_getCSSTransform(e){const{orientationInfo:t}=e;return!this._supportsImageOrientation&&t?[t.rotation?`rotate(${t.rotation}deg)`:"",t.mirrored?"scaleX(-1)":""].join(" "):""}};e([r()],k.prototype,"capabilities",null),e([r()],k.prototype,"displayType",void 0),e([r({readOnly:!0})],k.prototype,"effectiveDisplayType",null),e([r()],k.prototype,"graphic",null),e([r()],k.prototype,"label",null),e([r(),f("esri/widgets/Attachments/t9n/Attachments")],k.prototype,"messages",void 0),e([r(),f("esri/core/t9n/Units")],k.prototype,"messagesUnits",void 0),e([r({readOnly:!0})],k.prototype,"selectedFile",void 0),e([r({readOnly:!0})],k.prototype,"submitting",void 0),e([r({readOnly:!0})],k.prototype,"error",void 0),e([r({type:c})],k.prototype,"viewModel",void 0),e([r()],k.prototype,"visibleElements",void 0),e([l("visibleElements")],k.prototype,"castVisibleElements",null),k=e([o("esri.widgets.Attachments")],k);const B=k;export{B as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Error.js";import{on as s,watch as i,initial as a}from"../core/reactiveUtils.js";import{formatFileSize as n}from"../core/unitFormatUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import d from"./Widget.js";import c from"./Attachments/AttachmentsViewModel.js";import{getIconPath as m,isSupportedImage as h}from"./Attachments/support/attachmentUtils.js";import{loadCalciteComponents as u}from"./support/componentsUtils.js";import{storeNode as p,discardNode as g,isRTL as b}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{tsx as _}from"./support/jsxFactory.js";const v={addButton:!0,addSubmitButton:!0,cancelAddButton:!0,cancelUpdateButton:!0,deleteButton:!0,errorMessage:!0,progressBar:!0,updateButton:!0},y="esri-attachments",w="esri-button",A={base:y,loaderContainer:`${y}__loader-container`,loader:`${y}__loader`,fadeIn:`${y}--fade-in`,container:`${y}__container`,containerList:`${y}__container--list`,containerPreview:`${y}__container--preview`,actions:`${y}__actions`,deleteButton:`${y}__delete-button`,addAttachmentButton:`${y}__add-attachment-button`,errorMessage:`${y}__error-message`,items:`${y}__items`,item:`${y}__item`,itemButton:`${y}__item-button`,itemMask:`${y}__item-mask`,itemMaskIcon:`${y}__item-mask--icon`,itemImage:`${y}__image`,itemImageResizable:`${y}__image--resizable`,itemLabel:`${y}__label`,itemFilename:`${y}__filename`,itemChevronIcon:`${y}__item-chevron-icon`,itemLink:`${y}__item-link`,itemLinkOverlay:`${y}__item-link-overlay`,itemLinkOverlayIcon:`${y}__item-link-overlay-icon`,itemEditIcon:`${y}__item-edit-icon`,itemAddIcon:`${y}__item-add-icon`,itemAddButton:`${y}__item-add-button`,formNode:`${y}__form-node`,fileFieldset:`${y}__file-fieldset`,fileLabel:`${y}__file-label`,fileName:`${y}__file-name`,fileInput:`${y}__file-input`,metadata:`${y}__metadata`,metadataFieldset:`${y}__metadata-fieldset`,progressBar:`${y}__progress-bar`,esriWidget:"esri-widget",esriButton:w,buttonDisabled:`${w}--disabled`,esriButtonSecondary:`${w}--secondary`,esriButtonTertiary:`${w}--tertiary`,esriButtonThird:`${w}--third`,esriButtonSmall:`${w}--small`,esriButtonHalf:`${w}--half`,empty:"esri-widget__content--empty",iconExternalLink:"esri-icon-link-external",iconEdit:"esri-icon-edit",iconRight:"esri-icon-right",iconLeft:"esri-icon-left",iconPlus:"esri-icon-plus"},k=window.CSS;let F=class extends d{constructor(e,t){super(e,t),this.displayType="auto",this.messages=null,this.messagesUnits=null,this.selectedFile=null,this.submitting=!1,this.viewModel=null,this.visibleElements={...v},this._supportsImageOrientation=k&&k.supports&&k.supports("image-orientation","from-image"),this._addAttachmentForm=null,this._updateAttachmentForm=null}initialize(){this.viewModel||(this.viewModel=new c),this.addHandles([s((()=>this.viewModel?.attachmentInfos),"change",(()=>this.scheduleRender())),s((()=>this.viewModel?.fileInfos),"change",(()=>this.scheduleRender())),i((()=>this.viewModel?.mode),(()=>this._modeChanged()),a)])}loadDependencies(){return u({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js")})}get capabilities(){return this.viewModel.capabilities}set capabilities(e){this.viewModel.capabilities=e}get effectiveDisplayType(){const{displayType:e}=this;return e&&"auto"!==e?e:this.viewModel.supportsResizeAttachments?"preview":"list"}get graphic(){return this.viewModel.graphic}set graphic(e){this.viewModel.graphic=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}castVisibleElements(e){return{...v,...e}}addAttachment(){const{_addAttachmentForm:e,viewModel:s}=this;return this._set("submitting",!0),this._set("error",null),s.addAttachment(e).then((e=>(this._set("submitting",!1),this._set("error",null),s.mode="view",e))).catch((e=>{throw this._set("submitting",!1),this._set("error",new t("attachments:add-attachment",this.messages.addErrorMessage,e)),e}))}deleteAttachment(e){const{viewModel:s}=this;return this._set("submitting",!0),this._set("error",null),s.deleteAttachment(e).then((e=>(this._set("submitting",!1),this._set("error",null),s.mode="view",e))).catch((e=>{throw this._set("submitting",!1),this._set("error",new t("attachments:delete-attachment",this.messages.deleteErrorMessage,e)),e}))}updateAttachment(){const{viewModel:e}=this,{_updateAttachmentForm:s}=this;return this._set("submitting",!0),this._set("error",null),e.updateAttachment(s).then((t=>(this._set("submitting",!1),this._set("error",null),e.mode="view",t))).catch((e=>{throw this._set("submitting",!1),this._set("error",new t("attachments:update-attachment",this.messages.updateErrorMessage,e)),e}))}addFile(){const e=this.viewModel.addFile(this.selectedFile,this._addAttachmentForm);return this.viewModel.mode="view",e}updateFile(){const{viewModel:e}=this,t=e.updateFile(this.selectedFile,this._updateAttachmentForm,e.activeFileInfo);return e.mode="view",t}deleteFile(e){const t=this.viewModel.deleteFile(e||this.viewModel.activeFileInfo?.file);return this.viewModel.mode="view",t}render(){const{submitting:e,viewModel:t}=this,{state:s}=t;return _("div",{class:this.classes(A.base,A.esriWidget)},e?this.renderProgressBar():null,"loading"===s?this.renderLoading():this.renderAttachments(),this.renderErrorMessage())}renderErrorMessage(){const{error:e,visibleElements:t}=this;return e&&t.errorMessage?_("div",{key:"error-message",class:A.errorMessage},e.message):null}renderAttachments(){const{activeFileInfo:e,mode:t,activeAttachmentInfo:s}=this.viewModel;return"add"===t?this.renderAddForm():"edit"===t?this.renderDetailsForm(s||e):this.renderAttachmentContainer()}renderLoading(){return _("div",{class:A.loaderContainer,key:"loader"},_("div",{class:A.loader}))}renderProgressBar(){return this.visibleElements.progressBar?_("div",{class:A.progressBar,key:"progress-bar"}):null}renderAddForm(){const{submitting:e,selectedFile:t}=this,s=e||!t,i=this.visibleElements.cancelAddButton?_("button",{type:"button",bind:this,disabled:e,onclick:this._cancelForm,class:this.classes(A.esriButton,A.esriButtonTertiary,A.esriButtonSmall,A.esriButtonHalf,e&&A.buttonDisabled)},this.messages.cancel):null,a=this.visibleElements.addSubmitButton?_("button",{type:"submit",disabled:s,class:this.classes(A.esriButton,A.esriButtonSecondary,A.esriButtonSmall,A.esriButtonHalf,{[A.buttonDisabled]:s})},this.messages.add):null,n=t?_("span",{key:"file-name",class:A.fileName},t.name):null,r=_("form",{bind:this,afterCreate:p,afterRemoved:g,"data-node-ref":"_addAttachmentForm",onsubmit:this._submitAddAttachment},_("fieldset",{class:A.fileFieldset},n,_("label",{class:this.classes(A.fileLabel,A.esriButton,A.esriButtonSecondary)},t?this.messages.changeFile:this.messages.selectFile,_("input",{class:A.fileInput,type:"file",name:"attachment",bind:this,onchange:this._handleFileInputChange}))),a,i);return _("div",{key:"add-form-container",class:A.formNode},r)}renderDetailsForm(e){const{visibleElements:t,viewModel:s,selectedFile:i,submitting:a}=this,{capabilities:r}=s,l=a||!i;let o,d,c,m;i?(o=i.type,d=i.name,c=i.size):e&&"file"in e?(o=e.file.type,d=e.file.name,c=e.file.size):e&&"contentType"in e&&(o=e.contentType,d=e.name,c=e.size,m=e.url);const h=r.editing&&r.operations?.delete&&t.deleteButton?_("button",{key:"delete-button",type:"button",disabled:a,bind:this,onclick:t=>this._submitDeleteAttachment(t,e),class:this.classes(A.esriButton,A.esriButtonSmall,A.esriButtonTertiary,A.deleteButton,{[A.buttonDisabled]:a})},this.messages.delete):void 0,u=r.editing&&r.operations?.update&&t.updateButton?_("button",{disabled:l,key:"update-button",type:"submit",class:this.classes(A.esriButton,A.esriButtonSmall,A.esriButtonThird,{[A.buttonDisabled]:l})},this.messages.update):void 0,b=this.visibleElements.cancelUpdateButton?_("button",{disabled:a,key:"cancel-button",type:"button",bind:this,onclick:this._cancelForm,class:this.classes(A.esriButton,A.esriButtonSmall,A.esriButtonTertiary,A.esriButtonThird,{[A.buttonDisabled]:a})},this.messages.cancel):void 0,f=r.editing&&r.operations?.update?_("fieldset",{key:"file",class:A.fileFieldset},_("span",{key:"file-name",class:A.fileName},d),_("label",{class:this.classes(A.fileLabel,A.esriButton,A.esriButtonSecondary)},this.messages.changeFile,_("input",{class:A.fileInput,type:"file",name:"attachment",bind:this,onchange:this._handleFileInputChange}))):void 0,v=_("fieldset",{key:"size",class:A.metadataFieldset},_("label",null,n(this.messagesUnits,c??0))),y=_("fieldset",{key:"content-type",class:A.metadataFieldset},_("label",null,o)),w=null!=m?_("a",{class:A.itemLink,href:m,rel:"noreferrer",target:"_blank"},this.renderImageMask(e,400),_("div",{class:A.itemLinkOverlay},_("span",{class:A.itemLinkOverlayIcon},_("calcite-icon",{icon:"launch"})))):this.renderImageMask(e,400),k=_("form",{bind:this,afterCreate:p,afterRemoved:g,"data-node-ref":"_updateAttachmentForm",onsubmit:t=>this._submitUpdateAttachment(t,e)},_("div",{class:A.metadata},v,y),f,_("div",{class:A.actions},h,b,u));return _("div",{key:"edit-form-container",class:A.formNode},w,k)}renderImageMask(e,t){return e?"file"in e?this.renderGenericImageMask(e.file.name,e.file.type):this.renderImageMaskForAttachment(e,t):null}renderGenericImageMask(e,t){const{supportsResizeAttachments:s}=this.viewModel,i=m(t),a={[A.itemImageResizable]:s};return _("div",{key:i,class:this.classes(A.itemMaskIcon,A.itemMask)},_("img",{title:e,alt:e,src:i,class:this.classes(a,A.itemImage)}))}renderImageMaskForAttachment(e,t){const{supportsResizeAttachments:s}=this.viewModel;if(!e)return null;const{contentType:i,name:a,url:n}=e;if(!s||!h(i))return this.renderGenericImageMask(a,i);const r=this._getCSSTransform(e),l=r?{transform:r,"image-orientation":"none"}:{},o=`${n}${n?.includes("?")?"&":"?"}w=${t}`,d={[A.itemImageResizable]:s};return _("div",{key:o,class:this.classes(A.itemMask)},_("img",{styles:l,alt:a,title:a,src:o,class:this.classes(d,A.itemImage)}))}renderFile(e){const{file:t}=e;return _("li",{class:A.item,key:t},_("button",{key:"details-button",bind:this,class:A.itemButton,title:this.messages.attachmentDetails,"aria-label":this.messages.attachmentDetails,onclick:()=>this._startEditFile(e),type:"button"},this.renderImageMask(e),_("label",{class:A.itemLabel},_("span",{class:A.itemFilename},t.name||this.messages.noTitle),_("span",{"aria-hidden":"true",class:this.classes(A.itemChevronIcon,b(this.container)?A.iconLeft:A.iconRight)}))))}renderAttachmentInfo({attachmentInfo:e,displayType:t}){const{viewModel:s,effectiveDisplayType:i}=this,{capabilities:a,supportsResizeAttachments:n}=s,{contentType:r,name:l,url:o}=e,d=this.renderImageMask(e,"list"===t?48:400),c=a.editing?_("span",{"aria-hidden":"true",class:this.classes(A.itemChevronIcon,b(this.container)?A.iconLeft:A.iconRight)}):null,m=[d,"preview"===i&&n&&h(r)?null:_("label",{class:A.itemLabel},_("span",{class:A.itemFilename},l||this.messages.noTitle),c)],u=a.editing?_("button",{key:"details-button",bind:this,class:A.itemButton,title:this.messages.attachmentDetails,"aria-label":this.messages.attachmentDetails,"data-attachment-info-id":e.id,onclick:()=>this._startEditAttachment(e),type:"button"},m):_("a",{key:"details-link",class:A.itemButton,href:o??void 0,target:"_blank"},m);return _("li",{class:A.item,key:e},u)}renderAttachmentContainer(){const{effectiveDisplayType:e,viewModel:t,visibleElements:s}=this,{attachmentInfos:i,capabilities:a,fileInfos:n}=t,r=!!i?.length,l=!!n?.length,o={[A.containerList]:"preview"!==e,[A.containerPreview]:"preview"===e},d=a.editing&&a.operations?.add&&s.addButton?_("button",{bind:this,onclick:()=>this._startAddAttachment(),class:this.classes(A.esriButton,A.esriButtonTertiary,A.addAttachmentButton),type:"button"},_("span",{"aria-hidden":"true",class:this.classes(A.itemAddIcon,A.iconPlus)}),this.messages.add):void 0,c=r?_("ul",{key:"attachments-list",class:A.items},i.toArray().map((t=>this.renderAttachmentInfo({attachmentInfo:t,displayType:e})))):void 0,m=l?_("ul",{key:"file-list",class:A.items},n.toArray().map((e=>this.renderFile(e)))):void 0,h=l||r?void 0:_("div",{class:A.empty},this.messages.noAttachments);return _("div",{key:"attachments-container",class:this.classes(A.container,o)},c,m,h,d)}_modeChanged(){this._set("error",null),this._set("selectedFile",null)}_handleFileInputChange(e){const t=e.target,s=t&&t.files&&t.files.item(0);this._set("selectedFile",s)}_submitDeleteAttachment(e,t){e.preventDefault(),t&&("file"in t?this.deleteFile(t.file):t&&this.deleteAttachment(t))}_submitAddAttachment(e){e.preventDefault(),this.viewModel.filesEnabled?this.addFile():this.addAttachment()}_submitUpdateAttachment(e,t){e.preventDefault(),t&&"file"in t?this.updateFile():this.updateAttachment()}_startEditAttachment(e){const{viewModel:t}=this;t.activeFileInfo=null,t.activeAttachmentInfo=e,t.mode="edit"}_startEditFile(e){const{viewModel:t}=this;t.activeAttachmentInfo=null,t.activeFileInfo=e,t.mode="edit"}_startAddAttachment(){this.viewModel.mode="add"}_cancelForm(e){e.preventDefault(),this.viewModel.mode="view"}_getCSSTransform(e){const{orientationInfo:t}=e;return!this._supportsImageOrientation&&t?[t.rotation?`rotate(${t.rotation}deg)`:"",t.mirrored?"scaleX(-1)":""].join(" "):""}};e([r()],F.prototype,"capabilities",null),e([r()],F.prototype,"displayType",void 0),e([r({readOnly:!0})],F.prototype,"effectiveDisplayType",null),e([r()],F.prototype,"graphic",null),e([r()],F.prototype,"label",null),e([r(),f("esri/widgets/Attachments/t9n/Attachments")],F.prototype,"messages",void 0),e([r(),f("esri/core/t9n/Units")],F.prototype,"messagesUnits",void 0),e([r({readOnly:!0})],F.prototype,"selectedFile",void 0),e([r({readOnly:!0})],F.prototype,"submitting",void 0),e([r({readOnly:!0})],F.prototype,"error",void 0),e([r({type:c})],F.prototype,"viewModel",void 0),e([r()],F.prototype,"visibleElements",void 0),e([l("visibleElements")],F.prototype,"castVisibleElements",null),F=e([o("esri.widgets.Attachments")],F);const B=F;export{B 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 t}from"../../chunks/tslib.es6.js";import{result as e}from"../../core/asyncUtils.js";import i from"../../core/Collection.js";import{HandleOwner as r}from"../../core/HandleOwner.js";import{watch as o,on as s,when as n}from"../../core/reactiveUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import u from"../../geometry/Extent.js";import h from"../../geometry/SpatialReference.js";import{extentContainsPoint as l}from"../../geometry/support/contains.js";import{geographicToWebMercator as d,project as p}from"../../geometry/support/webMercatorUtils.js";function m(t,e){return t&&"copyright"in t&&(!e||"function"==typeof t.originOf&&"user"===t.originOf("copyright"))}function f(t,e){return t.length!==e.length||t.some(((t,i)=>t.text!==e[i].text))}function y(t,e,i){if(!i||!e)return;t.find((t=>t.layerView===e&&t.text===i))||t.push({text:i,layerView:e})}function b(t){return"bing-maps"===t.type}const g=[];let _=class extends r{constructor(t){super(t),this._clear=()=>{this._fetchedAttributionData.clear(),this._pendingAttributions.clear(),this.handles.remove("suspension"),this.notifyChange("state")},this._pendingAttributions=new Set,this._fetchedAttributionData=new Map,this.items=new i,this.view=null,this._allLayerViewsChange=t=>{this.handles.remove("suspension");const e=this.get("view.allLayerViews");e&&this.handles.add(e.map((t=>o((()=>[t.suspended,t.layer?.attributionVisible]),(()=>this._updateAttributionItems())))),"suspension"),t&&t.removed&&t.removed.forEach((t=>{this._pendingAttributions.delete(t),this._fetchedAttributionData.delete(t)})),this._updateAttributionItems()},this.handles.add([s((()=>this.view?.allLayerViews),"change",(t=>this._allLayerViewsChange(t)),{onListenerAdd:()=>this._allLayerViewsChange(),onListenerRemove:this._clear}),n((()=>!0===this.view?.stationary),(()=>this._updateAttributionItems()))])}destroy(){this.view=null,this._fetchedAttributionData.clear(),this._pendingAttributions.clear(),this.items.removeAll()}get state(){return this.get("view.ready")?this._pendingAttributions.size>0?"loading":"ready":"disabled"}_updateAttributionItems(){const t=this.view,e=t?.allLayerViews;g.length=0,t&&e?(e.forEach((e=>{if(e.suspended||!e.layer?.attributionVisible)return;const i=e.layer;if(m(i,"user"))return void y(g,e,i.copyright);if(i.hasAttributionData){if(this._fetchedAttributionData.has(e)){const r=this._fetchedAttributionData.get(e);return void(r?y(g,e,this._getDynamicAttribution(r,t,i)):m(i)&&y(g,e,i.copyright))}return void this._fetchAttributionData(e)}const r=i.get("portalItem.accessInformation");y(g,e,r||i.copyright)})),f(this.items,g)&&(this.items.removeAll(),this.items.addMany(g)),g.length=0,this.notifyChange("state")):this._clear()}async _fetchAttributionData(t){if(this._pendingAttributions.has(t))return;this._pendingAttributions.add(t);const i=await e(t.layer.fetchAttributionData());if(this._pendingAttributions.has(t)){const e=i.ok?this._createContributionIndex(i.value,b(t.layer)):null;this._pendingAttributions.delete(t),this._fetchedAttributionData.set(t,e)}this._updateAttributionItems()}_createContributionIndex(t,e){const i=t.contributors,r={};if(!i)return r;for(let o=0;o<i.length;o++){const t=i[o],s=t.coverageAreas;if(!s)return;for(const i of s){const s=i.bbox,n=i.zoomMin-(e&&i.zoomMin?1:0),a=i.zoomMax-(e&&i.zoomMax?1:0),c=new u({xmin:s[1],ymin:s[0],xmax:s[3],ymax:s[2],spatialReference:h.WGS84}),l={extent:d(c),attribution:t.attribution||"",score:null!=i.score?i.score:100,id:o};for(let t=n;t<=a;t++)r[t]??=[],r[t].push(l)}}return r.maxKey=Math.max.apply(null,Object.keys(r)),r}_getDynamicAttribution(t,e,i){const{extent:r,scale:o}=e;let s=i.tileInfo?.scaleToZoom(o)??0;if(s=Math.min(t.maxKey??0,Math.round(s)),!r||null==s||s<=-1)return"";const n=t[s],a=p(r.center.clone().normalize(),e.spatialReference),c=new Set;return n?n.filter((t=>{const e=t.id,i=!c.has(e)&&a&&t.extent&&l(t.extent,a);return i&&c.add(e),i})).sort(((t,e)=>e.score-t.score||t.objectId-e.objectId)).map((t=>t.attribution)).join(", "):""}};t([a({readOnly:!0,type:i})],_.prototype,"items",void 0),t([a({readOnly:!0})],_.prototype,"state",null),t([a()],_.prototype,"view",void 0),_=t([c("esri.widgets.Attribution.AttributionViewModel")],_);const A=_;export{A as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import{result as i}from"../../core/asyncUtils.js";import r from"../../core/Collection.js";import{watch as o,on as s,when as n}from"../../core/reactiveUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import u from"../../geometry/Extent.js";import l from"../../geometry/SpatialReference.js";import{extentContainsPoint as h}from"../../geometry/support/contains.js";import{geographicToWebMercator as p,project as d}from"../../geometry/support/webMercatorUtils.js";function m(t,e){return t&&"copyright"in t&&(!e||"function"==typeof t.originOf&&"user"===t.originOf("copyright"))}function f(t,e){return t.length!==e.length||t.some(((t,i)=>t.text!==e[i].text))}function y(t,e,i){if(!i||!e)return;t.find((t=>t.layerView===e&&t.text===i))||t.push({text:i,layerView:e})}function b(t){return"bing-maps"===t.type}const g=[];let A=class extends e{constructor(t){super(t),this._clear=()=>{this._fetchedAttributionData.clear(),this._pendingAttributions.clear(),this.removeHandles("suspension"),this.notifyChange("state")},this._pendingAttributions=new Set,this._fetchedAttributionData=new Map,this.items=new r,this.view=null,this._allLayerViewsChange=t=>{this.removeHandles("suspension");const e=this.get("view.allLayerViews");e&&this.addHandles(e.map((t=>o((()=>[t.suspended,t.layer?.attributionVisible]),(()=>this._updateAttributionItems())))).toArray(),"suspension"),t&&t.removed&&t.removed.forEach((t=>{this._pendingAttributions.delete(t),this._fetchedAttributionData.delete(t)})),this._updateAttributionItems()},this.addHandles([s((()=>this.view?.allLayerViews),"change",(t=>this._allLayerViewsChange(t)),{onListenerAdd:()=>this._allLayerViewsChange(),onListenerRemove:this._clear}),n((()=>!0===this.view?.stationary),(()=>this._updateAttributionItems()))])}destroy(){this.view=null,this._fetchedAttributionData.clear(),this._pendingAttributions.clear(),this.items.removeAll()}get state(){return this.get("view.ready")?this._pendingAttributions.size>0?"loading":"ready":"disabled"}_updateAttributionItems(){const t=this.view,e=t?.allLayerViews;g.length=0,t&&e?(e.forEach((e=>{if(e.suspended||!e.layer?.attributionVisible)return;const i=e.layer;if(m(i,"user"))return void y(g,e,i.copyright);if(i.hasAttributionData){if(this._fetchedAttributionData.has(e)){const r=this._fetchedAttributionData.get(e);return void(r?y(g,e,this._getDynamicAttribution(r,t,i)):m(i)&&y(g,e,i.copyright))}return void this._fetchAttributionData(e)}const r=i.get("portalItem.accessInformation");y(g,e,r||i.copyright)})),f(this.items,g)&&(this.items.removeAll(),this.items.addMany(g)),g.length=0,this.notifyChange("state")):this._clear()}async _fetchAttributionData(t){if(this._pendingAttributions.has(t))return;this._pendingAttributions.add(t);const e=await i(t.layer.fetchAttributionData());if(this._pendingAttributions.has(t)){const i=e.ok?this._createContributionIndex(e.value,b(t.layer)):null;this._pendingAttributions.delete(t),this._fetchedAttributionData.set(t,i)}this._updateAttributionItems()}_createContributionIndex(t,e){const i=t.contributors,r={};if(!i)return r;for(let o=0;o<i.length;o++){const t=i[o],s=t.coverageAreas;if(!s)return;for(const i of s){const s=i.bbox,n=i.zoomMin-(e&&i.zoomMin?1:0),a=i.zoomMax-(e&&i.zoomMax?1:0),c=new u({xmin:s[1],ymin:s[0],xmax:s[3],ymax:s[2],spatialReference:l.WGS84}),h={extent:p(c),attribution:t.attribution||"",score:null!=i.score?i.score:100,id:o};for(let t=n;t<=a;t++)r[t]??=[],r[t].push(h)}}return r.maxKey=Math.max.apply(null,Object.keys(r)),r}_getDynamicAttribution(t,e,i){const{extent:r,scale:o}=e;let s=i.tileInfo?.scaleToZoom(o)??0;if(s=Math.min(t.maxKey??0,Math.round(s)),!r||null==s||s<=-1)return"";const n=t[s],a=d(r.center.clone().normalize(),e.spatialReference),c=new Set;return n?n.filter((t=>{const e=t.id,i=!c.has(e)&&a&&t.extent&&h(t.extent,a);return i&&c.add(e),i})).sort(((t,e)=>e.score-t.score||t.objectId-e.objectId)).map((t=>t.attribution)).join(", "):""}};t([a({readOnly:!0,type:r})],A.prototype,"items",void 0),t([a({readOnly:!0})],A.prototype,"state",null),t([a()],A.prototype,"view",void 0),A=t([c("esri.widgets.Attribution.AttributionViewModel")],A);const _=A;export{_ 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"../../Basemap.js";import s from"../../core/Collection.js";import{HandleOwnerMixin as i}from"../../core/HandleOwner.js";import a from"../../core/Loadable.js";import{watch as r,on as o,when as n}from"../../core/reactiveUtils.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import{cast as c}from"../../core/accessorSupport/decorators/cast.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as m}from"../../core/accessorSupport/decorators/subclass.js";import{canProjectWithoutEngine as l,isLoaded as u,load as d}from"../../geometry/projection.js";import{equals as h}from"../../geometry/support/spatialReferenceUtils.js";import{contentEquals as f}from"../../support/basemapUtils.js";import{default3DCompatibility as y,default2DCompatibility as v}from"./support/basemapCompatibilityUtils.js";import b from"./support/BasemapGalleryItem.js";import j from"./support/LocalBasemapsSource.js";import g from"./support/PortalBasemapsSource.js";const w=s.ofType(b);function B(e){return e&&"esri.portal.Portal"===e.declaredClass}function _(e){return e&&!(e instanceof g)&&(!!e.portal||!!e.query)}function I(e){return e&&"basemaps"in e&&"state"in e&&"refresh"in e}let R=class extends(i(a)){constructor(e){super(e),this._loadingProjectionEngine=!1,this.items=new w,this.source=new g,this.view=null}initialize(){const e=()=>this._recreateItems();this.handles.add([r((()=>"ready"===this.state?this.compatibilityFunction:null),(()=>this._updateItems())),o((()=>this.source?.basemaps),"change",e,{onListenerAdd:e}),n((()=>this.view),(()=>{this.source instanceof g&&(this.source.viewType=this.view?.type)}),{once:!0})])}get activeBasemap(){return this.view?.map?.basemap??null}set activeBasemap(e){const s=this.view;if(!s?.map)return;const i="string"==typeof e?t.fromId(e):e;if(!i||!s.ready)return s.map.basemap=i,void this._clearOverride("activeBasemap");const a=i.spatialReference||this.items?.find((e=>this.basemapEquals(i,e.basemap)))?.spatialReference;if(a&&"spatialReferenceLocked"in s&&!s.spatialReferenceLocked){const t=s.spatialReference;if(null!=a&&!h(t,a)&&!l(s.spatialReference,a)&&!u())return this._override("activeBasemap",i),this._loadingProjectionEngine=!0,void d().then((()=>{this._get("activeBasemap")===e&&(s.map.basemap=e,s.spatialReference=a,this._clearOverride("activeBasemap"))}),(()=>{})).then((()=>{this._loadingProjectionEngine=!1}));s.map.basemap=i,this._clearOverride("activeBasemap"),null==a||h(s.spatialReference,a)||(s.spatialReference=a)}else s.map.basemap=i,this._clearOverride("activeBasemap")}get activeBasemapIndex(){const{state:e,items:t,activeBasemap:s}=this;if("ready"!==e)return-1;const i=t.findIndex((e=>e.basemap===s));return-1===i?t.findIndex((e=>this.basemapEquals(e.basemap,s))):i}get compatibilityFunction(){return"3d"===this.view?.type?y:v}set compatibilityFunction(e){this._overrideIfSome("compatibilityFunction",e)}castSource(e){return Array.isArray(e)||s.isCollection(e)?new j({basemaps:e}):B(e)?new g({portal:e}):_(e)?new g(e):I(e)?e:null}get state(){return this.view?.ready&&this.source?this._loadingProjectionEngine?"loading":"ready":"disabled"}basemapEquals(e,t){return f(e,t)}refresh(){this._recreateItems()}load(e){return this.addResolvingPromise(a.isLoadable(this.source)?this.source.load(e):null),Promise.resolve(this)}_recreateItems(){const e=this.source?.basemaps,{view:t,compatibilityFunction:s}=this;this.items.removeAll().forEach((e=>e.destroy())),e&&this.items.addMany(e.map((e=>new b({basemap:e,compatibilityFunction:s,view:t}))))}_updateItems(){for(const e of this.items)e.compatibilityFunction=this.compatibilityFunction,e.view=this.view}};e([p()],R.prototype,"_loadingProjectionEngine",void 0),e([p()],R.prototype,"activeBasemap",null),e([p({readOnly:!0})],R.prototype,"activeBasemapIndex",null),e([p()],R.prototype,"compatibilityFunction",null),e([p({readOnly:!0,type:w})],R.prototype,"items",void 0),e([p()],R.prototype,"source",void 0),e([c("source")],R.prototype,"castSource",null),e([p({readOnly:!0})],R.prototype,"state",null),e([p()],R.prototype,"view",void 0),R=e([m("esri.widgets.BasemapGallery.BasemapGalleryViewModel")],R);const E=R;export{E as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Basemap.js";import s from"../../core/Collection.js";import i from"../../core/Loadable.js";import{watch as a,on as r,when as o}from"../../core/reactiveUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import{cast as p}from"../../core/accessorSupport/decorators/cast.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import{canProjectWithoutEngine as m,isLoaded as l,load as u}from"../../geometry/projection.js";import{equals as d}from"../../geometry/support/spatialReferenceUtils.js";import{contentEquals as h}from"../../support/basemapUtils.js";import{default3DCompatibility as f,default2DCompatibility as y}from"./support/basemapCompatibilityUtils.js";import v from"./support/BasemapGalleryItem.js";import b from"./support/LocalBasemapsSource.js";import j from"./support/PortalBasemapsSource.js";const g=s.ofType(v);function w(e){return e&&"esri.portal.Portal"===e.declaredClass}function B(e){return e&&!(e instanceof j)&&(!!e.portal||!!e.query)}function _(e){return e&&"basemaps"in e&&"state"in e&&"refresh"in e}let I=class extends i{constructor(e){super(e),this._loadingProjectionEngine=!1,this.items=new g,this.source=new j,this.view=null}initialize(){const e=()=>this._recreateItems();this.addHandles([a((()=>"ready"===this.state?this.compatibilityFunction:null),(()=>this._updateItems())),r((()=>this.source?.basemaps),"change",e,{onListenerAdd:e}),o((()=>this.view),(()=>{this.source instanceof j&&(this.source.viewType=this.view?.type)}),{once:!0})])}get activeBasemap(){return this.view?.map?.basemap??null}set activeBasemap(e){const s=this.view;if(!s?.map)return;const i="string"==typeof e?t.fromId(e):e;if(!i||!s.ready)return s.map.basemap=i,void this._clearOverride("activeBasemap");const a=i.spatialReference||this.items?.find((e=>this.basemapEquals(i,e.basemap)))?.spatialReference;if(a&&"spatialReferenceLocked"in s&&!s.spatialReferenceLocked){const t=s.spatialReference;if(null!=a&&!d(t,a)&&!m(s.spatialReference,a)&&!l())return this._override("activeBasemap",i),this._loadingProjectionEngine=!0,void u().then((()=>{this._get("activeBasemap")===e&&(s.map.basemap=e,s.spatialReference=a,this._clearOverride("activeBasemap"))}),(()=>{})).then((()=>{this._loadingProjectionEngine=!1}));s.map.basemap=i,this._clearOverride("activeBasemap"),null==a||d(s.spatialReference,a)||(s.spatialReference=a)}else s.map.basemap=i,this._clearOverride("activeBasemap")}get activeBasemapIndex(){const{state:e,items:t,activeBasemap:s}=this;if("ready"!==e)return-1;const i=t.findIndex((e=>e.basemap===s));return-1===i?t.findIndex((e=>this.basemapEquals(e.basemap,s))):i}get compatibilityFunction(){return"3d"===this.view?.type?f:y}set compatibilityFunction(e){this._overrideIfSome("compatibilityFunction",e)}castSource(e){return Array.isArray(e)||s.isCollection(e)?new b({basemaps:e}):w(e)?new j({portal:e}):B(e)?new j(e):_(e)?e:null}get state(){return this.view?.ready&&this.source?this._loadingProjectionEngine?"loading":"ready":"disabled"}basemapEquals(e,t){return h(e,t)}refresh(){this._recreateItems()}load(e){return this.addResolvingPromise(i.isLoadable(this.source)?this.source.load(e):null),Promise.resolve(this)}_recreateItems(){const e=this.source?.basemaps,{view:t,compatibilityFunction:s}=this;this.items.removeAll().forEach((e=>e.destroy())),e&&this.items.addMany(e.map((e=>new v({basemap:e,compatibilityFunction:s,view:t}))))}_updateItems(){for(const e of this.items)e.compatibilityFunction=this.compatibilityFunction,e.view=this.view}};e([n()],I.prototype,"_loadingProjectionEngine",void 0),e([n()],I.prototype,"activeBasemap",null),e([n({readOnly:!0})],I.prototype,"activeBasemapIndex",null),e([n()],I.prototype,"compatibilityFunction",null),e([n({readOnly:!0,type:g})],I.prototype,"items",void 0),e([n()],I.prototype,"source",void 0),e([p("source")],I.prototype,"castSource",null),e([n({readOnly:!0})],I.prototype,"state",null),e([n()],I.prototype,"view",void 0),I=e([c("esri.widgets.BasemapGallery.BasemapGalleryViewModel")],I);const R=I;export{R 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{HandleOwnerMixin as s}from"../../../core/HandleOwner.js";import{IdentifiableMixin as r}from"../../../core/Identifiable.js";import{isAbortError as i}from"../../../core/promiseUtils.js";import{watch as o,whenOnce as a}from"../../../core/reactiveUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as n}from"../../../core/accessorSupport/decorators/subclass.js";import{findSpatialReference as p}from"../../../support/basemapUtils.js";let c=class extends(r(s(t))){constructor(e){super(e),this.compatibilityFunction=null,this.error=null,this.state="loading",this.view=null}initialize(){const e=()=>this.refresh();this.handles.add([o((()=>this.basemap?.loadStatus),e),o((()=>this.compatibilityFunction),e),o((()=>this.view&&"basemapTerrain"in this.view&&this.view.basemapTerrain?.tilingScheme),e),o((()=>this.view?.ready),e),o((()=>this.view?.spatialReference),e)]),this.refresh()}destroy(){this._cancelRefresh(),this.basemap=null,this.compatibilityFunction=null,this.view=null}get _spatialReferenceTask(){return p(this.view,this.basemap)}set basemap(e){const t=this._get("basemap");t&&t.cancelLoad(),e&&e.load().catch((()=>{})),this._set("basemap",e)}get spatialReference(){return this._spatialReferenceTask.spatialReference}refresh(){this._cancelRefresh(),this._set("state","loading");const e=this.basemap?.loadStatus;if("loaded"!==e&&"failed"!==e)return;if(!this.compatibilityFunction)return void("loaded"===e?(this._set("state","ready"),this._set("error",null)):(this._set("state","error"),this._set("error",this.basemap.loadError)));const t=new AbortController,{signal:s}=t;this.compatibilityFunction(this,{signal:s}).then((()=>a((()=>!this._spatialReferenceTask.updating),s))).then((()=>{this._set("state","ready"),this._set("error",null)})).catch((e=>{i(e)||(this._set("state","error"),this._set("error",e))})),this._refreshController=t}_cancelRefresh(){this._refreshController&&(this._refreshController.abort(),this._refreshController=null)}};e([l({readOnly:!0})],c.prototype,"_spatialReferenceTask",null),e([l()],c.prototype,"basemap",null),e([l()],c.prototype,"compatibilityFunction",void 0),e([l({readOnly:!0})],c.prototype,"error",void 0),e([l({readOnly:!0})],c.prototype,"spatialReference",null),e([l({readOnly:!0})],c.prototype,"state",void 0),e([l()],c.prototype,"view",void 0),c=e([n("esri.widgets.BasemapGallery.support.BasemapGalleryItem")],c);const h=c;export{h as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import{IdentifiableMixin as s}from"../../../core/Identifiable.js";import{isAbortError as r}from"../../../core/promiseUtils.js";import{watch as i,whenOnce as o}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{findSpatialReference as n}from"../../../support/basemapUtils.js";let p=class extends(s(t)){constructor(e){super(e),this.compatibilityFunction=null,this.error=null,this.state="loading",this.view=null}initialize(){const e=()=>this.refresh();this.addHandles([i((()=>this.basemap?.loadStatus),e),i((()=>this.compatibilityFunction),e),i((()=>this.view&&"basemapTerrain"in this.view&&this.view.basemapTerrain?.tilingScheme),e),i((()=>this.view?.ready),e),i((()=>this.view?.spatialReference),e)]),this.refresh()}destroy(){this._cancelRefresh(),this.basemap=null,this.compatibilityFunction=null,this.view=null}get _spatialReferenceTask(){return n(this.view,this.basemap)}set basemap(e){const t=this._get("basemap");t&&t.cancelLoad(),e&&e.load().catch((()=>{})),this._set("basemap",e)}get spatialReference(){return this._spatialReferenceTask.spatialReference}refresh(){this._cancelRefresh(),this._set("state","loading");const e=this.basemap?.loadStatus;if("loaded"!==e&&"failed"!==e)return;if(!this.compatibilityFunction)return void("loaded"===e?(this._set("state","ready"),this._set("error",null)):(this._set("state","error"),this._set("error",this.basemap.loadError)));const t=new AbortController,{signal:s}=t;this.compatibilityFunction(this,{signal:s}).then((()=>o((()=>!this._spatialReferenceTask.updating),s))).then((()=>{this._set("state","ready"),this._set("error",null)})).catch((e=>{r(e)||(this._set("state","error"),this._set("error",e))})),this._refreshController=t}_cancelRefresh(){this._refreshController&&(this._refreshController.abort(),this._refreshController=null)}};e([a({readOnly:!0})],p.prototype,"_spatialReferenceTask",null),e([a()],p.prototype,"basemap",null),e([a()],p.prototype,"compatibilityFunction",void 0),e([a({readOnly:!0})],p.prototype,"error",void 0),e([a({readOnly:!0})],p.prototype,"spatialReference",null),e([a({readOnly:!0})],p.prototype,"state",void 0),e([a()],p.prototype,"view",void 0),p=e([l("esri.widgets.BasemapGallery.support.BasemapGalleryItem")],p);const c=p;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{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Basemap.js";import s from"../../../core/Collection.js";import a from"../../../core/Error.js";import r from"../../../core/Handles.js";import o from"../../../core/Loadable.js";import l from"../../../core/Logger.js";import{EsriPromiseMixin as i}from"../../../core/Promise.js";import{isAbortError as p}from"../../../core/promiseUtils.js";import{watch as n,initial as h}from"../../../core/reactiveUtils.js";import{property as m}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import u from"../../../portal/Portal.js";import d from"./LocalBasemapsSource.js";const y=s.ofType(e);let f=class extends(o.LoadableMixin(i(d))){constructor(t){super(t),this._handles=new r,this._lastPortalBasemapFetchController=null,this.basemaps=new y,this.filterFunction=null,this.portal=u.getDefault(),this.query=null,this.updateBasemapsCallback=null,this.viewType=null}initialize(){this._handles.add([n((()=>[this.filterFunction,this.loadStatus,this.portal?.basemapGalleryGroupQuery,this.portal?.basemapGalleryGroupQuery3D,this.portal?.user,this.query,this.updateBasemapsCallback]),(()=>this.refresh()),h)])}destroy(){this._handles.destroy(),this._handles=null,this.filterFunction=null,this.portal=null}get state(){return"not-loaded"===this.loadStatus?"not-loaded":"loading"===this.loadStatus||this._lastPortalBasemapFetchController?"loading":"ready"}load(t){return this.addResolvingPromise(this.portal.load(t)),Promise.resolve(this)}async refresh(){if("loaded"!==this.loadStatus)return;this._lastPortalBasemapFetchController&&(this._lastPortalBasemapFetchController.abort(),this._lastPortalBasemapFetchController=null);const t=this.portal,e=new AbortController;this._lastPortalBasemapFetchController=e,this.notifyChange("state");try{const s=await t.fetchBasemaps(this._toQueryString(this.query),{signal:e.signal,include3d:"3d"===this.viewType||void 0});await this._updateBasemaps(s)}catch(s){if(p(s))throw s;l.getLogger(this).warn(new a("basemap-source:fetch-basemaps-error","Could not fetch basemaps from portal.",{error:s})),await this._updateBasemaps()}this._lastPortalBasemapFetchController=null,this.notifyChange("state")}_toQueryString(t){return t&&"string"!=typeof t?Object.keys(t).map((e=>`${e}:${t[e]}`)).join(" AND "):t}async _updateBasemaps(t=[]){let e=await this._filterBasemaps(t);e=this.updateBasemapsCallback?this.updateBasemapsCallback(e):e,this.basemaps.removeAll(),this.basemaps.addMany(e)}async _filterBasemaps(t){if(!this.filterFunction)return t;const e=t.map(this.filterFunction),s=await Promise.all(e);return t.filter(((t,e)=>s[e]))}};t([m({readOnly:!0,type:y})],f.prototype,"basemaps",void 0),t([m()],f.prototype,"filterFunction",void 0),t([m({type:u})],f.prototype,"portal",void 0),t([m()],f.prototype,"query",void 0),t([m({readOnly:!0})],f.prototype,"state",null),t([m()],f.prototype,"updateBasemapsCallback",void 0),t([m()],f.prototype,"viewType",void 0),f=t([c("esri.widgets.BasemapGallery.support.PortalBasemapsSource")],f);const B=f;export{B as default};
5
+ import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Basemap.js";import s from"../../../core/Collection.js";import a from"../../../core/Error.js";import r from"../../../core/Loadable.js";import o from"../../../core/Logger.js";import{EsriPromiseMixin as i}from"../../../core/Promise.js";import{isAbortError as l}from"../../../core/promiseUtils.js";import{watch as p,initial as n}from"../../../core/reactiveUtils.js";import{property as m}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import h from"../../../portal/Portal.js";import u from"./LocalBasemapsSource.js";const d=s.ofType(e);let y=class extends(r.LoadableMixin(i(u))){constructor(t){super(t),this._lastPortalBasemapFetchController=null,this.basemaps=new d,this.filterFunction=null,this.portal=h.getDefault(),this.query=null,this.updateBasemapsCallback=null,this.viewType=null}initialize(){this.own([p((()=>[this.filterFunction,this.loadStatus,this.portal?.basemapGalleryGroupQuery,this.portal?.basemapGalleryGroupQuery3D,this.portal?.user,this.query,this.updateBasemapsCallback]),(()=>this.refresh()),n)])}destroy(){this.filterFunction=null,this.portal=null}get state(){return"not-loaded"===this.loadStatus?"not-loaded":"loading"===this.loadStatus||this._lastPortalBasemapFetchController?"loading":"ready"}load(t){return this.addResolvingPromise(this.portal.load(t)),Promise.resolve(this)}async refresh(){if("loaded"!==this.loadStatus)return;this._lastPortalBasemapFetchController&&(this._lastPortalBasemapFetchController.abort(),this._lastPortalBasemapFetchController=null);const t=this.portal,e=new AbortController;this._lastPortalBasemapFetchController=e,this.notifyChange("state");try{const s=await t.fetchBasemaps(this._toQueryString(this.query),{signal:e.signal,include3d:"3d"===this.viewType||void 0});await this._updateBasemaps(s)}catch(s){if(l(s))throw s;o.getLogger(this).warn(new a("basemap-source:fetch-basemaps-error","Could not fetch basemaps from portal.",{error:s})),await this._updateBasemaps()}this._lastPortalBasemapFetchController=null,this.notifyChange("state")}_toQueryString(t){return t&&"string"!=typeof t?Object.keys(t).map((e=>`${e}:${t[e]}`)).join(" AND "):t}async _updateBasemaps(t=[]){let e=await this._filterBasemaps(t);e=this.updateBasemapsCallback?this.updateBasemapsCallback(e):e,this.basemaps.removeAll(),this.basemaps.addMany(e)}async _filterBasemaps(t){if(!this.filterFunction)return t;const e=t.map(this.filterFunction),s=await Promise.all(e);return t.filter(((t,e)=>s[e]))}};t([m({readOnly:!0,type:d})],y.prototype,"basemaps",void 0),t([m()],y.prototype,"filterFunction",void 0),t([m({type:h})],y.prototype,"portal",void 0),t([m()],y.prototype,"query",void 0),t([m({readOnly:!0})],y.prototype,"state",null),t([m()],y.prototype,"updateBasemapsCallback",void 0),t([m()],y.prototype,"viewType",void 0),y=t([c("esri.widgets.BasemapGallery.support.PortalBasemapsSource")],y);const f=y;export{f as default};