@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
  const NAMESPACE = 'arcgis-coding-components';
2
7
 
3
8
  /**
@@ -31,6 +36,13 @@ const uniqueTime = (key, measureText) => {
31
36
  }
32
37
  };
33
38
  const HYDRATED_CSS = '{visibility:hidden}[hydrated]{visibility:inherit}';
39
+ /**
40
+ * Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
41
+ *
42
+ * Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
43
+ * support as of Stencil v4.
44
+ */
45
+ const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
34
46
  const XLINK_NS = 'http://www.w3.org/1999/xlink';
35
47
  /**
36
48
  * Default style mode id
@@ -41,6 +53,13 @@ const XLINK_NS = 'http://www.w3.org/1999/xlink';
41
53
  */
42
54
  const EMPTY_OBJ = {};
43
55
  const isDef = (v) => v != null;
56
+ /**
57
+ * Check whether a value is a 'complex type', defined here as an object or a
58
+ * function.
59
+ *
60
+ * @param o the value to check
61
+ * @returns whether it's a complex type or not
62
+ */
44
63
  const isComplexType = (o) => {
45
64
  // https://jsperf.com/typeof-fn-object/5
46
65
  o = typeof o;
@@ -98,10 +117,10 @@ const h = (nodeName, vnodeData, ...children) => {
98
117
  };
99
118
  walk(children);
100
119
  if (vnodeData) {
101
- // normalize class / classname attributes
102
120
  if (vnodeData.key) {
103
121
  key = vnodeData.key;
104
122
  }
123
+ // normalize class / className attributes
105
124
  {
106
125
  const classData = vnodeData.className || vnodeData.class;
107
126
  if (classData) {
@@ -299,9 +318,9 @@ const registerStyle = (scopeId, cssText, allowCS) => {
299
318
  }
300
319
  styles.set(scopeId, style);
301
320
  };
302
- const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
321
+ const addStyle = (styleContainerNode, cmpMeta, mode) => {
303
322
  var _a;
304
- let scopeId = getScopeId(cmpMeta);
323
+ const scopeId = getScopeId(cmpMeta);
305
324
  const style = styles.get(scopeId);
306
325
  // if an element is NOT connected then getRootNode() will return the wrong root node
307
326
  // so the fallback is to always use the document for the root node in those cases
@@ -316,10 +335,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
316
335
  }
317
336
  if (!appliedStyles.has(scopeId)) {
318
337
  {
319
- {
320
- styleElm = doc.createElement('style');
321
- styleElm.innerHTML = style;
322
- }
338
+ styleElm = doc.createElement('style');
339
+ styleElm.innerHTML = style;
323
340
  // Apply CSP nonce to the style tag if it exists
324
341
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
325
342
  if (nonce != null) {
@@ -327,6 +344,10 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
327
344
  }
328
345
  styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
329
346
  }
347
+ // Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
348
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
349
+ styleElm.innerHTML += SLOT_FB_CSS;
350
+ }
330
351
  if (appliedStyles) {
331
352
  appliedStyles.add(scopeId);
332
353
  }
@@ -366,6 +387,21 @@ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
366
387
  *
367
388
  * Modified for Stencil's compiler and vdom
368
389
  */
390
+ /**
391
+ * When running a VDom render set properties present on a VDom node onto the
392
+ * corresponding HTML element.
393
+ *
394
+ * Note that this function has special functionality for the `class`,
395
+ * `style`, `key`, and `ref` attributes, as well as event handlers (like
396
+ * `onClick`, etc). All others are just passed through as-is.
397
+ *
398
+ * @param elm the HTMLElement onto which attributes should be set
399
+ * @param memberName the name of the attribute to set
400
+ * @param oldValue the old value for the attribute
401
+ * @param newValue the new value for the attribute
402
+ * @param isSvg whether we're in an svg context or not
403
+ * @param flags bitflags for Vdom variables
404
+ */
369
405
  const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
370
406
  if (oldValue !== newValue) {
371
407
  let isProp = isMemberInElement(elm, memberName);
@@ -442,11 +478,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
442
478
  // except for the first character, we keep the event name case
443
479
  memberName = ln[2] + memberName.slice(3);
444
480
  }
445
- if (oldValue) {
446
- plt.rel(elm, memberName, oldValue, false);
447
- }
448
- if (newValue) {
449
- plt.ael(elm, memberName, newValue, false);
481
+ if (oldValue || newValue) {
482
+ // Need to account for "capture" events.
483
+ // If the event name ends with "Capture", we'll update the name to remove
484
+ // the "Capture" suffix and make sure the event listener is setup to handle the capture event.
485
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
486
+ // Make sure we only replace the last instance of "Capture"
487
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
488
+ if (oldValue) {
489
+ plt.rel(elm, memberName, oldValue, capture);
490
+ }
491
+ if (newValue) {
492
+ plt.ael(elm, memberName, newValue, capture);
493
+ }
450
494
  }
451
495
  }
452
496
  else {
@@ -468,7 +512,11 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
468
512
  elm[memberName] = newValue;
469
513
  }
470
514
  }
471
- catch (e) { }
515
+ catch (e) {
516
+ /**
517
+ * in case someone tries to set a read-only property, e.g. "namespaceURI", we just ignore it
518
+ */
519
+ }
472
520
  }
473
521
  /**
474
522
  * Need to manually update attribute if:
@@ -507,7 +555,14 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
507
555
  }
508
556
  };
509
557
  const parseClassListRegex = /\s/;
558
+ /**
559
+ * Parsed a string of classnames into an array
560
+ * @param value className string, e.g. "foo bar baz"
561
+ * @returns list of classes, e.g. ["foo", "bar", "baz"]
562
+ */
510
563
  const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
564
+ const CAPTURE_EVENT_SUFFIX = 'Capture';
565
+ const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
511
566
  const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
512
567
  // if the element passed in is a shadow root, which is a document fragment
513
568
  // then we want to be adding attrs/props to the shadow root's "host" element
@@ -574,6 +629,9 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
574
629
  }
575
630
  }
576
631
  }
632
+ // This needs to always happen so we can hide nodes that are projected
633
+ // to another component but don't end up in a slot
634
+ elm['s-hn'] = hostTagName;
577
635
  return elm;
578
636
  };
579
637
  /**
@@ -617,16 +675,17 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
617
675
  * @param vnodes a list of virtual DOM nodes to remove
618
676
  * @param startIdx the index at which to start removing nodes (inclusive)
619
677
  * @param endIdx the index at which to stop removing nodes (inclusive)
620
- * @param vnode a VNode
621
- * @param elm an element
622
678
  */
623
- const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
624
- for (; startIdx <= endIdx; ++startIdx) {
625
- if ((vnode = vnodes[startIdx])) {
626
- elm = vnode.$elm$;
627
- callNodeRefs(vnode);
628
- // remove the vnode's element from the dom
629
- elm.remove();
679
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
680
+ for (let index = startIdx; index <= endIdx; ++index) {
681
+ const vnode = vnodes[index];
682
+ if (vnode) {
683
+ const elm = vnode.$elm$;
684
+ nullifyVNodeRefs(vnode);
685
+ if (elm) {
686
+ // remove the vnode's element from the dom
687
+ elm.remove();
688
+ }
630
689
  }
631
690
  }
632
691
  };
@@ -697,8 +756,9 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
697
756
  * @param oldCh the old children of the parent node
698
757
  * @param newVNode the new VNode which will replace the parent
699
758
  * @param newCh the new children of the parent node
759
+ * @param isInitialRender whether or not this is the first render of the vdom
700
760
  */
701
- const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
761
+ const updateChildren = (parentElm, oldCh, newVNode, newCh, isInitialRender = false) => {
702
762
  let oldStartIdx = 0;
703
763
  let newStartIdx = 0;
704
764
  let idxInOld = 0;
@@ -725,25 +785,25 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
725
785
  else if (newEndVnode == null) {
726
786
  newEndVnode = newCh[--newEndIdx];
727
787
  }
728
- else if (isSameVnode(oldStartVnode, newStartVnode)) {
788
+ else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
729
789
  // if the start nodes are the same then we should patch the new VNode
730
790
  // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
731
791
  // indices to reflect that. We don't need to move any DOM Nodes around
732
792
  // since things are matched up in order.
733
- patch(oldStartVnode, newStartVnode);
793
+ patch(oldStartVnode, newStartVnode, isInitialRender);
734
794
  oldStartVnode = oldCh[++oldStartIdx];
735
795
  newStartVnode = newCh[++newStartIdx];
736
796
  }
737
- else if (isSameVnode(oldEndVnode, newEndVnode)) {
797
+ else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
738
798
  // likewise, if the end nodes are the same we patch new onto old and
739
799
  // decrement our end indices, and also likewise in this case we don't
740
800
  // need to move any DOM Nodes.
741
- patch(oldEndVnode, newEndVnode);
801
+ patch(oldEndVnode, newEndVnode, isInitialRender);
742
802
  oldEndVnode = oldCh[--oldEndIdx];
743
803
  newEndVnode = newCh[--newEndIdx];
744
804
  }
745
- else if (isSameVnode(oldStartVnode, newEndVnode)) {
746
- patch(oldStartVnode, newEndVnode);
805
+ else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
806
+ patch(oldStartVnode, newEndVnode, isInitialRender);
747
807
  // We need to move the element for `oldStartVnode` into a position which
748
808
  // will be appropriate for `newEndVnode`. For this we can use
749
809
  // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
@@ -765,8 +825,8 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
765
825
  oldStartVnode = oldCh[++oldStartIdx];
766
826
  newEndVnode = newCh[--newEndIdx];
767
827
  }
768
- else if (isSameVnode(oldEndVnode, newStartVnode)) {
769
- patch(oldEndVnode, newStartVnode);
828
+ else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
829
+ patch(oldEndVnode, newStartVnode, isInitialRender);
770
830
  // We've already checked above if `oldStartVnode` and `newStartVnode` are
771
831
  // the same node, so since we're here we know that they are not. Thus we
772
832
  // can move the element for `oldEndVnode` _before_ the element for
@@ -803,7 +863,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
803
863
  node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld);
804
864
  }
805
865
  else {
806
- patch(elmToMove, newStartVnode);
866
+ patch(elmToMove, newStartVnode, isInitialRender);
807
867
  // invalidate the matching old node so that we won't try to update it
808
868
  // again later on
809
869
  oldCh[idxInOld] = undefined;
@@ -854,16 +914,22 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
854
914
  *
855
915
  * @param leftVNode the first VNode to check
856
916
  * @param rightVNode the second VNode to check
917
+ * @param isInitialRender whether or not this is the first render of the vdom
857
918
  * @returns whether they're equal or not
858
919
  */
859
- const isSameVnode = (leftVNode, rightVNode) => {
920
+ const isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
860
921
  // compare if two vnode to see if they're "technically" the same
861
922
  // need to have the same element tag, and same key to be the same
862
923
  if (leftVNode.$tag$ === rightVNode.$tag$) {
863
- // this will be set if components in the build have `key` attrs set on them
864
- {
924
+ // this will be set if JSX tags in the build have `key` attrs set on them
925
+ // we only want to check this if we're not on the first render since on
926
+ // first render `leftVNode.$key$` will always be `null`, so we can be led
927
+ // astray and, for instance, accidentally delete a DOM node that we want to
928
+ // keep around.
929
+ if (!isInitialRender) {
865
930
  return leftVNode.$key$ === rightVNode.$key$;
866
931
  }
932
+ return true;
867
933
  }
868
934
  return false;
869
935
  };
@@ -874,8 +940,9 @@ const isSameVnode = (leftVNode, rightVNode) => {
874
940
  *
875
941
  * @param oldVNode an old VNode whose DOM element and children we want to update
876
942
  * @param newVNode a new VNode representing an updated version of the old one
943
+ * @param isInitialRender whether or not this is the first render of the vdom
877
944
  */
878
- const patch = (oldVNode, newVNode) => {
945
+ const patch = (oldVNode, newVNode, isInitialRender = false) => {
879
946
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
880
947
  const oldChildren = oldVNode.$children$;
881
948
  const newChildren = newVNode.$children$;
@@ -892,7 +959,7 @@ const patch = (oldVNode, newVNode) => {
892
959
  if (oldChildren !== null && newChildren !== null) {
893
960
  // looks like there's child vnodes for both the old and new vnodes
894
961
  // so we need to call `updateChildren` to reconcile them
895
- updateChildren(elm, oldChildren, newVNode, newChildren);
962
+ updateChildren(elm, oldChildren, newVNode, newChildren, isInitialRender);
896
963
  }
897
964
  else if (newChildren !== null) {
898
965
  // no old child vnodes, but there are new child vnodes to add
@@ -914,10 +981,17 @@ const patch = (oldVNode, newVNode) => {
914
981
  elm.data = text;
915
982
  }
916
983
  };
917
- const callNodeRefs = (vNode) => {
984
+ /**
985
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
986
+ * them with `null`. This signals that the DOM element corresponding to the VDom
987
+ * node has been removed from the DOM.
988
+ *
989
+ * @param vNode a virtual DOM node
990
+ */
991
+ const nullifyVNodeRefs = (vNode) => {
918
992
  {
919
993
  vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
920
- vNode.$children$ && vNode.$children$.map(callNodeRefs);
994
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
921
995
  }
922
996
  };
923
997
  /**
@@ -931,17 +1005,44 @@ const callNodeRefs = (vNode) => {
931
1005
  * @param hostRef data needed to root and render the virtual DOM tree, such as
932
1006
  * the DOM node into which it should be rendered.
933
1007
  * @param renderFnResults the virtual DOM nodes to be rendered
1008
+ * @param isInitialLoad whether or not this is the first call after page load
934
1009
  */
935
- const renderVdom = (hostRef, renderFnResults) => {
1010
+ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
936
1011
  const hostElm = hostRef.$hostElement$;
937
1012
  const cmpMeta = hostRef.$cmpMeta$;
938
1013
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1014
+ // if `renderFnResults` is a Host node then we can use it directly. If not,
1015
+ // we need to call `h` again to wrap the children of our component in a
1016
+ // 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
1017
+ // implicitly that the top-level vdom node is 1) an only child and 2)
1018
+ // contains attrs that need to be set on the host element.
939
1019
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
940
1020
  hostTagName = hostElm.tagName;
941
1021
  if (cmpMeta.$attrsToReflect$) {
942
1022
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
943
1023
  cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
944
1024
  }
1025
+ // On the first render and *only* on the first render we want to check for
1026
+ // any attributes set on the host element which are also set on the vdom
1027
+ // node. If we find them, we override the value on the VDom node attrs with
1028
+ // the value from the host element, which allows developers building apps
1029
+ // with Stencil components to override e.g. the `role` attribute on a
1030
+ // component even if it's already set on the `Host`.
1031
+ if (isInitialLoad && rootVnode.$attrs$) {
1032
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1033
+ // We have a special implementation in `setAccessor` for `style` and
1034
+ // `class` which reconciles values coming from the VDom with values
1035
+ // already present on the DOM element, so we don't want to override those
1036
+ // attributes on the VDom tree with values from the host element if they
1037
+ // are present.
1038
+ //
1039
+ // Likewise, `ref` and `key` are special internal values for the Stencil
1040
+ // runtime and we don't want to override those either.
1041
+ if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
1042
+ rootVnode.$attrs$[key] = hostElm[key];
1043
+ }
1044
+ }
1045
+ }
945
1046
  rootVnode.$tag$ = null;
946
1047
  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
947
1048
  hostRef.$vnode$ = rootVnode;
@@ -950,7 +1051,7 @@ const renderVdom = (hostRef, renderFnResults) => {
950
1051
  scopeId = hostElm['s-sc'];
951
1052
  }
952
1053
  // synchronous patch
953
- patch(oldVNode, rootVnode);
1054
+ patch(oldVNode, rootVnode, isInitialLoad);
954
1055
  };
955
1056
  const attachToAncestor = (hostRef, ancestorComponent) => {
956
1057
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
@@ -972,20 +1073,86 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
972
1073
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
973
1074
  return writeTask(dispatch) ;
974
1075
  };
1076
+ /**
1077
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
1078
+ * component lifecycle methods like `componentWillLoad` as well as
1079
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
1080
+ *
1081
+ * @param hostRef a reference to a host DOM node
1082
+ * @param isInitialLoad whether we're on the initial load or not
1083
+ * @returns an empty Promise which is used to enqueue a series of operations for
1084
+ * the component
1085
+ */
975
1086
  const dispatchHooks = (hostRef, isInitialLoad) => {
976
1087
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
977
1088
  const instance = hostRef.$lazyInstance$ ;
978
- let promise;
1089
+ // We're going to use this variable together with `enqueue` to implement a
1090
+ // little promise-based queue. We start out with it `undefined`. When we add
1091
+ // the first function to the queue we'll set this variable to be that
1092
+ // function's return value. When we attempt to add subsequent values to the
1093
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
1094
+ // the new function off of that `Promise` using `.then()`. This will give our
1095
+ // queue two nice properties:
1096
+ //
1097
+ // 1. If all functions added to the queue are synchronous they'll be called
1098
+ // synchronously right away.
1099
+ // 2. If all functions added to the queue are asynchronous they'll all be
1100
+ // called in order after `dispatchHooks` exits.
1101
+ let maybePromise;
979
1102
  if (isInitialLoad) {
980
1103
  {
981
- promise = safeCall(instance, 'componentWillLoad');
1104
+ // If `componentWillLoad` returns a `Promise` then we want to wait on
1105
+ // whatever's going on in that `Promise` before we launch into
1106
+ // rendering the component, doing other lifecycle stuff, etc. So
1107
+ // in that case we assign the returned promise to the variable we
1108
+ // declared above to hold a possible 'queueing' Promise
1109
+ maybePromise = safeCall(instance, 'componentWillLoad');
982
1110
  }
983
1111
  }
984
1112
  endSchedule();
985
- return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
1113
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
986
1114
  };
1115
+ /**
1116
+ * This function uses a Promise to implement a simple first-in, first-out queue
1117
+ * of functions to be called.
1118
+ *
1119
+ * The queue is ordered on the basis of the first argument. If it's
1120
+ * `undefined`, then nothing is on the queue yet, so the provided function can
1121
+ * be called synchronously (although note that this function may return a
1122
+ * `Promise`). The idea is that then the return value of that enqueueing
1123
+ * operation is kept around, so that if it was a `Promise` then subsequent
1124
+ * functions can be enqueued by calling this function again with that `Promise`
1125
+ * as the first argument.
1126
+ *
1127
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
1128
+ * @param fn a function to enqueue
1129
+ * @returns either a `Promise` or the return value of the provided function
1130
+ */
1131
+ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
1132
+ /**
1133
+ * Check that a value is a `Promise`. To check, we first see if the value is an
1134
+ * instance of the `Promise` global. In a few circumstances, in particular if
1135
+ * the global has been overwritten, this is could be misleading, so we also do
1136
+ * a little 'duck typing' check to see if the `.then` property of the value is
1137
+ * defined and a function.
1138
+ *
1139
+ * @param maybePromise it might be a promise!
1140
+ * @returns whether it is or not
1141
+ */
1142
+ const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1143
+ (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
1144
+ /**
1145
+ * Update a component given reference to its host elements and so on.
1146
+ *
1147
+ * @param hostRef an object containing references to the element's host node,
1148
+ * VDom nodes, and other metadata
1149
+ * @param instance a reference to the underlying host element where it will be
1150
+ * rendered
1151
+ * @param isInitialLoad whether or not this function is being called as part of
1152
+ * the first render cycle
1153
+ */
987
1154
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
988
- // updateComponent
1155
+ var _a;
989
1156
  const elm = hostRef.$hostElement$;
990
1157
  const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
991
1158
  const rc = elm['s-rc'];
@@ -995,7 +1162,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
995
1162
  }
996
1163
  const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
997
1164
  {
998
- callRender(hostRef, instance);
1165
+ callRender(hostRef, instance, elm, isInitialLoad);
999
1166
  }
1000
1167
  if (rc) {
1001
1168
  // ok, so turns out there are some child host elements
@@ -1007,7 +1174,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1007
1174
  endRender();
1008
1175
  endUpdate();
1009
1176
  {
1010
- const childrenPromises = elm['s-p'];
1177
+ const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
1011
1178
  const postUpdate = () => postUpdateComponent(hostRef);
1012
1179
  if (childrenPromises.length === 0) {
1013
1180
  postUpdate();
@@ -1019,8 +1186,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1019
1186
  }
1020
1187
  }
1021
1188
  };
1022
- const callRender = (hostRef, instance, elm) => {
1189
+ /**
1190
+ * Handle making the call to the VDom renderer with the proper context given
1191
+ * various build variables
1192
+ *
1193
+ * @param hostRef an object containing references to the element's host node,
1194
+ * VDom nodes, and other metadata
1195
+ * @param instance a reference to the underlying host element where it will be
1196
+ * rendered
1197
+ * @param elm the Host element for the component
1198
+ * @param isInitialLoad whether or not this function is being called as part of
1199
+ * @returns an empty promise
1200
+ */
1201
+ const callRender = (hostRef, instance, elm, isInitialLoad) => {
1023
1202
  try {
1203
+ /**
1204
+ * minification optimization: `allRenderFn` is `true` if all components have a `render`
1205
+ * method, so we can call the method immediately. If not, check before calling it.
1206
+ */
1024
1207
  instance = instance.render() ;
1025
1208
  {
1026
1209
  hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
@@ -1034,7 +1217,7 @@ const callRender = (hostRef, instance, elm) => {
1034
1217
  // or we need to update the css class/attrs on the host element
1035
1218
  // DOM WRITE!
1036
1219
  {
1037
- renderVdom(hostRef, instance);
1220
+ renderVdom(hostRef, instance, isInitialLoad);
1038
1221
  }
1039
1222
  }
1040
1223
  }
@@ -1097,6 +1280,16 @@ const appDidLoad = (who) => {
1097
1280
  }
1098
1281
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
1099
1282
  };
1283
+ /**
1284
+ * Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
1285
+ * e.g. custom element node. If a build figures out that e.g. no component
1286
+ * has a `componentDidLoad` method, the instance method gets removed from the
1287
+ * output bundle and this function returns `undefined`.
1288
+ * @param instance any object that may or may not contain methods
1289
+ * @param method method name
1290
+ * @param arg single arbitrary argument
1291
+ * @returns result of method call if it exists, otherwise `undefined`
1292
+ */
1100
1293
  const safeCall = (instance, method, arg) => {
1101
1294
  if (instance && instance[method]) {
1102
1295
  try {
@@ -1108,9 +1301,6 @@ const safeCall = (instance, method, arg) => {
1108
1301
  }
1109
1302
  return undefined;
1110
1303
  };
1111
- const then = (promise, thenFn) => {
1112
- return promise && promise.then ? promise.then(thenFn) : thenFn();
1113
- };
1114
1304
  const addHydratedFlag = (elm) => elm.setAttribute('hydrated', '')
1115
1305
  ;
1116
1306
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
@@ -1167,13 +1357,14 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1167
1357
  * @returns a reference to the same constructor passed in (but now mutated)
1168
1358
  */
1169
1359
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1360
+ var _a;
1361
+ const prototype = Cstr.prototype;
1170
1362
  if (cmpMeta.$members$) {
1171
1363
  if (Cstr.watchers) {
1172
1364
  cmpMeta.$watchers$ = Cstr.watchers;
1173
1365
  }
1174
1366
  // It's better to have a const than two Object.entries()
1175
1367
  const members = Object.entries(cmpMeta.$members$);
1176
- const prototype = Cstr.prototype;
1177
1368
  members.map(([memberName, [memberFlags]]) => {
1178
1369
  if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
1179
1370
  ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
@@ -1196,16 +1387,18 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1196
1387
  // proxyComponent - method
1197
1388
  Object.defineProperty(prototype, memberName, {
1198
1389
  value(...args) {
1390
+ var _a;
1199
1391
  const ref = getHostRef(this);
1200
- return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));
1392
+ 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); });
1201
1393
  },
1202
1394
  });
1203
1395
  }
1204
1396
  });
1205
1397
  if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1206
1398
  const attrNameToPropName = new Map();
1207
- prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
1399
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
1208
1400
  plt.jmp(() => {
1401
+ var _a;
1209
1402
  const propName = attrNameToPropName.get(attrName);
1210
1403
  // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
1211
1404
  // in the case where an attribute was set inline.
@@ -1227,12 +1420,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1227
1420
  // customElements.define('my-component', MyComponent);
1228
1421
  // </script>
1229
1422
  // ```
1230
- // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
1423
+ // In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
1231
1424
  // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1232
1425
  // to the value that was set inline i.e. "some-value" from above example. When
1233
- // the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
1426
+ // the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
1234
1427
  //
1235
- // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
1428
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
1236
1429
  // by connectedCallback as this attributeChangedCallback will not fire.
1237
1430
  //
1238
1431
  // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
@@ -1252,31 +1445,72 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1252
1445
  // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1253
1446
  return;
1254
1447
  }
1448
+ else if (propName == null) {
1449
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
1450
+ // on a vanilla web component
1451
+ const hostRef = getHostRef(this);
1452
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
1453
+ // We only want to trigger the callback(s) if:
1454
+ // 1. The instance is ready
1455
+ // 2. The watchers are ready
1456
+ // 3. The value has changed
1457
+ if (flags &&
1458
+ !(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
1459
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
1460
+ newValue !== oldValue) {
1461
+ const instance = hostRef.$lazyInstance$ ;
1462
+ const entry = (_a = cmpMeta.$watchers$) === null || _a === void 0 ? void 0 : _a[attrName];
1463
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
1464
+ if (instance[callbackName] != null) {
1465
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
1466
+ }
1467
+ });
1468
+ }
1469
+ return;
1470
+ }
1255
1471
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1256
1472
  });
1257
1473
  };
1258
- // create an array of attributes to observe
1259
- // and also create a map of html attribute name to js property name
1260
- Cstr.observedAttributes = members
1261
- .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
1262
- .map(([propName, m]) => {
1263
- const attrName = m[1] || propName;
1264
- attrNameToPropName.set(attrName, propName);
1265
- if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1266
- cmpMeta.$attrsToReflect$.push([propName, attrName]);
1267
- }
1268
- return attrName;
1269
- });
1474
+ // Create an array of attributes to observe
1475
+ // This list in comprised of all strings used within a `@Watch()` decorator
1476
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
1477
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
1478
+ // an invalid attribute.
1479
+ Cstr.observedAttributes = Array.from(new Set([
1480
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
1481
+ ...members
1482
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
1483
+ .map(([propName, m]) => {
1484
+ var _a;
1485
+ const attrName = m[1] || propName;
1486
+ attrNameToPropName.set(attrName, propName);
1487
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1488
+ (_a = cmpMeta.$attrsToReflect$) === null || _a === void 0 ? void 0 : _a.push([propName, attrName]);
1489
+ }
1490
+ return attrName;
1491
+ }),
1492
+ ]));
1270
1493
  }
1271
1494
  }
1272
1495
  return Cstr;
1273
1496
  };
1274
- const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1497
+ /**
1498
+ * Initialize a Stencil component given a reference to its host element, its
1499
+ * runtime bookkeeping data structure, runtime metadata about the component,
1500
+ * and (optionally) an HMR version ID.
1501
+ *
1502
+ * @param elm a host element
1503
+ * @param hostRef the element's runtime bookkeeping object
1504
+ * @param cmpMeta runtime metadata for the Stencil component
1505
+ * @param hmrVersionId an (optional) HMR version ID
1506
+ */
1507
+ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1508
+ let Cstr;
1275
1509
  // initializeComponent
1276
1510
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1511
+ // Let the runtime know that the component has been initialized
1512
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1277
1513
  {
1278
- // we haven't initialized this element yet
1279
- hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1280
1514
  // lazy loaded components
1281
1515
  // request the component's implementation to be
1282
1516
  // wired up with the host element
@@ -1349,6 +1583,8 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1349
1583
  schedule();
1350
1584
  }
1351
1585
  };
1586
+ const fireConnectedCallback = (instance) => {
1587
+ };
1352
1588
  const connectedCallback = (elm) => {
1353
1589
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1354
1590
  const hostRef = getHostRef(elm);
@@ -1387,15 +1623,29 @@ const connectedCallback = (elm) => {
1387
1623
  initializeComponent(elm, hostRef, cmpMeta);
1388
1624
  }
1389
1625
  }
1626
+ else {
1627
+ // fire off connectedCallback() on component instance
1628
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) ;
1629
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
1630
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback());
1631
+ }
1632
+ }
1390
1633
  endConnected();
1391
1634
  }
1392
1635
  };
1393
- const disconnectedCallback = (elm) => {
1636
+ const disconnectInstance = (instance) => {
1637
+ {
1638
+ safeCall(instance, 'disconnectedCallback');
1639
+ }
1640
+ };
1641
+ const disconnectedCallback = async (elm) => {
1394
1642
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1395
1643
  const hostRef = getHostRef(elm);
1396
- const instance = hostRef.$lazyInstance$ ;
1397
- {
1398
- safeCall(instance, 'disconnectedCallback');
1644
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
1645
+ disconnectInstance(hostRef.$lazyInstance$);
1646
+ }
1647
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
1648
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
1399
1649
  }
1400
1650
  }
1401
1651
  };
@@ -1407,20 +1657,27 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1407
1657
  const customElements = win.customElements;
1408
1658
  const head = doc.head;
1409
1659
  const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
1410
- const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
1660
+ const dataStyles = /*@__PURE__*/ doc.createElement('style');
1411
1661
  const deferredConnectedCallbacks = [];
1412
1662
  let appLoadFallback;
1413
1663
  let isBootstrapping = true;
1414
1664
  Object.assign(plt, options);
1415
1665
  plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
1666
+ let hasSlotRelocation = false;
1416
1667
  lazyBundles.map((lazyBundle) => {
1417
1668
  lazyBundle[1].map((compactMeta) => {
1669
+ var _a;
1418
1670
  const cmpMeta = {
1419
1671
  $flags$: compactMeta[0],
1420
1672
  $tagName$: compactMeta[1],
1421
1673
  $members$: compactMeta[2],
1422
1674
  $listeners$: compactMeta[3],
1423
1675
  };
1676
+ // Check if we are using slots outside the shadow DOM in this component.
1677
+ // We'll use this information later to add styles for `slot-fb` elements
1678
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
1679
+ hasSlotRelocation = true;
1680
+ }
1424
1681
  {
1425
1682
  cmpMeta.$members$ = compactMeta[2];
1426
1683
  }
@@ -1428,7 +1685,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1428
1685
  cmpMeta.$attrsToReflect$ = [];
1429
1686
  }
1430
1687
  {
1431
- cmpMeta.$watchers$ = {};
1688
+ cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
1432
1689
  }
1433
1690
  const tagName = cmpMeta.$tagName$;
1434
1691
  const HostElement = class extends HTMLElement {
@@ -1477,15 +1734,25 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1477
1734
  }
1478
1735
  });
1479
1736
  });
1737
+ // Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
1738
+ if (hasSlotRelocation) {
1739
+ dataStyles.innerHTML += SLOT_FB_CSS;
1740
+ }
1741
+ // Add hydration styles
1480
1742
  {
1481
- visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
1482
- visibilityStyle.setAttribute('data-styles', '');
1743
+ dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
1744
+ }
1745
+ // If we have styles, add them to the DOM
1746
+ if (dataStyles.innerHTML.length) {
1747
+ dataStyles.setAttribute('data-styles', '');
1483
1748
  // Apply CSP nonce to the style tag if it exists
1484
1749
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
1485
1750
  if (nonce != null) {
1486
- visibilityStyle.setAttribute('nonce', nonce);
1751
+ dataStyles.setAttribute('nonce', nonce);
1487
1752
  }
1488
- head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
1753
+ // Insert the styles into the document head
1754
+ // NOTE: this _needs_ to happen last so we can ensure the nonce (and other attributes) are applied
1755
+ head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
1489
1756
  }
1490
1757
  // Process deferred connectedCallbacks now all components have been registered
1491
1758
  isBootstrapping = false;
@@ -1508,13 +1775,40 @@ const Fragment = (_, children) => children;
1508
1775
  * @returns void
1509
1776
  */
1510
1777
  const setNonce = (nonce) => (plt.$nonce$ = nonce);
1778
+ /**
1779
+ * A WeakMap mapping runtime component references to their corresponding host reference
1780
+ * instances.
1781
+ */
1511
1782
  const hostRefs = /*@__PURE__*/ new WeakMap();
1783
+ /**
1784
+ * Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
1785
+ *
1786
+ * @param ref the runtime ref of interest
1787
+ * @returns the Host reference (if found) or undefined
1788
+ */
1512
1789
  const getHostRef = (ref) => hostRefs.get(ref);
1790
+ /**
1791
+ * Register a lazy instance with the {@link hostRefs} object so it's
1792
+ * corresponding {@link d.HostRef} can be retrieved later.
1793
+ *
1794
+ * @param lazyInstance the lazy instance of interest
1795
+ * @param hostRef that instances `HostRef` object
1796
+ * @returns a reference to the host ref WeakMap
1797
+ */
1513
1798
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
1514
- const registerHost = (elm, cmpMeta) => {
1799
+ /**
1800
+ * Register a host element for a Stencil component, setting up various metadata
1801
+ * and callbacks based on {@link BUILD} flags as well as the component's runtime
1802
+ * metadata.
1803
+ *
1804
+ * @param hostElement the host element to register
1805
+ * @param cmpMeta runtime metadata for that component
1806
+ * @returns a reference to the host ref WeakMap
1807
+ */
1808
+ const registerHost = (hostElement, cmpMeta) => {
1515
1809
  const hostRef = {
1516
1810
  $flags$: 0,
1517
- $hostElement$: elm,
1811
+ $hostElement$: hostElement,
1518
1812
  $cmpMeta$: cmpMeta,
1519
1813
  $instanceValues$: new Map(),
1520
1814
  };
@@ -1523,10 +1817,10 @@ const registerHost = (elm, cmpMeta) => {
1523
1817
  }
1524
1818
  {
1525
1819
  hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
1526
- elm['s-p'] = [];
1527
- elm['s-rc'] = [];
1820
+ hostElement['s-p'] = [];
1821
+ hostElement['s-rc'] = [];
1528
1822
  }
1529
- return hostRefs.set(elm, hostRef);
1823
+ return hostRefs.set(hostElement, hostRef);
1530
1824
  };
1531
1825
  const isMemberInElement = (elm, memberName) => memberName in elm;
1532
1826
  const consoleError = (e, el) => (0, console.error)(e, el);
@@ -1540,19 +1834,19 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
1540
1834
  return module[exportName];
1541
1835
  }
1542
1836
 
1543
- if (!hmrVersionId || !BUILD.hotModuleReplacement) {
1544
- const processMod = importedModule => {
1545
- cmpModules.set(bundleId, importedModule);
1546
- return importedModule[exportName];
1837
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
1838
+ const processMod = importedModule => {
1839
+ cmpModules.set(bundleId, importedModule);
1840
+ return importedModule[exportName];
1841
+ }
1842
+ switch(bundleId) {
1843
+
1844
+ case 'arcgis-arcade-api_6':
1845
+ return import(
1846
+ /* webpackMode: "lazy" */
1847
+ './arcgis-arcade-api_6.entry.js').then(processMod, consoleError);
1848
+ }
1547
1849
  }
1548
- switch(bundleId) {
1549
-
1550
- case 'arcgis-arcade-api_6':
1551
- return import(
1552
- /* webpackMode: "lazy" */
1553
- './arcgis-arcade-api_6.entry.js').then(processMod, consoleError);
1554
- }
1555
- }
1556
1850
  return import(
1557
1851
  /* @vite-ignore */
1558
1852
  /* webpackInclude: /\.entry\.js$/ */
@@ -1627,7 +1921,7 @@ const flush = () => {
1627
1921
  }
1628
1922
  }
1629
1923
  };
1630
- const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
1924
+ const nextTick = (cb) => promiseResolve().then(cb);
1631
1925
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
1632
1926
 
1633
1927
  export { Fragment as F, Host as H, getElement as a, bootstrapLazy as b, createEvent as c, getAssetPath as g, h, promiseResolve as p, registerInstance as r, setNonce as s };