@ionic/core 8.8.18 → 8.8.19-dev.11786730389.1a1927bf

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 (786) 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-0Pyit076.js +4 -0
  99. package/components/{p-C_hpsif8.js → p-30_sZS2V.js} +1 -1
  100. package/components/p-83oP9gzn.js +4 -0
  101. package/components/p-8FN7p701.js +4 -0
  102. package/components/p-B-FxiyeI.js +4 -0
  103. package/components/p-B6dUPQXq.js +4 -0
  104. package/components/p-BMPN55of.js +4 -0
  105. package/components/p-BMS4t-kJ.js +4 -0
  106. package/components/p-BO4sUqUv.js +4 -0
  107. package/components/p-BSQPZ79H.js +4 -0
  108. package/components/p-Bc4wROfM.js +4 -0
  109. package/components/p-BhamHSw3.js +4 -0
  110. package/components/{p-D3xo7hqU.js → p-BpG8kBfD.js} +1 -1
  111. package/components/p-BqPNzJf6.js +4 -0
  112. package/components/p-BsVxQGUT.js +4 -0
  113. package/components/p-BxUIQcD9.js +4 -0
  114. package/components/p-C1O9GEug.js +4 -0
  115. package/components/p-C5KYjZWD.js +4 -0
  116. package/components/p-C9BGR5fy.js +4 -0
  117. package/components/p-CD4fmpem.js +4 -0
  118. package/components/p-CEW4RXZO.js +4 -0
  119. package/components/p-CKhiNOEg.js +4 -0
  120. package/components/p-CO2zzh3W.js +4 -0
  121. package/components/p-CVnwvOBD.js +4 -0
  122. package/components/p-CbhUdtjf.js +4 -0
  123. package/components/p-CejmQs3h.js +4 -0
  124. package/components/p-CfnGxjv-.js +4 -0
  125. package/components/p-ClFYbgND.js +4 -0
  126. package/components/p-CmKf4pgI.js +4 -0
  127. package/components/p-Cs5f-uOS.js +4 -0
  128. package/components/p-D7-vHX0A.js +4 -0
  129. package/{dist/ionic/p-DC3RagnA.js → components/p-DIgGHN7D.js} +1 -1
  130. package/components/p-DRfgH82D.js +4 -0
  131. package/components/p-DTY4otpr.js +4 -0
  132. package/components/{p--JUspHvy.js → p-DV85C0e0.js} +1 -1
  133. package/components/p-DVKS-ovH.js +4 -0
  134. package/components/p-DWCzVL3Y.js +4 -0
  135. package/components/p-D_XD0pVT.js +4 -0
  136. package/components/p-Dd8ajo9a.js +4 -0
  137. package/components/p-DdnhY_oj.js +4 -0
  138. package/components/p-Dm7h4Nyv.js +4 -0
  139. package/components/{p-BkKAANMJ.js → p-DwpKZ6rl.js} +1 -1
  140. package/components/p-DyePCNGr.js +4 -0
  141. package/components/p-G0TxqHfe.js +4 -0
  142. package/components/{p-ChIZKXUu.js → p-J-p0EtHR.js} +1 -1
  143. package/components/p-LXu5-6Ti.js +4 -0
  144. package/components/p-MCJ7HjWe.js +4 -0
  145. package/components/p-Obm7si-x.js +4 -0
  146. package/components/p-TXPDHL13.js +4 -0
  147. package/components/p-UuPYCOZE.js +4 -0
  148. package/components/p-WeeS7GvC.js +4 -0
  149. package/components/{p-D7uN07a3.js → p-_0JhwClE.js} +1 -1
  150. package/components/p-_IKFD3ID.js +4 -0
  151. package/components/p-byZM6qHV.js +4 -0
  152. package/components/p-hh7qIC-X.js +4 -0
  153. package/components/p-idq4JFo2.js +4 -0
  154. package/components/{p-DqLB8yFQ.js → p-ryyf_ItD.js} +1 -1
  155. package/components/p-tYCT3JGl.js +4 -0
  156. package/components/p-wzAhIh03.js +4 -0
  157. package/components/p-xOjr4bwc.js +4 -0
  158. package/components/p-yuj4Nkm_.js +4 -0
  159. package/dist/cjs/{animation-Ch16T-Nb.js → animation-C0mOHzej.js} +4 -4
  160. package/dist/cjs/{app-globals-Dd89e0MR.js → app-globals-BREG4twP.js} +1 -1
  161. package/dist/cjs/{button-active-COnxOe4X.js → button-active-BKj1rdFx.js} +3 -3
  162. package/dist/cjs/config-CjUbvdPW.js +36 -0
  163. package/dist/cjs/{dir-Cn0z1rJH.js → dir-Brx7VkvP.js} +1 -1
  164. package/dist/cjs/{format-BUFWn4Bn.js → format-pp0Du3K-.js} +40 -30
  165. package/dist/cjs/{framework-delegate-BgU6U9Ez.js → framework-delegate-NTLQ5YzV.js} +5 -7
  166. package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-BDUH7687.js} +15 -8
  167. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Ch-X4gRx.js} +2 -3
  168. package/dist/cjs/{hardware-back-button-CXmUnTJC.js → hardware-back-button-fqpYh-kd.js} +4 -4
  169. package/dist/cjs/{helpers-gntk8bfm.js → helpers-CaLhEmTE.js} +3 -3
  170. package/dist/cjs/index-B7zJsYWS.js +429 -0
  171. package/dist/cjs/{index-BhhuJ1Yx.js → index-BlshL9ib.js} +2 -2
  172. package/dist/cjs/{index-BS2uhvhT.js → index-Ck9advCT.js} +5 -5
  173. package/dist/cjs/{index-ooS8B4p9.js → index-D2X6b92x.js} +6 -7
  174. package/dist/cjs/{index-BiRrzGDi.js → index-D48vawBq.js} +2 -2
  175. package/dist/cjs/{index-CAvQ7Tka.js → index-P1nQxrpZ.js} +10 -4
  176. package/dist/cjs/{index-BfaXsATC.js → index-uvry__L4.js} +31 -14
  177. package/dist/cjs/{index-DqmRDbxg.js → index-wOmugbdg.js} +1 -1
  178. package/dist/cjs/index.cjs.js +18 -18
  179. package/dist/cjs/{input-shims-Bn1cXfCM.js → input-shims-DvHAFqiP.js} +9 -11
  180. package/dist/cjs/{input.utils-BwhxZooW.js → input.utils-CP4fzrqk.js} +3 -4
  181. package/dist/cjs/ion-accordion_2.cjs.entry.js +368 -340
  182. package/dist/cjs/ion-action-sheet.cjs.entry.js +187 -76
  183. package/dist/cjs/ion-alert.cjs.entry.js +273 -111
  184. package/dist/cjs/ion-app_8.cjs.entry.js +307 -190
  185. package/dist/cjs/ion-avatar_3.cjs.entry.js +10 -4
  186. package/dist/cjs/ion-back-button.cjs.entry.js +47 -23
  187. package/dist/cjs/ion-backdrop.cjs.entry.js +18 -14
  188. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +199 -121
  189. package/dist/cjs/ion-button_2.cjs.entry.js +138 -66
  190. package/dist/cjs/ion-card_5.cjs.entry.js +82 -30
  191. package/dist/cjs/ion-checkbox.cjs.entry.js +152 -101
  192. package/dist/cjs/ion-chip.cjs.entry.js +17 -11
  193. package/dist/cjs/ion-col_3.cjs.entry.js +134 -10
  194. package/dist/cjs/ion-datetime-button.cjs.entry.js +253 -241
  195. package/dist/cjs/ion-datetime.cjs.entry.js +2770 -0
  196. package/dist/cjs/ion-fab_3.cjs.entry.js +139 -81
  197. package/dist/cjs/ion-img.cjs.entry.js +34 -12
  198. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +100 -72
  199. package/dist/cjs/ion-input-otp.cjs.entry.js +433 -370
  200. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +33 -19
  201. package/dist/cjs/ion-input.cjs.entry.js +314 -168
  202. package/dist/cjs/ion-item-option_3.cjs.entry.js +91 -51
  203. package/dist/cjs/ion-item_8.cjs.entry.js +181 -82
  204. package/dist/cjs/ion-loading.cjs.entry.js +146 -60
  205. package/dist/cjs/ion-menu_3.cjs.entry.js +163 -101
  206. package/dist/cjs/ion-modal.cjs.entry.js +455 -261
  207. package/dist/cjs/ion-nav_2.cjs.entry.js +100 -157
  208. package/dist/cjs/ion-picker-column-option.cjs.entry.js +37 -33
  209. package/dist/cjs/ion-picker-column.cjs.entry.js +417 -405
  210. package/dist/cjs/ion-picker.cjs.entry.js +401 -392
  211. package/dist/cjs/ion-popover.cjs.entry.js +319 -205
  212. package/dist/cjs/ion-progress-bar.cjs.entry.js +31 -25
  213. package/dist/cjs/ion-radio_2.cjs.entry.js +206 -133
  214. package/dist/cjs/ion-range.cjs.entry.js +302 -237
  215. package/dist/cjs/ion-refresher_2.cjs.entry.js +165 -93
  216. package/dist/cjs/ion-reorder_2.cjs.entry.js +53 -23
  217. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -14
  218. package/dist/cjs/ion-route_4.cjs.entry.js +175 -71
  219. package/dist/cjs/ion-searchbar.cjs.entry.js +291 -200
  220. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  221. package/dist/cjs/ion-segment-view.cjs.entry.js +28 -17
  222. package/dist/cjs/ion-segment_2.cjs.entry.js +169 -126
  223. package/dist/cjs/ion-select-modal.cjs.entry.js +104 -48
  224. package/dist/cjs/ion-select_3.cjs.entry.js +759 -214
  225. package/dist/cjs/ion-spinner.cjs.entry.js +24 -10
  226. package/dist/cjs/ion-split-pane.cjs.entry.js +29 -16
  227. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +100 -41
  228. package/dist/cjs/ion-tab_2.cjs.entry.js +53 -27
  229. package/dist/cjs/ion-text.cjs.entry.js +11 -5
  230. package/dist/cjs/ion-textarea.cjs.entry.js +263 -144
  231. package/dist/cjs/ion-toast.cjs.entry.js +236 -117
  232. package/dist/cjs/ion-toggle.cjs.entry.js +175 -122
  233. package/dist/cjs/{ionic-global-BerQGEpE.js → ionic-global-k6hOWWpn.js} +13 -8
  234. package/dist/cjs/ionic.cjs.js +4 -4
  235. package/dist/cjs/{ios.transition-IMJRwn29.js → ios.transition-KvuRAe2W.js} +13 -17
  236. package/dist/cjs/{item-multiple-inputs-jOJZE_I0.js → item-multiple-inputs-BdYSbfKN.js} +1 -1
  237. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Cix5TVkD.js} +2 -2
  238. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-cHxZlTyz.js} +2 -2
  239. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-PtZoN2GS.js} +6 -6
  240. package/dist/cjs/loader.cjs.js +4 -4
  241. package/dist/cjs/{md.transition-CgQZxcoT.js → md.transition-Bjl5Ozph.js} +7 -8
  242. package/dist/cjs/{notch-controller-_SwR025y.js → notch-controller-BEUpEgb5.js} +1 -1
  243. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  244. package/dist/cjs/{overlays-DuSEMhIW.js → overlays-IlP4H2Gn.js} +48 -33
  245. package/dist/cjs/select-option-render-pULCGldr.js +123 -0
  246. package/dist/cjs/{status-tap-CSvBT7FV.js → status-tap-BR_ujYHg.js} +3 -3
  247. package/dist/cjs/{swipe-back-CuIiziaa.js → swipe-back-DzQKEl5g.js} +5 -5
  248. package/dist/cjs/{theme-CeDs6Hcv.js → theme-Bw0rpaNN.js} +6 -1
  249. package/dist/collection/collection-manifest.json +6 -10
  250. package/dist/collection/components/accordion/accordion.js +315 -312
  251. package/dist/collection/components/accordion-group/accordion-group.js +48 -25
  252. package/dist/collection/components/action-sheet/action-sheet.ios.css +228 -2
  253. package/dist/collection/components/action-sheet/action-sheet.js +173 -64
  254. package/dist/collection/components/action-sheet/action-sheet.md.css +174 -2
  255. package/dist/collection/components/action-sheet/test/basic/fixture.js +3 -0
  256. package/dist/collection/components/alert/alert.ios.css +279 -10
  257. package/dist/collection/components/alert/alert.js +257 -97
  258. package/dist/collection/components/alert/alert.md.css +268 -20
  259. package/dist/collection/components/app/app.js +3 -0
  260. package/dist/collection/components/back-button/back-button.js +42 -19
  261. package/dist/collection/components/backdrop/backdrop.js +16 -14
  262. package/dist/collection/components/badge/badge.js +6 -0
  263. package/dist/collection/components/breadcrumb/breadcrumb.js +91 -30
  264. package/dist/collection/components/breadcrumbs/breadcrumbs.js +103 -88
  265. package/dist/collection/components/button/button.js +132 -61
  266. package/dist/collection/components/buttons/buttons.js +13 -15
  267. package/dist/collection/components/card/card.js +54 -21
  268. package/dist/collection/components/card-header/card-header.js +12 -8
  269. package/dist/collection/components/card-subtitle/card-subtitle.js +6 -0
  270. package/dist/collection/components/card-title/card-title.js +6 -0
  271. package/dist/collection/components/checkbox/checkbox.js +147 -97
  272. package/dist/collection/components/chip/chip.js +14 -10
  273. package/dist/collection/components/col/col.js +127 -3
  274. package/dist/collection/components/content/content.js +93 -64
  275. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  276. package/dist/collection/components/datetime/datetime.js +1042 -807
  277. package/dist/collection/components/datetime/datetime.md.css +42 -1
  278. package/dist/collection/components/datetime/utils/data.js +13 -14
  279. package/dist/collection/components/datetime/utils/format.js +21 -11
  280. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  281. package/dist/collection/components/datetime/utils/parse.js +10 -10
  282. package/dist/collection/components/datetime/utils/state.js +8 -2
  283. package/dist/collection/components/datetime/utils/validate.js +4 -5
  284. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  285. package/dist/collection/components/datetime-button/datetime-button.js +247 -237
  286. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  287. package/dist/collection/components/fab/fab.js +20 -13
  288. package/dist/collection/components/fab-button/fab-button.js +104 -55
  289. package/dist/collection/components/fab-list/fab-list.js +10 -11
  290. package/dist/collection/components/footer/footer.js +50 -44
  291. package/dist/collection/components/grid/grid.js +4 -6
  292. package/dist/collection/components/header/header.js +35 -25
  293. package/dist/collection/components/img/img.js +34 -10
  294. package/dist/collection/components/infinite-scroll/infinite-scroll.js +73 -66
  295. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +20 -3
  296. package/dist/collection/components/input/input.ios.css +1 -2
  297. package/dist/collection/components/input/input.js +309 -164
  298. package/dist/collection/components/input/input.md.css +1 -2
  299. package/dist/collection/components/input-otp/input-otp.js +428 -366
  300. package/dist/collection/components/input-password-toggle/input-password-toggle.js +29 -16
  301. package/dist/collection/components/item/item.js +99 -53
  302. package/dist/collection/components/item-divider/item-divider.js +15 -10
  303. package/dist/collection/components/item-option/item-option.js +49 -21
  304. package/dist/collection/components/item-options/item-options.js +10 -7
  305. package/dist/collection/components/item-sliding/item-sliding.js +26 -20
  306. package/dist/collection/components/label/label.js +24 -4
  307. package/dist/collection/components/list/list.js +10 -7
  308. package/dist/collection/components/list-header/list-header.js +10 -0
  309. package/dist/collection/components/loading/loading.js +135 -51
  310. package/dist/collection/components/menu/menu.js +101 -59
  311. package/dist/collection/components/menu-button/menu-button.js +29 -20
  312. package/dist/collection/components/menu-toggle/menu-toggle.js +20 -13
  313. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  314. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  315. package/dist/collection/components/modal/gestures/sheet.js +22 -10
  316. package/dist/collection/components/modal/gestures/swipe-to-close.js +15 -3
  317. package/dist/collection/components/modal/modal.js +398 -228
  318. package/dist/collection/components/modal/safe-area-utils.js +6 -7
  319. package/dist/collection/components/modal/test/fixtures.js +3 -0
  320. package/dist/collection/components/nav/nav.js +69 -247
  321. package/dist/collection/components/nav/view-controller.js +7 -1
  322. package/dist/collection/components/nav-link/nav-link.js +20 -9
  323. package/dist/collection/components/note/note.js +6 -0
  324. package/dist/collection/components/picker/picker.js +398 -390
  325. package/dist/collection/components/picker-column/picker-column.css +3 -0
  326. package/dist/collection/components/picker-column/picker-column.js +414 -404
  327. package/dist/collection/components/picker-column-option/picker-column-option.js +33 -31
  328. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  329. package/dist/collection/components/popover/animations/ios.enter.js +1 -2
  330. package/dist/collection/components/popover/animations/md.enter.js +1 -2
  331. package/dist/collection/components/popover/popover.ios.css +15 -0
  332. package/dist/collection/components/popover/popover.js +302 -185
  333. package/dist/collection/components/popover/popover.md.css +15 -0
  334. package/dist/collection/components/popover/test/fixture.js +1 -0
  335. package/dist/collection/components/popover/utils.js +4 -6
  336. package/dist/collection/components/progress-bar/progress-bar.js +27 -23
  337. package/dist/collection/components/radio/radio.js +102 -66
  338. package/dist/collection/components/radio-group/radio-group.js +100 -65
  339. package/dist/collection/components/radio-group/test/fixtures.js +2 -0
  340. package/dist/collection/components/range/range.js +296 -232
  341. package/dist/collection/components/refresher/refresher.js +110 -78
  342. package/dist/collection/components/refresher-content/refresher-content.js +41 -4
  343. package/dist/collection/components/reorder/reorder.js +2 -1
  344. package/dist/collection/components/reorder-group/reorder-group.js +44 -15
  345. package/dist/collection/components/ripple-effect/ripple-effect.js +12 -13
  346. package/dist/collection/components/route/route.js +39 -10
  347. package/dist/collection/components/route-redirect/route-redirect.js +31 -0
  348. package/dist/collection/components/router/router.js +37 -33
  349. package/dist/collection/components/router/utils/dom.js +25 -7
  350. package/dist/collection/components/router/utils/matching.js +7 -9
  351. package/dist/collection/components/router/utils/parser.js +1 -1
  352. package/dist/collection/components/router/utils/path.js +0 -1
  353. package/dist/collection/components/router-link/router-link.js +37 -12
  354. package/dist/collection/components/router-outlet/router-outlet.js +82 -21
  355. package/dist/collection/components/row/row.js +1 -1
  356. package/dist/collection/components/searchbar/searchbar.js +289 -199
  357. package/dist/collection/components/segment/segment.js +120 -85
  358. package/dist/collection/components/segment-button/segment-button.js +43 -37
  359. package/dist/collection/components/segment-content/segment-content.js +1 -1
  360. package/dist/collection/components/segment-view/segment-view.js +26 -16
  361. package/dist/collection/components/select/select.ios.css +33 -0
  362. package/dist/collection/components/select/select.js +597 -166
  363. package/dist/collection/components/select/select.md.css +33 -0
  364. package/dist/collection/components/select-modal/select-modal.ios.css +218 -0
  365. package/dist/collection/components/select-modal/select-modal.js +92 -38
  366. package/dist/collection/components/select-modal/select-modal.md.css +164 -0
  367. package/dist/collection/components/select-modal/test/fixtures.js +8 -1
  368. package/dist/collection/components/select-option/select-option.js +110 -9
  369. package/dist/collection/components/select-popover/select-popover.ios.css +218 -0
  370. package/dist/collection/components/select-popover/select-popover.js +103 -36
  371. package/dist/collection/components/select-popover/select-popover.md.css +164 -0
  372. package/dist/collection/components/select-popover/test/fixtures.js +8 -1
  373. package/dist/collection/components/skeleton-text/skeleton-text.js +12 -8
  374. package/dist/collection/components/spinner/spinner.js +21 -9
  375. package/dist/collection/components/split-pane/split-pane.js +27 -15
  376. package/dist/collection/components/tab/tab.js +17 -6
  377. package/dist/collection/components/tab-bar/tab-bar.js +32 -14
  378. package/dist/collection/components/tab-button/tab-button.js +62 -23
  379. package/dist/collection/components/tabs/tabs.js +33 -20
  380. package/dist/collection/components/text/text.js +8 -2
  381. package/dist/collection/components/textarea/textarea.js +257 -139
  382. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  383. package/dist/collection/components/title/title.js +18 -2
  384. package/dist/collection/components/toast/toast.js +223 -106
  385. package/dist/collection/components/toggle/toggle.js +167 -115
  386. package/dist/collection/components/toolbar/toolbar.js +15 -7
  387. package/dist/collection/global/config.js +4 -6
  388. package/dist/collection/global/ionic-global.js +8 -2
  389. package/dist/collection/index.js +1 -1
  390. package/dist/collection/utils/animation/animation.js +3 -3
  391. package/dist/collection/utils/config.js +5 -4
  392. package/dist/collection/utils/focus-controller/index.js +1 -1
  393. package/dist/collection/utils/focus-trap.js +3 -3
  394. package/dist/collection/utils/framework-delegate.js +4 -6
  395. package/dist/collection/utils/gesture/gesture-controller.js +15 -8
  396. package/dist/collection/utils/gesture/index.js +10 -2
  397. package/dist/collection/utils/gesture/listener.js +1 -1
  398. package/dist/collection/utils/hardware-back-button.js +3 -3
  399. package/dist/collection/utils/helpers.js +2 -2
  400. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
  401. package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
  402. package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
  403. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  404. package/dist/collection/utils/logging/index.js +23 -4
  405. package/dist/collection/utils/menu-controller/index.js +1 -2
  406. package/dist/collection/utils/native/haptic.js +2 -3
  407. package/dist/collection/utils/native/keyboard.js +2 -2
  408. package/dist/collection/utils/native/status-bar.js +1 -1
  409. package/dist/collection/utils/overlay-control-label.js +45 -0
  410. package/dist/collection/utils/overlays.js +38 -23
  411. package/dist/collection/utils/platform.js +4 -5
  412. package/dist/collection/utils/rtl/dir.js +1 -1
  413. package/dist/collection/utils/sanitization/index.js +276 -20
  414. package/dist/collection/utils/select-option-render.js +118 -0
  415. package/dist/collection/utils/slot-mutation-controller.js +1 -2
  416. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  417. package/dist/collection/utils/test/playwright/drag-element.js +2 -3
  418. package/dist/collection/utils/test/playwright/generator.js +3 -4
  419. package/dist/collection/utils/test/playwright/page/event-spy.js +11 -12
  420. package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
  421. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  422. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
  423. package/dist/collection/utils/test/press-keys.js +10 -17
  424. package/dist/collection/utils/theme.js +6 -1
  425. package/dist/collection/utils/transition/ios.transition.js +9 -13
  426. package/dist/collection/utils/transition/md.transition.js +3 -4
  427. package/dist/docs.json +557 -1273
  428. package/dist/esm/{animation-DLJpuoEz.js → animation-CGFdmGk9.js} +4 -4
  429. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-CYmMeGdU.js} +1 -1
  430. package/dist/esm/{button-active-BSpTQmS9.js → button-active--80YqSHA.js} +3 -3
  431. package/dist/esm/config-DWCzVL3Y.js +32 -0
  432. package/dist/esm/{dir-C53feagD.js → dir-B-FxiyeI.js} +1 -1
  433. package/dist/esm/{format-CAmvpAez.js → format-Dcwga61t.js} +41 -31
  434. package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate--ajhSeKH.js} +5 -7
  435. package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-TXPDHL13.js} +15 -8
  436. package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
  437. package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-gLJHMX_F.js} +4 -4
  438. package/dist/esm/{helpers-HEqiOzXb.js → helpers-DexiPLIC.js} +3 -3
  439. package/dist/esm/{index-B_dQk_WE.js → index-8s8kZKJ7.js} +5 -5
  440. package/dist/esm/{index-BRHzoo00.js → index-BCgUwrV0.js} +2 -2
  441. package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
  442. package/dist/esm/index-CKM1DdGm.js +424 -0
  443. package/dist/esm/{index-tcQvqkiX.js → index-ChhhtsGZ.js} +32 -15
  444. package/dist/esm/{index-Q6UPU0Ay.js → index-CumkqGQF.js} +6 -7
  445. package/dist/esm/{index-CfgBF1SE.js → index-DppOcPFQ.js} +10 -4
  446. package/dist/esm/{index-Dw-wN0Ja.js → index-_Za5VB9w.js} +2 -2
  447. package/dist/esm/index.js +16 -15
  448. package/dist/esm/{input-shims-LXhI7LEx.js → input-shims-BB0AKb_k.js} +9 -11
  449. package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-J6HWocLA.js} +3 -4
  450. package/dist/esm/ion-accordion_2.entry.js +368 -340
  451. package/dist/esm/ion-action-sheet.entry.js +187 -76
  452. package/dist/esm/ion-alert.entry.js +272 -110
  453. package/dist/esm/ion-app_8.entry.js +307 -190
  454. package/dist/esm/ion-avatar_3.entry.js +10 -4
  455. package/dist/esm/ion-back-button.entry.js +47 -23
  456. package/dist/esm/ion-backdrop.entry.js +18 -14
  457. package/dist/esm/ion-breadcrumb_2.entry.js +199 -121
  458. package/dist/esm/ion-button_2.entry.js +138 -66
  459. package/dist/esm/ion-card_5.entry.js +82 -30
  460. package/dist/esm/ion-checkbox.entry.js +152 -101
  461. package/dist/esm/ion-chip.entry.js +17 -11
  462. package/dist/esm/ion-col_3.entry.js +134 -10
  463. package/dist/esm/ion-datetime-button.entry.js +253 -241
  464. package/dist/esm/ion-datetime.entry.js +2768 -0
  465. package/dist/esm/ion-fab_3.entry.js +139 -81
  466. package/dist/esm/ion-img.entry.js +34 -12
  467. package/dist/esm/ion-infinite-scroll_2.entry.js +99 -71
  468. package/dist/esm/ion-input-otp.entry.js +433 -370
  469. package/dist/esm/ion-input-password-toggle.entry.js +33 -19
  470. package/dist/esm/ion-input.entry.js +314 -168
  471. package/dist/esm/ion-item-option_3.entry.js +91 -51
  472. package/dist/esm/ion-item_8.entry.js +181 -82
  473. package/dist/esm/ion-loading.entry.js +145 -59
  474. package/dist/esm/ion-menu_3.entry.js +163 -101
  475. package/dist/esm/ion-modal.entry.js +455 -261
  476. package/dist/esm/ion-nav_2.entry.js +100 -157
  477. package/dist/esm/ion-picker-column-option.entry.js +37 -33
  478. package/dist/esm/ion-picker-column.entry.js +417 -405
  479. package/dist/esm/ion-picker.entry.js +401 -392
  480. package/dist/esm/ion-popover.entry.js +319 -205
  481. package/dist/esm/ion-progress-bar.entry.js +31 -25
  482. package/dist/esm/ion-radio_2.entry.js +206 -133
  483. package/dist/esm/ion-range.entry.js +302 -237
  484. package/dist/esm/ion-refresher_2.entry.js +163 -91
  485. package/dist/esm/ion-reorder_2.entry.js +53 -23
  486. package/dist/esm/ion-ripple-effect.entry.js +14 -14
  487. package/dist/esm/ion-route_4.entry.js +175 -71
  488. package/dist/esm/ion-searchbar.entry.js +291 -200
  489. package/dist/esm/ion-segment-content.entry.js +2 -2
  490. package/dist/esm/ion-segment-view.entry.js +28 -17
  491. package/dist/esm/ion-segment_2.entry.js +169 -126
  492. package/dist/esm/ion-select-modal.entry.js +104 -48
  493. package/dist/esm/ion-select_3.entry.js +760 -215
  494. package/dist/esm/ion-spinner.entry.js +24 -10
  495. package/dist/esm/ion-split-pane.entry.js +29 -16
  496. package/dist/esm/ion-tab-bar_2.entry.js +100 -41
  497. package/dist/esm/ion-tab_2.entry.js +53 -27
  498. package/dist/esm/ion-text.entry.js +11 -5
  499. package/dist/esm/ion-textarea.entry.js +263 -144
  500. package/dist/esm/ion-toast.entry.js +235 -116
  501. package/dist/esm/ion-toggle.entry.js +175 -122
  502. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-BVB7BrLT.js} +13 -8
  503. package/dist/esm/ionic.js +5 -5
  504. package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-BdhybwLl.js} +13 -17
  505. package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-rU8VaNNg.js} +1 -1
  506. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
  507. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
  508. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
  509. package/dist/esm/loader.js +5 -5
  510. package/dist/esm/{md.transition-D0msQmzI.js → md.transition-B5lqKGCs.js} +7 -8
  511. package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-CrUGyHYz.js} +1 -1
  512. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  513. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-CjWwtvf1.js} +48 -33
  514. package/dist/esm/select-option-render-C4m76VGH.js +121 -0
  515. package/dist/esm/{status-tap-vO-6s4Yp.js → status-tap-DpLhkDWs.js} +3 -3
  516. package/dist/esm/{swipe-back-DQ1q5MgD.js → swipe-back-cz4-lyG3.js} +5 -5
  517. package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
  518. package/dist/html.html-data.json +52 -80
  519. package/dist/ionic/index.esm.js +1 -1
  520. package/dist/ionic/ionic.esm.js +1 -1
  521. package/dist/ionic/p-0266b7e1.entry.js +4 -0
  522. package/dist/ionic/p-08443c08.entry.js +4 -0
  523. package/dist/ionic/p-08f1ed1c.entry.js +4 -0
  524. package/dist/ionic/p-09b47b7d.entry.js +4 -0
  525. package/dist/ionic/p-0FNc80PN.js +4 -0
  526. package/dist/ionic/p-12589d59.entry.js +4 -0
  527. package/dist/ionic/p-1d2e53e8.entry.js +4 -0
  528. package/dist/ionic/p-1edf0573.entry.js +4 -0
  529. package/dist/ionic/p-214e000a.entry.js +4 -0
  530. package/dist/ionic/p-21a7fb2a.entry.js +4 -0
  531. package/dist/ionic/p-2ce59395.entry.js +4 -0
  532. package/dist/ionic/p-33829e94.entry.js +4 -0
  533. package/dist/ionic/p-374b10cb.entry.js +4 -0
  534. package/dist/ionic/p-3835a020.entry.js +4 -0
  535. package/dist/ionic/p-3c5fdd27.entry.js +4 -0
  536. package/dist/ionic/{p-c6e49f3f.entry.js → p-40424a88.entry.js} +1 -1
  537. package/dist/ionic/p-48b6835f.entry.js +4 -0
  538. package/dist/ionic/p-4eOQC00Z.js +4 -0
  539. package/dist/ionic/p-5394e1d4.entry.js +4 -0
  540. package/dist/ionic/p-53bac1c9.entry.js +4 -0
  541. package/dist/ionic/p-5506caeb.entry.js +4 -0
  542. package/dist/ionic/p-5993a77f.entry.js +4 -0
  543. package/dist/ionic/p-6277efba.entry.js +4 -0
  544. package/dist/ionic/p-62e71297.entry.js +4 -0
  545. package/dist/ionic/p-6b286c5c.entry.js +4 -0
  546. package/dist/ionic/p-7116e558.entry.js +4 -0
  547. package/dist/ionic/p-74f30659.entry.js +4 -0
  548. package/dist/ionic/p-7bb3e957.entry.js +4 -0
  549. package/dist/ionic/p-82525fb0.entry.js +4 -0
  550. package/dist/ionic/p-865fa114.entry.js +4 -0
  551. package/dist/ionic/p-8a21bdbd.entry.js +4 -0
  552. package/dist/ionic/p-8e1d9e3a.entry.js +4 -0
  553. package/dist/ionic/p-8f3a1995.entry.js +4 -0
  554. package/dist/ionic/p-91c6faf1.entry.js +4 -0
  555. package/dist/ionic/{p-aaeedb6b.entry.js → p-9b865fe6.entry.js} +1 -1
  556. package/dist/ionic/p-9nmHvEvw.js +4 -0
  557. package/dist/ionic/p-B-FxiyeI.js +4 -0
  558. package/dist/ionic/p-BB0LlG4y.js +4 -0
  559. package/dist/ionic/p-BMPN55of.js +4 -0
  560. package/dist/ionic/p-BQ8oNV0v.js +4 -0
  561. package/dist/ionic/p-BSQPZ79H.js +4 -0
  562. package/dist/ionic/p-BhamHSw3.js +4 -0
  563. package/dist/ionic/p-BjvtSsVI.js +4 -0
  564. package/dist/ionic/p-BkfAWuv6.js +4 -0
  565. package/dist/ionic/p-BnMQxWON.js +4 -0
  566. package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
  567. package/dist/ionic/p-BwIp10KV.js +4 -0
  568. package/dist/ionic/p-C-94tAim.js +4 -0
  569. package/dist/ionic/p-C6eME8Ey.js +4 -0
  570. package/dist/ionic/{p-DIuEbVLu.js → p-CKUuSnDR.js} +1 -1
  571. package/dist/ionic/p-CMRtMbJc.js +4 -0
  572. package/dist/ionic/p-CPcPmkGv.js +4 -0
  573. package/dist/ionic/{p-biz8zWmJ.js → p-CQ_4TirR.js} +1 -1
  574. package/dist/ionic/p-CaRuIadB.js +4 -0
  575. package/dist/ionic/p-Cdjxf_yg.js +4 -0
  576. package/dist/ionic/p-ChhhtsGZ.js +5 -0
  577. package/dist/ionic/p-CmKf4pgI.js +4 -0
  578. package/dist/ionic/p-D5t_-oMk.js +4 -0
  579. package/dist/ionic/p-D94b61er.js +4 -0
  580. package/dist/ionic/p-DCI3rXQo.js +4 -0
  581. package/dist/ionic/p-DDhtUaaA.js +4 -0
  582. package/dist/ionic/p-DWCzVL3Y.js +4 -0
  583. package/dist/ionic/p-Dn0mqQ_R.js +4 -0
  584. package/dist/ionic/{p-KjNvRoEp.js → p-I3In7hMC.js} +1 -1
  585. package/dist/ionic/p-T71k3C35.js +4 -0
  586. package/dist/ionic/p-TXPDHL13.js +4 -0
  587. package/dist/ionic/p-a641d428.entry.js +4 -0
  588. package/dist/ionic/p-ac6ef997.entry.js +4 -0
  589. package/dist/ionic/p-acf0a6af.entry.js +4 -0
  590. package/dist/ionic/p-ad98e3ff.entry.js +4 -0
  591. package/dist/ionic/p-af5166f5.entry.js +4 -0
  592. package/dist/ionic/p-b24dc0a1.entry.js +4 -0
  593. package/dist/ionic/p-ba8a598f.entry.js +4 -0
  594. package/dist/ionic/p-bf7c1f05.entry.js +4 -0
  595. package/dist/ionic/p-byZM6qHV.js +4 -0
  596. package/dist/ionic/p-c3f65965.entry.js +4 -0
  597. package/dist/ionic/p-c8fbe544.entry.js +4 -0
  598. package/dist/ionic/p-cb12f6c3.entry.js +4 -0
  599. package/dist/ionic/p-cec87704.entry.js +4 -0
  600. package/dist/ionic/p-dbfd2d52.entry.js +4 -0
  601. package/dist/ionic/p-e1e5b507.entry.js +4 -0
  602. package/dist/ionic/p-ede019ef.entry.js +4 -0
  603. package/dist/ionic/p-efef6788.entry.js +4 -0
  604. package/dist/ionic/p-f046aa37.entry.js +4 -0
  605. package/dist/ionic/p-f402f5a4.entry.js +4 -0
  606. package/dist/ionic/p-f622796d.entry.js +4 -0
  607. package/{components/p-B-JJgYSG.js → dist/ionic/p-kJA95YWg.js} +1 -1
  608. package/dist/types/components/img/img.d.ts +2 -0
  609. package/dist/types/components/input/input.d.ts +1 -1
  610. package/dist/types/components/modal/modal-interface.d.ts +9 -0
  611. package/dist/types/components/modal/modal.d.ts +11 -4
  612. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  613. package/dist/types/components/nav/nav.d.ts +2 -22
  614. package/dist/types/components/route/route.d.ts +1 -1
  615. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  616. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  617. package/dist/types/components/select/select-interface.d.ts +31 -0
  618. package/dist/types/components/select/select.d.ts +18 -0
  619. package/dist/types/components/select-option/select-option.d.ts +42 -1
  620. package/dist/types/components.d.ts +74 -311
  621. package/dist/types/index.d.ts +1 -1
  622. package/dist/types/interface.d.ts +0 -1
  623. package/dist/types/utils/config.d.ts +1 -8
  624. package/dist/types/utils/logging/index.d.ts +2 -1
  625. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  626. package/dist/types/utils/overlays.d.ts +11 -9
  627. package/dist/types/utils/sanitization/index.d.ts +58 -2
  628. package/dist/types/utils/select-option-render.d.ts +53 -0
  629. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  630. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  631. package/hydrate/index.js +10343 -7070
  632. package/hydrate/index.mjs +10343 -7070
  633. package/package.json +55 -12
  634. package/components/ion-picker-legacy-column.d.ts +0 -11
  635. package/components/ion-picker-legacy-column.js +0 -4
  636. package/components/ion-picker-legacy.d.ts +0 -11
  637. package/components/ion-picker-legacy.js +0 -4
  638. package/components/p-A3O24YmY.js +0 -4
  639. package/components/p-ABkNVeU9.js +0 -4
  640. package/components/p-B9jFTlwE.js +0 -4
  641. package/components/p-BLmJ0zRm.js +0 -4
  642. package/components/p-BMI53wYL.js +0 -4
  643. package/components/p-BSEgsdFI.js +0 -4
  644. package/components/p-BTEOs1at.js +0 -4
  645. package/components/p-BlIAuGv2.js +0 -4
  646. package/components/p-Bnsn6KaP.js +0 -4
  647. package/components/p-BsBCoGa-.js +0 -4
  648. package/components/p-Bz0dSlXZ.js +0 -4
  649. package/components/p-C53feagD.js +0 -4
  650. package/components/p-CHqRYvYm.js +0 -4
  651. package/components/p-CQGnMY3n.js +0 -4
  652. package/components/p-CSZf8_j0.js +0 -4
  653. package/components/p-C_xFdyXe.js +0 -4
  654. package/components/p-Cf2jSDS8.js +0 -4
  655. package/components/p-Cfx4M1Bn.js +0 -4
  656. package/components/p-CkMSOsFF.js +0 -4
  657. package/components/p-Cl0B-RWe.js +0 -4
  658. package/components/p-CmR5uXej.js +0 -4
  659. package/components/p-Cp4GRDqq.js +0 -4
  660. package/components/p-CsNJ1ULL.js +0 -4
  661. package/components/p-CtWGkNnJ.js +0 -4
  662. package/components/p-CzCbeKys.js +0 -4
  663. package/components/p-D-aHdMxW.js +0 -4
  664. package/components/p-D0d8qTwj.js +0 -4
  665. package/components/p-D13Eaw-8.js +0 -4
  666. package/components/p-D6Ynv7Xh.js +0 -4
  667. package/components/p-DCnGU1fF.js +0 -4
  668. package/components/p-DGvrK8dD.js +0 -4
  669. package/components/p-DOFCbuQR.js +0 -4
  670. package/components/p-DRxvM2Ic.js +0 -4
  671. package/components/p-DV5mPYQS.js +0 -4
  672. package/components/p-DWkAgceV.js +0 -4
  673. package/components/p-DiVJyqlX.js +0 -4
  674. package/components/p-DqZAXv2t.js +0 -4
  675. package/components/p-Osve4qkc.js +0 -4
  676. package/components/p-R8zmRi4c.js +0 -4
  677. package/components/p-SLS1rDZM.js +0 -4
  678. package/components/p-aJ6PBUvj.js +0 -4
  679. package/components/p-cyNmxje6.js +0 -4
  680. package/components/p-gAg0kXZp.js +0 -4
  681. package/components/p-gYiraiT_.js +0 -4
  682. package/components/p-j5IxBIan.js +0 -4
  683. package/components/p-k_E4tX5Z.js +0 -4
  684. package/components/p-oD4kcBRX.js +0 -4
  685. package/components/p-rCa2eL0j.js +0 -4
  686. package/components/p-vRBNsYbs.js +0 -4
  687. package/components/p-yEQxMl70.js +0 -4
  688. package/components/p-yzCsOZE2.js +0 -4
  689. package/dist/cjs/config-D6C-KlA9.js +0 -201
  690. package/dist/cjs/ion-datetime_3.cjs.entry.js +0 -3167
  691. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  692. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  693. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  694. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  695. package/dist/collection/components/picker-legacy/picker.js +0 -890
  696. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  697. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  698. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  699. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  700. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  701. package/dist/esm/config-DQCONYYp.js +0 -195
  702. package/dist/esm/ion-datetime_3.entry.js +0 -3163
  703. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  704. package/dist/ionic/p-06c232a4.entry.js +0 -4
  705. package/dist/ionic/p-0caa922c.entry.js +0 -4
  706. package/dist/ionic/p-0dc33652.entry.js +0 -4
  707. package/dist/ionic/p-0fa9c382.entry.js +0 -4
  708. package/dist/ionic/p-10e833ef.entry.js +0 -4
  709. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  710. package/dist/ionic/p-27d30585.entry.js +0 -4
  711. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  712. package/dist/ionic/p-2b204c59.entry.js +0 -4
  713. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  714. package/dist/ionic/p-2fa58e80.entry.js +0 -4
  715. package/dist/ionic/p-3353c229.entry.js +0 -4
  716. package/dist/ionic/p-34586ead.entry.js +0 -4
  717. package/dist/ionic/p-37e720da.entry.js +0 -4
  718. package/dist/ionic/p-390ca786.entry.js +0 -4
  719. package/dist/ionic/p-3ae5f277.entry.js +0 -4
  720. package/dist/ionic/p-4654ae1c.entry.js +0 -4
  721. package/dist/ionic/p-4745f534.entry.js +0 -4
  722. package/dist/ionic/p-4858af1f.entry.js +0 -4
  723. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  724. package/dist/ionic/p-4e92a11f.entry.js +0 -4
  725. package/dist/ionic/p-50e1194a.entry.js +0 -4
  726. package/dist/ionic/p-5334df12.entry.js +0 -4
  727. package/dist/ionic/p-5d1da0a2.entry.js +0 -4
  728. package/dist/ionic/p-5e2f73ee.entry.js +0 -4
  729. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  730. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  731. package/dist/ionic/p-746fa988.entry.js +0 -4
  732. package/dist/ionic/p-75dc25ba.entry.js +0 -4
  733. package/dist/ionic/p-7c319341.entry.js +0 -4
  734. package/dist/ionic/p-829367ed.entry.js +0 -4
  735. package/dist/ionic/p-84d5ce05.entry.js +0 -4
  736. package/dist/ionic/p-874b4bd8.entry.js +0 -4
  737. package/dist/ionic/p-8eb8ee76.entry.js +0 -4
  738. package/dist/ionic/p-9eeaBrnk.js +0 -4
  739. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  740. package/dist/ionic/p-9fa3c405.entry.js +0 -4
  741. package/dist/ionic/p-BGqMS-oh.js +0 -4
  742. package/dist/ionic/p-BTEOs1at.js +0 -4
  743. package/dist/ionic/p-BUFIpxKM.js +0 -4
  744. package/dist/ionic/p-C0eMdTCW.js +0 -4
  745. package/dist/ionic/p-C53feagD.js +0 -4
  746. package/dist/ionic/p-CFlfIb2g.js +0 -4
  747. package/dist/ionic/p-CKvCXMs9.js +0 -4
  748. package/dist/ionic/p-Cl0B-RWe.js +0 -4
  749. package/dist/ionic/p-CmcFnK-B.js +0 -4
  750. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  751. package/dist/ionic/p-Cx3IXROA.js +0 -4
  752. package/dist/ionic/p-D-3ycHmd.js +0 -4
  753. package/dist/ionic/p-D13Eaw-8.js +0 -4
  754. package/dist/ionic/p-D4uTWt4-.js +0 -4
  755. package/dist/ionic/p-DiVJyqlX.js +0 -4
  756. package/dist/ionic/p-DoJvtrbw.js +0 -4
  757. package/dist/ionic/p-DqN5EA2O.js +0 -4
  758. package/dist/ionic/p-DzWaWHGc.js +0 -4
  759. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  760. package/dist/ionic/p-SNAkTDfm.js +0 -4
  761. package/dist/ionic/p-VAemlbDS.js +0 -4
  762. package/dist/ionic/p-a3bdcae6.entry.js +0 -4
  763. package/dist/ionic/p-af55a72f.entry.js +0 -4
  764. package/dist/ionic/p-b2020591.entry.js +0 -4
  765. package/dist/ionic/p-b9fadbfe.entry.js +0 -4
  766. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  767. package/dist/ionic/p-c38b648e.entry.js +0 -4
  768. package/dist/ionic/p-c4d8641b.entry.js +0 -4
  769. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  770. package/dist/ionic/p-d889ff6d.entry.js +0 -4
  771. package/dist/ionic/p-dfa8d673.entry.js +0 -4
  772. package/dist/ionic/p-ea56626d.entry.js +0 -4
  773. package/dist/ionic/p-ef4c3bee.entry.js +0 -4
  774. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  775. package/dist/ionic/p-mjKAFv89.js +0 -4
  776. package/dist/ionic/p-tcQvqkiX.js +0 -5
  777. package/dist/ionic/p-uWtqTrG8.js +0 -4
  778. package/dist/ionic/p-viFHDgRs.js +0 -4
  779. package/dist/ionic/p-xWb6fgfq.js +0 -4
  780. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  781. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  782. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  783. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  784. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  785. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
  786. /package/components/{p-CO7fmmxt.js → p-LpMHEu3v.js} +0 -0
@@ -3,20 +3,20 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BfaXsATC.js');
7
- var hardwareBackButton = require('./hardware-back-button-CXmUnTJC.js');
8
- var ionicGlobal = require('./ionic-global-BerQGEpE.js');
9
- var helpers = require('./helpers-gntk8bfm.js');
10
- var dir = require('./dir-Cn0z1rJH.js');
11
- var theme = require('./theme-CeDs6Hcv.js');
12
- var index$1 = require('./index-BiRrzGDi.js');
13
- var keyboardController = require('./keyboard-controller-GXBiBRKS.js');
6
+ var index = require('./index-uvry__L4.js');
7
+ var hardwareBackButton = require('./hardware-back-button-fqpYh-kd.js');
8
+ var ionicGlobal = require('./ionic-global-k6hOWWpn.js');
9
+ var helpers = require('./helpers-CaLhEmTE.js');
10
+ var dir = require('./dir-Brx7VkvP.js');
11
+ var theme = require('./theme-Bw0rpaNN.js');
12
+ var index$1 = require('./index-D48vawBq.js');
13
+ var keyboardController = require('./keyboard-controller-PtZoN2GS.js');
14
14
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
15
- var frameworkDelegate = require('./framework-delegate-BgU6U9Ez.js');
15
+ var frameworkDelegate = require('./framework-delegate-NTLQ5YzV.js');
16
16
  var lockController = require('./lock-controller-aDB9wrEf.js');
17
- var index$2 = require('./index-BS2uhvhT.js');
17
+ var index$2 = require('./index-Ck9advCT.js');
18
18
  require('./index-DkNv4J_i.js');
19
- require('./keyboard-UuAS4D_9.js');
19
+ require('./keyboard-cHxZlTyz.js');
20
20
  require('./capacitor-DmA66EwP.js');
21
21
 
22
22
  const appCss = () => `html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}`;
@@ -25,15 +25,18 @@ const App = class {
25
25
  constructor(hostRef) {
26
26
  index.registerInstance(this, hostRef);
27
27
  }
28
+ focusVisible;
29
+ loadTimeout;
30
+ get el() { return index.getElement(this); }
28
31
  componentDidLoad() {
29
32
  {
30
33
  this.rIC(async () => {
31
34
  const isHybrid = ionicGlobal.isPlatform(window, 'hybrid');
32
35
  if (!index.config.getBoolean('_testing')) {
33
- Promise.resolve().then(function () { return require('./index-BhhuJ1Yx.js'); }).then((module) => module.startTapClick(index.config));
36
+ Promise.resolve().then(function () { return require('./index-BlshL9ib.js'); }).then((module) => module.startTapClick(index.config));
34
37
  }
35
38
  if (index.config.getBoolean('statusTap', isHybrid)) {
36
- Promise.resolve().then(function () { return require('./status-tap-CSvBT7FV.js'); }).then((module) => module.startStatusTap());
39
+ Promise.resolve().then(function () { return require('./status-tap-BR_ujYHg.js'); }).then((module) => module.startStatusTap());
37
40
  }
38
41
  if (index.config.getBoolean('inputShims', needInputShims())) {
39
42
  /**
@@ -41,9 +44,9 @@ const App = class {
41
44
  * platforms proceed into this block.
42
45
  */
43
46
  const platform = ionicGlobal.isPlatform(window, 'ios') ? 'ios' : 'android';
44
- Promise.resolve().then(function () { return require('./input-shims-Bn1cXfCM.js'); }).then((module) => module.startInputShims(index.config, platform));
47
+ Promise.resolve().then(function () { return require('./input-shims-DvHAFqiP.js'); }).then((module) => module.startInputShims(index.config, platform));
45
48
  }
46
- const hardwareBackButtonModule = await Promise.resolve().then(function () { return require('./hardware-back-button-CXmUnTJC.js'); });
49
+ const hardwareBackButtonModule = await Promise.resolve().then(function () { return require('./hardware-back-button-fqpYh-kd.js'); });
47
50
  const supportsHardwareBackButtonEvents = isHybrid || hardwareBackButton.shouldUseCloseWatcher();
48
51
  if (index.config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
49
52
  hardwareBackButtonModule.startHardwareBackButton();
@@ -59,7 +62,7 @@ const App = class {
59
62
  hardwareBackButtonModule.blockHardwareBackButton();
60
63
  }
61
64
  if (typeof window !== 'undefined') {
62
- Promise.resolve().then(function () { return require('./keyboard-hHzlEQpk.js'); }).then((module) => module.startKeyboardAssist(window));
65
+ Promise.resolve().then(function () { return require('./keyboard-Cix5TVkD.js'); }).then((module) => module.startKeyboardAssist(window));
63
66
  }
64
67
  Promise.resolve().then(function () { return require('./focus-visible-CCvKiLh3.js'); }).then((module) => (this.focusVisible = module.startFocusVisible()));
65
68
  });
@@ -102,7 +105,6 @@ const App = class {
102
105
  'force-statusbar-padding': index.config.getBoolean('_forceStatusbarPadding'),
103
106
  } }));
104
107
  }
105
- get el() { return index.getElement(this); }
106
108
  };
107
109
  const needInputShims = () => {
108
110
  /**
@@ -132,20 +134,20 @@ const buttonsMdCss = () => `.sc-ion-buttons-md-h{display:-ms-flexbox;display:fle
132
134
  const Buttons = class {
133
135
  constructor(hostRef) {
134
136
  index.registerInstance(this, hostRef);
135
- /**
136
- * If true, buttons will disappear when its
137
- * parent toolbar has fully collapsed if the toolbar
138
- * is not the first toolbar. If the toolbar is the
139
- * first toolbar, the buttons will be hidden and will
140
- * only be shown once all toolbars have fully collapsed.
141
- *
142
- * Only applies in `ios` mode with `collapse` set to
143
- * `true` on `ion-header`.
144
- *
145
- * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
146
- */
147
- this.collapse = false;
148
137
  }
138
+ /**
139
+ * If true, buttons will disappear when its
140
+ * parent toolbar has fully collapsed if the toolbar
141
+ * is not the first toolbar. If the toolbar is the
142
+ * first toolbar, the buttons will be hidden and will
143
+ * only be shown once all toolbars have fully collapsed.
144
+ *
145
+ * Only applies in `ios` mode with `collapse` set to
146
+ * `true` on `ion-header`.
147
+ *
148
+ * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
149
+ */
150
+ collapse = false;
149
151
  render() {
150
152
  const mode = ionicGlobal.getIonMode(this);
151
153
  return (index.h(index.Host, { key: '58c1fc5eb867d0731c63549b1ccb3ec3bbbe6e1b', class: {
@@ -167,68 +169,100 @@ const Content = class {
167
169
  this.ionScrollStart = index.createEvent(this, "ionScrollStart", 7);
168
170
  this.ionScroll = index.createEvent(this, "ionScroll", 7);
169
171
  this.ionScrollEnd = index.createEvent(this, "ionScrollEnd", 7);
170
- this.watchDog = null;
171
- this.isScrolling = false;
172
- this.lastScroll = 0;
173
- this.queued = false;
174
- this.cTop = -1;
175
- this.cBottom = -1;
176
- this.isMainContent = true;
177
- this.resizeTimeout = null;
178
- this.inheritedAttributes = {};
179
- this.tabsElement = null;
180
- // Detail is used in a hot loop in the scroll event, by allocating it here
181
- // V8 will be able to inline any read/write to it since it's a monomorphic class.
182
- // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
183
- this.detail = {
184
- scrollTop: 0,
185
- scrollLeft: 0,
186
- type: 'scroll',
187
- event: undefined,
188
- startX: 0,
189
- startY: 0,
190
- startTime: 0,
191
- currentX: 0,
192
- currentY: 0,
193
- velocityX: 0,
194
- velocityY: 0,
195
- deltaX: 0,
196
- deltaY: 0,
197
- currentTime: 0,
198
- data: undefined,
199
- isScrolling: true,
200
- };
201
- /**
202
- * If `true`, the content will scroll behind the headers
203
- * and footers. This effect can easily be seen by setting the toolbar
204
- * to transparent.
205
- */
206
- this.fullscreen = false;
207
- /**
208
- * Controls where the fixed content is placed relative to the main content
209
- * in the DOM. This can be used to control the order in which fixed elements
210
- * receive keyboard focus.
211
- * For example, if a FAB in the fixed slot should receive keyboard focus before
212
- * the main page content, set this property to `'before'`.
213
- */
214
- this.fixedSlotPlacement = 'after';
215
- /**
216
- * If you want to enable the content scrolling in the X axis, set this property to `true`.
217
- */
218
- this.scrollX = false;
219
- /**
220
- * If you want to disable the content scrolling in the Y axis, set this property to `false`.
221
- */
222
- this.scrollY = true;
223
- /**
224
- * Because of performance reasons, ionScroll events are disabled by default, in order to enable them
225
- * and start listening from (ionScroll), set this property to `true`.
226
- */
227
- this.scrollEvents = false;
228
172
  }
173
+ watchDog = null;
174
+ isScrolling = false;
175
+ lastScroll = 0;
176
+ queued = false;
177
+ cTop = -1;
178
+ cBottom = -1;
179
+ scrollEl;
180
+ backgroundContentEl;
181
+ isMainContent = true;
182
+ resizeTimeout = null;
183
+ fullscreenResizeObserver;
184
+ inheritedAttributes = {};
185
+ tabsElement = null;
186
+ tabsLoadCallback;
187
+ // Detail is used in a hot loop in the scroll event, by allocating it here
188
+ // V8 will be able to inline any read/write to it since it's a monomorphic class.
189
+ // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
190
+ detail = {
191
+ scrollTop: 0,
192
+ scrollLeft: 0,
193
+ type: 'scroll',
194
+ event: undefined,
195
+ startX: 0,
196
+ startY: 0,
197
+ startTime: 0,
198
+ currentX: 0,
199
+ currentY: 0,
200
+ velocityX: 0,
201
+ velocityY: 0,
202
+ deltaX: 0,
203
+ deltaY: 0,
204
+ currentTime: 0,
205
+ data: undefined,
206
+ isScrolling: true,
207
+ };
208
+ get el() { return index.getElement(this); }
209
+ /**
210
+ * The color to use from your application's color palette.
211
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
212
+ * For more information on colors, see [theming](/docs/theming/basics).
213
+ */
214
+ color;
215
+ /**
216
+ * If `true`, the content will scroll behind the headers
217
+ * and footers. This effect can easily be seen by setting the toolbar
218
+ * to transparent.
219
+ */
220
+ fullscreen = false;
229
221
  fullscreenChanged() {
230
222
  this.setupFullscreenResizeObserver();
231
223
  }
224
+ /**
225
+ * Controls where the fixed content is placed relative to the main content
226
+ * in the DOM. This can be used to control the order in which fixed elements
227
+ * receive keyboard focus.
228
+ * For example, if a FAB in the fixed slot should receive keyboard focus before
229
+ * the main page content, set this property to `'before'`.
230
+ */
231
+ fixedSlotPlacement = 'after';
232
+ /**
233
+ * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce.
234
+ * If the content exceeds the bounds of ionContent, nothing will change.
235
+ * Note, this does not disable the system bounce on iOS. That is an OS level setting.
236
+ */
237
+ forceOverscroll;
238
+ /**
239
+ * If you want to enable the content scrolling in the X axis, set this property to `true`.
240
+ */
241
+ scrollX = false;
242
+ /**
243
+ * If you want to disable the content scrolling in the Y axis, set this property to `false`.
244
+ */
245
+ scrollY = true;
246
+ /**
247
+ * Because of performance reasons, ionScroll events are disabled by default, in order to enable them
248
+ * and start listening from (ionScroll), set this property to `true`.
249
+ */
250
+ scrollEvents = false;
251
+ /**
252
+ * Emitted when the scroll has started. This event is disabled by default.
253
+ * Set `scrollEvents` to `true` to enable.
254
+ */
255
+ ionScrollStart;
256
+ /**
257
+ * Emitted while scrolling. This event is disabled by default.
258
+ * Set `scrollEvents` to `true` to enable.
259
+ */
260
+ ionScroll;
261
+ /**
262
+ * Emitted when the scroll has ended. This event is disabled by default.
263
+ * Set `scrollEvents` to `true` to enable.
264
+ */
265
+ ionScrollEnd;
232
266
  componentWillLoad() {
233
267
  this.inheritedAttributes = helpers.inheritAriaAttributes(this.el);
234
268
  }
@@ -569,7 +603,7 @@ const Content = class {
569
603
  const forceOverscroll = this.shouldForceOverscroll();
570
604
  const transitionShadow = mode === 'ios';
571
605
  this.resize();
572
- return (index.h(index.Host, Object.assign({ key: '9551c759df407b10d809171641fc6e8f14d92219', role: isMainContent ? 'main' : undefined, class: theme.createColorClasses(this.color, {
606
+ return (index.h(index.Host, { key: '9551c759df407b10d809171641fc6e8f14d92219', role: isMainContent ? 'main' : undefined, class: theme.createColorClasses(this.color, {
573
607
  [mode]: true,
574
608
  'content-fullscreen': this.fullscreen,
575
609
  'content-sizing': theme.hostContext('ion-popover', this.el),
@@ -578,14 +612,13 @@ const Content = class {
578
612
  }), style: {
579
613
  '--offset-top': `${this.cTop}px`,
580
614
  '--offset-bottom': `${this.cBottom}px`,
581
- } }, inheritedAttributes), index.h("div", { key: 'c6de8fd226f0d10a534eb107fe032ac155fbe68e', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? index.h("slot", { name: "fixed" }) : null, index.h("div", { key: '082fc2936061360060b48221ecb1c864a3711fa0', class: {
615
+ }, ...inheritedAttributes }, index.h("div", { key: 'c6de8fd226f0d10a534eb107fe032ac155fbe68e', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? index.h("slot", { name: "fixed" }) : null, index.h("div", { key: '082fc2936061360060b48221ecb1c864a3711fa0', class: {
582
616
  'inner-scroll': true,
583
617
  'scroll-x': scrollX,
584
618
  'scroll-y': scrollY,
585
619
  overscroll: (scrollX || scrollY) && forceOverscroll,
586
620
  }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, index.h("slot", { key: '0d2286206facb22696a9ca7e74a3f6b7d2397aab' })), transitionShadow ? (index.h("div", { class: "transition-effect" }, index.h("div", { class: "transition-cover" }), index.h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? index.h("slot", { name: "fixed" }) : null));
587
621
  }
588
- get el() { return index.getElement(this); }
589
622
  static get watchers() { return {
590
623
  "fullscreen": [{
591
624
  "fullscreenChanged": 0
@@ -593,12 +626,11 @@ const Content = class {
593
626
  }; }
594
627
  };
595
628
  const getParentElement = (el) => {
596
- var _a;
597
629
  if (el.parentElement) {
598
630
  // normal element with a parent element
599
631
  return el.parentElement;
600
632
  }
601
- if ((_a = el.parentNode) === null || _a === void 0 ? void 0 : _a.host) {
633
+ if (el.parentNode?.host) {
602
634
  // shadow dom's document fragment
603
635
  return el.parentNode.host;
604
636
  }
@@ -685,48 +717,27 @@ const footerMdCss = () => `ion-footer{display:block;position:relative;-ms-flex-o
685
717
  const Footer = class {
686
718
  constructor(hostRef) {
687
719
  index.registerInstance(this, hostRef);
688
- this.keyboardCtrl = null;
689
- this.keyboardCtrlPromise = null;
690
- this.keyboardVisible = false;
691
- /**
692
- * If `true`, the footer will be translucent.
693
- * Only applies when the mode is `"ios"` and the device supports
694
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
695
- *
696
- * Note: In order to scroll content behind the footer, the `fullscreen`
697
- * attribute needs to be set on the content.
698
- */
699
- this.translucent = false;
700
- this.checkCollapsibleFooter = () => {
701
- const mode = ionicGlobal.getIonMode(this);
702
- if (mode !== 'ios') {
703
- return;
704
- }
705
- const { collapse } = this;
706
- const hasFade = collapse === 'fade';
707
- this.destroyCollapsibleFooter();
708
- if (hasFade) {
709
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
710
- const contentEl = pageEl ? index$1.findIonContent(pageEl) : null;
711
- if (!contentEl) {
712
- index$1.printIonContentErrorMsg(this.el);
713
- return;
714
- }
715
- this.setupFadeFooter(contentEl);
716
- }
717
- };
718
- this.setupFadeFooter = async (contentEl) => {
719
- const scrollEl = (this.scrollEl = await index$1.getScrollElement(contentEl));
720
- /**
721
- * Handle fading of toolbars on scroll
722
- */
723
- this.contentScrollCallback = () => {
724
- handleFooterFade(scrollEl, this.el);
725
- };
726
- scrollEl.addEventListener('scroll', this.contentScrollCallback);
727
- handleFooterFade(scrollEl, this.el);
728
- };
729
720
  }
721
+ scrollEl;
722
+ contentScrollCallback;
723
+ keyboardCtrl = null;
724
+ keyboardCtrlPromise = null;
725
+ keyboardVisible = false;
726
+ get el() { return index.getElement(this); }
727
+ /**
728
+ * Describes the scroll effect that will be applied to the footer.
729
+ * Only applies in iOS mode.
730
+ */
731
+ collapse;
732
+ /**
733
+ * If `true`, the footer will be translucent.
734
+ * Only applies when the mode is `"ios"` and the device supports
735
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
736
+ *
737
+ * Note: In order to scroll content behind the footer, the `fullscreen`
738
+ * attribute needs to be set on the content.
739
+ */
740
+ translucent = false;
730
741
  componentDidLoad() {
731
742
  this.checkCollapsibleFooter();
732
743
  }
@@ -770,6 +781,35 @@ const Footer = class {
770
781
  this.keyboardCtrl = null;
771
782
  }
772
783
  }
784
+ checkCollapsibleFooter = () => {
785
+ const mode = ionicGlobal.getIonMode(this);
786
+ if (mode !== 'ios') {
787
+ return;
788
+ }
789
+ const { collapse } = this;
790
+ const hasFade = collapse === 'fade';
791
+ this.destroyCollapsibleFooter();
792
+ if (hasFade) {
793
+ const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
794
+ const contentEl = pageEl ? index$1.findIonContent(pageEl) : null;
795
+ if (!contentEl) {
796
+ index$1.printIonContentErrorMsg(this.el);
797
+ return;
798
+ }
799
+ this.setupFadeFooter(contentEl);
800
+ }
801
+ };
802
+ setupFadeFooter = async (contentEl) => {
803
+ const scrollEl = (this.scrollEl = await index$1.getScrollElement(contentEl));
804
+ /**
805
+ * Handle fading of toolbars on scroll
806
+ */
807
+ this.contentScrollCallback = () => {
808
+ handleFooterFade(scrollEl, this.el);
809
+ };
810
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
811
+ handleFooterFade(scrollEl, this.el);
812
+ };
773
813
  destroyCollapsibleFooter() {
774
814
  if (this.scrollEl && this.contentScrollCallback) {
775
815
  this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
@@ -780,7 +820,7 @@ const Footer = class {
780
820
  const { translucent, collapse } = this;
781
821
  const mode = ionicGlobal.getIonMode(this);
782
822
  const tabs = this.el.closest('ion-tabs');
783
- const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
823
+ const tabBar = tabs?.querySelector(':scope > ion-tab-bar');
784
824
  return (index.h(index.Host, { key: '71939c4bbaef5062532a99ee2e33574102a9abad', role: "contentinfo", class: {
785
825
  [mode]: true,
786
826
  // Used internally for styling
@@ -791,7 +831,6 @@ const Footer = class {
791
831
  [`footer-collapse-${collapse}`]: collapse !== undefined,
792
832
  } }, mode === 'ios' && translucent && index.h("div", { key: '2fa14f61661c47c661cecd696176728d6eafa74f', class: "footer-background" }), index.h("slot", { key: '8e63696e7c528d5c38201e546bf08135290d0945' })));
793
833
  }
794
- get el() { return index.getElement(this); }
795
834
  };
796
835
  Footer.style = {
797
836
  ios: footerIosCss(),
@@ -1037,28 +1076,29 @@ const headerMdCss = () => `ion-header{display:block;position:relative;-ms-flex-o
1037
1076
  const Header = class {
1038
1077
  constructor(hostRef) {
1039
1078
  index.registerInstance(this, hostRef);
1040
- this.inheritedAttributes = {};
1041
- /**
1042
- * If `true`, the header will be translucent.
1043
- * Only applies when the mode is `"ios"` and the device supports
1044
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1045
- *
1046
- * Note: In order to scroll content behind the header, the `fullscreen`
1047
- * attribute needs to be set on the content.
1048
- */
1049
- this.translucent = false;
1050
- this.setupFadeHeader = async (contentEl, condenseHeader) => {
1051
- const scrollEl = (this.scrollEl = await index$1.getScrollElement(contentEl));
1052
- /**
1053
- * Handle fading of toolbars on scroll
1054
- */
1055
- this.contentScrollCallback = () => {
1056
- handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1057
- };
1058
- scrollEl.addEventListener('scroll', this.contentScrollCallback);
1059
- handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1060
- };
1061
1079
  }
1080
+ scrollEl;
1081
+ contentScrollCallback;
1082
+ intersectionObserver;
1083
+ collapsibleMainHeader;
1084
+ inheritedAttributes = {};
1085
+ get el() { return index.getElement(this); }
1086
+ /**
1087
+ * Describes the scroll effect that will be applied to the header.
1088
+ * Only applies in iOS mode.
1089
+ *
1090
+ * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1091
+ */
1092
+ collapse;
1093
+ /**
1094
+ * If `true`, the header will be translucent.
1095
+ * Only applies when the mode is `"ios"` and the device supports
1096
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1097
+ *
1098
+ * Note: In order to scroll content behind the header, the `fullscreen`
1099
+ * attribute needs to be set on the content.
1100
+ */
1101
+ translucent = false;
1062
1102
  componentWillLoad() {
1063
1103
  this.inheritedAttributes = helpers.inheritAriaAttributes(this.el);
1064
1104
  }
@@ -1102,6 +1142,17 @@ const Header = class {
1102
1142
  await this.setupFadeHeader(contentEl, condenseHeader);
1103
1143
  }
1104
1144
  }
1145
+ setupFadeHeader = async (contentEl, condenseHeader) => {
1146
+ const scrollEl = (this.scrollEl = await index$1.getScrollElement(contentEl));
1147
+ /**
1148
+ * Handle fading of toolbars on scroll
1149
+ */
1150
+ this.contentScrollCallback = () => {
1151
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1152
+ };
1153
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
1154
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1155
+ };
1105
1156
  destroyCollapsibleHeader() {
1106
1157
  if (this.intersectionObserver) {
1107
1158
  this.intersectionObserver.disconnect();
@@ -1173,16 +1224,15 @@ const Header = class {
1173
1224
  const isCondensed = collapse === 'condense';
1174
1225
  // banner role must be at top level, so remove role if inside a menu
1175
1226
  const roleType = getRoleType(theme.hostContext('ion-menu', this.el), isCondensed, mode);
1176
- return (index.h(index.Host, Object.assign({ key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
1227
+ return (index.h(index.Host, { key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
1177
1228
  [mode]: true,
1178
1229
  // Used internally for styling
1179
1230
  [`header-${mode}`]: true,
1180
1231
  [`header-translucent`]: this.translucent,
1181
1232
  [`header-collapse-${collapse}`]: true,
1182
1233
  [`header-translucent-${mode}`]: this.translucent,
1183
- } }, inheritedAttributes), mode === 'ios' && translucent && index.h("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), index.h("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
1234
+ }, ...inheritedAttributes }, mode === 'ios' && translucent && index.h("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), index.h("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
1184
1235
  }
1185
- get el() { return index.getElement(this); }
1186
1236
  };
1187
1237
  Header.style = {
1188
1238
  ios: headerIosCss(),
@@ -1197,22 +1247,47 @@ const RouterOutlet = class {
1197
1247
  this.ionNavWillLoad = index.createEvent(this, "ionNavWillLoad", 7);
1198
1248
  this.ionNavWillChange = index.createEvent(this, "ionNavWillChange", 3);
1199
1249
  this.ionNavDidChange = index.createEvent(this, "ionNavDidChange", 3);
1200
- this.lockController = lockController.createLockController();
1201
- this.gestureOrAnimationInProgress = false;
1202
- /**
1203
- * The mode determines which platform styles to use.
1204
- */
1205
- this.mode = ionicGlobal.getIonMode(this);
1206
- /**
1207
- * If `true`, the router-outlet should animate the transition of components.
1208
- */
1209
- this.animated = true;
1210
1250
  }
1251
+ lockController = lockController.createLockController();
1252
+ activeEl;
1253
+ // TODO(FW-2832): types
1254
+ activeComponent;
1255
+ activeParams;
1256
+ gesture;
1257
+ ani;
1258
+ gestureOrAnimationInProgress = false;
1259
+ get el() { return index.getElement(this); }
1260
+ /**
1261
+ * The mode determines which platform styles to use.
1262
+ */
1263
+ mode = ionicGlobal.getIonMode(this);
1264
+ /** @internal */
1265
+ delegate;
1266
+ /**
1267
+ * If `true`, the router-outlet should animate the transition of components.
1268
+ */
1269
+ animated = true;
1270
+ /** This property allows to create custom transition using AnimationBuilder functions. */
1271
+ animation;
1272
+ /**
1273
+ * If `true`, the router-outlet should allow navigation via swipe-to-go-back gesture.
1274
+ * Defaults to `true` for `"ios"` mode and `false` for `"md"` mode.
1275
+ */
1276
+ swipeGesture;
1277
+ swipeGestureChanged() {
1278
+ this.updateGestureEnabled();
1279
+ }
1280
+ /** @internal */
1281
+ swipeHandler;
1211
1282
  swipeHandlerChanged() {
1212
- if (this.gesture) {
1213
- this.gesture.enable(this.swipeHandler !== undefined);
1214
- }
1283
+ this.updateGestureEnabled();
1215
1284
  }
1285
+ /** @internal */
1286
+ ionNavWillLoad;
1287
+ /** @internal */
1288
+ ionNavWillChange;
1289
+ /** @internal */
1290
+ ionNavDidChange;
1216
1291
  async connectedCallback() {
1217
1292
  const onStart = () => {
1218
1293
  this.gestureOrAnimationInProgress = true;
@@ -1220,7 +1295,7 @@ const RouterOutlet = class {
1220
1295
  this.swipeHandler.onStart();
1221
1296
  }
1222
1297
  };
1223
- this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-CuIiziaa.js'); })).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => { var _a; return (_a = this.ani) === null || _a === void 0 ? void 0 : _a.progressStep(step); }, (shouldComplete, step, dur) => {
1298
+ this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-DzQKEl5g.js'); })).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => this.ani?.progressStep(step), (shouldComplete, step, dur) => {
1224
1299
  if (this.ani) {
1225
1300
  this.ani.onFinish(() => {
1226
1301
  this.gestureOrAnimationInProgress = false;
@@ -1251,11 +1326,21 @@ const RouterOutlet = class {
1251
1326
  this.gestureOrAnimationInProgress = false;
1252
1327
  }
1253
1328
  });
1254
- this.swipeHandlerChanged();
1329
+ if (this.swipeGesture === undefined) {
1330
+ this.swipeGesture = index.config.getBoolean('swipeBackEnabled', this.mode === 'ios');
1331
+ }
1332
+ else {
1333
+ this.updateGestureEnabled();
1334
+ }
1255
1335
  }
1256
1336
  componentWillLoad() {
1257
1337
  this.ionNavWillLoad.emit();
1258
1338
  }
1339
+ updateGestureEnabled() {
1340
+ if (this.gesture) {
1341
+ this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
1342
+ }
1343
+ }
1259
1344
  disconnectedCallback() {
1260
1345
  if (this.gesture) {
1261
1346
  this.gesture.destroy();
@@ -1322,16 +1407,19 @@ const RouterOutlet = class {
1322
1407
  const { el, mode } = this;
1323
1408
  const animated = this.animated && index.config.getBoolean('animated', true);
1324
1409
  const animationBuilder = opts.animationBuilder || this.animation || index.config.get('navAnimation');
1325
- await index$2.transition(Object.assign(Object.assign({ mode,
1410
+ await index$2.transition({
1411
+ mode,
1326
1412
  animated,
1327
1413
  enteringEl,
1328
- leavingEl, baseEl: el,
1414
+ leavingEl,
1415
+ baseEl: el,
1329
1416
  /**
1330
1417
  * We need to wait for all Stencil components
1331
1418
  * to be ready only when using the lazy
1332
1419
  * loaded bundle.
1333
1420
  */
1334
- deepWait: helpers.hasLazyBuild(el), progressCallback: opts.progressAnimation
1421
+ deepWait: helpers.hasLazyBuild(el),
1422
+ progressCallback: opts.progressAnimation
1335
1423
  ? (ani) => {
1336
1424
  /**
1337
1425
  * Because this progress callback is called asynchronously
@@ -1360,16 +1448,21 @@ const RouterOutlet = class {
1360
1448
  this.ani = ani;
1361
1449
  }
1362
1450
  }
1363
- : undefined }, opts), { animationBuilder }));
1451
+ : undefined,
1452
+ ...opts,
1453
+ animationBuilder,
1454
+ });
1364
1455
  // emit nav changed event
1365
1456
  this.ionNavDidChange.emit();
1366
1457
  return true;
1367
1458
  }
1368
1459
  render() {
1369
- return index.h("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
1460
+ return index.h("slot", { key: 'ce09e6fbba7b0a2276cdde5245bb37c9a162c1c7' });
1370
1461
  }
1371
- get el() { return index.getElement(this); }
1372
1462
  static get watchers() { return {
1463
+ "swipeGesture": [{
1464
+ "swipeGestureChanged": 0
1465
+ }],
1373
1466
  "swipeHandler": [{
1374
1467
  "swipeHandlerChanged": 0
1375
1468
  }]
@@ -1386,6 +1479,22 @@ const ToolbarTitle = class {
1386
1479
  index.registerInstance(this, hostRef);
1387
1480
  this.ionStyle = index.createEvent(this, "ionStyle", 7);
1388
1481
  }
1482
+ get el() { return index.getElement(this); }
1483
+ /**
1484
+ * The color to use from your application's color palette.
1485
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
1486
+ * For more information on colors, see [theming](/docs/theming/basics).
1487
+ */
1488
+ color;
1489
+ /**
1490
+ * The size of the toolbar title.
1491
+ */
1492
+ size;
1493
+ /**
1494
+ * Emitted when the styles change.
1495
+ * @internal
1496
+ */
1497
+ ionStyle;
1389
1498
  sizeChanged() {
1390
1499
  this.emitStyle();
1391
1500
  }
@@ -1404,13 +1513,12 @@ const ToolbarTitle = class {
1404
1513
  render() {
1405
1514
  const mode = ionicGlobal.getIonMode(this);
1406
1515
  const size = this.getSize();
1407
- return (index.h(index.Host, { key: '44e63f8439df64c470692904427b417e19406476', class: theme.createColorClasses(this.color, {
1516
+ return (index.h(index.Host, { key: 'd9317e8e66cb6112717f5a9c252658777efbd873', class: theme.createColorClasses(this.color, {
1408
1517
  [mode]: true,
1409
1518
  [`title-${size}`]: true,
1410
1519
  'title-rtl': document.dir === 'rtl',
1411
- }) }, index.h("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, index.h("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
1520
+ }) }, index.h("div", { key: 'a4d011d6d409bf006d8efe33667002edb109820a', class: "toolbar-title" }, index.h("slot", { key: '4ca3303b957a0e5387f1e9058e5adb4c6275afcc' }))));
1412
1521
  }
1413
- get el() { return index.getElement(this); }
1414
1522
  static get watchers() { return {
1415
1523
  "size": [{
1416
1524
  "sizeChanged": 0
@@ -1429,8 +1537,15 @@ const toolbarMdCss = () => `:host{--border-width:0;--border-style:solid;--opacit
1429
1537
  const Toolbar = class {
1430
1538
  constructor(hostRef) {
1431
1539
  index.registerInstance(this, hostRef);
1432
- this.childrenStyles = new Map();
1433
1540
  }
1541
+ childrenStyles = new Map();
1542
+ get el() { return index.getElement(this); }
1543
+ /**
1544
+ * The color to use from your application's color palette.
1545
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
1546
+ * For more information on colors, see [theming](/docs/theming/basics).
1547
+ */
1548
+ color;
1434
1549
  componentWillLoad() {
1435
1550
  const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));
1436
1551
  const firstButtons = buttons.find((button) => {
@@ -1475,12 +1590,14 @@ const Toolbar = class {
1475
1590
  this.childrenStyles.forEach((value) => {
1476
1591
  Object.assign(childStyles, value);
1477
1592
  });
1478
- return (index.h(index.Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), theme.createColorClasses(this.color, {
1479
- [mode]: true,
1480
- 'in-toolbar': theme.hostContext('ion-toolbar', this.el),
1481
- })) }, index.h("div", { key: '67f5bba9c4f527c3f35bfe1313a2b85741f9b246', class: "toolbar-background", part: "background" }), index.h("div", { key: '085e8c68f056e5b0deb9d1606431fbeb45dae8e5', class: "toolbar-container", part: "container" }, index.h("slot", { key: '15227c79c3baf883fd8c43fdb7e1313453933c79', name: "start" }), index.h("slot", { key: '0b8a7f7e685aa31c80d9bc03446ccc3a9d07e0e8', name: "secondary" }), index.h("div", { key: '57e4628c1fa89df79dd80456259db961bb691404', class: "toolbar-content", part: "content" }, index.h("slot", { key: '82c2f6e1acf8d96db259bd8baf295881801edbd5' })), index.h("slot", { key: 'b2d4afb15214199f206c0a5e08b581e4c9c2f58a', name: "primary" }), index.h("slot", { key: 'bfb909a0c472f8834046c2ea23bef2f562167ad3', name: "end" }))));
1593
+ return (index.h(index.Host, { key: '40bad6fa7e94262438da4bbe037dcf8a5fa2df22', class: {
1594
+ ...childStyles,
1595
+ ...theme.createColorClasses(this.color, {
1596
+ [mode]: true,
1597
+ 'in-toolbar': theme.hostContext('ion-toolbar', this.el),
1598
+ }),
1599
+ } }, index.h("div", { key: 'df44c9f0fe3958116ab860b0dad79c53b89f6c59', class: "toolbar-background", part: "background" }), index.h("div", { key: '2169ffa576875b8d5624211cc0b4bf86191562bc', class: "toolbar-container", part: "container" }, index.h("slot", { key: 'c8910dcf1ce98ab427fd89c3396a67c2a75bdd07', name: "start" }), index.h("slot", { key: '05da24d5ef96b9eebd83b534ce02c1f7bcd06680', name: "secondary" }), index.h("div", { key: '090fea1541e7e2b6ad74a6ded4eadffdb471ccce', class: "toolbar-content", part: "content" }, index.h("slot", { key: '507e143f92f6fa59ff23d94026411fa2c74f2f8e' })), index.h("slot", { key: 'f79fdee472e657e26a910cb89d7551943e40e440', name: "primary" }), index.h("slot", { key: 'dd40fe9ed490cf4346c642e195fdb524dc6cc4f5', name: "end" }))));
1482
1600
  }
1483
- get el() { return index.getElement(this); }
1484
1601
  };
1485
1602
  Toolbar.style = {
1486
1603
  ios: toolbarIosCss(),