@arcgis/map-components 4.29.0-beta.4 → 4.29.0-beta.40

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 (608) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/arcgis-map-components/arcgis-map-components.esm.js +2 -1
  3. package/dist/arcgis-map-components/arcgis-map-components.esm.js.map +1 -0
  4. package/dist/arcgis-map-components/index.esm.js +2 -0
  5. package/dist/arcgis-map-components/index.esm.js.map +1 -0
  6. package/dist/arcgis-map-components/p-00f30dbd.entry.js +2 -0
  7. package/dist/arcgis-map-components/p-00f30dbd.entry.js.map +1 -0
  8. package/dist/arcgis-map-components/p-05478da4.entry.js +2 -0
  9. package/dist/arcgis-map-components/p-05478da4.entry.js.map +1 -0
  10. package/dist/arcgis-map-components/p-06dc39eb.entry.js +2 -0
  11. package/dist/arcgis-map-components/p-06dc39eb.entry.js.map +1 -0
  12. package/dist/arcgis-map-components/p-07325369.entry.js +2 -0
  13. package/dist/arcgis-map-components/p-07325369.entry.js.map +1 -0
  14. package/dist/arcgis-map-components/p-07e7d7b2.js +2 -0
  15. package/dist/arcgis-map-components/p-07e7d7b2.js.map +1 -0
  16. package/dist/arcgis-map-components/p-09b972be.entry.js +2 -0
  17. package/dist/arcgis-map-components/p-09b972be.entry.js.map +1 -0
  18. package/dist/arcgis-map-components/p-0e42e14b.entry.js +2 -0
  19. package/dist/arcgis-map-components/p-0e42e14b.entry.js.map +1 -0
  20. package/dist/arcgis-map-components/p-14f542a3.entry.js +2 -0
  21. package/dist/arcgis-map-components/p-14f542a3.entry.js.map +1 -0
  22. package/dist/arcgis-map-components/p-181101b2.entry.js +2 -0
  23. package/dist/arcgis-map-components/p-181101b2.entry.js.map +1 -0
  24. package/dist/arcgis-map-components/p-1aa22ffc.entry.js +2 -0
  25. package/dist/arcgis-map-components/p-1aa22ffc.entry.js.map +1 -0
  26. package/dist/arcgis-map-components/p-1ed5d647.entry.js +2 -0
  27. package/dist/arcgis-map-components/p-1ed5d647.entry.js.map +1 -0
  28. package/dist/arcgis-map-components/p-22738a30.entry.js +2 -0
  29. package/dist/arcgis-map-components/p-22738a30.entry.js.map +1 -0
  30. package/dist/arcgis-map-components/p-2a78610a.entry.js +2 -0
  31. package/dist/arcgis-map-components/p-2a78610a.entry.js.map +1 -0
  32. package/dist/arcgis-map-components/p-3209d063.entry.js +2 -0
  33. package/dist/arcgis-map-components/p-3209d063.entry.js.map +1 -0
  34. package/dist/arcgis-map-components/p-3a4ee895.entry.js +2 -0
  35. package/dist/arcgis-map-components/p-3a4ee895.entry.js.map +1 -0
  36. package/dist/arcgis-map-components/p-3ce612f0.entry.js +2 -0
  37. package/dist/arcgis-map-components/p-3ce612f0.entry.js.map +1 -0
  38. package/dist/arcgis-map-components/p-4280d545.js +2 -0
  39. package/dist/arcgis-map-components/p-4280d545.js.map +1 -0
  40. package/dist/arcgis-map-components/p-43e08c8e.entry.js +2 -0
  41. package/dist/arcgis-map-components/p-43e08c8e.entry.js.map +1 -0
  42. package/dist/arcgis-map-components/p-45a6ec08.entry.js +2 -0
  43. package/dist/arcgis-map-components/p-45a6ec08.entry.js.map +1 -0
  44. package/dist/arcgis-map-components/p-4edb69dc.entry.js +2 -0
  45. package/dist/arcgis-map-components/p-4edb69dc.entry.js.map +1 -0
  46. package/dist/arcgis-map-components/p-5245bc16.entry.js +2 -0
  47. package/dist/arcgis-map-components/p-5245bc16.entry.js.map +1 -0
  48. package/dist/arcgis-map-components/p-530503e3.js +2 -0
  49. package/dist/arcgis-map-components/p-530503e3.js.map +1 -0
  50. package/dist/arcgis-map-components/p-55d0f5ad.entry.js +2 -0
  51. package/dist/arcgis-map-components/p-55d0f5ad.entry.js.map +1 -0
  52. package/dist/arcgis-map-components/p-60a88ea8.entry.js +2 -0
  53. package/dist/arcgis-map-components/p-60a88ea8.entry.js.map +1 -0
  54. package/dist/arcgis-map-components/p-62249867.entry.js +2 -0
  55. package/dist/arcgis-map-components/p-62249867.entry.js.map +1 -0
  56. package/dist/arcgis-map-components/p-63bfa89a.entry.js +2 -0
  57. package/dist/arcgis-map-components/p-63bfa89a.entry.js.map +1 -0
  58. package/dist/arcgis-map-components/p-6eb31c62.entry.js +2 -0
  59. package/dist/arcgis-map-components/p-6eb31c62.entry.js.map +1 -0
  60. package/dist/arcgis-map-components/p-70d39dcf.entry.js +2 -0
  61. package/dist/arcgis-map-components/p-70d39dcf.entry.js.map +1 -0
  62. package/dist/arcgis-map-components/p-75c5fd05.entry.js +2 -0
  63. package/dist/arcgis-map-components/p-75c5fd05.entry.js.map +1 -0
  64. package/dist/arcgis-map-components/p-761ac7d4.entry.js +2 -0
  65. package/dist/arcgis-map-components/p-761ac7d4.entry.js.map +1 -0
  66. package/dist/arcgis-map-components/p-786c1915.entry.js +2 -0
  67. package/dist/arcgis-map-components/p-786c1915.entry.js.map +1 -0
  68. package/dist/arcgis-map-components/p-81207d02.entry.js +2 -0
  69. package/dist/arcgis-map-components/p-81207d02.entry.js.map +1 -0
  70. package/dist/arcgis-map-components/p-82ba1e5d.entry.js +2 -0
  71. package/dist/arcgis-map-components/p-82ba1e5d.entry.js.map +1 -0
  72. package/dist/arcgis-map-components/p-883490a4.entry.js +2 -0
  73. package/dist/arcgis-map-components/p-883490a4.entry.js.map +1 -0
  74. package/dist/arcgis-map-components/p-8a36eefa.entry.js +2 -0
  75. package/dist/arcgis-map-components/p-8a36eefa.entry.js.map +1 -0
  76. package/dist/arcgis-map-components/p-8c9da1b9.entry.js +2 -0
  77. package/dist/arcgis-map-components/p-8c9da1b9.entry.js.map +1 -0
  78. package/dist/arcgis-map-components/p-943108f9.entry.js +2 -0
  79. package/dist/arcgis-map-components/p-943108f9.entry.js.map +1 -0
  80. package/dist/arcgis-map-components/p-983881aa.entry.js +2 -0
  81. package/dist/arcgis-map-components/p-983881aa.entry.js.map +1 -0
  82. package/dist/arcgis-map-components/p-9d965bf8.entry.js +2 -0
  83. package/dist/arcgis-map-components/p-9d965bf8.entry.js.map +1 -0
  84. package/dist/arcgis-map-components/p-9de4c65d.entry.js +2 -0
  85. package/dist/arcgis-map-components/p-9de4c65d.entry.js.map +1 -0
  86. package/dist/arcgis-map-components/p-9efd1c60.entry.js +2 -0
  87. package/dist/arcgis-map-components/p-9efd1c60.entry.js.map +1 -0
  88. package/dist/arcgis-map-components/p-a096c52f.entry.js +2 -0
  89. package/dist/arcgis-map-components/p-a096c52f.entry.js.map +1 -0
  90. package/dist/arcgis-map-components/p-a29e5958.entry.js +2 -0
  91. package/dist/arcgis-map-components/p-a29e5958.entry.js.map +1 -0
  92. package/dist/arcgis-map-components/p-a4367c0d.entry.js +2 -0
  93. package/dist/arcgis-map-components/p-a4367c0d.entry.js.map +1 -0
  94. package/dist/arcgis-map-components/p-b28da40c.entry.js +2 -0
  95. package/dist/arcgis-map-components/p-b28da40c.entry.js.map +1 -0
  96. package/dist/arcgis-map-components/p-ba7bfe2a.entry.js +2 -0
  97. package/dist/arcgis-map-components/p-ba7bfe2a.entry.js.map +1 -0
  98. package/dist/arcgis-map-components/p-c1eb12b2.entry.js +2 -0
  99. package/dist/arcgis-map-components/p-c1eb12b2.entry.js.map +1 -0
  100. package/dist/arcgis-map-components/p-c8faa156.entry.js +2 -0
  101. package/dist/arcgis-map-components/p-c8faa156.entry.js.map +1 -0
  102. package/dist/arcgis-map-components/p-c95d50be.entry.js +2 -0
  103. package/dist/arcgis-map-components/p-c95d50be.entry.js.map +1 -0
  104. package/dist/arcgis-map-components/p-d0fb9a2a.entry.js +2 -0
  105. package/dist/arcgis-map-components/p-d0fb9a2a.entry.js.map +1 -0
  106. package/dist/arcgis-map-components/p-d142ff74.js +2 -0
  107. package/dist/arcgis-map-components/p-d142ff74.js.map +1 -0
  108. package/dist/arcgis-map-components/p-dbc82e69.js +3 -0
  109. package/dist/arcgis-map-components/p-dbc82e69.js.map +1 -0
  110. package/dist/arcgis-map-components/p-dbf111db.entry.js +2 -0
  111. package/dist/arcgis-map-components/p-dbf111db.entry.js.map +1 -0
  112. package/dist/arcgis-map-components/p-e4a12f83.entry.js +2 -0
  113. package/dist/arcgis-map-components/p-e4a12f83.entry.js.map +1 -0
  114. package/dist/arcgis-map-components/p-ee414323.entry.js +2 -0
  115. package/dist/arcgis-map-components/p-ee414323.entry.js.map +1 -0
  116. package/dist/arcgis-map-components/p-f66a4365.entry.js +2 -0
  117. package/dist/arcgis-map-components/p-f66a4365.entry.js.map +1 -0
  118. package/dist/arcgis-map-components/p-f674b7f4.entry.js +2 -0
  119. package/dist/arcgis-map-components/p-f674b7f4.entry.js.map +1 -0
  120. package/dist/cjs/arcgis-area-measurement-2d.cjs.entry.js +20 -16
  121. package/dist/cjs/arcgis-area-measurement-2d.cjs.entry.js.map +1 -0
  122. package/dist/cjs/arcgis-area-measurement-3d.cjs.entry.js +18 -14
  123. package/dist/cjs/arcgis-area-measurement-3d.cjs.entry.js.map +1 -0
  124. package/dist/cjs/arcgis-attachments.cjs.entry.js +47 -13
  125. package/dist/cjs/arcgis-attachments.cjs.entry.js.map +1 -0
  126. package/dist/cjs/arcgis-basemap-gallery_3.cjs.entry.js +509 -0
  127. package/dist/cjs/arcgis-basemap-gallery_3.cjs.entry.js.map +1 -0
  128. package/dist/cjs/arcgis-basemap-layer-list.cjs.entry.js +63 -34
  129. package/dist/cjs/arcgis-basemap-layer-list.cjs.entry.js.map +1 -0
  130. package/dist/cjs/arcgis-basemap-toggle.cjs.entry.js +35 -29
  131. package/dist/cjs/arcgis-basemap-toggle.cjs.entry.js.map +1 -0
  132. package/dist/cjs/arcgis-bookmarks.cjs.entry.js +33 -25
  133. package/dist/cjs/arcgis-bookmarks.cjs.entry.js.map +1 -0
  134. package/dist/cjs/arcgis-building-explorer.cjs.entry.js +48 -23
  135. package/dist/cjs/arcgis-building-explorer.cjs.entry.js.map +1 -0
  136. package/dist/cjs/arcgis-compass.cjs.entry.js +14 -18
  137. package/dist/cjs/arcgis-compass.cjs.entry.js.map +1 -0
  138. package/dist/cjs/arcgis-coordinate-conversion.cjs.entry.js +60 -30
  139. package/dist/cjs/arcgis-coordinate-conversion.cjs.entry.js.map +1 -0
  140. package/dist/cjs/arcgis-daylight.cjs.entry.js +24 -21
  141. package/dist/cjs/arcgis-daylight.cjs.entry.js.map +1 -0
  142. package/dist/cjs/arcgis-directions.cjs.entry.js +51 -29
  143. package/dist/cjs/arcgis-directions.cjs.entry.js.map +1 -0
  144. package/dist/cjs/arcgis-directline-measurement-3d.cjs.entry.js +18 -22
  145. package/dist/cjs/arcgis-directline-measurement-3d.cjs.entry.js.map +1 -0
  146. package/dist/cjs/arcgis-distance-measurement-2d.cjs.entry.js +16 -20
  147. package/dist/cjs/arcgis-distance-measurement-2d.cjs.entry.js.map +1 -0
  148. package/dist/cjs/arcgis-editor.cjs.entry.js +35 -29
  149. package/dist/cjs/arcgis-editor.cjs.entry.js.map +1 -0
  150. package/dist/cjs/arcgis-elevation-profile.cjs.entry.js +35 -22
  151. package/dist/cjs/arcgis-elevation-profile.cjs.entry.js.map +1 -0
  152. package/dist/cjs/arcgis-feature-form.cjs.entry.js +120 -7
  153. package/dist/cjs/arcgis-feature-form.cjs.entry.js.map +1 -0
  154. package/dist/cjs/arcgis-feature-table.cjs.entry.js +72 -43
  155. package/dist/cjs/arcgis-feature-table.cjs.entry.js.map +1 -0
  156. package/dist/cjs/arcgis-feature-templates.cjs.entry.js +77 -13
  157. package/dist/cjs/arcgis-feature-templates.cjs.entry.js.map +1 -0
  158. package/dist/cjs/arcgis-feature.cjs.entry.js +52 -22
  159. package/dist/cjs/arcgis-feature.cjs.entry.js.map +1 -0
  160. package/dist/cjs/arcgis-features.cjs.entry.js +52 -25
  161. package/dist/cjs/arcgis-features.cjs.entry.js.map +1 -0
  162. package/dist/cjs/arcgis-floor-filter.cjs.entry.js +21 -25
  163. package/dist/cjs/arcgis-floor-filter.cjs.entry.js.map +1 -0
  164. package/dist/cjs/arcgis-fullscreen.cjs.entry.js +18 -22
  165. package/dist/cjs/arcgis-fullscreen.cjs.entry.js.map +1 -0
  166. package/dist/cjs/arcgis-histogram-range-slider.cjs.entry.js +140 -12
  167. package/dist/cjs/arcgis-histogram-range-slider.cjs.entry.js.map +1 -0
  168. package/dist/cjs/arcgis-histogram.cjs.entry.js +119 -7
  169. package/dist/cjs/arcgis-histogram.cjs.entry.js.map +1 -0
  170. package/dist/cjs/arcgis-home.cjs.entry.js +29 -23
  171. package/dist/cjs/arcgis-home.cjs.entry.js.map +1 -0
  172. package/dist/cjs/arcgis-layer-list.cjs.entry.js +47 -22
  173. package/dist/cjs/arcgis-layer-list.cjs.entry.js.map +1 -0
  174. package/dist/cjs/arcgis-legend.cjs.entry.js +19 -23
  175. package/dist/cjs/arcgis-legend.cjs.entry.js.map +1 -0
  176. package/dist/cjs/arcgis-line-of-sight.cjs.entry.js +16 -20
  177. package/dist/cjs/arcgis-line-of-sight.cjs.entry.js.map +1 -0
  178. package/dist/cjs/arcgis-locate.cjs.entry.js +27 -32
  179. package/dist/cjs/arcgis-locate.cjs.entry.js.map +1 -0
  180. package/dist/cjs/arcgis-map-components.cjs.js +5 -3
  181. package/dist/cjs/arcgis-map-components.cjs.js.map +1 -0
  182. package/dist/cjs/arcgis-measurement.cjs.entry.js +28 -23
  183. package/dist/cjs/arcgis-measurement.cjs.entry.js.map +1 -0
  184. package/dist/cjs/arcgis-navigation-toggle.cjs.entry.js +14 -18
  185. package/dist/cjs/arcgis-navigation-toggle.cjs.entry.js.map +1 -0
  186. package/dist/cjs/arcgis-placement.cjs.entry.js +52 -0
  187. package/dist/cjs/arcgis-placement.cjs.entry.js.map +1 -0
  188. package/dist/cjs/arcgis-print.cjs.entry.js +41 -27
  189. package/dist/cjs/arcgis-print.cjs.entry.js.map +1 -0
  190. package/dist/cjs/arcgis-scale-bar.cjs.entry.js +17 -21
  191. package/dist/cjs/arcgis-scale-bar.cjs.entry.js.map +1 -0
  192. package/dist/cjs/arcgis-scale-range-slider.cjs.entry.js +40 -34
  193. package/dist/cjs/arcgis-scale-range-slider.cjs.entry.js.map +1 -0
  194. package/dist/cjs/arcgis-scene.cjs.entry.js +205 -0
  195. package/dist/cjs/arcgis-scene.cjs.entry.js.map +1 -0
  196. package/dist/cjs/arcgis-search.cjs.entry.js +320 -0
  197. package/dist/cjs/arcgis-search.cjs.entry.js.map +1 -0
  198. package/dist/cjs/arcgis-shadow-cast.cjs.entry.js +26 -29
  199. package/dist/cjs/arcgis-shadow-cast.cjs.entry.js.map +1 -0
  200. package/dist/cjs/arcgis-sketch.cjs.entry.js +43 -37
  201. package/dist/cjs/arcgis-sketch.cjs.entry.js.map +1 -0
  202. package/dist/cjs/arcgis-slice.cjs.entry.js +18 -31
  203. package/dist/cjs/arcgis-slice.cjs.entry.js.map +1 -0
  204. package/dist/cjs/arcgis-slider.cjs.entry.js +41 -43
  205. package/dist/cjs/arcgis-slider.cjs.entry.js.map +1 -0
  206. package/dist/cjs/arcgis-swipe.cjs.entry.js +9 -6
  207. package/dist/cjs/arcgis-swipe.cjs.entry.js.map +1 -0
  208. package/dist/cjs/arcgis-table-list.cjs.entry.js +47 -27
  209. package/dist/cjs/arcgis-table-list.cjs.entry.js.map +1 -0
  210. package/dist/cjs/arcgis-time-slider.cjs.entry.js +37 -31
  211. package/dist/cjs/arcgis-time-slider.cjs.entry.js.map +1 -0
  212. package/dist/cjs/arcgis-track.cjs.entry.js +26 -30
  213. package/dist/cjs/arcgis-track.cjs.entry.js.map +1 -0
  214. package/dist/cjs/arcgis-utility-network-associations.cjs.entry.js +30 -31
  215. package/dist/cjs/arcgis-utility-network-associations.cjs.entry.js.map +1 -0
  216. package/dist/cjs/arcgis-utility-network-trace.cjs.entry.js +43 -23
  217. package/dist/cjs/arcgis-utility-network-trace.cjs.entry.js.map +1 -0
  218. package/dist/cjs/arcgis-utility-network-validate-topology.cjs.entry.js +21 -32
  219. package/dist/cjs/arcgis-utility-network-validate-topology.cjs.entry.js.map +1 -0
  220. package/dist/cjs/arcgis-value-picker.cjs.entry.js +44 -27
  221. package/dist/cjs/arcgis-value-picker.cjs.entry.js.map +1 -0
  222. package/dist/cjs/arcgis-weather.cjs.entry.js +25 -19
  223. package/dist/cjs/arcgis-weather.cjs.entry.js.map +1 -0
  224. package/dist/cjs/arcgis-zoom.cjs.entry.js +23 -24
  225. package/dist/cjs/arcgis-zoom.cjs.entry.js.map +1 -0
  226. package/dist/cjs/{component-utils-cbd20e88.js → component-utils-70169d9c.js} +59 -5
  227. package/dist/cjs/component-utils-70169d9c.js.map +1 -0
  228. package/dist/cjs/disconnected-efe16c70.js +40 -0
  229. package/dist/cjs/disconnected-efe16c70.js.map +1 -0
  230. package/dist/cjs/{index-bfda1cdc.js → index-3c85172f.js} +2 -0
  231. package/dist/cjs/index-3c85172f.js.map +1 -0
  232. package/dist/cjs/{index-6b51d5a0.js → index-f95f0426.js} +752 -71
  233. package/dist/cjs/index-f95f0426.js.map +1 -0
  234. package/dist/cjs/index.cjs.js +2 -0
  235. package/dist/cjs/index.cjs.js.map +1 -0
  236. package/dist/cjs/loader.cjs.js +5 -12
  237. package/dist/cjs/loader.cjs.js.map +1 -0
  238. package/dist/cjs/mapping-utils-2c2f871e.js +42 -0
  239. package/dist/cjs/mapping-utils-2c2f871e.js.map +1 -0
  240. package/dist/components/arcgis-area-measurement-2d.js +25 -15
  241. package/dist/components/arcgis-area-measurement-2d.js.map +1 -0
  242. package/dist/components/arcgis-area-measurement-3d.js +24 -14
  243. package/dist/components/arcgis-area-measurement-3d.js.map +1 -0
  244. package/dist/components/arcgis-attachments.js +56 -13
  245. package/dist/components/arcgis-attachments.js.map +1 -0
  246. package/dist/components/arcgis-basemap-gallery.js +31 -22
  247. package/dist/components/arcgis-basemap-gallery.js.map +1 -0
  248. package/dist/components/arcgis-basemap-layer-list.js +80 -36
  249. package/dist/components/arcgis-basemap-layer-list.js.map +1 -0
  250. package/dist/components/arcgis-basemap-toggle.js +43 -29
  251. package/dist/components/arcgis-basemap-toggle.js.map +1 -0
  252. package/dist/components/arcgis-bookmarks.js +44 -25
  253. package/dist/components/arcgis-bookmarks.js.map +1 -0
  254. package/dist/components/arcgis-building-explorer.js +57 -23
  255. package/dist/components/arcgis-building-explorer.js.map +1 -0
  256. package/dist/components/arcgis-compass.js +18 -17
  257. package/dist/components/arcgis-compass.js.map +1 -0
  258. package/dist/components/arcgis-coordinate-conversion.js +75 -30
  259. package/dist/components/arcgis-coordinate-conversion.js.map +1 -0
  260. package/dist/components/arcgis-daylight.js +34 -21
  261. package/dist/components/arcgis-daylight.js.map +1 -0
  262. package/dist/components/arcgis-directions.js +65 -29
  263. package/dist/components/arcgis-directions.js.map +1 -0
  264. package/dist/components/arcgis-directline-measurement-3d.js +25 -22
  265. package/dist/components/arcgis-directline-measurement-3d.js.map +1 -0
  266. package/dist/components/arcgis-distance-measurement-2d.js +23 -20
  267. package/dist/components/arcgis-distance-measurement-2d.js.map +1 -0
  268. package/dist/components/arcgis-editor.js +48 -29
  269. package/dist/components/arcgis-editor.js.map +1 -0
  270. package/dist/components/arcgis-elevation-profile.js +48 -23
  271. package/dist/components/arcgis-elevation-profile.js.map +1 -0
  272. package/dist/components/arcgis-expand.js +3 -1
  273. package/dist/components/arcgis-expand.js.map +1 -0
  274. package/dist/components/arcgis-feature-form.js +146 -10
  275. package/dist/components/arcgis-feature-form.js.map +1 -0
  276. package/dist/components/arcgis-feature-table.js +97 -42
  277. package/dist/components/arcgis-feature-table.js.map +1 -0
  278. package/dist/components/arcgis-feature-templates.js +93 -14
  279. package/dist/components/arcgis-feature-templates.js.map +1 -0
  280. package/dist/components/arcgis-feature.js +67 -23
  281. package/dist/components/arcgis-feature.js.map +1 -0
  282. package/dist/components/arcgis-features.js +65 -27
  283. package/dist/components/arcgis-features.js.map +1 -0
  284. package/dist/components/arcgis-floor-filter.js +30 -25
  285. package/dist/components/arcgis-floor-filter.js.map +1 -0
  286. package/dist/components/arcgis-fullscreen.js +23 -21
  287. package/dist/components/arcgis-fullscreen.js.map +1 -0
  288. package/dist/components/arcgis-histogram-range-slider.js +170 -12
  289. package/dist/components/arcgis-histogram-range-slider.js.map +1 -0
  290. package/dist/components/arcgis-histogram.js +147 -9
  291. package/dist/components/arcgis-histogram.js.map +1 -0
  292. package/dist/components/arcgis-home.js +36 -22
  293. package/dist/components/arcgis-home.js.map +1 -0
  294. package/dist/components/arcgis-layer-list.js +60 -23
  295. package/dist/components/arcgis-layer-list.js.map +1 -0
  296. package/dist/components/arcgis-legend.js +30 -23
  297. package/dist/components/arcgis-legend.js.map +1 -0
  298. package/dist/components/arcgis-line-of-sight.js +21 -20
  299. package/dist/components/arcgis-line-of-sight.js.map +1 -0
  300. package/dist/components/arcgis-locate.js +38 -32
  301. package/dist/components/arcgis-locate.js.map +1 -0
  302. package/dist/components/arcgis-map.js +100 -40
  303. package/dist/components/arcgis-map.js.map +1 -0
  304. package/dist/components/arcgis-measurement.js +36 -23
  305. package/dist/components/arcgis-measurement.js.map +1 -0
  306. package/dist/components/arcgis-navigation-toggle.js +19 -17
  307. package/dist/components/arcgis-navigation-toggle.js.map +1 -0
  308. package/dist/components/arcgis-placement.d.ts +11 -0
  309. package/dist/components/arcgis-placement.js +73 -0
  310. package/dist/components/arcgis-placement.js.map +1 -0
  311. package/dist/components/arcgis-print.js +54 -27
  312. package/dist/components/arcgis-print.js.map +1 -0
  313. package/dist/components/arcgis-scale-bar.js +24 -21
  314. package/dist/components/arcgis-scale-bar.js.map +1 -0
  315. package/dist/components/arcgis-scale-range-slider.js +54 -35
  316. package/dist/components/arcgis-scale-range-slider.js.map +1 -0
  317. package/dist/components/arcgis-scene.js +98 -34
  318. package/dist/components/arcgis-scene.js.map +1 -0
  319. package/dist/components/arcgis-search.js +107 -41
  320. package/dist/components/arcgis-search.js.map +1 -0
  321. package/dist/components/arcgis-shadow-cast.js +34 -31
  322. package/dist/components/arcgis-shadow-cast.js.map +1 -0
  323. package/dist/components/arcgis-sketch.js +59 -37
  324. package/dist/components/arcgis-sketch.js.map +1 -0
  325. package/dist/components/arcgis-slice.js +24 -33
  326. package/dist/components/arcgis-slice.js.map +1 -0
  327. package/dist/components/arcgis-slider.js +57 -43
  328. package/dist/components/arcgis-slider.js.map +1 -0
  329. package/dist/components/arcgis-swipe.js +18 -5
  330. package/dist/components/arcgis-swipe.js.map +1 -0
  331. package/dist/components/arcgis-table-list.js +58 -27
  332. package/dist/components/arcgis-table-list.js.map +1 -0
  333. package/dist/components/arcgis-time-slider.js +54 -31
  334. package/dist/components/arcgis-time-slider.js.map +1 -0
  335. package/dist/components/arcgis-track.js +36 -30
  336. package/dist/components/arcgis-track.js.map +1 -0
  337. package/dist/components/arcgis-utility-network-associations.js +50 -31
  338. package/dist/components/arcgis-utility-network-associations.js.map +1 -0
  339. package/dist/components/arcgis-utility-network-trace.js +56 -23
  340. package/dist/components/arcgis-utility-network-trace.js.map +1 -0
  341. package/dist/components/arcgis-utility-network-validate-topology.js +28 -32
  342. package/dist/components/arcgis-utility-network-validate-topology.js.map +1 -0
  343. package/dist/components/arcgis-value-picker.js +54 -27
  344. package/dist/components/arcgis-value-picker.js.map +1 -0
  345. package/dist/components/arcgis-weather.js +32 -19
  346. package/dist/components/arcgis-weather.js.map +1 -0
  347. package/dist/components/arcgis-zoom.js +28 -23
  348. package/dist/components/arcgis-zoom.js.map +1 -0
  349. package/dist/{esm/component-utils-2ebdae59.js → components/component-utils.js} +56 -4
  350. package/dist/components/component-utils.js.map +1 -0
  351. package/dist/components/disconnected.js +13 -97
  352. package/dist/components/disconnected.js.map +1 -0
  353. package/dist/components/expand.js +256 -0
  354. package/dist/components/expand.js.map +1 -0
  355. package/dist/components/index.d.ts +5 -55
  356. package/dist/components/index.js +3 -54
  357. package/dist/components/index.js.map +1 -0
  358. package/dist/components/index2.js +3 -1
  359. package/dist/components/index2.js.map +1 -0
  360. package/dist/components/mapping-utils.js +12 -10
  361. package/dist/components/mapping-utils.js.map +1 -0
  362. package/dist/esm/arcgis-area-measurement-2d.entry.js +20 -16
  363. package/dist/esm/arcgis-area-measurement-2d.entry.js.map +1 -0
  364. package/dist/esm/arcgis-area-measurement-3d.entry.js +18 -14
  365. package/dist/esm/arcgis-area-measurement-3d.entry.js.map +1 -0
  366. package/dist/esm/arcgis-attachments.entry.js +46 -12
  367. package/dist/esm/arcgis-attachments.entry.js.map +1 -0
  368. package/dist/esm/arcgis-basemap-gallery_3.entry.js +503 -0
  369. package/dist/esm/arcgis-basemap-gallery_3.entry.js.map +1 -0
  370. package/dist/esm/arcgis-basemap-layer-list.entry.js +63 -34
  371. package/dist/esm/arcgis-basemap-layer-list.entry.js.map +1 -0
  372. package/dist/esm/arcgis-basemap-toggle.entry.js +35 -29
  373. package/dist/esm/arcgis-basemap-toggle.entry.js.map +1 -0
  374. package/dist/esm/arcgis-bookmarks.entry.js +33 -25
  375. package/dist/esm/arcgis-bookmarks.entry.js.map +1 -0
  376. package/dist/esm/arcgis-building-explorer.entry.js +48 -23
  377. package/dist/esm/arcgis-building-explorer.entry.js.map +1 -0
  378. package/dist/esm/arcgis-compass.entry.js +14 -18
  379. package/dist/esm/arcgis-compass.entry.js.map +1 -0
  380. package/dist/esm/arcgis-coordinate-conversion.entry.js +60 -30
  381. package/dist/esm/arcgis-coordinate-conversion.entry.js.map +1 -0
  382. package/dist/esm/arcgis-daylight.entry.js +24 -21
  383. package/dist/esm/arcgis-daylight.entry.js.map +1 -0
  384. package/dist/esm/arcgis-directions.entry.js +51 -29
  385. package/dist/esm/arcgis-directions.entry.js.map +1 -0
  386. package/dist/esm/arcgis-directline-measurement-3d.entry.js +18 -22
  387. package/dist/esm/arcgis-directline-measurement-3d.entry.js.map +1 -0
  388. package/dist/esm/arcgis-distance-measurement-2d.entry.js +16 -20
  389. package/dist/esm/arcgis-distance-measurement-2d.entry.js.map +1 -0
  390. package/dist/esm/arcgis-editor.entry.js +35 -29
  391. package/dist/esm/arcgis-editor.entry.js.map +1 -0
  392. package/dist/esm/arcgis-elevation-profile.entry.js +35 -22
  393. package/dist/esm/arcgis-elevation-profile.entry.js.map +1 -0
  394. package/dist/esm/arcgis-feature-form.entry.js +120 -7
  395. package/dist/esm/arcgis-feature-form.entry.js.map +1 -0
  396. package/dist/esm/arcgis-feature-table.entry.js +72 -43
  397. package/dist/esm/arcgis-feature-table.entry.js.map +1 -0
  398. package/dist/esm/arcgis-feature-templates.entry.js +77 -13
  399. package/dist/esm/arcgis-feature-templates.entry.js.map +1 -0
  400. package/dist/esm/arcgis-feature.entry.js +52 -22
  401. package/dist/esm/arcgis-feature.entry.js.map +1 -0
  402. package/dist/esm/arcgis-features.entry.js +52 -25
  403. package/dist/esm/arcgis-features.entry.js.map +1 -0
  404. package/dist/esm/arcgis-floor-filter.entry.js +21 -25
  405. package/dist/esm/arcgis-floor-filter.entry.js.map +1 -0
  406. package/dist/esm/arcgis-fullscreen.entry.js +18 -22
  407. package/dist/esm/arcgis-fullscreen.entry.js.map +1 -0
  408. package/dist/esm/arcgis-histogram-range-slider.entry.js +140 -12
  409. package/dist/esm/arcgis-histogram-range-slider.entry.js.map +1 -0
  410. package/dist/esm/arcgis-histogram.entry.js +119 -7
  411. package/dist/esm/arcgis-histogram.entry.js.map +1 -0
  412. package/dist/esm/arcgis-home.entry.js +29 -23
  413. package/dist/esm/arcgis-home.entry.js.map +1 -0
  414. package/dist/esm/arcgis-layer-list.entry.js +47 -22
  415. package/dist/esm/arcgis-layer-list.entry.js.map +1 -0
  416. package/dist/esm/arcgis-legend.entry.js +19 -23
  417. package/dist/esm/arcgis-legend.entry.js.map +1 -0
  418. package/dist/esm/arcgis-line-of-sight.entry.js +16 -20
  419. package/dist/esm/arcgis-line-of-sight.entry.js.map +1 -0
  420. package/dist/esm/arcgis-locate.entry.js +27 -32
  421. package/dist/esm/arcgis-locate.entry.js.map +1 -0
  422. package/dist/esm/arcgis-map-components.js +6 -4
  423. package/dist/esm/arcgis-map-components.js.map +1 -0
  424. package/dist/esm/arcgis-measurement.entry.js +28 -23
  425. package/dist/esm/arcgis-measurement.entry.js.map +1 -0
  426. package/dist/esm/arcgis-navigation-toggle.entry.js +14 -18
  427. package/dist/esm/arcgis-navigation-toggle.entry.js.map +1 -0
  428. package/dist/esm/arcgis-placement.entry.js +48 -0
  429. package/dist/esm/arcgis-placement.entry.js.map +1 -0
  430. package/dist/esm/arcgis-print.entry.js +41 -27
  431. package/dist/esm/arcgis-print.entry.js.map +1 -0
  432. package/dist/esm/arcgis-scale-bar.entry.js +17 -21
  433. package/dist/esm/arcgis-scale-bar.entry.js.map +1 -0
  434. package/dist/esm/arcgis-scale-range-slider.entry.js +40 -34
  435. package/dist/esm/arcgis-scale-range-slider.entry.js.map +1 -0
  436. package/dist/esm/arcgis-scene.entry.js +201 -0
  437. package/dist/esm/arcgis-scene.entry.js.map +1 -0
  438. package/dist/esm/arcgis-search.entry.js +316 -0
  439. package/dist/esm/arcgis-search.entry.js.map +1 -0
  440. package/dist/esm/arcgis-shadow-cast.entry.js +26 -29
  441. package/dist/esm/arcgis-shadow-cast.entry.js.map +1 -0
  442. package/dist/esm/arcgis-sketch.entry.js +43 -37
  443. package/dist/esm/arcgis-sketch.entry.js.map +1 -0
  444. package/dist/esm/arcgis-slice.entry.js +18 -31
  445. package/dist/esm/arcgis-slice.entry.js.map +1 -0
  446. package/dist/esm/arcgis-slider.entry.js +41 -43
  447. package/dist/esm/arcgis-slider.entry.js.map +1 -0
  448. package/dist/esm/arcgis-swipe.entry.js +9 -6
  449. package/dist/esm/arcgis-swipe.entry.js.map +1 -0
  450. package/dist/esm/arcgis-table-list.entry.js +47 -27
  451. package/dist/esm/arcgis-table-list.entry.js.map +1 -0
  452. package/dist/esm/arcgis-time-slider.entry.js +37 -31
  453. package/dist/esm/arcgis-time-slider.entry.js.map +1 -0
  454. package/dist/esm/arcgis-track.entry.js +26 -30
  455. package/dist/esm/arcgis-track.entry.js.map +1 -0
  456. package/dist/esm/arcgis-utility-network-associations.entry.js +30 -31
  457. package/dist/esm/arcgis-utility-network-associations.entry.js.map +1 -0
  458. package/dist/esm/arcgis-utility-network-trace.entry.js +43 -23
  459. package/dist/esm/arcgis-utility-network-trace.entry.js.map +1 -0
  460. package/dist/esm/arcgis-utility-network-validate-topology.entry.js +21 -32
  461. package/dist/esm/arcgis-utility-network-validate-topology.entry.js.map +1 -0
  462. package/dist/esm/arcgis-value-picker.entry.js +44 -27
  463. package/dist/esm/arcgis-value-picker.entry.js.map +1 -0
  464. package/dist/esm/arcgis-weather.entry.js +25 -19
  465. package/dist/esm/arcgis-weather.entry.js.map +1 -0
  466. package/dist/esm/arcgis-zoom.entry.js +23 -24
  467. package/dist/esm/arcgis-zoom.entry.js.map +1 -0
  468. package/dist/esm/component-utils-42a79acb.js +125 -0
  469. package/dist/esm/component-utils-42a79acb.js.map +1 -0
  470. package/dist/esm/disconnected-bf72f8e5.js +38 -0
  471. package/dist/esm/disconnected-bf72f8e5.js.map +1 -0
  472. package/dist/esm/{index-eb3ead33.js → index-05f887cd.js} +752 -71
  473. package/dist/esm/index-05f887cd.js.map +1 -0
  474. package/dist/esm/{index-334b0bde.js → index-fd2cea51.js} +3 -1
  475. package/dist/esm/index-fd2cea51.js.map +1 -0
  476. package/dist/esm/index.js +2 -0
  477. package/dist/esm/index.js.map +1 -0
  478. package/dist/esm/loader.js +6 -13
  479. package/dist/esm/loader.js.map +1 -0
  480. package/dist/esm/mapping-utils-a935fed9.js +40 -0
  481. package/dist/esm/mapping-utils-a935fed9.js.map +1 -0
  482. package/dist/loader/index.d.ts +2 -2
  483. package/dist/types/components/{arcgis-area-measurement-2d/arcgis-area-measurement-2d.d.ts → area-measurement-2d/area-measurement-2d.d.ts} +5 -3
  484. package/dist/types/components/{arcgis-area-measurement-3d/arcgis-area-measurement-3d.d.ts → area-measurement-3d/area-measurement-3d.d.ts} +5 -3
  485. package/dist/types/components/{arcgis-attachments/arcgis-attachments.d.ts → attachments/attachments.d.ts} +10 -1
  486. package/dist/types/components/{arcgis-basemap-gallery/arcgis-basemap-gallery.d.ts → basemap-gallery/basemap-gallery.d.ts} +5 -3
  487. package/dist/types/components/{arcgis-basemap-layer-list/arcgis-basemap-layer-list.d.ts → basemap-layer-list/basemap-layer-list.d.ts} +15 -8
  488. package/dist/types/components/{arcgis-basemap-toggle/arcgis-basemap-toggle.d.ts → basemap-toggle/basemap-toggle.d.ts} +7 -4
  489. package/dist/types/components/{arcgis-bookmarks/arcgis-bookmarks.d.ts → bookmarks/bookmarks.d.ts} +10 -7
  490. package/dist/types/components/{arcgis-building-explorer/arcgis-building-explorer.d.ts → building-explorer/building-explorer.d.ts} +9 -3
  491. package/dist/types/components/{arcgis-compass/arcgis-compass.d.ts → compass/compass.d.ts} +4 -3
  492. package/dist/types/components/{arcgis-coordinate-conversion/arcgis-coordinate-conversion.d.ts → coordinate-conversion/coordinate-conversion.d.ts} +14 -11
  493. package/dist/types/components/{arcgis-daylight/arcgis-daylight.d.ts → daylight/daylight.d.ts} +9 -6
  494. package/dist/types/components/{arcgis-directions/arcgis-directions.d.ts → directions/directions.d.ts} +13 -9
  495. package/dist/types/components/{arcgis-directline-measurement-3d/arcgis-directline-measurement-3d.d.ts → directline-measurement-3d/directline-measurement-3d.d.ts} +6 -5
  496. package/dist/types/components/{arcgis-distance-measurement-2d/arcgis-distance-measurement-2d.d.ts → distance-measurement-2d/distance-measurement-2d.d.ts} +6 -5
  497. package/dist/types/components/{arcgis-editor/arcgis-editor.d.ts → editor/editor.d.ts} +12 -9
  498. package/dist/types/components/{arcgis-elevation-profile/arcgis-elevation-profile.d.ts → elevation-profile/elevation-profile.d.ts} +12 -8
  499. package/dist/types/components/expand/expand.d.ts +48 -0
  500. package/dist/types/components/{arcgis-feature/arcgis-feature.d.ts → feature/feature.d.ts} +13 -5
  501. package/dist/types/components/feature-form/feature-form.d.ts +42 -0
  502. package/dist/types/components/{arcgis-feature-table/arcgis-feature-table.d.ts → feature-table/feature-table.d.ts} +25 -18
  503. package/dist/types/components/feature-templates/feature-templates.d.ts +38 -0
  504. package/dist/types/components/{arcgis-features/arcgis-features.d.ts → features/features.d.ts} +13 -4
  505. package/dist/types/components/{arcgis-floor-filter/arcgis-floor-filter.d.ts → floor-filter/floor-filter.d.ts} +8 -7
  506. package/dist/types/components/{arcgis-fullscreen/arcgis-fullscreen.d.ts → fullscreen/fullscreen.d.ts} +5 -4
  507. package/dist/types/components/histogram/histogram.d.ts +41 -0
  508. package/dist/types/components/histogram-range-slider/histogram-range-slider.d.ts +52 -0
  509. package/dist/types/components/{arcgis-home/arcgis-home.d.ts → home/home.d.ts} +7 -4
  510. package/dist/types/components/{arcgis-layer-list/arcgis-layer-list.d.ts → layer-list/layer-list.d.ts} +11 -6
  511. package/dist/types/components/{arcgis-legend/arcgis-legend.d.ts → legend/legend.d.ts} +10 -9
  512. package/dist/types/components/{arcgis-line-of-sight/arcgis-line-of-sight.d.ts → line-of-sight/line-of-sight.d.ts} +4 -3
  513. package/dist/types/components/{arcgis-locate/arcgis-locate.d.ts → locate/locate.d.ts} +11 -10
  514. package/dist/types/components/{arcgis-map/arcgis-map.d.ts → map/map.d.ts} +9 -2
  515. package/dist/types/components/{arcgis-measurement/arcgis-measurement.d.ts → measurement/measurement.d.ts} +7 -6
  516. package/dist/types/components/{arcgis-navigation-toggle/arcgis-navigation-toggle.d.ts → navigation-toggle/navigation-toggle.d.ts} +5 -4
  517. package/dist/types/components/{arcgis-expand/arcgis-expand.d.ts → placement/placement.d.ts} +8 -13
  518. package/dist/types/components/{arcgis-print/arcgis-print.d.ts → print/print.d.ts} +14 -13
  519. package/dist/types/components/{arcgis-scale-bar/arcgis-scale-bar.d.ts → scale-bar/scale-bar.d.ts} +6 -5
  520. package/dist/types/components/{arcgis-scale-range-slider/arcgis-scale-range-slider.d.ts → scale-range-slider/scale-range-slider.d.ts} +12 -9
  521. package/dist/types/components/{arcgis-scene/arcgis-scene.d.ts → scene/scene.d.ts} +9 -2
  522. package/dist/types/components/{arcgis-search/arcgis-search.d.ts → search/search.d.ts} +21 -20
  523. package/dist/types/components/{arcgis-shadow-cast/arcgis-shadow-cast.d.ts → shadow-cast/shadow-cast.d.ts} +6 -5
  524. package/dist/types/components/{arcgis-sketch/arcgis-sketch.d.ts → sketch/sketch.d.ts} +15 -12
  525. package/dist/types/components/{arcgis-slice/arcgis-slice.d.ts → slice/slice.d.ts} +4 -5
  526. package/dist/types/components/{arcgis-slider/arcgis-slider.d.ts → slider/slider.d.ts} +15 -14
  527. package/dist/types/components/{arcgis-swipe/arcgis-swipe.d.ts → swipe/swipe.d.ts} +1 -0
  528. package/dist/types/components/{arcgis-table-list/arcgis-table-list.d.ts → table-list/table-list.d.ts} +10 -5
  529. package/dist/types/components/{arcgis-time-slider/arcgis-time-slider.d.ts → time-slider/time-slider.d.ts} +16 -13
  530. package/dist/types/components/{arcgis-track/arcgis-track.d.ts → track/track.d.ts} +10 -9
  531. package/dist/types/components/{arcgis-utility-network-associations/arcgis-utility-network-associations.d.ts → utility-network-associations/utility-network-associations.d.ts} +20 -17
  532. package/dist/types/components/{arcgis-utility-network-trace/arcgis-utility-network-trace.d.ts → utility-network-trace/utility-network-trace.d.ts} +12 -11
  533. package/dist/types/components/{arcgis-utility-network-validate-topology/arcgis-utility-network-validate-topology.d.ts → utility-network-validate-topology/utility-network-validate-topology.d.ts} +6 -5
  534. package/dist/types/components/{arcgis-value-picker/arcgis-value-picker.d.ts → value-picker/value-picker.d.ts} +9 -6
  535. package/dist/types/components/{arcgis-weather/arcgis-weather.d.ts → weather/weather.d.ts} +6 -3
  536. package/dist/types/components/{arcgis-zoom/arcgis-zoom.d.ts → zoom/zoom.d.ts} +5 -4
  537. package/dist/types/components.d.ts +953 -62
  538. package/dist/types/stencil-public-runtime.d.ts +53 -17
  539. package/dist/types/utils/component-utils.d.ts +9 -4
  540. package/dist/types/utils/expandable.d.ts +1 -0
  541. package/dist/types/utils/mapping-utils.d.ts +1 -1
  542. package/package.json +21 -23
  543. package/dist/arcgis-map-components/p-037a3bb6.entry.js +0 -1
  544. package/dist/arcgis-map-components/p-064bf907.entry.js +0 -1
  545. package/dist/arcgis-map-components/p-08015460.entry.js +0 -1
  546. package/dist/arcgis-map-components/p-0d492ad6.entry.js +0 -1
  547. package/dist/arcgis-map-components/p-0ee8ea5a.entry.js +0 -1
  548. package/dist/arcgis-map-components/p-11168df4.entry.js +0 -1
  549. package/dist/arcgis-map-components/p-1680f044.entry.js +0 -1
  550. package/dist/arcgis-map-components/p-1a6dcf6a.entry.js +0 -1
  551. package/dist/arcgis-map-components/p-1e5e5ed9.js +0 -2
  552. package/dist/arcgis-map-components/p-29c81862.entry.js +0 -1
  553. package/dist/arcgis-map-components/p-2d3406f7.js +0 -1
  554. package/dist/arcgis-map-components/p-347dba98.entry.js +0 -1
  555. package/dist/arcgis-map-components/p-3673ae6e.entry.js +0 -1
  556. package/dist/arcgis-map-components/p-367c6986.entry.js +0 -1
  557. package/dist/arcgis-map-components/p-3b2623c6.entry.js +0 -1
  558. package/dist/arcgis-map-components/p-4722bbad.entry.js +0 -1
  559. package/dist/arcgis-map-components/p-48c89578.entry.js +0 -1
  560. package/dist/arcgis-map-components/p-5299aa69.entry.js +0 -1
  561. package/dist/arcgis-map-components/p-52c3388d.entry.js +0 -1
  562. package/dist/arcgis-map-components/p-5d2f53bd.entry.js +0 -1
  563. package/dist/arcgis-map-components/p-615399dd.entry.js +0 -1
  564. package/dist/arcgis-map-components/p-658a2499.entry.js +0 -1
  565. package/dist/arcgis-map-components/p-7031c422.entry.js +0 -1
  566. package/dist/arcgis-map-components/p-7084f84f.entry.js +0 -1
  567. package/dist/arcgis-map-components/p-74b7f2c3.entry.js +0 -1
  568. package/dist/arcgis-map-components/p-86a82586.entry.js +0 -1
  569. package/dist/arcgis-map-components/p-8a60074a.entry.js +0 -1
  570. package/dist/arcgis-map-components/p-8b4cf5da.entry.js +0 -1
  571. package/dist/arcgis-map-components/p-922bbfed.entry.js +0 -1
  572. package/dist/arcgis-map-components/p-932be58c.entry.js +0 -1
  573. package/dist/arcgis-map-components/p-99d486cb.entry.js +0 -1
  574. package/dist/arcgis-map-components/p-9fdd4596.entry.js +0 -1
  575. package/dist/arcgis-map-components/p-a0f092fc.entry.js +0 -1
  576. package/dist/arcgis-map-components/p-a1e2e59f.entry.js +0 -1
  577. package/dist/arcgis-map-components/p-a249c2fa.entry.js +0 -1
  578. package/dist/arcgis-map-components/p-a508d7c6.entry.js +0 -1
  579. package/dist/arcgis-map-components/p-a89102b6.entry.js +0 -1
  580. package/dist/arcgis-map-components/p-ac7e9294.entry.js +0 -1
  581. package/dist/arcgis-map-components/p-adcfd40d.entry.js +0 -1
  582. package/dist/arcgis-map-components/p-ae96d72a.entry.js +0 -1
  583. package/dist/arcgis-map-components/p-b026950f.entry.js +0 -1
  584. package/dist/arcgis-map-components/p-b5904340.entry.js +0 -1
  585. package/dist/arcgis-map-components/p-b813c9e6.js +0 -1
  586. package/dist/arcgis-map-components/p-c57f270d.entry.js +0 -1
  587. package/dist/arcgis-map-components/p-c63d9e91.entry.js +0 -1
  588. package/dist/arcgis-map-components/p-c8516f87.entry.js +0 -1
  589. package/dist/arcgis-map-components/p-d3f3affa.entry.js +0 -1
  590. package/dist/arcgis-map-components/p-d5ac71b2.entry.js +0 -1
  591. package/dist/arcgis-map-components/p-dcf3861b.entry.js +0 -1
  592. package/dist/arcgis-map-components/p-e1201530.entry.js +0 -1
  593. package/dist/arcgis-map-components/p-eb95717e.entry.js +0 -1
  594. package/dist/arcgis-map-components/p-ee1086de.entry.js +0 -1
  595. package/dist/arcgis-map-components/p-f28d6d27.js +0 -1
  596. package/dist/arcgis-map-components/p-f8353590.entry.js +0 -1
  597. package/dist/cjs/arcgis-basemap-gallery.cjs.entry.js +0 -97
  598. package/dist/cjs/arcgis-expand_4.cjs.entry.js +0 -693
  599. package/dist/cjs/disconnected-306cb220.js +0 -55
  600. package/dist/components/arcgis-expand2.js +0 -107
  601. package/dist/esm/arcgis-basemap-gallery.entry.js +0 -93
  602. package/dist/esm/arcgis-expand_4.entry.js +0 -686
  603. package/dist/esm/disconnected-bc5fc8bc.js +0 -52
  604. package/dist/esm/polyfills/css-shim.js +0 -1
  605. package/dist/types/components/arcgis-feature-form/arcgis-feature-form.d.ts +0 -18
  606. package/dist/types/components/arcgis-feature-templates/arcgis-feature-templates.d.ts +0 -24
  607. package/dist/types/components/arcgis-histogram/arcgis-histogram.d.ts +0 -18
  608. package/dist/types/components/arcgis-histogram-range-slider/arcgis-histogram-range-slider.d.ts +0 -25
@@ -21,6 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'arcgis-map-components';
24
+ const BUILD = /* arcgis-map-components */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: true, hydratedClass: false, initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, slot: true, slotChildNodesFix: false, slotRelocation: true, state: false, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: false, vdomListener: false, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: false, vdomText: false, vdomXlink: false, watchCallback: true };
24
25
 
25
26
  /**
26
27
  * Virtual DOM patching algorithm based on Snabbdom by
@@ -30,6 +31,11 @@ const NAMESPACE = 'arcgis-map-components';
30
31
  *
31
32
  * Modified for Stencil's renderer and slot projection
32
33
  */
34
+ let contentRef;
35
+ let hostTagName;
36
+ let useNativeShadowDom = false;
37
+ let checkSlotFallbackVisibility = false;
38
+ let checkSlotRelocate = false;
33
39
  let isSvgMode = false;
34
40
  let queuePending = false;
35
41
  const createTime = (fnName, tagName = '') => {
@@ -55,6 +61,13 @@ const HYDRATED_CSS = '{visibility:hidden}[hydrated]{visibility:inherit}';
55
61
  * Don't add values to these!!
56
62
  */
57
63
  const EMPTY_OBJ = {};
64
+ /**
65
+ * Check whether a value is a 'complex type', defined here as an object or a
66
+ * function.
67
+ *
68
+ * @param o the value to check
69
+ * @returns whether it's a complex type or not
70
+ */
58
71
  const isComplexType = (o) => {
59
72
  // https://jsperf.com/typeof-fn-object/5
60
73
  o = typeof o;
@@ -84,6 +97,7 @@ function queryNonceMetaTagContent(doc) {
84
97
  // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
85
98
  const h = (nodeName, vnodeData, ...children) => {
86
99
  let child = null;
100
+ let slotName = null;
87
101
  let simple = false;
88
102
  let lastSimple = false;
89
103
  const vNodeChildren = [];
@@ -111,6 +125,10 @@ const h = (nodeName, vnodeData, ...children) => {
111
125
  };
112
126
  walk(children);
113
127
  if (vnodeData) {
128
+ if (vnodeData.name) {
129
+ slotName = vnodeData.name;
130
+ }
131
+ // normalize class / className attributes
114
132
  {
115
133
  const classData = vnodeData.className || vnodeData.class;
116
134
  if (classData) {
@@ -128,6 +146,9 @@ const h = (nodeName, vnodeData, ...children) => {
128
146
  if (vNodeChildren.length > 0) {
129
147
  vnode.$children$ = vNodeChildren;
130
148
  }
149
+ {
150
+ vnode.$name$ = slotName;
151
+ }
131
152
  return vnode;
132
153
  };
133
154
  /**
@@ -149,6 +170,9 @@ const newVNode = (tag, text) => {
149
170
  {
150
171
  vnode.$attrs$ = null;
151
172
  }
173
+ {
174
+ vnode.$name$ = null;
175
+ }
152
176
  return vnode;
153
177
  };
154
178
  const Host = {};
@@ -249,9 +273,9 @@ const registerStyle = (scopeId, cssText, allowCS) => {
249
273
  }
250
274
  styles.set(scopeId, style);
251
275
  };
252
- const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
276
+ const addStyle = (styleContainerNode, cmpMeta, mode) => {
253
277
  var _a;
254
- let scopeId = getScopeId(cmpMeta);
278
+ const scopeId = getScopeId(cmpMeta);
255
279
  const style = styles.get(scopeId);
256
280
  // if an element is NOT connected then getRootNode() will return the wrong root node
257
281
  // so the fallback is to always use the document for the root node in those cases
@@ -266,10 +290,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
266
290
  }
267
291
  if (!appliedStyles.has(scopeId)) {
268
292
  {
269
- {
270
- styleElm = doc.createElement('style');
271
- styleElm.innerHTML = style;
272
- }
293
+ styleElm = doc.createElement('style');
294
+ styleElm.innerHTML = style;
273
295
  // Apply CSP nonce to the style tag if it exists
274
296
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
275
297
  if (nonce != null) {
@@ -304,6 +326,21 @@ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
304
326
  *
305
327
  * Modified for Stencil's compiler and vdom
306
328
  */
329
+ /**
330
+ * When running a VDom render set properties present on a VDom node onto the
331
+ * corresponding HTML element.
332
+ *
333
+ * Note that this function has special functionality for the `class`,
334
+ * `style`, `key`, and `ref` attributes, as well as event handlers (like
335
+ * `onClick`, etc). All others are just passed through as-is.
336
+ *
337
+ * @param elm the HTMLElement onto which attributes should be set
338
+ * @param memberName the name of the attribute to set
339
+ * @param oldValue the old value for the attribute
340
+ * @param newValue the new value for the attribute
341
+ * @param isSvg whether we're in an svg context or not
342
+ * @param flags bitflags for Vdom variables
343
+ */
307
344
  const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
308
345
  if (oldValue !== newValue) {
309
346
  let isProp = isMemberInElement(elm, memberName);
@@ -393,14 +430,34 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
393
430
  * @returns the newly created node
394
431
  */
395
432
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
433
+ var _a;
396
434
  // tslint:disable-next-line: prefer-const
397
435
  const newVNode = newParentVNode.$children$[childIndex];
398
436
  let i = 0;
399
437
  let elm;
400
438
  let childNode;
401
- {
439
+ let oldVNode;
440
+ if (!useNativeShadowDom) {
441
+ // remember for later we need to check to relocate nodes
442
+ checkSlotRelocate = true;
443
+ if (newVNode.$tag$ === 'slot') {
444
+ newVNode.$flags$ |= newVNode.$children$
445
+ ? // slot element has fallback content
446
+ 2 /* VNODE_FLAGS.isSlotFallback */
447
+ : // slot element does not have fallback content
448
+ 1 /* VNODE_FLAGS.isSlotReference */;
449
+ }
450
+ }
451
+ if (newVNode.$flags$ & 1 /* VNODE_FLAGS.isSlotReference */) {
452
+ // create a slot reference node
453
+ elm = newVNode.$elm$ =
454
+ doc.createTextNode('');
455
+ }
456
+ else {
402
457
  // create element
403
- elm = newVNode.$elm$ = (doc.createElement(newVNode.$tag$));
458
+ elm = newVNode.$elm$ = (doc.createElement(newVNode.$flags$ & 2 /* VNODE_FLAGS.isSlotFallback */
459
+ ? 'slot-fb'
460
+ : newVNode.$tag$));
404
461
  // add css classes, attrs, props, listeners, etc.
405
462
  {
406
463
  updateElement(null, newVNode, isSvgMode);
@@ -417,8 +474,61 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
417
474
  }
418
475
  }
419
476
  }
477
+ {
478
+ elm['s-hn'] = hostTagName;
479
+ if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
480
+ // remember the content reference comment
481
+ elm['s-sr'] = true;
482
+ // Persist the name of the slot that this slot was going to be projected into.
483
+ elm['s-fs'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.slot;
484
+ // remember the content reference comment
485
+ elm['s-cr'] = contentRef;
486
+ // remember the slot name, or empty string for default slot
487
+ elm['s-sn'] = newVNode.$name$ || '';
488
+ // check if we've got an old vnode for this slot
489
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
490
+ if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
491
+ // we've got an old slot vnode and the wrapper is being replaced
492
+ // so let's move the old slot content back to it's original location
493
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
494
+ }
495
+ }
496
+ }
420
497
  return elm;
421
498
  };
499
+ const putBackInOriginalLocation = (parentElm, recursive) => {
500
+ var _a;
501
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
502
+ const oldSlotChildNodes = parentElm.childNodes;
503
+ for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
504
+ const childNode = oldSlotChildNodes[i];
505
+ if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
506
+ // // this child node in the old element is from another component
507
+ // // remove this node from the old slot's parent
508
+ // childNode.remove();
509
+ // and relocate it back to it's original location
510
+ parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
511
+ // remove the old original location comment entirely
512
+ // later on the patch function will know what to do
513
+ // and move this to the correct spot if need be
514
+ childNode['s-ol'].remove();
515
+ childNode['s-ol'] = undefined;
516
+ // Reset so we can correctly move the node around again.
517
+ childNode['s-sh'] = undefined;
518
+ // When putting an element node back in its original location,
519
+ // we need to reset the `slot` attribute back to the value it originally had
520
+ // so we can correctly relocate it again in the future
521
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
522
+ childNode.setAttribute('slot', (_a = childNode['s-sn']) !== null && _a !== void 0 ? _a : '');
523
+ }
524
+ checkSlotRelocate = true;
525
+ }
526
+ if (recursive) {
527
+ putBackInOriginalLocation(childNode, recursive);
528
+ }
529
+ }
530
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
531
+ };
422
532
  /**
423
533
  * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
424
534
  * add them to the DOM in the appropriate place.
@@ -435,14 +545,14 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
435
545
  * creating DOM nodes (inclusive)
436
546
  */
437
547
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
438
- let containerElm = (parentElm);
548
+ let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
439
549
  let childNode;
440
550
  for (; startIdx <= endIdx; ++startIdx) {
441
551
  if (vnodes[startIdx]) {
442
552
  childNode = createElm(null, parentVNode, startIdx);
443
553
  if (childNode) {
444
554
  vnodes[startIdx].$elm$ = childNode;
445
- containerElm.insertBefore(childNode, before);
555
+ containerElm.insertBefore(childNode, referenceNode(before) );
446
556
  }
447
557
  }
448
558
  }
@@ -457,16 +567,31 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
457
567
  * @param vnodes a list of virtual DOM nodes to remove
458
568
  * @param startIdx the index at which to start removing nodes (inclusive)
459
569
  * @param endIdx the index at which to stop removing nodes (inclusive)
460
- * @param vnode a VNode
461
- * @param elm an element
462
570
  */
463
- const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
464
- for (; startIdx <= endIdx; ++startIdx) {
465
- if ((vnode = vnodes[startIdx])) {
466
- elm = vnode.$elm$;
467
- callNodeRefs(vnode);
468
- // remove the vnode's element from the dom
469
- elm.remove();
571
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
572
+ for (let index = startIdx; index <= endIdx; ++index) {
573
+ const vnode = vnodes[index];
574
+ if (vnode) {
575
+ const elm = vnode.$elm$;
576
+ nullifyVNodeRefs(vnode);
577
+ if (elm) {
578
+ {
579
+ // we're removing this element
580
+ // so it's possible we need to show slot fallback content now
581
+ checkSlotFallbackVisibility = true;
582
+ if (elm['s-ol']) {
583
+ // remove the original location comment
584
+ elm['s-ol'].remove();
585
+ }
586
+ else {
587
+ // it's possible that child nodes of the node
588
+ // that's being removed are slot nodes
589
+ putBackInOriginalLocation(elm, true);
590
+ }
591
+ }
592
+ // remove the vnode's element from the dom
593
+ elm.remove();
594
+ }
470
595
  }
471
596
  }
472
597
  };
@@ -580,6 +705,23 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
580
705
  newEndVnode = newCh[--newEndIdx];
581
706
  }
582
707
  else if (isSameVnode(oldStartVnode, newEndVnode)) {
708
+ // case: "Vnode moved right"
709
+ //
710
+ // We've found that the last node in our window on the new children is
711
+ // the same VNode as the _first_ node in our window on the old children
712
+ // we're dealing with now. Visually, this is the layout of these two
713
+ // nodes:
714
+ //
715
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
716
+ // ^^^^^^^^^^^
717
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
718
+ // ^^^^^^^^^^^^^
719
+ //
720
+ // In this situation we need to patch `newEndVnode` onto `oldStartVnode`
721
+ // and move the DOM element for `oldStartVnode`.
722
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
723
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
724
+ }
583
725
  patch(oldStartVnode, newEndVnode);
584
726
  // We need to move the element for `oldStartVnode` into a position which
585
727
  // will be appropriate for `newEndVnode`. For this we can use
@@ -603,6 +745,24 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
603
745
  newEndVnode = newCh[--newEndIdx];
604
746
  }
605
747
  else if (isSameVnode(oldEndVnode, newStartVnode)) {
748
+ // case: "Vnode moved left"
749
+ //
750
+ // We've found that the first node in our window on the new children is
751
+ // the same VNode as the _last_ node in our window on the old children.
752
+ // Visually, this is the layout of these two nodes:
753
+ //
754
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
755
+ // ^^^^^^^^^^^^^
756
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
757
+ // ^^^^^^^^^^^
758
+ //
759
+ // In this situation we need to patch `newStartVnode` onto `oldEndVnode`
760
+ // (which will handle updating any changed attributes, reconciling their
761
+ // children etc) but we also need to move the DOM node to which
762
+ // `oldEndVnode` corresponds.
763
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
764
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
765
+ }
606
766
  patch(oldEndVnode, newStartVnode);
607
767
  // We've already checked above if `oldStartVnode` and `newStartVnode` are
608
768
  // the same node, so since we're here we know that they are not. Thus we
@@ -625,7 +785,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
625
785
  if (node) {
626
786
  // if we created a new node then handle inserting it to the DOM
627
787
  {
628
- oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
788
+ parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
629
789
  }
630
790
  }
631
791
  }
@@ -663,10 +823,21 @@ const isSameVnode = (leftVNode, rightVNode) => {
663
823
  // compare if two vnode to see if they're "technically" the same
664
824
  // need to have the same element tag, and same key to be the same
665
825
  if (leftVNode.$tag$ === rightVNode.$tag$) {
826
+ if (leftVNode.$tag$ === 'slot') {
827
+ return leftVNode.$name$ === rightVNode.$name$;
828
+ }
666
829
  return true;
667
830
  }
668
831
  return false;
669
832
  };
833
+ const referenceNode = (node) => {
834
+ // this node was relocated to a new location in the dom
835
+ // because of some other component's slot
836
+ // but we still have an html comment in place of where
837
+ // it's original location was according to it's original vdom
838
+ return (node && node['s-ol']) || node;
839
+ };
840
+ const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
670
841
  /**
671
842
  * Handle reconciling an outdated VNode with a new one which corresponds to
672
843
  * it. This function handles flushing updates to the DOM and reconciling the
@@ -679,9 +850,12 @@ const patch = (oldVNode, newVNode) => {
679
850
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
680
851
  const oldChildren = oldVNode.$children$;
681
852
  const newChildren = newVNode.$children$;
853
+ const tag = newVNode.$tag$;
682
854
  {
683
855
  {
684
- {
856
+ if (tag === 'slot')
857
+ ;
858
+ else {
685
859
  // either this is the first render of an element OR it's an update
686
860
  // AND we already know it's possible it could have changed
687
861
  // this updates the element's css classes, attrs, props, listeners, etc.
@@ -703,10 +877,194 @@ const patch = (oldVNode, newVNode) => {
703
877
  }
704
878
  }
705
879
  };
706
- const callNodeRefs = (vNode) => {
880
+ /**
881
+ * Adjust the `.hidden` property as-needed on any nodes in a DOM subtree which
882
+ * are slot fallbacks nodes.
883
+ *
884
+ * A slot fallback node should be visible by default. Then, it should be
885
+ * conditionally hidden if:
886
+ *
887
+ * - it has a sibling with a `slot` property set to its slot name or if
888
+ * - it is a default fallback slot node, in which case we hide if it has any
889
+ * content
890
+ *
891
+ * @param elm the element of interest
892
+ */
893
+ const updateFallbackSlotVisibility = (elm) => {
894
+ const childNodes = elm.childNodes;
895
+ for (const childNode of childNodes) {
896
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
897
+ if (childNode['s-sr']) {
898
+ // this is a slot fallback node
899
+ // get the slot name for this slot reference node
900
+ const slotName = childNode['s-sn'];
901
+ // by default always show a fallback slot node
902
+ // then hide it if there are other slots in the light dom
903
+ childNode.hidden = false;
904
+ // we need to check all of its sibling nodes in order to see if
905
+ // `childNode` should be hidden
906
+ for (const siblingNode of childNodes) {
907
+ // Don't check the node against itself
908
+ if (siblingNode !== childNode) {
909
+ if (siblingNode['s-hn'] !== childNode['s-hn'] || slotName !== '') {
910
+ // this sibling node is from a different component OR is a named
911
+ // fallback slot node
912
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ &&
913
+ (slotName === siblingNode.getAttribute('slot') || slotName === siblingNode['s-sn'])) {
914
+ childNode.hidden = true;
915
+ break;
916
+ }
917
+ }
918
+ else {
919
+ // this is a default fallback slot node
920
+ // any element or text node (with content)
921
+ // should hide the default fallback slot node
922
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ ||
923
+ (siblingNode.nodeType === 3 /* NODE_TYPE.TextNode */ && siblingNode.textContent.trim() !== '')) {
924
+ childNode.hidden = true;
925
+ break;
926
+ }
927
+ }
928
+ }
929
+ }
930
+ }
931
+ // keep drilling down
932
+ updateFallbackSlotVisibility(childNode);
933
+ }
934
+ }
935
+ };
936
+ /**
937
+ * Component-global information about nodes which are either currently being
938
+ * relocated or will be shortly.
939
+ */
940
+ const relocateNodes = [];
941
+ /**
942
+ * Mark the contents of a slot for relocation via adding references to them to
943
+ * the {@link relocateNodes} data structure. The actual work of relocating them
944
+ * will then be handled in {@link renderVdom}.
945
+ *
946
+ * @param elm a render node whose child nodes need to be relocated
947
+ */
948
+ const markSlotContentForRelocation = (elm) => {
949
+ // tslint:disable-next-line: prefer-const
950
+ let node;
951
+ let hostContentNodes;
952
+ let j;
953
+ for (const childNode of elm.childNodes) {
954
+ // we need to find child nodes which are slot references so we can then try
955
+ // to match them up with nodes that need to be relocated
956
+ if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
957
+ // first get the content reference comment node ('s-cr'), then we get
958
+ // its parent, which is where all the host content is now
959
+ hostContentNodes = node.parentNode.childNodes;
960
+ const slotName = childNode['s-sn'];
961
+ // iterate through all the nodes under the location where the host was
962
+ // originally rendered
963
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
964
+ node = hostContentNodes[j];
965
+ // check that the node is not a content reference node or a node
966
+ // reference and then check that the host name does not match that of
967
+ // childNode.
968
+ // In addition, check that the slot either has not already been relocated, or
969
+ // that its current location's host is not childNode's host. This is essentially
970
+ // a check so that we don't try to relocate (and then hide) a node that is already
971
+ // where it should be.
972
+ if (!node['s-cn'] &&
973
+ !node['s-nr'] &&
974
+ node['s-hn'] !== childNode['s-hn'] &&
975
+ (!BUILD.experimentalSlotFixes )) {
976
+ // if `node` is located in the slot that `childNode` refers to (via the
977
+ // `'s-sn'` property) then we need to relocate it from it's current spot
978
+ // (under the host element parent) to the right slot location
979
+ if (isNodeLocatedInSlot(node, slotName)) {
980
+ // it's possible we've already decided to relocate this node
981
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
982
+ // made some changes to slots
983
+ // let's make sure we also double check
984
+ // fallbacks are correctly hidden or shown
985
+ checkSlotFallbackVisibility = true;
986
+ // ensure that the slot-name attr is correct
987
+ node['s-sn'] = node['s-sn'] || slotName;
988
+ if (relocateNodeData) {
989
+ relocateNodeData.$nodeToRelocate$['s-sh'] = childNode['s-hn'];
990
+ // we marked this node for relocation previously but didn't find
991
+ // out the slot reference node to which it needs to be relocated
992
+ // so write it down now!
993
+ relocateNodeData.$slotRefNode$ = childNode;
994
+ }
995
+ else {
996
+ node['s-sh'] = childNode['s-hn'];
997
+ // add to our list of nodes to relocate
998
+ relocateNodes.push({
999
+ $slotRefNode$: childNode,
1000
+ $nodeToRelocate$: node,
1001
+ });
1002
+ }
1003
+ if (node['s-sr']) {
1004
+ relocateNodes.map((relocateNode) => {
1005
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
1006
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1007
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
1008
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1009
+ }
1010
+ }
1011
+ });
1012
+ }
1013
+ }
1014
+ else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1015
+ // the node is not found within the slot (`childNode`) that we're
1016
+ // currently looking at, so we stick it into `relocateNodes` to
1017
+ // handle later. If we never find a home for this element then
1018
+ // we'll need to hide it
1019
+ relocateNodes.push({
1020
+ $nodeToRelocate$: node,
1021
+ });
1022
+ }
1023
+ }
1024
+ }
1025
+ }
1026
+ // if we're dealing with any type of element (capable of itself being a
1027
+ // slot reference or containing one) then we recur
1028
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1029
+ markSlotContentForRelocation(childNode);
1030
+ }
1031
+ }
1032
+ };
1033
+ /**
1034
+ * Check whether a node is located in a given named slot.
1035
+ *
1036
+ * @param nodeToRelocate the node of interest
1037
+ * @param slotName the slot name to check
1038
+ * @returns whether the node is located in the slot or not
1039
+ */
1040
+ const isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
1041
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1042
+ if (nodeToRelocate.getAttribute('slot') === null && slotName === '') {
1043
+ // if the node doesn't have a slot attribute, and the slot we're checking
1044
+ // is not a named slot, then we assume the node should be within the slot
1045
+ return true;
1046
+ }
1047
+ if (nodeToRelocate.getAttribute('slot') === slotName) {
1048
+ return true;
1049
+ }
1050
+ return false;
1051
+ }
1052
+ if (nodeToRelocate['s-sn'] === slotName) {
1053
+ return true;
1054
+ }
1055
+ return slotName === '';
1056
+ };
1057
+ /**
1058
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
1059
+ * them with `null`. This signals that the DOM element corresponding to the VDom
1060
+ * node has been removed from the DOM.
1061
+ *
1062
+ * @param vNode a virtual DOM node
1063
+ */
1064
+ const nullifyVNodeRefs = (vNode) => {
707
1065
  {
708
1066
  vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
709
- vNode.$children$ && vNode.$children$.map(callNodeRefs);
1067
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
710
1068
  }
711
1069
  };
712
1070
  /**
@@ -720,22 +1078,141 @@ const callNodeRefs = (vNode) => {
720
1078
  * @param hostRef data needed to root and render the virtual DOM tree, such as
721
1079
  * the DOM node into which it should be rendered.
722
1080
  * @param renderFnResults the virtual DOM nodes to be rendered
1081
+ * @param isInitialLoad whether or not this is the first call after page load
723
1082
  */
724
- const renderVdom = (hostRef, renderFnResults) => {
1083
+ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1084
+ var _a, _b;
725
1085
  const hostElm = hostRef.$hostElement$;
726
1086
  const cmpMeta = hostRef.$cmpMeta$;
727
1087
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1088
+ // if `renderFnResults` is a Host node then we can use it directly. If not,
1089
+ // we need to call `h` again to wrap the children of our component in a
1090
+ // 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
1091
+ // implicitly that the top-level vdom node is 1) an only child and 2)
1092
+ // contains attrs that need to be set on the host element.
728
1093
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
1094
+ hostTagName = hostElm.tagName;
729
1095
  if (cmpMeta.$attrsToReflect$) {
730
1096
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
731
1097
  cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
732
1098
  }
1099
+ // On the first render and *only* on the first render we want to check for
1100
+ // any attributes set on the host element which are also set on the vdom
1101
+ // node. If we find them, we override the value on the VDom node attrs with
1102
+ // the value from the host element, which allows developers building apps
1103
+ // with Stencil components to override e.g. the `role` attribute on a
1104
+ // component even if it's already set on the `Host`.
1105
+ if (isInitialLoad && rootVnode.$attrs$) {
1106
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1107
+ // We have a special implementation in `setAccessor` for `style` and
1108
+ // `class` which reconciles values coming from the VDom with values
1109
+ // already present on the DOM element, so we don't want to override those
1110
+ // attributes on the VDom tree with values from the host element if they
1111
+ // are present.
1112
+ //
1113
+ // Likewise, `ref` and `key` are special internal values for the Stencil
1114
+ // runtime and we don't want to override those either.
1115
+ if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
1116
+ rootVnode.$attrs$[key] = hostElm[key];
1117
+ }
1118
+ }
1119
+ }
733
1120
  rootVnode.$tag$ = null;
734
1121
  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
735
1122
  hostRef.$vnode$ = rootVnode;
736
1123
  rootVnode.$elm$ = oldVNode.$elm$ = (hostElm);
1124
+ {
1125
+ contentRef = hostElm['s-cr'];
1126
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1127
+ // always reset
1128
+ checkSlotFallbackVisibility = false;
1129
+ }
737
1130
  // synchronous patch
738
1131
  patch(oldVNode, rootVnode);
1132
+ {
1133
+ // while we're moving nodes around existing nodes, temporarily disable
1134
+ // the disconnectCallback from working
1135
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1136
+ if (checkSlotRelocate) {
1137
+ markSlotContentForRelocation(rootVnode.$elm$);
1138
+ for (const relocateData of relocateNodes) {
1139
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1140
+ if (!nodeToRelocate['s-ol']) {
1141
+ // add a reference node marking this node's original location
1142
+ // keep a reference to this node for later lookups
1143
+ const orgLocationNode = doc.createTextNode('');
1144
+ orgLocationNode['s-nr'] = nodeToRelocate;
1145
+ nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
1146
+ }
1147
+ }
1148
+ for (const relocateData of relocateNodes) {
1149
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1150
+ const slotRefNode = relocateData.$slotRefNode$;
1151
+ if (slotRefNode) {
1152
+ const parentNodeRef = slotRefNode.parentNode;
1153
+ // When determining where to insert content, the most simple case would be
1154
+ // to relocate the node immediately following the slot reference node. We do this
1155
+ // by getting a reference to the node immediately following the slot reference node
1156
+ // since we will use `insertBefore` to manipulate the DOM.
1157
+ //
1158
+ // If there is no node immediately following the slot reference node, then we will just
1159
+ // end up appending the node as the last child of the parent.
1160
+ let insertBeforeNode = slotRefNode.nextSibling;
1161
+ // If the node we're currently planning on inserting the new node before is an element,
1162
+ // we need to do some additional checks to make sure we're inserting the node in the correct order.
1163
+ // The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
1164
+ // to make sure they get inserted into their new how in the same order they were declared in their original location.
1165
+ //
1166
+ // TODO(STENCIL-914): Remove `experimentalSlotFixes` check
1167
+ {
1168
+ let orgLocationNode = (_a = nodeToRelocate['s-ol']) === null || _a === void 0 ? void 0 : _a.previousSibling;
1169
+ while (orgLocationNode) {
1170
+ let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
1171
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1172
+ refNode = refNode.nextSibling;
1173
+ if (!refNode || !refNode['s-nr']) {
1174
+ insertBeforeNode = refNode;
1175
+ break;
1176
+ }
1177
+ }
1178
+ orgLocationNode = orgLocationNode.previousSibling;
1179
+ }
1180
+ }
1181
+ if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
1182
+ nodeToRelocate.nextSibling !== insertBeforeNode) {
1183
+ // we've checked that it's worth while to relocate
1184
+ // since that the node to relocate
1185
+ // has a different next sibling or parent relocated
1186
+ if (nodeToRelocate !== insertBeforeNode) {
1187
+ if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
1188
+ // probably a component in the index.html that doesn't have its hostname set
1189
+ nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
1190
+ }
1191
+ // Add it back to the dom but in its new home
1192
+ // If we get to this point and `insertBeforeNode` is `null`, that means
1193
+ // we're just going to append the node as the last child of the parent. Passing
1194
+ // `null` as the second arg here will trigger that behavior.
1195
+ parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1196
+ }
1197
+ }
1198
+ }
1199
+ else {
1200
+ // this node doesn't have a slot home to go to, so let's hide it
1201
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1202
+ nodeToRelocate.hidden = true;
1203
+ }
1204
+ }
1205
+ }
1206
+ }
1207
+ if (checkSlotFallbackVisibility) {
1208
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1209
+ }
1210
+ // done moving nodes around
1211
+ // allow the disconnect callback to work again
1212
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1213
+ // always reset
1214
+ relocateNodes.length = 0;
1215
+ }
739
1216
  };
740
1217
  const attachToAncestor = (hostRef, ancestorComponent) => {
741
1218
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
@@ -757,20 +1234,86 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
757
1234
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
758
1235
  return writeTask(dispatch) ;
759
1236
  };
1237
+ /**
1238
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
1239
+ * component lifecycle methods like `componentWillLoad` as well as
1240
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
1241
+ *
1242
+ * @param hostRef a reference to a host DOM node
1243
+ * @param isInitialLoad whether we're on the initial load or not
1244
+ * @returns an empty Promise which is used to enqueue a series of operations for
1245
+ * the component
1246
+ */
760
1247
  const dispatchHooks = (hostRef, isInitialLoad) => {
761
1248
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
762
1249
  const instance = hostRef.$lazyInstance$ ;
763
- let promise;
1250
+ // We're going to use this variable together with `enqueue` to implement a
1251
+ // little promise-based queue. We start out with it `undefined`. When we add
1252
+ // the first function to the queue we'll set this variable to be that
1253
+ // function's return value. When we attempt to add subsequent values to the
1254
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
1255
+ // the new function off of that `Promise` using `.then()`. This will give our
1256
+ // queue two nice properties:
1257
+ //
1258
+ // 1. If all functions added to the queue are synchronous they'll be called
1259
+ // synchronously right away.
1260
+ // 2. If all functions added to the queue are asynchronous they'll all be
1261
+ // called in order after `dispatchHooks` exits.
1262
+ let maybePromise;
764
1263
  if (isInitialLoad) {
765
1264
  {
766
- promise = safeCall(instance, 'componentWillLoad');
1265
+ // If `componentWillLoad` returns a `Promise` then we want to wait on
1266
+ // whatever's going on in that `Promise` before we launch into
1267
+ // rendering the component, doing other lifecycle stuff, etc. So
1268
+ // in that case we assign the returned promise to the variable we
1269
+ // declared above to hold a possible 'queueing' Promise
1270
+ maybePromise = safeCall(instance, 'componentWillLoad');
767
1271
  }
768
1272
  }
769
1273
  endSchedule();
770
- return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
1274
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
771
1275
  };
1276
+ /**
1277
+ * This function uses a Promise to implement a simple first-in, first-out queue
1278
+ * of functions to be called.
1279
+ *
1280
+ * The queue is ordered on the basis of the first argument. If it's
1281
+ * `undefined`, then nothing is on the queue yet, so the provided function can
1282
+ * be called synchronously (although note that this function may return a
1283
+ * `Promise`). The idea is that then the return value of that enqueueing
1284
+ * operation is kept around, so that if it was a `Promise` then subsequent
1285
+ * functions can be enqueued by calling this function again with that `Promise`
1286
+ * as the first argument.
1287
+ *
1288
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
1289
+ * @param fn a function to enqueue
1290
+ * @returns either a `Promise` or the return value of the provided function
1291
+ */
1292
+ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
1293
+ /**
1294
+ * Check that a value is a `Promise`. To check, we first see if the value is an
1295
+ * instance of the `Promise` global. In a few circumstances, in particular if
1296
+ * the global has been overwritten, this is could be misleading, so we also do
1297
+ * a little 'duck typing' check to see if the `.then` property of the value is
1298
+ * defined and a function.
1299
+ *
1300
+ * @param maybePromise it might be a promise!
1301
+ * @returns whether it is or not
1302
+ */
1303
+ const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1304
+ (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
1305
+ /**
1306
+ * Update a component given reference to its host elements and so on.
1307
+ *
1308
+ * @param hostRef an object containing references to the element's host node,
1309
+ * VDom nodes, and other metadata
1310
+ * @param instance a reference to the underlying host element where it will be
1311
+ * rendered
1312
+ * @param isInitialLoad whether or not this function is being called as part of
1313
+ * the first render cycle
1314
+ */
772
1315
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
773
- // updateComponent
1316
+ var _a;
774
1317
  const elm = hostRef.$hostElement$;
775
1318
  const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
776
1319
  const rc = elm['s-rc'];
@@ -780,7 +1323,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
780
1323
  }
781
1324
  const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
782
1325
  {
783
- callRender(hostRef, instance);
1326
+ callRender(hostRef, instance, elm, isInitialLoad);
784
1327
  }
785
1328
  if (rc) {
786
1329
  // ok, so turns out there are some child host elements
@@ -792,7 +1335,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
792
1335
  endRender();
793
1336
  endUpdate();
794
1337
  {
795
- const childrenPromises = elm['s-p'];
1338
+ const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
796
1339
  const postUpdate = () => postUpdateComponent(hostRef);
797
1340
  if (childrenPromises.length === 0) {
798
1341
  postUpdate();
@@ -804,9 +1347,25 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
804
1347
  }
805
1348
  }
806
1349
  };
807
- const callRender = (hostRef, instance, elm) => {
1350
+ /**
1351
+ * Handle making the call to the VDom renderer with the proper context given
1352
+ * various build variables
1353
+ *
1354
+ * @param hostRef an object containing references to the element's host node,
1355
+ * VDom nodes, and other metadata
1356
+ * @param instance a reference to the underlying host element where it will be
1357
+ * rendered
1358
+ * @param elm the Host element for the component
1359
+ * @param isInitialLoad whether or not this function is being called as part of
1360
+ * @returns an empty promise
1361
+ */
1362
+ const callRender = (hostRef, instance, elm, isInitialLoad) => {
808
1363
  try {
809
- instance = instance.render && instance.render();
1364
+ /**
1365
+ * minification optimization: `allRenderFn` is `true` if all components have a `render`
1366
+ * method, so we can call the method immediately. If not, check before calling it.
1367
+ */
1368
+ instance = instance.render() ;
810
1369
  {
811
1370
  hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
812
1371
  }
@@ -819,7 +1378,7 @@ const callRender = (hostRef, instance, elm) => {
819
1378
  // or we need to update the css class/attrs on the host element
820
1379
  // DOM WRITE!
821
1380
  {
822
- renderVdom(hostRef, instance);
1381
+ renderVdom(hostRef, instance, isInitialLoad);
823
1382
  }
824
1383
  }
825
1384
  }
@@ -885,6 +1444,16 @@ const appDidLoad = (who) => {
885
1444
  }
886
1445
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
887
1446
  };
1447
+ /**
1448
+ * Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
1449
+ * e.g. custom element node. If a build figures out that e.g. no component
1450
+ * has a `componentDidLoad` method, the instance method gets removed from the
1451
+ * output bundle and this function returns `undefined`.
1452
+ * @param instance any object that may or may not contain methods
1453
+ * @param method method name
1454
+ * @param arg single arbitrary argument
1455
+ * @returns result of method call if it exists, otherwise `undefined`
1456
+ */
888
1457
  const safeCall = (instance, method, arg) => {
889
1458
  if (instance && instance[method]) {
890
1459
  try {
@@ -896,9 +1465,6 @@ const safeCall = (instance, method, arg) => {
896
1465
  }
897
1466
  return undefined;
898
1467
  };
899
- const then = (promise, thenFn) => {
900
- return promise && promise.then ? promise.then(thenFn) : thenFn();
901
- };
902
1468
  const addHydratedFlag = (elm) => elm.setAttribute('hydrated', '')
903
1469
  ;
904
1470
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
@@ -955,6 +1521,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
955
1521
  * @returns a reference to the same constructor passed in (but now mutated)
956
1522
  */
957
1523
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1524
+ var _a;
958
1525
  if (cmpMeta.$members$) {
959
1526
  if (Cstr.watchers) {
960
1527
  cmpMeta.$watchers$ = Cstr.watchers;
@@ -992,7 +1559,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
992
1559
  });
993
1560
  if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
994
1561
  const attrNameToPropName = new Map();
995
- prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
1562
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
996
1563
  plt.jmp(() => {
997
1564
  const propName = attrNameToPropName.get(attrName);
998
1565
  // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
@@ -1015,12 +1582,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1015
1582
  // customElements.define('my-component', MyComponent);
1016
1583
  // </script>
1017
1584
  // ```
1018
- // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
1585
+ // In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
1019
1586
  // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1020
1587
  // to the value that was set inline i.e. "some-value" from above example. When
1021
- // the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
1588
+ // the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
1022
1589
  //
1023
- // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
1590
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
1024
1591
  // by connectedCallback as this attributeChangedCallback will not fire.
1025
1592
  //
1026
1593
  // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
@@ -1040,31 +1607,70 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1040
1607
  // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1041
1608
  return;
1042
1609
  }
1610
+ else if (propName == null) {
1611
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
1612
+ // on a vanilla web component
1613
+ const hostRef = getHostRef(this);
1614
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
1615
+ // We only want to trigger the callback(s) if:
1616
+ // 1. The instance is ready
1617
+ // 2. The watchers are ready
1618
+ // 3. The value has changed
1619
+ if (!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
1620
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
1621
+ newValue !== oldValue) {
1622
+ const instance = hostRef.$lazyInstance$ ;
1623
+ const entry = cmpMeta.$watchers$[attrName];
1624
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
1625
+ if (instance[callbackName] != null) {
1626
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
1627
+ }
1628
+ });
1629
+ }
1630
+ return;
1631
+ }
1043
1632
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1044
1633
  });
1045
1634
  };
1046
- // create an array of attributes to observe
1047
- // and also create a map of html attribute name to js property name
1048
- Cstr.observedAttributes = members
1049
- .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
1050
- .map(([propName, m]) => {
1051
- const attrName = m[1] || propName;
1052
- attrNameToPropName.set(attrName, propName);
1053
- if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1054
- cmpMeta.$attrsToReflect$.push([propName, attrName]);
1055
- }
1056
- return attrName;
1057
- });
1635
+ // Create an array of attributes to observe
1636
+ // This list in comprised of all strings used within a `@Watch()` decorator
1637
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
1638
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
1639
+ // an invalid attribute.
1640
+ Cstr.observedAttributes = Array.from(new Set([
1641
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
1642
+ ...members
1643
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
1644
+ .map(([propName, m]) => {
1645
+ const attrName = m[1] || propName;
1646
+ attrNameToPropName.set(attrName, propName);
1647
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1648
+ cmpMeta.$attrsToReflect$.push([propName, attrName]);
1649
+ }
1650
+ return attrName;
1651
+ }),
1652
+ ]));
1058
1653
  }
1059
1654
  }
1060
1655
  return Cstr;
1061
1656
  };
1062
- const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1657
+ /**
1658
+ * Initialize a Stencil component given a reference to its host element, its
1659
+ * runtime bookkeeping data structure, runtime metadata about the component,
1660
+ * and (optionally) an HMR version ID.
1661
+ *
1662
+ * @param elm a host element
1663
+ * @param hostRef the element's runtime bookkeeping object
1664
+ * @param cmpMeta runtime metadata for the Stencil component
1665
+ * @param hmrVersionId an (optional) HMR version ID
1666
+ */
1667
+ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1668
+ let Cstr;
1063
1669
  // initializeComponent
1064
1670
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1671
+ // Let the runtime know that the component has been initialized
1672
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1065
1673
  {
1066
- // we haven't initialized this element yet
1067
- hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1068
1674
  // lazy loaded components
1069
1675
  // request the component's implementation to be
1070
1676
  // wired up with the host element
@@ -1137,6 +1743,8 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1137
1743
  schedule();
1138
1744
  }
1139
1745
  };
1746
+ const fireConnectedCallback = (instance) => {
1747
+ };
1140
1748
  const connectedCallback = (elm) => {
1141
1749
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1142
1750
  const hostRef = getHostRef(elm);
@@ -1145,6 +1753,16 @@ const connectedCallback = (elm) => {
1145
1753
  if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
1146
1754
  // first time this component has connected
1147
1755
  hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
1756
+ {
1757
+ // initUpdate
1758
+ // if the slot polyfill is required we'll need to put some nodes
1759
+ // in here to act as original content anchors as we move nodes around
1760
+ // host element has been connected to the DOM
1761
+ if ((// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
1762
+ cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
1763
+ setContentReference(elm);
1764
+ }
1765
+ }
1148
1766
  {
1149
1767
  // find the first ancestor component (if there is one) and register
1150
1768
  // this component as one of the actively loading child components for its ancestor
@@ -1175,15 +1793,40 @@ const connectedCallback = (elm) => {
1175
1793
  initializeComponent(elm, hostRef, cmpMeta);
1176
1794
  }
1177
1795
  }
1796
+ else {
1797
+ // fire off connectedCallback() on component instance
1798
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) ;
1799
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
1800
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback());
1801
+ }
1802
+ }
1178
1803
  endConnected();
1179
1804
  }
1180
1805
  };
1181
- const disconnectedCallback = (elm) => {
1806
+ const setContentReference = (elm) => {
1807
+ // only required when we're NOT using native shadow dom (slot)
1808
+ // or this browser doesn't support native shadow dom
1809
+ // and this host element was NOT created with SSR
1810
+ // let's pick out the inner content for slot projection
1811
+ // create a node to represent where the original
1812
+ // content was first placed, which is useful later on
1813
+ const contentRefElm = (elm['s-cr'] = doc.createComment(''));
1814
+ contentRefElm['s-cn'] = true;
1815
+ elm.insertBefore(contentRefElm, elm.firstChild);
1816
+ };
1817
+ const disconnectInstance = (instance) => {
1818
+ {
1819
+ safeCall(instance, 'disconnectedCallback');
1820
+ }
1821
+ };
1822
+ const disconnectedCallback = async (elm) => {
1182
1823
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1183
1824
  const hostRef = getHostRef(elm);
1184
- const instance = hostRef.$lazyInstance$ ;
1185
- {
1186
- safeCall(instance, 'disconnectedCallback');
1825
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
1826
+ disconnectInstance(hostRef.$lazyInstance$);
1827
+ }
1828
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
1829
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
1187
1830
  }
1188
1831
  }
1189
1832
  };
@@ -1203,6 +1846,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1203
1846
  plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
1204
1847
  lazyBundles.map((lazyBundle) => {
1205
1848
  lazyBundle[1].map((compactMeta) => {
1849
+ var _a;
1206
1850
  const cmpMeta = {
1207
1851
  $flags$: compactMeta[0],
1208
1852
  $tagName$: compactMeta[1],
@@ -1216,7 +1860,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1216
1860
  cmpMeta.$attrsToReflect$ = [];
1217
1861
  }
1218
1862
  {
1219
- cmpMeta.$watchers$ = {};
1863
+ cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
1220
1864
  }
1221
1865
  const tagName = cmpMeta.$tagName$;
1222
1866
  const HostElement = class extends HTMLElement {
@@ -1284,13 +1928,40 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1284
1928
  * @returns void
1285
1929
  */
1286
1930
  const setNonce = (nonce) => (plt.$nonce$ = nonce);
1931
+ /**
1932
+ * A WeakMap mapping runtime component references to their corresponding host reference
1933
+ * instances.
1934
+ */
1287
1935
  const hostRefs = /*@__PURE__*/ new WeakMap();
1936
+ /**
1937
+ * Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
1938
+ *
1939
+ * @param ref the runtime ref of interest
1940
+ * @returns the Host reference (if found) or undefined
1941
+ */
1288
1942
  const getHostRef = (ref) => hostRefs.get(ref);
1943
+ /**
1944
+ * Register a lazy instance with the {@link hostRefs} object so it's
1945
+ * corresponding {@link d.HostRef} can be retrieved later.
1946
+ *
1947
+ * @param lazyInstance the lazy instance of interest
1948
+ * @param hostRef that instances `HostRef` object
1949
+ * @returns a reference to the host ref WeakMap
1950
+ */
1289
1951
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
1290
- const registerHost = (elm, cmpMeta) => {
1952
+ /**
1953
+ * Register a host element for a Stencil component, setting up various metadata
1954
+ * and callbacks based on {@link BUILD} flags as well as the component's runtime
1955
+ * metadata.
1956
+ *
1957
+ * @param hostElement the host element to register
1958
+ * @param cmpMeta runtime metadata for that component
1959
+ * @returns a reference to the host ref WeakMap
1960
+ */
1961
+ const registerHost = (hostElement, cmpMeta) => {
1291
1962
  const hostRef = {
1292
1963
  $flags$: 0,
1293
- $hostElement$: elm,
1964
+ $hostElement$: hostElement,
1294
1965
  $cmpMeta$: cmpMeta,
1295
1966
  $instanceValues$: new Map(),
1296
1967
  };
@@ -1299,10 +1970,10 @@ const registerHost = (elm, cmpMeta) => {
1299
1970
  }
1300
1971
  {
1301
1972
  hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
1302
- elm['s-p'] = [];
1303
- elm['s-rc'] = [];
1973
+ hostElement['s-p'] = [];
1974
+ hostElement['s-rc'] = [];
1304
1975
  }
1305
- return hostRefs.set(elm, hostRef);
1976
+ return hostRefs.set(hostElement, hostRef);
1306
1977
  };
1307
1978
  const isMemberInElement = (elm, memberName) => memberName in elm;
1308
1979
  const consoleError = (e, el) => (0, console.error)(e, el);
@@ -1323,10 +1994,10 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
1323
1994
  }
1324
1995
  switch(bundleId) {
1325
1996
 
1326
- case 'arcgis-expand_4.cjs':
1997
+ case 'arcgis-basemap-gallery_3.cjs':
1327
1998
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1328
1999
  /* webpackMode: "lazy" */
1329
- './arcgis-expand_4.cjs.entry.js')); }).then(processMod, consoleError);
2000
+ './arcgis-basemap-gallery_3.cjs.entry.js')); }).then(processMod, consoleError);
1330
2001
  case 'arcgis-area-measurement-2d.cjs':
1331
2002
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1332
2003
  /* webpackMode: "lazy" */
@@ -1339,10 +2010,6 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
1339
2010
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1340
2011
  /* webpackMode: "lazy" */
1341
2012
  './arcgis-attachments.cjs.entry.js')); }).then(processMod, consoleError);
1342
- case 'arcgis-basemap-gallery.cjs':
1343
- return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1344
- /* webpackMode: "lazy" */
1345
- './arcgis-basemap-gallery.cjs.entry.js')); }).then(processMod, consoleError);
1346
2013
  case 'arcgis-basemap-layer-list.cjs':
1347
2014
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1348
2015
  /* webpackMode: "lazy" */
@@ -1455,6 +2122,10 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
1455
2122
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1456
2123
  /* webpackMode: "lazy" */
1457
2124
  './arcgis-navigation-toggle.cjs.entry.js')); }).then(processMod, consoleError);
2125
+ case 'arcgis-placement.cjs':
2126
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2127
+ /* webpackMode: "lazy" */
2128
+ './arcgis-placement.cjs.entry.js')); }).then(processMod, consoleError);
1458
2129
  case 'arcgis-print.cjs':
1459
2130
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1460
2131
  /* webpackMode: "lazy" */
@@ -1467,6 +2138,14 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
1467
2138
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1468
2139
  /* webpackMode: "lazy" */
1469
2140
  './arcgis-scale-range-slider.cjs.entry.js')); }).then(processMod, consoleError);
2141
+ case 'arcgis-scene.cjs':
2142
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2143
+ /* webpackMode: "lazy" */
2144
+ './arcgis-scene.cjs.entry.js')); }).then(processMod, consoleError);
2145
+ case 'arcgis-search.cjs':
2146
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2147
+ /* webpackMode: "lazy" */
2148
+ './arcgis-search.cjs.entry.js')); }).then(processMod, consoleError);
1470
2149
  case 'arcgis-shadow-cast.cjs':
1471
2150
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1472
2151
  /* webpackMode: "lazy" */
@@ -1609,3 +2288,5 @@ exports.h = h;
1609
2288
  exports.promiseResolve = promiseResolve;
1610
2289
  exports.registerInstance = registerInstance;
1611
2290
  exports.setNonce = setNonce;
2291
+
2292
+ //# sourceMappingURL=index-f95f0426.js.map