@ionic/core 8.7.19-nightly.20260303 → 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
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  const NAMESPACE = 'ionic';
5
- const BUILD = /* ionic */ { experimentalSlotFixes: true, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, shadowDom: true, slotRelocation: true, updatable: true};
5
+ const BUILD = /* ionic */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, shadowDom: true, slotRelocation: true, state: true, updatable: true};
6
6
 
7
7
  // TODO(FW-2832): types
8
8
  class Config {
@@ -122,13 +122,9 @@ const printRequiredElementError = (el, ...targetSelectors) => {
122
122
  };
123
123
 
124
124
  /*
125
- Stencil Client Platform v4.38.0 | MIT Licensed | https://stenciljs.com
125
+ Stencil Client Platform v4.43.0 | MIT Licensed | https://stenciljs.com
126
126
  */
127
- var __defProp = Object.defineProperty;
128
- var __export = (target, all) => {
129
- for (var name in all)
130
- __defProp(target, name, { get: all[name], enumerable: true });
131
- };
127
+
132
128
  var Build = {
133
129
  isBrowser: true};
134
130
 
@@ -159,6 +155,38 @@ var NonPrimitiveType = /* @__PURE__ */ ((NonPrimitiveType2) => {
159
155
  var TYPE_CONSTANT = "type";
160
156
  var VALUE_CONSTANT = "value";
161
157
  var SERIALIZED_PREFIX = "serialized:";
158
+ var reWireGetterSetter = (instance, hostRef) => {
159
+ var _a;
160
+ const cmpMeta = hostRef.$cmpMeta$;
161
+ const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
162
+ members.map(([memberName, [memberFlags]]) => {
163
+ if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
164
+ const ogValue = instance[memberName];
165
+ const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName) || Object.getOwnPropertyDescriptor(instance, memberName);
166
+ if (ogDescriptor) {
167
+ Object.defineProperty(instance, memberName, {
168
+ get() {
169
+ return ogDescriptor.get.call(this);
170
+ },
171
+ set(newValue) {
172
+ ogDescriptor.set.call(this, newValue);
173
+ },
174
+ configurable: true,
175
+ enumerable: true
176
+ });
177
+ }
178
+ instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue;
179
+ }
180
+ });
181
+ };
182
+ function getPropertyDescriptor(obj, memberName) {
183
+ while (obj) {
184
+ const desc = Object.getOwnPropertyDescriptor(obj, memberName);
185
+ if (desc == null ? void 0 : desc.get) return desc;
186
+ obj = Object.getPrototypeOf(obj);
187
+ }
188
+ return void 0;
189
+ }
162
190
 
163
191
  // src/client/client-host-ref.ts
164
192
  var getHostRef = (ref) => {
@@ -171,6 +199,9 @@ var registerInstance = (lazyInstance, hostRef) => {
171
199
  if (!hostRef) return;
172
200
  lazyInstance.__stencil__getHostRef = () => hostRef;
173
201
  hostRef.$lazyInstance$ = lazyInstance;
202
+ if (hostRef.$cmpMeta$.$flags$ & 512 /* hasModernPropertyDecls */ && (BUILD.state)) {
203
+ reWireGetterSetter(lazyInstance, hostRef);
204
+ }
174
205
  };
175
206
  var registerHost = (hostElement, cmpMeta) => {
176
207
  const hostRef = {
@@ -279,6 +310,9 @@ var supportsListenerOptions = /* @__PURE__ */ (() => {
279
310
  var promiseResolve = (v) => Promise.resolve(v);
280
311
  var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
281
312
  try {
313
+ if (!win.document.adoptedStyleSheets) {
314
+ return false;
315
+ }
282
316
  new CSSStyleSheet();
283
317
  return typeof new CSSStyleSheet().replaceSync === "function";
284
318
  } catch (e) {
@@ -329,176 +363,6 @@ var getAssetPath = (path) => {
329
363
  return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;
330
364
  };
331
365
 
332
- // src/utils/helpers.ts
333
- var isDef = (v) => v != null && v !== void 0;
334
- var isComplexType = (o) => {
335
- o = typeof o;
336
- return o === "object" || o === "function";
337
- };
338
-
339
- // src/utils/query-nonce-meta-tag-content.ts
340
- function queryNonceMetaTagContent(doc) {
341
- var _a, _b, _c;
342
- 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;
343
- }
344
-
345
- // src/utils/regular-expression.ts
346
- var escapeRegExpSpecialCharacters = (text) => {
347
- return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
348
- };
349
-
350
- // src/utils/remote-value.ts
351
- var RemoteValue = class _RemoteValue {
352
- /**
353
- * Deserializes a LocalValue serialized object back to its original JavaScript representation
354
- *
355
- * @param serialized The serialized LocalValue object
356
- * @returns The original JavaScript value/object
357
- */
358
- static fromLocalValue(serialized) {
359
- const type = serialized[TYPE_CONSTANT];
360
- const value = VALUE_CONSTANT in serialized ? serialized[VALUE_CONSTANT] : void 0;
361
- switch (type) {
362
- case "string" /* String */:
363
- return value;
364
- case "boolean" /* Boolean */:
365
- return value;
366
- case "bigint" /* BigInt */:
367
- return BigInt(value);
368
- case "undefined" /* Undefined */:
369
- return void 0;
370
- case "null" /* Null */:
371
- return null;
372
- case "number" /* Number */:
373
- if (value === "NaN") return NaN;
374
- if (value === "-0") return -0;
375
- if (value === "Infinity") return Infinity;
376
- if (value === "-Infinity") return -Infinity;
377
- return value;
378
- case "array" /* Array */:
379
- return value.map((item) => _RemoteValue.fromLocalValue(item));
380
- case "date" /* Date */:
381
- return new Date(value);
382
- case "map" /* Map */:
383
- const map2 = /* @__PURE__ */ new Map();
384
- for (const [key, val] of value) {
385
- const deserializedKey = typeof key === "object" && key !== null ? _RemoteValue.fromLocalValue(key) : key;
386
- const deserializedValue = _RemoteValue.fromLocalValue(val);
387
- map2.set(deserializedKey, deserializedValue);
388
- }
389
- return map2;
390
- case "object" /* Object */:
391
- const obj = {};
392
- for (const [key, val] of value) {
393
- obj[key] = _RemoteValue.fromLocalValue(val);
394
- }
395
- return obj;
396
- case "regexp" /* RegularExpression */:
397
- const { pattern, flags } = value;
398
- return new RegExp(pattern, flags);
399
- case "set" /* Set */:
400
- const set = /* @__PURE__ */ new Set();
401
- for (const item of value) {
402
- set.add(_RemoteValue.fromLocalValue(item));
403
- }
404
- return set;
405
- case "symbol" /* Symbol */:
406
- return Symbol(value);
407
- default:
408
- throw new Error(`Unsupported type: ${type}`);
409
- }
410
- }
411
- /**
412
- * Utility method to deserialize multiple LocalValues at once
413
- *
414
- * @param serializedValues Array of serialized LocalValue objects
415
- * @returns Array of deserialized JavaScript values
416
- */
417
- static fromLocalValueArray(serializedValues) {
418
- return serializedValues.map((value) => _RemoteValue.fromLocalValue(value));
419
- }
420
- /**
421
- * Verifies if the given object matches the structure of a serialized LocalValue
422
- *
423
- * @param obj Object to verify
424
- * @returns boolean indicating if the object has LocalValue structure
425
- */
426
- static isLocalValueObject(obj) {
427
- if (typeof obj !== "object" || obj === null) {
428
- return false;
429
- }
430
- if (!obj.hasOwnProperty(TYPE_CONSTANT)) {
431
- return false;
432
- }
433
- const type = obj[TYPE_CONSTANT];
434
- const hasTypeProperty = Object.values({ ...PrimitiveType, ...NonPrimitiveType }).includes(type);
435
- if (!hasTypeProperty) {
436
- return false;
437
- }
438
- if (type !== "null" /* Null */ && type !== "undefined" /* Undefined */) {
439
- return obj.hasOwnProperty(VALUE_CONSTANT);
440
- }
441
- return true;
442
- }
443
- };
444
-
445
- // src/utils/result.ts
446
- var result_exports = {};
447
- __export(result_exports, {
448
- err: () => err,
449
- map: () => map,
450
- ok: () => ok,
451
- unwrap: () => unwrap,
452
- unwrapErr: () => unwrapErr
453
- });
454
- var ok = (value) => ({
455
- isOk: true,
456
- isErr: false,
457
- value
458
- });
459
- var err = (value) => ({
460
- isOk: false,
461
- isErr: true,
462
- value
463
- });
464
- function map(result, fn) {
465
- if (result.isOk) {
466
- const val = fn(result.value);
467
- if (val instanceof Promise) {
468
- return val.then((newVal) => ok(newVal));
469
- } else {
470
- return ok(val);
471
- }
472
- }
473
- if (result.isErr) {
474
- const value = result.value;
475
- return err(value);
476
- }
477
- throw "should never get here";
478
- }
479
- var unwrap = (result) => {
480
- if (result.isOk) {
481
- return result.value;
482
- } else {
483
- throw result.value;
484
- }
485
- };
486
- var unwrapErr = (result) => {
487
- if (result.isErr) {
488
- return result.value;
489
- } else {
490
- throw result.value;
491
- }
492
- };
493
-
494
- // src/utils/serialize.ts
495
- function deserializeProperty(value) {
496
- if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
497
- return value;
498
- }
499
- return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
500
- }
501
-
502
366
  // src/utils/style.ts
503
367
  function createStyleSheetIfNeededAndSupported(styles2) {
504
368
  return void 0;
@@ -508,10 +372,11 @@ function createStyleSheetIfNeededAndSupported(styles2) {
508
372
  var globalStyleSheet;
509
373
  function createShadowRoot(cmpMeta) {
510
374
  var _a;
511
- const shadowRoot = this.attachShadow({
512
- mode: "open",
513
- delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)
514
- }) ;
375
+ const opts = { mode: "open" };
376
+ {
377
+ opts.delegatesFocus = !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */);
378
+ }
379
+ const shadowRoot = this.attachShadow(opts);
515
380
  if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
516
381
  if (globalStyleSheet) {
517
382
  if (supportsMutableAdoptedStyleSheets) {
@@ -674,7 +539,8 @@ var patchPseudoShadowDom = (hostElementPrototype) => {
674
539
  patchSlotRemoveChild(hostElementPrototype);
675
540
  };
676
541
  var patchCloneNode = (HostElementPrototype) => {
677
- const orgCloneNode = HostElementPrototype.cloneNode;
542
+ if (HostElementPrototype.__cloneNode) return;
543
+ const orgCloneNode = HostElementPrototype.__cloneNode = HostElementPrototype.cloneNode;
678
544
  HostElementPrototype.cloneNode = function(deep) {
679
545
  const srcNode = this;
680
546
  const isShadowDom = srcNode.shadowRoot && supportsShadow ;
@@ -719,6 +585,7 @@ var patchCloneNode = (HostElementPrototype) => {
719
585
  };
720
586
  };
721
587
  var patchSlotAppendChild = (HostElementPrototype) => {
588
+ if (HostElementPrototype.__appendChild) return;
722
589
  HostElementPrototype.__appendChild = HostElementPrototype.appendChild;
723
590
  HostElementPrototype.appendChild = function(newChild) {
724
591
  const { slotName, slotNode } = findSlotFromSlottedNode(newChild, this);
@@ -736,6 +603,7 @@ var patchSlotAppendChild = (HostElementPrototype) => {
736
603
  };
737
604
  };
738
605
  var patchSlotRemoveChild = (ElementPrototype) => {
606
+ if (ElementPrototype.__removeChild) return;
739
607
  ElementPrototype.__removeChild = ElementPrototype.removeChild;
740
608
  ElementPrototype.removeChild = function(toRemove) {
741
609
  if (toRemove && typeof toRemove["s-sn"] !== "undefined") {
@@ -751,6 +619,7 @@ var patchSlotRemoveChild = (ElementPrototype) => {
751
619
  };
752
620
  };
753
621
  var patchSlotPrepend = (HostElementPrototype) => {
622
+ if (HostElementPrototype.__prepend) return;
754
623
  HostElementPrototype.__prepend = HostElementPrototype.prepend;
755
624
  HostElementPrototype.prepend = function(...newChildren) {
756
625
  newChildren.forEach((newChild) => {
@@ -777,6 +646,7 @@ var patchSlotPrepend = (HostElementPrototype) => {
777
646
  };
778
647
  };
779
648
  var patchSlotAppend = (HostElementPrototype) => {
649
+ if (HostElementPrototype.__append) return;
780
650
  HostElementPrototype.__append = HostElementPrototype.append;
781
651
  HostElementPrototype.append = function(...newChildren) {
782
652
  newChildren.forEach((newChild) => {
@@ -788,6 +658,7 @@ var patchSlotAppend = (HostElementPrototype) => {
788
658
  };
789
659
  };
790
660
  var patchSlotInsertAdjacentHTML = (HostElementPrototype) => {
661
+ if (HostElementPrototype.__insertAdjacentHTML) return;
791
662
  const originalInsertAdjacentHtml = HostElementPrototype.insertAdjacentHTML;
792
663
  HostElementPrototype.insertAdjacentHTML = function(position, text) {
793
664
  if (position !== "afterbegin" && position !== "beforeend") {
@@ -813,6 +684,7 @@ var patchSlotInsertAdjacentText = (HostElementPrototype) => {
813
684
  };
814
685
  };
815
686
  var patchInsertBefore = (HostElementPrototype) => {
687
+ if (HostElementPrototype.__insertBefore) return;
816
688
  const eleProto = HostElementPrototype;
817
689
  if (eleProto.__insertBefore) return;
818
690
  eleProto.__insertBefore = HostElementPrototype.insertBefore;
@@ -847,6 +719,7 @@ var patchInsertBefore = (HostElementPrototype) => {
847
719
  };
848
720
  };
849
721
  var patchSlotInsertAdjacentElement = (HostElementPrototype) => {
722
+ if (HostElementPrototype.__insertAdjacentElement) return;
850
723
  const originalInsertAdjacentElement = HostElementPrototype.insertAdjacentElement;
851
724
  HostElementPrototype.insertAdjacentElement = function(position, element) {
852
725
  if (position !== "afterbegin" && position !== "beforeend") {
@@ -1051,6 +924,14 @@ var uniqueTime = (key, measureText) => {
1051
924
  };
1052
925
  }
1053
926
  };
927
+
928
+ // src/utils/query-nonce-meta-tag-content.ts
929
+ function queryNonceMetaTagContent(doc) {
930
+ var _a, _b, _c;
931
+ 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;
932
+ }
933
+
934
+ // src/runtime/styles.ts
1054
935
  var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1055
936
  var registerStyle = (scopeId2, cssText, allowCS) => {
1056
937
  let style = styles.get(scopeId2);
@@ -1067,7 +948,7 @@ var registerStyle = (scopeId2, cssText, allowCS) => {
1067
948
  styles.set(scopeId2, style);
1068
949
  };
1069
950
  var addStyle = (styleContainerNode, cmpMeta, mode) => {
1070
- var _a;
951
+ var _a, _b, _c;
1071
952
  const scopeId2 = getScopeId(cmpMeta, mode);
1072
953
  const style = styles.get(scopeId2);
1073
954
  if (!win.document) {
@@ -1082,61 +963,84 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
1082
963
  if (!appliedStyles) {
1083
964
  rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1084
965
  }
1085
- if (!appliedStyles.has(scopeId2)) {
1086
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1087
- styleElm.innerHTML = style;
1088
- } else {
1089
- styleElm = win.document.createElement("style");
1090
- styleElm.innerHTML = style;
1091
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1092
- if (nonce != null) {
1093
- styleElm.setAttribute("nonce", nonce);
1094
- }
1095
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1096
- if (styleContainerNode.nodeName === "HEAD") {
1097
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1098
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1099
- styleContainerNode.insertBefore(
1100
- styleElm,
1101
- (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
1102
- );
1103
- } else if ("host" in styleContainerNode) {
1104
- if (supportsConstructableStylesheets) {
1105
- const stylesheet = new CSSStyleSheet();
1106
- stylesheet.replaceSync(style);
1107
- if (supportsMutableAdoptedStyleSheets) {
1108
- styleContainerNode.adoptedStyleSheets.unshift(stylesheet);
1109
- } else {
1110
- styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1111
- }
966
+ const existingStyleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`);
967
+ if (existingStyleElm) {
968
+ existingStyleElm.textContent = style;
969
+ } else if (!appliedStyles.has(scopeId2)) {
970
+ styleElm = win.document.createElement("style");
971
+ styleElm.textContent = style;
972
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
973
+ if (nonce != null) {
974
+ styleElm.setAttribute("nonce", nonce);
975
+ }
976
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
977
+ if (styleContainerNode.nodeName === "HEAD") {
978
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
979
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
980
+ styleContainerNode.insertBefore(
981
+ styleElm,
982
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
983
+ );
984
+ } else if ("host" in styleContainerNode) {
985
+ if (supportsConstructableStylesheets) {
986
+ const currentWindow = (_b = styleContainerNode.defaultView) != null ? _b : styleContainerNode.ownerDocument.defaultView;
987
+ const stylesheet = new currentWindow.CSSStyleSheet();
988
+ stylesheet.replaceSync(style);
989
+ if (supportsMutableAdoptedStyleSheets) {
990
+ styleContainerNode.adoptedStyleSheets.unshift(stylesheet);
1112
991
  } else {
1113
- const existingStyleContainer = styleContainerNode.querySelector("style");
1114
- if (existingStyleContainer) {
1115
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1116
- } else {
1117
- styleContainerNode.prepend(styleElm);
1118
- }
992
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1119
993
  }
1120
994
  } else {
1121
- styleContainerNode.append(styleElm);
995
+ const existingStyleContainer = styleContainerNode.querySelector("style");
996
+ if (existingStyleContainer) {
997
+ existingStyleContainer.textContent = style + existingStyleContainer.textContent;
998
+ } else {
999
+ styleContainerNode.prepend(styleElm);
1000
+ }
1122
1001
  }
1002
+ } else {
1003
+ styleContainerNode.append(styleElm);
1123
1004
  }
1124
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1125
- styleContainerNode.insertBefore(styleElm, null);
1126
- }
1005
+ }
1006
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1007
+ styleContainerNode.insertBefore(styleElm, null);
1127
1008
  }
1128
1009
  if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1129
- styleElm.innerHTML += SLOT_FB_CSS;
1010
+ styleElm.textContent += SLOT_FB_CSS;
1130
1011
  }
1131
1012
  if (appliedStyles) {
1132
1013
  appliedStyles.add(scopeId2);
1133
1014
  }
1134
1015
  }
1135
- } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
1136
- if (supportsMutableAdoptedStyleSheets) {
1137
- styleContainerNode.adoptedStyleSheets.push(style);
1138
- } else {
1139
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
1016
+ } else {
1017
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1018
+ if (!appliedStyles) {
1019
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1020
+ }
1021
+ if (!appliedStyles.has(scopeId2)) {
1022
+ const currentWindow = (_c = styleContainerNode.defaultView) != null ? _c : styleContainerNode.ownerDocument.defaultView;
1023
+ let stylesheet;
1024
+ if (style.constructor === currentWindow.CSSStyleSheet) {
1025
+ stylesheet = style;
1026
+ } else {
1027
+ stylesheet = new currentWindow.CSSStyleSheet();
1028
+ for (let i2 = 0; i2 < style.cssRules.length; i2++) {
1029
+ stylesheet.insertRule(style.cssRules[i2].cssText, i2);
1030
+ }
1031
+ }
1032
+ if (supportsMutableAdoptedStyleSheets) {
1033
+ styleContainerNode.adoptedStyleSheets.push(stylesheet);
1034
+ } else {
1035
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, stylesheet];
1036
+ }
1037
+ appliedStyles.add(scopeId2);
1038
+ if ("host" in styleContainerNode) {
1039
+ const ssrStyleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`);
1040
+ if (ssrStyleElm) {
1041
+ writeTask(() => ssrStyleElm.remove());
1042
+ }
1043
+ }
1140
1044
  }
1141
1045
  }
1142
1046
  }
@@ -1170,7 +1074,19 @@ var hydrateScopedToShadow = () => {
1170
1074
  registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true);
1171
1075
  }
1172
1076
  };
1077
+
1078
+ // src/utils/helpers.ts
1079
+ var isDef = (v) => v != null && v !== void 0;
1080
+ var isComplexType = (o) => {
1081
+ o = typeof o;
1082
+ return o === "object" || o === "function";
1083
+ };
1084
+
1085
+ // src/runtime/vdom/h.ts
1173
1086
  var h = (nodeName, vnodeData, ...children) => {
1087
+ if (typeof nodeName === "string") {
1088
+ nodeName = transformTag(nodeName);
1089
+ }
1174
1090
  let child = null;
1175
1091
  let key = null;
1176
1092
  let slotName = null;
@@ -1234,7 +1150,8 @@ var newVNode = (tag, text) => {
1234
1150
  const vnode = {
1235
1151
  $flags$: 0,
1236
1152
  $tag$: tag,
1237
- $text$: text,
1153
+ // Normalize undefined to null to prevent rendering "undefined" as text
1154
+ $text$: text != null ? text : null,
1238
1155
  $elm$: null,
1239
1156
  $children$: null
1240
1157
  };
@@ -1284,7 +1201,7 @@ var convertToPrivate = (node) => {
1284
1201
 
1285
1202
  // src/runtime/client-hydrate.ts
1286
1203
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1287
- var _a, _b;
1204
+ var _a, _b, _c, _d;
1288
1205
  const endHydrate = createTime("hydrateClient", tagName);
1289
1206
  const shadowRoot = hostElm.shadowRoot;
1290
1207
  const childRenderNodes = [];
@@ -1327,7 +1244,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1327
1244
  const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
1328
1245
  const node = childRenderNode.$elm$;
1329
1246
  if (!shadowRoot) {
1330
- node["s-hn"] = tagName.toUpperCase();
1247
+ node["s-hn"] = transformTag(tagName).toUpperCase();
1331
1248
  if (childRenderNode.$tag$ === "slot") {
1332
1249
  node["s-cr"] = hostElm["s-cr"];
1333
1250
  }
@@ -1340,7 +1257,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1340
1257
  );
1341
1258
  const styleSheet = win.document.querySelector(`style[sty-id="${scopeId3}"]`);
1342
1259
  if (styleSheet) {
1343
- hostElm.shadowRoot.append(styleSheet.cloneNode(true));
1260
+ shadowRootNodes.unshift(styleSheet.cloneNode(true));
1344
1261
  }
1345
1262
  }
1346
1263
  }
@@ -1377,6 +1294,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1377
1294
  let snGroupIdx;
1378
1295
  let snGroupLen;
1379
1296
  let slottedItem;
1297
+ let currentPos = 0;
1380
1298
  for (snIndex; snIndex < snLen; snIndex++) {
1381
1299
  slotGroup = slottedNodes[snIndex];
1382
1300
  if (!slotGroup || !slotGroup.length) continue;
@@ -1390,7 +1308,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1390
1308
  if (!hosts[slottedItem.hostId]) continue;
1391
1309
  const hostEle = hosts[slottedItem.hostId];
1392
1310
  if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1393
- hostEle.appendChild(slottedItem.node);
1311
+ hostEle.insertBefore(slottedItem.node, (_c = (_b = slotGroup[snGroupIdx - 1]) == null ? void 0 : _b.node) == null ? void 0 : _c.nextSibling);
1394
1312
  }
1395
1313
  if (!hostEle.shadowRoot || !shadowRoot) {
1396
1314
  if (!slottedItem.slot["s-cr"]) {
@@ -1401,14 +1319,15 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1401
1319
  slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
1402
1320
  }
1403
1321
  }
1404
- addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
1405
- if (((_b = slottedItem.node.parentElement) == null ? void 0 : _b.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) {
1322
+ addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"] || currentPos);
1323
+ if (((_d = slottedItem.node.parentElement) == null ? void 0 : _d.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) {
1406
1324
  slottedItem.node.removeAttribute("slot");
1407
1325
  }
1408
1326
  {
1409
1327
  patchSlottedNode(slottedItem.node);
1410
1328
  }
1411
1329
  }
1330
+ currentPos = (slottedItem.node["s-oo"] || currentPos) + 1;
1412
1331
  }
1413
1332
  }
1414
1333
  if (scopeId2 && slotNodes.length) {
@@ -1416,7 +1335,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1416
1335
  slot.$elm$.parentElement.classList.add(scopeId2 + "-s");
1417
1336
  });
1418
1337
  }
1419
- if (shadowRoot) {
1338
+ if (shadowRoot && !shadowRoot.childNodes.length) {
1420
1339
  let rnIdex = 0;
1421
1340
  const rnLen = shadowRootNodes.length;
1422
1341
  if (rnLen) {
@@ -1430,7 +1349,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1430
1349
  if (typeof node["s-en"] !== "string" && typeof node["s-sn"] !== "string") {
1431
1350
  if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) {
1432
1351
  node.removeAttribute("hidden");
1433
- } else if (node.nodeType === 8 /* CommentNode */ && !node.nodeValue || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1352
+ } else if (node.nodeType === 8 /* CommentNode */ && !node.nodeValue) {
1434
1353
  node.parentNode.removeChild(node);
1435
1354
  }
1436
1355
  }
@@ -1597,10 +1516,6 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
1597
1516
  vnode.$elm$ = node;
1598
1517
  vnode.$index$ = "0";
1599
1518
  parentVNode.$children$ = [vnode];
1600
- } else {
1601
- if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim() && !node["s-nr"]) {
1602
- node.remove();
1603
- }
1604
1519
  }
1605
1520
  return parentVNode;
1606
1521
  };
@@ -1702,18 +1617,6 @@ var findCorrespondingNode = (node, type) => {
1702
1617
  } while (sibling && (sibling.nodeType !== type || !sibling.nodeValue));
1703
1618
  return sibling;
1704
1619
  };
1705
- var createSupportsRuleRe = (selector) => {
1706
- const safeSelector2 = escapeRegExpSpecialCharacters(selector);
1707
- return new RegExp(
1708
- // First capture group: match any context before the selector that's not inside @supports selector()
1709
- // Using negative lookahead to avoid matching inside @supports selector(...) condition
1710
- `(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${safeSelector2}))(${safeSelector2}\\b)`,
1711
- "g"
1712
- );
1713
- };
1714
- createSupportsRuleRe("::slotted");
1715
- createSupportsRuleRe(":host");
1716
- createSupportsRuleRe(":host-context");
1717
1620
 
1718
1621
  // src/runtime/mode.ts
1719
1622
  var computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);
@@ -1722,6 +1625,111 @@ var getMode = (ref) => {
1722
1625
  var _a;
1723
1626
  return (_a = getHostRef(ref)) == null ? void 0 : _a.$modeName$;
1724
1627
  };
1628
+
1629
+ // src/utils/remote-value.ts
1630
+ var RemoteValue = class _RemoteValue {
1631
+ /**
1632
+ * Deserializes a LocalValue serialized object back to its original JavaScript representation
1633
+ *
1634
+ * @param serialized The serialized LocalValue object
1635
+ * @returns The original JavaScript value/object
1636
+ */
1637
+ static fromLocalValue(serialized) {
1638
+ const type = serialized[TYPE_CONSTANT];
1639
+ const value = VALUE_CONSTANT in serialized ? serialized[VALUE_CONSTANT] : void 0;
1640
+ switch (type) {
1641
+ case "string" /* String */:
1642
+ return value;
1643
+ case "boolean" /* Boolean */:
1644
+ return value;
1645
+ case "bigint" /* BigInt */:
1646
+ return BigInt(value);
1647
+ case "undefined" /* Undefined */:
1648
+ return void 0;
1649
+ case "null" /* Null */:
1650
+ return null;
1651
+ case "number" /* Number */:
1652
+ if (value === "NaN") return NaN;
1653
+ if (value === "-0") return -0;
1654
+ if (value === "Infinity") return Infinity;
1655
+ if (value === "-Infinity") return -Infinity;
1656
+ return value;
1657
+ case "array" /* Array */:
1658
+ return value.map((item) => _RemoteValue.fromLocalValue(item));
1659
+ case "date" /* Date */:
1660
+ return new Date(value);
1661
+ case "map" /* Map */:
1662
+ const map = /* @__PURE__ */ new Map();
1663
+ for (const [key, val] of value) {
1664
+ const deserializedKey = typeof key === "object" && key !== null ? _RemoteValue.fromLocalValue(key) : key;
1665
+ const deserializedValue = _RemoteValue.fromLocalValue(val);
1666
+ map.set(deserializedKey, deserializedValue);
1667
+ }
1668
+ return map;
1669
+ case "object" /* Object */:
1670
+ const obj = {};
1671
+ for (const [key, val] of value) {
1672
+ obj[key] = _RemoteValue.fromLocalValue(val);
1673
+ }
1674
+ return obj;
1675
+ case "regexp" /* RegularExpression */:
1676
+ const { pattern, flags } = value;
1677
+ return new RegExp(pattern, flags);
1678
+ case "set" /* Set */:
1679
+ const set = /* @__PURE__ */ new Set();
1680
+ for (const item of value) {
1681
+ set.add(_RemoteValue.fromLocalValue(item));
1682
+ }
1683
+ return set;
1684
+ case "symbol" /* Symbol */:
1685
+ return Symbol(value);
1686
+ default:
1687
+ throw new Error(`Unsupported type: ${type}`);
1688
+ }
1689
+ }
1690
+ /**
1691
+ * Utility method to deserialize multiple LocalValues at once
1692
+ *
1693
+ * @param serializedValues Array of serialized LocalValue objects
1694
+ * @returns Array of deserialized JavaScript values
1695
+ */
1696
+ static fromLocalValueArray(serializedValues) {
1697
+ return serializedValues.map((value) => _RemoteValue.fromLocalValue(value));
1698
+ }
1699
+ /**
1700
+ * Verifies if the given object matches the structure of a serialized LocalValue
1701
+ *
1702
+ * @param obj Object to verify
1703
+ * @returns boolean indicating if the object has LocalValue structure
1704
+ */
1705
+ static isLocalValueObject(obj) {
1706
+ if (typeof obj !== "object" || obj === null) {
1707
+ return false;
1708
+ }
1709
+ if (!obj.hasOwnProperty(TYPE_CONSTANT)) {
1710
+ return false;
1711
+ }
1712
+ const type = obj[TYPE_CONSTANT];
1713
+ const hasTypeProperty = Object.values({ ...PrimitiveType, ...NonPrimitiveType }).includes(type);
1714
+ if (!hasTypeProperty) {
1715
+ return false;
1716
+ }
1717
+ if (type !== "null" /* Null */ && type !== "undefined" /* Undefined */) {
1718
+ return obj.hasOwnProperty(VALUE_CONSTANT);
1719
+ }
1720
+ return true;
1721
+ }
1722
+ };
1723
+
1724
+ // src/utils/serialize.ts
1725
+ function deserializeProperty(value) {
1726
+ if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
1727
+ return value;
1728
+ }
1729
+ return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
1730
+ }
1731
+
1732
+ // src/runtime/parse-property-value.ts
1725
1733
  var parsePropertyValue = (propValue, propType, isFormAssociated) => {
1726
1734
  if (typeof propValue === "string" && propValue.startsWith(SERIALIZED_PREFIX)) {
1727
1735
  propValue = deserializeProperty(propValue);
@@ -1812,7 +1820,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1812
1820
  }
1813
1821
  } else if (memberName === "key") ; else if (memberName === "ref") {
1814
1822
  if (newValue) {
1815
- newValue(elm);
1823
+ queueRefAttachment(newValue, elm);
1816
1824
  }
1817
1825
  } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
1818
1826
  if (memberName[2] === "-") {
@@ -1832,6 +1840,36 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1832
1840
  plt.ael(elm, memberName, newValue, capture);
1833
1841
  }
1834
1842
  }
1843
+ } else if (memberName[0] === "a" && memberName.startsWith("attr:")) {
1844
+ const propName = memberName.slice(5);
1845
+ let attrName;
1846
+ {
1847
+ const hostRef = getHostRef(elm);
1848
+ if (hostRef && hostRef.$cmpMeta$ && hostRef.$cmpMeta$.$members$) {
1849
+ const memberMeta = hostRef.$cmpMeta$.$members$[propName];
1850
+ if (memberMeta && memberMeta[1]) {
1851
+ attrName = memberMeta[1];
1852
+ }
1853
+ }
1854
+ }
1855
+ if (!attrName) {
1856
+ attrName = propName.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
1857
+ }
1858
+ if (newValue == null || newValue === false) {
1859
+ if (newValue !== false || elm.getAttribute(attrName) === "") {
1860
+ elm.removeAttribute(attrName);
1861
+ }
1862
+ } else {
1863
+ elm.setAttribute(attrName, newValue === true ? "" : newValue);
1864
+ }
1865
+ return;
1866
+ } else if (memberName[0] === "p" && memberName.startsWith("prop:")) {
1867
+ const propName = memberName.slice(5);
1868
+ try {
1869
+ elm[propName] = newValue;
1870
+ } catch (e) {
1871
+ }
1872
+ return;
1835
1873
  } else {
1836
1874
  const isComplex = isComplexType(newValue);
1837
1875
  if ((isProp || isComplex && newValue !== null) && !isSvg) {
@@ -1840,7 +1878,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1840
1878
  const n = newValue == null ? "" : newValue;
1841
1879
  if (memberName === "list") {
1842
1880
  isProp = false;
1843
- } else if (oldValue == null || elm[memberName] != n) {
1881
+ } else if (oldValue == null || elm[memberName] !== n) {
1844
1882
  if (typeof elm.__lookupSetter__(memberName) === "function") {
1845
1883
  elm[memberName] = n;
1846
1884
  } else {
@@ -1941,6 +1979,8 @@ var useNativeShadowDom = false;
1941
1979
  var checkSlotFallbackVisibility = false;
1942
1980
  var checkSlotRelocate = false;
1943
1981
  var isSvgMode = false;
1982
+ var refCallbacksToRemove = [];
1983
+ var refCallbacksToAttach = [];
1944
1984
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1945
1985
  var _a;
1946
1986
  const newVNode2 = newParentVNode.$children$[childIndex];
@@ -1963,7 +2003,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1963
2003
  );
1964
2004
  }
1965
2005
  }
1966
- if (newVNode2.$text$ !== null) {
2006
+ if (newVNode2.$text$ != null) {
1967
2007
  elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
1968
2008
  } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
1969
2009
  elm = newVNode2.$elm$ = win.document.createTextNode("");
@@ -1975,9 +2015,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1975
2015
  isSvgMode = newVNode2.$tag$ === "svg";
1976
2016
  }
1977
2017
  if (!win.document) {
1978
- throw new Error(
1979
- "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."
1980
- );
2018
+ throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM.");
1981
2019
  }
1982
2020
  elm = newVNode2.$elm$ = win.document.createElementNS(
1983
2021
  isSvgMode ? SVG_NS : HTML_NS,
@@ -1993,10 +2031,11 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1993
2031
  elm.classList.add(elm["s-si"] = scopeId);
1994
2032
  }
1995
2033
  if (newVNode2.$children$) {
2034
+ const appendTarget = newVNode2.$tag$ === "template" ? elm.content : elm;
1996
2035
  for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
1997
2036
  childNode = createElm(oldParentVNode, newVNode2, i2);
1998
2037
  if (childNode) {
1999
- elm.appendChild(childNode);
2038
+ appendTarget.appendChild(childNode);
2000
2039
  }
2001
2040
  }
2002
2041
  }
@@ -2018,9 +2057,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2018
2057
  patchSlotNode(elm);
2019
2058
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
2020
2059
  if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
2021
- {
2022
- relocateToHostRoot(oldParentVNode.$elm$);
2023
- }
2060
+ relocateToHostRoot(oldParentVNode.$elm$);
2024
2061
  }
2025
2062
  {
2026
2063
  addRemoveSlotScopedClass(contentRef, elm, newParentVNode.$elm$, oldParentVNode == null ? void 0 : oldParentVNode.$elm$);
@@ -2052,7 +2089,7 @@ var relocateToHostRoot = (parentElm) => {
2052
2089
  var putBackInOriginalLocation = (parentElm, recursive) => {
2053
2090
  plt.$flags$ |= 1 /* isTmpDisconnected */;
2054
2091
  const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
2055
- if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
2092
+ if (parentElm["s-sr"]) {
2056
2093
  let node = parentElm;
2057
2094
  while (node = node.nextSibling) {
2058
2095
  if (node && node["s-sn"] === parentElm["s-sn"] && node["s-sh"] === hostTagName) {
@@ -2081,6 +2118,9 @@ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
2081
2118
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
2082
2119
  containerElm = containerElm.shadowRoot;
2083
2120
  }
2121
+ if (parentVNode.$tag$ === "template") {
2122
+ containerElm = containerElm.content;
2123
+ }
2084
2124
  for (; startIdx <= endIdx; ++startIdx) {
2085
2125
  if (vnodes[startIdx]) {
2086
2126
  childNode = createElm(null, parentVNode, startIdx);
@@ -2124,6 +2164,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
2124
2164
  let newEndVnode = newCh[newEndIdx];
2125
2165
  let node;
2126
2166
  let elmToMove;
2167
+ const containerElm = newVNode2.$tag$ === "template" ? parentElm.content : parentElm;
2127
2168
  while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
2128
2169
  if (oldStartVnode == null) {
2129
2170
  oldStartVnode = oldCh[++oldStartIdx];
@@ -2146,7 +2187,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
2146
2187
  putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
2147
2188
  }
2148
2189
  patch(oldStartVnode, newEndVnode, isInitialRender);
2149
- insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
2190
+ insertBefore(containerElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
2150
2191
  oldStartVnode = oldCh[++oldStartIdx];
2151
2192
  newEndVnode = newCh[--newEndIdx];
2152
2193
  } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
@@ -2154,7 +2195,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
2154
2195
  putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
2155
2196
  }
2156
2197
  patch(oldEndVnode, newStartVnode, isInitialRender);
2157
- insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
2198
+ insertBefore(containerElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
2158
2199
  oldEndVnode = oldCh[--oldEndIdx];
2159
2200
  newStartVnode = newCh[++newStartIdx];
2160
2201
  } else {
@@ -2228,7 +2269,7 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
2228
2269
  const tag = newVNode2.$tag$;
2229
2270
  const text = newVNode2.$text$;
2230
2271
  let defaultHolder;
2231
- if (text === null) {
2272
+ if (text == null) {
2232
2273
  {
2233
2274
  isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
2234
2275
  }
@@ -2317,21 +2358,38 @@ var markSlotContentForRelocation = (elm) => {
2317
2358
  };
2318
2359
  var nullifyVNodeRefs = (vNode) => {
2319
2360
  {
2320
- vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
2361
+ if (vNode.$attrs$ && vNode.$attrs$.ref) {
2362
+ refCallbacksToRemove.push(() => vNode.$attrs$.ref(null));
2363
+ }
2321
2364
  vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
2322
2365
  }
2323
2366
  };
2324
- var insertBefore = (parent, newNode, reference) => {
2325
- if (typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) {
2326
- addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
2327
- } else if (typeof newNode["s-sn"] === "string") {
2328
- if (parent.getRootNode().nodeType !== 11 /* DOCUMENT_FRAGMENT_NODE */) {
2329
- patchParentNode(newNode);
2367
+ var queueRefAttachment = (refCallback, elm) => {
2368
+ {
2369
+ refCallbacksToAttach.push(() => refCallback(elm));
2370
+ }
2371
+ };
2372
+ var flushQueuedRefCallbacks = () => {
2373
+ {
2374
+ refCallbacksToRemove.forEach((cb) => cb());
2375
+ refCallbacksToRemove.length = 0;
2376
+ refCallbacksToAttach.forEach((cb) => cb());
2377
+ refCallbacksToAttach.length = 0;
2378
+ }
2379
+ };
2380
+ var insertBefore = (parent, newNode, reference, isInitialLoad) => {
2381
+ {
2382
+ if (typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) {
2383
+ addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
2384
+ } else if (typeof newNode["s-sn"] === "string") {
2385
+ if (parent.getRootNode().nodeType !== 11 /* DOCUMENT_FRAGMENT_NODE */) {
2386
+ patchParentNode(newNode);
2387
+ }
2388
+ parent.insertBefore(newNode, reference);
2389
+ const { slotNode } = findSlotFromSlottedNode(newNode);
2390
+ if (slotNode && !isInitialLoad) dispatchSlotChangeEvent(slotNode);
2391
+ return newNode;
2330
2392
  }
2331
- parent.insertBefore(newNode, reference);
2332
- const { slotNode } = findSlotFromSlottedNode(newNode);
2333
- if (slotNode) dispatchSlotChangeEvent(slotNode);
2334
- return newNode;
2335
2393
  }
2336
2394
  if (parent.__insertBefore) {
2337
2395
  return parent.__insertBefore(newNode, reference);
@@ -2405,19 +2463,27 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2405
2463
  if (!nodeToRelocate["s-ol"] && win.document) {
2406
2464
  const orgLocationNode = win.document.createTextNode("");
2407
2465
  orgLocationNode["s-nr"] = nodeToRelocate;
2408
- insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
2466
+ insertBefore(
2467
+ nodeToRelocate.parentNode,
2468
+ nodeToRelocate["s-ol"] = orgLocationNode,
2469
+ nodeToRelocate,
2470
+ isInitialLoad
2471
+ );
2409
2472
  }
2410
2473
  }
2411
2474
  for (const relocateData of relocateNodes) {
2412
2475
  const nodeToRelocate = relocateData.$nodeToRelocate$;
2413
2476
  const slotRefNode = relocateData.$slotRefNode$;
2477
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && isInitialLoad) {
2478
+ nodeToRelocate["s-ih"] = (_a = nodeToRelocate.hidden) != null ? _a : false;
2479
+ }
2414
2480
  if (slotRefNode) {
2415
2481
  const parentNodeRef = slotRefNode.parentNode;
2416
2482
  let insertBeforeNode = slotRefNode.nextSibling;
2417
- if ((insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */)) {
2418
- let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
2483
+ if (insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */) {
2484
+ let orgLocationNode = (_b = nodeToRelocate["s-ol"]) == null ? void 0 : _b.previousSibling;
2419
2485
  while (orgLocationNode) {
2420
- let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
2486
+ let refNode = (_c = orgLocationNode["s-nr"]) != null ? _c : null;
2421
2487
  if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {
2422
2488
  refNode = refNode.nextSibling;
2423
2489
  while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
@@ -2435,20 +2501,26 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2435
2501
  const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
2436
2502
  if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
2437
2503
  if (nodeToRelocate !== insertBeforeNode) {
2438
- insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
2504
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode, isInitialLoad);
2505
+ if (nodeToRelocate.nodeType === 8 /* CommentNode */ && nodeToRelocate.nodeValue.startsWith("s-nt-")) {
2506
+ const textNode = win.document.createTextNode(nodeToRelocate.nodeValue.replace(/^s-nt-/, ""));
2507
+ textNode["s-hn"] = nodeToRelocate["s-hn"];
2508
+ textNode["s-sn"] = nodeToRelocate["s-sn"];
2509
+ textNode["s-sh"] = nodeToRelocate["s-sh"];
2510
+ textNode["s-sr"] = nodeToRelocate["s-sr"];
2511
+ textNode["s-ol"] = nodeToRelocate["s-ol"];
2512
+ textNode["s-ol"]["s-nr"] = textNode;
2513
+ insertBefore(nodeToRelocate.parentNode, textNode, nodeToRelocate, isInitialLoad);
2514
+ nodeToRelocate.parentNode.removeChild(nodeToRelocate);
2515
+ }
2439
2516
  if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
2440
- nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
2517
+ nodeToRelocate.hidden = (_d = nodeToRelocate["s-ih"]) != null ? _d : false;
2441
2518
  }
2442
2519
  }
2443
2520
  }
2444
2521
  nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](slotRefNode);
2445
- } else {
2446
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
2447
- if (isInitialLoad) {
2448
- nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
2449
- }
2450
- nodeToRelocate.hidden = true;
2451
- }
2522
+ } else if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
2523
+ nodeToRelocate.hidden = true;
2452
2524
  }
2453
2525
  }
2454
2526
  }
@@ -2458,18 +2530,26 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2458
2530
  plt.$flags$ &= -2 /* isTmpDisconnected */;
2459
2531
  relocateNodes.length = 0;
2460
2532
  }
2461
- if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
2533
+ if (!useNativeShadowDom && !(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && hostElm["s-cr"]) {
2462
2534
  const children = rootVnode.$elm$.__childNodes || rootVnode.$elm$.childNodes;
2463
2535
  for (const childNode of children) {
2464
2536
  if (childNode["s-hn"] !== hostTagName && !childNode["s-sh"]) {
2465
2537
  if (isInitialLoad && childNode["s-ih"] == null) {
2466
2538
  childNode["s-ih"] = (_e = childNode.hidden) != null ? _e : false;
2467
2539
  }
2468
- childNode.hidden = true;
2540
+ if (childNode.nodeType === 1 /* ElementNode */) {
2541
+ childNode.hidden = true;
2542
+ } else if (childNode.nodeType === 3 /* TextNode */ && !!childNode.nodeValue.trim()) {
2543
+ const textCommentNode = win.document.createComment("s-nt-" + childNode.nodeValue);
2544
+ textCommentNode["s-sn"] = childNode["s-sn"];
2545
+ insertBefore(childNode.parentNode, textCommentNode, childNode, isInitialLoad);
2546
+ childNode.parentNode.removeChild(childNode);
2547
+ }
2469
2548
  }
2470
2549
  }
2471
2550
  }
2472
2551
  contentRef = void 0;
2552
+ flushQueuedRefCallbacks();
2473
2553
  };
2474
2554
 
2475
2555
  // src/runtime/update-component.ts
@@ -2515,6 +2595,10 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
2515
2595
  let maybePromise;
2516
2596
  if (isInitialLoad) {
2517
2597
  {
2598
+ if (hostRef.$deferredConnectedCallback$) {
2599
+ hostRef.$deferredConnectedCallback$ = false;
2600
+ safeCall(instance, "connectedCallback", void 0, elm);
2601
+ }
2518
2602
  {
2519
2603
  hostRef.$flags$ |= 256 /* isListenReady */;
2520
2604
  if (hostRef.$queuedListeners$) {
@@ -2534,8 +2618,8 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
2534
2618
  endSchedule();
2535
2619
  return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
2536
2620
  };
2537
- var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err2) => {
2538
- console.error(err2);
2621
+ var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err) => {
2622
+ console.error(err);
2539
2623
  fn();
2540
2624
  }) : fn();
2541
2625
  var isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === "function";
@@ -2563,7 +2647,7 @@ var updateComponent = async (hostRef, instance, isInitialLoad) => {
2563
2647
  if (childrenPromises.length === 0) {
2564
2648
  postUpdate();
2565
2649
  } else {
2566
- Promise.all(childrenPromises).then(postUpdate);
2650
+ Promise.all(childrenPromises).then(postUpdate).catch(postUpdate);
2567
2651
  hostRef.$flags$ |= 4 /* isWaitingForChildren */;
2568
2652
  childrenPromises.length = 0;
2569
2653
  }
@@ -2686,25 +2770,35 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2686
2770
  const didValueChange = newVal !== oldVal && !areBothNaN;
2687
2771
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
2688
2772
  hostRef.$instanceValues$.set(propName, newVal);
2689
- if (instance) {
2690
- if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
2691
- const watchMethods = cmpMeta.$watchers$[propName];
2692
- if (watchMethods) {
2693
- watchMethods.map((watchMethodName) => {
2694
- try {
2695
- instance[watchMethodName](newVal, oldVal, propName);
2696
- } catch (e) {
2697
- consoleError(e, elm);
2773
+ if (cmpMeta.$watchers$) {
2774
+ const watchMethods = cmpMeta.$watchers$[propName];
2775
+ if (watchMethods) {
2776
+ watchMethods.map((watcher) => {
2777
+ try {
2778
+ const [[watchMethodName, watcherFlags]] = Object.entries(watcher);
2779
+ if (flags & 128 /* isWatchReady */ || watcherFlags & 1 /* Immediate */) {
2780
+ if (!instance) {
2781
+ hostRef.$fetchedCbList$.push(() => {
2782
+ hostRef.$lazyInstance$[watchMethodName](newVal, oldVal, propName);
2783
+ });
2784
+ } else {
2785
+ instance[watchMethodName](newVal, oldVal, propName);
2786
+ }
2698
2787
  }
2699
- });
2700
- }
2701
- }
2702
- if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
2703
- if (instance.componentShouldUpdate) {
2704
- if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
2705
- return;
2788
+ } catch (e) {
2789
+ consoleError(e, elm);
2706
2790
  }
2791
+ });
2792
+ }
2793
+ }
2794
+ if (flags & 2 /* hasRendered */) {
2795
+ if (instance.componentShouldUpdate) {
2796
+ const shouldUpdate = instance.componentShouldUpdate(newVal, oldVal, propName);
2797
+ if (shouldUpdate === false && !(flags & 16 /* isQueuedForUpdate */)) {
2798
+ return;
2707
2799
  }
2800
+ }
2801
+ if (!(flags & 16 /* isQueuedForUpdate */)) {
2708
2802
  scheduleUpdate(hostRef, false);
2709
2803
  }
2710
2804
  }
@@ -2831,19 +2925,23 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2831
2925
  return;
2832
2926
  } else if (propName == null) {
2833
2927
  const flags2 = hostRef == null ? void 0 : hostRef.$flags$;
2834
- if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
2928
+ if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && newValue !== oldValue) {
2835
2929
  const instance = hostRef.$lazyInstance$ ;
2836
2930
  const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];
2837
- entry == null ? void 0 : entry.forEach((callbackName) => {
2838
- if (instance[callbackName] != null) {
2839
- instance[callbackName].call(instance, newValue, oldValue, attrName);
2931
+ entry == null ? void 0 : entry.forEach((watcher) => {
2932
+ const [[watchMethodName, watcherFlags]] = Object.entries(watcher);
2933
+ if (instance[watchMethodName] != null && (flags2 & 128 /* isWatchReady */ || watcherFlags & 1 /* Immediate */)) {
2934
+ instance[watchMethodName].call(instance, newValue, oldValue, attrName);
2840
2935
  }
2841
2936
  });
2842
2937
  }
2843
2938
  return;
2844
2939
  }
2940
+ const propFlags = members.find(([m]) => m === propName);
2941
+ if (propFlags && propFlags[1][0] & 4 /* Boolean */) {
2942
+ newValue = newValue === null || newValue === "false" ? false : true;
2943
+ }
2845
2944
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
2846
- newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
2847
2945
  if (newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
2848
2946
  this[propName] = newValue;
2849
2947
  }
@@ -2871,76 +2969,92 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2871
2969
  // src/runtime/initialize-component.ts
2872
2970
  var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2873
2971
  let Cstr;
2874
- if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
2875
- hostRef.$flags$ |= 32 /* hasInitializedComponent */;
2876
- const bundleId = cmpMeta.$lazyBundleId$;
2877
- if (bundleId) {
2878
- const CstrImport = loadModule(cmpMeta, hostRef);
2879
- if (CstrImport && "then" in CstrImport) {
2880
- const endLoad = uniqueTime();
2881
- Cstr = await CstrImport;
2882
- endLoad();
2883
- } else {
2884
- Cstr = CstrImport;
2885
- }
2886
- if (!Cstr) {
2887
- throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
2888
- }
2889
- if (!Cstr.isProxied) {
2972
+ try {
2973
+ if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
2974
+ hostRef.$flags$ |= 32 /* hasInitializedComponent */;
2975
+ const bundleId = cmpMeta.$lazyBundleId$;
2976
+ if (bundleId) {
2977
+ const CstrImport = loadModule(cmpMeta, hostRef);
2978
+ if (CstrImport && "then" in CstrImport) {
2979
+ const endLoad = uniqueTime();
2980
+ Cstr = await CstrImport;
2981
+ endLoad();
2982
+ } else {
2983
+ Cstr = CstrImport;
2984
+ }
2985
+ if (!Cstr) {
2986
+ throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
2987
+ }
2988
+ if (!Cstr.isProxied) {
2989
+ {
2990
+ cmpMeta.$watchers$ = Cstr.watchers;
2991
+ cmpMeta.$serializers$ = Cstr.serializers;
2992
+ cmpMeta.$deserializers$ = Cstr.deserializers;
2993
+ }
2994
+ proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
2995
+ Cstr.isProxied = true;
2996
+ }
2997
+ const endNewInstance = createTime("createInstance", cmpMeta.$tagName$);
2890
2998
  {
2891
- cmpMeta.$watchers$ = Cstr.watchers;
2892
- cmpMeta.$serializers$ = Cstr.serializers;
2893
- cmpMeta.$deserializers$ = Cstr.deserializers;
2999
+ hostRef.$flags$ |= 8 /* isConstructingInstance */;
3000
+ }
3001
+ try {
3002
+ new Cstr(hostRef);
3003
+ } catch (e) {
3004
+ consoleError(e, elm);
3005
+ }
3006
+ {
3007
+ hostRef.$flags$ &= -9 /* isConstructingInstance */;
3008
+ }
3009
+ {
3010
+ hostRef.$flags$ |= 128 /* isWatchReady */;
3011
+ }
3012
+ endNewInstance();
3013
+ const needsDeferredCallback = cmpMeta.$flags$ & 4 /* hasSlotRelocation */;
3014
+ if (!needsDeferredCallback) {
3015
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
3016
+ } else {
3017
+ hostRef.$deferredConnectedCallback$ = true;
3018
+ }
3019
+ } else {
3020
+ Cstr = elm.constructor;
3021
+ const cmpTag = elm.localName;
3022
+ customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
3023
+ }
3024
+ if (Cstr && Cstr.style) {
3025
+ let style;
3026
+ if (typeof Cstr.style === "string") {
3027
+ style = Cstr.style;
3028
+ } else if (typeof Cstr.style !== "string") {
3029
+ hostRef.$modeName$ = computeMode(elm);
3030
+ if (hostRef.$modeName$) {
3031
+ style = Cstr.style[hostRef.$modeName$];
3032
+ }
3033
+ }
3034
+ const scopeId2 = getScopeId(cmpMeta, hostRef.$modeName$);
3035
+ if (!styles.has(scopeId2) || BUILD.hotModuleReplacement) {
3036
+ const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
3037
+ registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));
3038
+ endRegisterStyles();
2894
3039
  }
2895
- proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
2896
- Cstr.isProxied = true;
2897
- }
2898
- const endNewInstance = createTime("createInstance", cmpMeta.$tagName$);
2899
- {
2900
- hostRef.$flags$ |= 8 /* isConstructingInstance */;
2901
- }
2902
- try {
2903
- new Cstr(hostRef);
2904
- } catch (e) {
2905
- consoleError(e, elm);
2906
- }
2907
- {
2908
- hostRef.$flags$ &= -9 /* isConstructingInstance */;
2909
- }
2910
- {
2911
- hostRef.$flags$ |= 128 /* isWatchReady */;
2912
3040
  }
2913
- endNewInstance();
2914
- fireConnectedCallback(hostRef.$lazyInstance$, elm);
3041
+ }
3042
+ const ancestorComponent = hostRef.$ancestorComponent$;
3043
+ const schedule = () => scheduleUpdate(hostRef, true);
3044
+ if (ancestorComponent && ancestorComponent["s-rc"]) {
3045
+ ancestorComponent["s-rc"].push(schedule);
2915
3046
  } else {
2916
- Cstr = elm.constructor;
2917
- const cmpTag = elm.localName;
2918
- customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
3047
+ schedule();
2919
3048
  }
2920
- if (Cstr && Cstr.style) {
2921
- let style;
2922
- if (typeof Cstr.style === "string") {
2923
- style = Cstr.style;
2924
- } else if (typeof Cstr.style !== "string") {
2925
- hostRef.$modeName$ = computeMode(elm);
2926
- if (hostRef.$modeName$) {
2927
- style = Cstr.style[hostRef.$modeName$];
2928
- }
2929
- }
2930
- const scopeId2 = getScopeId(cmpMeta, hostRef.$modeName$);
2931
- if (!styles.has(scopeId2)) {
2932
- const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
2933
- registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));
2934
- endRegisterStyles();
2935
- }
3049
+ } catch (e) {
3050
+ consoleError(e, elm);
3051
+ if (hostRef.$onRenderResolve$) {
3052
+ hostRef.$onRenderResolve$();
3053
+ hostRef.$onRenderResolve$ = void 0;
3054
+ }
3055
+ if (hostRef.$onReadyResolve$) {
3056
+ hostRef.$onReadyResolve$(elm);
2936
3057
  }
2937
- }
2938
- const ancestorComponent = hostRef.$ancestorComponent$;
2939
- const schedule = () => scheduleUpdate(hostRef, true);
2940
- if (ancestorComponent && ancestorComponent["s-rc"]) {
2941
- ancestorComponent["s-rc"].push(schedule);
2942
- } else {
2943
- schedule();
2944
3058
  }
2945
3059
  };
2946
3060
  var fireConnectedCallback = (instance, elm) => {
@@ -3102,12 +3216,14 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3102
3216
  cmpMeta.$serializers$ = (_b = compactMeta[5]) != null ? _b : {};
3103
3217
  cmpMeta.$deserializers$ = (_c = compactMeta[6]) != null ? _c : {};
3104
3218
  }
3105
- const tagName = cmpMeta.$tagName$;
3219
+ const tagName = transformTag(cmpMeta.$tagName$);
3106
3220
  const HostElement = class extends HTMLElement {
3221
+ ["s-p"];
3222
+ ["s-rc"];
3223
+ hasRegisteredEventListeners = false;
3107
3224
  // StencilLazyHost
3108
3225
  constructor(self) {
3109
3226
  super(self);
3110
- this.hasRegisteredEventListeners = false;
3111
3227
  self = this;
3112
3228
  registerHost(self, cmpMeta);
3113
3229
  if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
@@ -3165,10 +3281,12 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
3165
3281
  return (_a3 = getHostRef(this)) == null ? void 0 : _a3.$onReadyPromise$;
3166
3282
  }
3167
3283
  };
3168
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && cmpMeta.$flags$ & 256 /* hasRenderFn */) {
3284
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && cmpMeta.$flags$ & 256 /* hasSlot */) {
3169
3285
  {
3170
3286
  patchPseudoShadowDom(HostElement.prototype);
3171
3287
  }
3288
+ } else {
3289
+ patchCloneNode(HostElement.prototype);
3172
3290
  }
3173
3291
  cmpMeta.$lazyBundleId$ = lazyBundle[0];
3174
3292
  if (!exclude.includes(tagName) && !customElements2.get(tagName)) {
@@ -3253,5 +3371,8 @@ var hostListenerOpts = (flags) => supportsListenerOptions ? {
3253
3371
 
3254
3372
  // src/runtime/nonce.ts
3255
3373
  var setNonce = (nonce) => plt.$nonce$ = nonce;
3374
+ function transformTag(tag) {
3375
+ return tag;
3376
+ }
3256
3377
 
3257
3378
  export { Build as B, Fragment as F, H, LogLevel as L, readTask as a, bootstrapLazy as b, createEvent as c, Host as d, config as e, printIonWarning as f, getElement as g, h, forceUpdate as i, printIonError as j, getAssetPath as k, configFromSession as l, configFromURL as m, saveConfig as n, getMode as o, promiseResolve as p, setMode as q, registerInstance as r, setNonce as s, printRequiredElementError as t, writeTask as w };