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

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 (522) 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/01ef8de7f76a8c61b464.js +1 -0
  56. package/assets/esri/core/workers/chunks/09da224052976e290828.js +1 -0
  57. package/assets/esri/core/workers/chunks/{2c9af2ebd72d9b55329b.js → 0f254c3e91e8fee55f28.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{ce5ca5e95b2378ec55b9.js → 1305ef8717da6e902a55.js} +1 -1
  59. package/assets/esri/core/workers/chunks/20411bb8e04703962ce6.js +1 -0
  60. package/assets/esri/core/workers/chunks/21a77eed1a4ef5b0ff08.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/{9c417740bf3707a0d465.js → 2c607d30ff8ca1b61286.js} +1 -1
  64. package/assets/esri/core/workers/chunks/2d947080a27db6ce0d75.js +1 -0
  65. package/assets/esri/core/workers/chunks/2e445a8735ea2adb641a.js +1 -0
  66. package/assets/esri/core/workers/chunks/3564e14010953def6df9.js +1 -0
  67. package/assets/esri/core/workers/chunks/37a7bd30352b1309b8f8.js +1 -0
  68. package/assets/esri/core/workers/chunks/390d9021169e65c10eb8.js +1 -0
  69. package/assets/esri/core/workers/chunks/{3d5169ea9810d10caf0d.js → 3a9740dccda6a733313c.js} +1 -1
  70. package/assets/esri/core/workers/chunks/403c7d64f12f00330d88.js +1 -0
  71. package/assets/esri/core/workers/chunks/4409d77c9734de4e82a7.js +1 -0
  72. package/assets/esri/core/workers/chunks/{f52b6d5037e4205b035c.js → 47395d225229d237f0ac.js} +1 -1
  73. package/assets/esri/core/workers/chunks/4b69129c0557852d9b3d.js +1 -0
  74. package/assets/esri/core/workers/chunks/4c301ca9c493b96df746.js +1 -0
  75. package/assets/esri/core/workers/chunks/57c67e260267a1dbc5e3.js +1 -0
  76. package/assets/esri/core/workers/chunks/5ac4c1d54b94c7d87835.js +1 -0
  77. package/assets/esri/core/workers/chunks/60371c0f750cde87656d.js +1 -0
  78. package/assets/esri/core/workers/chunks/631c5b514bb73782c570.js +1 -0
  79. package/assets/esri/core/workers/chunks/{3a2b2dc3e938d53faa30.js → 64276aacaafa4c8a15bd.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{75466e0c8c8da499b150.js → 662d13f68cf3ec92439b.js} +1 -1
  81. package/assets/esri/core/workers/chunks/6c1e92ff4c732dfda756.js +1 -0
  82. package/assets/esri/core/workers/chunks/6cdfe175c965918b741b.js +1 -0
  83. package/assets/esri/core/workers/chunks/75d53b28afe732c459b2.js +1 -0
  84. package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js → 7a8764ae8a0041e1151d.js} +2 -2
  85. package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js.LICENSE.txt → 7a8764ae8a0041e1151d.js.LICENSE.txt} +1 -1
  86. package/assets/esri/core/workers/chunks/{b4ed7856cd9c98434477.js → 7c9d2638693d5f798b23.js} +1 -1
  87. package/assets/esri/core/workers/chunks/7e596478507466953e65.js +1 -0
  88. package/assets/esri/core/workers/chunks/85b34d91cf07567d6873.js +1 -0
  89. package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +1 -0
  90. package/assets/esri/core/workers/chunks/8967288145f8fbd20e7d.js +1 -0
  91. package/assets/esri/core/workers/chunks/89de05207744149fb58b.js +1 -0
  92. package/assets/esri/core/workers/chunks/8cbb04a9065aa3756638.js +1 -0
  93. package/assets/esri/core/workers/chunks/{9846098704ee38bf6350.js → 8fdd5bca3716816d359b.js} +1 -1
  94. package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +1 -0
  95. package/assets/esri/core/workers/chunks/987182b3a578fc7de251.js +1 -0
  96. package/assets/esri/core/workers/chunks/99a777693e4539f0b03b.js +1 -0
  97. package/assets/esri/core/workers/chunks/9d77467aa71d345fc1b6.js +1 -0
  98. package/assets/esri/core/workers/chunks/{4beba242e7540ee3182b.js → 9d9dffc8884d66a258e4.js} +1 -1
  99. package/assets/esri/core/workers/chunks/9f8b7b6b4e95f9a794fc.js +1 -0
  100. package/assets/esri/core/workers/chunks/{a721342a32541717324d.js → a28b53c61bddefb6616e.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{9b7c51ff3d2b42aa62f5.js → a7b1b75643ed31489495.js} +1 -1
  102. package/assets/esri/core/workers/chunks/a8b13fb804bb775e4967.js +1 -0
  103. package/assets/esri/core/workers/chunks/a8c13529367c037cdd94.js +1 -0
  104. package/assets/esri/core/workers/chunks/a960074644c3722be71e.js +1 -0
  105. package/assets/esri/core/workers/chunks/ac8dca61ade28c542ae2.js +1 -0
  106. package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +1 -0
  107. package/assets/esri/core/workers/chunks/b10fcbe1393c812fc219.js +1 -0
  108. package/assets/esri/core/workers/chunks/{2a39d520b192b8e552b5.js → b2ae5fc4f787ea568b88.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{b51261a9a9ab62388839.js → b99e69302ea701fff0ea.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{b87bc1481a49b38109f4.js → b9c177524b3e7de1ffd1.js} +1 -1
  111. package/assets/esri/core/workers/chunks/b9de831ac379cf1d2969.js +1 -0
  112. package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +1 -0
  113. package/assets/esri/core/workers/chunks/{7c1b9ae141112a63b446.js → ba6654a885be4b7a43f0.js} +1 -1
  114. package/assets/esri/core/workers/chunks/bc790b2f964144d10abe.js +1 -0
  115. package/assets/esri/core/workers/chunks/be2b7cce79fd41627931.js +1 -0
  116. package/assets/esri/core/workers/chunks/c13dfdd548dcb1bdb294.js +1 -0
  117. package/assets/esri/core/workers/chunks/c36f84daa7736878418d.js +1 -0
  118. package/assets/esri/core/workers/chunks/{b58eba403bd517a7bb15.js → c3eca92d02958732e141.js} +1 -1
  119. package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +1 -0
  120. package/assets/esri/core/workers/chunks/cbb291412fd1a5261aa9.js +1 -0
  121. package/assets/esri/core/workers/chunks/d1454155ee1b8a421cbb.js +1 -0
  122. package/assets/esri/core/workers/chunks/{0cd583c3233573cb8468.js → d24c4fbc567486b1188f.js} +1 -1
  123. package/assets/esri/core/workers/chunks/d52108864136c5a8a618.js +1 -0
  124. package/assets/esri/core/workers/chunks/dd433c160f7a0c120b82.js +1 -0
  125. package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +1 -0
  126. package/assets/esri/core/workers/chunks/e2d68bcd2f99a65387bf.js +1 -0
  127. package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +1 -0
  128. package/assets/esri/core/workers/chunks/{2f66fcb8670b108af549.js → ed0bcc66fb1e0ee75a4b.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{6deac533bb455be4004b.js → ef8b75b92cf549e0507e.js} +1 -1
  130. package/assets/esri/core/workers/chunks/f7fc4c993536e62f7f3e.js +1 -0
  131. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.svg +1 -0
  132. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.ttf +0 -0
  133. package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.woff +0 -0
  134. package/assets/esri/themes/base/icons/selection.json +1 -1
  135. package/assets/esri/themes/base/icons/style.css +4 -0
  136. package/assets/esri/themes/base/icons/style.scss +6 -0
  137. package/assets/esri/themes/base/icons/variables.scss +1 -0
  138. package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
  139. package/assets/esri/themes/dark/main.css +1 -1
  140. package/assets/esri/themes/dark-blue/main.css +1 -1
  141. package/assets/esri/themes/dark-green/main.css +1 -1
  142. package/assets/esri/themes/dark-purple/main.css +1 -1
  143. package/assets/esri/themes/dark-red/main.css +1 -1
  144. package/assets/esri/themes/light/main.css +1 -1
  145. package/assets/esri/themes/light/view.css +1 -1
  146. package/assets/esri/themes/light-blue/main.css +1 -1
  147. package/assets/esri/themes/light-green/main.css +1 -1
  148. package/assets/esri/themes/light-purple/main.css +1 -1
  149. package/assets/esri/themes/light-red/main.css +1 -1
  150. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  151. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  152. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  153. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  154. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  155. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  156. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  157. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  158. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  159. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  160. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  161. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  162. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  163. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  172. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  173. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  174. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  175. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  176. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  177. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  189. package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_ja.json +1 -1
  190. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ar.json +1 -1
  191. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
  192. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bs.json +1 -1
  193. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ca.json +1 -1
  194. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_cs.json +1 -1
  195. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_da.json +1 -1
  196. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_de.json +1 -1
  197. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_el.json +1 -1
  198. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_es.json +1 -1
  199. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_et.json +1 -1
  200. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fi.json +1 -1
  201. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fr.json +1 -1
  202. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_he.json +1 -1
  203. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hr.json +1 -1
  204. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hu.json +1 -1
  205. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_id.json +1 -1
  206. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_it.json +1 -1
  207. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
  208. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ko.json +1 -1
  209. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lt.json +1 -1
  210. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lv.json +1 -1
  211. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +1 -1
  212. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nl.json +1 -1
  213. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pl.json +1 -1
  214. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-BR.json +1 -1
  215. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-PT.json +1 -1
  216. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ro.json +1 -1
  217. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ru.json +1 -1
  218. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sk.json +1 -1
  219. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sl.json +1 -1
  220. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sr.json +1 -1
  221. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sv.json +1 -1
  222. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_th.json +1 -1
  223. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_tr.json +1 -1
  224. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_uk.json +1 -1
  225. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_vi.json +1 -1
  226. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-CN.json +1 -1
  227. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-HK.json +1 -1
  228. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-TW.json +1 -1
  229. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
  230. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
  231. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
  232. package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
  233. package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
  234. package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
  235. package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
  236. package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
  237. package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
  238. package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
  239. package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
  240. package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
  241. package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
  242. package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
  243. package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
  244. package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
  245. package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
  246. package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
  247. package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
  248. package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
  249. package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
  250. package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
  251. package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
  252. package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
  253. package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
  254. package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
  255. package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
  256. package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
  257. package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
  258. package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
  259. package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
  260. package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
  261. package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
  262. package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
  263. package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
  264. package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
  265. package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
  266. package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
  267. package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
  268. package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
  269. package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
  270. package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
  271. package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
  272. package/chunks/Clouds.glsl.js +14 -14
  273. package/chunks/HUDMaterial.glsl.js +22 -21
  274. package/chunks/RibbonLine.glsl.js +10 -14
  275. package/chunks/persistableUrlUtils.js +1 -1
  276. package/chunks/vec32.js +1 -1
  277. package/chunks/vec42.js +1 -1
  278. package/core/typedArrayUtil.js +1 -1
  279. package/core/urlUtils.js +1 -1
  280. package/form/elements/FieldElement.js +1 -1
  281. package/geometry/support/buffer/math/common.js +1 -1
  282. package/interfaces.d.ts +99 -56
  283. package/layers/FeatureLayer.js +1 -1
  284. package/layers/SubtypeGroupLayer.js +1 -1
  285. package/layers/VectorTileLayer.js +1 -1
  286. package/layers/WMSLayer.js +1 -1
  287. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  288. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  289. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  290. package/layers/mixins/ArcGISImageService.js +1 -1
  291. package/layers/ogc/crsUtils.js +5 -0
  292. package/layers/support/RasterFunction.js +1 -1
  293. package/layers/support/capabilities.js +1 -1
  294. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  295. package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
  296. package/layers/support/vectorTileLayerLoader.js +1 -1
  297. package/layers/support/wmsUtils.js +1 -1
  298. package/layers/support/wmtsUtils.js +1 -1
  299. package/package.json +5 -5
  300. package/renderers/support/RasterSymbolizer.js +1 -1
  301. package/request.js +1 -1
  302. package/rest/print.js +1 -1
  303. package/rest/support/ImageIdentifyParameters.js +1 -1
  304. package/rest/support/StatisticDefinition.js +1 -1
  305. package/smartMapping/renderers/univariateColorSize.js +1 -1
  306. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  307. package/support/featureFlags.js +1 -1
  308. package/support/revision.js +1 -1
  309. package/symbols/ExtrudeSymbol3DLayer.js +1 -1
  310. package/symbols/Font.js +1 -1
  311. package/symbols/IconSymbol3DLayer.js +1 -1
  312. package/symbols/ObjectSymbol3DLayer.js +1 -1
  313. package/symbols/PathSymbol3DLayer.js +1 -1
  314. package/symbols/TextSymbol.js +1 -1
  315. package/symbols/TextSymbol3DLayer.js +1 -1
  316. package/symbols/support/Symbol3DHalo.js +1 -1
  317. package/symbols/support/Symbol3DMaterial.js +1 -1
  318. package/symbols/support/constants.js +5 -0
  319. package/symbols/support/utils.js +1 -1
  320. package/views/2d/engine/Stage.js +1 -1
  321. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  322. package/views/2d/engine/vectorTiles/shaders/VTLMaterialManager.js +1 -1
  323. package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
  324. package/views/2d/engine/vectorTiles/style/VectorTilesRequestManager.js +5 -0
  325. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  326. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  327. package/views/2d/engine/webgl/alignmentUtils.js +1 -1
  328. package/views/2d/engine/webgl/effects/BlendEffect.js +1 -1
  329. package/views/2d/engine/webgl/materialKey/MaterialKey.js +1 -1
  330. package/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js +1 -1
  331. package/views/2d/engine/webgl/shaders/BlendPrograms.js +1 -1
  332. package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
  333. package/views/2d/layers/BaseLayerView2D.js +1 -1
  334. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  335. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  336. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  337. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  338. package/views/2d/layers/LayerView2D.js +1 -1
  339. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  340. package/views/2d/layers/RouteLayerView2D.js +1 -1
  341. package/views/2d/layers/TileLayerView2D.js +1 -1
  342. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  343. package/views/2d/layers/WMSLayerView2D.js +1 -1
  344. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  345. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  346. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  347. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  348. package/views/2d/support/engineHelpers.js +1 -1
  349. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  350. package/views/3d/environment/CloudyWeather.js +1 -1
  351. package/views/3d/environment/Fog.js +1 -1
  352. package/views/3d/environment/FoggyWeather.js +1 -1
  353. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  354. package/views/3d/environment/RainyWeather.js +1 -1
  355. package/views/3d/environment/Stars.js +1 -1
  356. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  357. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  358. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  359. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  360. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  361. package/views/3d/layers/GraphicsView3D.js +1 -1
  362. package/views/3d/layers/I3SMeshView3D.js +1 -1
  363. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  364. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  365. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  366. package/views/3d/layers/MapImageLayerView3D.js +1 -1
  367. package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
  368. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  369. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  370. package/views/3d/layers/SceneLayerView3D.js +1 -1
  371. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  372. package/views/3d/layers/WMSLayerView3D.js +1 -1
  373. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  374. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  375. package/views/3d/layers/graphics/Graphics3DFeatureLikeLayerView.js +1 -1
  376. package/views/3d/layers/graphics/Graphics3DGraphicLikeLayerView.js +1 -1
  377. package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
  378. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  379. package/views/3d/layers/graphics/Labeler.js +1 -1
  380. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  381. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  382. package/views/3d/state/controllers/RotateController.js +1 -1
  383. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  384. package/views/3d/state/controllers/global/ZoomController.js +1 -1
  385. package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
  386. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  387. package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
  388. package/views/3d/support/debugFlags.js +1 -1
  389. package/views/3d/support/sunUtils.js +1 -1
  390. package/views/3d/terrain/Overlay.js +1 -1
  391. package/views/3d/terrain/OverlayManager.js +1 -1
  392. package/views/3d/terrain/TerrainSurface.js +1 -1
  393. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +19 -14
  394. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  395. package/views/3d/webgl-engine/lib/InstanceParameters.js +5 -0
  396. package/views/3d/webgl-engine/lib/{localOrigin.js → LocalOriginFactory.js} +0 -0
  397. package/views/3d/webgl-engine/lib/Program.js +1 -1
  398. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  399. package/views/3d/webgl-engine/lib/RenderTargetHelper.js +1 -1
  400. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  401. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  402. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  403. package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
  404. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  405. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  406. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  407. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  408. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  409. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  410. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  411. package/views/LayerViewManager.js +1 -1
  412. package/views/MapView.js +1 -1
  413. package/views/SceneView.js +1 -1
  414. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  415. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  416. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  417. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  418. package/views/layers/ImageryTileLayerView.js +1 -1
  419. package/views/layers/LayerView.js +1 -1
  420. package/views/layers/OGCFeatureLayerView.js +1 -1
  421. package/views/layers/RefreshableLayerView.js +1 -1
  422. package/views/overlay/ViewOverlay.js +1 -1
  423. package/views/support/WatchUpdatingTracking.js +1 -1
  424. package/views/support/imageReprojection.js +1 -1
  425. package/views/webgl/BufferObject.js +1 -1
  426. package/views/webgl/ContextState.js +1 -1
  427. package/views/webgl/FramebufferObject.js +1 -1
  428. package/views/webgl/Program.js +1 -1
  429. package/views/webgl/ProgramCache.js +1 -1
  430. package/views/webgl/ProgramTemplate.js +1 -1
  431. package/views/webgl/RenderingContext.js +1 -1
  432. package/views/webgl/ShaderTranspiler.js +1 -1
  433. package/views/webgl/UniformBufferLayout.js +5 -0
  434. package/views/webgl/UniformBufferObject.js +5 -0
  435. package/views/webgl/enums.js +1 -1
  436. package/views/webgl/rasterUtils.js +1 -1
  437. package/views/webgl/storageLayouts.js +5 -0
  438. package/views/webgl/testDoublePrecisionArithmetic.js +1 -1
  439. package/views/webgl/testFloatBufferBlend.js +1 -1
  440. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  441. package/views/webgl/testSamplerPrecision.js +1 -1
  442. package/views/webgl/tests/SimpleDraw.js +1 -1
  443. package/widgets/BasemapLayerList.js +1 -1
  444. package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
  445. package/widgets/Editor/BatchCreateWorkflow.js +1 -1
  446. package/widgets/Editor/CreateWorkflow.js +1 -1
  447. package/widgets/Editor/UpdateWorkflow.js +1 -1
  448. package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
  449. package/widgets/ElevationProfile.js +1 -1
  450. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  451. package/widgets/Feature/FeatureMedia.js +1 -1
  452. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  453. package/widgets/FeatureForm/InputField.js +1 -1
  454. package/widgets/FeatureForm/InputFieldGroup.js +1 -1
  455. package/widgets/FeatureForm.js +1 -1
  456. package/widgets/FeatureTemplates.js +1 -1
  457. package/widgets/FloorFilter.js +1 -1
  458. package/widgets/LayerList/ListItemPanel.js +1 -1
  459. package/widgets/LayerList/support/layerListUtils.js +1 -1
  460. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  461. package/widgets/Popup.js +1 -1
  462. package/widgets/Print.js +1 -1
  463. package/widgets/Search.js +1 -1
  464. package/widgets/Sketch/SketchViewModel.js +1 -1
  465. package/widgets/Weather/CoverageSlider.js +5 -0
  466. package/widgets/Weather/WeatherViewModel.js +1 -1
  467. package/widgets/Weather/css.js +1 -1
  468. package/widgets/Weather.js +1 -1
  469. package/assets/esri/core/workers/chunks/0881ce46b10362861f87.js +0 -1
  470. package/assets/esri/core/workers/chunks/0c0a02770eeeb3e28ea1.js +0 -1
  471. package/assets/esri/core/workers/chunks/0d2effbd84a9482eb639.js +0 -1
  472. package/assets/esri/core/workers/chunks/0f04246c1b591a3ac74d.js +0 -1
  473. package/assets/esri/core/workers/chunks/1ac6be0dc25e16c75d06.js +0 -1
  474. package/assets/esri/core/workers/chunks/1f8110ea12d65ca94b55.js +0 -1
  475. package/assets/esri/core/workers/chunks/2025d0fd61a64876c81b.js +0 -1
  476. package/assets/esri/core/workers/chunks/241859d74c0daac62e11.js +0 -1
  477. package/assets/esri/core/workers/chunks/331be347c1b1ca0be2d2.js +0 -1
  478. package/assets/esri/core/workers/chunks/39af317388ecebb4387d.js +0 -1
  479. package/assets/esri/core/workers/chunks/39be2893a7dbdecfd65a.js +0 -1
  480. package/assets/esri/core/workers/chunks/3a20f66b0b7d08064e34.js +0 -1
  481. package/assets/esri/core/workers/chunks/445099d037affd139ed0.js +0 -1
  482. package/assets/esri/core/workers/chunks/45848fecec88ed2da33d.js +0 -1
  483. package/assets/esri/core/workers/chunks/48d3a3abc53abe6a4017.js +0 -1
  484. package/assets/esri/core/workers/chunks/5005b8c1fdd5cb9a4c19.js +0 -1
  485. package/assets/esri/core/workers/chunks/52e4c367c72ea7cc3457.js +0 -1
  486. package/assets/esri/core/workers/chunks/5d8170f6207dbeb4de1b.js +0 -1
  487. package/assets/esri/core/workers/chunks/642c38ac00a962f35d44.js +0 -1
  488. package/assets/esri/core/workers/chunks/64459604505647e9c714.js +0 -1
  489. package/assets/esri/core/workers/chunks/653d1550dd1a4867a9fc.js +0 -1
  490. package/assets/esri/core/workers/chunks/65f73fbbc3c7c60c6d3d.js +0 -1
  491. package/assets/esri/core/workers/chunks/6db7081d344bea26ef64.js +0 -1
  492. package/assets/esri/core/workers/chunks/6e13dab8ec43f7494297.js +0 -1
  493. package/assets/esri/core/workers/chunks/7bd4c3ee43fb038b88d8.js +0 -1
  494. package/assets/esri/core/workers/chunks/803de5097a8a2c4b58a8.js +0 -1
  495. package/assets/esri/core/workers/chunks/8298231a0fd0129b0d5c.js +0 -1
  496. package/assets/esri/core/workers/chunks/8500c6c011400af1b7bd.js +0 -1
  497. package/assets/esri/core/workers/chunks/8b322a2a47dfdbb59b45.js +0 -1
  498. package/assets/esri/core/workers/chunks/8f83bebef9174c3f15da.js +0 -1
  499. package/assets/esri/core/workers/chunks/904332faa22bc0e876cb.js +0 -1
  500. package/assets/esri/core/workers/chunks/950565d1e682fc4072e1.js +0 -1
  501. package/assets/esri/core/workers/chunks/a247ddd84245c81112c8.js +0 -1
  502. package/assets/esri/core/workers/chunks/a9ffa806df20130ecfb6.js +0 -1
  503. package/assets/esri/core/workers/chunks/af13e534e4160636bd3d.js +0 -1
  504. package/assets/esri/core/workers/chunks/b2f62234ebb8b6158baa.js +0 -1
  505. package/assets/esri/core/workers/chunks/b5bb7cfa26b1f0cec67a.js +0 -1
  506. package/assets/esri/core/workers/chunks/b8666d1a4e4fff7a4703.js +0 -1
  507. package/assets/esri/core/workers/chunks/bea1da9e3f878e0e2c83.js +0 -1
  508. package/assets/esri/core/workers/chunks/c1b6c31fa3ec1542f996.js +0 -1
  509. package/assets/esri/core/workers/chunks/c32a4fbdc87225f84019.js +0 -1
  510. package/assets/esri/core/workers/chunks/c67fea81f69a60c0eaef.js +0 -1
  511. package/assets/esri/core/workers/chunks/d336afd5890dcdbf5341.js +0 -1
  512. package/assets/esri/core/workers/chunks/da69e3e5949fe1716e34.js +0 -1
  513. package/assets/esri/core/workers/chunks/daa9c450b2e2a5371249.js +0 -1
  514. package/assets/esri/core/workers/chunks/dd63ba77b7e4c3c9c594.js +0 -1
  515. package/assets/esri/core/workers/chunks/dfa57982d28c9aeb97b9.js +0 -1
  516. package/assets/esri/core/workers/chunks/e01812116b27874948f0.js +0 -1
  517. package/assets/esri/core/workers/chunks/e5c9d8482b913cf3580a.js +0 -1
  518. package/assets/esri/core/workers/chunks/eeadd92f0bede9fc8745.js +0 -1
  519. package/assets/esri/core/workers/chunks/fbb67cb6224aed2cce16.js +0 -1
  520. package/assets/esri/core/workers/chunks/feeaf61424336e9eac88.js +0 -1
  521. package/assets/esri/core/workers/chunks/ff02295329a8986d0568.js +0 -1
  522. package/views/2d/engine/webgl/mesh/templates/meshUtils.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{_ as e}from"../chunks/tslib.es6.js";import{isSome as o}from"../core/maybe.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as t}from"../core/accessorSupport/decorators/subclass.js";import a from"./Symbol3DLayer.js";import{symbol3dEdgesProperty as i}from"./edges/utils.js";import p from"./support/Symbol3DMaterial.js";var l;let c=l=class extends a{constructor(e){super(e),this.type="extrude",this.size=1,this.material=null,this.castShadows=!0,this.edges=null}clone(){return new l({edges:this.edges&&this.edges.clone(),enabled:this.enabled,material:o(this.material)?this.material.clone():null,castShadows:this.castShadows,size:this.size})}};e([s({Extrude:"extrude"},{readOnly:!0})],c.prototype,"type",void 0),e([r({type:Number,json:{write:{enabled:!0,isRequired:!0}},nonNullable:!0})],c.prototype,"size",void 0),e([r({type:p,json:{write:!0}})],c.prototype,"material",void 0),e([r({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],c.prototype,"castShadows",void 0),e([r(i)],c.prototype,"edges",void 0),c=l=e([t("esri.symbols.ExtrudeSymbol3DLayer")],c);const m=c;export{m as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{isSome as o}from"../core/maybe.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as t}from"../core/accessorSupport/decorators/subclass.js";import a from"./Symbol3DLayer.js";import{symbol3dEdgesProperty as i}from"./edges/utils.js";import{Symbol3DMaterial as p}from"./support/Symbol3DMaterial.js";var l;let c=l=class extends a{constructor(e){super(e),this.type="extrude",this.size=1,this.material=null,this.castShadows=!0,this.edges=null}clone(){return new l({edges:this.edges&&this.edges.clone(),enabled:this.enabled,material:o(this.material)?this.material.clone():null,castShadows:this.castShadows,size:this.size})}};e([s({Extrude:"extrude"},{readOnly:!0})],c.prototype,"type",void 0),e([r({type:Number,json:{write:{enabled:!0,isRequired:!0}},nonNullable:!0})],c.prototype,"size",void 0),e([r({type:p,json:{write:!0}})],c.prototype,"material",void 0),e([r({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],c.prototype,"castShadows",void 0),e([r(i)],c.prototype,"edges",void 0),c=l=e([t("esri.symbols.ExtrudeSymbol3DLayer")],c);const m=c;export{m as default};
package/symbols/Font.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../chunks/tslib.es6.js";import{JSONSupport as o}from"../core/JSONSupport.js";import{toPt as e}from"../core/screenUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as s}from"../core/accessorSupport/decorators/cast.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";var a;let l=a=class extends o{constructor(t){super(t),this.decoration="none",this.family="sans-serif",this.size=9,this.style="normal",this.weight="normal"}castSize(t){return e(t)}clone(){return new a({decoration:this.decoration,family:this.family,size:this.size,style:this.style,weight:this.weight})}hash(){return`${this.decoration}.${this.family}.${this.size}.${this.style}.${this.weight}`}};t([r({type:["underline","line-through","none"],json:{default:"none",write:!0}})],l.prototype,"decoration",void 0),t([r({type:String,json:{write:!0}})],l.prototype,"family",void 0),t([r({type:Number,json:{write:{overridePolicy:(t,o,e)=>({enabled:!e||!e.textSymbol3D})}}})],l.prototype,"size",void 0),t([s("size")],l.prototype,"castSize",null),t([r({type:["normal","italic","oblique"],json:{default:"normal",write:!0}})],l.prototype,"style",void 0),t([r({type:["normal","bold","bolder","lighter"],json:{default:"normal",write:!0}})],l.prototype,"weight",void 0),l=a=t([i("esri.symbols.Font")],l);const n=l;export{n as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import{JSONSupport as o}from"../core/JSONSupport.js";import{toPt as e}from"../core/screenUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as r}from"../core/accessorSupport/decorators/cast.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import{FONT_DECORATIONS as p,FONT_STYLES as a,FONT_WEIGHTS as n}from"./support/constants.js";var c;let l=c=class extends o{constructor(t){super(t),this.decoration="none",this.family="sans-serif",this.size=9,this.style="normal",this.weight="normal"}castSize(t){return e(t)}clone(){return new c({decoration:this.decoration,family:this.family,size:this.size,style:this.style,weight:this.weight})}hash(){return`${this.decoration}.${this.family}.${this.size}.${this.style}.${this.weight}`}};t([s({type:p,json:{default:"none",write:!0}})],l.prototype,"decoration",void 0),t([s({type:String,json:{write:!0}})],l.prototype,"family",void 0),t([s({type:Number,json:{write:{overridePolicy:(t,o,e)=>({enabled:!e||!e.textSymbol3D})}}})],l.prototype,"size",void 0),t([r("size")],l.prototype,"castSize",null),t([s({type:a,json:{default:"normal",write:!0}})],l.prototype,"style",void 0),t([s({type:n,json:{default:"normal",write:!0}})],l.prototype,"weight",void 0),l=c=t([i("esri.symbols.Font")],l);const m=l;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 o}from"../chunks/tslib.es6.js";import t from"../core/Logger.js";import{isSome as r}from"../core/maybe.js";import{makeData as e}from"../core/urlUtils.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import c from"./Symbol3DLayer.js";import{white as l,isBlack as a}from"./support/colors.js";import p from"./support/IconSymbol3DLayerResource.js";import{screenSizeProperty as m}from"./support/materialUtils.js";import{Symbol3DAnchorPosition2D as u}from"./support/Symbol3DAnchorPosition2D.js";import h from"./support/Symbol3DIconOutline.js";import y from"./support/Symbol3DMaterial.js";var d;const f=t.getLogger("esri.symbols.IconSymbol3DLayer");let b=d=class extends c{constructor(o){super(o),this.material=null,this.resource=null,this.type="icon",this.size=12,this.anchor="center",this.anchorPosition=void 0,this.outline=void 0}clone(){return new d({anchor:this.anchor,anchorPosition:this.anchorPosition&&this.anchorPosition.clone(),enabled:this.enabled,material:r(this.material)?this.material.clone():null,outline:r(this.outline)?this.outline.clone():null,resource:this.resource&&this.resource.clone(),size:this.size})}static fromSimpleMarkerSymbol(o){const t=o.color||l,r=j(o),e=o.outline&&o.outline.width>0?{size:o.outline.width,color:(o.outline.color||l).clone()}:null;return new d({size:o.size,resource:{primitive:w(o.style)},material:{color:t},outline:e,anchor:r?"relative":void 0,anchorPosition:r})}static fromPictureMarkerSymbol(o){const t=!o.color||a(o.color)?l:o.color,r=j(o);return new d({size:o.width<=o.height?o.height:o.width,resource:{href:o.url},material:{color:t.clone()},anchor:r?"relative":void 0,anchorPosition:r})}static fromCIMSymbol(o){return new d({resource:{href:e({mediaType:"application/json",data:JSON.stringify(o.data)})}})}};function j(o){const t="width"in o?o.width:o.size,r="height"in o?o.height:o.size,e=v(o.xoffset),i=v(o.yoffset);return(e||i)&&t&&r?{x:-e/t,y:i/r}:null}function v(o){return isFinite(o)?o:0}o([i({type:y,json:{write:!0}})],b.prototype,"material",void 0),o([i({type:p,json:{write:!0}})],b.prototype,"resource",void 0),o([s({Icon:"icon"},{readOnly:!0})],b.prototype,"type",void 0),o([i(m)],b.prototype,"size",void 0),o([s({center:"center",left:"left",right:"right",top:"top",bottom:"bottom",topLeft:"top-left",topRight:"top-right",bottomLeft:"bottom-left",bottomRight:"bottom-right",relative:"relative"}),i({json:{default:"center"}})],b.prototype,"anchor",void 0),o([i({type:u,json:{type:[Number],read:{reader:o=>new u({x:o[0],y:o[1]})},write:{writer:(o,t)=>{t.anchorPosition=[o.x,o.y]},overridePolicy(){return{enabled:"relative"===this.anchor}}}}})],b.prototype,"anchorPosition",void 0),o([i({type:h,json:{write:!0}})],b.prototype,"outline",void 0),b=d=o([n("esri.symbols.IconSymbol3DLayer")],b);const g={circle:"circle",cross:"cross",diamond:"kite",square:"square",x:"x",triangle:"triangle",path:null};function w(o){const t=g[o];return t||(f.warn(`${o} cannot be mapped to Icon symbol. Fallback to "circle"`),"circle")}const S=b;export{S as default};
5
+ import{_ as o}from"../chunks/tslib.es6.js";import t from"../core/Logger.js";import{isSome as r}from"../core/maybe.js";import{makeData as e}from"../core/urlUtils.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import c from"./Symbol3DLayer.js";import{white as l,isBlack as a}from"./support/colors.js";import p from"./support/IconSymbol3DLayerResource.js";import{screenSizeProperty as m}from"./support/materialUtils.js";import{Symbol3DAnchorPosition2D as u}from"./support/Symbol3DAnchorPosition2D.js";import h from"./support/Symbol3DIconOutline.js";import{Symbol3DMaterial as y}from"./support/Symbol3DMaterial.js";var d;const f=t.getLogger("esri.symbols.IconSymbol3DLayer");let b=d=class extends c{constructor(o){super(o),this.material=null,this.resource=null,this.type="icon",this.size=12,this.anchor="center",this.anchorPosition=void 0,this.outline=void 0}clone(){return new d({anchor:this.anchor,anchorPosition:this.anchorPosition&&this.anchorPosition.clone(),enabled:this.enabled,material:r(this.material)?this.material.clone():null,outline:r(this.outline)?this.outline.clone():null,resource:this.resource&&this.resource.clone(),size:this.size})}static fromSimpleMarkerSymbol(o){const t=o.color||l,r=j(o),e=o.outline&&o.outline.width>0?{size:o.outline.width,color:(o.outline.color||l).clone()}:null;return new d({size:o.size,resource:{primitive:w(o.style)},material:{color:t},outline:e,anchor:r?"relative":void 0,anchorPosition:r})}static fromPictureMarkerSymbol(o){const t=!o.color||a(o.color)?l:o.color,r=j(o);return new d({size:o.width<=o.height?o.height:o.width,resource:{href:o.url},material:{color:t.clone()},anchor:r?"relative":void 0,anchorPosition:r})}static fromCIMSymbol(o){return new d({resource:{href:e({mediaType:"application/json",data:JSON.stringify(o.data)})}})}};function j(o){const t="width"in o?o.width:o.size,r="height"in o?o.height:o.size,e=v(o.xoffset),i=v(o.yoffset);return(e||i)&&t&&r?{x:-e/t,y:i/r}:null}function v(o){return isFinite(o)?o:0}o([i({type:y,json:{write:!0}})],b.prototype,"material",void 0),o([i({type:p,json:{write:!0}})],b.prototype,"resource",void 0),o([s({Icon:"icon"},{readOnly:!0})],b.prototype,"type",void 0),o([i(m)],b.prototype,"size",void 0),o([s({center:"center",left:"left",right:"right",top:"top",bottom:"bottom",topLeft:"top-left",topRight:"top-right",bottomLeft:"bottom-left",bottomRight:"bottom-right",relative:"relative"}),i({json:{default:"center"}})],b.prototype,"anchor",void 0),o([i({type:u,json:{type:[Number],read:{reader:o=>new u({x:o[0],y:o[1]})},write:{writer:(o,t)=>{t.anchorPosition=[o.x,o.y]},overridePolicy(){return{enabled:"relative"===this.anchor}}}}})],b.prototype,"anchorPosition",void 0),o([i({type:h,json:{write:!0}})],b.prototype,"outline",void 0),b=d=o([n("esri.symbols.IconSymbol3DLayer")],b);const g={circle:"circle",cross:"cross",diamond:"kite",square:"square",x:"x",triangle:"triangle",path:null};function w(o){const t=g[o];return t||(f.warn(`${o} cannot be mapped to Icon symbol. Fallback to "circle"`),"circle")}const S=b;export{S 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 o}from"../chunks/tslib.es6.js";import{isSome as t}from"../core/maybe.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as r}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import s from"./Symbol3DLayer.js";import p from"./support/ObjectSymbol3DLayerResource.js";import{Symbol3DAnchorPosition3D as a}from"./support/Symbol3DAnchorPosition3D.js";import h from"./support/Symbol3DMaterial.js";var n;let c=n=class extends s{constructor(o){super(o),this.material=null,this.castShadows=!0,this.resource=null,this.type="object",this.width=void 0,this.height=void 0,this.depth=void 0,this.anchor=void 0,this.anchorPosition=void 0,this.heading=void 0,this.tilt=void 0,this.roll=void 0}clone(){return new n({heading:this.heading,tilt:this.tilt,roll:this.roll,anchor:this.anchor,anchorPosition:this.anchorPosition&&this.anchorPosition.clone(),depth:this.depth,enabled:this.enabled,height:this.height,material:t(this.material)?this.material.clone():null,castShadows:this.castShadows,resource:this.resource&&this.resource.clone(),width:this.width})}get isPrimitive(){return!this.resource||"string"!=typeof this.resource.href}};o([e({type:h,json:{write:!0}})],c.prototype,"material",void 0),o([e({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],c.prototype,"castShadows",void 0),o([e({type:p,json:{write:!0}})],c.prototype,"resource",void 0),o([r({Object:"object"},{readOnly:!0})],c.prototype,"type",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"width",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"height",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"depth",void 0),o([r({center:"center",top:"top",bottom:"bottom",origin:"origin",relative:"relative"}),e({json:{default:"origin"}})],c.prototype,"anchor",void 0),o([e({type:a,json:{type:[Number],read:{reader:o=>new a({x:o[0],y:o[1],z:o[2]})},write:{writer:(o,t)=>{t.anchorPosition=[o.x,o.y,o.z]},overridePolicy(){return{enabled:"relative"===this.anchor}}}}})],c.prototype,"anchorPosition",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"heading",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"tilt",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"roll",void 0),o([e({readOnly:!0})],c.prototype,"isPrimitive",null),c=n=o([i("esri.symbols.ObjectSymbol3DLayer")],c);const l=c;export{l as default};
5
+ import{_ as o}from"../chunks/tslib.es6.js";import{isSome as t}from"../core/maybe.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as r}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import s from"./Symbol3DLayer.js";import p from"./support/ObjectSymbol3DLayerResource.js";import{Symbol3DAnchorPosition3D as a}from"./support/Symbol3DAnchorPosition3D.js";import{Symbol3DMaterial as h}from"./support/Symbol3DMaterial.js";var n;let c=n=class extends s{constructor(o){super(o),this.material=null,this.castShadows=!0,this.resource=null,this.type="object",this.width=void 0,this.height=void 0,this.depth=void 0,this.anchor=void 0,this.anchorPosition=void 0,this.heading=void 0,this.tilt=void 0,this.roll=void 0}clone(){return new n({heading:this.heading,tilt:this.tilt,roll:this.roll,anchor:this.anchor,anchorPosition:this.anchorPosition&&this.anchorPosition.clone(),depth:this.depth,enabled:this.enabled,height:this.height,material:t(this.material)?this.material.clone():null,castShadows:this.castShadows,resource:this.resource&&this.resource.clone(),width:this.width})}get isPrimitive(){return!this.resource||"string"!=typeof this.resource.href}};o([e({type:h,json:{write:!0}})],c.prototype,"material",void 0),o([e({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],c.prototype,"castShadows",void 0),o([e({type:p,json:{write:!0}})],c.prototype,"resource",void 0),o([r({Object:"object"},{readOnly:!0})],c.prototype,"type",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"width",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"height",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"depth",void 0),o([r({center:"center",top:"top",bottom:"bottom",origin:"origin",relative:"relative"}),e({json:{default:"origin"}})],c.prototype,"anchor",void 0),o([e({type:a,json:{type:[Number],read:{reader:o=>new a({x:o[0],y:o[1],z:o[2]})},write:{writer:(o,t)=>{t.anchorPosition=[o.x,o.y,o.z]},overridePolicy(){return{enabled:"relative"===this.anchor}}}}})],c.prototype,"anchorPosition",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"heading",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"tilt",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"roll",void 0),o([e({readOnly:!0})],c.prototype,"isPrimitive",null),c=n=o([i("esri.symbols.ObjectSymbol3DLayer")],c);const l=c;export{l 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 t}from"../chunks/tslib.es6.js";import{isSome as e}from"../core/maybe.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as r}from"../core/accessorSupport/decorators/enumeration.js";import{reader as i}from"../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import p from"./Symbol3DLayer.js";import a from"./support/Symbol3DMaterial.js";import{lineJoins as l,pathCaps as h}from"./support/symbolLayerUtils3D.js";var n;let d=n=class extends p{constructor(t){super(t),this.material=null,this.castShadows=!0,this.type="path",this.profile="circle",this.join="miter",this.cap="butt",this.width=void 0,this.height=void 0,this.anchor="center",this.profileRotation="all"}readWidth(t,e){return null!=t?t:null==e.height&&null!=e.size?e.size:void 0}readHeight(t,e){return null!=t?t:null==e.width&&null!=e.size?e.size:void 0}clone(){return new n({enabled:this.enabled,material:e(this.material)?this.material.clone():null,castShadows:this.castShadows,profile:this.profile,join:this.join,cap:this.cap,width:this.width,height:this.height,profileRotation:this.profileRotation,anchor:this.anchor})}};t([o({type:a,json:{write:!0}})],d.prototype,"material",void 0),t([o({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],d.prototype,"castShadows",void 0),t([r({Path:"path"},{readOnly:!0})],d.prototype,"type",void 0),t([o({type:["circle","quad"],json:{write:!0,default:"circle"}})],d.prototype,"profile",void 0),t([o({type:l,json:{write:!0,default:"miter"}})],d.prototype,"join",void 0),t([o({type:h,json:{write:!0,default:"butt"}})],d.prototype,"cap",void 0),t([o({type:Number,json:{write:{enabled:!0,target:{width:{type:Number},size:{type:Number}}}}})],d.prototype,"width",void 0),t([i("width",["width","size","height"])],d.prototype,"readWidth",null),t([o({type:Number,json:{write:!0}})],d.prototype,"height",void 0),t([i("height",["height","size","width"])],d.prototype,"readHeight",null),t([o({type:["center","bottom","top"],json:{write:!0,default:"center"}})],d.prototype,"anchor",void 0),t([o({type:["heading","all"],json:{write:!0,default:"all"}})],d.prototype,"profileRotation",void 0),d=n=t([s("esri.symbols.PathSymbol3DLayer")],d);const c=d;export{c as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import{isSome as e}from"../core/maybe.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as r}from"../core/accessorSupport/decorators/enumeration.js";import{reader as i}from"../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import p from"./Symbol3DLayer.js";import{Symbol3DMaterial as a}from"./support/Symbol3DMaterial.js";import{lineJoins as l,pathCaps as h}from"./support/symbolLayerUtils3D.js";var n;let d=n=class extends p{constructor(t){super(t),this.material=null,this.castShadows=!0,this.type="path",this.profile="circle",this.join="miter",this.cap="butt",this.width=void 0,this.height=void 0,this.anchor="center",this.profileRotation="all"}readWidth(t,e){return null!=t?t:null==e.height&&null!=e.size?e.size:void 0}readHeight(t,e){return null!=t?t:null==e.width&&null!=e.size?e.size:void 0}clone(){return new n({enabled:this.enabled,material:e(this.material)?this.material.clone():null,castShadows:this.castShadows,profile:this.profile,join:this.join,cap:this.cap,width:this.width,height:this.height,profileRotation:this.profileRotation,anchor:this.anchor})}};t([o({type:a,json:{write:!0}})],d.prototype,"material",void 0),t([o({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],d.prototype,"castShadows",void 0),t([r({Path:"path"},{readOnly:!0})],d.prototype,"type",void 0),t([o({type:["circle","quad"],json:{write:!0,default:"circle"}})],d.prototype,"profile",void 0),t([o({type:l,json:{write:!0,default:"miter"}})],d.prototype,"join",void 0),t([o({type:h,json:{write:!0,default:"butt"}})],d.prototype,"cap",void 0),t([o({type:Number,json:{write:{enabled:!0,target:{width:{type:Number},size:{type:Number}}}}})],d.prototype,"width",void 0),t([i("width",["width","size","height"])],d.prototype,"readWidth",null),t([o({type:Number,json:{write:!0}})],d.prototype,"height",void 0),t([i("height",["height","size","width"])],d.prototype,"readHeight",null),t([o({type:["center","bottom","top"],json:{write:!0,default:"center"}})],d.prototype,"anchor",void 0),t([o({type:["heading","all"],json:{write:!0,default:"all"}})],d.prototype,"profileRotation",void 0),d=n=t([s("esri.symbols.PathSymbol3DLayer")],d);const c=d;export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../chunks/tslib.es6.js";import o from"../Color.js";import{clone as e}from"../core/lang.js";import{toPt as i}from"../core/screenUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{cast as s}from"../core/accessorSupport/decorators/cast.js";import{enumeration as n}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import{writer as l}from"../core/accessorSupport/decorators/writer.js";import p from"./Font.js";import a from"./Symbol.js";var d;let y=d=class extends a{constructor(...t){super(...t),this.backgroundColor=null,this.borderLineColor=null,this.borderLineSize=null,this.font=new p,this.horizontalAlignment="center",this.kerning=!0,this.haloColor=null,this.haloSize=null,this.rightToLeft=null,this.rotated=!1,this.text="",this.type="text",this.verticalAlignment=null,this.xoffset=0,this.yoffset=0,this.angle=0,this.width=null,this.lineWidth=192,this.lineHeight=1}normalizeCtorArgs(t,o,e){if(t&&"string"!=typeof t)return t;const i={};return t&&(i.text=t),o&&(i.font=o),e&&(i.color=e),i}writeLineWidth(t,o,e,i){i&&"string"!=typeof i?i.origin:o[e]=t}castLineWidth(t){return i(t)}writeLineHeight(t,o,e,i){i&&"string"!=typeof i?i.origin:o[e]=t}clone(){return new d({angle:this.angle,backgroundColor:e(this.backgroundColor),borderLineColor:e(this.borderLineColor),borderLineSize:this.borderLineSize,color:e(this.color),font:this.font&&this.font.clone(),haloColor:e(this.haloColor),haloSize:this.haloSize,horizontalAlignment:this.horizontalAlignment,kerning:this.kerning,lineHeight:this.lineHeight,lineWidth:this.lineWidth,rightToLeft:this.rightToLeft,rotated:this.rotated,text:this.text,verticalAlignment:this.verticalAlignment,width:this.width,xoffset:this.xoffset,yoffset:this.yoffset})}hash(){return`${this.backgroundColor&&this.backgroundColor.hash()}.${this.borderLineColor}.${this.borderLineSize}.${this.color.hash()}.${this.font&&this.font.hash()}.${this.haloColor&&this.haloColor.hash()}.${this.haloSize}.${this.horizontalAlignment}.${this.kerning}.${this.rightToLeft}.${this.rotated}.${this.text}.${this.verticalAlignment}.${this.width}.${this.xoffset}.${this.yoffset}.${this.lineHeight}.${this.lineWidth}.${this.angle}`}};t([r({type:o,json:{write:!0}})],y.prototype,"backgroundColor",void 0),t([r({type:o,json:{write:!0}})],y.prototype,"borderLineColor",void 0),t([r({type:Number,json:{write:!0}})],y.prototype,"borderLineSize",void 0),t([r({type:p,json:{write:!0}})],y.prototype,"font",void 0),t([r({type:["left","right","center","justify"],json:{write:!0}})],y.prototype,"horizontalAlignment",void 0),t([r({type:Boolean,json:{write:!0}})],y.prototype,"kerning",void 0),t([r({type:o,json:{write:!0}})],y.prototype,"haloColor",void 0),t([r({type:Number,cast:i,json:{write:!0}})],y.prototype,"haloSize",void 0),t([r({type:Boolean,json:{write:!0}})],y.prototype,"rightToLeft",void 0),t([r({type:Boolean,json:{write:!0}})],y.prototype,"rotated",void 0),t([r({type:String,json:{write:!0}})],y.prototype,"text",void 0),t([n({esriTS:"text"},{readOnly:!0})],y.prototype,"type",void 0),t([r({type:["baseline","top","middle","bottom"],json:{write:!0}})],y.prototype,"verticalAlignment",void 0),t([r({type:Number,cast:i,json:{write:!0}})],y.prototype,"xoffset",void 0),t([r({type:Number,cast:i,json:{write:!0}})],y.prototype,"yoffset",void 0),t([r({type:Number,json:{read:t=>t&&-1*t,write:(t,o)=>o.angle=t&&-1*t}})],y.prototype,"angle",void 0),t([r({type:Number,json:{write:!0}})],y.prototype,"width",void 0),t([r({type:Number})],y.prototype,"lineWidth",void 0),t([l("lineWidth")],y.prototype,"writeLineWidth",null),t([s("lineWidth")],y.prototype,"castLineWidth",null),t([r({type:Number})],y.prototype,"lineHeight",void 0),t([l("lineHeight")],y.prototype,"writeLineHeight",null),y=d=t([h("esri.symbols.TextSymbol")],y);const c=y;export{c as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import o from"../Color.js";import{clone as e}from"../core/lang.js";import{toPt as i}from"../core/screenUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{cast as s}from"../core/accessorSupport/decorators/cast.js";import{enumeration as n}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import{writer as l}from"../core/accessorSupport/decorators/writer.js";import p from"./Font.js";import a from"./Symbol.js";var d;let y=d=class extends a{constructor(...t){super(...t),this.backgroundColor=null,this.borderLineColor=null,this.borderLineSize=null,this.font=new p,this.horizontalAlignment="center",this.kerning=!0,this.haloColor=null,this.haloSize=null,this.rightToLeft=null,this.rotated=!1,this.text="",this.type="text",this.verticalAlignment="baseline",this.xoffset=0,this.yoffset=0,this.angle=0,this.width=null,this.lineWidth=192,this.lineHeight=1}normalizeCtorArgs(t,o,e){if(t&&"string"!=typeof t)return t;const i={};return t&&(i.text=t),o&&(i.font=o),e&&(i.color=e),i}writeLineWidth(t,o,e,i){i&&"string"!=typeof i?i.origin:o[e]=t}castLineWidth(t){return i(t)}writeLineHeight(t,o,e,i){i&&"string"!=typeof i?i.origin:o[e]=t}clone(){return new d({angle:this.angle,backgroundColor:e(this.backgroundColor),borderLineColor:e(this.borderLineColor),borderLineSize:this.borderLineSize,color:e(this.color),font:this.font&&this.font.clone(),haloColor:e(this.haloColor),haloSize:this.haloSize,horizontalAlignment:this.horizontalAlignment,kerning:this.kerning,lineHeight:this.lineHeight,lineWidth:this.lineWidth,rightToLeft:this.rightToLeft,rotated:this.rotated,text:this.text,verticalAlignment:this.verticalAlignment,width:this.width,xoffset:this.xoffset,yoffset:this.yoffset})}hash(){return`${this.backgroundColor&&this.backgroundColor.hash()}.${this.borderLineColor}.${this.borderLineSize}.${this.color.hash()}.${this.font&&this.font.hash()}.${this.haloColor&&this.haloColor.hash()}.${this.haloSize}.${this.horizontalAlignment}.${this.kerning}.${this.rightToLeft}.${this.rotated}.${this.text}.${this.verticalAlignment}.${this.width}.${this.xoffset}.${this.yoffset}.${this.lineHeight}.${this.lineWidth}.${this.angle}`}};t([r({type:o,json:{write:!0}})],y.prototype,"backgroundColor",void 0),t([r({type:o,json:{write:!0}})],y.prototype,"borderLineColor",void 0),t([r({type:Number,json:{write:!0}})],y.prototype,"borderLineSize",void 0),t([r({type:p,json:{write:!0}})],y.prototype,"font",void 0),t([r({type:["left","right","center","justify"],json:{write:!0}})],y.prototype,"horizontalAlignment",void 0),t([r({type:Boolean,json:{write:!0}})],y.prototype,"kerning",void 0),t([r({type:o,json:{write:!0}})],y.prototype,"haloColor",void 0),t([r({type:Number,cast:i,json:{write:!0}})],y.prototype,"haloSize",void 0),t([r({type:Boolean,json:{write:!0}})],y.prototype,"rightToLeft",void 0),t([r({type:Boolean,json:{write:!0}})],y.prototype,"rotated",void 0),t([r({type:String,json:{write:!0}})],y.prototype,"text",void 0),t([n({esriTS:"text"},{readOnly:!0})],y.prototype,"type",void 0),t([r({type:["baseline","top","middle","bottom"],json:{write:!0}})],y.prototype,"verticalAlignment",void 0),t([r({type:Number,cast:i,json:{write:!0}})],y.prototype,"xoffset",void 0),t([r({type:Number,cast:i,json:{write:!0}})],y.prototype,"yoffset",void 0),t([r({type:Number,json:{read:t=>t&&-1*t,write:(t,o)=>o.angle=t&&-1*t}})],y.prototype,"angle",void 0),t([r({type:Number,json:{write:!0}})],y.prototype,"width",void 0),t([r({type:Number})],y.prototype,"lineWidth",void 0),t([l("lineWidth")],y.prototype,"writeLineWidth",null),t([s("lineWidth")],y.prototype,"castLineWidth",null),t([r({type:Number})],y.prototype,"lineHeight",void 0),t([l("lineHeight")],y.prototype,"writeLineHeight",null),y=d=t([h("esri.symbols.TextSymbol")],y);const c=y;export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../chunks/tslib.es6.js";import{clone as o}from"../core/lang.js";import{isSome as e}from"../core/maybe.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import{writer as n}from"../core/accessorSupport/decorators/writer.js";import l from"./Font.js";import p from"./Symbol3DLayer.js";import{screenSizeProperty as a}from"./support/materialUtils.js";import m from"./support/Symbol3DHalo.js";import c from"./support/Symbol3DMaterial.js";var u;let h=u=class extends p{constructor(t){super(t),this._userSize=void 0,this.halo=null,this.material=null,this.text=void 0,this.type="text"}get font(){return this._get("font")||null}set font(t){t&&this._userSize&&(t.size=this._userSize),this._set("font",t)}writeFont(t,o,e,r){const s={...r,textSymbol3D:!0};o.font=t.write({},s),delete o.font.size}get size(){return null!=this._userSize?this._userSize:this.font&&null!=this.font.size?this.font.size:9}set size(t){this._userSize=t,this.font&&(this.font.size=this._userSize),this.notifyChange("size")}clone(){return new u({enabled:this.enabled,font:this.font&&o(this.font),halo:this.halo&&o(this.halo),material:e(this.material)?this.material.clone():null,size:this.size,text:this.text})}static fromTextSymbol(t){const o=f(t.haloColor,t.haloSize),e=t.font?t.font.clone():new l;return new u({size:e.size,font:e,halo:o,material:t.color?{color:t.color.clone()}:null,text:t.text})}};function f(t,e){return t&&e>0?{color:o(t),size:e}:null}t([r({type:l,json:{write:!0}})],h.prototype,"font",null),t([n("font")],h.prototype,"writeFont",null),t([r({type:m,json:{write:!0}})],h.prototype,"halo",void 0),t([r({type:c,json:{write:!0}})],h.prototype,"material",void 0),t([r(a),r()],h.prototype,"size",null),t([r({type:String,json:{write:!0}})],h.prototype,"text",void 0),t([s({Text:"text"},{readOnly:!0})],h.prototype,"type",void 0),h=u=t([i("esri.symbols.TextSymbol3DLayer")],h);const y=h;export{y as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import{clone as o}from"../core/lang.js";import{isSome as e}from"../core/maybe.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{enumeration as i}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import{writer as n}from"../core/accessorSupport/decorators/writer.js";import l from"./Font.js";import a from"./Symbol3DLayer.js";import{screenSizeProperty as p}from"./support/materialUtils.js";import{Symbol3DHalo as m}from"./support/Symbol3DHalo.js";import{Symbol3DMaterial as h}from"./support/Symbol3DMaterial.js";var c;let u=c=class extends a{constructor(t){super(t),this._userSize=void 0,this.halo=null,this.horizontalAlignment="center",this.material=null,this.text=null,this.type="text",this.verticalAlignment="middle"}get font(){return this._get("font")||null}set font(t){e(t)&&e(this._userSize)&&(t.size=this._userSize),this._set("font",t)}writeFont(t,o,e,r){const i={...r,textSymbol3D:!0};o.font=t.write({},i),delete o.font.size}get size(){return e(this._userSize)?this._userSize:e(this.font)&&null!=this.font.size?this.font.size:9}set size(t){this._userSize=t,e(this.font)&&(this.font.size=this._userSize),this.notifyChange("size")}clone(){return new c({enabled:this.enabled,font:this.font&&o(this.font),halo:this.halo&&o(this.halo),horizontalAlignment:this.horizontalAlignment,material:e(this.material)?this.material.clone():null,size:this.size,text:this.text,verticalAlignment:this.verticalAlignment})}static fromTextSymbol(t){return new c({font:e(t.font)?t.font.clone():new l,halo:f(t.haloColor,t.haloSize),horizontalAlignment:t.horizontalAlignment,material:t.color?{color:t.color.clone()}:null,text:t.text,verticalAlignment:t.verticalAlignment})}};function f(t,e){return t&&e>0?{color:o(t),size:e}:null}t([r({type:l,json:{write:!0}})],u.prototype,"font",null),t([n("font")],u.prototype,"writeFont",null),t([r({type:m,json:{write:!0}})],u.prototype,"halo",void 0),t([r()],u.prototype,"horizontalAlignment",void 0),t([r({type:h,json:{write:!0}})],u.prototype,"material",void 0),t([r(p)],u.prototype,"size",null),t([r({type:String,json:{write:!0}})],u.prototype,"text",void 0),t([i({Text:"text"},{readOnly:!0})],u.prototype,"type",void 0),t([r()],u.prototype,"verticalAlignment",void 0),u=c=t([s("esri.symbols.TextSymbol3DLayer")],u);const y=u;export{y 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 o}from"../../chunks/tslib.es6.js";import r from"../../Color.js";import{JSONSupport as s}from"../../core/JSONSupport.js";import{clone as t}from"../../core/lang.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{colorAndTransparencyProperty as c,screenSizeProperty as i}from"./materialUtils.js";var m;let l=m=class extends s{constructor(){super(...arguments),this.color=new r([0,0,0,1]),this.size=0}clone(){return new m({color:t(this.color),size:this.size})}};o([e(c)],l.prototype,"color",void 0),o([e(i)],l.prototype,"size",void 0),l=m=o([p("esri.symbols.support.Symbol3DHalo")],l);const a=l;export{l as Symbol3DHalo,a as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import r from"../../Color.js";import{JSONSupport as s}from"../../core/JSONSupport.js";import{clone as t}from"../../core/lang.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{colorAndTransparencyProperty as c,screenSizeProperty as i}from"./materialUtils.js";var m;let l=m=class extends s{constructor(){super(...arguments),this.color=new r([0,0,0,1]),this.size=0}clone(){return new m({color:t(this.color),size:this.size})}};o([e(c)],l.prototype,"color",void 0),o([e(i)],l.prototype,"size",void 0),l=m=o([p("esri.symbols.support.Symbol3DHalo")],l);export{l as Symbol3DHalo};
@@ -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 o}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{isSome as s}from"../../core/maybe.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import{colorAndTransparencyProperty as c}from"./materialUtils.js";var p;let l=p=class extends r{constructor(o){super(o),this.color=null}clone(){const o={color:s(this.color)?this.color.clone():null};return new p(o)}};o([t(c)],l.prototype,"color",void 0),l=p=o([e("esri.symbols.support.Symbol3DMaterial")],l);const a=l;export{l as Symbol3DMaterial,a as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{isSome as s}from"../../core/maybe.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import{colorAndTransparencyProperty as c}from"./materialUtils.js";var p;let l=p=class extends r{constructor(o){super(o),this.color=null}clone(){const o={color:s(this.color)?this.color.clone():null};return new p(o)}};o([t(c)],l.prototype,"color",void 0),l=p=o([e("esri.symbols.support.Symbol3DMaterial")],l);export{l as Symbol3DMaterial};
@@ -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
+ const l=["none","underline","line-through"],o=["normal","italic","oblique"],e=["normal","lighter","bold","bolder"];export{l as FONT_DECORATIONS,o as FONT_STYLES,e as FONT_WEIGHTS};
@@ -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"../../Color.js";import{isSymbol3D as t,isSymbol2D as r}from"../../symbols.js";import{forEach as o}from"../../core/asyncUtils.js";import n from"../../core/has.js";import{isSome as l,isNone as i,unwrap as s,get as c}from"../../core/maybe.js";import{px2pt as u}from"../../core/screenUtils.js";import{O as a}from"../../chunks/vec3f64.js";import{effectFunctionsFromJSON as f}from"../../layers/effects/jsonUtils.js";import{getStroke as m}from"./gfxUtils.js";import y from"./Symbol3DMaterial.js";const p=/\/resource\/(.*?)\.svg$/,h=new e("white");function b(e){const t=e.symbolLayers&&e.symbolLayers.length;if(!t)return;const r=e.symbolLayers.getItemAt(t-1);return"outline"in r?c(r,"outline","size"):void 0}function w(e){if(!e)return 0;if(t(e)){const t=b(e);return l(t)?t:0}const r=m(e);return r&&u(r.width)||0}function d(e){if(i(e)||!("symbolLayers"in e)||i(e.symbolLayers))return!1;switch(e.type){case"point-3d":return e.symbolLayers.some((e=>"object"===e.type));case"line-3d":return e.symbolLayers.some((e=>"path"===e.type));case"polygon-3d":return e.symbolLayers.some((e=>"object"===e.type||"extrude"===e.type));default:return!1}}function g(e,t){const r=t.resource.href;return!n("esri-canvas-svg-support")&&e.styleOrigin&&p.test(r)?r.replace(p,"/resource/png/$1.png"):r}function j(o,n){if(!o)return null;let l=null;return t(o)?l=k(o):r(o)&&(l=o.color?new e(o.color):null),l?L(l,n):null}function k(t){const r=t.symbolLayers;if(!r)return null;let o=null;return r.forEach((e=>{"object"===e.type&&null!=e.resource.href||(o="water"===e.type?s(e.color):l(e.material)?s(e.material.color):null)})),o?new e(o):null}function L(t,r){if(null==r)return t;const o=t.toRgba();return o[3]=o[3]*r,new e(o)}function z(e,t,r){const o=e.symbolLayers;if(!o)return;const n=e=>{const o=l(e)?e:null;return L(t=t||o||null!=r&&h,r)};o.forEach((e=>{if("object"!==e.type||null==e.resource.href||t)if("water"===e.type)e.color=n(e.color);else{const t=l(e.material)?e.material.color:null,o=n(t);i(e.material)?e.material=new y({color:o}):e.material.color=o,null!=r&&"outline"in e&&l(e.outline)&&l(e.outline.color)&&(e.outline.color=L(e.outline.color,r))}}))}function v(e,t,r){(t=t||e.color)&&(e.color=L(t,r)),null!=r&&"outline"in e&&e.outline&&e.outline.color&&(e.outline.color=L(e.outline.color,r))}function x(o,n,l){o&&(n||null!=l)&&(n&&(n=new e(n)),t(o)?z(o,n,l):r(o)&&v(o,n,l))}async function S(e,t){const r=e.symbolLayers;r&&await o(r,(async e=>U(e,t)))}async function U(e,t){switch(e.type){case"extrude":R(e,t);break;case"icon":case"line":case"text":O(e,t);break;case"path":A(e,t);break;case"object":await $(e,t)}}function O(e,t){const r=E(t);l(r)&&(e.size=r)}function E(e){for(const t of e)if("number"==typeof t)return t;return null}function R(e,t){e.size="number"==typeof t[2]?t[2]:0}async function $(e,t){const{resourceSize:r,symbolSize:o}=await D(e),n=C(t,r,o);e.width=I(t[0],o[0],r[0],n),e.depth=I(t[1],o[1],r[1],n),e.height=I(t[2],o[2],r[2],n)}function A(e,t){const r=C(t,a,[e.width,void 0,e.height]);e.width=I(t[0],e.width,1,r),e.height=I(t[2],e.height,1,r)}function C(e,t,r){for(let o=0;o<3;o++){const n=e[o];switch(n){case"symbol-value":return null!=r[o]?r[o]/t[o]:1;case"proportional":break;default:if(n&&t[o])return n/t[o]}}return 1}async function D(e){const t=await import("./symbolLayerUtils.js"),r=await t.computeObjectLayerResourceSize(e,10),{width:o,height:n,depth:l}=e,i=[o,l,n];let s=1;for(let c=0;c<3;c++)if(null!=i[c]){s=i[c]/r[c];break}for(let c=0;c<3;c++)null==i[c]&&(i[c]=r[c]*s);return{resourceSize:r,symbolSize:i}}function I(e,t,r,o){switch(e){case"proportional":return r*o;case"symbol-value":return null!=t?t:r;default:return e}}function J(e,t){const r=E(t);if(!i(r))switch(e.type){case"simple-marker":e.size=r;break;case"picture-marker":{const t=e.width/e.height;t>1?(e.width=r,e.height=r*t):(e.width=r*t,e.height=r);break}case"simple-line":e.width=r;break;case"text":e.font.size=r}}async function M(e,o){if(e&&o)return t(e)?S(e,o):void(r(e)&&J(e,o))}function N(e,o,n){if(e&&null!=o)if(t(e)){const t=e.symbolLayers;t&&t.forEach((e=>{if(e&&"object"===e.type)switch(n){case"tilt":e.tilt=o;break;case"roll":e.roll=o;break;default:e.heading=o}}))}else r(e)&&("simple-marker"!==e.type&&"picture-marker"!==e.type&&"text"!==e.type||(e.angle=o))}function q(e){if(!e)return null;const t=e.effects.filter((e=>"bloom"!==e.type)).map((e=>e.toJSON()));return f(t)}export{x as applyColorToSymbol,L as applyOpacityToColor,N as applyRotationToSymbol,M as applySizesToSymbol,q as getCSSFilterFromEffectList,j as getColorFromSymbol,g as getIconHref,w as getSymbolOutlineSize,d as isVolumetricSymbol};
5
+ import e from"../../Color.js";import{isSymbol3D as t,isSymbol2D as r}from"../../symbols.js";import{forEach as o}from"../../core/asyncUtils.js";import n from"../../core/has.js";import{isSome as l,isNone as i,unwrap as s,get as c}from"../../core/maybe.js";import{px2pt as u}from"../../core/screenUtils.js";import{O as a}from"../../chunks/vec3f64.js";import{effectFunctionsFromJSON as f}from"../../layers/effects/jsonUtils.js";import{getStroke as m}from"./gfxUtils.js";import{Symbol3DMaterial as y}from"./Symbol3DMaterial.js";const p=/\/resource\/(.*?)\.svg$/,h=new e("white");function b(e){const t=e.symbolLayers&&e.symbolLayers.length;if(!t)return;const r=e.symbolLayers.getItemAt(t-1);return"outline"in r?c(r,"outline","size"):void 0}function w(e){if(!e)return 0;if(t(e)){const t=b(e);return l(t)?t:0}const r=m(e);return r&&u(r.width)||0}function d(e){if(i(e)||!("symbolLayers"in e)||i(e.symbolLayers))return!1;switch(e.type){case"point-3d":return e.symbolLayers.some((e=>"object"===e.type));case"line-3d":return e.symbolLayers.some((e=>"path"===e.type));case"polygon-3d":return e.symbolLayers.some((e=>"object"===e.type||"extrude"===e.type));default:return!1}}function g(e,t){const r=t.resource.href;return!n("esri-canvas-svg-support")&&e.styleOrigin&&p.test(r)?r.replace(p,"/resource/png/$1.png"):r}function j(o,n){if(!o)return null;let l=null;return t(o)?l=k(o):r(o)&&(l=o.color?new e(o.color):null),l?L(l,n):null}function k(t){const r=t.symbolLayers;if(!r)return null;let o=null;return r.forEach((e=>{"object"===e.type&&null!=e.resource.href||(o="water"===e.type?s(e.color):l(e.material)?s(e.material.color):null)})),o?new e(o):null}function L(t,r){if(null==r)return t;const o=t.toRgba();return o[3]=o[3]*r,new e(o)}function z(e,t,r){const o=e.symbolLayers;if(!o)return;const n=e=>{const o=l(e)?e:null;return L(t=t||o||null!=r&&h,r)};o.forEach((e=>{if("object"!==e.type||null==e.resource.href||t)if("water"===e.type)e.color=n(e.color);else{const t=l(e.material)?e.material.color:null,o=n(t);i(e.material)?e.material=new y({color:o}):e.material.color=o,null!=r&&"outline"in e&&l(e.outline)&&l(e.outline.color)&&(e.outline.color=L(e.outline.color,r))}}))}function v(e,t,r){(t=t||e.color)&&(e.color=L(t,r)),null!=r&&"outline"in e&&e.outline&&e.outline.color&&(e.outline.color=L(e.outline.color,r))}function x(o,n,l){o&&(n||null!=l)&&(n&&(n=new e(n)),t(o)?z(o,n,l):r(o)&&v(o,n,l))}async function S(e,t){const r=e.symbolLayers;r&&await o(r,(async e=>U(e,t)))}async function U(e,t){switch(e.type){case"extrude":R(e,t);break;case"icon":case"line":case"text":O(e,t);break;case"path":A(e,t);break;case"object":await $(e,t)}}function O(e,t){const r=E(t);l(r)&&(e.size=r)}function E(e){for(const t of e)if("number"==typeof t)return t;return null}function R(e,t){e.size="number"==typeof t[2]?t[2]:0}async function $(e,t){const{resourceSize:r,symbolSize:o}=await D(e),n=C(t,r,o);e.width=I(t[0],o[0],r[0],n),e.depth=I(t[1],o[1],r[1],n),e.height=I(t[2],o[2],r[2],n)}function A(e,t){const r=C(t,a,[e.width,void 0,e.height]);e.width=I(t[0],e.width,1,r),e.height=I(t[2],e.height,1,r)}function C(e,t,r){for(let o=0;o<3;o++){const n=e[o];switch(n){case"symbol-value":return null!=r[o]?r[o]/t[o]:1;case"proportional":break;default:if(n&&t[o])return n/t[o]}}return 1}async function D(e){const t=await import("./symbolLayerUtils.js"),r=await t.computeObjectLayerResourceSize(e,10),{width:o,height:n,depth:l}=e,i=[o,l,n];let s=1;for(let c=0;c<3;c++)if(null!=i[c]){s=i[c]/r[c];break}for(let c=0;c<3;c++)null==i[c]&&(i[c]=r[c]*s);return{resourceSize:r,symbolSize:i}}function I(e,t,r,o){switch(e){case"proportional":return r*o;case"symbol-value":return null!=t?t:r;default:return e}}function J(e,t){const r=E(t);if(!i(r))switch(e.type){case"simple-marker":e.size=r;break;case"picture-marker":{const t=e.width/e.height;t>1?(e.width=r,e.height=r*t):(e.width=r*t,e.height=r);break}case"simple-line":e.width=r;break;case"text":e.font.size=r}}async function M(e,o){if(e&&o)return t(e)?S(e,o):void(r(e)&&J(e,o))}function N(e,o,n){if(e&&null!=o)if(t(e)){const t=e.symbolLayers;t&&t.forEach((e=>{if(e&&"object"===e.type)switch(n){case"tilt":e.tilt=o;break;case"roll":e.roll=o;break;default:e.heading=o}}))}else r(e)&&("simple-marker"!==e.type&&"picture-marker"!==e.type&&"text"!==e.type||(e.angle=o))}function q(e){if(!e)return null;const t=e.effects.filter((e=>"bloom"!==e.type)).map((e=>e.toJSON()));return f(t)}export{x as applyColorToSymbol,L as applyOpacityToColor,N as applyRotationToSymbol,M as applySizesToSymbol,q as getCSSFilterFromEffectList,j as getColorFromSymbol,g as getIconHref,w as getSymbolOutlineSize,d as isVolumetricSymbol};
@@ -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/Error.js";import{on as t}from"../../../core/events.js";import i from"../../../core/has.js";import{isSome as r}from"../../../core/maybe.js";import{addFrameTask as s}from"../../../core/scheduling.js";import{init as n}from"../../../core/watchUtils.js";import{t as a}from"../../../chunks/common.js";import{a as o,r as h}from"../../../chunks/mat2d.js";import{c as l}from"../../../chunks/mat2df64.js";import{c as d}from"../../../chunks/mat3f32.js";import{s as c,t as p}from"../../../chunks/vec2.js";import{a as m}from"../../../chunks/vec2f64.js";import _ from"../../../symbols/cim/CIMResourceManager.js";import{Container as u}from"./Container.js";import{WGLDrawPhase as g}from"./webgl/enums.js";import f from"./webgl/Painter.js";import{Profiler as b}from"./webgl/Profiler.js";import{stencil as R}from"./webgl/shaders/StencilPrograms.js";import{Timeline as w}from"../support/Timeline.js";import{resampleHermite as O,encodeResult as E,createEmptyImageData as F}from"../../support/screenshotUtils.js";import{BufferObject as T}from"../../webgl/BufferObject.js";import{createContextOrErrorHTML as y}from"../../webgl/context-util.js";import{TargetType as C,DepthStencilTargetType as x,StencilOperation as B,CompareFunction as P,PrimitiveType as S,DataType as j,TextureSamplingMode as L,PixelFormat as A,PixelType as D,Usage as v}from"../../webgl/enums.js";import{FramebufferObject as k}from"../../webgl/FramebufferObject.js";import{createProgram as M}from"../../webgl/ProgramTemplate.js";import{RenderingContext as H}from"../../webgl/RenderingContext.js";import{VertexArrayObject as I}from"../../webgl/VertexArrayObject.js";import{VertexElementDescriptor as U}from"../../webgl/VertexElementDescriptor.js";const W=2e3;class q extends u{constructor(n,a){super(),this._trash=new Set,this._clipData=new Float32Array(8),this._upperLeft=m(),this._upperRight=m(),this._lowerLeft=m(),this._lowerRight=m(),this._mat2=l(),this._clipRendererInitialized=!1,this._renderRemainingTime=0,this._lastFrameRenderTime=0,this.renderRequested=!1,this.stage=this,this._stationary=!0;const{canvas:o=document.createElement("canvas"),alpha:h=!0,stencil:d=!0,contextOptions:c={}}=a;this._canvas=o;const p=y("2d",o,{alpha:h,antialias:!1,depth:!0,stencil:d});this.context=new H(r(p)?p:null,c),this.resourceManager=new _,this.painter=new f(this.context,this,this.resourceManager),i("esri-2d-profiler")&&(this._debugOutput=document.createElement("div"),this._debugOutput.setAttribute("style","margin: 24px 64px; position: absolute; color: red;"),n.appendChild(this._debugOutput)),this._renderParameters={drawPhase:0,state:this.state,pixelRatio:window.devicePixelRatio,stationary:!1,globalOpacity:1,blendMode:null,deltaTime:-1,time:0,inFadeTransition:!1,effects:null,context:this.context,painter:this.painter,timeline:a.timeline||new w,renderingOptions:a.renderingOptions,requireFBO:!1,profiler:new b(this.context,this._debugOutput),dataUploadCounter:0},this._taskHandle=s({render:e=>this.renderFrame(e)}),this._taskHandle.pause(),this._lostWebGLContextHandle=t(o,"webglcontextlost",(()=>{this.emit("webgl-error",{error:new e("webgl-context-lost")})})),o.setAttribute("style","width: 100%; height:100%; display:block;"),n.appendChild(o)}destroy(){this.removeAllChildren(),this._emptyTrash(),this._taskHandle.remove(),this._taskHandle=null,this._boundFBO=null,this._clipFBO&&(this._clipFBO.dispose(),this._clipFBO=null),this._clipVAO&&(this._clipVAO.dispose(),this._clipVAO=null,this._clipVBO=null),this._clipStencilProgram&&(this._clipStencilProgram.dispose(),this._clipStencilProgram=null),this._lostWebGLContextHandle&&(this._lostWebGLContextHandle.remove(),this._lostWebGLContextHandle=null),this._canvas.parentNode&&this._canvas.parentNode.removeChild(this._canvas),this._debugOutput&&this._debugOutput.parentNode&&this._debugOutput.parentNode.removeChild(this._debugOutput),this.highlightOptions=null,this.resourceManager.destroy(),this.painter.dispose(),this.context.dispose(),this._canvas=null}get background(){return this._background}set background(e){this._background=e,this.requestRender()}get highlightOptions(){return this._highlightOptions}set highlightOptions(e){this._highlightOptionsHandle&&(this._highlightOptionsHandle.remove(),this._highlightOptionsHandle=null),this._highlightOptions=e,this._highlightOptions&&(this._highlightOptionsHandle=n(this._highlightOptions,"version",(()=>{this.painter.setHighlightOptions(e),this.requestRender()})))}get renderingOptions(){return this._renderingOptions}set renderingOptions(e){this._renderingOptions=e,this.requestRender()}get state(){return this._state}set state(e){this._state=e,this.requestRender()}get stationary(){return this._stationary}set stationary(e){this._stationary!==e&&(this._stationary=e,this.requestRender())}trashDisplayObject(e){this._trash.add(e),this.requestRender()}untrashDisplayObject(e){return this._trash.delete(e)}requestRender(){this._renderRemainingTime=W,this.renderRequested||(this.renderRequested=!0,this.emit("will-render"),this._taskHandle.resume())}renderFrame(e){const t=this._lastFrameRenderTime?e.time-this._lastFrameRenderTime:0;this._renderRemainingTime-=t,this._renderRemainingTime<=0&&this._taskHandle.pause(),this._lastFrameRenderTime=e.time,this.renderRequested=!1,this._renderParameters.state=this._state,this._renderParameters.stationary=this.stationary,this._renderParameters.pixelRatio=window.devicePixelRatio,this._renderParameters.globalOpacity=1,this._renderParameters.time=e.time,this._renderParameters.deltaTime=e.deltaTime,this._renderParameters.effects=null,this.processRender(this._renderParameters),this._emptyTrash(),this.emit("post-render")}_createTransforms(){return{dvs:d()}}renderChildren(e){for(const t of this.children)t.beforeRender(e);this._renderChildren(this.children,e);for(const t of this.children)t.afterRender(e)}_renderChildren(e,t){const r=this.context;t.profiler.recordStart("drawLayers"),t.dataUploadCounter=0,this._beforeRenderChildren(t),t.drawPhase=g.MAP,this.painter.beforeRenderLayers(r,this.background);for(const i of e)i.processRender(t);this.painter.renderLayers(r),t.drawPhase=g.HIGHLIGHT,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r);if(this._isLabelDrawPhaseRequired(e)){t.drawPhase=g.LABEL,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r)}if(i("esri-tiles-debug")){t.drawPhase=g.DEBUG,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r)}t.profiler.recordEnd("drawLayers"),this._afterRenderChildren()}_beforeRenderChildren(e){const{context:t}=this,{state:i,pixelRatio:r}=e;t.setClearDepth(1),t.setClearColor(0,0,0,0),t.clear(t.gl.COLOR_BUFFER_BIT|t.gl.DEPTH_BUFFER_BIT);const{size:s,rotation:n}=i,l=Math.round(s[0]*r),d=Math.round(s[1]*r);this._boundFBO=t.getBoundFramebufferObject();if(!(i.spatialReference&&(i.spatialReference._isWrappable?i.spatialReference._isWrappable():i.spatialReference.isWrappable)))return void(this._clipFrame=!1);const m=a(n),_=Math.abs(Math.cos(m)),u=Math.abs(Math.sin(m)),g=Math.round(l*_+d*u),f=Math.round(i.worldScreenWidth);if(g<=f)return void(this._clipFrame=!1);this._clipFBO&&this._clipFBO.width===l&&this._clipFBO.height===d||(this._clipFBO=new k(t,{colorTarget:C.TEXTURE,depthStencilTarget:x.DEPTH_STENCIL_RENDER_BUFFER,width:l,height:d}));const b=(this.state.padding.left-this.state.padding.right)/2,R=(this.state.padding.bottom-this.state.padding.top)/2,w=.5*l,O=.5*d,E=1/l,F=1/d,T=f*r*.5,y=.5*(l*u+d*_),B=this._upperLeft,P=this._upperRight,S=this._lowerLeft,j=this._lowerRight;c(B,-T,-y),c(P,T,-y),c(S,-T,y),c(j,T,y),o(this._mat2,[w+b,O-R]),0!==n&&h(this._mat2,this._mat2,m),p(B,B,this._mat2),p(P,P,this._mat2),p(S,S,this._mat2),p(j,j,this._mat2);const L=this._clipData;L.set([2*S[0]*E-1,2*(d-S[1])*F-1,2*j[0]*E-1,2*(d-j[1])*F-1,2*B[0]*E-1,2*(d-B[1])*F-1,2*P[0]*E-1,2*(d-P[1])*F-1]),this._clipRendererInitialized||this._initializeClipRenderer(t),this._clipVBO.setData(L),this._boundFBO=t.getBoundFramebufferObject(),t.bindFramebuffer(this._clipFBO),t.setDepthWriteEnabled(!0),t.setStencilWriteMask(255),t.setClearColor(0,0,0,0),t.setClearDepth(1),t.setClearStencil(0),t.clear(t.gl.COLOR_BUFFER_BIT|t.gl.DEPTH_BUFFER_BIT|t.gl.STENCIL_BUFFER_BIT),t.setDepthWriteEnabled(!1),this._clipFrame=!0}_afterRenderChildren(){const e=this.context;if(e.logIno(),this._clipFrame&&this._clipRendererInitialized){if(e.bindFramebuffer(this._boundFBO),this._boundFBO=null,e.bindVAO(this._clipVAO),e.useProgram(this._clipStencilProgram),e.setDepthWriteEnabled(!1),e.setDepthTestEnabled(!1),e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(B.KEEP,B.KEEP,B.REPLACE),e.setStencilWriteMask(255),e.setStencilFunction(P.ALWAYS,1,255),e.drawElements(S.TRIANGLES,6,j.UNSIGNED_SHORT,0),e.bindVAO(),e.setColorMask(!0,!0,!0,!0),null!=this.background){const{r:t,g:i,b:r,a:s}=this.background.color;e.setClearColor(s*t/255,s*i/255,s*r/255,s)}else e.setClearColor(0,0,0,0);e.clear(e.gl.COLOR_BUFFER_BIT),e.setBlendingEnabled(!0),e.setStencilFunction(P.EQUAL,1,255),this.painter.blitTexture(e,this._clipFBO.colorTexture,L.NEAREST,1),e.setStencilTestEnabled(!1)}}doRender(e){const t=this.context,{state:i,pixelRatio:r}=e;this._resizeCanvas(e),t.setViewport(0,0,r*i.size[0],r*i.size[1]),t.setDepthWriteEnabled(!0),t.setStencilWriteMask(255),super.doRender(e)}async takeScreenshot(e){const{framebufferWidth:t,framebufferHeight:i}={framebufferWidth:Math.round(this._renderParameters.state.size[0]*e.resolutionScale),framebufferHeight:Math.round(this._renderParameters.state.size[1]*e.resolutionScale)},r=1,s=this.context,n=this._state.clone();if(null!=e.rotation){const t=n.viewpoint;n.viewpoint.rotation=e.rotation,n.viewpoint=t}const a={...this._renderParameters,drawPhase:null,globalOpacity:1,stationary:!0,state:n,pixelRatio:r,time:Date.now(),deltaTime:0,blendMode:null,effects:null,inFadeTransition:!1},o=new k(s,{colorTarget:C.TEXTURE,depthStencilTarget:x.DEPTH_STENCIL_RENDER_BUFFER,width:t,height:i}),h=s.getBoundFramebufferObject(),l=s.getViewport();s.bindFramebuffer(o),s.setViewport(0,0,t,i),this._renderChildren(e.children,a);const d=this._readbackScreenshot({...e.cropArea,y:i-(e.cropArea.y+e.cropArea.height)});let c;s.bindFramebuffer(h),s.setViewport(l.x,l.y,l.width,l.height),this.requestRender(),1===e.outputScale?c=d:(c=new ImageData(Math.round(d.width*e.outputScale),Math.round(d.height*e.outputScale)),O(d,c,!0));return E(c,{format:e.format,quality:e.quality,rotation:0,disableDecorations:!1},document.createElement("canvas"),{flipY:!0,premultipliedAlpha:!0})}_readbackScreenshot(e){const t=this.context.gl,i=F(e.width,e.height,document.createElement("canvas"));return t.readPixels(e.x,e.y,e.width,e.height,A.RGBA,D.UNSIGNED_BYTE,new Uint8Array(i.data.buffer)),i}_resizeCanvas(e){const t=this._canvas,i=t.style,{state:{size:r},pixelRatio:s}=e,n=r[0],a=r[1],o=Math.round(n*s),h=Math.round(a*s);t.width===o&&t.height===h||(t.width=o,t.height=h),i.width=n+"px",i.height=a+"px"}_initializeClipRenderer(e){if(this._clipRendererInitialized)return!0;const t=R.attributes,i=M(e,R);if(!i)return!1;const r=T.createVertex(e,v.STREAM_DRAW,this._clipData),s=new Uint16Array([0,1,2,2,1,3]),n=T.createIndex(e,v.STATIC_DRAW,s),a={geometry:[new U("a_pos",2,j.FLOAT,0,8)]},o=new I(e,t,a,{geometry:r},n);return this._clipStencilProgram=i,this._clipVBO=r,this._clipVAO=o,this._clipRendererInitialized=!0,!0}_emptyTrash(){for(;this._trash.size>0;){const e=Array.from(this._trash);this._trash.clear();for(const t of e)t.processDetach()}}_isLabelDrawPhaseRequired(e){let t=!1;for(const i of e){if(!(i instanceof u)){t=t||!1;break}if(i.hasLabels)return!0;t=t||this._isLabelDrawPhaseRequired(i.children)}return t}}export{W as EXTRA_RENDER_TIME,q as Stage};
5
+ import e from"../../../core/Error.js";import{on as t}from"../../../core/events.js";import i from"../../../core/has.js";import{isSome as r}from"../../../core/maybe.js";import{addFrameTask as s}from"../../../core/scheduling.js";import{init as n}from"../../../core/watchUtils.js";import{t as a}from"../../../chunks/common.js";import{a as o,r as h}from"../../../chunks/mat2d.js";import{c as l}from"../../../chunks/mat2df64.js";import{c as d}from"../../../chunks/mat3f32.js";import{s as c,t as p}from"../../../chunks/vec2.js";import{a as m}from"../../../chunks/vec2f64.js";import _ from"../../../symbols/cim/CIMResourceManager.js";import{Container as u}from"./Container.js";import{WGLDrawPhase as g}from"./webgl/enums.js";import f from"./webgl/Painter.js";import{Profiler as b}from"./webgl/Profiler.js";import{stencil as R}from"./webgl/shaders/StencilPrograms.js";import{Timeline as w}from"../support/Timeline.js";import{resampleHermite as O,encodeResult as E,createEmptyImageData as F}from"../../support/screenshotUtils.js";import{BufferObject as T}from"../../webgl/BufferObject.js";import{createContextOrErrorHTML as y}from"../../webgl/context-util.js";import{TargetType as C,DepthStencilTargetType as x,StencilOperation as B,CompareFunction as P,PrimitiveType as S,DataType as j,TextureSamplingMode as L,PixelFormat as A,PixelType as D,Usage as v}from"../../webgl/enums.js";import{FramebufferObject as k}from"../../webgl/FramebufferObject.js";import{createProgram as M}from"../../webgl/ProgramTemplate.js";import{RenderingContext as H}from"../../webgl/RenderingContext.js";import{VertexArrayObject as I}from"../../webgl/VertexArrayObject.js";import{VertexElementDescriptor as U}from"../../webgl/VertexElementDescriptor.js";const W=2e3;class q extends u{constructor(n,a){super(),this._trash=new Set,this._clipData=new Float32Array(8),this._upperLeft=m(),this._upperRight=m(),this._lowerLeft=m(),this._lowerRight=m(),this._mat2=l(),this._clipRendererInitialized=!1,this._renderRemainingTime=0,this._lastFrameRenderTime=0,this.renderRequested=!1,this.stage=this,this._stationary=!0;const{canvas:o=document.createElement("canvas"),alpha:h=!0,stencil:d=!0,contextOptions:c={}}=a;this._canvas=o;const p=y("2d",o,{alpha:h,antialias:!1,depth:!0,stencil:d});this.context=new H(r(p)?p:null,c),this.resourceManager=new _,this.painter=new f(this.context,this,this.resourceManager),i("esri-2d-profiler")&&(this._debugOutput=document.createElement("div"),this._debugOutput.setAttribute("style","margin: 24px 64px; position: absolute; color: red;"),n.appendChild(this._debugOutput)),this._renderParameters={drawPhase:0,state:this.state,pixelRatio:window.devicePixelRatio,stationary:!1,globalOpacity:1,blendMode:null,deltaTime:-1,time:0,inFadeTransition:!1,effects:null,context:this.context,painter:this.painter,timeline:a.timeline||new w,renderingOptions:a.renderingOptions,requireFBO:!1,profiler:new b(this.context,this._debugOutput),dataUploadCounter:0},this._taskHandle=s({render:e=>this.renderFrame(e)}),this._taskHandle.pause(),this._lostWebGLContextHandle=t(o,"webglcontextlost",(()=>{this.emit("webgl-error",{error:new e("webgl-context-lost")})})),o.setAttribute("style","width: 100%; height:100%; display:block;"),n.appendChild(o)}destroy(){this.removeAllChildren(),this._emptyTrash(),this._taskHandle.remove(),this._taskHandle=null,this._boundFBO=null,this._clipFBO&&(this._clipFBO.dispose(),this._clipFBO=null),this._clipVAO&&(this._clipVAO.dispose(),this._clipVAO=null,this._clipVBO=null),this._clipStencilProgram&&(this._clipStencilProgram.dispose(),this._clipStencilProgram=null),this._lostWebGLContextHandle&&(this._lostWebGLContextHandle.remove(),this._lostWebGLContextHandle=null),this._canvas.parentNode&&this._canvas.parentNode.removeChild(this._canvas),this._debugOutput&&this._debugOutput.parentNode&&this._debugOutput.parentNode.removeChild(this._debugOutput),this.highlightOptions=null,this.resourceManager.destroy(),this.painter.dispose(),this.context.dispose(),this._canvas=null}get background(){return this._background}set background(e){this._background=e,this.requestRender()}get highlightOptions(){return this._highlightOptions}set highlightOptions(e){this._highlightOptionsHandle&&(this._highlightOptionsHandle.remove(),this._highlightOptionsHandle=null),this._highlightOptions=e,this._highlightOptions&&(this._highlightOptionsHandle=n(this._highlightOptions,"version",(()=>{this.painter.setHighlightOptions(e),this.requestRender()})))}get renderingOptions(){return this._renderingOptions}set renderingOptions(e){this._renderingOptions=e,this.requestRender()}get state(){return this._state}set state(e){this._state=e,this.requestRender()}get stationary(){return this._stationary}set stationary(e){this._stationary!==e&&(this._stationary=e,this.requestRender())}trashDisplayObject(e){this._trash.add(e),this.requestRender()}untrashDisplayObject(e){return this._trash.delete(e)}requestRender(){this._renderRemainingTime=W,this.renderRequested||(this.renderRequested=!0,this.emit("will-render"),this._taskHandle.resume())}renderFrame(e){const t=this._lastFrameRenderTime?e.time-this._lastFrameRenderTime:0;this._renderRemainingTime-=t,this._renderRemainingTime<=0&&this._taskHandle.pause(),this._lastFrameRenderTime=e.time,this.renderRequested=!1,this._renderParameters.state=this._state,this._renderParameters.stationary=this.stationary,this._renderParameters.pixelRatio=window.devicePixelRatio,this._renderParameters.globalOpacity=1,this._renderParameters.time=e.time,this._renderParameters.deltaTime=e.deltaTime,this._renderParameters.effects=null,this.processRender(this._renderParameters),this._emptyTrash(),this.emit("post-render")}_createTransforms(){return{dvs:d()}}renderChildren(e){for(const t of this.children)t.beforeRender(e);this._renderChildren(this.children,e);for(const t of this.children)t.afterRender(e)}_renderChildren(e,t){const r=this.context;t.profiler.recordStart("drawLayers"),t.dataUploadCounter=0,this._beforeRenderChildren(t),t.drawPhase=g.MAP,this.painter.beforeRenderLayers(r,this.background);for(const i of e)i.processRender(t);this.painter.renderLayers(r),t.drawPhase=g.HIGHLIGHT,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r);if(this._isLabelDrawPhaseRequired(e)){t.drawPhase=g.LABEL,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r)}if(i("esri-tiles-debug")){t.drawPhase=g.DEBUG,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r)}t.profiler.recordEnd("drawLayers"),this._afterRenderChildren()}_beforeRenderChildren(e){const{context:t}=this,{state:i,pixelRatio:r}=e;t.setClearDepth(1),t.setClearColor(0,0,0,0),t.clear(t.gl.COLOR_BUFFER_BIT|t.gl.DEPTH_BUFFER_BIT);const{size:s,rotation:n}=i,l=Math.round(s[0]*r),d=Math.round(s[1]*r);this._boundFBO=t.getBoundFramebufferObject();if(!(i.spatialReference&&(i.spatialReference._isWrappable?i.spatialReference._isWrappable():i.spatialReference.isWrappable)))return void(this._clipFrame=!1);const m=a(n),_=Math.abs(Math.cos(m)),u=Math.abs(Math.sin(m)),g=Math.round(l*_+d*u),f=Math.round(i.worldScreenWidth);if(g<=f)return void(this._clipFrame=!1);this._clipFBO&&this._clipFBO.width===l&&this._clipFBO.height===d||(this._clipFBO=new k(t,{colorTarget:C.TEXTURE,depthStencilTarget:x.DEPTH_STENCIL_RENDER_BUFFER,width:l,height:d}));const b=(this.state.padding.left-this.state.padding.right)/2,R=(this.state.padding.bottom-this.state.padding.top)/2,w=.5*l,O=.5*d,E=1/l,F=1/d,T=f*r*.5,y=.5*(l*u+d*_),B=this._upperLeft,P=this._upperRight,S=this._lowerLeft,j=this._lowerRight;c(B,-T,-y),c(P,T,-y),c(S,-T,y),c(j,T,y),o(this._mat2,[w+b,O-R]),0!==n&&h(this._mat2,this._mat2,m),p(B,B,this._mat2),p(P,P,this._mat2),p(S,S,this._mat2),p(j,j,this._mat2);const L=this._clipData;L.set([2*S[0]*E-1,2*(d-S[1])*F-1,2*j[0]*E-1,2*(d-j[1])*F-1,2*B[0]*E-1,2*(d-B[1])*F-1,2*P[0]*E-1,2*(d-P[1])*F-1]),this._clipRendererInitialized||this._initializeClipRenderer(t),this._clipVBO.setData(L),this._boundFBO=t.getBoundFramebufferObject(),t.bindFramebuffer(this._clipFBO),t.setDepthWriteEnabled(!0),t.setStencilWriteMask(255),t.setClearColor(0,0,0,0),t.setClearDepth(1),t.setClearStencil(0),t.clear(t.gl.COLOR_BUFFER_BIT|t.gl.DEPTH_BUFFER_BIT|t.gl.STENCIL_BUFFER_BIT),t.setDepthWriteEnabled(!1),this._clipFrame=!0}_afterRenderChildren(){const e=this.context;if(e.logIno(),this._clipFrame&&this._clipRendererInitialized){if(e.bindFramebuffer(this._boundFBO),this._boundFBO=null,e.bindVAO(this._clipVAO),e.useProgram(this._clipStencilProgram),e.setDepthWriteEnabled(!1),e.setDepthTestEnabled(!1),e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(B.KEEP,B.KEEP,B.REPLACE),e.setStencilWriteMask(255),e.setStencilFunction(P.ALWAYS,1,255),e.drawElements(S.TRIANGLES,6,j.UNSIGNED_SHORT,0),e.bindVAO(),e.setColorMask(!0,!0,!0,!0),null!=this.background){const{r:t,g:i,b:r,a:s}=this.background.color;e.setClearColor(s*t/255,s*i/255,s*r/255,s)}else e.setClearColor(0,0,0,0);e.clear(e.gl.COLOR_BUFFER_BIT),e.setBlendingEnabled(!0),e.setStencilFunction(P.EQUAL,1,255),this.painter.blitTexture(e,this._clipFBO.colorTexture,L.NEAREST,1),e.setStencilTestEnabled(!1)}}doRender(e){const t=this.context,{state:i,pixelRatio:r}=e;this._resizeCanvas(e),t.setViewport(0,0,r*i.size[0],r*i.size[1]),t.setDepthWriteEnabled(!0),t.setStencilWriteMask(255),super.doRender(e)}async takeScreenshot(e){const{framebufferWidth:t,framebufferHeight:i}={framebufferWidth:Math.round(this._renderParameters.state.size[0]*e.resolutionScale),framebufferHeight:Math.round(this._renderParameters.state.size[1]*e.resolutionScale)},r=1,s=this.context,n=this._state.clone();if(null!=e.rotation){const t=n.viewpoint;n.viewpoint.rotation=e.rotation,n.viewpoint=t}const a={...this._renderParameters,drawPhase:null,globalOpacity:1,stationary:!0,state:n,pixelRatio:r,time:Date.now(),deltaTime:0,blendMode:null,effects:null,inFadeTransition:!1},o=new k(s,{colorTarget:C.TEXTURE,depthStencilTarget:x.DEPTH_STENCIL_RENDER_BUFFER,width:t,height:i}),h=s.getBoundFramebufferObject(),l=s.getViewport();s.bindFramebuffer(o),s.setViewport(0,0,t,i),this._renderChildren(e.children,a);const d=this._readbackScreenshot(o,{...e.cropArea,y:i-(e.cropArea.y+e.cropArea.height)});s.bindFramebuffer(h),s.setViewport(l.x,l.y,l.width,l.height),this.requestRender();const c=await d;let p;1===e.outputScale?p=c:(p=new ImageData(Math.round(c.width*e.outputScale),Math.round(c.height*e.outputScale)),O(c,p,!0));return E(p,{format:e.format,quality:e.quality,rotation:0,disableDecorations:!1},document.createElement("canvas"),{flipY:!0,premultipliedAlpha:!0})}async _readbackScreenshot(e,t){const i=F(t.width,t.height,document.createElement("canvas"));return await e.readPixelsAsync(t.x,t.y,t.width,t.height,A.RGBA,D.UNSIGNED_BYTE,new Uint8Array(i.data.buffer)),i}_resizeCanvas(e){const t=this._canvas,i=t.style,{state:{size:r},pixelRatio:s}=e,n=r[0],a=r[1],o=Math.round(n*s),h=Math.round(a*s);t.width===o&&t.height===h||(t.width=o,t.height=h),i.width=n+"px",i.height=a+"px"}_initializeClipRenderer(e){if(this._clipRendererInitialized)return!0;const t=M(e,R);if(!t)return!1;const i=T.createVertex(e,v.STREAM_DRAW,this._clipData),r=new Uint16Array([0,1,2,2,1,3]),s=T.createIndex(e,v.STATIC_DRAW,r),n=R.attributes,a={geometry:[new U("a_pos",2,j.FLOAT,0,8)]},o=new I(e,n,a,{geometry:i},s);return this._clipStencilProgram=t,this._clipVBO=i,this._clipVAO=o,this._clipRendererInitialized=!0,!0}_emptyTrash(){for(;this._trash.size>0;){const e=Array.from(this._trash);this._trash.clear();for(const t of e)t.processDetach()}}_isLabelDrawPhaseRequired(e){let t=!1;for(const i of e){if(!(i instanceof u)){t=t||!1;break}if(i.hasLabels)return!0;t=t||this._isLabelDrawPhaseRequired(i.children)}return t}}export{W as EXTRA_RENDER_TIME,q as Stage};
@@ -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"../../../../request.js";import t from"../../../../core/has.js";import{isAbortError as s,eachAlways as r}from"../../../../core/promiseUtils.js";import{addQueryParameters as i}from"../../../../core/urlUtils.js";import{open as o}from"../../../../core/workers/workers.js";import a from"./GlyphMosaic.js";import l from"./GlyphSource.js";import n from"./SpriteMosaic.js";import{perfAdd as c}from"./decluttering/debugging.js";import h from"../../tiling/TileKey.js";class u{constructor(e,t,s){this._layer=e,this._styleRepository=t,this.devicePixelRatio=s,this._spriteMosaic=null,this._glyphMosaic=null,this._connection=null}destroy(){this._connection&&(this._connection.close(),this._connection=null),this._styleRepository=null,this._layer=null,this._spriteMosaic&&(this._spriteMosaic=null),this._glyphMosaic&&(this._glyphMosaic=null)}get spriteMosaic(){return this._spriteSourcePromise.then((()=>this._spriteMosaic))}get glyphMosaic(){return this._glyphMosaic}async start(e){this._spriteSourcePromise=this._layer.loadSpriteSource(this.devicePixelRatio,e),this._spriteSourcePromise.then((e=>{this._spriteMosaic=new n(1024,1024,250),this._spriteMosaic.setSpriteSource(e)}));const s=new l(this._layer.currentStyleInfo.glyphsUrl?i(this._layer.currentStyleInfo.glyphsUrl,{...this._layer.customParameters,token:this._layer.apiKey}):null);this._glyphMosaic=new a(1024,1024,s),this._broadcastPromise=o("WorkerTileHandler",{client:this,schedule:e.schedule,signal:e.signal}).then((s=>(this._connection=s,Promise.all(this._connection.broadcast("setStyle",{style:this._layer.currentStyleInfo.style,vectorTileLayerMaxBuffers:t("vectortilelayer-max-buffers")},e)))))}async updateStyle(e){return await this._broadcastPromise,this._broadcastPromise=Promise.all(this._connection.broadcast("updateStyle",e)),this._broadcastPromise}async setStyle(e,s){await this._broadcastPromise,this._styleRepository=e,this._spriteSourcePromise=this._layer.loadSpriteSource(this.devicePixelRatio,null),this._spriteSourcePromise.then((e=>{this._spriteMosaic=new n(1024,1024,250),this._spriteMosaic.setSpriteSource(e)}));const r=new l(this._layer.currentStyleInfo.glyphsUrl?i(this._layer.currentStyleInfo.glyphsUrl,{...this._layer.customParameters,token:this._layer.apiKey}):null);return this._glyphMosaic=new a(1024,1024,r),this._broadcastPromise=Promise.all(this._connection.broadcast("setStyle",{style:s,vectorTileLayerMaxBuffers:t("vectortilelayer-max-buffers")})),this._broadcastPromise}fetchTileData(e,t){return this._getRefKeys(e,t).then((e=>{const s=this._layer.sourceNameToSource,r=[];for(const t in s)r.push(t);return this._getSourcesData(r,e,t)}))}parseTileData(e,t){const s=e&&e.data;if(!s)return Promise.resolve(null);const{sourceName2DataAndRefKey:r,transferList:i}=s;return 0===Object.keys(r).length?Promise.resolve(null):this._broadcastPromise.then((()=>this._connection.getAvailableClient().then((s=>s.invoke("createTileAndParse",{key:e.key.id,sourceName2DataAndRefKey:r,styleLayerUIDs:e.styleLayerUIDs},{...t,transferList:i})))))}async getSprites(e){return await this._spriteSourcePromise,this._spriteMosaic.getSpriteItems(e)}getGlyphs(e){return this._glyphMosaic.getGlyphItems(e.font,e.codePoints)}perfReport({key:e,milliseconds:t}){c(e,t,"ms")}async _getTilePayload(e,t,r){const i=h.pool.acquire(e.id),o=this._layer.sourceNameToSource[t].getSourceTileUrl(i.level,i.row,i.col);h.pool.release(i);try{return{protobuff:await this.request(o,r),sourceName:t}}catch(a){if(s(a))throw a;return{protobuff:null,sourceName:t}}}request(t,s){return e(t,{responseType:"array-buffer",...s}).then((({data:e})=>e))}_getRefKeys(e,t){const s=this._layer.sourceNameToSource,i=new Array;for(const r in s){const o=s[r].getRefKey(e,t);i.push(o)}return r(i)}_getSourcesData(e,t,s){const i=[];for(let r=0;r<t.length;r++)if(null==t[r].value||null==e[r])i.push(null);else{const o=this._getTilePayload(t[r].value,e[r],s);i.push(o)}return r(i).then((e=>{const s={},r=[];for(let i=0;i<e.length;i++)if(e[i].value&&e[i].value&&e[i].value.protobuff&&e[i].value.protobuff.byteLength>0){const o=t[i].value.id;s[e[i].value.sourceName]={refKey:o,protobuff:e[i].value.protobuff},r.push(e[i].value.protobuff)}return{sourceName2DataAndRefKey:s,transferList:r}}))}}export{u as TileHandler};
5
+ import e from"../../../../core/has.js";import{isAbortError as t,eachAlways as s}from"../../../../core/promiseUtils.js";import{addQueryParameters as r}from"../../../../core/urlUtils.js";import{open as i}from"../../../../core/workers/workers.js";import o from"./GlyphMosaic.js";import l from"./GlyphSource.js";import a from"./SpriteMosaic.js";import{perfAdd as n}from"./decluttering/debugging.js";import c from"../../tiling/TileKey.js";class h{constructor(e,t,s){this._layer=e,this._styleRepository=t,this.devicePixelRatio=s,this._spriteMosaic=null,this._glyphMosaic=null,this._connection=null}destroy(){this._connection&&(this._connection.close(),this._connection=null),this._styleRepository=null,this._layer=null,this._spriteMosaic&&(this._spriteMosaic=null),this._glyphMosaic&&(this._glyphMosaic=null)}get spriteMosaic(){return this._spriteSourcePromise.then((()=>this._spriteMosaic))}get glyphMosaic(){return this._glyphMosaic}async start(t){this._spriteSourcePromise=this._layer.loadSpriteSource(this.devicePixelRatio,t),this._spriteSourcePromise.then((e=>{this._spriteMosaic=new a(1024,1024,250),this._spriteMosaic.setSpriteSource(e)}));const s=new l(this._layer.currentStyleInfo.glyphsUrl?r(this._layer.currentStyleInfo.glyphsUrl,{...this._layer.customParameters,token:this._layer.apiKey}):null);this._glyphMosaic=new o(1024,1024,s),this._broadcastPromise=i("WorkerTileHandler",{client:this,schedule:t.schedule,signal:t.signal}).then((s=>(this._connection=s,Promise.all(this._connection.broadcast("setStyle",{style:this._layer.currentStyleInfo.style,vectorTileLayerMaxBuffers:e("vectortilelayer-max-buffers")},t)))))}async updateStyle(e){return await this._broadcastPromise,this._broadcastPromise=Promise.all(this._connection.broadcast("updateStyle",e)),this._broadcastPromise}async setStyle(t,s){await this._broadcastPromise,this._styleRepository=t,this._spriteSourcePromise=this._layer.loadSpriteSource(this.devicePixelRatio,null),this._spriteSourcePromise.then((e=>{this._spriteMosaic=new a(1024,1024,250),this._spriteMosaic.setSpriteSource(e)}));const i=new l(this._layer.currentStyleInfo.glyphsUrl?r(this._layer.currentStyleInfo.glyphsUrl,{...this._layer.customParameters,token:this._layer.apiKey}):null);return this._glyphMosaic=new o(1024,1024,i),this._broadcastPromise=Promise.all(this._connection.broadcast("setStyle",{style:s,vectorTileLayerMaxBuffers:e("vectortilelayer-max-buffers")})),this._broadcastPromise}fetchTileData(e,t){return this._getRefKeys(e,t).then((e=>{const s=this._layer.sourceNameToSource,r=[];for(const t in s)r.push(t);return this._getSourcesData(r,e,t)}))}parseTileData(e,t){const s=e&&e.data;if(!s)return Promise.resolve(null);const{sourceName2DataAndRefKey:r,transferList:i}=s;return 0===Object.keys(r).length?Promise.resolve(null):this._broadcastPromise.then((()=>this._connection.getAvailableClient().then((s=>s.invoke("createTileAndParse",{key:e.key.id,sourceName2DataAndRefKey:r,styleLayerUIDs:e.styleLayerUIDs},{...t,transferList:i})))))}async getSprites(e){return await this._spriteSourcePromise,this._spriteMosaic.getSpriteItems(e)}getGlyphs(e){return this._glyphMosaic.getGlyphItems(e.font,e.codePoints)}perfReport({key:e,milliseconds:t}){n(e,t,"ms")}async _getTilePayload(e,s,r){const i=c.pool.acquire(e.id),o=this._layer.sourceNameToSource[s],{level:l,row:a,col:n}=i;c.pool.release(i);try{return{protobuff:await o.requestTile(l,a,n,r),sourceName:s}}catch(h){if(t(h))throw h;return{protobuff:null,sourceName:s}}}_getRefKeys(e,t){const r=this._layer.sourceNameToSource,i=new Array;for(const s in r){const o=r[s].getRefKey(e,t);i.push(o)}return s(i)}_getSourcesData(e,t,r){const i=[];for(let s=0;s<t.length;s++)if(null==t[s].value||null==e[s])i.push(null);else{const o=this._getTilePayload(t[s].value,e[s],r);i.push(o)}return s(i).then((e=>{const s={},r=[];for(let i=0;i<e.length;i++)if(e[i].value&&e[i].value&&e[i].value.protobuff&&e[i].value.protobuff.byteLength>0){const o=t[i].value.id;s[e[i].value.sourceName]={refKey:o,protobuff:e[i].value.protobuff},r.push(e[i].value.protobuff)}return{sourceName2DataAndRefKey:s,transferList:r}}))}}export{h as TileHandler};
@@ -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{ShaderProgramType as e}from"../enums.js";import{text as r,outline as t,line as a,icon as s,fill as n,circle as o,background as i}from"./Programs.js";import{Program as c}from"../../../../webgl/Program.js";class u{constructor(){this._programByKey=new Map}dispose(){this._programByKey.forEach((e=>e.dispose())),this._programByKey.clear()}getMaterialProgram(e,r,t){const a=r.key<<3|this._getMaterialOptionsValue(r.type,t);if(this._programByKey.has(a))return this._programByKey.get(a);const s=this._getProgramTemplate(r.type),{shaders:n}=s,{vertexShader:o,fragmentShader:i}=n(t),u=r.getShaderHeader(),p=r.getShaderMain(),g=o.replace("#pragma header",u).replace("#pragma main",p),m=new c(e,g,i,r.getAttributeLocations());return this._programByKey.set(a,m),m}_getMaterialOptionsValue(r,t){switch(r){case e.BACKGROUND:{const e=t;return(e.pattern?1:0)<<1|(e.id?1:0)}case e.FILL:{const e=t;return(e.pattern?1:0)<<1|(e.id?1:0)}case e.OUTLINE:return t.id?1:0;case e.LINE:{const e=t;return(e.sdf?1:0)<<2|(e.pattern?1:0)<<1|(e.id?1:0)}case e.ICON:{const e=t;return(e.sdf?1:0)<<1|(e.id?1:0)}case e.CIRCLE:return t.id?1:0;case e.TEXT:return t.id?1:0;default:return 0}}_getProgramTemplate(c){switch(c){case e.BACKGROUND:return i;case e.CIRCLE:return o;case e.FILL:return n;case e.ICON:return s;case e.LINE:return a;case e.OUTLINE:return t;case e.TEXT:return r;default:return null}}}export{u as default};
5
+ import{ShaderProgramType as e}from"../enums.js";import{text as r,outline as t,line as a,icon as s,fill as n,circle as c,background as i}from"./Programs.js";class o{constructor(){this._programByKey=new Map}dispose(){this._programByKey.forEach((e=>e.dispose())),this._programByKey.clear()}getMaterialProgram(e,r,t){const a=r.key<<3|this._getMaterialOptionsValue(r.type,t);if(this._programByKey.has(a))return this._programByKey.get(a);const s=this._getProgramTemplate(r.type),{shaders:n}=s,{vertexShader:c,fragmentShader:i}=n(t),o=r.getShaderHeader(),u=r.getShaderMain(),p=c.replace("#pragma header",o).replace("#pragma main",u),g=e.programCache.acquire(p,i,r.getAttributeLocations());return this._programByKey.set(a,g),g}_getMaterialOptionsValue(r,t){switch(r){case e.BACKGROUND:{const e=t;return(e.pattern?1:0)<<1|(e.id?1:0)}case e.FILL:{const e=t;return(e.pattern?1:0)<<1|(e.id?1:0)}case e.OUTLINE:return t.id?1:0;case e.LINE:{const e=t;return(e.sdf?1:0)<<2|(e.pattern?1:0)<<1|(e.id?1:0)}case e.ICON:{const e=t;return(e.sdf?1:0)<<1|(e.id?1:0)}case e.CIRCLE:return t.id?1:0;case e.TEXT:return t.id?1:0;default:return 0}}_getProgramTemplate(o){switch(o){case e.BACKGROUND:return i;case e.CIRCLE:return c;case e.FILL:return n;case e.ICON:return s;case e.LINE:return a;case e.OUTLINE:return t;case e.TEXT:return r;default:return null}}}export{o 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{clone as t}from"../../../../../core/lang.js";import{urlToObject as e,isAbsolute as i,join as l,addQueryParameters as r}from"../../../../../core/urlUtils.js";import s from"../../../../../geometry/Extent.js";import{readServiceTileInfo as o}from"../../../../../layers/support/serviceTileInfoProperty.js";import{TilemapCache as n}from"../../../../../layers/support/TilemapCache.js";import a from"../TilemapIndex.js";import p from"../TilemapRequest.js";class u{constructor(u,h,c){this.tilemap=null,this.tileInfo=null,this.capabilities=null,this.fullExtent=null,this.name=u,this.sourceUrl=h;const m=e(this.sourceUrl),f=t(c),d=f.tiles;if(m)for(let t=0;t<d.length;t++){const s=e(d[t]);s&&(i(s.path)||(s.path=l(m.path,s.path)),d[t]=r(s.path,{...m.query,...s.query}))}this.tileServers=d;const g=c.capabilities&&c.capabilities.split(",").map((t=>t.toLowerCase().trim())),x=!0===(null==c?void 0:c.exportTilesAllowed),y=!0===(null==g?void 0:g.includes("tilemap")),v=x&&c.hasOwnProperty("maxExportTilesCount")?c.maxExportTilesCount:0;this.capabilities={operations:{supportsExportTiles:x,supportsTileMap:y},exportTiles:x?{maxExportTilesCount:+v}:null},this.tileInfo=o(f.tileInfo,f,null,{ignoreMinMaxLOD:!0});const T=c.tileMap?r(l(m.path,c.tileMap),m.query):null;y?(this.type="vector-tile",this.tilemap=new p(new n({layer:{parsedUrl:m,tileInfo:this.tileInfo,type:"vector-tile",tileServers:this.tileServers}}),T)):T&&(this.tilemap=new a(T)),this.fullExtent=s.fromJSON(c.fullExtent)}async getRefKey(t,e){var i,l;return null!=(i=null==(l=this.tilemap)?void 0:l.dataKey(t,e))?i:t}getSourceTileUrl(t,e,i){return this.tileServers[e%this.tileServers.length].replace(/\{z\}/gi,t.toString()).replace(/\{y\}/gi,e.toString()).replace(/\{x\}/gi,i.toString())}isCompatibleWith(t){const e=this.tileInfo,i=t.tileInfo;if(!e.spatialReference.equals(i.spatialReference))return!1;if(!e.origin.equals(i.origin))return!1;if(Math.round(e.dpi)!==Math.round(i.dpi))return!1;const l=e.lods,r=i.lods,s=Math.min(l.length,r.length);for(let o=0;o<s;o++){const t=l[o],e=r[o];if(t.level!==e.level||Math.round(t.scale)!==Math.round(e.scale))return!1}return!0}}export{u as default};
5
+ import{clone as t}from"../../../../../core/lang.js";import{urlToObject as e,isAbsolute as i,join as l,addQueryParameters as r}from"../../../../../core/urlUtils.js";import s from"../../../../../geometry/Extent.js";import{readServiceTileInfo as o}from"../../../../../layers/support/serviceTileInfoProperty.js";import{TilemapCache as n}from"../../../../../layers/support/TilemapCache.js";import a from"../TilemapIndex.js";import p from"../TilemapRequest.js";import{request as u}from"./VectorTilesRequestManager.js";class h{constructor(u,h,m){this.tilemap=null,this.tileInfo=null,this.capabilities=null,this.fullExtent=null,this.name=u,this.sourceUrl=h;const f=e(this.sourceUrl),c=t(m),d=c.tiles;if(f)for(let t=0;t<d.length;t++){const s=e(d[t]);s&&(i(s.path)||(s.path=l(f.path,s.path)),d[t]=r(s.path,{...f.query,...s.query}))}this.tileServers=d;const x=m.capabilities&&m.capabilities.split(",").map((t=>t.toLowerCase().trim())),y=!0===(null==m?void 0:m.exportTilesAllowed),v=!0===(null==x?void 0:x.includes("tilemap")),T=y&&m.hasOwnProperty("maxExportTilesCount")?m.maxExportTilesCount:0;this.capabilities={operations:{supportsExportTiles:y,supportsTileMap:v},exportTiles:y?{maxExportTilesCount:+T}:null},this.tileInfo=o(c.tileInfo,c,null,{ignoreMinMaxLOD:!0});const g=m.tileMap?r(l(f.path,m.tileMap),f.query):null;v?(this.type="vector-tile",this.tilemap=new p(new n({layer:{parsedUrl:f,tileInfo:this.tileInfo,type:"vector-tile",tileServers:this.tileServers}}),g)):g&&(this.tilemap=new a(g)),this.fullExtent=s.fromJSON(m.fullExtent)}destroy(){}async getRefKey(t,e){var i,l;return null!=(i=null==(l=this.tilemap)?void 0:l.dataKey(t,e))?i:t}requestTile(t,e,i,l){const r=this.tileServers[e%this.tileServers.length];return u(r,t,e,i,l)}isCompatibleWith(t){const e=this.tileInfo,i=t.tileInfo;if(!e.spatialReference.equals(i.spatialReference))return!1;if(!e.origin.equals(i.origin))return!1;if(Math.round(e.dpi)!==Math.round(i.dpi))return!1;const l=e.lods,r=i.lods,s=Math.min(l.length,r.length);for(let o=0;o<s;o++){const t=l[o],e=r[o];if(t.level!==e.level||Math.round(t.scale)!==Math.round(e.scale))return!1}return!0}}export{h as default};
@@ -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 e from"../../../../../request.js";import{cloneArray as t}from"../../../../../core/typedArrayUtil.js";const r=new Map;function n(e,n,c,i,a){const p=e.replace(/\{z\}/gi,n.toString()).replace(/\{y\}/gi,c.toString()).replace(/\{x\}/gi,i.toString()),s=r.get(p);return s?s.then((e=>t(e))):o(p,a)}function o(t,n){const o=e(t,{responseType:"array-buffer",...n}).then((({data:e})=>(r.delete(t),e))).catch((e=>{throw r.delete(t),e}));return r.set(t,o),o}export{n as request};
@@ -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{disposeMaybe as r}from"../../../../core/maybe.js";import{PosTex2b as t}from"./DefaultVertexAttributeLayouts.js";import{bitBlit as e}from"./shaders/BitBlitPrograms.js";import{BufferObject as i}from"../../../webgl/BufferObject.js";import{BlendFactor as s,PrimitiveType as o,Usage as a}from"../../../webgl/enums.js";import{createProgram as m}from"../../../webgl/ProgramTemplate.js";import{VertexArrayObject as n}from"../../../webgl/VertexArrayObject.js";class _{constructor(){this._initialized=!1}dispose(){this._program=r(this._program),this._vertexArrayObject=r(this._vertexArrayObject)}render(r,t,e,i){r&&(this._initialized||this._initialize(r),r.setBlendFunctionSeparate(s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA),r.bindVAO(this._vertexArrayObject),r.useProgram(this._program),t.setSamplingMode(e),r.bindTexture(t,0),this._program.setUniform1i("u_tex",0),this._program.setUniform1f("u_opacity",i),r.drawArrays(o.TRIANGLE_STRIP,0,4),r.bindTexture(null,0),r.bindVAO())}_initialize(r){if(this._initialized)return!0;const s=e.attributes,o=m(r,e);if(!o)return!1;const _=new Int8Array(16);_[0]=-1,_[1]=-1,_[2]=0,_[3]=0,_[4]=1,_[5]=-1,_[6]=1,_[7]=0,_[8]=-1,_[9]=1,_[10]=0,_[11]=1,_[12]=1,_[13]=1,_[14]=1,_[15]=1;const p=new n(r,s,t,{geometry:i.createVertex(r,a.STATIC_DRAW,_)});return this._program=o,this._vertexArrayObject=p,this._initialized=!0,!0}}export{_ as BitBlitRenderer};
5
+ import{disposeMaybe as r}from"../../../../core/maybe.js";import{PosTex2b as t}from"./DefaultVertexAttributeLayouts.js";import{bitBlit as e}from"./shaders/BitBlitPrograms.js";import{BufferObject as i}from"../../../webgl/BufferObject.js";import{BlendFactor as s,PrimitiveType as o,Usage as a}from"../../../webgl/enums.js";import{createProgram as m}from"../../../webgl/ProgramTemplate.js";import{VertexArrayObject as n}from"../../../webgl/VertexArrayObject.js";class _{constructor(){this._initialized=!1}dispose(){this._program=r(this._program),this._vertexArrayObject=r(this._vertexArrayObject)}render(r,t,e,i){r&&(this._initialized||this._initialize(r),r.setBlendFunctionSeparate(s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA),r.bindVAO(this._vertexArrayObject),r.useProgram(this._program),t.setSamplingMode(e),r.bindTexture(t,0),this._program.setUniform1i("u_tex",0),this._program.setUniform1f("u_opacity",i),r.drawArrays(o.TRIANGLE_STRIP,0,4),r.bindTexture(null,0),r.bindVAO())}_initialize(r){if(this._initialized)return!0;const s=m(r,e);if(!s)return!1;const o=new Int8Array(16);o[0]=-1,o[1]=-1,o[2]=0,o[3]=0,o[4]=1,o[5]=-1,o[6]=1,o[7]=0,o[8]=-1,o[9]=1,o[10]=0,o[11]=1,o[12]=1,o[13]=1,o[14]=1,o[15]=1;const _=e.attributes,p=new n(r,_,t,{geometry:i.createVertex(r,a.STATIC_DRAW,o)});return this._program=s,this._vertexArrayObject=p,this._initialized=!0,!0}}export{_ as BitBlitRenderer};
@@ -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{isSome as r}from"../../../../core/maybe.js";import{WGLDrawPhase as e}from"./enums.js";import{createProgramTemplate as t}from"./shaders/MaterialPrograms.js";import{ProgramCache as a}from"../../../webgl/ProgramCache.js";const o=r=>r===e.HITTEST||r===e.LABEL_ALPHA,s=r=>(o(r)?1:0)|(r===e.HIGHLIGHT?2:0),i=({rendererInfo:e,drawPhase:t},a,o,i)=>`${a.getVariationHash()}-${i.join(".")}-${s(t)}-${e.getVariationHash()}-${r(o)&&o.join(".")}`,n=(t,a,s,i)=>{const n=i.reduce(((r,e)=>({...r,[e]:t.context.driverTest[e]})),{}),g={...a.getVariation(),...t.rendererInfo.getVariation(),highlight:t.drawPhase===e.HIGHLIGHT,id:o(t.drawPhase),...n};if(r(s))for(const r of s)g[r]=!0;return g};class g{constructor(r){this._programByKey=new Map,this._programCache=new a(r)}dispose(){this._programCache&&this._programCache.dispose()}getProgram(r,e,a=[],o=[]){const s=e.vsPath+"."+e.fsPath+JSON.stringify(a)+o.join(".");if(this._programByKey.has(s))return this._programByKey.get(s);const i=o.reduce(((e,t)=>({...e,[t]:r.context.driverTest[t]})),{}),n={...a.map((r=>"string"==typeof r?{name:r,value:!0}:r)).reduce(((r,e)=>({...r,[e.name]:e.value})),{}),...i},{vsPath:g,fsPath:h,attributes:m}=e,p=this._programCache.getProgram(t(g,h,m),n);if(!p)throw new Error("Unable to get program for key: ${key}");return this._programByKey.set(s,p),p}getMaterialProgram(r,e,a,o,s,g=["ignoresSamplerPrecision"]){const h=i(r,e,s,g);if(this._programByKey.has(h))return this._programByKey.get(h);const m=n(r,e,s,g),p=this._programCache.getProgram(t(a,a,o),m);if(!p)throw new Error("Unable to get program for key: ${key}");return this._programByKey.set(h,p),p}}export{g as default};
5
+ import{isSome as r}from"../../../../core/maybe.js";import{WGLDrawPhase as e}from"./enums.js";import{createProgramTemplate as t}from"./shaders/MaterialPrograms.js";const a=r=>r===e.HITTEST||r===e.LABEL_ALPHA,s=r=>(a(r)?1:0)|(r===e.HIGHLIGHT?2:0),o=({rendererInfo:e,drawPhase:t},a,o,i)=>`${a.getVariationHash()}-${i.join(".")}-${s(t)}-${e.getVariationHash()}-${r(o)&&o.join(".")}`,i=(t,s,o,i)=>{const h=i.reduce(((r,e)=>({...r,[e]:t.context.driverTest[e]})),{}),n={...s.getVariation(),...t.rendererInfo.getVariation(),highlight:t.drawPhase===e.HIGHLIGHT,id:a(t.drawPhase),...h};if(r(o))for(const r of o)n[r]=!0;return n};class h{constructor(r){this._rctx=r,this._programByKey=new Map}dispose(){this._programByKey.forEach((r=>r.dispose())),this._programByKey.clear()}getProgram(r,e,a=[],s=[]){const o=e.vsPath+"."+e.fsPath+JSON.stringify(a)+s.join(".");if(this._programByKey.has(o))return this._programByKey.get(o);const i=s.reduce(((e,t)=>({...e,[t]:r.context.driverTest[t]})),{}),h={...a.map((r=>"string"==typeof r?{name:r,value:!0}:r)).reduce(((r,e)=>({...r,[e.name]:e.value})),{}),...i},{vsPath:n,fsPath:g,attributes:m}=e,c=t(n,g,m,h),y=this._rctx.programCache.acquire(c.shaders.vertexShader,c.shaders.fragmentShader,c.attributes);if(!y)throw new Error("Unable to get program for key: ${key}");return this._programByKey.set(o,y),y}getMaterialProgram(r,e,a,s,h,n=["ignoresSamplerPrecision"]){const g=o(r,e,h,n);if(this._programByKey.has(g))return this._programByKey.get(g);const m=i(r,e,h,n),c=t(a,a,s,m),y=this._rctx.programCache.acquire(c.shaders.vertexShader,c.shaders.fragmentShader,c.attributes);if(!y)throw new Error("Unable to get program for key: ${key}");return this._programByKey.set(g,y),y}}export{h as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- var e,t;function r(t){switch(t){case"left":return e.Left;case"right":return e.Right;case"center":case"justify":return e.Center}}function n(e){switch(e){case"top":return t.Top;case"middle":return t.Center;case"baseline":return t.Baseline;case"bottom":return t.Bottom}}function a(r){switch(r){case"above-left":case"esriServerPointLabelPlacementAboveLeft":return[e.Right,t.Bottom];case"above-center":case"above-along":case"esriServerPointLabelPlacementAboveCenter":case"esriServerLinePlacementAboveAlong":return[e.Center,t.Bottom];case"above-right":case"esriServerPointLabelPlacementAboveRight":return[e.Left,t.Bottom];case"center-left":case"esriServerPointLabelPlacementCenterLeft":return[e.Right,t.Center];case"center-center":case"center-along":case"esriServerPointLabelPlacementCenterCenter":case"esriServerLinePlacementCenterAlong":case"always-horizontal":case"esriServerPolygonPlacementAlwaysHorizontal":return[e.Center,t.Center];case"center-right":case"esriServerPointLabelPlacementCenterRight":return[e.Left,t.Center];case"below-left":case"esriServerPointLabelPlacementBelowLeft":return[e.Right,t.Top];case"below-center":case"below-along":case"esriServerPointLabelPlacementBelowCenter":case"esriServerLinePlacementBelowAlong":return[e.Center,t.Top];case"below-right":case"esriServerPointLabelPlacementBelowRight":return[e.Left,t.Top];default:return console.debug(`Found invalid placement type ${r}`),[e.Center,t.Center]}}function c(t){switch(t){case e.Right:return-1;case e.Center:return 0;case e.Left:return 1;default:return console.debug(`Found invalid horizontal alignment ${t}`),0}}function o(e){switch(e){case t.Top:return 1;case t.Center:return 0;case t.Bottom:case t.Baseline:return-1;default:return console.debug(`Found invalid vertical alignment ${e}`),0}}function s(t){switch(t){case"left":return e.Left;case"right":return e.Right;case"center":case"justify":return e.Center}}!function(e){e[e.Left=-1]="Left",e[e.Center=0]="Center",e[e.Right=1]="Right"}(e||(e={})),function(e){e[e.Top=1]="Top",e[e.Center=0]="Center",e[e.Bottom=-1]="Bottom",e[e.Baseline=2]="Baseline"}(t||(t={}));export{e as HAlign,t as VAlign,a as getAlignmentFromPlacement,s as getJustification,r as getXAnchorDirection,c as getXDirection,n as getYAnchorDirection,o as getYDirection};
5
+ var e,t;function r(t){switch(t){case"left":return e.Left;case"right":return e.Right;case"center":case"justify":return e.Center}}function n(e){switch(e){case"top":return t.Top;case"middle":return t.Center;case"baseline":return t.Baseline;case"bottom":return t.Bottom}}function a(r){switch(r){case"above-left":case"esriServerPointLabelPlacementAboveLeft":return[e.Right,t.Bottom];case"above-center":case"above-along":case"esriServerPointLabelPlacementAboveCenter":case"esriServerLinePlacementAboveAlong":return[e.Center,t.Bottom];case"above-right":case"esriServerPointLabelPlacementAboveRight":return[e.Left,t.Bottom];case"center-left":case"esriServerPointLabelPlacementCenterLeft":return[e.Right,t.Center];case"center-center":case"center-along":case"esriServerPointLabelPlacementCenterCenter":case"esriServerLinePlacementCenterAlong":case"always-horizontal":case"esriServerPolygonPlacementAlwaysHorizontal":return[e.Center,t.Center];case"center-right":case"esriServerPointLabelPlacementCenterRight":return[e.Left,t.Center];case"below-left":case"esriServerPointLabelPlacementBelowLeft":return[e.Right,t.Top];case"below-center":case"below-along":case"esriServerPointLabelPlacementBelowCenter":case"esriServerLinePlacementBelowAlong":return[e.Center,t.Top];case"below-right":case"esriServerPointLabelPlacementBelowRight":return[e.Left,t.Top];default:return console.debug(`Found invalid placement type ${r}`),[e.Center,t.Center]}}function c(t){switch(t){case e.Right:return-1;case e.Center:return 0;case e.Left:return 1;default:return console.debug(`Found invalid horizontal alignment ${t}`),0}}function o(e){switch(e){case t.Top:return 1;case t.Center:return 0;case t.Bottom:case t.Baseline:return-1;default:return console.debug(`Found invalid vertical alignment ${e}`),0}}function s(t){switch(t){case"left":return e.Left;case"right":return e.Right;case"center":case"justify":return e.Center}}function i(e){switch(e){case"above-along":case"below-along":case"center-along":case"esriServerLinePlacementAboveAlong":case"esriServerLinePlacementBelowAlong":case"esriServerLinePlacementCenterAlong":return!0;default:return!1}}!function(e){e[e.Left=-1]="Left",e[e.Center=0]="Center",e[e.Right=1]="Right"}(e||(e={})),function(e){e[e.Top=1]="Top",e[e.Center=0]="Center",e[e.Bottom=-1]="Bottom",e[e.Baseline=2]="Baseline"}(t||(t={}));export{e as HAlign,t as VAlign,a as getAlignmentFromPlacement,s as getJustification,r as getXAnchorDirection,c as getXDirection,n as getYAnchorDirection,o as getYDirection,i as isMapAligned};
@@ -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/Error.js";import r from"../../../../../core/Logger.js";import{isSome as t}from"../../../../../core/maybe.js";import{WGLDrawPhase as s}from"../enums.js";import i from"../VertexStream.js";import{blend as o}from"../shaders/BlendPrograms.js";import{BlendFactor as a,TextureType as n,PixelFormat as d,PixelType as u,TextureWrapMode as m,TextureSamplingMode as c}from"../../../../webgl/enums.js";import{ProgramCache as f}from"../../../../webgl/ProgramCache.js";import{Texture as h}from"../../../../webgl/Texture.js";const l=r.getLogger("esri.views.2d.engine.webgl.effects.blendEffects.BlendEffect");class _{constructor(){this._size=[0,0]}dispose(e){this._backBufferTexture&&(this._backBufferTexture.dispose(),this._backBufferTexture=null),this._programCache&&(this._programCache.dispose(),this._programCache=null),this._quad&&(this._quad.dispose(),this._quad=null)}draw(r,t,i,n,d){const{context:u,drawPhase:m}=r;if(this._setupShader(u),n&&"normal"!==n&&m!==s.LABEL)return void this._drawBlended(r,t,i,n,d);const c=this._programCache.getProgram(o,"normal");if(!c)return void l.error(new e("mapview-BlendEffect",'Error creating shader program for blend mode "normal"'));u.useProgram(c),t.setSamplingMode(i),u.bindTexture(t,0),c.setUniform1i("u_layerTexture",0),c.setUniform1f("u_opacity",d),u.setBlendingEnabled(!0),u.setBlendFunction(a.ONE,a.ONE_MINUS_SRC_ALPHA);const f=this._quad;f.draw(),f.unbind()}_drawBlended(r,s,i,n,d){const{context:u,state:m,pixelRatio:c,inFadeTransition:f}=r,{size:h}=m,_=u.getBoundFramebufferObject();let p,g;if(t(_)){const e=_.descriptor;p=e.width,g=e.height}else p=Math.round(c*h[0]),g=Math.round(c*h[1]);this._createOrResizeTexture(r,p,g);const b=this._backBufferTexture;_.copyToTexture(0,0,p,g,0,0,b),u.setStencilTestEnabled(!1),u.setStencilWriteMask(0),u.setBlendingEnabled(!0),u.setDepthTestEnabled(!1),u.setDepthWriteEnabled(!1);const T=this._programCache.getProgram(o,n);if(!T)return void l.error(new e("mapview-BlendEffect",`Error creating shader program for blend mode ${n}`));u.useProgram(T),b.setSamplingMode(i),u.bindTexture(b,0),T.setUniform1i("u_backbufferTexture",0),s.setSamplingMode(i),u.bindTexture(s,1),T.setUniform1i("u_layerTexture",1),T.setUniform1f("u_opacity",d),T.setUniform1f("u_inFadeOpacity",f?1:0),u.setBlendFunction(a.ONE,a.ZERO);const E=this._quad;E.draw(),E.unbind(),u.setBlendFunction(a.ONE,a.ONE_MINUS_SRC_ALPHA)}_setupShader(e){this._programCache||(this._programCache=new f(e),this._quad||(this._quad=new i(e,[-1,-1,1,-1,-1,1,1,1])))}_createOrResizeTexture(e,r,t){const{context:s}=e;null!==this._backBufferTexture&&r===this._size[0]&&t===this._size[1]||(this._backBufferTexture?this._backBufferTexture.resize(r,t):this._backBufferTexture=new h(s,{target:n.TEXTURE_2D,pixelFormat:d.RGBA,internalFormat:d.RGBA,dataType:u.UNSIGNED_BYTE,wrapMode:m.CLAMP_TO_EDGE,samplingMode:c.LINEAR,flipped:!1,width:r,height:t}),this._size[0]=r,this._size[1]=t)}}export{_ as BlendEffect};
5
+ import e from"../../../../../core/Error.js";import r from"../../../../../core/Logger.js";import{disposeMaybe as t,isSome as s}from"../../../../../core/maybe.js";import{WGLDrawPhase as i}from"../enums.js";import a from"../VertexStream.js";import{createProgramTemplate as n}from"../shaders/BlendPrograms.js";import{BlendFactor as o,TextureType as d,PixelFormat as u,PixelType as f,TextureWrapMode as c,TextureSamplingMode as m}from"../../../../webgl/enums.js";import{Texture as h}from"../../../../webgl/Texture.js";const l=r.getLogger("esri.views.2d.engine.webgl.effects.blendEffects.BlendEffect");class _{constructor(){this._size=[0,0]}dispose(e){this._backBufferTexture=t(this._backBufferTexture),this._quad=t(this._quad)}draw(r,t,s,a,d){const{context:u,drawPhase:f}=r;if(this._setupShader(u),a&&"normal"!==a&&f!==i.LABEL)return void this._drawBlended(r,t,s,a,d);const c=n("normal"),m=u.programCache.acquire(c.shaders.vertexShader,c.shaders.fragmentShader,c.attributes);if(!m)return void l.error(new e("mapview-BlendEffect",'Error creating shader program for blend mode "normal"'));u.useProgram(m),t.setSamplingMode(s),u.bindTexture(t,0),m.setUniform1i("u_layerTexture",0),m.setUniform1f("u_opacity",d),u.setBlendingEnabled(!0),u.setBlendFunction(o.ONE,o.ONE_MINUS_SRC_ALPHA);const h=this._quad;h.draw(),h.unbind(),m.dispose()}_drawBlended(r,t,i,a,d){const{context:u,state:f,pixelRatio:c,inFadeTransition:m}=r,{size:h}=f,_=u.getBoundFramebufferObject();let p,b;if(s(_)){const e=_.descriptor;p=e.width,b=e.height}else p=Math.round(c*h[0]),b=Math.round(c*h[1]);this._createOrResizeTexture(r,p,b);const g=this._backBufferTexture;_.copyToTexture(0,0,p,b,0,0,g),u.setStencilTestEnabled(!1),u.setStencilWriteMask(0),u.setBlendingEnabled(!0),u.setDepthTestEnabled(!1),u.setDepthWriteEnabled(!1);const x=n(a),E=u.programCache.acquire(x.shaders.vertexShader,x.shaders.fragmentShader,x.attributes);if(!E)return void l.error(new e("mapview-BlendEffect",`Error creating shader program for blend mode ${a}`));u.useProgram(E),g.setSamplingMode(i),u.bindTexture(g,0),E.setUniform1i("u_backbufferTexture",0),t.setSamplingMode(i),u.bindTexture(t,1),E.setUniform1i("u_layerTexture",1),E.setUniform1f("u_opacity",d),E.setUniform1f("u_inFadeOpacity",m?1:0),u.setBlendFunction(o.ONE,o.ZERO);const T=this._quad;T.draw(),T.unbind(),E.dispose(),u.setBlendFunction(o.ONE,o.ONE_MINUS_SRC_ALPHA)}_setupShader(e){this._quad||(this._quad=new a(e,[-1,-1,1,-1,-1,1,1,1]))}_createOrResizeTexture(e,r,t){const{context:s}=e;null!==this._backBufferTexture&&r===this._size[0]&&t===this._size[1]||(this._backBufferTexture?this._backBufferTexture.resize(r,t):this._backBufferTexture=new h(s,{target:d.TEXTURE_2D,pixelFormat:u.RGBA,internalFormat:u.RGBA,dataType:f.UNSIGNED_BYTE,wrapMode:c.CLAMP_TO_EDGE,samplingMode:m.LINEAR,flipped:!1,width:r,height:t}),this._size[0]=r,this._size[1]=t)}}export{_ as BlendEffect};
@@ -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 t from"../../../../../core/Error.js";import{WGLVVFlag as e,WGLVVTarget as i,WGLGeometryType as s}from"../enums.js";import{isMapAligned as a}from"../mesh/templates/meshUtils.js";function r(t,s){const a=e.SIZE_FIELD_STOPS|e.SIZE_MINMAX_VALUE|e.SIZE_SCALE_STOPS|e.SIZE_UNIT_VALUE,r=(t&(i.FIELD_TARGETS_OUTLINE|i.MINMAX_TARGETS_OUTLINE|i.SCALE_TARGETS_OUTLINE|i.UNIT_TARGETS_OUTLINE))>>>4;return s.isOutline||s.isOutlinedFill?a&r:a&~r}const n=0,v=8,o=7,l=8,h=11,S=11,u=12,d=13,V=14,c=15,p=15,g=16,z=17,m=18,y=19,E=20,T=21,M=22;function L(t,e){switch(t){case s.FILL:return x.from(e);case s.LINE:return B.from(e);case s.MARKER:return U.from(e);case s.TEXT:return R.from(e);case s.LABEL:return b.from(e);default:throw new Error(`Unable to createMaterialKey for unknown geometryType ${t}`)}}function F(t){switch(_.load(t).geometryType){case s.MARKER:return new U(t);case s.FILL:return new x(t);case s.LINE:return new B(t);case s.TEXT:return new R(t);case s.LABEL:return new b(t)}}class _{constructor(t){this._data=0,this._data=t}static load(t){const e=this.shared;return e.data=t,e}set data(t){this._data=t}get data(){return this._data}get geometryType(){return this.bits(l,h)}set geometryType(t){this.setBits(t,l,h)}get mapAligned(){return!!this.bit(E)}set mapAligned(t){this.setBit(E,t)}get sdf(){return!!this.bit(S)}set sdf(t){this.setBit(S,t)}get pattern(){return!!this.bit(u)}set pattern(t){this.setBit(u,t)}get textureBinding(){return this.bits(n,v)}set textureBinding(t){this.setBits(t,n,v)}get geometryTypeString(){switch(this.geometryType){case s.FILL:return"fill";case s.MARKER:return"marker";case s.LINE:return"line";case s.TEXT:return"text";case s.LABEL:return"label";default:throw new t(`Unable to handle unknown geometryType: ${this.geometryType}`)}}setBit(t,e){const i=1<<t;e?this._data|=i:this._data&=~i}bit(t){return(this._data&1<<t)>>t}setBits(t,e,i){for(let s=e,a=0;s<i;s++,a++)this.setBit(s,0!=(t&1<<a))}bits(t,e){let i=0;for(let s=t,a=0;s<e;s++,a++)i|=this.bit(s)<<a;return i}hasVV(){return!1}setVV(t,e){}getVariation(){return{mapAligned:this.mapAligned,pattern:this.pattern,sdf:this.sdf}}getVariationHash(){return this._data&~(o&this.textureBinding)}}_.shared=new _(0);const I=t=>class extends t{get vvSizeMinMaxValue(){return 0!==this.bit(g)}set vvSizeMinMaxValue(t){this.setBit(g,t)}get vvSizeScaleStops(){return 0!==this.bit(z)}set vvSizeScaleStops(t){this.setBit(z,t)}get vvSizeFieldStops(){return 0!==this.bit(m)}set vvSizeFieldStops(t){this.setBit(m,t)}get vvSizeUnitValue(){return 0!==this.bit(y)}set vvSizeUnitValue(t){this.setBit(y,t)}hasVV(){return super.hasVV()||this.vvSizeMinMaxValue||this.vvSizeScaleStops||this.vvSizeFieldStops||this.vvSizeUnitValue}setVV(t,i){super.setVV(t,i);const s=r(t,i)&t;this.vvSizeMinMaxValue=!!(s&e.SIZE_MINMAX_VALUE),this.vvSizeFieldStops=!!(s&e.SIZE_FIELD_STOPS),this.vvSizeUnitValue=!!(s&e.SIZE_UNIT_VALUE),this.vvSizeScaleStops=!!(s&e.SIZE_SCALE_STOPS)}},O=t=>class extends t{get vvRotation(){return 0!==this.bit(c)}set vvRotation(t){this.setBit(c,t)}hasVV(){return super.hasVV()||this.vvRotation}setVV(t,i){super.setVV(t,i),this.vvRotation=!i.isOutline&&!!(t&e.ROTATION)}},A=t=>class extends t{get vvColor(){return 0!==this.bit(d)}set vvColor(t){this.setBit(d,t)}hasVV(){return super.hasVV()||this.vvColor}setVV(t,i){super.setVV(t,i),this.vvColor=!i.isOutline&&!!(t&e.COLOR)}},f=t=>class extends t{get vvOpacity(){return 0!==this.bit(V)}set vvOpacity(t){this.setBit(V,t)}hasVV(){return super.hasVV()||this.vvOpacity}setVV(t,i){super.setVV(t,i),this.vvOpacity=!i.isOutline&&!!(t&e.OPACITY)}};class x extends(A(f(I(_)))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=s.FILL,e.dotDensity="dot-density"===t.stride.fill,e.simple="simple"===t.stride.fill,e.outlinedFill=t.isOutlinedFill,e.dotDensity||e.setVV(t.vvFlags,t),e.data}getVariation(){return{...super.getVariation(),dotDensity:this.dotDensity,outlinedFill:this.outlinedFill,simple:this.simple,vvColor:this.vvColor,vvOpacity:this.vvOpacity,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}get dotDensity(){return!!this.bit(p)}set dotDensity(t){this.setBit(p,t)}get simple(){return!!this.bit(M)}set simple(t){this.setBit(M,t)}get outlinedFill(){return!!this.bit(T)}set outlinedFill(t){this.setBit(T,t)}}x.shared=new x(0);class U extends(A(f(O(I(_))))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=s.MARKER,e.setVV(t.vvFlags,t),e.data}getVariation(){return{...super.getVariation(),vvColor:this.vvColor,vvRotation:this.vvRotation,vvOpacity:this.vvOpacity,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}U.shared=new U(0);class B extends(A(f(I(_)))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=s.LINE,e.setVV(t.vvFlags,t),e.data}getVariation(){return{...super.getVariation(),vvColor:this.vvColor,vvOpacity:this.vvOpacity,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}B.shared=new B(0);class R extends(A(f(O(I(_))))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=s.TEXT,e.setVV(t.vvFlags,t),e.data}getVariation(){return{...super.getVariation(),vvColor:this.vvColor,vvOpacity:this.vvOpacity,vvRotation:this.vvRotation,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}R.shared=new R(0);class b extends(I(_)){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=s.LABEL,e.setVV(t.vvFlags,t),e.mapAligned=a(t.placement),e.data}getVariation(){return{...super.getVariation(),vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}b.shared=new b(0);export{x as FillMaterialKey,b as LabelMaterialKey,B as LineMaterialKey,U as MarkerMaterialKey,_ as MaterialKeyBase,R as TextMaterialKey,L as createMaterialKey,r as getSizeFlagsMask,F as hydrateMaterialKey};
5
+ import t from"../../../../../core/Error.js";import{isMapAligned as e}from"../alignmentUtils.js";import{WGLVVFlag as i,WGLVVTarget as s,WGLGeometryType as a}from"../enums.js";function r(t,e){const a=i.SIZE_FIELD_STOPS|i.SIZE_MINMAX_VALUE|i.SIZE_SCALE_STOPS|i.SIZE_UNIT_VALUE,r=(t&(s.FIELD_TARGETS_OUTLINE|s.MINMAX_TARGETS_OUTLINE|s.SCALE_TARGETS_OUTLINE|s.UNIT_TARGETS_OUTLINE))>>>4;return e.isOutline||e.isOutlinedFill?a&r:a&~r}const n=0,v=8,o=7,l=8,h=11,S=11,u=12,d=13,V=14,c=15,p=15,g=16,z=17,y=18,m=19,E=20,T=21,M=22;function L(t,e){switch(t){case a.FILL:return x.from(e);case a.LINE:return B.from(e);case a.MARKER:return U.from(e);case a.TEXT:return R.from(e);case a.LABEL:return b.from(e);default:throw new Error(`Unable to createMaterialKey for unknown geometryType ${t}`)}}function F(t){switch(_.load(t).geometryType){case a.MARKER:return new U(t);case a.FILL:return new x(t);case a.LINE:return new B(t);case a.TEXT:return new R(t);case a.LABEL:return new b(t)}}class _{constructor(t){this._data=0,this._data=t}static load(t){const e=this.shared;return e.data=t,e}set data(t){this._data=t}get data(){return this._data}get geometryType(){return this.bits(l,h)}set geometryType(t){this.setBits(t,l,h)}get mapAligned(){return!!this.bit(E)}set mapAligned(t){this.setBit(E,t)}get sdf(){return!!this.bit(S)}set sdf(t){this.setBit(S,t)}get pattern(){return!!this.bit(u)}set pattern(t){this.setBit(u,t)}get textureBinding(){return this.bits(n,v)}set textureBinding(t){this.setBits(t,n,v)}get geometryTypeString(){switch(this.geometryType){case a.FILL:return"fill";case a.MARKER:return"marker";case a.LINE:return"line";case a.TEXT:return"text";case a.LABEL:return"label";default:throw new t(`Unable to handle unknown geometryType: ${this.geometryType}`)}}setBit(t,e){const i=1<<t;e?this._data|=i:this._data&=~i}bit(t){return(this._data&1<<t)>>t}setBits(t,e,i){for(let s=e,a=0;s<i;s++,a++)this.setBit(s,0!=(t&1<<a))}bits(t,e){let i=0;for(let s=t,a=0;s<e;s++,a++)i|=this.bit(s)<<a;return i}hasVV(){return!1}setVV(t,e){}getVariation(){return{mapAligned:this.mapAligned,pattern:this.pattern,sdf:this.sdf}}getVariationHash(){return this._data&~(o&this.textureBinding)}}_.shared=new _(0);const I=t=>class extends t{get vvSizeMinMaxValue(){return 0!==this.bit(g)}set vvSizeMinMaxValue(t){this.setBit(g,t)}get vvSizeScaleStops(){return 0!==this.bit(z)}set vvSizeScaleStops(t){this.setBit(z,t)}get vvSizeFieldStops(){return 0!==this.bit(y)}set vvSizeFieldStops(t){this.setBit(y,t)}get vvSizeUnitValue(){return 0!==this.bit(m)}set vvSizeUnitValue(t){this.setBit(m,t)}hasVV(){return super.hasVV()||this.vvSizeMinMaxValue||this.vvSizeScaleStops||this.vvSizeFieldStops||this.vvSizeUnitValue}setVV(t,e){super.setVV(t,e);const s=r(t,e)&t;this.vvSizeMinMaxValue=!!(s&i.SIZE_MINMAX_VALUE),this.vvSizeFieldStops=!!(s&i.SIZE_FIELD_STOPS),this.vvSizeUnitValue=!!(s&i.SIZE_UNIT_VALUE),this.vvSizeScaleStops=!!(s&i.SIZE_SCALE_STOPS)}},O=t=>class extends t{get vvRotation(){return 0!==this.bit(c)}set vvRotation(t){this.setBit(c,t)}hasVV(){return super.hasVV()||this.vvRotation}setVV(t,e){super.setVV(t,e),this.vvRotation=!e.isOutline&&!!(t&i.ROTATION)}},A=t=>class extends t{get vvColor(){return 0!==this.bit(d)}set vvColor(t){this.setBit(d,t)}hasVV(){return super.hasVV()||this.vvColor}setVV(t,e){super.setVV(t,e),this.vvColor=!e.isOutline&&!!(t&i.COLOR)}},f=t=>class extends t{get vvOpacity(){return 0!==this.bit(V)}set vvOpacity(t){this.setBit(V,t)}hasVV(){return super.hasVV()||this.vvOpacity}setVV(t,e){super.setVV(t,e),this.vvOpacity=!e.isOutline&&!!(t&i.OPACITY)}};class x extends(A(f(I(_)))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=a.FILL,e.dotDensity="dot-density"===t.stride.fill,e.simple="simple"===t.stride.fill,e.outlinedFill=t.isOutlinedFill,e.dotDensity||e.setVV(t.vvFlags,t),e.data}getVariation(){return{...super.getVariation(),dotDensity:this.dotDensity,outlinedFill:this.outlinedFill,simple:this.simple,vvColor:this.vvColor,vvOpacity:this.vvOpacity,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}get dotDensity(){return!!this.bit(p)}set dotDensity(t){this.setBit(p,t)}get simple(){return!!this.bit(M)}set simple(t){this.setBit(M,t)}get outlinedFill(){return!!this.bit(T)}set outlinedFill(t){this.setBit(T,t)}}x.shared=new x(0);class U extends(A(f(O(I(_))))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=a.MARKER,e.setVV(t.vvFlags,t),e.data}getVariation(){return{...super.getVariation(),vvColor:this.vvColor,vvRotation:this.vvRotation,vvOpacity:this.vvOpacity,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}U.shared=new U(0);class B extends(A(f(I(_)))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=a.LINE,e.setVV(t.vvFlags,t),e.data}getVariation(){return{...super.getVariation(),vvColor:this.vvColor,vvOpacity:this.vvOpacity,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}B.shared=new B(0);class R extends(A(f(O(I(_))))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=a.TEXT,e.setVV(t.vvFlags,t),e.data}getVariation(){return{...super.getVariation(),vvColor:this.vvColor,vvOpacity:this.vvOpacity,vvRotation:this.vvRotation,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}R.shared=new R(0);class b extends(I(_)){static load(t){const e=this.shared;return e.data=t,e}static from(t){const i=this.load(0);return i.geometryType=a.LABEL,i.setVV(t.vvFlags,t),i.mapAligned=e(t.placement),i.data}getVariation(){return{...super.getVariation(),vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}b.shared=new b(0);export{x as FillMaterialKey,b as LabelMaterialKey,B as LineMaterialKey,U as MarkerMaterialKey,_ as MaterialKeyBase,R as TextMaterialKey,L as createMaterialKey,r as getSizeFlagsMask,F as hydrateMaterialKey};
@@ -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/Error.js";import t from"../../../../../../core/Logger.js";import{clamp as i}from"../../../../../../core/mathUtils.js";import{unwrap as o,isNone as n}from"../../../../../../core/maybe.js";import{pt2px as s}from"../../../../../../core/screenUtils.js";import{Alignment as r}from"../../../../../../symbols/cim/enums.js";import{getAlignmentFromPlacement as a,getXDirection as l,getYDirection as h}from"../../alignmentUtils.js";import{premultiplyAlphaRGBAArray as c}from"../../color.js";import{TEXT_PLACEMENT_PADDING as m}from"../../definitions.js";import{WGLGeometryType as f}from"../../enums.js";import{i8888to32 as _}from"../../number.js";import{LabelMaterialKey as p}from"../../materialKey/MaterialKey.js";import{isMapAligned as g}from"./meshUtils.js";import{smoothPaths as u,pathDivide as d}from"./segmentUtils.js";import x from"./WGLTextTemplate.js";const y=t.getLogger("esri.views.2d.engine.webgl.WGLLabelTemplate"),b=(t,i="mapview-labeling")=>y.error(new e(i,t)),L=1,P=0,S=4;function v(e,t){const o=!!e.minScale&&t.scaleToZoom(e.minScale)||0;return i(o,0,25.5)}function w(e,t){const o=!!e.maxScale&&t.scaleToZoom(e.maxScale)||255;return i(o,0,25.5)}function M(e){const t=new Map;return i=>(t.has(i)||t.set(i,e(i)),t.get(i))}const Z=M((e=>{let t=0;if(0===e)return 1/0;for(;!(e%2);)t++,e/=2;return t})),A=e=>Math.floor(127*e+127),O=e=>Math.floor(10*e),z=e=>Math.round(e*(254/360));class I extends x{constructor(e,t,i,o){var n,l,h;super(e,i.font.size,i.haloSize||0,i.font.size,i.color&&c(i.color)||0,i.haloColor&&c(i.haloColor)||0,i.horizontalAlignment,i.verticalAlignment,g(t.labelPlacement)?r.MAP:r.SCREEN,i.font.decoration,!1,i.angle||0,i.xoffset,i.yoffset,i.lineWidth,i.lineHeight,null,null,null,null,null),this._outLineLabelAngle=0,this._refPlacementPadding=0,this._refPlacementDirX=0,this._refPlacementDirY=0,this._refOffsetX=0,this._refOffsetY=0,this._zoomLevel=0,this.geometryType=f.LABEL,this._allowOverrun=null!=(n=t.allowOverrun)&&n,this._repeatLabel=null==(l=t.repeatLabel)||l,this._labelPosition=null!=(h=t.labelPosition)?h:"curved";const _=v(t,o),u=w(t,o),d=t.labelPlacement,[x,y]=a(d);this._xAlignD=x,this._yAlignD=y,this._minZoom=_,this._maxZoom=u,this._refPlacementPadding=s(i.haloSize)+m,this._repeatLabelDistance=t.repeatLabelDistance?s(t.repeatLabelDistance):128;const b=p.load(e);b.sdf=!0,this._materialKey=b.data}static fromLabelClass(e,t){if("esriServerLinePlacementCenterAlong"===e.labelPlacement){const t=e.symbol;t.xoffset=0,t.yoffset=0,t.angle=0,t.font.decoration="none"}return new I(e.materialKey,e,e.symbol,t)}get _shapedBox(){return o(this._shapingInfo).bounds}setZoomLevel(e){this._zoomLevel=e}bindReferenceTemplate(e){let t=l(this._xAlignD),i=h(this._yAlignD);if(this._refOffsetX=0,this._refOffsetY=0,n(e))return void(this._refSymbolAndPlacementOffset=_(0,0,A(t),A(i)));if("circle"===e.boundsType&&(t||i)){const e=Math.sqrt(t*t+i*i);t/=e,i/=e}const o=Math.max(e.height,e.width),s=this._refPlacementPadding*S;this._refSymbolAndPlacementOffset=_(s,o,A(t),A(i)),this._referenceSize=o,this._refPlacementDirX=t,this._refPlacementDirY=i,this._refOffsetX=e.xOffset,this._refOffsetY=e.yOffset}_write(e,t){if(n(this._shapingInfo))return;const i=this._shapingInfo,o=t.getDisplayId(),s="esriGeometryPolygon"===t.geometryType?t.readLegacyCentroid():t.readLegacyGeometry();if(s)switch(this.current={out:e,inId:o,inShaping:i,zoomLevel:this._zoomLevel},t.geometryType){case"esriGeometryPolyline":this._placeLineLabels(s);break;case"esriGeometryPoint":case"esriGeometryPolygon":this._placePointLabels(s);break;default:b("mapview-labeling",`Geometry of type ${t.geometryType} is not supported`)}}_isVisible(e,t){const i=O(this.current.zoomLevel);return O(e)<=i&&i<=O(t)}_placePointLabels(e){const{out:t,inId:i,inShaping:o}=this.current;this._writeGlyphs(t,i,e,o)}_placeLineLabels(e){const t=u(e.paths,this.current.inShaping.bounds.width),i=this._placeSubdivGlyphs.bind(this),o=(this._shapedBox.width+this._repeatLabelDistance)/(1<<L);for(const n of t)d(n,o,i,this._repeatLabel)}_placeSubdivGlyphs(e,t,i,o){const n=Z(t),s=this._shapedBox.width/(1<<L),r=Math.sqrt(this._repeatLabelDistance)/(1<<L),a=Math.min(i,o-i),l=Math.log2(a/(r+s/2)),h=0===t?l:Math.min(n,l),c=Math.max(this._minZoom,this.current.zoomLevel+L-h),m=this.current.zoomLevel-c,f=this._shapedBox.width/2*2**m;this.current.inShaping.isMultiline?0===t&&this._placeStraight(e,c):this._allowOverrun&&m<0?this._placeStraightAlong(e,this._minZoom):"parallel"===this._labelPosition?this._placeStraightAlong(e,c):"curved"===this._labelPosition&&this._placeCurved(e,c,f)}_placeStraight(e,t){const{out:i,inId:o,inShaping:n}=this.current;this._writeGlyphs(i,o,e,n,t)}_placeCurved(e,t,i){const{out:o,inId:n}=this.current;o.metricStart(n,t,e.x,e.y,0,0,0,0);const s=e.clone(),r=e.angle*(180/Math.PI)%360,a=(e.angle*(180/Math.PI)+180)%360;this._outLineLabelAngle=z(r),this._placeFirst(s,t,1),this._placeBack(e,s,t,i,1),this._placeForward(e,s,t,i,1),this._outLineLabelAngle=z(a),this._placeFirst(s,t,0),this._placeBack(e,s,t,i,0),this._placeForward(e,s,t,i,0),o.metricEnd()}_placeStraightAlong(e,t){const{out:i,inId:o}=this.current;i.metricStart(o,t,e.x,e.y,0,0,0,0);const n=e.clone(),s=e.angle*(180/Math.PI)%360,r=(e.angle*(180/Math.PI)+180)%360;this._outLineLabelAngle=z(s),this._placeFirst(n,t,1,!0),this._outLineLabelAngle=z(r),this._placeFirst(n,t,0,!0),i.metricEnd()}_placeBack(e,t,i,o,n){const s=e.clone();let r=e.backwardLength+P;for(;s.prev()&&!(r>=o);)this._placeOnSegment(s,t,r,i,-1,n),r+=s.length+P}_placeForward(e,t,i,o,n){const s=e.clone();let r=e.remainingLength+P;for(;s.next()&&!(r>=o);)this._placeOnSegment(s,t,r,i,1,n),r+=s.length+P}_placeFirst(e,t,i,o=!1){const n=e,s=this.current.inShaping,r=s.glyphs,a=this.current.zoomLevel,{out:l,inId:h}=this.current;for(const c of r){const r=c.x>s.bounds.x?i:1-i,m=r*e.remainingLength+(1-r)*e.backwardLength,f=Math.abs(c.x+c.width/2-s.bounds.x),_=Math.max(0,a+Math.log2(f/(m+P))),p=Math.max(t,o?0:_);if(c.maxZoom=25,c.angle=e.angle+(1-i)*Math.PI,c.minZoom=p,this._writeGlyph(l,h,n.x,n.y,c),i&&this._isVisible(c.minZoom,c.maxZoom)){const e=c.bounds;l.metricBoxWrite(e.center[0],e.center[1],e.width,e.height)}}}_placeOnSegment(e,t,i,o,n,s){const r=this.current.inShaping.glyphs,{out:a,inId:l}=this.current,h=this.current.inShaping,c=this.current.zoomLevel,m=e.dx/e.length,f=e.dy/e.length,_={x:e.x+i*-n*m,y:e.y+i*-n*f};for(const p of r){const r=p.x>h.bounds.x?s:1-s;if(!(r&&1===n||!r&&-1===n))continue;const m=Math.abs(p.x+p.width/2-h.bounds.x),f=Math.max(0,c+Math.log2(m/i)-.1),g=Math.max(o,c+Math.log2(m/(i+e.length+P)));if(0!==f&&(p.angle=e.angle+(1-s)*Math.PI,p.minZoom=g,p.maxZoom=f,this._writeGlyph(a,l,_.x,_.y,p),s&&this._isVisible(p.minZoom,p.maxZoom))){const i=p.bounds,o=e.x-t.x,n=e.y-t.y;a.metricBoxWrite(i.center[0]+o,i.center[1]+n,i.width,i.height)}}}_writeGlyphs(e,t,i,o,n=this._minZoom){if(i.x<0||i.x>=512||i.y<0||i.y>=512)return;const s=i.x+this._refOffsetX,r=i.y-this._refOffsetY;for(const c of o.glyphs)c.minZoom=n,c.maxZoom=this._maxZoom,this._writeGlyph(e,t,s,r,c);const a=this._refPlacementDirX,l=this._refPlacementDirY,h=o.boundsT;e.metricStart(t,n,s,r,a,l,this._referenceSize,this._materialKey),e.metricBoxWrite(h.center[0],h.center[1],h.width,h.height),e.metricEnd()}_writeVertexCommon(e,t,i,o){const n=this._color,s=this._haloColor,r=_(0,0,this._size,this._haloSize),a=Math.max(o.minZoom,this._minZoom),l=Math.min(o.maxZoom,this._maxZoom),h=_(O(a),O(l),this._outLineLabelAngle,0);e.vertexWrite(i),e.vertexWrite(t),e.vertexWrite(n),e.vertexWrite(s),e.vertexWrite(r),e.vertexWrite(this._refSymbolAndPlacementOffset),e.vertexWrite(h)}}export{I as default};
5
+ import e from"../../../../../../core/Error.js";import t from"../../../../../../core/Logger.js";import{clamp as i}from"../../../../../../core/mathUtils.js";import{unwrap as o,isNone as n}from"../../../../../../core/maybe.js";import{pt2px as s}from"../../../../../../core/screenUtils.js";import{Alignment as r}from"../../../../../../symbols/cim/enums.js";import{isMapAligned as a,getAlignmentFromPlacement as l,getXDirection as h,getYDirection as c}from"../../alignmentUtils.js";import{premultiplyAlphaRGBAArray as m}from"../../color.js";import{TEXT_PLACEMENT_PADDING as f}from"../../definitions.js";import{WGLGeometryType as _}from"../../enums.js";import{i8888to32 as p}from"../../number.js";import{LabelMaterialKey as g}from"../../materialKey/MaterialKey.js";import{smoothPaths as u,pathDivide as d}from"./segmentUtils.js";import x from"./WGLTextTemplate.js";const y=t.getLogger("esri.views.2d.engine.webgl.WGLLabelTemplate"),b=(t,i="mapview-labeling")=>y.error(new e(i,t)),L=1,P=0,S=4;function v(e,t){const o=!!e.minScale&&t.scaleToZoom(e.minScale)||0;return i(o,0,25.5)}function w(e,t){const o=!!e.maxScale&&t.scaleToZoom(e.maxScale)||255;return i(o,0,25.5)}function M(e){const t=new Map;return i=>(t.has(i)||t.set(i,e(i)),t.get(i))}const Z=M((e=>{let t=0;if(0===e)return 1/0;for(;!(e%2);)t++,e/=2;return t})),A=e=>Math.floor(127*e+127),O=e=>Math.floor(10*e),z=e=>Math.round(e*(254/360));class I extends x{constructor(e,t,i,o){var n,h,c;super(e,i.font.size,i.haloSize||0,i.font.size,i.color&&m(i.color)||0,i.haloColor&&m(i.haloColor)||0,i.horizontalAlignment,i.verticalAlignment,a(t.labelPlacement)?r.MAP:r.SCREEN,i.font.decoration,!1,i.angle||0,i.xoffset,i.yoffset,i.lineWidth,i.lineHeight,null,null,null,null,null),this._outLineLabelAngle=0,this._refPlacementPadding=0,this._refPlacementDirX=0,this._refPlacementDirY=0,this._refOffsetX=0,this._refOffsetY=0,this._zoomLevel=0,this.geometryType=_.LABEL,this._allowOverrun=null!=(n=t.allowOverrun)&&n,this._repeatLabel=null==(h=t.repeatLabel)||h,this._labelPosition=null!=(c=t.labelPosition)?c:"curved";const p=v(t,o),u=w(t,o),d=t.labelPlacement,[x,y]=l(d);this._xAlignD=x,this._yAlignD=y,this._minZoom=p,this._maxZoom=u,this._refPlacementPadding=s(i.haloSize)+f,this._repeatLabelDistance=t.repeatLabelDistance?s(t.repeatLabelDistance):128;const b=g.load(e);b.sdf=!0,this._materialKey=b.data}static fromLabelClass(e,t){if("esriServerLinePlacementCenterAlong"===e.labelPlacement){const t=e.symbol;t.xoffset=0,t.yoffset=0,t.angle=0,t.font.decoration="none"}return new I(e.materialKey,e,e.symbol,t)}get _shapedBox(){return o(this._shapingInfo).bounds}setZoomLevel(e){this._zoomLevel=e}bindReferenceTemplate(e){let t=h(this._xAlignD),i=c(this._yAlignD);if(this._refOffsetX=0,this._refOffsetY=0,n(e))return void(this._refSymbolAndPlacementOffset=p(0,0,A(t),A(i)));if("circle"===e.boundsType&&(t||i)){const e=Math.sqrt(t*t+i*i);t/=e,i/=e}const o=Math.max(e.height,e.width),s=this._refPlacementPadding*S;this._refSymbolAndPlacementOffset=p(s,o,A(t),A(i)),this._referenceSize=o,this._refPlacementDirX=t,this._refPlacementDirY=i,this._refOffsetX=e.xOffset,this._refOffsetY=e.yOffset}_write(e,t){if(n(this._shapingInfo))return;const i=this._shapingInfo,o=t.getDisplayId(),s="esriGeometryPolygon"===t.geometryType?t.readLegacyCentroid():t.readLegacyGeometry();if(s)switch(this.current={out:e,inId:o,inShaping:i,zoomLevel:this._zoomLevel},t.geometryType){case"esriGeometryPolyline":this._placeLineLabels(s);break;case"esriGeometryPoint":case"esriGeometryPolygon":this._placePointLabels(s);break;default:b("mapview-labeling",`Geometry of type ${t.geometryType} is not supported`)}}_isVisible(e,t){const i=O(this.current.zoomLevel);return O(e)<=i&&i<=O(t)}_placePointLabels(e){const{out:t,inId:i,inShaping:o}=this.current;this._writeGlyphs(t,i,e,o)}_placeLineLabels(e){const t=u(e.paths,this.current.inShaping.bounds.width),i=this._placeSubdivGlyphs.bind(this),o=(this._shapedBox.width+this._repeatLabelDistance)/(1<<L);for(const n of t)d(n,o,i,this._repeatLabel)}_placeSubdivGlyphs(e,t,i,o){const n=Z(t),s=this._shapedBox.width/(1<<L),r=Math.sqrt(this._repeatLabelDistance)/(1<<L),a=Math.min(i,o-i),l=Math.log2(a/(r+s/2)),h=0===t?l:Math.min(n,l),c=Math.max(this._minZoom,this.current.zoomLevel+L-h),m=this.current.zoomLevel-c,f=this._shapedBox.width/2*2**m;this.current.inShaping.isMultiline?0===t&&this._placeStraight(e,c):this._allowOverrun&&m<0?this._placeStraightAlong(e,this._minZoom):"parallel"===this._labelPosition?this._placeStraightAlong(e,c):"curved"===this._labelPosition&&this._placeCurved(e,c,f)}_placeStraight(e,t){const{out:i,inId:o,inShaping:n}=this.current;this._writeGlyphs(i,o,e,n,t)}_placeCurved(e,t,i){const{out:o,inId:n}=this.current;o.metricStart(n,t,e.x,e.y,0,0,0,0);const s=e.clone(),r=e.angle*(180/Math.PI)%360,a=(e.angle*(180/Math.PI)+180)%360;this._outLineLabelAngle=z(r),this._placeFirst(s,t,1),this._placeBack(e,s,t,i,1),this._placeForward(e,s,t,i,1),this._outLineLabelAngle=z(a),this._placeFirst(s,t,0),this._placeBack(e,s,t,i,0),this._placeForward(e,s,t,i,0),o.metricEnd()}_placeStraightAlong(e,t){const{out:i,inId:o}=this.current;i.metricStart(o,t,e.x,e.y,0,0,0,0);const n=e.clone(),s=e.angle*(180/Math.PI)%360,r=(e.angle*(180/Math.PI)+180)%360;this._outLineLabelAngle=z(s),this._placeFirst(n,t,1,!0),this._outLineLabelAngle=z(r),this._placeFirst(n,t,0,!0),i.metricEnd()}_placeBack(e,t,i,o,n){const s=e.clone();let r=e.backwardLength+P;for(;s.prev()&&!(r>=o);)this._placeOnSegment(s,t,r,i,-1,n),r+=s.length+P}_placeForward(e,t,i,o,n){const s=e.clone();let r=e.remainingLength+P;for(;s.next()&&!(r>=o);)this._placeOnSegment(s,t,r,i,1,n),r+=s.length+P}_placeFirst(e,t,i,o=!1){const n=e,s=this.current.inShaping,r=s.glyphs,a=this.current.zoomLevel,{out:l,inId:h}=this.current;for(const c of r){const r=c.x>s.bounds.x?i:1-i,m=r*e.remainingLength+(1-r)*e.backwardLength,f=Math.abs(c.x+c.width/2-s.bounds.x),_=Math.max(0,a+Math.log2(f/(m+P))),p=Math.max(t,o?0:_);if(c.maxZoom=25,c.angle=e.angle+(1-i)*Math.PI,c.minZoom=p,this._writeGlyph(l,h,n.x,n.y,c),i&&this._isVisible(c.minZoom,c.maxZoom)){const e=c.bounds;l.metricBoxWrite(e.center[0],e.center[1],e.width,e.height)}}}_placeOnSegment(e,t,i,o,n,s){const r=this.current.inShaping.glyphs,{out:a,inId:l}=this.current,h=this.current.inShaping,c=this.current.zoomLevel,m=e.dx/e.length,f=e.dy/e.length,_={x:e.x+i*-n*m,y:e.y+i*-n*f};for(const p of r){const r=p.x>h.bounds.x?s:1-s;if(!(r&&1===n||!r&&-1===n))continue;const m=Math.abs(p.x+p.width/2-h.bounds.x),f=Math.max(0,c+Math.log2(m/i)-.1),g=Math.max(o,c+Math.log2(m/(i+e.length+P)));if(0!==f&&(p.angle=e.angle+(1-s)*Math.PI,p.minZoom=g,p.maxZoom=f,this._writeGlyph(a,l,_.x,_.y,p),s&&this._isVisible(p.minZoom,p.maxZoom))){const i=p.bounds,o=e.x-t.x,n=e.y-t.y;a.metricBoxWrite(i.center[0]+o,i.center[1]+n,i.width,i.height)}}}_writeGlyphs(e,t,i,o,n=this._minZoom){if(i.x<0||i.x>=512||i.y<0||i.y>=512)return;const s=i.x+this._refOffsetX,r=i.y-this._refOffsetY;for(const c of o.glyphs)c.minZoom=n,c.maxZoom=this._maxZoom,this._writeGlyph(e,t,s,r,c);const a=this._refPlacementDirX,l=this._refPlacementDirY,h=o.boundsT;e.metricStart(t,n,s,r,a,l,this._referenceSize,this._materialKey),e.metricBoxWrite(h.center[0],h.center[1],h.width,h.height),e.metricEnd()}_writeVertexCommon(e,t,i,o){const n=this._color,s=this._haloColor,r=p(0,0,this._size,this._haloSize),a=Math.max(o.minZoom,this._minZoom),l=Math.min(o.maxZoom,this._maxZoom),h=p(O(a),O(l),this._outLineLabelAngle,0);e.vertexWrite(i),e.vertexWrite(t),e.vertexWrite(n),e.vertexWrite(s),e.vertexWrite(r),e.vertexWrite(this._refSymbolAndPlacementOffset),e.vertexWrite(h)}}export{I 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{resolveIncludes as e}from"./sources/resolver.js";const r=e=>e.replace("-","_").toUpperCase(),a=e=>`#define ${r(e)}\n`,t={attributes:new Map([["a_pos",0],["a_tex",1]]),shaders:r=>({vertexShader:a(r)+e("blend/blend.vert"),fragmentShader:a(r)+e("blend/blend.frag")})};export{t as blend};
5
+ import{resolveIncludes as e}from"./sources/resolver.js";const r=e=>e.replace("-","_").toUpperCase(),t=e=>`#define ${r(e)}\n`;function n(r){return{attributes:new Map([["a_pos",0],["a_tex",1]]),shaders:{vertexShader:t(r)+e("blend/blend.vert"),fragmentShader:t(r)+e("blend/blend.frag")}}}export{n as createProgramTemplate};
@@ -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{resolveIncludes as r}from"./sources/resolver.js";import{glslifyDefineMap as t}from"../../../../webgl/programUtils.js";const e=r=>{let t="";t+=r[0].toUpperCase();for(let e=1;e<r.length;e++){const s=r[e];s===s.toUpperCase()?(t+="_",t+=s):t+=s.toUpperCase()}return t},s=r=>{const s={};for(const t in r){s[e(t)]=r[t]}return t(s)},o=(t,e,o)=>{const n=t+t.substring(t.lastIndexOf("/")),a=e+e.substring(e.lastIndexOf("/"));return{attributes:o,shaders:t=>({vertexShader:s(t)+r(`${n}.vert`),fragmentShader:s(t)+r(`${a}.frag`)})}};export{o as createProgramTemplate};
5
+ import{resolveIncludes as r}from"./sources/resolver.js";import{glslifyDefineMap as t}from"../../../../webgl/programUtils.js";const e=r=>{let t="";t+=r[0].toUpperCase();for(let e=1;e<r.length;e++){const s=r[e];s===s.toUpperCase()?(t+="_",t+=s):t+=s.toUpperCase()}return t},s=r=>{const s={};for(const t in r){s[e(t)]=r[t]}return t(s)},o=(t,e,o,n)=>{const a=t+t.substring(t.lastIndexOf("/")),p=e+e.substring(e.lastIndexOf("/"));return{attributes:o,shaders:{vertexShader:s(n)+r(`${a}.vert`),fragmentShader:s(n)+r(`${p}.frag`)}}};export{o as createProgramTemplate};
@@ -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{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import{create as o}from"../../../geometry/support/aaBoundingRect.js";import"../tiling/PagedTileQueue.js";import r from"../tiling/TileInfoView.js";import"../tiling/TileKey.js";import"../tiling/TileQueue.js";import"../tiling/TileStrategy.js";import{LayerView2DMixin as i}from"./LayerView2D.js";import{Display as l}from"./support/Display.js";import n from"../../layers/LayerView.js";import{RefreshableLayerView as a}from"../../layers/RefreshableLayerView.js";const p=new Set,c=[],h=[];class u{constructor(e,t,s,r,i,l,n,a=[0,0],p=o()){this.id=e,this.level=t,this.row=s,this.col=r,this.world=i,this.resolution=l,this.scale=n,this.coords=a,this.bounds=p}}let d=class extends(a(i(n))){constructor(e){super(e),this._tileMap=new Map,this.container=new l(this),this.layer=null,this.tiles=[]}get _tileInfoView(){const e=this.layer&&this.layer.tileInfo;return e?new r(e):null}attach(){}detach(){}requestRender(){this.container.requestRender()}tilesChanged(e,t){}async doRefresh(){}isUpdating(){return!1}update(e){const t=this._tileInfoView,s=this.tiles;if(t){const o=t.getTileCoverage(e.state,0),{spans:r,lodInfo:i}=o,{level:l}=i;if(r.length)for(const{row:e,colFrom:t,colTo:n}of r)for(let o=t;o<=n;o++){const t=i.normalizeCol(o),r=i.getWorldForColumn(o),n=`${l}/${e}/${t}/${r}`;if(!this._tileMap.has(n)){const o=new u(n,l,e,t,r,i.resolution,i.scale);i.getTileCoords(o.coords,o,!1),i.getTileBounds(o.bounds,o,!0),this._tileMap.set(n,o),s.push(o),c.push(o)}p.add(n)}}for(let o=s.length-1;o>=0;o--){const e=s[o];p.has(e.id)||(s.splice(o,1),h.push(e),this._tileMap.delete(e.id))}(c.length||h.length)&&(this.tilesChanged(c,h),c.length=h.length=0),p.clear(),this.requestRender()}moveStart(){}viewChange(){this.requestUpdate()}moveEnd(){}};e([t()],d.prototype,"_tileInfoView",null),e([t()],d.prototype,"layer",void 0),d=e([s("esri.views.2d.layers.BaseLayerView2D")],d);const m=d;export{m as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import{create as o}from"../../../geometry/support/aaBoundingRect.js";import"../tiling/PagedTileQueue.js";import r from"../tiling/TileInfoView.js";import"../tiling/TileKey.js";import"../tiling/TileQueue.js";import"../tiling/TileStrategy.js";import{LayerView2DMixin as i}from"./LayerView2D.js";import{Display as l}from"./support/Display.js";import n from"../../layers/LayerView.js";import{RefreshableLayerView as a}from"../../layers/RefreshableLayerView.js";const p=new Set,c=[],h=[];class u{constructor(e,t,s,r,i,l,n,a=[0,0],p=o()){this.id=e,this.level=t,this.row=s,this.col=r,this.world=i,this.resolution=l,this.scale=n,this.coords=a,this.bounds=p}}let d=class extends(a(i(n))){constructor(e){super(e),this._tileMap=new Map,this.container=new l(this),this.layer=null,this.tiles=[]}get _tileInfoView(){const e=this.layer&&this.layer.tileInfo;return e?new r(e):null}attach(){}detach(){}requestRender(){this.container.requestRender()}tilesChanged(e,t){}supportsSpatialReference(e){var t;const s=null==(t=this.layer)?void 0:t.tileInfo;if(s){const t=s.spatialReference;return e.equals(t)}return!0}async doRefresh(){}isUpdating(){return!1}update(e){const t=this._tileInfoView,s=this.tiles;if(t){const o=t.getTileCoverage(e.state,0),{spans:r,lodInfo:i}=o,{level:l}=i;if(r.length)for(const{row:e,colFrom:t,colTo:n}of r)for(let o=t;o<=n;o++){const t=i.normalizeCol(o),r=i.getWorldForColumn(o),n=`${l}/${e}/${t}/${r}`;if(!this._tileMap.has(n)){const o=new u(n,l,e,t,r,i.resolution,i.scale);i.getTileCoords(o.coords,o,!1),i.getTileBounds(o.bounds,o,!0),this._tileMap.set(n,o),s.push(o),c.push(o)}p.add(n)}}for(let o=s.length-1;o>=0;o--){const e=s[o];p.has(e.id)||(s.splice(o,1),h.push(e),this._tileMap.delete(e.id))}(c.length||h.length)&&(this.tilesChanged(c,h),c.length=h.length=0),p.clear(),this.requestRender()}moveStart(){}viewChange(){this.requestUpdate()}moveEnd(){}};e([t()],d.prototype,"_tileInfoView",null),e([t()],d.prototype,"layer",void 0),d=e([s("esri.views.2d.layers.BaseLayerView2D")],d);const m=d;export{m as default};