@geotrekce/geotrek-rando-widget 0.0.21 → 0.2.0

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 (543) hide show
  1. package/dist/cjs/{css-shim-4e479c1a.js → css-shim-541cb78a.js} +2 -2
  2. package/dist/cjs/css-shim-541cb78a.js.br +0 -0
  3. package/dist/cjs/css-shim-541cb78a.js.gz +0 -0
  4. package/dist/cjs/{css-shim-4e479c1a.js.map → css-shim-541cb78a.js.map} +1 -1
  5. package/dist/cjs/{dom-52c0133a.js → dom-7f26de17.js} +2 -2
  6. package/dist/cjs/dom-7f26de17.js.br +0 -0
  7. package/dist/cjs/dom-7f26de17.js.gz +0 -0
  8. package/dist/cjs/{dom-52c0133a.js.map → dom-7f26de17.js.map} +1 -1
  9. package/dist/cjs/geotrek-rando-widget.cjs.js +4 -4
  10. package/dist/cjs/geotrek-rando-widget.cjs.js.br +0 -0
  11. package/dist/cjs/geotrek-rando-widget.cjs.js.gz +0 -0
  12. package/dist/cjs/geotrek-rando-widget.cjs.js.map +1 -1
  13. package/dist/cjs/grw-app.cjs.entry.js +61 -17
  14. package/dist/cjs/grw-app.cjs.entry.js.br +0 -0
  15. package/dist/cjs/grw-app.cjs.entry.js.gz +0 -0
  16. package/dist/cjs/grw-app.cjs.entry.js.map +1 -1
  17. package/dist/cjs/{grw-filter_6.cjs.entry.js → grw-filter_7.cjs.entry.js} +5554 -257
  18. package/dist/cjs/grw-filter_7.cjs.entry.js.br +0 -0
  19. package/dist/cjs/grw-filter_7.cjs.entry.js.gz +0 -0
  20. package/dist/cjs/grw-filter_7.cjs.entry.js.map +1 -0
  21. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js +51 -9
  22. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.br +0 -0
  23. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.gz +0 -0
  24. package/dist/cjs/grw-information-desk-detail_3.cjs.entry.js.map +1 -1
  25. package/dist/cjs/grw-trek-card.cjs.entry.js +17 -10
  26. package/dist/cjs/grw-trek-card.cjs.entry.js.br +0 -0
  27. package/dist/cjs/grw-trek-card.cjs.entry.js.gz +0 -0
  28. package/dist/cjs/grw-trek-card.cjs.entry.js.map +1 -1
  29. package/dist/cjs/i18n-67fd458f.js +108 -0
  30. package/dist/cjs/i18n-67fd458f.js.br +0 -0
  31. package/dist/cjs/i18n-67fd458f.js.gz +0 -0
  32. package/dist/cjs/i18n-67fd458f.js.map +1 -0
  33. package/dist/cjs/{index-5c1a15c7.js → index-965985fa.js} +486 -30
  34. package/dist/cjs/index-965985fa.js.br +0 -0
  35. package/dist/cjs/index-965985fa.js.gz +0 -0
  36. package/dist/cjs/index-965985fa.js.map +1 -0
  37. package/dist/cjs/loader.cjs.js +4 -4
  38. package/dist/cjs/loader.cjs.js.br +0 -0
  39. package/dist/cjs/loader.cjs.js.gz +0 -0
  40. package/dist/cjs/loader.cjs.js.map +1 -1
  41. package/dist/cjs/pagination-149c2052.js +4655 -0
  42. package/dist/cjs/pagination-149c2052.js.br +0 -0
  43. package/dist/cjs/pagination-149c2052.js.gz +0 -0
  44. package/dist/cjs/pagination-149c2052.js.map +1 -0
  45. package/dist/cjs/{shadow-css-388a8a25.js → shadow-css-2e025b8c.js} +2 -2
  46. package/dist/cjs/shadow-css-2e025b8c.js.br +0 -0
  47. package/dist/cjs/shadow-css-2e025b8c.js.gz +0 -0
  48. package/dist/cjs/{shadow-css-388a8a25.js.map → shadow-css-2e025b8c.js.map} +1 -1
  49. package/dist/cjs/{store-a027262c.js → store-002456b2.js} +11 -9
  50. package/dist/cjs/store-002456b2.js.br +0 -0
  51. package/dist/cjs/store-002456b2.js.gz +0 -0
  52. package/dist/cjs/store-002456b2.js.map +1 -0
  53. package/dist/collection/assets/default-image.svg +1 -0
  54. package/dist/collection/assets/default-image.svg.br +1 -0
  55. package/dist/collection/assets/default-image.svg.gz +0 -0
  56. package/dist/collection/assets/layers.svg +1 -0
  57. package/dist/collection/assets/layers.svg.br +0 -0
  58. package/dist/collection/assets/layers.svg.gz +0 -0
  59. package/dist/collection/collection-manifest.json +3 -2
  60. package/dist/collection/components/grw-app/grw-app.css +120 -73
  61. package/dist/collection/components/grw-app/grw-app.css.br +0 -0
  62. package/dist/collection/components/grw-app/grw-app.css.gz +0 -0
  63. package/dist/collection/components/grw-app/grw-app.js +332 -49
  64. package/dist/collection/components/grw-app/grw-app.js.br +0 -0
  65. package/dist/collection/components/grw-app/grw-app.js.gz +0 -0
  66. package/dist/collection/components/grw-app/grw-app.js.map +1 -1
  67. package/dist/collection/components/grw-filter/grw-filter.css +43 -10
  68. package/dist/collection/components/grw-filter/grw-filter.css.br +0 -0
  69. package/dist/collection/components/grw-filter/grw-filter.css.gz +0 -0
  70. package/dist/collection/components/grw-filter/grw-filter.js +1 -1
  71. package/dist/collection/components/grw-filter/grw-filter.js.br +0 -0
  72. package/dist/collection/components/grw-filter/grw-filter.js.gz +0 -0
  73. package/dist/collection/components/grw-filter/grw-filter.js.map +1 -1
  74. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.css +78 -8
  75. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.css.br +0 -0
  76. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.css.gz +0 -0
  77. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.js +32 -4
  78. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.js.br +0 -0
  79. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.js.gz +0 -0
  80. package/dist/collection/components/grw-information-desk-detail/grw-information-desk-detail.js.map +1 -1
  81. package/dist/collection/components/grw-map/grw-map.css +1213 -672
  82. package/dist/collection/components/grw-map/grw-map.css.br +0 -0
  83. package/dist/collection/components/grw-map/grw-map.css.gz +0 -0
  84. package/dist/collection/components/grw-map/grw-map.js +269 -59
  85. package/dist/collection/components/grw-map/grw-map.js.br +0 -0
  86. package/dist/collection/components/grw-map/grw-map.js.gz +0 -0
  87. package/dist/collection/components/grw-map/grw-map.js.map +1 -1
  88. package/dist/collection/components/grw-poi-detail/grw-poi-detail.css +563 -11
  89. package/dist/collection/components/grw-poi-detail/grw-poi-detail.css.br +0 -0
  90. package/dist/collection/components/grw-poi-detail/grw-poi-detail.css.gz +0 -0
  91. package/dist/collection/components/grw-poi-detail/grw-poi-detail.js +45 -2
  92. package/dist/collection/components/grw-poi-detail/grw-poi-detail.js.br +0 -0
  93. package/dist/collection/components/grw-poi-detail/grw-poi-detail.js.gz +0 -0
  94. package/dist/collection/components/grw-poi-detail/grw-poi-detail.js.map +1 -1
  95. package/dist/collection/components/grw-select-language/grw-select-language.css +7 -0
  96. package/dist/collection/components/grw-select-language/grw-select-language.css.br +0 -0
  97. package/dist/collection/components/grw-select-language/grw-select-language.css.gz +0 -0
  98. package/dist/collection/components/grw-select-language/grw-select-language.js +26 -0
  99. package/dist/collection/components/grw-select-language/grw-select-language.js.br +0 -0
  100. package/dist/collection/components/grw-select-language/grw-select-language.js.gz +0 -0
  101. package/dist/collection/components/grw-select-language/grw-select-language.js.map +1 -0
  102. package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.css +9 -6
  103. package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.css.br +0 -0
  104. package/dist/collection/components/grw-sensitive-area-detail/grw-sensitive-area-detail.css.gz +0 -0
  105. package/dist/collection/components/grw-trek-card/grw-trek-card.css +44 -16
  106. package/dist/collection/components/grw-trek-card/grw-trek-card.css.br +0 -0
  107. package/dist/collection/components/grw-trek-card/grw-trek-card.css.gz +0 -0
  108. package/dist/collection/components/grw-trek-card/grw-trek-card.js +75 -14
  109. package/dist/collection/components/grw-trek-card/grw-trek-card.js.br +0 -0
  110. package/dist/collection/components/grw-trek-card/grw-trek-card.js.gz +0 -0
  111. package/dist/collection/components/grw-trek-card/grw-trek-card.js.map +1 -1
  112. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css +807 -53
  113. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css.br +0 -0
  114. package/dist/collection/components/grw-trek-detail/grw-trek-detail.css.gz +0 -0
  115. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +419 -25
  116. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.br +0 -0
  117. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.gz +0 -0
  118. package/dist/collection/components/grw-trek-detail/grw-trek-detail.js.map +1 -1
  119. package/dist/collection/components/grw-treks-list/grw-treks-list.css +7 -2
  120. package/dist/collection/components/grw-treks-list/grw-treks-list.css.br +0 -0
  121. package/dist/collection/components/grw-treks-list/grw-treks-list.css.gz +0 -0
  122. package/dist/collection/components/grw-treks-list/grw-treks-list.js +66 -9
  123. package/dist/collection/components/grw-treks-list/grw-treks-list.js.br +0 -0
  124. package/dist/collection/components/grw-treks-list/grw-treks-list.js.gz +0 -0
  125. package/dist/collection/components/grw-treks-list/grw-treks-list.js.map +1 -1
  126. package/dist/collection/i18n/i18n.js +103 -0
  127. package/dist/collection/i18n/i18n.js.br +0 -0
  128. package/dist/collection/i18n/i18n.js.gz +0 -0
  129. package/dist/collection/i18n/i18n.js.map +1 -0
  130. package/dist/collection/store/grw-trek-provider.js +29 -20
  131. package/dist/collection/store/grw-trek-provider.js.br +0 -0
  132. package/dist/collection/store/grw-trek-provider.js.gz +0 -0
  133. package/dist/collection/store/grw-trek-provider.js.map +1 -1
  134. package/dist/collection/store/grw-treks-provider.js +24 -16
  135. package/dist/collection/store/grw-treks-provider.js.br +0 -0
  136. package/dist/collection/store/grw-treks-provider.js.gz +0 -0
  137. package/dist/collection/store/grw-treks-provider.js.map +1 -1
  138. package/dist/collection/store/store.js +9 -7
  139. package/dist/collection/store/store.js.br +0 -0
  140. package/dist/collection/store/store.js.gz +0 -0
  141. package/dist/collection/store/store.js.map +1 -1
  142. package/dist/collection/stories/App.js +30 -6
  143. package/dist/collection/stories/App.js.br +0 -0
  144. package/dist/collection/stories/App.js.gz +0 -0
  145. package/dist/collection/stories/App.stories.js +16 -4
  146. package/dist/collection/stories/App.stories.js.br +0 -0
  147. package/dist/collection/stories/App.stories.js.gz +0 -0
  148. package/dist/collection/stories/TrekCard.js +6 -3
  149. package/dist/collection/stories/TrekCard.js.br +0 -0
  150. package/dist/collection/stories/TrekCard.js.gz +0 -0
  151. package/dist/collection/stories/TrekCard.stories.js +6 -3
  152. package/dist/collection/stories/TrekCard.stories.js.br +0 -0
  153. package/dist/collection/stories/TrekCard.stories.js.gz +0 -0
  154. package/dist/collection/stories/TrekDetail.js +19 -4
  155. package/dist/collection/stories/TrekDetail.js.br +0 -0
  156. package/dist/collection/stories/TrekDetail.js.gz +0 -0
  157. package/dist/collection/stories/TrekDetail.stories.js +8 -4
  158. package/dist/collection/stories/TrekDetail.stories.js.br +0 -0
  159. package/dist/collection/stories/TrekDetail.stories.js.gz +0 -0
  160. package/dist/collection/stories/TrekMap.js +23 -1
  161. package/dist/collection/stories/TrekMap.js.br +0 -0
  162. package/dist/collection/stories/TrekMap.js.gz +0 -0
  163. package/dist/collection/stories/TrekMap.stories.js +6 -1
  164. package/dist/collection/stories/TrekMap.stories.js.br +0 -0
  165. package/dist/collection/stories/TrekMap.stories.js.gz +0 -0
  166. package/dist/collection/stories/TreksList.js +22 -3
  167. package/dist/collection/stories/TreksList.js.br +0 -0
  168. package/dist/collection/stories/TreksList.js.gz +0 -0
  169. package/dist/collection/stories/TreksList.stories.js +6 -3
  170. package/dist/collection/stories/TreksList.stories.js.br +0 -0
  171. package/dist/collection/stories/TreksList.stories.js.gz +0 -0
  172. package/dist/collection/stories/TreksMap.js +6 -3
  173. package/dist/collection/stories/TreksMap.js.br +0 -0
  174. package/dist/collection/stories/TreksMap.js.gz +0 -0
  175. package/dist/collection/stories/TreksMap.stories.js +6 -3
  176. package/dist/collection/stories/TreksMap.stories.js.br +0 -0
  177. package/dist/collection/stories/TreksMap.stories.js.gz +0 -0
  178. package/dist/collection/types/types.js.map +1 -1
  179. package/dist/esm/{css-shim-cfbf2cf5.js → css-shim-8cc70a22.js} +2 -2
  180. package/dist/esm/css-shim-8cc70a22.js.br +0 -0
  181. package/dist/esm/css-shim-8cc70a22.js.gz +0 -0
  182. package/dist/esm/{css-shim-cfbf2cf5.js.map → css-shim-8cc70a22.js.map} +1 -1
  183. package/dist/esm/{dom-c0f8af80.js → dom-60e3e2ad.js} +2 -2
  184. package/dist/esm/dom-60e3e2ad.js.br +0 -0
  185. package/dist/esm/dom-60e3e2ad.js.gz +0 -0
  186. package/dist/esm/{dom-c0f8af80.js.map → dom-60e3e2ad.js.map} +1 -1
  187. package/dist/esm/geotrek-rando-widget.js +5 -5
  188. package/dist/esm/geotrek-rando-widget.js.br +0 -0
  189. package/dist/esm/geotrek-rando-widget.js.gz +0 -0
  190. package/dist/esm/geotrek-rando-widget.js.map +1 -1
  191. package/dist/esm/grw-app.entry.js +61 -17
  192. package/dist/esm/grw-app.entry.js.br +0 -0
  193. package/dist/esm/grw-app.entry.js.gz +0 -0
  194. package/dist/esm/grw-app.entry.js.map +1 -1
  195. package/dist/esm/{grw-filter_6.entry.js → grw-filter_7.entry.js} +5539 -263
  196. package/dist/esm/grw-filter_7.entry.js.br +0 -0
  197. package/dist/esm/grw-filter_7.entry.js.gz +0 -0
  198. package/dist/esm/grw-filter_7.entry.js.map +1 -0
  199. package/dist/esm/grw-information-desk-detail_3.entry.js +51 -9
  200. package/dist/esm/grw-information-desk-detail_3.entry.js.br +0 -0
  201. package/dist/esm/grw-information-desk-detail_3.entry.js.gz +0 -0
  202. package/dist/esm/grw-information-desk-detail_3.entry.js.map +1 -1
  203. package/dist/esm/grw-trek-card.entry.js +17 -10
  204. package/dist/esm/grw-trek-card.entry.js.br +0 -0
  205. package/dist/esm/grw-trek-card.entry.js.gz +0 -0
  206. package/dist/esm/grw-trek-card.entry.js.map +1 -1
  207. package/dist/esm/i18n-b25e6b48.js +106 -0
  208. package/dist/esm/i18n-b25e6b48.js.br +0 -0
  209. package/dist/esm/i18n-b25e6b48.js.gz +0 -0
  210. package/dist/esm/i18n-b25e6b48.js.map +1 -0
  211. package/dist/esm/{index-e862524f.js → index-57c9193c.js} +487 -31
  212. package/dist/esm/index-57c9193c.js.br +0 -0
  213. package/dist/esm/index-57c9193c.js.gz +0 -0
  214. package/dist/esm/index-57c9193c.js.map +1 -0
  215. package/dist/esm/loader.js +5 -5
  216. package/dist/esm/loader.js.br +0 -0
  217. package/dist/esm/loader.js.gz +0 -0
  218. package/dist/esm/loader.js.map +1 -1
  219. package/dist/esm/pagination-24051620.js +4646 -0
  220. package/dist/esm/pagination-24051620.js.br +0 -0
  221. package/dist/esm/pagination-24051620.js.gz +0 -0
  222. package/dist/esm/pagination-24051620.js.map +1 -0
  223. package/dist/esm/{shadow-css-12b9a099.js → shadow-css-19be24ee.js} +2 -2
  224. package/dist/esm/shadow-css-19be24ee.js.br +0 -0
  225. package/dist/esm/shadow-css-19be24ee.js.gz +0 -0
  226. package/dist/esm/{shadow-css-12b9a099.js.map → shadow-css-19be24ee.js.map} +1 -1
  227. package/dist/esm/{store-5565fa38.js → store-b2d579d9.js} +11 -9
  228. package/dist/esm/store-b2d579d9.js.br +0 -0
  229. package/dist/esm/store-b2d579d9.js.gz +0 -0
  230. package/dist/esm/store-b2d579d9.js.map +1 -0
  231. package/dist/esm-es5/{css-shim-cfbf2cf5.js → css-shim-8cc70a22.js} +1 -1
  232. package/dist/esm-es5/css-shim-8cc70a22.js.br +0 -0
  233. package/dist/esm-es5/css-shim-8cc70a22.js.gz +0 -0
  234. package/dist/esm-es5/{css-shim-cfbf2cf5.js.map → css-shim-8cc70a22.js.map} +1 -1
  235. package/dist/esm-es5/{dom-c0f8af80.js → dom-60e3e2ad.js} +1 -1
  236. package/dist/esm-es5/dom-60e3e2ad.js.br +0 -0
  237. package/dist/esm-es5/dom-60e3e2ad.js.gz +0 -0
  238. package/dist/esm-es5/{dom-c0f8af80.js.map → dom-60e3e2ad.js.map} +1 -1
  239. package/dist/esm-es5/geotrek-rando-widget.js +1 -1
  240. package/dist/esm-es5/geotrek-rando-widget.js.br +0 -0
  241. package/dist/esm-es5/geotrek-rando-widget.js.gz +0 -0
  242. package/dist/esm-es5/geotrek-rando-widget.js.map +1 -1
  243. package/dist/esm-es5/grw-app.entry.js +1 -1
  244. package/dist/esm-es5/grw-app.entry.js.br +0 -0
  245. package/dist/esm-es5/grw-app.entry.js.gz +0 -0
  246. package/dist/esm-es5/grw-app.entry.js.map +1 -1
  247. package/dist/esm-es5/grw-filter_7.entry.js +14 -0
  248. package/dist/esm-es5/grw-filter_7.entry.js.br +0 -0
  249. package/dist/esm-es5/grw-filter_7.entry.js.gz +0 -0
  250. package/dist/esm-es5/grw-filter_7.entry.js.map +1 -0
  251. package/dist/esm-es5/grw-information-desk-detail_3.entry.js +1 -1
  252. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.br +0 -0
  253. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.gz +0 -0
  254. package/dist/esm-es5/grw-information-desk-detail_3.entry.js.map +1 -1
  255. package/dist/esm-es5/grw-trek-card.entry.js +1 -1
  256. package/dist/esm-es5/grw-trek-card.entry.js.br +0 -0
  257. package/dist/esm-es5/grw-trek-card.entry.js.gz +0 -0
  258. package/dist/esm-es5/grw-trek-card.entry.js.map +1 -1
  259. package/dist/esm-es5/i18n-b25e6b48.js +2 -0
  260. package/dist/esm-es5/i18n-b25e6b48.js.br +0 -0
  261. package/dist/esm-es5/i18n-b25e6b48.js.gz +0 -0
  262. package/dist/esm-es5/i18n-b25e6b48.js.map +1 -0
  263. package/dist/esm-es5/index-57c9193c.js +3 -0
  264. package/dist/esm-es5/index-57c9193c.js.br +0 -0
  265. package/dist/esm-es5/index-57c9193c.js.gz +0 -0
  266. package/dist/esm-es5/index-57c9193c.js.map +1 -0
  267. package/dist/esm-es5/loader.js +1 -1
  268. package/dist/esm-es5/loader.js.br +0 -0
  269. package/dist/esm-es5/loader.js.gz +0 -0
  270. package/dist/esm-es5/loader.js.map +1 -1
  271. package/dist/esm-es5/pagination-24051620.js +2 -0
  272. package/dist/esm-es5/pagination-24051620.js.br +0 -0
  273. package/dist/esm-es5/pagination-24051620.js.gz +0 -0
  274. package/dist/esm-es5/pagination-24051620.js.map +1 -0
  275. package/dist/esm-es5/{shadow-css-12b9a099.js → shadow-css-19be24ee.js} +1 -1
  276. package/dist/esm-es5/shadow-css-19be24ee.js.br +0 -0
  277. package/dist/esm-es5/shadow-css-19be24ee.js.gz +0 -0
  278. package/dist/esm-es5/{shadow-css-12b9a099.js.map → shadow-css-19be24ee.js.map} +1 -1
  279. package/dist/esm-es5/{store-5565fa38.js → store-b2d579d9.js} +2 -2
  280. package/dist/esm-es5/store-b2d579d9.js.br +0 -0
  281. package/dist/esm-es5/store-b2d579d9.js.gz +0 -0
  282. package/dist/esm-es5/store-b2d579d9.js.map +1 -0
  283. package/dist/geotrek-rando-widget/assets/default-image.svg +1 -0
  284. package/dist/geotrek-rando-widget/assets/default-image.svg.br +1 -0
  285. package/dist/geotrek-rando-widget/assets/default-image.svg.gz +0 -0
  286. package/dist/geotrek-rando-widget/assets/layers.svg +1 -0
  287. package/dist/geotrek-rando-widget/assets/layers.svg.br +0 -0
  288. package/dist/geotrek-rando-widget/assets/layers.svg.gz +0 -0
  289. package/dist/geotrek-rando-widget/geotrek-rando-widget.css +1 -1
  290. package/dist/geotrek-rando-widget/geotrek-rando-widget.css.br +0 -0
  291. package/dist/geotrek-rando-widget/geotrek-rando-widget.css.gz +0 -0
  292. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -1
  293. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.br +0 -0
  294. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.gz +0 -0
  295. package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js.map +1 -1
  296. package/dist/geotrek-rando-widget/geotrek-rando-widget.js +1 -1
  297. package/dist/geotrek-rando-widget/geotrek-rando-widget.js.br +0 -0
  298. package/dist/geotrek-rando-widget/geotrek-rando-widget.js.gz +0 -0
  299. package/dist/geotrek-rando-widget/p-0773c38f.js +2 -0
  300. package/dist/geotrek-rando-widget/p-0773c38f.js.br +0 -0
  301. package/dist/geotrek-rando-widget/p-0773c38f.js.gz +0 -0
  302. package/dist/geotrek-rando-widget/p-0773c38f.js.map +1 -0
  303. package/dist/geotrek-rando-widget/{p-3eb96982.js → p-0f28420f.js} +1 -1
  304. package/dist/geotrek-rando-widget/p-0f28420f.js.br +0 -0
  305. package/dist/geotrek-rando-widget/p-0f28420f.js.gz +0 -0
  306. package/dist/geotrek-rando-widget/{p-3eb96982.js.map → p-0f28420f.js.map} +1 -1
  307. package/dist/geotrek-rando-widget/{p-1eb5bb96.js → p-15fed795.js} +1 -1
  308. package/dist/geotrek-rando-widget/p-15fed795.js.br +0 -0
  309. package/dist/geotrek-rando-widget/p-15fed795.js.gz +0 -0
  310. package/dist/geotrek-rando-widget/{p-1eb5bb96.js.map → p-15fed795.js.map} +1 -1
  311. package/dist/geotrek-rando-widget/p-1a25ab22.entry.js +14 -0
  312. package/dist/geotrek-rando-widget/p-1a25ab22.entry.js.br +0 -0
  313. package/dist/geotrek-rando-widget/p-1a25ab22.entry.js.gz +0 -0
  314. package/dist/geotrek-rando-widget/p-1a25ab22.entry.js.map +1 -0
  315. package/dist/geotrek-rando-widget/p-1e1b3006.entry.js +2 -0
  316. package/dist/geotrek-rando-widget/p-1e1b3006.entry.js.br +0 -0
  317. package/dist/geotrek-rando-widget/p-1e1b3006.entry.js.gz +0 -0
  318. package/dist/geotrek-rando-widget/p-1e1b3006.entry.js.map +1 -0
  319. package/dist/geotrek-rando-widget/{p-e6f85aed.system.js → p-2a99981a.system.js} +1 -1
  320. package/dist/geotrek-rando-widget/p-2a99981a.system.js.br +0 -0
  321. package/dist/geotrek-rando-widget/p-2a99981a.system.js.gz +0 -0
  322. package/dist/geotrek-rando-widget/{p-e6f85aed.system.js.map → p-2a99981a.system.js.map} +1 -1
  323. package/dist/geotrek-rando-widget/p-4f746b28.js +3 -0
  324. package/dist/geotrek-rando-widget/p-4f746b28.js.br +0 -0
  325. package/dist/geotrek-rando-widget/p-4f746b28.js.gz +0 -0
  326. package/dist/geotrek-rando-widget/p-4f746b28.js.map +1 -0
  327. package/dist/geotrek-rando-widget/p-58cf0dd0.js +2 -0
  328. package/dist/geotrek-rando-widget/p-58cf0dd0.js.br +0 -0
  329. package/dist/geotrek-rando-widget/p-58cf0dd0.js.gz +0 -0
  330. package/dist/geotrek-rando-widget/p-58cf0dd0.js.map +1 -0
  331. package/dist/geotrek-rando-widget/{p-66d490d8.system.js → p-634eaa8f.system.js} +1 -1
  332. package/dist/geotrek-rando-widget/p-634eaa8f.system.js.br +0 -0
  333. package/dist/geotrek-rando-widget/p-634eaa8f.system.js.gz +0 -0
  334. package/dist/geotrek-rando-widget/{p-66d490d8.system.js.map → p-634eaa8f.system.js.map} +1 -1
  335. package/dist/geotrek-rando-widget/{p-a9a35a44.system.js → p-63e651bf.system.js} +1 -1
  336. package/dist/geotrek-rando-widget/p-63e651bf.system.js.br +0 -0
  337. package/dist/geotrek-rando-widget/p-63e651bf.system.js.gz +0 -0
  338. package/dist/geotrek-rando-widget/{p-a9a35a44.system.js.map → p-63e651bf.system.js.map} +1 -1
  339. package/dist/geotrek-rando-widget/p-6d748d33.system.entry.js +2 -0
  340. package/dist/geotrek-rando-widget/p-6d748d33.system.entry.js.br +0 -0
  341. package/dist/geotrek-rando-widget/p-6d748d33.system.entry.js.gz +0 -0
  342. package/dist/geotrek-rando-widget/p-6d748d33.system.entry.js.map +1 -0
  343. package/dist/geotrek-rando-widget/p-758bdb7e.system.js +2 -0
  344. package/dist/geotrek-rando-widget/p-758bdb7e.system.js.br +0 -0
  345. package/dist/geotrek-rando-widget/p-758bdb7e.system.js.gz +0 -0
  346. package/dist/geotrek-rando-widget/p-758bdb7e.system.js.map +1 -0
  347. package/dist/geotrek-rando-widget/p-8872ebd8.system.js +2 -0
  348. package/dist/geotrek-rando-widget/p-8872ebd8.system.js.br +0 -0
  349. package/dist/geotrek-rando-widget/p-8872ebd8.system.js.gz +0 -0
  350. package/dist/geotrek-rando-widget/p-8872ebd8.system.js.map +1 -0
  351. package/dist/geotrek-rando-widget/p-8e38db57.system.js +2 -0
  352. package/dist/geotrek-rando-widget/p-8e38db57.system.js.br +0 -0
  353. package/dist/geotrek-rando-widget/p-8e38db57.system.js.gz +0 -0
  354. package/dist/geotrek-rando-widget/p-8e38db57.system.js.map +1 -0
  355. package/dist/geotrek-rando-widget/p-a06aacd4.js +2 -0
  356. package/dist/geotrek-rando-widget/p-a06aacd4.js.br +0 -0
  357. package/dist/geotrek-rando-widget/p-a06aacd4.js.gz +0 -0
  358. package/dist/geotrek-rando-widget/p-a06aacd4.js.map +1 -0
  359. package/dist/geotrek-rando-widget/{p-88c3a6bd.js → p-b5fc5b41.js} +1 -1
  360. package/dist/geotrek-rando-widget/p-b5fc5b41.js.br +0 -0
  361. package/dist/geotrek-rando-widget/p-b5fc5b41.js.gz +0 -0
  362. package/dist/geotrek-rando-widget/{p-88c3a6bd.js.map → p-b5fc5b41.js.map} +1 -1
  363. package/dist/geotrek-rando-widget/p-c72585fe.system.entry.js +14 -0
  364. package/dist/geotrek-rando-widget/p-c72585fe.system.entry.js.br +0 -0
  365. package/dist/geotrek-rando-widget/p-c72585fe.system.entry.js.gz +0 -0
  366. package/dist/geotrek-rando-widget/p-c72585fe.system.entry.js.map +1 -0
  367. package/dist/geotrek-rando-widget/p-d0b22f11.system.entry.js +2 -0
  368. package/dist/geotrek-rando-widget/p-d0b22f11.system.entry.js.br +0 -0
  369. package/dist/geotrek-rando-widget/p-d0b22f11.system.entry.js.gz +0 -0
  370. package/dist/geotrek-rando-widget/p-d0b22f11.system.entry.js.map +1 -0
  371. package/dist/geotrek-rando-widget/p-d5094323.system.js +3 -0
  372. package/dist/geotrek-rando-widget/p-d5094323.system.js.br +0 -0
  373. package/dist/geotrek-rando-widget/p-d5094323.system.js.gz +0 -0
  374. package/dist/geotrek-rando-widget/p-d5094323.system.js.map +1 -0
  375. package/dist/geotrek-rando-widget/p-d5b0f2d5.system.entry.js +2 -0
  376. package/dist/geotrek-rando-widget/p-d5b0f2d5.system.entry.js.br +0 -0
  377. package/dist/geotrek-rando-widget/p-d5b0f2d5.system.entry.js.gz +0 -0
  378. package/dist/geotrek-rando-widget/p-d5b0f2d5.system.entry.js.map +1 -0
  379. package/dist/geotrek-rando-widget/p-dbf7dc54.entry.js +2 -0
  380. package/dist/geotrek-rando-widget/p-dbf7dc54.entry.js.br +0 -0
  381. package/dist/geotrek-rando-widget/p-dbf7dc54.entry.js.gz +0 -0
  382. package/dist/geotrek-rando-widget/p-dbf7dc54.entry.js.map +1 -0
  383. package/dist/geotrek-rando-widget/p-dc91249a.system.js +2 -0
  384. package/dist/geotrek-rando-widget/p-dc91249a.system.js.br +0 -0
  385. package/dist/geotrek-rando-widget/p-dc91249a.system.js.gz +0 -0
  386. package/dist/geotrek-rando-widget/p-dc91249a.system.js.map +1 -0
  387. package/dist/geotrek-rando-widget/p-f60bd917.entry.js +2 -0
  388. package/dist/geotrek-rando-widget/p-f60bd917.entry.js.br +0 -0
  389. package/dist/geotrek-rando-widget/p-f60bd917.entry.js.gz +0 -0
  390. package/dist/geotrek-rando-widget/p-f60bd917.entry.js.map +1 -0
  391. package/dist/types/components/grw-app/grw-app.d.ts +20 -6
  392. package/dist/types/components/grw-information-desk-detail/grw-information-desk-detail.d.ts +8 -0
  393. package/dist/types/components/grw-map/grw-map.d.ts +28 -6
  394. package/dist/types/components/grw-poi-detail/grw-poi-detail.d.ts +11 -0
  395. package/dist/types/components/grw-select-language/grw-select-language.d.ts +4 -0
  396. package/dist/types/components/grw-trek-card/grw-trek-card.d.ts +5 -2
  397. package/dist/types/components/grw-trek-detail/grw-trek-detail.d.ts +74 -4
  398. package/dist/types/components/grw-treks-list/grw-treks-list.d.ts +6 -3
  399. package/dist/types/components.d.ts +115 -30
  400. package/dist/types/i18n/i18n.d.ts +56 -0
  401. package/dist/types/stencil-public-runtime.d.ts +3 -0
  402. package/dist/types/store/grw-trek-provider.d.ts +3 -1
  403. package/dist/types/store/grw-treks-provider.d.ts +3 -1
  404. package/dist/types/store/store.d.ts +4 -0
  405. package/dist/types/types/types.d.ts +17 -3
  406. package/loader/index.d.ts +1 -1
  407. package/package.json +17 -14
  408. package/readme.md +4 -2
  409. package/dist/cjs/css-shim-4e479c1a.js.br +0 -0
  410. package/dist/cjs/css-shim-4e479c1a.js.gz +0 -0
  411. package/dist/cjs/dom-52c0133a.js.br +0 -0
  412. package/dist/cjs/dom-52c0133a.js.gz +0 -0
  413. package/dist/cjs/grw-filter_6.cjs.entry.js.br +0 -0
  414. package/dist/cjs/grw-filter_6.cjs.entry.js.gz +0 -0
  415. package/dist/cjs/grw-filter_6.cjs.entry.js.map +0 -1
  416. package/dist/cjs/index-5c1a15c7.js.br +0 -0
  417. package/dist/cjs/index-5c1a15c7.js.gz +0 -0
  418. package/dist/cjs/index-5c1a15c7.js.map +0 -1
  419. package/dist/cjs/shadow-css-388a8a25.js.br +0 -0
  420. package/dist/cjs/shadow-css-388a8a25.js.gz +0 -0
  421. package/dist/cjs/store-a027262c.js.br +0 -0
  422. package/dist/cjs/store-a027262c.js.gz +0 -0
  423. package/dist/cjs/store-a027262c.js.map +0 -1
  424. package/dist/collection/assets/arrow-back.svg +0 -1
  425. package/dist/collection/assets/arrow-back.svg.br +0 -0
  426. package/dist/collection/assets/arrow-back.svg.gz +0 -0
  427. package/dist/collection/assets/ascent.svg +0 -1
  428. package/dist/collection/assets/ascent.svg.br +0 -0
  429. package/dist/collection/assets/ascent.svg.gz +0 -0
  430. package/dist/collection/assets/duration.svg +0 -1
  431. package/dist/collection/assets/duration.svg.br +0 -0
  432. package/dist/collection/assets/duration.svg.gz +0 -0
  433. package/dist/collection/assets/length.svg +0 -1
  434. package/dist/collection/assets/length.svg.br +0 -4
  435. package/dist/collection/assets/length.svg.gz +0 -0
  436. package/dist/esm/css-shim-cfbf2cf5.js.br +0 -0
  437. package/dist/esm/css-shim-cfbf2cf5.js.gz +0 -0
  438. package/dist/esm/dom-c0f8af80.js.br +0 -0
  439. package/dist/esm/dom-c0f8af80.js.gz +0 -0
  440. package/dist/esm/grw-filter_6.entry.js.br +0 -0
  441. package/dist/esm/grw-filter_6.entry.js.gz +0 -0
  442. package/dist/esm/grw-filter_6.entry.js.map +0 -1
  443. package/dist/esm/index-e862524f.js.br +0 -0
  444. package/dist/esm/index-e862524f.js.gz +0 -0
  445. package/dist/esm/index-e862524f.js.map +0 -1
  446. package/dist/esm/shadow-css-12b9a099.js.br +0 -0
  447. package/dist/esm/shadow-css-12b9a099.js.gz +0 -0
  448. package/dist/esm/store-5565fa38.js.br +0 -0
  449. package/dist/esm/store-5565fa38.js.gz +0 -0
  450. package/dist/esm/store-5565fa38.js.map +0 -1
  451. package/dist/esm-es5/css-shim-cfbf2cf5.js.br +0 -0
  452. package/dist/esm-es5/css-shim-cfbf2cf5.js.gz +0 -0
  453. package/dist/esm-es5/dom-c0f8af80.js.br +0 -0
  454. package/dist/esm-es5/dom-c0f8af80.js.gz +0 -0
  455. package/dist/esm-es5/grw-filter_6.entry.js +0 -7
  456. package/dist/esm-es5/grw-filter_6.entry.js.br +0 -0
  457. package/dist/esm-es5/grw-filter_6.entry.js.gz +0 -0
  458. package/dist/esm-es5/grw-filter_6.entry.js.map +0 -1
  459. package/dist/esm-es5/index-e862524f.js +0 -3
  460. package/dist/esm-es5/index-e862524f.js.br +0 -0
  461. package/dist/esm-es5/index-e862524f.js.gz +0 -0
  462. package/dist/esm-es5/index-e862524f.js.map +0 -1
  463. package/dist/esm-es5/shadow-css-12b9a099.js.br +0 -0
  464. package/dist/esm-es5/shadow-css-12b9a099.js.gz +0 -0
  465. package/dist/esm-es5/store-5565fa38.js.br +0 -0
  466. package/dist/esm-es5/store-5565fa38.js.gz +0 -0
  467. package/dist/esm-es5/store-5565fa38.js.map +0 -1
  468. package/dist/geotrek-rando-widget/assets/arrow-back.svg +0 -1
  469. package/dist/geotrek-rando-widget/assets/arrow-back.svg.br +0 -0
  470. package/dist/geotrek-rando-widget/assets/arrow-back.svg.gz +0 -0
  471. package/dist/geotrek-rando-widget/assets/ascent.svg +0 -1
  472. package/dist/geotrek-rando-widget/assets/ascent.svg.br +0 -0
  473. package/dist/geotrek-rando-widget/assets/ascent.svg.gz +0 -0
  474. package/dist/geotrek-rando-widget/assets/duration.svg +0 -1
  475. package/dist/geotrek-rando-widget/assets/duration.svg.br +0 -0
  476. package/dist/geotrek-rando-widget/assets/duration.svg.gz +0 -0
  477. package/dist/geotrek-rando-widget/assets/length.svg +0 -1
  478. package/dist/geotrek-rando-widget/assets/length.svg.br +0 -4
  479. package/dist/geotrek-rando-widget/assets/length.svg.gz +0 -0
  480. package/dist/geotrek-rando-widget/p-199359a3.system.js +0 -2
  481. package/dist/geotrek-rando-widget/p-199359a3.system.js.br +0 -0
  482. package/dist/geotrek-rando-widget/p-199359a3.system.js.gz +0 -0
  483. package/dist/geotrek-rando-widget/p-199359a3.system.js.map +0 -1
  484. package/dist/geotrek-rando-widget/p-19d69e2f.system.js +0 -3
  485. package/dist/geotrek-rando-widget/p-19d69e2f.system.js.br +0 -0
  486. package/dist/geotrek-rando-widget/p-19d69e2f.system.js.gz +0 -0
  487. package/dist/geotrek-rando-widget/p-19d69e2f.system.js.map +0 -1
  488. package/dist/geotrek-rando-widget/p-1eb5bb96.js.br +0 -0
  489. package/dist/geotrek-rando-widget/p-1eb5bb96.js.gz +0 -0
  490. package/dist/geotrek-rando-widget/p-24c3dfb6.entry.js +0 -7
  491. package/dist/geotrek-rando-widget/p-24c3dfb6.entry.js.br +0 -0
  492. package/dist/geotrek-rando-widget/p-24c3dfb6.entry.js.gz +0 -0
  493. package/dist/geotrek-rando-widget/p-24c3dfb6.entry.js.map +0 -1
  494. package/dist/geotrek-rando-widget/p-3eb96982.js.br +0 -0
  495. package/dist/geotrek-rando-widget/p-3eb96982.js.gz +0 -0
  496. package/dist/geotrek-rando-widget/p-504d151b.entry.js +0 -2
  497. package/dist/geotrek-rando-widget/p-504d151b.entry.js.br +0 -0
  498. package/dist/geotrek-rando-widget/p-504d151b.entry.js.gz +0 -0
  499. package/dist/geotrek-rando-widget/p-504d151b.entry.js.map +0 -1
  500. package/dist/geotrek-rando-widget/p-52c83c69.entry.js +0 -2
  501. package/dist/geotrek-rando-widget/p-52c83c69.entry.js.br +0 -0
  502. package/dist/geotrek-rando-widget/p-52c83c69.entry.js.gz +0 -0
  503. package/dist/geotrek-rando-widget/p-52c83c69.entry.js.map +0 -1
  504. package/dist/geotrek-rando-widget/p-66d490d8.system.js.br +0 -0
  505. package/dist/geotrek-rando-widget/p-66d490d8.system.js.gz +0 -0
  506. package/dist/geotrek-rando-widget/p-7262406c.js +0 -2
  507. package/dist/geotrek-rando-widget/p-7262406c.js.br +0 -0
  508. package/dist/geotrek-rando-widget/p-7262406c.js.gz +0 -0
  509. package/dist/geotrek-rando-widget/p-7262406c.js.map +0 -1
  510. package/dist/geotrek-rando-widget/p-88c3a6bd.js.br +0 -0
  511. package/dist/geotrek-rando-widget/p-88c3a6bd.js.gz +0 -0
  512. package/dist/geotrek-rando-widget/p-921dc146.system.entry.js +0 -2
  513. package/dist/geotrek-rando-widget/p-921dc146.system.entry.js.br +0 -0
  514. package/dist/geotrek-rando-widget/p-921dc146.system.entry.js.gz +0 -0
  515. package/dist/geotrek-rando-widget/p-921dc146.system.entry.js.map +0 -1
  516. package/dist/geotrek-rando-widget/p-99c86553.system.entry.js +0 -2
  517. package/dist/geotrek-rando-widget/p-99c86553.system.entry.js.br +0 -0
  518. package/dist/geotrek-rando-widget/p-99c86553.system.entry.js.gz +0 -0
  519. package/dist/geotrek-rando-widget/p-99c86553.system.entry.js.map +0 -1
  520. package/dist/geotrek-rando-widget/p-a96ced47.system.entry.js +0 -2
  521. package/dist/geotrek-rando-widget/p-a96ced47.system.entry.js.br +0 -0
  522. package/dist/geotrek-rando-widget/p-a96ced47.system.entry.js.gz +0 -0
  523. package/dist/geotrek-rando-widget/p-a96ced47.system.entry.js.map +0 -1
  524. package/dist/geotrek-rando-widget/p-a9a35a44.system.js.br +0 -0
  525. package/dist/geotrek-rando-widget/p-a9a35a44.system.js.gz +0 -0
  526. package/dist/geotrek-rando-widget/p-b00cf3cc.system.js +0 -2
  527. package/dist/geotrek-rando-widget/p-b00cf3cc.system.js.br +0 -0
  528. package/dist/geotrek-rando-widget/p-b00cf3cc.system.js.gz +0 -0
  529. package/dist/geotrek-rando-widget/p-b00cf3cc.system.js.map +0 -1
  530. package/dist/geotrek-rando-widget/p-c0687c5e.entry.js +0 -2
  531. package/dist/geotrek-rando-widget/p-c0687c5e.entry.js.br +0 -0
  532. package/dist/geotrek-rando-widget/p-c0687c5e.entry.js.gz +0 -0
  533. package/dist/geotrek-rando-widget/p-c0687c5e.entry.js.map +0 -1
  534. package/dist/geotrek-rando-widget/p-d8bdcfaf.js +0 -3
  535. package/dist/geotrek-rando-widget/p-d8bdcfaf.js.br +0 -0
  536. package/dist/geotrek-rando-widget/p-d8bdcfaf.js.gz +0 -0
  537. package/dist/geotrek-rando-widget/p-d8bdcfaf.js.map +0 -1
  538. package/dist/geotrek-rando-widget/p-e6f85aed.system.js.br +0 -0
  539. package/dist/geotrek-rando-widget/p-e6f85aed.system.js.gz +0 -0
  540. package/dist/geotrek-rando-widget/p-ee15d9b3.system.entry.js +0 -7
  541. package/dist/geotrek-rando-widget/p-ee15d9b3.system.entry.js.br +0 -0
  542. package/dist/geotrek-rando-widget/p-ee15d9b3.system.entry.js.gz +0 -0
  543. package/dist/geotrek-rando-widget/p-ee15d9b3.system.entry.js.map +0 -1
@@ -31,7 +31,11 @@ const NAMESPACE = 'geotrek-rando-widget';
31
31
  * Modified for Stencil's renderer and slot projection
32
32
  */
33
33
  let scopeId;
34
+ let contentRef;
34
35
  let hostTagName;
36
+ let useNativeShadowDom = false;
37
+ let checkSlotFallbackVisibility = false;
38
+ let checkSlotRelocate = false;
35
39
  let isSvgMode = false;
36
40
  let renderingRef = null;
37
41
  let queuePending = false;
@@ -100,6 +104,7 @@ function queryNonceMetaTagContent(doc) {
100
104
  const h = (nodeName, vnodeData, ...children) => {
101
105
  let child = null;
102
106
  let key = null;
107
+ let slotName = null;
103
108
  let simple = false;
104
109
  let lastSimple = false;
105
110
  const vNodeChildren = [];
@@ -131,6 +136,9 @@ const h = (nodeName, vnodeData, ...children) => {
131
136
  if (vnodeData.key) {
132
137
  key = vnodeData.key;
133
138
  }
139
+ if (vnodeData.name) {
140
+ slotName = vnodeData.name;
141
+ }
134
142
  {
135
143
  const classData = vnodeData.className || vnodeData.class;
136
144
  if (classData) {
@@ -151,6 +159,9 @@ const h = (nodeName, vnodeData, ...children) => {
151
159
  {
152
160
  vnode.$key$ = key;
153
161
  }
162
+ {
163
+ vnode.$name$ = slotName;
164
+ }
154
165
  return vnode;
155
166
  };
156
167
  /**
@@ -175,6 +186,9 @@ const newVNode = (tag, text) => {
175
186
  {
176
187
  vnode.$key$ = null;
177
188
  }
189
+ {
190
+ vnode.$name$ = null;
191
+ }
178
192
  return vnode;
179
193
  };
180
194
  const Host = {};
@@ -396,6 +410,12 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
396
410
  }
397
411
  else if (memberName === 'key')
398
412
  ;
413
+ else if (memberName === 'ref') {
414
+ // minifier will clean this up
415
+ if (newValue) {
416
+ newValue(elm);
417
+ }
418
+ }
399
419
  else if ((!isProp ) &&
400
420
  memberName[0] === 'o' &&
401
421
  memberName[1] === 'n') {
@@ -512,13 +532,36 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
512
532
  let i = 0;
513
533
  let elm;
514
534
  let childNode;
535
+ let oldVNode;
536
+ if (!useNativeShadowDom) {
537
+ // remember for later we need to check to relocate nodes
538
+ checkSlotRelocate = true;
539
+ if (newVNode.$tag$ === 'slot') {
540
+ if (scopeId) {
541
+ // scoped css needs to add its scoped id to the parent element
542
+ parentElm.classList.add(scopeId + '-s');
543
+ }
544
+ newVNode.$flags$ |= newVNode.$children$
545
+ ? // slot element has fallback content
546
+ 2 /* VNODE_FLAGS.isSlotFallback */
547
+ : // slot element does not have fallback content
548
+ 1 /* VNODE_FLAGS.isSlotReference */;
549
+ }
550
+ }
515
551
  if (newVNode.$text$ !== null) {
516
552
  // create text node
517
553
  elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
518
554
  }
555
+ else if (newVNode.$flags$ & 1 /* VNODE_FLAGS.isSlotReference */) {
556
+ // create a slot reference node
557
+ elm = newVNode.$elm$ =
558
+ doc.createTextNode('');
559
+ }
519
560
  else {
520
561
  // create element
521
- elm = newVNode.$elm$ = (doc.createElement(newVNode.$tag$));
562
+ elm = newVNode.$elm$ = (doc.createElement(newVNode.$flags$ & 2 /* VNODE_FLAGS.isSlotFallback */
563
+ ? 'slot-fb'
564
+ : newVNode.$tag$));
522
565
  // add css classes, attrs, props, listeners, etc.
523
566
  {
524
567
  updateElement(null, newVNode, isSvgMode);
@@ -531,7 +574,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
531
574
  if (newVNode.$children$) {
532
575
  for (i = 0; i < newVNode.$children$.length; ++i) {
533
576
  // create the node
534
- childNode = createElm(oldParentVNode, newVNode, i);
577
+ childNode = createElm(oldParentVNode, newVNode, i, elm);
535
578
  // return node could have been null
536
579
  if (childNode) {
537
580
  // append our new node
@@ -540,8 +583,50 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
540
583
  }
541
584
  }
542
585
  }
586
+ {
587
+ elm['s-hn'] = hostTagName;
588
+ if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
589
+ // remember the content reference comment
590
+ elm['s-sr'] = true;
591
+ // remember the content reference comment
592
+ elm['s-cr'] = contentRef;
593
+ // remember the slot name, or empty string for default slot
594
+ elm['s-sn'] = newVNode.$name$ || '';
595
+ // check if we've got an old vnode for this slot
596
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
597
+ if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
598
+ // we've got an old slot vnode and the wrapper is being replaced
599
+ // so let's move the old slot content back to it's original location
600
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
601
+ }
602
+ }
603
+ }
543
604
  return elm;
544
605
  };
606
+ const putBackInOriginalLocation = (parentElm, recursive) => {
607
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
608
+ const oldSlotChildNodes = parentElm.childNodes;
609
+ for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
610
+ const childNode = oldSlotChildNodes[i];
611
+ if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
612
+ // // this child node in the old element is from another component
613
+ // // remove this node from the old slot's parent
614
+ // childNode.remove();
615
+ // and relocate it back to it's original location
616
+ parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
617
+ // remove the old original location comment entirely
618
+ // later on the patch function will know what to do
619
+ // and move this to the correct spot in need be
620
+ childNode['s-ol'].remove();
621
+ childNode['s-ol'] = undefined;
622
+ checkSlotRelocate = true;
623
+ }
624
+ if (recursive) {
625
+ putBackInOriginalLocation(childNode, recursive);
626
+ }
627
+ }
628
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
629
+ };
545
630
  /**
546
631
  * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
547
632
  * add them to the DOM in the appropriate place.
@@ -558,17 +643,17 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
558
643
  * creating DOM nodes (inclusive)
559
644
  */
560
645
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
561
- let containerElm = (parentElm);
646
+ let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
562
647
  let childNode;
563
648
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
564
649
  containerElm = containerElm.shadowRoot;
565
650
  }
566
651
  for (; startIdx <= endIdx; ++startIdx) {
567
652
  if (vnodes[startIdx]) {
568
- childNode = createElm(null, parentVNode, startIdx);
653
+ childNode = createElm(null, parentVNode, startIdx, parentElm);
569
654
  if (childNode) {
570
655
  vnodes[startIdx].$elm$ = childNode;
571
- containerElm.insertBefore(childNode, before);
656
+ containerElm.insertBefore(childNode, referenceNode(before) );
572
657
  }
573
658
  }
574
659
  }
@@ -583,15 +668,31 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
583
668
  * @param vnodes a list of virtual DOM nodes to remove
584
669
  * @param startIdx the index at which to start removing nodes (inclusive)
585
670
  * @param endIdx the index at which to stop removing nodes (inclusive)
586
- * @param vnode a VNode
587
- * @param elm an element
588
671
  */
589
- const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
590
- for (; startIdx <= endIdx; ++startIdx) {
591
- if ((vnode = vnodes[startIdx])) {
592
- elm = vnode.$elm$;
593
- // remove the vnode's element from the dom
594
- elm.remove();
672
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
673
+ for (let index = startIdx; index <= endIdx; ++index) {
674
+ const vnode = vnodes[index];
675
+ if (vnode) {
676
+ const elm = vnode.$elm$;
677
+ nullifyVNodeRefs(vnode);
678
+ if (elm) {
679
+ {
680
+ // we're removing this element
681
+ // so it's possible we need to show slot fallback content now
682
+ checkSlotFallbackVisibility = true;
683
+ if (elm['s-ol']) {
684
+ // remove the original location comment
685
+ elm['s-ol'].remove();
686
+ }
687
+ else {
688
+ // it's possible that child nodes of the node
689
+ // that's being removed are slot nodes
690
+ putBackInOriginalLocation(elm, true);
691
+ }
692
+ }
693
+ // remove the vnode's element from the dom
694
+ elm.remove();
695
+ }
595
696
  }
596
697
  }
597
698
  };
@@ -708,6 +809,23 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
708
809
  newEndVnode = newCh[--newEndIdx];
709
810
  }
710
811
  else if (isSameVnode(oldStartVnode, newEndVnode)) {
812
+ // case: "Vnode moved right"
813
+ //
814
+ // We've found that the last node in our window on the new children is
815
+ // the same VNode as the _first_ node in our window on the old children
816
+ // we're dealing with now. Visually, this is the layout of these two
817
+ // nodes:
818
+ //
819
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
820
+ // ^^^^^^^^^^^
821
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
822
+ // ^^^^^^^^^^^^^
823
+ //
824
+ // In this situation we need to patch `newEndVnode` onto `oldStartVnode`
825
+ // and move the DOM element for `oldStartVnode`.
826
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
827
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
828
+ }
711
829
  patch(oldStartVnode, newEndVnode);
712
830
  // We need to move the element for `oldStartVnode` into a position which
713
831
  // will be appropriate for `newEndVnode`. For this we can use
@@ -731,6 +849,24 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
731
849
  newEndVnode = newCh[--newEndIdx];
732
850
  }
733
851
  else if (isSameVnode(oldEndVnode, newStartVnode)) {
852
+ // case: "Vnode moved left"
853
+ //
854
+ // We've found that the first node in our window on the new children is
855
+ // the same VNode as the _last_ node in our window on the old children.
856
+ // Visually, this is the layout of these two nodes:
857
+ //
858
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
859
+ // ^^^^^^^^^^^^^
860
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
861
+ // ^^^^^^^^^^^
862
+ //
863
+ // In this situation we need to patch `newStartVnode` onto `oldEndVnode`
864
+ // (which will handle updating any changed attributes, reconciling their
865
+ // children etc) but we also need to move the DOM node to which
866
+ // `oldEndVnode` corresponds.
867
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
868
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
869
+ }
734
870
  patch(oldEndVnode, newStartVnode);
735
871
  // We've already checked above if `oldStartVnode` and `newStartVnode` are
736
872
  // the same node, so since we're here we know that they are not. Thus we
@@ -765,7 +901,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
765
901
  elmToMove = oldCh[idxInOld];
766
902
  if (elmToMove.$tag$ !== newStartVnode.$tag$) {
767
903
  // the tag doesn't match so we'll need a new DOM element
768
- node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld);
904
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);
769
905
  }
770
906
  else {
771
907
  patch(elmToMove, newStartVnode);
@@ -781,13 +917,13 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
781
917
  // the key of the first new child OR the build is not using `key`
782
918
  // attributes at all. In either case we need to create a new element
783
919
  // for the new node.
784
- node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
920
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
785
921
  newStartVnode = newCh[++newStartIdx];
786
922
  }
787
923
  if (node) {
788
924
  // if we created a new node then handle inserting it to the DOM
789
925
  {
790
- oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
926
+ parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
791
927
  }
792
928
  }
793
929
  }
@@ -825,6 +961,9 @@ const isSameVnode = (leftVNode, rightVNode) => {
825
961
  // compare if two vnode to see if they're "technically" the same
826
962
  // need to have the same element tag, and same key to be the same
827
963
  if (leftVNode.$tag$ === rightVNode.$tag$) {
964
+ if (leftVNode.$tag$ === 'slot') {
965
+ return leftVNode.$name$ === rightVNode.$name$;
966
+ }
828
967
  // this will be set if components in the build have `key` attrs set on them
829
968
  {
830
969
  return leftVNode.$key$ === rightVNode.$key$;
@@ -832,6 +971,14 @@ const isSameVnode = (leftVNode, rightVNode) => {
832
971
  }
833
972
  return false;
834
973
  };
974
+ const referenceNode = (node) => {
975
+ // this node was relocated to a new location in the dom
976
+ // because of some other component's slot
977
+ // but we still have an html comment in place of where
978
+ // it's original location was according to it's original vdom
979
+ return (node && node['s-ol']) || node;
980
+ };
981
+ const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
835
982
  /**
836
983
  * Handle reconciling an outdated VNode with a new one which corresponds to
837
984
  * it. This function handles flushing updates to the DOM and reconciling the
@@ -844,10 +991,14 @@ const patch = (oldVNode, newVNode) => {
844
991
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
845
992
  const oldChildren = oldVNode.$children$;
846
993
  const newChildren = newVNode.$children$;
994
+ const tag = newVNode.$tag$;
847
995
  const text = newVNode.$text$;
996
+ let defaultHolder;
848
997
  if (text === null) {
849
998
  {
850
- {
999
+ if (tag === 'slot')
1000
+ ;
1001
+ else {
851
1002
  // either this is the first render of an element OR it's an update
852
1003
  // AND we already know it's possible it could have changed
853
1004
  // this updates the element's css classes, attrs, props, listeners, etc.
@@ -873,12 +1024,160 @@ const patch = (oldVNode, newVNode) => {
873
1024
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
874
1025
  }
875
1026
  }
1027
+ else if ((defaultHolder = elm['s-cr'])) {
1028
+ // this element has slotted content
1029
+ defaultHolder.parentNode.textContent = text;
1030
+ }
876
1031
  else if (oldVNode.$text$ !== text) {
877
1032
  // update the text content for the text only vnode
878
1033
  // and also only if the text is different than before
879
1034
  elm.data = text;
880
1035
  }
881
1036
  };
1037
+ const updateFallbackSlotVisibility = (elm) => {
1038
+ // tslint:disable-next-line: prefer-const
1039
+ const childNodes = elm.childNodes;
1040
+ let childNode;
1041
+ let i;
1042
+ let ilen;
1043
+ let j;
1044
+ let slotNameAttr;
1045
+ let nodeType;
1046
+ for (i = 0, ilen = childNodes.length; i < ilen; i++) {
1047
+ childNode = childNodes[i];
1048
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1049
+ if (childNode['s-sr']) {
1050
+ // this is a slot fallback node
1051
+ // get the slot name for this slot reference node
1052
+ slotNameAttr = childNode['s-sn'];
1053
+ // by default always show a fallback slot node
1054
+ // then hide it if there are other slots in the light dom
1055
+ childNode.hidden = false;
1056
+ for (j = 0; j < ilen; j++) {
1057
+ nodeType = childNodes[j].nodeType;
1058
+ if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
1059
+ // this sibling node is from a different component OR is a named fallback slot node
1060
+ if (nodeType === 1 /* NODE_TYPE.ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
1061
+ childNode.hidden = true;
1062
+ break;
1063
+ }
1064
+ }
1065
+ else {
1066
+ // this is a default fallback slot node
1067
+ // any element or text node (with content)
1068
+ // should hide the default fallback slot node
1069
+ if (nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1070
+ (nodeType === 3 /* NODE_TYPE.TextNode */ && childNodes[j].textContent.trim() !== '')) {
1071
+ childNode.hidden = true;
1072
+ break;
1073
+ }
1074
+ }
1075
+ }
1076
+ }
1077
+ // keep drilling down
1078
+ updateFallbackSlotVisibility(childNode);
1079
+ }
1080
+ }
1081
+ };
1082
+ const relocateNodes = [];
1083
+ const relocateSlotContent = (elm) => {
1084
+ // tslint:disable-next-line: prefer-const
1085
+ let childNode;
1086
+ let node;
1087
+ let hostContentNodes;
1088
+ let slotNameAttr;
1089
+ let relocateNodeData;
1090
+ let j;
1091
+ let i = 0;
1092
+ const childNodes = elm.childNodes;
1093
+ const ilen = childNodes.length;
1094
+ for (; i < ilen; i++) {
1095
+ childNode = childNodes[i];
1096
+ if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
1097
+ // first got the content reference comment node
1098
+ // then we got it's parent, which is where all the host content is in now
1099
+ hostContentNodes = node.parentNode.childNodes;
1100
+ slotNameAttr = childNode['s-sn'];
1101
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
1102
+ node = hostContentNodes[j];
1103
+ if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
1104
+ // let's do some relocating to its new home
1105
+ // but never relocate a content reference node
1106
+ // that is suppose to always represent the original content location
1107
+ if (isNodeLocatedInSlot(node, slotNameAttr)) {
1108
+ // it's possible we've already decided to relocate this node
1109
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1110
+ // made some changes to slots
1111
+ // let's make sure we also double check
1112
+ // fallbacks are correctly hidden or shown
1113
+ checkSlotFallbackVisibility = true;
1114
+ node['s-sn'] = node['s-sn'] || slotNameAttr;
1115
+ if (relocateNodeData) {
1116
+ // previously we never found a slot home for this node
1117
+ // but turns out we did, so let's remember it now
1118
+ relocateNodeData.$slotRefNode$ = childNode;
1119
+ }
1120
+ else {
1121
+ // add to our list of nodes to relocate
1122
+ relocateNodes.push({
1123
+ $slotRefNode$: childNode,
1124
+ $nodeToRelocate$: node,
1125
+ });
1126
+ }
1127
+ if (node['s-sr']) {
1128
+ relocateNodes.map((relocateNode) => {
1129
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
1130
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1131
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
1132
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1133
+ }
1134
+ }
1135
+ });
1136
+ }
1137
+ }
1138
+ else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1139
+ // so far this element does not have a slot home, not setting slotRefNode on purpose
1140
+ // if we never find a home for this element then we'll need to hide it
1141
+ relocateNodes.push({
1142
+ $nodeToRelocate$: node,
1143
+ });
1144
+ }
1145
+ }
1146
+ }
1147
+ }
1148
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1149
+ relocateSlotContent(childNode);
1150
+ }
1151
+ }
1152
+ };
1153
+ const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
1154
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1155
+ if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
1156
+ return true;
1157
+ }
1158
+ if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
1159
+ return true;
1160
+ }
1161
+ return false;
1162
+ }
1163
+ if (nodeToRelocate['s-sn'] === slotNameAttr) {
1164
+ return true;
1165
+ }
1166
+ return slotNameAttr === '';
1167
+ };
1168
+ /**
1169
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by
1170
+ * calling them with `null`. This signals that the DOM element corresponding to
1171
+ * the VDom node has been removed from the DOM.
1172
+ *
1173
+ * @param vNode a virtual DOM node
1174
+ */
1175
+ const nullifyVNodeRefs = (vNode) => {
1176
+ {
1177
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1178
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1179
+ }
1180
+ };
882
1181
  /**
883
1182
  * The main entry point for Stencil's virtual DOM-based rendering engine
884
1183
  *
@@ -893,6 +1192,7 @@ const patch = (oldVNode, newVNode) => {
893
1192
  */
894
1193
  const renderVdom = (hostRef, renderFnResults) => {
895
1194
  const hostElm = hostRef.$hostElement$;
1195
+ const cmpMeta = hostRef.$cmpMeta$;
896
1196
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
897
1197
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
898
1198
  hostTagName = hostElm.tagName;
@@ -903,8 +1203,90 @@ const renderVdom = (hostRef, renderFnResults) => {
903
1203
  {
904
1204
  scopeId = hostElm['s-sc'];
905
1205
  }
1206
+ {
1207
+ contentRef = hostElm['s-cr'];
1208
+ useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1209
+ // always reset
1210
+ checkSlotFallbackVisibility = false;
1211
+ }
906
1212
  // synchronous patch
907
1213
  patch(oldVNode, rootVnode);
1214
+ {
1215
+ // while we're moving nodes around existing nodes, temporarily disable
1216
+ // the disconnectCallback from working
1217
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1218
+ if (checkSlotRelocate) {
1219
+ relocateSlotContent(rootVnode.$elm$);
1220
+ let relocateData;
1221
+ let nodeToRelocate;
1222
+ let orgLocationNode;
1223
+ let parentNodeRef;
1224
+ let insertBeforeNode;
1225
+ let refNode;
1226
+ let i = 0;
1227
+ for (; i < relocateNodes.length; i++) {
1228
+ relocateData = relocateNodes[i];
1229
+ nodeToRelocate = relocateData.$nodeToRelocate$;
1230
+ if (!nodeToRelocate['s-ol']) {
1231
+ // add a reference node marking this node's original location
1232
+ // keep a reference to this node for later lookups
1233
+ orgLocationNode =
1234
+ doc.createTextNode('');
1235
+ orgLocationNode['s-nr'] = nodeToRelocate;
1236
+ nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
1237
+ }
1238
+ }
1239
+ for (i = 0; i < relocateNodes.length; i++) {
1240
+ relocateData = relocateNodes[i];
1241
+ nodeToRelocate = relocateData.$nodeToRelocate$;
1242
+ if (relocateData.$slotRefNode$) {
1243
+ // by default we're just going to insert it directly
1244
+ // after the slot reference node
1245
+ parentNodeRef = relocateData.$slotRefNode$.parentNode;
1246
+ insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
1247
+ orgLocationNode = nodeToRelocate['s-ol'];
1248
+ while ((orgLocationNode = orgLocationNode.previousSibling)) {
1249
+ refNode = orgLocationNode['s-nr'];
1250
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1251
+ refNode = refNode.nextSibling;
1252
+ if (!refNode || !refNode['s-nr']) {
1253
+ insertBeforeNode = refNode;
1254
+ break;
1255
+ }
1256
+ }
1257
+ }
1258
+ if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
1259
+ nodeToRelocate.nextSibling !== insertBeforeNode) {
1260
+ // we've checked that it's worth while to relocate
1261
+ // since that the node to relocate
1262
+ // has a different next sibling or parent relocated
1263
+ if (nodeToRelocate !== insertBeforeNode) {
1264
+ if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
1265
+ // probably a component in the index.html that doesn't have it's hostname set
1266
+ nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
1267
+ }
1268
+ // add it back to the dom but in its new home
1269
+ parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1270
+ }
1271
+ }
1272
+ }
1273
+ else {
1274
+ // this node doesn't have a slot home to go to, so let's hide it
1275
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1276
+ nodeToRelocate.hidden = true;
1277
+ }
1278
+ }
1279
+ }
1280
+ }
1281
+ if (checkSlotFallbackVisibility) {
1282
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1283
+ }
1284
+ // done moving nodes around
1285
+ // allow the disconnect callback to work again
1286
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1287
+ // always reset
1288
+ relocateNodes.length = 0;
1289
+ }
908
1290
  };
909
1291
  const attachToAncestor = (hostRef, ancestorComponent) => {
910
1292
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
@@ -926,27 +1308,83 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
926
1308
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
927
1309
  return writeTask(dispatch) ;
928
1310
  };
1311
+ /**
1312
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
1313
+ * component lifecycle methods like `componentWillLoad` as well as
1314
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
1315
+ *
1316
+ * @param hostRef a reference to a host DOM node
1317
+ * @param isInitialLoad whether we're on the initial load or not
1318
+ * @returns an empty Promise which is used to enqueue a series of operations for
1319
+ * the component
1320
+ */
929
1321
  const dispatchHooks = (hostRef, isInitialLoad) => {
930
1322
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
931
1323
  const instance = hostRef.$lazyInstance$ ;
932
- let promise;
1324
+ // We're going to use this variable together with `enqueue` to implement a
1325
+ // little promise-based queue. We start out with it `undefined`. When we add
1326
+ // the first function to the queue we'll set this variable to be that
1327
+ // function's return value. When we attempt to add subsequent values to the
1328
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
1329
+ // the new function off of that `Promise` using `.then()`. This will give our
1330
+ // queue two nice properties:
1331
+ //
1332
+ // 1. If all functions added to the queue are synchronous they'll be called
1333
+ // synchronously right away.
1334
+ // 2. If all functions added to the queue are asynchronous they'll all be
1335
+ // called in order after `dispatchHooks` exits.
1336
+ let maybePromise;
933
1337
  if (isInitialLoad) {
934
1338
  {
935
1339
  hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
936
1340
  if (hostRef.$queuedListeners$) {
937
1341
  hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
938
- hostRef.$queuedListeners$ = null;
1342
+ hostRef.$queuedListeners$ = undefined;
939
1343
  }
940
1344
  }
941
1345
  {
942
- promise = safeCall(instance, 'componentWillLoad');
1346
+ // If `componentWillLoad` returns a `Promise` then we want to wait on
1347
+ // whatever's going on in that `Promise` before we launch into
1348
+ // rendering the component, doing other lifecycle stuff, etc. So
1349
+ // in that case we assign the returned promise to the variable we
1350
+ // declared above to hold a possible 'queueing' Promise
1351
+ maybePromise = safeCall(instance, 'componentWillLoad');
943
1352
  }
944
1353
  }
945
1354
  endSchedule();
946
- return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
1355
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
947
1356
  };
1357
+ /**
1358
+ * This function uses a Promise to implement a simple first-in, first-out queue
1359
+ * of functions to be called.
1360
+ *
1361
+ * The queue is ordered on the basis of the first argument. If it's
1362
+ * `undefined`, then nothing is on the queue yet, so the provided function can
1363
+ * be called synchronously (although note that this function may return a
1364
+ * `Promise`). The idea is that then the return value of that enqueueing
1365
+ * operation is kept around, so that if it was a `Promise` then subsequent
1366
+ * functions can be enqueued by calling this function again with that `Promise`
1367
+ * as the first argument.
1368
+ *
1369
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
1370
+ * @param fn a function to enqueue
1371
+ * @returns either a `Promise` or the return value of the provided function
1372
+ */
1373
+ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
1374
+ /**
1375
+ * Check that a value is a `Promise`. To check, we first see if the value is an
1376
+ * instance of the `Promise` global. In a few circumstances, in particular if
1377
+ * the global has been overwritten, this is could be misleading, so we also do
1378
+ * a little 'duck typing' check to see if the `.then` property of the value is
1379
+ * defined and a function.
1380
+ *
1381
+ * @param maybePromise it might be a promise!
1382
+ * @returns whether it is or not
1383
+ */
1384
+ const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1385
+ (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
948
1386
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
949
- // updateComponent
1387
+ var _a;
950
1388
  const elm = hostRef.$hostElement$;
951
1389
  const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
952
1390
  const rc = elm['s-rc'];
@@ -973,7 +1411,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
973
1411
  endRender();
974
1412
  endUpdate();
975
1413
  {
976
- const childrenPromises = elm['s-p'];
1414
+ const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
977
1415
  const postUpdate = () => postUpdateComponent(hostRef);
978
1416
  if (childrenPromises.length === 0) {
979
1417
  postUpdate();
@@ -1086,9 +1524,6 @@ const safeCall = (instance, method, arg) => {
1086
1524
  }
1087
1525
  return undefined;
1088
1526
  };
1089
- const then = (promise, thenFn) => {
1090
- return promise && promise.then ? promise.then(thenFn) : thenFn();
1091
- };
1092
1527
  const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1093
1528
  ;
1094
1529
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
@@ -1239,9 +1674,9 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1239
1674
  const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1240
1675
  // initializeComponent
1241
1676
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1677
+ // Let the runtime know that the component has been initialized
1678
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1242
1679
  {
1243
- // we haven't initialized this element yet
1244
- hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1245
1680
  // lazy loaded components
1246
1681
  // request the component's implementation to be
1247
1682
  // wired up with the host element
@@ -1295,7 +1730,7 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1295
1730
  if (!styles.has(scopeId)) {
1296
1731
  const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
1297
1732
  if (cmpMeta.$flags$ & 8 /* CMP_FLAGS.needsShadowDomShim */) {
1298
- style = await Promise.resolve().then(function () { return require('./shadow-css-388a8a25.js'); }).then((m) => m.scopeCss(style, scopeId, false));
1733
+ style = await Promise.resolve().then(function () { return require('./shadow-css-2e025b8c.js'); }).then((m) => m.scopeCss(style, scopeId, false));
1299
1734
  }
1300
1735
  registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
1301
1736
  endRegisterStyles();
@@ -1331,6 +1766,16 @@ const connectedCallback = (elm) => {
1331
1766
  if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
1332
1767
  // first time this component has connected
1333
1768
  hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
1769
+ {
1770
+ // initUpdate
1771
+ // if the slot polyfill is required we'll need to put some nodes
1772
+ // in here to act as original content anchors as we move nodes around
1773
+ // host element has been connected to the DOM
1774
+ if ((// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
1775
+ cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
1776
+ setContentReference(elm);
1777
+ }
1778
+ }
1334
1779
  {
1335
1780
  // find the first ancestor component (if there is one) and register
1336
1781
  // this component as one of the actively loading child components for its ancestor
@@ -1372,6 +1817,17 @@ const connectedCallback = (elm) => {
1372
1817
  endConnected();
1373
1818
  }
1374
1819
  };
1820
+ const setContentReference = (elm) => {
1821
+ // only required when we're NOT using native shadow dom (slot)
1822
+ // or this browser doesn't support native shadow dom
1823
+ // and this host element was NOT created with SSR
1824
+ // let's pick out the inner content for slot projection
1825
+ // create a node to represent where the original
1826
+ // content was first placed, which is useful later on
1827
+ const contentRefElm = (elm['s-cr'] = doc.createComment(''));
1828
+ contentRefElm['s-cn'] = true;
1829
+ elm.insertBefore(contentRefElm, elm.firstChild);
1830
+ };
1375
1831
  const disconnectedCallback = (elm) => {
1376
1832
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1377
1833
  const hostRef = getHostRef(elm);
@@ -1713,4 +2169,4 @@ exports.registerInstance = registerInstance;
1713
2169
  exports.setNonce = setNonce;
1714
2170
  exports.win = win;
1715
2171
 
1716
- //# sourceMappingURL=index-5c1a15c7.js.map
2172
+ //# sourceMappingURL=index-965985fa.js.map