@arcgis/coding-components 4.29.0-beta.11 → 4.29.0-beta.110

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 (404) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +6 -2
  3. package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +6 -1
  4. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.ar.json +8 -8
  5. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.bg.json +8 -8
  6. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.bs.json +8 -8
  7. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.ca.json +8 -8
  8. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.cs.json +8 -8
  9. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.da.json +8 -8
  10. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.de.json +8 -8
  11. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.el.json +8 -8
  12. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.en.json +8 -8
  13. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.es.json +8 -8
  14. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.et.json +8 -8
  15. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.fi.json +8 -8
  16. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.fr.json +8 -8
  17. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.he.json +8 -8
  18. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.hr.json +8 -8
  19. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.hu.json +8 -8
  20. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.id.json +8 -8
  21. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.it.json +8 -8
  22. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.ja.json +8 -8
  23. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.ko.json +8 -8
  24. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.lt.json +8 -8
  25. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.lv.json +8 -8
  26. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.nb.json +8 -8
  27. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.nl.json +8 -8
  28. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.pl.json +8 -8
  29. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.pt-BR.json +8 -8
  30. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.pt-PT.json +8 -8
  31. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.ro.json +8 -8
  32. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.ru.json +8 -8
  33. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.sk.json +8 -8
  34. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.sl.json +8 -8
  35. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.sr.json +8 -8
  36. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.sv.json +8 -8
  37. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.th.json +8 -8
  38. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.tr.json +8 -8
  39. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.uk.json +8 -8
  40. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.vi.json +8 -8
  41. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.zh-CN.json +8 -8
  42. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.zh-HK.json +8 -8
  43. package/dist/arcgis-coding-components/assets/arcade-api/t9n/arcade-api.t9n.zh-TW.json +8 -8
  44. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.ar.json +8 -8
  45. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.bg.json +8 -8
  46. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.bs.json +8 -8
  47. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.ca.json +8 -8
  48. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.cs.json +8 -8
  49. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.da.json +8 -8
  50. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.de.json +8 -8
  51. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.el.json +8 -8
  52. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.en.json +8 -8
  53. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.es.json +8 -8
  54. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.et.json +8 -8
  55. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.fi.json +8 -8
  56. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.fr.json +8 -8
  57. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.he.json +8 -8
  58. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.hr.json +8 -8
  59. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.hu.json +8 -8
  60. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.id.json +8 -8
  61. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.it.json +8 -8
  62. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.ja.json +8 -8
  63. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.ko.json +8 -8
  64. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.lt.json +8 -8
  65. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.lv.json +8 -8
  66. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.nb.json +8 -8
  67. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.nl.json +8 -8
  68. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.pl.json +8 -8
  69. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.pt-BR.json +8 -8
  70. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.pt-PT.json +8 -8
  71. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.ro.json +8 -8
  72. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.ru.json +8 -8
  73. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.sk.json +8 -8
  74. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.sl.json +8 -8
  75. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.sr.json +8 -8
  76. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.sv.json +8 -8
  77. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.th.json +8 -8
  78. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.tr.json +8 -8
  79. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.uk.json +8 -8
  80. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.vi.json +8 -8
  81. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.zh-CN.json +8 -8
  82. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.zh-HK.json +8 -8
  83. package/dist/arcgis-coding-components/assets/arcade-editor/t9n/arcade-editor.t9n.zh-TW.json +8 -8
  84. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ar.json +492 -27
  85. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.bg.json +492 -27
  86. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.bs.json +492 -27
  87. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ca.json +492 -27
  88. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.cs.json +492 -27
  89. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.da.json +492 -27
  90. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.de.json +492 -27
  91. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.el.json +492 -27
  92. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.en.json +492 -27
  93. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.es.json +492 -27
  94. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.et.json +492 -27
  95. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.fi.json +492 -27
  96. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.fr.json +492 -27
  97. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.he.json +492 -27
  98. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.hr.json +492 -27
  99. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.hu.json +492 -27
  100. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.id.json +492 -27
  101. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.it.json +492 -27
  102. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ja.json +492 -27
  103. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ko.json +492 -27
  104. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.lt.json +492 -27
  105. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.lv.json +492 -27
  106. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.nb.json +492 -27
  107. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.nl.json +492 -27
  108. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pl.json +492 -27
  109. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pt-BR.json +492 -27
  110. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.pt-PT.json +492 -27
  111. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ro.json +492 -27
  112. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.ru.json +492 -27
  113. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sk.json +492 -27
  114. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sl.json +492 -27
  115. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sr.json +492 -27
  116. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.sv.json +492 -27
  117. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.th.json +492 -27
  118. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.tr.json +492 -27
  119. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.uk.json +492 -27
  120. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.vi.json +492 -27
  121. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-CN.json +492 -27
  122. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-HK.json +492 -27
  123. package/dist/arcgis-coding-components/assets/arcade-language/api/arcade-api.t9n.zh-TW.json +492 -27
  124. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ar.json +14 -2
  125. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.bg.json +14 -2
  126. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.bs.json +14 -2
  127. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ca.json +14 -2
  128. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.cs.json +14 -2
  129. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.da.json +14 -2
  130. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.de.json +14 -2
  131. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.el.json +14 -2
  132. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.en.json +14 -2
  133. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.es.json +14 -2
  134. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.et.json +14 -2
  135. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.fi.json +14 -2
  136. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.fr.json +14 -2
  137. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.he.json +14 -2
  138. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.hr.json +14 -2
  139. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.hu.json +14 -2
  140. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.id.json +14 -2
  141. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.it.json +14 -2
  142. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ja.json +14 -2
  143. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ko.json +14 -2
  144. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.lt.json +14 -2
  145. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.lv.json +14 -2
  146. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.nb.json +14 -2
  147. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.nl.json +14 -2
  148. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pl.json +14 -2
  149. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pt-BR.json +14 -2
  150. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.pt-PT.json +14 -2
  151. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ro.json +14 -2
  152. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.ru.json +14 -2
  153. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sk.json +14 -2
  154. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sl.json +14 -2
  155. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sr.json +14 -2
  156. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.sv.json +14 -2
  157. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.th.json +14 -2
  158. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.tr.json +14 -2
  159. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.uk.json +14 -2
  160. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.vi.json +14 -2
  161. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-CN.json +14 -2
  162. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-HK.json +14 -2
  163. package/dist/arcgis-coding-components/assets/arcade-language/profiles/arcade-profiles.t9n.zh-TW.json +14 -2
  164. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ar.json +13 -13
  165. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.bg.json +13 -13
  166. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.bs.json +13 -13
  167. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ca.json +13 -13
  168. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.cs.json +13 -13
  169. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.da.json +13 -13
  170. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.de.json +13 -13
  171. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.el.json +13 -13
  172. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.en.json +13 -13
  173. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.es.json +13 -13
  174. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.et.json +13 -13
  175. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.fi.json +13 -13
  176. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.fr.json +13 -13
  177. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.he.json +13 -13
  178. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.hr.json +13 -13
  179. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.hu.json +13 -13
  180. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.id.json +13 -13
  181. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.it.json +13 -13
  182. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ja.json +13 -13
  183. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ko.json +13 -13
  184. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.lt.json +13 -13
  185. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.lv.json +13 -13
  186. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.nb.json +13 -13
  187. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.nl.json +13 -13
  188. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.pl.json +13 -13
  189. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.pt-BR.json +13 -13
  190. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.pt-PT.json +13 -13
  191. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ro.json +13 -13
  192. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ru.json +13 -13
  193. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.sk.json +13 -13
  194. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.sl.json +13 -13
  195. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.sr.json +13 -13
  196. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.sv.json +13 -13
  197. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.th.json +13 -13
  198. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.tr.json +13 -13
  199. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.uk.json +13 -13
  200. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.vi.json +13 -13
  201. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.zh-CN.json +13 -13
  202. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.zh-HK.json +13 -13
  203. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.zh-TW.json +13 -13
  204. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.ar.json +6 -6
  205. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.bg.json +6 -6
  206. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.bs.json +6 -6
  207. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.ca.json +6 -6
  208. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.cs.json +6 -6
  209. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.da.json +6 -6
  210. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.de.json +6 -6
  211. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.el.json +6 -6
  212. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.en.json +6 -6
  213. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.es.json +6 -6
  214. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.et.json +6 -6
  215. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.fi.json +6 -6
  216. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.fr.json +6 -6
  217. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.he.json +6 -6
  218. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.hr.json +6 -6
  219. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.hu.json +6 -6
  220. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.id.json +6 -6
  221. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.it.json +6 -6
  222. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.ja.json +6 -6
  223. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.ko.json +6 -6
  224. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.lt.json +6 -6
  225. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.lv.json +6 -6
  226. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.nb.json +6 -6
  227. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.nl.json +6 -6
  228. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.pl.json +6 -6
  229. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.pt-BR.json +6 -6
  230. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.pt-PT.json +6 -6
  231. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.ro.json +6 -6
  232. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.ru.json +6 -6
  233. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.sk.json +6 -6
  234. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.sl.json +6 -6
  235. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.sr.json +6 -6
  236. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.sv.json +6 -6
  237. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.th.json +6 -6
  238. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.tr.json +6 -6
  239. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.uk.json +6 -6
  240. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.vi.json +6 -6
  241. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.zh-CN.json +6 -6
  242. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.zh-HK.json +6 -6
  243. package/dist/arcgis-coding-components/assets/arcade-suggestions/t9n/arcade-suggestions.t9n.zh-TW.json +6 -6
  244. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ar.json +8 -8
  245. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.bg.json +8 -8
  246. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.bs.json +8 -8
  247. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ca.json +8 -8
  248. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.cs.json +8 -8
  249. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.da.json +8 -8
  250. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.de.json +8 -8
  251. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.el.json +8 -8
  252. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.en.json +8 -8
  253. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.es.json +8 -8
  254. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.et.json +8 -8
  255. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.fi.json +8 -8
  256. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.fr.json +8 -8
  257. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.he.json +8 -8
  258. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.hr.json +8 -8
  259. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.hu.json +8 -8
  260. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.id.json +8 -8
  261. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.it.json +8 -8
  262. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ja.json +8 -8
  263. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ko.json +8 -8
  264. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.lt.json +8 -8
  265. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.lv.json +8 -8
  266. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.nb.json +8 -8
  267. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.nl.json +8 -8
  268. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.pl.json +8 -8
  269. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.pt-BR.json +8 -8
  270. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.pt-PT.json +8 -8
  271. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ro.json +8 -8
  272. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ru.json +8 -8
  273. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.sk.json +8 -8
  274. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.sl.json +8 -8
  275. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.sr.json +8 -8
  276. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.sv.json +8 -8
  277. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.th.json +8 -8
  278. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.tr.json +8 -8
  279. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.uk.json +8 -8
  280. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.vi.json +8 -8
  281. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.zh-CN.json +8 -8
  282. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.zh-HK.json +8 -8
  283. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.zh-TW.json +8 -8
  284. package/dist/arcgis-coding-components/assets/code-editor/arcade.worker.js +30 -31
  285. package/dist/arcgis-coding-components/assets/code-editor/css.worker.js +30 -34
  286. package/dist/arcgis-coding-components/assets/code-editor/editor.worker.js +7 -8
  287. package/dist/arcgis-coding-components/assets/code-editor/html.worker.js +18 -20
  288. package/dist/arcgis-coding-components/assets/code-editor/json.worker.js +21 -22
  289. package/dist/arcgis-coding-components/assets/code-editor/ts.worker.js +79 -80
  290. package/dist/arcgis-coding-components/index.esm.js +6 -1
  291. package/dist/arcgis-coding-components/{p-ff06e912.js → p-06f39793.js} +7 -2
  292. package/dist/arcgis-coding-components/{p-310f0408.js → p-0b4995df.js} +7 -2
  293. package/dist/arcgis-coding-components/p-356ca5d3.js +7 -0
  294. package/dist/arcgis-coding-components/{p-443fe20e.js → p-4d58beca.js} +7 -2
  295. package/dist/arcgis-coding-components/{p-b3500466.js → p-567ee7d3.js} +7 -2
  296. package/dist/arcgis-coding-components/p-5e2653b4.entry.js +6 -0
  297. package/dist/arcgis-coding-components/p-7a575e52.js +68 -0
  298. package/dist/arcgis-coding-components/{p-9dd33d3e.js → p-a90212eb.js} +7 -2
  299. package/dist/arcgis-coding-components/{p-9a164b63.js → p-aceb9f91.js} +8 -3
  300. package/dist/arcgis-coding-components/{p-b83db734.js → p-b48f9897.js} +7 -2
  301. package/dist/arcgis-coding-components/p-e90b1f2f.js +6 -0
  302. package/dist/arcgis-coding-components/{p-cfff9500.js → p-ff11efd4.js} +6 -1
  303. package/dist/cjs/{arcade-defaults-e128d6d9.js → arcade-defaults-c274c792.js} +13204 -11292
  304. package/dist/cjs/arcade-mode-e7a5feec.js +604 -0
  305. package/dist/cjs/arcgis-arcade-api_6.cjs.entry.js +1484 -1408
  306. package/dist/cjs/arcgis-coding-components.cjs.js +8 -3
  307. package/dist/cjs/{css-7229b372.js → css-3d77c5a8.js} +6 -1
  308. package/dist/cjs/{cssMode-8c1d563a.js → cssMode-79b21179.js} +8 -3
  309. package/dist/cjs/{html-ead03bbb.js → html-176c4248.js} +8 -3
  310. package/dist/cjs/{htmlMode-5e1a0115.js → htmlMode-4fff608a.js} +8 -3
  311. package/dist/cjs/{index-f8a85eb8.js → index-8eb42874.js} +395 -101
  312. package/dist/cjs/index.cjs.js +7 -2
  313. package/dist/cjs/{javascript-3fe2de06.js → javascript-cb5b58a7.js} +9 -4
  314. package/dist/cjs/{jsonMode-8b4b19f9.js → jsonMode-b6e8a3b4.js} +8 -3
  315. package/dist/cjs/loader.cjs.js +8 -12
  316. package/dist/cjs/{tsMode-b9491227.js → tsMode-97f32109.js} +8 -3
  317. package/dist/cjs/{typescript-524fddbc.js → typescript-002b1bed.js} +8 -3
  318. package/dist/components/arcade-api.js +170 -162
  319. package/dist/components/arcade-contribution.js +75 -65
  320. package/dist/components/arcade-defaults.js +1425 -1270
  321. package/dist/components/arcade-mode.js +521 -515
  322. package/dist/components/arcade-results.js +479 -426
  323. package/dist/components/arcade-suggestions.js +138 -131
  324. package/dist/components/arcade-variables.js +167 -153
  325. package/dist/components/arcgis-arcade-api.d.ts +2 -2
  326. package/dist/components/arcgis-arcade-api.js +5 -0
  327. package/dist/components/arcgis-arcade-editor.d.ts +2 -2
  328. package/dist/components/arcgis-arcade-editor.js +413 -387
  329. package/dist/components/arcgis-arcade-results.d.ts +2 -2
  330. package/dist/components/arcgis-arcade-results.js +5 -0
  331. package/dist/components/arcgis-arcade-suggestions.d.ts +2 -2
  332. package/dist/components/arcgis-arcade-suggestions.js +5 -0
  333. package/dist/components/arcgis-arcade-variables.d.ts +2 -2
  334. package/dist/components/arcgis-arcade-variables.js +5 -0
  335. package/dist/components/arcgis-code-editor.d.ts +2 -2
  336. package/dist/components/arcgis-code-editor.js +5 -0
  337. package/dist/components/code-editor.js +255 -250
  338. package/dist/components/fields.js +104 -77
  339. package/dist/components/functional-components.js +6 -1
  340. package/dist/components/index.d.ts +5 -8
  341. package/dist/components/index.js +6 -7
  342. package/dist/components/index2.js +7 -2
  343. package/dist/components/markdown.js +33 -28
  344. package/dist/components/utilities.js +26 -21
  345. package/dist/esm/{arcade-defaults-a34c2e51.js → arcade-defaults-d6c47dac.js} +13196 -11284
  346. package/dist/esm/arcade-mode-77aefd9b.js +600 -0
  347. package/dist/esm/arcgis-arcade-api_6.entry.js +1484 -1408
  348. package/dist/esm/arcgis-coding-components.js +9 -4
  349. package/dist/esm/{css-ff1e9f8c.js → css-4b82e605.js} +6 -1
  350. package/dist/esm/{cssMode-cb48c437.js → cssMode-7229ff3a.js} +8 -3
  351. package/dist/esm/{html-e7c0bd60.js → html-c3b25474.js} +8 -3
  352. package/dist/esm/{htmlMode-46638b7f.js → htmlMode-0e07604f.js} +8 -3
  353. package/dist/esm/{index-d4ec142a.js → index-09479ad2.js} +395 -101
  354. package/dist/esm/index.js +7 -2
  355. package/dist/esm/{javascript-2229cd63.js → javascript-a0d8a182.js} +9 -4
  356. package/dist/esm/{jsonMode-08a2f0d2.js → jsonMode-2bbed644.js} +8 -3
  357. package/dist/esm/loader.js +8 -12
  358. package/dist/esm/{tsMode-46d0d8e8.js → tsMode-b8728ce8.js} +8 -3
  359. package/dist/esm/{typescript-88a09694.js → typescript-4b81fd47.js} +8 -3
  360. package/dist/loader/cdn.js +5 -1
  361. package/dist/loader/index.cjs.js +5 -1
  362. package/dist/loader/index.d.ts +2 -2
  363. package/dist/loader/index.es2017.js +5 -1
  364. package/dist/loader/index.js +5 -1
  365. package/dist/types/components/arcade-api/arcade-api.d.ts +42 -41
  366. package/dist/types/components/arcade-api/t9n-types.d.ts +6 -6
  367. package/dist/types/components/arcade-editor/arcade-editor.d.ts +129 -133
  368. package/dist/types/components/arcade-editor/t9n-types.d.ts +6 -6
  369. package/dist/types/components/arcade-results/arcade-results.d.ts +46 -50
  370. package/dist/types/components/arcade-results/t9n-types.d.ts +11 -11
  371. package/dist/types/components/arcade-suggestions/arcade-suggestions.d.ts +37 -36
  372. package/dist/types/components/arcade-suggestions/t9n-types.d.ts +4 -4
  373. package/dist/types/components/arcade-variables/arcade-variables.d.ts +42 -42
  374. package/dist/types/components/arcade-variables/t9n-types.d.ts +6 -6
  375. package/dist/types/components/code-editor/code-editor.d.ts +74 -74
  376. package/dist/types/components.d.ts +87 -12
  377. package/dist/types/index.d.ts +1 -1
  378. package/dist/types/stencil-public-runtime.d.ts +61 -17
  379. package/dist/types/utils/arcade-executor.d.ts +89 -81
  380. package/dist/types/utils/arcade-monaco/arcade-contribution.d.ts +1 -1
  381. package/dist/types/utils/arcade-monaco/arcade-defaults.d.ts +69 -68
  382. package/dist/types/utils/arcade-monaco/arcade-language-features.d.ts +27 -26
  383. package/dist/types/utils/arcade-monaco/arcade-mode.d.ts +10 -10
  384. package/dist/types/utils/arcade-monaco/arcade-theme.d.ts +9 -8
  385. package/dist/types/utils/arcade-monaco/arcade-worker-manager.d.ts +11 -11
  386. package/dist/types/utils/arcade-monaco/arcade.worker.d.ts +16 -14
  387. package/dist/types/utils/arcade-monaco/types.d.ts +31 -33
  388. package/dist/types/utils/colorize.d.ts +1 -1
  389. package/dist/types/utils/editor-suggestions.d.ts +24 -24
  390. package/dist/types/utils/fields.d.ts +1 -0
  391. package/dist/types/utils/functional-components.d.ts +2 -2
  392. package/dist/types/utils/markdown.d.ts +1 -1
  393. package/dist/types/utils/profile/editor-profile.d.ts +187 -196
  394. package/dist/types/utils/profile/types.d.ts +230 -109
  395. package/dist/types/utils/profile/utils.d.ts +31 -14
  396. package/dist/types/utils/utilities.d.ts +2 -2
  397. package/package.json +26 -42
  398. package/dist/arcgis-coding-components/p-0fa0a06d.js +0 -2
  399. package/dist/arcgis-coding-components/p-1b0246cd.entry.js +0 -1
  400. package/dist/arcgis-coding-components/p-236ce4a1.js +0 -62
  401. package/dist/arcgis-coding-components/p-3664ab2a.js +0 -1
  402. package/dist/cjs/arcade-mode-8bf7a14b.js +0 -598
  403. package/dist/esm/arcade-mode-c5a69066.js +0 -594
  404. package/dist/esm/polyfills/css-shim.js +0 -1
@@ -1,3 +1,8 @@
1
+ /*!
2
+ * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ * See https://js.arcgis.com/4.29/esri/copyright.txt for details.
4
+ * v4.29.0-beta.110
5
+ */
1
6
  'use strict';
2
7
 
3
8
  function _interopNamespace(e) {
@@ -53,6 +58,13 @@ const uniqueTime = (key, measureText) => {
53
58
  }
54
59
  };
55
60
  const HYDRATED_CSS = '{visibility:hidden}[hydrated]{visibility:inherit}';
61
+ /**
62
+ * Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
63
+ *
64
+ * Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
65
+ * support as of Stencil v4.
66
+ */
67
+ const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
56
68
  const XLINK_NS = 'http://www.w3.org/1999/xlink';
57
69
  /**
58
70
  * Default style mode id
@@ -63,6 +75,13 @@ const XLINK_NS = 'http://www.w3.org/1999/xlink';
63
75
  */
64
76
  const EMPTY_OBJ = {};
65
77
  const isDef = (v) => v != null;
78
+ /**
79
+ * Check whether a value is a 'complex type', defined here as an object or a
80
+ * function.
81
+ *
82
+ * @param o the value to check
83
+ * @returns whether it's a complex type or not
84
+ */
66
85
  const isComplexType = (o) => {
67
86
  // https://jsperf.com/typeof-fn-object/5
68
87
  o = typeof o;
@@ -120,10 +139,10 @@ const h = (nodeName, vnodeData, ...children) => {
120
139
  };
121
140
  walk(children);
122
141
  if (vnodeData) {
123
- // normalize class / classname attributes
124
142
  if (vnodeData.key) {
125
143
  key = vnodeData.key;
126
144
  }
145
+ // normalize class / className attributes
127
146
  {
128
147
  const classData = vnodeData.className || vnodeData.class;
129
148
  if (classData) {
@@ -321,9 +340,9 @@ const registerStyle = (scopeId, cssText, allowCS) => {
321
340
  }
322
341
  styles.set(scopeId, style);
323
342
  };
324
- const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
343
+ const addStyle = (styleContainerNode, cmpMeta, mode) => {
325
344
  var _a;
326
- let scopeId = getScopeId(cmpMeta);
345
+ const scopeId = getScopeId(cmpMeta);
327
346
  const style = styles.get(scopeId);
328
347
  // if an element is NOT connected then getRootNode() will return the wrong root node
329
348
  // so the fallback is to always use the document for the root node in those cases
@@ -338,10 +357,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
338
357
  }
339
358
  if (!appliedStyles.has(scopeId)) {
340
359
  {
341
- {
342
- styleElm = doc.createElement('style');
343
- styleElm.innerHTML = style;
344
- }
360
+ styleElm = doc.createElement('style');
361
+ styleElm.innerHTML = style;
345
362
  // Apply CSP nonce to the style tag if it exists
346
363
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
347
364
  if (nonce != null) {
@@ -349,6 +366,10 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
349
366
  }
350
367
  styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
351
368
  }
369
+ // Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
370
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
371
+ styleElm.innerHTML += SLOT_FB_CSS;
372
+ }
352
373
  if (appliedStyles) {
353
374
  appliedStyles.add(scopeId);
354
375
  }
@@ -388,6 +409,21 @@ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
388
409
  *
389
410
  * Modified for Stencil's compiler and vdom
390
411
  */
412
+ /**
413
+ * When running a VDom render set properties present on a VDom node onto the
414
+ * corresponding HTML element.
415
+ *
416
+ * Note that this function has special functionality for the `class`,
417
+ * `style`, `key`, and `ref` attributes, as well as event handlers (like
418
+ * `onClick`, etc). All others are just passed through as-is.
419
+ *
420
+ * @param elm the HTMLElement onto which attributes should be set
421
+ * @param memberName the name of the attribute to set
422
+ * @param oldValue the old value for the attribute
423
+ * @param newValue the new value for the attribute
424
+ * @param isSvg whether we're in an svg context or not
425
+ * @param flags bitflags for Vdom variables
426
+ */
391
427
  const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
392
428
  if (oldValue !== newValue) {
393
429
  let isProp = isMemberInElement(elm, memberName);
@@ -464,11 +500,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
464
500
  // except for the first character, we keep the event name case
465
501
  memberName = ln[2] + memberName.slice(3);
466
502
  }
467
- if (oldValue) {
468
- plt.rel(elm, memberName, oldValue, false);
469
- }
470
- if (newValue) {
471
- plt.ael(elm, memberName, newValue, false);
503
+ if (oldValue || newValue) {
504
+ // Need to account for "capture" events.
505
+ // If the event name ends with "Capture", we'll update the name to remove
506
+ // the "Capture" suffix and make sure the event listener is setup to handle the capture event.
507
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
508
+ // Make sure we only replace the last instance of "Capture"
509
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
510
+ if (oldValue) {
511
+ plt.rel(elm, memberName, oldValue, capture);
512
+ }
513
+ if (newValue) {
514
+ plt.ael(elm, memberName, newValue, capture);
515
+ }
472
516
  }
473
517
  }
474
518
  else {
@@ -490,7 +534,11 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
490
534
  elm[memberName] = newValue;
491
535
  }
492
536
  }
493
- catch (e) { }
537
+ catch (e) {
538
+ /**
539
+ * in case someone tries to set a read-only property, e.g. "namespaceURI", we just ignore it
540
+ */
541
+ }
494
542
  }
495
543
  /**
496
544
  * Need to manually update attribute if:
@@ -529,7 +577,14 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
529
577
  }
530
578
  };
531
579
  const parseClassListRegex = /\s/;
580
+ /**
581
+ * Parsed a string of classnames into an array
582
+ * @param value className string, e.g. "foo bar baz"
583
+ * @returns list of classes, e.g. ["foo", "bar", "baz"]
584
+ */
532
585
  const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
586
+ const CAPTURE_EVENT_SUFFIX = 'Capture';
587
+ const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
533
588
  const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
534
589
  // if the element passed in is a shadow root, which is a document fragment
535
590
  // then we want to be adding attrs/props to the shadow root's "host" element
@@ -596,6 +651,9 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
596
651
  }
597
652
  }
598
653
  }
654
+ // This needs to always happen so we can hide nodes that are projected
655
+ // to another component but don't end up in a slot
656
+ elm['s-hn'] = hostTagName;
599
657
  return elm;
600
658
  };
601
659
  /**
@@ -639,16 +697,17 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
639
697
  * @param vnodes a list of virtual DOM nodes to remove
640
698
  * @param startIdx the index at which to start removing nodes (inclusive)
641
699
  * @param endIdx the index at which to stop removing nodes (inclusive)
642
- * @param vnode a VNode
643
- * @param elm an element
644
700
  */
645
- const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
646
- for (; startIdx <= endIdx; ++startIdx) {
647
- if ((vnode = vnodes[startIdx])) {
648
- elm = vnode.$elm$;
649
- callNodeRefs(vnode);
650
- // remove the vnode's element from the dom
651
- elm.remove();
701
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
702
+ for (let index = startIdx; index <= endIdx; ++index) {
703
+ const vnode = vnodes[index];
704
+ if (vnode) {
705
+ const elm = vnode.$elm$;
706
+ nullifyVNodeRefs(vnode);
707
+ if (elm) {
708
+ // remove the vnode's element from the dom
709
+ elm.remove();
710
+ }
652
711
  }
653
712
  }
654
713
  };
@@ -719,8 +778,9 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
719
778
  * @param oldCh the old children of the parent node
720
779
  * @param newVNode the new VNode which will replace the parent
721
780
  * @param newCh the new children of the parent node
781
+ * @param isInitialRender whether or not this is the first render of the vdom
722
782
  */
723
- const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
783
+ const updateChildren = (parentElm, oldCh, newVNode, newCh, isInitialRender = false) => {
724
784
  let oldStartIdx = 0;
725
785
  let newStartIdx = 0;
726
786
  let idxInOld = 0;
@@ -747,25 +807,25 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
747
807
  else if (newEndVnode == null) {
748
808
  newEndVnode = newCh[--newEndIdx];
749
809
  }
750
- else if (isSameVnode(oldStartVnode, newStartVnode)) {
810
+ else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
751
811
  // if the start nodes are the same then we should patch the new VNode
752
812
  // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
753
813
  // indices to reflect that. We don't need to move any DOM Nodes around
754
814
  // since things are matched up in order.
755
- patch(oldStartVnode, newStartVnode);
815
+ patch(oldStartVnode, newStartVnode, isInitialRender);
756
816
  oldStartVnode = oldCh[++oldStartIdx];
757
817
  newStartVnode = newCh[++newStartIdx];
758
818
  }
759
- else if (isSameVnode(oldEndVnode, newEndVnode)) {
819
+ else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
760
820
  // likewise, if the end nodes are the same we patch new onto old and
761
821
  // decrement our end indices, and also likewise in this case we don't
762
822
  // need to move any DOM Nodes.
763
- patch(oldEndVnode, newEndVnode);
823
+ patch(oldEndVnode, newEndVnode, isInitialRender);
764
824
  oldEndVnode = oldCh[--oldEndIdx];
765
825
  newEndVnode = newCh[--newEndIdx];
766
826
  }
767
- else if (isSameVnode(oldStartVnode, newEndVnode)) {
768
- patch(oldStartVnode, newEndVnode);
827
+ else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
828
+ patch(oldStartVnode, newEndVnode, isInitialRender);
769
829
  // We need to move the element for `oldStartVnode` into a position which
770
830
  // will be appropriate for `newEndVnode`. For this we can use
771
831
  // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
@@ -787,8 +847,8 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
787
847
  oldStartVnode = oldCh[++oldStartIdx];
788
848
  newEndVnode = newCh[--newEndIdx];
789
849
  }
790
- else if (isSameVnode(oldEndVnode, newStartVnode)) {
791
- patch(oldEndVnode, newStartVnode);
850
+ else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
851
+ patch(oldEndVnode, newStartVnode, isInitialRender);
792
852
  // We've already checked above if `oldStartVnode` and `newStartVnode` are
793
853
  // the same node, so since we're here we know that they are not. Thus we
794
854
  // can move the element for `oldEndVnode` _before_ the element for
@@ -825,7 +885,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
825
885
  node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld);
826
886
  }
827
887
  else {
828
- patch(elmToMove, newStartVnode);
888
+ patch(elmToMove, newStartVnode, isInitialRender);
829
889
  // invalidate the matching old node so that we won't try to update it
830
890
  // again later on
831
891
  oldCh[idxInOld] = undefined;
@@ -876,16 +936,22 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
876
936
  *
877
937
  * @param leftVNode the first VNode to check
878
938
  * @param rightVNode the second VNode to check
939
+ * @param isInitialRender whether or not this is the first render of the vdom
879
940
  * @returns whether they're equal or not
880
941
  */
881
- const isSameVnode = (leftVNode, rightVNode) => {
942
+ const isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
882
943
  // compare if two vnode to see if they're "technically" the same
883
944
  // need to have the same element tag, and same key to be the same
884
945
  if (leftVNode.$tag$ === rightVNode.$tag$) {
885
- // this will be set if components in the build have `key` attrs set on them
886
- {
946
+ // this will be set if JSX tags in the build have `key` attrs set on them
947
+ // we only want to check this if we're not on the first render since on
948
+ // first render `leftVNode.$key$` will always be `null`, so we can be led
949
+ // astray and, for instance, accidentally delete a DOM node that we want to
950
+ // keep around.
951
+ if (!isInitialRender) {
887
952
  return leftVNode.$key$ === rightVNode.$key$;
888
953
  }
954
+ return true;
889
955
  }
890
956
  return false;
891
957
  };
@@ -896,8 +962,9 @@ const isSameVnode = (leftVNode, rightVNode) => {
896
962
  *
897
963
  * @param oldVNode an old VNode whose DOM element and children we want to update
898
964
  * @param newVNode a new VNode representing an updated version of the old one
965
+ * @param isInitialRender whether or not this is the first render of the vdom
899
966
  */
900
- const patch = (oldVNode, newVNode) => {
967
+ const patch = (oldVNode, newVNode, isInitialRender = false) => {
901
968
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
902
969
  const oldChildren = oldVNode.$children$;
903
970
  const newChildren = newVNode.$children$;
@@ -914,7 +981,7 @@ const patch = (oldVNode, newVNode) => {
914
981
  if (oldChildren !== null && newChildren !== null) {
915
982
  // looks like there's child vnodes for both the old and new vnodes
916
983
  // so we need to call `updateChildren` to reconcile them
917
- updateChildren(elm, oldChildren, newVNode, newChildren);
984
+ updateChildren(elm, oldChildren, newVNode, newChildren, isInitialRender);
918
985
  }
919
986
  else if (newChildren !== null) {
920
987
  // no old child vnodes, but there are new child vnodes to add
@@ -936,10 +1003,17 @@ const patch = (oldVNode, newVNode) => {
936
1003
  elm.data = text;
937
1004
  }
938
1005
  };
939
- const callNodeRefs = (vNode) => {
1006
+ /**
1007
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
1008
+ * them with `null`. This signals that the DOM element corresponding to the VDom
1009
+ * node has been removed from the DOM.
1010
+ *
1011
+ * @param vNode a virtual DOM node
1012
+ */
1013
+ const nullifyVNodeRefs = (vNode) => {
940
1014
  {
941
1015
  vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
942
- vNode.$children$ && vNode.$children$.map(callNodeRefs);
1016
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
943
1017
  }
944
1018
  };
945
1019
  /**
@@ -953,17 +1027,44 @@ const callNodeRefs = (vNode) => {
953
1027
  * @param hostRef data needed to root and render the virtual DOM tree, such as
954
1028
  * the DOM node into which it should be rendered.
955
1029
  * @param renderFnResults the virtual DOM nodes to be rendered
1030
+ * @param isInitialLoad whether or not this is the first call after page load
956
1031
  */
957
- const renderVdom = (hostRef, renderFnResults) => {
1032
+ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
958
1033
  const hostElm = hostRef.$hostElement$;
959
1034
  const cmpMeta = hostRef.$cmpMeta$;
960
1035
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1036
+ // if `renderFnResults` is a Host node then we can use it directly. If not,
1037
+ // we need to call `h` again to wrap the children of our component in a
1038
+ // 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
1039
+ // implicitly that the top-level vdom node is 1) an only child and 2)
1040
+ // contains attrs that need to be set on the host element.
961
1041
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
962
1042
  hostTagName = hostElm.tagName;
963
1043
  if (cmpMeta.$attrsToReflect$) {
964
1044
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
965
1045
  cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
966
1046
  }
1047
+ // On the first render and *only* on the first render we want to check for
1048
+ // any attributes set on the host element which are also set on the vdom
1049
+ // node. If we find them, we override the value on the VDom node attrs with
1050
+ // the value from the host element, which allows developers building apps
1051
+ // with Stencil components to override e.g. the `role` attribute on a
1052
+ // component even if it's already set on the `Host`.
1053
+ if (isInitialLoad && rootVnode.$attrs$) {
1054
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1055
+ // We have a special implementation in `setAccessor` for `style` and
1056
+ // `class` which reconciles values coming from the VDom with values
1057
+ // already present on the DOM element, so we don't want to override those
1058
+ // attributes on the VDom tree with values from the host element if they
1059
+ // are present.
1060
+ //
1061
+ // Likewise, `ref` and `key` are special internal values for the Stencil
1062
+ // runtime and we don't want to override those either.
1063
+ if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
1064
+ rootVnode.$attrs$[key] = hostElm[key];
1065
+ }
1066
+ }
1067
+ }
967
1068
  rootVnode.$tag$ = null;
968
1069
  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
969
1070
  hostRef.$vnode$ = rootVnode;
@@ -972,7 +1073,7 @@ const renderVdom = (hostRef, renderFnResults) => {
972
1073
  scopeId = hostElm['s-sc'];
973
1074
  }
974
1075
  // synchronous patch
975
- patch(oldVNode, rootVnode);
1076
+ patch(oldVNode, rootVnode, isInitialLoad);
976
1077
  };
977
1078
  const attachToAncestor = (hostRef, ancestorComponent) => {
978
1079
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
@@ -994,20 +1095,86 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
994
1095
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
995
1096
  return writeTask(dispatch) ;
996
1097
  };
1098
+ /**
1099
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
1100
+ * component lifecycle methods like `componentWillLoad` as well as
1101
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
1102
+ *
1103
+ * @param hostRef a reference to a host DOM node
1104
+ * @param isInitialLoad whether we're on the initial load or not
1105
+ * @returns an empty Promise which is used to enqueue a series of operations for
1106
+ * the component
1107
+ */
997
1108
  const dispatchHooks = (hostRef, isInitialLoad) => {
998
1109
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
999
1110
  const instance = hostRef.$lazyInstance$ ;
1000
- let promise;
1111
+ // We're going to use this variable together with `enqueue` to implement a
1112
+ // little promise-based queue. We start out with it `undefined`. When we add
1113
+ // the first function to the queue we'll set this variable to be that
1114
+ // function's return value. When we attempt to add subsequent values to the
1115
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
1116
+ // the new function off of that `Promise` using `.then()`. This will give our
1117
+ // queue two nice properties:
1118
+ //
1119
+ // 1. If all functions added to the queue are synchronous they'll be called
1120
+ // synchronously right away.
1121
+ // 2. If all functions added to the queue are asynchronous they'll all be
1122
+ // called in order after `dispatchHooks` exits.
1123
+ let maybePromise;
1001
1124
  if (isInitialLoad) {
1002
1125
  {
1003
- promise = safeCall(instance, 'componentWillLoad');
1126
+ // If `componentWillLoad` returns a `Promise` then we want to wait on
1127
+ // whatever's going on in that `Promise` before we launch into
1128
+ // rendering the component, doing other lifecycle stuff, etc. So
1129
+ // in that case we assign the returned promise to the variable we
1130
+ // declared above to hold a possible 'queueing' Promise
1131
+ maybePromise = safeCall(instance, 'componentWillLoad');
1004
1132
  }
1005
1133
  }
1006
1134
  endSchedule();
1007
- return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
1135
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1008
1136
  };
1137
+ /**
1138
+ * This function uses a Promise to implement a simple first-in, first-out queue
1139
+ * of functions to be called.
1140
+ *
1141
+ * The queue is ordered on the basis of the first argument. If it's
1142
+ * `undefined`, then nothing is on the queue yet, so the provided function can
1143
+ * be called synchronously (although note that this function may return a
1144
+ * `Promise`). The idea is that then the return value of that enqueueing
1145
+ * operation is kept around, so that if it was a `Promise` then subsequent
1146
+ * functions can be enqueued by calling this function again with that `Promise`
1147
+ * as the first argument.
1148
+ *
1149
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
1150
+ * @param fn a function to enqueue
1151
+ * @returns either a `Promise` or the return value of the provided function
1152
+ */
1153
+ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
1154
+ /**
1155
+ * Check that a value is a `Promise`. To check, we first see if the value is an
1156
+ * instance of the `Promise` global. In a few circumstances, in particular if
1157
+ * the global has been overwritten, this is could be misleading, so we also do
1158
+ * a little 'duck typing' check to see if the `.then` property of the value is
1159
+ * defined and a function.
1160
+ *
1161
+ * @param maybePromise it might be a promise!
1162
+ * @returns whether it is or not
1163
+ */
1164
+ const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1165
+ (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
1166
+ /**
1167
+ * Update a component given reference to its host elements and so on.
1168
+ *
1169
+ * @param hostRef an object containing references to the element's host node,
1170
+ * VDom nodes, and other metadata
1171
+ * @param instance a reference to the underlying host element where it will be
1172
+ * rendered
1173
+ * @param isInitialLoad whether or not this function is being called as part of
1174
+ * the first render cycle
1175
+ */
1009
1176
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
1010
- // updateComponent
1177
+ var _a;
1011
1178
  const elm = hostRef.$hostElement$;
1012
1179
  const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
1013
1180
  const rc = elm['s-rc'];
@@ -1017,7 +1184,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1017
1184
  }
1018
1185
  const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
1019
1186
  {
1020
- callRender(hostRef, instance);
1187
+ callRender(hostRef, instance, elm, isInitialLoad);
1021
1188
  }
1022
1189
  if (rc) {
1023
1190
  // ok, so turns out there are some child host elements
@@ -1029,7 +1196,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1029
1196
  endRender();
1030
1197
  endUpdate();
1031
1198
  {
1032
- const childrenPromises = elm['s-p'];
1199
+ const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
1033
1200
  const postUpdate = () => postUpdateComponent(hostRef);
1034
1201
  if (childrenPromises.length === 0) {
1035
1202
  postUpdate();
@@ -1041,8 +1208,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1041
1208
  }
1042
1209
  }
1043
1210
  };
1044
- const callRender = (hostRef, instance, elm) => {
1211
+ /**
1212
+ * Handle making the call to the VDom renderer with the proper context given
1213
+ * various build variables
1214
+ *
1215
+ * @param hostRef an object containing references to the element's host node,
1216
+ * VDom nodes, and other metadata
1217
+ * @param instance a reference to the underlying host element where it will be
1218
+ * rendered
1219
+ * @param elm the Host element for the component
1220
+ * @param isInitialLoad whether or not this function is being called as part of
1221
+ * @returns an empty promise
1222
+ */
1223
+ const callRender = (hostRef, instance, elm, isInitialLoad) => {
1045
1224
  try {
1225
+ /**
1226
+ * minification optimization: `allRenderFn` is `true` if all components have a `render`
1227
+ * method, so we can call the method immediately. If not, check before calling it.
1228
+ */
1046
1229
  instance = instance.render() ;
1047
1230
  {
1048
1231
  hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
@@ -1056,7 +1239,7 @@ const callRender = (hostRef, instance, elm) => {
1056
1239
  // or we need to update the css class/attrs on the host element
1057
1240
  // DOM WRITE!
1058
1241
  {
1059
- renderVdom(hostRef, instance);
1242
+ renderVdom(hostRef, instance, isInitialLoad);
1060
1243
  }
1061
1244
  }
1062
1245
  }
@@ -1119,6 +1302,16 @@ const appDidLoad = (who) => {
1119
1302
  }
1120
1303
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
1121
1304
  };
1305
+ /**
1306
+ * Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
1307
+ * e.g. custom element node. If a build figures out that e.g. no component
1308
+ * has a `componentDidLoad` method, the instance method gets removed from the
1309
+ * output bundle and this function returns `undefined`.
1310
+ * @param instance any object that may or may not contain methods
1311
+ * @param method method name
1312
+ * @param arg single arbitrary argument
1313
+ * @returns result of method call if it exists, otherwise `undefined`
1314
+ */
1122
1315
  const safeCall = (instance, method, arg) => {
1123
1316
  if (instance && instance[method]) {
1124
1317
  try {
@@ -1130,9 +1323,6 @@ const safeCall = (instance, method, arg) => {
1130
1323
  }
1131
1324
  return undefined;
1132
1325
  };
1133
- const then = (promise, thenFn) => {
1134
- return promise && promise.then ? promise.then(thenFn) : thenFn();
1135
- };
1136
1326
  const addHydratedFlag = (elm) => elm.setAttribute('hydrated', '')
1137
1327
  ;
1138
1328
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
@@ -1189,13 +1379,14 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1189
1379
  * @returns a reference to the same constructor passed in (but now mutated)
1190
1380
  */
1191
1381
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1382
+ var _a;
1383
+ const prototype = Cstr.prototype;
1192
1384
  if (cmpMeta.$members$) {
1193
1385
  if (Cstr.watchers) {
1194
1386
  cmpMeta.$watchers$ = Cstr.watchers;
1195
1387
  }
1196
1388
  // It's better to have a const than two Object.entries()
1197
1389
  const members = Object.entries(cmpMeta.$members$);
1198
- const prototype = Cstr.prototype;
1199
1390
  members.map(([memberName, [memberFlags]]) => {
1200
1391
  if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
1201
1392
  ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
@@ -1218,16 +1409,18 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1218
1409
  // proxyComponent - method
1219
1410
  Object.defineProperty(prototype, memberName, {
1220
1411
  value(...args) {
1412
+ var _a;
1221
1413
  const ref = getHostRef(this);
1222
- return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));
1414
+ return (_a = ref === null || ref === void 0 ? void 0 : ref.$onInstancePromise$) === null || _a === void 0 ? void 0 : _a.then(() => { var _a; return (_a = ref.$lazyInstance$) === null || _a === void 0 ? void 0 : _a[memberName](...args); });
1223
1415
  },
1224
1416
  });
1225
1417
  }
1226
1418
  });
1227
1419
  if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1228
1420
  const attrNameToPropName = new Map();
1229
- prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
1421
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
1230
1422
  plt.jmp(() => {
1423
+ var _a;
1231
1424
  const propName = attrNameToPropName.get(attrName);
1232
1425
  // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
1233
1426
  // in the case where an attribute was set inline.
@@ -1249,12 +1442,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1249
1442
  // customElements.define('my-component', MyComponent);
1250
1443
  // </script>
1251
1444
  // ```
1252
- // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
1445
+ // In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
1253
1446
  // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1254
1447
  // to the value that was set inline i.e. "some-value" from above example. When
1255
- // the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
1448
+ // the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
1256
1449
  //
1257
- // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
1450
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
1258
1451
  // by connectedCallback as this attributeChangedCallback will not fire.
1259
1452
  //
1260
1453
  // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
@@ -1274,31 +1467,72 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1274
1467
  // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1275
1468
  return;
1276
1469
  }
1470
+ else if (propName == null) {
1471
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
1472
+ // on a vanilla web component
1473
+ const hostRef = getHostRef(this);
1474
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
1475
+ // We only want to trigger the callback(s) if:
1476
+ // 1. The instance is ready
1477
+ // 2. The watchers are ready
1478
+ // 3. The value has changed
1479
+ if (flags &&
1480
+ !(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
1481
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
1482
+ newValue !== oldValue) {
1483
+ const instance = hostRef.$lazyInstance$ ;
1484
+ const entry = (_a = cmpMeta.$watchers$) === null || _a === void 0 ? void 0 : _a[attrName];
1485
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
1486
+ if (instance[callbackName] != null) {
1487
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
1488
+ }
1489
+ });
1490
+ }
1491
+ return;
1492
+ }
1277
1493
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1278
1494
  });
1279
1495
  };
1280
- // create an array of attributes to observe
1281
- // and also create a map of html attribute name to js property name
1282
- Cstr.observedAttributes = members
1283
- .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
1284
- .map(([propName, m]) => {
1285
- const attrName = m[1] || propName;
1286
- attrNameToPropName.set(attrName, propName);
1287
- if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1288
- cmpMeta.$attrsToReflect$.push([propName, attrName]);
1289
- }
1290
- return attrName;
1291
- });
1496
+ // Create an array of attributes to observe
1497
+ // This list in comprised of all strings used within a `@Watch()` decorator
1498
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
1499
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
1500
+ // an invalid attribute.
1501
+ Cstr.observedAttributes = Array.from(new Set([
1502
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
1503
+ ...members
1504
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
1505
+ .map(([propName, m]) => {
1506
+ var _a;
1507
+ const attrName = m[1] || propName;
1508
+ attrNameToPropName.set(attrName, propName);
1509
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1510
+ (_a = cmpMeta.$attrsToReflect$) === null || _a === void 0 ? void 0 : _a.push([propName, attrName]);
1511
+ }
1512
+ return attrName;
1513
+ }),
1514
+ ]));
1292
1515
  }
1293
1516
  }
1294
1517
  return Cstr;
1295
1518
  };
1296
- const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1519
+ /**
1520
+ * Initialize a Stencil component given a reference to its host element, its
1521
+ * runtime bookkeeping data structure, runtime metadata about the component,
1522
+ * and (optionally) an HMR version ID.
1523
+ *
1524
+ * @param elm a host element
1525
+ * @param hostRef the element's runtime bookkeeping object
1526
+ * @param cmpMeta runtime metadata for the Stencil component
1527
+ * @param hmrVersionId an (optional) HMR version ID
1528
+ */
1529
+ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1530
+ let Cstr;
1297
1531
  // initializeComponent
1298
1532
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1533
+ // Let the runtime know that the component has been initialized
1534
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1299
1535
  {
1300
- // we haven't initialized this element yet
1301
- hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1302
1536
  // lazy loaded components
1303
1537
  // request the component's implementation to be
1304
1538
  // wired up with the host element
@@ -1371,6 +1605,8 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1371
1605
  schedule();
1372
1606
  }
1373
1607
  };
1608
+ const fireConnectedCallback = (instance) => {
1609
+ };
1374
1610
  const connectedCallback = (elm) => {
1375
1611
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1376
1612
  const hostRef = getHostRef(elm);
@@ -1409,15 +1645,29 @@ const connectedCallback = (elm) => {
1409
1645
  initializeComponent(elm, hostRef, cmpMeta);
1410
1646
  }
1411
1647
  }
1648
+ else {
1649
+ // fire off connectedCallback() on component instance
1650
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) ;
1651
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
1652
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback());
1653
+ }
1654
+ }
1412
1655
  endConnected();
1413
1656
  }
1414
1657
  };
1415
- const disconnectedCallback = (elm) => {
1658
+ const disconnectInstance = (instance) => {
1659
+ {
1660
+ safeCall(instance, 'disconnectedCallback');
1661
+ }
1662
+ };
1663
+ const disconnectedCallback = async (elm) => {
1416
1664
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1417
1665
  const hostRef = getHostRef(elm);
1418
- const instance = hostRef.$lazyInstance$ ;
1419
- {
1420
- safeCall(instance, 'disconnectedCallback');
1666
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
1667
+ disconnectInstance(hostRef.$lazyInstance$);
1668
+ }
1669
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
1670
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
1421
1671
  }
1422
1672
  }
1423
1673
  };
@@ -1429,20 +1679,27 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1429
1679
  const customElements = win.customElements;
1430
1680
  const head = doc.head;
1431
1681
  const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
1432
- const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
1682
+ const dataStyles = /*@__PURE__*/ doc.createElement('style');
1433
1683
  const deferredConnectedCallbacks = [];
1434
1684
  let appLoadFallback;
1435
1685
  let isBootstrapping = true;
1436
1686
  Object.assign(plt, options);
1437
1687
  plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
1688
+ let hasSlotRelocation = false;
1438
1689
  lazyBundles.map((lazyBundle) => {
1439
1690
  lazyBundle[1].map((compactMeta) => {
1691
+ var _a;
1440
1692
  const cmpMeta = {
1441
1693
  $flags$: compactMeta[0],
1442
1694
  $tagName$: compactMeta[1],
1443
1695
  $members$: compactMeta[2],
1444
1696
  $listeners$: compactMeta[3],
1445
1697
  };
1698
+ // Check if we are using slots outside the shadow DOM in this component.
1699
+ // We'll use this information later to add styles for `slot-fb` elements
1700
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
1701
+ hasSlotRelocation = true;
1702
+ }
1446
1703
  {
1447
1704
  cmpMeta.$members$ = compactMeta[2];
1448
1705
  }
@@ -1450,7 +1707,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1450
1707
  cmpMeta.$attrsToReflect$ = [];
1451
1708
  }
1452
1709
  {
1453
- cmpMeta.$watchers$ = {};
1710
+ cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
1454
1711
  }
1455
1712
  const tagName = cmpMeta.$tagName$;
1456
1713
  const HostElement = class extends HTMLElement {
@@ -1499,15 +1756,25 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1499
1756
  }
1500
1757
  });
1501
1758
  });
1759
+ // Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
1760
+ if (hasSlotRelocation) {
1761
+ dataStyles.innerHTML += SLOT_FB_CSS;
1762
+ }
1763
+ // Add hydration styles
1502
1764
  {
1503
- visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
1504
- visibilityStyle.setAttribute('data-styles', '');
1765
+ dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
1766
+ }
1767
+ // If we have styles, add them to the DOM
1768
+ if (dataStyles.innerHTML.length) {
1769
+ dataStyles.setAttribute('data-styles', '');
1505
1770
  // Apply CSP nonce to the style tag if it exists
1506
1771
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
1507
1772
  if (nonce != null) {
1508
- visibilityStyle.setAttribute('nonce', nonce);
1773
+ dataStyles.setAttribute('nonce', nonce);
1509
1774
  }
1510
- head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
1775
+ // Insert the styles into the document head
1776
+ // NOTE: this _needs_ to happen last so we can ensure the nonce (and other attributes) are applied
1777
+ head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
1511
1778
  }
1512
1779
  // Process deferred connectedCallbacks now all components have been registered
1513
1780
  isBootstrapping = false;
@@ -1530,13 +1797,40 @@ const Fragment = (_, children) => children;
1530
1797
  * @returns void
1531
1798
  */
1532
1799
  const setNonce = (nonce) => (plt.$nonce$ = nonce);
1800
+ /**
1801
+ * A WeakMap mapping runtime component references to their corresponding host reference
1802
+ * instances.
1803
+ */
1533
1804
  const hostRefs = /*@__PURE__*/ new WeakMap();
1805
+ /**
1806
+ * Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
1807
+ *
1808
+ * @param ref the runtime ref of interest
1809
+ * @returns the Host reference (if found) or undefined
1810
+ */
1534
1811
  const getHostRef = (ref) => hostRefs.get(ref);
1812
+ /**
1813
+ * Register a lazy instance with the {@link hostRefs} object so it's
1814
+ * corresponding {@link d.HostRef} can be retrieved later.
1815
+ *
1816
+ * @param lazyInstance the lazy instance of interest
1817
+ * @param hostRef that instances `HostRef` object
1818
+ * @returns a reference to the host ref WeakMap
1819
+ */
1535
1820
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
1536
- const registerHost = (elm, cmpMeta) => {
1821
+ /**
1822
+ * Register a host element for a Stencil component, setting up various metadata
1823
+ * and callbacks based on {@link BUILD} flags as well as the component's runtime
1824
+ * metadata.
1825
+ *
1826
+ * @param hostElement the host element to register
1827
+ * @param cmpMeta runtime metadata for that component
1828
+ * @returns a reference to the host ref WeakMap
1829
+ */
1830
+ const registerHost = (hostElement, cmpMeta) => {
1537
1831
  const hostRef = {
1538
1832
  $flags$: 0,
1539
- $hostElement$: elm,
1833
+ $hostElement$: hostElement,
1540
1834
  $cmpMeta$: cmpMeta,
1541
1835
  $instanceValues$: new Map(),
1542
1836
  };
@@ -1545,10 +1839,10 @@ const registerHost = (elm, cmpMeta) => {
1545
1839
  }
1546
1840
  {
1547
1841
  hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
1548
- elm['s-p'] = [];
1549
- elm['s-rc'] = [];
1842
+ hostElement['s-p'] = [];
1843
+ hostElement['s-rc'] = [];
1550
1844
  }
1551
- return hostRefs.set(elm, hostRef);
1845
+ return hostRefs.set(hostElement, hostRef);
1552
1846
  };
1553
1847
  const isMemberInElement = (elm, memberName) => memberName in elm;
1554
1848
  const consoleError = (e, el) => (0, console.error)(e, el);
@@ -1562,19 +1856,19 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
1562
1856
  return module[exportName];
1563
1857
  }
1564
1858
 
1565
- if (!hmrVersionId || !BUILD.hotModuleReplacement) {
1566
- const processMod = importedModule => {
1567
- cmpModules.set(bundleId, importedModule);
1568
- return importedModule[exportName];
1569
- }
1570
- switch(bundleId) {
1571
-
1572
- case 'arcgis-arcade-api_6.cjs':
1573
- return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1574
- /* webpackMode: "lazy" */
1575
- './arcgis-arcade-api_6.cjs.entry.js')); }).then(processMod, consoleError);
1859
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
1860
+ const processMod = importedModule => {
1861
+ cmpModules.set(bundleId, importedModule);
1862
+ return importedModule[exportName];
1863
+ }
1864
+ switch(bundleId) {
1865
+
1866
+ case 'arcgis-arcade-api_6.cjs':
1867
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1868
+ /* webpackMode: "lazy" */
1869
+ './arcgis-arcade-api_6.cjs.entry.js')); }).then(processMod, consoleError);
1870
+ }
1576
1871
  }
1577
- }
1578
1872
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1579
1873
  /* @vite-ignore */
1580
1874
  /* webpackInclude: /\.entry\.js$/ */
@@ -1649,7 +1943,7 @@ const flush = () => {
1649
1943
  }
1650
1944
  }
1651
1945
  };
1652
- const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
1946
+ const nextTick = (cb) => promiseResolve().then(cb);
1653
1947
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
1654
1948
 
1655
1949
  exports.Fragment = Fragment;