@ionic/core 8.8.19 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (799) 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--m5cCjbK.js +4 -0
  99. package/components/p-1jI5oW-W.js +4 -0
  100. package/components/{p-6J0vc7Z8.js → p-63OhffQv.js} +1 -1
  101. package/components/p-8FN7p701.js +4 -0
  102. package/components/p-B4uHHhPK.js +4 -0
  103. package/components/p-BMPN55of.js +4 -0
  104. package/components/p-BNJOu1Q2.js +4 -0
  105. package/components/p-BOvLNVKq.js +4 -0
  106. package/components/p-BSQPZ79H.js +4 -0
  107. package/components/p-BeamQXHF.js +4 -0
  108. package/components/p-BhamHSw3.js +4 -0
  109. package/components/p-Bjig0DJK.js +4 -0
  110. package/components/p-BjluhQMI.js +4 -0
  111. package/components/p-BlsIikdZ.js +4 -0
  112. package/components/p-BqPNzJf6.js +4 -0
  113. package/components/p-BrD9Xv62.js +4 -0
  114. package/components/p-BvJqoZ5R.js +4 -0
  115. package/components/p-Bz6z3Asd.js +4 -0
  116. package/components/p-C5KYjZWD.js +4 -0
  117. package/components/p-C6HnVvHO.js +4 -0
  118. package/components/p-C7jvh5Wy.js +4 -0
  119. package/components/p-C9BGR5fy.js +4 -0
  120. package/components/p-CB-y1CdP.js +4 -0
  121. package/components/p-CEW4RXZO.js +4 -0
  122. package/components/p-CHH3loEE.js +4 -0
  123. package/components/p-CJKUWjmg.js +4 -0
  124. package/components/{p-qMmFisyx.js → p-CMLAwl_N.js} +1 -1
  125. package/components/{p-C7II1iDj.js → p-C_phlPMC.js} +1 -1
  126. package/components/p-CbhUdtjf.js +4 -0
  127. package/components/p-CejmQs3h.js +4 -0
  128. package/components/p-CtZqa4HM.js +4 -0
  129. package/components/p-D7-vHX0A.js +4 -0
  130. package/components/p-D9qIVSWm.js +4 -0
  131. package/components/p-DD5fQ4EQ.js +4 -0
  132. package/components/p-DE-3iMNW.js +4 -0
  133. package/components/p-DFvZn99E.js +4 -0
  134. package/components/p-DHFt2rdc.js +4 -0
  135. package/components/p-DM-PrAoh.js +4 -0
  136. package/components/p-DSzSbVP2.js +4 -0
  137. package/components/{p--JUspHvy.js → p-DV85C0e0.js} +1 -1
  138. package/components/p-DWCzVL3Y.js +4 -0
  139. package/components/p-D_RCyzwu.js +4 -0
  140. package/components/p-D_tD8r3L.js +4 -0
  141. package/components/p-DaA_8eqt.js +4 -0
  142. package/components/p-DjCtLZbF.js +4 -0
  143. package/components/p-Dmd2xqCe.js +4 -0
  144. package/components/p-Dojwmvde.js +4 -0
  145. package/components/{p-BkKAANMJ.js → p-DwpKZ6rl.js} +1 -1
  146. package/components/p-DzRT60Tw.js +4 -0
  147. package/components/p-G0TxqHfe.js +4 -0
  148. package/components/p-G6JR-cr_.js +4 -0
  149. package/components/p-GG5GhznE.js +4 -0
  150. package/components/p-TXPDHL13.js +4 -0
  151. package/components/p-UIBJkZf8.js +4 -0
  152. package/components/p-_IKFD3ID.js +4 -0
  153. package/components/p-byZM6qHV.js +4 -0
  154. package/components/p-dKq2jIum.js +4 -0
  155. package/components/p-fruGqVHh.js +4 -0
  156. package/components/p-iYhH60Tc.js +4 -0
  157. package/components/p-ia3IDdJS.js +4 -0
  158. package/components/{p-DqLB8yFQ.js → p-ryyf_ItD.js} +1 -1
  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-AWp_ygDP.js → button-active-CVMevT9a.js} +3 -3
  162. package/dist/cjs/config-CjUbvdPW.js +36 -0
  163. package/dist/cjs/{dir-DD0jPVH3.js → dir-zwDPRE5K.js} +2 -3
  164. package/dist/cjs/{format-BUFWn4Bn.js → format-pp0Du3K-.js} +40 -30
  165. package/dist/cjs/{framework-delegate-CEzl4MEA.js → framework-delegate-Dfo5XsGv.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-DdZyl6WL.js → helpers-YPQybDph.js} +4 -4
  170. package/dist/cjs/index-B7zJsYWS.js +429 -0
  171. package/dist/cjs/{index-CukZnH1U.js → index-BLdJCcJY.js} +5 -5
  172. package/dist/cjs/{index-MWAIyVLl.js → index-DDg31ZF5.js} +3 -3
  173. package/dist/cjs/{index-DOiZqxWZ.js → index-DXsPSne6.js} +6 -7
  174. package/dist/cjs/{index-BJ2-LydH.js → index-DwlRtFZe.js} +9 -3
  175. package/dist/cjs/{index-BfaXsATC.js → index-uvry__L4.js} +31 -14
  176. package/dist/cjs/{index-DqmRDbxg.js → index-wOmugbdg.js} +1 -1
  177. package/dist/cjs/{index-CD92bI7B.js → index-zVCah4Uz.js} +2 -2
  178. package/dist/cjs/index.cjs.js +19 -19
  179. package/dist/cjs/{input-shims-CPKgrIe3.js → input-shims-Cbu1fcye.js} +10 -12
  180. package/dist/cjs/input.utils-BZdMWVrt.js +35 -0
  181. package/dist/cjs/ion-accordion_2.cjs.entry.js +369 -341
  182. package/dist/cjs/ion-action-sheet.cjs.entry.js +188 -77
  183. package/dist/cjs/ion-alert.cjs.entry.js +274 -112
  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 +48 -24
  187. package/dist/cjs/ion-backdrop.cjs.entry.js +18 -14
  188. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +200 -122
  189. package/dist/cjs/ion-button_2.cjs.entry.js +139 -67
  190. package/dist/cjs/ion-card_5.cjs.entry.js +83 -31
  191. package/dist/cjs/ion-checkbox.cjs.entry.js +153 -102
  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 +254 -242
  195. package/dist/cjs/ion-datetime.cjs.entry.js +2770 -0
  196. package/dist/cjs/ion-fab_3.cjs.entry.js +140 -82
  197. package/dist/cjs/ion-img.cjs.entry.js +35 -13
  198. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +101 -73
  199. package/dist/cjs/ion-input-otp.cjs.entry.js +435 -372
  200. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +36 -22
  201. package/dist/cjs/ion-input.cjs.entry.js +343 -212
  202. package/dist/cjs/ion-item-option_3.cjs.entry.js +95 -55
  203. package/dist/cjs/ion-item_8.cjs.entry.js +192 -93
  204. package/dist/cjs/ion-loading.cjs.entry.js +147 -61
  205. package/dist/cjs/ion-menu_3.cjs.entry.js +169 -107
  206. package/dist/cjs/ion-modal.cjs.entry.js +456 -262
  207. package/dist/cjs/ion-nav_2.cjs.entry.js +102 -159
  208. package/dist/cjs/ion-picker-column-option.cjs.entry.js +38 -34
  209. package/dist/cjs/ion-picker-column.cjs.entry.js +418 -406
  210. package/dist/cjs/ion-picker.cjs.entry.js +402 -393
  211. package/dist/cjs/ion-popover.cjs.entry.js +320 -206
  212. package/dist/cjs/ion-progress-bar.cjs.entry.js +32 -26
  213. package/dist/cjs/ion-radio_2.cjs.entry.js +208 -135
  214. package/dist/cjs/ion-range.cjs.entry.js +304 -239
  215. package/dist/cjs/ion-refresher_2.cjs.entry.js +166 -94
  216. package/dist/cjs/ion-reorder_2.cjs.entry.js +54 -24
  217. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -14
  218. package/dist/cjs/ion-route_4.cjs.entry.js +176 -72
  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 +105 -49
  224. package/dist/cjs/ion-select_3.cjs.entry.js +787 -260
  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 +101 -42
  228. package/dist/cjs/ion-tab_2.cjs.entry.js +54 -28
  229. package/dist/cjs/ion-text.cjs.entry.js +11 -5
  230. package/dist/cjs/ion-textarea.cjs.entry.js +296 -189
  231. package/dist/cjs/ion-toast.cjs.entry.js +237 -118
  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-CTiTDh3m.js → ios.transition-zTmJz8T-.js} +14 -18
  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-BpiTAaqF.js → md.transition-nb_4pUXu.js} +8 -9
  242. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  243. package/dist/cjs/{overlays-CQ_c1fko.js → overlays-KaNVDNqC.js} +48 -33
  244. package/dist/cjs/select-option-render-pULCGldr.js +123 -0
  245. package/dist/cjs/slot-mutation-controller-DPHmqXdV.js +397 -0
  246. package/dist/cjs/{status-tap-7FzRlXNr.js → status-tap-o9IIymsP.js} +4 -4
  247. package/dist/cjs/{swipe-back-DwTZiAc9.js → swipe-back-B7X9VOlH.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 +57 -26
  297. package/dist/collection/components/input/input.js +336 -206
  298. package/dist/collection/components/input/input.md.css +79 -43
  299. package/dist/collection/components/input-otp/input-otp.js +430 -368
  300. package/dist/collection/components/input-password-toggle/input-password-toggle.js +32 -19
  301. package/dist/collection/components/item/item.js +99 -53
  302. package/dist/collection/components/item-divider/item-divider.js +17 -12
  303. package/dist/collection/components/item-group/item-group.js +1 -1
  304. package/dist/collection/components/item-option/item-option.js +50 -22
  305. package/dist/collection/components/item-options/item-options.js +11 -8
  306. package/dist/collection/components/item-sliding/item-sliding.js +27 -21
  307. package/dist/collection/components/label/label.js +26 -6
  308. package/dist/collection/components/list/list.js +11 -8
  309. package/dist/collection/components/list-header/list-header.js +12 -2
  310. package/dist/collection/components/loading/loading.js +135 -51
  311. package/dist/collection/components/menu/menu.js +103 -61
  312. package/dist/collection/components/menu-button/menu-button.js +30 -21
  313. package/dist/collection/components/menu-toggle/menu-toggle.js +22 -15
  314. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  315. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  316. package/dist/collection/components/modal/gestures/sheet.js +22 -10
  317. package/dist/collection/components/modal/gestures/swipe-to-close.js +15 -3
  318. package/dist/collection/components/modal/modal.js +398 -228
  319. package/dist/collection/components/modal/safe-area-utils.js +6 -7
  320. package/dist/collection/components/modal/test/fixtures.js +3 -0
  321. package/dist/collection/components/nav/nav.js +69 -247
  322. package/dist/collection/components/nav/view-controller.js +7 -1
  323. package/dist/collection/components/nav-link/nav-link.js +21 -10
  324. package/dist/collection/components/note/note.js +8 -2
  325. package/dist/collection/components/picker/picker.js +398 -390
  326. package/dist/collection/components/picker-column/picker-column.css +3 -0
  327. package/dist/collection/components/picker-column/picker-column.js +414 -404
  328. package/dist/collection/components/picker-column-option/picker-column-option.js +33 -31
  329. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  330. package/dist/collection/components/popover/animations/ios.enter.js +1 -2
  331. package/dist/collection/components/popover/animations/md.enter.js +1 -2
  332. package/dist/collection/components/popover/popover.ios.css +15 -0
  333. package/dist/collection/components/popover/popover.js +302 -185
  334. package/dist/collection/components/popover/popover.md.css +15 -0
  335. package/dist/collection/components/popover/test/fixture.js +1 -0
  336. package/dist/collection/components/popover/utils.js +4 -6
  337. package/dist/collection/components/progress-bar/progress-bar.js +27 -23
  338. package/dist/collection/components/radio/radio.js +102 -66
  339. package/dist/collection/components/radio-group/radio-group.js +101 -66
  340. package/dist/collection/components/radio-group/test/fixtures.js +2 -0
  341. package/dist/collection/components/range/range.js +298 -234
  342. package/dist/collection/components/refresher/refresher.js +110 -78
  343. package/dist/collection/components/refresher-content/refresher-content.js +41 -4
  344. package/dist/collection/components/reorder/reorder.js +2 -1
  345. package/dist/collection/components/reorder-group/reorder-group.js +44 -15
  346. package/dist/collection/components/ripple-effect/ripple-effect.js +12 -13
  347. package/dist/collection/components/route/route.js +39 -10
  348. package/dist/collection/components/route-redirect/route-redirect.js +31 -0
  349. package/dist/collection/components/router/router.js +37 -33
  350. package/dist/collection/components/router/utils/dom.js +25 -7
  351. package/dist/collection/components/router/utils/matching.js +7 -9
  352. package/dist/collection/components/router/utils/parser.js +1 -1
  353. package/dist/collection/components/router/utils/path.js +0 -1
  354. package/dist/collection/components/router-link/router-link.js +37 -12
  355. package/dist/collection/components/router-outlet/router-outlet.js +82 -21
  356. package/dist/collection/components/row/row.js +1 -1
  357. package/dist/collection/components/searchbar/searchbar.js +289 -199
  358. package/dist/collection/components/segment/segment.js +120 -85
  359. package/dist/collection/components/segment-button/segment-button.js +43 -37
  360. package/dist/collection/components/segment-content/segment-content.js +1 -1
  361. package/dist/collection/components/segment-view/segment-view.js +26 -16
  362. package/dist/collection/components/select/select.ios.css +96 -69
  363. package/dist/collection/components/select/select.js +629 -213
  364. package/dist/collection/components/select/select.md.css +118 -85
  365. package/dist/collection/components/select-modal/select-modal.ios.css +218 -0
  366. package/dist/collection/components/select-modal/select-modal.js +92 -38
  367. package/dist/collection/components/select-modal/select-modal.md.css +164 -0
  368. package/dist/collection/components/select-modal/test/fixtures.js +8 -1
  369. package/dist/collection/components/select-option/select-option.js +110 -9
  370. package/dist/collection/components/select-popover/select-popover.ios.css +218 -0
  371. package/dist/collection/components/select-popover/select-popover.js +103 -36
  372. package/dist/collection/components/select-popover/select-popover.md.css +164 -0
  373. package/dist/collection/components/select-popover/test/fixtures.js +8 -1
  374. package/dist/collection/components/skeleton-text/skeleton-text.js +12 -8
  375. package/dist/collection/components/spinner/spinner.js +21 -9
  376. package/dist/collection/components/split-pane/split-pane.js +27 -15
  377. package/dist/collection/components/tab/tab.js +17 -6
  378. package/dist/collection/components/tab-bar/tab-bar.js +32 -14
  379. package/dist/collection/components/tab-button/tab-button.js +62 -23
  380. package/dist/collection/components/tabs/tabs.js +33 -20
  381. package/dist/collection/components/text/text.js +8 -2
  382. package/dist/collection/components/textarea/textarea.ios.css +94 -62
  383. package/dist/collection/components/textarea/textarea.js +287 -181
  384. package/dist/collection/components/textarea/textarea.md.css +103 -77
  385. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  386. package/dist/collection/components/title/title.js +18 -2
  387. package/dist/collection/components/toast/toast.js +223 -106
  388. package/dist/collection/components/toggle/toggle.js +167 -115
  389. package/dist/collection/components/toolbar/toolbar.js +15 -7
  390. package/dist/collection/global/config.js +4 -6
  391. package/dist/collection/global/ionic-global.js +8 -2
  392. package/dist/collection/index.js +1 -1
  393. package/dist/collection/utils/animation/animation.js +3 -3
  394. package/dist/collection/utils/config.js +5 -4
  395. package/dist/collection/utils/focus-controller/index.js +1 -1
  396. package/dist/collection/utils/focus-trap.js +3 -3
  397. package/dist/collection/utils/forms/index.js +1 -0
  398. package/dist/collection/utils/forms/start-container-controller.js +132 -0
  399. package/dist/collection/utils/framework-delegate.js +4 -6
  400. package/dist/collection/utils/gesture/gesture-controller.js +15 -8
  401. package/dist/collection/utils/gesture/index.js +10 -2
  402. package/dist/collection/utils/hardware-back-button.js +3 -3
  403. package/dist/collection/utils/helpers.js +2 -2
  404. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
  405. package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
  406. package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
  407. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  408. package/dist/collection/utils/logging/index.js +23 -4
  409. package/dist/collection/utils/menu-controller/index.js +1 -2
  410. package/dist/collection/utils/native/haptic.js +2 -3
  411. package/dist/collection/utils/native/keyboard.js +2 -2
  412. package/dist/collection/utils/native/status-bar.js +1 -1
  413. package/dist/collection/utils/overlay-control-label.js +45 -0
  414. package/dist/collection/utils/overlays.js +38 -23
  415. package/dist/collection/utils/platform.js +4 -5
  416. package/dist/collection/utils/rtl/dir.js +2 -3
  417. package/dist/collection/utils/sanitization/index.js +276 -20
  418. package/dist/collection/utils/select-option-render.js +118 -0
  419. package/dist/collection/utils/slot-mutation-controller.js +1 -2
  420. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  421. package/dist/collection/utils/test/playwright/drag-element.js +2 -3
  422. package/dist/collection/utils/test/playwright/generator.js +3 -4
  423. package/dist/collection/utils/test/playwright/page/event-spy.js +11 -12
  424. package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
  425. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  426. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
  427. package/dist/collection/utils/test/press-keys.js +10 -17
  428. package/dist/collection/utils/theme.js +6 -1
  429. package/dist/collection/utils/transition/ios.transition.js +9 -13
  430. package/dist/collection/utils/transition/md.transition.js +3 -4
  431. package/dist/docs.json +557 -1257
  432. package/dist/esm/{animation-DLJpuoEz.js → animation-CGFdmGk9.js} +4 -4
  433. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-CYmMeGdU.js} +1 -1
  434. package/dist/esm/{button-active-CXXy0FIE.js → button-active-BDOsVAiZ.js} +3 -3
  435. package/dist/esm/config-DWCzVL3Y.js +32 -0
  436. package/dist/esm/{dir-o8OKV5aD.js → dir-Dojwmvde.js} +2 -3
  437. package/dist/esm/{format-CAmvpAez.js → format-Dcwga61t.js} +41 -31
  438. package/dist/esm/{framework-delegate-B9yvYzqV.js → framework-delegate-BHTU2Ip9.js} +5 -7
  439. package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-TXPDHL13.js} +15 -8
  440. package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
  441. package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-gLJHMX_F.js} +4 -4
  442. package/dist/esm/{helpers-DkCLSLI9.js → helpers-CAGf8Wgp.js} +4 -4
  443. package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
  444. package/dist/esm/index-CKM1DdGm.js +424 -0
  445. package/dist/esm/{index-tcQvqkiX.js → index-ChhhtsGZ.js} +32 -15
  446. package/dist/esm/{index-DwNKJodj.js → index-Clc-28O1.js} +3 -3
  447. package/dist/esm/{index-DdeElWma.js → index-CqneaaGd.js} +6 -7
  448. package/dist/esm/{index-Bck1OwMs.js → index-DcPaH5uL.js} +9 -3
  449. package/dist/esm/{index-B_8X7INq.js → index-T0JxBI8V.js} +2 -2
  450. package/dist/esm/{index-Dsz7OTeL.js → index-WlteAIqz.js} +5 -5
  451. package/dist/esm/index.js +17 -16
  452. package/dist/esm/{input-shims-d-hDv86G.js → input-shims-B8sfni1e.js} +10 -12
  453. package/dist/esm/input.utils-B1ValN_N.js +33 -0
  454. package/dist/esm/ion-accordion_2.entry.js +369 -341
  455. package/dist/esm/ion-action-sheet.entry.js +188 -77
  456. package/dist/esm/ion-alert.entry.js +273 -111
  457. package/dist/esm/ion-app_8.entry.js +307 -190
  458. package/dist/esm/ion-avatar_3.entry.js +10 -4
  459. package/dist/esm/ion-back-button.entry.js +48 -24
  460. package/dist/esm/ion-backdrop.entry.js +18 -14
  461. package/dist/esm/ion-breadcrumb_2.entry.js +200 -122
  462. package/dist/esm/ion-button_2.entry.js +139 -67
  463. package/dist/esm/ion-card_5.entry.js +83 -31
  464. package/dist/esm/ion-checkbox.entry.js +153 -102
  465. package/dist/esm/ion-chip.entry.js +17 -11
  466. package/dist/esm/ion-col_3.entry.js +134 -10
  467. package/dist/esm/ion-datetime-button.entry.js +254 -242
  468. package/dist/esm/ion-datetime.entry.js +2768 -0
  469. package/dist/esm/ion-fab_3.entry.js +140 -82
  470. package/dist/esm/ion-img.entry.js +35 -13
  471. package/dist/esm/ion-infinite-scroll_2.entry.js +100 -72
  472. package/dist/esm/ion-input-otp.entry.js +435 -372
  473. package/dist/esm/ion-input-password-toggle.entry.js +36 -22
  474. package/dist/esm/ion-input.entry.js +341 -210
  475. package/dist/esm/ion-item-option_3.entry.js +95 -55
  476. package/dist/esm/ion-item_8.entry.js +192 -93
  477. package/dist/esm/ion-loading.entry.js +146 -60
  478. package/dist/esm/ion-menu_3.entry.js +169 -107
  479. package/dist/esm/ion-modal.entry.js +456 -262
  480. package/dist/esm/ion-nav_2.entry.js +102 -159
  481. package/dist/esm/ion-picker-column-option.entry.js +38 -34
  482. package/dist/esm/ion-picker-column.entry.js +418 -406
  483. package/dist/esm/ion-picker.entry.js +402 -393
  484. package/dist/esm/ion-popover.entry.js +320 -206
  485. package/dist/esm/ion-progress-bar.entry.js +32 -26
  486. package/dist/esm/ion-radio_2.entry.js +208 -135
  487. package/dist/esm/ion-range.entry.js +304 -239
  488. package/dist/esm/ion-refresher_2.entry.js +164 -92
  489. package/dist/esm/ion-reorder_2.entry.js +54 -24
  490. package/dist/esm/ion-ripple-effect.entry.js +14 -14
  491. package/dist/esm/ion-route_4.entry.js +176 -72
  492. package/dist/esm/ion-searchbar.entry.js +291 -200
  493. package/dist/esm/ion-segment-content.entry.js +2 -2
  494. package/dist/esm/ion-segment-view.entry.js +28 -17
  495. package/dist/esm/ion-segment_2.entry.js +169 -126
  496. package/dist/esm/ion-select-modal.entry.js +105 -49
  497. package/dist/esm/ion-select_3.entry.js +787 -260
  498. package/dist/esm/ion-spinner.entry.js +24 -10
  499. package/dist/esm/ion-split-pane.entry.js +29 -16
  500. package/dist/esm/ion-tab-bar_2.entry.js +101 -42
  501. package/dist/esm/ion-tab_2.entry.js +54 -28
  502. package/dist/esm/ion-text.entry.js +11 -5
  503. package/dist/esm/ion-textarea.entry.js +295 -188
  504. package/dist/esm/ion-toast.entry.js +236 -117
  505. package/dist/esm/ion-toggle.entry.js +175 -122
  506. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-BVB7BrLT.js} +13 -8
  507. package/dist/esm/ionic.js +5 -5
  508. package/dist/esm/{ios.transition-CxNhMt4a.js → ios.transition-DXRCmcbC.js} +14 -18
  509. package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-rU8VaNNg.js} +1 -1
  510. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
  511. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
  512. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
  513. package/dist/esm/loader.js +5 -5
  514. package/dist/esm/{md.transition-IE4mC3kp.js → md.transition-BMngO4i_.js} +8 -9
  515. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  516. package/dist/esm/{overlays-COCl_nm9.js → overlays-CPmIs9Ls.js} +48 -33
  517. package/dist/esm/select-option-render-C4m76VGH.js +121 -0
  518. package/dist/esm/slot-mutation-controller-DiE_C9un.js +393 -0
  519. package/dist/esm/{status-tap-HhO5eQI9.js → status-tap-CHB7KwIb.js} +4 -4
  520. package/dist/esm/{swipe-back-DK6afpuO.js → swipe-back-C9HW1bug.js} +5 -5
  521. package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
  522. package/dist/html.html-data.json +52 -80
  523. package/dist/ionic/index.esm.js +1 -1
  524. package/dist/ionic/ionic.esm.js +1 -1
  525. package/dist/ionic/p-06ec7136.entry.js +4 -0
  526. package/dist/ionic/p-09fe4fa3.entry.js +4 -0
  527. package/dist/ionic/p-10d45a07.entry.js +4 -0
  528. package/dist/ionic/p-208c8a07.entry.js +4 -0
  529. package/dist/ionic/p-212474fa.entry.js +4 -0
  530. package/dist/ionic/p-2eef1396.entry.js +4 -0
  531. package/dist/ionic/p-347e005d.entry.js +4 -0
  532. package/dist/ionic/p-3a0b3f1d.entry.js +4 -0
  533. package/dist/ionic/p-3b071259.entry.js +4 -0
  534. package/dist/ionic/{p-c6e49f3f.entry.js → p-40424a88.entry.js} +1 -1
  535. package/dist/ionic/p-4204184c.entry.js +4 -0
  536. package/dist/ionic/p-47464391.entry.js +4 -0
  537. package/dist/ionic/p-4eOQC00Z.js +4 -0
  538. package/dist/ionic/p-4f9c9126.entry.js +4 -0
  539. package/dist/ionic/p-5JsKPLJD.js +4 -0
  540. package/dist/ionic/p-5bc485c6.entry.js +4 -0
  541. package/dist/ionic/p-603a61e6.entry.js +4 -0
  542. package/dist/ionic/p-60576951.entry.js +4 -0
  543. package/dist/ionic/p-67a81d33.entry.js +4 -0
  544. package/dist/ionic/p-6affb775.entry.js +4 -0
  545. package/dist/ionic/p-6f120c25.entry.js +4 -0
  546. package/dist/ionic/p-71c82b60.entry.js +4 -0
  547. package/dist/ionic/p-79325ffe.entry.js +4 -0
  548. package/dist/ionic/{p-DZaO33Mw.js → p-7CBuOvEo.js} +1 -1
  549. package/dist/ionic/p-7e4d51fa.entry.js +4 -0
  550. package/dist/ionic/p-7f5d4664.entry.js +4 -0
  551. package/dist/ionic/p-80ee82fc.entry.js +4 -0
  552. package/dist/ionic/p-84af7dbc.entry.js +4 -0
  553. package/dist/ionic/p-89ca830a.entry.js +4 -0
  554. package/dist/ionic/p-93b8ec8f.entry.js +4 -0
  555. package/dist/ionic/p-946f65c2.entry.js +4 -0
  556. package/dist/ionic/p-9c4b39fb.entry.js +4 -0
  557. package/dist/ionic/p-B1NEZUzQ.js +4 -0
  558. package/dist/ionic/p-B1ck5iy-.js +4 -0
  559. package/dist/ionic/{p-Cd4H8ft-.js → p-B4FrqdW0.js} +1 -1
  560. package/dist/ionic/p-BB0LlG4y.js +4 -0
  561. package/dist/ionic/p-BMPN55of.js +4 -0
  562. package/dist/ionic/p-BSQPZ79H.js +4 -0
  563. package/dist/ionic/p-BYEAtHr-.js +4 -0
  564. package/dist/ionic/p-BhamHSw3.js +4 -0
  565. package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
  566. package/dist/ionic/p-C-94tAim.js +4 -0
  567. package/dist/ionic/{p-DipZFfzN.js → p-C-eHZMYE.js} +1 -1
  568. package/dist/ionic/p-CBR_W98Z.js +4 -0
  569. package/dist/ionic/{p-ClM02LPk.js → p-CBWAXjA5.js} +1 -1
  570. package/dist/ionic/p-CMRtMbJc.js +4 -0
  571. package/dist/ionic/p-CPcPmkGv.js +4 -0
  572. package/dist/ionic/p-CaRuIadB.js +4 -0
  573. package/dist/ionic/p-Cdjxf_yg.js +4 -0
  574. package/dist/ionic/p-ChhhtsGZ.js +5 -0
  575. package/dist/ionic/p-CzS1qWve.js +4 -0
  576. package/dist/ionic/p-D5t_-oMk.js +4 -0
  577. package/dist/ionic/p-D94_RztK.js +4 -0
  578. package/dist/ionic/p-DWCzVL3Y.js +4 -0
  579. package/dist/ionic/p-DjjfauRM.js +4 -0
  580. package/dist/ionic/p-DkUB-ROc.js +4 -0
  581. package/dist/ionic/p-Dn0mqQ_R.js +4 -0
  582. package/dist/ionic/p-Dojwmvde.js +4 -0
  583. package/dist/ionic/p-DplOqGUv.js +4 -0
  584. package/dist/ionic/p-Dst_XmZh.js +4 -0
  585. package/dist/ionic/p-T71k3C35.js +4 -0
  586. package/dist/ionic/p-TXPDHL13.js +4 -0
  587. package/dist/ionic/p-UIBJkZf8.js +4 -0
  588. package/dist/ionic/p-a438b193.entry.js +4 -0
  589. package/dist/ionic/p-babaaaa7.entry.js +4 -0
  590. package/dist/ionic/p-be08d500.entry.js +4 -0
  591. package/dist/ionic/p-be9a4f51.entry.js +4 -0
  592. package/dist/ionic/p-byZM6qHV.js +4 -0
  593. package/dist/ionic/p-c00d3092.entry.js +4 -0
  594. package/dist/ionic/p-c36dc8f5.entry.js +4 -0
  595. package/dist/ionic/p-c72a7e17.entry.js +4 -0
  596. package/dist/ionic/p-c8edd88c.entry.js +4 -0
  597. package/dist/ionic/p-ce0e380b.entry.js +4 -0
  598. package/dist/ionic/p-ce32912b.entry.js +4 -0
  599. package/dist/ionic/p-d07cf130.entry.js +4 -0
  600. package/dist/ionic/p-d27edeb3.entry.js +4 -0
  601. package/dist/ionic/p-d5d2c506.entry.js +4 -0
  602. package/dist/ionic/p-d5e31ca9.entry.js +4 -0
  603. package/dist/ionic/p-de91444f.entry.js +4 -0
  604. package/dist/ionic/p-ded69ceb.entry.js +4 -0
  605. package/dist/ionic/p-df72866d.entry.js +4 -0
  606. package/dist/ionic/p-e47e3151.entry.js +4 -0
  607. package/dist/ionic/p-e621e5e8.entry.js +4 -0
  608. package/dist/ionic/p-eea9cf93.entry.js +4 -0
  609. package/dist/ionic/p-f402f5a4.entry.js +4 -0
  610. package/dist/ionic/p-fe1bfbcf.entry.js +4 -0
  611. package/{components/p-9GFIh9p1.js → dist/ionic/p-ffb90460.entry.js} +1 -1
  612. package/dist/types/components/img/img.d.ts +2 -0
  613. package/dist/types/components/input/input.d.ts +12 -6
  614. package/dist/types/components/modal/modal-interface.d.ts +9 -0
  615. package/dist/types/components/modal/modal.d.ts +11 -4
  616. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  617. package/dist/types/components/nav/nav.d.ts +2 -22
  618. package/dist/types/components/route/route.d.ts +1 -1
  619. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  620. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  621. package/dist/types/components/select/select-interface.d.ts +31 -0
  622. package/dist/types/components/select/select.d.ts +30 -6
  623. package/dist/types/components/select-option/select-option.d.ts +42 -1
  624. package/dist/types/components/textarea/textarea.d.ts +12 -5
  625. package/dist/types/components.d.ts +74 -311
  626. package/dist/types/index.d.ts +1 -1
  627. package/dist/types/interface.d.ts +0 -1
  628. package/dist/types/utils/config.d.ts +1 -8
  629. package/dist/types/utils/forms/index.d.ts +1 -0
  630. package/dist/types/utils/forms/start-container-controller.d.ts +34 -0
  631. package/dist/types/utils/logging/index.d.ts +2 -1
  632. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  633. package/dist/types/utils/overlays.d.ts +11 -9
  634. package/dist/types/utils/sanitization/index.d.ts +58 -2
  635. package/dist/types/utils/select-option-render.d.ts +53 -0
  636. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  637. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  638. package/hydrate/index.js +10660 -7305
  639. package/hydrate/index.mjs +10660 -7305
  640. package/package.json +55 -12
  641. package/components/ion-picker-legacy-column.d.ts +0 -11
  642. package/components/ion-picker-legacy-column.js +0 -4
  643. package/components/ion-picker-legacy.d.ts +0 -11
  644. package/components/ion-picker-legacy.js +0 -4
  645. package/components/p-0LM2oPMC.js +0 -4
  646. package/components/p-B21528L5.js +0 -4
  647. package/components/p-B2nSfLHH.js +0 -4
  648. package/components/p-B3qf4bEn.js +0 -4
  649. package/components/p-B9jFTlwE.js +0 -4
  650. package/components/p-BDd9Zrb9.js +0 -4
  651. package/components/p-BLmJ0zRm.js +0 -4
  652. package/components/p-BMYNBJgf.js +0 -4
  653. package/components/p-BRYd8D-I.js +0 -4
  654. package/components/p-BSEgsdFI.js +0 -4
  655. package/components/p-BTEOs1at.js +0 -4
  656. package/components/p-BTJrYwxN.js +0 -4
  657. package/components/p-BV-zKay-.js +0 -4
  658. package/components/p-BYRVyMu9.js +0 -4
  659. package/components/p-Bmq8qlkW.js +0 -4
  660. package/components/p-BuxQcfHK.js +0 -4
  661. package/components/p-Bz0dSlXZ.js +0 -4
  662. package/components/p-CHqRYvYm.js +0 -4
  663. package/components/p-CSZf8_j0.js +0 -4
  664. package/components/p-CTdRooFV.js +0 -4
  665. package/components/p-Cf2jSDS8.js +0 -4
  666. package/components/p-Cfx4M1Bn.js +0 -4
  667. package/components/p-CgkrslTX.js +0 -4
  668. package/components/p-CiCzYG2V.js +0 -4
  669. package/components/p-Ck0lEczL.js +0 -4
  670. package/components/p-CmR5uXej.js +0 -4
  671. package/components/p-CniZht3v.js +0 -4
  672. package/components/p-CsaojgEs.js +0 -4
  673. package/components/p-CtWGkNnJ.js +0 -4
  674. package/components/p-D13Eaw-8.js +0 -4
  675. package/components/p-D4FYu-4R.js +0 -4
  676. package/components/p-D6Ynv7Xh.js +0 -4
  677. package/components/p-DARjq3GM.js +0 -4
  678. package/components/p-DEZ2myA3.js +0 -4
  679. package/components/p-DOFCbuQR.js +0 -4
  680. package/components/p-DVe41iHI.js +0 -4
  681. package/components/p-DX5m9g56.js +0 -4
  682. package/components/p-DboHi2CL.js +0 -4
  683. package/components/p-DiVJyqlX.js +0 -4
  684. package/components/p-DmzFY5IC.js +0 -4
  685. package/components/p-DqZAXv2t.js +0 -4
  686. package/components/p-Dv8w0kqz.js +0 -4
  687. package/components/p-Dw7GNDKq.js +0 -4
  688. package/components/p-Dww01PNs.js +0 -4
  689. package/components/p-Gy276IJk.js +0 -4
  690. package/components/p-ZzLXTvyt.js +0 -4
  691. package/components/p-cyNmxje6.js +0 -4
  692. package/components/p-j5IxBIan.js +0 -4
  693. package/components/p-k_E4tX5Z.js +0 -4
  694. package/components/p-lVAbdiAu.js +0 -4
  695. package/components/p-o8OKV5aD.js +0 -4
  696. package/components/p-rCa2eL0j.js +0 -4
  697. package/dist/cjs/config-D6C-KlA9.js +0 -201
  698. package/dist/cjs/input.utils-DQaUGGed.js +0 -150
  699. package/dist/cjs/ion-datetime_3.cjs.entry.js +0 -3167
  700. package/dist/cjs/notch-controller-aiy8aQb-.js +0 -155
  701. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  702. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  703. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  704. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  705. package/dist/collection/components/picker-legacy/picker.js +0 -890
  706. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  707. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  708. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  709. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  710. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  711. package/dist/esm/config-DQCONYYp.js +0 -195
  712. package/dist/esm/input.utils-Cd23Gdd1.js +0 -147
  713. package/dist/esm/ion-datetime_3.entry.js +0 -3163
  714. package/dist/esm/notch-controller-Doqis1td.js +0 -153
  715. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  716. package/dist/ionic/p-0283ea73.entry.js +0 -4
  717. package/dist/ionic/p-02ecae65.entry.js +0 -4
  718. package/dist/ionic/p-0672f677.entry.js +0 -4
  719. package/dist/ionic/p-0c06fe60.entry.js +0 -4
  720. package/dist/ionic/p-0fa9c382.entry.js +0 -4
  721. package/dist/ionic/p-1af4d74c.entry.js +0 -4
  722. package/dist/ionic/p-1d7ef0d2.entry.js +0 -4
  723. package/dist/ionic/p-26f05d3a.entry.js +0 -4
  724. package/dist/ionic/p-27d30585.entry.js +0 -4
  725. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  726. package/dist/ionic/p-31e7bd05.entry.js +0 -4
  727. package/dist/ionic/p-32f53010.entry.js +0 -4
  728. package/dist/ionic/p-35eb8b5c.entry.js +0 -4
  729. package/dist/ionic/p-37e720da.entry.js +0 -4
  730. package/dist/ionic/p-3efa137b.entry.js +0 -4
  731. package/dist/ionic/p-432bd72c.entry.js +0 -4
  732. package/dist/ionic/p-47214c72.entry.js +0 -4
  733. package/dist/ionic/p-4e172429.entry.js +0 -4
  734. package/dist/ionic/p-5c3da84e.entry.js +0 -4
  735. package/dist/ionic/p-5d1da0a2.entry.js +0 -4
  736. package/dist/ionic/p-5d8082fe.entry.js +0 -4
  737. package/dist/ionic/p-613d3c43.entry.js +0 -4
  738. package/dist/ionic/p-616e4d4f.entry.js +0 -4
  739. package/dist/ionic/p-65d611b2.entry.js +0 -4
  740. package/dist/ionic/p-67806e3f.entry.js +0 -4
  741. package/dist/ionic/p-68cbb2fc.entry.js +0 -4
  742. package/dist/ionic/p-737ae9eb.entry.js +0 -4
  743. package/dist/ionic/p-7b0d6248.entry.js +0 -4
  744. package/dist/ionic/p-7e71e470.entry.js +0 -4
  745. package/dist/ionic/p-84d5ce05.entry.js +0 -4
  746. package/dist/ionic/p-85d49987.entry.js +0 -4
  747. package/dist/ionic/p-8945088b.entry.js +0 -4
  748. package/dist/ionic/p-8b155568.entry.js +0 -4
  749. package/dist/ionic/p-90267c4b.entry.js +0 -4
  750. package/dist/ionic/p-92ad8a67.entry.js +0 -4
  751. package/dist/ionic/p-9a97d4e0.entry.js +0 -4
  752. package/dist/ionic/p-9e4b0894.entry.js +0 -4
  753. package/dist/ionic/p-9eeaBrnk.js +0 -4
  754. package/dist/ionic/p-B2kaj8sx.js +0 -4
  755. package/dist/ionic/p-B4y7nxsg.js +0 -4
  756. package/dist/ionic/p-B8t9Ro6f.js +0 -4
  757. package/dist/ionic/p-BEOxsxBw.js +0 -4
  758. package/dist/ionic/p-BJ2NxSHp.js +0 -4
  759. package/dist/ionic/p-BLiL8g0v.js +0 -4
  760. package/dist/ionic/p-BTEOs1at.js +0 -4
  761. package/dist/ionic/p-BUFIpxKM.js +0 -4
  762. package/dist/ionic/p-BYRVyMu9.js +0 -4
  763. package/dist/ionic/p-C0eMdTCW.js +0 -4
  764. package/dist/ionic/p-CKvCXMs9.js +0 -4
  765. package/dist/ionic/p-CPTv7G9B.js +0 -4
  766. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  767. package/dist/ionic/p-CxMyXUtt.js +0 -4
  768. package/dist/ionic/p-D13Eaw-8.js +0 -4
  769. package/dist/ionic/p-DCoy2elM.js +0 -4
  770. package/dist/ionic/p-DiVJyqlX.js +0 -4
  771. package/dist/ionic/p-DqN5EA2O.js +0 -4
  772. package/dist/ionic/p-Dr9fTCb1.js +0 -4
  773. package/dist/ionic/p-DzWaWHGc.js +0 -4
  774. package/dist/ionic/p-EkpneKVM.js +0 -4
  775. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  776. package/dist/ionic/p-SNAkTDfm.js +0 -4
  777. package/dist/ionic/p-ab00b0d8.entry.js +0 -4
  778. package/dist/ionic/p-c2175309.entry.js +0 -4
  779. package/dist/ionic/p-c4b69d9b.entry.js +0 -4
  780. package/dist/ionic/p-c4d8641b.entry.js +0 -4
  781. package/dist/ionic/p-ce637936.entry.js +0 -4
  782. package/dist/ionic/p-da85e958.entry.js +0 -4
  783. package/dist/ionic/p-dfa8d673.entry.js +0 -4
  784. package/dist/ionic/p-e139357c.entry.js +0 -4
  785. package/dist/ionic/p-e7b7a7b1.entry.js +0 -4
  786. package/dist/ionic/p-f37ca594.entry.js +0 -4
  787. package/dist/ionic/p-f8dd336e.entry.js +0 -4
  788. package/dist/ionic/p-f9de757b.entry.js +0 -4
  789. package/dist/ionic/p-fe11cf51.entry.js +0 -4
  790. package/dist/ionic/p-mjKAFv89.js +0 -4
  791. package/dist/ionic/p-o8OKV5aD.js +0 -4
  792. package/dist/ionic/p-tcQvqkiX.js +0 -5
  793. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  794. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  795. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  796. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  797. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  798. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
  799. /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-DkCLSLI9.js';
8
- import { i as isRTL } from './dir-o8OKV5aD.js';
9
- import { h as hostContext, c as createColorClasses } from './theme-DiVJyqlX.js';
10
- import { b as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-B_8X7INq.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-ChhhtsGZ.js';
5
+ import { shouldUseCloseWatcher } from './hardware-back-button-gLJHMX_F.js';
6
+ import { a as isPlatform, b as getIonMode } from './ionic-global-BVB7BrLT.js';
7
+ import { i as inheritAriaAttributes, h as hasLazyBuild, c as componentOnReady, e as clamp, s as shallowEqualStringMap } from './helpers-CAGf8Wgp.js';
8
+ import { i as isRTL } from './dir-Dojwmvde.js';
9
+ import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
10
+ import { b as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-T0JxBI8V.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-B9yvYzqV.js';
13
+ import { a as attachComponent, d as detachComponent } from './framework-delegate-BHTU2Ip9.js';
14
14
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
15
- import { t as transition } from './index-Dsz7OTeL.js';
15
+ import { t as transition } from './index-WlteAIqz.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-DwNKJodj.js').then((module) => module.startTapClick(config));
34
+ import('./index-Clc-28O1.js').then((module) => module.startTapClick(config));
32
35
  }
33
36
  if (config.getBoolean('statusTap', isHybrid)) {
34
- import('./status-tap-HhO5eQI9.js').then((module) => module.startStatusTap());
37
+ import('./status-tap-CHB7KwIb.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-d-hDv86G.js').then((module) => module.startInputShims(config, platform));
45
+ import('./input-shims-B8sfni1e.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-gLJHMX_F.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,68 +167,100 @@ 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
+ fullscreenResizeObserver;
182
+ inheritedAttributes = {};
183
+ tabsElement = null;
184
+ tabsLoadCallback;
185
+ // Detail is used in a hot loop in the scroll event, by allocating it here
186
+ // V8 will be able to inline any read/write to it since it's a monomorphic class.
187
+ // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
188
+ detail = {
189
+ scrollTop: 0,
190
+ scrollLeft: 0,
191
+ type: 'scroll',
192
+ event: undefined,
193
+ startX: 0,
194
+ startY: 0,
195
+ startTime: 0,
196
+ currentX: 0,
197
+ currentY: 0,
198
+ velocityX: 0,
199
+ velocityY: 0,
200
+ deltaX: 0,
201
+ deltaY: 0,
202
+ currentTime: 0,
203
+ data: undefined,
204
+ isScrolling: true,
205
+ };
206
+ get el() { return getElement(this); }
207
+ /**
208
+ * The color to use from your application's color palette.
209
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
210
+ * For more information on colors, see [theming](/docs/theming/basics).
211
+ */
212
+ color;
213
+ /**
214
+ * If `true`, the content will scroll behind the headers
215
+ * and footers. This effect can easily be seen by setting the toolbar
216
+ * to transparent.
217
+ */
218
+ fullscreen = false;
227
219
  fullscreenChanged() {
228
220
  this.setupFullscreenResizeObserver();
229
221
  }
222
+ /**
223
+ * Controls where the fixed content is placed relative to the main content
224
+ * in the DOM. This can be used to control the order in which fixed elements
225
+ * receive keyboard focus.
226
+ * For example, if a FAB in the fixed slot should receive keyboard focus before
227
+ * the main page content, set this property to `'before'`.
228
+ */
229
+ fixedSlotPlacement = 'after';
230
+ /**
231
+ * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce.
232
+ * If the content exceeds the bounds of ionContent, nothing will change.
233
+ * Note, this does not disable the system bounce on iOS. That is an OS level setting.
234
+ */
235
+ forceOverscroll;
236
+ /**
237
+ * If you want to enable the content scrolling in the X axis, set this property to `true`.
238
+ */
239
+ scrollX = false;
240
+ /**
241
+ * If you want to disable the content scrolling in the Y axis, set this property to `false`.
242
+ */
243
+ scrollY = true;
244
+ /**
245
+ * Because of performance reasons, ionScroll events are disabled by default, in order to enable them
246
+ * and start listening from (ionScroll), set this property to `true`.
247
+ */
248
+ scrollEvents = false;
249
+ /**
250
+ * Emitted when the scroll has started. This event is disabled by default.
251
+ * Set `scrollEvents` to `true` to enable.
252
+ */
253
+ ionScrollStart;
254
+ /**
255
+ * Emitted while scrolling. This event is disabled by default.
256
+ * Set `scrollEvents` to `true` to enable.
257
+ */
258
+ ionScroll;
259
+ /**
260
+ * Emitted when the scroll has ended. This event is disabled by default.
261
+ * Set `scrollEvents` to `true` to enable.
262
+ */
263
+ ionScrollEnd;
230
264
  componentWillLoad() {
231
265
  this.inheritedAttributes = inheritAriaAttributes(this.el);
232
266
  }
@@ -567,7 +601,7 @@ const Content = class {
567
601
  const forceOverscroll = this.shouldForceOverscroll();
568
602
  const transitionShadow = mode === 'ios';
569
603
  this.resize();
570
- return (h(Host, Object.assign({ key: '9551c759df407b10d809171641fc6e8f14d92219', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
604
+ return (h(Host, { key: '9551c759df407b10d809171641fc6e8f14d92219', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
571
605
  [mode]: true,
572
606
  'content-fullscreen': this.fullscreen,
573
607
  'content-sizing': hostContext('ion-popover', this.el),
@@ -576,14 +610,13 @@ const Content = class {
576
610
  }), style: {
577
611
  '--offset-top': `${this.cTop}px`,
578
612
  '--offset-bottom': `${this.cBottom}px`,
579
- } }, inheritedAttributes), h("div", { key: 'c6de8fd226f0d10a534eb107fe032ac155fbe68e', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '082fc2936061360060b48221ecb1c864a3711fa0', class: {
613
+ }, ...inheritedAttributes }, h("div", { key: 'c6de8fd226f0d10a534eb107fe032ac155fbe68e', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '082fc2936061360060b48221ecb1c864a3711fa0', class: {
580
614
  'inner-scroll': true,
581
615
  'scroll-x': scrollX,
582
616
  'scroll-y': scrollY,
583
617
  overscroll: (scrollX || scrollY) && forceOverscroll,
584
618
  }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '0d2286206facb22696a9ca7e74a3f6b7d2397aab' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
585
619
  }
586
- get el() { return getElement(this); }
587
620
  static get watchers() { return {
588
621
  "fullscreen": [{
589
622
  "fullscreenChanged": 0
@@ -591,12 +624,11 @@ const Content = class {
591
624
  }; }
592
625
  };
593
626
  const getParentElement = (el) => {
594
- var _a;
595
627
  if (el.parentElement) {
596
628
  // normal element with a parent element
597
629
  return el.parentElement;
598
630
  }
599
- if ((_a = el.parentNode) === null || _a === void 0 ? void 0 : _a.host) {
631
+ if (el.parentNode?.host) {
600
632
  // shadow dom's document fragment
601
633
  return el.parentNode.host;
602
634
  }
@@ -683,48 +715,27 @@ const footerMdCss = () => `ion-footer{display:block;position:relative;-ms-flex-o
683
715
  const Footer = class {
684
716
  constructor(hostRef) {
685
717
  registerInstance(this, hostRef);
686
- this.keyboardCtrl = null;
687
- this.keyboardCtrlPromise = null;
688
- this.keyboardVisible = false;
689
- /**
690
- * If `true`, the footer will be translucent.
691
- * Only applies when the mode is `"ios"` and the device supports
692
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
693
- *
694
- * Note: In order to scroll content behind the footer, the `fullscreen`
695
- * attribute needs to be set on the content.
696
- */
697
- this.translucent = false;
698
- this.checkCollapsibleFooter = () => {
699
- const mode = getIonMode(this);
700
- if (mode !== 'ios') {
701
- return;
702
- }
703
- const { collapse } = this;
704
- const hasFade = collapse === 'fade';
705
- this.destroyCollapsibleFooter();
706
- if (hasFade) {
707
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
708
- const contentEl = pageEl ? findIonContent(pageEl) : null;
709
- if (!contentEl) {
710
- printIonContentErrorMsg(this.el);
711
- return;
712
- }
713
- this.setupFadeFooter(contentEl);
714
- }
715
- };
716
- this.setupFadeFooter = async (contentEl) => {
717
- const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
718
- /**
719
- * Handle fading of toolbars on scroll
720
- */
721
- this.contentScrollCallback = () => {
722
- handleFooterFade(scrollEl, this.el);
723
- };
724
- scrollEl.addEventListener('scroll', this.contentScrollCallback);
725
- handleFooterFade(scrollEl, this.el);
726
- };
727
718
  }
719
+ scrollEl;
720
+ contentScrollCallback;
721
+ keyboardCtrl = null;
722
+ keyboardCtrlPromise = null;
723
+ keyboardVisible = false;
724
+ get el() { return getElement(this); }
725
+ /**
726
+ * Describes the scroll effect that will be applied to the footer.
727
+ * Only applies in iOS mode.
728
+ */
729
+ collapse;
730
+ /**
731
+ * If `true`, the footer will be translucent.
732
+ * Only applies when the mode is `"ios"` and the device supports
733
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
734
+ *
735
+ * Note: In order to scroll content behind the footer, the `fullscreen`
736
+ * attribute needs to be set on the content.
737
+ */
738
+ translucent = false;
728
739
  componentDidLoad() {
729
740
  this.checkCollapsibleFooter();
730
741
  }
@@ -768,6 +779,35 @@ const Footer = class {
768
779
  this.keyboardCtrl = null;
769
780
  }
770
781
  }
782
+ checkCollapsibleFooter = () => {
783
+ const mode = getIonMode(this);
784
+ if (mode !== 'ios') {
785
+ return;
786
+ }
787
+ const { collapse } = this;
788
+ const hasFade = collapse === 'fade';
789
+ this.destroyCollapsibleFooter();
790
+ if (hasFade) {
791
+ const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
792
+ const contentEl = pageEl ? findIonContent(pageEl) : null;
793
+ if (!contentEl) {
794
+ printIonContentErrorMsg(this.el);
795
+ return;
796
+ }
797
+ this.setupFadeFooter(contentEl);
798
+ }
799
+ };
800
+ setupFadeFooter = async (contentEl) => {
801
+ const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
802
+ /**
803
+ * Handle fading of toolbars on scroll
804
+ */
805
+ this.contentScrollCallback = () => {
806
+ handleFooterFade(scrollEl, this.el);
807
+ };
808
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
809
+ handleFooterFade(scrollEl, this.el);
810
+ };
771
811
  destroyCollapsibleFooter() {
772
812
  if (this.scrollEl && this.contentScrollCallback) {
773
813
  this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
@@ -778,7 +818,7 @@ const Footer = class {
778
818
  const { translucent, collapse } = this;
779
819
  const mode = getIonMode(this);
780
820
  const tabs = this.el.closest('ion-tabs');
781
- const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
821
+ const tabBar = tabs?.querySelector(':scope > ion-tab-bar');
782
822
  return (h(Host, { key: '71939c4bbaef5062532a99ee2e33574102a9abad', role: "contentinfo", class: {
783
823
  [mode]: true,
784
824
  // Used internally for styling
@@ -789,7 +829,6 @@ const Footer = class {
789
829
  [`footer-collapse-${collapse}`]: collapse !== undefined,
790
830
  } }, mode === 'ios' && translucent && h("div", { key: '2fa14f61661c47c661cecd696176728d6eafa74f', class: "footer-background" }), h("slot", { key: '8e63696e7c528d5c38201e546bf08135290d0945' })));
791
831
  }
792
- get el() { return getElement(this); }
793
832
  };
794
833
  Footer.style = {
795
834
  ios: footerIosCss(),
@@ -1035,28 +1074,29 @@ const headerMdCss = () => `ion-header{display:block;position:relative;-ms-flex-o
1035
1074
  const Header = class {
1036
1075
  constructor(hostRef) {
1037
1076
  registerInstance(this, hostRef);
1038
- this.inheritedAttributes = {};
1039
- /**
1040
- * If `true`, the header will be translucent.
1041
- * Only applies when the mode is `"ios"` and the device supports
1042
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1043
- *
1044
- * Note: In order to scroll content behind the header, the `fullscreen`
1045
- * attribute needs to be set on the content.
1046
- */
1047
- this.translucent = false;
1048
- this.setupFadeHeader = async (contentEl, condenseHeader) => {
1049
- const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
1050
- /**
1051
- * Handle fading of toolbars on scroll
1052
- */
1053
- this.contentScrollCallback = () => {
1054
- handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1055
- };
1056
- scrollEl.addEventListener('scroll', this.contentScrollCallback);
1057
- handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1058
- };
1059
1077
  }
1078
+ scrollEl;
1079
+ contentScrollCallback;
1080
+ intersectionObserver;
1081
+ collapsibleMainHeader;
1082
+ inheritedAttributes = {};
1083
+ get el() { return getElement(this); }
1084
+ /**
1085
+ * Describes the scroll effect that will be applied to the header.
1086
+ * Only applies in iOS mode.
1087
+ *
1088
+ * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1089
+ */
1090
+ collapse;
1091
+ /**
1092
+ * If `true`, the header will be translucent.
1093
+ * Only applies when the mode is `"ios"` and the device supports
1094
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1095
+ *
1096
+ * Note: In order to scroll content behind the header, the `fullscreen`
1097
+ * attribute needs to be set on the content.
1098
+ */
1099
+ translucent = false;
1060
1100
  componentWillLoad() {
1061
1101
  this.inheritedAttributes = inheritAriaAttributes(this.el);
1062
1102
  }
@@ -1100,6 +1140,17 @@ const Header = class {
1100
1140
  await this.setupFadeHeader(contentEl, condenseHeader);
1101
1141
  }
1102
1142
  }
1143
+ setupFadeHeader = async (contentEl, condenseHeader) => {
1144
+ const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
1145
+ /**
1146
+ * Handle fading of toolbars on scroll
1147
+ */
1148
+ this.contentScrollCallback = () => {
1149
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1150
+ };
1151
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
1152
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1153
+ };
1103
1154
  destroyCollapsibleHeader() {
1104
1155
  if (this.intersectionObserver) {
1105
1156
  this.intersectionObserver.disconnect();
@@ -1171,16 +1222,15 @@ const Header = class {
1171
1222
  const isCondensed = collapse === 'condense';
1172
1223
  // banner role must be at top level, so remove role if inside a menu
1173
1224
  const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, mode);
1174
- return (h(Host, Object.assign({ key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
1225
+ return (h(Host, { key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
1175
1226
  [mode]: true,
1176
1227
  // Used internally for styling
1177
1228
  [`header-${mode}`]: true,
1178
1229
  [`header-translucent`]: this.translucent,
1179
1230
  [`header-collapse-${collapse}`]: true,
1180
1231
  [`header-translucent-${mode}`]: this.translucent,
1181
- } }, inheritedAttributes), mode === 'ios' && translucent && h("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), h("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
1232
+ }, ...inheritedAttributes }, mode === 'ios' && translucent && h("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), h("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
1182
1233
  }
1183
- get el() { return getElement(this); }
1184
1234
  };
1185
1235
  Header.style = {
1186
1236
  ios: headerIosCss(),
@@ -1195,22 +1245,47 @@ const RouterOutlet = class {
1195
1245
  this.ionNavWillLoad = createEvent(this, "ionNavWillLoad", 7);
1196
1246
  this.ionNavWillChange = createEvent(this, "ionNavWillChange", 3);
1197
1247
  this.ionNavDidChange = createEvent(this, "ionNavDidChange", 3);
1198
- this.lockController = createLockController();
1199
- this.gestureOrAnimationInProgress = false;
1200
- /**
1201
- * The mode determines which platform styles to use.
1202
- */
1203
- this.mode = getIonMode(this);
1204
- /**
1205
- * If `true`, the router-outlet should animate the transition of components.
1206
- */
1207
- this.animated = true;
1208
1248
  }
1249
+ lockController = createLockController();
1250
+ activeEl;
1251
+ // TODO(FW-2832): types
1252
+ activeComponent;
1253
+ activeParams;
1254
+ gesture;
1255
+ ani;
1256
+ gestureOrAnimationInProgress = false;
1257
+ get el() { return getElement(this); }
1258
+ /**
1259
+ * The mode determines which platform styles to use.
1260
+ */
1261
+ mode = getIonMode(this);
1262
+ /** @internal */
1263
+ delegate;
1264
+ /**
1265
+ * If `true`, the router-outlet should animate the transition of components.
1266
+ */
1267
+ animated = true;
1268
+ /** This property allows to create custom transition using AnimationBuilder functions. */
1269
+ animation;
1270
+ /**
1271
+ * If `true`, the router-outlet should allow navigation via swipe-to-go-back gesture.
1272
+ * Defaults to `true` for `"ios"` mode and `false` for `"md"` mode.
1273
+ */
1274
+ swipeGesture;
1275
+ swipeGestureChanged() {
1276
+ this.updateGestureEnabled();
1277
+ }
1278
+ /** @internal */
1279
+ swipeHandler;
1209
1280
  swipeHandlerChanged() {
1210
- if (this.gesture) {
1211
- this.gesture.enable(this.swipeHandler !== undefined);
1212
- }
1281
+ this.updateGestureEnabled();
1213
1282
  }
1283
+ /** @internal */
1284
+ ionNavWillLoad;
1285
+ /** @internal */
1286
+ ionNavWillChange;
1287
+ /** @internal */
1288
+ ionNavDidChange;
1214
1289
  async connectedCallback() {
1215
1290
  const onStart = () => {
1216
1291
  this.gestureOrAnimationInProgress = true;
@@ -1218,7 +1293,7 @@ const RouterOutlet = class {
1218
1293
  this.swipeHandler.onStart();
1219
1294
  }
1220
1295
  };
1221
- this.gesture = (await import('./swipe-back-DK6afpuO.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) => {
1296
+ this.gesture = (await import('./swipe-back-C9HW1bug.js')).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => this.ani?.progressStep(step), (shouldComplete, step, dur) => {
1222
1297
  if (this.ani) {
1223
1298
  this.ani.onFinish(() => {
1224
1299
  this.gestureOrAnimationInProgress = false;
@@ -1249,11 +1324,21 @@ const RouterOutlet = class {
1249
1324
  this.gestureOrAnimationInProgress = false;
1250
1325
  }
1251
1326
  });
1252
- this.swipeHandlerChanged();
1327
+ if (this.swipeGesture === undefined) {
1328
+ this.swipeGesture = config.getBoolean('swipeBackEnabled', this.mode === 'ios');
1329
+ }
1330
+ else {
1331
+ this.updateGestureEnabled();
1332
+ }
1253
1333
  }
1254
1334
  componentWillLoad() {
1255
1335
  this.ionNavWillLoad.emit();
1256
1336
  }
1337
+ updateGestureEnabled() {
1338
+ if (this.gesture) {
1339
+ this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
1340
+ }
1341
+ }
1257
1342
  disconnectedCallback() {
1258
1343
  if (this.gesture) {
1259
1344
  this.gesture.destroy();
@@ -1320,16 +1405,19 @@ const RouterOutlet = class {
1320
1405
  const { el, mode } = this;
1321
1406
  const animated = this.animated && config.getBoolean('animated', true);
1322
1407
  const animationBuilder = opts.animationBuilder || this.animation || config.get('navAnimation');
1323
- await transition(Object.assign(Object.assign({ mode,
1408
+ await transition({
1409
+ mode,
1324
1410
  animated,
1325
1411
  enteringEl,
1326
- leavingEl, baseEl: el,
1412
+ leavingEl,
1413
+ baseEl: el,
1327
1414
  /**
1328
1415
  * We need to wait for all Stencil components
1329
1416
  * to be ready only when using the lazy
1330
1417
  * loaded bundle.
1331
1418
  */
1332
- deepWait: hasLazyBuild(el), progressCallback: opts.progressAnimation
1419
+ deepWait: hasLazyBuild(el),
1420
+ progressCallback: opts.progressAnimation
1333
1421
  ? (ani) => {
1334
1422
  /**
1335
1423
  * Because this progress callback is called asynchronously
@@ -1358,16 +1446,21 @@ const RouterOutlet = class {
1358
1446
  this.ani = ani;
1359
1447
  }
1360
1448
  }
1361
- : undefined }, opts), { animationBuilder }));
1449
+ : undefined,
1450
+ ...opts,
1451
+ animationBuilder,
1452
+ });
1362
1453
  // emit nav changed event
1363
1454
  this.ionNavDidChange.emit();
1364
1455
  return true;
1365
1456
  }
1366
1457
  render() {
1367
- return h("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
1458
+ return h("slot", { key: '249e7d8a063c781db52fa535e42d648c7bf2909a' });
1368
1459
  }
1369
- get el() { return getElement(this); }
1370
1460
  static get watchers() { return {
1461
+ "swipeGesture": [{
1462
+ "swipeGestureChanged": 0
1463
+ }],
1371
1464
  "swipeHandler": [{
1372
1465
  "swipeHandlerChanged": 0
1373
1466
  }]
@@ -1384,6 +1477,22 @@ const ToolbarTitle = class {
1384
1477
  registerInstance(this, hostRef);
1385
1478
  this.ionStyle = createEvent(this, "ionStyle", 7);
1386
1479
  }
1480
+ get el() { return getElement(this); }
1481
+ /**
1482
+ * The color to use from your application's color palette.
1483
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
1484
+ * For more information on colors, see [theming](/docs/theming/basics).
1485
+ */
1486
+ color;
1487
+ /**
1488
+ * The size of the toolbar title.
1489
+ */
1490
+ size;
1491
+ /**
1492
+ * Emitted when the styles change.
1493
+ * @internal
1494
+ */
1495
+ ionStyle;
1387
1496
  sizeChanged() {
1388
1497
  this.emitStyle();
1389
1498
  }
@@ -1402,13 +1511,12 @@ const ToolbarTitle = class {
1402
1511
  render() {
1403
1512
  const mode = getIonMode(this);
1404
1513
  const size = this.getSize();
1405
- return (h(Host, { key: '44e63f8439df64c470692904427b417e19406476', class: createColorClasses(this.color, {
1514
+ return (h(Host, { key: 'c5f0b913ff0a22d9bf02da48a313a613c2ac8fe7', class: createColorClasses(this.color, {
1406
1515
  [mode]: true,
1407
1516
  [`title-${size}`]: true,
1408
1517
  'title-rtl': document.dir === 'rtl',
1409
- }) }, h("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, h("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
1518
+ }) }, h("div", { key: '5253b9e39fb764bfe1e57370719139f8a83e9904', class: "toolbar-title" }, h("slot", { key: 'e38b1eccb0175c36f8cab211aee7ce4d61fc9035' }))));
1410
1519
  }
1411
- get el() { return getElement(this); }
1412
1520
  static get watchers() { return {
1413
1521
  "size": [{
1414
1522
  "sizeChanged": 0
@@ -1427,8 +1535,15 @@ const toolbarMdCss = () => `:host{--border-width:0;--border-style:solid;--opacit
1427
1535
  const Toolbar = class {
1428
1536
  constructor(hostRef) {
1429
1537
  registerInstance(this, hostRef);
1430
- this.childrenStyles = new Map();
1431
1538
  }
1539
+ childrenStyles = new Map();
1540
+ get el() { return getElement(this); }
1541
+ /**
1542
+ * The color to use from your application's color palette.
1543
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
1544
+ * For more information on colors, see [theming](/docs/theming/basics).
1545
+ */
1546
+ color;
1432
1547
  componentWillLoad() {
1433
1548
  const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));
1434
1549
  const firstButtons = buttons.find((button) => {
@@ -1473,12 +1588,14 @@ const Toolbar = class {
1473
1588
  this.childrenStyles.forEach((value) => {
1474
1589
  Object.assign(childStyles, value);
1475
1590
  });
1476
- return (h(Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
1477
- [mode]: true,
1478
- 'in-toolbar': hostContext('ion-toolbar', this.el),
1479
- })) }, 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" }))));
1591
+ return (h(Host, { key: 'c16803dc4eae9972ef19bf43aa74b94feb4fd4c1', class: {
1592
+ ...childStyles,
1593
+ ...createColorClasses(this.color, {
1594
+ [mode]: true,
1595
+ 'in-toolbar': hostContext('ion-toolbar', this.el),
1596
+ }),
1597
+ } }, h("div", { key: '20e3f85844c94b8399c245d2df125e6ab678d681', class: "toolbar-background", part: "background" }), h("div", { key: '12f09e324e8d9130b9d30c493106b500233fb016', class: "toolbar-container", part: "container" }, h("slot", { key: '6da0fe99ee0c4d7c969712e2908a4e7e6be5ed2c', name: "start" }), h("slot", { key: '177c346d6dcabb7857d810cda7d25c6dde32e6e2', name: "secondary" }), h("div", { key: '8c921b415940c71bf4c1a2c5c6887f36ad1afd16', class: "toolbar-content", part: "content" }, h("slot", { key: '1f2976b80d967bd51e86ed1357b363271d655df2' })), h("slot", { key: '0f7618044a7e8b0d9b715a8e208070f7ef2ee4c8', name: "primary" }), h("slot", { key: '125c393197e0660a3c2638dd4628c41ef7e05f19', name: "end" }))));
1480
1598
  }
1481
- get el() { return getElement(this); }
1482
1599
  };
1483
1600
  Toolbar.style = {
1484
1601
  ios: toolbarIosCss(),