@ionic/core 8.7.19-nightly.20260304 → 8.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/components/index.d.ts +2 -0
  2. package/components/index.js +1 -114
  3. package/components/ion-accordion-group.js +1 -268
  4. package/components/ion-accordion.js +1 -456
  5. package/components/ion-action-sheet.js +1 -6
  6. package/components/ion-alert.js +1 -6
  7. package/components/ion-app.js +1 -132
  8. package/components/ion-avatar.js +1 -41
  9. package/components/ion-back-button.js +1 -130
  10. package/components/ion-backdrop.js +1 -6
  11. package/components/ion-badge.js +1 -47
  12. package/components/ion-breadcrumb.js +1 -137
  13. package/components/ion-breadcrumbs.js +1 -164
  14. package/components/ion-button.js +1 -6
  15. package/components/ion-buttons.js +1 -6
  16. package/components/ion-card-content.js +1 -45
  17. package/components/ion-card-header.js +1 -56
  18. package/components/ion-card-subtitle.js +1 -48
  19. package/components/ion-card-title.js +1 -48
  20. package/components/ion-card.js +1 -107
  21. package/components/ion-checkbox.js +1 -6
  22. package/components/ion-chip.js +1 -66
  23. package/components/ion-col.js +1 -163
  24. package/components/ion-content.js +1 -6
  25. package/components/ion-datetime-button.js +1 -383
  26. package/components/ion-datetime.js +1 -2047
  27. package/components/ion-fab-button.js +1 -151
  28. package/components/ion-fab-list.js +1 -73
  29. package/components/ion-fab.js +1 -101
  30. package/components/ion-footer.js +1 -179
  31. package/components/ion-grid.js +1 -46
  32. package/components/ion-header.js +1 -6
  33. package/components/ion-icon.js +1 -6
  34. package/components/ion-img.js +1 -133
  35. package/components/ion-infinite-scroll-content.js +1 -69
  36. package/components/ion-infinite-scroll.js +1 -236
  37. package/components/ion-input-otp.js +1 -682
  38. package/components/ion-input-password-toggle.js +1 -128
  39. package/components/ion-input.js +1 -646
  40. package/components/ion-item-divider.js +1 -59
  41. package/components/ion-item-group.js +1 -46
  42. package/components/ion-item-option.js +1 -91
  43. package/components/ion-item-options.js +1 -73
  44. package/components/ion-item-sliding.js +1 -457
  45. package/components/ion-item.js +1 -6
  46. package/components/ion-label.js +1 -6
  47. package/components/ion-list-header.js +1 -6
  48. package/components/ion-list.js +1 -6
  49. package/components/ion-loading.js +1 -343
  50. package/components/ion-menu-button.js +1 -109
  51. package/components/ion-menu-toggle.js +1 -64
  52. package/components/ion-menu.js +1 -741
  53. package/components/ion-modal.js +1 -6
  54. package/components/ion-nav-link.js +1 -64
  55. package/components/ion-nav.js +1 -951
  56. package/components/ion-note.js +1 -47
  57. package/components/ion-picker-column-option.js +1 -6
  58. package/components/ion-picker-column.js +1 -6
  59. package/components/ion-picker-legacy-column.js +1 -6
  60. package/components/ion-picker-legacy.js +1 -342
  61. package/components/ion-picker.js +1 -6
  62. package/components/ion-popover.js +1 -6
  63. package/components/ion-progress-bar.js +1 -100
  64. package/components/ion-radio-group.js +1 -6
  65. package/components/ion-radio.js +1 -6
  66. package/components/ion-range.js +1 -844
  67. package/components/ion-refresher-content.js +1 -88
  68. package/components/ion-refresher.js +1 -750
  69. package/components/ion-reorder-group.js +1 -322
  70. package/components/ion-reorder.js +1 -60
  71. package/components/ion-ripple-effect.js +1 -6
  72. package/components/ion-route-redirect.js +1 -45
  73. package/components/ion-route.js +1 -74
  74. package/components/ion-router-link.js +1 -61
  75. package/components/ion-router-outlet.js +1 -226
  76. package/components/ion-router.js +1 -840
  77. package/components/ion-row.js +1 -36
  78. package/components/ion-searchbar.js +1 -540
  79. package/components/ion-segment-button.js +1 -173
  80. package/components/ion-segment-content.js +1 -35
  81. package/components/ion-segment-view.js +1 -142
  82. package/components/ion-segment.js +1 -602
  83. package/components/ion-select-modal.js +1 -6
  84. package/components/ion-select-option.js +1 -46
  85. package/components/ion-select-popover.js +1 -6
  86. package/components/ion-select.js +1 -1035
  87. package/components/ion-skeleton-text.js +1 -64
  88. package/components/ion-spinner.js +1 -6
  89. package/components/ion-split-pane.js +1 -190
  90. package/components/ion-tab-bar.js +1 -135
  91. package/components/ion-tab-button.js +1 -127
  92. package/components/ion-tab.js +1 -82
  93. package/components/ion-tabs.js +1 -204
  94. package/components/ion-text.js +1 -42
  95. package/components/ion-textarea.js +1 -554
  96. package/components/ion-thumbnail.js +1 -36
  97. package/components/ion-title.js +1 -6
  98. package/components/ion-toast.js +1 -938
  99. package/components/ion-toggle.js +1 -360
  100. package/components/ion-toolbar.js +1 -6
  101. package/components/p-1KVKSLu5.js +4 -0
  102. package/{dist/ionic/p-DUt5fQmA.js → components/p-9VcRUwdB.js} +1 -1
  103. package/components/p-ApmKVjaE.js +4 -0
  104. package/components/p-B-hirT0v.js +1 -35
  105. package/components/p-B6FQ0cKR.js +4 -0
  106. package/components/p-B6HaBl3o.js +4 -0
  107. package/components/p-B8b1Ukl9.js +4 -0
  108. package/components/p-BFxT89Wl.js +4 -0
  109. package/components/p-BJoMtgfR.js +4 -0
  110. package/components/p-BNAG-aVv.js +4 -0
  111. package/{dist/ionic/p-D-eFFUkA.js → components/p-BR3tZJmu.js} +1 -1
  112. package/{dist/ionic/p-D0dMcSkw.js → components/p-BS1TtEiJ.js} +1 -1
  113. package/components/p-BSB38Tek.js +4 -0
  114. package/components/p-BTEOs1at.js +1 -192
  115. package/components/p-BTeL5HCK.js +4 -0
  116. package/{dist/ionic/p-DbQ5QkTP.js → components/p-BUbsoBOV.js} +1 -1
  117. package/components/p-BVnB3eEn.js +4 -0
  118. package/components/p-BYDc3hSE.js +4 -0
  119. package/components/p-BagjAGC0.js +4 -0
  120. package/components/p-BegtE7nr.js +4 -0
  121. package/components/p-BgwEQWW6.js +4 -0
  122. package/components/p-Bk2zuNWT.js +4 -0
  123. package/components/p-BmVRXR1y.js +1 -72
  124. package/components/p-Bum_LjMh.js +4 -0
  125. package/components/p-BxwWvu-b.js +4 -0
  126. package/components/p-C4jPsTQa.js +4 -0
  127. package/components/p-C53feagD.js +1 -15
  128. package/{dist/ionic/p-CwgG81ZD.js → components/p-C59ryAuS.js} +1 -1
  129. package/components/p-C7AoMl7c.js +4 -0
  130. package/components/p-CBzELu-H.js +4 -0
  131. package/components/p-CDfQnFrd.js +4 -0
  132. package/components/p-CH0NYjKq.js +4 -0
  133. package/components/p-CIGNaXM1.js +1 -10
  134. package/components/p-CO7fmmxt.js +1 -29
  135. package/components/p-CU1SSH8_.js +4 -0
  136. package/components/p-CVF7ukTk.js +4 -0
  137. package/components/p-CgfaEEem.js +4 -0
  138. package/components/p-CgqKJg96.js +4 -0
  139. package/components/p-Cl0B-RWe.js +1 -452
  140. package/components/p-CneGxKsZ.js +4 -0
  141. package/components/p-CoA-aqGF.js +4 -0
  142. package/{dist/ionic/p-DdR6rpbR.js → components/p-Cq8cQ0NL.js} +1 -1
  143. package/components/p-Csw8xuz4.js +4 -0
  144. package/components/p-CtWGkNnJ.js +1 -162
  145. package/components/p-Cwv-vmkN.js +4 -0
  146. package/{dist/ionic/p-BYEqWnSg.js → components/p-Cy5XSfIk.js} +1 -1
  147. package/components/p-Cyxa_4PV.js +4 -0
  148. package/components/p-Cz5nLPGT.js +4 -0
  149. package/components/p-D13Eaw-8.js +1 -76
  150. package/components/p-D6NJwNJN.js +4 -0
  151. package/components/p-D6Ynv7Xh.js +1 -141
  152. package/components/p-DHsZWn1l.js +4 -0
  153. package/components/p-DJMZehmW.js +4 -0
  154. package/components/p-DJztqcrH.js +1 -14
  155. package/components/p-DYdpXONG.js +4 -0
  156. package/components/p-DgbT0exM.js +4 -0
  157. package/components/p-DiVJyqlX.js +1 -40
  158. package/components/p-Dtdm8lKC.js +1 -44
  159. package/components/p-YLXPWgVj.js +4 -0
  160. package/components/p-ZjP4CjeZ.js +1 -4
  161. package/{dist/ionic/p-DCv9sLH2.js → components/p-ak_d-z48.js} +1 -1
  162. package/components/p-cyNmxje6.js +1 -155
  163. package/components/p-fpbh6w3f.js +4 -0
  164. package/components/p-hHmYLOfE.js +1 -87
  165. package/components/p-kvaDs24J.js +4 -0
  166. package/components/p-vEbVo2hO.js +4 -0
  167. package/dist/cjs/{animation-Bt3H9L1C.js → animation-Dg4yiuR2.js} +1 -1
  168. package/dist/cjs/app-globals-CLI8xCmk.js +11 -0
  169. package/dist/cjs/{button-active-CMc8cD90.js → button-active-FscMI17-.js} +1 -1
  170. package/dist/cjs/{config-C5fsO43a.js → config-BukYi_pW.js} +1 -1
  171. package/dist/cjs/{data-JwZKaIQB.js → data-BYlBjkMU.js} +1 -1
  172. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-CRgp8o_p.js} +1 -1
  173. package/dist/cjs/{hardware-back-button-VCK4V3mG.js → hardware-back-button-C4rMJ5uI.js} +1 -1
  174. package/dist/cjs/{helpers-DrTqNghc.js → helpers-CxTYJdbT.js} +1 -1
  175. package/dist/cjs/{index-094mMFB-.js → index-C845Ti6K.js} +4 -4
  176. package/dist/cjs/{index-DrMUZJj6.js → index-CFUwM5x_.js} +5 -5
  177. package/dist/cjs/{index-D6Wc6v08.js → index-CqT-2gKy.js} +503 -382
  178. package/dist/cjs/{index-CO6eryBo.js → index-MbaBbWXk.js} +2 -2
  179. package/dist/cjs/{index-C534ULug.js → index-YcSftOMz.js} +2 -2
  180. package/dist/cjs/index.cjs.js +12 -12
  181. package/dist/cjs/{input-shims-CuMghsQ-.js → input-shims-Dl5cnc_e.js} +3 -3
  182. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DmeJ8dmo.js} +2 -2
  183. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -15
  184. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -15
  185. package/dist/cjs/ion-alert.cjs.entry.js +25 -17
  186. package/dist/cjs/ion-app_8.cjs.entry.js +48 -43
  187. package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -12
  188. package/dist/cjs/ion-back-button.cjs.entry.js +7 -7
  189. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -6
  190. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -14
  191. package/dist/cjs/ion-button_2.cjs.entry.js +36 -18
  192. package/dist/cjs/ion-card_5.cjs.entry.js +23 -23
  193. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
  194. package/dist/cjs/ion-chip.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-col_3.cjs.entry.js +8 -8
  196. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
  197. package/dist/cjs/ion-datetime_3.cjs.entry.js +75 -46
  198. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  199. package/dist/cjs/ion-img.cjs.entry.js +8 -6
  200. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -13
  201. package/dist/cjs/ion-input-otp.cjs.entry.js +16 -10
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -7
  203. package/dist/cjs/ion-input.cjs.entry.js +21 -13
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +19 -17
  205. package/dist/cjs/ion-item_8.cjs.entry.js +48 -42
  206. package/dist/cjs/ion-loading.cjs.entry.js +18 -14
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +30 -22
  208. package/dist/cjs/ion-modal.cjs.entry.js +237 -59
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -8
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +11 -7
  212. package/dist/cjs/ion-picker.cjs.entry.js +6 -6
  213. package/dist/cjs/ion-popover.cjs.entry.js +21 -15
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -13
  216. package/dist/cjs/ion-range.cjs.entry.js +205 -57
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -11
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  220. package/dist/cjs/ion-route_4.cjs.entry.js +20 -10
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +22 -12
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +13 -8
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +17 -13
  226. package/dist/cjs/ion-select_3.cjs.entry.js +33 -24
  227. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +15 -9
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +14 -12
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +10 -8
  231. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  232. package/dist/cjs/ion-textarea.cjs.entry.js +20 -14
  233. package/dist/cjs/ion-toast.cjs.entry.js +21 -15
  234. package/dist/cjs/ion-toggle.cjs.entry.js +10 -8
  235. package/dist/cjs/{ionic-global-HMVqOFGO.js → ionic-global-Bc3kJi1Z.js} +1 -1
  236. package/dist/cjs/ionic.cjs.js +5 -5
  237. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-trBiC95R.js} +4 -4
  238. package/dist/cjs/loader.cjs.js +4 -4
  239. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-CUQECuvD.js} +4 -4
  240. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-sD-lTpdc.js} +1 -1
  241. package/dist/cjs/{overlays-B2b-TTbl.js → overlays-C2jiBSNQ.js} +5 -5
  242. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-CCJk5VgT.js} +3 -3
  243. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BGhTQ1CU.js} +2 -2
  244. package/dist/collection/collection-manifest.json +2 -2
  245. package/dist/collection/components/accordion-group/accordion-group.js +4 -2
  246. package/dist/collection/components/action-sheet/action-sheet.js +20 -10
  247. package/dist/collection/components/alert/alert.js +24 -12
  248. package/dist/collection/components/back-button/back-button.js +4 -2
  249. package/dist/collection/components/badge/badge.js +2 -1
  250. package/dist/collection/components/breadcrumb/breadcrumb.js +8 -4
  251. package/dist/collection/components/breadcrumbs/breadcrumbs.js +4 -2
  252. package/dist/collection/components/button/button.js +6 -3
  253. package/dist/collection/components/card/card.js +6 -3
  254. package/dist/collection/components/card-header/card-header.js +2 -1
  255. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -1
  256. package/dist/collection/components/card-title/card-title.js +2 -1
  257. package/dist/collection/components/checkbox/checkbox.js +4 -2
  258. package/dist/collection/components/chip/chip.js +2 -1
  259. package/dist/collection/components/content/content.js +12 -7
  260. package/dist/collection/components/datetime/datetime.js +43 -22
  261. package/dist/collection/components/datetime-button/datetime-button.js +2 -1
  262. package/dist/collection/components/fab-button/fab-button.js +6 -3
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -2
  264. package/dist/collection/components/input/input.js +11 -6
  265. package/dist/collection/components/input-otp/input-otp.js +8 -4
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +4 -2
  267. package/dist/collection/components/item/item.js +10 -5
  268. package/dist/collection/components/item-divider/item-divider.js +7 -3
  269. package/dist/collection/components/item-option/item-option.js +6 -3
  270. package/dist/collection/components/item-options/item-options.js +2 -1
  271. package/dist/collection/components/item-sliding/item-sliding.js +2 -1
  272. package/dist/collection/components/label/label.js +6 -3
  273. package/dist/collection/components/list-header/list-header.js +6 -3
  274. package/dist/collection/components/loading/loading.js +22 -11
  275. package/dist/collection/components/menu/menu.js +10 -5
  276. package/dist/collection/components/menu-button/menu-button.js +2 -1
  277. package/dist/collection/components/modal/gestures/sheet.js +120 -12
  278. package/dist/collection/components/modal/gestures/swipe-to-close.js +54 -1
  279. package/dist/collection/components/modal/modal.js +127 -45
  280. package/dist/collection/components/nav/nav.js +89 -45
  281. package/dist/collection/components/nav-link/nav-link.js +9 -5
  282. package/dist/collection/components/note/note.js +2 -1
  283. package/dist/collection/components/picker/picker.js +2 -1
  284. package/dist/collection/components/picker-column/picker-column.js +6 -3
  285. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
  286. package/dist/collection/components/picker-legacy/picker.js +24 -12
  287. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
  288. package/dist/collection/components/popover/popover.js +33 -17
  289. package/dist/collection/components/progress-bar/progress-bar.js +2 -1
  290. package/dist/collection/components/radio/radio.js +2 -1
  291. package/dist/collection/components/radio-group/radio-group.js +6 -3
  292. package/dist/collection/components/range/range.js +214 -53
  293. package/dist/collection/components/refresher/refresher.js +73 -5
  294. package/dist/collection/components/refresher-content/refresher-content.js +8 -4
  295. package/dist/collection/components/reorder-group/reorder-group.js +6 -3
  296. package/dist/collection/components/route/route.js +4 -2
  297. package/dist/collection/components/router/router.js +10 -5
  298. package/dist/collection/components/router-link/router-link.js +6 -3
  299. package/dist/collection/components/router-outlet/router-outlet.js +18 -9
  300. package/dist/collection/components/searchbar/searchbar.js +11 -6
  301. package/dist/collection/components/segment/segment.js +10 -5
  302. package/dist/collection/components/segment-button/segment-button.js +4 -2
  303. package/dist/collection/components/segment-view/segment-view.ios.css +2 -1
  304. package/dist/collection/components/segment-view/segment-view.js +30 -4
  305. package/dist/collection/components/segment-view/segment-view.md.css +2 -1
  306. package/dist/collection/components/select/select.js +17 -8
  307. package/dist/collection/components/select-modal/select-modal.js +27 -2
  308. package/dist/collection/components/select-popover/select-popover.js +2 -1
  309. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
  310. package/dist/collection/components/spinner/spinner.js +4 -2
  311. package/dist/collection/components/tab/tab.js +4 -2
  312. package/dist/collection/components/tab-bar/tab-bar.js +4 -2
  313. package/dist/collection/components/tab-button/tab-button.js +4 -2
  314. package/dist/collection/components/tabs/tabs.js +4 -2
  315. package/dist/collection/components/text/text.js +2 -1
  316. package/dist/collection/components/textarea/textarea.js +10 -7
  317. package/dist/collection/components/title/title.js +4 -2
  318. package/dist/collection/components/toast/toast.js +34 -17
  319. package/dist/collection/components/toggle/toggle.js +4 -2
  320. package/dist/collection/components/toolbar/toolbar.js +2 -1
  321. package/dist/docs.d.ts +37 -0
  322. package/dist/docs.json +1186 -389
  323. package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
  324. package/dist/esm/app-globals-DhZjtldk.js +9 -0
  325. package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
  326. package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
  327. package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
  328. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
  329. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
  330. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
  331. package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
  332. package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
  333. package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
  334. package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
  335. package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
  336. package/dist/esm/index.js +12 -12
  337. package/dist/esm/{input-shims-D6H3ZaWt.js → input-shims-AaDhOpKN.js} +3 -3
  338. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
  339. package/dist/esm/ion-accordion_2.entry.js +23 -15
  340. package/dist/esm/ion-action-sheet.entry.js +21 -15
  341. package/dist/esm/ion-alert.entry.js +25 -17
  342. package/dist/esm/ion-app_8.entry.js +48 -43
  343. package/dist/esm/ion-avatar_3.entry.js +12 -12
  344. package/dist/esm/ion-back-button.entry.js +7 -7
  345. package/dist/esm/ion-backdrop.entry.js +6 -6
  346. package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
  347. package/dist/esm/ion-button_2.entry.js +36 -18
  348. package/dist/esm/ion-card_5.entry.js +23 -23
  349. package/dist/esm/ion-checkbox.entry.js +7 -7
  350. package/dist/esm/ion-chip.entry.js +6 -6
  351. package/dist/esm/ion-col_3.entry.js +8 -8
  352. package/dist/esm/ion-datetime-button.entry.js +8 -8
  353. package/dist/esm/ion-datetime_3.entry.js +75 -46
  354. package/dist/esm/ion-fab_3.entry.js +17 -13
  355. package/dist/esm/ion-img.entry.js +8 -6
  356. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
  357. package/dist/esm/ion-input-otp.entry.js +16 -10
  358. package/dist/esm/ion-input-password-toggle.entry.js +9 -7
  359. package/dist/esm/ion-input.entry.js +21 -13
  360. package/dist/esm/ion-item-option_3.entry.js +19 -17
  361. package/dist/esm/ion-item_8.entry.js +48 -42
  362. package/dist/esm/ion-loading.entry.js +18 -14
  363. package/dist/esm/ion-menu_3.entry.js +30 -22
  364. package/dist/esm/ion-modal.entry.js +237 -59
  365. package/dist/esm/ion-nav_2.entry.js +14 -10
  366. package/dist/esm/ion-picker-column-option.entry.js +10 -8
  367. package/dist/esm/ion-picker-column.entry.js +11 -7
  368. package/dist/esm/ion-picker.entry.js +6 -6
  369. package/dist/esm/ion-popover.entry.js +21 -15
  370. package/dist/esm/ion-progress-bar.entry.js +7 -7
  371. package/dist/esm/ion-radio_2.entry.js +17 -13
  372. package/dist/esm/ion-range.entry.js +205 -57
  373. package/dist/esm/ion-refresher_2.entry.js +45 -14
  374. package/dist/esm/ion-reorder_2.entry.js +13 -11
  375. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  376. package/dist/esm/ion-route_4.entry.js +20 -10
  377. package/dist/esm/ion-searchbar.entry.js +22 -12
  378. package/dist/esm/ion-segment-content.entry.js +3 -3
  379. package/dist/esm/ion-segment-view.entry.js +13 -8
  380. package/dist/esm/ion-segment_2.entry.js +26 -16
  381. package/dist/esm/ion-select-modal.entry.js +17 -13
  382. package/dist/esm/ion-select_3.entry.js +33 -24
  383. package/dist/esm/ion-spinner.entry.js +4 -4
  384. package/dist/esm/ion-split-pane.entry.js +15 -9
  385. package/dist/esm/ion-tab-bar_2.entry.js +14 -12
  386. package/dist/esm/ion-tab_2.entry.js +10 -8
  387. package/dist/esm/ion-text.entry.js +4 -4
  388. package/dist/esm/ion-textarea.entry.js +20 -14
  389. package/dist/esm/ion-toast.entry.js +21 -15
  390. package/dist/esm/ion-toggle.entry.js +10 -8
  391. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
  392. package/dist/esm/ionic.js +6 -6
  393. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
  394. package/dist/esm/loader.js +5 -5
  395. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
  396. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
  397. package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
  398. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
  399. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
  400. package/dist/html.html-data.json +117 -109
  401. package/dist/ionic/index.esm.js +1 -1
  402. package/dist/ionic/ionic.esm.js +1 -1
  403. package/dist/ionic/p-031b76f7.entry.js +4 -0
  404. package/dist/ionic/p-045a6a42.entry.js +4 -0
  405. package/dist/ionic/p-07506134.entry.js +4 -0
  406. package/dist/ionic/p-084c25b2.entry.js +4 -0
  407. package/dist/ionic/p-0d8b5c38.entry.js +4 -0
  408. package/dist/ionic/p-16813ce7.entry.js +4 -0
  409. package/dist/ionic/p-16b65553.entry.js +4 -0
  410. package/dist/ionic/p-1b02923f.entry.js +4 -0
  411. package/dist/ionic/{p-5c8f7253.entry.js → p-1b169fb6.entry.js} +1 -1
  412. package/dist/ionic/{p-915b3e3d.entry.js → p-23fac490.entry.js} +1 -1
  413. package/dist/ionic/{p-b8551510.entry.js → p-294f4bb5.entry.js} +1 -1
  414. package/dist/ionic/p-2a68388b.entry.js +4 -0
  415. package/dist/ionic/p-2f5a8140.entry.js +4 -0
  416. package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
  417. package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
  418. package/dist/ionic/p-3e143d1d.entry.js +4 -0
  419. package/dist/ionic/p-4819b469.entry.js +4 -0
  420. package/dist/ionic/p-4dd5e8e0.entry.js +4 -0
  421. package/dist/ionic/p-51c11c47.entry.js +4 -0
  422. package/dist/ionic/p-53f750a5.entry.js +4 -0
  423. package/dist/ionic/{p-7cad388a.entry.js → p-6af16209.entry.js} +1 -1
  424. package/dist/ionic/{p-7f98e710.entry.js → p-6b701daa.entry.js} +1 -1
  425. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  426. package/dist/ionic/p-71e322f7.entry.js +4 -0
  427. package/dist/ionic/p-7620be24.entry.js +4 -0
  428. package/dist/ionic/p-771b27a5.entry.js +4 -0
  429. package/dist/ionic/{p-906bb44d.entry.js → p-7ca71c83.entry.js} +1 -1
  430. package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
  431. package/dist/ionic/p-96a2e768.entry.js +4 -0
  432. package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
  433. package/dist/ionic/p-9cbc6f1f.entry.js +4 -0
  434. package/dist/ionic/p-9cdbabbb.entry.js +4 -0
  435. package/dist/ionic/p-9eac4eb1.entry.js +4 -0
  436. package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
  437. package/dist/ionic/p-B8xlpH8p.js +4 -0
  438. package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
  439. package/dist/ionic/p-BW_TRJm8.js +4 -0
  440. package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
  441. package/dist/ionic/p-BvFYtOdE.js +4 -0
  442. package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
  443. package/dist/ionic/p-C0JvVFMv.js +4 -0
  444. package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
  445. package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
  446. package/dist/ionic/{p-MUoJJJwd.js → p-CYvM5g3q.js} +1 -1
  447. package/dist/ionic/p-CmFz1Mjc.js +4 -0
  448. package/dist/ionic/p-CtA-yJYy.js +4 -0
  449. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  450. package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
  451. package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
  452. package/dist/ionic/p-DTPR1Wpn.js +4 -0
  453. package/dist/ionic/p-DjriolRs.js +4 -0
  454. package/dist/ionic/p-DtVZDHlS.js +4 -0
  455. package/dist/ionic/p-IGIE5vDm.js +5 -0
  456. package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
  457. package/dist/ionic/p-a805674e.entry.js +4 -0
  458. package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
  459. package/dist/ionic/p-aa47f46e.entry.js +4 -0
  460. package/dist/ionic/{p-2668188b.entry.js → p-b325a113.entry.js} +1 -1
  461. package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
  462. package/dist/ionic/p-b6e0ff03.entry.js +4 -0
  463. package/dist/ionic/{p-6f37536a.entry.js → p-bcaa827e.entry.js} +1 -1
  464. package/dist/ionic/{p-fb0271ae.entry.js → p-c3cce9d8.entry.js} +1 -1
  465. package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
  466. package/dist/ionic/p-d4e8b473.entry.js +4 -0
  467. package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
  468. package/dist/ionic/p-e6c5f060.entry.js +4 -0
  469. package/dist/ionic/{p-652318c3.entry.js → p-e6cedcd7.entry.js} +1 -1
  470. package/dist/ionic/{p-fbb00634.entry.js → p-e863ffe8.entry.js} +1 -1
  471. package/dist/ionic/{p-0ca0fe9c.entry.js → p-f2deaceb.entry.js} +1 -1
  472. package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
  473. package/dist/ionic/{p-bce86e56.entry.js → p-f8186550.entry.js} +1 -1
  474. package/dist/ionic/p-fdbc90d4.entry.js +4 -0
  475. package/dist/ionic/p-gbVXD275.js +4 -0
  476. package/dist/ionic/p-hNN3VvaC.js +4 -0
  477. package/dist/types/components/datetime/datetime.d.ts +10 -0
  478. package/dist/types/components/header/header.utils.d.ts +2 -1
  479. package/dist/types/components/item/item.d.ts +2 -0
  480. package/dist/types/components/item-divider/item-divider.d.ts +3 -0
  481. package/dist/types/components/item-option/item-option.d.ts +2 -0
  482. package/dist/types/components/list-header/list-header.d.ts +2 -0
  483. package/dist/types/components/modal/gestures/sheet.d.ts +2 -2
  484. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +2 -2
  485. package/dist/types/components/modal/modal-interface.d.ts +25 -0
  486. package/dist/types/components/modal/modal.d.ts +22 -1
  487. package/dist/types/components/range/range-interface.d.ts +1 -0
  488. package/dist/types/components/range/range.d.ts +44 -4
  489. package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
  490. package/dist/types/components/refresher/refresher.d.ts +16 -3
  491. package/dist/types/components/segment-view/segment-view.d.ts +4 -0
  492. package/dist/types/components/select/select.d.ts +3 -0
  493. package/dist/types/components/select-modal/select-modal.d.ts +4 -0
  494. package/dist/types/components.d.ts +964 -191
  495. package/dist/types/interface.d.ts +2 -2
  496. package/dist/types/stencil-public-runtime.d.ts +126 -14
  497. package/dist/types/utils/gesture/listener.d.ts +2 -1
  498. package/hydrate/index.d.ts +12 -0
  499. package/hydrate/index.js +5632 -1421
  500. package/hydrate/index.mjs +5631 -1422
  501. package/package.json +2 -2
  502. package/components/p-B25GjpND.js +0 -71
  503. package/components/p-BANeLH_G.js +0 -290
  504. package/components/p-BBFQmhcD.js +0 -59
  505. package/components/p-BC-awmYt.js +0 -306
  506. package/components/p-BHbOsu99.js +0 -501
  507. package/components/p-BTlwXR9e.js +0 -73
  508. package/components/p-BcazQttQ.js +0 -612
  509. package/components/p-BdGshsIJ.js +0 -226
  510. package/components/p-BfS7vSpC.js +0 -147
  511. package/components/p-BhRFCLuX.js +0 -675
  512. package/components/p-Bhnhnzjz.js +0 -75
  513. package/components/p-BmcqD0EN.js +0 -153
  514. package/components/p-Boi6hecl.js +0 -115
  515. package/components/p-Bt_moUyl.js +0 -232
  516. package/components/p-Bxl5etF4.js +0 -146
  517. package/components/p-ByjmWt3s.js +0 -139
  518. package/components/p-C04oPyjT.js +0 -54
  519. package/components/p-C6dkQWq2.js +0 -1626
  520. package/components/p-CFZWrvIQ.js +0 -194
  521. package/components/p-CIJwkzL6.js +0 -195
  522. package/components/p-CL12ApCQ.js +0 -820
  523. package/components/p-CXJR56Oq.js +0 -564
  524. package/components/p-Cdm3dKWf.js +0 -108
  525. package/components/p-CslsoGzv.js +0 -192
  526. package/components/p-Cyd00tgZ.js +0 -167
  527. package/components/p-CzAJ3ArC.js +0 -380
  528. package/components/p-CzW34QBh.js +0 -12
  529. package/components/p-D0zXRwcr.js +0 -196
  530. package/components/p-D5hF6rwn.js +0 -339
  531. package/components/p-D8eD2iBA.js +0 -67
  532. package/components/p-DGOrLIyS.js +0 -481
  533. package/components/p-DK2Bn1Mc.js +0 -305
  534. package/components/p-DKRQWlK2.js +0 -598
  535. package/components/p-DNDUsygf.js +0 -128
  536. package/components/p-DTWZF6wg.js +0 -418
  537. package/components/p-DWoUQeZ3.js +0 -3012
  538. package/components/p-DX0w75a9.js +0 -420
  539. package/components/p-Dt8zaCLQ.js +0 -92
  540. package/components/p-DyFBFrV7.js +0 -264
  541. package/components/p-DyHPCMyn.js +0 -39
  542. package/components/p-LgLeKTkH.js +0 -112
  543. package/components/p-NhiRFRn9.js +0 -50
  544. package/components/p-OuiHmXO5.js +0 -646
  545. package/components/p-Wro9IPHE.js +0 -459
  546. package/components/p-aIWC4ZEV.js +0 -305
  547. package/components/p-c-XJ9XhZ.js +0 -915
  548. package/components/p-fVuFT3Wd.js +0 -78
  549. package/components/p-iyo0Toaz.js +0 -2822
  550. package/components/p-l_lso3Zl.js +0 -140
  551. package/components/p-mQp4lwQD.js +0 -1638
  552. package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
  553. package/dist/esm/app-globals-BDSf8fOA.js +0 -8
  554. package/dist/ionic/p-11518b31.entry.js +0 -4
  555. package/dist/ionic/p-221a3d8c.entry.js +0 -4
  556. package/dist/ionic/p-2ac254dc.entry.js +0 -4
  557. package/dist/ionic/p-2bd1ea35.entry.js +0 -4
  558. package/dist/ionic/p-30333874.entry.js +0 -4
  559. package/dist/ionic/p-31db96da.entry.js +0 -4
  560. package/dist/ionic/p-34642fa1.entry.js +0 -4
  561. package/dist/ionic/p-35696017.entry.js +0 -4
  562. package/dist/ionic/p-363d1209.entry.js +0 -4
  563. package/dist/ionic/p-46a38cfd.entry.js +0 -4
  564. package/dist/ionic/p-4eec1a5e.entry.js +0 -4
  565. package/dist/ionic/p-530fcd71.entry.js +0 -4
  566. package/dist/ionic/p-5d6fb6e3.entry.js +0 -4
  567. package/dist/ionic/p-66fbe052.entry.js +0 -4
  568. package/dist/ionic/p-7babec72.entry.js +0 -4
  569. package/dist/ionic/p-82d5bb3d.entry.js +0 -4
  570. package/dist/ionic/p-97eb0812.entry.js +0 -4
  571. package/dist/ionic/p-9b6d46f2.entry.js +0 -4
  572. package/dist/ionic/p-BKc55Xev.js +0 -4
  573. package/dist/ionic/p-Bmgaetn_.js +0 -4
  574. package/dist/ionic/p-C8IsBmNU.js +0 -5
  575. package/dist/ionic/p-CJxh_yLS.js +0 -4
  576. package/dist/ionic/p-DZRJwG4S.js +0 -4
  577. package/dist/ionic/p-a4a9f5ae.entry.js +0 -4
  578. package/dist/ionic/p-b0ebf9f8.entry.js +0 -4
  579. package/dist/ionic/p-be263062.entry.js +0 -4
  580. package/dist/ionic/p-c175d792.entry.js +0 -4
  581. package/dist/ionic/p-cc2a9936.entry.js +0 -4
  582. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  583. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  584. package/dist/ionic/p-e4c57008.entry.js +0 -4
  585. package/dist/ionic/p-e5d6d0f0.entry.js +0 -4
  586. package/dist/ionic/p-f1dfee25.entry.js +0 -4
  587. package/dist/ionic/p-f9f7b9db.entry.js +0 -4
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const NAMESPACE = 'ionic';
7
- const BUILD = /* ionic */ { experimentalSlotFixes: true, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, shadowDom: true, slotRelocation: true, updatable: true};
7
+ const BUILD = /* ionic */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, shadowDom: true, slotRelocation: true, state: true, updatable: true};
8
8
 
9
9
  // TODO(FW-2832): types
10
10
  class Config {
@@ -124,13 +124,9 @@ const printRequiredElementError = (el, ...targetSelectors) => {
124
124
  };
125
125
 
126
126
  /*
127
- Stencil Client Platform v4.38.0 | MIT Licensed | https://stenciljs.com
127
+ Stencil Client Platform v4.43.0 | MIT Licensed | https://stenciljs.com
128
128
  */
129
- var __defProp = Object.defineProperty;
130
- var __export = (target, all) => {
131
- for (var name in all)
132
- __defProp(target, name, { get: all[name], enumerable: true });
133
- };
129
+
134
130
  var Build = {
135
131
  isBrowser: true};
136
132
 
@@ -161,6 +157,38 @@ var NonPrimitiveType = /* @__PURE__ */ ((NonPrimitiveType2) => {
161
157
  var TYPE_CONSTANT = "type";
162
158
  var VALUE_CONSTANT = "value";
163
159
  var SERIALIZED_PREFIX = "serialized:";
160
+ var reWireGetterSetter = (instance, hostRef) => {
161
+ var _a;
162
+ const cmpMeta = hostRef.$cmpMeta$;
163
+ const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
164
+ members.map(([memberName, [memberFlags]]) => {
165
+ if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
166
+ const ogValue = instance[memberName];
167
+ const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName) || Object.getOwnPropertyDescriptor(instance, memberName);
168
+ if (ogDescriptor) {
169
+ Object.defineProperty(instance, memberName, {
170
+ get() {
171
+ return ogDescriptor.get.call(this);
172
+ },
173
+ set(newValue) {
174
+ ogDescriptor.set.call(this, newValue);
175
+ },
176
+ configurable: true,
177
+ enumerable: true
178
+ });
179
+ }
180
+ instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue;
181
+ }
182
+ });
183
+ };
184
+ function getPropertyDescriptor(obj, memberName) {
185
+ while (obj) {
186
+ const desc = Object.getOwnPropertyDescriptor(obj, memberName);
187
+ if (desc == null ? void 0 : desc.get) return desc;
188
+ obj = Object.getPrototypeOf(obj);
189
+ }
190
+ return void 0;
191
+ }
164
192
 
165
193
  // src/client/client-host-ref.ts
166
194
  var getHostRef = (ref) => {
@@ -173,6 +201,9 @@ var registerInstance = (lazyInstance, hostRef) => {
173
201
  if (!hostRef) return;
174
202
  lazyInstance.__stencil__getHostRef = () => hostRef;
175
203
  hostRef.$lazyInstance$ = lazyInstance;
204
+ if (hostRef.$cmpMeta$.$flags$ & 512 /* hasModernPropertyDecls */ && (BUILD.state)) {
205
+ reWireGetterSetter(lazyInstance, hostRef);
206
+ }
176
207
  };
177
208
  var registerHost = (hostElement, cmpMeta) => {
178
209
  const hostRef = {
@@ -281,6 +312,9 @@ var supportsListenerOptions = /* @__PURE__ */ (() => {
281
312
  var promiseResolve = (v) => Promise.resolve(v);
282
313
  var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
283
314
  try {
315
+ if (!win.document.adoptedStyleSheets) {
316
+ return false;
317
+ }
284
318
  new CSSStyleSheet();
285
319
  return typeof new CSSStyleSheet().replaceSync === "function";
286
320
  } catch (e) {
@@ -331,176 +365,6 @@ var getAssetPath = (path) => {
331
365
  return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;
332
366
  };
333
367
 
334
- // src/utils/helpers.ts
335
- var isDef = (v) => v != null && v !== void 0;
336
- var isComplexType = (o) => {
337
- o = typeof o;
338
- return o === "object" || o === "function";
339
- };
340
-
341
- // src/utils/query-nonce-meta-tag-content.ts
342
- function queryNonceMetaTagContent(doc) {
343
- var _a, _b, _c;
344
- return (_c = (_b = (_a = doc.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
345
- }
346
-
347
- // src/utils/regular-expression.ts
348
- var escapeRegExpSpecialCharacters = (text) => {
349
- return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
350
- };
351
-
352
- // src/utils/remote-value.ts
353
- var RemoteValue = class _RemoteValue {
354
- /**
355
- * Deserializes a LocalValue serialized object back to its original JavaScript representation
356
- *
357
- * @param serialized The serialized LocalValue object
358
- * @returns The original JavaScript value/object
359
- */
360
- static fromLocalValue(serialized) {
361
- const type = serialized[TYPE_CONSTANT];
362
- const value = VALUE_CONSTANT in serialized ? serialized[VALUE_CONSTANT] : void 0;
363
- switch (type) {
364
- case "string" /* String */:
365
- return value;
366
- case "boolean" /* Boolean */:
367
- return value;
368
- case "bigint" /* BigInt */:
369
- return BigInt(value);
370
- case "undefined" /* Undefined */:
371
- return void 0;
372
- case "null" /* Null */:
373
- return null;
374
- case "number" /* Number */:
375
- if (value === "NaN") return NaN;
376
- if (value === "-0") return -0;
377
- if (value === "Infinity") return Infinity;
378
- if (value === "-Infinity") return -Infinity;
379
- return value;
380
- case "array" /* Array */:
381
- return value.map((item) => _RemoteValue.fromLocalValue(item));
382
- case "date" /* Date */:
383
- return new Date(value);
384
- case "map" /* Map */:
385
- const map2 = /* @__PURE__ */ new Map();
386
- for (const [key, val] of value) {
387
- const deserializedKey = typeof key === "object" && key !== null ? _RemoteValue.fromLocalValue(key) : key;
388
- const deserializedValue = _RemoteValue.fromLocalValue(val);
389
- map2.set(deserializedKey, deserializedValue);
390
- }
391
- return map2;
392
- case "object" /* Object */:
393
- const obj = {};
394
- for (const [key, val] of value) {
395
- obj[key] = _RemoteValue.fromLocalValue(val);
396
- }
397
- return obj;
398
- case "regexp" /* RegularExpression */:
399
- const { pattern, flags } = value;
400
- return new RegExp(pattern, flags);
401
- case "set" /* Set */:
402
- const set = /* @__PURE__ */ new Set();
403
- for (const item of value) {
404
- set.add(_RemoteValue.fromLocalValue(item));
405
- }
406
- return set;
407
- case "symbol" /* Symbol */:
408
- return Symbol(value);
409
- default:
410
- throw new Error(`Unsupported type: ${type}`);
411
- }
412
- }
413
- /**
414
- * Utility method to deserialize multiple LocalValues at once
415
- *
416
- * @param serializedValues Array of serialized LocalValue objects
417
- * @returns Array of deserialized JavaScript values
418
- */
419
- static fromLocalValueArray(serializedValues) {
420
- return serializedValues.map((value) => _RemoteValue.fromLocalValue(value));
421
- }
422
- /**
423
- * Verifies if the given object matches the structure of a serialized LocalValue
424
- *
425
- * @param obj Object to verify
426
- * @returns boolean indicating if the object has LocalValue structure
427
- */
428
- static isLocalValueObject(obj) {
429
- if (typeof obj !== "object" || obj === null) {
430
- return false;
431
- }
432
- if (!obj.hasOwnProperty(TYPE_CONSTANT)) {
433
- return false;
434
- }
435
- const type = obj[TYPE_CONSTANT];
436
- const hasTypeProperty = Object.values({ ...PrimitiveType, ...NonPrimitiveType }).includes(type);
437
- if (!hasTypeProperty) {
438
- return false;
439
- }
440
- if (type !== "null" /* Null */ && type !== "undefined" /* Undefined */) {
441
- return obj.hasOwnProperty(VALUE_CONSTANT);
442
- }
443
- return true;
444
- }
445
- };
446
-
447
- // src/utils/result.ts
448
- var result_exports = {};
449
- __export(result_exports, {
450
- err: () => err,
451
- map: () => map,
452
- ok: () => ok,
453
- unwrap: () => unwrap,
454
- unwrapErr: () => unwrapErr
455
- });
456
- var ok = (value) => ({
457
- isOk: true,
458
- isErr: false,
459
- value
460
- });
461
- var err = (value) => ({
462
- isOk: false,
463
- isErr: true,
464
- value
465
- });
466
- function map(result, fn) {
467
- if (result.isOk) {
468
- const val = fn(result.value);
469
- if (val instanceof Promise) {
470
- return val.then((newVal) => ok(newVal));
471
- } else {
472
- return ok(val);
473
- }
474
- }
475
- if (result.isErr) {
476
- const value = result.value;
477
- return err(value);
478
- }
479
- throw "should never get here";
480
- }
481
- var unwrap = (result) => {
482
- if (result.isOk) {
483
- return result.value;
484
- } else {
485
- throw result.value;
486
- }
487
- };
488
- var unwrapErr = (result) => {
489
- if (result.isErr) {
490
- return result.value;
491
- } else {
492
- throw result.value;
493
- }
494
- };
495
-
496
- // src/utils/serialize.ts
497
- function deserializeProperty(value) {
498
- if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
499
- return value;
500
- }
501
- return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
502
- }
503
-
504
368
  // src/utils/style.ts
505
369
  function createStyleSheetIfNeededAndSupported(styles2) {
506
370
  return void 0;
@@ -510,10 +374,11 @@ function createStyleSheetIfNeededAndSupported(styles2) {
510
374
  var globalStyleSheet;
511
375
  function createShadowRoot(cmpMeta) {
512
376
  var _a;
513
- const shadowRoot = this.attachShadow({
514
- mode: "open",
515
- delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)
516
- }) ;
377
+ const opts = { mode: "open" };
378
+ {
379
+ opts.delegatesFocus = !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */);
380
+ }
381
+ const shadowRoot = this.attachShadow(opts);
517
382
  if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
518
383
  if (globalStyleSheet) {
519
384
  if (supportsMutableAdoptedStyleSheets) {
@@ -676,7 +541,8 @@ var patchPseudoShadowDom = (hostElementPrototype) => {
676
541
  patchSlotRemoveChild(hostElementPrototype);
677
542
  };
678
543
  var patchCloneNode = (HostElementPrototype) => {
679
- const orgCloneNode = HostElementPrototype.cloneNode;
544
+ if (HostElementPrototype.__cloneNode) return;
545
+ const orgCloneNode = HostElementPrototype.__cloneNode = HostElementPrototype.cloneNode;
680
546
  HostElementPrototype.cloneNode = function(deep) {
681
547
  const srcNode = this;
682
548
  const isShadowDom = srcNode.shadowRoot && supportsShadow ;
@@ -721,6 +587,7 @@ var patchCloneNode = (HostElementPrototype) => {
721
587
  };
722
588
  };
723
589
  var patchSlotAppendChild = (HostElementPrototype) => {
590
+ if (HostElementPrototype.__appendChild) return;
724
591
  HostElementPrototype.__appendChild = HostElementPrototype.appendChild;
725
592
  HostElementPrototype.appendChild = function(newChild) {
726
593
  const { slotName, slotNode } = findSlotFromSlottedNode(newChild, this);
@@ -738,6 +605,7 @@ var patchSlotAppendChild = (HostElementPrototype) => {
738
605
  };
739
606
  };
740
607
  var patchSlotRemoveChild = (ElementPrototype) => {
608
+ if (ElementPrototype.__removeChild) return;
741
609
  ElementPrototype.__removeChild = ElementPrototype.removeChild;
742
610
  ElementPrototype.removeChild = function(toRemove) {
743
611
  if (toRemove && typeof toRemove["s-sn"] !== "undefined") {
@@ -753,6 +621,7 @@ var patchSlotRemoveChild = (ElementPrototype) => {
753
621
  };
754
622
  };
755
623
  var patchSlotPrepend = (HostElementPrototype) => {
624
+ if (HostElementPrototype.__prepend) return;
756
625
  HostElementPrototype.__prepend = HostElementPrototype.prepend;
757
626
  HostElementPrototype.prepend = function(...newChildren) {
758
627
  newChildren.forEach((newChild) => {
@@ -779,6 +648,7 @@ var patchSlotPrepend = (HostElementPrototype) => {
779
648
  };
780
649
  };
781
650
  var patchSlotAppend = (HostElementPrototype) => {
651
+ if (HostElementPrototype.__append) return;
782
652
  HostElementPrototype.__append = HostElementPrototype.append;
783
653
  HostElementPrototype.append = function(...newChildren) {
784
654
  newChildren.forEach((newChild) => {
@@ -790,6 +660,7 @@ var patchSlotAppend = (HostElementPrototype) => {
790
660
  };
791
661
  };
792
662
  var patchSlotInsertAdjacentHTML = (HostElementPrototype) => {
663
+ if (HostElementPrototype.__insertAdjacentHTML) return;
793
664
  const originalInsertAdjacentHtml = HostElementPrototype.insertAdjacentHTML;
794
665
  HostElementPrototype.insertAdjacentHTML = function(position, text) {
795
666
  if (position !== "afterbegin" && position !== "beforeend") {
@@ -815,6 +686,7 @@ var patchSlotInsertAdjacentText = (HostElementPrototype) => {
815
686
  };
816
687
  };
817
688
  var patchInsertBefore = (HostElementPrototype) => {
689
+ if (HostElementPrototype.__insertBefore) return;
818
690
  const eleProto = HostElementPrototype;
819
691
  if (eleProto.__insertBefore) return;
820
692
  eleProto.__insertBefore = HostElementPrototype.insertBefore;
@@ -849,6 +721,7 @@ var patchInsertBefore = (HostElementPrototype) => {
849
721
  };
850
722
  };
851
723
  var patchSlotInsertAdjacentElement = (HostElementPrototype) => {
724
+ if (HostElementPrototype.__insertAdjacentElement) return;
852
725
  const originalInsertAdjacentElement = HostElementPrototype.insertAdjacentElement;
853
726
  HostElementPrototype.insertAdjacentElement = function(position, element) {
854
727
  if (position !== "afterbegin" && position !== "beforeend") {
@@ -1053,6 +926,14 @@ var uniqueTime = (key, measureText) => {
1053
926
  };
1054
927
  }
1055
928
  };
929
+
930
+ // src/utils/query-nonce-meta-tag-content.ts
931
+ function queryNonceMetaTagContent(doc) {
932
+ var _a, _b, _c;
933
+ return (_c = (_b = (_a = doc.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
934
+ }
935
+
936
+ // src/runtime/styles.ts
1056
937
  var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1057
938
  var registerStyle = (scopeId2, cssText, allowCS) => {
1058
939
  let style = styles.get(scopeId2);
@@ -1069,7 +950,7 @@ var registerStyle = (scopeId2, cssText, allowCS) => {
1069
950
  styles.set(scopeId2, style);
1070
951
  };
1071
952
  var addStyle = (styleContainerNode, cmpMeta, mode) => {
1072
- var _a;
953
+ var _a, _b, _c;
1073
954
  const scopeId2 = getScopeId(cmpMeta, mode);
1074
955
  const style = styles.get(scopeId2);
1075
956
  if (!win.document) {
@@ -1084,61 +965,84 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
1084
965
  if (!appliedStyles) {
1085
966
  rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1086
967
  }
1087
- if (!appliedStyles.has(scopeId2)) {
1088
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1089
- styleElm.innerHTML = style;
1090
- } else {
1091
- styleElm = win.document.createElement("style");
1092
- styleElm.innerHTML = style;
1093
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1094
- if (nonce != null) {
1095
- styleElm.setAttribute("nonce", nonce);
1096
- }
1097
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1098
- if (styleContainerNode.nodeName === "HEAD") {
1099
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1100
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1101
- styleContainerNode.insertBefore(
1102
- styleElm,
1103
- (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
1104
- );
1105
- } else if ("host" in styleContainerNode) {
1106
- if (supportsConstructableStylesheets) {
1107
- const stylesheet = new CSSStyleSheet();
1108
- stylesheet.replaceSync(style);
1109
- if (supportsMutableAdoptedStyleSheets) {
1110
- styleContainerNode.adoptedStyleSheets.unshift(stylesheet);
1111
- } else {
1112
- styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1113
- }
968
+ const existingStyleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`);
969
+ if (existingStyleElm) {
970
+ existingStyleElm.textContent = style;
971
+ } else if (!appliedStyles.has(scopeId2)) {
972
+ styleElm = win.document.createElement("style");
973
+ styleElm.textContent = style;
974
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
975
+ if (nonce != null) {
976
+ styleElm.setAttribute("nonce", nonce);
977
+ }
978
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
979
+ if (styleContainerNode.nodeName === "HEAD") {
980
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
981
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
982
+ styleContainerNode.insertBefore(
983
+ styleElm,
984
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
985
+ );
986
+ } else if ("host" in styleContainerNode) {
987
+ if (supportsConstructableStylesheets) {
988
+ const currentWindow = (_b = styleContainerNode.defaultView) != null ? _b : styleContainerNode.ownerDocument.defaultView;
989
+ const stylesheet = new currentWindow.CSSStyleSheet();
990
+ stylesheet.replaceSync(style);
991
+ if (supportsMutableAdoptedStyleSheets) {
992
+ styleContainerNode.adoptedStyleSheets.unshift(stylesheet);
1114
993
  } else {
1115
- const existingStyleContainer = styleContainerNode.querySelector("style");
1116
- if (existingStyleContainer) {
1117
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1118
- } else {
1119
- styleContainerNode.prepend(styleElm);
1120
- }
994
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1121
995
  }
1122
996
  } else {
1123
- styleContainerNode.append(styleElm);
997
+ const existingStyleContainer = styleContainerNode.querySelector("style");
998
+ if (existingStyleContainer) {
999
+ existingStyleContainer.textContent = style + existingStyleContainer.textContent;
1000
+ } else {
1001
+ styleContainerNode.prepend(styleElm);
1002
+ }
1124
1003
  }
1004
+ } else {
1005
+ styleContainerNode.append(styleElm);
1125
1006
  }
1126
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1127
- styleContainerNode.insertBefore(styleElm, null);
1128
- }
1007
+ }
1008
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1009
+ styleContainerNode.insertBefore(styleElm, null);
1129
1010
  }
1130
1011
  if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1131
- styleElm.innerHTML += SLOT_FB_CSS;
1012
+ styleElm.textContent += SLOT_FB_CSS;
1132
1013
  }
1133
1014
  if (appliedStyles) {
1134
1015
  appliedStyles.add(scopeId2);
1135
1016
  }
1136
1017
  }
1137
- } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
1138
- if (supportsMutableAdoptedStyleSheets) {
1139
- styleContainerNode.adoptedStyleSheets.push(style);
1140
- } else {
1141
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
1018
+ } else {
1019
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1020
+ if (!appliedStyles) {
1021
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1022
+ }
1023
+ if (!appliedStyles.has(scopeId2)) {
1024
+ const currentWindow = (_c = styleContainerNode.defaultView) != null ? _c : styleContainerNode.ownerDocument.defaultView;
1025
+ let stylesheet;
1026
+ if (style.constructor === currentWindow.CSSStyleSheet) {
1027
+ stylesheet = style;
1028
+ } else {
1029
+ stylesheet = new currentWindow.CSSStyleSheet();
1030
+ for (let i2 = 0; i2 < style.cssRules.length; i2++) {
1031
+ stylesheet.insertRule(style.cssRules[i2].cssText, i2);
1032
+ }
1033
+ }
1034
+ if (supportsMutableAdoptedStyleSheets) {
1035
+ styleContainerNode.adoptedStyleSheets.push(stylesheet);
1036
+ } else {
1037
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, stylesheet];
1038
+ }
1039
+ appliedStyles.add(scopeId2);
1040
+ if ("host" in styleContainerNode) {
1041
+ const ssrStyleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`);
1042
+ if (ssrStyleElm) {
1043
+ writeTask(() => ssrStyleElm.remove());
1044
+ }
1045
+ }
1142
1046
  }
1143
1047
  }
1144
1048
  }
@@ -1172,7 +1076,19 @@ var hydrateScopedToShadow = () => {
1172
1076
  registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true);
1173
1077
  }
1174
1078
  };
1079
+
1080
+ // src/utils/helpers.ts
1081
+ var isDef = (v) => v != null && v !== void 0;
1082
+ var isComplexType = (o) => {
1083
+ o = typeof o;
1084
+ return o === "object" || o === "function";
1085
+ };
1086
+
1087
+ // src/runtime/vdom/h.ts
1175
1088
  var h = (nodeName, vnodeData, ...children) => {
1089
+ if (typeof nodeName === "string") {
1090
+ nodeName = transformTag(nodeName);
1091
+ }
1176
1092
  let child = null;
1177
1093
  let key = null;
1178
1094
  let slotName = null;
@@ -1236,7 +1152,8 @@ var newVNode = (tag, text) => {
1236
1152
  const vnode = {
1237
1153
  $flags$: 0,
1238
1154
  $tag$: tag,
1239
- $text$: text,
1155
+ // Normalize undefined to null to prevent rendering "undefined" as text
1156
+ $text$: text != null ? text : null,
1240
1157
  $elm$: null,
1241
1158
  $children$: null
1242
1159
  };
@@ -1286,7 +1203,7 @@ var convertToPrivate = (node) => {
1286
1203
 
1287
1204
  // src/runtime/client-hydrate.ts
1288
1205
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1289
- var _a, _b;
1206
+ var _a, _b, _c, _d;
1290
1207
  const endHydrate = createTime("hydrateClient", tagName);
1291
1208
  const shadowRoot = hostElm.shadowRoot;
1292
1209
  const childRenderNodes = [];
@@ -1329,7 +1246,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1329
1246
  const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
1330
1247
  const node = childRenderNode.$elm$;
1331
1248
  if (!shadowRoot) {
1332
- node["s-hn"] = tagName.toUpperCase();
1249
+ node["s-hn"] = transformTag(tagName).toUpperCase();
1333
1250
  if (childRenderNode.$tag$ === "slot") {
1334
1251
  node["s-cr"] = hostElm["s-cr"];
1335
1252
  }
@@ -1342,7 +1259,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1342
1259
  );
1343
1260
  const styleSheet = win.document.querySelector(`style[sty-id="${scopeId3}"]`);
1344
1261
  if (styleSheet) {
1345
- hostElm.shadowRoot.append(styleSheet.cloneNode(true));
1262
+ shadowRootNodes.unshift(styleSheet.cloneNode(true));
1346
1263
  }
1347
1264
  }
1348
1265
  }
@@ -1379,6 +1296,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1379
1296
  let snGroupIdx;
1380
1297
  let snGroupLen;
1381
1298
  let slottedItem;
1299
+ let currentPos = 0;
1382
1300
  for (snIndex; snIndex < snLen; snIndex++) {
1383
1301
  slotGroup = slottedNodes[snIndex];
1384
1302
  if (!slotGroup || !slotGroup.length) continue;
@@ -1392,7 +1310,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1392
1310
  if (!hosts[slottedItem.hostId]) continue;
1393
1311
  const hostEle = hosts[slottedItem.hostId];
1394
1312
  if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1395
- hostEle.appendChild(slottedItem.node);
1313
+ hostEle.insertBefore(slottedItem.node, (_c = (_b = slotGroup[snGroupIdx - 1]) == null ? void 0 : _b.node) == null ? void 0 : _c.nextSibling);
1396
1314
  }
1397
1315
  if (!hostEle.shadowRoot || !shadowRoot) {
1398
1316
  if (!slottedItem.slot["s-cr"]) {
@@ -1403,14 +1321,15 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1403
1321
  slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
1404
1322
  }
1405
1323
  }
1406
- addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
1407
- if (((_b = slottedItem.node.parentElement) == null ? void 0 : _b.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) {
1324
+ addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"] || currentPos);
1325
+ if (((_d = slottedItem.node.parentElement) == null ? void 0 : _d.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) {
1408
1326
  slottedItem.node.removeAttribute("slot");
1409
1327
  }
1410
1328
  {
1411
1329
  patchSlottedNode(slottedItem.node);
1412
1330
  }
1413
1331
  }
1332
+ currentPos = (slottedItem.node["s-oo"] || currentPos) + 1;
1414
1333
  }
1415
1334
  }
1416
1335
  if (scopeId2 && slotNodes.length) {
@@ -1418,7 +1337,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1418
1337
  slot.$elm$.parentElement.classList.add(scopeId2 + "-s");
1419
1338
  });
1420
1339
  }
1421
- if (shadowRoot) {
1340
+ if (shadowRoot && !shadowRoot.childNodes.length) {
1422
1341
  let rnIdex = 0;
1423
1342
  const rnLen = shadowRootNodes.length;
1424
1343
  if (rnLen) {
@@ -1432,7 +1351,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1432
1351
  if (typeof node["s-en"] !== "string" && typeof node["s-sn"] !== "string") {
1433
1352
  if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) {
1434
1353
  node.removeAttribute("hidden");
1435
- } else if (node.nodeType === 8 /* CommentNode */ && !node.nodeValue || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1354
+ } else if (node.nodeType === 8 /* CommentNode */ && !node.nodeValue) {
1436
1355
  node.parentNode.removeChild(node);
1437
1356
  }
1438
1357
  }
@@ -1599,10 +1518,6 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1599
1518
  vnode.$elm$ = node;
1600
1519
  vnode.$index$ = "0";
1601
1520
  parentVNode.$children$ = [vnode];
1602
- } else {
1603
- if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim() && !node["s-nr"]) {
1604
- node.remove();
1605
- }
1606
1521
  }
1607
1522
  return parentVNode;
1608
1523
  };
@@ -1704,18 +1619,6 @@ var findCorrespondingNode = (node, type) => {
1704
1619
  } while (sibling && (sibling.nodeType !== type || !sibling.nodeValue));
1705
1620
  return sibling;
1706
1621
  };
1707
- var createSupportsRuleRe = (selector) => {
1708
- const safeSelector2 = escapeRegExpSpecialCharacters(selector);
1709
- return new RegExp(
1710
- // First capture group: match any context before the selector that's not inside @supports selector()
1711
- // Using negative lookahead to avoid matching inside @supports selector(...) condition
1712
- `(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${safeSelector2}))(${safeSelector2}\\b)`,
1713
- "g"
1714
- );
1715
- };
1716
- createSupportsRuleRe("::slotted");
1717
- createSupportsRuleRe(":host");
1718
- createSupportsRuleRe(":host-context");
1719
1622
 
1720
1623
  // src/runtime/mode.ts
1721
1624
  var computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);
@@ -1724,6 +1627,111 @@ var getMode = (ref) => {
1724
1627
  var _a;
1725
1628
  return (_a = getHostRef(ref)) == null ? void 0 : _a.$modeName$;
1726
1629
  };
1630
+
1631
+ // src/utils/remote-value.ts
1632
+ var RemoteValue = class _RemoteValue {
1633
+ /**
1634
+ * Deserializes a LocalValue serialized object back to its original JavaScript representation
1635
+ *
1636
+ * @param serialized The serialized LocalValue object
1637
+ * @returns The original JavaScript value/object
1638
+ */
1639
+ static fromLocalValue(serialized) {
1640
+ const type = serialized[TYPE_CONSTANT];
1641
+ const value = VALUE_CONSTANT in serialized ? serialized[VALUE_CONSTANT] : void 0;
1642
+ switch (type) {
1643
+ case "string" /* String */:
1644
+ return value;
1645
+ case "boolean" /* Boolean */:
1646
+ return value;
1647
+ case "bigint" /* BigInt */:
1648
+ return BigInt(value);
1649
+ case "undefined" /* Undefined */:
1650
+ return void 0;
1651
+ case "null" /* Null */:
1652
+ return null;
1653
+ case "number" /* Number */:
1654
+ if (value === "NaN") return NaN;
1655
+ if (value === "-0") return -0;
1656
+ if (value === "Infinity") return Infinity;
1657
+ if (value === "-Infinity") return -Infinity;
1658
+ return value;
1659
+ case "array" /* Array */:
1660
+ return value.map((item) => _RemoteValue.fromLocalValue(item));
1661
+ case "date" /* Date */:
1662
+ return new Date(value);
1663
+ case "map" /* Map */:
1664
+ const map = /* @__PURE__ */ new Map();
1665
+ for (const [key, val] of value) {
1666
+ const deserializedKey = typeof key === "object" && key !== null ? _RemoteValue.fromLocalValue(key) : key;
1667
+ const deserializedValue = _RemoteValue.fromLocalValue(val);
1668
+ map.set(deserializedKey, deserializedValue);
1669
+ }
1670
+ return map;
1671
+ case "object" /* Object */:
1672
+ const obj = {};
1673
+ for (const [key, val] of value) {
1674
+ obj[key] = _RemoteValue.fromLocalValue(val);
1675
+ }
1676
+ return obj;
1677
+ case "regexp" /* RegularExpression */:
1678
+ const { pattern, flags } = value;
1679
+ return new RegExp(pattern, flags);
1680
+ case "set" /* Set */:
1681
+ const set = /* @__PURE__ */ new Set();
1682
+ for (const item of value) {
1683
+ set.add(_RemoteValue.fromLocalValue(item));
1684
+ }
1685
+ return set;
1686
+ case "symbol" /* Symbol */:
1687
+ return Symbol(value);
1688
+ default:
1689
+ throw new Error(`Unsupported type: ${type}`);
1690
+ }
1691
+ }
1692
+ /**
1693
+ * Utility method to deserialize multiple LocalValues at once
1694
+ *
1695
+ * @param serializedValues Array of serialized LocalValue objects
1696
+ * @returns Array of deserialized JavaScript values
1697
+ */
1698
+ static fromLocalValueArray(serializedValues) {
1699
+ return serializedValues.map((value) => _RemoteValue.fromLocalValue(value));
1700
+ }
1701
+ /**
1702
+ * Verifies if the given object matches the structure of a serialized LocalValue
1703
+ *
1704
+ * @param obj Object to verify
1705
+ * @returns boolean indicating if the object has LocalValue structure
1706
+ */
1707
+ static isLocalValueObject(obj) {
1708
+ if (typeof obj !== "object" || obj === null) {
1709
+ return false;
1710
+ }
1711
+ if (!obj.hasOwnProperty(TYPE_CONSTANT)) {
1712
+ return false;
1713
+ }
1714
+ const type = obj[TYPE_CONSTANT];
1715
+ const hasTypeProperty = Object.values({ ...PrimitiveType, ...NonPrimitiveType }).includes(type);
1716
+ if (!hasTypeProperty) {
1717
+ return false;
1718
+ }
1719
+ if (type !== "null" /* Null */ && type !== "undefined" /* Undefined */) {
1720
+ return obj.hasOwnProperty(VALUE_CONSTANT);
1721
+ }
1722
+ return true;
1723
+ }
1724
+ };
1725
+
1726
+ // src/utils/serialize.ts
1727
+ function deserializeProperty(value) {
1728
+ if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
1729
+ return value;
1730
+ }
1731
+ return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
1732
+ }
1733
+
1734
+ // src/runtime/parse-property-value.ts
1727
1735
  var parsePropertyValue = (propValue, propType, isFormAssociated) => {
1728
1736
  if (typeof propValue === "string" && propValue.startsWith(SERIALIZED_PREFIX)) {
1729
1737
  propValue = deserializeProperty(propValue);
@@ -1814,7 +1822,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1814
1822
  }
1815
1823
  } else if (memberName === "key") ; else if (memberName === "ref") {
1816
1824
  if (newValue) {
1817
- newValue(elm);
1825
+ queueRefAttachment(newValue, elm);
1818
1826
  }
1819
1827
  } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
1820
1828
  if (memberName[2] === "-") {
@@ -1834,6 +1842,36 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1834
1842
  plt.ael(elm, memberName, newValue, capture);
1835
1843
  }
1836
1844
  }
1845
+ } else if (memberName[0] === "a" && memberName.startsWith("attr:")) {
1846
+ const propName = memberName.slice(5);
1847
+ let attrName;
1848
+ {
1849
+ const hostRef = getHostRef(elm);
1850
+ if (hostRef && hostRef.$cmpMeta$ && hostRef.$cmpMeta$.$members$) {
1851
+ const memberMeta = hostRef.$cmpMeta$.$members$[propName];
1852
+ if (memberMeta && memberMeta[1]) {
1853
+ attrName = memberMeta[1];
1854
+ }
1855
+ }
1856
+ }
1857
+ if (!attrName) {
1858
+ attrName = propName.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
1859
+ }
1860
+ if (newValue == null || newValue === false) {
1861
+ if (newValue !== false || elm.getAttribute(attrName) === "") {
1862
+ elm.removeAttribute(attrName);
1863
+ }
1864
+ } else {
1865
+ elm.setAttribute(attrName, newValue === true ? "" : newValue);
1866
+ }
1867
+ return;
1868
+ } else if (memberName[0] === "p" && memberName.startsWith("prop:")) {
1869
+ const propName = memberName.slice(5);
1870
+ try {
1871
+ elm[propName] = newValue;
1872
+ } catch (e) {
1873
+ }
1874
+ return;
1837
1875
  } else {
1838
1876
  const isComplex = isComplexType(newValue);
1839
1877
  if ((isProp || isComplex && newValue !== null) && !isSvg) {
@@ -1842,7 +1880,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1842
1880
  const n = newValue == null ? "" : newValue;
1843
1881
  if (memberName === "list") {
1844
1882
  isProp = false;
1845
- } else if (oldValue == null || elm[memberName] != n) {
1883
+ } else if (oldValue == null || elm[memberName] !== n) {
1846
1884
  if (typeof elm.__lookupSetter__(memberName) === "function") {
1847
1885
  elm[memberName] = n;
1848
1886
  } else {
@@ -1943,6 +1981,8 @@ var useNativeShadowDom = false;
1943
1981
  var checkSlotFallbackVisibility = false;
1944
1982
  var checkSlotRelocate = false;
1945
1983
  var isSvgMode = false;
1984
+ var refCallbacksToRemove = [];
1985
+ var refCallbacksToAttach = [];
1946
1986
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1947
1987
  var _a;
1948
1988
  const newVNode2 = newParentVNode.$children$[childIndex];
@@ -1965,7 +2005,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1965
2005
  );
1966
2006
  }
1967
2007
  }
1968
- if (newVNode2.$text$ !== null) {
2008
+ if (newVNode2.$text$ != null) {
1969
2009
  elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
1970
2010
  } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
1971
2011
  elm = newVNode2.$elm$ = win.document.createTextNode("");
@@ -1977,9 +2017,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1977
2017
  isSvgMode = newVNode2.$tag$ === "svg";
1978
2018
  }
1979
2019
  if (!win.document) {
1980
- throw new Error(
1981
- "You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component."
1982
- );
2020
+ throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM.");
1983
2021
  }
1984
2022
  elm = newVNode2.$elm$ = win.document.createElementNS(
1985
2023
  isSvgMode ? SVG_NS : HTML_NS,
@@ -1995,10 +2033,11 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1995
2033
  elm.classList.add(elm["s-si"] = scopeId);
1996
2034
  }
1997
2035
  if (newVNode2.$children$) {
2036
+ const appendTarget = newVNode2.$tag$ === "template" ? elm.content : elm;
1998
2037
  for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
1999
2038
  childNode = createElm(oldParentVNode, newVNode2, i2);
2000
2039
  if (childNode) {
2001
- elm.appendChild(childNode);
2040
+ appendTarget.appendChild(childNode);
2002
2041
  }
2003
2042
  }
2004
2043
  }
@@ -2020,9 +2059,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2020
2059
  patchSlotNode(elm);
2021
2060
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
2022
2061
  if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
2023
- {
2024
- relocateToHostRoot(oldParentVNode.$elm$);
2025
- }
2062
+ relocateToHostRoot(oldParentVNode.$elm$);
2026
2063
  }
2027
2064
  {
2028
2065
  addRemoveSlotScopedClass(contentRef, elm, newParentVNode.$elm$, oldParentVNode == null ? void 0 : oldParentVNode.$elm$);
@@ -2054,7 +2091,7 @@ var relocateToHostRoot = (parentElm) => {
2054
2091
  var putBackInOriginalLocation = (parentElm, recursive) => {
2055
2092
  plt.$flags$ |= 1 /* isTmpDisconnected */;
2056
2093
  const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
2057
- if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
2094
+ if (parentElm["s-sr"]) {
2058
2095
  let node = parentElm;
2059
2096
  while (node = node.nextSibling) {
2060
2097
  if (node && node["s-sn"] === parentElm["s-sn"] && node["s-sh"] === hostTagName) {
@@ -2083,6 +2120,9 @@ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
2083
2120
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
2084
2121
  containerElm = containerElm.shadowRoot;
2085
2122
  }
2123
+ if (parentVNode.$tag$ === "template") {
2124
+ containerElm = containerElm.content;
2125
+ }
2086
2126
  for (; startIdx <= endIdx; ++startIdx) {
2087
2127
  if (vnodes[startIdx]) {
2088
2128
  childNode = createElm(null, parentVNode, startIdx);
@@ -2126,6 +2166,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
2126
2166
  let newEndVnode = newCh[newEndIdx];
2127
2167
  let node;
2128
2168
  let elmToMove;
2169
+ const containerElm = newVNode2.$tag$ === "template" ? parentElm.content : parentElm;
2129
2170
  while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
2130
2171
  if (oldStartVnode == null) {
2131
2172
  oldStartVnode = oldCh[++oldStartIdx];
@@ -2148,7 +2189,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
2148
2189
  putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
2149
2190
  }
2150
2191
  patch(oldStartVnode, newEndVnode, isInitialRender);
2151
- insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
2192
+ insertBefore(containerElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
2152
2193
  oldStartVnode = oldCh[++oldStartIdx];
2153
2194
  newEndVnode = newCh[--newEndIdx];
2154
2195
  } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
@@ -2156,7 +2197,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
2156
2197
  putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
2157
2198
  }
2158
2199
  patch(oldEndVnode, newStartVnode, isInitialRender);
2159
- insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
2200
+ insertBefore(containerElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
2160
2201
  oldEndVnode = oldCh[--oldEndIdx];
2161
2202
  newStartVnode = newCh[++newStartIdx];
2162
2203
  } else {
@@ -2230,7 +2271,7 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
2230
2271
  const tag = newVNode2.$tag$;
2231
2272
  const text = newVNode2.$text$;
2232
2273
  let defaultHolder;
2233
- if (text === null) {
2274
+ if (text == null) {
2234
2275
  {
2235
2276
  isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
2236
2277
  }
@@ -2319,21 +2360,38 @@ var markSlotContentForRelocation = (elm) => {
2319
2360
  };
2320
2361
  var nullifyVNodeRefs = (vNode) => {
2321
2362
  {
2322
- vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
2363
+ if (vNode.$attrs$ && vNode.$attrs$.ref) {
2364
+ refCallbacksToRemove.push(() => vNode.$attrs$.ref(null));
2365
+ }
2323
2366
  vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
2324
2367
  }
2325
2368
  };
2326
- var insertBefore = (parent, newNode, reference) => {
2327
- if (typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) {
2328
- addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
2329
- } else if (typeof newNode["s-sn"] === "string") {
2330
- if (parent.getRootNode().nodeType !== 11 /* DOCUMENT_FRAGMENT_NODE */) {
2331
- patchParentNode(newNode);
2369
+ var queueRefAttachment = (refCallback, elm) => {
2370
+ {
2371
+ refCallbacksToAttach.push(() => refCallback(elm));
2372
+ }
2373
+ };
2374
+ var flushQueuedRefCallbacks = () => {
2375
+ {
2376
+ refCallbacksToRemove.forEach((cb) => cb());
2377
+ refCallbacksToRemove.length = 0;
2378
+ refCallbacksToAttach.forEach((cb) => cb());
2379
+ refCallbacksToAttach.length = 0;
2380
+ }
2381
+ };
2382
+ var insertBefore = (parent, newNode, reference, isInitialLoad) => {
2383
+ {
2384
+ if (typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) {
2385
+ addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
2386
+ } else if (typeof newNode["s-sn"] === "string") {
2387
+ if (parent.getRootNode().nodeType !== 11 /* DOCUMENT_FRAGMENT_NODE */) {
2388
+ patchParentNode(newNode);
2389
+ }
2390
+ parent.insertBefore(newNode, reference);
2391
+ const { slotNode } = findSlotFromSlottedNode(newNode);
2392
+ if (slotNode && !isInitialLoad) dispatchSlotChangeEvent(slotNode);
2393
+ return newNode;
2332
2394
  }
2333
- parent.insertBefore(newNode, reference);
2334
- const { slotNode } = findSlotFromSlottedNode(newNode);
2335
- if (slotNode) dispatchSlotChangeEvent(slotNode);
2336
- return newNode;
2337
2395
  }
2338
2396
  if (parent.__insertBefore) {
2339
2397
  return parent.__insertBefore(newNode, reference);
@@ -2407,19 +2465,27 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2407
2465
  if (!nodeToRelocate["s-ol"] && win.document) {
2408
2466
  const orgLocationNode = win.document.createTextNode("");
2409
2467
  orgLocationNode["s-nr"] = nodeToRelocate;
2410
- insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
2468
+ insertBefore(
2469
+ nodeToRelocate.parentNode,
2470
+ nodeToRelocate["s-ol"] = orgLocationNode,
2471
+ nodeToRelocate,
2472
+ isInitialLoad
2473
+ );
2411
2474
  }
2412
2475
  }
2413
2476
  for (const relocateData of relocateNodes) {
2414
2477
  const nodeToRelocate = relocateData.$nodeToRelocate$;
2415
2478
  const slotRefNode = relocateData.$slotRefNode$;
2479
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && isInitialLoad) {
2480
+ nodeToRelocate["s-ih"] = (_a = nodeToRelocate.hidden) != null ? _a : false;
2481
+ }
2416
2482
  if (slotRefNode) {
2417
2483
  const parentNodeRef = slotRefNode.parentNode;
2418
2484
  let insertBeforeNode = slotRefNode.nextSibling;
2419
- if ((insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */)) {
2420
- let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
2485
+ if (insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */) {
2486
+ let orgLocationNode = (_b = nodeToRelocate["s-ol"]) == null ? void 0 : _b.previousSibling;
2421
2487
  while (orgLocationNode) {
2422
- let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
2488
+ let refNode = (_c = orgLocationNode["s-nr"]) != null ? _c : null;
2423
2489
  if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {
2424
2490
  refNode = refNode.nextSibling;
2425
2491
  while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
@@ -2437,20 +2503,26 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2437
2503
  const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
2438
2504
  if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
2439
2505
  if (nodeToRelocate !== insertBeforeNode) {
2440
- insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
2506
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode, isInitialLoad);
2507
+ if (nodeToRelocate.nodeType === 8 /* CommentNode */ && nodeToRelocate.nodeValue.startsWith("s-nt-")) {
2508
+ const textNode = win.document.createTextNode(nodeToRelocate.nodeValue.replace(/^s-nt-/, ""));
2509
+ textNode["s-hn"] = nodeToRelocate["s-hn"];
2510
+ textNode["s-sn"] = nodeToRelocate["s-sn"];
2511
+ textNode["s-sh"] = nodeToRelocate["s-sh"];
2512
+ textNode["s-sr"] = nodeToRelocate["s-sr"];
2513
+ textNode["s-ol"] = nodeToRelocate["s-ol"];
2514
+ textNode["s-ol"]["s-nr"] = textNode;
2515
+ insertBefore(nodeToRelocate.parentNode, textNode, nodeToRelocate, isInitialLoad);
2516
+ nodeToRelocate.parentNode.removeChild(nodeToRelocate);
2517
+ }
2441
2518
  if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
2442
- nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
2519
+ nodeToRelocate.hidden = (_d = nodeToRelocate["s-ih"]) != null ? _d : false;
2443
2520
  }
2444
2521
  }
2445
2522
  }
2446
2523
  nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](slotRefNode);
2447
- } else {
2448
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
2449
- if (isInitialLoad) {
2450
- nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
2451
- }
2452
- nodeToRelocate.hidden = true;
2453
- }
2524
+ } else if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
2525
+ nodeToRelocate.hidden = true;
2454
2526
  }
2455
2527
  }
2456
2528
  }
@@ -2460,18 +2532,26 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2460
2532
  plt.$flags$ &= -2 /* isTmpDisconnected */;
2461
2533
  relocateNodes.length = 0;
2462
2534
  }
2463
- if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
2535
+ if (!useNativeShadowDom && !(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && hostElm["s-cr"]) {
2464
2536
  const children = rootVnode.$elm$.__childNodes || rootVnode.$elm$.childNodes;
2465
2537
  for (const childNode of children) {
2466
2538
  if (childNode["s-hn"] !== hostTagName && !childNode["s-sh"]) {
2467
2539
  if (isInitialLoad && childNode["s-ih"] == null) {
2468
2540
  childNode["s-ih"] = (_e = childNode.hidden) != null ? _e : false;
2469
2541
  }
2470
- childNode.hidden = true;
2542
+ if (childNode.nodeType === 1 /* ElementNode */) {
2543
+ childNode.hidden = true;
2544
+ } else if (childNode.nodeType === 3 /* TextNode */ && !!childNode.nodeValue.trim()) {
2545
+ const textCommentNode = win.document.createComment("s-nt-" + childNode.nodeValue);
2546
+ textCommentNode["s-sn"] = childNode["s-sn"];
2547
+ insertBefore(childNode.parentNode, textCommentNode, childNode, isInitialLoad);
2548
+ childNode.parentNode.removeChild(childNode);
2549
+ }
2471
2550
  }
2472
2551
  }
2473
2552
  }
2474
2553
  contentRef = void 0;
2554
+ flushQueuedRefCallbacks();
2475
2555
  };
2476
2556
 
2477
2557
  // src/runtime/update-component.ts
@@ -2517,6 +2597,10 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
2517
2597
  let maybePromise;
2518
2598
  if (isInitialLoad) {
2519
2599
  {
2600
+ if (hostRef.$deferredConnectedCallback$) {
2601
+ hostRef.$deferredConnectedCallback$ = false;
2602
+ safeCall(instance, "connectedCallback", void 0, elm);
2603
+ }
2520
2604
  {
2521
2605
  hostRef.$flags$ |= 256 /* isListenReady */;
2522
2606
  if (hostRef.$queuedListeners$) {
@@ -2536,8 +2620,8 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
2536
2620
  endSchedule();
2537
2621
  return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
2538
2622
  };
2539
- var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err2) => {
2540
- console.error(err2);
2623
+ var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err) => {
2624
+ console.error(err);
2541
2625
  fn();
2542
2626
  }) : fn();
2543
2627
  var isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === "function";
@@ -2565,7 +2649,7 @@ var updateComponent = async (hostRef, instance, isInitialLoad) => {
2565
2649
  if (childrenPromises.length === 0) {
2566
2650
  postUpdate();
2567
2651
  } else {
2568
- Promise.all(childrenPromises).then(postUpdate);
2652
+ Promise.all(childrenPromises).then(postUpdate).catch(postUpdate);
2569
2653
  hostRef.$flags$ |= 4 /* isWaitingForChildren */;
2570
2654
  childrenPromises.length = 0;
2571
2655
  }
@@ -2688,25 +2772,35 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2688
2772
  const didValueChange = newVal !== oldVal && !areBothNaN;
2689
2773
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
2690
2774
  hostRef.$instanceValues$.set(propName, newVal);
2691
- if (instance) {
2692
- if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
2693
- const watchMethods = cmpMeta.$watchers$[propName];
2694
- if (watchMethods) {
2695
- watchMethods.map((watchMethodName) => {
2696
- try {
2697
- instance[watchMethodName](newVal, oldVal, propName);
2698
- } catch (e) {
2699
- consoleError(e, elm);
2775
+ if (cmpMeta.$watchers$) {
2776
+ const watchMethods = cmpMeta.$watchers$[propName];
2777
+ if (watchMethods) {
2778
+ watchMethods.map((watcher) => {
2779
+ try {
2780
+ const [[watchMethodName, watcherFlags]] = Object.entries(watcher);
2781
+ if (flags & 128 /* isWatchReady */ || watcherFlags & 1 /* Immediate */) {
2782
+ if (!instance) {
2783
+ hostRef.$fetchedCbList$.push(() => {
2784
+ hostRef.$lazyInstance$[watchMethodName](newVal, oldVal, propName);
2785
+ });
2786
+ } else {
2787
+ instance[watchMethodName](newVal, oldVal, propName);
2788
+ }
2700
2789
  }
2701
- });
2702
- }
2703
- }
2704
- if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
2705
- if (instance.componentShouldUpdate) {
2706
- if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
2707
- return;
2790
+ } catch (e) {
2791
+ consoleError(e, elm);
2708
2792
  }
2793
+ });
2794
+ }
2795
+ }
2796
+ if (flags & 2 /* hasRendered */) {
2797
+ if (instance.componentShouldUpdate) {
2798
+ const shouldUpdate = instance.componentShouldUpdate(newVal, oldVal, propName);
2799
+ if (shouldUpdate === false && !(flags & 16 /* isQueuedForUpdate */)) {
2800
+ return;
2709
2801
  }
2802
+ }
2803
+ if (!(flags & 16 /* isQueuedForUpdate */)) {
2710
2804
  scheduleUpdate(hostRef, false);
2711
2805
  }
2712
2806
  }
@@ -2833,19 +2927,23 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2833
2927
  return;
2834
2928
  } else if (propName == null) {
2835
2929
  const flags2 = hostRef == null ? void 0 : hostRef.$flags$;
2836
- if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
2930
+ if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && newValue !== oldValue) {
2837
2931
  const instance = hostRef.$lazyInstance$ ;
2838
2932
  const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];
2839
- entry == null ? void 0 : entry.forEach((callbackName) => {
2840
- if (instance[callbackName] != null) {
2841
- instance[callbackName].call(instance, newValue, oldValue, attrName);
2933
+ entry == null ? void 0 : entry.forEach((watcher) => {
2934
+ const [[watchMethodName, watcherFlags]] = Object.entries(watcher);
2935
+ if (instance[watchMethodName] != null && (flags2 & 128 /* isWatchReady */ || watcherFlags & 1 /* Immediate */)) {
2936
+ instance[watchMethodName].call(instance, newValue, oldValue, attrName);
2842
2937
  }
2843
2938
  });
2844
2939
  }
2845
2940
  return;
2846
2941
  }
2942
+ const propFlags = members.find(([m]) => m === propName);
2943
+ if (propFlags && propFlags[1][0] & 4 /* Boolean */) {
2944
+ newValue = newValue === null || newValue === "false" ? false : true;
2945
+ }
2847
2946
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
2848
- newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
2849
2947
  if (newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
2850
2948
  this[propName] = newValue;
2851
2949
  }
@@ -2873,76 +2971,92 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2873
2971
  // src/runtime/initialize-component.ts
2874
2972
  var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2875
2973
  let Cstr;
2876
- if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
2877
- hostRef.$flags$ |= 32 /* hasInitializedComponent */;
2878
- const bundleId = cmpMeta.$lazyBundleId$;
2879
- if (bundleId) {
2880
- const CstrImport = loadModule(cmpMeta, hostRef);
2881
- if (CstrImport && "then" in CstrImport) {
2882
- const endLoad = uniqueTime();
2883
- Cstr = await CstrImport;
2884
- endLoad();
2885
- } else {
2886
- Cstr = CstrImport;
2887
- }
2888
- if (!Cstr) {
2889
- throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
2890
- }
2891
- if (!Cstr.isProxied) {
2974
+ try {
2975
+ if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
2976
+ hostRef.$flags$ |= 32 /* hasInitializedComponent */;
2977
+ const bundleId = cmpMeta.$lazyBundleId$;
2978
+ if (bundleId) {
2979
+ const CstrImport = loadModule(cmpMeta, hostRef);
2980
+ if (CstrImport && "then" in CstrImport) {
2981
+ const endLoad = uniqueTime();
2982
+ Cstr = await CstrImport;
2983
+ endLoad();
2984
+ } else {
2985
+ Cstr = CstrImport;
2986
+ }
2987
+ if (!Cstr) {
2988
+ throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
2989
+ }
2990
+ if (!Cstr.isProxied) {
2991
+ {
2992
+ cmpMeta.$watchers$ = Cstr.watchers;
2993
+ cmpMeta.$serializers$ = Cstr.serializers;
2994
+ cmpMeta.$deserializers$ = Cstr.deserializers;
2995
+ }
2996
+ proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
2997
+ Cstr.isProxied = true;
2998
+ }
2999
+ const endNewInstance = createTime("createInstance", cmpMeta.$tagName$);
2892
3000
  {
2893
- cmpMeta.$watchers$ = Cstr.watchers;
2894
- cmpMeta.$serializers$ = Cstr.serializers;
2895
- cmpMeta.$deserializers$ = Cstr.deserializers;
3001
+ hostRef.$flags$ |= 8 /* isConstructingInstance */;
3002
+ }
3003
+ try {
3004
+ new Cstr(hostRef);
3005
+ } catch (e) {
3006
+ consoleError(e, elm);
3007
+ }
3008
+ {
3009
+ hostRef.$flags$ &= -9 /* isConstructingInstance */;
3010
+ }
3011
+ {
3012
+ hostRef.$flags$ |= 128 /* isWatchReady */;
3013
+ }
3014
+ endNewInstance();
3015
+ const needsDeferredCallback = cmpMeta.$flags$ & 4 /* hasSlotRelocation */;
3016
+ if (!needsDeferredCallback) {
3017
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
3018
+ } else {
3019
+ hostRef.$deferredConnectedCallback$ = true;
3020
+ }
3021
+ } else {
3022
+ Cstr = elm.constructor;
3023
+ const cmpTag = elm.localName;
3024
+ customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
3025
+ }
3026
+ if (Cstr && Cstr.style) {
3027
+ let style;
3028
+ if (typeof Cstr.style === "string") {
3029
+ style = Cstr.style;
3030
+ } else if (typeof Cstr.style !== "string") {
3031
+ hostRef.$modeName$ = computeMode(elm);
3032
+ if (hostRef.$modeName$) {
3033
+ style = Cstr.style[hostRef.$modeName$];
3034
+ }
3035
+ }
3036
+ const scopeId2 = getScopeId(cmpMeta, hostRef.$modeName$);
3037
+ if (!styles.has(scopeId2) || BUILD.hotModuleReplacement) {
3038
+ const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
3039
+ registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));
3040
+ endRegisterStyles();
2896
3041
  }
2897
- proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
2898
- Cstr.isProxied = true;
2899
- }
2900
- const endNewInstance = createTime("createInstance", cmpMeta.$tagName$);
2901
- {
2902
- hostRef.$flags$ |= 8 /* isConstructingInstance */;
2903
- }
2904
- try {
2905
- new Cstr(hostRef);
2906
- } catch (e) {
2907
- consoleError(e, elm);
2908
- }
2909
- {
2910
- hostRef.$flags$ &= -9 /* isConstructingInstance */;
2911
- }
2912
- {
2913
- hostRef.$flags$ |= 128 /* isWatchReady */;
2914
3042
  }
2915
- endNewInstance();
2916
- fireConnectedCallback(hostRef.$lazyInstance$, elm);
3043
+ }
3044
+ const ancestorComponent = hostRef.$ancestorComponent$;
3045
+ const schedule = () => scheduleUpdate(hostRef, true);
3046
+ if (ancestorComponent && ancestorComponent["s-rc"]) {
3047
+ ancestorComponent["s-rc"].push(schedule);
2917
3048
  } else {
2918
- Cstr = elm.constructor;
2919
- const cmpTag = elm.localName;
2920
- customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
3049
+ schedule();
2921
3050
  }
2922
- if (Cstr && Cstr.style) {
2923
- let style;
2924
- if (typeof Cstr.style === "string") {
2925
- style = Cstr.style;
2926
- } else if (typeof Cstr.style !== "string") {
2927
- hostRef.$modeName$ = computeMode(elm);
2928
- if (hostRef.$modeName$) {
2929
- style = Cstr.style[hostRef.$modeName$];
2930
- }
2931
- }
2932
- const scopeId2 = getScopeId(cmpMeta, hostRef.$modeName$);
2933
- if (!styles.has(scopeId2)) {
2934
- const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
2935
- registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));
2936
- endRegisterStyles();
2937
- }
3051
+ } catch (e) {
3052
+ consoleError(e, elm);
3053
+ if (hostRef.$onRenderResolve$) {
3054
+ hostRef.$onRenderResolve$();
3055
+ hostRef.$onRenderResolve$ = void 0;
3056
+ }
3057
+ if (hostRef.$onReadyResolve$) {
3058
+ hostRef.$onReadyResolve$(elm);
2938
3059
  }
2939
- }
2940
- const ancestorComponent = hostRef.$ancestorComponent$;
2941
- const schedule = () => scheduleUpdate(hostRef, true);
2942
- if (ancestorComponent && ancestorComponent["s-rc"]) {
2943
- ancestorComponent["s-rc"].push(schedule);
2944
- } else {
2945
- schedule();
2946
3060
  }
2947
3061
  };
2948
3062
  var fireConnectedCallback = (instance, elm) => {
@@ -3104,12 +3218,14 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3104
3218
  cmpMeta.$serializers$ = (_b = compactMeta[5]) != null ? _b : {};
3105
3219
  cmpMeta.$deserializers$ = (_c = compactMeta[6]) != null ? _c : {};
3106
3220
  }
3107
- const tagName = cmpMeta.$tagName$;
3221
+ const tagName = transformTag(cmpMeta.$tagName$);
3108
3222
  const HostElement = class extends HTMLElement {
3223
+ ["s-p"];
3224
+ ["s-rc"];
3225
+ hasRegisteredEventListeners = false;
3109
3226
  // StencilLazyHost
3110
3227
  constructor(self) {
3111
3228
  super(self);
3112
- this.hasRegisteredEventListeners = false;
3113
3229
  self = this;
3114
3230
  registerHost(self, cmpMeta);
3115
3231
  if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
@@ -3167,10 +3283,12 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3167
3283
  return (_a3 = getHostRef(this)) == null ? void 0 : _a3.$onReadyPromise$;
3168
3284
  }
3169
3285
  };
3170
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && cmpMeta.$flags$ & 256 /* hasRenderFn */) {
3286
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && cmpMeta.$flags$ & 256 /* hasSlot */) {
3171
3287
  {
3172
3288
  patchPseudoShadowDom(HostElement.prototype);
3173
3289
  }
3290
+ } else {
3291
+ patchCloneNode(HostElement.prototype);
3174
3292
  }
3175
3293
  cmpMeta.$lazyBundleId$ = lazyBundle[0];
3176
3294
  if (!exclude.includes(tagName) && !customElements2.get(tagName)) {
@@ -3255,6 +3373,9 @@ var hostListenerOpts = (flags) => supportsListenerOptions ? {
3255
3373
 
3256
3374
  // src/runtime/nonce.ts
3257
3375
  var setNonce = (nonce) => plt.$nonce$ = nonce;
3376
+ function transformTag(tag) {
3377
+ return tag;
3378
+ }
3258
3379
 
3259
3380
  exports.Build = Build;
3260
3381
  exports.Fragment = Fragment;