@ionic/core 9.0.4-nightly.20260911 → 9.0.4-nightly.20260915

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 (492) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker.js +1 -1
  59. package/components/ion-popover.js +1 -1
  60. package/components/ion-progress-bar.js +1 -1
  61. package/components/ion-radio-group.js +1 -1
  62. package/components/ion-radio.js +1 -1
  63. package/components/ion-range.js +1 -1
  64. package/components/ion-refresher-content.js +1 -1
  65. package/components/ion-refresher.js +1 -1
  66. package/components/ion-reorder-group.js +1 -1
  67. package/components/ion-reorder.js +1 -1
  68. package/components/ion-ripple-effect.js +1 -1
  69. package/components/ion-route-redirect.js +1 -1
  70. package/components/ion-route.js +1 -1
  71. package/components/ion-router-link.js +1 -1
  72. package/components/ion-router-outlet.js +1 -1
  73. package/components/ion-router.js +1 -1
  74. package/components/ion-row.js +1 -1
  75. package/components/ion-searchbar.js +1 -1
  76. package/components/ion-segment-button.js +1 -1
  77. package/components/ion-segment-content.js +1 -1
  78. package/components/ion-segment-view.js +1 -1
  79. package/components/ion-segment.js +1 -1
  80. package/components/ion-select-modal.js +1 -1
  81. package/components/ion-select-option.js +1 -1
  82. package/components/ion-select-popover.js +1 -1
  83. package/components/ion-select.js +1 -1
  84. package/components/ion-skeleton-text.js +1 -1
  85. package/components/ion-spinner.js +1 -1
  86. package/components/ion-split-pane.js +1 -1
  87. package/components/ion-tab-bar.js +1 -1
  88. package/components/ion-tab-button.js +1 -1
  89. package/components/ion-tab.js +1 -1
  90. package/components/ion-tabs.js +1 -1
  91. package/components/ion-text.js +1 -1
  92. package/components/ion-textarea.js +1 -1
  93. package/components/ion-thumbnail.js +1 -1
  94. package/components/ion-title.js +1 -1
  95. package/components/ion-toast.js +1 -1
  96. package/components/ion-toggle.js +1 -1
  97. package/components/ion-toolbar.js +1 -1
  98. package/components/p--pR3YKVX.js +4 -0
  99. package/components/{p-BJr2B5hZ.js → p-2ta4uE9-.js} +1 -1
  100. package/components/{p-YjMkHuvH.js → p-47h0_nN4.js} +1 -1
  101. package/components/{p-C8Ck7_Eo.js → p-8MzqWBTT.js} +1 -1
  102. package/components/{p-CNLioZ3B.js → p-BGChz0G8.js} +1 -1
  103. package/components/{p-DZRZic9C.js → p-BLe-edUh.js} +1 -1
  104. package/components/{p-CJgnoKcN.js → p-BMHhG7Xh.js} +1 -1
  105. package/components/{p-TWw4e4sO.js → p-BPbgEuCf.js} +1 -1
  106. package/components/{p-DnBNYc7u.js → p-Bc-3W2an.js} +1 -1
  107. package/{dist/ionic/p-DTxBioUO.js → components/p-BezPzC13.js} +1 -1
  108. package/components/{p-B1_TL6RQ.js → p-BezRi1ML.js} +1 -1
  109. package/components/p-Bi8VGu4M.js +4 -0
  110. package/components/{p-DL13ieTa.js → p-BjizFeM6.js} +1 -1
  111. package/components/{p-BF48Oc0v.js → p-BuxZkazO.js} +1 -1
  112. package/components/p-BxCcX93a.js +4 -0
  113. package/components/{p-BW_SlU2D.js → p-C0tpzcpi.js} +1 -1
  114. package/components/{p-DMBiAyOR.js → p-C6WYVtle.js} +1 -1
  115. package/components/p-CDt7Q7Dj.js +4 -0
  116. package/components/p-CDvyV0r0.js +4 -0
  117. package/components/{p-C4VpVfrJ.js → p-CEs5NmKW.js} +1 -1
  118. package/components/{p-CMRYD_yR.js → p-CLVgYpRn.js} +1 -1
  119. package/components/{p-Cd1WaN-0.js → p-CMT0YmOj.js} +1 -1
  120. package/components/{p-DFLJvuRK.js → p-CPGp3WWG.js} +1 -1
  121. package/components/{p-B4lxwJ8N.js → p-CXuRZoWE.js} +1 -1
  122. package/components/{p-D7wDJdFn.js → p-CaY8IRMT.js} +1 -1
  123. package/components/{p-BQyuFxYc.js → p-CcOl6jEv.js} +1 -1
  124. package/components/{p-Ctop2IWW.js → p-CeGQfrDU.js} +1 -1
  125. package/components/{p-cEN43Ahr.js → p-CkffScdn.js} +1 -1
  126. package/components/{p-BT9-hMMz.js → p-CpcdCRug.js} +1 -1
  127. package/components/{p-Hp8t4RMX.js → p-Csi6iX-c.js} +1 -1
  128. package/components/{p-1sJ0ZDPe.js → p-CthoZqG1.js} +1 -1
  129. package/components/{p-Fl7ZFU74.js → p-DBGxvxkE.js} +1 -1
  130. package/components/p-DEvF_E6y.js +4 -0
  131. package/components/{p-COO0eJOA.js → p-DKX1mWld.js} +1 -1
  132. package/components/{p-CqbGBmqb.js → p-DMT-4tHM.js} +1 -1
  133. package/components/p-DOwsU7Mc.js +4 -0
  134. package/components/{p-5ldEpNdG.js → p-DSuBagxs.js} +1 -1
  135. package/{dist/ionic/p-DZ6Hmc-8.js → components/p-DVHC9GYb.js} +1 -1
  136. package/components/p-DWe-YApm.js +4 -0
  137. package/components/{p-Bi-it1EH.js → p-DX_3N4fh.js} +1 -1
  138. package/components/{p-C-NbvXu4.js → p-DcrAT6v8.js} +1 -1
  139. package/components/p-DftucGJR.js +4 -0
  140. package/components/{p-qAXsfUff.js → p-HO1CDBeU.js} +1 -1
  141. package/components/{p-DM1gJSMP.js → p-MLplUp3U.js} +1 -1
  142. package/{dist/ionic/p-BMiZX1LT.js → components/p-MOwrp7hX.js} +1 -1
  143. package/components/{p-D5w_FlVa.js → p-MSr4IlyS.js} +1 -1
  144. package/components/{p-GGbIHyEF.js → p-PWHvigWP.js} +1 -1
  145. package/components/p-S-gGoI4A.js +4 -0
  146. package/components/{p-BYJRZKHa.js → p-gyjG_IM4.js} +1 -1
  147. package/components/p-k92zpBT6.js +4 -0
  148. package/components/{p-DxhHlJln.js → p-rDUBp56G.js} +1 -1
  149. package/css/core.css +1 -1
  150. package/css/core.css.map +1 -1
  151. package/css/ionic.bundle.css +1 -1
  152. package/css/ionic.bundle.css.map +1 -1
  153. package/dist/cjs/{animation-Kd1N7WTN.js → animation-2DHlng-f.js} +3 -3
  154. package/dist/cjs/{app-globals-b1G4t26O.js → app-globals-BeC95igM.js} +1 -1
  155. package/dist/cjs/{button-active-CQCFubJJ.js → button-active-CTyeZB16.js} +2 -2
  156. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-cADDPMtd.js} +3 -3
  157. package/dist/cjs/{format-bHU8N1g5.js → format-BbkxKT7p.js} +1 -1
  158. package/dist/cjs/{framework-delegate-d-fWfeI6.js → framework-delegate-DYIuFqQx.js} +1 -1
  159. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-CqPss9_L.js} +1 -1
  160. package/dist/cjs/{helpers-7wzdhdeg.js → helpers-DHjAEaU9.js} +45 -1
  161. package/dist/cjs/{index-C74Q3t6a.js → index-B-R-H1Z2.js} +7 -8
  162. package/dist/cjs/{index-DtvKGwdh.js → index-BLq7TkUV.js} +2 -2
  163. package/dist/cjs/{index-CQfEIyLK.js → index-D_D542p0.js} +4 -4
  164. package/dist/cjs/{index-DFNrCX7M.js → index-Da83wbmS.js} +8 -9
  165. package/dist/cjs/{index-KiSZqhYS.js → index-MdIUU940.js} +1 -1
  166. package/dist/cjs/{index-DXoo08JC.js → index-T36W_eKv.js} +13 -8
  167. package/dist/cjs/index.cjs.js +17 -19
  168. package/dist/cjs/{input-shims-VJIiKBKv.js → input-shims-DYxL0Fdm.js} +16 -17
  169. package/dist/cjs/{input.utils-EHVE2RK_.js → input.utils-B_32Xwga.js} +1 -1
  170. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  171. package/dist/cjs/ion-action-sheet.cjs.entry.js +26 -28
  172. package/dist/cjs/ion-alert.cjs.entry.js +27 -29
  173. package/dist/cjs/ion-app_8.cjs.entry.js +72 -24
  174. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  175. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  176. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  177. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  178. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  179. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  180. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
  181. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  182. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  183. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  184. package/dist/cjs/ion-datetime.cjs.entry.js +7 -9
  185. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  186. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  187. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  188. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  189. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  190. package/dist/cjs/ion-input.cjs.entry.js +12 -16
  191. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  192. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  193. package/dist/cjs/ion-loading.cjs.entry.js +18 -20
  194. package/dist/cjs/ion-menu_3.cjs.entry.js +15 -17
  195. package/dist/cjs/ion-modal.cjs.entry.js +177 -172
  196. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  197. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  198. package/dist/cjs/ion-picker-column.cjs.entry.js +8 -9
  199. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  200. package/dist/cjs/ion-popover.cjs.entry.js +18 -20
  201. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  202. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  203. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  204. package/dist/cjs/ion-refresher_2.cjs.entry.js +8 -9
  205. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -7
  206. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  207. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  208. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  209. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  210. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  211. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  212. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -10
  213. package/dist/cjs/ion-select_3.cjs.entry.js +71 -53
  214. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  215. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  216. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -7
  217. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  218. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  219. package/dist/cjs/ion-textarea.cjs.entry.js +11 -15
  220. package/dist/cjs/ion-toast.cjs.entry.js +49 -51
  221. package/dist/cjs/ion-toggle.cjs.entry.js +6 -7
  222. package/dist/cjs/{ionic-global-CYJNT-2P.js → ionic-global-BWd7usAF.js} +1 -1
  223. package/dist/cjs/ionic.cjs.js +5 -5
  224. package/dist/cjs/{ios.transition-DYGiD6gM.js → ios.transition-6AFNO6uU.js} +4 -5
  225. package/dist/cjs/{item-multiple-inputs-Dv6qrMhm.js → item-multiple-inputs-BaBx_Te8.js} +1 -1
  226. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-BJEm-3HF.js} +5 -3
  227. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-DstMw6u1.js} +1 -1
  228. package/dist/cjs/{keyboard-controller-PtZoN2GS.js → keyboard-controller-DaUNT15d.js} +9 -9
  229. package/dist/cjs/loader.cjs.js +4 -4
  230. package/dist/cjs/{md.transition-CrSkaoz6.js → md.transition-CPq0ckrU.js} +4 -5
  231. package/dist/cjs/{overlays-BR21NUIG.js → overlays-DwMDYc_O.js} +162 -9
  232. package/dist/cjs/{select-option-render-D8ZEjYji.js → select-option-render-Cu-ABBRH.js} +2 -2
  233. package/dist/cjs/{slot-mutation-controller-D6IjSEIh.js → slot-mutation-controller-CtYZdaWI.js} +73 -5
  234. package/dist/cjs/{status-tap-CNP5eD1R.js → status-tap-BUfv_eD4.js} +3 -3
  235. package/dist/cjs/{swipe-back-BYb_nLJe.js → swipe-back-DYKxJU5r.js} +2 -2
  236. package/dist/collection/collection-manifest.json +1 -1
  237. package/dist/collection/components/content/content.js +62 -8
  238. package/dist/collection/components/input/input.ios.css +6 -0
  239. package/dist/collection/components/input/input.js +6 -9
  240. package/dist/collection/components/input/input.md.css +6 -0
  241. package/dist/collection/components/modal/modal.ios.css +12 -1
  242. package/dist/collection/components/modal/modal.js +31 -8
  243. package/dist/collection/components/modal/modal.md.css +12 -1
  244. package/dist/collection/components/modal/safe-area-utils.js +69 -90
  245. package/dist/collection/components/modal/utils.js +7 -0
  246. package/dist/collection/components/select/select.ios.css +1 -1
  247. package/dist/collection/components/select/select.js +67 -38
  248. package/dist/collection/components/select/select.md.css +1 -1
  249. package/dist/collection/components/textarea/textarea.ios.css +15 -1
  250. package/dist/collection/components/textarea/textarea.js +5 -8
  251. package/dist/collection/components/textarea/textarea.md.css +15 -1
  252. package/dist/collection/utils/forms/click-controller.js +70 -0
  253. package/dist/collection/utils/forms/index.js +1 -0
  254. package/dist/collection/utils/helpers.js +39 -0
  255. package/dist/collection/utils/overlays.js +34 -0
  256. package/dist/docs.json +9 -3
  257. package/dist/esm/{animation-BFNVlYum.js → animation-CAzXJ2I1.js} +2 -2
  258. package/dist/esm/{app-globals-BgX0BGL1.js → app-globals-DGJXnnkm.js} +1 -1
  259. package/dist/esm/{button-active-BfOvDr3b.js → button-active-DyyWVqU3.js} +2 -2
  260. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-C041I3qZ.js} +1 -1
  261. package/dist/esm/{format-DDFE9jM5.js → format-D78cdY12.js} +1 -1
  262. package/dist/esm/{framework-delegate-BwNhx9NR.js → framework-delegate-CUDbUfWS.js} +1 -1
  263. package/dist/esm/{haptic-Cq4UAeka.js → haptic-D3njgGLB.js} +1 -1
  264. package/dist/esm/{helpers-BSmc0nst.js → helpers-BJFnZngp.js} +43 -2
  265. package/dist/esm/{index-DnA_7Bnx.js → index-CdoVp_rZ.js} +4 -4
  266. package/dist/esm/{index-D76bbuoi.js → index-DmnOg_xm.js} +1 -1
  267. package/dist/esm/{index-CJln0gS3.js → index-DoY4e_3F.js} +2 -3
  268. package/dist/esm/{index-C23AVPx9.js → index-Dvqtt_WK.js} +13 -8
  269. package/dist/esm/{index-BuPaALjU.js → index-iurdcGHg.js} +5 -6
  270. package/dist/esm/{index-C1b9CLFg.js → index-obGyiHiO.js} +2 -2
  271. package/dist/esm/index.js +11 -13
  272. package/dist/esm/{input-shims-Dqk-Ou25.js → input-shims-DognYvwv.js} +5 -6
  273. package/dist/esm/{input.utils-rqoH22pW.js → input.utils-C3mVJhji.js} +1 -1
  274. package/dist/esm/ion-accordion_2.entry.js +3 -3
  275. package/dist/esm/ion-action-sheet.entry.js +11 -13
  276. package/dist/esm/ion-alert.entry.js +11 -13
  277. package/dist/esm/ion-app_8.entry.js +72 -24
  278. package/dist/esm/ion-avatar_3.entry.js +2 -2
  279. package/dist/esm/ion-back-button.entry.js +3 -3
  280. package/dist/esm/ion-backdrop.entry.js +2 -2
  281. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  282. package/dist/esm/ion-button_2.entry.js +3 -3
  283. package/dist/esm/ion-card_5.entry.js +3 -3
  284. package/dist/esm/ion-checkbox.entry.js +4 -4
  285. package/dist/esm/ion-chip.entry.js +2 -2
  286. package/dist/esm/ion-col_3.entry.js +2 -2
  287. package/dist/esm/ion-datetime-button.entry.js +4 -4
  288. package/dist/esm/ion-datetime.entry.js +6 -8
  289. package/dist/esm/ion-fab_3.entry.js +3 -3
  290. package/dist/esm/ion-img.entry.js +3 -3
  291. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  292. package/dist/esm/ion-input-otp.entry.js +3 -3
  293. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  294. package/dist/esm/ion-input.entry.js +12 -16
  295. package/dist/esm/ion-item-option_3.entry.js +4 -4
  296. package/dist/esm/ion-item_8.entry.js +3 -3
  297. package/dist/esm/ion-loading.entry.js +7 -9
  298. package/dist/esm/ion-menu_3.entry.js +7 -9
  299. package/dist/esm/ion-modal.entry.js +115 -110
  300. package/dist/esm/ion-nav_2.entry.js +6 -6
  301. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  302. package/dist/esm/ion-picker-column.entry.js +5 -6
  303. package/dist/esm/ion-picker.entry.js +2 -2
  304. package/dist/esm/ion-popover.entry.js +7 -9
  305. package/dist/esm/ion-progress-bar.entry.js +3 -3
  306. package/dist/esm/ion-radio_2.entry.js +4 -4
  307. package/dist/esm/ion-range.entry.js +4 -4
  308. package/dist/esm/ion-refresher_2.entry.js +8 -9
  309. package/dist/esm/ion-reorder_2.entry.js +6 -7
  310. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  311. package/dist/esm/ion-route_4.entry.js +4 -4
  312. package/dist/esm/ion-searchbar.entry.js +3 -3
  313. package/dist/esm/ion-segment-content.entry.js +1 -1
  314. package/dist/esm/ion-segment-view.entry.js +1 -1
  315. package/dist/esm/ion-segment_2.entry.js +3 -3
  316. package/dist/esm/ion-select-modal.entry.js +7 -9
  317. package/dist/esm/ion-select_3.entry.js +66 -48
  318. package/dist/esm/ion-spinner.entry.js +2 -2
  319. package/dist/esm/ion-split-pane.entry.js +2 -2
  320. package/dist/esm/ion-tab-bar_2.entry.js +6 -7
  321. package/dist/esm/ion-tab_2.entry.js +3 -3
  322. package/dist/esm/ion-text.entry.js +2 -2
  323. package/dist/esm/ion-textarea.entry.js +11 -15
  324. package/dist/esm/ion-toast.entry.js +7 -9
  325. package/dist/esm/ion-toggle.entry.js +6 -7
  326. package/dist/esm/{ionic-global-ZXjCXKH0.js → ionic-global-BSaFA7np.js} +1 -1
  327. package/dist/esm/ionic.js +6 -6
  328. package/dist/esm/{ios.transition-CWAgfQ1r.js → ios.transition-ofa92pAl.js} +4 -5
  329. package/dist/esm/{item-multiple-inputs-DZnIiOO_.js → item-multiple-inputs-CffmpUe9.js} +1 -1
  330. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-Cz4hUjuj.js} +1 -1
  331. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-Dsc85bts.js} +5 -3
  332. package/dist/esm/{keyboard-controller-DEwoa1ev.js → keyboard-controller-BLvRgxgP.js} +2 -2
  333. package/dist/esm/loader.js +5 -5
  334. package/dist/esm/{md.transition-ZuqDDdDW.js → md.transition-DnFfqsAv.js} +4 -5
  335. package/dist/esm/{overlays-DKE0DgvE.js → overlays-a_5AhqWk.js} +156 -7
  336. package/dist/esm/{select-option-render-CRP_teb1.js → select-option-render-C_PCwA67.js} +2 -2
  337. package/dist/esm/{slot-mutation-controller-B5NpUZ-N.js → slot-mutation-controller-D7n8Peo2.js} +69 -3
  338. package/dist/esm/{status-tap-Cv9gb3ja.js → status-tap-BsTKKfug.js} +3 -3
  339. package/dist/esm/{swipe-back-B2CmabKY.js → swipe-back-ibFGqXH2.js} +2 -2
  340. package/dist/ionic/index.esm.js +1 -1
  341. package/dist/ionic/ionic.esm.js +1 -1
  342. package/dist/ionic/p-063769cf.entry.js +4 -0
  343. package/dist/ionic/{p-d8c138d9.entry.js → p-097a0cf5.entry.js} +1 -1
  344. package/dist/ionic/{p-ec00fd0d.entry.js → p-0a14a6a3.entry.js} +1 -1
  345. package/dist/ionic/p-0a824cef.entry.js +4 -0
  346. package/dist/ionic/{p-9c5f2691.entry.js → p-12ea6d13.entry.js} +1 -1
  347. package/dist/ionic/p-1c4926e9.entry.js +4 -0
  348. package/dist/ionic/p-1dac4211.entry.js +4 -0
  349. package/dist/ionic/{p-a8ff2489.entry.js → p-23afeeb2.entry.js} +1 -1
  350. package/dist/ionic/{p-ca1b8865.entry.js → p-25abc69d.entry.js} +1 -1
  351. package/dist/ionic/{p-099b7f9f.entry.js → p-26d89234.entry.js} +1 -1
  352. package/dist/ionic/{p-8b80d9f9.entry.js → p-28952272.entry.js} +1 -1
  353. package/dist/ionic/{p-5cc09b40.entry.js → p-29687c0b.entry.js} +1 -1
  354. package/dist/ionic/p-2ecebfd9.entry.js +4 -0
  355. package/dist/ionic/p-302e4d74.entry.js +4 -0
  356. package/dist/ionic/p-38d3e1cb.entry.js +4 -0
  357. package/dist/ionic/p-41254776.entry.js +4 -0
  358. package/dist/ionic/{p-6e386853.entry.js → p-416bec74.entry.js} +1 -1
  359. package/dist/ionic/{p-354d38d3.entry.js → p-41ae57ea.entry.js} +1 -1
  360. package/dist/ionic/{p-7bfeccb3.entry.js → p-4dc3f2b3.entry.js} +1 -1
  361. package/dist/ionic/{p-efc0cf82.entry.js → p-5272e103.entry.js} +1 -1
  362. package/dist/ionic/{p-68cc89a6.entry.js → p-59305088.entry.js} +1 -1
  363. package/dist/ionic/p-5b9b245e.entry.js +4 -0
  364. package/dist/ionic/{p-561af487.entry.js → p-5eadc64e.entry.js} +1 -1
  365. package/dist/ionic/p-5f695204.entry.js +4 -0
  366. package/dist/ionic/{p-38b9375b.entry.js → p-60ca717e.entry.js} +1 -1
  367. package/dist/ionic/{p-4c3e50f8.entry.js → p-63eb4550.entry.js} +1 -1
  368. package/dist/ionic/{p-90f50a65.entry.js → p-689f7a37.entry.js} +1 -1
  369. package/dist/ionic/{p-54cbb0a7.entry.js → p-7da532af.entry.js} +1 -1
  370. package/dist/ionic/{p-271c3640.entry.js → p-84dea138.entry.js} +1 -1
  371. package/dist/ionic/{p-4712a8a9.entry.js → p-88cf4127.entry.js} +1 -1
  372. package/dist/ionic/{p-3bba83ee.entry.js → p-89e04e63.entry.js} +1 -1
  373. package/dist/ionic/{p-dd01be0a.entry.js → p-8af458bf.entry.js} +1 -1
  374. package/dist/ionic/p-8d68604a.entry.js +4 -0
  375. package/dist/ionic/p-B13Uv-FT.js +4 -0
  376. package/dist/ionic/p-B8K6OHqa.js +4 -0
  377. package/dist/ionic/p-BD0v0Sx_.js +4 -0
  378. package/dist/ionic/p-BDs20Dfe.js +4 -0
  379. package/dist/ionic/p-BIj0Lfim.js +4 -0
  380. package/dist/ionic/p-BRZstBYy.js +4 -0
  381. package/dist/ionic/{p-T71k3C35.js → p-BRlwrQ6h.js} +1 -1
  382. package/dist/ionic/{p-DYUjHcuH.js → p-BT0-h-eD.js} +1 -1
  383. package/dist/ionic/p-Ba_yQZdQ.js +4 -0
  384. package/dist/ionic/p-BnMJqJBa.js +4 -0
  385. package/{components/p-6ZLn6K5e.js → dist/ionic/p-BrbwGxm1.js} +1 -1
  386. package/dist/ionic/p-Bu6uWqQM.js +4 -0
  387. package/dist/ionic/p-Bx46Dlpo.js +4 -0
  388. package/dist/ionic/p-C0vJzNM9.js +4 -0
  389. package/dist/ionic/p-C4FdGOym.js +4 -0
  390. package/dist/ionic/p-C5SsTfux.js +4 -0
  391. package/dist/ionic/p-CD77BF32.js +4 -0
  392. package/dist/ionic/p-CESQIy-V.js +4 -0
  393. package/dist/ionic/{p-BaeKWZ-a.js → p-CazJOH5P.js} +1 -1
  394. package/dist/ionic/p-D14knedj.js +4 -0
  395. package/dist/ionic/p-DQcKi6P6.js +4 -0
  396. package/dist/ionic/p-DlvB1Idh.js +4 -0
  397. package/dist/ionic/{p-C23AVPx9.js → p-Dvqtt_WK.js} +1 -1
  398. package/dist/ionic/{p-CJv-wOAd.js → p-NL1pxcde.js} +1 -1
  399. package/dist/ionic/{p-191a651e.entry.js → p-a1d733a3.entry.js} +1 -1
  400. package/dist/ionic/p-a4a2ce90.entry.js +4 -0
  401. package/dist/ionic/p-a6a95175.entry.js +4 -0
  402. package/dist/ionic/p-ac6a1168.entry.js +4 -0
  403. package/dist/ionic/{p-cc4320d3.entry.js → p-bcf18c26.entry.js} +1 -1
  404. package/dist/ionic/p-be8ae1cc.entry.js +4 -0
  405. package/dist/ionic/{p-85599fe3.entry.js → p-c0dd14f4.entry.js} +1 -1
  406. package/dist/ionic/{p-f0fb23c1.entry.js → p-c9952851.entry.js} +1 -1
  407. package/dist/ionic/p-cb893f35.entry.js +4 -0
  408. package/dist/ionic/p-d7fb1d2a.entry.js +4 -0
  409. package/dist/ionic/{p-ee09ac9d.entry.js → p-d8a6ebfd.entry.js} +1 -1
  410. package/dist/ionic/{p-7fbb3319.entry.js → p-dd89474c.entry.js} +1 -1
  411. package/dist/ionic/{p-fe9ed9bd.entry.js → p-df272a41.entry.js} +1 -1
  412. package/dist/ionic/{p-b9b4e85d.entry.js → p-e04a7110.entry.js} +1 -1
  413. package/dist/ionic/{p-D7jHfs0Y.js → p-e0g1fYYm.js} +1 -1
  414. package/dist/ionic/{p-a8df96c8.entry.js → p-e3a98575.entry.js} +1 -1
  415. package/dist/ionic/{p-d6755739.entry.js → p-efa78f73.entry.js} +1 -1
  416. package/dist/ionic/{p-1f24cb24.entry.js → p-f97ef975.entry.js} +1 -1
  417. package/dist/ionic/p-fc3312a4.entry.js +4 -0
  418. package/dist/ionic/{p-5d9094ac.entry.js → p-fd220f9c.entry.js} +1 -1
  419. package/dist/ionic/p-g9SK-dv1.js +4 -0
  420. package/dist/ionic/p-yYEBg4iw.js +4 -0
  421. package/dist/ionic/{p-BMPN55of.js → p-yiP8rgDC.js} +1 -1
  422. package/dist/types/components/content/content.d.ts +28 -3
  423. package/dist/types/components/input/input.d.ts +1 -0
  424. package/dist/types/components/modal/modal.d.ts +9 -1
  425. package/dist/types/components/modal/safe-area-utils.d.ts +28 -14
  426. package/dist/types/components/modal/utils.d.ts +4 -0
  427. package/dist/types/components/select/select.d.ts +11 -0
  428. package/dist/types/components/textarea/textarea.d.ts +1 -0
  429. package/dist/types/components.d.ts +1 -1
  430. package/dist/types/stencil-public-runtime.d.ts +61 -55
  431. package/dist/types/utils/forms/click-controller.d.ts +36 -0
  432. package/dist/types/utils/forms/index.d.ts +1 -0
  433. package/dist/types/utils/helpers.d.ts +17 -0
  434. package/dist/types/utils/overlays.d.ts +15 -0
  435. package/hydrate/index.js +454 -194
  436. package/hydrate/index.mjs +454 -194
  437. package/package.json +1 -1
  438. package/components/p-BNIsryb2.js +0 -4
  439. package/components/p-BU8a2IhR.js +0 -4
  440. package/components/p-BWoa-cki.js +0 -4
  441. package/components/p-BgkOsq-d.js +0 -4
  442. package/components/p-C09TXohi.js +0 -4
  443. package/components/p-CG_zZq_I.js +0 -4
  444. package/components/p-CWAks_S_.js +0 -4
  445. package/components/p-CWuIRJQN.js +0 -4
  446. package/components/p-CrAKlX71.js +0 -4
  447. package/components/p-Cw6WocLJ.js +0 -4
  448. package/components/p-DhNuxvJH.js +0 -4
  449. package/components/p-DiuOa1vw.js +0 -4
  450. package/components/p-M34T2gyX.js +0 -4
  451. package/dist/cjs/hardware-back-button-Bu4Dzw8l.js +0 -121
  452. package/dist/cjs/index-DkNv4J_i.js +0 -10
  453. package/dist/esm/hardware-back-button-DmkiRgOT.js +0 -115
  454. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  455. package/dist/ionic/p-171a2278.entry.js +0 -4
  456. package/dist/ionic/p-2ea4bb36.entry.js +0 -4
  457. package/dist/ionic/p-338a02e0.entry.js +0 -4
  458. package/dist/ionic/p-3e01c744.entry.js +0 -4
  459. package/dist/ionic/p-458715a9.entry.js +0 -4
  460. package/dist/ionic/p-5906ea6f.entry.js +0 -4
  461. package/dist/ionic/p-612ea3b1.entry.js +0 -4
  462. package/dist/ionic/p-77c96e08.entry.js +0 -4
  463. package/dist/ionic/p-7e394cc3.entry.js +0 -4
  464. package/dist/ionic/p-803059b6.entry.js +0 -4
  465. package/dist/ionic/p-9595e305.entry.js +0 -4
  466. package/dist/ionic/p-9ee9c5b6.entry.js +0 -4
  467. package/dist/ionic/p-BY6BzzPF.js +0 -4
  468. package/dist/ionic/p-Bd72UYI2.js +0 -4
  469. package/dist/ionic/p-BgOvhHy_.js +0 -4
  470. package/dist/ionic/p-BhamHSw3.js +0 -4
  471. package/dist/ionic/p-BijjLYjT.js +0 -4
  472. package/dist/ionic/p-C8XilMh0.js +0 -4
  473. package/dist/ionic/p-CER8qW8Y.js +0 -4
  474. package/dist/ionic/p-CFuOr1Tu.js +0 -4
  475. package/dist/ionic/p-CIGNaXM1.js +0 -4
  476. package/dist/ionic/p-CMZYmFb4.js +0 -4
  477. package/dist/ionic/p-CkxVYPtX.js +0 -4
  478. package/dist/ionic/p-CmXuiRT6.js +0 -4
  479. package/dist/ionic/p-D5t_-oMk.js +0 -4
  480. package/dist/ionic/p-D6rHcCvc.js +0 -4
  481. package/dist/ionic/p-DLM95R4x.js +0 -4
  482. package/dist/ionic/p-D_gb-kdd.js +0 -4
  483. package/dist/ionic/p-DajLgJ4d.js +0 -4
  484. package/dist/ionic/p-Do3zTvCA.js +0 -4
  485. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  486. package/dist/ionic/p-aff52029.entry.js +0 -4
  487. package/dist/ionic/p-b3532b8d.entry.js +0 -4
  488. package/dist/ionic/p-d526798a.entry.js +0 -4
  489. package/dist/ionic/p-e7f4b1e0.entry.js +0 -4
  490. package/dist/ionic/p-f83b3e0c.entry.js +0 -4
  491. package/dist/ionic/p-fa50d493.entry.js +0 -4
  492. package/dist/ionic/p-zWf7R2xV.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{r as t,j as i,h as e,d as s,g as o,c as a}from"./p-C23AVPx9.js";import{a as n}from"./p-DYUjHcuH.js";import"./p-CFuOr1Tu.js";import"./p-Dojwmvde.js";const h=class{constructor(i){t(this,i),this.active=!1}async componentWillLoad(){this.active&&await this.setActive()}async setActive(){await this.prepareLazyLoaded(),this.active=!0}changeActive(t){t&&this.prepareLazyLoaded().catch((t=>{i("[ion-tab] - Exception in prepareLazyLoaded:",t)}))}prepareLazyLoaded(){return null==this.component?Promise.resolve(void 0):(void 0===this.loadPromise&&(this.loadPromise=n(this.delegate,this.el,this.component,["ion-page"]).catch((t=>{throw this.loadPromise=void 0,t}))),this.loadPromise)}render(){const{tab:t,active:i,component:o}=this;return e(s,{key:"8ecbd7a85d3370ed8ed40561cd8134e71584d6aa",role:"tabpanel","aria-hidden":i?null:"true","aria-labelledby":`tab-button-${t}`,class:{"ion-page":void 0===o,"tab-hidden":!i}},e("slot",{key:"8d6326d75812888e33fd09665b7e588e1e270df1"}))}get el(){return o(this)}static get watchers(){return{active:[{changeActive:0}]}}};h.style=":host(.tab-hidden){display:none !important}";const r=class{constructor(i){t(this,i),this.ionNavWillLoad=a(this,"ionNavWillLoad",7),this.ionTabsWillChange=a(this,"ionTabsWillChange",3),this.ionTabsDidChange=a(this,"ionTabsDidChange",3),this.transitioning=!1,this.useRouter=!1,this.onTabClicked=t=>{const{href:i,tab:e}=t.detail;if(this.useRouter&&void 0!==i){const t=document.querySelector("ion-router");t&&t.push(i)}else this.select(e)}}async componentWillLoad(){if(this.useRouter||(this.useRouter=!(!this.el.querySelector("ion-router-outlet")&&!document.querySelector("ion-router")||this.el.closest("[no-router]"))),!this.useRouter){const t=this.tabs;t.length>0&&await this.select(t[0])}this.ionNavWillLoad.emit()}componentDidLoad(){this.updateTabBar()}componentDidUpdate(){this.updateTabBar()}updateTabBar(){const t=this.el.querySelector("ion-tab-bar");if(!t)return;const i=this.selectedTab?this.selectedTab.tab:void 0;void 0!==i&&t.selectedTab!==i&&(t.selectedTab=i)}async select(t){const i=d(this.tabs,t);return!!this.shouldSwitch(i)&&(await this.setActive(i),await this.notifyRouter(),this.tabSwitch(),!0)}async getTab(t){return d(this.tabs,t)}getSelected(){return Promise.resolve(this.selectedTab?this.selectedTab.tab:void 0)}async setRouteId(t){const i=d(this.tabs,t);return this.shouldSwitch(i)?(await this.setActive(i),{changed:!0,element:this.selectedTab,markVisible:()=>this.tabSwitch()}):{changed:!1,element:this.selectedTab}}async getRouteId(){const t=this.selectedTab?.tab;return void 0!==t?{id:t,element:this.selectedTab}:void 0}setActive(t){return this.transitioning?Promise.reject("transitioning already happening"):(this.transitioning=!0,this.leavingTab=this.selectedTab,this.selectedTab=t,this.ionTabsWillChange.emit({tab:t.tab}),t.active=!0,this.updateTabBar(),Promise.resolve())}tabSwitch(){const t=this.selectedTab,i=this.leavingTab;this.leavingTab=void 0,this.transitioning=!1,t&&i!==t&&(i&&(i.active=!1),this.ionTabsDidChange.emit({tab:t.tab}))}notifyRouter(){if(this.useRouter){const t=document.querySelector("ion-router");if(t)return t.navChanged("forward")}return Promise.resolve(!1)}shouldSwitch(t){return void 0!==t&&t!==this.selectedTab&&!this.transitioning}get tabs(){return Array.from(this.el.querySelectorAll("ion-tab"))}render(){return e(s,{key:"7b8c6455e0673e343d0c759ed85e0d9970de3bb8",onIonTabButtonClick:this.onTabClicked},e("slot",{key:"7d0d840ae03312ca22bcb694ffca738d6648218e",name:"top"}),e("div",{key:"f336d903800af34af0d36adfc94223b940111e6a",class:"tabs-inner"},e("slot",{key:"14656154959a24ae176eff20f6463043180d2eae"})),e("slot",{key:"2be4d114f058d24b0e70fb12cfb0eccd3d6e6a74",name:"bottom"}))}get el(){return o(this)}},d=(t,e)=>{const s="string"==typeof e?t.find((t=>t.tab===e)):e;return s||i(`[ion-tabs] - Tab with id: "${s}" does not exist`),s};r.style=":host{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;contain:layout size style;z-index:0}.tabs-inner{position:relative;-ms-flex:1;flex:1;contain:layout size style}";export{h as ion_tab,r as ion_tabs}
4
+ import{r as t,j as i,h as e,d as s,g as o,c as a}from"./p-Dvqtt_WK.js";import{a as n}from"./p-BT0-h-eD.js";import"./p-B13Uv-FT.js";import"./p-Dojwmvde.js";const h=class{constructor(i){t(this,i),this.active=!1}async componentWillLoad(){this.active&&await this.setActive()}async setActive(){await this.prepareLazyLoaded(),this.active=!0}changeActive(t){t&&this.prepareLazyLoaded().catch((t=>{i("[ion-tab] - Exception in prepareLazyLoaded:",t)}))}prepareLazyLoaded(){return null==this.component?Promise.resolve(void 0):(void 0===this.loadPromise&&(this.loadPromise=n(this.delegate,this.el,this.component,["ion-page"]).catch((t=>{throw this.loadPromise=void 0,t}))),this.loadPromise)}render(){const{tab:t,active:i,component:o}=this;return e(s,{key:"8ecbd7a85d3370ed8ed40561cd8134e71584d6aa",role:"tabpanel","aria-hidden":i?null:"true","aria-labelledby":`tab-button-${t}`,class:{"ion-page":void 0===o,"tab-hidden":!i}},e("slot",{key:"8d6326d75812888e33fd09665b7e588e1e270df1"}))}get el(){return o(this)}static get watchers(){return{active:[{changeActive:0}]}}};h.style=":host(.tab-hidden){display:none !important}";const r=class{constructor(i){t(this,i),this.ionNavWillLoad=a(this,"ionNavWillLoad",7),this.ionTabsWillChange=a(this,"ionTabsWillChange",3),this.ionTabsDidChange=a(this,"ionTabsDidChange",3),this.transitioning=!1,this.useRouter=!1,this.onTabClicked=t=>{const{href:i,tab:e}=t.detail;if(this.useRouter&&void 0!==i){const t=document.querySelector("ion-router");t&&t.push(i)}else this.select(e)}}async componentWillLoad(){if(this.useRouter||(this.useRouter=!(!this.el.querySelector("ion-router-outlet")&&!document.querySelector("ion-router")||this.el.closest("[no-router]"))),!this.useRouter){const t=this.tabs;t.length>0&&await this.select(t[0])}this.ionNavWillLoad.emit()}componentDidLoad(){this.updateTabBar()}componentDidUpdate(){this.updateTabBar()}updateTabBar(){const t=this.el.querySelector("ion-tab-bar");if(!t)return;const i=this.selectedTab?this.selectedTab.tab:void 0;void 0!==i&&t.selectedTab!==i&&(t.selectedTab=i)}async select(t){const i=d(this.tabs,t);return!!this.shouldSwitch(i)&&(await this.setActive(i),await this.notifyRouter(),this.tabSwitch(),!0)}async getTab(t){return d(this.tabs,t)}getSelected(){return Promise.resolve(this.selectedTab?this.selectedTab.tab:void 0)}async setRouteId(t){const i=d(this.tabs,t);return this.shouldSwitch(i)?(await this.setActive(i),{changed:!0,element:this.selectedTab,markVisible:()=>this.tabSwitch()}):{changed:!1,element:this.selectedTab}}async getRouteId(){const t=this.selectedTab?.tab;return void 0!==t?{id:t,element:this.selectedTab}:void 0}setActive(t){return this.transitioning?Promise.reject("transitioning already happening"):(this.transitioning=!0,this.leavingTab=this.selectedTab,this.selectedTab=t,this.ionTabsWillChange.emit({tab:t.tab}),t.active=!0,this.updateTabBar(),Promise.resolve())}tabSwitch(){const t=this.selectedTab,i=this.leavingTab;this.leavingTab=void 0,this.transitioning=!1,t&&i!==t&&(i&&(i.active=!1),this.ionTabsDidChange.emit({tab:t.tab}))}notifyRouter(){if(this.useRouter){const t=document.querySelector("ion-router");if(t)return t.navChanged("forward")}return Promise.resolve(!1)}shouldSwitch(t){return void 0!==t&&t!==this.selectedTab&&!this.transitioning}get tabs(){return Array.from(this.el.querySelectorAll("ion-tab"))}render(){return e(s,{key:"7b8c6455e0673e343d0c759ed85e0d9970de3bb8",onIonTabButtonClick:this.onTabClicked},e("slot",{key:"7d0d840ae03312ca22bcb694ffca738d6648218e",name:"top"}),e("div",{key:"f336d903800af34af0d36adfc94223b940111e6a",class:"tabs-inner"},e("slot",{key:"14656154959a24ae176eff20f6463043180d2eae"})),e("slot",{key:"2be4d114f058d24b0e70fb12cfb0eccd3d6e6a74",name:"bottom"}))}get el(){return o(this)}},d=(t,e)=>{const s="string"==typeof e?t.find((t=>t.tab===e)):e;return s||i(`[ion-tabs] - Tab with id: "${s}" does not exist`),s};r.style=":host{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;contain:layout size style;z-index:0}.tabs-inner{position:relative;-ms-flex:1;flex:1;contain:layout size style}";export{h as ion_tab,r as ion_tabs}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{w as t,p as n,c as e,g as o,n as i,f as a,m as s}from"./p-B13Uv-FT.js";import{e as r,j as d,f as c}from"./p-Dvqtt_WK.js";import{b as l}from"./p-D14knedj.js";import{C as u}from"./p-BT0-h-eD.js";import{B as m}from"./p-B_gJaBk0.js";const p=()=>r.get("experimentalCloseWatcher",!1)&&void 0!==t&&"CloseWatcher"in t,f=99;var h=Object.freeze({__proto__:null,MENU_BACK_BUTTON_PRIORITY:99,OVERLAY_BACK_BUTTON_PRIORITY:100,blockHardwareBackButton:()=>{document.addEventListener("backbutton",(()=>{}))},shouldUseCloseWatcher:p,startHardwareBackButton:()=>{const n=document;let e=!1;const o=()=>{if(e)return;let t=0,o=[];const i=new CustomEvent("ionBackButton",{bubbles:!1,detail:{register(n,e){o.push({priority:n,handler:e,id:t++})}}});n.dispatchEvent(i);const a=()=>{if(o.length>0){let t={priority:Number.MIN_SAFE_INTEGER,handler:()=>{},id:-1};o.forEach((n=>{n.priority>=t.priority&&(t=n)})),e=!0,o=o.filter((n=>n.id!==t.id)),(async t=>{try{if(t?.handler){const n=t.handler(a);null!=n&&await n}}catch(t){d("[ion-app] - Exception in startHardwareBackButton:",t)}})(t).then((()=>e=!1))}};a()};if(p()){let n;const e=()=>{n?.destroy(),n=new t.CloseWatcher,n.onclose=()=>{o(),e()}};e()}else n.addEventListener("backbutton",o)}});const v='[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-checkbox:not([tabindex^="-"]):not([hidden]):not([disabled]), ion-radio:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])',b=(t,n)=>{const e=t.querySelector(v);y(e,n??t)},w=(t,n)=>{const e=Array.from(t.querySelectorAll(v));y(e.length>0?e[e.length-1]:null,n??t)},y=(t,e)=>{let o=t;const i=t?.shadowRoot;if(i&&(o=i.querySelector(v)||t),o){const t=o.closest("ion-radio-group");t?t.setFocus():n(o)}else e.focus()};let g=0,k=0;const B=new WeakMap,x=t=>"ION-TOAST"!==t.tagName&&!1!==t.focusTrap&&(t=>!1!==t.showBackdrop&&!((t.backdropBreakpoint??0)>0))(t),T=t=>({create:n=>E(t,n),dismiss:(n,e,o)=>R(document,n,e,t,o),getTop:async()=>U(document,t)}),O=T("ion-alert"),_=T("ion-action-sheet"),C=T("ion-loading"),j=T("ion-modal"),A=T("ion-popover"),I=T("ion-toast"),D=t=>{"undefined"!=typeof document&&M(document);const n=g++;t.overlayIndex=n},N=t=>(t.hasAttribute("id")||(t.id="ion-overlay-"+ ++k),t.id),E=(t,n)=>"undefined"!=typeof window&&void 0!==window.customElements?window.customElements.whenDefined(t).then((()=>{const o=document.createElement(t);return o.classList.add("overlay-hidden"),Object.assign(o,{...n,hasController:!0}),q(document).appendChild(o),new Promise((t=>e(o,t)))})):Promise.resolve(),P=(t,e)=>{let o=t;const i=t?.shadowRoot;i&&(o=i.querySelector(v)||t),o?n(o):e.focus()},M=t=>{0===g&&(g=1,t.addEventListener("focus",(n=>{((t,n)=>{const e=U(n,"ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover"),i=t.target;e&&i&&(e.classList.contains(dt)||(e.shadowRoot?(()=>{if(e.contains(i))e.lastFocus=i;else if("ION-TOAST"===i.tagName)P(e.lastFocus,e);else{const t=e.lastFocus;b(e),t===n.activeElement&&w(e),e.lastFocus=n.activeElement}})():(()=>{if(e===i)e.lastFocus=void 0;else if("ION-TOAST"===i.tagName)P(e.lastFocus,e);else{const t=o(e);if(!t.contains(i))return;const a=t.querySelector(".ion-overlay-wrapper");if(!a)return;if(a.contains(i)||i===t.querySelector("ion-backdrop"))e.lastFocus=i;else{const t=e.lastFocus;b(a,e),t===n.activeElement&&w(a,e),e.lastFocus=n.activeElement}}})()))})(n,t)}),!0),t.addEventListener("ionBackButton",(n=>{const e=U(t);e?.backdropDismiss&&n.detail.register(100,(()=>{e.dismiss(void 0,ot)}))})),p()||t.addEventListener("keydown",(n=>{if("Escape"===n.key){const n=U(t);n?.backdropDismiss&&n.dismiss(void 0,ot)}})))},R=(t,n,e,o,i)=>{const a=U(t,o,i);return a?a.dismiss(n,e):Promise.reject("overlay does not exist")},S=(t,n)=>((t,n)=>(void 0===n&&(n="ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-popover,ion-toast"),Array.from(t.querySelectorAll(n)).filter((t=>t.overlayIndex>0))))(t,n).filter((t=>!t.classList.contains("overlay-hidden"))),U=(t,n,e)=>{const o=S(t,n);return(void 0===e?o:o.filter((t=>t.id===e))).slice(-1)[0]},W=()=>q(document).querySelector("ion-router-outlet, #ion-view-container-root"),F=(t=!1)=>{const n=W();n&&(t?n.setAttribute("aria-hidden","true"):n.removeAttribute("aria-hidden"))},H=()=>{"undefined"!=typeof document&&(S(document).some((t=>x(t)))||(F(!1),document.body.classList.remove(m)))},K=t=>{W()?.contains(t)||F(!0),document.body.classList.add(m)},L=t=>{if("undefined"==typeof document)return;const n=t;x(n)&&K(n)},V=async(t,n,e,i,a)=>{if(t.presented)return;"ION-TOAST"!==t.el.tagName&&Y(t.el);const s=t.el,d=x(s);t.presented=!0,t.willPresent.emit(),d&&K(s),t.willPresentShorthand?.emit();const c=l(t),u=t.enterAnimation?t.enterAnimation:r.get(n,"ios"===c?e:i);if(await G(t,u,t.el,a)&&(t.didPresent.emit(),t.didPresentShorthand?.emit()),t.keyboardClose&&(null===document.activeElement||!t.el.contains(document.activeElement))){const n=o(t.el).querySelector('[role="dialog"][tabindex]')??t.el;try{n.focus({preventScroll:!0})}catch{n.focus()}}t.el.removeAttribute("aria-hidden"),t.el.removeAttribute("inert")},Y=async t=>{let n=document.activeElement;if(!n)return;n.blur();const e=n?.shadowRoot;e&&(n=e.querySelector(v)||n),await t.onDidDismiss(),null!==document.activeElement&&document.activeElement!==document.body||n.focus()},$=async(t,n,e,o,a,s,c)=>{if(!t.presented)return!1;const u=(void 0!==i?S(i):[]).filter((t=>x(t))),p=t.el;x(p)&&1===u.length&&u[0].id===p.id&&(F(!1),document.body.classList.remove(m)),t.presented=!1;try{t.el.style.setProperty("pointer-events","none"),t.willDismiss.emit({data:n,role:e}),t.willDismissShorthand?.emit({data:n,role:e});const i=l(t),d=t.leaveAnimation?t.leaveAnimation:r.get(o,"ios"===i?a:s);e!==it&&await G(t,d,t.el,c),t.didDismiss.emit({data:n,role:e}),t.didDismissShorthand?.emit({data:n,role:e}),(B.get(t)||[]).forEach((t=>t.destroy())),B.delete(t),t.el.classList.add("overlay-hidden"),t.el.style.removeProperty("pointer-events"),void 0!==t.el.lastFocus&&(t.el.lastFocus=void 0)}catch(n){d(`[${t.el.tagName.toLowerCase()}] - `,n)}return t.el.remove(),!0},q=t=>t.querySelector("ion-app")||t.body,G=async(t,n,e,o)=>{e.classList.remove("overlay-hidden");const i=n(t.el,o);t.animated&&r.getBoolean("animated",!0)||i.duration(0),t.keyboardClose&&i.beforeAddWrite((()=>{const t=e.ownerDocument.activeElement;t?.matches("input,ion-input, ion-textarea")&&t.blur()}));const a=B.get(t)||[];return B.set(t,[...a,i]),await i.play(),!0},z=(t,n)=>{let e;const o=new Promise((t=>e=t));return J(t,n,(t=>{e(t.detail)})),o},J=(t,n,e)=>{const o=i=>{s(t,n,o),e(i)};a(t,n,o)},Q=t=>"cancel"===t||t===ot,X=t=>t(),Z=(t,n)=>{if("function"==typeof t)return r.get("_zoneGate",X)((()=>{try{return t(n)}catch(t){throw t}}))},tt=["","100%","100vw","100vh","100dvw","100dvh","100svw","100svh"],nt=["auto","fit-content","min-content","max-content"],et=t=>{const n=t.trim().toLowerCase();return tt.includes(n)?"fullscreen":nt.some((t=>n.endsWith(t)))?"content":"definite"},ot="backdrop",it="gesture",at=39,st=t=>{let n,e=!1;const o=u(),i=(i=!1)=>{if(n&&!i)return{delegate:n,inline:e};const{el:a,hasController:s,delegate:r}=t;return e=null!==a.parentNode&&!s,n=e?r||o:r,{inline:e,delegate:n}};return{attachViewToDom:async n=>{const{delegate:e}=i(!0);if(e)return await e.attachViewToDom(t.el,n);const{hasController:o}=t;if(o&&void 0!==n)throw new Error("framework delegate is missing");return null},removeViewFromDom:()=>{const{delegate:n}=i();n&&void 0!==t.el&&n.removeViewFromDom(t.el.parentElement,t.el)}}},rt=()=>{let t;const n=()=>{t&&(t(),t=void 0)};return{addClickListener:(e,o)=>{n();const i=void 0!==o?document.getElementById(o):null;i?t=((t,n)=>{const e=()=>{n.present()};return t.addEventListener("click",e),()=>{t.removeEventListener("click",e)}})(i,e):c(`[${e.tagName.toLowerCase()}] - A trigger element with the ID "${o}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`,e)},removeClickListener:n}},dt="ion-disable-focus-trap";export{ot as B,dt as F,it as G,f as M,at as O,O as a,_ as b,st as c,rt as d,V as e,$ as f,z as g,D as h,Q as i,H as j,N as k,C as l,j as m,et as n,b as o,A as p,U as q,L as r,Z as s,I as t,w as u,p as v,h as w}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{c as t}from"./p-BDs20Dfe.js";import{g as o}from"./p-Ba_yQZdQ.js";import"./p-Dvqtt_WK.js";import"./p-B13Uv-FT.js";import"./p-Dojwmvde.js";const r=(r,i)=>{const s="40px",a="back"===i.direction,p=i.leavingEl,e=o(i.enteringEl),n=e.querySelector("ion-toolbar"),c=t();if(c.addElement(e).fill("both").beforeRemoveClass("ion-page-invisible"),a?c.duration((i.duration??0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)"):c.duration((i.duration??0)||280).easing("cubic-bezier(0.36,0.66,0.04,1)").fromTo("transform",`translateY(${s})`,"translateY(0px)").fromTo("opacity",.01,1),n){const o=t();o.addElement(n),c.addAnimation(o)}if(p&&a){c.duration((i.duration??0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)");const r=t();r.addElement(o(p)).onFinish((t=>{1===t&&r.elements.length>0&&r.elements[0].style.setProperty("display","none")})).fromTo("transform","translateY(0px)",`translateY(${s})`).fromTo("opacity",1,0),c.addAnimation(r)}return c};export{r as mdTransitionAnimation}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{g as o}from"./p-CIGNaXM1.js";var n,t;!function(o){o.Unimplemented="UNIMPLEMENTED",o.Unavailable="UNAVAILABLE"}(n||(n={})),function(o){o.Body="body",o.Ionic="ionic",o.Native="native",o.None="none"}(t||(t={}));const e={getEngine(){const n=o();if(n?.isPluginAvailable("Keyboard"))return n.Plugins.Keyboard},getResizeMode(){const o=this.getEngine();return o?.getResizeMode?o.getResizeMode().catch((o=>{if(o.code!==n.Unimplemented)throw o})):Promise.resolve(void 0)}};export{e as K,t as a}
4
+ import{g as o}from"./p-DQcKi6P6.js";var n,i;!function(o){o.Unimplemented="UNIMPLEMENTED",o.Unavailable="UNAVAILABLE"}(n||(n={})),function(o){o.Body="body",o.Ionic="ionic",o.Native="native",o.None="none"}(i||(i={}));const t={getEngine(){const n=o();if(n?.isPluginAvailable("Keyboard"))return n.Plugins.Keyboard},getResizeMode(){const o=this.getEngine();return o?.getResizeMode?o.getResizeMode().catch((o=>{if(o.code!==n.Unimplemented)throw o})):Promise.resolve(void 0)}};export{t as K,i as a}
@@ -25,6 +25,10 @@ export declare class Content implements ComponentInterface {
25
25
  private tabsLoadCallback?;
26
26
  private detail;
27
27
  el: HTMLIonContentElement;
28
+ /**
29
+ * Whether the host is sized to its content.
30
+ */
31
+ sizeToContent: boolean;
28
32
  /**
29
33
  * The color to use from your application's color palette.
30
34
  * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
@@ -92,6 +96,12 @@ export declare class Content implements ComponentInterface {
92
96
  * the host's own height, which would feed back into the observer.
93
97
  */
94
98
  private setupFullscreenResizeObserver;
99
+ /**
100
+ * Picks up an overlay that is no longer sized the way the last render
101
+ * assumed, re-rendering only when the answer changes. Read in a `readTask`
102
+ * because resolving the custom property forces a style recalculation.
103
+ */
104
+ private updateSizeToContent;
95
105
  private destroyFullscreenResizeObserver;
96
106
  /**
97
107
  * Rotating certain devices can update
@@ -112,11 +122,26 @@ export declare class Content implements ComponentInterface {
112
122
  */
113
123
  onResize(): void;
114
124
  private shouldForceOverscroll;
125
+ /**
126
+ * Reads whether to size the component to its content height. Forces a style
127
+ * recalculation, so it belongs in a read task or before the first render.
128
+ *
129
+ * This applies inside popovers and modals with a content-based `--height`,
130
+ * where the overlay does not provide the content with a definite height
131
+ * to fill.
132
+ *
133
+ * Only `--height` is consulted. Styling the wrapper directly, such as
134
+ * `ion-modal::part(content) { height: fit-content; }`, does not change
135
+ * `--height` and therefore cannot be observed. `--height` is the only
136
+ * supported way to opt into content-based sizing.
137
+ */
138
+ private readSizeToContent;
115
139
  private resize;
116
140
  /**
117
- * Recalculate content dimensions. Called by overlays (e.g., popover) when
118
- * sibling elements like headers or footers have finished rendering and their
119
- * heights are available, ensuring accurate offset-top calculations.
141
+ * Recalculates the content dimensions and whether it should size itself to
142
+ * its content. Called by overlays when something they own changes, such as
143
+ * a header finishing its render or `--height` being updated.
144
+ *
120
145
  * @internal
121
146
  */
122
147
  recalculateDimensions(): Promise<void>;
@@ -21,6 +21,7 @@ export declare class Input implements ComponentInterface {
21
21
  private notchSpacerEl;
22
22
  private startContainerController?;
23
23
  private startContainerEl;
24
+ private clickController?;
24
25
  private originalIonInput?;
25
26
  /**
26
27
  * `true` if the input was cleared as a result of the user typing
@@ -41,6 +41,7 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
41
41
  private viewTransitionAnimation?;
42
42
  private resizeTimeout?;
43
43
  private unsubscribeRootSafeAreaTop?;
44
+ private unsubscribeHeightChange?;
44
45
  private isPresenting;
45
46
  private parentRemovalObserver?;
46
47
  private cachedOriginalParent?;
@@ -393,12 +394,19 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
393
394
  /**
394
395
  * Creates the context object for safe-area utilities.
395
396
  *
396
- * `hasCustomDimensions` is only set by `setInitialSafeAreaOverrides()`
397
+ * `coveredAxes` is only set by `setInitialSafeAreaOverrides()`
397
398
  * because it is only read by `getInitialSafeAreaConfig()`. Other callers
398
399
  * (resize handler, post-animation update, fullscreen-padding apply) would
399
400
  * pay a `getComputedStyle()` cost for a value they never consult.
400
401
  */
401
402
  private getSafeAreaContext;
403
+ /**
404
+ * Keeps the content's sizing in sync with `--height`. The content reads the
405
+ * property to determine whether it should size itself to its content, and
406
+ * changes to `--height` on an ancestor or the root can change that behavior
407
+ * without changing the modal itself.
408
+ */
409
+ private watchHeightForContent;
402
410
  /**
403
411
  * Sets initial safe-area overrides before modal animation.
404
412
  * Called in present() before animation starts.
@@ -9,6 +9,16 @@ export interface SafeAreaConfig {
9
9
  left: SafeAreaValue;
10
10
  right: SafeAreaValue;
11
11
  }
12
+ /**
13
+ * Indicates whether the modal spans the viewport on each axis.
14
+ *
15
+ * `vertical` means the modal reaches both the top and bottom edges.
16
+ * `horizontal` means the modal reaches both the left and right edges.
17
+ */
18
+ export interface ModalCoveredAxes {
19
+ vertical: boolean;
20
+ horizontal: boolean;
21
+ }
12
22
  /**
13
23
  * Context information about the modal used to determine safe-area behavior.
14
24
  */
@@ -19,10 +29,11 @@ export interface ModalSafeAreaContext {
19
29
  breakpoints?: number[];
20
30
  currentBreakpoint?: number;
21
31
  /**
22
- * Only consulted by `getInitialSafeAreaConfig()`. Callers that only use the
23
- * context for non-initial paths can omit this. See `hasCustomModalDimensions()`.
32
+ * Only used by `getInitialSafeAreaConfig()` to predict safe-area
33
+ * requirements before the modal is presented. Callers that only use
34
+ * the context for non-initial paths can omit this.
24
35
  */
25
- hasCustomDimensions?: boolean;
36
+ coveredAxes?: ModalCoveredAxes;
26
37
  }
27
38
  /**
28
39
  * Resolves the current root --ion-safe-area-top value to pixels.
@@ -34,22 +45,25 @@ export interface ModalSafeAreaContext {
34
45
  */
35
46
  export declare const getRootSafeAreaTop: () => number;
36
47
  /**
37
- * Calls back when the resolved root `--ion-safe-area-top` changes, which no
38
- * event and no window resize covers. The probe's height tracks the variable, so
39
- * a change to it becomes a size change the observer can see.
48
+ * Calls back when the resolved root `--ion-safe-area-top` changes. The value
49
+ * the caller already applied is passed as the baseline, so a change between
50
+ * that read and the observer starting is still reported.
40
51
  */
41
52
  export declare const onRootSafeAreaTopChange: (callback: (safeAreaTop: number) => void) => (() => void);
42
53
  /**
43
- * True when the modal host declares BOTH a non-fullscreen `--width` AND a
44
- * non-fullscreen `--height` (i.e. a centered-dialog-like modal that doesn't
45
- * touch any screen edge).
54
+ * Determines which viewport axes the modal spans so safe-area requirements
55
+ * can be predicted independently for each axis.
56
+ *
57
+ * A modal that spans an axis reaches both edges on that axis and needs the
58
+ * corresponding safe-area insets. A modal that does not span an axis reaches
59
+ * neither edge on that axis.
46
60
  *
47
- * The conservative "both axes" check avoids mis-zeroing safe-area for
48
- * partial-custom modals where the modal still touches top/bottom edges
49
- * (e.g. only `--width` overridden). Partial cases fall through to the
50
- * existing position-based post-animation correction.
61
+ * When both `--width` and `--height` are `fullscreen`, coverage can be
62
+ * determined directly. Otherwise, coverage is based on the rendered wrapper,
63
+ * including cases where content sizing or `--max-height` causes the modal
64
+ * to reach the viewport.
51
65
  */
52
- export declare const hasCustomModalDimensions: (hostEl: HTMLElement) => boolean;
66
+ export declare const getModalCoveredAxes: (hostEl: HTMLElement) => ModalCoveredAxes;
53
67
  /**
54
68
  * Returns the initial safe-area configuration based on modal type.
55
69
  * This is called before animation starts and uses configuration-based prediction.
@@ -18,3 +18,7 @@ export declare const getBackdropValueForSheet: (x: number, backdropBreakpoint: n
18
18
  */
19
19
  export declare const setCardStatusBarDark: () => void;
20
20
  export declare const setCardStatusBarDefault: (defaultStyle?: Style) => void;
21
+ /**
22
+ * Calls back when the modal's resolved `--height` changes.
23
+ */
24
+ export declare const onModalHeightChange: (hostEl: HTMLElement, callback: () => void) => (() => void);
@@ -38,6 +38,7 @@ export declare class Select implements ComponentInterface {
38
38
  private startContainerController?;
39
39
  private startContainerEl;
40
40
  private customHTMLEnabled;
41
+ private clickController?;
41
42
  el: HTMLIonSelectElement;
42
43
  isExpanded: boolean;
43
44
  /**
@@ -254,6 +255,16 @@ export declare class Select implements ComponentInterface {
254
255
  private getText;
255
256
  private setFocus;
256
257
  private emitStyle;
258
+ /**
259
+ * The label wrapping the slots has no `for` attribute, so the browser
260
+ * forwards a click on slotted content to the label's first labelable
261
+ * descendant, the internal button. That forwarded click bubbles back out of
262
+ * the shadow root targeting the host, where it would be emitted a second
263
+ * time and open the select. The controller swallows it during the capture
264
+ * phase, leaving the click on the slotted content itself alone so slotted
265
+ * links, checkboxes and buttons keep their default behavior.
266
+ */
267
+ onClickCapture(ev: Event): void;
257
268
  private onClick;
258
269
  private onFocus;
259
270
  private onBlur;
@@ -28,6 +28,7 @@ export declare class Textarea implements ComponentInterface {
28
28
  private notchSpacerEl;
29
29
  private startContainerController?;
30
30
  private startContainerEl;
31
+ private clickController?;
31
32
  /**
32
33
  * The value of the textarea when the textarea is focused.
33
34
  */
@@ -867,7 +867,7 @@ export namespace Components {
867
867
  */
868
868
  "getScrollElement": () => Promise<HTMLElement>;
869
869
  /**
870
- * Recalculate content dimensions. Called by overlays (e.g., popover) when sibling elements like headers or footers have finished rendering and their heights are available, ensuring accurate offset-top calculations.
870
+ * Recalculates the content dimensions and whether it should size itself to its content. Called by overlays when something they own changes, such as a header finishing its render or `--height` being updated.
871
871
  */
872
872
  "recalculateDimensions": () => Promise<void>;
873
873
  /**