@ionic/core 8.7.10-dev.11763478209.1d9c4cd8 → 8.7.10-dev.11763578076.1047c3c7

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 (250) hide show
  1. package/components/ion-datetime.js +2 -33
  2. package/dist/cjs/{animation-Bt3H9L1C.js → animation-B70U3AYi.js} +1 -1
  3. package/dist/cjs/{app-globals-Ciccnk9_.js → app-globals-D_8sGbx8.js} +1 -1
  4. package/dist/cjs/{button-active-CMc8cD90.js → button-active-TAhq9qwd.js} +1 -1
  5. package/dist/cjs/{config-C5fsO43a.js → config-4ndaqsYM.js} +1 -1
  6. package/dist/cjs/{data-JwZKaIQB.js → data-j96wY7cX.js} +1 -1
  7. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-DZC3n8LU.js} +1 -1
  8. package/dist/cjs/{hardware-back-button-VCK4V3mG.js → hardware-back-button-pmRhkPKl.js} +1 -1
  9. package/dist/cjs/{helpers-DrTqNghc.js → helpers-Crx5-kj7.js} +1 -1
  10. package/dist/cjs/{index-C534ULug.js → index-BOY9qrZP.js} +2 -2
  11. package/dist/cjs/{index-CO6eryBo.js → index-CRulAvdl.js} +2 -2
  12. package/dist/cjs/{index-DrMUZJj6.js → index-CbLK066G.js} +5 -5
  13. package/dist/cjs/{index-D6Wc6v08.js → index-DV5E8h1q.js} +44 -4
  14. package/dist/cjs/{index-094mMFB-.js → index-fI8UppQq.js} +4 -4
  15. package/dist/cjs/index.cjs.js +12 -12
  16. package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-D-MYGARH.js} +3 -3
  17. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-Bac31sZX.js} +2 -2
  18. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  19. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  20. package/dist/cjs/ion-alert.cjs.entry.js +9 -9
  21. package/dist/cjs/ion-app_8.cjs.entry.js +12 -12
  22. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  23. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  24. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  25. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  26. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  27. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  28. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -3
  29. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  31. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  32. package/dist/cjs/ion-datetime_3.cjs.entry.js +10 -41
  33. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  34. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  36. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  37. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  38. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  39. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  40. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  41. package/dist/cjs/ion-loading.cjs.entry.js +8 -8
  42. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
  43. package/dist/cjs/ion-modal.cjs.entry.js +9 -9
  44. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  45. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  46. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  47. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  48. package/dist/cjs/ion-popover.cjs.entry.js +8 -8
  49. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  50. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  51. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  52. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  53. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  54. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-route_4.cjs.entry.js +3 -3
  56. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  57. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  58. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  59. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  60. package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
  61. package/dist/cjs/ion-select_3.cjs.entry.js +7 -7
  62. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  63. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
  65. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  66. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  68. package/dist/cjs/ion-toast.cjs.entry.js +8 -8
  69. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  70. package/dist/cjs/{ionic-global-HMVqOFGO.js → ionic-global-CLnCYlRe.js} +1 -1
  71. package/dist/cjs/ionic.cjs.js +4 -4
  72. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-B3iTqeDM.js} +4 -4
  73. package/dist/cjs/loader.cjs.js +3 -3
  74. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-CbvDffNA.js} +4 -4
  75. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-CEJ89ece.js} +1 -1
  76. package/dist/cjs/{overlays-DxIZwUXI.js → overlays-Cf7PK4fA.js} +5 -5
  77. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-fXl5XlmU.js} +3 -3
  78. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-B4O7zZWT.js} +2 -2
  79. package/dist/collection/collection-manifest.json +2 -2
  80. package/dist/collection/components/datetime/datetime.js +2 -33
  81. package/dist/docs.json +3 -3
  82. package/dist/esm/{animation-Dt8bGnA-.js → animation-CRTqL-Kl.js} +1 -1
  83. package/dist/esm/{app-globals-BDSf8fOA.js → app-globals-Cr9vegdL.js} +1 -1
  84. package/dist/esm/{button-active-L570Swow.js → button-active-Cd7eQc30.js} +1 -1
  85. package/dist/esm/{config-mCdtaoPe.js → config-WpCAgwYn.js} +1 -1
  86. package/dist/esm/{data-DCORV9FH.js → data-BPJsyAbv.js} +1 -1
  87. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-DoF4sHL_.js} +1 -1
  88. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CC9TYUx5.js} +1 -1
  89. package/dist/esm/{helpers-DEn3pfjm.js → helpers-CYp9QPPu.js} +1 -1
  90. package/dist/esm/{index-Bs3kT4bc.js → index-BAvq7qKN.js} +2 -2
  91. package/dist/esm/{index-r2D9DEro.js → index-Cc9McEPW.js} +4 -4
  92. package/dist/esm/{index-CvDIirVx.js → index-DB8ZghHw.js} +5 -5
  93. package/dist/esm/{index-ceb5RaMT.js → index-Dkyfot_N.js} +2 -2
  94. package/dist/esm/{index-C8IsBmNU.js → index-K56Zjrdc.js} +44 -4
  95. package/dist/esm/index.js +12 -12
  96. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-CK9_3FdS.js} +3 -3
  97. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-UBoHDVrt.js} +2 -2
  98. package/dist/esm/ion-accordion_2.entry.js +3 -3
  99. package/dist/esm/ion-action-sheet.entry.js +8 -8
  100. package/dist/esm/ion-alert.entry.js +9 -9
  101. package/dist/esm/ion-app_8.entry.js +12 -12
  102. package/dist/esm/ion-avatar_3.entry.js +2 -2
  103. package/dist/esm/ion-back-button.entry.js +3 -3
  104. package/dist/esm/ion-backdrop.entry.js +2 -2
  105. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  106. package/dist/esm/ion-button_2.entry.js +3 -3
  107. package/dist/esm/ion-card_5.entry.js +3 -3
  108. package/dist/esm/ion-checkbox.entry.js +3 -3
  109. package/dist/esm/ion-chip.entry.js +2 -2
  110. package/dist/esm/ion-col_3.entry.js +2 -2
  111. package/dist/esm/ion-datetime-button.entry.js +4 -4
  112. package/dist/esm/ion-datetime_3.entry.js +10 -41
  113. package/dist/esm/ion-fab_3.entry.js +3 -3
  114. package/dist/esm/ion-img.entry.js +3 -3
  115. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  116. package/dist/esm/ion-input-otp.entry.js +3 -3
  117. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  118. package/dist/esm/ion-input.entry.js +5 -5
  119. package/dist/esm/ion-item-option_3.entry.js +4 -4
  120. package/dist/esm/ion-item_8.entry.js +3 -3
  121. package/dist/esm/ion-loading.entry.js +8 -8
  122. package/dist/esm/ion-menu_3.entry.js +8 -8
  123. package/dist/esm/ion-modal.entry.js +9 -9
  124. package/dist/esm/ion-nav_2.entry.js +6 -6
  125. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  126. package/dist/esm/ion-picker-column.entry.js +3 -3
  127. package/dist/esm/ion-picker.entry.js +2 -2
  128. package/dist/esm/ion-popover.entry.js +8 -8
  129. package/dist/esm/ion-progress-bar.entry.js +3 -3
  130. package/dist/esm/ion-radio_2.entry.js +3 -3
  131. package/dist/esm/ion-range.entry.js +4 -4
  132. package/dist/esm/ion-refresher_2.entry.js +6 -6
  133. package/dist/esm/ion-reorder_2.entry.js +4 -4
  134. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  135. package/dist/esm/ion-route_4.entry.js +3 -3
  136. package/dist/esm/ion-searchbar.entry.js +3 -3
  137. package/dist/esm/ion-segment-content.entry.js +1 -1
  138. package/dist/esm/ion-segment-view.entry.js +1 -1
  139. package/dist/esm/ion-segment_2.entry.js +3 -3
  140. package/dist/esm/ion-select-modal.entry.js +6 -6
  141. package/dist/esm/ion-select_3.entry.js +7 -7
  142. package/dist/esm/ion-spinner.entry.js +2 -2
  143. package/dist/esm/ion-split-pane.entry.js +2 -2
  144. package/dist/esm/ion-tab-bar_2.entry.js +3 -3
  145. package/dist/esm/ion-tab_2.entry.js +3 -3
  146. package/dist/esm/ion-text.entry.js +2 -2
  147. package/dist/esm/ion-textarea.entry.js +5 -5
  148. package/dist/esm/ion-toast.entry.js +8 -8
  149. package/dist/esm/ion-toggle.entry.js +3 -3
  150. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DRuUdNt8.js} +1 -1
  151. package/dist/esm/ionic.js +5 -5
  152. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition-IKPYPZBa.js} +4 -4
  153. package/dist/esm/loader.js +4 -4
  154. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-Bc2DC3ZN.js} +4 -4
  155. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-CGadnxjv.js} +1 -1
  156. package/dist/esm/{overlays-BymNv-BL.js → overlays-yoteY47V.js} +5 -5
  157. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BF62uqKM.js} +3 -3
  158. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-wkhTYnhW.js} +2 -2
  159. package/dist/ionic/index.esm.js +1 -1
  160. package/dist/ionic/ionic.esm.js +1 -1
  161. package/dist/ionic/p--UHDD5Kg.js +4 -0
  162. package/dist/ionic/{p-c19f63d0.entry.js → p-007477f1.entry.js} +1 -1
  163. package/dist/ionic/{p-d0a2a1ab.entry.js → p-06cf24a5.entry.js} +1 -1
  164. package/dist/ionic/{p-6d070558.entry.js → p-07b95be2.entry.js} +1 -1
  165. package/dist/ionic/p-10e02483.entry.js +4 -0
  166. package/dist/ionic/{p-e16b69e1.entry.js → p-16b3cb0d.entry.js} +1 -1
  167. package/dist/ionic/{p-0b80d700.entry.js → p-1ee109b5.entry.js} +1 -1
  168. package/dist/ionic/{p-79bd78f9.entry.js → p-26d6386b.entry.js} +1 -1
  169. package/dist/ionic/{p-7da39a4d.entry.js → p-2a445e15.entry.js} +1 -1
  170. package/dist/ionic/{p-9575b654.entry.js → p-310b61b0.entry.js} +1 -1
  171. package/dist/ionic/{p-49d06882.entry.js → p-313df453.entry.js} +1 -1
  172. package/dist/ionic/{p-d1f54e28.entry.js → p-36394917.entry.js} +1 -1
  173. package/dist/ionic/{p-d126e8d3.entry.js → p-36ff77bb.entry.js} +1 -1
  174. package/dist/ionic/{p-dbbe606a.entry.js → p-3a0b521f.entry.js} +1 -1
  175. package/dist/ionic/{p-639dd543.entry.js → p-40fcbc5c.entry.js} +1 -1
  176. package/dist/ionic/{p-cc45bcbc.entry.js → p-42db60c6.entry.js} +1 -1
  177. package/dist/ionic/{p-b57c6d3e.entry.js → p-45e6bb3b.entry.js} +1 -1
  178. package/dist/ionic/{p-11518b31.entry.js → p-4dfd581d.entry.js} +1 -1
  179. package/dist/ionic/{p-94de5cfa.entry.js → p-54726ad8.entry.js} +1 -1
  180. package/dist/ionic/{p-6241ce47.entry.js → p-58fb9eea.entry.js} +1 -1
  181. package/dist/ionic/{p-da7d04cc.entry.js → p-5d0cfcb3.entry.js} +1 -1
  182. package/dist/ionic/p-62c7bac8.entry.js +4 -0
  183. package/dist/ionic/{p-1647c46c.entry.js → p-712e2cc9.entry.js} +1 -1
  184. package/dist/ionic/{p-46d74291.entry.js → p-716917c3.entry.js} +1 -1
  185. package/dist/ionic/{p-7268efa5.entry.js → p-7370baa4.entry.js} +1 -1
  186. package/dist/ionic/{p-a80f1b04.entry.js → p-7b15c56b.entry.js} +1 -1
  187. package/dist/ionic/{p-6444c606.entry.js → p-89242ba6.entry.js} +1 -1
  188. package/dist/ionic/{p-316c0420.entry.js → p-89f60304.entry.js} +1 -1
  189. package/dist/ionic/{p-86f53961.entry.js → p-8ee70fe5.entry.js} +1 -1
  190. package/dist/ionic/{p-72c38b88.entry.js → p-9538e532.entry.js} +1 -1
  191. package/dist/ionic/{p-40c261a3.entry.js → p-9996f0d9.entry.js} +1 -1
  192. package/dist/ionic/{p-020af078.entry.js → p-9b75f8b5.entry.js} +1 -1
  193. package/dist/ionic/{p-b0a7585c.entry.js → p-9fa6e33e.entry.js} +1 -1
  194. package/dist/ionic/{p-CJxh_yLS.js → p-B9_I1hx7.js} +1 -1
  195. package/dist/ionic/p-BFdLXUmQ.js +4 -0
  196. package/dist/ionic/{p-QHYY4sjU.js → p-BL9_ds6e.js} +1 -1
  197. package/dist/ionic/{p-D0dMcSkw.js → p-BdOUQlr6.js} +1 -1
  198. package/dist/ionic/{p-BFvmZNyx.js → p-BuiN7eei.js} +1 -1
  199. package/dist/ionic/{p-Dc45iWE4.js → p-C2Hdln5D.js} +1 -1
  200. package/dist/ionic/{p-D-eFFUkA.js → p-C5BtUTU0.js} +1 -1
  201. package/dist/ionic/{p-CwgG81ZD.js → p-C6NxSVl3.js} +1 -1
  202. package/dist/ionic/{p-BYEqWnSg.js → p-D9G6G5Lr.js} +1 -1
  203. package/dist/ionic/p-DJTLROMd.js +4 -0
  204. package/dist/ionic/p-DODo5BkR.js +4 -0
  205. package/dist/ionic/{p-DCv9sLH2.js → p-DSnebHgG.js} +1 -1
  206. package/dist/ionic/p-DTe_Nv0R.js +4 -0
  207. package/dist/ionic/{p-D87hU-Ly.js → p-Da9B2ZO4.js} +1 -1
  208. package/dist/ionic/{p-DUt5fQmA.js → p-Da9FzgKM.js} +1 -1
  209. package/dist/ionic/p-Dj35jSF7.js +4 -0
  210. package/dist/ionic/{p-DbQ5QkTP.js → p-Dx6HlEVi.js} +1 -1
  211. package/dist/ionic/p-K56Zjrdc.js +5 -0
  212. package/dist/ionic/{p-DNcfiJwE.js → p-MGqh2rc5.js} +1 -1
  213. package/dist/ionic/{p-CTfR9YZG.js → p-RUyJri7q.js} +1 -1
  214. package/dist/ionic/{p-31f7095f.entry.js → p-a1701bdd.entry.js} +1 -1
  215. package/dist/ionic/{p-0dfa5a37.entry.js → p-a5e898c0.entry.js} +1 -1
  216. package/dist/ionic/{p-370e4237.entry.js → p-aefc57ac.entry.js} +1 -1
  217. package/dist/ionic/{p-d3014190.entry.js → p-b2e6c9fa.entry.js} +1 -1
  218. package/dist/ionic/{p-15193d01.entry.js → p-c14d03e2.entry.js} +1 -1
  219. package/dist/ionic/{p-a127bee2.entry.js → p-c151a44e.entry.js} +1 -1
  220. package/dist/ionic/{p-ac4eb91d.entry.js → p-c4193a91.entry.js} +1 -1
  221. package/dist/ionic/{p-675b1a31.entry.js → p-c838270f.entry.js} +1 -1
  222. package/dist/ionic/{p-f8f22cc0.entry.js → p-ce45fd8a.entry.js} +1 -1
  223. package/dist/ionic/{p-98fc09eb.entry.js → p-d19eae86.entry.js} +1 -1
  224. package/dist/ionic/{p-582824c5.entry.js → p-d89565e9.entry.js} +1 -1
  225. package/dist/ionic/{p-83be404e.entry.js → p-d8cdffc1.entry.js} +1 -1
  226. package/dist/ionic/{p-7380261c.entry.js → p-e3f3180d.entry.js} +1 -1
  227. package/dist/ionic/{p-510d86e1.entry.js → p-e594c6b9.entry.js} +1 -1
  228. package/dist/ionic/{p-074839fc.entry.js → p-e7486c70.entry.js} +1 -1
  229. package/dist/ionic/{p-2a939845.entry.js → p-eecad8a6.entry.js} +1 -1
  230. package/dist/ionic/{p-43ed1ef5.entry.js → p-f3cd6e01.entry.js} +1 -1
  231. package/dist/ionic/{p-4e41ea20.entry.js → p-f5f3561f.entry.js} +1 -1
  232. package/dist/ionic/{p-4c85d268.entry.js → p-f6a4a75b.entry.js} +1 -1
  233. package/dist/ionic/{p-3a6caca9.entry.js → p-f8657651.entry.js} +1 -1
  234. package/dist/ionic/{p-C7hRNDhM.js → p-oh-p68hr.js} +1 -1
  235. package/dist/types/components/datetime/datetime.d.ts +0 -9
  236. package/dist/types/components/header/header.utils.d.ts +2 -1
  237. package/dist/types/stencil-public-runtime.d.ts +19 -9
  238. package/dist/types/utils/gesture/listener.d.ts +2 -1
  239. package/hydrate/index.js +122 -114
  240. package/hydrate/index.mjs +122 -114
  241. package/package.json +2 -2
  242. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  243. package/dist/ionic/p-B0q1YL7N.js +0 -4
  244. package/dist/ionic/p-BKc55Xev.js +0 -4
  245. package/dist/ionic/p-BOVrCkpJ.js +0 -4
  246. package/dist/ionic/p-Bmgaetn_.js +0 -4
  247. package/dist/ionic/p-C8IsBmNU.js +0 -5
  248. package/dist/ionic/p-DDb5r57F.js +0 -4
  249. package/dist/ionic/p-DZRJwG4S.js +0 -4
  250. package/dist/ionic/p-a0036e36.entry.js +0 -4
package/hydrate/index.js CHANGED
@@ -130,7 +130,7 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
130
130
 
131
131
 
132
132
  const NAMESPACE = 'ionic';
133
- const BUILD = /* ionic */ { hydratedSelectorName: "hydrated", slotRelocation: true, updatable: true};
133
+ const BUILD = /* ionic */ { hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
134
134
 
135
135
  // TODO(FW-2832): types
136
136
  class Config {
@@ -392,7 +392,7 @@ const initialize = (userConfig = {}) => {
392
392
  const globalScripts = initialize;
393
393
 
394
394
  /*
395
- Stencil Hydrate Platform v4.38.0 | MIT Licensed | https://stenciljs.com
395
+ Stencil Hydrate Platform v4.38.3-dev.1763390030.f9ccdac | MIT Licensed | https://stenciljs.com
396
396
  */
397
397
  var __defProp = Object.defineProperty;
398
398
  var __export = (target, all) => {
@@ -428,6 +428,40 @@ var TYPE_CONSTANT = "type";
428
428
  var VALUE_CONSTANT = "value";
429
429
  var SERIALIZED_PREFIX = "serialized:";
430
430
 
431
+ // src/utils/es2022-rewire-class-members.ts
432
+ var reWireGetterSetter = (instance, hostRef) => {
433
+ var _a;
434
+ const cmpMeta = hostRef.$cmpMeta$;
435
+ const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
436
+ members.map(([memberName, [memberFlags]]) => {
437
+ if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
438
+ const ogValue = instance[memberName];
439
+ const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName) || Object.getOwnPropertyDescriptor(instance, memberName);
440
+ if (ogDescriptor) {
441
+ Object.defineProperty(instance, memberName, {
442
+ get() {
443
+ return ogDescriptor.get.call(this);
444
+ },
445
+ set(newValue) {
446
+ ogDescriptor.set.call(this, newValue);
447
+ },
448
+ configurable: true,
449
+ enumerable: true
450
+ });
451
+ }
452
+ instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue;
453
+ }
454
+ });
455
+ };
456
+ function getPropertyDescriptor(obj, memberName) {
457
+ while (obj) {
458
+ const desc = Object.getOwnPropertyDescriptor(obj, memberName);
459
+ if (desc == null ? void 0 : desc.get) return desc;
460
+ obj = Object.getPrototypeOf(obj);
461
+ }
462
+ return void 0;
463
+ }
464
+
431
465
  // src/utils/helpers.ts
432
466
  var isDef = (v) => v != null && v !== void 0;
433
467
  var isComplexType = (o) => {
@@ -3647,6 +3681,9 @@ var registerInstance = (lazyInstance, hostRef) => {
3647
3681
  if (!hostRef) return void 0;
3648
3682
  lazyInstance.__stencil__getHostRef = () => hostRef;
3649
3683
  hostRef.$lazyInstance$ = lazyInstance;
3684
+ if (hostRef.$cmpMeta$.$flags$ & 512 /* hasModernPropertyDecls */ && (BUILD.state)) {
3685
+ reWireGetterSetter(lazyInstance, hostRef);
3686
+ }
3650
3687
  return hostRef;
3651
3688
  };
3652
3689
  var registerHost = (elm, cmpMeta) => {
@@ -13239,27 +13276,6 @@ class Datetime {
13239
13276
  destroyKeyboardMO();
13240
13277
  }
13241
13278
  };
13242
- /**
13243
- * Fallback to ensure the datetime becomes ready even if
13244
- * IntersectionObserver never reports it as intersecting.
13245
- *
13246
- * This is primarily used in environments where the observer
13247
- * might not fire as expected, such as when running under
13248
- * synthetic tests that stub IntersectionObserver.
13249
- */
13250
- this.ensureReadyIfVisible = () => {
13251
- if (this.el.classList.contains('datetime-ready')) {
13252
- return;
13253
- }
13254
- const rect = this.el.getBoundingClientRect();
13255
- if (rect.width === 0 || rect.height === 0) {
13256
- return;
13257
- }
13258
- this.initializeListeners();
13259
- writeTask(() => {
13260
- this.el.classList.add('datetime-ready');
13261
- });
13262
- };
13263
13279
  this.processValue = (value) => {
13264
13280
  const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
13265
13281
  const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
@@ -13577,16 +13593,6 @@ class Datetime {
13577
13593
  * triggering the `hiddenIO` observer below.
13578
13594
  */
13579
13595
  raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
13580
- /**
13581
- * Fallback: If IntersectionObserver never reports that the
13582
- * datetime is visible but the host clearly has layout, ensure
13583
- * we still initialize listeners and mark the component as ready.
13584
- *
13585
- * We schedule this after everything has had a chance to run.
13586
- */
13587
- setTimeout(() => {
13588
- this.ensureReadyIfVisible();
13589
- }, 100);
13590
13596
  /**
13591
13597
  * We need to clean up listeners when the datetime is hidden
13592
13598
  * in a popover/modal so that we can properly scroll containers
@@ -14342,7 +14348,7 @@ class Datetime {
14342
14348
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
14343
14349
  const hasWheelVariant = hasDatePresentation && preferWheel;
14344
14350
  renderHiddenInput(true, el, name, formatValue(value), disabled);
14345
- return (hAsync(Host, { key: 'd2eb93cc04cedf3c3cccf459a0cf88ec69236ee3', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14351
+ return (hAsync(Host, { key: '57492534800ea059a7c2bbd9f0059cc0b75ae8d2', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14346
14352
  [mode]: true,
14347
14353
  ['datetime-readonly']: readonly,
14348
14354
  ['datetime-disabled']: disabled,
@@ -14352,7 +14358,7 @@ class Datetime {
14352
14358
  [`datetime-size-${size}`]: true,
14353
14359
  [`datetime-prefer-wheel`]: hasWheelVariant,
14354
14360
  [`datetime-grid`]: isGridStyle,
14355
- })) }, hAsync("div", { key: 'b333c2b7338aae36b7715cfd7e27a682fda94e15', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14361
+ })) }, hAsync("div", { key: '97dac5e5195635ac0bc5fb472b9d09e5c3c6bbc3', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14356
14362
  }
14357
14363
  get el() { return getElement(this); }
14358
14364
  static get watchers() { return {
@@ -37958,7 +37964,7 @@ var NAMESPACE = (
37958
37964
  );
37959
37965
 
37960
37966
  /*
37961
- Stencil Hydrate Runner v4.38.0 | MIT Licensed | https://stenciljs.com
37967
+ Stencil Hydrate Runner v4.38.3-dev.1763390030.f9ccdac | MIT Licensed | https://stenciljs.com
37962
37968
  */
37963
37969
  var __defProp = Object.defineProperty;
37964
37970
  var __export = (target, all) => {
@@ -38119,82 +38125,6 @@ var MockAttr = class {
38119
38125
  }
38120
38126
  };
38121
38127
 
38122
- // src/mock-doc/class-list.ts
38123
- var MockClassList = class {
38124
- constructor(elm) {
38125
- this.elm = elm;
38126
- }
38127
- add(...classNames) {
38128
- const clsNames = getItems(this.elm);
38129
- let updated = false;
38130
- classNames.forEach((className) => {
38131
- className = String(className);
38132
- validateClass(className);
38133
- if (clsNames.includes(className) === false) {
38134
- clsNames.push(className);
38135
- updated = true;
38136
- }
38137
- });
38138
- if (updated) {
38139
- this.elm.setAttributeNS(null, "class", clsNames.join(" "));
38140
- }
38141
- }
38142
- remove(...classNames) {
38143
- const clsNames = getItems(this.elm);
38144
- let updated = false;
38145
- classNames.forEach((className) => {
38146
- className = String(className);
38147
- validateClass(className);
38148
- const index = clsNames.indexOf(className);
38149
- if (index > -1) {
38150
- clsNames.splice(index, 1);
38151
- updated = true;
38152
- }
38153
- });
38154
- if (updated) {
38155
- this.elm.setAttributeNS(null, "class", clsNames.filter((c) => c.length > 0).join(" "));
38156
- }
38157
- }
38158
- contains(className) {
38159
- className = String(className);
38160
- return getItems(this.elm).includes(className);
38161
- }
38162
- toggle(className) {
38163
- className = String(className);
38164
- if (this.contains(className) === true) {
38165
- this.remove(className);
38166
- } else {
38167
- this.add(className);
38168
- }
38169
- }
38170
- get length() {
38171
- return getItems(this.elm).length;
38172
- }
38173
- item(index) {
38174
- return getItems(this.elm)[index];
38175
- }
38176
- toString() {
38177
- return getItems(this.elm).join(" ");
38178
- }
38179
- };
38180
- function validateClass(className) {
38181
- if (className === "") {
38182
- throw new Error("The token provided must not be empty.");
38183
- }
38184
- if (/\s/.test(className)) {
38185
- throw new Error(
38186
- `The token provided ('${className}') contains HTML space characters, which are not valid in tokens.`
38187
- );
38188
- }
38189
- }
38190
- function getItems(elm) {
38191
- const className = elm.getAttribute("class");
38192
- if (typeof className === "string" && className.length > 0) {
38193
- return className.trim().split(" ").filter((c) => c.length > 0);
38194
- }
38195
- return [];
38196
- }
38197
-
38198
38128
  // src/mock-doc/css-style-declaration.ts
38199
38129
  var MockCSSStyleDeclaration = class {
38200
38130
  constructor() {
@@ -48710,6 +48640,81 @@ var STRUCTURE_ELEMENTS = /* @__PURE__ */ new Set([
48710
48640
  "style"
48711
48641
  ]);
48712
48642
 
48643
+ // src/mock-doc/token-list.ts
48644
+ var MockTokenList = class {
48645
+ constructor(elm, attr) {
48646
+ this.elm = elm;
48647
+ this.attr = attr;
48648
+ }
48649
+ add(...tokens) {
48650
+ const items = getItems(this.elm, this.attr);
48651
+ let updated = false;
48652
+ tokens.forEach((token) => {
48653
+ token = String(token);
48654
+ validateToken(token);
48655
+ if (items.includes(token) === false) {
48656
+ items.push(token);
48657
+ updated = true;
48658
+ }
48659
+ });
48660
+ if (updated) {
48661
+ this.elm.setAttributeNS(null, this.attr, items.join(" "));
48662
+ }
48663
+ }
48664
+ remove(...tokens) {
48665
+ const items = getItems(this.elm, this.attr);
48666
+ let updated = false;
48667
+ tokens.forEach((token) => {
48668
+ token = String(token);
48669
+ validateToken(token);
48670
+ const index = items.indexOf(token);
48671
+ if (index > -1) {
48672
+ items.splice(index, 1);
48673
+ updated = true;
48674
+ }
48675
+ });
48676
+ if (updated) {
48677
+ this.elm.setAttributeNS(null, this.attr, items.filter((c) => c.length > 0).join(" "));
48678
+ }
48679
+ }
48680
+ contains(token) {
48681
+ token = String(token);
48682
+ return getItems(this.elm, this.attr).includes(token);
48683
+ }
48684
+ toggle(token) {
48685
+ token = String(token);
48686
+ if (this.contains(token) === true) {
48687
+ this.remove(token);
48688
+ } else {
48689
+ this.add(token);
48690
+ }
48691
+ }
48692
+ get length() {
48693
+ return getItems(this.elm, this.attr).length;
48694
+ }
48695
+ item(index) {
48696
+ return getItems(this.elm, this.attr)[index];
48697
+ }
48698
+ toString() {
48699
+ return getItems(this.elm, this.attr).join(" ");
48700
+ }
48701
+ };
48702
+ function validateToken(token) {
48703
+ if (token === "") {
48704
+ throw new Error("The token provided must not be empty.");
48705
+ }
48706
+ if (/\s/.test(token)) {
48707
+ throw new Error(`The token provided ('${token}') contains HTML space characters, which are not valid in tokens.`);
48708
+ }
48709
+ }
48710
+ function getItems(elm, attr) {
48711
+ const value = elm.getAttribute(attr);
48712
+ if (typeof value === "string" && value.length > 0) {
48713
+ return value.trim().split(" ").filter((c) => c.length > 0);
48714
+ }
48715
+ return [];
48716
+ }
48717
+
48713
48718
  // src/mock-doc/node.ts
48714
48719
  var MockNode2 = class {
48715
48720
  constructor(ownerDocument, nodeType, nodeName, nodeValue) {
@@ -48977,7 +48982,10 @@ var MockElement = class extends MockNode2 {
48977
48982
  this.setAttributeNS(null, "class", value);
48978
48983
  }
48979
48984
  get classList() {
48980
- return new MockClassList(this);
48985
+ return new MockTokenList(this, "class");
48986
+ }
48987
+ get part() {
48988
+ return new MockTokenList(this, "part");
48981
48989
  }
48982
48990
  click() {
48983
48991
  dispatchEvent(this, new MockEvent("click", { bubbles: true, cancelable: true, composed: true }));
@@ -51860,7 +51868,7 @@ var MockDocument = class _MockDocument extends MockHTMLElement {
51860
51868
  }
51861
51869
  set location(val) {
51862
51870
  if (this.defaultView != null) {
51863
- this.defaultView.location = val;
51871
+ this.defaultView.location.href = val;
51864
51872
  }
51865
51873
  }
51866
51874
  get baseURI() {
package/hydrate/index.mjs CHANGED
@@ -128,7 +128,7 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
128
128
 
129
129
 
130
130
  const NAMESPACE = 'ionic';
131
- const BUILD = /* ionic */ { hydratedSelectorName: "hydrated", slotRelocation: true, updatable: true};
131
+ const BUILD = /* ionic */ { hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
132
132
 
133
133
  // TODO(FW-2832): types
134
134
  class Config {
@@ -390,7 +390,7 @@ const initialize = (userConfig = {}) => {
390
390
  const globalScripts = initialize;
391
391
 
392
392
  /*
393
- Stencil Hydrate Platform v4.38.0 | MIT Licensed | https://stenciljs.com
393
+ Stencil Hydrate Platform v4.38.3-dev.1763390030.f9ccdac | MIT Licensed | https://stenciljs.com
394
394
  */
395
395
  var __defProp = Object.defineProperty;
396
396
  var __export = (target, all) => {
@@ -426,6 +426,40 @@ var TYPE_CONSTANT = "type";
426
426
  var VALUE_CONSTANT = "value";
427
427
  var SERIALIZED_PREFIX = "serialized:";
428
428
 
429
+ // src/utils/es2022-rewire-class-members.ts
430
+ var reWireGetterSetter = (instance, hostRef) => {
431
+ var _a;
432
+ const cmpMeta = hostRef.$cmpMeta$;
433
+ const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
434
+ members.map(([memberName, [memberFlags]]) => {
435
+ if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
436
+ const ogValue = instance[memberName];
437
+ const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName) || Object.getOwnPropertyDescriptor(instance, memberName);
438
+ if (ogDescriptor) {
439
+ Object.defineProperty(instance, memberName, {
440
+ get() {
441
+ return ogDescriptor.get.call(this);
442
+ },
443
+ set(newValue) {
444
+ ogDescriptor.set.call(this, newValue);
445
+ },
446
+ configurable: true,
447
+ enumerable: true
448
+ });
449
+ }
450
+ instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue;
451
+ }
452
+ });
453
+ };
454
+ function getPropertyDescriptor(obj, memberName) {
455
+ while (obj) {
456
+ const desc = Object.getOwnPropertyDescriptor(obj, memberName);
457
+ if (desc == null ? void 0 : desc.get) return desc;
458
+ obj = Object.getPrototypeOf(obj);
459
+ }
460
+ return void 0;
461
+ }
462
+
429
463
  // src/utils/helpers.ts
430
464
  var isDef = (v) => v != null && v !== void 0;
431
465
  var isComplexType = (o) => {
@@ -3645,6 +3679,9 @@ var registerInstance = (lazyInstance, hostRef) => {
3645
3679
  if (!hostRef) return void 0;
3646
3680
  lazyInstance.__stencil__getHostRef = () => hostRef;
3647
3681
  hostRef.$lazyInstance$ = lazyInstance;
3682
+ if (hostRef.$cmpMeta$.$flags$ & 512 /* hasModernPropertyDecls */ && (BUILD.state)) {
3683
+ reWireGetterSetter(lazyInstance, hostRef);
3684
+ }
3648
3685
  return hostRef;
3649
3686
  };
3650
3687
  var registerHost = (elm, cmpMeta) => {
@@ -13237,27 +13274,6 @@ class Datetime {
13237
13274
  destroyKeyboardMO();
13238
13275
  }
13239
13276
  };
13240
- /**
13241
- * Fallback to ensure the datetime becomes ready even if
13242
- * IntersectionObserver never reports it as intersecting.
13243
- *
13244
- * This is primarily used in environments where the observer
13245
- * might not fire as expected, such as when running under
13246
- * synthetic tests that stub IntersectionObserver.
13247
- */
13248
- this.ensureReadyIfVisible = () => {
13249
- if (this.el.classList.contains('datetime-ready')) {
13250
- return;
13251
- }
13252
- const rect = this.el.getBoundingClientRect();
13253
- if (rect.width === 0 || rect.height === 0) {
13254
- return;
13255
- }
13256
- this.initializeListeners();
13257
- writeTask(() => {
13258
- this.el.classList.add('datetime-ready');
13259
- });
13260
- };
13261
13277
  this.processValue = (value) => {
13262
13278
  const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
13263
13279
  const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
@@ -13575,16 +13591,6 @@ class Datetime {
13575
13591
  * triggering the `hiddenIO` observer below.
13576
13592
  */
13577
13593
  raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
13578
- /**
13579
- * Fallback: If IntersectionObserver never reports that the
13580
- * datetime is visible but the host clearly has layout, ensure
13581
- * we still initialize listeners and mark the component as ready.
13582
- *
13583
- * We schedule this after everything has had a chance to run.
13584
- */
13585
- setTimeout(() => {
13586
- this.ensureReadyIfVisible();
13587
- }, 100);
13588
13594
  /**
13589
13595
  * We need to clean up listeners when the datetime is hidden
13590
13596
  * in a popover/modal so that we can properly scroll containers
@@ -14340,7 +14346,7 @@ class Datetime {
14340
14346
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
14341
14347
  const hasWheelVariant = hasDatePresentation && preferWheel;
14342
14348
  renderHiddenInput(true, el, name, formatValue(value), disabled);
14343
- return (hAsync(Host, { key: 'd2eb93cc04cedf3c3cccf459a0cf88ec69236ee3', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14349
+ return (hAsync(Host, { key: '57492534800ea059a7c2bbd9f0059cc0b75ae8d2', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
14344
14350
  [mode]: true,
14345
14351
  ['datetime-readonly']: readonly,
14346
14352
  ['datetime-disabled']: disabled,
@@ -14350,7 +14356,7 @@ class Datetime {
14350
14356
  [`datetime-size-${size}`]: true,
14351
14357
  [`datetime-prefer-wheel`]: hasWheelVariant,
14352
14358
  [`datetime-grid`]: isGridStyle,
14353
- })) }, hAsync("div", { key: 'b333c2b7338aae36b7715cfd7e27a682fda94e15', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14359
+ })) }, hAsync("div", { key: '97dac5e5195635ac0bc5fb472b9d09e5c3c6bbc3', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
14354
14360
  }
14355
14361
  get el() { return getElement(this); }
14356
14362
  static get watchers() { return {
@@ -37956,7 +37962,7 @@ var NAMESPACE = (
37956
37962
  );
37957
37963
 
37958
37964
  /*
37959
- Stencil Hydrate Runner v4.38.0 | MIT Licensed | https://stenciljs.com
37965
+ Stencil Hydrate Runner v4.38.3-dev.1763390030.f9ccdac | MIT Licensed | https://stenciljs.com
37960
37966
  */
37961
37967
  var __defProp = Object.defineProperty;
37962
37968
  var __export = (target, all) => {
@@ -38117,82 +38123,6 @@ var MockAttr = class {
38117
38123
  }
38118
38124
  };
38119
38125
 
38120
- // src/mock-doc/class-list.ts
38121
- var MockClassList = class {
38122
- constructor(elm) {
38123
- this.elm = elm;
38124
- }
38125
- add(...classNames) {
38126
- const clsNames = getItems(this.elm);
38127
- let updated = false;
38128
- classNames.forEach((className) => {
38129
- className = String(className);
38130
- validateClass(className);
38131
- if (clsNames.includes(className) === false) {
38132
- clsNames.push(className);
38133
- updated = true;
38134
- }
38135
- });
38136
- if (updated) {
38137
- this.elm.setAttributeNS(null, "class", clsNames.join(" "));
38138
- }
38139
- }
38140
- remove(...classNames) {
38141
- const clsNames = getItems(this.elm);
38142
- let updated = false;
38143
- classNames.forEach((className) => {
38144
- className = String(className);
38145
- validateClass(className);
38146
- const index = clsNames.indexOf(className);
38147
- if (index > -1) {
38148
- clsNames.splice(index, 1);
38149
- updated = true;
38150
- }
38151
- });
38152
- if (updated) {
38153
- this.elm.setAttributeNS(null, "class", clsNames.filter((c) => c.length > 0).join(" "));
38154
- }
38155
- }
38156
- contains(className) {
38157
- className = String(className);
38158
- return getItems(this.elm).includes(className);
38159
- }
38160
- toggle(className) {
38161
- className = String(className);
38162
- if (this.contains(className) === true) {
38163
- this.remove(className);
38164
- } else {
38165
- this.add(className);
38166
- }
38167
- }
38168
- get length() {
38169
- return getItems(this.elm).length;
38170
- }
38171
- item(index) {
38172
- return getItems(this.elm)[index];
38173
- }
38174
- toString() {
38175
- return getItems(this.elm).join(" ");
38176
- }
38177
- };
38178
- function validateClass(className) {
38179
- if (className === "") {
38180
- throw new Error("The token provided must not be empty.");
38181
- }
38182
- if (/\s/.test(className)) {
38183
- throw new Error(
38184
- `The token provided ('${className}') contains HTML space characters, which are not valid in tokens.`
38185
- );
38186
- }
38187
- }
38188
- function getItems(elm) {
38189
- const className = elm.getAttribute("class");
38190
- if (typeof className === "string" && className.length > 0) {
38191
- return className.trim().split(" ").filter((c) => c.length > 0);
38192
- }
38193
- return [];
38194
- }
38195
-
38196
38126
  // src/mock-doc/css-style-declaration.ts
38197
38127
  var MockCSSStyleDeclaration = class {
38198
38128
  constructor() {
@@ -48708,6 +48638,81 @@ var STRUCTURE_ELEMENTS = /* @__PURE__ */ new Set([
48708
48638
  "style"
48709
48639
  ]);
48710
48640
 
48641
+ // src/mock-doc/token-list.ts
48642
+ var MockTokenList = class {
48643
+ constructor(elm, attr) {
48644
+ this.elm = elm;
48645
+ this.attr = attr;
48646
+ }
48647
+ add(...tokens) {
48648
+ const items = getItems(this.elm, this.attr);
48649
+ let updated = false;
48650
+ tokens.forEach((token) => {
48651
+ token = String(token);
48652
+ validateToken(token);
48653
+ if (items.includes(token) === false) {
48654
+ items.push(token);
48655
+ updated = true;
48656
+ }
48657
+ });
48658
+ if (updated) {
48659
+ this.elm.setAttributeNS(null, this.attr, items.join(" "));
48660
+ }
48661
+ }
48662
+ remove(...tokens) {
48663
+ const items = getItems(this.elm, this.attr);
48664
+ let updated = false;
48665
+ tokens.forEach((token) => {
48666
+ token = String(token);
48667
+ validateToken(token);
48668
+ const index = items.indexOf(token);
48669
+ if (index > -1) {
48670
+ items.splice(index, 1);
48671
+ updated = true;
48672
+ }
48673
+ });
48674
+ if (updated) {
48675
+ this.elm.setAttributeNS(null, this.attr, items.filter((c) => c.length > 0).join(" "));
48676
+ }
48677
+ }
48678
+ contains(token) {
48679
+ token = String(token);
48680
+ return getItems(this.elm, this.attr).includes(token);
48681
+ }
48682
+ toggle(token) {
48683
+ token = String(token);
48684
+ if (this.contains(token) === true) {
48685
+ this.remove(token);
48686
+ } else {
48687
+ this.add(token);
48688
+ }
48689
+ }
48690
+ get length() {
48691
+ return getItems(this.elm, this.attr).length;
48692
+ }
48693
+ item(index) {
48694
+ return getItems(this.elm, this.attr)[index];
48695
+ }
48696
+ toString() {
48697
+ return getItems(this.elm, this.attr).join(" ");
48698
+ }
48699
+ };
48700
+ function validateToken(token) {
48701
+ if (token === "") {
48702
+ throw new Error("The token provided must not be empty.");
48703
+ }
48704
+ if (/\s/.test(token)) {
48705
+ throw new Error(`The token provided ('${token}') contains HTML space characters, which are not valid in tokens.`);
48706
+ }
48707
+ }
48708
+ function getItems(elm, attr) {
48709
+ const value = elm.getAttribute(attr);
48710
+ if (typeof value === "string" && value.length > 0) {
48711
+ return value.trim().split(" ").filter((c) => c.length > 0);
48712
+ }
48713
+ return [];
48714
+ }
48715
+
48711
48716
  // src/mock-doc/node.ts
48712
48717
  var MockNode2 = class {
48713
48718
  constructor(ownerDocument, nodeType, nodeName, nodeValue) {
@@ -48975,7 +48980,10 @@ var MockElement = class extends MockNode2 {
48975
48980
  this.setAttributeNS(null, "class", value);
48976
48981
  }
48977
48982
  get classList() {
48978
- return new MockClassList(this);
48983
+ return new MockTokenList(this, "class");
48984
+ }
48985
+ get part() {
48986
+ return new MockTokenList(this, "part");
48979
48987
  }
48980
48988
  click() {
48981
48989
  dispatchEvent(this, new MockEvent("click", { bubbles: true, cancelable: true, composed: true }));
@@ -51858,7 +51866,7 @@ var MockDocument = class _MockDocument extends MockHTMLElement {
51858
51866
  }
51859
51867
  set location(val) {
51860
51868
  if (this.defaultView != null) {
51861
- this.defaultView.location = val;
51869
+ this.defaultView.location.href = val;
51862
51870
  }
51863
51871
  }
51864
51872
  get baseURI() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "8.7.10-dev.11763478209.1d9c4cd8",
3
+ "version": "8.7.10-dev.11763578076.1047c3c7",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",
@@ -31,7 +31,7 @@
31
31
  "loader/"
32
32
  ],
33
33
  "dependencies": {
34
- "@stencil/core": "4.38.0",
34
+ "@stencil/core": "4.38.3-dev.1763390030.f9ccdac",
35
35
  "ionicons": "^8.0.13",
36
36
  "tslib": "^2.1.0"
37
37
  },
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as o,h as s,d as r}from"./p-C8IsBmNU.js";import{c as t}from"./p-DiVJyqlX.js";import{b as c}from"./p-BFvmZNyx.js";const e=class{constructor(s){o(this,s)}render(){const o=c(this);return s(r,{key:"361035eae7b92dc109794348d39bad2f596eb6be",class:t(this.color,{[o]:!0})},s("slot",{key:"c7b8835cf485ba9ecd73298f0529276ce1ea0852"}))}};e.style=":host(.ion-color){color:var(--ion-color-base)}";export{e as ion_text}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{w as t}from"./p-ZjP4CjeZ.js";import{e,j as n}from"./p-C8IsBmNU.js";const o=()=>e.get("experimentalCloseWatcher",!1)&&void 0!==t&&"CloseWatcher"in t,i=()=>{document.addEventListener("backbutton",(()=>{}))},r=()=>{const e=document;let i=!1;const r=()=>{if(i)return;let t=0,o=[];const r=new CustomEvent("ionBackButton",{bubbles:!1,detail:{register(e,n){o.push({priority:e,handler:n,id:t++})}}});e.dispatchEvent(r);const a=()=>{if(o.length>0){let t={priority:Number.MIN_SAFE_INTEGER,handler:()=>{},id:-1};o.forEach((e=>{e.priority>=t.priority&&(t=e)})),i=!0,o=o.filter((e=>e.id!==t.id)),(async t=>{try{if(null==t?void 0:t.handler){const e=t.handler(a);null!=e&&await e}}catch(t){n("[ion-app] - Exception in startHardwareBackButton:",t)}})(t).then((()=>i=!1))}};a()};if(o()){let e;const n=()=>{null==e||e.destroy(),e=new t.CloseWatcher,e.onclose=()=>{r(),n()}};n()}else e.addEventListener("backbutton",r)},a=100,s=99;export{s as MENU_BACK_BUTTON_PRIORITY,a as OVERLAY_BACK_BUTTON_PRIORITY,i as blockHardwareBackButton,o as shouldUseCloseWatcher,r as startHardwareBackButton}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{e as t}from"./p-CTfR9YZG.js";import{i as o}from"./p-C53feagD.js";import{createGesture as r}from"./p-Cl0B-RWe.js";import"./p-C8IsBmNU.js";import"./p-BTEOs1at.js";const s=(s,e,n,a,p)=>{const i=s.ownerDocument.defaultView;let m=o(s);const c=t=>m?-t.deltaX:t.deltaX;return r({el:s,gestureName:"goback-swipe",gesturePriority:101,threshold:10,canStart:t=>(m=o(s),(t=>{const{startX:o}=t;return m?o>=i.innerWidth-50:o<=50})(t)&&e()),onStart:n,onMove:t=>{const o=c(t);a(o/i.innerWidth)},onEnd:o=>{const r=c(o),s=i.innerWidth,e=r/s,n=(t=>m?-t.velocityX:t.velocityX)(o),a=n>=0&&(n>.2||r>s/2),f=(a?1-e:e)*s;let j=0;if(f>5){const t=f/Math.abs(n);j=Math.min(t,540)}p(a,e<=0?.01:t(0,e,.9999),j)}})};export{s as createSwipeBackGesture}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{d as t}from"./p-ZjP4CjeZ.js";import{q as e}from"./p-CTfR9YZG.js";import"./p-C8IsBmNU.js";const o=o=>{if(void 0===t)return;let f,p,u,l=0;const d=o.getBoolean("animated",!0)&&o.getBoolean("rippleEffect",!0),v=new WeakMap,m=()=>{u&&clearTimeout(u),u=void 0,f&&(C(!1),f=void 0)},T=(t,o)=>{if(t&&t===f)return;u&&clearTimeout(u),u=void 0;const{x:i,y:r}=e(o);if(f){if(v.has(f))throw new Error("internal error");f.classList.contains(a)||j(f,i,r),C(!0)}if(t){const e=v.get(t);e&&(clearTimeout(e),v.delete(t)),t.classList.remove(a);const o=()=>{j(t,i,r),u=void 0};n(t)?o():u=setTimeout(o,c)}f=t},j=(t,e,o)=>{if(l=Date.now(),t.classList.add(a),!d)return;const i=r(t);null!==i&&(w(),p=i.addRipple(e,o))},w=()=>{void 0!==p&&(p.then((t=>t())),p=void 0)},C=t=>{w();const e=f;if(!e)return;const o=s-Date.now()+l;if(t&&o>0&&!n(e)){const t=setTimeout((()=>{e.classList.remove(a),v.delete(e)}),s);v.set(e,t)}else e.classList.remove(a)};t.addEventListener("ionGestureCaptured",m),t.addEventListener("pointerdown",(t=>{f||2===t.button||T(i(t),t)}),!0),t.addEventListener("pointerup",(t=>{T(void 0,t)}),!0),t.addEventListener("pointercancel",m,!0)},i=t=>{if(void 0===t.composedPath)return t.target.closest(".ion-activatable");{const e=t.composedPath();for(let t=0;t<e.length-2;t++){const o=e[t];if(!(o instanceof ShadowRoot)&&o.classList.contains("ion-activatable"))return o}}},n=t=>t.classList.contains("ion-activatable-instant"),r=t=>{if(t.shadowRoot){const e=t.shadowRoot.querySelector("ion-ripple-effect");if(e)return e}return t.querySelector("ion-ripple-effect")},a="ion-activated",c=100,s=150;export{o as startTapClick}