@ionic/core 8.8.17 → 8.8.18-dev.11786108988.1fd94742

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 (782) 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-0tt0PTAe.js +4 -0
  99. package/components/p-3dKnMgX5.js +4 -0
  100. package/components/p-6e_5igwn.js +4 -0
  101. package/components/{p--JUspHvy.js → p-AqD_wmvU.js} +1 -1
  102. package/components/p-B-FxiyeI.js +4 -0
  103. package/components/p-B4COLbAV.js +4 -0
  104. package/components/p-B9zzUBwR.js +4 -0
  105. package/components/p-BFU7kgcj.js +4 -0
  106. package/components/p-BMPN55of.js +4 -0
  107. package/components/p-BPbRjpb2.js +4 -0
  108. package/components/p-BSQPZ79H.js +4 -0
  109. package/{dist/ionic/p-KjNvRoEp.js → components/p-BXQ7upSC.js} +1 -1
  110. package/components/p-BhamHSw3.js +4 -0
  111. package/components/p-BrXE0XUu.js +4 -0
  112. package/components/p-Bv7Rqz3Z.js +4 -0
  113. package/components/p-Bw7MMRH7.js +4 -0
  114. package/components/p-C-X5vb8f.js +4 -0
  115. package/components/p-C117Majq.js +4 -0
  116. package/components/{p-ChIZKXUu.js → p-C6JOi8wS.js} +1 -1
  117. package/components/p-CCVPk59A.js +4 -0
  118. package/components/p-CEW4RXZO.js +4 -0
  119. package/components/p-CKMc290p.js +4 -0
  120. package/components/{p-BkKAANMJ.js → p-CO5nI-BZ.js} +1 -1
  121. package/components/p-COQ_7Wwc.js +4 -0
  122. package/components/p-CQbh6Be_.js +4 -0
  123. package/components/p-CQtcj8t7.js +4 -0
  124. package/components/p-Cap9bvqr.js +4 -0
  125. package/components/p-CdP7ze2J.js +4 -0
  126. package/components/p-CfyJ_Ogc.js +4 -0
  127. package/components/p-ChWC4-vA.js +4 -0
  128. package/components/p-CmKf4pgI.js +4 -0
  129. package/components/p-CqYSqB9_.js +4 -0
  130. package/{dist/ionic/p-DC3RagnA.js → components/p-Cwsd9bue.js} +1 -1
  131. package/components/{p-D3xo7hqU.js → p-D0pL_HuH.js} +1 -1
  132. package/components/p-D0xd6h3Q.js +4 -0
  133. package/components/p-D28LaDuR.js +4 -0
  134. package/components/p-D7-vHX0A.js +4 -0
  135. package/components/p-D9KqizZs.js +4 -0
  136. package/components/p-DIZE3CVV.js +4 -0
  137. package/components/p-DL8rd5jo.js +4 -0
  138. package/components/p-DRcApg6F.js +4 -0
  139. package/components/p-DTTnwMiS.js +4 -0
  140. package/components/p-DWCzVL3Y.js +4 -0
  141. package/components/p-DYmrV1HT.js +4 -0
  142. package/components/{p-DqLB8yFQ.js → p-Dcu-SAJG.js} +1 -1
  143. package/components/p-DnINLmwC.js +4 -0
  144. package/components/{p-DRugphUN.js → p-DsNz6_gM.js} +1 -1
  145. package/components/p-DtiuiOTk.js +4 -0
  146. package/components/p-DunYzubP.js +4 -0
  147. package/components/p-DwcSJ9u1.js +4 -0
  148. package/components/p-QCPSB1bo.js +4 -0
  149. package/components/p-RvtofbHn.js +4 -0
  150. package/components/p-TXPDHL13.js +4 -0
  151. package/components/p-WOFp6fXj.js +4 -0
  152. package/components/p-byZM6qHV.js +4 -0
  153. package/components/{p-C_hpsif8.js → p-ltNYIRmI.js} +1 -1
  154. package/components/p-miSGCTAU.js +4 -0
  155. package/components/p-mpdX3emm.js +4 -0
  156. package/components/p-nvqVLrWC.js +4 -0
  157. package/components/p-qiWM96Sz.js +4 -0
  158. package/components/p-vlF0Bcfd.js +4 -0
  159. package/dist/cjs/{animation-BJq0kcy2.js → animation-D5WDBRvT.js} +4 -4
  160. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-C2s3Cbal.js} +1 -1
  161. package/dist/cjs/{button-active-0mPOKmV2.js → button-active-CXI2TseG.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-PxvGiOik.js → format-ZfKtcdit.js} +40 -30
  165. package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-Bdvk3JQO.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-iUuF_76h.js → hardware-back-button-zr8zeYaH.js} +4 -4
  169. package/dist/cjs/{helpers-Cv23MFHM.js → helpers-DURh1XdY.js} +3 -3
  170. package/dist/cjs/{index-aC4x3Fk3.js → index-B7sCu6vN.js} +6 -7
  171. package/dist/cjs/{index-CIrkNXqJ.js → index-BnhnwL1o.js} +2 -2
  172. package/dist/cjs/{index-D81eLYUM.js → index-Btdix80K.js} +2 -2
  173. package/dist/cjs/{index-Ct7gcRif.js → index-CAThePqm.js} +4 -6
  174. package/dist/cjs/index-DhSx3VvD.js +429 -0
  175. package/dist/cjs/{index-BERfRao3.js → index-DsoHs7Ly.js} +5 -5
  176. package/dist/cjs/{index-CAvQ7Tka.js → index-P1nQxrpZ.js} +10 -4
  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-CFLg7uzj.js → input-shims-CPbWb84M.js} +9 -11
  180. package/dist/cjs/{input.utils-DetjmtH2.js → input.utils-CkASW3mE.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 +306 -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 +2767 -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 +418 -251
  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-B-cA6LkY.js → ionic-global-dMut1Czp.js} +13 -8
  234. package/dist/cjs/ionic.cjs.js +4 -4
  235. package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-CeaFa0y2.js} +13 -17
  236. package/dist/cjs/{item-multiple-inputs-D-gyg57c.js → item-multiple-inputs-HQO5Iy9I.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-B8-wBZqt.js → md.transition-D4Q5jny7.js} +7 -8
  242. package/dist/cjs/{notch-controller-18PzRGXd.js → notch-controller-fMfidI-7.js} +1 -1
  243. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  244. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-C2qrqpHm.js} +48 -33
  245. package/dist/cjs/select-option-render-Dh16lTnA.js +123 -0
  246. package/dist/cjs/{status-tap-BXX8H8_Y.js → status-tap-CgjQ-6jq.js} +3 -3
  247. package/dist/cjs/{swipe-back-C0GCB18x.js → swipe-back-CmfRYdWQ.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 +92 -64
  275. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  276. package/dist/collection/components/datetime/datetime.js +1038 -803
  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 +6 -7
  316. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -2
  317. package/dist/collection/components/modal/modal.js +393 -224
  318. package/dist/collection/components/modal/safe-area-utils.js +4 -5
  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/menu-controller/index.js +1 -2
  405. package/dist/collection/utils/native/haptic.js +2 -3
  406. package/dist/collection/utils/native/keyboard.js +2 -2
  407. package/dist/collection/utils/native/status-bar.js +1 -1
  408. package/dist/collection/utils/overlay-control-label.js +45 -0
  409. package/dist/collection/utils/overlays.js +38 -23
  410. package/dist/collection/utils/platform.js +4 -5
  411. package/dist/collection/utils/rtl/dir.js +1 -1
  412. package/dist/collection/utils/sanitization/index.js +276 -20
  413. package/dist/collection/utils/select-option-render.js +118 -0
  414. package/dist/collection/utils/slot-mutation-controller.js +1 -2
  415. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  416. package/dist/collection/utils/test/playwright/drag-element.js +2 -3
  417. package/dist/collection/utils/test/playwright/generator.js +3 -4
  418. package/dist/collection/utils/test/playwright/page/event-spy.js +11 -12
  419. package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
  420. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  421. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
  422. package/dist/collection/utils/test/press-keys.js +10 -17
  423. package/dist/collection/utils/theme.js +6 -1
  424. package/dist/collection/utils/transition/ios.transition.js +9 -13
  425. package/dist/collection/utils/transition/md.transition.js +3 -4
  426. package/dist/docs.json +556 -1272
  427. package/dist/esm/{animation-DLJpuoEz.js → animation-CVK55yMY.js} +4 -4
  428. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-Bk1_t4sH.js} +1 -1
  429. package/dist/esm/{button-active-BSpTQmS9.js → button-active-CdCqmeT0.js} +3 -3
  430. package/dist/esm/config-DWCzVL3Y.js +32 -0
  431. package/dist/esm/{dir-C53feagD.js → dir-B-FxiyeI.js} +1 -1
  432. package/dist/esm/{format-CAmvpAez.js → format-sMi4BZ_l.js} +41 -31
  433. package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-BfAlKlW5.js} +5 -7
  434. package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-TXPDHL13.js} +15 -8
  435. package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
  436. package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-DcHMMB9j.js} +4 -4
  437. package/dist/esm/{helpers-HEqiOzXb.js → helpers-BPcITY5s.js} +3 -3
  438. package/dist/esm/{index-BRHzoo00.js → index-B9GsUd2c.js} +2 -2
  439. package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
  440. package/dist/esm/{index-tcQvqkiX.js → index-D1CQtpUN.js} +5 -7
  441. package/dist/esm/index-DDa8edAS.js +424 -0
  442. package/dist/esm/{index-MEDq2S8l.js → index-DcUt1pPn.js} +2 -2
  443. package/dist/esm/{index-CfgBF1SE.js → index-DppOcPFQ.js} +10 -4
  444. package/dist/esm/{index-B_dQk_WE.js → index-DqVqy_Cy.js} +5 -5
  445. package/dist/esm/{index-Q6UPU0Ay.js → index-ks-BjikL.js} +6 -7
  446. package/dist/esm/index.js +16 -15
  447. package/dist/esm/{input-shims-D10mwcw1.js → input-shims-C1dCKVMO.js} +9 -11
  448. package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-Dd5xwlP6.js} +3 -4
  449. package/dist/esm/ion-accordion_2.entry.js +368 -340
  450. package/dist/esm/ion-action-sheet.entry.js +187 -76
  451. package/dist/esm/ion-alert.entry.js +272 -110
  452. package/dist/esm/ion-app_8.entry.js +306 -190
  453. package/dist/esm/ion-avatar_3.entry.js +10 -4
  454. package/dist/esm/ion-back-button.entry.js +47 -23
  455. package/dist/esm/ion-backdrop.entry.js +18 -14
  456. package/dist/esm/ion-breadcrumb_2.entry.js +199 -121
  457. package/dist/esm/ion-button_2.entry.js +138 -66
  458. package/dist/esm/ion-card_5.entry.js +82 -30
  459. package/dist/esm/ion-checkbox.entry.js +152 -101
  460. package/dist/esm/ion-chip.entry.js +17 -11
  461. package/dist/esm/ion-col_3.entry.js +134 -10
  462. package/dist/esm/ion-datetime-button.entry.js +253 -241
  463. package/dist/esm/ion-datetime.entry.js +2765 -0
  464. package/dist/esm/ion-fab_3.entry.js +139 -81
  465. package/dist/esm/ion-img.entry.js +34 -12
  466. package/dist/esm/ion-infinite-scroll_2.entry.js +99 -71
  467. package/dist/esm/ion-input-otp.entry.js +433 -370
  468. package/dist/esm/ion-input-password-toggle.entry.js +33 -19
  469. package/dist/esm/ion-input.entry.js +314 -168
  470. package/dist/esm/ion-item-option_3.entry.js +91 -51
  471. package/dist/esm/ion-item_8.entry.js +181 -82
  472. package/dist/esm/ion-loading.entry.js +145 -59
  473. package/dist/esm/ion-menu_3.entry.js +163 -101
  474. package/dist/esm/ion-modal.entry.js +418 -251
  475. package/dist/esm/ion-nav_2.entry.js +100 -157
  476. package/dist/esm/ion-picker-column-option.entry.js +37 -33
  477. package/dist/esm/ion-picker-column.entry.js +417 -405
  478. package/dist/esm/ion-picker.entry.js +401 -392
  479. package/dist/esm/ion-popover.entry.js +319 -205
  480. package/dist/esm/ion-progress-bar.entry.js +31 -25
  481. package/dist/esm/ion-radio_2.entry.js +206 -133
  482. package/dist/esm/ion-range.entry.js +302 -237
  483. package/dist/esm/ion-refresher_2.entry.js +163 -91
  484. package/dist/esm/ion-reorder_2.entry.js +53 -23
  485. package/dist/esm/ion-ripple-effect.entry.js +14 -14
  486. package/dist/esm/ion-route_4.entry.js +175 -71
  487. package/dist/esm/ion-searchbar.entry.js +291 -200
  488. package/dist/esm/ion-segment-content.entry.js +2 -2
  489. package/dist/esm/ion-segment-view.entry.js +28 -17
  490. package/dist/esm/ion-segment_2.entry.js +169 -126
  491. package/dist/esm/ion-select-modal.entry.js +104 -48
  492. package/dist/esm/ion-select_3.entry.js +760 -215
  493. package/dist/esm/ion-spinner.entry.js +24 -10
  494. package/dist/esm/ion-split-pane.entry.js +29 -16
  495. package/dist/esm/ion-tab-bar_2.entry.js +100 -41
  496. package/dist/esm/ion-tab_2.entry.js +53 -27
  497. package/dist/esm/ion-text.entry.js +11 -5
  498. package/dist/esm/ion-textarea.entry.js +263 -144
  499. package/dist/esm/ion-toast.entry.js +235 -116
  500. package/dist/esm/ion-toggle.entry.js +175 -122
  501. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-5bZ91kOL.js} +13 -8
  502. package/dist/esm/ionic.js +5 -5
  503. package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-OcwIGkv9.js} +13 -17
  504. package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-ifd3ZrqY.js} +1 -1
  505. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
  506. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
  507. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
  508. package/dist/esm/loader.js +5 -5
  509. package/dist/esm/{md.transition-D0msQmzI.js → md.transition-BetdF0bc.js} +7 -8
  510. package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-DBSn-Uat.js} +1 -1
  511. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  512. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DUzb9CQf.js} +48 -33
  513. package/dist/esm/select-option-render-DsW8svRr.js +121 -0
  514. package/dist/esm/{status-tap-Kan2W7sh.js → status-tap-C-wNhea0.js} +3 -3
  515. package/dist/esm/{swipe-back-DQ1q5MgD.js → swipe-back-D6YSgAn7.js} +5 -5
  516. package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
  517. package/dist/html.html-data.json +52 -80
  518. package/dist/ionic/index.esm.js +1 -1
  519. package/dist/ionic/ionic.esm.js +1 -1
  520. package/dist/ionic/p-01eaee58.entry.js +4 -0
  521. package/dist/ionic/p-0c567140.entry.js +4 -0
  522. package/dist/ionic/p-105bb794.entry.js +4 -0
  523. package/dist/ionic/p-10d55bb6.entry.js +4 -0
  524. package/dist/ionic/p-173a87d8.entry.js +4 -0
  525. package/dist/ionic/p-178da672.entry.js +4 -0
  526. package/dist/ionic/p-1ead2857.entry.js +4 -0
  527. package/dist/ionic/p-224e2464.entry.js +4 -0
  528. package/dist/ionic/p-2268e718.entry.js +4 -0
  529. package/dist/ionic/p-2b5283f3.entry.js +4 -0
  530. package/dist/ionic/p-2b6decac.entry.js +4 -0
  531. package/dist/ionic/p-2da5d9c6.entry.js +4 -0
  532. package/dist/ionic/p-31890acd.entry.js +4 -0
  533. package/dist/ionic/p-34ef7425.entry.js +4 -0
  534. package/dist/ionic/p-34f7c1d8.entry.js +4 -0
  535. package/dist/ionic/p-3b1e6fa4.entry.js +4 -0
  536. package/dist/ionic/p-42fefd2c.entry.js +4 -0
  537. package/dist/ionic/p-440cd489.entry.js +4 -0
  538. package/dist/ionic/{p-aaeedb6b.entry.js → p-460da491.entry.js} +1 -1
  539. package/dist/ionic/p-53f680e8.entry.js +4 -0
  540. package/dist/ionic/p-57ba508f.entry.js +4 -0
  541. package/dist/ionic/p-599e5a75.entry.js +4 -0
  542. package/dist/ionic/p-5f670a9e.entry.js +4 -0
  543. package/dist/ionic/p-63502088.entry.js +4 -0
  544. package/dist/ionic/p-6e6bf45d.entry.js +4 -0
  545. package/dist/ionic/p-6f0b6a48.entry.js +4 -0
  546. package/dist/ionic/p-7438c462.entry.js +4 -0
  547. package/dist/ionic/p-747716e7.entry.js +4 -0
  548. package/dist/ionic/p-7759fcaf.entry.js +4 -0
  549. package/dist/ionic/p-7a8338e2.entry.js +4 -0
  550. package/dist/ionic/p-80f9f1dc.entry.js +4 -0
  551. package/dist/ionic/p-83ff4dcb.entry.js +4 -0
  552. package/dist/ionic/p-86f03895.entry.js +4 -0
  553. package/dist/ionic/p-87b8d70e.entry.js +4 -0
  554. package/dist/ionic/p-888236bf.entry.js +4 -0
  555. package/dist/ionic/p-8a92ca23.entry.js +4 -0
  556. package/dist/ionic/p-8c9af4ad.entry.js +4 -0
  557. package/dist/ionic/p-9669f546.entry.js +4 -0
  558. package/dist/ionic/p-9bcd8b74.entry.js +4 -0
  559. package/dist/ionic/p-B-FxiyeI.js +4 -0
  560. package/dist/ionic/p-B2trYd8K.js +4 -0
  561. package/dist/ionic/p-BMPN55of.js +4 -0
  562. package/dist/ionic/{p-DIuEbVLu.js → p-BNKr91bi.js} +1 -1
  563. package/dist/ionic/p-BSQPZ79H.js +4 -0
  564. package/dist/ionic/p-BSzG1VcX.js +4 -0
  565. package/dist/ionic/p-BVgBHS96.js +4 -0
  566. package/dist/ionic/p-BX2IOAqC.js +4 -0
  567. package/dist/ionic/p-BhamHSw3.js +4 -0
  568. package/dist/ionic/p-BufXJ_A8.js +4 -0
  569. package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
  570. package/dist/ionic/p-C73UOs4m.js +4 -0
  571. package/{components/p-B-JJgYSG.js → dist/ionic/p-CHpEzg-o.js} +1 -1
  572. package/dist/ionic/p-CUSwMljM.js +4 -0
  573. package/dist/ionic/p-CeOSrSdu.js +4 -0
  574. package/dist/ionic/p-CfkB7_FV.js +4 -0
  575. package/dist/ionic/p-CmKf4pgI.js +4 -0
  576. package/dist/ionic/p-CnM-CMw7.js +4 -0
  577. package/dist/ionic/p-D1CQtpUN.js +5 -0
  578. package/dist/ionic/p-D5t_-oMk.js +4 -0
  579. package/dist/ionic/p-DVYb1IVZ.js +4 -0
  580. package/dist/ionic/p-DWCzVL3Y.js +4 -0
  581. package/dist/ionic/p-DfJ-SVJf.js +4 -0
  582. package/dist/ionic/p-DmXrLsoD.js +4 -0
  583. package/dist/ionic/p-DtLHAMFW.js +4 -0
  584. package/dist/ionic/p-Dtlob2JL.js +4 -0
  585. package/dist/ionic/p-F7ipfyOA.js +4 -0
  586. package/dist/ionic/{p-DoJvtrbw.js → p-I9ETXg5W.js} +1 -1
  587. package/dist/ionic/{p-Wk5HzclC.js → p-IaXd5VMv.js} +1 -1
  588. package/dist/ionic/p-T71k3C35.js +4 -0
  589. package/dist/ionic/p-TXPDHL13.js +4 -0
  590. package/dist/ionic/p-aL0G45tD.js +4 -0
  591. package/dist/ionic/p-acbb97c3.entry.js +4 -0
  592. package/dist/ionic/p-aeb85531.entry.js +4 -0
  593. package/dist/ionic/p-b157f80d.entry.js +4 -0
  594. package/dist/ionic/p-b158de5d.entry.js +4 -0
  595. package/dist/ionic/{p-c6e49f3f.entry.js → p-b40c9715.entry.js} +1 -1
  596. package/dist/ionic/p-b852101e.entry.js +4 -0
  597. package/dist/ionic/p-byZM6qHV.js +4 -0
  598. package/dist/ionic/p-c0d81bee.entry.js +4 -0
  599. package/dist/ionic/p-c8a327fb.entry.js +4 -0
  600. package/dist/ionic/p-d42ae99f.entry.js +4 -0
  601. package/dist/ionic/p-d47ff529.entry.js +4 -0
  602. package/dist/ionic/p-eHi73fGE.js +4 -0
  603. package/dist/ionic/p-eeabce92.entry.js +4 -0
  604. package/dist/ionic/p-efc66d77.entry.js +4 -0
  605. package/dist/ionic/p-f6d203dc.entry.js +4 -0
  606. package/dist/ionic/p-u2a770LZ.js +4 -0
  607. package/dist/types/components/img/img.d.ts +2 -0
  608. package/dist/types/components/input/input.d.ts +1 -1
  609. package/dist/types/components/modal/modal.d.ts +11 -4
  610. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  611. package/dist/types/components/nav/nav.d.ts +2 -22
  612. package/dist/types/components/route/route.d.ts +1 -1
  613. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  614. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  615. package/dist/types/components/select/select-interface.d.ts +31 -0
  616. package/dist/types/components/select/select.d.ts +18 -0
  617. package/dist/types/components/select-option/select-option.d.ts +42 -1
  618. package/dist/types/components.d.ts +74 -311
  619. package/dist/types/index.d.ts +1 -1
  620. package/dist/types/interface.d.ts +0 -1
  621. package/dist/types/utils/config.d.ts +0 -8
  622. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  623. package/dist/types/utils/overlays.d.ts +11 -9
  624. package/dist/types/utils/sanitization/index.d.ts +58 -2
  625. package/dist/types/utils/select-option-render.d.ts +53 -0
  626. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  627. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  628. package/hydrate/index.js +10278 -7052
  629. package/hydrate/index.mjs +10278 -7052
  630. package/package.json +54 -11
  631. package/components/ion-picker-legacy-column.d.ts +0 -11
  632. package/components/ion-picker-legacy-column.js +0 -4
  633. package/components/ion-picker-legacy.d.ts +0 -11
  634. package/components/ion-picker-legacy.js +0 -4
  635. package/components/p-A3O24YmY.js +0 -4
  636. package/components/p-ABkNVeU9.js +0 -4
  637. package/components/p-B9jFTlwE.js +0 -4
  638. package/components/p-BLmJ0zRm.js +0 -4
  639. package/components/p-BMI53wYL.js +0 -4
  640. package/components/p-BSEgsdFI.js +0 -4
  641. package/components/p-BTEOs1at.js +0 -4
  642. package/components/p-BlIAuGv2.js +0 -4
  643. package/components/p-Bnsn6KaP.js +0 -4
  644. package/components/p-BsBCoGa-.js +0 -4
  645. package/components/p-Bz0dSlXZ.js +0 -4
  646. package/components/p-C53feagD.js +0 -4
  647. package/components/p-CHqRYvYm.js +0 -4
  648. package/components/p-CQGnMY3n.js +0 -4
  649. package/components/p-CSZf8_j0.js +0 -4
  650. package/components/p-C_xFdyXe.js +0 -4
  651. package/components/p-Cf2jSDS8.js +0 -4
  652. package/components/p-Cfx4M1Bn.js +0 -4
  653. package/components/p-CkMSOsFF.js +0 -4
  654. package/components/p-Cl0B-RWe.js +0 -4
  655. package/components/p-CmR5uXej.js +0 -4
  656. package/components/p-CsNJ1ULL.js +0 -4
  657. package/components/p-CtWGkNnJ.js +0 -4
  658. package/components/p-CzCbeKys.js +0 -4
  659. package/components/p-D-aHdMxW.js +0 -4
  660. package/components/p-D0d8qTwj.js +0 -4
  661. package/components/p-D13Eaw-8.js +0 -4
  662. package/components/p-D6Ynv7Xh.js +0 -4
  663. package/components/p-DCnGU1fF.js +0 -4
  664. package/components/p-DGvrK8dD.js +0 -4
  665. package/components/p-DHTSTb52.js +0 -4
  666. package/components/p-DJZp0KTQ.js +0 -4
  667. package/components/p-DOFCbuQR.js +0 -4
  668. package/components/p-DV5mPYQS.js +0 -4
  669. package/components/p-DWkAgceV.js +0 -4
  670. package/components/p-DiVJyqlX.js +0 -4
  671. package/components/p-DqZAXv2t.js +0 -4
  672. package/components/p-KEFO0w3i.js +0 -4
  673. package/components/p-Osve4qkc.js +0 -4
  674. package/components/p-SLS1rDZM.js +0 -4
  675. package/components/p-VWbRkLT7.js +0 -4
  676. package/components/p-aJ6PBUvj.js +0 -4
  677. package/components/p-cyNmxje6.js +0 -4
  678. package/components/p-gAg0kXZp.js +0 -4
  679. package/components/p-j5IxBIan.js +0 -4
  680. package/components/p-k_E4tX5Z.js +0 -4
  681. package/components/p-oD4kcBRX.js +0 -4
  682. package/components/p-rCa2eL0j.js +0 -4
  683. package/components/p-scxfI1Dd.js +0 -4
  684. package/components/p-sijaAIYG.js +0 -4
  685. package/components/p-yzCsOZE2.js +0 -4
  686. package/dist/cjs/config-xninhj0J.js +0 -201
  687. package/dist/cjs/ion-datetime_3.cjs.entry.js +0 -3164
  688. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  689. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  690. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  691. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  692. package/dist/collection/components/picker-legacy/picker.js +0 -890
  693. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  694. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  695. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  696. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  697. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  698. package/dist/esm/config-DQCONYYp.js +0 -195
  699. package/dist/esm/ion-datetime_3.entry.js +0 -3160
  700. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  701. package/dist/ionic/p-06c232a4.entry.js +0 -4
  702. package/dist/ionic/p-0dc33652.entry.js +0 -4
  703. package/dist/ionic/p-0fa9c382.entry.js +0 -4
  704. package/dist/ionic/p-10e833ef.entry.js +0 -4
  705. package/dist/ionic/p-20b1a044.entry.js +0 -4
  706. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  707. package/dist/ionic/p-27d30585.entry.js +0 -4
  708. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  709. package/dist/ionic/p-2b204c59.entry.js +0 -4
  710. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  711. package/dist/ionic/p-2fa58e80.entry.js +0 -4
  712. package/dist/ionic/p-3353c229.entry.js +0 -4
  713. package/dist/ionic/p-34586ead.entry.js +0 -4
  714. package/dist/ionic/p-37e720da.entry.js +0 -4
  715. package/dist/ionic/p-390ca786.entry.js +0 -4
  716. package/dist/ionic/p-3ae5f277.entry.js +0 -4
  717. package/dist/ionic/p-4654ae1c.entry.js +0 -4
  718. package/dist/ionic/p-4745f534.entry.js +0 -4
  719. package/dist/ionic/p-4858af1f.entry.js +0 -4
  720. package/dist/ionic/p-485fda23.entry.js +0 -4
  721. package/dist/ionic/p-4ac4f3d6.entry.js +0 -4
  722. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  723. package/dist/ionic/p-4e92a11f.entry.js +0 -4
  724. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  725. package/dist/ionic/p-50e1194a.entry.js +0 -4
  726. package/dist/ionic/p-5d1da0a2.entry.js +0 -4
  727. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  728. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  729. package/dist/ionic/p-75dc25ba.entry.js +0 -4
  730. package/dist/ionic/p-7c319341.entry.js +0 -4
  731. package/dist/ionic/p-829367ed.entry.js +0 -4
  732. package/dist/ionic/p-84d5ce05.entry.js +0 -4
  733. package/dist/ionic/p-874b4bd8.entry.js +0 -4
  734. package/dist/ionic/p-8eb8ee76.entry.js +0 -4
  735. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  736. package/dist/ionic/p-9eeaBrnk.js +0 -4
  737. package/dist/ionic/p-9f1103ce.entry.js +0 -4
  738. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  739. package/dist/ionic/p-BGqMS-oh.js +0 -4
  740. package/dist/ionic/p-BTEOs1at.js +0 -4
  741. package/dist/ionic/p-BUFIpxKM.js +0 -4
  742. package/dist/ionic/p-C0eMdTCW.js +0 -4
  743. package/dist/ionic/p-C53feagD.js +0 -4
  744. package/dist/ionic/p-CFlfIb2g.js +0 -4
  745. package/dist/ionic/p-CKvCXMs9.js +0 -4
  746. package/dist/ionic/p-Cl0B-RWe.js +0 -4
  747. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  748. package/dist/ionic/p-Cx3IXROA.js +0 -4
  749. package/dist/ionic/p-D-3ycHmd.js +0 -4
  750. package/dist/ionic/p-D13Eaw-8.js +0 -4
  751. package/dist/ionic/p-D4uTWt4-.js +0 -4
  752. package/dist/ionic/p-DSG2s2Eb.js +0 -4
  753. package/dist/ionic/p-Dfbt-q2k.js +0 -4
  754. package/dist/ionic/p-DiVJyqlX.js +0 -4
  755. package/dist/ionic/p-DqN5EA2O.js +0 -4
  756. package/dist/ionic/p-DzWaWHGc.js +0 -4
  757. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  758. package/dist/ionic/p-SNAkTDfm.js +0 -4
  759. package/dist/ionic/p-VAemlbDS.js +0 -4
  760. package/dist/ionic/p-a3bdcae6.entry.js +0 -4
  761. package/dist/ionic/p-ad306193.entry.js +0 -4
  762. package/dist/ionic/p-b6a7397c.entry.js +0 -4
  763. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  764. package/dist/ionic/p-c38b648e.entry.js +0 -4
  765. package/dist/ionic/p-c4d8641b.entry.js +0 -4
  766. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  767. package/dist/ionic/p-d889ff6d.entry.js +0 -4
  768. package/dist/ionic/p-dfa8d673.entry.js +0 -4
  769. package/dist/ionic/p-e0be05c5.entry.js +0 -4
  770. package/dist/ionic/p-ef4c3bee.entry.js +0 -4
  771. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  772. package/dist/ionic/p-mjKAFv89.js +0 -4
  773. package/dist/ionic/p-tcQvqkiX.js +0 -5
  774. package/dist/ionic/p-viFHDgRs.js +0 -4
  775. package/dist/ionic/p-xWb6fgfq.js +0 -4
  776. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  777. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  778. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  779. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  780. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  781. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
  782. /package/components/{p-CO7fmmxt.js → p-LpMHEu3v.js} +0 -0
@@ -1,20 +1,20 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, e as config, f as printIonWarning, h, d as Host, g as getElement, c as createEvent, a as readTask, i as forceUpdate, w as writeTask, j as printIonError } from './index-tcQvqkiX.js';
5
- import { shouldUseCloseWatcher } from './hardware-back-button-B93Gru0Y.js';
6
- import { a as isPlatform, b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
7
- import { i as inheritAriaAttributes, h as hasLazyBuild, c as componentOnReady, e as clamp, s as shallowEqualStringMap } from './helpers-HEqiOzXb.js';
8
- import { i as isRTL } from './dir-C53feagD.js';
9
- import { c as createColorClasses, h as hostContext } from './theme-DiVJyqlX.js';
10
- import { a as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-MEDq2S8l.js';
11
- import { c as createKeyboardController } from './keyboard-controller-BaaVITYt.js';
4
+ import { r as registerInstance, g as getElement, e as config, f as printIonWarning, h, d as Host, c as createEvent, a as readTask, i as forceUpdate, w as writeTask, j as printIonError } from './index-D1CQtpUN.js';
5
+ import { shouldUseCloseWatcher } from './hardware-back-button-DcHMMB9j.js';
6
+ import { a as isPlatform, b as getIonMode } from './ionic-global-5bZ91kOL.js';
7
+ import { i as inheritAriaAttributes, h as hasLazyBuild, c as componentOnReady, e as clamp, s as shallowEqualStringMap } from './helpers-BPcITY5s.js';
8
+ import { i as isRTL } from './dir-B-FxiyeI.js';
9
+ import { c as createColorClasses, h as hostContext } from './theme-byZM6qHV.js';
10
+ import { a as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-DcUt1pPn.js';
11
+ import { c as createKeyboardController } from './keyboard-controller-DEwoa1ev.js';
12
12
  import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
13
- import { a as attachComponent, d as detachComponent } from './framework-delegate-FnPGymXL.js';
13
+ import { a as attachComponent, d as detachComponent } from './framework-delegate-BfAlKlW5.js';
14
14
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
15
- import { t as transition } from './index-B_dQk_WE.js';
15
+ import { t as transition } from './index-DqVqy_Cy.js';
16
16
  import './index-ZjP4CjeZ.js';
17
- import './keyboard-CUw4ekVy.js';
17
+ import './keyboard-DAF8GNJ9.js';
18
18
  import './capacitor-CFERIeaU.js';
19
19
 
20
20
  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}`;
@@ -23,15 +23,18 @@ const App = class {
23
23
  constructor(hostRef) {
24
24
  registerInstance(this, hostRef);
25
25
  }
26
+ focusVisible;
27
+ loadTimeout;
28
+ get el() { return getElement(this); }
26
29
  componentDidLoad() {
27
30
  {
28
31
  this.rIC(async () => {
29
32
  const isHybrid = isPlatform(window, 'hybrid');
30
33
  if (!config.getBoolean('_testing')) {
31
- import('./index-BRHzoo00.js').then((module) => module.startTapClick(config));
34
+ import('./index-B9GsUd2c.js').then((module) => module.startTapClick(config));
32
35
  }
33
36
  if (config.getBoolean('statusTap', isHybrid)) {
34
- import('./status-tap-Kan2W7sh.js').then((module) => module.startStatusTap());
37
+ import('./status-tap-C-wNhea0.js').then((module) => module.startStatusTap());
35
38
  }
36
39
  if (config.getBoolean('inputShims', needInputShims())) {
37
40
  /**
@@ -39,9 +42,9 @@ const App = class {
39
42
  * platforms proceed into this block.
40
43
  */
41
44
  const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
42
- import('./input-shims-D10mwcw1.js').then((module) => module.startInputShims(config, platform));
45
+ import('./input-shims-C1dCKVMO.js').then((module) => module.startInputShims(config, platform));
43
46
  }
44
- const hardwareBackButtonModule = await import('./hardware-back-button-B93Gru0Y.js');
47
+ const hardwareBackButtonModule = await import('./hardware-back-button-DcHMMB9j.js');
45
48
  const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
46
49
  if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
47
50
  hardwareBackButtonModule.startHardwareBackButton();
@@ -57,7 +60,7 @@ const App = class {
57
60
  hardwareBackButtonModule.blockHardwareBackButton();
58
61
  }
59
62
  if (typeof window !== 'undefined') {
60
- import('./keyboard-ywgs5efA.js').then((module) => module.startKeyboardAssist(window));
63
+ import('./keyboard-Cj8mLJeq.js').then((module) => module.startKeyboardAssist(window));
61
64
  }
62
65
  import('./focus-visible-BmVRXR1y.js').then((module) => (this.focusVisible = module.startFocusVisible()));
63
66
  });
@@ -100,7 +103,6 @@ const App = class {
100
103
  'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
101
104
  } }));
102
105
  }
103
- get el() { return getElement(this); }
104
106
  };
105
107
  const needInputShims = () => {
106
108
  /**
@@ -130,20 +132,20 @@ const buttonsMdCss = () => `.sc-ion-buttons-md-h{display:-ms-flexbox;display:fle
130
132
  const Buttons = class {
131
133
  constructor(hostRef) {
132
134
  registerInstance(this, hostRef);
133
- /**
134
- * If true, buttons will disappear when its
135
- * parent toolbar has fully collapsed if the toolbar
136
- * is not the first toolbar. If the toolbar is the
137
- * first toolbar, the buttons will be hidden and will
138
- * only be shown once all toolbars have fully collapsed.
139
- *
140
- * Only applies in `ios` mode with `collapse` set to
141
- * `true` on `ion-header`.
142
- *
143
- * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
144
- */
145
- this.collapse = false;
146
135
  }
136
+ /**
137
+ * If true, buttons will disappear when its
138
+ * parent toolbar has fully collapsed if the toolbar
139
+ * is not the first toolbar. If the toolbar is the
140
+ * first toolbar, the buttons will be hidden and will
141
+ * only be shown once all toolbars have fully collapsed.
142
+ *
143
+ * Only applies in `ios` mode with `collapse` set to
144
+ * `true` on `ion-header`.
145
+ *
146
+ * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
147
+ */
148
+ collapse = false;
147
149
  render() {
148
150
  const mode = getIonMode(this);
149
151
  return (h(Host, { key: '58c1fc5eb867d0731c63549b1ccb3ec3bbbe6e1b', class: {
@@ -165,65 +167,96 @@ const Content = class {
165
167
  this.ionScrollStart = createEvent(this, "ionScrollStart", 7);
166
168
  this.ionScroll = createEvent(this, "ionScroll", 7);
167
169
  this.ionScrollEnd = createEvent(this, "ionScrollEnd", 7);
168
- this.watchDog = null;
169
- this.isScrolling = false;
170
- this.lastScroll = 0;
171
- this.queued = false;
172
- this.cTop = -1;
173
- this.cBottom = -1;
174
- this.isMainContent = true;
175
- this.resizeTimeout = null;
176
- this.inheritedAttributes = {};
177
- this.tabsElement = null;
178
- // Detail is used in a hot loop in the scroll event, by allocating it here
179
- // V8 will be able to inline any read/write to it since it's a monomorphic class.
180
- // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
181
- this.detail = {
182
- scrollTop: 0,
183
- scrollLeft: 0,
184
- type: 'scroll',
185
- event: undefined,
186
- startX: 0,
187
- startY: 0,
188
- startTime: 0,
189
- currentX: 0,
190
- currentY: 0,
191
- velocityX: 0,
192
- velocityY: 0,
193
- deltaX: 0,
194
- deltaY: 0,
195
- currentTime: 0,
196
- data: undefined,
197
- isScrolling: true,
198
- };
199
- /**
200
- * If `true`, the content will scroll behind the headers
201
- * and footers. This effect can easily be seen by setting the toolbar
202
- * to transparent.
203
- */
204
- this.fullscreen = false;
205
- /**
206
- * Controls where the fixed content is placed relative to the main content
207
- * in the DOM. This can be used to control the order in which fixed elements
208
- * receive keyboard focus.
209
- * For example, if a FAB in the fixed slot should receive keyboard focus before
210
- * the main page content, set this property to `'before'`.
211
- */
212
- this.fixedSlotPlacement = 'after';
213
- /**
214
- * If you want to enable the content scrolling in the X axis, set this property to `true`.
215
- */
216
- this.scrollX = false;
217
- /**
218
- * If you want to disable the content scrolling in the Y axis, set this property to `false`.
219
- */
220
- this.scrollY = true;
221
- /**
222
- * Because of performance reasons, ionScroll events are disabled by default, in order to enable them
223
- * and start listening from (ionScroll), set this property to `true`.
224
- */
225
- this.scrollEvents = false;
226
170
  }
171
+ watchDog = null;
172
+ isScrolling = false;
173
+ lastScroll = 0;
174
+ queued = false;
175
+ cTop = -1;
176
+ cBottom = -1;
177
+ scrollEl;
178
+ backgroundContentEl;
179
+ isMainContent = true;
180
+ resizeTimeout = null;
181
+ inheritedAttributes = {};
182
+ tabsElement = null;
183
+ tabsLoadCallback;
184
+ // Detail is used in a hot loop in the scroll event, by allocating it here
185
+ // V8 will be able to inline any read/write to it since it's a monomorphic class.
186
+ // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
187
+ detail = {
188
+ scrollTop: 0,
189
+ scrollLeft: 0,
190
+ type: 'scroll',
191
+ event: undefined,
192
+ startX: 0,
193
+ startY: 0,
194
+ startTime: 0,
195
+ currentX: 0,
196
+ currentY: 0,
197
+ velocityX: 0,
198
+ velocityY: 0,
199
+ deltaX: 0,
200
+ deltaY: 0,
201
+ currentTime: 0,
202
+ data: undefined,
203
+ isScrolling: true,
204
+ };
205
+ get el() { return getElement(this); }
206
+ /**
207
+ * The color to use from your application's color palette.
208
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
209
+ * For more information on colors, see [theming](/docs/theming/basics).
210
+ */
211
+ color;
212
+ /**
213
+ * If `true`, the content will scroll behind the headers
214
+ * and footers. This effect can easily be seen by setting the toolbar
215
+ * to transparent.
216
+ */
217
+ fullscreen = false;
218
+ /**
219
+ * Controls where the fixed content is placed relative to the main content
220
+ * in the DOM. This can be used to control the order in which fixed elements
221
+ * receive keyboard focus.
222
+ * For example, if a FAB in the fixed slot should receive keyboard focus before
223
+ * the main page content, set this property to `'before'`.
224
+ */
225
+ fixedSlotPlacement = 'after';
226
+ /**
227
+ * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce.
228
+ * If the content exceeds the bounds of ionContent, nothing will change.
229
+ * Note, this does not disable the system bounce on iOS. That is an OS level setting.
230
+ */
231
+ forceOverscroll;
232
+ /**
233
+ * If you want to enable the content scrolling in the X axis, set this property to `true`.
234
+ */
235
+ scrollX = false;
236
+ /**
237
+ * If you want to disable the content scrolling in the Y axis, set this property to `false`.
238
+ */
239
+ scrollY = true;
240
+ /**
241
+ * Because of performance reasons, ionScroll events are disabled by default, in order to enable them
242
+ * and start listening from (ionScroll), set this property to `true`.
243
+ */
244
+ scrollEvents = false;
245
+ /**
246
+ * Emitted when the scroll has started. This event is disabled by default.
247
+ * Set `scrollEvents` to `true` to enable.
248
+ */
249
+ ionScrollStart;
250
+ /**
251
+ * Emitted while scrolling. This event is disabled by default.
252
+ * Set `scrollEvents` to `true` to enable.
253
+ */
254
+ ionScroll;
255
+ /**
256
+ * Emitted when the scroll has ended. This event is disabled by default.
257
+ * Set `scrollEvents` to `true` to enable.
258
+ */
259
+ ionScrollEnd;
227
260
  componentWillLoad() {
228
261
  this.inheritedAttributes = inheritAriaAttributes(this.el);
229
262
  }
@@ -522,7 +555,7 @@ const Content = class {
522
555
  const forceOverscroll = this.shouldForceOverscroll();
523
556
  const transitionShadow = mode === 'ios';
524
557
  this.resize();
525
- return (h(Host, Object.assign({ key: '8c1bc4a4df8698d3884741eb38512dc059210c50', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
558
+ return (h(Host, { key: '8c1bc4a4df8698d3884741eb38512dc059210c50', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
526
559
  [mode]: true,
527
560
  'content-fullscreen': this.fullscreen,
528
561
  'content-sizing': hostContext('ion-popover', this.el),
@@ -531,22 +564,20 @@ const Content = class {
531
564
  }), style: {
532
565
  '--offset-top': `${this.cTop}px`,
533
566
  '--offset-bottom': `${this.cBottom}px`,
534
- } }, inheritedAttributes), h("div", { key: '5e7412549b51ef7543d9378ecab9aac6bc461588', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '33f6fbf7e1e027c7cbd2dda95b487f18dc648cef', class: {
567
+ }, ...inheritedAttributes }, h("div", { key: '5e7412549b51ef7543d9378ecab9aac6bc461588', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '33f6fbf7e1e027c7cbd2dda95b487f18dc648cef', class: {
535
568
  'inner-scroll': true,
536
569
  'scroll-x': scrollX,
537
570
  'scroll-y': scrollY,
538
571
  overscroll: (scrollX || scrollY) && forceOverscroll,
539
572
  }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '00c8fe7b9e73533c702273c9457d274195d54e98' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
540
573
  }
541
- get el() { return getElement(this); }
542
574
  };
543
575
  const getParentElement = (el) => {
544
- var _a;
545
576
  if (el.parentElement) {
546
577
  // normal element with a parent element
547
578
  return el.parentElement;
548
579
  }
549
- if ((_a = el.parentNode) === null || _a === void 0 ? void 0 : _a.host) {
580
+ if (el.parentNode?.host) {
550
581
  // shadow dom's document fragment
551
582
  return el.parentNode.host;
552
583
  }
@@ -633,48 +664,27 @@ const footerMdCss = () => `ion-footer{display:block;position:relative;-ms-flex-o
633
664
  const Footer = class {
634
665
  constructor(hostRef) {
635
666
  registerInstance(this, hostRef);
636
- this.keyboardCtrl = null;
637
- this.keyboardCtrlPromise = null;
638
- this.keyboardVisible = false;
639
- /**
640
- * If `true`, the footer will be translucent.
641
- * Only applies when the mode is `"ios"` and the device supports
642
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
643
- *
644
- * Note: In order to scroll content behind the footer, the `fullscreen`
645
- * attribute needs to be set on the content.
646
- */
647
- this.translucent = false;
648
- this.checkCollapsibleFooter = () => {
649
- const mode = getIonMode(this);
650
- if (mode !== 'ios') {
651
- return;
652
- }
653
- const { collapse } = this;
654
- const hasFade = collapse === 'fade';
655
- this.destroyCollapsibleFooter();
656
- if (hasFade) {
657
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
658
- const contentEl = pageEl ? findIonContent(pageEl) : null;
659
- if (!contentEl) {
660
- printIonContentErrorMsg(this.el);
661
- return;
662
- }
663
- this.setupFadeFooter(contentEl);
664
- }
665
- };
666
- this.setupFadeFooter = async (contentEl) => {
667
- const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
668
- /**
669
- * Handle fading of toolbars on scroll
670
- */
671
- this.contentScrollCallback = () => {
672
- handleFooterFade(scrollEl, this.el);
673
- };
674
- scrollEl.addEventListener('scroll', this.contentScrollCallback);
675
- handleFooterFade(scrollEl, this.el);
676
- };
677
667
  }
668
+ scrollEl;
669
+ contentScrollCallback;
670
+ keyboardCtrl = null;
671
+ keyboardCtrlPromise = null;
672
+ keyboardVisible = false;
673
+ get el() { return getElement(this); }
674
+ /**
675
+ * Describes the scroll effect that will be applied to the footer.
676
+ * Only applies in iOS mode.
677
+ */
678
+ collapse;
679
+ /**
680
+ * If `true`, the footer will be translucent.
681
+ * Only applies when the mode is `"ios"` and the device supports
682
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
683
+ *
684
+ * Note: In order to scroll content behind the footer, the `fullscreen`
685
+ * attribute needs to be set on the content.
686
+ */
687
+ translucent = false;
678
688
  componentDidLoad() {
679
689
  this.checkCollapsibleFooter();
680
690
  }
@@ -718,6 +728,35 @@ const Footer = class {
718
728
  this.keyboardCtrl = null;
719
729
  }
720
730
  }
731
+ checkCollapsibleFooter = () => {
732
+ const mode = getIonMode(this);
733
+ if (mode !== 'ios') {
734
+ return;
735
+ }
736
+ const { collapse } = this;
737
+ const hasFade = collapse === 'fade';
738
+ this.destroyCollapsibleFooter();
739
+ if (hasFade) {
740
+ const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
741
+ const contentEl = pageEl ? findIonContent(pageEl) : null;
742
+ if (!contentEl) {
743
+ printIonContentErrorMsg(this.el);
744
+ return;
745
+ }
746
+ this.setupFadeFooter(contentEl);
747
+ }
748
+ };
749
+ setupFadeFooter = async (contentEl) => {
750
+ const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
751
+ /**
752
+ * Handle fading of toolbars on scroll
753
+ */
754
+ this.contentScrollCallback = () => {
755
+ handleFooterFade(scrollEl, this.el);
756
+ };
757
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
758
+ handleFooterFade(scrollEl, this.el);
759
+ };
721
760
  destroyCollapsibleFooter() {
722
761
  if (this.scrollEl && this.contentScrollCallback) {
723
762
  this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
@@ -728,7 +767,7 @@ const Footer = class {
728
767
  const { translucent, collapse } = this;
729
768
  const mode = getIonMode(this);
730
769
  const tabs = this.el.closest('ion-tabs');
731
- const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
770
+ const tabBar = tabs?.querySelector(':scope > ion-tab-bar');
732
771
  return (h(Host, { key: '71939c4bbaef5062532a99ee2e33574102a9abad', role: "contentinfo", class: {
733
772
  [mode]: true,
734
773
  // Used internally for styling
@@ -739,7 +778,6 @@ const Footer = class {
739
778
  [`footer-collapse-${collapse}`]: collapse !== undefined,
740
779
  } }, mode === 'ios' && translucent && h("div", { key: '2fa14f61661c47c661cecd696176728d6eafa74f', class: "footer-background" }), h("slot", { key: '8e63696e7c528d5c38201e546bf08135290d0945' })));
741
780
  }
742
- get el() { return getElement(this); }
743
781
  };
744
782
  Footer.style = {
745
783
  ios: footerIosCss(),
@@ -985,28 +1023,29 @@ const headerMdCss = () => `ion-header{display:block;position:relative;-ms-flex-o
985
1023
  const Header = class {
986
1024
  constructor(hostRef) {
987
1025
  registerInstance(this, hostRef);
988
- this.inheritedAttributes = {};
989
- /**
990
- * If `true`, the header will be translucent.
991
- * Only applies when the mode is `"ios"` and the device supports
992
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
993
- *
994
- * Note: In order to scroll content behind the header, the `fullscreen`
995
- * attribute needs to be set on the content.
996
- */
997
- this.translucent = false;
998
- this.setupFadeHeader = async (contentEl, condenseHeader) => {
999
- const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
1000
- /**
1001
- * Handle fading of toolbars on scroll
1002
- */
1003
- this.contentScrollCallback = () => {
1004
- handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1005
- };
1006
- scrollEl.addEventListener('scroll', this.contentScrollCallback);
1007
- handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1008
- };
1009
1026
  }
1027
+ scrollEl;
1028
+ contentScrollCallback;
1029
+ intersectionObserver;
1030
+ collapsibleMainHeader;
1031
+ inheritedAttributes = {};
1032
+ get el() { return getElement(this); }
1033
+ /**
1034
+ * Describes the scroll effect that will be applied to the header.
1035
+ * Only applies in iOS mode.
1036
+ *
1037
+ * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1038
+ */
1039
+ collapse;
1040
+ /**
1041
+ * If `true`, the header will be translucent.
1042
+ * Only applies when the mode is `"ios"` and the device supports
1043
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1044
+ *
1045
+ * Note: In order to scroll content behind the header, the `fullscreen`
1046
+ * attribute needs to be set on the content.
1047
+ */
1048
+ translucent = false;
1010
1049
  componentWillLoad() {
1011
1050
  this.inheritedAttributes = inheritAriaAttributes(this.el);
1012
1051
  }
@@ -1050,6 +1089,17 @@ const Header = class {
1050
1089
  await this.setupFadeHeader(contentEl, condenseHeader);
1051
1090
  }
1052
1091
  }
1092
+ setupFadeHeader = async (contentEl, condenseHeader) => {
1093
+ const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
1094
+ /**
1095
+ * Handle fading of toolbars on scroll
1096
+ */
1097
+ this.contentScrollCallback = () => {
1098
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1099
+ };
1100
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
1101
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1102
+ };
1053
1103
  destroyCollapsibleHeader() {
1054
1104
  if (this.intersectionObserver) {
1055
1105
  this.intersectionObserver.disconnect();
@@ -1121,16 +1171,15 @@ const Header = class {
1121
1171
  const isCondensed = collapse === 'condense';
1122
1172
  // banner role must be at top level, so remove role if inside a menu
1123
1173
  const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, mode);
1124
- return (h(Host, Object.assign({ key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
1174
+ return (h(Host, { key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
1125
1175
  [mode]: true,
1126
1176
  // Used internally for styling
1127
1177
  [`header-${mode}`]: true,
1128
1178
  [`header-translucent`]: this.translucent,
1129
1179
  [`header-collapse-${collapse}`]: true,
1130
1180
  [`header-translucent-${mode}`]: this.translucent,
1131
- } }, inheritedAttributes), mode === 'ios' && translucent && h("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), h("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
1181
+ }, ...inheritedAttributes }, mode === 'ios' && translucent && h("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), h("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
1132
1182
  }
1133
- get el() { return getElement(this); }
1134
1183
  };
1135
1184
  Header.style = {
1136
1185
  ios: headerIosCss(),
@@ -1145,22 +1194,47 @@ const RouterOutlet = class {
1145
1194
  this.ionNavWillLoad = createEvent(this, "ionNavWillLoad", 7);
1146
1195
  this.ionNavWillChange = createEvent(this, "ionNavWillChange", 3);
1147
1196
  this.ionNavDidChange = createEvent(this, "ionNavDidChange", 3);
1148
- this.lockController = createLockController();
1149
- this.gestureOrAnimationInProgress = false;
1150
- /**
1151
- * The mode determines which platform styles to use.
1152
- */
1153
- this.mode = getIonMode(this);
1154
- /**
1155
- * If `true`, the router-outlet should animate the transition of components.
1156
- */
1157
- this.animated = true;
1158
1197
  }
1198
+ lockController = createLockController();
1199
+ activeEl;
1200
+ // TODO(FW-2832): types
1201
+ activeComponent;
1202
+ activeParams;
1203
+ gesture;
1204
+ ani;
1205
+ gestureOrAnimationInProgress = false;
1206
+ get el() { return getElement(this); }
1207
+ /**
1208
+ * The mode determines which platform styles to use.
1209
+ */
1210
+ mode = getIonMode(this);
1211
+ /** @internal */
1212
+ delegate;
1213
+ /**
1214
+ * If `true`, the router-outlet should animate the transition of components.
1215
+ */
1216
+ animated = true;
1217
+ /** This property allows to create custom transition using AnimationBuilder functions. */
1218
+ animation;
1219
+ /**
1220
+ * If `true`, the router-outlet should allow navigation via swipe-to-go-back gesture.
1221
+ * Defaults to `true` for `"ios"` mode and `false` for `"md"` mode.
1222
+ */
1223
+ swipeGesture;
1224
+ swipeGestureChanged() {
1225
+ this.updateGestureEnabled();
1226
+ }
1227
+ /** @internal */
1228
+ swipeHandler;
1159
1229
  swipeHandlerChanged() {
1160
- if (this.gesture) {
1161
- this.gesture.enable(this.swipeHandler !== undefined);
1162
- }
1230
+ this.updateGestureEnabled();
1163
1231
  }
1232
+ /** @internal */
1233
+ ionNavWillLoad;
1234
+ /** @internal */
1235
+ ionNavWillChange;
1236
+ /** @internal */
1237
+ ionNavDidChange;
1164
1238
  async connectedCallback() {
1165
1239
  const onStart = () => {
1166
1240
  this.gestureOrAnimationInProgress = true;
@@ -1168,7 +1242,7 @@ const RouterOutlet = class {
1168
1242
  this.swipeHandler.onStart();
1169
1243
  }
1170
1244
  };
1171
- this.gesture = (await import('./swipe-back-DQ1q5MgD.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) => {
1245
+ this.gesture = (await import('./swipe-back-D6YSgAn7.js')).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => this.ani?.progressStep(step), (shouldComplete, step, dur) => {
1172
1246
  if (this.ani) {
1173
1247
  this.ani.onFinish(() => {
1174
1248
  this.gestureOrAnimationInProgress = false;
@@ -1199,11 +1273,21 @@ const RouterOutlet = class {
1199
1273
  this.gestureOrAnimationInProgress = false;
1200
1274
  }
1201
1275
  });
1202
- this.swipeHandlerChanged();
1276
+ if (this.swipeGesture === undefined) {
1277
+ this.swipeGesture = config.getBoolean('swipeBackEnabled', this.mode === 'ios');
1278
+ }
1279
+ else {
1280
+ this.updateGestureEnabled();
1281
+ }
1203
1282
  }
1204
1283
  componentWillLoad() {
1205
1284
  this.ionNavWillLoad.emit();
1206
1285
  }
1286
+ updateGestureEnabled() {
1287
+ if (this.gesture) {
1288
+ this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
1289
+ }
1290
+ }
1207
1291
  disconnectedCallback() {
1208
1292
  if (this.gesture) {
1209
1293
  this.gesture.destroy();
@@ -1270,16 +1354,19 @@ const RouterOutlet = class {
1270
1354
  const { el, mode } = this;
1271
1355
  const animated = this.animated && config.getBoolean('animated', true);
1272
1356
  const animationBuilder = opts.animationBuilder || this.animation || config.get('navAnimation');
1273
- await transition(Object.assign(Object.assign({ mode,
1357
+ await transition({
1358
+ mode,
1274
1359
  animated,
1275
1360
  enteringEl,
1276
- leavingEl, baseEl: el,
1361
+ leavingEl,
1362
+ baseEl: el,
1277
1363
  /**
1278
1364
  * We need to wait for all Stencil components
1279
1365
  * to be ready only when using the lazy
1280
1366
  * loaded bundle.
1281
1367
  */
1282
- deepWait: hasLazyBuild(el), progressCallback: opts.progressAnimation
1368
+ deepWait: hasLazyBuild(el),
1369
+ progressCallback: opts.progressAnimation
1283
1370
  ? (ani) => {
1284
1371
  /**
1285
1372
  * Because this progress callback is called asynchronously
@@ -1308,16 +1395,21 @@ const RouterOutlet = class {
1308
1395
  this.ani = ani;
1309
1396
  }
1310
1397
  }
1311
- : undefined }, opts), { animationBuilder }));
1398
+ : undefined,
1399
+ ...opts,
1400
+ animationBuilder,
1401
+ });
1312
1402
  // emit nav changed event
1313
1403
  this.ionNavDidChange.emit();
1314
1404
  return true;
1315
1405
  }
1316
1406
  render() {
1317
- return h("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
1407
+ return h("slot", { key: 'ce09e6fbba7b0a2276cdde5245bb37c9a162c1c7' });
1318
1408
  }
1319
- get el() { return getElement(this); }
1320
1409
  static get watchers() { return {
1410
+ "swipeGesture": [{
1411
+ "swipeGestureChanged": 0
1412
+ }],
1321
1413
  "swipeHandler": [{
1322
1414
  "swipeHandlerChanged": 0
1323
1415
  }]
@@ -1334,6 +1426,22 @@ const ToolbarTitle = class {
1334
1426
  registerInstance(this, hostRef);
1335
1427
  this.ionStyle = createEvent(this, "ionStyle", 7);
1336
1428
  }
1429
+ get el() { return getElement(this); }
1430
+ /**
1431
+ * The color to use from your application's color palette.
1432
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
1433
+ * For more information on colors, see [theming](/docs/theming/basics).
1434
+ */
1435
+ color;
1436
+ /**
1437
+ * The size of the toolbar title.
1438
+ */
1439
+ size;
1440
+ /**
1441
+ * Emitted when the styles change.
1442
+ * @internal
1443
+ */
1444
+ ionStyle;
1337
1445
  sizeChanged() {
1338
1446
  this.emitStyle();
1339
1447
  }
@@ -1352,13 +1460,12 @@ const ToolbarTitle = class {
1352
1460
  render() {
1353
1461
  const mode = getIonMode(this);
1354
1462
  const size = this.getSize();
1355
- return (h(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses(this.color, {
1463
+ return (h(Host, { key: 'd9317e8e66cb6112717f5a9c252658777efbd873', class: createColorClasses(this.color, {
1356
1464
  [mode]: true,
1357
1465
  [`title-${size}`]: true,
1358
1466
  'title-rtl': document.dir === 'rtl',
1359
- }) }, h("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, h("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
1467
+ }) }, h("div", { key: 'a4d011d6d409bf006d8efe33667002edb109820a', class: "toolbar-title" }, h("slot", { key: '4ca3303b957a0e5387f1e9058e5adb4c6275afcc' }))));
1360
1468
  }
1361
- get el() { return getElement(this); }
1362
1469
  static get watchers() { return {
1363
1470
  "size": [{
1364
1471
  "sizeChanged": 0
@@ -1377,8 +1484,15 @@ const toolbarMdCss = () => `:host{--border-width:0;--border-style:solid;--opacit
1377
1484
  const Toolbar = class {
1378
1485
  constructor(hostRef) {
1379
1486
  registerInstance(this, hostRef);
1380
- this.childrenStyles = new Map();
1381
1487
  }
1488
+ childrenStyles = new Map();
1489
+ get el() { return getElement(this); }
1490
+ /**
1491
+ * The color to use from your application's color palette.
1492
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
1493
+ * For more information on colors, see [theming](/docs/theming/basics).
1494
+ */
1495
+ color;
1382
1496
  componentWillLoad() {
1383
1497
  const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));
1384
1498
  const firstButtons = buttons.find((button) => {
@@ -1423,12 +1537,14 @@ const Toolbar = class {
1423
1537
  this.childrenStyles.forEach((value) => {
1424
1538
  Object.assign(childStyles, value);
1425
1539
  });
1426
- return (h(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
1427
- [mode]: true,
1428
- 'in-toolbar': hostContext('ion-toolbar', this.el),
1429
- })) }, h("div", { key: '67f5bba9c4f527c3f35bfe1313a2b85741f9b246', class: "toolbar-background", part: "background" }), h("div", { key: '085e8c68f056e5b0deb9d1606431fbeb45dae8e5', class: "toolbar-container", part: "container" }, h("slot", { key: '15227c79c3baf883fd8c43fdb7e1313453933c79', name: "start" }), h("slot", { key: '0b8a7f7e685aa31c80d9bc03446ccc3a9d07e0e8', name: "secondary" }), h("div", { key: '57e4628c1fa89df79dd80456259db961bb691404', class: "toolbar-content", part: "content" }, h("slot", { key: '82c2f6e1acf8d96db259bd8baf295881801edbd5' })), h("slot", { key: 'b2d4afb15214199f206c0a5e08b581e4c9c2f58a', name: "primary" }), h("slot", { key: 'bfb909a0c472f8834046c2ea23bef2f562167ad3', name: "end" }))));
1540
+ return (h(Host, { key: '40bad6fa7e94262438da4bbe037dcf8a5fa2df22', class: {
1541
+ ...childStyles,
1542
+ ...createColorClasses(this.color, {
1543
+ [mode]: true,
1544
+ 'in-toolbar': hostContext('ion-toolbar', this.el),
1545
+ }),
1546
+ } }, h("div", { key: 'df44c9f0fe3958116ab860b0dad79c53b89f6c59', class: "toolbar-background", part: "background" }), h("div", { key: '2169ffa576875b8d5624211cc0b4bf86191562bc', class: "toolbar-container", part: "container" }, h("slot", { key: 'c8910dcf1ce98ab427fd89c3396a67c2a75bdd07', name: "start" }), h("slot", { key: '05da24d5ef96b9eebd83b534ce02c1f7bcd06680', name: "secondary" }), h("div", { key: '090fea1541e7e2b6ad74a6ded4eadffdb471ccce', class: "toolbar-content", part: "content" }, h("slot", { key: '507e143f92f6fa59ff23d94026411fa2c74f2f8e' })), h("slot", { key: 'f79fdee472e657e26a910cb89d7551943e40e440', name: "primary" }), h("slot", { key: 'dd40fe9ed490cf4346c642e195fdb524dc6cc4f5', name: "end" }))));
1430
1547
  }
1431
- get el() { return getElement(this); }
1432
1548
  };
1433
1549
  Toolbar.style = {
1434
1550
  ios: toolbarIosCss(),