@arcgis/core 4.23.0-next.20220106 → 4.23.0-next.20220124

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 (642) hide show
  1. package/assets/components/assets/calcite-date-picker/nls/bg.json +31 -0
  2. package/assets/components/assets/calcite-icon/centerAlign16.json +1 -0
  3. package/assets/components/assets/calcite-icon/centerAlign24.json +1 -0
  4. package/assets/components/assets/calcite-icon/centerAlign32.json +1 -0
  5. package/assets/components/assets/calcite-icon/checkSquareF16.json +1 -0
  6. package/assets/components/assets/calcite-icon/checkSquareF24.json +1 -0
  7. package/assets/components/assets/calcite-icon/checkSquareF32.json +1 -0
  8. package/assets/components/assets/calcite-icon/convert16.json +1 -0
  9. package/assets/components/assets/calcite-icon/convert24.json +1 -0
  10. package/assets/components/assets/calcite-icon/convert32.json +1 -0
  11. package/assets/components/assets/calcite-icon/explore16.json +1 -0
  12. package/assets/components/assets/calcite-icon/explore24.json +1 -0
  13. package/assets/components/assets/calcite-icon/explore32.json +1 -0
  14. package/assets/components/assets/calcite-icon/formDropdown16.json +1 -0
  15. package/assets/components/assets/calcite-icon/formDropdown24.json +1 -0
  16. package/assets/components/assets/calcite-icon/formDropdown32.json +1 -0
  17. package/assets/components/assets/calcite-icon/language16.json +1 -0
  18. package/assets/components/assets/calcite-icon/language24.json +1 -0
  19. package/assets/components/assets/calcite-icon/language32.json +1 -0
  20. package/assets/components/assets/calcite-icon/languageTranslate16.json +1 -0
  21. package/assets/components/assets/calcite-icon/languageTranslate24.json +1 -0
  22. package/assets/components/assets/calcite-icon/languageTranslate32.json +1 -0
  23. package/assets/components/assets/calcite-icon/leftAlign16.json +1 -0
  24. package/assets/components/assets/calcite-icon/leftAlign24.json +1 -0
  25. package/assets/components/assets/calcite-icon/leftAlign32.json +1 -0
  26. package/assets/components/assets/calcite-icon/lineSolid4.json +1 -0
  27. package/assets/components/assets/calcite-icon/partlyCloudy16.json +1 -0
  28. package/assets/components/assets/calcite-icon/partlyCloudy24.json +1 -0
  29. package/assets/components/assets/calcite-icon/partlyCloudy32.json +1 -0
  30. package/assets/components/assets/calcite-icon/rightAlign16.json +1 -0
  31. package/assets/components/assets/calcite-icon/rightAlign24.json +1 -0
  32. package/assets/components/assets/calcite-icon/rightAlign32.json +1 -0
  33. package/assets/components/assets/calcite-icon/screenshotMode16.json +1 -0
  34. package/assets/components/assets/calcite-icon/screenshotMode24.json +1 -0
  35. package/assets/components/assets/calcite-icon/screenshotMode32.json +1 -0
  36. package/assets/components/assets/calcite-icon/squareF16.json +1 -0
  37. package/assets/components/assets/calcite-icon/squareF24.json +1 -0
  38. package/assets/components/assets/calcite-icon/squareF32.json +1 -0
  39. package/assets/components/assets/calcite-icon/terminal16.json +1 -0
  40. package/assets/components/assets/calcite-icon/terminal24.json +1 -0
  41. package/assets/components/assets/calcite-icon/terminal32.json +1 -0
  42. package/assets/components/assets/calcite-icon/touch16.json +1 -0
  43. package/assets/components/assets/calcite-icon/touch24.json +1 -0
  44. package/assets/components/assets/calcite-icon/touch32.json +1 -0
  45. package/assets/components/assets/calcite-icon/xHexagon16.json +1 -0
  46. package/assets/components/assets/calcite-icon/xHexagon24.json +1 -0
  47. package/assets/components/assets/calcite-icon/xHexagon32.json +1 -0
  48. package/assets/components/assets/calcite-icon/xHexagonF16.json +1 -0
  49. package/assets/components/assets/calcite-icon/xHexagonF24.json +1 -0
  50. package/assets/components/assets/calcite-icon/xHexagonF32.json +1 -0
  51. package/assets/components/assets/calcite-icon/xOctagonF16.json +1 -0
  52. package/assets/components/assets/calcite-icon/xOctagonF24.json +1 -0
  53. package/assets/components/assets/calcite-icon/xOctagonF32.json +1 -0
  54. package/assets/esri/core/workers/RemoteClient.js +1 -1
  55. package/assets/esri/core/workers/chunks/09da224052976e290828.js +1 -0
  56. package/assets/esri/core/workers/chunks/0bf079e752ab79468478.js +1 -0
  57. package/assets/esri/core/workers/chunks/{ce5ca5e95b2378ec55b9.js → 1305ef8717da6e902a55.js} +1 -1
  58. package/assets/esri/core/workers/chunks/199670a3a564ebe3bd79.js +1 -0
  59. package/assets/esri/core/workers/chunks/1e4d37c2b9dc83d20a11.js +1 -0
  60. package/assets/esri/core/workers/chunks/20411bb8e04703962ce6.js +1 -0
  61. package/assets/esri/core/workers/chunks/2416f8bf8bbd2ec786ab.js +1 -0
  62. package/assets/esri/core/workers/chunks/25a3e9bc0b4c7e0d3165.js +1 -0
  63. package/assets/esri/core/workers/chunks/{99f0d896c17dd09cd285.js → 2629adf79e7fd9f25f07.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{9c417740bf3707a0d465.js → 2c607d30ff8ca1b61286.js} +1 -1
  65. package/assets/esri/core/workers/chunks/2e445a8735ea2adb641a.js +1 -0
  66. package/assets/esri/core/workers/chunks/37a7bd30352b1309b8f8.js +1 -0
  67. package/assets/esri/core/workers/chunks/390d9021169e65c10eb8.js +1 -0
  68. package/assets/esri/core/workers/chunks/{3d5169ea9810d10caf0d.js → 3a9740dccda6a733313c.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{8a250ec51097f16feb66.js → 40a1e713f63ec77110c0.js} +1 -1
  70. package/assets/esri/core/workers/chunks/43cdff2418325e163420.js +1 -0
  71. package/assets/esri/core/workers/chunks/4c9084a04948b6924749.js +1 -0
  72. package/assets/esri/core/workers/chunks/{4beba242e7540ee3182b.js → 5538639a49c7cc2eca63.js} +1 -1
  73. package/assets/esri/core/workers/chunks/57c67e260267a1dbc5e3.js +1 -0
  74. package/assets/esri/core/workers/chunks/5a4a5585ec8027079f32.js +1 -0
  75. package/assets/esri/core/workers/chunks/5ac4c1d54b94c7d87835.js +1 -0
  76. package/assets/esri/core/workers/chunks/60371c0f750cde87656d.js +1 -0
  77. package/assets/esri/core/workers/chunks/{ba6fdaed6c315dc13981.js → 625d2663daa8e0cf64b0.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{3a2b2dc3e938d53faa30.js → 64276aacaafa4c8a15bd.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{75466e0c8c8da499b150.js → 662d13f68cf3ec92439b.js} +1 -1
  80. package/assets/esri/core/workers/chunks/663ad15b86936eb06b69.js +1 -0
  81. package/assets/esri/core/workers/chunks/67162b3e2cc1b5dc6818.js +1 -0
  82. package/assets/esri/core/workers/chunks/68a59ce98177d8513337.js +1 -0
  83. package/assets/esri/core/workers/chunks/6cdfe175c965918b741b.js +1 -0
  84. package/assets/esri/core/workers/chunks/739e579150bf466d43ae.js +1 -0
  85. package/assets/esri/core/workers/chunks/74df1f3e1e2e524a89d2.js +1 -0
  86. package/assets/esri/core/workers/chunks/76eef4799f6c5fff7e2d.js +1 -0
  87. package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js → 7a8764ae8a0041e1151d.js} +2 -2
  88. package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js.LICENSE.txt → 7a8764ae8a0041e1151d.js.LICENSE.txt} +1 -1
  89. package/assets/esri/core/workers/chunks/7baf6b1f3f050aa67ae4.js +1 -0
  90. package/assets/esri/core/workers/chunks/{f52b6d5037e4205b035c.js → 7bc5cc5dbf1b7b70ddac.js} +1 -1
  91. package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +1 -0
  92. package/assets/esri/core/workers/chunks/8967288145f8fbd20e7d.js +1 -0
  93. package/assets/esri/core/workers/chunks/8cbb04a9065aa3756638.js +1 -0
  94. package/assets/esri/core/workers/chunks/8fa0a14165d43ffe87a5.js +1 -0
  95. package/assets/esri/core/workers/chunks/94b8dbf859df71858d1c.js +1 -0
  96. package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +1 -0
  97. package/assets/esri/core/workers/chunks/99a777693e4539f0b03b.js +1 -0
  98. package/assets/esri/core/workers/chunks/9cb2ae42a8e328b1d98d.js +1 -0
  99. package/assets/esri/core/workers/chunks/9d3c58a0ef634d95b7bd.js +1 -0
  100. package/assets/esri/core/workers/chunks/9d77467aa71d345fc1b6.js +1 -0
  101. package/assets/esri/core/workers/chunks/9f8b7b6b4e95f9a794fc.js +1 -0
  102. package/assets/esri/core/workers/chunks/a78757b9c7e8cbea08fa.js +1 -0
  103. package/assets/esri/core/workers/chunks/{9b7c51ff3d2b42aa62f5.js → a7b1b75643ed31489495.js} +1 -1
  104. package/assets/esri/core/workers/chunks/a8b13fb804bb775e4967.js +1 -0
  105. package/assets/esri/core/workers/chunks/a8c13529367c037cdd94.js +1 -0
  106. package/assets/esri/core/workers/chunks/a96afc176041f698c7a1.js +1 -0
  107. package/assets/esri/core/workers/chunks/aa861b8eae6c85f3dad4.js +1 -0
  108. package/assets/esri/core/workers/chunks/ac8dca61ade28c542ae2.js +1 -0
  109. package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +1 -0
  110. package/assets/esri/core/workers/chunks/afa6912454f2a5ffadce.js +1 -0
  111. package/assets/esri/core/workers/chunks/b0b036ad3ad3cd956747.js +1 -0
  112. package/assets/esri/core/workers/chunks/{2a39d520b192b8e552b5.js → b2ae5fc4f787ea568b88.js} +1 -1
  113. package/assets/esri/core/workers/chunks/b2beb6e1fd2ee6503830.js +1 -0
  114. package/assets/esri/core/workers/chunks/{b87bc1481a49b38109f4.js → b9c177524b3e7de1ffd1.js} +1 -1
  115. package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +1 -0
  116. package/assets/esri/core/workers/chunks/{7c1b9ae141112a63b446.js → ba6654a885be4b7a43f0.js} +1 -1
  117. package/assets/esri/core/workers/chunks/bab1cfd0a901181622af.js +1 -0
  118. package/assets/esri/core/workers/chunks/be2b7cce79fd41627931.js +1 -0
  119. package/assets/esri/core/workers/chunks/bf6dda4a2af14c4b7716.js +1 -0
  120. package/assets/esri/core/workers/chunks/{ed0297fc61014e848c18.js → c080114a69fa95b88d22.js} +1 -1
  121. package/assets/esri/core/workers/chunks/c13dfdd548dcb1bdb294.js +1 -0
  122. package/assets/esri/core/workers/chunks/c36f84daa7736878418d.js +1 -0
  123. package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +1 -0
  124. package/assets/esri/core/workers/chunks/{573dc3064e84ca86844d.js → c959e0d1cf7dce0421b9.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{1fd48459afb58a6cf14f.js → ca2f5faa01d99c21ec14.js} +1 -1
  126. package/assets/esri/core/workers/chunks/cbb291412fd1a5261aa9.js +1 -0
  127. package/assets/esri/core/workers/chunks/{7aa543a97f055cddea99.js → cc146c57bbdac8029fd8.js} +1 -1
  128. package/assets/esri/core/workers/chunks/cd7d83d127e085d52584.js +1 -0
  129. package/assets/esri/core/workers/chunks/cef4af64860ebbfc1c47.js +1 -0
  130. package/assets/esri/core/workers/chunks/d1454155ee1b8a421cbb.js +1 -0
  131. package/assets/esri/core/workers/chunks/{0cd583c3233573cb8468.js → d24c4fbc567486b1188f.js} +1 -1
  132. package/assets/esri/core/workers/chunks/d52108864136c5a8a618.js +1 -0
  133. package/assets/esri/core/workers/chunks/d72488db62fcf39447b6.js +1 -0
  134. package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +1 -0
  135. package/assets/esri/core/workers/chunks/de6cff7b6cbbf99b20d1.js +981 -0
  136. package/assets/esri/core/workers/chunks/e079cb1d53aca15b7df2.js +1 -0
  137. package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +1 -0
  138. package/assets/esri/core/workers/chunks/e6df9839b551569fbc62.js +1 -0
  139. package/assets/esri/core/workers/chunks/e97e986120aaadad7d4c.js +1 -0
  140. package/assets/esri/core/workers/chunks/{2f66fcb8670b108af549.js → ed0bcc66fb1e0ee75a4b.js} +1 -1
  141. package/assets/esri/core/workers/chunks/f8e7755240a94b499e1f.js +1 -0
  142. package/assets/esri/core/workers/chunks/{b4ed7856cd9c98434477.js → fe864d01e72aa24574b6.js} +1 -1
  143. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  144. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.svg +1 -0
  145. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.ttf +0 -0
  146. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.woff +0 -0
  147. package/assets/esri/themes/base/icons/selection.json +1 -1
  148. package/assets/esri/themes/base/icons/style.css +4 -0
  149. package/assets/esri/themes/base/icons/style.scss +6 -0
  150. package/assets/esri/themes/base/icons/variables.scss +1 -0
  151. package/assets/esri/themes/base/widgets/_FeatureTable.scss +6 -0
  152. package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
  153. package/assets/esri/themes/dark/main.css +1 -1
  154. package/assets/esri/themes/dark-blue/main.css +1 -1
  155. package/assets/esri/themes/dark-green/main.css +1 -1
  156. package/assets/esri/themes/dark-purple/main.css +1 -1
  157. package/assets/esri/themes/dark-red/main.css +1 -1
  158. package/assets/esri/themes/light/main.css +1 -1
  159. package/assets/esri/themes/light/view.css +1 -1
  160. package/assets/esri/themes/light-blue/main.css +1 -1
  161. package/assets/esri/themes/light-green/main.css +1 -1
  162. package/assets/esri/themes/light-purple/main.css +1 -1
  163. package/assets/esri/themes/light-red/main.css +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  172. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  173. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  174. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  175. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  176. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  177. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  189. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  190. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  191. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  192. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  193. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  194. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  195. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  196. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  197. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  198. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  199. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  200. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  201. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  202. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  203. package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_ja.json +1 -1
  204. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ar.json +1 -1
  205. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
  206. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bs.json +1 -1
  207. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ca.json +1 -1
  208. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_cs.json +1 -1
  209. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_da.json +1 -1
  210. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_de.json +1 -1
  211. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_el.json +1 -1
  212. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_es.json +1 -1
  213. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_et.json +1 -1
  214. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fi.json +1 -1
  215. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fr.json +1 -1
  216. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_he.json +1 -1
  217. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hr.json +1 -1
  218. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hu.json +1 -1
  219. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_id.json +1 -1
  220. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_it.json +1 -1
  221. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
  222. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ko.json +1 -1
  223. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lt.json +1 -1
  224. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lv.json +1 -1
  225. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +1 -1
  226. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nl.json +1 -1
  227. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pl.json +1 -1
  228. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-BR.json +1 -1
  229. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-PT.json +1 -1
  230. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ro.json +1 -1
  231. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ru.json +1 -1
  232. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sk.json +1 -1
  233. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sl.json +1 -1
  234. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sr.json +1 -1
  235. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sv.json +1 -1
  236. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_th.json +1 -1
  237. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_tr.json +1 -1
  238. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_uk.json +1 -1
  239. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_vi.json +1 -1
  240. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-CN.json +1 -1
  241. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-HK.json +1 -1
  242. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-TW.json +1 -1
  243. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  244. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  245. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  246. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  247. package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
  248. package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
  249. package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
  250. package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
  251. package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
  252. package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
  253. package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
  254. package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
  255. package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
  256. package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
  257. package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
  258. package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
  259. package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
  260. package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
  261. package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
  262. package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
  263. package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
  264. package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
  265. package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
  266. package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
  267. package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
  268. package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
  269. package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
  270. package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
  271. package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
  272. package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
  273. package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
  274. package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
  275. package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
  276. package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
  277. package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
  278. package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
  279. package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
  280. package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
  281. package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
  282. package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
  283. package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
  284. package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
  285. package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
  286. package/chunks/Clouds.glsl.js +14 -14
  287. package/chunks/CloudsComposition.glsl.js +4 -4
  288. package/chunks/DefaultMaterial.glsl.js +2 -2
  289. package/chunks/HUDMaterial.glsl.js +22 -21
  290. package/chunks/RibbonLine.glsl.js +10 -14
  291. package/chunks/persistableUrlUtils.js +1 -1
  292. package/chunks/vec32.js +1 -1
  293. package/chunks/vec42.js +1 -1
  294. package/chunks/vxlLayer.js +1 -1
  295. package/core/accessorSupport/ensureType.js +1 -1
  296. package/core/accessorSupport/get.js +1 -1
  297. package/core/accessorSupport/set.js +1 -1
  298. package/core/has.js +1 -1
  299. package/core/urlUtils.js +1 -1
  300. package/core/workers/workerFactory.js +1 -1
  301. package/form/elements/FieldElement.js +1 -1
  302. package/geometry/support/buffer/math/common.js +1 -1
  303. package/geometry/support/heightModelInfoUtils.js +1 -1
  304. package/interfaces.d.ts +372 -126
  305. package/layers/FeatureLayer.js +1 -1
  306. package/layers/RouteLayer.js +1 -1
  307. package/layers/SubtypeGroupLayer.js +1 -1
  308. package/layers/VectorTileLayer.js +1 -1
  309. package/layers/VoxelLayer.js +1 -1
  310. package/layers/VoxelWasmPerScene.js +1 -1
  311. package/layers/WMSLayer.js +1 -1
  312. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  313. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  314. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  315. package/layers/mixins/ArcGISImageService.js +1 -1
  316. package/layers/mixins/OperationalLayer.js +1 -1
  317. package/layers/ogc/crsUtils.js +5 -0
  318. package/layers/support/RasterFunction.js +1 -1
  319. package/layers/support/RasterWorker.js +1 -1
  320. package/layers/support/capabilities.js +1 -1
  321. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  322. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  323. package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
  324. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  325. package/layers/support/vectorTileLayerLoader.js +1 -1
  326. package/layers/support/wmsUtils.js +1 -1
  327. package/layers/support/wmtsUtils.js +1 -1
  328. package/libs/vxl/enums.js +1 -1
  329. package/package.json +5 -5
  330. package/portal/schemas/buildingSceneLayerItem.js +1 -1
  331. package/portal/schemas/definitions.js +1 -1
  332. package/portal/schemas/integratedMeshLayerItem.js +1 -1
  333. package/portal/schemas/pointCloudLayerItem.js +1 -1
  334. package/portal/schemas/sceneLayerItem.js +1 -1
  335. package/portal/schemas/webScene.js +1 -1
  336. package/rasterRenderers.js +1 -1
  337. package/renderers/support/RasterSymbolizer.js +1 -1
  338. package/request.js +1 -1
  339. package/rest/find.js +1 -1
  340. package/rest/geometryService/generalize.js +1 -1
  341. package/rest/geometryService/lengths.js +1 -1
  342. package/rest/geometryService/offset.js +1 -1
  343. package/rest/geometryService/relation.js +1 -1
  344. package/rest/geometryService/trimExtend.js +1 -1
  345. package/rest/identify.js +1 -1
  346. package/{tasks → rest}/operations/find.js +0 -0
  347. package/{tasks → rest}/operations/generalize.js +0 -0
  348. package/rest/operations/identify.js +5 -0
  349. package/{tasks → rest}/operations/lengths.js +0 -0
  350. package/{tasks → rest}/operations/offset.js +0 -0
  351. package/{tasks → rest}/operations/relation.js +0 -0
  352. package/{tasks → rest}/operations/trimExtend.js +0 -0
  353. package/{tasks → rest}/operations/urlUtils.js +0 -0
  354. package/rest/print.js +1 -1
  355. package/rest/query/operations/query.js +1 -1
  356. package/rest/query/operations/queryAttachments.js +1 -1
  357. package/rest/query/operations/queryRelatedRecords.js +1 -1
  358. package/rest/query/operations/queryTopFeatures.js +1 -1
  359. package/rest/route/utils.js +1 -1
  360. package/rest/support/ImageIdentifyParameters.js +1 -1
  361. package/rest/support/NetworkServiceDescription.js +1 -1
  362. package/rest/support/RouteInfo.js +1 -1
  363. package/rest/support/RouteParameters.js +1 -1
  364. package/rest/support/RouteSettings.js +5 -0
  365. package/rest/support/StatisticDefinition.js +1 -1
  366. package/rest/support/Stop.js +1 -1
  367. package/rest/support/networkEnums.js +1 -1
  368. package/smartMapping/renderers/univariateColorSize.js +1 -1
  369. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  370. package/support/featureFlags.js +1 -1
  371. package/support/revision.js +1 -1
  372. package/symbols/ExtrudeSymbol3DLayer.js +1 -1
  373. package/symbols/Font.js +1 -1
  374. package/symbols/IconSymbol3DLayer.js +1 -1
  375. package/symbols/ObjectSymbol3DLayer.js +1 -1
  376. package/symbols/PathSymbol3DLayer.js +1 -1
  377. package/symbols/TextSymbol.js +1 -1
  378. package/symbols/TextSymbol3DLayer.js +1 -1
  379. package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
  380. package/symbols/support/Symbol3DHalo.js +1 -1
  381. package/symbols/support/Symbol3DMaterial.js +1 -1
  382. package/symbols/support/cimSymbolUtils.js +1 -1
  383. package/symbols/support/textUtils.js +5 -0
  384. package/symbols/support/utils.js +1 -1
  385. package/views/2d/engine/Stage.js +1 -1
  386. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  387. package/views/2d/engine/vectorTiles/shaders/VTLMaterialManager.js +1 -1
  388. package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
  389. package/views/2d/engine/vectorTiles/style/VectorTilesRequestManager.js +5 -0
  390. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  391. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  392. package/views/2d/engine/webgl/alignmentUtils.js +1 -1
  393. package/views/2d/engine/webgl/effects/BlendEffect.js +1 -1
  394. package/views/2d/engine/webgl/materialKey/MaterialKey.js +1 -1
  395. package/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js +1 -1
  396. package/views/2d/engine/webgl/shaders/BlendPrograms.js +1 -1
  397. package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
  398. package/views/2d/layers/BaseLayerView2D.js +1 -1
  399. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  400. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  401. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  402. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  403. package/views/2d/layers/LayerView2D.js +1 -1
  404. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  405. package/views/2d/layers/RouteLayerView2D.js +1 -1
  406. package/views/2d/layers/TileLayerView2D.js +1 -1
  407. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  408. package/views/2d/layers/WMSLayerView2D.js +1 -1
  409. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  410. package/views/2d/layers/features/sources/BaseFeatureSource.js +1 -1
  411. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  412. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  413. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  414. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  415. package/views/2d/support/engineHelpers.js +1 -1
  416. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  417. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  418. package/views/3d/environment/CloudsComposition.js +1 -1
  419. package/views/3d/environment/CloudsGenerator.js +1 -1
  420. package/views/3d/environment/CloudyWeather.js +1 -1
  421. package/views/3d/environment/Fog.js +1 -1
  422. package/views/3d/environment/FoggyWeather.js +1 -1
  423. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  424. package/views/3d/environment/RainyWeather.js +1 -1
  425. package/views/3d/environment/Stars.js +1 -1
  426. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  427. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  428. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  429. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  430. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  431. package/views/3d/layers/GraphicsView3D.js +1 -1
  432. package/views/3d/layers/I3SMeshView3D.js +1 -1
  433. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  434. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  435. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  436. package/views/3d/layers/MapImageLayerView3D.js +1 -1
  437. package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
  438. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  439. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  440. package/views/3d/layers/SceneLayerView3D.js +1 -1
  441. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  442. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  443. package/views/3d/layers/WMSLayerView3D.js +1 -1
  444. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  445. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  446. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  447. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  448. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  449. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +5 -0
  450. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  451. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  452. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  453. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  454. package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
  455. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  456. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  457. package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
  458. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  459. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  460. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  461. package/views/3d/layers/graphics/GraphicsProcessor.js +5 -0
  462. package/views/3d/layers/graphics/IGraphics3DFeatureProcessor.js +4 -0
  463. package/views/3d/layers/graphics/Labeler.js +1 -1
  464. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  465. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  466. package/views/3d/state/controllers/RotateController.js +1 -1
  467. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  468. package/views/3d/state/controllers/global/ZoomController.js +1 -1
  469. package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
  470. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  471. package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
  472. package/views/3d/support/debugFlags.js +1 -1
  473. package/views/3d/support/sunUtils.js +1 -1
  474. package/views/3d/terrain/Overlay.js +1 -1
  475. package/views/3d/terrain/OverlayManager.js +1 -1
  476. package/views/3d/terrain/OverlayRenderer.js +1 -1
  477. package/views/3d/terrain/TerrainSurface.js +1 -1
  478. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +7 -1
  479. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +28 -24
  480. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +19 -14
  481. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +12 -14
  482. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  483. package/views/3d/webgl-engine/lib/InstanceParameters.js +5 -0
  484. package/views/3d/webgl-engine/lib/{localOrigin.js → LocalOriginFactory.js} +0 -0
  485. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  486. package/views/3d/webgl-engine/lib/Program.js +1 -1
  487. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  488. package/views/3d/webgl-engine/lib/RenderTargetHelper.js +1 -1
  489. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  490. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  491. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  492. package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
  493. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  494. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  495. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  496. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  497. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  498. package/views/3d/webgl-engine/parts/Model.js +1 -1
  499. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  500. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  501. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  502. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  503. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  504. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  505. package/views/LayerViewManager.js +1 -1
  506. package/views/MapView.js +1 -1
  507. package/views/SceneView.js +1 -1
  508. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  509. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  510. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  511. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  512. package/views/layers/ImageryTileLayerView.js +1 -1
  513. package/views/layers/LayerView.js +1 -1
  514. package/views/layers/OGCFeatureLayerView.js +1 -1
  515. package/views/layers/RefreshableLayerView.js +1 -1
  516. package/views/overlay/ViewOverlay.js +1 -1
  517. package/views/support/DefaultsFromMap.js +1 -1
  518. package/views/support/WatchUpdatingTracking.js +1 -1
  519. package/views/support/imageReprojection.js +1 -1
  520. package/views/webgl/BufferObject.js +1 -1
  521. package/views/webgl/ContextState.js +1 -1
  522. package/views/webgl/FramebufferObject.js +1 -1
  523. package/views/webgl/Program.js +1 -1
  524. package/views/webgl/ProgramCache.js +1 -1
  525. package/views/webgl/ProgramTemplate.js +1 -1
  526. package/views/webgl/Renderbuffer.js +1 -1
  527. package/views/webgl/RenderingContext.js +1 -1
  528. package/views/webgl/ShaderTranspiler.js +1 -1
  529. package/views/webgl/Texture.js +1 -1
  530. package/views/webgl/UniformBufferLayout.js +5 -0
  531. package/views/webgl/UniformBufferObject.js +5 -0
  532. package/views/webgl/Util.js +1 -1
  533. package/views/webgl/enums.js +1 -1
  534. package/views/webgl/rasterUtils.js +1 -1
  535. package/views/webgl/storageLayouts.js +5 -0
  536. package/views/webgl/testDoublePrecisionArithmetic.js +1 -1
  537. package/views/webgl/testFloatBufferBlend.js +1 -1
  538. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  539. package/views/webgl/testSamplerPrecision.js +1 -1
  540. package/views/webgl/tests/SimpleDraw.js +1 -1
  541. package/widgets/BasemapLayerList.js +1 -1
  542. package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
  543. package/widgets/Editor/BatchCreateWorkflow.js +1 -1
  544. package/widgets/Editor/CreateWorkflow.js +1 -1
  545. package/widgets/Editor/UpdateWorkflow.js +1 -1
  546. package/widgets/Editor/workflowUtils.js +1 -1
  547. package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
  548. package/widgets/ElevationProfile.js +1 -1
  549. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  550. package/widgets/Feature/FeatureExpression.js +1 -1
  551. package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
  552. package/widgets/Feature/FeatureMedia.js +1 -1
  553. package/widgets/Feature/FeatureViewModel.js +1 -1
  554. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  555. package/widgets/FeatureForm/InputField.js +1 -1
  556. package/widgets/FeatureForm/InputFieldGroup.js +1 -1
  557. package/widgets/FeatureForm.js +1 -1
  558. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  559. package/widgets/FeatureTable.js +1 -1
  560. package/widgets/FeatureTemplates.js +1 -1
  561. package/widgets/FloorFilter.js +1 -1
  562. package/widgets/LayerList/LayerListViewModel.js +1 -1
  563. package/widgets/LayerList/ListItemPanel.js +1 -1
  564. package/widgets/LayerList/support/layerListUtils.js +1 -1
  565. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  566. package/widgets/Popup.js +1 -1
  567. package/widgets/Print.js +1 -1
  568. package/widgets/Search.js +1 -1
  569. package/widgets/Sketch/SketchViewModel.js +1 -1
  570. package/widgets/Weather/CoverageSlider.js +5 -0
  571. package/widgets/Weather/WeatherViewModel.js +1 -1
  572. package/widgets/Weather/css.js +1 -1
  573. package/widgets/Weather.js +1 -1
  574. package/widgets/support/geolocationUtils.js +1 -1
  575. package/assets/esri/core/workers/chunks/0881ce46b10362861f87.js +0 -1
  576. package/assets/esri/core/workers/chunks/0c0a02770eeeb3e28ea1.js +0 -1
  577. package/assets/esri/core/workers/chunks/0d2effbd84a9482eb639.js +0 -1
  578. package/assets/esri/core/workers/chunks/0f04246c1b591a3ac74d.js +0 -1
  579. package/assets/esri/core/workers/chunks/1ac6be0dc25e16c75d06.js +0 -1
  580. package/assets/esri/core/workers/chunks/1f8110ea12d65ca94b55.js +0 -1
  581. package/assets/esri/core/workers/chunks/2025d0fd61a64876c81b.js +0 -1
  582. package/assets/esri/core/workers/chunks/241859d74c0daac62e11.js +0 -1
  583. package/assets/esri/core/workers/chunks/2c9af2ebd72d9b55329b.js +0 -1
  584. package/assets/esri/core/workers/chunks/331be347c1b1ca0be2d2.js +0 -1
  585. package/assets/esri/core/workers/chunks/39af317388ecebb4387d.js +0 -1
  586. package/assets/esri/core/workers/chunks/39be2893a7dbdecfd65a.js +0 -1
  587. package/assets/esri/core/workers/chunks/3a20f66b0b7d08064e34.js +0 -1
  588. package/assets/esri/core/workers/chunks/445099d037affd139ed0.js +0 -1
  589. package/assets/esri/core/workers/chunks/45848fecec88ed2da33d.js +0 -1
  590. package/assets/esri/core/workers/chunks/48d3a3abc53abe6a4017.js +0 -1
  591. package/assets/esri/core/workers/chunks/5005b8c1fdd5cb9a4c19.js +0 -1
  592. package/assets/esri/core/workers/chunks/52e4c367c72ea7cc3457.js +0 -1
  593. package/assets/esri/core/workers/chunks/5d8170f6207dbeb4de1b.js +0 -1
  594. package/assets/esri/core/workers/chunks/615aa2d3ecafe30c80c0.js +0 -1
  595. package/assets/esri/core/workers/chunks/642c38ac00a962f35d44.js +0 -1
  596. package/assets/esri/core/workers/chunks/64459604505647e9c714.js +0 -1
  597. package/assets/esri/core/workers/chunks/653d1550dd1a4867a9fc.js +0 -1
  598. package/assets/esri/core/workers/chunks/65f73fbbc3c7c60c6d3d.js +0 -1
  599. package/assets/esri/core/workers/chunks/6db7081d344bea26ef64.js +0 -1
  600. package/assets/esri/core/workers/chunks/6deac533bb455be4004b.js +0 -1
  601. package/assets/esri/core/workers/chunks/6e13dab8ec43f7494297.js +0 -1
  602. package/assets/esri/core/workers/chunks/722a10c65456844d72b9.js +0 -1
  603. package/assets/esri/core/workers/chunks/7bd4c3ee43fb038b88d8.js +0 -1
  604. package/assets/esri/core/workers/chunks/803de5097a8a2c4b58a8.js +0 -1
  605. package/assets/esri/core/workers/chunks/8298231a0fd0129b0d5c.js +0 -1
  606. package/assets/esri/core/workers/chunks/8500c6c011400af1b7bd.js +0 -1
  607. package/assets/esri/core/workers/chunks/8b322a2a47dfdbb59b45.js +0 -1
  608. package/assets/esri/core/workers/chunks/8f83bebef9174c3f15da.js +0 -1
  609. package/assets/esri/core/workers/chunks/904332faa22bc0e876cb.js +0 -1
  610. package/assets/esri/core/workers/chunks/950565d1e682fc4072e1.js +0 -1
  611. package/assets/esri/core/workers/chunks/9846098704ee38bf6350.js +0 -1
  612. package/assets/esri/core/workers/chunks/a247ddd84245c81112c8.js +0 -1
  613. package/assets/esri/core/workers/chunks/a721342a32541717324d.js +0 -1
  614. package/assets/esri/core/workers/chunks/a9ffa806df20130ecfb6.js +0 -1
  615. package/assets/esri/core/workers/chunks/af13e534e4160636bd3d.js +0 -1
  616. package/assets/esri/core/workers/chunks/b2f62234ebb8b6158baa.js +0 -1
  617. package/assets/esri/core/workers/chunks/b51261a9a9ab62388839.js +0 -971
  618. package/assets/esri/core/workers/chunks/b58eba403bd517a7bb15.js +0 -1
  619. package/assets/esri/core/workers/chunks/b5bb7cfa26b1f0cec67a.js +0 -1
  620. package/assets/esri/core/workers/chunks/b8666d1a4e4fff7a4703.js +0 -1
  621. package/assets/esri/core/workers/chunks/bea1da9e3f878e0e2c83.js +0 -1
  622. package/assets/esri/core/workers/chunks/c1b6c31fa3ec1542f996.js +0 -1
  623. package/assets/esri/core/workers/chunks/c32a4fbdc87225f84019.js +0 -1
  624. package/assets/esri/core/workers/chunks/c67fea81f69a60c0eaef.js +0 -1
  625. package/assets/esri/core/workers/chunks/cb68db7169b9dfd1c3ff.js +0 -1
  626. package/assets/esri/core/workers/chunks/cc96608b2802fbfe7a08.js +0 -1
  627. package/assets/esri/core/workers/chunks/cd02fe27eb07681cb366.js +0 -1
  628. package/assets/esri/core/workers/chunks/d336afd5890dcdbf5341.js +0 -1
  629. package/assets/esri/core/workers/chunks/da69e3e5949fe1716e34.js +0 -1
  630. package/assets/esri/core/workers/chunks/daa9c450b2e2a5371249.js +0 -1
  631. package/assets/esri/core/workers/chunks/dd63ba77b7e4c3c9c594.js +0 -1
  632. package/assets/esri/core/workers/chunks/dfa57982d28c9aeb97b9.js +0 -1
  633. package/assets/esri/core/workers/chunks/e01812116b27874948f0.js +0 -1
  634. package/assets/esri/core/workers/chunks/e5c9d8482b913cf3580a.js +0 -1
  635. package/assets/esri/core/workers/chunks/eeadd92f0bede9fc8745.js +0 -1
  636. package/assets/esri/core/workers/chunks/fbb67cb6224aed2cce16.js +0 -1
  637. package/assets/esri/core/workers/chunks/feeaf61424336e9eac88.js +0 -1
  638. package/assets/esri/core/workers/chunks/ff02295329a8986d0568.js +0 -1
  639. package/tasks/operations/identify.js +0 -5
  640. package/views/2d/engine/webgl/mesh/templates/meshUtils.js +0 -5
  641. package/views/3d/layers/graphics/Graphics3DFeatureLikeLayerView.js +0 -5
  642. package/views/3d/layers/graphics/Graphics3DGraphicLikeLayerView.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.23/esri/copyright.txt for details.
4
4
  */
5
- import{ContextType as e}from"./context-util.js";import{PixelType as t,TextureType as n,PixelFormat as a,TextureSamplingMode as i,TextureWrapMode as r,TargetType as o,DepthStencilTargetType as u}from"./enums.js";import{FramebufferObject as s}from"./FramebufferObject.js";import{Texture as _}from"./Texture.js";var f;function l(o,u,s="nearest",f=!1){var l;const T=!(f&&"u8"===u.pixelType),m=T?t.FLOAT:t.UNSIGNED_BYTE,E=null==u.pixels||0===u.pixels.length?null:T?u.getAsRGBAFloat():u.getAsRGBA(),c=null==(l=o.capabilities.textureFloat)?void 0:l.textureFloatLinear,A={width:u.width,height:u.height,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:o.type===e.WEBGL2&&T?a.RGBA32F:a.RGBA,samplingMode:!c||"bilinear"!==s&&"cubic"!==s?i.NEAREST:i.LINEAR,dataType:m,wrapMode:r.CLAMP_TO_EDGE,flipped:!1};return new _(o,A,E)}function T(e,f,l,T){const m=T?t.UNSIGNED_BYTE:t.FLOAT,E={width:f,height:l,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:a.RGBA,samplingMode:i.NEAREST,dataType:m,wrapMode:r.CLAMP_TO_EDGE,flipped:!1},c=new _(e,E);return new s(e,{colorTarget:o.TEXTURE,depthStencilTarget:u.DEPTH_STENCIL_RENDER_BUFFER,width:f,height:l},c)}function m(o,u){const s=4*u.size[0],f=u.size[1],l={width:s,height:f,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:o.type===e.WEBGL2?a.RGBA32F:a.RGBA,dataType:t.FLOAT,samplingMode:i.NEAREST,wrapMode:r.CLAMP_TO_EDGE,flipped:!1},T=new Float32Array(s*f*4);let m=0;for(let e=0;e<u.coefficients.length;e++)T[m++]=u.coefficients[e],e%3==2&&(T[m++]=1);return new _(o,l,T)}function E(e,o){const u={width:o.length/4,height:1,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:a.RGBA,dataType:t.UNSIGNED_BYTE,samplingMode:i.NEAREST,wrapMode:r.CLAMP_TO_EDGE,flipped:!1};return new _(e,u,o)}function c(e,t,n,a=1,i=!0,r=!1){return{u_flipY:i,u_isFloatTexture:r,u_applyTransform:!!e,u_opacity:a,u_transformSpacing:e?e.spacing:null,u_transformGridSize:e?e.size:null,u_targetImageSize:t,u_srcImageSize:n}}function A(e,t){return{u_colormapOffset:t||0,u_colormapMaxIndex:e?e.length/4-1:null}}function O(e,t){return{u_scale:e,u_offset:t}}function p(e){return{u_bandCount:e.bandCount,u_minOutput:e.outMin,u_maxOutput:e.outMax,u_minCutOff:e.minCutOff,u_maxCutOff:e.maxCutOff,u_factor:e.factor,u_useGamma:e.useGamma,u_gamma:e.gamma,u_gammaCorrection:e.gammaCorrection}}function L(e){return{u_hillshadeType:e.hillshadeType,u_sinZcosAs:e.sinZcosAs,u_sinZsinAs:e.sinZsinAs,u_cosZs:e.cosZs,u_weights:e.weights,u_factor:e.factor,u_minValue:e.minValue,u_maxValue:e.maxValue}}function g(e,t){const n=e.gl,a=t.glName,i=n.getProgramParameter(a,n.ACTIVE_UNIFORMS),r=new Map;let o;for(let u=0;u<i;u++)o=n.getActiveUniform(a,u),o&&r.set(o.name,{location:n.getUniformLocation(a,o.name),info:o});return r}function C(e,t,n){Object.keys(n).forEach((a=>{const i=t.get(a)||t.get(a+"[0]");i&&h(e,a,n[a],i)}))}function F(e,t,n,a){n.length===a.length&&(a.some((e=>null==e))||n.some((e=>null==e))||n.forEach(((n,i)=>{t.setUniform1i(n,i),e.bindTexture(a[i],i)})))}function h(e,t,n,a){if(null===a||null==n)return!1;const{info:i}=a;switch(i.type){case f.FLOAT:i.size>1?e.setUniform1fv(t,n):e.setUniform1f(t,n);break;case f.FLOAT_VEC2:e.setUniform2fv(t,n);break;case f.FLOAT_VEC3:e.setUniform3fv(t,n);break;case f.FLOAT_VEC4:e.setUniform4fv(t,n);break;case f.FLOAT_MAT3:e.setUniformMatrix3fv(t,n);break;case f.FLOAT_MAT4:e.setUniformMatrix4fv(t,n);break;case f.INT:i.size>1?e.setUniform1iv(t,n):e.setUniform1i(t,n);break;case f.BOOL:e.setUniform1i(t,n?1:0);break;case f.INT_VEC2:case f.BOOL_VEC2:e.setUniform2iv(t,n);break;case f.INT_VEC3:case f.BOOL_VEC3:e.setUniform3iv(t,n);break;case f.INT_VEC4:case f.BOOL_VEC4:e.setUniform4iv(t,n);break;default:return!1}return!0}!function(e){e[e.FLOAT=5126]="FLOAT",e[e.FLOAT_VEC2=35664]="FLOAT_VEC2",e[e.FLOAT_VEC3=35665]="FLOAT_VEC3",e[e.FLOAT_VEC4=35666]="FLOAT_VEC4",e[e.FLOAT_MAT3=35675]="FLOAT_MAT3",e[e.FLOAT_MAT4=35676]="FLOAT_MAT4",e[e.INT=5124]="INT",e[e.BOOL=35670]="BOOL",e[e.INT_VEC2=35667]="INT_VEC2",e[e.BOOL_VEC2=35671]="BOOL_VEC2",e[e.INT_VEC3=35668]="INT_VEC3",e[e.BOOL_VEC3=35672]="BOOL_VEC3",e[e.INT_VEC4=35669]="INT_VEC4",e[e.BOOL_VEC4=35673]="BOOL_VEC4",e[e.SAMPLER_2D=35678]="SAMPLER_2D"}(f||(f={}));export{E as createColormapTexture,T as createFrameBuffer,l as createRasterTexture,m as createTransformTexture,O as getBasicGridUniforms,A as getColormapUniforms,c as getCommonUniforms,L as getShadedReliefUniforms,p as getStretchUniforms,g as getUniformLocationInfos,F as setTextures,C as setUniforms};
5
+ import{ContextType as e}from"./context-util.js";import{PixelType as t,TextureType as n,PixelFormat as a,SizedPixelFormat as i,TextureSamplingMode as r,TextureWrapMode as o,TargetType as u,DepthStencilTargetType as s,UniformType as f}from"./enums.js";import{FramebufferObject as l}from"./FramebufferObject.js";import{Texture as m}from"./Texture.js";function c(u,s,f="nearest",l=!1){var c;const _=!(l&&"u8"===s.pixelType),E=_?t.FLOAT:t.UNSIGNED_BYTE,T=null==s.pixels||0===s.pixels.length?null:_?s.getAsRGBAFloat():s.getAsRGBA(),p=null==(c=u.capabilities.textureFloat)?void 0:c.textureFloatLinear,g={width:s.width,height:s.height,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:u.type===e.WEBGL2&&_?i.RGBA32F:a.RGBA,samplingMode:!p||"bilinear"!==f&&"cubic"!==f?r.NEAREST:r.LINEAR,dataType:E,wrapMode:o.CLAMP_TO_EDGE,flipped:!1};return new m(u,g,T)}function _(e,i,f,c){const _=c?t.UNSIGNED_BYTE:t.FLOAT,E={width:i,height:f,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:a.RGBA,samplingMode:r.NEAREST,dataType:_,wrapMode:o.CLAMP_TO_EDGE,flipped:!1},T=new m(e,E);return new l(e,{colorTarget:u.TEXTURE,depthStencilTarget:s.DEPTH_STENCIL_RENDER_BUFFER,width:i,height:f},T)}function E(u,s){const f=4*s.size[0],l=s.size[1],c={width:f,height:l,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:u.type===e.WEBGL2?i.RGBA32F:a.RGBA,dataType:t.FLOAT,samplingMode:r.NEAREST,wrapMode:o.CLAMP_TO_EDGE,flipped:!1},_=new Float32Array(f*l*4);let E=0;for(let e=0;e<s.coefficients.length;e++)_[E++]=s.coefficients[e],e%3==2&&(_[E++]=1);return new m(u,c,_)}function T(e,i){const u={width:i.length/4,height:1,target:n.TEXTURE_2D,pixelFormat:a.RGBA,internalFormat:a.RGBA,dataType:t.UNSIGNED_BYTE,samplingMode:r.NEAREST,wrapMode:o.CLAMP_TO_EDGE,flipped:!1};return new m(e,u,i)}function p(e,t,n,a=1,i=!0,r=!1){return{u_flipY:i,u_isFloatTexture:r,u_applyTransform:!!e,u_opacity:a,u_transformSpacing:e?e.spacing:null,u_transformGridSize:e?e.size:null,u_targetImageSize:t,u_srcImageSize:n}}function g(e,t){return{u_colormapOffset:t||0,u_colormapMaxIndex:e?e.length/4-1:null}}function A(e,t){return{u_scale:e,u_offset:t}}function h(e){return{u_bandCount:e.bandCount,u_minOutput:e.outMin,u_maxOutput:e.outMax,u_minCutOff:e.minCutOff,u_maxCutOff:e.maxCutOff,u_factor:e.factor,u_useGamma:e.useGamma,u_gamma:e.gamma,u_gammaCorrection:e.gammaCorrection}}function d(e){return{u_hillshadeType:e.hillshadeType,u_sinZcosAs:e.sinZcosAs,u_sinZsinAs:e.sinZsinAs,u_cosZs:e.cosZs,u_weights:e.weights,u_factor:e.factor,u_minValue:e.minValue,u_maxValue:e.maxValue}}function O(e,t){const n=e.gl,a=t.glName,i=n.getProgramParameter(a,n.ACTIVE_UNIFORMS),r=new Map;let o;for(let u=0;u<i;u++)o=n.getActiveUniform(a,u),o&&r.set(o.name,{location:n.getUniformLocation(a,o.name),info:o});return r}function F(e,t,n){Object.keys(n).forEach((a=>{const i=t.get(a)||t.get(a+"[0]");i&&U(e,a,n[a],i)}))}function R(e,t,n,a){n.length===a.length&&(a.some((e=>null==e))||n.some((e=>null==e))||n.forEach(((n,i)=>{t.setUniform1i(n,i),e.bindTexture(a[i],i)})))}function U(e,t,n,a){if(null===a||null==n)return!1;const{info:i}=a;switch(i.type){case f.FLOAT:i.size>1?e.setUniform1fv(t,n):e.setUniform1f(t,n);break;case f.FLOAT_VEC2:e.setUniform2fv(t,n);break;case f.FLOAT_VEC3:e.setUniform3fv(t,n);break;case f.FLOAT_VEC4:e.setUniform4fv(t,n);break;case f.FLOAT_MAT3:e.setUniformMatrix3fv(t,n);break;case f.FLOAT_MAT4:e.setUniformMatrix4fv(t,n);break;case f.INT:i.size>1?e.setUniform1iv(t,n):e.setUniform1i(t,n);break;case f.BOOL:e.setUniform1i(t,n?1:0);break;case f.INT_VEC2:case f.BOOL_VEC2:e.setUniform2iv(t,n);break;case f.INT_VEC3:case f.BOOL_VEC3:e.setUniform3iv(t,n);break;case f.INT_VEC4:case f.BOOL_VEC4:e.setUniform4iv(t,n);break;default:return!1}return!0}export{T as createColormapTexture,_ as createFrameBuffer,c as createRasterTexture,E as createTransformTexture,A as getBasicGridUniforms,g as getColormapUniforms,p as getCommonUniforms,d as getShadedReliefUniforms,h as getStretchUniforms,O as getUniformLocationInfos,R as setTextures,F as setUniforms};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
+ */
5
+ import{UniformType as e}from"./enums.js";const n={[e.FLOAT]:{elementLength:1,elementCount:1,elementAlignment:4,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.INT]:{elementLength:1,elementCount:1,elementAlignment:4,arrayStride:16,arrayAlignment:16,numberType:"Int32"},[e.BOOL]:{elementLength:1,elementCount:1,elementAlignment:4,arrayStride:16,arrayAlignment:16,numberType:"Uint32"},[e.UNSIGNED_INT]:{elementLength:1,elementCount:1,elementAlignment:4,arrayStride:16,arrayAlignment:16,numberType:"Uint32"},[e.BOOL_VEC2]:{elementLength:2,elementCount:1,elementAlignment:8,arrayStride:16,arrayAlignment:16,numberType:"Uint32"},[e.FLOAT_VEC2]:{elementLength:2,elementCount:1,elementAlignment:8,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.INT_VEC2]:{elementLength:2,elementCount:1,elementAlignment:8,arrayStride:16,arrayAlignment:16,numberType:"Int32"},[e.UNSIGNED_INT_VEC2]:{elementLength:2,elementCount:1,elementAlignment:8,arrayStride:16,arrayAlignment:16,numberType:"Uint32"},[e.BOOL_VEC3]:{elementLength:3,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Uint32"},[e.FLOAT_VEC3]:{elementLength:3,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.INT_VEC3]:{elementLength:3,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Int32"},[e.UNSIGNED_INT_VEC3]:{elementLength:3,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Uint32"},[e.BOOL_VEC4]:{elementLength:4,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Uint32"},[e.FLOAT_VEC4]:{elementLength:4,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.INT_VEC4]:{elementLength:4,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Int32"},[e.UNSIGNED_INT_VEC4]:{elementLength:4,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Uint32"},[e.FLOAT_MAT2]:{elementLength:2,elementCount:2,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT2x3]:{elementLength:3,elementCount:2,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT2x4]:{elementLength:4,elementCount:2,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT3]:{elementLength:3,elementCount:3,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT3x2]:{elementLength:2,elementCount:3,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT3x4]:{elementLength:4,elementCount:3,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT4]:{elementLength:4,elementCount:4,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT4x2]:{elementLength:2,elementCount:4,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT4x3]:{elementLength:3,elementCount:4,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"}},t={[e.FLOAT]:{elementLength:1,elementCount:1,elementAlignment:4,arrayStride:4,arrayAlignment:4,numberType:"Float32"},[e.INT]:{elementLength:1,elementCount:1,elementAlignment:4,arrayStride:4,arrayAlignment:4,numberType:"Int32"},[e.BOOL]:{elementLength:1,elementCount:1,elementAlignment:4,arrayStride:4,arrayAlignment:4,numberType:"Uint32"},[e.UNSIGNED_INT]:{elementLength:1,elementCount:1,elementAlignment:4,arrayStride:4,arrayAlignment:4,numberType:"Uint32"},[e.BOOL_VEC2]:{elementLength:2,elementCount:1,elementAlignment:8,arrayStride:8,arrayAlignment:8,numberType:"Uint32"},[e.FLOAT_VEC2]:{elementLength:2,elementCount:1,elementAlignment:8,arrayStride:8,arrayAlignment:8,numberType:"Float32"},[e.INT_VEC2]:{elementLength:2,elementCount:1,elementAlignment:8,arrayStride:8,arrayAlignment:8,numberType:"Int32"},[e.UNSIGNED_INT_VEC2]:{elementLength:2,elementCount:1,elementAlignment:8,arrayStride:8,arrayAlignment:8,numberType:"Uint32"},[e.BOOL_VEC3]:{elementLength:3,elementCount:1,elementAlignment:16,arrayStride:12,arrayAlignment:12,numberType:"Uint32"},[e.FLOAT_VEC3]:{elementLength:3,elementCount:1,elementAlignment:16,arrayStride:12,arrayAlignment:12,numberType:"Float32"},[e.INT_VEC3]:{elementLength:3,elementCount:1,elementAlignment:16,arrayStride:12,arrayAlignment:12,numberType:"Int32"},[e.UNSIGNED_INT_VEC3]:{elementLength:3,elementCount:1,elementAlignment:16,arrayStride:12,arrayAlignment:12,numberType:"Uint32"},[e.BOOL_VEC4]:{elementLength:4,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Uint32"},[e.FLOAT_VEC4]:{elementLength:4,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.INT_VEC4]:{elementLength:4,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Int32"},[e.UNSIGNED_INT_VEC4]:{elementLength:4,elementCount:1,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Uint32"},[e.FLOAT_MAT2]:{elementLength:2,elementCount:2,elementAlignment:8,arrayStride:8,arrayAlignment:8,numberType:"Float32"},[e.FLOAT_MAT2x3]:{elementLength:3,elementCount:2,elementAlignment:12,arrayStride:12,arrayAlignment:12,numberType:"Float32"},[e.FLOAT_MAT2x4]:{elementLength:4,elementCount:2,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT3]:{elementLength:3,elementCount:3,elementAlignment:12,arrayStride:12,arrayAlignment:12,numberType:"Float32"},[e.FLOAT_MAT3x2]:{elementLength:2,elementCount:3,elementAlignment:8,arrayStride:8,arrayAlignment:8,numberType:"Float32"},[e.FLOAT_MAT3x4]:{elementLength:4,elementCount:3,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT4]:{elementLength:4,elementCount:4,elementAlignment:16,arrayStride:16,arrayAlignment:16,numberType:"Float32"},[e.FLOAT_MAT4x2]:{elementLength:2,elementCount:4,elementAlignment:8,arrayStride:8,arrayAlignment:8,numberType:"Float32"},[e.FLOAT_MAT4x3]:{elementLength:3,elementCount:4,elementAlignment:12,arrayStride:12,arrayAlignment:12,numberType:"Float32"}};export{n as STD140_LAYOUT,t as STD430_LAYOUT};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{unpackFloatRGBA as n}from"../../core/floatRGBA.js";import{f as e}from"../../chunks/vec3f64.js";import{BufferObject as o}from"./BufferObject.js";import{encodeDoubleArray as t}from"./doublePrecisionUtils.js";import{TargetType as r,DepthStencilTargetType as i,TextureType as a,TextureWrapMode as c,PixelFormat as s,PixelType as l,TextureSamplingMode as v,Usage as p,DataType as f,PrimitiveType as u}from"./enums.js";import{FramebufferObject as m}from"./FramebufferObject.js";import{VertexArrayObject as h}from"./VertexArrayObject.js";import{VertexElementDescriptor as d}from"./VertexElementDescriptor.js";function A(A,_){const g=new m(A,{colorTarget:r.TEXTURE,depthStencilTarget:i.NONE},{target:a.TEXTURE_2D,wrapMode:c.CLAMP_TO_EDGE,pixelFormat:s.RGBA,dataType:l.UNSIGNED_BYTE,samplingMode:v.NEAREST,width:1,height:1});function B(n,e){const o=`\n\n precision highp float;\n\n attribute vec2 position;\n\n uniform vec3 u_highA;\n uniform vec3 u_lowA;\n uniform vec3 u_highB;\n uniform vec3 u_lowB;\n\n varying vec4 v_color;\n\n ${_?"#define DOUBLE_PRECISION_REQUIRES_OBFUSCATION":""}\n\n #ifdef DOUBLE_PRECISION_REQUIRES_OBFUSCATION\n\n vec3 dpPlusFrc(vec3 a, vec3 b) {\n return mix(a, a + b, vec3(notEqual(b, vec3(0))));\n }\n\n vec3 dpMinusFrc(vec3 a, vec3 b) {\n return mix(vec3(0), a - b, vec3(notEqual(a, b)));\n }\n\n vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\n vec3 t1 = dpPlusFrc(hiA, hiB);\n vec3 e = dpMinusFrc(t1, hiA);\n vec3 t2 = dpMinusFrc(hiB, e) + dpMinusFrc(hiA, dpMinusFrc(t1, e)) + loA + loB;\n return t1 + t2;\n }\n\n #else\n\n vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\n vec3 t1 = hiA + hiB;\n vec3 e = t1 - hiA;\n vec3 t2 = ((hiB - e) + (hiA - (t1 - e))) + loA + loB;\n return t1 + t2;\n }\n\n #endif\n\n const float MAX_RGBA_FLOAT =\n 255.0 / 256.0 +\n 255.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 / 256.0;\n\n const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);\n\n vec4 float2rgba(const float value) {\n // Make sure value is in the domain we can represent\n float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);\n\n // Decompose value in 32bit fixed point parts represented as\n // uint8 rgba components. Decomposition uses the fractional part after multiplying\n // by a power of 256 (this removes the bits that are represented in the previous\n // component) and then converts the fractional part to 8bits.\n vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);\n\n // Convert uint8 values (from 0 to 255) to floating point representation for\n // the shader\n const float toU8AsFloat = 1.0 / 255.0;\n\n return fixedPointU8 * toU8AsFloat;\n }\n\n void main() {\n vec3 val = dpAdd(u_highA, u_lowA, -u_highB, -u_lowB);\n\n v_color = float2rgba(val.z / 25.0);\n\n gl_Position = vec4(position * 2.0 - 1.0, 0.0, 1.0);\n }\n `,r="\n precision highp float;\n\n varying vec4 v_color;\n\n void main() {\n gl_FragColor = v_color;\n }\n ",i=A.newProgram(o,r,new Map([["position",0]])),a=new Float32Array(6);t(n,a,3);const c=new Float32Array(6);return t(e,c,3),A.useProgram(i),i.setUniform3f("u_highA",a[0],a[2],a[4]),i.setUniform3f("u_lowA",a[1],a[3],a[5]),i.setUniform3f("u_highB",c[0],c[2],c[4]),i.setUniform3f("u_lowB",c[1],c[3],c[5]),i}const E=o.createVertex(A,p.STATIC_DRAW,new Uint16Array([0,0,1,0,0,1,1,1])),b=new h(A,new Map([["position",0]]),{geometry:[new d("position",2,f.UNSIGNED_SHORT,0,4)]},{geometry:E}),w=e(5633261.287538229,2626832.878767164,1434988.0495278358),F=e(5633271.46742708,2626873.6381334523,1434963.231608387),T=B(w,F),O=A.getBoundFramebufferObject(),{x:U,y:I,width:R,height:N}=A.getViewport();A.bindFramebuffer(g),A.setViewport(0,0,1,1),A.bindVAO(b),A.drawArrays(u.TRIANGLE_STRIP,0,4);const S=new Uint8Array(4);g.readPixels(0,0,1,1,s.RGBA,l.UNSIGNED_BYTE,S),T.dispose(),b.dispose(!1),E.dispose(),g.dispose(),A.setViewport(U,I,R,N),A.bindFramebuffer(O);const D=(w[2]-F[2])/25,P=n(S);return Math.abs(D-P)}export{A as testDoublePrecisionArithmetic};
5
+ import{unpackFloatRGBA as n}from"../../core/floatRGBA.js";import{f as e}from"../../chunks/vec3f64.js";import{BufferObject as o}from"./BufferObject.js";import{encodeDoubleArray as t}from"./doublePrecisionUtils.js";import{TargetType as r,DepthStencilTargetType as i,TextureType as a,TextureWrapMode as c,PixelFormat as s,PixelType as l,TextureSamplingMode as p,Usage as v,DataType as f,PrimitiveType as u}from"./enums.js";import{FramebufferObject as m}from"./FramebufferObject.js";import{VertexArrayObject as h}from"./VertexArrayObject.js";import{VertexElementDescriptor as d}from"./VertexElementDescriptor.js";function A(A,_){const g=new m(A,{colorTarget:r.TEXTURE,depthStencilTarget:i.NONE},{target:a.TEXTURE_2D,wrapMode:c.CLAMP_TO_EDGE,pixelFormat:s.RGBA,dataType:l.UNSIGNED_BYTE,samplingMode:p.NEAREST,width:1,height:1});function B(n,e){const o=`\n\n precision highp float;\n\n attribute vec2 position;\n\n uniform vec3 u_highA;\n uniform vec3 u_lowA;\n uniform vec3 u_highB;\n uniform vec3 u_lowB;\n\n varying vec4 v_color;\n\n ${_?"#define DOUBLE_PRECISION_REQUIRES_OBFUSCATION":""}\n\n #ifdef DOUBLE_PRECISION_REQUIRES_OBFUSCATION\n\n vec3 dpPlusFrc(vec3 a, vec3 b) {\n return mix(a, a + b, vec3(notEqual(b, vec3(0))));\n }\n\n vec3 dpMinusFrc(vec3 a, vec3 b) {\n return mix(vec3(0), a - b, vec3(notEqual(a, b)));\n }\n\n vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\n vec3 t1 = dpPlusFrc(hiA, hiB);\n vec3 e = dpMinusFrc(t1, hiA);\n vec3 t2 = dpMinusFrc(hiB, e) + dpMinusFrc(hiA, dpMinusFrc(t1, e)) + loA + loB;\n return t1 + t2;\n }\n\n #else\n\n vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\n vec3 t1 = hiA + hiB;\n vec3 e = t1 - hiA;\n vec3 t2 = ((hiB - e) + (hiA - (t1 - e))) + loA + loB;\n return t1 + t2;\n }\n\n #endif\n\n const float MAX_RGBA_FLOAT =\n 255.0 / 256.0 +\n 255.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 +\n 255.0 / 256.0 / 256.0 / 256.0 / 256.0;\n\n const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);\n\n vec4 float2rgba(const float value) {\n // Make sure value is in the domain we can represent\n float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);\n\n // Decompose value in 32bit fixed point parts represented as\n // uint8 rgba components. Decomposition uses the fractional part after multiplying\n // by a power of 256 (this removes the bits that are represented in the previous\n // component) and then converts the fractional part to 8bits.\n vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);\n\n // Convert uint8 values (from 0 to 255) to floating point representation for\n // the shader\n const float toU8AsFloat = 1.0 / 255.0;\n\n return fixedPointU8 * toU8AsFloat;\n }\n\n void main() {\n vec3 val = dpAdd(u_highA, u_lowA, -u_highB, -u_lowB);\n\n v_color = float2rgba(val.z / 25.0);\n\n gl_Position = vec4(position * 2.0 - 1.0, 0.0, 1.0);\n }\n `,r="\n precision highp float;\n\n varying vec4 v_color;\n\n void main() {\n gl_FragColor = v_color;\n }\n ",i=A.programCache.acquire(o,r,new Map([["position",0]])),a=new Float32Array(6);t(n,a,3);const c=new Float32Array(6);return t(e,c,3),A.useProgram(i),i.setUniform3f("u_highA",a[0],a[2],a[4]),i.setUniform3f("u_lowA",a[1],a[3],a[5]),i.setUniform3f("u_highB",c[0],c[2],c[4]),i.setUniform3f("u_lowB",c[1],c[3],c[5]),i}const E=o.createVertex(A,v.STATIC_DRAW,new Uint16Array([0,0,1,0,0,1,1,1])),b=new h(A,new Map([["position",0]]),{geometry:[new d("position",2,f.UNSIGNED_SHORT,0,4)]},{geometry:E}),F=e(5633261.287538229,2626832.878767164,1434988.0495278358),w=e(5633271.46742708,2626873.6381334523,1434963.231608387),T=B(F,w),O=A.getBoundFramebufferObject(),{x:U,y:I,width:R,height:N}=A.getViewport();A.bindFramebuffer(g),A.setViewport(0,0,1,1),A.bindVAO(b),A.drawArrays(u.TRIANGLE_STRIP,0,4);const S=new Uint8Array(4);g.readPixels(0,0,1,1,s.RGBA,l.UNSIGNED_BYTE,S),T.dispose(),b.dispose(!1),E.dispose(),g.dispose(),A.setViewport(U,I,R,N),A.bindFramebuffer(O);const D=(F[2]-w[2])/25,y=n(S);return Math.abs(D-y)}export{A as testDoublePrecisionArithmetic};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{blendingAlpha as e}from"../3d/webgl-engine/lib/OrderIndependentTransparency.js";import{BufferObject as t}from"./BufferObject.js";import{ContextType as r}from"./context-util.js";import{TargetType as n,DepthStencilTargetType as o,TextureType as i,TextureWrapMode as a,PixelFormat as u,PixelType as f,TextureSamplingMode as l,Usage as c,DataType as s,PrimitiveType as d}from"./enums.js";import{FramebufferObject as g}from"./FramebufferObject.js";import{makePipelineState as b}from"./renderState.js";import{VertexArrayObject as E}from"./VertexArrayObject.js";import{VertexElementDescriptor as p}from"./VertexElementDescriptor.js";var m,T,_,v={exports:{}};function F(m){var T,_,F,x,A;if(!m.gl)return!1;if(m.type===r.WEBGL1)return(null==(x=m.capabilities.textureFloat)?void 0:x.textureFloat)&&(null==(A=m.capabilities.colorBufferFloat)?void 0:A.textureFloat);if(!((null==(T=m.capabilities.textureFloat)?void 0:T.textureFloat)&&(null==(_=m.capabilities.colorBufferFloat)?void 0:_.textureFloat)&&(null==(F=m.capabilities.colorBufferFloat)?void 0:F.floatBlend)))return!1;const R=new g(m,{colorTarget:n.TEXTURE,depthStencilTarget:o.NONE},{target:i.TEXTURE_2D,wrapMode:a.CLAMP_TO_EDGE,pixelFormat:u.RGBA,dataType:f.FLOAT,internalFormat:u.RGBA32F,samplingMode:l.NEAREST,width:1,height:1}),S=t.createVertex(m,c.STATIC_DRAW,new Uint16Array([0,0,1,0,0,1,1,1])),h=new E(m,new Map([["a_pos",0]]),{geometry:[new p("a_pos",2,s.UNSIGNED_SHORT,0,4)]},{geometry:S}),P="\n precision highp float;\n attribute vec2 a_pos;\n\n void main() {\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\n }\n ",L="\n precision highp float;\n\n void main() {\n gl_FragColor = vec4(0.5, 0.5, 0.5, 0.5);\n }\n ",B=m.newProgram(P,L,new Map([["a_pos",0]]));m.useProgram(B);const w=m.getBoundFramebufferObject(),{x:C,y:O,width:N,height:I}=m.getViewport();m.bindFramebuffer(R),m.setViewport(0,0,1,1),m.bindVAO(h),m.drawArrays(d.TRIANGLE_STRIP,0,4);const U=b({blending:e});m.setPipelineState(U),m.drawArrays(d.TRIANGLE_STRIP,0,4),v.exports.init(m);const y=m.gl.getError();return m.setViewport(C,O,N,I),m.bindFramebuffer(w),B.dispose(),h.dispose(!1),S.dispose(),R.dispose(),1282!==y||(console.warn("Device claims support for WebGL extension EXT_float_blend but does not support it. Using fall back."),!1)}m=v,T=function(){var e=function(e){window.console&&window.console.log&&window.console.log(e)},t=function(t){window.console&&window.console.error?window.console.error(t):e(t)},r={enable:{1:{0:!0}},disable:{1:{0:!0}},getParameter:{1:{0:!0}},drawArrays:{3:{0:!0}},drawElements:{4:{0:!0,2:!0}},createShader:{1:{0:!0}},getShaderParameter:{2:{1:!0}},getProgramParameter:{2:{1:!0}},getShaderPrecisionFormat:{2:{0:!0,1:!0}},getVertexAttrib:{2:{1:!0}},vertexAttribPointer:{6:{2:!0}},bindTexture:{2:{0:!0}},activeTexture:{1:{0:!0}},getTexParameter:{2:{0:!0,1:!0}},texParameterf:{3:{0:!0,1:!0}},texParameteri:{3:{0:!0,1:!0,2:!0}},texImage2D:{9:{0:!0,2:!0,6:!0,7:!0},6:{0:!0,2:!0,3:!0,4:!0}},texSubImage2D:{9:{0:!0,6:!0,7:!0},7:{0:!0,4:!0,5:!0}},copyTexImage2D:{8:{0:!0,2:!0}},copyTexSubImage2D:{8:{0:!0}},generateMipmap:{1:{0:!0}},compressedTexImage2D:{7:{0:!0,2:!0}},compressedTexSubImage2D:{8:{0:!0,6:!0}},bindBuffer:{2:{0:!0}},bufferData:{3:{0:!0,2:!0}},bufferSubData:{3:{0:!0}},getBufferParameter:{2:{0:!0,1:!0}},pixelStorei:{2:{0:!0,1:!0}},readPixels:{7:{4:!0,5:!0}},bindRenderbuffer:{2:{0:!0}},bindFramebuffer:{2:{0:!0}},checkFramebufferStatus:{1:{0:!0}},framebufferRenderbuffer:{4:{0:!0,1:!0,2:!0}},framebufferTexture2D:{5:{0:!0,1:!0,2:!0}},getFramebufferAttachmentParameter:{3:{0:!0,1:!0,2:!0}},getRenderbufferParameter:{2:{0:!0,1:!0}},renderbufferStorage:{4:{0:!0,1:!0}},clear:{1:{0:{enumBitwiseOr:["COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","STENCIL_BUFFER_BIT"]}}},depthFunc:{1:{0:!0}},blendFunc:{2:{0:!0,1:!0}},blendFuncSeparate:{4:{0:!0,1:!0,2:!0,3:!0}},blendEquation:{1:{0:!0}},blendEquationSeparate:{2:{0:!0,1:!0}},stencilFunc:{3:{0:!0}},stencilFuncSeparate:{4:{0:!0,1:!0}},stencilMaskSeparate:{2:{0:!0}},stencilOp:{3:{0:!0,1:!0,2:!0}},stencilOpSeparate:{4:{0:!0,1:!0,2:!0,3:!0}},cullFace:{1:{0:!0}},frontFace:{1:{0:!0}},drawArraysInstancedANGLE:{4:{0:!0}},drawElementsInstancedANGLE:{5:{0:!0,2:!0}},blendEquationEXT:{1:{0:!0}}},n=null,o=null;function i(e){if(null==n)for(var t in n={},o={},e)"number"==typeof e[t]&&(n[e[t]]=t,o[t]=e[t])}function a(){if(null==n)throw"WebGLDebugUtils.init(ctx) not called"}function u(e){return a(),void 0!==n[e]}function f(e){a();var t=n[e];return void 0!==t?"gl."+t:"/*UNKNOWN WebGL ENUM*/ 0x"+e.toString(16)}function l(e,t,n,i){var a;if(void 0!==(a=r[e])&&void 0!==(a=a[t])&&a[n]){if("object"==typeof a[n]&&void 0!==a[n].enumBitwiseOr){for(var u=a[n].enumBitwiseOr,l=0,c=[],s=0;s<u.length;++s){var d=o[u[s]];0!=(i&d)&&(l|=d,c.push(f(d)))}return l===i?c.join(" | "):f(i)}return f(i)}return null===i?"null":void 0===i?"undefined":i.toString()}function c(e,t){for(var r="",n=t.length,o=0;o<n;++o)r+=(0==o?"":", ")+l(e,n,o,t[o]);return r}function s(e,t,r){e.__defineGetter__(r,(function(){return t[r]})),e.__defineSetter__(r,(function(e){t[r]=e}))}function d(e,r,n,o){o=o||e,i(e),r=r||function(e,r,n){for(var o="",i=n.length,a=0;a<i;++a)o+=(0==a?"":", ")+l(r,i,a,n[a]);t("WebGL error "+f(e)+" in "+r+"("+o+")")};var a={};function u(e,t){return function(){n&&n(t,arguments);var i=e[t].apply(e,arguments),u=o.getError();return 0!=u&&(a[u]=!0,r(u,t,arguments)),i}}var c={};for(var g in e)if("function"==typeof e[g])if("getExtension"!=g)c[g]=u(e,g);else{var b=u(e,g);c[g]=function(){return d(b.apply(e,arguments),r,n,o)}}else s(c,e,g);return c.getError=function(){for(var t in a)if(a.hasOwnProperty(t)&&a[t])return a[t]=!1,t;return e.NO_ERROR},c}function g(e){var t=e.getParameter(e.MAX_VERTEX_ATTRIBS),r=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,r);for(var n=0;n<t;++n)e.disableVertexAttribArray(n),e.vertexAttribPointer(n,4,e.FLOAT,!1,0,0),e.vertexAttrib1f(n,0);e.deleteBuffer(r);var o=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(n=0;n<o;++n)e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_CUBE_MAP,null),e.bindTexture(e.TEXTURE_2D,null);for(e.activeTexture(e.TEXTURE0),e.useProgram(null),e.bindBuffer(e.ARRAY_BUFFER,null),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.bindRenderbuffer(e.RENDERBUFFER,null),e.disable(e.BLEND),e.disable(e.CULL_FACE),e.disable(e.DEPTH_TEST),e.disable(e.DITHER),e.disable(e.SCISSOR_TEST),e.blendColor(0,0,0,0),e.blendEquation(e.FUNC_ADD),e.blendFunc(e.ONE,e.ZERO),e.clearColor(0,0,0,0),e.clearDepth(1),e.clearStencil(-1),e.colorMask(!0,!0,!0,!0),e.cullFace(e.BACK),e.depthFunc(e.LESS),e.depthMask(!0),e.depthRange(0,1),e.frontFace(e.CCW),e.hint(e.GENERATE_MIPMAP_HINT,e.DONT_CARE),e.lineWidth(1),e.pixelStorei(e.PACK_ALIGNMENT,4),e.pixelStorei(e.UNPACK_ALIGNMENT,4),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),e.UNPACK_COLORSPACE_CONVERSION_WEBGL&&e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.BROWSER_DEFAULT_WEBGL),e.polygonOffset(0,0),e.sampleCoverage(1,!1),e.scissor(0,0,e.canvas.width,e.canvas.height),e.stencilFunc(e.ALWAYS,0,4294967295),e.stencilMask(4294967295),e.stencilOp(e.KEEP,e.KEEP,e.KEEP),e.viewport(0,0,e.canvas.width,e.canvas.height),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT|e.STENCIL_BUFFER_BIT);e.getError(););}function b(e){var t,r,n=[],o=[],i={},a=1,u=!1,f=[],l=0,c=0,d=!1,b=0,E={};function p(e){return"function"==typeof e?e:function(t){e.handleEvent(t)}}e.getContext=(r=e.getContext,function(){var n=r.apply(e,arguments);if(n instanceof WebGLRenderingContext){if(n!=t){if(t)throw"got different context";i=S(t=n)}return i}return n});var m=function(e){n.push(p(e))},T=function(e){o.push(p(e))};function _(e){var t=e.addEventListener;e.addEventListener=function(r,n,o){switch(r){case"webglcontextlost":m(n);break;case"webglcontextrestored":T(n);break;default:t.apply(e,arguments)}}}function v(){for(var e=Object.keys(E),t=0;t<e.length;++t)delete E[e]}function F(){++c,u||l==c&&e.loseContext()}function x(e,t){var r=e[t];return function(){if(F(),!u)return r.apply(e,arguments)}}function A(){for(var e=0;e<f.length;++e){var r=f[e];r instanceof WebGLBuffer?t.deleteBuffer(r):r instanceof WebGLFramebuffer?t.deleteFramebuffer(r):r instanceof WebGLProgram?t.deleteProgram(r):r instanceof WebGLRenderbuffer?t.deleteRenderbuffer(r):r instanceof WebGLShader?t.deleteShader(r):r instanceof WebGLTexture&&t.deleteTexture(r)}}function R(e){return{statusMessage:e,preventDefault:function(){d=!0}}}return _(e),e.loseContext=function(){if(!u){for(u=!0,l=0,++a;t.getError(););v(),E[t.CONTEXT_LOST_WEBGL]=!0;var r=R("context lost"),o=n.slice();setTimeout((function(){for(var t=0;t<o.length;++t)o[t](r);b>=0&&setTimeout((function(){e.restoreContext()}),b)}),0)}},e.restoreContext=function(){u&&o.length&&setTimeout((function(){if(!d)throw"can not restore. webglcontestlost listener did not call event.preventDefault";A(),g(t),u=!1,c=0,d=!1;for(var e=o.slice(),r=R("context restored"),n=0;n<e.length;++n)e[n](r)}),0)},e.loseContextInNCalls=function(e){if(u)throw"You can not ask a lost contet to be lost";l=c+e},e.getNumCalls=function(){return c},e.setRestoreTimeout=function(e){b=e},e;function S(e){for(var r in e)"function"==typeof e[r]?i[r]=x(e,r):s(i,e,r);i.getError=function(){if(F(),!u)for(;e=t.getError();)E[e]=!0;for(var e in E)if(E[e])return delete E[e],e;return i.NO_ERROR};for(var n=["createBuffer","createFramebuffer","createProgram","createRenderbuffer","createShader","createTexture"],o=0;o<n.length;++o){var l=n[o];i[l]=function(t){return function(){if(F(),u)return null;var r=t.apply(e,arguments);return r.__webglDebugContextLostId__=a,f.push(r),r}}(e[l])}var c=["getActiveAttrib","getActiveUniform","getBufferParameter","getContextAttributes","getAttachedShaders","getFramebufferAttachmentParameter","getParameter","getProgramParameter","getProgramInfoLog","getRenderbufferParameter","getShaderParameter","getShaderInfoLog","getShaderSource","getTexParameter","getUniform","getUniformLocation","getVertexAttrib"];for(o=0;o<c.length;++o)l=c[o],i[l]=function(t){return function(){return F(),u?null:t.apply(e,arguments)}}(i[l]);var d=["isBuffer","isEnabled","isFramebuffer","isProgram","isRenderbuffer","isShader","isTexture"];for(o=0;o<d.length;++o)l=d[o],i[l]=function(t){return function(){return F(),!u&&t.apply(e,arguments)}}(i[l]);return i.checkFramebufferStatus=function(t){return function(){return F(),u?i.FRAMEBUFFER_UNSUPPORTED:t.apply(e,arguments)}}(i.checkFramebufferStatus),i.getAttribLocation=function(t){return function(){return F(),u?-1:t.apply(e,arguments)}}(i.getAttribLocation),i.getVertexAttribOffset=function(t){return function(){return F(),u?0:t.apply(e,arguments)}}(i.getVertexAttribOffset),i.isContextLost=function(){return u},i}}return{init:i,mightBeEnum:u,glEnumToString:f,glFunctionArgToString:l,glFunctionArgsToString:c,makeDebugContext:d,makeLostContextSimulatingCanvas:b,resetToInitialState:g}},void 0!==(_=T())&&(m.exports=_);export{F as testFloatBufferBlend};
5
+ import{blendingAlpha as e}from"../3d/webgl-engine/lib/OrderIndependentTransparency.js";import{BufferObject as t}from"./BufferObject.js";import{ContextType as r}from"./context-util.js";import{TargetType as n,DepthStencilTargetType as o,TextureType as i,TextureWrapMode as a,PixelFormat as u,PixelType as f,SizedPixelFormat as l,TextureSamplingMode as c,Usage as s,DataType as d,PrimitiveType as g}from"./enums.js";import{FramebufferObject as b}from"./FramebufferObject.js";import{makePipelineState as E}from"./renderState.js";import{VertexArrayObject as p}from"./VertexArrayObject.js";import{VertexElementDescriptor as m}from"./VertexElementDescriptor.js";var T,_,v,F={exports:{}};function x(T){var _,v,x,A,R;if(!T.gl)return!1;if(T.type===r.WEBGL1)return(null==(A=T.capabilities.textureFloat)?void 0:A.textureFloat)&&(null==(R=T.capabilities.colorBufferFloat)?void 0:R.textureFloat);if(!((null==(_=T.capabilities.textureFloat)?void 0:_.textureFloat)&&(null==(v=T.capabilities.colorBufferFloat)?void 0:v.textureFloat)&&(null==(x=T.capabilities.colorBufferFloat)?void 0:x.floatBlend)))return!1;const S=new b(T,{colorTarget:n.TEXTURE,depthStencilTarget:o.NONE},{target:i.TEXTURE_2D,wrapMode:a.CLAMP_TO_EDGE,pixelFormat:u.RGBA,dataType:f.FLOAT,internalFormat:l.RGBA32F,samplingMode:c.NEAREST,width:1,height:1}),h=t.createVertex(T,s.STATIC_DRAW,new Uint16Array([0,0,1,0,0,1,1,1])),P=new p(T,new Map([["a_pos",0]]),{geometry:[new m("a_pos",2,d.UNSIGNED_SHORT,0,4)]},{geometry:h}),L="\n precision highp float;\n attribute vec2 a_pos;\n\n void main() {\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\n }\n ",B="\n precision highp float;\n\n void main() {\n gl_FragColor = vec4(0.5, 0.5, 0.5, 0.5);\n }\n ",C=T.programCache.acquire(L,B,new Map([["a_pos",0]]));T.useProgram(C);const w=T.getBoundFramebufferObject(),{x:O,y:N,width:I,height:U}=T.getViewport();T.bindFramebuffer(S),T.setViewport(0,0,1,1),T.bindVAO(P),T.drawArrays(g.TRIANGLE_STRIP,0,4);const y=E({blending:e});T.setPipelineState(y),T.drawArrays(g.TRIANGLE_STRIP,0,4),F.exports.init(T);const D=T.gl.getError();return T.setViewport(O,N,I,U),T.bindFramebuffer(w),C.dispose(),P.dispose(!1),h.dispose(),S.dispose(),1282!==D||(console.warn("Device claims support for WebGL extension EXT_float_blend but does not support it. Using fall back."),!1)}T=F,_=function(){var e=function(e){window.console&&window.console.log&&window.console.log(e)},t=function(t){window.console&&window.console.error?window.console.error(t):e(t)},r={enable:{1:{0:!0}},disable:{1:{0:!0}},getParameter:{1:{0:!0}},drawArrays:{3:{0:!0}},drawElements:{4:{0:!0,2:!0}},createShader:{1:{0:!0}},getShaderParameter:{2:{1:!0}},getProgramParameter:{2:{1:!0}},getShaderPrecisionFormat:{2:{0:!0,1:!0}},getVertexAttrib:{2:{1:!0}},vertexAttribPointer:{6:{2:!0}},bindTexture:{2:{0:!0}},activeTexture:{1:{0:!0}},getTexParameter:{2:{0:!0,1:!0}},texParameterf:{3:{0:!0,1:!0}},texParameteri:{3:{0:!0,1:!0,2:!0}},texImage2D:{9:{0:!0,2:!0,6:!0,7:!0},6:{0:!0,2:!0,3:!0,4:!0}},texSubImage2D:{9:{0:!0,6:!0,7:!0},7:{0:!0,4:!0,5:!0}},copyTexImage2D:{8:{0:!0,2:!0}},copyTexSubImage2D:{8:{0:!0}},generateMipmap:{1:{0:!0}},compressedTexImage2D:{7:{0:!0,2:!0}},compressedTexSubImage2D:{8:{0:!0,6:!0}},bindBuffer:{2:{0:!0}},bufferData:{3:{0:!0,2:!0}},bufferSubData:{3:{0:!0}},getBufferParameter:{2:{0:!0,1:!0}},pixelStorei:{2:{0:!0,1:!0}},readPixels:{7:{4:!0,5:!0}},bindRenderbuffer:{2:{0:!0}},bindFramebuffer:{2:{0:!0}},checkFramebufferStatus:{1:{0:!0}},framebufferRenderbuffer:{4:{0:!0,1:!0,2:!0}},framebufferTexture2D:{5:{0:!0,1:!0,2:!0}},getFramebufferAttachmentParameter:{3:{0:!0,1:!0,2:!0}},getRenderbufferParameter:{2:{0:!0,1:!0}},renderbufferStorage:{4:{0:!0,1:!0}},clear:{1:{0:{enumBitwiseOr:["COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","STENCIL_BUFFER_BIT"]}}},depthFunc:{1:{0:!0}},blendFunc:{2:{0:!0,1:!0}},blendFuncSeparate:{4:{0:!0,1:!0,2:!0,3:!0}},blendEquation:{1:{0:!0}},blendEquationSeparate:{2:{0:!0,1:!0}},stencilFunc:{3:{0:!0}},stencilFuncSeparate:{4:{0:!0,1:!0}},stencilMaskSeparate:{2:{0:!0}},stencilOp:{3:{0:!0,1:!0,2:!0}},stencilOpSeparate:{4:{0:!0,1:!0,2:!0,3:!0}},cullFace:{1:{0:!0}},frontFace:{1:{0:!0}},drawArraysInstancedANGLE:{4:{0:!0}},drawElementsInstancedANGLE:{5:{0:!0,2:!0}},blendEquationEXT:{1:{0:!0}}},n=null,o=null;function i(e){if(null==n)for(var t in n={},o={},e)"number"==typeof e[t]&&(n[e[t]]=t,o[t]=e[t])}function a(){if(null==n)throw"WebGLDebugUtils.init(ctx) not called"}function u(e){return a(),void 0!==n[e]}function f(e){a();var t=n[e];return void 0!==t?"gl."+t:"/*UNKNOWN WebGL ENUM*/ 0x"+e.toString(16)}function l(e,t,n,i){var a;if(void 0!==(a=r[e])&&void 0!==(a=a[t])&&a[n]){if("object"==typeof a[n]&&void 0!==a[n].enumBitwiseOr){for(var u=a[n].enumBitwiseOr,l=0,c=[],s=0;s<u.length;++s){var d=o[u[s]];0!=(i&d)&&(l|=d,c.push(f(d)))}return l===i?c.join(" | "):f(i)}return f(i)}return null===i?"null":void 0===i?"undefined":i.toString()}function c(e,t){for(var r="",n=t.length,o=0;o<n;++o)r+=(0==o?"":", ")+l(e,n,o,t[o]);return r}function s(e,t,r){e.__defineGetter__(r,(function(){return t[r]})),e.__defineSetter__(r,(function(e){t[r]=e}))}function d(e,r,n,o){o=o||e,i(e),r=r||function(e,r,n){for(var o="",i=n.length,a=0;a<i;++a)o+=(0==a?"":", ")+l(r,i,a,n[a]);t("WebGL error "+f(e)+" in "+r+"("+o+")")};var a={};function u(e,t){return function(){n&&n(t,arguments);var i=e[t].apply(e,arguments),u=o.getError();return 0!=u&&(a[u]=!0,r(u,t,arguments)),i}}var c={};for(var g in e)if("function"==typeof e[g])if("getExtension"!=g)c[g]=u(e,g);else{var b=u(e,g);c[g]=function(){return d(b.apply(e,arguments),r,n,o)}}else s(c,e,g);return c.getError=function(){for(var t in a)if(a.hasOwnProperty(t)&&a[t])return a[t]=!1,t;return e.NO_ERROR},c}function g(e){var t=e.getParameter(e.MAX_VERTEX_ATTRIBS),r=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,r);for(var n=0;n<t;++n)e.disableVertexAttribArray(n),e.vertexAttribPointer(n,4,e.FLOAT,!1,0,0),e.vertexAttrib1f(n,0);e.deleteBuffer(r);var o=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(n=0;n<o;++n)e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_CUBE_MAP,null),e.bindTexture(e.TEXTURE_2D,null);for(e.activeTexture(e.TEXTURE0),e.useProgram(null),e.bindBuffer(e.ARRAY_BUFFER,null),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.bindRenderbuffer(e.RENDERBUFFER,null),e.disable(e.BLEND),e.disable(e.CULL_FACE),e.disable(e.DEPTH_TEST),e.disable(e.DITHER),e.disable(e.SCISSOR_TEST),e.blendColor(0,0,0,0),e.blendEquation(e.FUNC_ADD),e.blendFunc(e.ONE,e.ZERO),e.clearColor(0,0,0,0),e.clearDepth(1),e.clearStencil(-1),e.colorMask(!0,!0,!0,!0),e.cullFace(e.BACK),e.depthFunc(e.LESS),e.depthMask(!0),e.depthRange(0,1),e.frontFace(e.CCW),e.hint(e.GENERATE_MIPMAP_HINT,e.DONT_CARE),e.lineWidth(1),e.pixelStorei(e.PACK_ALIGNMENT,4),e.pixelStorei(e.UNPACK_ALIGNMENT,4),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),e.UNPACK_COLORSPACE_CONVERSION_WEBGL&&e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.BROWSER_DEFAULT_WEBGL),e.polygonOffset(0,0),e.sampleCoverage(1,!1),e.scissor(0,0,e.canvas.width,e.canvas.height),e.stencilFunc(e.ALWAYS,0,4294967295),e.stencilMask(4294967295),e.stencilOp(e.KEEP,e.KEEP,e.KEEP),e.viewport(0,0,e.canvas.width,e.canvas.height),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT|e.STENCIL_BUFFER_BIT);e.getError(););}function b(e){var t,r,n=[],o=[],i={},a=1,u=!1,f=[],l=0,c=0,d=!1,b=0,E={};function p(e){return"function"==typeof e?e:function(t){e.handleEvent(t)}}e.getContext=(r=e.getContext,function(){var n=r.apply(e,arguments);if(n instanceof WebGLRenderingContext){if(n!=t){if(t)throw"got different context";i=S(t=n)}return i}return n});var m=function(e){n.push(p(e))},T=function(e){o.push(p(e))};function _(e){var t=e.addEventListener;e.addEventListener=function(r,n,o){switch(r){case"webglcontextlost":m(n);break;case"webglcontextrestored":T(n);break;default:t.apply(e,arguments)}}}function v(){for(var e=Object.keys(E),t=0;t<e.length;++t)delete E[e]}function F(){++c,u||l==c&&e.loseContext()}function x(e,t){var r=e[t];return function(){if(F(),!u)return r.apply(e,arguments)}}function A(){for(var e=0;e<f.length;++e){var r=f[e];r instanceof WebGLBuffer?t.deleteBuffer(r):r instanceof WebGLFramebuffer?t.deleteFramebuffer(r):r instanceof WebGLProgram?t.deleteProgram(r):r instanceof WebGLRenderbuffer?t.deleteRenderbuffer(r):r instanceof WebGLShader?t.deleteShader(r):r instanceof WebGLTexture&&t.deleteTexture(r)}}function R(e){return{statusMessage:e,preventDefault:function(){d=!0}}}return _(e),e.loseContext=function(){if(!u){for(u=!0,l=0,++a;t.getError(););v(),E[t.CONTEXT_LOST_WEBGL]=!0;var r=R("context lost"),o=n.slice();setTimeout((function(){for(var t=0;t<o.length;++t)o[t](r);b>=0&&setTimeout((function(){e.restoreContext()}),b)}),0)}},e.restoreContext=function(){u&&o.length&&setTimeout((function(){if(!d)throw"can not restore. webglcontestlost listener did not call event.preventDefault";A(),g(t),u=!1,c=0,d=!1;for(var e=o.slice(),r=R("context restored"),n=0;n<e.length;++n)e[n](r)}),0)},e.loseContextInNCalls=function(e){if(u)throw"You can not ask a lost contet to be lost";l=c+e},e.getNumCalls=function(){return c},e.setRestoreTimeout=function(e){b=e},e;function S(e){for(var r in e)"function"==typeof e[r]?i[r]=x(e,r):s(i,e,r);i.getError=function(){if(F(),!u)for(;e=t.getError();)E[e]=!0;for(var e in E)if(E[e])return delete E[e],e;return i.NO_ERROR};for(var n=["createBuffer","createFramebuffer","createProgram","createRenderbuffer","createShader","createTexture"],o=0;o<n.length;++o){var l=n[o];i[l]=function(t){return function(){if(F(),u)return null;var r=t.apply(e,arguments);return r.__webglDebugContextLostId__=a,f.push(r),r}}(e[l])}var c=["getActiveAttrib","getActiveUniform","getBufferParameter","getContextAttributes","getAttachedShaders","getFramebufferAttachmentParameter","getParameter","getProgramParameter","getProgramInfoLog","getRenderbufferParameter","getShaderParameter","getShaderInfoLog","getShaderSource","getTexParameter","getUniform","getUniformLocation","getVertexAttrib"];for(o=0;o<c.length;++o)l=c[o],i[l]=function(t){return function(){return F(),u?null:t.apply(e,arguments)}}(i[l]);var d=["isBuffer","isEnabled","isFramebuffer","isProgram","isRenderbuffer","isShader","isTexture"];for(o=0;o<d.length;++o)l=d[o],i[l]=function(t){return function(){return F(),!u&&t.apply(e,arguments)}}(i[l]);return i.checkFramebufferStatus=function(t){return function(){return F(),u?i.FRAMEBUFFER_UNSUPPORTED:t.apply(e,arguments)}}(i.checkFramebufferStatus),i.getAttribLocation=function(t){return function(){return F(),u?-1:t.apply(e,arguments)}}(i.getAttribLocation),i.getVertexAttribOffset=function(t){return function(){return F(),u?0:t.apply(e,arguments)}}(i.getVertexAttribOffset),i.isContextLost=function(){return u},i}}return{init:i,mightBeEnum:u,glEnumToString:f,glFunctionArgToString:l,glFunctionArgsToString:c,makeDebugContext:d,makeLostContextSimulatingCanvas:b,resetToInitialState:g}},void 0!==(v=_())&&(T.exports=v);export{x as testFloatBufferBlend};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{Pos2us as e}from"../2d/engine/webgl/DefaultVertexAttributeLayouts.js";import{BufferObject as t}from"./BufferObject.js";import{TargetType as r,DepthStencilTargetType as i,TextureType as n,TextureWrapMode as o,PixelFormat as a,PixelType as s,TextureSamplingMode as p,Usage as g,ClearBufferBit as m,PrimitiveType as d}from"./enums.js";import{FramebufferObject as l}from"./FramebufferObject.js";import{Texture as u}from"./Texture.js";import{VertexArrayObject as c}from"./VertexArrayObject.js";async function f(f){const w=new Image;if(w.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",w.width=5,w.height=5,await w.decode(),!f.gl)return!0;const _=new l(f,{colorTarget:r.TEXTURE,depthStencilTarget:i.NONE},{target:n.TEXTURE_2D,wrapMode:o.CLAMP_TO_EDGE,pixelFormat:a.RGBA,dataType:s.UNSIGNED_BYTE,samplingMode:p.NEAREST,width:1,height:1}),E=t.createVertex(f,g.STATIC_DRAW,new Uint16Array([0,0,1,0,0,1,1,1])),v=new c(f,new Map([["a_pos",0]]),e,{geometry:E}),h="\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 uniform sampler2D u_texture;\n\n void main() {\n gl_FragColor = texture2D(u_texture, v_uv);\n }\n ",x=f.newProgram(h,T,new Map([["a_pos",0]]));f.useProgram(x);const A=new u(f,{dataType:s.UNSIGNED_BYTE,pixelFormat:a.RGBA,preMultiplyAlpha:!1,wrapMode:o.CLAMP_TO_EDGE,samplingMode:p.LINEAR},w);f.bindTexture(A,0),x.setUniform1i("u_texture",0);const b=f.getBoundFramebufferObject(),{x:y,y:B,width:F,height:R}=f.getViewport();f.bindFramebuffer(_),f.setViewport(0,0,1,1),f.setClearColor(0,0,0,0),f.setBlendingEnabled(!1),f.clearSafe(m.COLOR_BUFFER_BIT),f.bindVAO(v),f.drawArrays(d.TRIANGLE_STRIP,0,4);const C=new Uint8Array(4);return _.readPixels(0,0,1,1,a.RGBA,s.UNSIGNED_BYTE,C),x.dispose(),v.dispose(!1),E.dispose(),_.dispose(),A.dispose(),f.setViewport(y,B,F,R),f.bindFramebuffer(b),w.src="",255===C[0]}export{f as testSVGPremultipliedAlpha};
5
+ import{Pos2us as e}from"../2d/engine/webgl/DefaultVertexAttributeLayouts.js";import{BufferObject as r}from"./BufferObject.js";import{TargetType as t,DepthStencilTargetType as i,TextureType as n,TextureWrapMode as o,PixelFormat as a,PixelType as s,TextureSamplingMode as p,Usage as g,ClearBufferBit as m,PrimitiveType as d}from"./enums.js";import{FramebufferObject as l}from"./FramebufferObject.js";import{Texture as u}from"./Texture.js";import{VertexArrayObject as c}from"./VertexArrayObject.js";async function f(f){const w=new Image;if(w.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",w.width=5,w.height=5,await w.decode(),!f.gl)return!0;const _=new l(f,{colorTarget:t.TEXTURE,depthStencilTarget:i.NONE},{target:n.TEXTURE_2D,wrapMode:o.CLAMP_TO_EDGE,pixelFormat:a.RGBA,dataType:s.UNSIGNED_BYTE,samplingMode:p.NEAREST,width:1,height:1}),E=r.createVertex(f,g.STATIC_DRAW,new Uint16Array([0,0,1,0,0,1,1,1])),h=new c(f,new Map([["a_pos",0]]),e,{geometry:E}),v="\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 uniform sampler2D u_texture;\n\n void main() {\n gl_FragColor = texture2D(u_texture, v_uv);\n }\n ",x=f.programCache.acquire(v,T,new Map([["a_pos",0]]));f.useProgram(x);const A=new u(f,{dataType:s.UNSIGNED_BYTE,pixelFormat:a.RGBA,preMultiplyAlpha:!1,wrapMode:o.CLAMP_TO_EDGE,samplingMode:p.LINEAR},w);f.bindTexture(A,0),x.setUniform1i("u_texture",0);const b=f.getBoundFramebufferObject(),{x:y,y:B,width:C,height:F}=f.getViewport();f.bindFramebuffer(_),f.setViewport(0,0,1,1),f.setClearColor(0,0,0,0),f.setBlendingEnabled(!1),f.clearSafe(m.COLOR_BUFFER_BIT),f.bindVAO(h),f.drawArrays(d.TRIANGLE_STRIP,0,4);const R=new Uint8Array(4);return _.readPixels(0,0,1,1,a.RGBA,s.UNSIGNED_BYTE,R),x.dispose(),h.dispose(!1),E.dispose(),_.dispose(),A.dispose(),f.setViewport(y,B,C,F),f.bindFramebuffer(b),w.src="",255===R[0]}export{f as testSVGPremultipliedAlpha};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Logger.js";import{BufferObject as r}from"./BufferObject.js";import{TargetType as t,DepthStencilTargetType as o,TextureType as i,TextureWrapMode as n,PixelFormat as a,PixelType as s,TextureSamplingMode as p,Usage as m,DataType as d,PrimitiveType as c}from"./enums.js";import{FramebufferObject as g}from"./FramebufferObject.js";import{Texture as l}from"./Texture.js";import{VertexArrayObject as u}from"./VertexArrayObject.js";import{VertexElementDescriptor as f}from"./VertexElementDescriptor.js";const w=e.getLogger("esri.views.WebGLDriverTest");function T(e){const T=new g(e,{colorTarget:t.TEXTURE,depthStencilTarget:o.NONE},{target:i.TEXTURE_2D,wrapMode:n.CLAMP_TO_EDGE,pixelFormat:a.RGBA,dataType:s.UNSIGNED_BYTE,samplingMode:p.NEAREST,width:1,height:1}),_="\nprecision highp float;\nattribute vec2 a_pos;\nuniform highp sampler2D u_texture;\nvarying vec4 v_color;\n\nfloat getBit(in float bitset, in int bitIndex) {\n float offset = pow(2.0, float(bitIndex));\n return mod(floor(bitset / offset), 2.0);\n}\n\nvoid main() {\n vec4 value = texture2D(u_texture, vec2(0.0));\n float bit = getBit(value.x * 255.0, 1);\n\n v_color = bit * vec4(1.0);\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\n}\n",h="\nprecision highp float;\nvarying vec4 v_color;\n\nvoid main() {\n gl_FragColor = v_color;\n}\n",v=new Uint8Array(4),b=r.createVertex(e,m.STATIC_DRAW,new Uint16Array([0,0,1,0,0,1,1,1])),E=new u(e,new Map([["a_position",0]]),{geometry:[new f("a_position",2,d.SHORT,0,4)]},{geometry:b}),A=e.newProgram(_,h,new Map([["a_pos",0]]));e.useProgram(A);const x=new l(e,{target:i.TEXTURE_2D,wrapMode:n.CLAMP_TO_EDGE,pixelFormat:a.RGBA,dataType:s.UNSIGNED_BYTE,samplingMode:p.NEAREST,width:1,height:1},new Uint8Array([2,255,0,0]));A.setUniform1i("u_texture",0),e.bindTexture(x,0);const y=e.getBoundFramebufferObject();e.bindFramebuffer(T),e.useProgram(A);const{x:D,y:R,width:j,height:N}=e.getViewport();e.setViewport(0,0,1,1),e.bindVAO(E),e.drawArrays(c.TRIANGLE_STRIP,0,4),e.setViewport(D,R,j,N),T.readPixels(0,0,1,1,a.RGBA,s.UNSIGNED_BYTE,v),A.dispose(),E.dispose(!1),b.dispose(),T.dispose();const B=255!==v[0]||255!==v[1]||255!==v[2]||255!==v[3];return B&&w.warn(`A problem was detected with your graphics driver. Your driver does not appear to honor sampler precision specifiers, which may result in rendering issues due to numerical instability. We recommend ensuring that your drivers have been updated to the latest version. Applying lowp sampler workaround. [${v[0]}.${v[1]}.${v[2]}.${v[3]}]`),e.bindFramebuffer(y),B}export{T as testSamplerPrecision};
5
+ import e from"../../core/Logger.js";import{BufferObject as r}from"./BufferObject.js";import{TargetType as t,DepthStencilTargetType as o,TextureType as i,TextureWrapMode as n,PixelFormat as a,PixelType as s,TextureSamplingMode as p,Usage as m,DataType as c,PrimitiveType as d}from"./enums.js";import{FramebufferObject as u}from"./FramebufferObject.js";import{Texture as g}from"./Texture.js";import{VertexArrayObject as l}from"./VertexArrayObject.js";import{VertexElementDescriptor as f}from"./VertexElementDescriptor.js";const w=e.getLogger("esri.views.WebGLDriverTest");function h(e){const h=new u(e,{colorTarget:t.TEXTURE,depthStencilTarget:o.NONE},{target:i.TEXTURE_2D,wrapMode:n.CLAMP_TO_EDGE,pixelFormat:a.RGBA,dataType:s.UNSIGNED_BYTE,samplingMode:p.NEAREST,width:1,height:1}),T="\nprecision highp float;\nattribute vec2 a_pos;\nuniform highp sampler2D u_texture;\nvarying vec4 v_color;\n\nfloat getBit(in float bitset, in int bitIndex) {\n float offset = pow(2.0, float(bitIndex));\n return mod(floor(bitset / offset), 2.0);\n}\n\nvoid main() {\n vec4 value = texture2D(u_texture, vec2(0.0));\n float bit = getBit(value.x * 255.0, 1);\n\n v_color = bit * vec4(1.0);\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\n}\n",_="\nprecision highp float;\nvarying vec4 v_color;\n\nvoid main() {\n gl_FragColor = v_color;\n}\n",v=new Uint8Array(4),b=r.createVertex(e,m.STATIC_DRAW,new Uint16Array([0,0,1,0,0,1,1,1])),E=new l(e,new Map([["a_position",0]]),{geometry:[new f("a_position",2,c.SHORT,0,4)]},{geometry:b}),A=e.programCache.acquire(T,_,new Map([["a_pos",0]]));e.useProgram(A);const x=new g(e,{target:i.TEXTURE_2D,wrapMode:n.CLAMP_TO_EDGE,pixelFormat:a.RGBA,dataType:s.UNSIGNED_BYTE,samplingMode:p.NEAREST,width:1,height:1},new Uint8Array([2,255,0,0]));A.setUniform1i("u_texture",0),e.bindTexture(x,0);const y=e.getBoundFramebufferObject();e.bindFramebuffer(h),e.useProgram(A);const{x:D,y:R,width:j,height:N}=e.getViewport();e.setViewport(0,0,1,1),e.bindVAO(E),e.drawArrays(d.TRIANGLE_STRIP,0,4),e.setViewport(D,R,j,N),h.readPixels(0,0,1,1,a.RGBA,s.UNSIGNED_BYTE,v),A.dispose(),E.dispose(!1),b.dispose(),h.dispose();const B=255!==v[0]||255!==v[1]||255!==v[2]||255!==v[3];return B&&w.warn(`A problem was detected with your graphics driver. Your driver does not appear to honor sampler precision specifiers, which may result in rendering issues due to numerical instability. We recommend ensuring that your drivers have been updated to the latest version. Applying lowp sampler workaround. [${v[0]}.${v[1]}.${v[2]}.${v[3]}]`),e.bindFramebuffer(y),B}export{h as testSamplerPrecision};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{BufferObject as t}from"../BufferObject.js";import{BlendFactor as e,PrimitiveType as i,DataType as s,Usage as r,TextureType as o,PixelFormat as a,PixelType as h}from"../enums.js";import{Program as n}from"../Program.js";import{RenderingContext as _}from"../RenderingContext.js";import{Texture as c}from"../Texture.js";import{VertexArrayObject as m}from"../VertexArrayObject.js";import{VertexElementDescriptor as g}from"../VertexElementDescriptor.js";class d{constructor(t,e,i,s,r){this._vertexAttributeLocations=new Map([["position",0],["uv0",1]]),this._context=void 0,this._glslProgram=void 0,this._vertexAttributes=void 0,this._vertexArrayObject=void 0,this._texture=void 0,this._geometryData=void 0,this._initialized=!1,t||console.error("WebGL rendering context is not initialized!"),this._context=new _(t,{}),this._posX=e,this._posY=i,this._dx=.05*Math.random()*s*(Math.random()<.5?-1:1),this._dy=.05*Math.random()*r*(Math.random()<.5?-1:1),this._canvasWidth=s,this._canvasHieght=r}draw(){if(!this._initialize())return;this._updatePos();const t=this._context;t.setBlendingEnabled(!0),t.setBlendFunction(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),t.setClearColor(1,1,1,1),t.clear(t.gl.COLOR_BUFFER_BIT),t.bindVAO(this._vertexArrayObject),t.useProgram(this._glslProgram),t.bindTexture(this._texture,0),t.drawArrays(i.TRIANGLE_STRIP,0,4)}_updatePos(){this._posX+=this._dx,this._posY+=this._dy,(this._posX<0||this._posX>this._canvasWidth)&&(this._dx=-this._dx),(this._posY<0||this._posY>this._canvasHieght)&&(this._dy=-this._dy);const t=this._vertexArrayObject.vertexBuffers.geometry;t&&(this._populateBuffer(256),t.setData(this._geometryData))}_initialize(){if(this._initialized)return!0;const e="\n precision highp float;\n\n // geometry attributes\n attribute vec2 pos;\n attribute vec2 tex;\n\n varying vec2 v_tex;\n\n void main(void)\n {\n gl_Position = vec4(pos, 0.0, 1.0);\n v_tex = tex;\n }",i="\n precision highp float;\n uniform sampler2D u_texture;\n\n varying vec2 v_tex;\n void main(void)\n {\n vec4 color = texture2D(u_texture, v_tex);\n gl_FragColor = color;\n }";this._glslProgram=new n(this._context,e,i,this._vertexAttributeLocations),this._vertexAttributes={geometry:[new g("pos",2,s.FLOAT,0,16),new g("tex",2,s.FLOAT,8,16)]};const _=document.createElement("canvas"),d=256;_.width=d,_.height=d;const l=_.getContext("2d");l.clearRect(0,0,0,0);const x=_.width/2,v=_.height/2,p=_.height/2-15;l.beginPath(),l.arc(x,v,p,0,2*Math.PI,!1),l.fillStyle="green",l.fill(),l.lineWidth=5,l.strokeStyle="#003300",l.stroke(),this._populateBuffer(256);const y=t.createVertex(this._context,r.DYNAMIC_DRAW,this._geometryData);return this._vertexArrayObject=new m(this._context,this._vertexAttributeLocations,this._vertexAttributes,{geometry:y}),this._texture=new c(this._context,{target:o.TEXTURE_2D,pixelFormat:a.RGBA,dataType:h.UNSIGNED_BYTE,flipped:!0},_),this._initialized=!0,!1}_populateBuffer(t){const e=2*(this._posX/this._canvasWidth-.5),i=2*((this._canvasHieght-this._posY)/this._canvasHieght-.5),s=1*t/this._canvasWidth,r=1*t/this._canvasHieght;this._geometryData||(this._geometryData=new Float32Array(16)),this._geometryData[0]=e+s,this._geometryData[1]=i+r,this._geometryData[2]=1,this._geometryData[3]=1,this._geometryData[4]=e+s,this._geometryData[5]=i-r,this._geometryData[6]=1,this._geometryData[7]=0,this._geometryData[8]=e-s,this._geometryData[9]=i+r,this._geometryData[10]=0,this._geometryData[11]=1,this._geometryData[12]=e-s,this._geometryData[13]=i-r,this._geometryData[14]=0,this._geometryData[15]=0}}export{d as default};
5
+ import{BufferObject as t}from"../BufferObject.js";import{BlendFactor as e,PrimitiveType as i,DataType as s,Usage as r,TextureType as a,PixelFormat as o,PixelType as h}from"../enums.js";import{RenderingContext as n}from"../RenderingContext.js";import{Texture as _}from"../Texture.js";import{VertexArrayObject as c}from"../VertexArrayObject.js";import{VertexElementDescriptor as g}from"../VertexElementDescriptor.js";class m{constructor(t,e,i,s,r){this._vertexAttributeLocations=new Map([["position",0],["uv0",1]]),this._context=void 0,this._glslProgram=void 0,this._vertexAttributes=void 0,this._vertexArrayObject=void 0,this._texture=void 0,this._geometryData=void 0,this._initialized=!1,t||console.error("WebGL rendering context is not initialized!"),this._context=new n(t,{}),this._posX=e,this._posY=i,this._dx=.05*Math.random()*s*(Math.random()<.5?-1:1),this._dy=.05*Math.random()*r*(Math.random()<.5?-1:1),this._canvasWidth=s,this._canvasHieght=r}draw(){if(!this._initialize())return;this._updatePos();const t=this._context;t.setBlendingEnabled(!0),t.setBlendFunction(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),t.setClearColor(1,1,1,1),t.clear(t.gl.COLOR_BUFFER_BIT),t.bindVAO(this._vertexArrayObject),t.useProgram(this._glslProgram),t.bindTexture(this._texture,0),t.drawArrays(i.TRIANGLE_STRIP,0,4)}_updatePos(){this._posX+=this._dx,this._posY+=this._dy,(this._posX<0||this._posX>this._canvasWidth)&&(this._dx=-this._dx),(this._posY<0||this._posY>this._canvasHieght)&&(this._dy=-this._dy);const t=this._vertexArrayObject.vertexBuffers.geometry;t&&(this._populateBuffer(256),t.setData(this._geometryData))}_initialize(){if(this._initialized)return!0;const e="\n precision highp float;\n\n // geometry attributes\n attribute vec2 pos;\n attribute vec2 tex;\n\n varying vec2 v_tex;\n\n void main(void)\n {\n gl_Position = vec4(pos, 0.0, 1.0);\n v_tex = tex;\n }",i="\n precision highp float;\n uniform sampler2D u_texture;\n\n varying vec2 v_tex;\n void main(void)\n {\n vec4 color = texture2D(u_texture, v_tex);\n gl_FragColor = color;\n }";this._glslProgram=this._context.programCache.acquire(e,i,this._vertexAttributeLocations),this._vertexAttributes={geometry:[new g("pos",2,s.FLOAT,0,16),new g("tex",2,s.FLOAT,8,16)]};const n=document.createElement("canvas"),m=256;n.width=m,n.height=m;const d=n.getContext("2d");d.clearRect(0,0,0,0);const l=n.width/2,x=n.height/2,v=n.height/2-15;d.beginPath(),d.arc(l,x,v,0,2*Math.PI,!1),d.fillStyle="green",d.fill(),d.lineWidth=5,d.strokeStyle="#003300",d.stroke(),this._populateBuffer(256);const p=t.createVertex(this._context,r.DYNAMIC_DRAW,this._geometryData);return this._vertexArrayObject=new c(this._context,this._vertexAttributeLocations,this._vertexAttributes,{geometry:p}),this._texture=new _(this._context,{target:a.TEXTURE_2D,pixelFormat:o.RGBA,dataType:h.UNSIGNED_BYTE,flipped:!0},n),this._initialized=!0,!1}_populateBuffer(t){const e=2*(this._posX/this._canvasWidth-.5),i=2*((this._canvasHieght-this._posY)/this._canvasHieght-.5),s=1*t/this._canvasWidth,r=1*t/this._canvasHieght;this._geometryData||(this._geometryData=new Float32Array(16)),this._geometryData[0]=e+s,this._geometryData[1]=i+r,this._geometryData[2]=1,this._geometryData[3]=1,this._geometryData[4]=e+s,this._geometryData[5]=i-r,this._geometryData[6]=1,this._geometryData[7]=0,this._geometryData[8]=e-s,this._geometryData[9]=i+r,this._geometryData[10]=0,this._geometryData[11]=1,this._geometryData[12]=e-s,this._geometryData[13]=i-r,this._geometryData[14]=0,this._geometryData[15]=0}}export{m as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import{HandleOwnerMixin as s}from"../core/HandleOwner.js";import n from"../core/has.js";import{on as r,init as a}from"../core/watchUtils.js";import{aliasOf as o}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import m from"./Widget.js";import h from"./BasemapLayerList/BasemapLayerListViewModel.js";import u from"./LayerList/ListItem.js";import{findSelectedItem as g}from"./LayerList/support/layerListUtils.js";import{Heading as p,incrementHeadingLevel as b}from"./support/Heading.js";import{accessibleHandler as _}from"./support/decorators/accessibleHandler.js";import{messageBundle as y}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{vmEvent as f}from"./support/decorators/vmEvent.js";import{tsx as v}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import I from"sortablejs";const L=t.ofType(u);function w(e,t,i){e.splice(i,0,e.splice(t,1)[0])}const A=".*\\S+.*",C="esri-basemaplayerlist-new-ui",T="root-layers",E="data-layer-uid",S="layerUid",k={base:"esri-basemap-layer-list esri-widget esri-widget--panel",newUI:"esri-basemap-layer-list--new-ui",titleContainer:"esri-basemap-layer-list__title-container",mainHeading:"esri-basemap-layer-list__main-heading",editingCard:"esri-basemap-layer-list__editing-card",editingInput:"esri-basemap-layer-list__editing-input",editingActions:"esri-basemap-layer-list__editing-actions",editButton:"esri-basemap-layer-list__edit-button",editButtonIcon:"esri-basemap-layer-list__edit-button-icon",submitButton:"esri-basemap-layer-list__submit-button",cancelButton:"esri-basemap-layer-list__cancel-button",noItems:"esri-basemap-layer-list__no-items",horizontalRule:"esri-basemap-layer-list__hr",listHeading:"esri-basemap-layer-list__list-heading",list:"esri-basemap-layer-list__list",listRoot:"esri-basemap-layer-list__list--root",listExclusive:"esri-basemap-layer-list__list--exclusive",listInherited:"esri-basemap-layer-list__list--inherited",listIndependent:"esri-basemap-layer-list__list--independent",item:"esri-basemap-layer-list__item",itemOnlyChild:"esri-basemap-layer-list__item--only-child",itemContent:"esri-basemap-layer-list__item-content",itemError:"esri-basemap-layer-list__item--error",itemInvisible:"esri-basemap-layer-list__item--invisible",itemInvisibleAtScale:"esri-basemap-layer-list__item--invisible-at-scale",itemUpdating:"esri-basemap-layer-list__item--updating",itemChildren:"esri-basemap-layer-list__item--has-children",itemSelectable:"esri-basemap-layer-list__item--selectable",itemContainer:"esri-basemap-layer-list__item-container",actionsMenu:"esri-basemap-layer-list__item-actions-menu",actionsMenuItem:"esri-basemap-layer-list__item-actions-menu-item",actionsMenuItemActive:"esri-basemap-layer-list__item-actions-menu-item--active",actions:"esri-basemap-layer-list__item-actions",actionsList:"esri-basemap-layer-list__item-actions-list",action:"esri-basemap-layer-list__item-action",actionIcon:"esri-basemap-layer-list__item-action-icon",actionImage:"esri-basemap-layer-list__item-action-image",actionTitle:"esri-basemap-layer-list__item-action-title",actionToggle:"esri-basemap-layer-list__action-toggle",actionToggleOn:"esri-basemap-layer-list__action-toggle--on",label:"esri-basemap-layer-list__item-label",errorMessage:"esri-basemap-layer-list__item-error-message",title:"esri-basemap-layer-list__item-title",toggleVisible:"esri-basemap-layer-list__item-toggle",toggleVisibleIcon:"esri-basemap-layer-list__item-toggle-icon",toggleIcon:"esri-basemap-layer-list__item-toggle-icon",radioIcon:"esri-basemap-layer-list__item-radio-icon",childToggle:"esri-basemap-layer-list__child-toggle",childToggleOpen:"esri-basemap-layer-list__child-toggle--open",childOpened:"esri-basemap-layer-list__child-toggle-icon--opened",childClosed:"esri-basemap-layer-list__child-toggle-icon--closed",childClosed_RTL:"esri-basemap-layer-list__child-toggle-icon--closed-rtl",sortableChosen:"esri-basemap-layer-list--chosen",button:"esri-button",buttonTertiary:"esri-button--tertiary",input:"esri-input",disabled:"esri-disabled",disabledElement:"esri-disabled-element",hidden:"esri-hidden",rotating:"esri-rotating",heading:"esri-widget__heading",iconEdit:"esri-icon-edit",iconCheckMark:"esri-icon-check-mark",iconClose:"esri-icon-close",iconEllipses:"esri-icon-handle-horizontal",iconVisible:"esri-icon-visible",iconInvisible:"esri-icon-non-visible",iconRadioSelected:"esri-icon-radio-checked",iconRadioUnselected:"esri-icon-radio-unchecked",iconNoticeTriangle:"esri-icon-notice-triangle",iconChildrenOpen:"esri-icon-down-arrow",iconDownArrow:"esri-icon-down-arrow",iconRightArrow:"esri-icon-right-triangle-arrow",iconLeftArrow:"esri-icon-left-triangle-arrow",iconLoading:"esri-icon-loading-indicator",iconDefaultAction:"esri-icon-default-action",widgetIcon:"esri-icon-layers"},B={actions:"actions",actionSection:"action-section",baseItems:"base-items",referenceItems:"reference-items"},R={exclusive:"exclusive",inherited:"inherited",independent:"independent"};function O(e){const{actionsOpen:t,children:i}=e;t&&(e.actionsOpen=!1),i.forEach((e=>O(e)))}const M={baseLayers:!0,referenceLayers:!0,statusIndicators:!0};let x=class extends(s(m)){constructor(e,t){super(e,t),this._editingTitle=!1,this._editTitleInput=null,this._editTitleButton=null,this._focusOnElement=null,this._sortableBaseLayers=null,this._sortableReferenceLayers=null,this._sortableBaseLayersNode=null,this._sortableReferenceLayersNode=null,this._focusSortUid=null,this._newUI=n(C),this.basemapTitle=null,this.baseListItemCreatedFunction=null,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=k.widgetIcon,this.label=void 0,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.referenceListItemCreatedFunction=null,this.baseItems=null,this.referenceItems=null,this.selectedItems=new L,this.view=null,this.viewModel=new h,this.visibleElements={...M}}initialize(){const{baseItems:e,referenceItems:t}=this;this.own([r(this,"baseItems","change",(()=>{this._itemsChanged(e,B.baseItems),this._toggleSortingBaseLayers()})),r(this,"referenceItems","change",(()=>this._itemsChanged(t,B.referenceItems))),a(this,"editingEnabled",(()=>this._toggleSorting()))])}destroy(){this._destroyBaseSortable(),this._destroyReferenceSortable()}castVisibleElements(e){return{...M,...e}}triggerAction(e,t){this.viewModel.triggerAction(e,t)}render(){const{state:e}=this.viewModel,t={[k.newUI]:this._newUI,[k.hidden]:"loading"===e,[k.disabled]:"disabled"===e},i=this.renderReferenceSection(),s=this.renderBaseSection(),n=i&&s?v("hr",{class:k.horizontalRule}):null;return v("div",{class:this.classes(k.base,t)},this.renderTitleContainer(),i,n,s)}renderEditingInput(){const{messages:e}=this,{basemapTitle:t}=this.viewModel;return v("label",{class:k.editingInput},e.basemapTitle,v("input",{bind:this,class:k.input,title:e.basemapTitle,"aria-label":e.basemapTitle,placeholder:e.basemapTitle,type:"text",role:"textbox",required:!0,pattern:A,value:t,afterCreate:this._storeEditTitleInput,afterUpdate:this._focusEditElement}))}renderCancelButton(){const{messagesCommon:e}=this;return v("button",{title:e.cancel,"aria-label":e.cancel,type:"button",bind:this,class:this.classes(k.button,k.buttonTertiary),onclick:this._toggleEditingTitle},e.cancel)}renderSubmitButton(){const{messagesCommon:e}=this;return v("button",{title:e.form.submit,"aria-label":e.form.submit,type:"submit",bind:this,class:k.button},e.form.ok)}renderEditingForm(){return v("div",{class:k.editingCard},v("form",{bind:this,onsubmit:this._formSubmit},this.renderEditingInput(),v("div",{class:k.editingActions},this.renderCancelButton(),this.renderSubmitButton())))}renderBasemapTitle(){const{basemapTitle:e}=this.viewModel;return v(p,{level:this.headingLevel,class:this.classes(k.heading,k.mainHeading)},e)}renderEditTitleButton(){const{_editingTitle:e,editingEnabled:t,messagesCommon:i}=this;return t&&!e?v("button",{bind:this,class:k.editButton,title:i.edit,"aria-label":i.edit,onclick:this._toggleEditingTitle,afterCreate:this._storeEditTitleButton,afterUpdate:this._focusEditElement,"data-node-ref":"_editButtonNode"},v("span",{"aria-hidden":"true",class:this.classes(k.iconEdit,k.editButtonIcon)})):null}renderTitleContainer(){return v("div",{class:k.titleContainer},this._editingTitle?this.renderEditingForm():this.renderBasemapTitle(),this.renderEditTitleButton())}renderNoLayersInfo(e,t){return v("div",{key:t,class:k.noItems},e)}renderList(e,t){const{messages:i}=this,s="reference"===t?this._destroyReferenceSortable:this._destroyBaseSortable;return v("ul",{key:t,"aria-label":i.widgetLabel,role:this.editingEnabled&&e.length?"listbox":void 0,afterCreate:this._sortNodeCreated,afterRemoved:s,"data-node-ref":t,bind:this,class:this.classes(k.list,k.listRoot,k.listIndependent)},e.map((i=>this.renderItem({item:i,parent:null,itemType:t,isOnlyChild:1===e.length}))))}renderBaseHeader(){return v(p,{key:"base-heading",level:b(this.headingLevel),class:this.classes(k.heading,k.listHeading)},this.messages.baseHeading)}renderBaseSection(){const{baseItems:e,messages:t,visibleElements:i}=this;if(!i.baseLayers)return null;const s=this._getItems(e),n="base";return[this.renderBaseHeader(),[0===s.length?this.renderNoLayersInfo(t.noBaseLayers,n):null,this.renderList(s,n)]]}renderReferenceHeader(){return v(p,{key:"reference-heading",level:b(this.headingLevel),class:this.classes(k.heading,k.listHeading)},this.messages.referenceHeading)}renderReferenceSection(){const{referenceItems:e,messages:t,visibleElements:i}=this;if(!i.referenceLayers)return null;const s=this._getItems(e),n="reference";return[this.renderReferenceHeader(),[0===s.length?this.renderNoLayersInfo(t.noReferenceLayers,n):null,this.renderList(s,n)]]}renderChildrenToggle(e,t){const{messagesCommon:i}=this,{children:s}=e,n=!!e.error,r=!!s.length&&!n,a={[k.childToggleOpen]:e.open},o=e.open?i.collapse:i.expand;return r?v("span",{onclick:this._toggleChildrenClick,onkeydown:this._toggleChildrenClick,"data-item":e,key:"toggle-children",class:this.classes(k.childToggle,a),tabindex:"0",role:"button","aria-controls":t,"aria-label":o,title:o},v("span",{"aria-hidden":"true",class:this.classes(k.childClosed,k.iconRightArrow)}),v("span",{"aria-hidden":"true",class:this.classes(k.childOpened,k.iconDownArrow)}),v("span",{"aria-hidden":"true",class:this.classes(k.childClosed_RTL,k.iconLeftArrow)})):null}renderError(e){return e.error?v("div",{key:"error",class:k.errorMessage,role:"alert"},v("span",null,this.messages.layerError)):null}renderActionsMenuIcon(e,t){const{messagesCommon:i}=this,s={[k.actionsMenuItemActive]:e.actionsOpen};return v("div",{key:"actions-menu-toggle","data-item":e,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(k.actionsMenuItem,s),tabindex:"0",role:"button","aria-controls":t,"aria-label":i.options,title:i.options},v("span",{"aria-hidden":"true",class:k.iconEllipses}))}renderActionsMenu(e,t,i,s){const{panel:n}=e,r=n&&n.visible?this.renderPanelButton(n):null,a=1===i&&this._getSingleActionButton(t),o=a?this.renderAction({item:e,action:a,singleAction:!0}):null,l=!a&&i?this.renderActionsMenuIcon(e,s):null;return l||r||a?v("div",{key:"actions-menu",class:k.actionsMenu},r,o,l):null}renderChildList(e,t){const{editingEnabled:i}=this,{visibilityMode:s,children:n}=e,r=!!e.error,a=!!n.length&&!r,{exclusive:o,inherited:l}=R,d={[k.listExclusive]:s===o,[k.listInherited]:s===l,[k.listIndependent]:s!==l&&s!==o};return a?v("ul",{bind:this,key:"list-items",id:t,"data-group":e.uid,"data-item":e,afterCreate:this._sortNodeCreated,afterUpdate:this._sortNodeCreated,class:this.classes(k.list,d),"aria-expanded":e.open?"true":"false",role:i?"listbox":s===o?"radiogroup":"group",hidden:!e.open||null},null==n?void 0:n.map((t=>this.renderItem({item:t,parent:e}))).toArray()):null}renderItemContent(e,t,i){const{id:s}=this,n=`${s}_${e.uid}`,r=`${n}_actions`,a=`${n}__list`,{panel:o}=e,l=this._filterActions(e.actionsSections),d=this._countActions(l);return[v("div",{key:"list-item-container",class:k.itemContainer},this.renderChildrenToggle(e,a),this.renderLabel(e,t,i),this.renderActionsMenu(e,l,d,r)),this.renderError(e),d?this.renderActionsSections(e,l,r):null,o&&o.open?o.render():null,this.renderChildList(e,a)]}renderItem({item:e,parent:t,itemType:i,isOnlyChild:s}){const{_newUI:n,id:r,editingEnabled:a,selectedItems:o,visibleElements:l}=this,{children:d}=e,c=`${`${r}_${e.uid}`}__title`,m=!!e.error,h=!!d.length&&!m,u={[k.itemChildren]:h,[k.itemError]:!!m,[k.itemUpdating]:e.updating&&!t&&l.statusIndicators,[k.itemInvisible]:n&&!e.visible,[k.itemInvisibleAtScale]:!e.visibleAtCurrentScale,[k.itemSelectable]:a};if(a){var p;const n={[E]:null==(p=e.layer)?void 0:p.uid};return v("li",{key:`item-with-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(k.item,u,{[k.itemOnlyChild]:s}),"aria-labelledby":c,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,"data-item-type":i,"data-item":e,tabIndex:0,"aria-selected":g(e,o)?"true":"false",role:"option",...n},this.renderItemContent(e,t,c))}return v("li",{key:`item-no-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(k.item,u),"aria-labelledby":c},this.renderItemContent(e,t,c))}renderItemTitle(e,t){const{messages:i}=this,s=e.title||i.untitledLayer,n=e.visibleAtCurrentScale?s:`${s} (${i.layerInvisibleAtScale})`;return v("span",{key:"layer-title-container",id:t,title:n,"aria-label":n,class:k.title},s)}renderItemToggleIcon(e,t){const{_newUI:i}=this,{exclusive:s}=R,n=t&&t.visibilityMode,r={[k.toggleVisibleIcon]:i,[k.toggleIcon]:i&&n!==s,[k.radioIcon]:i&&n===s,[k.iconRadioSelected]:n===s&&e.visible,[k.iconRadioUnselected]:n===s&&!e.visible,[k.iconVisible]:n!==s&&e.visible,[k.iconInvisible]:n!==s&&!e.visible};return v("span",{key:"item-toggle-icon",class:this.classes(r),"aria-hidden":"true"})}renderItemToggle(e,t,i){const{editingEnabled:s}=this,{exclusive:n}=R,r=t&&t.visibilityMode,a=r===n?"radio":"switch";return v("span",s?{key:"item-toggle-selection-enabled",class:k.toggleVisible,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":r,tabIndex:0,"aria-checked":e.visible?"true":"false",role:a,"aria-labelledby":i}:{key:"item-toggle",class:k.toggleVisible},this.renderItemToggleIcon(e,t))}renderItemError(e){return e.error?v("span",{key:"notice-triangle","aria-hidden":"true",class:k.iconNoticeTriangle}):null}renderLabel(e,t,i){const{editingEnabled:s,_newUI:n}=this,{inherited:r,exclusive:a}=R,o=null==t?void 0:t.visibilityMode,l=o===a?"radio":"switch",d=[this.renderItemToggle(e,t,i),this.renderItemTitle(e,i)];n&&d.reverse();const c=v("div",s?{key:`item-label-no-selection-${e.uid}`,class:k.label}:{key:`item-label-with-selection-${e.uid}`,class:k.label,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":o,tabIndex:0,"aria-checked":e.visible?"true":"false",role:l,"aria-labelledby":i},d);return o===r||e.error?v("div",{key:`item-label-container-${e.uid}`,class:k.label},this.renderItemError(e),this.renderItemTitle(e,i)):c}renderPanelButton(e){const{className:t,open:i,title:s,image:n}=e,r=n||t?t:k.iconDefaultAction,a=this._getIconImageStyles(e),o={[k.actionsMenuItemActive]:i},l={[k.actionImage]:!!a["background-image"]};return r&&(l[r]=!!r),v("div",{key:`panel-${e.uid}`,bind:this,"data-panel":e,onclick:this._triggerPanel,onkeydown:this._triggerPanel,class:this.classes(k.actionsMenuItem,o),role:"button",tabindex:"0",title:s,"aria-label":s},v("span",{class:this.classes(l),styles:a}))}renderActionsSections(e,t,i){const s=t.toArray().map(((t,i)=>v("ul",{key:`${e}-action-section-${i}`,class:k.actionsList},this.renderActionSection(e,t))));return v("div",{role:"group","aria-expanded":e.actionsOpen?"true":"false",key:"actions-section",id:i,class:k.actions,hidden:!e.actionsOpen||null},s)}renderActionSection(e,t){return(t&&t.toArray()).map((t=>this.renderAction({item:e,action:t})))}renderActionIcon(e){const{active:t,className:i}=e,s=this._getIconImageStyles(e),n="button"!==e.type||e.image||i?i:k.iconDefaultAction,r={[k.actionImage]:!t&&!!s["background-image"],[k.iconLoading]:t,[k.rotating]:t};return n&&!t&&(r[n]=!0),v("span",{key:"action-icon","aria-hidden":"true",class:this.classes(k.actionIcon,r),styles:s})}renderActionTitle(e,t){return t?null:v("span",{key:"action-title",class:k.actionTitle},e)}renderAction(e){const{item:t,action:i,singleAction:s}=e,{active:n,disabled:r,title:a}=i,o={[k.actionsMenuItem]:s&&"button"===i.type,[k.action]:n||!s&&"toggle"!==i.type,[k.actionToggle]:!n&&"toggle"===i.type,[k.actionToggleOn]:!n&&"toggle"===i.type&&i.value,[k.disabledElement]:r},l=[this.renderActionIcon(i),this.renderActionTitle(a,s)];return s?v("div",{bind:this,"data-item":t,"data-action":i,role:"button",key:`single-action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:o,tabindex:"0",title:a,"aria-label":a},l):v("li",{bind:this,"data-item":t,"data-action":i,key:`action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:o,tabindex:"0",role:"button",title:a,"aria-label":a},l)}_filterActions(e){return e.map((e=>e.filter((e=>e.visible))))}_destroyReferenceSortable(){const{_sortableReferenceLayers:e}=this;(null==e?void 0:e.el)&&e.destroy(),this._sortableReferenceLayersNode=null}_destroyBaseSortable(){const{_sortableBaseLayers:e}=this;(null==e?void 0:e.el)&&e.destroy(),this._sortableBaseLayersNode=null}_toggleEditingTitle(){const{_editingTitle:e}=this,t=!e;this._editingTitle=t,this._focusOnElement=t?"edit-input":"edit-button",this.scheduleRender()}_storeEditTitleInput(e){this._editTitleInput=e,this._focusEditElement()}_focusEditElement(){this._editTitleInput&&"edit-input"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleInput.focus()),this._editTitleButton&&"edit-button"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleButton.focus())}_storeEditTitleButton(e){this._editTitleButton=e,this._focusEditElement()}_formSubmit(e){var t;e.preventDefault();const i=null==(t=this._editTitleInput)?void 0:t.value;null!=i&&i.trim()&&(this.basemapTitle=i),this._toggleEditingTitle()}_itemMovedList(e){const t=e.item["data-item"],i=e.to.dataset.nodeRef,s=e.from.dataset.nodeRef,{newIndex:n}=e;this.viewModel.transferListItem({listItem:t,from:s,to:i,newIndex:n})}_toggleSortingBaseLayers(){const{_sortableBaseLayers:e,_sortableBaseLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=I.create(t,{dataIdAttr:E,group:T,filter:`.${k.itemOnlyChild}`,fallbackTolerance:4,disabled:s,onSort:()=>this._sortLayersToItems({type:"base",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:k.sortableChosen});this._sortableBaseLayers=e}}_toggleSortingReferenceLayers(){const{_sortableReferenceLayers:e,_sortableReferenceLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=I.create(t,{dataIdAttr:E,group:T,disabled:s,fallbackTolerance:4,onSort:()=>this._sortLayersToItems({type:"reference",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:k.sortableChosen});this._sortableReferenceLayers=e}}_toggleSorting(){this._toggleSortingBaseLayers(),this._toggleSortingReferenceLayers()}_sortNodeCreated(e){const t=e.getAttribute("data-node-ref");"base"===t&&(this._sortableBaseLayersNode=e),"reference"===t&&(this._sortableReferenceLayersNode=e),this._toggleSorting()}_getItems(e){return e.toArray().filter((e=>this.errorsVisible||!e.error))}_getSingleActionButton(e){return e.reduce((e=>e)).filter((e=>e&&"button"===e.type)).getItemAt(0)}_sortLayersToItems({type:e,itemIds:t}){const i="base"===e?this.get("view.map.basemap.baseLayers"):"reference"===e?this.get("view.map.basemap.referenceLayers"):null;i&&i.sort(((e,i)=>{const s=t.indexOf(e.uid),n=t.indexOf(i.uid);return s>n?-1:s<n?1:0}))}_focusListItem(e){var t;const{_focusSortUid:i}=this;if(!e||!i)return;(null==(t=e["data-item"].layer)?void 0:t.uid)===i&&(e.focus(),this._focusSortUid=null)}_selectionKeydown(e){const t=["ArrowDown","ArrowUp"],s=i(e);if(-1===t.indexOf(s))return void this._toggleSelection(e);e.stopPropagation();const n=e.currentTarget,r=n["data-item"],a=n.dataset.itemType,{_sortableBaseLayers:o,_sortableReferenceLayers:l,selectedItems:d}=this,c="base"===a?o:"reference"===a?l:null;if(!c)return;const m=g(r,d),h=c.toArray(),u=e.target,p=h.indexOf(u.dataset[S]),{baseItems:b,referenceItems:_}=this.viewModel;if(-1!==p){if("ArrowDown"===s){var y;const e=p+1,t=e>=h.length;if(t&&"reference"===a&&m){var f;const e=b.length;return this.viewModel.transferListItem({listItem:r,from:"reference",to:"base",newIndex:e}),this._focusSortUid=null==(f=r.layer)?void 0:f.uid,void this.scheduleRender()}if(t&&"reference"===a){var v;const e=b.getItemAt(0);return this._focusSortUid=null==e||null==(v=e.layer)?void 0:v.uid,void this.scheduleRender()}if(t)return;return m&&(w(h,p,e),c.sort(h),this._sortLayersToItems({type:a,itemIds:c.toArray()})),this._focusSortUid=null==(y=r.layer)?void 0:y.uid,void this.scheduleRender()}if("ArrowUp"===s){var I;const e=p-1,t=e<0;if(t&&"base"===a&&m){var L;if(1===b.length)return;const e=0;return this.viewModel.transferListItem({listItem:r,from:"base",to:"reference",newIndex:e}),this._focusSortUid=null==(L=r.layer)?void 0:L.uid,void this.scheduleRender()}if(t&&"base"===a){var A;const e=_.getItemAt(_.length-1);return this._focusSortUid=null==e||null==(A=e.layer)?void 0:A.uid,void this.scheduleRender()}if(t)return;m&&(w(h,p,e),c.sort(h),this._sortLayersToItems({type:a,itemIds:c.toArray()})),this._focusSortUid=null==(I=r.layer)?void 0:I.uid,this.scheduleRender()}}}_watchActionSectionChanges(e,t){this.handles.add(e.on("change",(()=>this.scheduleRender())),t),e.forEach((e=>this._renderOnActionChanges(e,t)))}_renderOnActionChanges(e,t){"toggle"!==e.type?"slider"!==e.type?this.handles.add([a(e,["className","image","id","title","visible"],(()=>this.scheduleRender()))],t):this.handles.add([a(e,["className","id","title","visible","value","displayValueEnabled","max","min","step"],(()=>this.scheduleRender()))],t):this.handles.add([a(e,["className","image","id","title","visible","value"],(()=>this.scheduleRender()))],t)}_renderOnItemChanges(e,t){this.handles.add([a(e,["actionsOpen","visible","open","updating","title","visibleAtCurrentScale","error","visibilityMode","panel","panel.title","panel.content","panel.className"],(()=>this.scheduleRender())),e.actionsSections.on("change",(()=>this.scheduleRender())),e.children.on("change",(()=>this.scheduleRender()))],t),e.children.forEach((e=>this._renderOnItemChanges(e,t))),e.actionsSections.forEach((e=>this._watchActionSectionChanges(e,t)))}_itemsChanged(e,t){this.handles.remove(t),e.forEach((e=>this._renderOnItemChanges(e,t))),this.scheduleRender()}_countActions(e){return e.reduce(((e,t)=>e+t.length),0)}_getIconImageStyles(e){const t="esri.widgets.LayerList.ListItemPanel"===e.declaredClass||"esri.support.Action.ActionButton"===e.declaredClass||"esri.support.Action.ActionToggle"===e.declaredClass?e.image:null;return{"background-image":t?`url("${t}")`:null}}_toggleActionsOpen(e){e.stopPropagation();const t=e.currentTarget["data-item"],{actionsOpen:i}=t,s=!i,{baseItems:n,referenceItems:r}=this;s&&(n.forEach((e=>O(e))),r.forEach((e=>O(e)))),t.actionsOpen=s}_triggerPanel(e){e.stopPropagation();const t=e.currentTarget["data-panel"];t&&(t.open=!t.open)}_triggerAction(e){e.stopPropagation();const t=e.currentTarget,i=t["data-action"],s=t["data-item"];"toggle"===i.type&&(i.value=!i.value),this.triggerAction(i,s)}_toggleVisibility(e){e.stopPropagation();const t=e.currentTarget,i=t.getAttribute("data-parent-visibility"),s=t["data-item"];i===R.exclusive&&s.visible||(s.visible=!s.visible)}_toggleChildrenClick(e){e.stopPropagation();const t=e.currentTarget["data-item"];t.open=!t.open}_toggleSelection(e){e.stopPropagation();const{multipleSelectionEnabled:t,selectedItems:i}=this,s=t&&(e.metaKey||e.ctrlKey),n=e.currentTarget["data-item"],r=g(n,i),{length:a}=i;if(!s)return a&&!(r&&1===a)?(i.removeAll(),void i.add(n)):void(r?i.remove(r):i.add(n));r?i.remove(r):i.add(n)}};e([o("viewModel.basemapTitle")],x.prototype,"basemapTitle",void 0),e([o("viewModel.baseListItemCreatedFunction")],x.prototype,"baseListItemCreatedFunction",void 0),e([d()],x.prototype,"editingEnabled",void 0),e([d()],x.prototype,"errorsVisible",void 0),e([d()],x.prototype,"headingLevel",void 0),e([d()],x.prototype,"iconClass",void 0),e([d({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],x.prototype,"label",void 0),e([d(),y("esri/widgets/BasemapLayerList/t9n/BasemapLayerList")],x.prototype,"messages",void 0),e([d(),y("esri/t9n/common")],x.prototype,"messagesCommon",void 0),e([d()],x.prototype,"multipleSelectionEnabled",void 0),e([o("viewModel.referenceListItemCreatedFunction")],x.prototype,"referenceListItemCreatedFunction",void 0),e([o("viewModel.baseItems")],x.prototype,"baseItems",void 0),e([o("viewModel.referenceItems")],x.prototype,"referenceItems",void 0),e([d()],x.prototype,"selectedItems",void 0),e([o("viewModel.view")],x.prototype,"view",void 0),e([f("trigger-action"),d({type:h})],x.prototype,"viewModel",void 0),e([d()],x.prototype,"visibleElements",void 0),e([l("visibleElements")],x.prototype,"castVisibleElements",null),e([_()],x.prototype,"_toggleActionsOpen",null),e([_()],x.prototype,"_triggerPanel",null),e([_()],x.prototype,"_triggerAction",null),e([_()],x.prototype,"_toggleVisibility",null),e([_()],x.prototype,"_toggleChildrenClick",null),e([_()],x.prototype,"_toggleSelection",null),x=e([c("esri.widgets.BasemapLayerList")],x);const U=x;export{U as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import{HandleOwnerMixin as s}from"../core/HandleOwner.js";import n from"../core/has.js";import{on as r,init as a}from"../core/watchUtils.js";import{aliasOf as o}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import m from"./Widget.js";import h from"./BasemapLayerList/BasemapLayerListViewModel.js";import u from"./LayerList/ListItem.js";import{findSelectedItem as g}from"./LayerList/support/layerListUtils.js";import{Heading as p,incrementHeadingLevel as b}from"./support/Heading.js";import{accessibleHandler as _}from"./support/decorators/accessibleHandler.js";import{messageBundle as y}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{vmEvent as f}from"./support/decorators/vmEvent.js";import{tsx as v}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import I from"sortablejs";const L=t.ofType(u);function w(e,t,i){e.splice(i,0,e.splice(t,1)[0])}const A=".*\\S+.*",C="esri-basemaplayerlist-new-ui",T="root-layers",E="data-layer-uid",S="layerUid",k={base:"esri-basemap-layer-list esri-widget esri-widget--panel",newUI:"esri-basemap-layer-list--new-ui",titleContainer:"esri-basemap-layer-list__title-container",mainHeading:"esri-basemap-layer-list__main-heading",editingCard:"esri-basemap-layer-list__editing-card",editingInput:"esri-basemap-layer-list__editing-input",editingActions:"esri-basemap-layer-list__editing-actions",editButton:"esri-basemap-layer-list__edit-button",editButtonIcon:"esri-basemap-layer-list__edit-button-icon",submitButton:"esri-basemap-layer-list__submit-button",cancelButton:"esri-basemap-layer-list__cancel-button",noItems:"esri-basemap-layer-list__no-items",horizontalRule:"esri-basemap-layer-list__hr",listHeading:"esri-basemap-layer-list__list-heading",list:"esri-basemap-layer-list__list",listRoot:"esri-basemap-layer-list__list--root",listExclusive:"esri-basemap-layer-list__list--exclusive",listInherited:"esri-basemap-layer-list__list--inherited",listIndependent:"esri-basemap-layer-list__list--independent",item:"esri-basemap-layer-list__item",itemOnlyChild:"esri-basemap-layer-list__item--only-child",itemContent:"esri-basemap-layer-list__item-content",itemError:"esri-basemap-layer-list__item--error",itemInvisible:"esri-basemap-layer-list__item--invisible",itemInvisibleAtScale:"esri-basemap-layer-list__item--invisible-at-scale",itemUpdating:"esri-basemap-layer-list__item--updating",itemChildren:"esri-basemap-layer-list__item--has-children",itemSelectable:"esri-basemap-layer-list__item--selectable",itemContainer:"esri-basemap-layer-list__item-container",actionsMenu:"esri-basemap-layer-list__item-actions-menu",actionsMenuItem:"esri-basemap-layer-list__item-actions-menu-item",actionsMenuItemActive:"esri-basemap-layer-list__item-actions-menu-item--active",actions:"esri-basemap-layer-list__item-actions",actionsList:"esri-basemap-layer-list__item-actions-list",action:"esri-basemap-layer-list__item-action",actionIcon:"esri-basemap-layer-list__item-action-icon",actionImage:"esri-basemap-layer-list__item-action-image",actionTitle:"esri-basemap-layer-list__item-action-title",actionToggle:"esri-basemap-layer-list__action-toggle",actionToggleOn:"esri-basemap-layer-list__action-toggle--on",label:"esri-basemap-layer-list__item-label",errorMessage:"esri-basemap-layer-list__item-error-message",title:"esri-basemap-layer-list__item-title",toggleVisible:"esri-basemap-layer-list__item-toggle",toggleVisibleIcon:"esri-basemap-layer-list__item-toggle-icon",toggleIcon:"esri-basemap-layer-list__item-toggle-icon",radioIcon:"esri-basemap-layer-list__item-radio-icon",childToggle:"esri-basemap-layer-list__child-toggle",childToggleOpen:"esri-basemap-layer-list__child-toggle--open",childOpened:"esri-basemap-layer-list__child-toggle-icon--opened",childClosed:"esri-basemap-layer-list__child-toggle-icon--closed",childClosed_RTL:"esri-basemap-layer-list__child-toggle-icon--closed-rtl",sortableChosen:"esri-basemap-layer-list--chosen",button:"esri-button",buttonTertiary:"esri-button--tertiary",input:"esri-input",disabled:"esri-disabled",disabledElement:"esri-disabled-element",hidden:"esri-hidden",rotating:"esri-rotating",heading:"esri-widget__heading",iconEdit:"esri-icon-edit",iconCheckMark:"esri-icon-check-mark",iconClose:"esri-icon-close",iconEllipses:"esri-icon-handle-horizontal",iconVisible:"esri-icon-visible",iconInvisible:"esri-icon-non-visible",iconRadioSelected:"esri-icon-radio-checked",iconRadioUnselected:"esri-icon-radio-unchecked",iconNoticeTriangle:"esri-icon-notice-triangle",iconChildrenOpen:"esri-icon-down-arrow",iconDownArrow:"esri-icon-down-arrow",iconRightArrow:"esri-icon-right-triangle-arrow",iconLeftArrow:"esri-icon-left-triangle-arrow",iconLoading:"esri-icon-loading-indicator",iconDefaultAction:"esri-icon-default-action",widgetIcon:"esri-icon-layers"},B={actions:"actions",actionSection:"action-section",baseItems:"base-items",referenceItems:"reference-items"},R={exclusive:"exclusive",inherited:"inherited",independent:"independent"};function O(e){const{actionsOpen:t,children:i}=e;t&&(e.actionsOpen=!1),i.forEach((e=>O(e)))}const M={baseLayers:!0,referenceLayers:!0,statusIndicators:!0};let x=class extends(s(m)){constructor(e,t){super(e,t),this._editingTitle=!1,this._editTitleInput=null,this._editTitleButton=null,this._focusOnElement=null,this._sortableBaseLayers=null,this._sortableReferenceLayers=null,this._sortableBaseLayersNode=null,this._sortableReferenceLayersNode=null,this._focusSortUid=null,this._newUI=n(C),this.basemapTitle=null,this.baseListItemCreatedFunction=null,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=k.widgetIcon,this.label=void 0,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.referenceListItemCreatedFunction=null,this.baseItems=null,this.referenceItems=null,this.selectedItems=new L,this.view=null,this.viewModel=new h,this.visibleElements={...M}}initialize(){const{baseItems:e,referenceItems:t}=this;this.own([r(this,"baseItems","change",(()=>{this._itemsChanged(e,B.baseItems),this._toggleSortingBaseLayers()})),r(this,"referenceItems","change",(()=>this._itemsChanged(t,B.referenceItems))),a(this,"editingEnabled",(()=>this._toggleSorting()))])}destroy(){this._destroyBaseSortable(),this._destroyReferenceSortable()}castVisibleElements(e){return{...M,...e}}triggerAction(e,t){this.viewModel.triggerAction(e,t)}render(){const{state:e}=this.viewModel,t={[k.newUI]:this._newUI,[k.hidden]:"loading"===e,[k.disabled]:"disabled"===e},i=this.renderReferenceSection(),s=this.renderBaseSection(),n=i&&s?v("hr",{class:k.horizontalRule}):null;return v("div",{class:this.classes(k.base,t)},this.renderTitleContainer(),i,n,s)}renderEditingInput(){const{messages:e}=this,{basemapTitle:t}=this.viewModel;return v("label",{class:k.editingInput},e.basemapTitle,v("input",{bind:this,class:k.input,title:e.basemapTitle,"aria-label":e.basemapTitle,placeholder:e.basemapTitle,type:"text",role:"textbox",required:!0,pattern:A,value:t,afterCreate:this._storeEditTitleInput,afterUpdate:this._focusEditElement}))}renderCancelButton(){const{messagesCommon:e}=this;return v("button",{title:e.cancel,"aria-label":e.cancel,type:"button",bind:this,class:this.classes(k.button,k.buttonTertiary),onclick:this._toggleEditingTitle},e.cancel)}renderSubmitButton(){const{messagesCommon:e}=this;return v("button",{title:e.form.submit,"aria-label":e.form.submit,type:"submit",bind:this,class:k.button},e.form.ok)}renderEditingForm(){return v("div",{class:k.editingCard},v("form",{bind:this,onsubmit:this._formSubmit},this.renderEditingInput(),v("div",{class:k.editingActions},this.renderCancelButton(),this.renderSubmitButton())))}renderBasemapTitle(){const{basemapTitle:e}=this.viewModel;return v(p,{level:this.headingLevel,class:this.classes(k.heading,k.mainHeading)},e)}renderEditTitleButton(){const{_editingTitle:e,editingEnabled:t,messagesCommon:i}=this;return t&&!e?v("button",{bind:this,class:k.editButton,title:i.edit,"aria-label":i.edit,onclick:this._toggleEditingTitle,afterCreate:this._storeEditTitleButton,afterUpdate:this._focusEditElement,"data-node-ref":"_editButtonNode",type:"button"},v("span",{"aria-hidden":"true",class:this.classes(k.iconEdit,k.editButtonIcon)})):null}renderTitleContainer(){return v("div",{class:k.titleContainer},this._editingTitle?this.renderEditingForm():this.renderBasemapTitle(),this.renderEditTitleButton())}renderNoLayersInfo(e,t){return v("div",{key:t,class:k.noItems},e)}renderList(e,t){const{messages:i}=this,s="reference"===t?this._destroyReferenceSortable:this._destroyBaseSortable;return v("ul",{key:t,"aria-label":i.widgetLabel,role:this.editingEnabled&&e.length?"listbox":void 0,afterCreate:this._sortNodeCreated,afterRemoved:s,"data-node-ref":t,bind:this,class:this.classes(k.list,k.listRoot,k.listIndependent)},e.map((i=>this.renderItem({item:i,parent:null,itemType:t,isOnlyChild:1===e.length}))))}renderBaseHeader(){return v(p,{key:"base-heading",level:b(this.headingLevel),class:this.classes(k.heading,k.listHeading)},this.messages.baseHeading)}renderBaseSection(){const{baseItems:e,messages:t,visibleElements:i}=this;if(!i.baseLayers)return null;const s=this._getItems(e),n="base";return[this.renderBaseHeader(),[0===s.length?this.renderNoLayersInfo(t.noBaseLayers,n):null,this.renderList(s,n)]]}renderReferenceHeader(){return v(p,{key:"reference-heading",level:b(this.headingLevel),class:this.classes(k.heading,k.listHeading)},this.messages.referenceHeading)}renderReferenceSection(){const{referenceItems:e,messages:t,visibleElements:i}=this;if(!i.referenceLayers)return null;const s=this._getItems(e),n="reference";return[this.renderReferenceHeader(),[0===s.length?this.renderNoLayersInfo(t.noReferenceLayers,n):null,this.renderList(s,n)]]}renderChildrenToggle(e,t){const{messagesCommon:i}=this,{children:s}=e,n=!!e.error,r=!!s.length&&!n,a={[k.childToggleOpen]:e.open},o=e.open?i.collapse:i.expand;return r?v("span",{onclick:this._toggleChildrenClick,onkeydown:this._toggleChildrenClick,"data-item":e,key:"toggle-children",class:this.classes(k.childToggle,a),tabindex:"0",role:"button","aria-controls":t,"aria-label":o,title:o},v("span",{"aria-hidden":"true",class:this.classes(k.childClosed,k.iconRightArrow)}),v("span",{"aria-hidden":"true",class:this.classes(k.childOpened,k.iconDownArrow)}),v("span",{"aria-hidden":"true",class:this.classes(k.childClosed_RTL,k.iconLeftArrow)})):null}renderError(e){return e.error?v("div",{key:"error",class:k.errorMessage,role:"alert"},v("span",null,this.messages.layerError)):null}renderActionsMenuIcon(e,t){const{messagesCommon:i}=this,s={[k.actionsMenuItemActive]:e.actionsOpen};return v("div",{key:"actions-menu-toggle","data-item":e,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(k.actionsMenuItem,s),tabindex:"0",role:"button","aria-controls":t,"aria-label":i.options,title:i.options},v("span",{"aria-hidden":"true",class:k.iconEllipses}))}renderActionsMenu(e,t,i,s){const{panel:n}=e,r=n&&n.visible?this.renderPanelButton(n):null,a=1===i&&this._getSingleActionButton(t),o=a?this.renderAction({item:e,action:a,singleAction:!0}):null,l=!a&&i?this.renderActionsMenuIcon(e,s):null;return l||r||a?v("div",{key:"actions-menu",class:k.actionsMenu},r,o,l):null}renderChildList(e,t){const{editingEnabled:i}=this,{visibilityMode:s,children:n}=e,r=!!e.error,a=!!n.length&&!r,{exclusive:o,inherited:l}=R,d={[k.listExclusive]:s===o,[k.listInherited]:s===l,[k.listIndependent]:s!==l&&s!==o};return a?v("ul",{bind:this,key:"list-items",id:t,"data-group":e.uid,"data-item":e,afterCreate:this._sortNodeCreated,afterUpdate:this._sortNodeCreated,class:this.classes(k.list,d),"aria-expanded":e.open?"true":"false",role:i?"listbox":s===o?"radiogroup":"group",hidden:!e.open||null},null==n?void 0:n.map((t=>this.renderItem({item:t,parent:e}))).toArray()):null}renderItemContent(e,t,i){const{id:s}=this,n=`${s}_${e.uid}`,r=`${n}_actions`,a=`${n}__list`,{panel:o}=e,l=this._filterActions(e.actionsSections),d=this._countActions(l);return[v("div",{key:"list-item-container",class:k.itemContainer},this.renderChildrenToggle(e,a),this.renderLabel(e,t,i),this.renderActionsMenu(e,l,d,r)),this.renderError(e),d?this.renderActionsSections(e,l,r):null,o&&o.open?o.render():null,this.renderChildList(e,a)]}renderItem({item:e,parent:t,itemType:i,isOnlyChild:s}){const{_newUI:n,id:r,editingEnabled:a,selectedItems:o,visibleElements:l}=this,{children:d}=e,c=`${`${r}_${e.uid}`}__title`,m=!!e.error,h=!!d.length&&!m,u={[k.itemChildren]:h,[k.itemError]:!!m,[k.itemUpdating]:e.updating&&!t&&l.statusIndicators,[k.itemInvisible]:n&&!e.visible,[k.itemInvisibleAtScale]:!e.visibleAtCurrentScale,[k.itemSelectable]:a};if(a){var p;const n={[E]:null==(p=e.layer)?void 0:p.uid};return v("li",{key:`item-with-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(k.item,u,{[k.itemOnlyChild]:s}),"aria-labelledby":c,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,"data-item-type":i,"data-item":e,tabIndex:0,"aria-selected":g(e,o)?"true":"false",role:"option",...n},this.renderItemContent(e,t,c))}return v("li",{key:`item-no-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(k.item,u),"aria-labelledby":c},this.renderItemContent(e,t,c))}renderItemTitle(e,t){const{messages:i}=this,s=e.title||i.untitledLayer,n=e.visibleAtCurrentScale?s:`${s} (${i.layerInvisibleAtScale})`;return v("span",{key:"layer-title-container",id:t,title:n,"aria-label":n,class:k.title},s)}renderItemToggleIcon(e,t){const{_newUI:i}=this,{exclusive:s}=R,n=t&&t.visibilityMode,r={[k.toggleVisibleIcon]:i,[k.toggleIcon]:i&&n!==s,[k.radioIcon]:i&&n===s,[k.iconRadioSelected]:n===s&&e.visible,[k.iconRadioUnselected]:n===s&&!e.visible,[k.iconVisible]:n!==s&&e.visible,[k.iconInvisible]:n!==s&&!e.visible};return v("span",{key:"item-toggle-icon",class:this.classes(r),"aria-hidden":"true"})}renderItemToggle(e,t,i){const{editingEnabled:s}=this,{exclusive:n}=R,r=t&&t.visibilityMode,a=r===n?"radio":"switch";return v("span",s?{key:"item-toggle-selection-enabled",class:k.toggleVisible,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":r,tabIndex:0,"aria-checked":e.visible?"true":"false",role:a,"aria-labelledby":i}:{key:"item-toggle",class:k.toggleVisible},this.renderItemToggleIcon(e,t))}renderItemError(e){return e.error?v("span",{key:"notice-triangle","aria-hidden":"true",class:k.iconNoticeTriangle}):null}renderLabel(e,t,i){const{editingEnabled:s,_newUI:n}=this,{inherited:r,exclusive:a}=R,o=null==t?void 0:t.visibilityMode,l=o===a?"radio":"switch",d=[this.renderItemToggle(e,t,i),this.renderItemTitle(e,i)];n&&d.reverse();const c=v("div",s?{key:`item-label-no-selection-${e.uid}`,class:k.label}:{key:`item-label-with-selection-${e.uid}`,class:k.label,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":o,tabIndex:0,"aria-checked":e.visible?"true":"false",role:l,"aria-labelledby":i},d);return o===r||e.error?v("div",{key:`item-label-container-${e.uid}`,class:k.label},this.renderItemError(e),this.renderItemTitle(e,i)):c}renderPanelButton(e){const{className:t,open:i,title:s,image:n}=e,r=n||t?t:k.iconDefaultAction,a=this._getIconImageStyles(e),o={[k.actionsMenuItemActive]:i},l={[k.actionImage]:!!a["background-image"]};return r&&(l[r]=!!r),v("div",{key:`panel-${e.uid}`,bind:this,"data-panel":e,onclick:this._triggerPanel,onkeydown:this._triggerPanel,class:this.classes(k.actionsMenuItem,o),role:"button",tabindex:"0",title:s,"aria-label":s},v("span",{class:this.classes(l),styles:a}))}renderActionsSections(e,t,i){const s=t.toArray().map(((t,i)=>v("ul",{key:`${e}-action-section-${i}`,class:k.actionsList},this.renderActionSection(e,t))));return v("div",{role:"group","aria-expanded":e.actionsOpen?"true":"false",key:"actions-section",id:i,class:k.actions,hidden:!e.actionsOpen||null},s)}renderActionSection(e,t){return(t&&t.toArray()).map((t=>this.renderAction({item:e,action:t})))}renderActionIcon(e){const{active:t,className:i}=e,s=this._getIconImageStyles(e),n="button"!==e.type||e.image||i?i:k.iconDefaultAction,r={[k.actionImage]:!t&&!!s["background-image"],[k.iconLoading]:t,[k.rotating]:t};return n&&!t&&(r[n]=!0),v("span",{key:"action-icon","aria-hidden":"true",class:this.classes(k.actionIcon,r),styles:s})}renderActionTitle(e,t){return t?null:v("span",{key:"action-title",class:k.actionTitle},e)}renderAction(e){const{item:t,action:i,singleAction:s}=e,{active:n,disabled:r,title:a}=i,o={[k.actionsMenuItem]:s&&"button"===i.type,[k.action]:n||!s&&"toggle"!==i.type,[k.actionToggle]:!n&&"toggle"===i.type,[k.actionToggleOn]:!n&&"toggle"===i.type&&i.value,[k.disabledElement]:r},l=[this.renderActionIcon(i),this.renderActionTitle(a,s)];return s?v("div",{bind:this,"data-item":t,"data-action":i,role:"button",key:`single-action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:o,tabindex:"0",title:a,"aria-label":a},l):v("li",{bind:this,"data-item":t,"data-action":i,key:`action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:o,tabindex:"0",role:"button",title:a,"aria-label":a},l)}_filterActions(e){return e.map((e=>e.filter((e=>e.visible))))}_destroyReferenceSortable(){const{_sortableReferenceLayers:e}=this;(null==e?void 0:e.el)&&e.destroy(),this._sortableReferenceLayersNode=null}_destroyBaseSortable(){const{_sortableBaseLayers:e}=this;(null==e?void 0:e.el)&&e.destroy(),this._sortableBaseLayersNode=null}_toggleEditingTitle(){const{_editingTitle:e}=this,t=!e;this._editingTitle=t,this._focusOnElement=t?"edit-input":"edit-button",this.scheduleRender()}_storeEditTitleInput(e){this._editTitleInput=e,this._focusEditElement()}_focusEditElement(){this._editTitleInput&&"edit-input"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleInput.focus()),this._editTitleButton&&"edit-button"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleButton.focus())}_storeEditTitleButton(e){this._editTitleButton=e,this._focusEditElement()}_formSubmit(e){var t;e.preventDefault();const i=null==(t=this._editTitleInput)?void 0:t.value;null!=i&&i.trim()&&(this.basemapTitle=i),this._toggleEditingTitle()}_itemMovedList(e){const t=e.item["data-item"],i=e.to.dataset.nodeRef,s=e.from.dataset.nodeRef,{newIndex:n}=e;this.viewModel.transferListItem({listItem:t,from:s,to:i,newIndex:n})}_toggleSortingBaseLayers(){const{_sortableBaseLayers:e,_sortableBaseLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=I.create(t,{dataIdAttr:E,group:T,filter:`.${k.itemOnlyChild}`,fallbackTolerance:4,disabled:s,onSort:()=>this._sortLayersToItems({type:"base",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:k.sortableChosen});this._sortableBaseLayers=e}}_toggleSortingReferenceLayers(){const{_sortableReferenceLayers:e,_sortableReferenceLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=I.create(t,{dataIdAttr:E,group:T,disabled:s,fallbackTolerance:4,onSort:()=>this._sortLayersToItems({type:"reference",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:k.sortableChosen});this._sortableReferenceLayers=e}}_toggleSorting(){this._toggleSortingBaseLayers(),this._toggleSortingReferenceLayers()}_sortNodeCreated(e){const t=e.getAttribute("data-node-ref");"base"===t&&(this._sortableBaseLayersNode=e),"reference"===t&&(this._sortableReferenceLayersNode=e),this._toggleSorting()}_getItems(e){return e.toArray().filter((e=>this.errorsVisible||!e.error))}_getSingleActionButton(e){return e.reduce((e=>e)).filter((e=>e&&"button"===e.type)).getItemAt(0)}_sortLayersToItems({type:e,itemIds:t}){const i="base"===e?this.get("view.map.basemap.baseLayers"):"reference"===e?this.get("view.map.basemap.referenceLayers"):null;i&&i.sort(((e,i)=>{const s=t.indexOf(e.uid),n=t.indexOf(i.uid);return s>n?-1:s<n?1:0}))}_focusListItem(e){var t;const{_focusSortUid:i}=this;if(!e||!i)return;(null==(t=e["data-item"].layer)?void 0:t.uid)===i&&(e.focus(),this._focusSortUid=null)}_selectionKeydown(e){const t=["ArrowDown","ArrowUp"],s=i(e);if(-1===t.indexOf(s))return void this._toggleSelection(e);e.stopPropagation();const n=e.currentTarget,r=n["data-item"],a=n.dataset.itemType,{_sortableBaseLayers:o,_sortableReferenceLayers:l,selectedItems:d}=this,c="base"===a?o:"reference"===a?l:null;if(!c)return;const m=g(r,d),h=c.toArray(),u=e.target,p=h.indexOf(u.dataset[S]),{baseItems:b,referenceItems:_}=this.viewModel;if(-1!==p){if("ArrowDown"===s){var y;const e=p+1,t=e>=h.length;if(t&&"reference"===a&&m){var f;const e=b.length;return this.viewModel.transferListItem({listItem:r,from:"reference",to:"base",newIndex:e}),this._focusSortUid=null==(f=r.layer)?void 0:f.uid,void this.scheduleRender()}if(t&&"reference"===a){var v;const e=b.getItemAt(0);return this._focusSortUid=null==e||null==(v=e.layer)?void 0:v.uid,void this.scheduleRender()}if(t)return;return m&&(w(h,p,e),c.sort(h),this._sortLayersToItems({type:a,itemIds:c.toArray()})),this._focusSortUid=null==(y=r.layer)?void 0:y.uid,void this.scheduleRender()}if("ArrowUp"===s){var I;const e=p-1,t=e<0;if(t&&"base"===a&&m){var L;if(1===b.length)return;const e=0;return this.viewModel.transferListItem({listItem:r,from:"base",to:"reference",newIndex:e}),this._focusSortUid=null==(L=r.layer)?void 0:L.uid,void this.scheduleRender()}if(t&&"base"===a){var A;const e=_.getItemAt(_.length-1);return this._focusSortUid=null==e||null==(A=e.layer)?void 0:A.uid,void this.scheduleRender()}if(t)return;m&&(w(h,p,e),c.sort(h),this._sortLayersToItems({type:a,itemIds:c.toArray()})),this._focusSortUid=null==(I=r.layer)?void 0:I.uid,this.scheduleRender()}}}_watchActionSectionChanges(e,t){this.handles.add(e.on("change",(()=>this.scheduleRender())),t),e.forEach((e=>this._renderOnActionChanges(e,t)))}_renderOnActionChanges(e,t){"toggle"!==e.type?"slider"!==e.type?this.handles.add([a(e,["className","image","id","title","visible"],(()=>this.scheduleRender()))],t):this.handles.add([a(e,["className","id","title","visible","value","displayValueEnabled","max","min","step"],(()=>this.scheduleRender()))],t):this.handles.add([a(e,["className","image","id","title","visible","value"],(()=>this.scheduleRender()))],t)}_renderOnItemChanges(e,t){this.handles.add([a(e,["actionsOpen","visible","open","updating","title","visibleAtCurrentScale","error","visibilityMode","panel","panel.title","panel.content","panel.className"],(()=>this.scheduleRender())),e.actionsSections.on("change",(()=>this.scheduleRender())),e.children.on("change",(()=>this.scheduleRender()))],t),e.children.forEach((e=>this._renderOnItemChanges(e,t))),e.actionsSections.forEach((e=>this._watchActionSectionChanges(e,t)))}_itemsChanged(e,t){this.handles.remove(t),e.forEach((e=>this._renderOnItemChanges(e,t))),this.scheduleRender()}_countActions(e){return e.reduce(((e,t)=>e+t.length),0)}_getIconImageStyles(e){const t="esri.widgets.LayerList.ListItemPanel"===e.declaredClass||"esri.support.Action.ActionButton"===e.declaredClass||"esri.support.Action.ActionToggle"===e.declaredClass?e.image:null;return{"background-image":t?`url("${t}")`:null}}_toggleActionsOpen(e){e.stopPropagation();const t=e.currentTarget["data-item"],{actionsOpen:i}=t,s=!i,{baseItems:n,referenceItems:r}=this;s&&(n.forEach((e=>O(e))),r.forEach((e=>O(e)))),t.actionsOpen=s}_triggerPanel(e){e.stopPropagation();const t=e.currentTarget["data-panel"];t&&(t.open=!t.open)}_triggerAction(e){e.stopPropagation();const t=e.currentTarget,i=t["data-action"],s=t["data-item"];"toggle"===i.type&&(i.value=!i.value),this.triggerAction(i,s)}_toggleVisibility(e){e.stopPropagation();const t=e.currentTarget,i=t.getAttribute("data-parent-visibility"),s=t["data-item"];i===R.exclusive&&s.visible||(s.visible=!s.visible)}_toggleChildrenClick(e){e.stopPropagation();const t=e.currentTarget["data-item"];t.open=!t.open}_toggleSelection(e){e.stopPropagation();const{multipleSelectionEnabled:t,selectedItems:i}=this,s=t&&(e.metaKey||e.ctrlKey),n=e.currentTarget["data-item"],r=g(n,i),{length:a}=i;if(!s)return a&&!(r&&1===a)?(i.removeAll(),void i.add(n)):void(r?i.remove(r):i.add(n));r?i.remove(r):i.add(n)}};e([o("viewModel.basemapTitle")],x.prototype,"basemapTitle",void 0),e([o("viewModel.baseListItemCreatedFunction")],x.prototype,"baseListItemCreatedFunction",void 0),e([d()],x.prototype,"editingEnabled",void 0),e([d()],x.prototype,"errorsVisible",void 0),e([d()],x.prototype,"headingLevel",void 0),e([d()],x.prototype,"iconClass",void 0),e([d({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],x.prototype,"label",void 0),e([d(),y("esri/widgets/BasemapLayerList/t9n/BasemapLayerList")],x.prototype,"messages",void 0),e([d(),y("esri/t9n/common")],x.prototype,"messagesCommon",void 0),e([d()],x.prototype,"multipleSelectionEnabled",void 0),e([o("viewModel.referenceListItemCreatedFunction")],x.prototype,"referenceListItemCreatedFunction",void 0),e([o("viewModel.baseItems")],x.prototype,"baseItems",void 0),e([o("viewModel.referenceItems")],x.prototype,"referenceItems",void 0),e([d()],x.prototype,"selectedItems",void 0),e([o("viewModel.view")],x.prototype,"view",void 0),e([f("trigger-action"),d({type:h})],x.prototype,"viewModel",void 0),e([d()],x.prototype,"visibleElements",void 0),e([l("visibleElements")],x.prototype,"castVisibleElements",null),e([_()],x.prototype,"_toggleActionsOpen",null),e([_()],x.prototype,"_triggerPanel",null),e([_()],x.prototype,"_triggerAction",null),e([_()],x.prototype,"_toggleVisibility",null),e([_()],x.prototype,"_toggleChildrenClick",null),e([_()],x.prototype,"_toggleSelection",null),x=e([c("esri.widgets.BasemapLayerList")],x);const U=x;export{U 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.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import s from"../../core/Accessor.js";import t from"../../core/Collection.js";import{referenceSetter as r}from"../../core/collectionUtils.js";import o from"../../core/Handles.js";import{isSome as i}from"../../core/maybe.js";import{isAbortError as a}from"../../core/promiseUtils.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import{findFullModelSublayer as p}from"./support/buildingLayerUtils.js";import{LayerTreeNode as n}from"./support/LayerTreeNode.js";import{createLoadLayersFunction as h}from"./support/layerUtils.js";let y=class extends s{constructor(e){super(e),this.root=new n,this.state="disabled",this._handles=new o,this._loadLayers=h(),this.layers=new t}initialize(){this._handles.add(this.layers.on("change",(()=>this._onLayersChange()))),this._onLayersChange()}destroy(){this._set("state","disabled"),this._handles.destroy(),this.root.destroy()}set layers(e){const s=this._get("layers");this._set("layers",r(e,s))}_updateLayerTree(){this.root.destroy(),this._set("root",new n({collapsed:!1}));const e=new Map,s=this.layers.length>1?"modelName":"id";return this.layers.forEach((t=>{const r=p(t);i(r)&&this._addNodesForSublayers(r,this.root,e,s)})),this}_addNodeForLayer(e,s,t,r){const o=String(e.get(r)).toLowerCase();if(!i(o)||e.isEmpty)return;const a=`${s.id}/${o}`;let l=t.get(a);l||(l=new n({id:o,level:s.level+1}),t.set(a,l)),l.layers.push(e),s.children.push(l),this._addNodesForSublayers(e,l,t,r)}_addNodesForSublayers(e,s,t,r){"building-group"!==e.type||e.isEmpty||e.sublayers.forEach((e=>this._addNodeForLayer(e,s,t,r)))}async _onLayersChange(){if(this._set("state","loading"),0!==this.layers.length)try{await this._loadLayers(this.layers),this._updateLayerTree(),this._set("state","ready")}catch(e){a(e)||this._set("state","failed")}}};e([l({readOnly:!0})],y.prototype,"root",void 0),e([l({type:t,nonNullable:!0})],y.prototype,"layers",null),e([l({readOnly:!0,nonNullable:!0})],y.prototype,"state",void 0),y=e([d("esri.widgets.BuildingExplorer.BuildingDisciplineViewModel")],y);const c=y;export{c as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import s from"../../core/Accessor.js";import t from"../../core/Collection.js";import{referenceSetter as r}from"../../core/collectionUtils.js";import o from"../../core/Handles.js";import{unwrapOr as i,isSome as a}from"../../core/maybe.js";import{isAbortError as l}from"../../core/promiseUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import{findFullModelSublayer as p}from"./support/buildingLayerUtils.js";import{LayerTreeNode as y}from"./support/LayerTreeNode.js";import{createLoadLayersFunction as h}from"./support/layerUtils.js";let c=class extends s{constructor(e){super(e),this.root=new y,this.state="disabled",this._handles=new o,this._loadLayers=h(),this.layers=new t}initialize(){this._handles.add(this.layers.on("change",(()=>this._onLayersChange()))),this._onLayersChange()}destroy(){this._set("state","disabled"),this._handles.destroy(),this.root.destroy()}set layers(e){const s=this._get("layers");this._set("layers",r(e,s))}_updateLayerTree(){this.root.destroy(),this._set("root",new y({collapsed:!1}));const e=new Map,s=this.layers.length>1?"modelName":"id";return this.layers.forEach((t=>{const r=p(t);this._addNodesForSublayers(i(r,t),this.root,e,s)})),this}_addNodeForLayer(e,s,t,r){const o=String(e.get(r)).toLowerCase();if(!a(o)||e.isEmpty)return;const i=`${s.id}/${o}`;let l=t.get(i);l||(l=new y({id:o,level:s.level+1}),t.set(i,l)),l.layers.push(e),s.children.push(l),this._addNodesForSublayers(e,l,t,r)}_addNodesForSublayers(e,s,t,r){("building-scene"===e.type||"building-group"===e.type&&!e.isEmpty)&&e.sublayers.forEach((e=>this._addNodeForLayer(e,s,t,r)))}async _onLayersChange(){if(this._set("state","loading"),0!==this.layers.length)try{await this._loadLayers(this.layers),this._updateLayerTree(),this._set("state","ready")}catch(e){l(e)||this._set("state","failed")}}};e([d({readOnly:!0})],c.prototype,"root",void 0),e([d({type:t,nonNullable:!0})],c.prototype,"layers",null),e([d({readOnly:!0,nonNullable:!0})],c.prototype,"state",void 0),c=e([n("esri.widgets.BuildingExplorer.BuildingDisciplineViewModel")],c);const m=c;export{m as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{remove as t}from"../../core/arrayUtils.js";import{makeHandle as a}from"../../core/handleUtils.js";import{removeMaybe as i,isSome as r,isNone as s,destroyMaybe as o}from"../../core/maybe.js";import{watch as n,syncAndInitial as l}from"../../core/reactiveUtils.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import u from"../../views/interactive/snapping/FeatureSnappingLayerSource.js";import{BatchCreateWorkflowData as d}from"./BatchCreateWorkflowData.js";import h from"./Workflow.js";import{startCreatingNewFeature as p,findLayerInfo as f,updateGraphicSymbolWhenRequired as g,getVisualVariableAttributes as m,startUpdatingFeature as v,createWorkflowSteps as w,avoidFeatureTemplateSelectionWithOnlyOneItem as y,visualVariableInteractiveUpdate as b}from"./workflowUtils.js";var M;let V=M=class extends h{constructor(e){super(e),this.type="batch-create",this.createFeatureState="create-new",this.featureFormHandle=null,this.visualVariableAttributes={rotation:null,size:null},this.highlightHandles=new Map,this.preventDefaultActionOnCancel=!1}get numPendingFeatures(){return this.data.viewModel.sketchViewModel.layer.graphics.length}get pendingFeatures(){return this.data.viewModel.sketchViewModel.layer.graphics}async updatePendingFeature(e){return this.preventDefaultActionOnCancel=!0,this.data.viewModel.sketchViewModel.cancel(),t(this.lastActiveGraphics,e),this._startUpdating(e)}static create(e,t,a,i){const r=new M({data:new d({creationInfo:t,viewModel:e}),onCommit:async e=>{await i(e.creationInfo.layer,{addFeatures:e.viewModel.sketchViewModel.layer.graphics.toArray()})}});return r._set("steps",this._createWorkflowSteps(r,a)),r}_fadeExistingFeatures(e){if("effect"in e){const t=e.effect;return e.effect="saturate(0.6) opacity(0.8)",a((()=>e.effect=t))}const t=e.opacity;return e.opacity=.7,a((()=>e.opacity=t))}_highlight(e){const t=this.data.viewModel.view;"3d"===t.type&&this.highlightHandles.set(e,t.highlight(e))}_removeHighlight(e){i(this.highlightHandles.get(e)),this.highlightHandles.delete(e)}async _startCreating(){return this.createFeatureState="create-new",p(this.data.viewModel.sketchViewModel,this.data.creationInfo)}async _startUpdating(e){const t=this.data.viewModel,a=t.sketchViewModel,r=this.data.creationInfo.layer,s=f(t.layerInfos,r),o=null==s?void 0:s.formTemplate,n=o?null:null==s?void 0:s.fieldConfig;return t.featureFormViewModel.set({feature:e,fieldConfig:n,formTemplate:o}),i(this.featureFormHandle),this.featureFormHandle=t.featureFormViewModel.on("value-change",(async()=>{e.attributes=t.featureFormViewModel.getValues(),await g(e)})),this._removeHighlight(e),this.createFeatureState="update-pending",this.visualVariableAttributes=m(e),v(a,e,r,this.visualVariableAttributes)}static _createWorkflowSteps(e,a="awaiting-feature-creation-info"){const{data:c,handles:d}=e;let h=null,p=!0;const f=w(["awaiting-feature-creation-info","batch-creating-features"],a,{"awaiting-feature-creation-info":()=>({id:"awaiting-feature-creation-info",async setUp(){c.creationInfo=null,d.add(c.viewModel.featureTemplatesViewModel.on("select",(({item:e})=>{c.creationInfo={layer:e.layer,template:e.template},c.viewModel.activeWorkflow.next()})),this.id)},async tearDown(){d.remove(this.id)}}),"batch-creating-features":()=>({id:"batch-creating-features",async setUp(){const a=c.viewModel.view,f=c.viewModel.sketchViewModel;p=f.updateOnGraphicClick,f.updateOnGraphicClick=!1,e.lastActiveGraphics=[],e.featureFormHandle=i(e.featureFormHandle),e.visualVariableAttributes={rotation:null,size:null};const g="2d"===a.type?e._fadeExistingFeatures(c.creationInfo.layer):null,m=f.on("create",(async t=>{if("cancel"===t.state){if(e.preventDefaultActionOnCancel)return void(e.preventDefaultActionOnCancel=!1);if(e.lastActiveGraphics.length<1)return e._startCreating();const t=e.lastActiveGraphics.pop();return e._startUpdating(t)}if("complete"===t.state)return e._startUpdating(t.graphic)})),v=f.on("update",(async t=>{const i=t.graphics[0];if("complete"===t.state)return i!==h&&(e.lastActiveGraphics.push(i),e._highlight(i)),h=null,t.aborted&&e.preventDefaultActionOnCancel?void(e.preventDefaultActionOnCancel=!1):e._startCreating();"start"===t.state&&e._removeHighlight(i),await b(a,i,t,e.visualVariableAttributes);const s=i.attributes;if(r(e.visualVariableAttributes.rotation)){const{field:t}=e.visualVariableAttributes.rotation;c.viewModel.featureFormViewModel.setValue(t,s[t])}if(r(e.visualVariableAttributes.size)){const{field:t}=e.visualVariableAttributes.size;c.viewModel.featureFormViewModel.setValue(t,s[t])}})),w=f.on("delete",(async a=>{const i=a.graphics[0];t(e.lastActiveGraphics,i),h=i}));let y=null;const M=n((()=>{var e;const t=f.snappingOptions.featureSources.find((e=>e.layer===c.creationInfo.layer));return{hasFeatureLayerSource:!!t,enabled:null!=(e=null==t?void 0:t.enabled)&&e}}),(({hasFeatureLayerSource:e,enabled:t})=>{const a=f.snappingOptions.featureSources;e?(s(y)&&(y=new u({layer:f.layer,enabled:t}),a.add(y)),y.enabled=t):(r(y)&&a.remove(y),y=o(y))}),l),V=a.on("immediate-click",(async t=>{const i=await a.hitTest(t,{include:f.layer});if(i.results.length>0){const t=i.results[0].graphic;if("transform"===f.activeTool||"reshape"===f.activeTool){if(f.updateGraphics.getItemAt(0)===t)return;await e.updatePendingFeature(t)}}}));await e._startCreating();const A={remove:()=>{i(e.featureFormHandle),m.remove(),v.remove(),w.remove(),M.remove(),r(y)&&f.snappingOptions.featureSources.remove(y),y=o(y),f.cancel(),V.remove(),i(g)}};d.add(A,this.id)},async tearDown(e){e.cancelled&&c.viewModel.sketchViewModel.layer.removeAll(),d.remove(this.id),c.viewModel.sketchViewModel.updateOnGraphicClick=p}})});return y(c,f)}};V=M=e([c("esri.widgets.Editor.BatchCreateWorkflow")],V);const A=V;export{A as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{remove as t}from"../../core/arrayUtils.js";import{makeHandle as a}from"../../core/handleUtils.js";import{removeMaybe as i,isSome as r,isNone as s,destroyMaybe as o}from"../../core/maybe.js";import{watch as n,syncAndInitial as l}from"../../core/reactiveUtils.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import u from"../../views/interactive/snapping/FeatureSnappingLayerSource.js";import{BatchCreateWorkflowData as d}from"./BatchCreateWorkflowData.js";import h from"./Workflow.js";import{startCreatingNewFeature as p,findLayerInfo as f,updateGraphicSymbolWhenRequired as m,getVisualVariableAttributes as g,startUpdatingFeature as v,createWorkflowSteps as w,avoidFeatureTemplateSelectionWithOnlyOneItem as y,visualVariableInteractiveUpdate as b}from"./workflowUtils.js";var M;let V=M=class extends h{constructor(e){super(e),this.type="batch-create",this.createFeatureState="create-new",this.featureFormHandle=null,this.visualVariableAttributes={rotation:null,size:null},this.highlightHandles=new Map,this.preventDefaultActionOnCancel=!1}get numPendingFeatures(){return this.data.viewModel.sketchViewModel.layer.graphics.length}get pendingFeatures(){return this.data.viewModel.sketchViewModel.layer.graphics}async updatePendingFeature(e){return this.preventDefaultActionOnCancel=!0,this.data.viewModel.sketchViewModel.cancel(),t(this.lastActiveGraphics,e),this._startUpdating(e)}static create(e,t,a,i){const r=new M({data:new d({creationInfo:t,viewModel:e}),onCommit:async e=>{await i(e.creationInfo.layer,{addFeatures:e.viewModel.sketchViewModel.layer.graphics.toArray()})}});return r._set("steps",this._createWorkflowSteps(r,a)),r}_fadeExistingFeatures(e){if("effect"in e){const t=e.effect;return e.effect="saturate(0.6) opacity(0.8)",a((()=>e.effect=t))}const t=e.opacity;return e.opacity=.7,a((()=>e.opacity=t))}_highlight(e){const t=this.data.viewModel.view;"3d"===t.type&&this.highlightHandles.set(e,t.highlight(e))}_removeHighlight(e){i(this.highlightHandles.get(e)),this.highlightHandles.delete(e)}async _startCreating(){return this.createFeatureState="create-new",p(this.data.viewModel.sketchViewModel,this.data.creationInfo)}async _startUpdating(e){const t=this.data.viewModel,a=t.sketchViewModel,r=this.data.creationInfo.layer,s=f(t.layerInfos,r),o=null==s?void 0:s.formTemplate;return t.featureFormViewModel.set({feature:e,formTemplate:o}),i(this.featureFormHandle),this.featureFormHandle=t.featureFormViewModel.on("value-change",(async()=>{e.attributes=t.featureFormViewModel.getValues(),await m(e)})),this._removeHighlight(e),this.createFeatureState="update-pending",this.visualVariableAttributes=g(e),v(a,e,r,this.visualVariableAttributes)}static _createWorkflowSteps(e,a="awaiting-feature-creation-info"){const{data:c,handles:d}=e;let h=null,p=!0;const f=w(["awaiting-feature-creation-info","batch-creating-features"],a,{"awaiting-feature-creation-info":()=>({id:"awaiting-feature-creation-info",async setUp(){c.creationInfo=null,d.add(c.viewModel.featureTemplatesViewModel.on("select",(({item:e})=>{c.creationInfo={layer:e.layer,template:e.template},c.viewModel.activeWorkflow.next()})),this.id)},async tearDown(){d.remove(this.id)}}),"batch-creating-features":()=>({id:"batch-creating-features",async setUp(){const a=c.viewModel.view,f=c.viewModel.sketchViewModel;p=f.updateOnGraphicClick,f.updateOnGraphicClick=!1,e.lastActiveGraphics=[],e.featureFormHandle=i(e.featureFormHandle),e.visualVariableAttributes={rotation:null,size:null};const m="2d"===a.type?e._fadeExistingFeatures(c.creationInfo.layer):null,g=f.on("create",(async t=>{if("cancel"===t.state){if(e.preventDefaultActionOnCancel)return void(e.preventDefaultActionOnCancel=!1);if(e.lastActiveGraphics.length<1)return e._startCreating();const t=e.lastActiveGraphics.pop();return e._startUpdating(t)}if("complete"===t.state)return e._startUpdating(t.graphic)})),v=f.on("update",(async t=>{const i=t.graphics[0];if("complete"===t.state)return i!==h&&(e.lastActiveGraphics.push(i),e._highlight(i)),h=null,t.aborted&&e.preventDefaultActionOnCancel?void(e.preventDefaultActionOnCancel=!1):e._startCreating();"start"===t.state&&e._removeHighlight(i),await b(a,i,t,e.visualVariableAttributes);const s=i.attributes;if(r(e.visualVariableAttributes.rotation)){const{field:t}=e.visualVariableAttributes.rotation;c.viewModel.featureFormViewModel.setValue(t,s[t])}if(r(e.visualVariableAttributes.size)){const{field:t}=e.visualVariableAttributes.size;c.viewModel.featureFormViewModel.setValue(t,s[t])}})),w=f.on("delete",(async a=>{const i=a.graphics[0];t(e.lastActiveGraphics,i),h=i}));let y=null;const M=n((()=>{var e;const t=f.snappingOptions.featureSources.find((e=>e.layer===c.creationInfo.layer));return{hasFeatureLayerSource:!!t,enabled:null!=(e=null==t?void 0:t.enabled)&&e}}),(({hasFeatureLayerSource:e,enabled:t})=>{const a=f.snappingOptions.featureSources;e?(s(y)&&(y=new u({layer:f.layer,enabled:t}),a.add(y)),y.enabled=t):(r(y)&&a.remove(y),y=o(y))}),l),V=a.on("immediate-click",(async t=>{const i=await a.hitTest(t,{include:f.layer});if(i.results.length>0){const t=i.results[0].graphic;if("transform"===f.activeTool||"reshape"===f.activeTool){if(f.updateGraphics.getItemAt(0)===t)return;await e.updatePendingFeature(t)}}}));await e._startCreating();const A={remove:()=>{i(e.featureFormHandle),g.remove(),v.remove(),w.remove(),M.remove(),r(y)&&f.snappingOptions.featureSources.remove(y),y=o(y),f.cancel(),V.remove(),i(m)}};d.add(A,this.id)},async tearDown(e){e.cancelled&&c.viewModel.sketchViewModel.layer.removeAll(),d.remove(this.id),c.viewModel.sketchViewModel.updateOnGraphicClick=p}})});return y(c,f)}};V=M=e([c("esri.widgets.Editor.BatchCreateWorkflow")],V);const A=V;export{A 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.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{isSome as t}from"../../core/maybe.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import a from"./CreateWorkflowData.js";import{Edits as i}from"./Edits.js";import r from"./Workflow.js";import{createWorkflowSteps as s,avoidFeatureTemplateSelectionWithOnlyOneItem as n,setUpFeatureAdd as l,findLayerInfo as c,getVisualVariableAttributes as d,startUpdatingFeature as f,visualVariableInteractiveUpdate as w,updateGraphicSymbolWhenRequired as u}from"./workflowUtils.js";var m;let p=m=class extends r{constructor(e){super(e),this.type="create"}static create(e,t,o){const r=new m({data:new a({edits:new i,viewModel:e}),onCommit:async e=>{await o(e.creationInfo.layer,{addFeatures:[e.edits.feature]})}});return r._set("steps",this._createWorkflowSteps(r,t)),r}static _createWorkflowSteps(e,o="awaiting-feature-creation-info"){const{data:a,handles:i}=e,r=s(["awaiting-feature-creation-info","awaiting-feature-to-create","editing-new-feature"],o,{"awaiting-feature-creation-info":()=>({id:"awaiting-feature-creation-info",async setUp(){a.creationInfo=null,a.edits.feature=null,a.viewModel.featureTemplatesViewModel.select(null),i.add(a.viewModel.featureTemplatesViewModel.on("select",(({item:e})=>{a.creationInfo={layer:e.layer,template:e.template},a.viewModel.activeWorkflow.next()})),this.id)},async tearDown(){i.remove(this.id)}}),"awaiting-feature-to-create":()=>({id:"awaiting-feature-to-create",async setUp(){i.add(await l(a.viewModel.sketchViewModel,a.creationInfo,(e=>{a.edits.feature=e,a.viewModel.activeWorkflow.next()})),this.id)},async tearDown(){i.remove(this.id)}}),"editing-new-feature":()=>({id:"editing-new-feature",async setUp(){const e=a.edits.feature,o=e.sourceLayer,r=a.viewModel,s=r.sketchViewModel,n=c(r.layerInfos,o),l=null==n?void 0:n.formTemplate,m=l?null:null==n?void 0:n.fieldConfig;r.featureFormViewModel.set({feature:e,fieldConfig:m,formTemplate:l}),s.allowDeleteKey=!1;const p=d(e);await f(s,e,o,p);const v=s.on("update",(async e=>{const a=e.graphics[0];if("complete"===e.state)return f(s,a,o,p);await w(s.view,a,e,p);const i=a.attributes;if(t(p.rotation)){const{field:e}=p.rotation;r.featureFormViewModel.setValue(e,i[e])}if(t(p.size)){const{field:e}=p.size;r.featureFormViewModel.setValue(e,i[e])}}));i.add([a.viewModel.featureFormViewModel.on("value-change",(async()=>{a.edits.updateAttributes(a.viewModel.featureFormViewModel.getValues()),e.attributes=a.edits.feature.attributes,"3d"===s.view.type&&await u(e)})),v],this.id)},async tearDown(e){e.cancelled&&a.viewModel.sketchViewModel.layer.removeAll(),i.remove(this.id)}})});return n(a,r)}};p=m=e([o("esri.widgets.Editor.CreateWorkflow")],p);const v=p;export{v as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{isSome as t}from"../../core/maybe.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import o from"./CreateWorkflowData.js";import{Edits as r}from"./Edits.js";import i from"./Workflow.js";import{createWorkflowSteps as s,avoidFeatureTemplateSelectionWithOnlyOneItem as n,setUpFeatureAdd as l,findLayerInfo as c,getVisualVariableAttributes as d,startUpdatingFeature as f,visualVariableInteractiveUpdate as w,updateGraphicSymbolWhenRequired as u}from"./workflowUtils.js";var m;let p=m=class extends i{constructor(e){super(e),this.type="create"}static create(e,t,a){const i=new m({data:new o({edits:new r,viewModel:e}),onCommit:async e=>{await a(e.creationInfo.layer,{addFeatures:[e.edits.feature]})}});return i._set("steps",this._createWorkflowSteps(i,t)),i}static _createWorkflowSteps(e,a="awaiting-feature-creation-info"){const{data:o,handles:r}=e,i=s(["awaiting-feature-creation-info","awaiting-feature-to-create","editing-new-feature"],a,{"awaiting-feature-creation-info":()=>({id:"awaiting-feature-creation-info",async setUp(){o.creationInfo=null,o.edits.feature=null,o.viewModel.featureTemplatesViewModel.select(null),r.add(o.viewModel.featureTemplatesViewModel.on("select",(({item:e})=>{o.creationInfo={layer:e.layer,template:e.template},o.viewModel.activeWorkflow.next()})),this.id)},async tearDown(){r.remove(this.id)}}),"awaiting-feature-to-create":()=>({id:"awaiting-feature-to-create",async setUp(){r.add(await l(o.viewModel.sketchViewModel,o.creationInfo,(e=>{o.edits.feature=e,o.viewModel.activeWorkflow.next()})),this.id)},async tearDown(){r.remove(this.id)}}),"editing-new-feature":()=>({id:"editing-new-feature",async setUp(){const e=o.edits.feature,a=e.sourceLayer,i=o.viewModel,s=i.sketchViewModel,n=c(i.layerInfos,a),l=null==n?void 0:n.formTemplate;i.featureFormViewModel.set({feature:e,formTemplate:l}),s.allowDeleteKey=!1;const m=d(e);await f(s,e,a,m);const p=s.on("update",(async e=>{const o=e.graphics[0];if("complete"===e.state)return f(s,o,a,m);await w(s.view,o,e,m);const r=o.attributes;if(t(m.rotation)){const{field:e}=m.rotation;i.featureFormViewModel.setValue(e,r[e])}if(t(m.size)){const{field:e}=m.size;i.featureFormViewModel.setValue(e,r[e])}}));r.add([o.viewModel.featureFormViewModel.on("value-change",(async()=>{o.edits.updateAttributes(o.viewModel.featureFormViewModel.getValues()),e.attributes=o.edits.feature.attributes,"3d"===s.view.type&&await u(e)})),p],this.id)},async tearDown(e){e.cancelled&&o.viewModel.sketchViewModel.layer.removeAll(),r.remove(this.id)}})});return n(o,i)}};p=m=e([a("esri.widgets.Editor.CreateWorkflow")],p);const v=p;export{v as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{makeHandle as t}from"../../core/handleUtils.js";import{isSome as i}from"../../core/maybe.js";import{onAbort as a,createAbortError as o,throwIfAborted as s,isAborted as r}from"../../core/promiseUtils.js";import{watch as d}from"../../core/watchUtils.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import{highlightsSupported as l}from"../../views/support/layerViewUtils.js";import{Edits as c}from"./Edits.js";import u from"./UpdateWorkflowData.js";import m from"./Workflow.js";import{createWorkflowSteps as h,fetchCandidates as f,fetchFullFeature as w,findLayerInfo as g,getVisualVariableAttributes as p,setUpGeometryUpdate as v}from"./workflowUtils.js";var y;const b="candidate-highlight";let M=y=class extends m{constructor(e){super(e),this.type="update"}static create(e,t,i){const a=new y({data:new u({edits:new c,viewModel:e}),onCommit:async e=>{const t=e.edits.feature,a=t.sourceLayer,o=t.clone();if(!e.edits.attributesModified){const{objectIdField:e}=a;o.attributes={[e]:t.getAttribute(e)}}e.edits.geometryModified||(o.geometry=null),await i(a,{updateFeatures:[o]})}});return a._set("steps",this._createWorkflowSteps(a,t)),a}highlight(e){const{data:{viewModel:{view:t}}}=this,i=e&&t.allLayerViews.items.find((({layer:t})=>t===e.layer));l(i)&&this.handles.add(i.highlight(e),b)}unhighlight(){this.handles.remove(b)}static _createWorkflowSteps(e,n="awaiting-feature-to-update"){const{data:l,handles:c}=e;return h(["awaiting-feature-to-update","awaiting-update-feature-candidate","editing-existing-feature","adding-attachment","editing-attachment"],n,{"awaiting-feature-to-update":()=>({id:"awaiting-feature-to-update",async setUp(){const{spinnerViewModel:e,view:t}=l.viewModel;let i=null;c.add({remove(){i&&(i.abort(),i=null)}},this.id),l.edits.feature=null;const r=t.on("immediate-click",(r=>{e.location=r.mapPoint,e.visible=!0,i&&i.abort();const{editableItems:d}=l.viewModel;i=new AbortController,new Promise(((e,s)=>{a(i.signal,(()=>s(o()))),e(f(d,t,r,i.signal))})).then((e=>{if(s(i),l.candidates=e.reduce(((e,t)=>t.error?e:[...e,...t.value]),[]),l.viewModel.spinnerViewModel.visible=1===l.candidates.length,0!==l.candidates.length)if(1===l.candidates.length){const e=l.candidates[0];l.edits.feature=e,l.viewModel.activeWorkflow.go("editing-existing-feature").catch((()=>{})).then((()=>l.viewModel.spinnerViewModel.visible=!1))}else l.viewModel.activeWorkflow.next()}))}));c.add(r,this.id)},async tearDown(){c.remove(this.id)}}),"awaiting-update-feature-candidate":()=>({id:"awaiting-update-feature-candidate",async setUp(){const{edits:t}=l;t.feature=null,c.add(d(t,"feature",(t=>{e.unhighlight(),e.highlight(t)})),this.id)},async tearDown(){e.unhighlight(),c.remove(this.id)}}),"editing-existing-feature":()=>({id:"editing-existing-feature",async setUp(){const a=l.edits.feature,o=l.viewModel;l.editableItem=o.editableItems.find((e=>e.layer===a.layer));const s=new AbortController;c.add({remove:()=>s.abort()},this.id);const d=o.view.whenLayerView(a.layer),n=w(a,o.view,s.signal),u=await d,m=await n;if(r(s))return;l.edits.updateGeometry(m.geometry),l.edits.updateAttributes(m.attributes),l.edits.trackChanges(),o.attachmentsViewModel.set({graphic:m,mode:"view"});const h=m.sourceLayer,f=g(o.layerInfos,h),y=null==f?void 0:f.formTemplate,b=y?null:null==f?void 0:f.fieldConfig;o.featureFormViewModel.set({feature:m,fieldConfig:b,formTemplate:y});const M="createInteractiveEditSession"in u?u.createInteractiveEditSession(a):null,V=[o.featureFormViewModel.on("value-change",(e=>{l.edits.updateAttributes(o.featureFormViewModel.getValues()),m.attributes=l.edits.feature.attributes,M&&M.setAttribute(e.fieldName,e.value)})),o.attachmentsViewModel.watch("mode",(e=>{"add"===e&&l.viewModel.activeWorkflow.go("adding-attachment"),"edit"===e&&l.viewModel.activeWorkflow.go("editing-attachment")}))];M&&(V.push(t((()=>M.rollback()))),c.add(t((()=>M.commit())),e._handleKeys.afterCommit));const{supportsGeometryUpdate:j}=h.capabilities.editing;if(j){o.sketchViewModel.allowDeleteKey=!1;const t=p(m),{interactive:a,visual:s}=await v(m,t,o.sketchViewModel,o.view,(({geometry:e,attributes:a})=>{if(i(t.rotation)){const{field:e}=t.rotation;o.featureFormViewModel.setValue(e,a[e])}if(i(t.size)){const{field:e}=t.size;o.featureFormViewModel.setValue(e,a[e])}l.edits.updateAttributes(a),l.edits.updateGeometry(e)}));V.push(a,s),c.add(a,e._handleKeys.beforeCommit),c.add(s,e._handleKeys.afterCommit)}else e.highlight(m);c.add(V,this.id)},async tearDown(){e.unhighlight(),c.remove(this.id)}}),"adding-attachment":()=>({id:"adding-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){}}),"editing-attachment":()=>({id:"editing-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){}})})}};M=y=e([n("esri.widgets.Editor.UpdateWorkflow")],M);const V=M;export{V as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{makeHandle as t}from"../../core/handleUtils.js";import{isSome as i}from"../../core/maybe.js";import{onAbort as a,createAbortError as s,throwIfAborted as o,isAborted as r}from"../../core/promiseUtils.js";import{watch as d}from"../../core/watchUtils.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import{highlightsSupported as l}from"../../views/support/layerViewUtils.js";import{Edits as c}from"./Edits.js";import u from"./UpdateWorkflowData.js";import m from"./Workflow.js";import{createWorkflowSteps as h,fetchCandidates as w,fetchFullFeature as f,findLayerInfo as p,getVisualVariableAttributes as g,setUpGeometryUpdate as v}from"./workflowUtils.js";var y;const b="candidate-highlight";let M=y=class extends m{constructor(e){super(e),this.type="update"}static create(e,t,i){const a=new y({data:new u({edits:new c,viewModel:e}),onCommit:async e=>{const t=e.edits.feature,a=t.sourceLayer,s=t.clone();if(!e.edits.attributesModified){const{objectIdField:e}=a;s.attributes={[e]:t.getAttribute(e)}}e.edits.geometryModified||(s.geometry=null),await i(a,{updateFeatures:[s]})}});return a._set("steps",this._createWorkflowSteps(a,t)),a}highlight(e){const{data:{viewModel:{view:t}}}=this,i=e&&t.allLayerViews.items.find((({layer:t})=>t===e.layer));l(i)&&this.handles.add(i.highlight(e),b)}unhighlight(){this.handles.remove(b)}static _createWorkflowSteps(e,n="awaiting-feature-to-update"){const{data:l,handles:c}=e;return h(["awaiting-feature-to-update","awaiting-update-feature-candidate","editing-existing-feature","adding-attachment","editing-attachment"],n,{"awaiting-feature-to-update":()=>({id:"awaiting-feature-to-update",async setUp(){const{spinnerViewModel:e,view:t}=l.viewModel;let i=null;c.add({remove(){i&&(i.abort(),i=null)}},this.id),l.edits.feature=null;const r=t.on("immediate-click",(r=>{e.location=r.mapPoint,e.visible=!0,i&&i.abort();const{editableItems:d}=l.viewModel;i=new AbortController,new Promise(((e,o)=>{a(i.signal,(()=>o(s()))),e(w(d,t,r,i.signal))})).then((e=>{if(o(i),l.candidates=e.reduce(((e,t)=>t.error?e:[...e,...t.value]),[]),l.viewModel.spinnerViewModel.visible=1===l.candidates.length,0!==l.candidates.length)if(1===l.candidates.length){const e=l.candidates[0];l.edits.feature=e,l.viewModel.activeWorkflow.go("editing-existing-feature").catch((()=>{})).then((()=>l.viewModel.spinnerViewModel.visible=!1))}else l.viewModel.activeWorkflow.next()}))}));c.add(r,this.id)},async tearDown(){c.remove(this.id)}}),"awaiting-update-feature-candidate":()=>({id:"awaiting-update-feature-candidate",async setUp(){const{edits:t}=l;t.feature=null,c.add(d(t,"feature",(t=>{e.unhighlight(),e.highlight(t)})),this.id)},async tearDown(){e.unhighlight(),c.remove(this.id)}}),"editing-existing-feature":()=>({id:"editing-existing-feature",async setUp(){const a=l.edits.feature,s=l.viewModel;l.editableItem=s.editableItems.find((e=>e.layer===a.layer));const o=new AbortController;c.add({remove:()=>o.abort()},this.id);const d=s.view.whenLayerView(a.layer),n=f(a,s.view,o.signal),u=await d,m=await n;if(r(o))return;l.edits.updateGeometry(m.geometry),l.edits.updateAttributes(m.attributes),l.edits.trackChanges(),s.attachmentsViewModel.set({graphic:m,mode:"view"});const h=m.sourceLayer,w=p(s.layerInfos,h),y=null==w?void 0:w.formTemplate;s.featureFormViewModel.set({feature:m,formTemplate:y});const b="createInteractiveEditSession"in u?u.createInteractiveEditSession(a):null,M=[s.featureFormViewModel.on("value-change",(e=>{l.edits.updateAttributes(s.featureFormViewModel.getValues()),m.attributes=l.edits.feature.attributes,b&&b.setAttribute(e.fieldName,e.value)})),s.attachmentsViewModel.watch("mode",(e=>{"add"===e&&l.viewModel.activeWorkflow.go("adding-attachment"),"edit"===e&&l.viewModel.activeWorkflow.go("editing-attachment")}))];b&&(M.push(t((()=>b.rollback()))),c.add(t((()=>b.commit())),e._handleKeys.afterCommit));const{supportsGeometryUpdate:V}=h.capabilities.editing;if(V){s.sketchViewModel.allowDeleteKey=!1;const t=g(m),{interactive:a,visual:o}=await v(m,t,s.sketchViewModel,s.view,(({geometry:e,attributes:a})=>{if(i(t.rotation)){const{field:e}=t.rotation;s.featureFormViewModel.setValue(e,a[e])}if(i(t.size)){const{field:e}=t.size;s.featureFormViewModel.setValue(e,a[e])}l.edits.updateAttributes(a),l.edits.updateGeometry(e)}));M.push(a,o),c.add(a,e._handleKeys.beforeCommit),c.add(o,e._handleKeys.afterCommit)}else e.highlight(m);c.add(M,this.id)},async tearDown(){e.unhighlight(),c.remove(this.id)}}),"adding-attachment":()=>({id:"adding-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){}}),"editing-attachment":()=>({id:"editing-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){}})})}};M=y=e([n("esri.widgets.Editor.UpdateWorkflow")],M);const V=M;export{V as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../Graphic.js";import"../../core/has.js";import{isSome as t,isNone as r,removeMaybe as i}from"../../core/maybe.js";import{whenOrAbort as a,eachAlways as n}from"../../core/promiseUtils.js";import{px2pt as s}from"../../core/screenUtils.js";import{init as o,whenFalseOnce as l}from"../../core/watchUtils.js";import{diff as c}from"../../core/accessorSupport/diffUtils.js";import{calculateTolerance as u}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as p}from"../../renderers/support/lengthUtils.js";import{getTransformationType as y,TransformationType as f}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{getRotationAngle as d,getSize as m}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{to3D as h}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as g}from"../../symbols/support/symbolUtils.js";import{GraphicState as b}from"../../views/3d/layers/graphics/GraphicState.js";import{createQueryGeometry as w}from"../../views/support/drapedUtils.js";import{hitTestSelectSameDistance as v}from"../../views/support/hitTestSelectUtils.js";function S(e){const r=e.sourceLayer;if("feature"!==r.type||!F(r.renderer))return{rotation:null,size:null};let i=null,a=null;const n=r.renderer.getVisualVariablesForType("rotation").filter((r=>(!r.axis||"heading"===r.axis)&&r.field&&!r.valueExpression&&t(d(r,e))));1===n.length&&(i=j(n[0],r));const s=r.renderer.getVisualVariablesForType("size").filter((r=>r.field&&!r.useSymbolValue&&!r.valueExpression&&y(r)===f.RealWorldSize&&t(m(r,e))));return 1===s.length&&(a=U(s[0],r)),{rotation:i,size:a}}function j(e,t){const r="heading"===(e.axis||"heading")&&"arithmetic"===e.rotationType?-1:1,i=e.field,a=t.fields&&t.fields.filter((e=>e.name===i)),n=a&&1===a.length?a[0].type:"double",s={initial:0,current:0};return{field:i,getDefault:()=>Promise.resolve(0),getValue:e=>(s.current=s.initial-r*e,z((s.current+360)%360,n)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1}}function I(e,t){switch(t){case"width":return e[0];case"depth":return e[1];case"height":return e[2];default:return e[2]||e[1]||e[0]}}async function V(e,t,i){if(r(t))return 0;const{symbol:a}=h(t);if(r(a)||"web-style"===a.type||"cim"===a.type)return 0;const n=a.symbolLayers.getItemAt(0);if(!n)return 0;switch(n.type){case"icon":{const{computeIconLayerResourceSize:e}=await import("../../symbols/support/symbolLayerUtils.js");return n.size||Math.min(B.icon,(await e(n,B.icon))[0])||B.icon}case"text":return n.size||B.text;case"line":return n.size||B.line;case"object":{const{computeObjectLayerResourceSize:t}=await import("../../symbols/support/symbolLayerUtils.js");return I(await t(n,e.scale/B.viewScaleSizeFactor),i)}case"path":return(null!=n.width?n.width:n.height)||e.scale/B.viewScaleSizeFactor;case"extrude":return n.size||e.scale/B.viewScaleSizeFactor;default:return 0}}function U(e,t){const r=e.field,i=e.axis,a=t.fields&&t.fields.filter((e=>e.name===r)),n=a&&1===a.length?a[0].type:"double",s={updating:!1,initial:0,current:0},o=p[e.valueUnit];let l;return l="area"===e.valueRepresentation?e=>(e*o/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*o/2:e=>e*o,{field:r,getDefault:async(e,t)=>z(l(await V(t,e,i)),n),getValue:(e,t)=>(s.initial||(s.initial=t.pixelSizeAt(t.center)),s.current=s.initial*e,z(s.current,n)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1}}function z(e,t){switch(t){case"small-integer":case"integer":case"long":return Math.round(e);case"double":case"single":return e;default:return 0}}function F(e){switch(e.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":return!0;default:return!1}}async function L(e){const r=await g(e,{useSourceLayer:!0,ignoreGraphicSymbol:!0}),i=c(e.symbol,r);t(i)&&(e.symbol=r)}function x(e){if("mesh"===e||"multipatch"===e)throw new Error("Mesh and Multipatch not supported");return e}async function M(e,t,r){await R(e,t);const i=e.on("create",(async i=>{if("cancel"===i.state)return R(e,t);if("complete"===i.state){const e=i.graphic;e.sourceLayer||(e.sourceLayer=t.layer),e.attributes||(e.attributes={...t.template.prototype.attributes}),await L(e),r(e)}}));return{remove:()=>{i.remove(),e.cancel()}}}async function R(e,t){const r=t.layer,i={...t.template.prototype.attributes};await T(e,r,i);const a={graphicProperties:{attributes:i,sourceLayer:r},hasZ:r.capabilities.data.supportsZ};return e.layer.elevationInfo=r.elevationInfo,e.create(x(r.geometryType),a)}async function T(t,i,a){var n;const s=new e({sourceLayer:i,attributes:a}),{rotation:o,size:l}=S(s);let c=await g(s,{useSourceLayer:!0}),u=!1;for(const e of[l,o]){if(r(e))continue;null==a[e.field]&&(a[e.field]=await e.getDefault(c,t.view),u=!0)}switch(u&&(c=await g(s,{useSourceLayer:!0})),null==(n=c)?void 0:n.type){case"simple-fill":case"polygon-3d":t.polygonSymbol=c;break;case"simple-line":case"line-3d":t.polylineSymbol=c;break;case"simple-marker":case"picture-marker":case"point-3d":t.pointSymbol=c}}function E(e,t){return e&&e.find((e=>e.layer===t))}async function k(e,t,r,i){if(0===e.length)return[];const{updatable:s,graphicsByLayer:o}=await r.async((async()=>{const{results:n}=await a(v(t,r),i),s=new Map,o=({layer:e})=>{const t=s.get(e);if(!t){const t=new Array;return s.set(e,t),t}return t};n.forEach((({graphic:e})=>o(e).push(e)));const l=e.filter((({supports:e,layer:t})=>e.indexOf("update")>-1&&s.has(t)));return 0!==l.length&&r.stopPropagation(),{updatable:l,graphicsByLayer:s}}));return a(n(s.map((async({layer:e})=>{const{objectIdField:t,displayField:r}=e,a=[t];e.fieldsIndex.has(r)&&a.push(r);const n=o.get(e);if(!!n.some((e=>a.some((t=>!(t in e.attributes)))))){const t=e.createQuery();return t.outFields=a,t.returnGeometry=!1,t.objectIds=n.map((e=>e.getObjectId())),e.queryFeatures(t,{signal:i}).then((({features:e})=>e))}return n}))),i)}async function A(e,t,r,i){if(0===e.length)return[];const s=await r.async((async()=>{const{results:n}=await a(t.hitTest(r),i);if(0===n.length)return[];const s=new Set;n.forEach((({graphic:e})=>s.add(e.layer)));const o=e.items.filter((({layer:e,supports:t})=>t.indexOf("update")>-1&&s.has(e)));return o.length>0&&r.stopPropagation(),o}));return a(n(s.map((({layer:e})=>{const{objectIdField:a,displayField:n}=e,s=[a];e.fieldsIndex.has(n)&&s.push(n);const o=e.createQuery();o.outFields=s,o.returnGeometry=!1;const l="renderer"in e?u({renderer:e.renderer,event:r}):0;return o.geometry=w(r.mapPoint,l,t),o.outSpatialReference=t.spatialReference,e.queryFeatures(o,{signal:i}).then((({features:e})=>e))}))),i)}async function G(e,t,r,i){switch(t.type){case"3d":return k(e,t,r,i);case"2d":return A(e,t,r,i)}}async function P(e,t,r){const i=e.layer,a=i.createQuery();return a.objectIds=[e.getAttribute(i.objectIdField)],a.outFields=["*"],a.outSpatialReference=t.spatialReference,a.returnM=i.capabilities.data.supportsM,a.returnZ=i.capabilities.data.supportsZ,(await i.queryFeatures(a,{signal:r})).features[0]}async function q(e,i,a,n){let s=!1;const{rotation:o,size:l}=n;[o,l].forEach((async a=>{if(r(a))return;const n=i.attributes[a.field];if(t(n))a.initValue(n);else{const t=await a.getDefault(i.symbol,e.view);a.initValue(t),i.setAttribute(a.field,t),s=!0}})),s&&await L(i);const c={multipleSelectionEnabled:!1};return"point"===a.geometryType&&(c.enableRotation=t(o),c.enableScaling=t(l)),e.layer.elevationInfo=a.elevationInfo,e.update(i,c)}function D(e){return!e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function O(e){return!e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}async function Z(e,r,i,a){var n;if(!t(r.geometry)||"point"!==(null==(n=r.geometry)?void 0:n.type))return;const s=a.rotation,o=D(i.toolEventInfo);if(t(s)&&t(o))if("rotate-stop"===o.type)s.isUpdatingInteractively=!1,s.initValue();else{s.isUpdatingInteractively=!0;const{field:t,getValue:i}=s;r.attributes[t]=i(o.angle,e)}const l=a.size,c=O(i.toolEventInfo);if(t(l)&&t(c))if("scale-stop"===c.type)l.isUpdatingInteractively=!1,l.initValue();else{l.isUpdatingInteractively=!0;const{field:t,getValue:i}=l;r.attributes[t]=i(c.xScale,e)}await L(r)}async function Q(e,a,n,s,c){const u=e.clone();await L(u),s.map.add(n.layer),n.layer.add(u);const p=e.sourceLayer,y=s.whenLayerView(p),f=()=>{const t=e.layer,r=e.attributes[t.objectIdField];return y.then((e=>e.setVisibility(r,!1)),(()=>{})),{remove(){y.then((e=>e.setVisibility(r,!0)),(()=>{}))}}};let d=null,m=null;if("3d"===s.type){const e=new b({graphic:u});d=s.trackGraphicState(e),o(e,"displaying",(e=>{m=e?f():i(m)}))}else m=f();await q(n,u,p,a);let h=null;y.then((e=>h=e),(()=>{}));const g=a.size,w=a.rotation,v=e.watch("attributes",(async e=>{let i=!1;for(const a in e){const n=e[a];n!==u.attributes[a]&&(u.setAttribute(a,n),t(g)&&!g.isUpdatingInteractively&&g.field===a&&g.initValue(n),t(w)&&!w.isUpdatingInteractively&&w.field===a&&w.initValue(n),(r(h)||h.requiredFields.includes(a))&&(i=!0))}i&&await L(u)})),S=n.on("update",(async e=>{const t=e.graphics[0];if("complete"===e.state)return q(n,t,p,a);await Z(s,t,e,a),c(t.clone())})),j=n.on(["undo","redo"],(async e=>{c(e.graphics[0].clone())})),I=()=>{};return{interactive:{remove(){j.remove(),S.remove(),n.cancel(),v&&v.remove(),this.remove=I}},visual:{remove(){i(m),s.whenLayerView(p).then((e=>l(e,"updating"))).then((()=>{i(d),n.layer.remove(u),this.remove=I}))}}}}const B={icon:s(24),text:s(12),line:s(1),viewScaleSizeFactor:100};function C(e,t,r){let i=!1;return e.filter((e=>!!i||(i=e===t,i))).map((e=>r[e]()))}function W(e){if(1!==e.length)return null;const t=e[0];if("items"in t){const e=t;return 1===e.items.length?e.items[0]:null}return t}function H(e,r){if(e.viewModel.refreshCreationTemplates(),"awaiting-feature-creation-info"===r[0].id){const i=W(e.viewModel.featureTemplatesViewModel.items);t(i)&&(e.creationInfo={layer:i.layer,template:i.template},r.shift())}return r}export{H as avoidFeatureTemplateSelectionWithOnlyOneItem,C as createWorkflowSteps,G as fetchCandidates,P as fetchFullFeature,E as findLayerInfo,S as getVisualVariableAttributes,M as setUpFeatureAdd,Q as setUpGeometryUpdate,B as sizeDefaults,R as startCreatingNewFeature,q as startUpdatingFeature,L as updateGraphicSymbolWhenRequired,Z as visualVariableInteractiveUpdate};
5
+ import e from"../../Graphic.js";import"../../core/has.js";import{isSome as t,isNone as r,removeMaybe as i}from"../../core/maybe.js";import{whenOrAbort as a,eachAlways as n}from"../../core/promiseUtils.js";import{px2pt as s}from"../../core/screenUtils.js";import{init as o,whenFalseOnce as l}from"../../core/watchUtils.js";import{diff as c}from"../../core/accessorSupport/diffUtils.js";import{calculateTolerance as u}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as p}from"../../renderers/support/lengthUtils.js";import{getTransformationType as y,TransformationType as f}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{getRotationAngle as d,getSize as m}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{to3D as h}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as g}from"../../symbols/support/symbolUtils.js";import{GraphicState as b}from"../../views/3d/layers/graphics/GraphicState.js";import{createQueryGeometry as w}from"../../views/support/drapedUtils.js";import{hitTestSelectSameDistance as v}from"../../views/support/hitTestSelectUtils.js";function S(e){const r=e.sourceLayer;if("feature"!==r.type||!F(r.renderer))return{rotation:null,size:null};let i=null,a=null;const n=r.renderer.getVisualVariablesForType("rotation").filter((r=>(!r.axis||"heading"===r.axis)&&r.field&&!r.valueExpression&&t(d(r,e))));1===n.length&&(i=j(n[0],r));const s=r.renderer.getVisualVariablesForType("size").filter((r=>r.field&&!r.useSymbolValue&&!r.valueExpression&&y(r)===f.RealWorldSize&&t(m(r,e))));return 1===s.length&&(a=U(s[0],r)),{rotation:i,size:a}}function j(e,t){const r="heading"===(e.axis||"heading")&&"arithmetic"===e.rotationType?-1:1,i=e.field,a=t.fields&&t.fields.filter((e=>e.name===i)),n=a&&1===a.length?a[0].type:"double",s={initial:0,current:0};return{field:i,getDefault:()=>Promise.resolve(0),getValue:e=>(s.current=s.initial-r*e,z((s.current+360)%360,n)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1}}function I(e,t){switch(t){case"width":return e[0];case"depth":return e[1];case"height":return e[2];default:return e[2]||e[1]||e[0]}}async function V(e,t,i){if(r(t))return 0;const{symbol:a}=h(t);if(r(a)||"web-style"===a.type||"cim"===a.type)return 0;const n=a.symbolLayers.getItemAt(0);if(!n)return 0;switch(n.type){case"icon":{const{computeIconLayerResourceSize:e}=await import("../../symbols/support/symbolLayerUtils.js");return n.size||Math.min(B.icon,(await e(n,B.icon))[0])||B.icon}case"text":return n.size||B.text;case"line":return n.size||B.line;case"object":{const{computeObjectLayerResourceSize:t}=await import("../../symbols/support/symbolLayerUtils.js");return I(await t(n,e.scale/B.viewScaleSizeFactor),i)}case"path":return(null!=n.width?n.width:n.height)||e.scale/B.viewScaleSizeFactor;case"extrude":return n.size||e.scale/B.viewScaleSizeFactor;default:return 0}}function U(e,t){const r=e.field,i=e.axis,a=t.fields&&t.fields.filter((e=>e.name===r)),n=a&&1===a.length?a[0].type:"double",s={updating:!1,initial:0,current:0},o=p[e.valueUnit];let l;return l="area"===e.valueRepresentation?e=>(e*o/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*o/2:e=>e*o,{field:r,getDefault:async(e,t)=>z(l(await V(t,e,i)),n),getValue:(e,t)=>(s.initial||(s.initial=t.pixelSizeAt(t.center)),s.current=s.initial*e,z(s.current,n)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1}}function z(e,t){switch(t){case"small-integer":case"integer":case"long":return Math.round(e);case"double":case"single":return e;default:return 0}}function F(e){switch(e.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":return!0;default:return!1}}async function L(e){const r=await g(e,{useSourceLayer:!0,ignoreGraphicSymbol:!0}),i=c(e.symbol,r);t(i)&&(e.symbol=r)}function x(e){if("mesh"===e||"multipatch"===e)throw new Error("Mesh and Multipatch not supported");return e}async function M(e,t,r){await R(e,t);const i=e.on("create",(async i=>{if("cancel"===i.state)return R(e,t);if("complete"===i.state){const e=i.graphic;e.sourceLayer||(e.sourceLayer=t.layer),e.attributes||(e.attributes={...t.template.prototype.attributes}),await L(e),r(e)}}));return{remove:()=>{i.remove(),e.cancel()}}}async function R(e,t){const r=t.layer,i={...t.template.prototype.attributes};await E(e,r,i);const a={graphicProperties:{attributes:i,sourceLayer:r},hasZ:r.capabilities.data.supportsZ};return e.layer.elevationInfo=r.elevationInfo,e.create(x(r.geometryType),a)}async function E(t,i,a){var n;const s=new e({sourceLayer:i,attributes:a}),{rotation:o,size:l}=S(s);let c=await g(s,{useSourceLayer:!0}),u=!1;for(const e of[l,o]){if(r(e))continue;null==a[e.field]&&(a[e.field]=await e.getDefault(c,t.view),u=!0)}switch(u&&(c=await g(s,{useSourceLayer:!0})),null==(n=c)?void 0:n.type){case"simple-fill":case"polygon-3d":t.polygonSymbol=c;break;case"simple-line":case"line-3d":t.polylineSymbol=c;break;case"simple-marker":case"picture-marker":case"point-3d":t.pointSymbol=c}}function T(e,t){return e&&e.find((e=>e.layer===t))}async function k(e,t,r,i){if(0===e.length)return[];const{updatable:s,graphicsByLayer:o}=await r.async((async()=>{const{results:n}=await a(v(t,r),i),s=new Map,o=({layer:e})=>{const t=s.get(e);if(!t){const t=new Array;return s.set(e,t),t}return t};n.forEach((({graphic:e})=>o(e).push(e)));const l=e.filter((({supports:e,layer:t})=>e.indexOf("update")>-1&&s.has(t)));return 0!==l.length&&r.stopPropagation(),{updatable:l,graphicsByLayer:s}}));return a(n(s.map((async({layer:e})=>{const{objectIdField:t,displayField:r}=e,a=[t];e.fieldsIndex.has(r)&&a.push(r);const n=o.get(e);if(!!n.some((e=>a.some((t=>!(t in e.attributes)))))){const t=e.createQuery();return t.outFields=a,t.returnGeometry=!1,t.objectIds=n.map((e=>e.getObjectId())),e.queryFeatures(t,{signal:i}).then((({features:e})=>e))}return n}))),i)}async function A(e,t,r,i){if(0===e.length)return[];let s=null;const o=await r.async((async()=>{const{results:n}=await a(t.hitTest(r),i);if(0===n.length)return[];const o=new Set;s=n,s.forEach((({graphic:e})=>o.add(e.layer)));const l=e.items.filter((({layer:e,supports:t})=>t.indexOf("update")>-1&&o.has(e)));return l.length>0&&r.stopPropagation(),l}));return a(n(o.map((({layer:e})=>{const{objectIdField:a,displayField:n}=e,o=[a];e.fieldsIndex.has(n)&&o.push(n);const l=e.createQuery();l.outFields=o,l.returnGeometry=!1;const c="renderer"in e?u({renderer:e.renderer,event:r}):0;return l.geometry=w(r.mapPoint,c,t),l.outSpatialReference=t.spatialReference,e.queryFeatures(l,{signal:i}).then((({features:t})=>(s.forEach((({graphic:r})=>{if(r.layer===e){t.find((t=>t.attributes[a]===r.attributes[e.objectIdField]))||t.push(r)}})),t)))}))),i)}async function G(e,t,r,i){switch(t.type){case"3d":return k(e,t,r,i);case"2d":return A(e,t,r,i)}}async function P(e,t,r){const i=e.layer,a=i.createQuery();return a.objectIds=[e.getAttribute(i.objectIdField)],a.outFields=["*"],a.outSpatialReference=t.spatialReference,a.returnM=i.capabilities.data.supportsM,a.returnZ=i.capabilities.data.supportsZ,(await i.queryFeatures(a,{signal:r})).features[0]}async function q(e,i,a,n){let s=!1;const{rotation:o,size:l}=n;[o,l].forEach((async a=>{if(r(a))return;const n=i.attributes[a.field];if(t(n))a.initValue(n);else{const t=await a.getDefault(i.symbol,e.view);a.initValue(t),i.setAttribute(a.field,t),s=!0}})),s&&await L(i);const c={multipleSelectionEnabled:!1};return"point"===a.geometryType&&(c.enableRotation=t(o),c.enableScaling=t(l)),e.layer.elevationInfo=a.elevationInfo,e.update(i,c)}function D(e){return!e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function O(e){return!e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}async function Z(e,r,i,a){var n;if(!t(r.geometry)||"point"!==(null==(n=r.geometry)?void 0:n.type))return;const s=a.rotation,o=D(i.toolEventInfo);if(t(s)&&t(o))if("rotate-stop"===o.type)s.isUpdatingInteractively=!1,s.initValue();else{s.isUpdatingInteractively=!0;const{field:t,getValue:i}=s;r.attributes[t]=i(o.angle,e)}const l=a.size,c=O(i.toolEventInfo);if(t(l)&&t(c))if("scale-stop"===c.type)l.isUpdatingInteractively=!1,l.initValue();else{l.isUpdatingInteractively=!0;const{field:t,getValue:i}=l;r.attributes[t]=i(c.xScale,e)}await L(r)}async function Q(e,a,n,s,c){const u=e.clone();await L(u),s.map.add(n.layer),n.layer.add(u);const p=e.sourceLayer,y=s.whenLayerView(p),f=()=>{const t=e.layer,r=e.attributes[t.objectIdField];return y.then((e=>e.setVisibility(r,!1)),(()=>{})),{remove(){y.then((e=>e.setVisibility(r,!0)),(()=>{}))}}};let d=null,m=null;if("3d"===s.type){const e=new b({graphic:u});d=s.trackGraphicState(e),o(e,"displaying",(e=>{m=e?f():i(m)}))}else m=f();await q(n,u,p,a);let h=null;y.then((e=>h=e),(()=>{}));const g=a.size,w=a.rotation,v=e.watch("attributes",(async e=>{let i=!1;for(const a in e){const n=e[a];n!==u.attributes[a]&&(u.setAttribute(a,n),t(g)&&!g.isUpdatingInteractively&&g.field===a&&g.initValue(n),t(w)&&!w.isUpdatingInteractively&&w.field===a&&w.initValue(n),(r(h)||h.requiredFields.includes(a))&&(i=!0))}i&&await L(u)})),S=n.on("update",(async e=>{const t=e.graphics[0];if("complete"===e.state)return q(n,t,p,a);await Z(s,t,e,a),c(t.clone())})),j=n.on(["undo","redo"],(async e=>{c(e.graphics[0].clone())})),I=()=>{};return{interactive:{remove(){j.remove(),S.remove(),n.cancel(),v&&v.remove(),this.remove=I}},visual:{remove(){i(m),s.whenLayerView(p).then((e=>l(e,"updating"))).then((()=>{i(d),n.layer.remove(u),this.remove=I}))}}}}const B={icon:s(24),text:s(12),line:s(1),viewScaleSizeFactor:100};function C(e,t,r){let i=!1;return e.filter((e=>!!i||(i=e===t,i))).map((e=>r[e]()))}function W(e){if(1!==e.length)return null;const t=e[0];if("items"in t){const e=t;return 1===e.items.length?e.items[0]:null}return t}function H(e,r){if(e.viewModel.refreshCreationTemplates(),"awaiting-feature-creation-info"===r[0].id){const i=W(e.viewModel.featureTemplatesViewModel.items);t(i)&&(e.creationInfo={layer:i.layer,template:i.template},r.shift())}return r}export{H as avoidFeatureTemplateSelectionWithOnlyOneItem,C as createWorkflowSteps,G as fetchCandidates,P as fetchFullFeature,T as findLayerInfo,S as getVisualVariableAttributes,M as setUpFeatureAdd,Q as setUpGeometryUpdate,B as sizeDefaults,R as startCreatingNewFeature,q as startUpdatingFeature,L as updateGraphicSymbolWhenRequired,Z as visualVariableInteractiveUpdate};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import{on as t}from"../../../core/events.js";import{isSome as o,removeMaybe as s,destroyMaybe as r,unwrap as i,applySome as n}from"../../../core/maybe.js";import{isMeasurementSystem as l}from"../../../core/unitUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import p from"../../Widget.js";import{SETTINGS_CSS as h}from"../css.js";import u from"../../support/Popover.js";import{getDir as m}from"../../support/widgetUtils.js";import{messageBundle as _}from"../../support/decorators/messageBundle.js";import"../../../core/Logger.js";import{tsx as g}from"../../support/jsxFactory.js";let f=class extends p{constructor(e,t){super(e,t),this._messagesUnits=null,this._popover=null,this._buttonElement=null,this._focusOutElement=null,this._requestFocusOnCreate=!1}destroy(){this._destroyPopover()}render(){const{unitSelector:e,uniformChartScalingToggle:t}=this.visibleElements;if(!e&&!t)return g("div",{key:`${this.id}-empty`});const s=o(this._popover)&&this._popover.open?this._messages.hideSettings:this._messages.showSettings;return g("button",{class:h.base,title:s,bind:this,afterCreate:this._initializePopover,onclick:this._togglePopover,"aria-label":s})}_initializePopover(e){this._destroyPopover(),this._buttonElement=e,this._popover=new u({owner:this,placement:"bottom-end",offset:[0,0],anchorElement:e,renderContentFunction:()=>this._renderPopoverContent()})}_destroyPopover(){this._focusOutElement=s(this._focusOutElement),this._popover=r(this._popover)}_renderPopoverContent(){const{unitSelector:e,uniformChartScalingToggle:t}=this.visibleElements;return g("div",{class:h.popoverContent,dir:m(i(this._buttonElement)),bind:this,afterCreate:this._onPopoverContentAfterCreate},e&&this._renderUnitSelector(),t&&this._renderUniformChartScalingToggle())}_renderUnitSelector(){const{unit:e,unitOptions:t}=this.viewModel,o=this._messagesUnits;return g("label",{key:"unit-selector-label",class:h.selectLabel},this._messages.unitSelectLabel,g("select",{class:h.select,value:e,bind:this,onchange:this._onUnitChange,afterCreate:this._onUnitSelectAfterCreate},t.map((e=>g("option",{key:e,value:e},l(e)?o.systems[e]:o.units[e].pluralCapitalized)))))}_onUnitChange(e){this.viewModel.unit=e.target.value}_onUnitSelectAfterCreate(e){this._requestFocusOnCreate&&(this._requestFocusOnCreate=!1,e.focus())}_renderUniformChartScalingToggle(){const e=this._messages,t=this.viewModel.uniformChartScaling,o=t?e.uniformChartScalingDisable:e.uniformChartScalingEnable;return g("label",{key:"uniform-chart-scaling-label",class:h.checkboxLabel,onmousedown:v},g("input",{class:this.classes(h.checkbox,h.uniformChartScalingCheckbox),type:"checkbox",checked:t,title:o,"aria-label":o,bind:this,onchange:this._onUniformChartScalingChange}),e.uniformChartScalingLabel)}_onUniformChartScalingChange(e){this.viewModel.uniformChartScaling=e.target.checked}_togglePopover(e){o(this._popover)&&this._popover.open?this._closePopover():this._openPopover()}_openPopover(){n(this._popover,(e=>e.open=!0)),this._requestFocusOnCreate=!0}_closePopover({focusOnButton:e=!0}={}){n(this._popover,(e=>e.open=!1)),e&&n(this._buttonElement,(e=>e.focus()))}_onPopoverContentAfterCreate(e){s(this._focusOutElement),this._focusOutElement=t(e,"focusout",(({relatedTarget:t})=>{const o=e.contains(t),s=t===this._buttonElement;o||s||this._closePopover({focusOnButton:!1})}))}};function v(e){e.preventDefault()}e([a()],f.prototype,"viewModel",void 0),e([a()],f.prototype,"visibleElements",void 0),e([a(),_("esri/widgets/ElevationProfile/t9n/ElevationProfile")],f.prototype,"_messages",void 0),e([a(),_("esri/core/t9n/Units")],f.prototype,"_messagesUnits",void 0),f=e([c("esri.widgets.ElevationProfile.SettingsButton")],f);export{f as SettingsButton};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{on as t}from"../../../core/events.js";import{isSome as o,removeMaybe as s,destroyMaybe as r,unwrap as i,applySome as n}from"../../../core/maybe.js";import{isMeasurementSystem as l}from"../../../core/unitUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import p from"../../Widget.js";import{SETTINGS_CSS as h}from"../css.js";import u from"../../support/Popover.js";import{getDir as m}from"../../support/widgetUtils.js";import{messageBundle as _}from"../../support/decorators/messageBundle.js";import"../../../core/Logger.js";import{tsx as g}from"../../support/jsxFactory.js";let f=class extends p{constructor(e,t){super(e,t),this._messagesUnits=null,this._popover=null,this._buttonElement=null,this._focusOutElement=null,this._requestFocusOnCreate=!1}destroy(){this._destroyPopover()}render(){const{unitSelector:e,uniformChartScalingToggle:t}=this.visibleElements;if(!e&&!t)return g("div",{key:`${this.id}-empty`});const s=o(this._popover)&&this._popover.open?this._messages.hideSettings:this._messages.showSettings;return g("button",{class:h.base,title:s,bind:this,afterCreate:this._initializePopover,onclick:this._togglePopover,"aria-label":s,type:"button"})}_initializePopover(e){this._destroyPopover(),this._buttonElement=e,this._popover=new u({owner:this,placement:"bottom-end",offset:[0,0],anchorElement:e,renderContentFunction:()=>this._renderPopoverContent()})}_destroyPopover(){this._focusOutElement=s(this._focusOutElement),this._popover=r(this._popover)}_renderPopoverContent(){const{unitSelector:e,uniformChartScalingToggle:t}=this.visibleElements;return g("div",{class:h.popoverContent,dir:m(i(this._buttonElement)),bind:this,afterCreate:this._onPopoverContentAfterCreate},e&&this._renderUnitSelector(),t&&this._renderUniformChartScalingToggle())}_renderUnitSelector(){const{unit:e,unitOptions:t}=this.viewModel,o=this._messagesUnits;return g("label",{key:"unit-selector-label",class:h.selectLabel},this._messages.unitSelectLabel,g("select",{class:h.select,value:e,bind:this,onchange:this._onUnitChange,afterCreate:this._onUnitSelectAfterCreate},t.map((e=>g("option",{key:e,value:e},l(e)?o.systems[e]:o.units[e].pluralCapitalized)))))}_onUnitChange(e){this.viewModel.unit=e.target.value}_onUnitSelectAfterCreate(e){this._requestFocusOnCreate&&(this._requestFocusOnCreate=!1,e.focus())}_renderUniformChartScalingToggle(){const e=this._messages,t=this.viewModel.uniformChartScaling,o=t?e.uniformChartScalingDisable:e.uniformChartScalingEnable;return g("label",{key:"uniform-chart-scaling-label",class:h.checkboxLabel,onmousedown:v},g("input",{class:this.classes(h.checkbox,h.uniformChartScalingCheckbox),type:"checkbox",checked:t,title:o,"aria-label":o,bind:this,onchange:this._onUniformChartScalingChange}),e.uniformChartScalingLabel)}_onUniformChartScalingChange(e){this.viewModel.uniformChartScaling=e.target.checked}_togglePopover(e){o(this._popover)&&this._popover.open?this._closePopover():this._openPopover()}_openPopover(){n(this._popover,(e=>e.open=!0)),this._requestFocusOnCreate=!0}_closePopover({focusOnButton:e=!0}={}){n(this._popover,(e=>e.open=!1)),e&&n(this._buttonElement,(e=>e.focus()))}_onPopoverContentAfterCreate(e){s(this._focusOutElement),this._focusOutElement=t(e,"focusout",(({relatedTarget:t})=>{const o=e.contains(t),s=t===this._buttonElement;o||s||this._closePopover({focusOnButton:!1})}))}};function v(e){e.preventDefault()}e([a()],f.prototype,"viewModel",void 0),e([a()],f.prototype,"visibleElements",void 0),e([a(),_("esri/widgets/ElevationProfile/t9n/ElevationProfile")],f.prototype,"_messages",void 0),e([a(),_("esri/core/t9n/Units")],f.prototype,"_messagesUnits",void 0),f=e([c("esri.widgets.ElevationProfile.SettingsButton")],f);export{f as SettingsButton};