@ionic/core 8.8.19 → 8.8.20-dev.11787158518.168a2fea

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
@@ -3,20 +3,20 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BfaXsATC.js');
7
- var hardwareBackButton = require('./hardware-back-button-CXmUnTJC.js');
8
- var ionicGlobal = require('./ionic-global-BerQGEpE.js');
9
- var helpers = require('./helpers-DdZyl6WL.js');
10
- var dir = require('./dir-DD0jPVH3.js');
11
- var theme = require('./theme-CeDs6Hcv.js');
12
- var index$1 = require('./index-CD92bI7B.js');
13
- var keyboardController = require('./keyboard-controller-GXBiBRKS.js');
6
+ var index = require('./index-uvry__L4.js');
7
+ var hardwareBackButton = require('./hardware-back-button-fqpYh-kd.js');
8
+ var ionicGlobal = require('./ionic-global-k6hOWWpn.js');
9
+ var helpers = require('./helpers-YPQybDph.js');
10
+ var dir = require('./dir-zwDPRE5K.js');
11
+ var theme = require('./theme-Bw0rpaNN.js');
12
+ var index$1 = require('./index-zVCah4Uz.js');
13
+ var keyboardController = require('./keyboard-controller-PtZoN2GS.js');
14
14
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
15
- var frameworkDelegate = require('./framework-delegate-CEzl4MEA.js');
15
+ var frameworkDelegate = require('./framework-delegate-Dfo5XsGv.js');
16
16
  var lockController = require('./lock-controller-aDB9wrEf.js');
17
- var index$2 = require('./index-CukZnH1U.js');
17
+ var index$2 = require('./index-BLdJCcJY.js');
18
18
  require('./index-DkNv4J_i.js');
19
- require('./keyboard-UuAS4D_9.js');
19
+ require('./keyboard-cHxZlTyz.js');
20
20
  require('./capacitor-DmA66EwP.js');
21
21
 
22
22
  const appCss = () => `html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}`;
@@ -25,15 +25,18 @@ const App = class {
25
25
  constructor(hostRef) {
26
26
  index.registerInstance(this, hostRef);
27
27
  }
28
+ focusVisible;
29
+ loadTimeout;
30
+ get el() { return index.getElement(this); }
28
31
  componentDidLoad() {
29
32
  {
30
33
  this.rIC(async () => {
31
34
  const isHybrid = ionicGlobal.isPlatform(window, 'hybrid');
32
35
  if (!index.config.getBoolean('_testing')) {
33
- Promise.resolve().then(function () { return require('./index-MWAIyVLl.js'); }).then((module) => module.startTapClick(index.config));
36
+ Promise.resolve().then(function () { return require('./index-DDg31ZF5.js'); }).then((module) => module.startTapClick(index.config));
34
37
  }
35
38
  if (index.config.getBoolean('statusTap', isHybrid)) {
36
- Promise.resolve().then(function () { return require('./status-tap-7FzRlXNr.js'); }).then((module) => module.startStatusTap());
39
+ Promise.resolve().then(function () { return require('./status-tap-o9IIymsP.js'); }).then((module) => module.startStatusTap());
37
40
  }
38
41
  if (index.config.getBoolean('inputShims', needInputShims())) {
39
42
  /**
@@ -41,9 +44,9 @@ const App = class {
41
44
  * platforms proceed into this block.
42
45
  */
43
46
  const platform = ionicGlobal.isPlatform(window, 'ios') ? 'ios' : 'android';
44
- Promise.resolve().then(function () { return require('./input-shims-CPKgrIe3.js'); }).then((module) => module.startInputShims(index.config, platform));
47
+ Promise.resolve().then(function () { return require('./input-shims-Cbu1fcye.js'); }).then((module) => module.startInputShims(index.config, platform));
45
48
  }
46
- const hardwareBackButtonModule = await Promise.resolve().then(function () { return require('./hardware-back-button-CXmUnTJC.js'); });
49
+ const hardwareBackButtonModule = await Promise.resolve().then(function () { return require('./hardware-back-button-fqpYh-kd.js'); });
47
50
  const supportsHardwareBackButtonEvents = isHybrid || hardwareBackButton.shouldUseCloseWatcher();
48
51
  if (index.config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
49
52
  hardwareBackButtonModule.startHardwareBackButton();
@@ -59,7 +62,7 @@ const App = class {
59
62
  hardwareBackButtonModule.blockHardwareBackButton();
60
63
  }
61
64
  if (typeof window !== 'undefined') {
62
- Promise.resolve().then(function () { return require('./keyboard-hHzlEQpk.js'); }).then((module) => module.startKeyboardAssist(window));
65
+ Promise.resolve().then(function () { return require('./keyboard-Cix5TVkD.js'); }).then((module) => module.startKeyboardAssist(window));
63
66
  }
64
67
  Promise.resolve().then(function () { return require('./focus-visible-CCvKiLh3.js'); }).then((module) => (this.focusVisible = module.startFocusVisible()));
65
68
  });
@@ -102,7 +105,6 @@ const App = class {
102
105
  'force-statusbar-padding': index.config.getBoolean('_forceStatusbarPadding'),
103
106
  } }));
104
107
  }
105
- get el() { return index.getElement(this); }
106
108
  };
107
109
  const needInputShims = () => {
108
110
  /**
@@ -132,20 +134,20 @@ const buttonsMdCss = () => `.sc-ion-buttons-md-h{display:-ms-flexbox;display:fle
132
134
  const Buttons = class {
133
135
  constructor(hostRef) {
134
136
  index.registerInstance(this, hostRef);
135
- /**
136
- * If true, buttons will disappear when its
137
- * parent toolbar has fully collapsed if the toolbar
138
- * is not the first toolbar. If the toolbar is the
139
- * first toolbar, the buttons will be hidden and will
140
- * only be shown once all toolbars have fully collapsed.
141
- *
142
- * Only applies in `ios` mode with `collapse` set to
143
- * `true` on `ion-header`.
144
- *
145
- * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
146
- */
147
- this.collapse = false;
148
137
  }
138
+ /**
139
+ * If true, buttons will disappear when its
140
+ * parent toolbar has fully collapsed if the toolbar
141
+ * is not the first toolbar. If the toolbar is the
142
+ * first toolbar, the buttons will be hidden and will
143
+ * only be shown once all toolbars have fully collapsed.
144
+ *
145
+ * Only applies in `ios` mode with `collapse` set to
146
+ * `true` on `ion-header`.
147
+ *
148
+ * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
149
+ */
150
+ collapse = false;
149
151
  render() {
150
152
  const mode = ionicGlobal.getIonMode(this);
151
153
  return (index.h(index.Host, { key: '58c1fc5eb867d0731c63549b1ccb3ec3bbbe6e1b', class: {
@@ -167,68 +169,100 @@ const Content = class {
167
169
  this.ionScrollStart = index.createEvent(this, "ionScrollStart", 7);
168
170
  this.ionScroll = index.createEvent(this, "ionScroll", 7);
169
171
  this.ionScrollEnd = index.createEvent(this, "ionScrollEnd", 7);
170
- this.watchDog = null;
171
- this.isScrolling = false;
172
- this.lastScroll = 0;
173
- this.queued = false;
174
- this.cTop = -1;
175
- this.cBottom = -1;
176
- this.isMainContent = true;
177
- this.resizeTimeout = null;
178
- this.inheritedAttributes = {};
179
- this.tabsElement = null;
180
- // Detail is used in a hot loop in the scroll event, by allocating it here
181
- // V8 will be able to inline any read/write to it since it's a monomorphic class.
182
- // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
183
- this.detail = {
184
- scrollTop: 0,
185
- scrollLeft: 0,
186
- type: 'scroll',
187
- event: undefined,
188
- startX: 0,
189
- startY: 0,
190
- startTime: 0,
191
- currentX: 0,
192
- currentY: 0,
193
- velocityX: 0,
194
- velocityY: 0,
195
- deltaX: 0,
196
- deltaY: 0,
197
- currentTime: 0,
198
- data: undefined,
199
- isScrolling: true,
200
- };
201
- /**
202
- * If `true`, the content will scroll behind the headers
203
- * and footers. This effect can easily be seen by setting the toolbar
204
- * to transparent.
205
- */
206
- this.fullscreen = false;
207
- /**
208
- * Controls where the fixed content is placed relative to the main content
209
- * in the DOM. This can be used to control the order in which fixed elements
210
- * receive keyboard focus.
211
- * For example, if a FAB in the fixed slot should receive keyboard focus before
212
- * the main page content, set this property to `'before'`.
213
- */
214
- this.fixedSlotPlacement = 'after';
215
- /**
216
- * If you want to enable the content scrolling in the X axis, set this property to `true`.
217
- */
218
- this.scrollX = false;
219
- /**
220
- * If you want to disable the content scrolling in the Y axis, set this property to `false`.
221
- */
222
- this.scrollY = true;
223
- /**
224
- * Because of performance reasons, ionScroll events are disabled by default, in order to enable them
225
- * and start listening from (ionScroll), set this property to `true`.
226
- */
227
- this.scrollEvents = false;
228
172
  }
173
+ watchDog = null;
174
+ isScrolling = false;
175
+ lastScroll = 0;
176
+ queued = false;
177
+ cTop = -1;
178
+ cBottom = -1;
179
+ scrollEl;
180
+ backgroundContentEl;
181
+ isMainContent = true;
182
+ resizeTimeout = null;
183
+ fullscreenResizeObserver;
184
+ inheritedAttributes = {};
185
+ tabsElement = null;
186
+ tabsLoadCallback;
187
+ // Detail is used in a hot loop in the scroll event, by allocating it here
188
+ // V8 will be able to inline any read/write to it since it's a monomorphic class.
189
+ // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
190
+ detail = {
191
+ scrollTop: 0,
192
+ scrollLeft: 0,
193
+ type: 'scroll',
194
+ event: undefined,
195
+ startX: 0,
196
+ startY: 0,
197
+ startTime: 0,
198
+ currentX: 0,
199
+ currentY: 0,
200
+ velocityX: 0,
201
+ velocityY: 0,
202
+ deltaX: 0,
203
+ deltaY: 0,
204
+ currentTime: 0,
205
+ data: undefined,
206
+ isScrolling: true,
207
+ };
208
+ get el() { return index.getElement(this); }
209
+ /**
210
+ * The color to use from your application's color palette.
211
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
212
+ * For more information on colors, see [theming](/docs/theming/basics).
213
+ */
214
+ color;
215
+ /**
216
+ * If `true`, the content will scroll behind the headers
217
+ * and footers. This effect can easily be seen by setting the toolbar
218
+ * to transparent.
219
+ */
220
+ fullscreen = false;
229
221
  fullscreenChanged() {
230
222
  this.setupFullscreenResizeObserver();
231
223
  }
224
+ /**
225
+ * Controls where the fixed content is placed relative to the main content
226
+ * in the DOM. This can be used to control the order in which fixed elements
227
+ * receive keyboard focus.
228
+ * For example, if a FAB in the fixed slot should receive keyboard focus before
229
+ * the main page content, set this property to `'before'`.
230
+ */
231
+ fixedSlotPlacement = 'after';
232
+ /**
233
+ * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce.
234
+ * If the content exceeds the bounds of ionContent, nothing will change.
235
+ * Note, this does not disable the system bounce on iOS. That is an OS level setting.
236
+ */
237
+ forceOverscroll;
238
+ /**
239
+ * If you want to enable the content scrolling in the X axis, set this property to `true`.
240
+ */
241
+ scrollX = false;
242
+ /**
243
+ * If you want to disable the content scrolling in the Y axis, set this property to `false`.
244
+ */
245
+ scrollY = true;
246
+ /**
247
+ * Because of performance reasons, ionScroll events are disabled by default, in order to enable them
248
+ * and start listening from (ionScroll), set this property to `true`.
249
+ */
250
+ scrollEvents = false;
251
+ /**
252
+ * Emitted when the scroll has started. This event is disabled by default.
253
+ * Set `scrollEvents` to `true` to enable.
254
+ */
255
+ ionScrollStart;
256
+ /**
257
+ * Emitted while scrolling. This event is disabled by default.
258
+ * Set `scrollEvents` to `true` to enable.
259
+ */
260
+ ionScroll;
261
+ /**
262
+ * Emitted when the scroll has ended. This event is disabled by default.
263
+ * Set `scrollEvents` to `true` to enable.
264
+ */
265
+ ionScrollEnd;
232
266
  componentWillLoad() {
233
267
  this.inheritedAttributes = helpers.inheritAriaAttributes(this.el);
234
268
  }
@@ -569,7 +603,7 @@ const Content = class {
569
603
  const forceOverscroll = this.shouldForceOverscroll();
570
604
  const transitionShadow = mode === 'ios';
571
605
  this.resize();
572
- return (index.h(index.Host, Object.assign({ key: '9551c759df407b10d809171641fc6e8f14d92219', role: isMainContent ? 'main' : undefined, class: theme.createColorClasses(this.color, {
606
+ return (index.h(index.Host, { key: '9551c759df407b10d809171641fc6e8f14d92219', role: isMainContent ? 'main' : undefined, class: theme.createColorClasses(this.color, {
573
607
  [mode]: true,
574
608
  'content-fullscreen': this.fullscreen,
575
609
  'content-sizing': theme.hostContext('ion-popover', this.el),
@@ -578,14 +612,13 @@ const Content = class {
578
612
  }), style: {
579
613
  '--offset-top': `${this.cTop}px`,
580
614
  '--offset-bottom': `${this.cBottom}px`,
581
- } }, inheritedAttributes), index.h("div", { key: 'c6de8fd226f0d10a534eb107fe032ac155fbe68e', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? index.h("slot", { name: "fixed" }) : null, index.h("div", { key: '082fc2936061360060b48221ecb1c864a3711fa0', class: {
615
+ }, ...inheritedAttributes }, index.h("div", { key: 'c6de8fd226f0d10a534eb107fe032ac155fbe68e', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? index.h("slot", { name: "fixed" }) : null, index.h("div", { key: '082fc2936061360060b48221ecb1c864a3711fa0', class: {
582
616
  'inner-scroll': true,
583
617
  'scroll-x': scrollX,
584
618
  'scroll-y': scrollY,
585
619
  overscroll: (scrollX || scrollY) && forceOverscroll,
586
620
  }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, index.h("slot", { key: '0d2286206facb22696a9ca7e74a3f6b7d2397aab' })), transitionShadow ? (index.h("div", { class: "transition-effect" }, index.h("div", { class: "transition-cover" }), index.h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? index.h("slot", { name: "fixed" }) : null));
587
621
  }
588
- get el() { return index.getElement(this); }
589
622
  static get watchers() { return {
590
623
  "fullscreen": [{
591
624
  "fullscreenChanged": 0
@@ -593,12 +626,11 @@ const Content = class {
593
626
  }; }
594
627
  };
595
628
  const getParentElement = (el) => {
596
- var _a;
597
629
  if (el.parentElement) {
598
630
  // normal element with a parent element
599
631
  return el.parentElement;
600
632
  }
601
- if ((_a = el.parentNode) === null || _a === void 0 ? void 0 : _a.host) {
633
+ if (el.parentNode?.host) {
602
634
  // shadow dom's document fragment
603
635
  return el.parentNode.host;
604
636
  }
@@ -685,48 +717,27 @@ const footerMdCss = () => `ion-footer{display:block;position:relative;-ms-flex-o
685
717
  const Footer = class {
686
718
  constructor(hostRef) {
687
719
  index.registerInstance(this, hostRef);
688
- this.keyboardCtrl = null;
689
- this.keyboardCtrlPromise = null;
690
- this.keyboardVisible = false;
691
- /**
692
- * If `true`, the footer will be translucent.
693
- * Only applies when the mode is `"ios"` and the device supports
694
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
695
- *
696
- * Note: In order to scroll content behind the footer, the `fullscreen`
697
- * attribute needs to be set on the content.
698
- */
699
- this.translucent = false;
700
- this.checkCollapsibleFooter = () => {
701
- const mode = ionicGlobal.getIonMode(this);
702
- if (mode !== 'ios') {
703
- return;
704
- }
705
- const { collapse } = this;
706
- const hasFade = collapse === 'fade';
707
- this.destroyCollapsibleFooter();
708
- if (hasFade) {
709
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
710
- const contentEl = pageEl ? index$1.findIonContent(pageEl) : null;
711
- if (!contentEl) {
712
- index$1.printIonContentErrorMsg(this.el);
713
- return;
714
- }
715
- this.setupFadeFooter(contentEl);
716
- }
717
- };
718
- this.setupFadeFooter = async (contentEl) => {
719
- const scrollEl = (this.scrollEl = await index$1.getScrollElement(contentEl));
720
- /**
721
- * Handle fading of toolbars on scroll
722
- */
723
- this.contentScrollCallback = () => {
724
- handleFooterFade(scrollEl, this.el);
725
- };
726
- scrollEl.addEventListener('scroll', this.contentScrollCallback);
727
- handleFooterFade(scrollEl, this.el);
728
- };
729
720
  }
721
+ scrollEl;
722
+ contentScrollCallback;
723
+ keyboardCtrl = null;
724
+ keyboardCtrlPromise = null;
725
+ keyboardVisible = false;
726
+ get el() { return index.getElement(this); }
727
+ /**
728
+ * Describes the scroll effect that will be applied to the footer.
729
+ * Only applies in iOS mode.
730
+ */
731
+ collapse;
732
+ /**
733
+ * If `true`, the footer will be translucent.
734
+ * Only applies when the mode is `"ios"` and the device supports
735
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
736
+ *
737
+ * Note: In order to scroll content behind the footer, the `fullscreen`
738
+ * attribute needs to be set on the content.
739
+ */
740
+ translucent = false;
730
741
  componentDidLoad() {
731
742
  this.checkCollapsibleFooter();
732
743
  }
@@ -770,6 +781,35 @@ const Footer = class {
770
781
  this.keyboardCtrl = null;
771
782
  }
772
783
  }
784
+ checkCollapsibleFooter = () => {
785
+ const mode = ionicGlobal.getIonMode(this);
786
+ if (mode !== 'ios') {
787
+ return;
788
+ }
789
+ const { collapse } = this;
790
+ const hasFade = collapse === 'fade';
791
+ this.destroyCollapsibleFooter();
792
+ if (hasFade) {
793
+ const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
794
+ const contentEl = pageEl ? index$1.findIonContent(pageEl) : null;
795
+ if (!contentEl) {
796
+ index$1.printIonContentErrorMsg(this.el);
797
+ return;
798
+ }
799
+ this.setupFadeFooter(contentEl);
800
+ }
801
+ };
802
+ setupFadeFooter = async (contentEl) => {
803
+ const scrollEl = (this.scrollEl = await index$1.getScrollElement(contentEl));
804
+ /**
805
+ * Handle fading of toolbars on scroll
806
+ */
807
+ this.contentScrollCallback = () => {
808
+ handleFooterFade(scrollEl, this.el);
809
+ };
810
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
811
+ handleFooterFade(scrollEl, this.el);
812
+ };
773
813
  destroyCollapsibleFooter() {
774
814
  if (this.scrollEl && this.contentScrollCallback) {
775
815
  this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
@@ -780,7 +820,7 @@ const Footer = class {
780
820
  const { translucent, collapse } = this;
781
821
  const mode = ionicGlobal.getIonMode(this);
782
822
  const tabs = this.el.closest('ion-tabs');
783
- const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
823
+ const tabBar = tabs?.querySelector(':scope > ion-tab-bar');
784
824
  return (index.h(index.Host, { key: '71939c4bbaef5062532a99ee2e33574102a9abad', role: "contentinfo", class: {
785
825
  [mode]: true,
786
826
  // Used internally for styling
@@ -791,7 +831,6 @@ const Footer = class {
791
831
  [`footer-collapse-${collapse}`]: collapse !== undefined,
792
832
  } }, mode === 'ios' && translucent && index.h("div", { key: '2fa14f61661c47c661cecd696176728d6eafa74f', class: "footer-background" }), index.h("slot", { key: '8e63696e7c528d5c38201e546bf08135290d0945' })));
793
833
  }
794
- get el() { return index.getElement(this); }
795
834
  };
796
835
  Footer.style = {
797
836
  ios: footerIosCss(),
@@ -1037,28 +1076,29 @@ const headerMdCss = () => `ion-header{display:block;position:relative;-ms-flex-o
1037
1076
  const Header = class {
1038
1077
  constructor(hostRef) {
1039
1078
  index.registerInstance(this, hostRef);
1040
- this.inheritedAttributes = {};
1041
- /**
1042
- * If `true`, the header will be translucent.
1043
- * Only applies when the mode is `"ios"` and the device supports
1044
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1045
- *
1046
- * Note: In order to scroll content behind the header, the `fullscreen`
1047
- * attribute needs to be set on the content.
1048
- */
1049
- this.translucent = false;
1050
- this.setupFadeHeader = async (contentEl, condenseHeader) => {
1051
- const scrollEl = (this.scrollEl = await index$1.getScrollElement(contentEl));
1052
- /**
1053
- * Handle fading of toolbars on scroll
1054
- */
1055
- this.contentScrollCallback = () => {
1056
- handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1057
- };
1058
- scrollEl.addEventListener('scroll', this.contentScrollCallback);
1059
- handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1060
- };
1061
1079
  }
1080
+ scrollEl;
1081
+ contentScrollCallback;
1082
+ intersectionObserver;
1083
+ collapsibleMainHeader;
1084
+ inheritedAttributes = {};
1085
+ get el() { return index.getElement(this); }
1086
+ /**
1087
+ * Describes the scroll effect that will be applied to the header.
1088
+ * Only applies in iOS mode.
1089
+ *
1090
+ * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
1091
+ */
1092
+ collapse;
1093
+ /**
1094
+ * If `true`, the header will be translucent.
1095
+ * Only applies when the mode is `"ios"` and the device supports
1096
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1097
+ *
1098
+ * Note: In order to scroll content behind the header, the `fullscreen`
1099
+ * attribute needs to be set on the content.
1100
+ */
1101
+ translucent = false;
1062
1102
  componentWillLoad() {
1063
1103
  this.inheritedAttributes = helpers.inheritAriaAttributes(this.el);
1064
1104
  }
@@ -1102,6 +1142,17 @@ const Header = class {
1102
1142
  await this.setupFadeHeader(contentEl, condenseHeader);
1103
1143
  }
1104
1144
  }
1145
+ setupFadeHeader = async (contentEl, condenseHeader) => {
1146
+ const scrollEl = (this.scrollEl = await index$1.getScrollElement(contentEl));
1147
+ /**
1148
+ * Handle fading of toolbars on scroll
1149
+ */
1150
+ this.contentScrollCallback = () => {
1151
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1152
+ };
1153
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
1154
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
1155
+ };
1105
1156
  destroyCollapsibleHeader() {
1106
1157
  if (this.intersectionObserver) {
1107
1158
  this.intersectionObserver.disconnect();
@@ -1173,16 +1224,15 @@ const Header = class {
1173
1224
  const isCondensed = collapse === 'condense';
1174
1225
  // banner role must be at top level, so remove role if inside a menu
1175
1226
  const roleType = getRoleType(theme.hostContext('ion-menu', this.el), isCondensed, mode);
1176
- return (index.h(index.Host, Object.assign({ key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
1227
+ return (index.h(index.Host, { key: '863c4568cd7b8c0ec55109f193bbbaed68a1346e', role: roleType, class: {
1177
1228
  [mode]: true,
1178
1229
  // Used internally for styling
1179
1230
  [`header-${mode}`]: true,
1180
1231
  [`header-translucent`]: this.translucent,
1181
1232
  [`header-collapse-${collapse}`]: true,
1182
1233
  [`header-translucent-${mode}`]: this.translucent,
1183
- } }, inheritedAttributes), mode === 'ios' && translucent && index.h("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), index.h("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
1234
+ }, ...inheritedAttributes }, mode === 'ios' && translucent && index.h("div", { key: '25c3bdce328b0b35607d154c8b8374679313d881', class: "header-background" }), index.h("slot", { key: 'b44fab0a9be7920b9650da26117c783e751e1702' })));
1184
1235
  }
1185
- get el() { return index.getElement(this); }
1186
1236
  };
1187
1237
  Header.style = {
1188
1238
  ios: headerIosCss(),
@@ -1197,22 +1247,47 @@ const RouterOutlet = class {
1197
1247
  this.ionNavWillLoad = index.createEvent(this, "ionNavWillLoad", 7);
1198
1248
  this.ionNavWillChange = index.createEvent(this, "ionNavWillChange", 3);
1199
1249
  this.ionNavDidChange = index.createEvent(this, "ionNavDidChange", 3);
1200
- this.lockController = lockController.createLockController();
1201
- this.gestureOrAnimationInProgress = false;
1202
- /**
1203
- * The mode determines which platform styles to use.
1204
- */
1205
- this.mode = ionicGlobal.getIonMode(this);
1206
- /**
1207
- * If `true`, the router-outlet should animate the transition of components.
1208
- */
1209
- this.animated = true;
1210
1250
  }
1251
+ lockController = lockController.createLockController();
1252
+ activeEl;
1253
+ // TODO(FW-2832): types
1254
+ activeComponent;
1255
+ activeParams;
1256
+ gesture;
1257
+ ani;
1258
+ gestureOrAnimationInProgress = false;
1259
+ get el() { return index.getElement(this); }
1260
+ /**
1261
+ * The mode determines which platform styles to use.
1262
+ */
1263
+ mode = ionicGlobal.getIonMode(this);
1264
+ /** @internal */
1265
+ delegate;
1266
+ /**
1267
+ * If `true`, the router-outlet should animate the transition of components.
1268
+ */
1269
+ animated = true;
1270
+ /** This property allows to create custom transition using AnimationBuilder functions. */
1271
+ animation;
1272
+ /**
1273
+ * If `true`, the router-outlet should allow navigation via swipe-to-go-back gesture.
1274
+ * Defaults to `true` for `"ios"` mode and `false` for `"md"` mode.
1275
+ */
1276
+ swipeGesture;
1277
+ swipeGestureChanged() {
1278
+ this.updateGestureEnabled();
1279
+ }
1280
+ /** @internal */
1281
+ swipeHandler;
1211
1282
  swipeHandlerChanged() {
1212
- if (this.gesture) {
1213
- this.gesture.enable(this.swipeHandler !== undefined);
1214
- }
1283
+ this.updateGestureEnabled();
1215
1284
  }
1285
+ /** @internal */
1286
+ ionNavWillLoad;
1287
+ /** @internal */
1288
+ ionNavWillChange;
1289
+ /** @internal */
1290
+ ionNavDidChange;
1216
1291
  async connectedCallback() {
1217
1292
  const onStart = () => {
1218
1293
  this.gestureOrAnimationInProgress = true;
@@ -1220,7 +1295,7 @@ const RouterOutlet = class {
1220
1295
  this.swipeHandler.onStart();
1221
1296
  }
1222
1297
  };
1223
- this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-DwTZiAc9.js'); })).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => { var _a; return (_a = this.ani) === null || _a === void 0 ? void 0 : _a.progressStep(step); }, (shouldComplete, step, dur) => {
1298
+ this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-B7X9VOlH.js'); })).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => this.ani?.progressStep(step), (shouldComplete, step, dur) => {
1224
1299
  if (this.ani) {
1225
1300
  this.ani.onFinish(() => {
1226
1301
  this.gestureOrAnimationInProgress = false;
@@ -1251,11 +1326,21 @@ const RouterOutlet = class {
1251
1326
  this.gestureOrAnimationInProgress = false;
1252
1327
  }
1253
1328
  });
1254
- this.swipeHandlerChanged();
1329
+ if (this.swipeGesture === undefined) {
1330
+ this.swipeGesture = index.config.getBoolean('swipeBackEnabled', this.mode === 'ios');
1331
+ }
1332
+ else {
1333
+ this.updateGestureEnabled();
1334
+ }
1255
1335
  }
1256
1336
  componentWillLoad() {
1257
1337
  this.ionNavWillLoad.emit();
1258
1338
  }
1339
+ updateGestureEnabled() {
1340
+ if (this.gesture) {
1341
+ this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
1342
+ }
1343
+ }
1259
1344
  disconnectedCallback() {
1260
1345
  if (this.gesture) {
1261
1346
  this.gesture.destroy();
@@ -1322,16 +1407,19 @@ const RouterOutlet = class {
1322
1407
  const { el, mode } = this;
1323
1408
  const animated = this.animated && index.config.getBoolean('animated', true);
1324
1409
  const animationBuilder = opts.animationBuilder || this.animation || index.config.get('navAnimation');
1325
- await index$2.transition(Object.assign(Object.assign({ mode,
1410
+ await index$2.transition({
1411
+ mode,
1326
1412
  animated,
1327
1413
  enteringEl,
1328
- leavingEl, baseEl: el,
1414
+ leavingEl,
1415
+ baseEl: el,
1329
1416
  /**
1330
1417
  * We need to wait for all Stencil components
1331
1418
  * to be ready only when using the lazy
1332
1419
  * loaded bundle.
1333
1420
  */
1334
- deepWait: helpers.hasLazyBuild(el), progressCallback: opts.progressAnimation
1421
+ deepWait: helpers.hasLazyBuild(el),
1422
+ progressCallback: opts.progressAnimation
1335
1423
  ? (ani) => {
1336
1424
  /**
1337
1425
  * Because this progress callback is called asynchronously
@@ -1360,16 +1448,21 @@ const RouterOutlet = class {
1360
1448
  this.ani = ani;
1361
1449
  }
1362
1450
  }
1363
- : undefined }, opts), { animationBuilder }));
1451
+ : undefined,
1452
+ ...opts,
1453
+ animationBuilder,
1454
+ });
1364
1455
  // emit nav changed event
1365
1456
  this.ionNavDidChange.emit();
1366
1457
  return true;
1367
1458
  }
1368
1459
  render() {
1369
- return index.h("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
1460
+ return index.h("slot", { key: '249e7d8a063c781db52fa535e42d648c7bf2909a' });
1370
1461
  }
1371
- get el() { return index.getElement(this); }
1372
1462
  static get watchers() { return {
1463
+ "swipeGesture": [{
1464
+ "swipeGestureChanged": 0
1465
+ }],
1373
1466
  "swipeHandler": [{
1374
1467
  "swipeHandlerChanged": 0
1375
1468
  }]
@@ -1386,6 +1479,22 @@ const ToolbarTitle = class {
1386
1479
  index.registerInstance(this, hostRef);
1387
1480
  this.ionStyle = index.createEvent(this, "ionStyle", 7);
1388
1481
  }
1482
+ get el() { return index.getElement(this); }
1483
+ /**
1484
+ * The color to use from your application's color palette.
1485
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
1486
+ * For more information on colors, see [theming](/docs/theming/basics).
1487
+ */
1488
+ color;
1489
+ /**
1490
+ * The size of the toolbar title.
1491
+ */
1492
+ size;
1493
+ /**
1494
+ * Emitted when the styles change.
1495
+ * @internal
1496
+ */
1497
+ ionStyle;
1389
1498
  sizeChanged() {
1390
1499
  this.emitStyle();
1391
1500
  }
@@ -1404,13 +1513,12 @@ const ToolbarTitle = class {
1404
1513
  render() {
1405
1514
  const mode = ionicGlobal.getIonMode(this);
1406
1515
  const size = this.getSize();
1407
- return (index.h(index.Host, { key: '44e63f8439df64c470692904427b417e19406476', class: theme.createColorClasses(this.color, {
1516
+ return (index.h(index.Host, { key: 'c5f0b913ff0a22d9bf02da48a313a613c2ac8fe7', class: theme.createColorClasses(this.color, {
1408
1517
  [mode]: true,
1409
1518
  [`title-${size}`]: true,
1410
1519
  'title-rtl': document.dir === 'rtl',
1411
- }) }, index.h("div", { key: '784cf60a0db16045391891cc8fad0c7dbeba4039', class: "toolbar-title" }, index.h("slot", { key: '0c720a50479ba257e8756337aeb9b0ab7516a227' }))));
1520
+ }) }, index.h("div", { key: '5253b9e39fb764bfe1e57370719139f8a83e9904', class: "toolbar-title" }, index.h("slot", { key: 'e38b1eccb0175c36f8cab211aee7ce4d61fc9035' }))));
1412
1521
  }
1413
- get el() { return index.getElement(this); }
1414
1522
  static get watchers() { return {
1415
1523
  "size": [{
1416
1524
  "sizeChanged": 0
@@ -1429,8 +1537,15 @@ const toolbarMdCss = () => `:host{--border-width:0;--border-style:solid;--opacit
1429
1537
  const Toolbar = class {
1430
1538
  constructor(hostRef) {
1431
1539
  index.registerInstance(this, hostRef);
1432
- this.childrenStyles = new Map();
1433
1540
  }
1541
+ childrenStyles = new Map();
1542
+ get el() { return index.getElement(this); }
1543
+ /**
1544
+ * The color to use from your application's color palette.
1545
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
1546
+ * For more information on colors, see [theming](/docs/theming/basics).
1547
+ */
1548
+ color;
1434
1549
  componentWillLoad() {
1435
1550
  const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));
1436
1551
  const firstButtons = buttons.find((button) => {
@@ -1475,12 +1590,14 @@ const Toolbar = class {
1475
1590
  this.childrenStyles.forEach((value) => {
1476
1591
  Object.assign(childStyles, value);
1477
1592
  });
1478
- return (index.h(index.Host, { key: 'b849db2863778dee6c5a251bffa1b3a657aeb036', class: Object.assign(Object.assign({}, childStyles), theme.createColorClasses(this.color, {
1479
- [mode]: true,
1480
- 'in-toolbar': theme.hostContext('ion-toolbar', this.el),
1481
- })) }, index.h("div", { key: '67f5bba9c4f527c3f35bfe1313a2b85741f9b246', class: "toolbar-background", part: "background" }), index.h("div", { key: '085e8c68f056e5b0deb9d1606431fbeb45dae8e5', class: "toolbar-container", part: "container" }, index.h("slot", { key: '15227c79c3baf883fd8c43fdb7e1313453933c79', name: "start" }), index.h("slot", { key: '0b8a7f7e685aa31c80d9bc03446ccc3a9d07e0e8', name: "secondary" }), index.h("div", { key: '57e4628c1fa89df79dd80456259db961bb691404', class: "toolbar-content", part: "content" }, index.h("slot", { key: '82c2f6e1acf8d96db259bd8baf295881801edbd5' })), index.h("slot", { key: 'b2d4afb15214199f206c0a5e08b581e4c9c2f58a', name: "primary" }), index.h("slot", { key: 'bfb909a0c472f8834046c2ea23bef2f562167ad3', name: "end" }))));
1593
+ return (index.h(index.Host, { key: 'c16803dc4eae9972ef19bf43aa74b94feb4fd4c1', class: {
1594
+ ...childStyles,
1595
+ ...theme.createColorClasses(this.color, {
1596
+ [mode]: true,
1597
+ 'in-toolbar': theme.hostContext('ion-toolbar', this.el),
1598
+ }),
1599
+ } }, index.h("div", { key: '20e3f85844c94b8399c245d2df125e6ab678d681', class: "toolbar-background", part: "background" }), index.h("div", { key: '12f09e324e8d9130b9d30c493106b500233fb016', class: "toolbar-container", part: "container" }, index.h("slot", { key: '6da0fe99ee0c4d7c969712e2908a4e7e6be5ed2c', name: "start" }), index.h("slot", { key: '177c346d6dcabb7857d810cda7d25c6dde32e6e2', name: "secondary" }), index.h("div", { key: '8c921b415940c71bf4c1a2c5c6887f36ad1afd16', class: "toolbar-content", part: "content" }, index.h("slot", { key: '1f2976b80d967bd51e86ed1357b363271d655df2' })), index.h("slot", { key: '0f7618044a7e8b0d9b715a8e208070f7ef2ee4c8', name: "primary" }), index.h("slot", { key: '125c393197e0660a3c2638dd4628c41ef7e05f19', name: "end" }))));
1482
1600
  }
1483
- get el() { return index.getElement(this); }
1484
1601
  };
1485
1602
  Toolbar.style = {
1486
1603
  ios: toolbarIosCss(),