@roadtrip/components 3.11.0 → 3.11.2

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 (635) hide show
  1. package/dist/cjs/{focus-visible-6771892b.js → focus-visible-6f34b3f4.js} +1 -1
  2. package/dist/cjs/focus-visible-6f34b3f4.js.map +1 -0
  3. package/dist/cjs/{index-e4bd5b5f.js → index-12592729.js} +411 -207
  4. package/dist/cjs/index-12592729.js.map +1 -0
  5. package/dist/cjs/{index-fd07207a.js → index-fb57f684.js} +1 -1
  6. package/dist/cjs/index-fb57f684.js.map +1 -0
  7. package/dist/cjs/index.cjs.js +3 -3
  8. package/dist/cjs/loader.cjs.js +3 -29
  9. package/dist/cjs/loader.cjs.js.map +1 -1
  10. package/dist/cjs/{polyfill-9453e116.js → polyfill-b1fff766.js} +2 -2
  11. package/dist/cjs/polyfill-b1fff766.js.map +1 -0
  12. package/dist/cjs/road-accordion.cjs.entry.js +3 -3
  13. package/dist/cjs/road-accordion.cjs.entry.js.map +1 -1
  14. package/dist/cjs/road-alert.cjs.entry.js +1 -1
  15. package/dist/cjs/road-alert.cjs.entry.js.map +1 -1
  16. package/dist/cjs/road-area-code.cjs.entry.js +9 -13
  17. package/dist/cjs/road-area-code.cjs.entry.js.map +1 -1
  18. package/dist/cjs/road-autocomplete.cjs.entry.js +1 -1
  19. package/dist/cjs/road-autocomplete.cjs.entry.js.map +1 -1
  20. package/dist/cjs/road-avatar.cjs.entry.js +1 -1
  21. package/dist/cjs/road-avatar.cjs.entry.js.map +1 -1
  22. package/dist/cjs/road-badge_14.cjs.entry.js +7 -12
  23. package/dist/cjs/road-badge_14.cjs.entry.js.map +1 -1
  24. package/dist/cjs/road-banner.cjs.entry.js +2 -2
  25. package/dist/cjs/road-banner.cjs.entry.js.map +1 -1
  26. package/dist/cjs/road-button-floating.cjs.entry.js +2 -2
  27. package/dist/cjs/road-button-floating.cjs.entry.js.map +1 -1
  28. package/dist/cjs/road-card.cjs.entry.js +1 -1
  29. package/dist/cjs/road-card.cjs.entry.js.map +1 -1
  30. package/dist/cjs/road-carousel-item.cjs.entry.js +1 -1
  31. package/dist/cjs/road-carousel-item.cjs.entry.js.map +1 -1
  32. package/dist/cjs/road-carousel.cjs.entry.js +2 -2
  33. package/dist/cjs/road-carousel.cjs.entry.js.map +1 -1
  34. package/dist/cjs/road-checkbox.cjs.entry.js +3 -3
  35. package/dist/cjs/road-checkbox.cjs.entry.js.map +1 -1
  36. package/dist/cjs/road-chip.cjs.entry.js +3 -3
  37. package/dist/cjs/road-chip.cjs.entry.js.map +1 -1
  38. package/dist/cjs/road-collapse.cjs.entry.js +1 -1
  39. package/dist/cjs/road-collapse.cjs.entry.js.map +1 -1
  40. package/dist/cjs/road-dialog.cjs.entry.js +2 -2
  41. package/dist/cjs/road-dialog.cjs.entry.js.map +1 -1
  42. package/dist/cjs/road-dropdown.cjs.entry.js +1 -1
  43. package/dist/cjs/road-dropdown.cjs.entry.js.map +1 -1
  44. package/dist/cjs/road-duration.cjs.entry.js +1 -1
  45. package/dist/cjs/road-duration.cjs.entry.js.map +1 -1
  46. package/dist/cjs/road-flap.cjs.entry.js +1 -1
  47. package/dist/cjs/road-flap.cjs.entry.js.map +1 -1
  48. package/dist/cjs/road-global-navigation.cjs.entry.js +2 -2
  49. package/dist/cjs/road-global-navigation.cjs.entry.js.map +1 -1
  50. package/dist/cjs/road-illustration.cjs.entry.js +2 -2
  51. package/dist/cjs/road-illustration.cjs.entry.js.map +1 -1
  52. package/dist/cjs/road-img.cjs.entry.js +1 -1
  53. package/dist/cjs/road-img.cjs.entry.js.map +1 -1
  54. package/dist/cjs/road-modal.cjs.entry.js +2 -2
  55. package/dist/cjs/road-modal.cjs.entry.js.map +1 -1
  56. package/dist/cjs/road-navbar-item.cjs.entry.js +1 -1
  57. package/dist/cjs/road-navbar-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/road-navbar.cjs.entry.js +2 -2
  59. package/dist/cjs/road-navbar.cjs.entry.js.map +1 -1
  60. package/dist/cjs/road-phone-number-input.cjs.entry.js +22 -16
  61. package/dist/cjs/road-phone-number-input.cjs.entry.js.map +1 -1
  62. package/dist/cjs/road-plate-number.cjs.entry.js +2 -2
  63. package/dist/cjs/road-plate-number.cjs.entry.js.map +1 -1
  64. package/dist/cjs/road-profil-dropdown.cjs.entry.js +1 -1
  65. package/dist/cjs/road-profil-dropdown.cjs.entry.js.map +1 -1
  66. package/dist/cjs/road-progress-indicator-horizontal.cjs.entry.js +1 -1
  67. package/dist/cjs/road-progress-indicator-horizontal.cjs.entry.js.map +1 -1
  68. package/dist/cjs/road-progress-indicator-vertical-item.cjs.entry.js +1 -1
  69. package/dist/cjs/road-progress-indicator-vertical-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/road-progress-indicator-vertical.cjs.entry.js +1 -1
  71. package/dist/cjs/road-progress-indicator-vertical.cjs.entry.js.map +1 -1
  72. package/dist/cjs/road-progress-tracker-item.cjs.entry.js +1 -1
  73. package/dist/cjs/road-progress-tracker-item.cjs.entry.js.map +1 -1
  74. package/dist/cjs/road-progress-tracker.cjs.entry.js +1 -1
  75. package/dist/cjs/road-progress-tracker.cjs.entry.js.map +1 -1
  76. package/dist/cjs/road-progress.cjs.entry.js +1 -1
  77. package/dist/cjs/road-progress.cjs.entry.js.map +1 -1
  78. package/dist/cjs/road-radio-group.cjs.entry.js +1 -1
  79. package/dist/cjs/road-radio-group.cjs.entry.js.map +1 -1
  80. package/dist/cjs/road-radio.cjs.entry.js +2 -2
  81. package/dist/cjs/road-radio.cjs.entry.js.map +1 -1
  82. package/dist/cjs/road-range.cjs.entry.js +2 -2
  83. package/dist/cjs/road-range.cjs.entry.js.map +1 -1
  84. package/dist/cjs/road-rating.cjs.entry.js +2 -2
  85. package/dist/cjs/road-rating.cjs.entry.js.map +1 -1
  86. package/dist/cjs/road-segmented-button-bar.cjs.entry.js +2 -2
  87. package/dist/cjs/road-segmented-button-bar.cjs.entry.js.map +1 -1
  88. package/dist/cjs/road-segmented-button.cjs.entry.js +1 -1
  89. package/dist/cjs/road-segmented-button.cjs.entry.js.map +1 -1
  90. package/dist/cjs/road-segmented-buttons.cjs.entry.js +1 -1
  91. package/dist/cjs/road-segmented-buttons.cjs.entry.js.map +1 -1
  92. package/dist/cjs/road-select-filter.cjs.entry.js +1 -1
  93. package/dist/cjs/road-select-filter.cjs.entry.js.map +1 -1
  94. package/dist/cjs/road-select.cjs.entry.js +2 -2
  95. package/dist/cjs/road-select.cjs.entry.js.map +1 -1
  96. package/dist/cjs/road-skeleton.cjs.entry.js +1 -1
  97. package/dist/cjs/road-skeleton.cjs.entry.js.map +1 -1
  98. package/dist/cjs/road-spinner.cjs.entry.js +1 -1
  99. package/dist/cjs/road-spinner.cjs.entry.js.map +1 -1
  100. package/dist/cjs/road-switch.cjs.entry.js +2 -2
  101. package/dist/cjs/road-switch.cjs.entry.js.map +1 -1
  102. package/dist/cjs/road-tab-bar.cjs.entry.js +2 -2
  103. package/dist/cjs/road-tab-bar.cjs.entry.js.map +1 -1
  104. package/dist/cjs/road-tab-button.cjs.entry.js +1 -1
  105. package/dist/cjs/road-tab-button.cjs.entry.js.map +1 -1
  106. package/dist/cjs/road-tab.cjs.entry.js +1 -1
  107. package/dist/cjs/road-tab.cjs.entry.js.map +1 -1
  108. package/dist/cjs/road-table.cjs.entry.js +1 -1
  109. package/dist/cjs/road-table.cjs.entry.js.map +1 -1
  110. package/dist/cjs/road-tabs.cjs.entry.js +1 -1
  111. package/dist/cjs/road-tabs.cjs.entry.js.map +1 -1
  112. package/dist/cjs/road-tag.cjs.entry.js +2 -2
  113. package/dist/cjs/road-tag.cjs.entry.js.map +1 -1
  114. package/dist/cjs/road-text.cjs.entry.js +1 -1
  115. package/dist/cjs/road-text.cjs.entry.js.map +1 -1
  116. package/dist/cjs/road-textarea.cjs.entry.js +1 -1
  117. package/dist/cjs/road-textarea.cjs.entry.js.map +1 -1
  118. package/dist/cjs/road-toast.cjs.entry.js +2 -2
  119. package/dist/cjs/road-toast.cjs.entry.js.map +1 -1
  120. package/dist/cjs/road-toggle.cjs.entry.js +2 -2
  121. package/dist/cjs/road-toggle.cjs.entry.js.map +1 -1
  122. package/dist/cjs/road-toolbar-title-page.cjs.entry.js +1 -1
  123. package/dist/cjs/road-toolbar-title-page.cjs.entry.js.map +1 -1
  124. package/dist/cjs/road-toolbar-title.cjs.entry.js +1 -1
  125. package/dist/cjs/road-toolbar-title.cjs.entry.js.map +1 -1
  126. package/dist/cjs/road-tooltip.cjs.entry.js +1 -1
  127. package/dist/cjs/road-tooltip.cjs.entry.js.map +1 -1
  128. package/dist/cjs/roadtrip.cjs.js +6 -103
  129. package/dist/cjs/roadtrip.cjs.js.map +1 -1
  130. package/dist/cjs/{utils-5203d152.js → utils-8db00648.js} +2 -2
  131. package/dist/cjs/utils-8db00648.js.map +1 -0
  132. package/dist/cjs/{utils-a450bad3.js → utils-90ef554a.js} +2 -2
  133. package/dist/cjs/utils-90ef554a.js.map +1 -0
  134. package/dist/collection/collection-manifest.json +74 -74
  135. package/dist/collection/components/accordion/accordion.js +3 -3
  136. package/dist/collection/components/alert/alert.js +3 -2
  137. package/dist/collection/components/alert/alert.js.map +1 -1
  138. package/dist/collection/components/area-code/area-code.js +19 -38
  139. package/dist/collection/components/area-code/area-code.js.map +1 -1
  140. package/dist/collection/components/autocomplete/autocomplete.js +3 -2
  141. package/dist/collection/components/autocomplete/autocomplete.js.map +1 -1
  142. package/dist/collection/components/avatar/avatar.js +1 -1
  143. package/dist/collection/components/badge/badge.js +3 -2
  144. package/dist/collection/components/badge/badge.js.map +1 -1
  145. package/dist/collection/components/banner/banner.js +4 -3
  146. package/dist/collection/components/banner/banner.js.map +1 -1
  147. package/dist/collection/components/button/button.js +2 -2
  148. package/dist/collection/components/button-floating/button-floating.js +2 -2
  149. package/dist/collection/components/card/card.js +1 -1
  150. package/dist/collection/components/carousel/carousel.js +34 -18
  151. package/dist/collection/components/carousel/carousel.js.map +1 -1
  152. package/dist/collection/components/carousel-item/carousel-item.js +1 -1
  153. package/dist/collection/components/checkbox/checkbox.js +3 -3
  154. package/dist/collection/components/chip/chip.js +3 -3
  155. package/dist/collection/components/col/col.js +1 -1
  156. package/dist/collection/components/collapse/collapse.js +1 -1
  157. package/dist/collection/components/counter/counter.js +1 -1
  158. package/dist/collection/components/dialog/dialog.js +8 -5
  159. package/dist/collection/components/dialog/dialog.js.map +1 -1
  160. package/dist/collection/components/drawer/{drawer.light.css → drawer.css} +0 -1
  161. package/dist/collection/components/drawer/drawer.js +11 -11
  162. package/dist/collection/components/drawer/drawer.js.map +1 -1
  163. package/dist/collection/components/drawer/drawer.stories.js +6 -7
  164. package/dist/collection/components/dropdown/dropdown.js +1 -1
  165. package/dist/collection/components/duration/duration.js +5 -3
  166. package/dist/collection/components/duration/duration.js.map +1 -1
  167. package/dist/collection/components/flap/flap.js +1 -1
  168. package/dist/collection/components/global-navigation/global-navigation.js +2 -2
  169. package/dist/collection/components/grid/grid.js +1 -1
  170. package/dist/collection/components/icon/icon.js +5 -4
  171. package/dist/collection/components/icon/icon.js.map +1 -1
  172. package/dist/collection/components/icon/request.js +1 -1
  173. package/dist/collection/components/icon/svg/vehicle-car-search-color.svg +1 -1
  174. package/dist/collection/components/icon/utils.js +1 -1
  175. package/dist/collection/components/icon/validate.js +1 -1
  176. package/dist/collection/components/illustration/illustration.js +3 -3
  177. package/dist/collection/components/illustration/request.js +1 -1
  178. package/dist/collection/components/illustration/utils.js +1 -1
  179. package/dist/collection/components/illustration/validate.js +1 -1
  180. package/dist/collection/components/img/img.js +1 -1
  181. package/dist/collection/components/input/input.js +9 -5
  182. package/dist/collection/components/input/input.js.map +1 -1
  183. package/dist/collection/components/input-group/input-group.js +1 -1
  184. package/dist/collection/components/item/item.js +2 -2
  185. package/dist/collection/components/label/label.js +1 -1
  186. package/dist/collection/components/list/list.js +1 -1
  187. package/dist/collection/components/modal/modal.js +6 -4
  188. package/dist/collection/components/modal/modal.js.map +1 -1
  189. package/dist/collection/components/navbar/navbar.js +2 -2
  190. package/dist/collection/components/navbar-item/navbar-item.js +1 -1
  191. package/dist/collection/components/phone-number-input/phone-number-input.js +27 -19
  192. package/dist/collection/components/phone-number-input/phone-number-input.js.map +1 -1
  193. package/dist/collection/components/plate-number/plate-number.js +6 -4
  194. package/dist/collection/components/plate-number/plate-number.js.map +1 -1
  195. package/dist/collection/components/profil-dropdown/profil-dropdown.js +1 -1
  196. package/dist/collection/components/progress/progress.js +1 -1
  197. package/dist/collection/components/progress-indicator-horizontal/progress-indicator-horizontal.js +1 -1
  198. package/dist/collection/components/progress-indicator-vertical/progress-indicator-vertical.js +1 -1
  199. package/dist/collection/components/progress-indicator-vertical-item/progress-indicator-vertical-item.js +1 -1
  200. package/dist/collection/components/progress-tracker/progress-tracker.js +1 -1
  201. package/dist/collection/components/progress-tracker-item/progress-tracker-item.js +1 -1
  202. package/dist/collection/components/radio/radio.js +2 -2
  203. package/dist/collection/components/radio-group/radio-group.js +1 -1
  204. package/dist/collection/components/range/range.js +2 -2
  205. package/dist/collection/components/rating/rating.js +2 -2
  206. package/dist/collection/components/row/row.js +1 -1
  207. package/dist/collection/components/segmented-button/segmented-button.js +1 -1
  208. package/dist/collection/components/segmented-button-bar/segmented-button-bar.js +2 -2
  209. package/dist/collection/components/segmented-buttons/segmented-buttons.js +11 -6
  210. package/dist/collection/components/segmented-buttons/segmented-buttons.js.map +1 -1
  211. package/dist/collection/components/select/select.css +7 -3
  212. package/dist/collection/components/select/select.js +3 -2
  213. package/dist/collection/components/select/select.js.map +1 -1
  214. package/dist/collection/components/select-filter/select-filter.js +4 -3
  215. package/dist/collection/components/select-filter/select-filter.js.map +1 -1
  216. package/dist/collection/components/skeleton/skeleton.js +1 -1
  217. package/dist/collection/components/spinner/spinner.js +1 -1
  218. package/dist/collection/components/switch/switch.js +4 -3
  219. package/dist/collection/components/switch/switch.js.map +1 -1
  220. package/dist/collection/components/tab/tab.js +3 -2
  221. package/dist/collection/components/tab/tab.js.map +1 -1
  222. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  223. package/dist/collection/components/tab-button/tab-button.js +1 -1
  224. package/dist/collection/components/table/table.js +1 -1
  225. package/dist/collection/components/tabs/tabs.js +11 -6
  226. package/dist/collection/components/tabs/tabs.js.map +1 -1
  227. package/dist/collection/components/tag/tag.js +2 -2
  228. package/dist/collection/components/text/text.js +1 -1
  229. package/dist/collection/components/textarea/textarea.js +5 -3
  230. package/dist/collection/components/textarea/textarea.js.map +1 -1
  231. package/dist/collection/components/toast/toast.js +8 -5
  232. package/dist/collection/components/toast/toast.js.map +1 -1
  233. package/dist/collection/components/toggle/toggle.js +4 -3
  234. package/dist/collection/components/toggle/toggle.js.map +1 -1
  235. package/dist/collection/components/toolbar/toolbar.js +1 -1
  236. package/dist/collection/components/toolbar-title/toolbar-title.js +1 -1
  237. package/dist/collection/components/toolbar-title-page/toolbar-title-page.js +1 -1
  238. package/dist/collection/components/tooltip/tooltip.js +5 -3
  239. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  240. package/dist/collection/global/app.js +1 -5
  241. package/dist/collection/global/app.js.map +1 -1
  242. package/dist/esm/{focus-visible-75a2ea2a.js → focus-visible-32bc70bb.js} +1 -1
  243. package/dist/esm/focus-visible-32bc70bb.js.map +1 -0
  244. package/dist/esm/{index-4b484f35.js → index-52302079.js} +412 -202
  245. package/dist/esm/index-52302079.js.map +1 -0
  246. package/dist/esm/{index-8f45025b.js → index-891decf5.js} +1 -1
  247. package/dist/esm/index-891decf5.js.map +1 -0
  248. package/dist/esm/index.js +3 -3
  249. package/dist/esm/loader.js +4 -30
  250. package/dist/esm/loader.js.map +1 -1
  251. package/dist/esm/polyfill-dc7c89b2.js +7 -0
  252. package/dist/esm/polyfill-dc7c89b2.js.map +1 -0
  253. package/dist/esm/road-accordion.entry.js +3 -3
  254. package/dist/esm/road-accordion.entry.js.map +1 -1
  255. package/dist/esm/road-alert.entry.js +1 -1
  256. package/dist/esm/road-alert.entry.js.map +1 -1
  257. package/dist/esm/road-area-code.entry.js +9 -13
  258. package/dist/esm/road-area-code.entry.js.map +1 -1
  259. package/dist/esm/road-autocomplete.entry.js +1 -1
  260. package/dist/esm/road-autocomplete.entry.js.map +1 -1
  261. package/dist/esm/road-avatar.entry.js +1 -1
  262. package/dist/esm/road-avatar.entry.js.map +1 -1
  263. package/dist/esm/road-badge_14.entry.js +7 -12
  264. package/dist/esm/road-badge_14.entry.js.map +1 -1
  265. package/dist/esm/road-banner.entry.js +2 -2
  266. package/dist/esm/road-banner.entry.js.map +1 -1
  267. package/dist/esm/road-button-floating.entry.js +2 -2
  268. package/dist/esm/road-button-floating.entry.js.map +1 -1
  269. package/dist/esm/road-card.entry.js +1 -1
  270. package/dist/esm/road-card.entry.js.map +1 -1
  271. package/dist/esm/road-carousel-item.entry.js +1 -1
  272. package/dist/esm/road-carousel-item.entry.js.map +1 -1
  273. package/dist/esm/road-carousel.entry.js +2 -2
  274. package/dist/esm/road-carousel.entry.js.map +1 -1
  275. package/dist/esm/road-checkbox.entry.js +3 -3
  276. package/dist/esm/road-checkbox.entry.js.map +1 -1
  277. package/dist/esm/road-chip.entry.js +3 -3
  278. package/dist/esm/road-chip.entry.js.map +1 -1
  279. package/dist/esm/road-collapse.entry.js +1 -1
  280. package/dist/esm/road-collapse.entry.js.map +1 -1
  281. package/dist/esm/road-dialog.entry.js +2 -2
  282. package/dist/esm/road-dialog.entry.js.map +1 -1
  283. package/dist/esm/road-dropdown.entry.js +1 -1
  284. package/dist/esm/road-dropdown.entry.js.map +1 -1
  285. package/dist/esm/road-duration.entry.js +1 -1
  286. package/dist/esm/road-duration.entry.js.map +1 -1
  287. package/dist/esm/road-flap.entry.js +1 -1
  288. package/dist/esm/road-flap.entry.js.map +1 -1
  289. package/dist/esm/road-global-navigation.entry.js +2 -2
  290. package/dist/esm/road-global-navigation.entry.js.map +1 -1
  291. package/dist/esm/road-illustration.entry.js +2 -2
  292. package/dist/esm/road-illustration.entry.js.map +1 -1
  293. package/dist/esm/road-img.entry.js +1 -1
  294. package/dist/esm/road-img.entry.js.map +1 -1
  295. package/dist/esm/road-modal.entry.js +2 -2
  296. package/dist/esm/road-modal.entry.js.map +1 -1
  297. package/dist/esm/road-navbar-item.entry.js +1 -1
  298. package/dist/esm/road-navbar-item.entry.js.map +1 -1
  299. package/dist/esm/road-navbar.entry.js +2 -2
  300. package/dist/esm/road-navbar.entry.js.map +1 -1
  301. package/dist/esm/road-phone-number-input.entry.js +22 -16
  302. package/dist/esm/road-phone-number-input.entry.js.map +1 -1
  303. package/dist/esm/road-plate-number.entry.js +2 -2
  304. package/dist/esm/road-plate-number.entry.js.map +1 -1
  305. package/dist/esm/road-profil-dropdown.entry.js +1 -1
  306. package/dist/esm/road-profil-dropdown.entry.js.map +1 -1
  307. package/dist/esm/road-progress-indicator-horizontal.entry.js +1 -1
  308. package/dist/esm/road-progress-indicator-horizontal.entry.js.map +1 -1
  309. package/dist/esm/road-progress-indicator-vertical-item.entry.js +1 -1
  310. package/dist/esm/road-progress-indicator-vertical-item.entry.js.map +1 -1
  311. package/dist/esm/road-progress-indicator-vertical.entry.js +1 -1
  312. package/dist/esm/road-progress-indicator-vertical.entry.js.map +1 -1
  313. package/dist/esm/road-progress-tracker-item.entry.js +1 -1
  314. package/dist/esm/road-progress-tracker-item.entry.js.map +1 -1
  315. package/dist/esm/road-progress-tracker.entry.js +1 -1
  316. package/dist/esm/road-progress-tracker.entry.js.map +1 -1
  317. package/dist/esm/road-progress.entry.js +1 -1
  318. package/dist/esm/road-progress.entry.js.map +1 -1
  319. package/dist/esm/road-radio-group.entry.js +1 -1
  320. package/dist/esm/road-radio-group.entry.js.map +1 -1
  321. package/dist/esm/road-radio.entry.js +2 -2
  322. package/dist/esm/road-radio.entry.js.map +1 -1
  323. package/dist/esm/road-range.entry.js +2 -2
  324. package/dist/esm/road-range.entry.js.map +1 -1
  325. package/dist/esm/road-rating.entry.js +2 -2
  326. package/dist/esm/road-rating.entry.js.map +1 -1
  327. package/dist/esm/road-segmented-button-bar.entry.js +2 -2
  328. package/dist/esm/road-segmented-button-bar.entry.js.map +1 -1
  329. package/dist/esm/road-segmented-button.entry.js +1 -1
  330. package/dist/esm/road-segmented-button.entry.js.map +1 -1
  331. package/dist/esm/road-segmented-buttons.entry.js +1 -1
  332. package/dist/esm/road-segmented-buttons.entry.js.map +1 -1
  333. package/dist/esm/road-select-filter.entry.js +1 -1
  334. package/dist/esm/road-select-filter.entry.js.map +1 -1
  335. package/dist/esm/road-select.entry.js +2 -2
  336. package/dist/esm/road-select.entry.js.map +1 -1
  337. package/dist/esm/road-skeleton.entry.js +1 -1
  338. package/dist/esm/road-skeleton.entry.js.map +1 -1
  339. package/dist/esm/road-spinner.entry.js +1 -1
  340. package/dist/esm/road-spinner.entry.js.map +1 -1
  341. package/dist/esm/road-switch.entry.js +2 -2
  342. package/dist/esm/road-switch.entry.js.map +1 -1
  343. package/dist/esm/road-tab-bar.entry.js +2 -2
  344. package/dist/esm/road-tab-bar.entry.js.map +1 -1
  345. package/dist/esm/road-tab-button.entry.js +1 -1
  346. package/dist/esm/road-tab-button.entry.js.map +1 -1
  347. package/dist/esm/road-tab.entry.js +1 -1
  348. package/dist/esm/road-tab.entry.js.map +1 -1
  349. package/dist/esm/road-table.entry.js +1 -1
  350. package/dist/esm/road-table.entry.js.map +1 -1
  351. package/dist/esm/road-tabs.entry.js +1 -1
  352. package/dist/esm/road-tabs.entry.js.map +1 -1
  353. package/dist/esm/road-tag.entry.js +2 -2
  354. package/dist/esm/road-tag.entry.js.map +1 -1
  355. package/dist/esm/road-text.entry.js +1 -1
  356. package/dist/esm/road-text.entry.js.map +1 -1
  357. package/dist/esm/road-textarea.entry.js +1 -1
  358. package/dist/esm/road-textarea.entry.js.map +1 -1
  359. package/dist/esm/road-toast.entry.js +2 -2
  360. package/dist/esm/road-toast.entry.js.map +1 -1
  361. package/dist/esm/road-toggle.entry.js +2 -2
  362. package/dist/esm/road-toggle.entry.js.map +1 -1
  363. package/dist/esm/road-toolbar-title-page.entry.js +1 -1
  364. package/dist/esm/road-toolbar-title-page.entry.js.map +1 -1
  365. package/dist/esm/road-toolbar-title.entry.js +1 -1
  366. package/dist/esm/road-toolbar-title.entry.js.map +1 -1
  367. package/dist/esm/road-tooltip.entry.js +1 -1
  368. package/dist/esm/road-tooltip.entry.js.map +1 -1
  369. package/dist/esm/roadtrip.js +7 -104
  370. package/dist/esm/roadtrip.js.map +1 -1
  371. package/dist/esm/{utils-ff713b72.js → utils-79ac6aaf.js} +2 -2
  372. package/dist/esm/utils-79ac6aaf.js.map +1 -0
  373. package/dist/esm/{utils-7f4988b4.js → utils-8c28c2e1.js} +2 -2
  374. package/dist/esm/utils-8c28c2e1.js.map +1 -0
  375. package/dist/html.html-data.json +71 -87
  376. package/dist/loader/index.d.ts +1 -1
  377. package/dist/roadtrip/index.esm.js +1 -1
  378. package/dist/roadtrip/{p-ff52872b.entry.js → p-00e51171.entry.js} +2 -2
  379. package/dist/roadtrip/p-00e51171.entry.js.map +1 -0
  380. package/dist/roadtrip/p-028243c1.entry.js +2 -0
  381. package/dist/roadtrip/p-028243c1.entry.js.map +1 -0
  382. package/dist/roadtrip/{p-c259efd7.js → p-08ff1520.js} +2 -2
  383. package/dist/roadtrip/p-08ff1520.js.map +1 -0
  384. package/dist/roadtrip/p-0f8966f4.entry.js +2 -0
  385. package/dist/roadtrip/p-0f8966f4.entry.js.map +1 -0
  386. package/dist/roadtrip/{p-e68a3ae5.entry.js → p-0fca389a.entry.js} +2 -2
  387. package/dist/roadtrip/p-0fca389a.entry.js.map +1 -0
  388. package/dist/roadtrip/{p-a484102a.entry.js → p-13d54b3e.entry.js} +2 -2
  389. package/dist/roadtrip/p-13d54b3e.entry.js.map +1 -0
  390. package/dist/roadtrip/p-1a761fc0.entry.js +2 -0
  391. package/dist/roadtrip/p-1a761fc0.entry.js.map +1 -0
  392. package/dist/roadtrip/{p-9036a1e6.entry.js → p-1c5ac353.entry.js} +2 -2
  393. package/dist/roadtrip/p-1c5ac353.entry.js.map +1 -0
  394. package/dist/roadtrip/p-1ccae339.js +2 -0
  395. package/dist/roadtrip/p-1ccae339.js.map +1 -0
  396. package/dist/roadtrip/p-20b115ed.entry.js +2 -0
  397. package/dist/roadtrip/p-20b115ed.entry.js.map +1 -0
  398. package/dist/roadtrip/{p-0d99a5e7.entry.js → p-25683dc7.entry.js} +2 -2
  399. package/dist/roadtrip/p-25683dc7.entry.js.map +1 -0
  400. package/dist/roadtrip/{p-2d01d350.entry.js → p-25ade729.entry.js} +2 -2
  401. package/dist/roadtrip/p-25ade729.entry.js.map +1 -0
  402. package/dist/roadtrip/{p-7c4b331c.entry.js → p-2b5974fc.entry.js} +2 -2
  403. package/dist/roadtrip/p-2b5974fc.entry.js.map +1 -0
  404. package/dist/roadtrip/{p-b4dc061d.entry.js → p-2c8a6854.entry.js} +2 -2
  405. package/dist/roadtrip/p-2c8a6854.entry.js.map +1 -0
  406. package/dist/roadtrip/{p-7ec2d494.js → p-2d45ef28.js} +2 -2
  407. package/dist/roadtrip/p-2d45ef28.js.map +1 -0
  408. package/dist/roadtrip/{p-ee0196ea.entry.js → p-30fa62f4.entry.js} +2 -2
  409. package/dist/roadtrip/p-30fa62f4.entry.js.map +1 -0
  410. package/dist/roadtrip/{p-21c20210.entry.js → p-39d1c90a.entry.js} +2 -2
  411. package/dist/roadtrip/p-39d1c90a.entry.js.map +1 -0
  412. package/dist/roadtrip/{p-c8e9807b.entry.js → p-40daa53b.entry.js} +2 -2
  413. package/dist/roadtrip/p-40daa53b.entry.js.map +1 -0
  414. package/dist/roadtrip/p-414a2791.entry.js +2 -0
  415. package/dist/roadtrip/p-414a2791.entry.js.map +1 -0
  416. package/dist/roadtrip/p-46cccafc.entry.js +2 -0
  417. package/dist/roadtrip/p-46cccafc.entry.js.map +1 -0
  418. package/dist/roadtrip/{p-91e92e99.entry.js → p-4ba769a9.entry.js} +2 -2
  419. package/dist/roadtrip/p-4ba769a9.entry.js.map +1 -0
  420. package/dist/roadtrip/{p-093973f5.entry.js → p-4f47f4f7.entry.js} +2 -2
  421. package/dist/roadtrip/p-4f47f4f7.entry.js.map +1 -0
  422. package/dist/roadtrip/{p-1baffcc2.entry.js → p-4f5e8cc2.entry.js} +2 -2
  423. package/dist/roadtrip/p-4f5e8cc2.entry.js.map +1 -0
  424. package/dist/roadtrip/{p-8e216f6a.entry.js → p-5483109e.entry.js} +2 -2
  425. package/dist/roadtrip/p-5483109e.entry.js.map +1 -0
  426. package/dist/roadtrip/{p-9419bdaf.entry.js → p-5ab03aa4.entry.js} +2 -2
  427. package/dist/roadtrip/p-5ab03aa4.entry.js.map +1 -0
  428. package/dist/roadtrip/p-60e25858.entry.js +2 -0
  429. package/dist/roadtrip/p-60e25858.entry.js.map +1 -0
  430. package/dist/roadtrip/{p-93030cec.entry.js → p-6177bb46.entry.js} +2 -2
  431. package/dist/roadtrip/p-6177bb46.entry.js.map +1 -0
  432. package/dist/roadtrip/{p-4fd8c4db.entry.js → p-64aa6fd0.entry.js} +2 -2
  433. package/dist/roadtrip/p-64aa6fd0.entry.js.map +1 -0
  434. package/dist/roadtrip/{p-ff473633.entry.js → p-68599145.entry.js} +2 -2
  435. package/dist/roadtrip/p-68599145.entry.js.map +1 -0
  436. package/dist/roadtrip/p-6a27b5fc.entry.js +2 -0
  437. package/dist/roadtrip/p-6a27b5fc.entry.js.map +1 -0
  438. package/dist/roadtrip/{p-1974c993.entry.js → p-6f170c25.entry.js} +2 -2
  439. package/dist/roadtrip/p-6f170c25.entry.js.map +1 -0
  440. package/dist/roadtrip/{p-3604d557.entry.js → p-7048f786.entry.js} +2 -2
  441. package/dist/roadtrip/p-7048f786.entry.js.map +1 -0
  442. package/dist/roadtrip/{p-37ab7c7f.js → p-73fe2357.js} +1 -1
  443. package/dist/roadtrip/p-73fe2357.js.map +1 -0
  444. package/dist/roadtrip/{p-35ffaa87.entry.js → p-744198aa.entry.js} +2 -2
  445. package/dist/roadtrip/p-744198aa.entry.js.map +1 -0
  446. package/dist/roadtrip/{p-b5727aae.entry.js → p-76ccfc61.entry.js} +2 -2
  447. package/dist/roadtrip/p-76ccfc61.entry.js.map +1 -0
  448. package/dist/roadtrip/{p-1caeda78.entry.js → p-78e9bbd5.entry.js} +2 -2
  449. package/dist/roadtrip/p-78e9bbd5.entry.js.map +1 -0
  450. package/dist/roadtrip/{p-8f802447.entry.js → p-82919e58.entry.js} +2 -2
  451. package/dist/roadtrip/p-82919e58.entry.js.map +1 -0
  452. package/dist/roadtrip/p-90b35d7e.entry.js +2 -0
  453. package/dist/roadtrip/p-90b35d7e.entry.js.map +1 -0
  454. package/dist/roadtrip/{p-0bcf6d63.entry.js → p-90fac6e5.entry.js} +2 -2
  455. package/dist/roadtrip/p-90fac6e5.entry.js.map +1 -0
  456. package/dist/roadtrip/{p-73df1bef.entry.js → p-96abbe85.entry.js} +2 -2
  457. package/dist/roadtrip/p-96abbe85.entry.js.map +1 -0
  458. package/dist/roadtrip/{p-48596f8f.entry.js → p-995e1e53.entry.js} +2 -2
  459. package/dist/roadtrip/p-995e1e53.entry.js.map +1 -0
  460. package/dist/roadtrip/{p-5f4779b1.entry.js → p-9b170273.entry.js} +2 -2
  461. package/dist/roadtrip/p-9b170273.entry.js.map +1 -0
  462. package/dist/roadtrip/{p-43bdbf0a.entry.js → p-9bef58e1.entry.js} +2 -2
  463. package/dist/roadtrip/p-9bef58e1.entry.js.map +1 -0
  464. package/dist/roadtrip/p-9fefc8af.entry.js +2 -0
  465. package/dist/roadtrip/p-9fefc8af.entry.js.map +1 -0
  466. package/dist/roadtrip/p-a2a9a650.entry.js +2 -0
  467. package/dist/roadtrip/{p-7589e2bb.entry.js.map → p-a2a9a650.entry.js.map} +1 -1
  468. package/dist/roadtrip/p-b09c076d.entry.js +2 -0
  469. package/dist/roadtrip/p-b09c076d.entry.js.map +1 -0
  470. package/dist/roadtrip/{p-b7d3dc1a.entry.js → p-b2e7bfcb.entry.js} +2 -2
  471. package/dist/roadtrip/p-b2e7bfcb.entry.js.map +1 -0
  472. package/dist/roadtrip/p-b614a9fb.entry.js +2 -0
  473. package/dist/roadtrip/p-b614a9fb.entry.js.map +1 -0
  474. package/dist/roadtrip/{p-ebe3c26a.entry.js → p-b65f0a62.entry.js} +2 -2
  475. package/dist/roadtrip/p-b65f0a62.entry.js.map +1 -0
  476. package/dist/roadtrip/{p-29ff2bcd.entry.js → p-bfcedcfb.entry.js} +2 -2
  477. package/dist/roadtrip/p-bfcedcfb.entry.js.map +1 -0
  478. package/dist/roadtrip/{p-b259fee3.entry.js → p-c33f5249.entry.js} +2 -2
  479. package/dist/roadtrip/p-c33f5249.entry.js.map +1 -0
  480. package/dist/roadtrip/{p-439e1124.entry.js → p-cbe0c628.entry.js} +2 -2
  481. package/dist/roadtrip/p-cbe0c628.entry.js.map +1 -0
  482. package/dist/roadtrip/p-d651deea.entry.js +2 -0
  483. package/dist/roadtrip/p-d651deea.entry.js.map +1 -0
  484. package/dist/roadtrip/p-d794a8d4.entry.js +2 -0
  485. package/dist/roadtrip/p-d794a8d4.entry.js.map +1 -0
  486. package/dist/roadtrip/{p-295a97d7.entry.js → p-db7cb1c8.entry.js} +2 -2
  487. package/dist/roadtrip/p-db7cb1c8.entry.js.map +1 -0
  488. package/dist/roadtrip/{p-6598e293.entry.js → p-dcb280e3.entry.js} +2 -2
  489. package/dist/roadtrip/p-dcb280e3.entry.js.map +1 -0
  490. package/dist/roadtrip/{p-cb254685.entry.js → p-e2149bdf.entry.js} +2 -2
  491. package/dist/roadtrip/p-e2149bdf.entry.js.map +1 -0
  492. package/dist/roadtrip/{p-650eb7fb.entry.js → p-e2c6d81f.entry.js} +2 -2
  493. package/dist/roadtrip/p-e2c6d81f.entry.js.map +1 -0
  494. package/dist/roadtrip/{p-66a9a6e8.entry.js → p-e42a9ec4.entry.js} +2 -2
  495. package/dist/roadtrip/p-e42a9ec4.entry.js.map +1 -0
  496. package/dist/roadtrip/{p-9dd06f01.entry.js → p-ea28a425.entry.js} +2 -2
  497. package/dist/roadtrip/p-ea28a425.entry.js.map +1 -0
  498. package/dist/roadtrip/p-f3d586b3.js +3 -0
  499. package/dist/roadtrip/p-f3d586b3.js.map +1 -0
  500. package/dist/roadtrip/{p-9432708d.entry.js → p-f5cce766.entry.js} +2 -2
  501. package/dist/roadtrip/p-f5cce766.entry.js.map +1 -0
  502. package/dist/roadtrip/{p-5a4f9085.entry.js → p-f6d47cda.entry.js} +2 -2
  503. package/dist/roadtrip/p-f6d47cda.entry.js.map +1 -0
  504. package/dist/roadtrip/{p-b34aba1a.js → p-faa60880.js} +2 -2
  505. package/dist/roadtrip/p-faa60880.js.map +1 -0
  506. package/dist/roadtrip/roadtrip.esm.js +1 -1
  507. package/dist/roadtrip/roadtrip.esm.js.map +1 -1
  508. package/dist/roadtrip/svg/vehicle-car-search-color.svg +1 -1
  509. package/dist/types/components/area-code/area-code.d.ts +4 -7
  510. package/dist/types/components/drawer/drawer.d.ts +0 -1
  511. package/dist/types/components.d.ts +571 -20
  512. package/dist/types/global/app.d.ts +0 -1
  513. package/dist/types/stencil-public-runtime.d.ts +38 -5
  514. package/hydrate/index.d.ts +6 -6
  515. package/hydrate/index.js +285 -235
  516. package/package.json +2 -2
  517. package/dist/cjs/app-d9e5adfa.js +0 -9
  518. package/dist/cjs/app-d9e5adfa.js.map +0 -1
  519. package/dist/cjs/css-shim-68410b74.js +0 -8
  520. package/dist/cjs/css-shim-68410b74.js.map +0 -1
  521. package/dist/cjs/dom-225fc508.js +0 -77
  522. package/dist/cjs/dom-225fc508.js.map +0 -1
  523. package/dist/cjs/focus-visible-6771892b.js.map +0 -1
  524. package/dist/cjs/index-e4bd5b5f.js.map +0 -1
  525. package/dist/cjs/index-fd07207a.js.map +0 -1
  526. package/dist/cjs/polyfill-9453e116.js.map +0 -1
  527. package/dist/cjs/shadow-css-3c339190.js +0 -391
  528. package/dist/cjs/shadow-css-3c339190.js.map +0 -1
  529. package/dist/cjs/utils-5203d152.js.map +0 -1
  530. package/dist/cjs/utils-a450bad3.js.map +0 -1
  531. package/dist/collection/components/drawer/drawer.dark.css +0 -252
  532. package/dist/esm/app-a8a6f02a.js +0 -7
  533. package/dist/esm/app-a8a6f02a.js.map +0 -1
  534. package/dist/esm/css-shim-fa54d62f.js +0 -6
  535. package/dist/esm/css-shim-fa54d62f.js.map +0 -1
  536. package/dist/esm/dom-8de30773.js +0 -75
  537. package/dist/esm/dom-8de30773.js.map +0 -1
  538. package/dist/esm/focus-visible-75a2ea2a.js.map +0 -1
  539. package/dist/esm/index-4b484f35.js.map +0 -1
  540. package/dist/esm/index-8f45025b.js.map +0 -1
  541. package/dist/esm/polyfill-ab80527b.js +0 -7
  542. package/dist/esm/polyfill-ab80527b.js.map +0 -1
  543. package/dist/esm/polyfills/css-shim.js +0 -1
  544. package/dist/esm/shadow-css-af2290df.js +0 -389
  545. package/dist/esm/shadow-css-af2290df.js.map +0 -1
  546. package/dist/esm/utils-7f4988b4.js.map +0 -1
  547. package/dist/esm/utils-ff713b72.js.map +0 -1
  548. package/dist/roadtrip/p-00cfef9b.js +0 -22
  549. package/dist/roadtrip/p-00cfef9b.js.map +0 -1
  550. package/dist/roadtrip/p-093973f5.entry.js.map +0 -1
  551. package/dist/roadtrip/p-0bcf6d63.entry.js.map +0 -1
  552. package/dist/roadtrip/p-0d99a5e7.entry.js.map +0 -1
  553. package/dist/roadtrip/p-125c777f.entry.js +0 -2
  554. package/dist/roadtrip/p-125c777f.entry.js.map +0 -1
  555. package/dist/roadtrip/p-16285738.entry.js +0 -2
  556. package/dist/roadtrip/p-16285738.entry.js.map +0 -1
  557. package/dist/roadtrip/p-170a82e1.entry.js +0 -2
  558. package/dist/roadtrip/p-170a82e1.entry.js.map +0 -1
  559. package/dist/roadtrip/p-1974c993.entry.js.map +0 -1
  560. package/dist/roadtrip/p-198f586b.entry.js +0 -2
  561. package/dist/roadtrip/p-198f586b.entry.js.map +0 -1
  562. package/dist/roadtrip/p-1baffcc2.entry.js.map +0 -1
  563. package/dist/roadtrip/p-1caeda78.entry.js.map +0 -1
  564. package/dist/roadtrip/p-214218dd.entry.js +0 -2
  565. package/dist/roadtrip/p-214218dd.entry.js.map +0 -1
  566. package/dist/roadtrip/p-21c20210.entry.js.map +0 -1
  567. package/dist/roadtrip/p-295a97d7.entry.js.map +0 -1
  568. package/dist/roadtrip/p-298a51a3.js +0 -2
  569. package/dist/roadtrip/p-298a51a3.js.map +0 -1
  570. package/dist/roadtrip/p-29ff2bcd.entry.js.map +0 -1
  571. package/dist/roadtrip/p-2d01d350.entry.js.map +0 -1
  572. package/dist/roadtrip/p-35ffaa87.entry.js.map +0 -1
  573. package/dist/roadtrip/p-3604d557.entry.js.map +0 -1
  574. package/dist/roadtrip/p-37ab7c7f.js.map +0 -1
  575. package/dist/roadtrip/p-38597e21.entry.js +0 -2
  576. package/dist/roadtrip/p-38597e21.entry.js.map +0 -1
  577. package/dist/roadtrip/p-439e1124.entry.js.map +0 -1
  578. package/dist/roadtrip/p-43bdbf0a.entry.js.map +0 -1
  579. package/dist/roadtrip/p-48596f8f.entry.js.map +0 -1
  580. package/dist/roadtrip/p-4993da93.entry.js +0 -2
  581. package/dist/roadtrip/p-4993da93.entry.js.map +0 -1
  582. package/dist/roadtrip/p-4fd8c4db.entry.js.map +0 -1
  583. package/dist/roadtrip/p-50daca95.js +0 -13
  584. package/dist/roadtrip/p-50daca95.js.map +0 -1
  585. package/dist/roadtrip/p-564f4f31.entry.js +0 -2
  586. package/dist/roadtrip/p-564f4f31.entry.js.map +0 -1
  587. package/dist/roadtrip/p-5a4f9085.entry.js.map +0 -1
  588. package/dist/roadtrip/p-5f4779b1.entry.js.map +0 -1
  589. package/dist/roadtrip/p-62c563db.entry.js +0 -2
  590. package/dist/roadtrip/p-62c563db.entry.js.map +0 -1
  591. package/dist/roadtrip/p-650eb7fb.entry.js.map +0 -1
  592. package/dist/roadtrip/p-6598e293.entry.js.map +0 -1
  593. package/dist/roadtrip/p-66a9a6e8.entry.js.map +0 -1
  594. package/dist/roadtrip/p-73df1bef.entry.js.map +0 -1
  595. package/dist/roadtrip/p-7589e2bb.entry.js +0 -2
  596. package/dist/roadtrip/p-7c4b331c.entry.js.map +0 -1
  597. package/dist/roadtrip/p-7ec2d494.js.map +0 -1
  598. package/dist/roadtrip/p-8e216f6a.entry.js.map +0 -1
  599. package/dist/roadtrip/p-8f802447.entry.js.map +0 -1
  600. package/dist/roadtrip/p-9036a1e6.entry.js.map +0 -1
  601. package/dist/roadtrip/p-91e92e99.entry.js.map +0 -1
  602. package/dist/roadtrip/p-93030cec.entry.js.map +0 -1
  603. package/dist/roadtrip/p-9419bdaf.entry.js.map +0 -1
  604. package/dist/roadtrip/p-9432708d.entry.js.map +0 -1
  605. package/dist/roadtrip/p-9dd06f01.entry.js.map +0 -1
  606. package/dist/roadtrip/p-a32c7889.entry.js +0 -2
  607. package/dist/roadtrip/p-a32c7889.entry.js.map +0 -1
  608. package/dist/roadtrip/p-a484102a.entry.js.map +0 -1
  609. package/dist/roadtrip/p-abdbf6ac.js +0 -3
  610. package/dist/roadtrip/p-abdbf6ac.js.map +0 -1
  611. package/dist/roadtrip/p-b259fee3.entry.js.map +0 -1
  612. package/dist/roadtrip/p-b2cc540b.entry.js +0 -2
  613. package/dist/roadtrip/p-b2cc540b.entry.js.map +0 -1
  614. package/dist/roadtrip/p-b34aba1a.js.map +0 -1
  615. package/dist/roadtrip/p-b4dc061d.entry.js.map +0 -1
  616. package/dist/roadtrip/p-b5727aae.entry.js.map +0 -1
  617. package/dist/roadtrip/p-b7d3dc1a.entry.js.map +0 -1
  618. package/dist/roadtrip/p-c259efd7.js.map +0 -1
  619. package/dist/roadtrip/p-c56fe023.entry.js +0 -2
  620. package/dist/roadtrip/p-c56fe023.entry.js.map +0 -1
  621. package/dist/roadtrip/p-c8e9807b.entry.js.map +0 -1
  622. package/dist/roadtrip/p-cb254685.entry.js.map +0 -1
  623. package/dist/roadtrip/p-cd2e8f0a.entry.js +0 -2
  624. package/dist/roadtrip/p-cd2e8f0a.entry.js.map +0 -1
  625. package/dist/roadtrip/p-e68a3ae5.entry.js.map +0 -1
  626. package/dist/roadtrip/p-e8c090a5.js +0 -2
  627. package/dist/roadtrip/p-e8c090a5.js.map +0 -1
  628. package/dist/roadtrip/p-ebe3c26a.entry.js.map +0 -1
  629. package/dist/roadtrip/p-ee0196ea.entry.js.map +0 -1
  630. package/dist/roadtrip/p-f671758f.entry.js +0 -2
  631. package/dist/roadtrip/p-f671758f.entry.js.map +0 -1
  632. package/dist/roadtrip/p-fa98320c.js +0 -2
  633. package/dist/roadtrip/p-fa98320c.js.map +0 -1
  634. package/dist/roadtrip/p-ff473633.entry.js.map +0 -1
  635. package/dist/roadtrip/p-ff52872b.entry.js.map +0 -1
@@ -21,6 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'roadtrip';
24
+ const BUILD = /* roadtrip */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, 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: true, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
24
25
 
25
26
  /**
26
27
  * Virtual DOM patching algorithm based on Snabbdom by
@@ -64,6 +65,13 @@ const HYDRATE_ID = 's-id';
64
65
  const HYDRATED_STYLE_ID = 'sty-id';
65
66
  const HYDRATE_CHILD_ID = 'c-id';
66
67
  const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
68
+ /**
69
+ * Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
70
+ *
71
+ * Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
72
+ * support as of Stencil v4.
73
+ */
74
+ const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
67
75
  const XLINK_NS = 'http://www.w3.org/1999/xlink';
68
76
  /**
69
77
  * Default style mode id
@@ -144,13 +152,13 @@ const h = (nodeName, vnodeData, ...children) => {
144
152
  };
145
153
  walk(children);
146
154
  if (vnodeData) {
147
- // normalize class / classname attributes
148
155
  if (vnodeData.key) {
149
156
  key = vnodeData.key;
150
157
  }
151
158
  if (vnodeData.name) {
152
159
  slotName = vnodeData.name;
153
160
  }
161
+ // normalize class / className attributes
154
162
  {
155
163
  const classData = vnodeData.className || vnodeData.class;
156
164
  if (classData) {
@@ -396,7 +404,7 @@ const clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes
396
404
  }
397
405
  }
398
406
  else if (childVNode.$hostId$ === hostId) {
399
- // this comment node is specifcally for this host id
407
+ // this comment node is specifically for this host id
400
408
  if (childNodeType === SLOT_NODE_ID) {
401
409
  // `${SLOT_NODE_ID}.${hostId}.${nodeId}.${depth}.${index}.${slotName}`;
402
410
  childVNode.$tag$ = 'slot';
@@ -473,10 +481,6 @@ const initializeDocumentHydrate = (node, orgLocNodes) => {
473
481
  }
474
482
  }
475
483
  };
476
- // Private
477
- const computeMode = (elm) => modeResolutionChain.map((h) => h(elm)).find((m) => !!m);
478
- // Public
479
- const setMode = (handler) => modeResolutionChain.push(handler);
480
484
  /**
481
485
  * Parse a new property value for a given property type.
482
486
  *
@@ -567,9 +571,9 @@ const registerStyle = (scopeId, cssText, allowCS) => {
567
571
  }
568
572
  styles.set(scopeId, style);
569
573
  };
570
- const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
574
+ const addStyle = (styleContainerNode, cmpMeta, mode) => {
571
575
  var _a;
572
- let scopeId = getScopeId(cmpMeta, mode);
576
+ const scopeId = getScopeId(cmpMeta);
573
577
  const style = styles.get(scopeId);
574
578
  // if an element is NOT connected then getRootNode() will return the wrong root node
575
579
  // so the fallback is to always use the document for the root node in those cases
@@ -589,25 +593,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
589
593
  styleElm.innerHTML = style;
590
594
  }
591
595
  else {
592
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
593
- if (plt.$cssShim$) {
594
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
595
- styleElm = plt.$cssShim$.createHostStyle(hostElm, scopeId, style,
596
- // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
597
- !!(cmpMeta.$flags$ & 10 /* CMP_FLAGS.needsScopedEncapsulation */));
598
- const newScopeId = styleElm['s-sc'];
599
- if (newScopeId) {
600
- scopeId = newScopeId;
601
- // we don't want to add this styleID to the appliedStyles Set
602
- // since the cssVarShim might need to apply several different
603
- // stylesheets for the same component
604
- appliedStyles = null;
605
- }
606
- }
607
- else {
608
- styleElm = doc.createElement('style');
609
- styleElm.innerHTML = style;
610
- }
596
+ styleElm = doc.createElement('style');
597
+ styleElm.innerHTML = style;
611
598
  // Apply CSP nonce to the style tag if it exists
612
599
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
613
600
  if (nonce != null) {
@@ -615,6 +602,10 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
615
602
  }
616
603
  styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
617
604
  }
605
+ // Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
606
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
607
+ styleElm.innerHTML += SLOT_FB_CSS;
608
+ }
618
609
  if (appliedStyles) {
619
610
  appliedStyles.add(scopeId);
620
611
  }
@@ -631,8 +622,7 @@ const attachStyles = (hostRef) => {
631
622
  const elm = hostRef.$hostElement$;
632
623
  const flags = cmpMeta.$flags$;
633
624
  const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
634
- const scopeId = addStyle(supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta, hostRef.$modeName$, elm);
635
- // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
625
+ const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
636
626
  if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
637
627
  // only required when we're NOT using native shadow dom (slot)
638
628
  // or this browser doesn't support native shadow dom
@@ -649,7 +639,7 @@ const attachStyles = (hostRef) => {
649
639
  }
650
640
  endAttachStyles();
651
641
  };
652
- const getScopeId = (cmp, mode) => 'sc-' + (mode && cmp.$flags$ & 32 /* CMP_FLAGS.hasMode */ ? cmp.$tagName$ + '-' + mode : cmp.$tagName$);
642
+ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
653
643
  const convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, '$1{');
654
644
  /**
655
645
  * Production setAccessor() function based on Preact by
@@ -659,6 +649,21 @@ const convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g
659
649
  *
660
650
  * Modified for Stencil's compiler and vdom
661
651
  */
652
+ /**
653
+ * When running a VDom render set properties present on a VDom node onto the
654
+ * corresponding HTML element.
655
+ *
656
+ * Note that this function has special functionality for the `class`,
657
+ * `style`, `key`, and `ref` attributes, as well as event handlers (like
658
+ * `onClick`, etc). All others are just passed through as-is.
659
+ *
660
+ * @param elm the HTMLElement onto which attributes should be set
661
+ * @param memberName the name of the attribute to set
662
+ * @param oldValue the old value for the attribute
663
+ * @param newValue the new value for the attribute
664
+ * @param isSvg whether we're in an svg context or not
665
+ * @param flags bitflags for Vdom variables
666
+ */
662
667
  const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
663
668
  if (oldValue !== newValue) {
664
669
  let isProp = isMemberInElement(elm, memberName);
@@ -735,11 +740,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
735
740
  // except for the first character, we keep the event name case
736
741
  memberName = ln[2] + memberName.slice(3);
737
742
  }
738
- if (oldValue) {
739
- plt.rel(elm, memberName, oldValue, false);
740
- }
741
- if (newValue) {
742
- plt.ael(elm, memberName, newValue, false);
743
+ if (oldValue || newValue) {
744
+ // Need to account for "capture" events.
745
+ // If the event name ends with "Capture", we'll update the name to remove
746
+ // the "Capture" suffix and make sure the event listener is setup to handle the capture event.
747
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
748
+ // Make sure we only replace the last instance of "Capture"
749
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
750
+ if (oldValue) {
751
+ plt.rel(elm, memberName, oldValue, capture);
752
+ }
753
+ if (newValue) {
754
+ plt.ael(elm, memberName, newValue, capture);
755
+ }
743
756
  }
744
757
  }
745
758
  else {
@@ -801,6 +814,8 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
801
814
  };
802
815
  const parseClassListRegex = /\s/;
803
816
  const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
817
+ const CAPTURE_EVENT_SUFFIX = 'Capture';
818
+ const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
804
819
  const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
805
820
  // if the element passed in is a shadow root, which is a document fragment
806
821
  // then we want to be adding attrs/props to the shadow root's "host" element
@@ -834,6 +849,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
834
849
  * @returns the newly created node
835
850
  */
836
851
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
852
+ var _a;
837
853
  // tslint:disable-next-line: prefer-const
838
854
  const newVNode = newParentVNode.$children$[childIndex];
839
855
  let i = 0;
@@ -912,6 +928,8 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
912
928
  if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
913
929
  // remember the content reference comment
914
930
  elm['s-sr'] = true;
931
+ // Persist the name of the slot that this slot was going to be projected into.
932
+ elm['s-fs'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.slot;
915
933
  // remember the content reference comment
916
934
  elm['s-cr'] = contentRef;
917
935
  // remember the slot name, or empty string for default slot
@@ -928,6 +946,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
928
946
  return elm;
929
947
  };
930
948
  const putBackInOriginalLocation = (parentElm, recursive) => {
949
+ var _a;
931
950
  plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
932
951
  const oldSlotChildNodes = parentElm.childNodes;
933
952
  for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
@@ -940,9 +959,17 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
940
959
  parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
941
960
  // remove the old original location comment entirely
942
961
  // later on the patch function will know what to do
943
- // and move this to the correct spot in need be
962
+ // and move this to the correct spot if need be
944
963
  childNode['s-ol'].remove();
945
964
  childNode['s-ol'] = undefined;
965
+ // Reset so we can correctly move the node around again.
966
+ childNode['s-sh'] = undefined;
967
+ // When putting an element node back in its original location,
968
+ // we need to reset the `slot` attribute back to the value it originally had
969
+ // so we can correctly relocate it again in the future
970
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
971
+ childNode.setAttribute('slot', (_a = childNode['s-sn']) !== null && _a !== void 0 ? _a : '');
972
+ }
946
973
  checkSlotRelocate = true;
947
974
  }
948
975
  if (recursive) {
@@ -1366,42 +1393,53 @@ const patch = (oldVNode, newVNode) => {
1366
1393
  elm.data = text;
1367
1394
  }
1368
1395
  };
1396
+ /**
1397
+ * Adjust the `.hidden` property as-needed on any nodes in a DOM subtree which
1398
+ * are slot fallbacks nodes.
1399
+ *
1400
+ * A slot fallback node should be visible by default. Then, it should be
1401
+ * conditionally hidden if:
1402
+ *
1403
+ * - it has a sibling with a `slot` property set to its slot name or if
1404
+ * - it is a default fallback slot node, in which case we hide if it has any
1405
+ * content
1406
+ *
1407
+ * @param elm the element of interest
1408
+ */
1369
1409
  const updateFallbackSlotVisibility = (elm) => {
1370
- // tslint:disable-next-line: prefer-const
1371
1410
  const childNodes = elm.childNodes;
1372
- let childNode;
1373
- let i;
1374
- let ilen;
1375
- let j;
1376
- let slotNameAttr;
1377
- let nodeType;
1378
- for (i = 0, ilen = childNodes.length; i < ilen; i++) {
1379
- childNode = childNodes[i];
1411
+ for (const childNode of childNodes) {
1380
1412
  if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1381
1413
  if (childNode['s-sr']) {
1382
1414
  // this is a slot fallback node
1383
1415
  // get the slot name for this slot reference node
1384
- slotNameAttr = childNode['s-sn'];
1416
+ const slotName = childNode['s-sn'];
1385
1417
  // by default always show a fallback slot node
1386
1418
  // then hide it if there are other slots in the light dom
1387
1419
  childNode.hidden = false;
1388
- for (j = 0; j < ilen; j++) {
1389
- nodeType = childNodes[j].nodeType;
1390
- if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
1391
- // this sibling node is from a different component OR is a named fallback slot node
1392
- if (nodeType === 1 /* NODE_TYPE.ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
1393
- childNode.hidden = true;
1394
- break;
1420
+ // we need to check all of its sibling nodes in order to see if
1421
+ // `childNode` should be hidden
1422
+ for (const siblingNode of childNodes) {
1423
+ // Don't check the node against itself
1424
+ if (siblingNode !== childNode) {
1425
+ if (siblingNode['s-hn'] !== childNode['s-hn'] || slotName !== '') {
1426
+ // this sibling node is from a different component OR is a named
1427
+ // fallback slot node
1428
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ &&
1429
+ (slotName === siblingNode.getAttribute('slot') || slotName === siblingNode['s-sn'])) {
1430
+ childNode.hidden = true;
1431
+ break;
1432
+ }
1395
1433
  }
1396
- }
1397
- else {
1398
- // this is a default fallback slot node
1399
- // any element or text node (with content)
1400
- // should hide the default fallback slot node
1401
- if (nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1402
- (nodeType === 3 /* NODE_TYPE.TextNode */ && childNodes[j].textContent.trim() !== '')) {
1403
- childNode.hidden = true;
1404
- break;
1434
+ else {
1435
+ // this is a default fallback slot node
1436
+ // any element or text node (with content)
1437
+ // should hide the default fallback slot node
1438
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1439
+ (siblingNode.nodeType === 3 /* NODE_TYPE.TextNode */ && siblingNode.textContent.trim() !== '')) {
1440
+ childNode.hidden = true;
1441
+ break;
1442
+ }
1405
1443
  }
1406
1444
  }
1407
1445
  }
@@ -1411,45 +1449,67 @@ const updateFallbackSlotVisibility = (elm) => {
1411
1449
  }
1412
1450
  }
1413
1451
  };
1452
+ /**
1453
+ * Component-global information about nodes which are either currently being
1454
+ * relocated or will be shortly.
1455
+ */
1414
1456
  const relocateNodes = [];
1415
- const relocateSlotContent = (elm) => {
1457
+ /**
1458
+ * Mark the contents of a slot for relocation via adding references to them to
1459
+ * the {@link relocateNodes} data structure. The actual work of relocating them
1460
+ * will then be handled in {@link renderVdom}.
1461
+ *
1462
+ * @param elm a render node whose child nodes need to be relocated
1463
+ */
1464
+ const markSlotContentForRelocation = (elm) => {
1416
1465
  // tslint:disable-next-line: prefer-const
1417
- let childNode;
1418
1466
  let node;
1419
1467
  let hostContentNodes;
1420
- let slotNameAttr;
1421
- let relocateNodeData;
1422
1468
  let j;
1423
- let i = 0;
1424
- const childNodes = elm.childNodes;
1425
- const ilen = childNodes.length;
1426
- for (; i < ilen; i++) {
1427
- childNode = childNodes[i];
1469
+ for (const childNode of elm.childNodes) {
1470
+ // we need to find child nodes which are slot references so we can then try
1471
+ // to match them up with nodes that need to be relocated
1428
1472
  if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
1429
- // first got the content reference comment node
1430
- // then we got it's parent, which is where all the host content is in now
1473
+ // first get the content reference comment node ('s-cr'), then we get
1474
+ // its parent, which is where all the host content is now
1431
1475
  hostContentNodes = node.parentNode.childNodes;
1432
- slotNameAttr = childNode['s-sn'];
1476
+ const slotName = childNode['s-sn'];
1477
+ // iterate through all the nodes under the location where the host was
1478
+ // originally rendered
1433
1479
  for (j = hostContentNodes.length - 1; j >= 0; j--) {
1434
1480
  node = hostContentNodes[j];
1435
- if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
1436
- // let's do some relocating to its new home
1437
- // but never relocate a content reference node
1438
- // that is suppose to always represent the original content location
1439
- if (isNodeLocatedInSlot(node, slotNameAttr)) {
1481
+ // check that the node is not a content reference node or a node
1482
+ // reference and then check that the host name does not match that of
1483
+ // childNode.
1484
+ // In addition, check that the slot either has not already been relocated, or
1485
+ // that its current location's host is not childNode's host. This is essentially
1486
+ // a check so that we don't try to relocate (and then hide) a node that is already
1487
+ // where it should be.
1488
+ if (!node['s-cn'] &&
1489
+ !node['s-nr'] &&
1490
+ node['s-hn'] !== childNode['s-hn'] &&
1491
+ (!BUILD.experimentalSlotFixes )) {
1492
+ // if `node` is located in the slot that `childNode` refers to (via the
1493
+ // `'s-sn'` property) then we need to relocate it from it's current spot
1494
+ // (under the host element parent) to the right slot location
1495
+ if (isNodeLocatedInSlot(node, slotName)) {
1440
1496
  // it's possible we've already decided to relocate this node
1441
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1497
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1442
1498
  // made some changes to slots
1443
1499
  // let's make sure we also double check
1444
1500
  // fallbacks are correctly hidden or shown
1445
1501
  checkSlotFallbackVisibility = true;
1446
- node['s-sn'] = node['s-sn'] || slotNameAttr;
1502
+ // ensure that the slot-name attr is correct
1503
+ node['s-sn'] = node['s-sn'] || slotName;
1447
1504
  if (relocateNodeData) {
1448
- // previously we never found a slot home for this node
1449
- // but turns out we did, so let's remember it now
1505
+ relocateNodeData.$nodeToRelocate$['s-sh'] = childNode['s-hn'];
1506
+ // we marked this node for relocation previously but didn't find
1507
+ // out the slot reference node to which it needs to be relocated
1508
+ // so write it down now!
1450
1509
  relocateNodeData.$slotRefNode$ = childNode;
1451
1510
  }
1452
1511
  else {
1512
+ node['s-sh'] = childNode['s-hn'];
1453
1513
  // add to our list of nodes to relocate
1454
1514
  relocateNodes.push({
1455
1515
  $slotRefNode$: childNode,
@@ -1468,8 +1528,10 @@ const relocateSlotContent = (elm) => {
1468
1528
  }
1469
1529
  }
1470
1530
  else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1471
- // so far this element does not have a slot home, not setting slotRefNode on purpose
1472
- // if we never find a home for this element then we'll need to hide it
1531
+ // the node is not found within the slot (`childNode`) that we're
1532
+ // currently looking at, so we stick it into `relocateNodes` to
1533
+ // handle later. If we never find a home for this element then
1534
+ // we'll need to hide it
1473
1535
  relocateNodes.push({
1474
1536
  $nodeToRelocate$: node,
1475
1537
  });
@@ -1477,30 +1539,41 @@ const relocateSlotContent = (elm) => {
1477
1539
  }
1478
1540
  }
1479
1541
  }
1542
+ // if we're dealing with any type of element (capable of itself being a
1543
+ // slot reference or containing one) then we recur
1480
1544
  if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1481
- relocateSlotContent(childNode);
1545
+ markSlotContentForRelocation(childNode);
1482
1546
  }
1483
1547
  }
1484
1548
  };
1485
- const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
1549
+ /**
1550
+ * Check whether a node is located in a given named slot.
1551
+ *
1552
+ * @param nodeToRelocate the node of interest
1553
+ * @param slotName the slot name to check
1554
+ * @returns whether the node is located in the slot or not
1555
+ */
1556
+ const isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
1486
1557
  if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1487
- if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
1558
+ if (nodeToRelocate.getAttribute('slot') === null && slotName === '') {
1559
+ // if the node doesn't have a slot attribute, and the slot we're checking
1560
+ // is not a named slot, then we assume the node should be within the slot
1488
1561
  return true;
1489
1562
  }
1490
- if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
1563
+ if (nodeToRelocate.getAttribute('slot') === slotName) {
1491
1564
  return true;
1492
1565
  }
1493
1566
  return false;
1494
1567
  }
1495
- if (nodeToRelocate['s-sn'] === slotNameAttr) {
1568
+ if (nodeToRelocate['s-sn'] === slotName) {
1496
1569
  return true;
1497
1570
  }
1498
- return slotNameAttr === '';
1571
+ return slotName === '';
1499
1572
  };
1500
1573
  /**
1501
- * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by
1502
- * calling them with `null`. This signals that the DOM element corresponding to
1503
- * the VDom node has been removed from the DOM.
1574
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
1575
+ * them with `null`. This signals that the DOM element corresponding to the VDom
1576
+ * node has been removed from the DOM.
1504
1577
  *
1505
1578
  * @param vNode a virtual DOM node
1506
1579
  */
@@ -1521,17 +1594,45 @@ const nullifyVNodeRefs = (vNode) => {
1521
1594
  * @param hostRef data needed to root and render the virtual DOM tree, such as
1522
1595
  * the DOM node into which it should be rendered.
1523
1596
  * @param renderFnResults the virtual DOM nodes to be rendered
1597
+ * @param isInitialLoad whether or not this is the first call after page load
1524
1598
  */
1525
- const renderVdom = (hostRef, renderFnResults) => {
1599
+ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1600
+ var _a, _b;
1526
1601
  const hostElm = hostRef.$hostElement$;
1527
1602
  const cmpMeta = hostRef.$cmpMeta$;
1528
1603
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1604
+ // if `renderFnResults` is a Host node then we can use it directly. If not,
1605
+ // we need to call `h` again to wrap the children of our component in a
1606
+ // 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
1607
+ // implicitly that the top-level vdom node is 1) an only child and 2)
1608
+ // contains attrs that need to be set on the host element.
1529
1609
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
1530
1610
  hostTagName = hostElm.tagName;
1531
1611
  if (cmpMeta.$attrsToReflect$) {
1532
1612
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1533
1613
  cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
1534
1614
  }
1615
+ // On the first render and *only* on the first render we want to check for
1616
+ // any attributes set on the host element which are also set on the vdom
1617
+ // node. If we find them, we override the value on the VDom node attrs with
1618
+ // the value from the host element, which allows developers building apps
1619
+ // with Stencil components to override e.g. the `role` attribute on a
1620
+ // component even if it's already set on the `Host`.
1621
+ if (isInitialLoad && rootVnode.$attrs$) {
1622
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1623
+ // We have a special implementation in `setAccessor` for `style` and
1624
+ // `class` which reconciles values coming from the VDom with values
1625
+ // already present on the DOM element, so we don't want to override those
1626
+ // attributes on the VDom tree with values from the host element if they
1627
+ // are present.
1628
+ //
1629
+ // Likewise, `ref` and `key` are special internal values for the Stencil
1630
+ // runtime and we don't want to override those either.
1631
+ if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
1632
+ rootVnode.$attrs$[key] = hostElm[key];
1633
+ }
1634
+ }
1635
+ }
1535
1636
  rootVnode.$tag$ = null;
1536
1637
  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
1537
1638
  hostRef.$vnode$ = rootVnode;
@@ -1541,7 +1642,7 @@ const renderVdom = (hostRef, renderFnResults) => {
1541
1642
  }
1542
1643
  {
1543
1644
  contentRef = hostElm['s-cr'];
1544
- useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1645
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1545
1646
  // always reset
1546
1647
  checkSlotFallbackVisibility = false;
1547
1648
  }
@@ -1552,43 +1653,48 @@ const renderVdom = (hostRef, renderFnResults) => {
1552
1653
  // the disconnectCallback from working
1553
1654
  plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1554
1655
  if (checkSlotRelocate) {
1555
- relocateSlotContent(rootVnode.$elm$);
1556
- let relocateData;
1557
- let nodeToRelocate;
1558
- let orgLocationNode;
1559
- let parentNodeRef;
1560
- let insertBeforeNode;
1561
- let refNode;
1562
- let i = 0;
1563
- for (; i < relocateNodes.length; i++) {
1564
- relocateData = relocateNodes[i];
1565
- nodeToRelocate = relocateData.$nodeToRelocate$;
1656
+ markSlotContentForRelocation(rootVnode.$elm$);
1657
+ for (const relocateData of relocateNodes) {
1658
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1566
1659
  if (!nodeToRelocate['s-ol']) {
1567
1660
  // add a reference node marking this node's original location
1568
1661
  // keep a reference to this node for later lookups
1569
- orgLocationNode =
1570
- doc.createTextNode('');
1662
+ const orgLocationNode = doc.createTextNode('');
1571
1663
  orgLocationNode['s-nr'] = nodeToRelocate;
1572
1664
  nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
1573
1665
  }
1574
1666
  }
1575
- for (i = 0; i < relocateNodes.length; i++) {
1576
- relocateData = relocateNodes[i];
1577
- nodeToRelocate = relocateData.$nodeToRelocate$;
1578
- if (relocateData.$slotRefNode$) {
1579
- // by default we're just going to insert it directly
1580
- // after the slot reference node
1581
- parentNodeRef = relocateData.$slotRefNode$.parentNode;
1582
- insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
1583
- orgLocationNode = nodeToRelocate['s-ol'];
1584
- while ((orgLocationNode = orgLocationNode.previousSibling)) {
1585
- refNode = orgLocationNode['s-nr'];
1586
- if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1587
- refNode = refNode.nextSibling;
1588
- if (!refNode || !refNode['s-nr']) {
1589
- insertBeforeNode = refNode;
1590
- break;
1667
+ for (const relocateData of relocateNodes) {
1668
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1669
+ const slotRefNode = relocateData.$slotRefNode$;
1670
+ if (slotRefNode) {
1671
+ const parentNodeRef = slotRefNode.parentNode;
1672
+ // When determining where to insert content, the most simple case would be
1673
+ // to relocate the node immediately following the slot reference node. We do this
1674
+ // by getting a reference to the node immediately following the slot reference node
1675
+ // since we will use `insertBefore` to manipulate the DOM.
1676
+ //
1677
+ // If there is no node immediately following the slot reference node, then we will just
1678
+ // end up appending the node as the last child of the parent.
1679
+ let insertBeforeNode = slotRefNode.nextSibling;
1680
+ // If the node we're currently planning on inserting the new node before is an element,
1681
+ // we need to do some additional checks to make sure we're inserting the node in the correct order.
1682
+ // The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
1683
+ // to make sure they get inserted into their new how in the same order they were declared in their original location.
1684
+ //
1685
+ // TODO(STENCIL-914): Remove `experimentalSlotFixes` check
1686
+ {
1687
+ let orgLocationNode = (_a = nodeToRelocate['s-ol']) === null || _a === void 0 ? void 0 : _a.previousSibling;
1688
+ while (orgLocationNode) {
1689
+ let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
1690
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1691
+ refNode = refNode.nextSibling;
1692
+ if (!refNode || !refNode['s-nr']) {
1693
+ insertBeforeNode = refNode;
1694
+ break;
1695
+ }
1591
1696
  }
1697
+ orgLocationNode = orgLocationNode.previousSibling;
1592
1698
  }
1593
1699
  }
1594
1700
  if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
@@ -1598,10 +1704,13 @@ const renderVdom = (hostRef, renderFnResults) => {
1598
1704
  // has a different next sibling or parent relocated
1599
1705
  if (nodeToRelocate !== insertBeforeNode) {
1600
1706
  if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
1601
- // probably a component in the index.html that doesn't have it's hostname set
1707
+ // probably a component in the index.html that doesn't have its hostname set
1602
1708
  nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
1603
1709
  }
1604
- // add it back to the dom but in its new home
1710
+ // Add it back to the dom but in its new home
1711
+ // If we get to this point and `insertBeforeNode` is `null`, that means
1712
+ // we're just going to append the node as the last child of the parent. Passing
1713
+ // `null` as the second arg here will trigger that behavior.
1605
1714
  parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1606
1715
  }
1607
1716
  }
@@ -1722,6 +1831,16 @@ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.th
1722
1831
  */
1723
1832
  const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1724
1833
  (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
1834
+ /**
1835
+ * Update a component given reference to its host elements and so on.
1836
+ *
1837
+ * @param hostRef an object containing references to the element's host node,
1838
+ * VDom nodes, and other metadata
1839
+ * @param instance a reference to the underlying host element where it will be
1840
+ * rendered
1841
+ * @param isInitialLoad whether or not this function is being called as part of
1842
+ * the first render cycle
1843
+ */
1725
1844
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
1726
1845
  var _a;
1727
1846
  const elm = hostRef.$hostElement$;
@@ -1733,12 +1852,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1733
1852
  }
1734
1853
  const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
1735
1854
  {
1736
- callRender(hostRef, instance);
1737
- }
1738
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
1739
- if (plt.$cssShim$) {
1740
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
1741
- plt.$cssShim$.updateHost(elm);
1855
+ callRender(hostRef, instance, elm, isInitialLoad);
1742
1856
  }
1743
1857
  if (rc) {
1744
1858
  // ok, so turns out there are some child host elements
@@ -1762,8 +1876,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1762
1876
  }
1763
1877
  }
1764
1878
  };
1765
- const callRender = (hostRef, instance, elm) => {
1879
+ /**
1880
+ * Handle making the call to the VDom renderer with the proper context given
1881
+ * various build variables
1882
+ *
1883
+ * @param hostRef an object containing references to the element's host node,
1884
+ * VDom nodes, and other metadata
1885
+ * @param instance a reference to the underlying host element where it will be
1886
+ * rendered
1887
+ * @param elm the Host element for the component
1888
+ * @param isInitialLoad whether or not this function is being called as part of
1889
+ * @returns an empty promise
1890
+ */
1891
+ const callRender = (hostRef, instance, elm, isInitialLoad) => {
1766
1892
  try {
1893
+ /**
1894
+ * minification optimization: `allRenderFn` is `true` if all components have a `render`
1895
+ * method, so we can call the method immediately. If not, check before calling it.
1896
+ */
1767
1897
  instance = instance.render() ;
1768
1898
  {
1769
1899
  hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
@@ -1777,7 +1907,7 @@ const callRender = (hostRef, instance, elm) => {
1777
1907
  // or we need to update the css class/attrs on the host element
1778
1908
  // DOM WRITE!
1779
1909
  {
1780
- renderVdom(hostRef, instance);
1910
+ renderVdom(hostRef, instance, isInitialLoad);
1781
1911
  }
1782
1912
  }
1783
1913
  }
@@ -1840,6 +1970,16 @@ const appDidLoad = (who) => {
1840
1970
  }
1841
1971
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
1842
1972
  };
1973
+ /**
1974
+ * Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
1975
+ * e.g. custom element node. If a build figures out that e.g. no component
1976
+ * has a `componentDidLoad` method, the instance method gets removed from the
1977
+ * output bundle and this function returns `undefined`.
1978
+ * @param instance any object that may or may not contain methods
1979
+ * @param method method name
1980
+ * @param arg single arbitrary argument
1981
+ * @returns result of method call if it exists, otherwise `undefined`
1982
+ */
1843
1983
  const safeCall = (instance, method, arg) => {
1844
1984
  if (instance && instance[method]) {
1845
1985
  try {
@@ -1907,6 +2047,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1907
2047
  * @returns a reference to the same constructor passed in (but now mutated)
1908
2048
  */
1909
2049
  const proxyComponent = (Cstr, cmpMeta, flags) => {
2050
+ var _a;
1910
2051
  if (cmpMeta.$members$) {
1911
2052
  if (Cstr.watchers) {
1912
2053
  cmpMeta.$watchers$ = Cstr.watchers;
@@ -1944,7 +2085,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1944
2085
  });
1945
2086
  if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1946
2087
  const attrNameToPropName = new Map();
1947
- prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
2088
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
1948
2089
  plt.jmp(() => {
1949
2090
  const propName = attrNameToPropName.get(attrName);
1950
2091
  // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
@@ -1967,12 +2108,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1967
2108
  // customElements.define('my-component', MyComponent);
1968
2109
  // </script>
1969
2110
  // ```
1970
- // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
2111
+ // In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
1971
2112
  // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1972
2113
  // to the value that was set inline i.e. "some-value" from above example. When
1973
- // the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
2114
+ // the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
1974
2115
  //
1975
- // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
2116
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
1976
2117
  // by connectedCallback as this attributeChangedCallback will not fire.
1977
2118
  //
1978
2119
  // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
@@ -1992,26 +2133,65 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1992
2133
  // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1993
2134
  return;
1994
2135
  }
2136
+ else if (propName == null) {
2137
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
2138
+ // on a vanilla web component
2139
+ const hostRef = getHostRef(this);
2140
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
2141
+ // We only want to trigger the callback(s) if:
2142
+ // 1. The instance is ready
2143
+ // 2. The watchers are ready
2144
+ // 3. The value has changed
2145
+ if (!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
2146
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
2147
+ newValue !== oldValue) {
2148
+ const instance = hostRef.$lazyInstance$ ;
2149
+ const entry = cmpMeta.$watchers$[attrName];
2150
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
2151
+ if (instance[callbackName] != null) {
2152
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
2153
+ }
2154
+ });
2155
+ }
2156
+ return;
2157
+ }
1995
2158
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1996
2159
  });
1997
2160
  };
1998
- // create an array of attributes to observe
1999
- // and also create a map of html attribute name to js property name
2000
- Cstr.observedAttributes = members
2001
- .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
2002
- .map(([propName, m]) => {
2003
- const attrName = m[1] || propName;
2004
- attrNameToPropName.set(attrName, propName);
2005
- if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
2006
- cmpMeta.$attrsToReflect$.push([propName, attrName]);
2007
- }
2008
- return attrName;
2009
- });
2161
+ // Create an array of attributes to observe
2162
+ // This list in comprised of all strings used within a `@Watch()` decorator
2163
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
2164
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
2165
+ // an invalid attribute.
2166
+ Cstr.observedAttributes = Array.from(new Set([
2167
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
2168
+ ...members
2169
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
2170
+ .map(([propName, m]) => {
2171
+ const attrName = m[1] || propName;
2172
+ attrNameToPropName.set(attrName, propName);
2173
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
2174
+ cmpMeta.$attrsToReflect$.push([propName, attrName]);
2175
+ }
2176
+ return attrName;
2177
+ }),
2178
+ ]));
2010
2179
  }
2011
2180
  }
2012
2181
  return Cstr;
2013
2182
  };
2014
- const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
2183
+ /**
2184
+ * Initialize a Stencil component given a reference to its host element, its
2185
+ * runtime bookkeeping data structure, runtime metadata about the component,
2186
+ * and (optionally) an HMR version ID.
2187
+ *
2188
+ * @param elm a host element
2189
+ * @param hostRef the element's runtime bookkeeping object
2190
+ * @param cmpMeta runtime metadata for the Stencil component
2191
+ * @param hmrVersionId an (optional) HMR version ID
2192
+ */
2193
+ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2194
+ let Cstr;
2015
2195
  // initializeComponent
2016
2196
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
2017
2197
  // Let the runtime know that the component has been initialized
@@ -2066,15 +2246,9 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
2066
2246
  if (Cstr.style) {
2067
2247
  // this component has styles but we haven't registered them yet
2068
2248
  let style = Cstr.style;
2069
- if (typeof style !== 'string') {
2070
- style = style[(hostRef.$modeName$ = computeMode(elm))];
2071
- }
2072
- const scopeId = getScopeId(cmpMeta, hostRef.$modeName$);
2249
+ const scopeId = getScopeId(cmpMeta);
2073
2250
  if (!styles.has(scopeId)) {
2074
2251
  const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
2075
- if (cmpMeta.$flags$ & 8 /* CMP_FLAGS.needsShadowDomShim */) {
2076
- style = await Promise.resolve().then(function () { return require('./shadow-css-3c339190.js'); }).then((m) => m.scopeCss(style, scopeId, false));
2077
- }
2078
2252
  registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
2079
2253
  endRegisterStyles();
2080
2254
  }
@@ -2113,9 +2287,8 @@ const connectedCallback = (elm) => {
2113
2287
  {
2114
2288
  hostId = elm.getAttribute(HYDRATE_ID);
2115
2289
  if (hostId) {
2116
- if (supportsShadow && cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
2117
- const scopeId = addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute('s-mode'))
2118
- ;
2290
+ if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
2291
+ const scopeId = addStyle(elm.shadowRoot, cmpMeta);
2119
2292
  elm.classList.remove(scopeId + '-h', scopeId + '-s');
2120
2293
  }
2121
2294
  initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);
@@ -2126,7 +2299,7 @@ const connectedCallback = (elm) => {
2126
2299
  // if the slot polyfill is required we'll need to put some nodes
2127
2300
  // in here to act as original content anchors as we move nodes around
2128
2301
  // host element has been connected to the DOM
2129
- if ((// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
2302
+ if ((// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
2130
2303
  cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
2131
2304
  setContentReference(elm);
2132
2305
  }
@@ -2170,7 +2343,12 @@ const connectedCallback = (elm) => {
2170
2343
  // since they would have been removed when disconnected
2171
2344
  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2172
2345
  // fire off connectedCallback() on component instance
2173
- fireConnectedCallback(hostRef.$lazyInstance$);
2346
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
2347
+ fireConnectedCallback(hostRef.$lazyInstance$);
2348
+ }
2349
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
2350
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
2351
+ }
2174
2352
  }
2175
2353
  endConnected();
2176
2354
  }
@@ -2186,24 +2364,25 @@ const setContentReference = (elm) => {
2186
2364
  contentRefElm['s-cn'] = true;
2187
2365
  elm.insertBefore(contentRefElm, elm.firstChild);
2188
2366
  };
2189
- const disconnectedCallback = (elm) => {
2367
+ const disconnectInstance = (instance) => {
2368
+ {
2369
+ safeCall(instance, 'disconnectedCallback');
2370
+ }
2371
+ };
2372
+ const disconnectedCallback = async (elm) => {
2190
2373
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
2191
2374
  const hostRef = getHostRef(elm);
2192
- const instance = hostRef.$lazyInstance$ ;
2193
2375
  {
2194
2376
  if (hostRef.$rmListeners$) {
2195
2377
  hostRef.$rmListeners$.map((rmListener) => rmListener());
2196
2378
  hostRef.$rmListeners$ = undefined;
2197
2379
  }
2198
2380
  }
2199
- // clear CSS var-shim tracking
2200
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
2201
- if (plt.$cssShim$) {
2202
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
2203
- plt.$cssShim$.removeHost(elm);
2381
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
2382
+ disconnectInstance(hostRef.$lazyInstance$);
2204
2383
  }
2205
- {
2206
- safeCall(instance, 'disconnectedCallback');
2384
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
2385
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
2207
2386
  }
2208
2387
  }
2209
2388
  };
@@ -2215,7 +2394,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2215
2394
  const customElements = win.customElements;
2216
2395
  const head = doc.head;
2217
2396
  const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
2218
- const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
2397
+ const dataStyles = /*@__PURE__*/ doc.createElement('style');
2219
2398
  const deferredConnectedCallbacks = [];
2220
2399
  const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
2221
2400
  let appLoadFallback;
@@ -2233,14 +2412,21 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2233
2412
  registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);
2234
2413
  }
2235
2414
  }
2415
+ let hasSlotRelocation = false;
2236
2416
  lazyBundles.map((lazyBundle) => {
2237
2417
  lazyBundle[1].map((compactMeta) => {
2418
+ var _a;
2238
2419
  const cmpMeta = {
2239
2420
  $flags$: compactMeta[0],
2240
2421
  $tagName$: compactMeta[1],
2241
2422
  $members$: compactMeta[2],
2242
2423
  $listeners$: compactMeta[3],
2243
2424
  };
2425
+ // Check if we are using slots outside the shadow DOM in this component.
2426
+ // We'll use this information later to add styles for `slot-fb` elements
2427
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
2428
+ hasSlotRelocation = true;
2429
+ }
2244
2430
  {
2245
2431
  cmpMeta.$members$ = compactMeta[2];
2246
2432
  }
@@ -2251,11 +2437,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2251
2437
  cmpMeta.$attrsToReflect$ = [];
2252
2438
  }
2253
2439
  {
2254
- cmpMeta.$watchers$ = {};
2255
- }
2256
- if (!supportsShadow && cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
2257
- // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
2258
- cmpMeta.$flags$ |= 8 /* CMP_FLAGS.needsShadowDomShim */;
2440
+ cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
2259
2441
  }
2260
2442
  const tagName = cmpMeta.$tagName$;
2261
2443
  const HostElement = class extends HTMLElement {
@@ -2270,14 +2452,11 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2270
2452
  // and this browser supports shadow dom
2271
2453
  // add the read-only property "shadowRoot" to the host element
2272
2454
  // adding the shadow root build conditionals to minimize runtime
2273
- if (supportsShadow) {
2455
+ {
2274
2456
  {
2275
2457
  self.attachShadow({ mode: 'open' });
2276
2458
  }
2277
2459
  }
2278
- else if (!('shadowRoot' in self)) {
2279
- self.shadowRoot = self;
2280
- }
2281
2460
  }
2282
2461
  }
2283
2462
  connectedCallback() {
@@ -2307,15 +2486,23 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2307
2486
  }
2308
2487
  });
2309
2488
  });
2489
+ // Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
2490
+ if (hasSlotRelocation) {
2491
+ dataStyles.innerHTML += SLOT_FB_CSS;
2492
+ }
2493
+ // Add hydration styles
2310
2494
  {
2311
- visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
2312
- visibilityStyle.setAttribute('data-styles', '');
2495
+ dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
2496
+ }
2497
+ // If we have styles, add them to the DOM
2498
+ if (dataStyles.innerHTML.length) {
2499
+ dataStyles.setAttribute('data-styles', '');
2500
+ head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
2313
2501
  // Apply CSP nonce to the style tag if it exists
2314
2502
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
2315
2503
  if (nonce != null) {
2316
- visibilityStyle.setAttribute('nonce', nonce);
2504
+ dataStyles.setAttribute('nonce', nonce);
2317
2505
  }
2318
- head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
2319
2506
  }
2320
2507
  // Process deferred connectedCallbacks now all components have been registered
2321
2508
  isBootstrapping = false;
@@ -2373,13 +2560,40 @@ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !==
2373
2560
  * @returns void
2374
2561
  */
2375
2562
  const setNonce = (nonce) => (plt.$nonce$ = nonce);
2563
+ /**
2564
+ * A WeakMap mapping runtime component references to their corresponding host reference
2565
+ * instances.
2566
+ */
2376
2567
  const hostRefs = /*@__PURE__*/ new WeakMap();
2568
+ /**
2569
+ * Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
2570
+ *
2571
+ * @param ref the runtime ref of interest
2572
+ * @returns the Host reference (if found) or undefined
2573
+ */
2377
2574
  const getHostRef = (ref) => hostRefs.get(ref);
2575
+ /**
2576
+ * Register a lazy instance with the {@link hostRefs} object so it's
2577
+ * corresponding {@link d.HostRef} can be retrieved later.
2578
+ *
2579
+ * @param lazyInstance the lazy instance of interest
2580
+ * @param hostRef that instances `HostRef` object
2581
+ * @returns a reference to the host ref WeakMap
2582
+ */
2378
2583
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
2379
- const registerHost = (elm, cmpMeta) => {
2584
+ /**
2585
+ * Register a host element for a Stencil component, setting up various metadata
2586
+ * and callbacks based on {@link BUILD} flags as well as the component's runtime
2587
+ * metadata.
2588
+ *
2589
+ * @param hostElement the host element to register
2590
+ * @param cmpMeta runtime metadata for that component
2591
+ * @returns a reference to the host ref WeakMap
2592
+ */
2593
+ const registerHost = (hostElement, cmpMeta) => {
2380
2594
  const hostRef = {
2381
2595
  $flags$: 0,
2382
- $hostElement$: elm,
2596
+ $hostElement$: hostElement,
2383
2597
  $cmpMeta$: cmpMeta,
2384
2598
  $instanceValues$: new Map(),
2385
2599
  };
@@ -2388,11 +2602,11 @@ const registerHost = (elm, cmpMeta) => {
2388
2602
  }
2389
2603
  {
2390
2604
  hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
2391
- elm['s-p'] = [];
2392
- elm['s-rc'] = [];
2605
+ hostElement['s-p'] = [];
2606
+ hostElement['s-rc'] = [];
2393
2607
  }
2394
- addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2395
- return hostRefs.set(elm, hostRef);
2608
+ addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$);
2609
+ return hostRefs.set(hostElement, hostRef);
2396
2610
  };
2397
2611
  const isMemberInElement = (elm, memberName) => memberName in elm;
2398
2612
  const consoleError = (e, el) => (0, console.error)(e, el);
@@ -2660,10 +2874,7 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2660
2874
  }, consoleError);
2661
2875
  };
2662
2876
  const styles = /*@__PURE__*/ new Map();
2663
- const modeResolutionChain = [];
2664
2877
  const win = typeof window !== 'undefined' ? window : {};
2665
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
2666
- const CSS = win.CSS ;
2667
2878
  const doc = win.document || { head: {} };
2668
2879
  const plt = {
2669
2880
  $flags$: 0,
@@ -2675,9 +2886,8 @@ const plt = {
2675
2886
  ce: (eventName, opts) => new CustomEvent(eventName, opts),
2676
2887
  };
2677
2888
  const supportsShadow =
2678
- // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
2679
- /*@__PURE__*/ (() => (doc.head.attachShadow + '').indexOf('[native') > -1)()
2680
- ;
2889
+ // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
2890
+ true;
2681
2891
  const promiseResolve = (v) => Promise.resolve(v);
2682
2892
  const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
2683
2893
  try {
@@ -2728,23 +2938,17 @@ const flush = () => {
2728
2938
  }
2729
2939
  }
2730
2940
  };
2731
- const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
2941
+ const nextTick = (cb) => promiseResolve().then(cb);
2732
2942
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
2733
2943
 
2734
- exports.CSS = CSS;
2735
2944
  exports.Host = Host;
2736
- exports.NAMESPACE = NAMESPACE;
2737
2945
  exports.bootstrapLazy = bootstrapLazy;
2738
2946
  exports.createEvent = createEvent;
2739
- exports.doc = doc;
2740
2947
  exports.getAssetPath = getAssetPath;
2741
2948
  exports.getElement = getElement;
2742
2949
  exports.h = h;
2743
- exports.plt = plt;
2744
2950
  exports.promiseResolve = promiseResolve;
2745
2951
  exports.registerInstance = registerInstance;
2746
- exports.setMode = setMode;
2747
2952
  exports.setNonce = setNonce;
2748
- exports.win = win;
2749
2953
 
2750
- //# sourceMappingURL=index-e4bd5b5f.js.map
2954
+ //# sourceMappingURL=index-12592729.js.map