@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
@@ -1,4 +1,5 @@
1
1
  const NAMESPACE = 'roadtrip';
2
+ 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 };
2
3
 
3
4
  /**
4
5
  * Virtual DOM patching algorithm based on Snabbdom by
@@ -42,6 +43,13 @@ const HYDRATE_ID = 's-id';
42
43
  const HYDRATED_STYLE_ID = 'sty-id';
43
44
  const HYDRATE_CHILD_ID = 'c-id';
44
45
  const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
46
+ /**
47
+ * Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
48
+ *
49
+ * Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
50
+ * support as of Stencil v4.
51
+ */
52
+ const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
45
53
  const XLINK_NS = 'http://www.w3.org/1999/xlink';
46
54
  /**
47
55
  * Default style mode id
@@ -122,13 +130,13 @@ const h = (nodeName, vnodeData, ...children) => {
122
130
  };
123
131
  walk(children);
124
132
  if (vnodeData) {
125
- // normalize class / classname attributes
126
133
  if (vnodeData.key) {
127
134
  key = vnodeData.key;
128
135
  }
129
136
  if (vnodeData.name) {
130
137
  slotName = vnodeData.name;
131
138
  }
139
+ // normalize class / className attributes
132
140
  {
133
141
  const classData = vnodeData.className || vnodeData.class;
134
142
  if (classData) {
@@ -374,7 +382,7 @@ const clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes
374
382
  }
375
383
  }
376
384
  else if (childVNode.$hostId$ === hostId) {
377
- // this comment node is specifcally for this host id
385
+ // this comment node is specifically for this host id
378
386
  if (childNodeType === SLOT_NODE_ID) {
379
387
  // `${SLOT_NODE_ID}.${hostId}.${nodeId}.${depth}.${index}.${slotName}`;
380
388
  childVNode.$tag$ = 'slot';
@@ -451,10 +459,6 @@ const initializeDocumentHydrate = (node, orgLocNodes) => {
451
459
  }
452
460
  }
453
461
  };
454
- // Private
455
- const computeMode = (elm) => modeResolutionChain.map((h) => h(elm)).find((m) => !!m);
456
- // Public
457
- const setMode = (handler) => modeResolutionChain.push(handler);
458
462
  /**
459
463
  * Parse a new property value for a given property type.
460
464
  *
@@ -545,9 +549,9 @@ const registerStyle = (scopeId, cssText, allowCS) => {
545
549
  }
546
550
  styles.set(scopeId, style);
547
551
  };
548
- const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
552
+ const addStyle = (styleContainerNode, cmpMeta, mode) => {
549
553
  var _a;
550
- let scopeId = getScopeId(cmpMeta, mode);
554
+ const scopeId = getScopeId(cmpMeta);
551
555
  const style = styles.get(scopeId);
552
556
  // if an element is NOT connected then getRootNode() will return the wrong root node
553
557
  // so the fallback is to always use the document for the root node in those cases
@@ -567,25 +571,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
567
571
  styleElm.innerHTML = style;
568
572
  }
569
573
  else {
570
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
571
- if (plt.$cssShim$) {
572
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
573
- styleElm = plt.$cssShim$.createHostStyle(hostElm, scopeId, style,
574
- // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
575
- !!(cmpMeta.$flags$ & 10 /* CMP_FLAGS.needsScopedEncapsulation */));
576
- const newScopeId = styleElm['s-sc'];
577
- if (newScopeId) {
578
- scopeId = newScopeId;
579
- // we don't want to add this styleID to the appliedStyles Set
580
- // since the cssVarShim might need to apply several different
581
- // stylesheets for the same component
582
- appliedStyles = null;
583
- }
584
- }
585
- else {
586
- styleElm = doc.createElement('style');
587
- styleElm.innerHTML = style;
588
- }
574
+ styleElm = doc.createElement('style');
575
+ styleElm.innerHTML = style;
589
576
  // Apply CSP nonce to the style tag if it exists
590
577
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
591
578
  if (nonce != null) {
@@ -593,6 +580,10 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
593
580
  }
594
581
  styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
595
582
  }
583
+ // Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
584
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
585
+ styleElm.innerHTML += SLOT_FB_CSS;
586
+ }
596
587
  if (appliedStyles) {
597
588
  appliedStyles.add(scopeId);
598
589
  }
@@ -609,8 +600,7 @@ const attachStyles = (hostRef) => {
609
600
  const elm = hostRef.$hostElement$;
610
601
  const flags = cmpMeta.$flags$;
611
602
  const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
612
- const scopeId = addStyle(supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta, hostRef.$modeName$, elm);
613
- // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
603
+ const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
614
604
  if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
615
605
  // only required when we're NOT using native shadow dom (slot)
616
606
  // or this browser doesn't support native shadow dom
@@ -627,7 +617,7 @@ const attachStyles = (hostRef) => {
627
617
  }
628
618
  endAttachStyles();
629
619
  };
630
- const getScopeId = (cmp, mode) => 'sc-' + (mode && cmp.$flags$ & 32 /* CMP_FLAGS.hasMode */ ? cmp.$tagName$ + '-' + mode : cmp.$tagName$);
620
+ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
631
621
  const convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, '$1{');
632
622
  /**
633
623
  * Production setAccessor() function based on Preact by
@@ -637,6 +627,21 @@ const convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g
637
627
  *
638
628
  * Modified for Stencil's compiler and vdom
639
629
  */
630
+ /**
631
+ * When running a VDom render set properties present on a VDom node onto the
632
+ * corresponding HTML element.
633
+ *
634
+ * Note that this function has special functionality for the `class`,
635
+ * `style`, `key`, and `ref` attributes, as well as event handlers (like
636
+ * `onClick`, etc). All others are just passed through as-is.
637
+ *
638
+ * @param elm the HTMLElement onto which attributes should be set
639
+ * @param memberName the name of the attribute to set
640
+ * @param oldValue the old value for the attribute
641
+ * @param newValue the new value for the attribute
642
+ * @param isSvg whether we're in an svg context or not
643
+ * @param flags bitflags for Vdom variables
644
+ */
640
645
  const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
641
646
  if (oldValue !== newValue) {
642
647
  let isProp = isMemberInElement(elm, memberName);
@@ -713,11 +718,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
713
718
  // except for the first character, we keep the event name case
714
719
  memberName = ln[2] + memberName.slice(3);
715
720
  }
716
- if (oldValue) {
717
- plt.rel(elm, memberName, oldValue, false);
718
- }
719
- if (newValue) {
720
- plt.ael(elm, memberName, newValue, false);
721
+ if (oldValue || newValue) {
722
+ // Need to account for "capture" events.
723
+ // If the event name ends with "Capture", we'll update the name to remove
724
+ // the "Capture" suffix and make sure the event listener is setup to handle the capture event.
725
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
726
+ // Make sure we only replace the last instance of "Capture"
727
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
728
+ if (oldValue) {
729
+ plt.rel(elm, memberName, oldValue, capture);
730
+ }
731
+ if (newValue) {
732
+ plt.ael(elm, memberName, newValue, capture);
733
+ }
721
734
  }
722
735
  }
723
736
  else {
@@ -779,6 +792,8 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
779
792
  };
780
793
  const parseClassListRegex = /\s/;
781
794
  const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
795
+ const CAPTURE_EVENT_SUFFIX = 'Capture';
796
+ const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
782
797
  const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
783
798
  // if the element passed in is a shadow root, which is a document fragment
784
799
  // then we want to be adding attrs/props to the shadow root's "host" element
@@ -812,6 +827,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
812
827
  * @returns the newly created node
813
828
  */
814
829
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
830
+ var _a;
815
831
  // tslint:disable-next-line: prefer-const
816
832
  const newVNode = newParentVNode.$children$[childIndex];
817
833
  let i = 0;
@@ -890,6 +906,8 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
890
906
  if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
891
907
  // remember the content reference comment
892
908
  elm['s-sr'] = true;
909
+ // Persist the name of the slot that this slot was going to be projected into.
910
+ elm['s-fs'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.slot;
893
911
  // remember the content reference comment
894
912
  elm['s-cr'] = contentRef;
895
913
  // remember the slot name, or empty string for default slot
@@ -906,6 +924,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
906
924
  return elm;
907
925
  };
908
926
  const putBackInOriginalLocation = (parentElm, recursive) => {
927
+ var _a;
909
928
  plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
910
929
  const oldSlotChildNodes = parentElm.childNodes;
911
930
  for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
@@ -918,9 +937,17 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
918
937
  parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
919
938
  // remove the old original location comment entirely
920
939
  // later on the patch function will know what to do
921
- // and move this to the correct spot in need be
940
+ // and move this to the correct spot if need be
922
941
  childNode['s-ol'].remove();
923
942
  childNode['s-ol'] = undefined;
943
+ // Reset so we can correctly move the node around again.
944
+ childNode['s-sh'] = undefined;
945
+ // When putting an element node back in its original location,
946
+ // we need to reset the `slot` attribute back to the value it originally had
947
+ // so we can correctly relocate it again in the future
948
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
949
+ childNode.setAttribute('slot', (_a = childNode['s-sn']) !== null && _a !== void 0 ? _a : '');
950
+ }
924
951
  checkSlotRelocate = true;
925
952
  }
926
953
  if (recursive) {
@@ -1344,42 +1371,53 @@ const patch = (oldVNode, newVNode) => {
1344
1371
  elm.data = text;
1345
1372
  }
1346
1373
  };
1374
+ /**
1375
+ * Adjust the `.hidden` property as-needed on any nodes in a DOM subtree which
1376
+ * are slot fallbacks nodes.
1377
+ *
1378
+ * A slot fallback node should be visible by default. Then, it should be
1379
+ * conditionally hidden if:
1380
+ *
1381
+ * - it has a sibling with a `slot` property set to its slot name or if
1382
+ * - it is a default fallback slot node, in which case we hide if it has any
1383
+ * content
1384
+ *
1385
+ * @param elm the element of interest
1386
+ */
1347
1387
  const updateFallbackSlotVisibility = (elm) => {
1348
- // tslint:disable-next-line: prefer-const
1349
1388
  const childNodes = elm.childNodes;
1350
- let childNode;
1351
- let i;
1352
- let ilen;
1353
- let j;
1354
- let slotNameAttr;
1355
- let nodeType;
1356
- for (i = 0, ilen = childNodes.length; i < ilen; i++) {
1357
- childNode = childNodes[i];
1389
+ for (const childNode of childNodes) {
1358
1390
  if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1359
1391
  if (childNode['s-sr']) {
1360
1392
  // this is a slot fallback node
1361
1393
  // get the slot name for this slot reference node
1362
- slotNameAttr = childNode['s-sn'];
1394
+ const slotName = childNode['s-sn'];
1363
1395
  // by default always show a fallback slot node
1364
1396
  // then hide it if there are other slots in the light dom
1365
1397
  childNode.hidden = false;
1366
- for (j = 0; j < ilen; j++) {
1367
- nodeType = childNodes[j].nodeType;
1368
- if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
1369
- // this sibling node is from a different component OR is a named fallback slot node
1370
- if (nodeType === 1 /* NODE_TYPE.ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
1371
- childNode.hidden = true;
1372
- break;
1398
+ // we need to check all of its sibling nodes in order to see if
1399
+ // `childNode` should be hidden
1400
+ for (const siblingNode of childNodes) {
1401
+ // Don't check the node against itself
1402
+ if (siblingNode !== childNode) {
1403
+ if (siblingNode['s-hn'] !== childNode['s-hn'] || slotName !== '') {
1404
+ // this sibling node is from a different component OR is a named
1405
+ // fallback slot node
1406
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ &&
1407
+ (slotName === siblingNode.getAttribute('slot') || slotName === siblingNode['s-sn'])) {
1408
+ childNode.hidden = true;
1409
+ break;
1410
+ }
1373
1411
  }
1374
- }
1375
- else {
1376
- // this is a default fallback slot node
1377
- // any element or text node (with content)
1378
- // should hide the default fallback slot node
1379
- if (nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1380
- (nodeType === 3 /* NODE_TYPE.TextNode */ && childNodes[j].textContent.trim() !== '')) {
1381
- childNode.hidden = true;
1382
- break;
1412
+ else {
1413
+ // this is a default fallback slot node
1414
+ // any element or text node (with content)
1415
+ // should hide the default fallback slot node
1416
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1417
+ (siblingNode.nodeType === 3 /* NODE_TYPE.TextNode */ && siblingNode.textContent.trim() !== '')) {
1418
+ childNode.hidden = true;
1419
+ break;
1420
+ }
1383
1421
  }
1384
1422
  }
1385
1423
  }
@@ -1389,45 +1427,67 @@ const updateFallbackSlotVisibility = (elm) => {
1389
1427
  }
1390
1428
  }
1391
1429
  };
1430
+ /**
1431
+ * Component-global information about nodes which are either currently being
1432
+ * relocated or will be shortly.
1433
+ */
1392
1434
  const relocateNodes = [];
1393
- const relocateSlotContent = (elm) => {
1435
+ /**
1436
+ * Mark the contents of a slot for relocation via adding references to them to
1437
+ * the {@link relocateNodes} data structure. The actual work of relocating them
1438
+ * will then be handled in {@link renderVdom}.
1439
+ *
1440
+ * @param elm a render node whose child nodes need to be relocated
1441
+ */
1442
+ const markSlotContentForRelocation = (elm) => {
1394
1443
  // tslint:disable-next-line: prefer-const
1395
- let childNode;
1396
1444
  let node;
1397
1445
  let hostContentNodes;
1398
- let slotNameAttr;
1399
- let relocateNodeData;
1400
1446
  let j;
1401
- let i = 0;
1402
- const childNodes = elm.childNodes;
1403
- const ilen = childNodes.length;
1404
- for (; i < ilen; i++) {
1405
- childNode = childNodes[i];
1447
+ for (const childNode of elm.childNodes) {
1448
+ // we need to find child nodes which are slot references so we can then try
1449
+ // to match them up with nodes that need to be relocated
1406
1450
  if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
1407
- // first got the content reference comment node
1408
- // then we got it's parent, which is where all the host content is in now
1451
+ // first get the content reference comment node ('s-cr'), then we get
1452
+ // its parent, which is where all the host content is now
1409
1453
  hostContentNodes = node.parentNode.childNodes;
1410
- slotNameAttr = childNode['s-sn'];
1454
+ const slotName = childNode['s-sn'];
1455
+ // iterate through all the nodes under the location where the host was
1456
+ // originally rendered
1411
1457
  for (j = hostContentNodes.length - 1; j >= 0; j--) {
1412
1458
  node = hostContentNodes[j];
1413
- if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
1414
- // let's do some relocating to its new home
1415
- // but never relocate a content reference node
1416
- // that is suppose to always represent the original content location
1417
- if (isNodeLocatedInSlot(node, slotNameAttr)) {
1459
+ // check that the node is not a content reference node or a node
1460
+ // reference and then check that the host name does not match that of
1461
+ // childNode.
1462
+ // In addition, check that the slot either has not already been relocated, or
1463
+ // that its current location's host is not childNode's host. This is essentially
1464
+ // a check so that we don't try to relocate (and then hide) a node that is already
1465
+ // where it should be.
1466
+ if (!node['s-cn'] &&
1467
+ !node['s-nr'] &&
1468
+ node['s-hn'] !== childNode['s-hn'] &&
1469
+ (!BUILD.experimentalSlotFixes )) {
1470
+ // if `node` is located in the slot that `childNode` refers to (via the
1471
+ // `'s-sn'` property) then we need to relocate it from it's current spot
1472
+ // (under the host element parent) to the right slot location
1473
+ if (isNodeLocatedInSlot(node, slotName)) {
1418
1474
  // it's possible we've already decided to relocate this node
1419
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1475
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1420
1476
  // made some changes to slots
1421
1477
  // let's make sure we also double check
1422
1478
  // fallbacks are correctly hidden or shown
1423
1479
  checkSlotFallbackVisibility = true;
1424
- node['s-sn'] = node['s-sn'] || slotNameAttr;
1480
+ // ensure that the slot-name attr is correct
1481
+ node['s-sn'] = node['s-sn'] || slotName;
1425
1482
  if (relocateNodeData) {
1426
- // previously we never found a slot home for this node
1427
- // but turns out we did, so let's remember it now
1483
+ relocateNodeData.$nodeToRelocate$['s-sh'] = childNode['s-hn'];
1484
+ // we marked this node for relocation previously but didn't find
1485
+ // out the slot reference node to which it needs to be relocated
1486
+ // so write it down now!
1428
1487
  relocateNodeData.$slotRefNode$ = childNode;
1429
1488
  }
1430
1489
  else {
1490
+ node['s-sh'] = childNode['s-hn'];
1431
1491
  // add to our list of nodes to relocate
1432
1492
  relocateNodes.push({
1433
1493
  $slotRefNode$: childNode,
@@ -1446,8 +1506,10 @@ const relocateSlotContent = (elm) => {
1446
1506
  }
1447
1507
  }
1448
1508
  else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1449
- // so far this element does not have a slot home, not setting slotRefNode on purpose
1450
- // if we never find a home for this element then we'll need to hide it
1509
+ // the node is not found within the slot (`childNode`) that we're
1510
+ // currently looking at, so we stick it into `relocateNodes` to
1511
+ // handle later. If we never find a home for this element then
1512
+ // we'll need to hide it
1451
1513
  relocateNodes.push({
1452
1514
  $nodeToRelocate$: node,
1453
1515
  });
@@ -1455,30 +1517,41 @@ const relocateSlotContent = (elm) => {
1455
1517
  }
1456
1518
  }
1457
1519
  }
1520
+ // if we're dealing with any type of element (capable of itself being a
1521
+ // slot reference or containing one) then we recur
1458
1522
  if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1459
- relocateSlotContent(childNode);
1523
+ markSlotContentForRelocation(childNode);
1460
1524
  }
1461
1525
  }
1462
1526
  };
1463
- const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
1527
+ /**
1528
+ * Check whether a node is located in a given named slot.
1529
+ *
1530
+ * @param nodeToRelocate the node of interest
1531
+ * @param slotName the slot name to check
1532
+ * @returns whether the node is located in the slot or not
1533
+ */
1534
+ const isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
1464
1535
  if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1465
- if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
1536
+ if (nodeToRelocate.getAttribute('slot') === null && slotName === '') {
1537
+ // if the node doesn't have a slot attribute, and the slot we're checking
1538
+ // is not a named slot, then we assume the node should be within the slot
1466
1539
  return true;
1467
1540
  }
1468
- if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
1541
+ if (nodeToRelocate.getAttribute('slot') === slotName) {
1469
1542
  return true;
1470
1543
  }
1471
1544
  return false;
1472
1545
  }
1473
- if (nodeToRelocate['s-sn'] === slotNameAttr) {
1546
+ if (nodeToRelocate['s-sn'] === slotName) {
1474
1547
  return true;
1475
1548
  }
1476
- return slotNameAttr === '';
1549
+ return slotName === '';
1477
1550
  };
1478
1551
  /**
1479
- * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by
1480
- * calling them with `null`. This signals that the DOM element corresponding to
1481
- * the VDom node has been removed from the DOM.
1552
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
1553
+ * them with `null`. This signals that the DOM element corresponding to the VDom
1554
+ * node has been removed from the DOM.
1482
1555
  *
1483
1556
  * @param vNode a virtual DOM node
1484
1557
  */
@@ -1499,17 +1572,45 @@ const nullifyVNodeRefs = (vNode) => {
1499
1572
  * @param hostRef data needed to root and render the virtual DOM tree, such as
1500
1573
  * the DOM node into which it should be rendered.
1501
1574
  * @param renderFnResults the virtual DOM nodes to be rendered
1575
+ * @param isInitialLoad whether or not this is the first call after page load
1502
1576
  */
1503
- const renderVdom = (hostRef, renderFnResults) => {
1577
+ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1578
+ var _a, _b;
1504
1579
  const hostElm = hostRef.$hostElement$;
1505
1580
  const cmpMeta = hostRef.$cmpMeta$;
1506
1581
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1582
+ // if `renderFnResults` is a Host node then we can use it directly. If not,
1583
+ // we need to call `h` again to wrap the children of our component in a
1584
+ // 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
1585
+ // implicitly that the top-level vdom node is 1) an only child and 2)
1586
+ // contains attrs that need to be set on the host element.
1507
1587
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
1508
1588
  hostTagName = hostElm.tagName;
1509
1589
  if (cmpMeta.$attrsToReflect$) {
1510
1590
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1511
1591
  cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
1512
1592
  }
1593
+ // On the first render and *only* on the first render we want to check for
1594
+ // any attributes set on the host element which are also set on the vdom
1595
+ // node. If we find them, we override the value on the VDom node attrs with
1596
+ // the value from the host element, which allows developers building apps
1597
+ // with Stencil components to override e.g. the `role` attribute on a
1598
+ // component even if it's already set on the `Host`.
1599
+ if (isInitialLoad && rootVnode.$attrs$) {
1600
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1601
+ // We have a special implementation in `setAccessor` for `style` and
1602
+ // `class` which reconciles values coming from the VDom with values
1603
+ // already present on the DOM element, so we don't want to override those
1604
+ // attributes on the VDom tree with values from the host element if they
1605
+ // are present.
1606
+ //
1607
+ // Likewise, `ref` and `key` are special internal values for the Stencil
1608
+ // runtime and we don't want to override those either.
1609
+ if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
1610
+ rootVnode.$attrs$[key] = hostElm[key];
1611
+ }
1612
+ }
1613
+ }
1513
1614
  rootVnode.$tag$ = null;
1514
1615
  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
1515
1616
  hostRef.$vnode$ = rootVnode;
@@ -1519,7 +1620,7 @@ const renderVdom = (hostRef, renderFnResults) => {
1519
1620
  }
1520
1621
  {
1521
1622
  contentRef = hostElm['s-cr'];
1522
- useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1623
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1523
1624
  // always reset
1524
1625
  checkSlotFallbackVisibility = false;
1525
1626
  }
@@ -1530,43 +1631,48 @@ const renderVdom = (hostRef, renderFnResults) => {
1530
1631
  // the disconnectCallback from working
1531
1632
  plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1532
1633
  if (checkSlotRelocate) {
1533
- relocateSlotContent(rootVnode.$elm$);
1534
- let relocateData;
1535
- let nodeToRelocate;
1536
- let orgLocationNode;
1537
- let parentNodeRef;
1538
- let insertBeforeNode;
1539
- let refNode;
1540
- let i = 0;
1541
- for (; i < relocateNodes.length; i++) {
1542
- relocateData = relocateNodes[i];
1543
- nodeToRelocate = relocateData.$nodeToRelocate$;
1634
+ markSlotContentForRelocation(rootVnode.$elm$);
1635
+ for (const relocateData of relocateNodes) {
1636
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1544
1637
  if (!nodeToRelocate['s-ol']) {
1545
1638
  // add a reference node marking this node's original location
1546
1639
  // keep a reference to this node for later lookups
1547
- orgLocationNode =
1548
- doc.createTextNode('');
1640
+ const orgLocationNode = doc.createTextNode('');
1549
1641
  orgLocationNode['s-nr'] = nodeToRelocate;
1550
1642
  nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
1551
1643
  }
1552
1644
  }
1553
- for (i = 0; i < relocateNodes.length; i++) {
1554
- relocateData = relocateNodes[i];
1555
- nodeToRelocate = relocateData.$nodeToRelocate$;
1556
- if (relocateData.$slotRefNode$) {
1557
- // by default we're just going to insert it directly
1558
- // after the slot reference node
1559
- parentNodeRef = relocateData.$slotRefNode$.parentNode;
1560
- insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
1561
- orgLocationNode = nodeToRelocate['s-ol'];
1562
- while ((orgLocationNode = orgLocationNode.previousSibling)) {
1563
- refNode = orgLocationNode['s-nr'];
1564
- if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1565
- refNode = refNode.nextSibling;
1566
- if (!refNode || !refNode['s-nr']) {
1567
- insertBeforeNode = refNode;
1568
- break;
1645
+ for (const relocateData of relocateNodes) {
1646
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1647
+ const slotRefNode = relocateData.$slotRefNode$;
1648
+ if (slotRefNode) {
1649
+ const parentNodeRef = slotRefNode.parentNode;
1650
+ // When determining where to insert content, the most simple case would be
1651
+ // to relocate the node immediately following the slot reference node. We do this
1652
+ // by getting a reference to the node immediately following the slot reference node
1653
+ // since we will use `insertBefore` to manipulate the DOM.
1654
+ //
1655
+ // If there is no node immediately following the slot reference node, then we will just
1656
+ // end up appending the node as the last child of the parent.
1657
+ let insertBeforeNode = slotRefNode.nextSibling;
1658
+ // If the node we're currently planning on inserting the new node before is an element,
1659
+ // we need to do some additional checks to make sure we're inserting the node in the correct order.
1660
+ // The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
1661
+ // to make sure they get inserted into their new how in the same order they were declared in their original location.
1662
+ //
1663
+ // TODO(STENCIL-914): Remove `experimentalSlotFixes` check
1664
+ {
1665
+ let orgLocationNode = (_a = nodeToRelocate['s-ol']) === null || _a === void 0 ? void 0 : _a.previousSibling;
1666
+ while (orgLocationNode) {
1667
+ let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
1668
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1669
+ refNode = refNode.nextSibling;
1670
+ if (!refNode || !refNode['s-nr']) {
1671
+ insertBeforeNode = refNode;
1672
+ break;
1673
+ }
1569
1674
  }
1675
+ orgLocationNode = orgLocationNode.previousSibling;
1570
1676
  }
1571
1677
  }
1572
1678
  if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
@@ -1576,10 +1682,13 @@ const renderVdom = (hostRef, renderFnResults) => {
1576
1682
  // has a different next sibling or parent relocated
1577
1683
  if (nodeToRelocate !== insertBeforeNode) {
1578
1684
  if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
1579
- // probably a component in the index.html that doesn't have it's hostname set
1685
+ // probably a component in the index.html that doesn't have its hostname set
1580
1686
  nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
1581
1687
  }
1582
- // add it back to the dom but in its new home
1688
+ // Add it back to the dom but in its new home
1689
+ // If we get to this point and `insertBeforeNode` is `null`, that means
1690
+ // we're just going to append the node as the last child of the parent. Passing
1691
+ // `null` as the second arg here will trigger that behavior.
1583
1692
  parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1584
1693
  }
1585
1694
  }
@@ -1700,6 +1809,16 @@ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.th
1700
1809
  */
1701
1810
  const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1702
1811
  (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
1812
+ /**
1813
+ * Update a component given reference to its host elements and so on.
1814
+ *
1815
+ * @param hostRef an object containing references to the element's host node,
1816
+ * VDom nodes, and other metadata
1817
+ * @param instance a reference to the underlying host element where it will be
1818
+ * rendered
1819
+ * @param isInitialLoad whether or not this function is being called as part of
1820
+ * the first render cycle
1821
+ */
1703
1822
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
1704
1823
  var _a;
1705
1824
  const elm = hostRef.$hostElement$;
@@ -1711,12 +1830,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1711
1830
  }
1712
1831
  const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
1713
1832
  {
1714
- callRender(hostRef, instance);
1715
- }
1716
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
1717
- if (plt.$cssShim$) {
1718
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
1719
- plt.$cssShim$.updateHost(elm);
1833
+ callRender(hostRef, instance, elm, isInitialLoad);
1720
1834
  }
1721
1835
  if (rc) {
1722
1836
  // ok, so turns out there are some child host elements
@@ -1740,8 +1854,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1740
1854
  }
1741
1855
  }
1742
1856
  };
1743
- const callRender = (hostRef, instance, elm) => {
1857
+ /**
1858
+ * Handle making the call to the VDom renderer with the proper context given
1859
+ * various build variables
1860
+ *
1861
+ * @param hostRef an object containing references to the element's host node,
1862
+ * VDom nodes, and other metadata
1863
+ * @param instance a reference to the underlying host element where it will be
1864
+ * rendered
1865
+ * @param elm the Host element for the component
1866
+ * @param isInitialLoad whether or not this function is being called as part of
1867
+ * @returns an empty promise
1868
+ */
1869
+ const callRender = (hostRef, instance, elm, isInitialLoad) => {
1744
1870
  try {
1871
+ /**
1872
+ * minification optimization: `allRenderFn` is `true` if all components have a `render`
1873
+ * method, so we can call the method immediately. If not, check before calling it.
1874
+ */
1745
1875
  instance = instance.render() ;
1746
1876
  {
1747
1877
  hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
@@ -1755,7 +1885,7 @@ const callRender = (hostRef, instance, elm) => {
1755
1885
  // or we need to update the css class/attrs on the host element
1756
1886
  // DOM WRITE!
1757
1887
  {
1758
- renderVdom(hostRef, instance);
1888
+ renderVdom(hostRef, instance, isInitialLoad);
1759
1889
  }
1760
1890
  }
1761
1891
  }
@@ -1818,6 +1948,16 @@ const appDidLoad = (who) => {
1818
1948
  }
1819
1949
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
1820
1950
  };
1951
+ /**
1952
+ * Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
1953
+ * e.g. custom element node. If a build figures out that e.g. no component
1954
+ * has a `componentDidLoad` method, the instance method gets removed from the
1955
+ * output bundle and this function returns `undefined`.
1956
+ * @param instance any object that may or may not contain methods
1957
+ * @param method method name
1958
+ * @param arg single arbitrary argument
1959
+ * @returns result of method call if it exists, otherwise `undefined`
1960
+ */
1821
1961
  const safeCall = (instance, method, arg) => {
1822
1962
  if (instance && instance[method]) {
1823
1963
  try {
@@ -1885,6 +2025,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1885
2025
  * @returns a reference to the same constructor passed in (but now mutated)
1886
2026
  */
1887
2027
  const proxyComponent = (Cstr, cmpMeta, flags) => {
2028
+ var _a;
1888
2029
  if (cmpMeta.$members$) {
1889
2030
  if (Cstr.watchers) {
1890
2031
  cmpMeta.$watchers$ = Cstr.watchers;
@@ -1922,7 +2063,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1922
2063
  });
1923
2064
  if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1924
2065
  const attrNameToPropName = new Map();
1925
- prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
2066
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
1926
2067
  plt.jmp(() => {
1927
2068
  const propName = attrNameToPropName.get(attrName);
1928
2069
  // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
@@ -1945,12 +2086,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1945
2086
  // customElements.define('my-component', MyComponent);
1946
2087
  // </script>
1947
2088
  // ```
1948
- // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
2089
+ // In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
1949
2090
  // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1950
2091
  // to the value that was set inline i.e. "some-value" from above example. When
1951
- // the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
2092
+ // the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
1952
2093
  //
1953
- // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
2094
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
1954
2095
  // by connectedCallback as this attributeChangedCallback will not fire.
1955
2096
  //
1956
2097
  // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
@@ -1970,26 +2111,65 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1970
2111
  // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1971
2112
  return;
1972
2113
  }
2114
+ else if (propName == null) {
2115
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
2116
+ // on a vanilla web component
2117
+ const hostRef = getHostRef(this);
2118
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
2119
+ // We only want to trigger the callback(s) if:
2120
+ // 1. The instance is ready
2121
+ // 2. The watchers are ready
2122
+ // 3. The value has changed
2123
+ if (!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
2124
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
2125
+ newValue !== oldValue) {
2126
+ const instance = hostRef.$lazyInstance$ ;
2127
+ const entry = cmpMeta.$watchers$[attrName];
2128
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
2129
+ if (instance[callbackName] != null) {
2130
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
2131
+ }
2132
+ });
2133
+ }
2134
+ return;
2135
+ }
1973
2136
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1974
2137
  });
1975
2138
  };
1976
- // create an array of attributes to observe
1977
- // and also create a map of html attribute name to js property name
1978
- Cstr.observedAttributes = members
1979
- .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
1980
- .map(([propName, m]) => {
1981
- const attrName = m[1] || propName;
1982
- attrNameToPropName.set(attrName, propName);
1983
- if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1984
- cmpMeta.$attrsToReflect$.push([propName, attrName]);
1985
- }
1986
- return attrName;
1987
- });
2139
+ // Create an array of attributes to observe
2140
+ // This list in comprised of all strings used within a `@Watch()` decorator
2141
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
2142
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
2143
+ // an invalid attribute.
2144
+ Cstr.observedAttributes = Array.from(new Set([
2145
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
2146
+ ...members
2147
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
2148
+ .map(([propName, m]) => {
2149
+ const attrName = m[1] || propName;
2150
+ attrNameToPropName.set(attrName, propName);
2151
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
2152
+ cmpMeta.$attrsToReflect$.push([propName, attrName]);
2153
+ }
2154
+ return attrName;
2155
+ }),
2156
+ ]));
1988
2157
  }
1989
2158
  }
1990
2159
  return Cstr;
1991
2160
  };
1992
- const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
2161
+ /**
2162
+ * Initialize a Stencil component given a reference to its host element, its
2163
+ * runtime bookkeeping data structure, runtime metadata about the component,
2164
+ * and (optionally) an HMR version ID.
2165
+ *
2166
+ * @param elm a host element
2167
+ * @param hostRef the element's runtime bookkeeping object
2168
+ * @param cmpMeta runtime metadata for the Stencil component
2169
+ * @param hmrVersionId an (optional) HMR version ID
2170
+ */
2171
+ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2172
+ let Cstr;
1993
2173
  // initializeComponent
1994
2174
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1995
2175
  // Let the runtime know that the component has been initialized
@@ -2044,15 +2224,9 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
2044
2224
  if (Cstr.style) {
2045
2225
  // this component has styles but we haven't registered them yet
2046
2226
  let style = Cstr.style;
2047
- if (typeof style !== 'string') {
2048
- style = style[(hostRef.$modeName$ = computeMode(elm))];
2049
- }
2050
- const scopeId = getScopeId(cmpMeta, hostRef.$modeName$);
2227
+ const scopeId = getScopeId(cmpMeta);
2051
2228
  if (!styles.has(scopeId)) {
2052
2229
  const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
2053
- if (cmpMeta.$flags$ & 8 /* CMP_FLAGS.needsShadowDomShim */) {
2054
- style = await import('./shadow-css-af2290df.js').then((m) => m.scopeCss(style, scopeId, false));
2055
- }
2056
2230
  registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
2057
2231
  endRegisterStyles();
2058
2232
  }
@@ -2091,9 +2265,8 @@ const connectedCallback = (elm) => {
2091
2265
  {
2092
2266
  hostId = elm.getAttribute(HYDRATE_ID);
2093
2267
  if (hostId) {
2094
- if (supportsShadow && cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
2095
- const scopeId = addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute('s-mode'))
2096
- ;
2268
+ if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
2269
+ const scopeId = addStyle(elm.shadowRoot, cmpMeta);
2097
2270
  elm.classList.remove(scopeId + '-h', scopeId + '-s');
2098
2271
  }
2099
2272
  initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);
@@ -2104,7 +2277,7 @@ const connectedCallback = (elm) => {
2104
2277
  // if the slot polyfill is required we'll need to put some nodes
2105
2278
  // in here to act as original content anchors as we move nodes around
2106
2279
  // host element has been connected to the DOM
2107
- if ((// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
2280
+ if ((// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
2108
2281
  cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
2109
2282
  setContentReference(elm);
2110
2283
  }
@@ -2148,7 +2321,12 @@ const connectedCallback = (elm) => {
2148
2321
  // since they would have been removed when disconnected
2149
2322
  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2150
2323
  // fire off connectedCallback() on component instance
2151
- fireConnectedCallback(hostRef.$lazyInstance$);
2324
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
2325
+ fireConnectedCallback(hostRef.$lazyInstance$);
2326
+ }
2327
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
2328
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
2329
+ }
2152
2330
  }
2153
2331
  endConnected();
2154
2332
  }
@@ -2164,24 +2342,25 @@ const setContentReference = (elm) => {
2164
2342
  contentRefElm['s-cn'] = true;
2165
2343
  elm.insertBefore(contentRefElm, elm.firstChild);
2166
2344
  };
2167
- const disconnectedCallback = (elm) => {
2345
+ const disconnectInstance = (instance) => {
2346
+ {
2347
+ safeCall(instance, 'disconnectedCallback');
2348
+ }
2349
+ };
2350
+ const disconnectedCallback = async (elm) => {
2168
2351
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
2169
2352
  const hostRef = getHostRef(elm);
2170
- const instance = hostRef.$lazyInstance$ ;
2171
2353
  {
2172
2354
  if (hostRef.$rmListeners$) {
2173
2355
  hostRef.$rmListeners$.map((rmListener) => rmListener());
2174
2356
  hostRef.$rmListeners$ = undefined;
2175
2357
  }
2176
2358
  }
2177
- // clear CSS var-shim tracking
2178
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
2179
- if (plt.$cssShim$) {
2180
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
2181
- plt.$cssShim$.removeHost(elm);
2359
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
2360
+ disconnectInstance(hostRef.$lazyInstance$);
2182
2361
  }
2183
- {
2184
- safeCall(instance, 'disconnectedCallback');
2362
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
2363
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
2185
2364
  }
2186
2365
  }
2187
2366
  };
@@ -2193,7 +2372,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2193
2372
  const customElements = win.customElements;
2194
2373
  const head = doc.head;
2195
2374
  const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
2196
- const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
2375
+ const dataStyles = /*@__PURE__*/ doc.createElement('style');
2197
2376
  const deferredConnectedCallbacks = [];
2198
2377
  const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
2199
2378
  let appLoadFallback;
@@ -2211,14 +2390,21 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2211
2390
  registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);
2212
2391
  }
2213
2392
  }
2393
+ let hasSlotRelocation = false;
2214
2394
  lazyBundles.map((lazyBundle) => {
2215
2395
  lazyBundle[1].map((compactMeta) => {
2396
+ var _a;
2216
2397
  const cmpMeta = {
2217
2398
  $flags$: compactMeta[0],
2218
2399
  $tagName$: compactMeta[1],
2219
2400
  $members$: compactMeta[2],
2220
2401
  $listeners$: compactMeta[3],
2221
2402
  };
2403
+ // Check if we are using slots outside the shadow DOM in this component.
2404
+ // We'll use this information later to add styles for `slot-fb` elements
2405
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
2406
+ hasSlotRelocation = true;
2407
+ }
2222
2408
  {
2223
2409
  cmpMeta.$members$ = compactMeta[2];
2224
2410
  }
@@ -2229,11 +2415,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2229
2415
  cmpMeta.$attrsToReflect$ = [];
2230
2416
  }
2231
2417
  {
2232
- cmpMeta.$watchers$ = {};
2233
- }
2234
- if (!supportsShadow && cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
2235
- // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
2236
- cmpMeta.$flags$ |= 8 /* CMP_FLAGS.needsShadowDomShim */;
2418
+ cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
2237
2419
  }
2238
2420
  const tagName = cmpMeta.$tagName$;
2239
2421
  const HostElement = class extends HTMLElement {
@@ -2248,14 +2430,11 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2248
2430
  // and this browser supports shadow dom
2249
2431
  // add the read-only property "shadowRoot" to the host element
2250
2432
  // adding the shadow root build conditionals to minimize runtime
2251
- if (supportsShadow) {
2433
+ {
2252
2434
  {
2253
2435
  self.attachShadow({ mode: 'open' });
2254
2436
  }
2255
2437
  }
2256
- else if (!('shadowRoot' in self)) {
2257
- self.shadowRoot = self;
2258
- }
2259
2438
  }
2260
2439
  }
2261
2440
  connectedCallback() {
@@ -2285,15 +2464,23 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
2285
2464
  }
2286
2465
  });
2287
2466
  });
2467
+ // Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
2468
+ if (hasSlotRelocation) {
2469
+ dataStyles.innerHTML += SLOT_FB_CSS;
2470
+ }
2471
+ // Add hydration styles
2288
2472
  {
2289
- visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
2290
- visibilityStyle.setAttribute('data-styles', '');
2473
+ dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
2474
+ }
2475
+ // If we have styles, add them to the DOM
2476
+ if (dataStyles.innerHTML.length) {
2477
+ dataStyles.setAttribute('data-styles', '');
2478
+ head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
2291
2479
  // Apply CSP nonce to the style tag if it exists
2292
2480
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
2293
2481
  if (nonce != null) {
2294
- visibilityStyle.setAttribute('nonce', nonce);
2482
+ dataStyles.setAttribute('nonce', nonce);
2295
2483
  }
2296
- head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
2297
2484
  }
2298
2485
  // Process deferred connectedCallbacks now all components have been registered
2299
2486
  isBootstrapping = false;
@@ -2351,13 +2538,40 @@ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !==
2351
2538
  * @returns void
2352
2539
  */
2353
2540
  const setNonce = (nonce) => (plt.$nonce$ = nonce);
2541
+ /**
2542
+ * A WeakMap mapping runtime component references to their corresponding host reference
2543
+ * instances.
2544
+ */
2354
2545
  const hostRefs = /*@__PURE__*/ new WeakMap();
2546
+ /**
2547
+ * Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
2548
+ *
2549
+ * @param ref the runtime ref of interest
2550
+ * @returns the Host reference (if found) or undefined
2551
+ */
2355
2552
  const getHostRef = (ref) => hostRefs.get(ref);
2553
+ /**
2554
+ * Register a lazy instance with the {@link hostRefs} object so it's
2555
+ * corresponding {@link d.HostRef} can be retrieved later.
2556
+ *
2557
+ * @param lazyInstance the lazy instance of interest
2558
+ * @param hostRef that instances `HostRef` object
2559
+ * @returns a reference to the host ref WeakMap
2560
+ */
2356
2561
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
2357
- const registerHost = (elm, cmpMeta) => {
2562
+ /**
2563
+ * Register a host element for a Stencil component, setting up various metadata
2564
+ * and callbacks based on {@link BUILD} flags as well as the component's runtime
2565
+ * metadata.
2566
+ *
2567
+ * @param hostElement the host element to register
2568
+ * @param cmpMeta runtime metadata for that component
2569
+ * @returns a reference to the host ref WeakMap
2570
+ */
2571
+ const registerHost = (hostElement, cmpMeta) => {
2358
2572
  const hostRef = {
2359
2573
  $flags$: 0,
2360
- $hostElement$: elm,
2574
+ $hostElement$: hostElement,
2361
2575
  $cmpMeta$: cmpMeta,
2362
2576
  $instanceValues$: new Map(),
2363
2577
  };
@@ -2366,11 +2580,11 @@ const registerHost = (elm, cmpMeta) => {
2366
2580
  }
2367
2581
  {
2368
2582
  hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
2369
- elm['s-p'] = [];
2370
- elm['s-rc'] = [];
2583
+ hostElement['s-p'] = [];
2584
+ hostElement['s-rc'] = [];
2371
2585
  }
2372
- addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2373
- return hostRefs.set(elm, hostRef);
2586
+ addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$);
2587
+ return hostRefs.set(hostElement, hostRef);
2374
2588
  };
2375
2589
  const isMemberInElement = (elm, memberName) => memberName in elm;
2376
2590
  const consoleError = (e, el) => (0, console.error)(e, el);
@@ -2638,10 +2852,7 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2638
2852
  }, consoleError);
2639
2853
  };
2640
2854
  const styles = /*@__PURE__*/ new Map();
2641
- const modeResolutionChain = [];
2642
2855
  const win = typeof window !== 'undefined' ? window : {};
2643
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
2644
- const CSS = win.CSS ;
2645
2856
  const doc = win.document || { head: {} };
2646
2857
  const plt = {
2647
2858
  $flags$: 0,
@@ -2653,9 +2864,8 @@ const plt = {
2653
2864
  ce: (eventName, opts) => new CustomEvent(eventName, opts),
2654
2865
  };
2655
2866
  const supportsShadow =
2656
- // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
2657
- /*@__PURE__*/ (() => (doc.head.attachShadow + '').indexOf('[native') > -1)()
2658
- ;
2867
+ // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
2868
+ true;
2659
2869
  const promiseResolve = (v) => Promise.resolve(v);
2660
2870
  const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
2661
2871
  try {
@@ -2706,9 +2916,9 @@ const flush = () => {
2706
2916
  }
2707
2917
  }
2708
2918
  };
2709
- const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
2919
+ const nextTick = (cb) => promiseResolve().then(cb);
2710
2920
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
2711
2921
 
2712
- export { CSS as C, Host as H, NAMESPACE as N, promiseResolve as a, bootstrapLazy as b, setMode as c, doc as d, createEvent as e, getElement as f, getAssetPath as g, h, plt as p, registerInstance as r, setNonce as s, win as w };
2922
+ export { Host as H, getElement as a, bootstrapLazy as b, createEvent as c, getAssetPath as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
2713
2923
 
2714
- //# sourceMappingURL=index-4b484f35.js.map
2924
+ //# sourceMappingURL=index-52302079.js.map