@ionic/core 8.8.20-dev.11787158518.168a2fea → 8.8.20-dev.11788449221.155f9f1e

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 (1241) 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-divider.d.ts +11 -0
  27. package/components/ion-divider.js +4 -0
  28. package/components/ion-fab-button.js +1 -1
  29. package/components/ion-fab-list.js +1 -1
  30. package/components/ion-fab.js +1 -1
  31. package/components/ion-footer.js +1 -1
  32. package/components/ion-gallery-item.d.ts +11 -0
  33. package/components/ion-gallery-item.js +4 -0
  34. package/components/ion-gallery.d.ts +11 -0
  35. package/components/ion-gallery.js +4 -0
  36. package/components/ion-grid.js +1 -1
  37. package/components/ion-header.js +1 -1
  38. package/components/ion-icon.js +1 -1
  39. package/components/ion-img.js +1 -1
  40. package/components/ion-infinite-scroll-content.js +1 -1
  41. package/components/ion-infinite-scroll.js +1 -1
  42. package/components/ion-input-otp.js +1 -1
  43. package/components/ion-input-password-toggle.js +1 -1
  44. package/components/ion-input.js +1 -1
  45. package/components/ion-item-divider.js +1 -1
  46. package/components/ion-item-group.js +1 -1
  47. package/components/ion-item-option.js +1 -1
  48. package/components/ion-item-options.js +1 -1
  49. package/components/ion-item-sliding.js +1 -1
  50. package/components/ion-item.js +1 -1
  51. package/components/ion-label.js +1 -1
  52. package/components/ion-list-header.js +1 -1
  53. package/components/ion-list.js +1 -1
  54. package/components/ion-loading.js +1 -1
  55. package/components/ion-menu-button.js +1 -1
  56. package/components/ion-menu-toggle.js +1 -1
  57. package/components/ion-menu.js +1 -1
  58. package/components/ion-modal.js +1 -1
  59. package/components/ion-nav-link.js +1 -1
  60. package/components/ion-nav.js +1 -1
  61. package/components/ion-note.js +1 -1
  62. package/components/ion-picker-column-option.js +1 -1
  63. package/components/ion-picker-column.js +1 -1
  64. package/components/ion-picker-legacy-column.d.ts +11 -0
  65. package/components/ion-picker-legacy-column.js +4 -0
  66. package/components/ion-picker-legacy.d.ts +11 -0
  67. package/components/ion-picker-legacy.js +4 -0
  68. package/components/ion-picker.js +1 -1
  69. package/components/ion-popover.js +1 -1
  70. package/components/ion-progress-bar.js +1 -1
  71. package/components/ion-radio-group.js +1 -1
  72. package/components/ion-radio.js +1 -1
  73. package/components/ion-range.js +1 -1
  74. package/components/ion-refresher-content.js +1 -1
  75. package/components/ion-refresher.js +1 -1
  76. package/components/ion-reorder-group.js +1 -1
  77. package/components/ion-reorder.js +1 -1
  78. package/components/ion-ripple-effect.js +1 -1
  79. package/components/ion-route-redirect.js +1 -1
  80. package/components/ion-route.js +1 -1
  81. package/components/ion-router-link.js +1 -1
  82. package/components/ion-router-outlet.js +1 -1
  83. package/components/ion-router.js +1 -1
  84. package/components/ion-row.js +1 -1
  85. package/components/ion-searchbar.js +1 -1
  86. package/components/ion-segment-button.js +1 -1
  87. package/components/ion-segment-content.js +1 -1
  88. package/components/ion-segment-view.js +1 -1
  89. package/components/ion-segment.js +1 -1
  90. package/components/ion-select-modal.js +1 -1
  91. package/components/ion-select-option.js +1 -1
  92. package/components/ion-select-popover.js +1 -1
  93. package/components/ion-select.js +1 -1
  94. package/components/ion-skeleton-text.js +1 -1
  95. package/components/ion-spinner.js +1 -1
  96. package/components/ion-split-pane.js +1 -1
  97. package/components/ion-tab-bar.js +1 -1
  98. package/components/ion-tab-button.js +1 -1
  99. package/components/ion-tab.js +1 -1
  100. package/components/ion-tabs.js +1 -1
  101. package/components/ion-text.js +1 -1
  102. package/components/ion-textarea.js +1 -1
  103. package/components/ion-thumbnail.js +1 -1
  104. package/components/ion-title.js +1 -1
  105. package/components/ion-toast.js +1 -1
  106. package/components/ion-toggle.js +1 -1
  107. package/components/ion-toolbar.js +1 -1
  108. package/components/{p-DwpKZ6rl.js → p-B2SvA6NE.js} +1 -1
  109. package/components/p-B39i6rpY.js +4 -0
  110. package/components/p-B4GJERAm.js +4 -0
  111. package/components/p-B9_sPaDw.js +4 -0
  112. package/components/p-BDqjX7Z_.js +4 -0
  113. package/components/p-BE21dB_a.js +4 -0
  114. package/components/p-BJyeT56g.js +4 -0
  115. package/components/p-BLP69XoA.js +4 -0
  116. package/components/p-BTBa_wH7.js +4 -0
  117. package/components/p-BTEOs1at.js +4 -0
  118. package/components/p-BU8Blvqg.js +4 -0
  119. package/components/p-BUePQFRZ.js +4 -0
  120. package/components/p-BXjGM4gW.js +4 -0
  121. package/components/p-BXuZo5-p.js +4 -0
  122. package/components/p-BYRVyMu9.js +4 -0
  123. package/components/p-BYSs-jZz.js +4 -0
  124. package/components/{p-ryyf_ItD.js → p-BZwQa9ey.js} +1 -1
  125. package/components/p-B_a4XnF2.js +4 -0
  126. package/components/p-BjW8SOqw.js +4 -0
  127. package/components/p-BnQAsi91.js +4 -0
  128. package/components/p-BrF4HSay.js +4 -0
  129. package/components/p-Bs5kME4N.js +4 -0
  130. package/components/p-BwKpO3Is.js +4 -0
  131. package/components/p-BwzRqsq1.js +4 -0
  132. package/components/p-C0K6CGg9.js +4 -0
  133. package/components/p-C1L59jNd.js +4 -0
  134. package/components/p-C3ydXg9O.js +4 -0
  135. package/components/p-C5F5Zw01.js +4 -0
  136. package/components/p-C784We0w.js +4 -0
  137. package/components/p-CA81qANP.js +4 -0
  138. package/components/p-CEz0vNHD.js +4 -0
  139. package/components/p-CHB9zWT6.js +4 -0
  140. package/components/p-CJNsztW3.js +4 -0
  141. package/components/{p-CMLAwl_N.js → p-CKLXmqy1.js} +1 -1
  142. package/components/p-CODBQrPj.js +4 -0
  143. package/components/p-CVYFPBs-.js +4 -0
  144. package/components/p-CWqLCAML.js +4 -0
  145. package/components/p-CaB0_AG0.js +4 -0
  146. package/components/p-CaXMr1SL.js +4 -0
  147. package/components/p-Cc3oC60a.js +4 -0
  148. package/components/p-CjlmHeGM.js +4 -0
  149. package/components/p-CstXr-x9.js +4 -0
  150. package/components/{p-DzRT60Tw.js → p-Cu8FoYIJ.js} +1 -1
  151. package/components/p-CxhjkdQ_.js +4 -0
  152. package/components/p-CxoHM559.js +4 -0
  153. package/components/p-D0Iqw6OZ.js +4 -0
  154. package/components/p-D12Xsfh7.js +4 -0
  155. package/components/p-D1t981Ih.js +4 -0
  156. package/components/p-D2tZEPGv.js +4 -0
  157. package/components/p-D6zl6ZA8.js +4 -0
  158. package/components/p-DExJ63jR.js +4 -0
  159. package/components/p-DHvfufkW.js +4 -0
  160. package/components/p-DNweMi32.js +4 -0
  161. package/components/p-DRUGmlKi.js +4 -0
  162. package/components/p-DYq-5riI.js +4 -0
  163. package/components/p-DaJxRxSQ.js +4 -0
  164. package/components/p-Db3A3kHi.js +4 -0
  165. package/components/p-Df6AAcu8.js +4 -0
  166. package/components/p-Dhi5xtNS.js +4 -0
  167. package/components/{p-63OhffQv.js → p-Di8NbWfs.js} +1 -1
  168. package/components/p-DkfVuzjA.js +4 -0
  169. package/components/p-DriGEn08.js +4 -0
  170. package/components/p-Ds3yn-R0.js +4 -0
  171. package/components/p-DylrHLJF.js +4 -0
  172. package/components/p-VrmyB-Wu.js +4 -0
  173. package/components/p-Wn4ujuPW.js +4 -0
  174. package/components/p-X6YgGSBf.js +4 -0
  175. package/components/p-dLA3JnNJ.js +4 -0
  176. package/components/p-fIOYmaqA.js +4 -0
  177. package/components/p-o8OKV5aD.js +4 -0
  178. package/components/p-vUGYs065.js +4 -0
  179. package/components/p-vXpMhGrs.js +4 -0
  180. package/css/core.css +1 -1
  181. package/css/core.css.map +1 -1
  182. package/css/display.css +1 -1
  183. package/css/display.css.map +1 -1
  184. package/css/flex-utils.css +1 -1
  185. package/css/flex-utils.css.map +1 -1
  186. package/css/float-elements.css.map +1 -1
  187. package/css/global.bundle.css.map +1 -1
  188. package/css/ionic/bundle.ionic.css +1 -0
  189. package/css/ionic/bundle.ionic.css.map +1 -0
  190. package/css/ionic/core.ionic.css +1 -0
  191. package/css/ionic/core.ionic.css.map +1 -0
  192. package/css/ionic/global.bundle.ionic.css +1 -0
  193. package/css/ionic/global.bundle.ionic.css.map +1 -0
  194. package/css/ionic/ionic-swiper.ionic.css +1 -0
  195. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  196. package/css/ionic/link.ionic.css +1 -0
  197. package/css/ionic/link.ionic.css.map +1 -0
  198. package/css/ionic/structure.ionic.css +1 -0
  199. package/css/ionic/structure.ionic.css.map +1 -0
  200. package/css/ionic/typography.ionic.css +1 -0
  201. package/css/ionic/typography.ionic.css.map +1 -0
  202. package/css/ionic/utils.bundle.ionic.css +1 -0
  203. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  204. package/css/ionic-swiper.css +1 -1
  205. package/css/ionic-swiper.css.map +1 -1
  206. package/css/ionic.bundle.css +1 -1
  207. package/css/ionic.bundle.css.map +1 -1
  208. package/css/normalize.css.map +1 -1
  209. package/css/padding.css.map +1 -1
  210. package/css/palettes/dark.always.css.map +1 -1
  211. package/css/palettes/dark.class.css.map +1 -1
  212. package/css/palettes/dark.system.css.map +1 -1
  213. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  214. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  215. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  216. package/css/palettes/high-contrast.always.css.map +1 -1
  217. package/css/palettes/high-contrast.class.css.map +1 -1
  218. package/css/palettes/high-contrast.system.css.map +1 -1
  219. package/css/structure.css.map +1 -1
  220. package/css/text-alignment.css.map +1 -1
  221. package/css/text-transformation.css.map +1 -1
  222. package/css/typography.css.map +1 -1
  223. package/css/utils.bundle.css +1 -1
  224. package/css/utils.bundle.css.map +1 -1
  225. package/dist/cjs/{animation-C0mOHzej.js → animation-CxRPIayb.js} +6 -6
  226. package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BwvlV6g7.js} +1 -1
  227. package/dist/cjs/{button-active-CVMevT9a.js → button-active-qCQDwE2m.js} +3 -3
  228. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CRl0exFC.js} +3 -3
  229. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  230. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  231. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  232. package/dist/cjs/clear-button-press-controller-C7B9kyMa.js +45 -0
  233. package/dist/cjs/{config-CjUbvdPW.js → config-DWdFbSNK.js} +4 -5
  234. package/dist/cjs/{dir-zwDPRE5K.js → dir-DD0jPVH3.js} +3 -2
  235. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  236. package/dist/cjs/{format-pp0Du3K-.js → format-COAsdjOc.js} +30 -40
  237. package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-IvkF1VuM.js} +10 -6
  238. package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-dtqlP_q4.js} +8 -15
  239. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-DG25gZzb.js} +4 -3
  240. package/dist/cjs/{helpers-YPQybDph.js → helpers-Dhimwhpn.js} +74 -7
  241. package/dist/cjs/{index-DwlRtFZe.js → index-BJ2-LydH.js} +3 -9
  242. package/dist/cjs/{index-zVCah4Uz.js → index-Bsq0SbXc.js} +2 -2
  243. package/dist/cjs/{index-uvry__L4.js → index-C1knGA9x.js} +65 -33
  244. package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
  245. package/dist/cjs/{index-DXsPSne6.js → index-DhDV4RxJ.js} +16 -15
  246. package/dist/cjs/{index-BLdJCcJY.js → index-DuleInoh.js} +5 -5
  247. package/dist/cjs/{index-B7zJsYWS.js → index-YYUVCfP-.js} +3 -3
  248. package/dist/cjs/{index-DDg31ZF5.js → index-yon1HGB7.js} +10 -9
  249. package/dist/cjs/index.cjs.js +18 -18
  250. package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-BgJcHtqI.js} +23 -20
  251. package/dist/cjs/input.utils--RmR5lVe.js +150 -0
  252. package/dist/cjs/ion-accordion_2.cjs.entry.js +383 -379
  253. package/dist/cjs/ion-action-sheet.cjs.entry.js +87 -179
  254. package/dist/cjs/ion-alert.cjs.entry.js +126 -251
  255. package/dist/cjs/ion-app_8.cjs.entry.js +608 -461
  256. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -19
  257. package/dist/cjs/ion-back-button.cjs.entry.js +50 -65
  258. package/dist/cjs/ion-backdrop.cjs.entry.js +22 -23
  259. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +170 -212
  260. package/dist/cjs/ion-button_2.cjs.entry.js +118 -153
  261. package/dist/cjs/ion-card_5.cjs.entry.js +80 -110
  262. package/dist/cjs/ion-checkbox.cjs.entry.js +130 -164
  263. package/dist/cjs/ion-chip.cjs.entry.js +56 -21
  264. package/dist/cjs/ion-col_3.cjs.entry.js +61 -186
  265. package/dist/cjs/ion-datetime-button.cjs.entry.js +248 -256
  266. package/dist/cjs/ion-datetime_3.cjs.entry.js +3242 -0
  267. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  268. package/dist/cjs/ion-fab_3.cjs.entry.js +113 -155
  269. package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
  270. package/dist/cjs/ion-gallery.cjs.entry.js +608 -0
  271. package/dist/cjs/ion-img.cjs.entry.js +17 -35
  272. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +157 -109
  273. package/dist/cjs/ion-input-otp.cjs.entry.js +437 -435
  274. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +64 -40
  275. package/dist/cjs/ion-input.cjs.entry.js +312 -351
  276. package/dist/cjs/ion-item-option_3.cjs.entry.js +512 -137
  277. package/dist/cjs/ion-item_8.cjs.entry.js +190 -218
  278. package/dist/cjs/ion-loading.cjs.entry.js +69 -152
  279. package/dist/cjs/ion-menu_3.cjs.entry.js +138 -182
  280. package/dist/cjs/ion-modal.cjs.entry.js +501 -571
  281. package/dist/cjs/ion-nav_2.cjs.entry.js +164 -104
  282. package/dist/cjs/ion-picker-column-option.cjs.entry.js +40 -40
  283. package/dist/cjs/ion-picker-column.cjs.entry.js +410 -422
  284. package/dist/cjs/ion-picker.cjs.entry.js +401 -406
  285. package/dist/cjs/ion-popover.cjs.entry.js +212 -324
  286. package/dist/cjs/ion-progress-bar.cjs.entry.js +48 -36
  287. package/dist/cjs/ion-radio_2.cjs.entry.js +162 -217
  288. package/dist/cjs/ion-range.cjs.entry.js +251 -309
  289. package/dist/cjs/ion-refresher_2.cjs.entry.js +122 -175
  290. package/dist/cjs/ion-reorder_2.cjs.entry.js +54 -60
  291. package/dist/cjs/ion-ripple-effect.cjs.entry.js +26 -18
  292. package/dist/cjs/ion-route_4.cjs.entry.js +76 -179
  293. package/dist/cjs/ion-searchbar.cjs.entry.js +331 -308
  294. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  295. package/dist/cjs/ion-segment-view.cjs.entry.js +27 -28
  296. package/dist/cjs/ion-segment_2.cjs.entry.js +141 -177
  297. package/dist/cjs/ion-select-modal.cjs.entry.js +70 -50
  298. package/dist/cjs/ion-select_3.cjs.entry.js +429 -507
  299. package/dist/cjs/ion-spinner.cjs.entry.js +36 -28
  300. package/dist/cjs/ion-split-pane.cjs.entry.js +25 -34
  301. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +180 -117
  302. package/dist/cjs/ion-tab_2.cjs.entry.js +30 -55
  303. package/dist/cjs/ion-text.cjs.entry.js +7 -13
  304. package/dist/cjs/ion-textarea.cjs.entry.js +310 -303
  305. package/dist/cjs/ion-toast.cjs.entry.js +170 -265
  306. package/dist/cjs/ion-toggle.cjs.entry.js +187 -184
  307. package/dist/cjs/ionic-global-DYLhJaw7.js +519 -0
  308. package/dist/cjs/ionic.cjs.js +4 -4
  309. package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-Blgf-vZU.js} +21 -15
  310. package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DKn76MYO.js} +1 -1
  311. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-BgioTbwQ.js} +3 -3
  312. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-Otnp8OQI.js} +5 -4
  313. package/dist/cjs/list-a-7GSA6K.js +8 -0
  314. package/dist/cjs/loader.cjs.js +4 -4
  315. package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-ClgvbGfq.js} +11 -9
  316. package/dist/cjs/notch-controller-0hkmmSGo.js +155 -0
  317. package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
  318. package/dist/cjs/{overlays-KaNVDNqC.js → overlays-Bxjqh2m3.js} +336 -60
  319. package/dist/cjs/scroll-hide-controller-qWMU5yOk.js +345 -0
  320. package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-BqJEK1N1.js} +4 -3
  321. package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-ClA8u57t.js} +5 -4
  322. package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-4vY7mi8i.js} +6 -5
  323. package/dist/cjs/{theme-Bw0rpaNN.js → theme-IlOsGAz7.js} +26 -7
  324. package/dist/cjs/validity-QmuwEptc.js +51 -0
  325. package/dist/cjs/x-BTF99yFH.js +8 -0
  326. package/dist/collection/collection-manifest.json +13 -1
  327. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  328. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  329. package/dist/collection/components/accordion/accordion.js +338 -327
  330. package/dist/collection/components/accordion/accordion.md.css +67 -59
  331. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  332. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  333. package/dist/collection/components/accordion-group/accordion-group.js +69 -56
  334. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  335. package/dist/collection/components/action-sheet/action-sheet.ionic.css +494 -0
  336. package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
  337. package/dist/collection/components/action-sheet/action-sheet.js +76 -166
  338. package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
  339. package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
  340. package/dist/collection/components/alert/alert.ionic.css +787 -0
  341. package/dist/collection/components/alert/alert.ios.css +247 -54
  342. package/dist/collection/components/alert/alert.js +113 -236
  343. package/dist/collection/components/alert/alert.md.css +243 -56
  344. package/dist/collection/components/app/app.js +15 -86
  345. package/dist/collection/components/avatar/avatar.ionic.css +385 -0
  346. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  347. package/dist/collection/components/avatar/avatar.js +120 -4
  348. package/dist/collection/components/avatar/avatar.md.css +51 -0
  349. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  350. package/dist/collection/components/back-button/back-button.js +46 -61
  351. package/dist/collection/components/back-button/back-button.md.css +60 -48
  352. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  353. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  354. package/dist/collection/components/backdrop/backdrop.js +26 -22
  355. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  356. package/dist/collection/components/badge/badge.ionic.css +272 -0
  357. package/dist/collection/components/badge/badge.ios.css +137 -12
  358. package/dist/collection/components/badge/badge.js +145 -15
  359. package/dist/collection/components/badge/badge.md.css +122 -12
  360. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  361. package/dist/collection/components/breadcrumb/breadcrumb.js +72 -101
  362. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  363. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  364. package/dist/collection/components/breadcrumbs/breadcrumbs.js +99 -112
  365. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  366. package/dist/collection/components/button/button.ionic.css +644 -0
  367. package/dist/collection/components/button/button.ios.css +154 -46
  368. package/dist/collection/components/button/button.js +122 -157
  369. package/dist/collection/components/button/button.md.css +150 -50
  370. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  371. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  372. package/dist/collection/components/buttons/buttons.js +29 -21
  373. package/dist/collection/components/buttons/buttons.md.css +55 -3
  374. package/dist/collection/components/card/card.ionic.css +144 -0
  375. package/dist/collection/components/card/card.ios.css +65 -14
  376. package/dist/collection/components/card/card.js +61 -63
  377. package/dist/collection/components/card/card.md.css +65 -14
  378. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  379. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  380. package/dist/collection/components/card-content/card-content.js +12 -10
  381. package/dist/collection/components/card-content/card-content.md.css +20 -35
  382. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  383. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  384. package/dist/collection/components/card-header/card-header.js +20 -21
  385. package/dist/collection/components/card-header/card-header.md.css +27 -15
  386. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  387. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  388. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -14
  389. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  390. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  391. package/dist/collection/components/card-title/card-title.js +11 -14
  392. package/dist/collection/components/card-title/card-title.md.css +73 -0
  393. package/dist/collection/components/checkbox/checkbox.ionic.css +543 -0
  394. package/dist/collection/components/checkbox/checkbox.ios.css +242 -117
  395. package/dist/collection/components/checkbox/checkbox.js +165 -160
  396. package/dist/collection/components/checkbox/checkbox.md.css +243 -118
  397. package/dist/collection/components/chip/chip.ionic.css +217 -0
  398. package/dist/collection/components/chip/chip.ios.css +67 -14
  399. package/dist/collection/components/chip/chip.js +116 -20
  400. package/dist/collection/components/chip/chip.md.css +67 -14
  401. package/dist/collection/components/col/col.css +192 -4
  402. package/dist/collection/components/col/col.js +212 -186
  403. package/dist/collection/components/content/content.css +47 -2
  404. package/dist/collection/components/content/content.js +78 -102
  405. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  406. package/dist/collection/components/datetime/datetime.ios.css +304 -148
  407. package/dist/collection/components/datetime/datetime.js +928 -1086
  408. package/dist/collection/components/datetime/datetime.md.css +294 -138
  409. package/dist/collection/components/datetime/utils/data.js +19 -18
  410. package/dist/collection/components/datetime/utils/format.js +11 -21
  411. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  412. package/dist/collection/components/datetime/utils/parse.js +10 -10
  413. package/dist/collection/components/datetime/utils/state.js +2 -8
  414. package/dist/collection/components/datetime/utils/validate.js +5 -4
  415. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -5
  416. package/dist/collection/components/datetime-button/datetime-button.js +246 -253
  417. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -5
  418. package/dist/collection/components/divider/divider.ionic.css +148 -0
  419. package/dist/collection/components/divider/divider.ios.css +87 -0
  420. package/dist/collection/components/divider/divider.js +94 -0
  421. package/dist/collection/components/divider/divider.md.css +87 -0
  422. package/dist/collection/components/fab/fab.css +25 -1
  423. package/dist/collection/components/fab/fab.js +22 -25
  424. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  425. package/dist/collection/components/fab-button/fab-button.js +83 -117
  426. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  427. package/dist/collection/components/fab-list/fab-list.css +12 -0
  428. package/dist/collection/components/fab-list/fab-list.js +20 -15
  429. package/dist/collection/components/footer/footer-interface.js +1 -0
  430. package/dist/collection/components/footer/footer.ios.css +33 -6
  431. package/dist/collection/components/footer/footer.js +151 -65
  432. package/dist/collection/components/footer/footer.md.css +40 -0
  433. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  434. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  435. package/dist/collection/components/gallery/gallery.css +15 -0
  436. package/dist/collection/components/gallery/gallery.js +679 -0
  437. package/dist/collection/components/gallery/test/utils.js +100 -0
  438. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  439. package/dist/collection/components/gallery-item/gallery-item.js +99 -0
  440. package/dist/collection/components/grid/grid.css +12 -0
  441. package/dist/collection/components/grid/grid.js +15 -9
  442. package/dist/collection/components/header/header-interface.js +1 -0
  443. package/dist/collection/components/header/header.ionic.css +250 -0
  444. package/dist/collection/components/header/header.ios.css +178 -133
  445. package/dist/collection/components/header/header.js +202 -70
  446. package/dist/collection/components/header/header.md.css +199 -9
  447. package/dist/collection/components/header/header.utils.js +6 -13
  448. package/dist/collection/components/img/img.js +16 -34
  449. package/dist/collection/components/infinite-scroll/infinite-scroll.js +164 -76
  450. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  451. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +19 -30
  452. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  453. package/dist/collection/components/input/input.ionic.css +891 -0
  454. package/dist/collection/components/input/input.ios.css +247 -191
  455. package/dist/collection/components/input/input.js +340 -357
  456. package/dist/collection/components/input/input.md.css +234 -285
  457. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  458. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  459. package/dist/collection/components/input-otp/input-otp.js +437 -432
  460. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  461. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  462. package/dist/collection/components/input-password-toggle/input-password-toggle.js +60 -37
  463. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  464. package/dist/collection/components/item/item.ionic.css +496 -0
  465. package/dist/collection/components/item/item.ios.css +120 -80
  466. package/dist/collection/components/item/item.js +102 -113
  467. package/dist/collection/components/item/item.md.css +131 -79
  468. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  469. package/dist/collection/components/item-divider/item-divider.js +21 -23
  470. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  471. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  472. package/dist/collection/components/item-group/item-group.js +13 -7
  473. package/dist/collection/components/item-group/item-group.md.css +12 -0
  474. package/dist/collection/components/item-option/item-option.ionic.css +277 -0
  475. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  476. package/dist/collection/components/item-option/item-option.js +92 -56
  477. package/dist/collection/components/item-option/item-option.md.css +136 -29
  478. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  479. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  480. package/dist/collection/components/item-options/item-options.js +20 -17
  481. package/dist/collection/components/item-options/item-options.md.css +77 -34
  482. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  483. package/dist/collection/components/item-sliding/item-sliding.js +441 -61
  484. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  485. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  486. package/dist/collection/components/label/label.ios.css +18 -0
  487. package/dist/collection/components/label/label.js +15 -32
  488. package/dist/collection/components/label/label.md.css +18 -0
  489. package/dist/collection/components/list/list.ionic.css +212 -0
  490. package/dist/collection/components/list/list.ios.css +54 -14
  491. package/dist/collection/components/list/list.js +55 -19
  492. package/dist/collection/components/list/list.md.css +56 -16
  493. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  494. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  495. package/dist/collection/components/list-header/list-header.js +11 -18
  496. package/dist/collection/components/list-header/list-header.md.css +82 -38
  497. package/dist/collection/components/loading/loading.ios.css +13 -1
  498. package/dist/collection/components/loading/loading.js +62 -143
  499. package/dist/collection/components/loading/loading.md.css +13 -1
  500. package/dist/collection/components/menu/menu.ios.css +15 -3
  501. package/dist/collection/components/menu/menu.js +71 -108
  502. package/dist/collection/components/menu/menu.md.css +15 -3
  503. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  504. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  505. package/dist/collection/components/menu-button/menu-button.js +45 -38
  506. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  507. package/dist/collection/components/menu-toggle/menu-toggle.js +21 -25
  508. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  509. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  510. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  511. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  512. package/dist/collection/components/modal/animations/sheet.js +8 -2
  513. package/dist/collection/components/modal/gestures/sheet.js +86 -32
  514. package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -15
  515. package/dist/collection/components/modal/modal.ionic.css +255 -0
  516. package/dist/collection/components/modal/modal.ios.css +178 -70
  517. package/dist/collection/components/modal/modal.js +272 -404
  518. package/dist/collection/components/modal/modal.md.css +178 -70
  519. package/dist/collection/components/modal/safe-area-utils.js +7 -6
  520. package/dist/collection/components/modal/test/fixtures.js +0 -3
  521. package/dist/collection/components/nav/nav.css +7 -1
  522. package/dist/collection/components/nav/nav.js +256 -72
  523. package/dist/collection/components/nav/view-controller.js +1 -7
  524. package/dist/collection/components/nav-link/nav-link.js +14 -21
  525. package/dist/collection/components/note/note.ios.css +12 -0
  526. package/dist/collection/components/note/note.js +11 -14
  527. package/dist/collection/components/note/note.md.css +12 -0
  528. package/dist/collection/components/picker/picker.ios.css +15 -3
  529. package/dist/collection/components/picker/picker.js +398 -403
  530. package/dist/collection/components/picker/picker.md.css +15 -3
  531. package/dist/collection/components/picker-column/picker-column.css +9 -5
  532. package/dist/collection/components/picker-column/picker-column.js +409 -418
  533. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  534. package/dist/collection/components/picker-column-option/picker-column-option.js +42 -38
  535. package/dist/collection/components/picker-column-option/picker-column-option.md.css +7 -6
  536. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  537. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  538. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  539. package/dist/collection/components/picker-legacy/picker.ios.css +312 -0
  540. package/dist/collection/components/picker-legacy/picker.js +891 -0
  541. package/dist/collection/components/picker-legacy/picker.md.css +299 -0
  542. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +243 -0
  543. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  544. package/dist/collection/components/picker-legacy-column/picker-column.md.css +234 -0
  545. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  546. package/dist/collection/components/popover/animations/ios.enter.js +2 -1
  547. package/dist/collection/components/popover/animations/md.enter.js +2 -1
  548. package/dist/collection/components/popover/popover.ionic.css +290 -0
  549. package/dist/collection/components/popover/popover.ios.css +15 -2
  550. package/dist/collection/components/popover/popover.js +199 -313
  551. package/dist/collection/components/popover/popover.md.css +15 -2
  552. package/dist/collection/components/popover/test/fixture.js +0 -1
  553. package/dist/collection/components/popover/utils.js +6 -4
  554. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  555. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  556. package/dist/collection/components/progress-bar/progress-bar.js +65 -33
  557. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  558. package/dist/collection/components/radio/radio.ionic.css +422 -0
  559. package/dist/collection/components/radio/radio.ios.css +207 -102
  560. package/dist/collection/components/radio/radio.js +77 -108
  561. package/dist/collection/components/radio/radio.md.css +207 -102
  562. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  563. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  564. package/dist/collection/components/radio-group/radio-group.js +113 -107
  565. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  566. package/dist/collection/components/radio-group/test/fixtures.js +0 -2
  567. package/dist/collection/components/range/range.ionic.css +567 -0
  568. package/dist/collection/components/range/range.ios.css +128 -85
  569. package/dist/collection/components/range/range.js +247 -305
  570. package/dist/collection/components/range/range.md.css +128 -85
  571. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  572. package/dist/collection/components/refresher/refresher.js +88 -117
  573. package/dist/collection/components/refresher/refresher.md.css +15 -2
  574. package/dist/collection/components/refresher-content/refresher-content.js +31 -47
  575. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  576. package/dist/collection/components/reorder/reorder.js +33 -7
  577. package/dist/collection/components/reorder/reorder.md.css +6 -0
  578. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  579. package/dist/collection/components/reorder-group/reorder-group.js +22 -47
  580. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  581. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  582. package/dist/collection/components/ripple-effect/ripple-effect.js +26 -17
  583. package/dist/collection/components/route/route.js +14 -39
  584. package/dist/collection/components/route-redirect/route-redirect.js +0 -31
  585. package/dist/collection/components/router/router.js +37 -37
  586. package/dist/collection/components/router/utils/dom.js +7 -25
  587. package/dist/collection/components/router/utils/matching.js +9 -7
  588. package/dist/collection/components/router/utils/parser.js +1 -1
  589. package/dist/collection/components/router/utils/path.js +1 -0
  590. package/dist/collection/components/router-link/router-link.css +8 -2
  591. package/dist/collection/components/router-link/router-link.js +19 -40
  592. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  593. package/dist/collection/components/router-outlet/router-outlet.js +25 -83
  594. package/dist/collection/components/row/row.css +16 -0
  595. package/dist/collection/components/row/row.js +9 -2
  596. package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
  597. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  598. package/dist/collection/components/searchbar/searchbar.js +380 -321
  599. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  600. package/dist/collection/components/segment/segment.ionic.css +115 -0
  601. package/dist/collection/components/segment/segment.ios.css +45 -2
  602. package/dist/collection/components/segment/segment.js +94 -126
  603. package/dist/collection/components/segment/segment.md.css +45 -2
  604. package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
  605. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  606. package/dist/collection/components/segment-button/segment-button.js +46 -49
  607. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  608. package/dist/collection/components/segment-content/segment-content.js +1 -1
  609. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  610. package/dist/collection/components/segment-view/segment-view.js +27 -28
  611. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  612. package/dist/collection/components/select/select.ionic.css +809 -0
  613. package/dist/collection/components/select/select.ios.css +351 -206
  614. package/dist/collection/components/select/select.js +444 -431
  615. package/dist/collection/components/select/select.md.css +383 -230
  616. package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
  617. package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
  618. package/dist/collection/components/select-modal/select-modal.js +79 -37
  619. package/dist/collection/components/select-modal/select-modal.md.css +273 -43
  620. package/dist/collection/components/select-modal/test/fixtures.js +1 -8
  621. package/dist/collection/components/select-option/select-option.js +15 -48
  622. package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
  623. package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
  624. package/dist/collection/components/select-popover/select-popover.js +37 -44
  625. package/dist/collection/components/select-popover/select-popover.md.css +228 -47
  626. package/dist/collection/components/select-popover/test/fixtures.js +1 -8
  627. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  628. package/dist/collection/components/skeleton-text/skeleton-text.js +15 -15
  629. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  630. package/dist/collection/components/spinner/spinner.js +55 -26
  631. package/dist/collection/components/spinner/spinner.native.css +199 -0
  632. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  633. package/dist/collection/components/split-pane/split-pane.js +28 -33
  634. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  635. package/dist/collection/components/tab/tab.js +10 -17
  636. package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
  637. package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
  638. package/dist/collection/components/tab-bar/tab-bar.js +190 -44
  639. package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
  640. package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
  641. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  642. package/dist/collection/components/tab-button/tab-button.js +74 -68
  643. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  644. package/dist/collection/components/tabs/tabs.css +7 -1
  645. package/dist/collection/components/tabs/tabs.js +23 -33
  646. package/dist/collection/components/text/text.css +6 -0
  647. package/dist/collection/components/text/text.js +7 -12
  648. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  649. package/dist/collection/components/textarea/textarea.ios.css +329 -221
  650. package/dist/collection/components/textarea/textarea.js +334 -302
  651. package/dist/collection/components/textarea/textarea.md.css +358 -231
  652. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  653. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  654. package/dist/collection/components/title/title.ionic.css +127 -0
  655. package/dist/collection/components/title/title.ios.css +32 -4
  656. package/dist/collection/components/title/title.js +13 -23
  657. package/dist/collection/components/title/title.md.css +39 -4
  658. package/dist/collection/components/toast/animations/utils.js +1 -1
  659. package/dist/collection/components/toast/toast.ionic.css +394 -0
  660. package/dist/collection/components/toast/toast.ios.css +84 -45
  661. package/dist/collection/components/toast/toast.js +178 -232
  662. package/dist/collection/components/toast/toast.md.css +84 -45
  663. package/dist/collection/components/toggle/toggle.ionic.css +512 -0
  664. package/dist/collection/components/toggle/toggle.ios.css +247 -127
  665. package/dist/collection/components/toggle/toggle.js +177 -175
  666. package/dist/collection/components/toggle/toggle.md.css +245 -127
  667. package/dist/collection/components/toolbar/test/image.svg +1 -0
  668. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  669. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  670. package/dist/collection/components/toolbar/toolbar.js +222 -25
  671. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  672. package/dist/collection/global/config.js +6 -4
  673. package/dist/collection/global/ionic-global.js +242 -20
  674. package/dist/collection/index.js +1 -1
  675. package/dist/collection/utils/animation/animation.js +3 -3
  676. package/dist/collection/utils/config.js +4 -5
  677. package/dist/collection/utils/css-value-validation.js +39 -0
  678. package/dist/collection/utils/focus-controller/index.js +1 -1
  679. package/dist/collection/utils/focus-trap.js +16 -5
  680. package/dist/collection/utils/focus-visible.js +22 -0
  681. package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
  682. package/dist/collection/utils/forms/index.js +1 -1
  683. package/dist/collection/utils/forms/validity.js +31 -0
  684. package/dist/collection/utils/framework-delegate.js +9 -5
  685. package/dist/collection/utils/gesture/gesture-controller.js +8 -15
  686. package/dist/collection/utils/gesture/index.js +2 -10
  687. package/dist/collection/utils/hardware-back-button.js +18 -3
  688. package/dist/collection/utils/helpers.js +72 -5
  689. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -4
  690. package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -1
  691. package/dist/collection/utils/keyboard/keyboard-controller.js +8 -6
  692. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  693. package/dist/collection/utils/logging/index.js +4 -23
  694. package/dist/collection/utils/media.js +1 -0
  695. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  696. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  697. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  698. package/dist/collection/utils/menu-controller/index.js +2 -1
  699. package/dist/collection/utils/native/haptic.js +3 -2
  700. package/dist/collection/utils/native/keyboard.js +2 -2
  701. package/dist/collection/utils/native/status-bar.js +1 -1
  702. package/dist/collection/utils/overlay-control-label.js +13 -11
  703. package/dist/collection/utils/overlays.js +312 -45
  704. package/dist/collection/utils/platform.js +5 -4
  705. package/dist/collection/utils/rtl/dir.js +3 -2
  706. package/dist/collection/utils/sanitization/index.js +2 -2
  707. package/dist/collection/utils/scroll-hide-controller.js +178 -0
  708. package/dist/collection/utils/select-option-render.js +2 -1
  709. package/dist/collection/utils/slot-mutation-controller.js +2 -1
  710. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  711. package/dist/collection/utils/test/playwright/drag-element.js +35 -11
  712. package/dist/collection/utils/test/playwright/generator.js +51 -25
  713. package/dist/collection/utils/test/playwright/page/event-spy.js +12 -11
  714. package/dist/collection/utils/test/playwright/page/utils/goto.js +15 -5
  715. package/dist/collection/utils/test/playwright/page/utils/set-content.js +27 -4
  716. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +3 -2
  717. package/dist/collection/utils/test/press-keys.js +17 -10
  718. package/dist/collection/utils/theme.js +26 -7
  719. package/dist/collection/utils/transition/ios.transition.js +14 -9
  720. package/dist/collection/utils/transition/md.transition.js +4 -3
  721. package/dist/docs.json +10038 -534
  722. package/dist/esm/{animation-CGFdmGk9.js → animation-BsVixxLP.js} +5 -5
  723. package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-rPvWQFXp.js} +1 -1
  724. package/dist/esm/{button-active-BDOsVAiZ.js → button-active-BS8YgJRD.js} +3 -3
  725. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-BnXrCBvt.js} +1 -1
  726. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  727. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  728. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  729. package/dist/esm/clear-button-press-controller-Ci6Q_x5-.js +43 -0
  730. package/dist/esm/{config-DWCzVL3Y.js → config-BwKpO3Is.js} +4 -5
  731. package/dist/esm/{dir-Dojwmvde.js → dir-o8OKV5aD.js} +3 -2
  732. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  733. package/dist/esm/{format-Dcwga61t.js → format-2WlZcMvG.js} +31 -41
  734. package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-P5K_3uYw.js} +10 -6
  735. package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-BTEOs1at.js} +8 -15
  736. package/dist/esm/{haptic-Cq4UAeka.js → haptic-ByW74Ow9.js} +4 -3
  737. package/dist/esm/{helpers-CAGf8Wgp.js → helpers-ChPZH7zh.js} +74 -8
  738. package/dist/esm/{index-BvabGprD.js → index-B4Kq2YNk.js} +2 -1
  739. package/dist/esm/{index-DcPaH5uL.js → index-Bck1OwMs.js} +3 -9
  740. package/dist/esm/{index-ChhhtsGZ.js → index-C0EQceqV.js} +66 -34
  741. package/dist/esm/{index-Clc-28O1.js → index-C7EAbm0C.js} +5 -4
  742. package/dist/esm/{index-CqneaaGd.js → index-C7F1yJyV.js} +13 -12
  743. package/dist/esm/{index-WlteAIqz.js → index-CXSPjEca.js} +5 -5
  744. package/dist/esm/{index-CKM1DdGm.js → index-Mq5pCWmZ.js} +3 -3
  745. package/dist/esm/{index-T0JxBI8V.js → index-niemeDYi.js} +2 -2
  746. package/dist/esm/index.js +17 -18
  747. package/dist/esm/{input-shims-B8sfni1e.js → input-shims-CM5m0K8T.js} +15 -12
  748. package/dist/esm/input.utils-DhJNJPiU.js +147 -0
  749. package/dist/esm/ion-accordion_2.entry.js +383 -379
  750. package/dist/esm/ion-action-sheet.entry.js +87 -179
  751. package/dist/esm/ion-alert.entry.js +126 -251
  752. package/dist/esm/ion-app_8.entry.js +607 -460
  753. package/dist/esm/ion-avatar_3.entry.js +125 -19
  754. package/dist/esm/ion-back-button.entry.js +50 -65
  755. package/dist/esm/ion-backdrop.entry.js +22 -23
  756. package/dist/esm/ion-breadcrumb_2.entry.js +170 -212
  757. package/dist/esm/ion-button_2.entry.js +118 -153
  758. package/dist/esm/ion-card_5.entry.js +80 -110
  759. package/dist/esm/ion-checkbox.entry.js +130 -164
  760. package/dist/esm/ion-chip.entry.js +56 -21
  761. package/dist/esm/ion-col_3.entry.js +61 -186
  762. package/dist/esm/ion-datetime-button.entry.js +248 -256
  763. package/dist/esm/ion-datetime_3.entry.js +3238 -0
  764. package/dist/esm/ion-divider.entry.js +49 -0
  765. package/dist/esm/ion-fab_3.entry.js +113 -155
  766. package/dist/esm/ion-gallery-item.entry.js +57 -0
  767. package/dist/esm/ion-gallery.entry.js +606 -0
  768. package/dist/esm/ion-img.entry.js +17 -35
  769. package/dist/esm/ion-infinite-scroll_2.entry.js +157 -109
  770. package/dist/esm/ion-input-otp.entry.js +437 -435
  771. package/dist/esm/ion-input-password-toggle.entry.js +64 -40
  772. package/dist/esm/ion-input.entry.js +310 -349
  773. package/dist/esm/ion-item-option_3.entry.js +512 -137
  774. package/dist/esm/ion-item_8.entry.js +190 -218
  775. package/dist/esm/ion-loading.entry.js +69 -152
  776. package/dist/esm/ion-menu_3.entry.js +138 -182
  777. package/dist/esm/ion-modal.entry.js +459 -529
  778. package/dist/esm/ion-nav_2.entry.js +164 -104
  779. package/dist/esm/ion-picker-column-option.entry.js +40 -40
  780. package/dist/esm/ion-picker-column.entry.js +410 -422
  781. package/dist/esm/ion-picker.entry.js +401 -406
  782. package/dist/esm/ion-popover.entry.js +212 -324
  783. package/dist/esm/ion-progress-bar.entry.js +48 -36
  784. package/dist/esm/ion-radio_2.entry.js +162 -217
  785. package/dist/esm/ion-range.entry.js +251 -309
  786. package/dist/esm/ion-refresher_2.entry.js +122 -175
  787. package/dist/esm/ion-reorder_2.entry.js +54 -60
  788. package/dist/esm/ion-ripple-effect.entry.js +26 -18
  789. package/dist/esm/ion-route_4.entry.js +76 -179
  790. package/dist/esm/ion-searchbar.entry.js +331 -308
  791. package/dist/esm/ion-segment-content.entry.js +2 -2
  792. package/dist/esm/ion-segment-view.entry.js +27 -28
  793. package/dist/esm/ion-segment_2.entry.js +141 -177
  794. package/dist/esm/ion-select-modal.entry.js +70 -50
  795. package/dist/esm/ion-select_3.entry.js +429 -507
  796. package/dist/esm/ion-spinner.entry.js +36 -28
  797. package/dist/esm/ion-split-pane.entry.js +25 -34
  798. package/dist/esm/ion-tab-bar_2.entry.js +179 -116
  799. package/dist/esm/ion-tab_2.entry.js +30 -55
  800. package/dist/esm/ion-text.entry.js +7 -13
  801. package/dist/esm/ion-textarea.entry.js +309 -302
  802. package/dist/esm/ion-toast.entry.js +149 -244
  803. package/dist/esm/ion-toggle.entry.js +187 -184
  804. package/dist/esm/ionic-global-BJDU78B6.js +508 -0
  805. package/dist/esm/ionic.js +5 -5
  806. package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-6oGu53GR.js} +21 -15
  807. package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-C6onMFOo.js} +1 -1
  808. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-XukEYIFf.js} +5 -4
  809. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-x-uHYVoq.js} +3 -3
  810. package/dist/esm/list-Dhi5xtNS.js +6 -0
  811. package/dist/esm/loader.js +5 -5
  812. package/dist/esm/{md.transition-BMngO4i_.js → md.transition-Dy5HxiSE.js} +11 -9
  813. package/dist/esm/notch-controller-BYB7mUMg.js +153 -0
  814. package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
  815. package/dist/esm/{overlays-CPmIs9Ls.js → overlays-C3YvaMgX.js} +333 -57
  816. package/dist/esm/scroll-hide-controller-B3MRYNXh.js +342 -0
  817. package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-BlKZ2H83.js} +4 -3
  818. package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-DK-ylvU7.js} +5 -4
  819. package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-DFICtpMC.js} +6 -5
  820. package/dist/esm/theme-DaJxRxSQ.js +67 -0
  821. package/dist/esm/validity-BjW8SOqw.js +48 -0
  822. package/dist/esm/x-BDqjX7Z_.js +6 -0
  823. package/dist/html.html-data.json +2690 -123
  824. package/dist/ionic/index.esm.js +1 -1
  825. package/dist/ionic/ionic.esm.js +1 -1
  826. package/dist/ionic/p--sroV-k-.js +4 -0
  827. package/dist/ionic/p-0166d6e5.entry.js +4 -0
  828. package/dist/ionic/p-0a0a66e2.entry.js +4 -0
  829. package/dist/ionic/p-0ac15b5f.entry.js +4 -0
  830. package/dist/ionic/p-0c636ad3.entry.js +4 -0
  831. package/dist/ionic/p-126031d2.entry.js +4 -0
  832. package/dist/ionic/p-1a609156.entry.js +4 -0
  833. package/dist/ionic/p-1b473bad.entry.js +4 -0
  834. package/dist/ionic/p-1c1c18da.entry.js +4 -0
  835. package/dist/ionic/p-1ce65194.entry.js +4 -0
  836. package/dist/ionic/p-1febf200.entry.js +4 -0
  837. package/dist/ionic/p-2016c1c0.entry.js +4 -0
  838. package/dist/ionic/p-2365483a.entry.js +4 -0
  839. package/dist/ionic/p-296226f1.entry.js +4 -0
  840. package/dist/ionic/p-2a54aec2.entry.js +4 -0
  841. package/dist/ionic/p-2bf60b77.entry.js +4 -0
  842. package/dist/ionic/p-2e0184c0.entry.js +4 -0
  843. package/dist/ionic/p-2e1d650a.entry.js +4 -0
  844. package/dist/ionic/p-316eed75.entry.js +4 -0
  845. package/dist/ionic/p-31a0c9c2.entry.js +4 -0
  846. package/dist/ionic/p-40a21a22.entry.js +4 -0
  847. package/dist/ionic/p-431bc3ce.entry.js +4 -0
  848. package/dist/ionic/p-51542c69.entry.js +4 -0
  849. package/dist/ionic/p-5dedd699.entry.js +4 -0
  850. package/dist/ionic/p-68e453f7.entry.js +4 -0
  851. package/dist/ionic/p-711ba315.entry.js +4 -0
  852. package/dist/ionic/p-731d11e1.entry.js +4 -0
  853. package/dist/ionic/p-75c7595c.entry.js +4 -0
  854. package/dist/ionic/p-76232f5f.entry.js +4 -0
  855. package/dist/ionic/p-7cbf17f0.entry.js +4 -0
  856. package/dist/ionic/p-7f59020c.entry.js +4 -0
  857. package/dist/ionic/p-7k7Q1A38.js +4 -0
  858. package/dist/ionic/p-8303462c.entry.js +4 -0
  859. package/dist/ionic/p-9db78e5c.entry.js +4 -0
  860. package/dist/ionic/p-B4Kq2YNk.js +4 -0
  861. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  862. package/dist/ionic/p-BFhQ1N-L.js +4 -0
  863. package/dist/ionic/p-BG7tpRhR.js +4 -0
  864. package/dist/ionic/p-BITyMTKr.js +4 -0
  865. package/dist/ionic/p-BRPONI7N.js +4 -0
  866. package/dist/ionic/p-BTEOs1at.js +4 -0
  867. package/dist/ionic/p-BVdSuKmt.js +4 -0
  868. package/dist/ionic/p-BYRVyMu9.js +4 -0
  869. package/dist/ionic/p-BYSs-jZz.js +4 -0
  870. package/dist/ionic/p-BjW8SOqw.js +4 -0
  871. package/dist/ionic/p-Bpx1lBiP.js +4 -0
  872. package/dist/ionic/p-BwKpO3Is.js +4 -0
  873. package/dist/ionic/p-C-BLhfUi.js +4 -0
  874. package/dist/ionic/p-C-aO35cw.js +4 -0
  875. package/dist/ionic/p-C0EQceqV.js +5 -0
  876. package/dist/ionic/p-CDrQfM-I.js +4 -0
  877. package/dist/ionic/p-CODBQrPj.js +4 -0
  878. package/dist/ionic/p-CTSaffvS.js +4 -0
  879. package/dist/ionic/p-CaM5HwzM.js +4 -0
  880. package/dist/ionic/p-CgaW5Zy8.js +4 -0
  881. package/dist/ionic/p-Cipl19Qe.js +4 -0
  882. package/dist/ionic/p-CnBfCmL2.js +4 -0
  883. package/dist/ionic/p-D-Xit5Ye.js +4 -0
  884. package/dist/ionic/p-D1t981Ih.js +4 -0
  885. package/dist/ionic/p-D7LIC84Z.js +4 -0
  886. package/dist/ionic/p-D844sgjq.js +4 -0
  887. package/dist/ionic/p-DWDKFjrH.js +4 -0
  888. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  889. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  890. package/dist/ionic/p-DhyWlGap.js +4 -0
  891. package/dist/ionic/p-DiyY-i-5.js +4 -0
  892. package/dist/ionic/p-DrxPmT9E.js +4 -0
  893. package/dist/ionic/p-YIsE5bNG.js +4 -0
  894. package/dist/ionic/p-a37444b3.entry.js +4 -0
  895. package/dist/ionic/p-a9df0ccf.entry.js +4 -0
  896. package/dist/ionic/p-ac3af8af.entry.js +4 -0
  897. package/dist/ionic/p-b25f3aba.entry.js +4 -0
  898. package/dist/ionic/p-b3da2cc7.entry.js +4 -0
  899. package/dist/ionic/p-b4533070.entry.js +4 -0
  900. package/dist/ionic/p-b4901bce.entry.js +4 -0
  901. package/dist/ionic/p-bb7bb4fd.entry.js +4 -0
  902. package/dist/ionic/p-be06def7.entry.js +4 -0
  903. package/dist/ionic/p-c0983eac.entry.js +4 -0
  904. package/dist/ionic/p-c4ebdfd2.entry.js +4 -0
  905. package/dist/ionic/p-c4ed1e18.entry.js +4 -0
  906. package/dist/ionic/p-d9ac7a0d.entry.js +4 -0
  907. package/dist/ionic/p-dc8a8505.entry.js +4 -0
  908. package/dist/ionic/p-ddc41dbb.entry.js +4 -0
  909. package/dist/ionic/p-de4e8418.entry.js +4 -0
  910. package/dist/ionic/p-df642ef5.entry.js +4 -0
  911. package/dist/ionic/p-e086f8c3.entry.js +4 -0
  912. package/dist/ionic/p-edd8f490.entry.js +4 -0
  913. package/dist/ionic/p-f0968c91.entry.js +4 -0
  914. package/dist/ionic/p-f6768728.entry.js +4 -0
  915. package/dist/ionic/p-fIOYmaqA.js +4 -0
  916. package/dist/ionic/p-fc726f4a.entry.js +4 -0
  917. package/dist/ionic/p-ff74cf5d.entry.js +4 -0
  918. package/dist/ionic/p-i6iV8hMy.js +4 -0
  919. package/dist/ionic/p-nUlpIttM.js +4 -0
  920. package/dist/ionic/p-o8OKV5aD.js +4 -0
  921. package/dist/ionic/p-vXpMhGrs.js +4 -0
  922. package/dist/ionic/p-zRFin7iz.js +4 -0
  923. package/dist/ionic/p-zn4qAQ_d.js +4 -0
  924. package/dist/types/components/accordion/accordion.d.ts +6 -3
  925. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  926. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  927. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  928. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  929. package/dist/types/components/alert/alert.d.ts +3 -2
  930. package/dist/types/components/app/app.d.ts +4 -5
  931. package/dist/types/components/avatar/avatar.d.ts +32 -0
  932. package/dist/types/components/back-button/back-button.d.ts +2 -1
  933. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  934. package/dist/types/components/badge/badge.d.ts +34 -1
  935. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  936. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  937. package/dist/types/components/button/button.d.ts +23 -8
  938. package/dist/types/components/buttons/buttons.d.ts +5 -1
  939. package/dist/types/components/card/card.d.ts +8 -1
  940. package/dist/types/components/card-content/card-content.d.ts +2 -1
  941. package/dist/types/components/card-header/card-header.d.ts +3 -2
  942. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  943. package/dist/types/components/card-title/card-title.d.ts +2 -1
  944. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  945. package/dist/types/components/chip/chip.d.ts +26 -1
  946. package/dist/types/components/col/col.d.ts +52 -5
  947. package/dist/types/components/content/content.d.ts +3 -0
  948. package/dist/types/components/datetime/datetime.d.ts +26 -1
  949. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  950. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  951. package/dist/types/components/divider/divider.d.ts +20 -0
  952. package/dist/types/components/fab/fab.d.ts +4 -0
  953. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  954. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  955. package/dist/types/components/footer/footer-interface.d.ts +1 -0
  956. package/dist/types/components/footer/footer.d.ts +20 -3
  957. package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
  958. package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
  959. package/dist/types/components/gallery/gallery.d.ts +218 -0
  960. package/dist/types/components/gallery/test/utils.d.ts +3 -0
  961. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  962. package/dist/types/components/grid/grid.d.ts +4 -0
  963. package/dist/types/components/header/header-interface.d.ts +1 -0
  964. package/dist/types/components/header/header.d.ts +26 -3
  965. package/dist/types/components/header/header.utils.d.ts +4 -5
  966. package/dist/types/components/img/img.d.ts +2 -1
  967. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  968. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  969. package/dist/types/components/input/input.d.ts +40 -17
  970. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  971. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  972. package/dist/types/components/item/item.d.ts +11 -4
  973. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  974. package/dist/types/components/item-group/item-group.d.ts +4 -0
  975. package/dist/types/components/item-option/item-option.d.ts +18 -1
  976. package/dist/types/components/item-options/item-options.d.ts +4 -0
  977. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  978. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  979. package/dist/types/components/label/label.d.ts +2 -1
  980. package/dist/types/components/list/list.d.ts +15 -1
  981. package/dist/types/components/list-header/list-header.d.ts +2 -1
  982. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  983. package/dist/types/components/loading/loading.d.ts +3 -2
  984. package/dist/types/components/menu/menu.d.ts +3 -0
  985. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  986. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  987. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  988. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  989. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  990. package/dist/types/components/modal/modal-interface.d.ts +4 -16
  991. package/dist/types/components/modal/modal.d.ts +15 -12
  992. package/dist/types/components/nav/nav-interface.d.ts +10 -1
  993. package/dist/types/components/nav/nav.d.ts +27 -3
  994. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  995. package/dist/types/components/note/note.d.ts +2 -1
  996. package/dist/types/components/picker/picker.d.ts +2 -1
  997. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  998. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  999. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  1000. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  1001. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  1002. package/dist/types/components/picker-legacy/picker.d.ts +159 -0
  1003. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  1004. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  1005. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  1006. package/dist/types/components/popover/popover.d.ts +6 -5
  1007. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  1008. package/dist/types/components/radio/radio.d.ts +2 -1
  1009. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  1010. package/dist/types/components/range/range.d.ts +2 -1
  1011. package/dist/types/components/refresher/refresher.d.ts +2 -1
  1012. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  1013. package/dist/types/components/reorder/reorder.d.ts +9 -0
  1014. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  1015. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  1016. package/dist/types/components/route/route.d.ts +5 -1
  1017. package/dist/types/components/router/router.d.ts +4 -0
  1018. package/dist/types/components/router-link/router-link.d.ts +4 -0
  1019. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -8
  1020. package/dist/types/components/row/row.d.ts +4 -0
  1021. package/dist/types/components/searchbar/searchbar.d.ts +57 -11
  1022. package/dist/types/components/segment/segment.d.ts +2 -1
  1023. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  1024. package/dist/types/components/select/select.d.ts +55 -26
  1025. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  1026. package/dist/types/components/select-option/select-option.d.ts +7 -4
  1027. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  1028. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  1029. package/dist/types/components/spinner/spinner.d.ts +15 -0
  1030. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  1031. package/dist/types/components/tab/tab.d.ts +4 -0
  1032. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
  1033. package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
  1034. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  1035. package/dist/types/components/tabs/tabs.d.ts +3 -0
  1036. package/dist/types/components/text/text.d.ts +2 -1
  1037. package/dist/types/components/textarea/textarea.d.ts +58 -16
  1038. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  1039. package/dist/types/components/title/title.d.ts +4 -0
  1040. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  1041. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  1042. package/dist/types/components/toast/toast.d.ts +19 -2
  1043. package/dist/types/components/toggle/toggle.d.ts +15 -1
  1044. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  1045. package/dist/types/components.d.ts +2171 -263
  1046. package/dist/types/global/ionic-global.d.ts +28 -2
  1047. package/dist/types/index.d.ts +1 -1
  1048. package/dist/types/interface.d.ts +4 -0
  1049. package/dist/types/utils/config.d.ts +114 -3
  1050. package/dist/types/utils/css-value-validation.d.ts +21 -0
  1051. package/dist/types/utils/focus-trap.d.ts +1 -1
  1052. package/dist/types/utils/focus-visible.d.ts +13 -0
  1053. package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
  1054. package/dist/types/utils/forms/index.d.ts +1 -1
  1055. package/dist/types/utils/forms/validity.d.ts +7 -0
  1056. package/dist/types/utils/helpers.d.ts +22 -0
  1057. package/dist/types/utils/logging/index.d.ts +1 -2
  1058. package/dist/types/utils/overlay-control-label.d.ts +11 -9
  1059. package/dist/types/utils/overlays-interface.d.ts +31 -1
  1060. package/dist/types/utils/overlays.d.ts +10 -12
  1061. package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
  1062. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  1063. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1064. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  1065. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  1066. package/dist/types/utils/theme.d.ts +9 -0
  1067. package/hydrate/index.js +12136 -10495
  1068. package/hydrate/index.mjs +12136 -10495
  1069. package/package.json +17 -56
  1070. package/components/p--m5cCjbK.js +0 -4
  1071. package/components/p-1jI5oW-W.js +0 -4
  1072. package/components/p-8FN7p701.js +0 -4
  1073. package/components/p-B4uHHhPK.js +0 -4
  1074. package/components/p-BMPN55of.js +0 -4
  1075. package/components/p-BNJOu1Q2.js +0 -4
  1076. package/components/p-BOvLNVKq.js +0 -4
  1077. package/components/p-BSQPZ79H.js +0 -4
  1078. package/components/p-BeamQXHF.js +0 -4
  1079. package/components/p-BhamHSw3.js +0 -4
  1080. package/components/p-Bjig0DJK.js +0 -4
  1081. package/components/p-BjluhQMI.js +0 -4
  1082. package/components/p-BlsIikdZ.js +0 -4
  1083. package/components/p-BmVRXR1y.js +0 -4
  1084. package/components/p-BqPNzJf6.js +0 -4
  1085. package/components/p-BrD9Xv62.js +0 -4
  1086. package/components/p-BvJqoZ5R.js +0 -4
  1087. package/components/p-Bz6z3Asd.js +0 -4
  1088. package/components/p-C5KYjZWD.js +0 -4
  1089. package/components/p-C6HnVvHO.js +0 -4
  1090. package/components/p-C7jvh5Wy.js +0 -4
  1091. package/components/p-C9BGR5fy.js +0 -4
  1092. package/components/p-CB-y1CdP.js +0 -4
  1093. package/components/p-CEW4RXZO.js +0 -4
  1094. package/components/p-CHH3loEE.js +0 -4
  1095. package/components/p-CIGNaXM1.js +0 -4
  1096. package/components/p-CJKUWjmg.js +0 -4
  1097. package/components/p-C_phlPMC.js +0 -4
  1098. package/components/p-CbhUdtjf.js +0 -4
  1099. package/components/p-CejmQs3h.js +0 -4
  1100. package/components/p-CtZqa4HM.js +0 -4
  1101. package/components/p-D7-vHX0A.js +0 -4
  1102. package/components/p-D9qIVSWm.js +0 -4
  1103. package/components/p-DD5fQ4EQ.js +0 -4
  1104. package/components/p-DE-3iMNW.js +0 -4
  1105. package/components/p-DFvZn99E.js +0 -4
  1106. package/components/p-DHFt2rdc.js +0 -4
  1107. package/components/p-DJztqcrH.js +0 -4
  1108. package/components/p-DM-PrAoh.js +0 -4
  1109. package/components/p-DSzSbVP2.js +0 -4
  1110. package/components/p-DV85C0e0.js +0 -4
  1111. package/components/p-DWCzVL3Y.js +0 -4
  1112. package/components/p-D_RCyzwu.js +0 -4
  1113. package/components/p-D_tD8r3L.js +0 -4
  1114. package/components/p-DaA_8eqt.js +0 -4
  1115. package/components/p-DjCtLZbF.js +0 -4
  1116. package/components/p-Dmd2xqCe.js +0 -4
  1117. package/components/p-Dojwmvde.js +0 -4
  1118. package/components/p-G0TxqHfe.js +0 -4
  1119. package/components/p-G6JR-cr_.js +0 -4
  1120. package/components/p-GG5GhznE.js +0 -4
  1121. package/components/p-LpMHEu3v.js +0 -4
  1122. package/components/p-TXPDHL13.js +0 -4
  1123. package/components/p-UIBJkZf8.js +0 -4
  1124. package/components/p-ZjP4CjeZ.js +0 -4
  1125. package/components/p-_IKFD3ID.js +0 -4
  1126. package/components/p-byZM6qHV.js +0 -4
  1127. package/components/p-dKq2jIum.js +0 -4
  1128. package/components/p-fruGqVHh.js +0 -4
  1129. package/components/p-iYhH60Tc.js +0 -4
  1130. package/components/p-ia3IDdJS.js +0 -4
  1131. package/dist/cjs/hardware-back-button-fqpYh-kd.js +0 -121
  1132. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1133. package/dist/cjs/input.utils-BZdMWVrt.js +0 -35
  1134. package/dist/cjs/ion-datetime.cjs.entry.js +0 -2770
  1135. package/dist/cjs/ionic-global-k6hOWWpn.js +0 -156
  1136. package/dist/cjs/keyboard-controller-PtZoN2GS.js +0 -167
  1137. package/dist/cjs/slot-mutation-controller-DPHmqXdV.js +0 -397
  1138. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1139. package/dist/collection/utils/forms/start-container-controller.js +0 -132
  1140. package/dist/esm/hardware-back-button-gLJHMX_F.js +0 -115
  1141. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1142. package/dist/esm/input.utils-B1ValN_N.js +0 -33
  1143. package/dist/esm/ion-datetime.entry.js +0 -2768
  1144. package/dist/esm/ionic-global-BVB7BrLT.js +0 -151
  1145. package/dist/esm/keyboard-controller-DEwoa1ev.js +0 -165
  1146. package/dist/esm/slot-mutation-controller-DiE_C9un.js +0 -393
  1147. package/dist/esm/theme-byZM6qHV.js +0 -48
  1148. package/dist/esm/validity-DJztqcrH.js +0 -17
  1149. package/dist/ionic/p-06ec7136.entry.js +0 -4
  1150. package/dist/ionic/p-09fe4fa3.entry.js +0 -4
  1151. package/dist/ionic/p-10d45a07.entry.js +0 -4
  1152. package/dist/ionic/p-208c8a07.entry.js +0 -4
  1153. package/dist/ionic/p-212474fa.entry.js +0 -4
  1154. package/dist/ionic/p-2eef1396.entry.js +0 -4
  1155. package/dist/ionic/p-347e005d.entry.js +0 -4
  1156. package/dist/ionic/p-3a0b3f1d.entry.js +0 -4
  1157. package/dist/ionic/p-3b071259.entry.js +0 -4
  1158. package/dist/ionic/p-40424a88.entry.js +0 -4
  1159. package/dist/ionic/p-4204184c.entry.js +0 -4
  1160. package/dist/ionic/p-47464391.entry.js +0 -4
  1161. package/dist/ionic/p-4eOQC00Z.js +0 -4
  1162. package/dist/ionic/p-4f9c9126.entry.js +0 -4
  1163. package/dist/ionic/p-5JsKPLJD.js +0 -4
  1164. package/dist/ionic/p-5bc485c6.entry.js +0 -4
  1165. package/dist/ionic/p-603a61e6.entry.js +0 -4
  1166. package/dist/ionic/p-60576951.entry.js +0 -4
  1167. package/dist/ionic/p-67a81d33.entry.js +0 -4
  1168. package/dist/ionic/p-6affb775.entry.js +0 -4
  1169. package/dist/ionic/p-6f120c25.entry.js +0 -4
  1170. package/dist/ionic/p-71c82b60.entry.js +0 -4
  1171. package/dist/ionic/p-79325ffe.entry.js +0 -4
  1172. package/dist/ionic/p-7CBuOvEo.js +0 -4
  1173. package/dist/ionic/p-7e4d51fa.entry.js +0 -4
  1174. package/dist/ionic/p-7f5d4664.entry.js +0 -4
  1175. package/dist/ionic/p-80ee82fc.entry.js +0 -4
  1176. package/dist/ionic/p-84af7dbc.entry.js +0 -4
  1177. package/dist/ionic/p-89ca830a.entry.js +0 -4
  1178. package/dist/ionic/p-93b8ec8f.entry.js +0 -4
  1179. package/dist/ionic/p-946f65c2.entry.js +0 -4
  1180. package/dist/ionic/p-9c4b39fb.entry.js +0 -4
  1181. package/dist/ionic/p-B1NEZUzQ.js +0 -4
  1182. package/dist/ionic/p-B1ck5iy-.js +0 -4
  1183. package/dist/ionic/p-B4FrqdW0.js +0 -4
  1184. package/dist/ionic/p-BB0LlG4y.js +0 -4
  1185. package/dist/ionic/p-BMPN55of.js +0 -4
  1186. package/dist/ionic/p-BSQPZ79H.js +0 -4
  1187. package/dist/ionic/p-BYEAtHr-.js +0 -4
  1188. package/dist/ionic/p-BhamHSw3.js +0 -4
  1189. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1190. package/dist/ionic/p-BvabGprD.js +0 -4
  1191. package/dist/ionic/p-C-94tAim.js +0 -4
  1192. package/dist/ionic/p-C-eHZMYE.js +0 -4
  1193. package/dist/ionic/p-CBR_W98Z.js +0 -4
  1194. package/dist/ionic/p-CBWAXjA5.js +0 -4
  1195. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1196. package/dist/ionic/p-CMRtMbJc.js +0 -4
  1197. package/dist/ionic/p-CPcPmkGv.js +0 -4
  1198. package/dist/ionic/p-CaRuIadB.js +0 -4
  1199. package/dist/ionic/p-Cdjxf_yg.js +0 -4
  1200. package/dist/ionic/p-ChhhtsGZ.js +0 -5
  1201. package/dist/ionic/p-CzS1qWve.js +0 -4
  1202. package/dist/ionic/p-D5t_-oMk.js +0 -4
  1203. package/dist/ionic/p-D94_RztK.js +0 -4
  1204. package/dist/ionic/p-DJztqcrH.js +0 -4
  1205. package/dist/ionic/p-DWCzVL3Y.js +0 -4
  1206. package/dist/ionic/p-DjjfauRM.js +0 -4
  1207. package/dist/ionic/p-DkUB-ROc.js +0 -4
  1208. package/dist/ionic/p-Dn0mqQ_R.js +0 -4
  1209. package/dist/ionic/p-Dojwmvde.js +0 -4
  1210. package/dist/ionic/p-DplOqGUv.js +0 -4
  1211. package/dist/ionic/p-Dst_XmZh.js +0 -4
  1212. package/dist/ionic/p-T71k3C35.js +0 -4
  1213. package/dist/ionic/p-TXPDHL13.js +0 -4
  1214. package/dist/ionic/p-UIBJkZf8.js +0 -4
  1215. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1216. package/dist/ionic/p-a438b193.entry.js +0 -4
  1217. package/dist/ionic/p-babaaaa7.entry.js +0 -4
  1218. package/dist/ionic/p-be08d500.entry.js +0 -4
  1219. package/dist/ionic/p-be9a4f51.entry.js +0 -4
  1220. package/dist/ionic/p-byZM6qHV.js +0 -4
  1221. package/dist/ionic/p-c00d3092.entry.js +0 -4
  1222. package/dist/ionic/p-c36dc8f5.entry.js +0 -4
  1223. package/dist/ionic/p-c72a7e17.entry.js +0 -4
  1224. package/dist/ionic/p-c8edd88c.entry.js +0 -4
  1225. package/dist/ionic/p-ce0e380b.entry.js +0 -4
  1226. package/dist/ionic/p-ce32912b.entry.js +0 -4
  1227. package/dist/ionic/p-d07cf130.entry.js +0 -4
  1228. package/dist/ionic/p-d27edeb3.entry.js +0 -4
  1229. package/dist/ionic/p-d5d2c506.entry.js +0 -4
  1230. package/dist/ionic/p-d5e31ca9.entry.js +0 -4
  1231. package/dist/ionic/p-de91444f.entry.js +0 -4
  1232. package/dist/ionic/p-ded69ceb.entry.js +0 -4
  1233. package/dist/ionic/p-df72866d.entry.js +0 -4
  1234. package/dist/ionic/p-e47e3151.entry.js +0 -4
  1235. package/dist/ionic/p-e621e5e8.entry.js +0 -4
  1236. package/dist/ionic/p-eea9cf93.entry.js +0 -4
  1237. package/dist/ionic/p-f402f5a4.entry.js +0 -4
  1238. package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
  1239. package/dist/ionic/p-ffb90460.entry.js +0 -4
  1240. package/dist/types/utils/forms/start-container-controller.d.ts +0 -34
  1241. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -1,43 +1,18 @@
1
1
  // TODO(FW-2832): types
2
+ /**
3
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
4
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
5
+ */
2
6
  export class Route {
3
- /**
4
- * Relative path that needs to match in order for this route to apply.
5
- *
6
- * Accepts paths similar to expressjs so that you can define parameters
7
- * in the url /foo/:bar where bar would be available in incoming props.
8
- */
9
- url = '';
10
- /**
11
- * Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-router-outlet`)
12
- * when the route matches.
13
- *
14
- * The value of this property is not always the tagname of the component to load,
15
- * in `ion-tabs` it actually refers to the name of the `ion-tab` to select.
16
- */
17
- component;
18
- /**
19
- * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed
20
- * to the defined component when rendered.
21
- */
22
- componentProps;
23
- /**
24
- * A navigation hook that is fired when the route tries to leave.
25
- * Returning `true` allows the navigation to proceed, while returning
26
- * `false` causes it to be cancelled. Returning a `NavigationHookOptions`
27
- * object causes the router to redirect to the path specified.
28
- */
29
- beforeLeave;
30
- /**
31
- * A navigation hook that is fired when the route tries to enter.
32
- * Returning `true` allows the navigation to proceed, while returning
33
- * `false` causes it to be cancelled. Returning a `NavigationHookOptions`
34
- * object causes the router to redirect to the path specified.
35
- */
36
- beforeEnter;
37
- /**
38
- * Used internally by `ion-router` to know when this route did change.
39
- */
40
- ionRouteDataChanged;
7
+ constructor() {
8
+ /**
9
+ * Relative path that needs to match in order for this route to apply.
10
+ *
11
+ * Accepts paths similar to expressjs so that you can define parameters
12
+ * in the url /foo/:bar where bar would be available in incoming props.
13
+ */
14
+ this.url = '';
15
+ }
41
16
  onUpdate(newValue) {
42
17
  this.ionRouteDataChanged.emit(newValue);
43
18
  }
@@ -96,7 +71,7 @@ export class Route {
96
71
  "optional": false,
97
72
  "docs": {
98
73
  "tags": [],
99
- "text": "Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-router-outlet`)\nwhen the route matches.\n\nThe value of this property is not always the tagname of the component to load,\nin `ion-tabs` it actually refers to the name of the `ion-tab` to select."
74
+ "text": "Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-nav`)\nwhen the route matches.\n\nThe value of this property is not always the tagname of the component to load,\nin `ion-tabs` it actually refers to the name of the `ion-tab` to select."
100
75
  },
101
76
  "getter": false,
102
77
  "setter": false,
@@ -1,35 +1,4 @@
1
1
  export class RouteRedirect {
2
- /**
3
- * A redirect route, redirects "from" a URL "to" another URL. This property is that "from" URL.
4
- * It needs to be an exact match of the navigated URL in order to apply.
5
- *
6
- * The path specified in this value is always an absolute path, even if the initial `/` slash
7
- * is not specified.
8
- *
9
- */
10
- from;
11
- /**
12
- * A redirect route, redirects "from" a URL "to" another URL. This property is that "to" URL.
13
- * When the defined `ion-route-redirect` rule matches, the router will redirect to the path
14
- * specified in this property.
15
- *
16
- * The value of this property is always an absolute path inside the scope of routes defined in
17
- * `ion-router` it can't be used with another router or to perform a redirection to a different domain.
18
- *
19
- * Note that this is a virtual redirect, it will not cause a real browser refresh, again, it's
20
- * a redirect inside the context of ion-router.
21
- *
22
- * When this property is not specified or his value is `undefined` the whole redirect route is noop,
23
- * even if the "from" value matches.
24
- */
25
- to;
26
- /**
27
- * Internal event that fires when any value of this rule is added/removed from the DOM,
28
- * or any of his public properties changes.
29
- *
30
- * `ion-router` captures this event in order to update his internal registry of router rules.
31
- */
32
- ionRouteRedirectChanged;
33
2
  propDidChange() {
34
3
  this.ionRouteRedirectChanged.emit();
35
4
  }
@@ -6,42 +6,38 @@ import { readNavState, scrollToFragment, waitUntilNavNode, writeNavState } from
6
6
  import { findChainForIDs, findChainForSegments, findRouteRedirect } from "./utils/matching";
7
7
  import { readRedirects, readRoutes } from "./utils/parser";
8
8
  import { chainToSegments, generatePath, parsePath, readSegments, writeSegments } from "./utils/path";
9
+ /**
10
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
11
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
12
+ */
9
13
  export class Router {
10
- previousPath = null;
11
- busy = false;
12
- state = 0;
13
- lastState = 0;
14
- waitPromise;
15
- fragmentScrollToken = 0;
16
- el;
17
- /**
18
- * The root path to use when matching URLs. By default, this is set to "/", but you can specify
19
- * an alternate prefix for all URL paths.
20
- */
21
- root = '/';
22
- /**
23
- * The router can work in two "modes":
24
- * - With hash: `/index.html#/path/to/page`
25
- * - Without hash: `/path/to/page`
26
- *
27
- * Using one or another might depend in the requirements of your app and/or where it's deployed.
28
- *
29
- * Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might
30
- * requires additional server-side configuration in order to properly work.
31
- *
32
- * On the other side hash-navigation is much easier to deploy, it even works over the file protocol.
33
- *
34
- * By default, this property is `true`, change to `false` to allow hash-less URLs.
35
- */
36
- useHash = true;
37
- /**
38
- * Event emitted when the route is about to change
39
- */
40
- ionRouteWillChange;
41
- /**
42
- * Emitted when the route had changed
43
- */
44
- ionRouteDidChange;
14
+ constructor() {
15
+ this.previousPath = null;
16
+ this.busy = false;
17
+ this.state = 0;
18
+ this.lastState = 0;
19
+ this.fragmentScrollToken = 0;
20
+ /**
21
+ * The root path to use when matching URLs. By default, this is set to "/", but you can specify
22
+ * an alternate prefix for all URL paths.
23
+ */
24
+ this.root = '/';
25
+ /**
26
+ * The router can work in two "modes":
27
+ * - With hash: `/index.html#/path/to/page`
28
+ * - Without hash: `/path/to/page`
29
+ *
30
+ * Using one or another might depend in the requirements of your app and/or where it's deployed.
31
+ *
32
+ * Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might
33
+ * requires additional server-side configuration in order to properly work.
34
+ *
35
+ * On the other side hash-navigation is much easier to deploy, it even works over the file protocol.
36
+ *
37
+ * By default, this property is `true`, change to `false` to allow hash-less URLs.
38
+ */
39
+ this.useHash = true;
40
+ }
45
41
  async componentWillLoad() {
46
42
  await waitUntilNavNode();
47
43
  const canProceed = await this.runGuards(this.getSegments());
@@ -111,8 +107,9 @@ export class Router {
111
107
  * @param animation A custom animation to use for the transition.
112
108
  */
113
109
  async push(path, direction = 'forward', animation) {
110
+ var _a;
114
111
  if (path.startsWith('.')) {
115
- const currentPath = this.previousPath ?? '/';
112
+ const currentPath = (_a = this.previousPath) !== null && _a !== void 0 ? _a : '/';
116
113
  // Convert currentPath to an URL by pre-pending a protocol and a host to resolve the relative path.
117
114
  const url = new URL(path, `https://host/${currentPath}`);
118
115
  path = url.pathname + url.search + url.hash;
@@ -183,10 +180,11 @@ export class Router {
183
180
  return this.writeNavStateRoot(this.getSegments(), ROUTER_INTENT_NONE);
184
181
  }
185
182
  historyDirection() {
183
+ var _a;
186
184
  const win = window;
187
185
  if (win.history.state === null) {
188
186
  this.state++;
189
- win.history.replaceState(this.state, win.document.title, win.document.location?.href);
187
+ win.history.replaceState(this.state, win.document.title, (_a = win.document.location) === null || _a === void 0 ? void 0 : _a.href);
190
188
  }
191
189
  const state = win.history.state;
192
190
  const lastState = this.lastState;
@@ -260,12 +258,14 @@ export class Router {
260
258
  }
261
259
  const routes = readRoutes(this.el);
262
260
  const fromChain = findChainForSegments(from, routes);
261
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
263
262
  const beforeLeaveHook = fromChain && fromChain[fromChain.length - 1].beforeLeave;
264
263
  const canLeave = beforeLeaveHook ? await beforeLeaveHook() : true;
265
264
  if (canLeave === false || typeof canLeave === 'object') {
266
265
  return canLeave;
267
266
  }
268
267
  const toChain = findChainForSegments(to, routes);
268
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
269
269
  const beforeEnterHook = toChain && toChain[toChain.length - 1].beforeEnter;
270
270
  return beforeEnterHook ? beforeEnterHook() : true;
271
271
  }
@@ -1,10 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { Build } from "@stencil/core";
5
4
  import { findClosestIonContent, getScrollElement, isIonContent } from "../../../utils/content/index";
6
5
  import { componentOnReady, raf } from "../../../utils/helpers";
7
- import { printIonError, printIonWarning } from "../../../utils/logging/index";
6
+ import { printIonError } from "../../../utils/logging/index";
8
7
  import { ROUTER_INTENT_NONE } from "./constants";
9
8
  /**
10
9
  * Activates the passed route chain.
@@ -54,6 +53,7 @@ export const readNavState = async (root) => {
54
53
  const ids = [];
55
54
  let outlet;
56
55
  let node = root;
56
+ // eslint-disable-next-line no-cond-assign
57
57
  while ((outlet = searchNavNode(node))) {
58
58
  const id = await outlet.getRouteId();
59
59
  if (id) {
@@ -108,7 +108,7 @@ const findFragmentTarget = async (fragment, shouldContinue) => {
108
108
  try {
109
109
  candidates = [...document.querySelectorAll(`#${escaped}, a[name="${escaped}"]`)];
110
110
  }
111
- catch {
111
+ catch (_a) {
112
112
  candidates = [...document.querySelectorAll(`#${escaped}`)];
113
113
  }
114
114
  }
@@ -145,7 +145,7 @@ export const scrollToFragment = async (fragment, shouldContinue = () => true) =>
145
145
  try {
146
146
  decoded = decodeURIComponent(fragment);
147
147
  }
148
- catch {
148
+ catch (_a) {
149
149
  decoded = fragment;
150
150
  }
151
151
  const target = await findFragmentTarget(decoded, shouldContinue);
@@ -179,34 +179,16 @@ export const scrollToFragment = async (fragment, shouldContinue = () => true) =>
179
179
  return false;
180
180
  }
181
181
  };
182
- /** How long the router waits for a navigation outlet before giving up and proceeding. */
183
- const NAV_NODE_TIMEOUT = 500;
184
182
  export const waitUntilNavNode = () => {
185
183
  if (searchNavNode(document.body)) {
186
184
  return Promise.resolve();
187
185
  }
188
186
  return new Promise((resolve) => {
189
- /**
190
- * Outlets emit `ionNavWillLoad` as they load, so resolve as soon as one does.
191
- * A timeout backstops the case where the page has no outlet at all: without it
192
- * the router would wait forever and its `componentWillLoad` would never settle,
193
- * which in turn prevents the app from signalling that it has finished loading.
194
- */
195
- const done = () => {
196
- window.removeEventListener('ionNavWillLoad', done);
197
- clearTimeout(timeout);
198
- if (Build.isDev && !searchNavNode(document.body)) {
199
- printIonWarning('[ion-router] - No outlet found. The router requires an ion-router-outlet or ion-tabs to render routed views. ' +
200
- 'Note that as of Ionic 9 ion-nav is no longer a router outlet.');
201
- }
202
- resolve();
203
- };
204
- const timeout = setTimeout(done, NAV_NODE_TIMEOUT);
205
- window.addEventListener('ionNavWillLoad', done, { once: true });
187
+ window.addEventListener('ionNavWillLoad', () => resolve(), { once: true });
206
188
  });
207
189
  };
208
190
  /** Selector for all the outlets supported by the router. */
209
- const OUTLET_SELECTOR = ':not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet';
191
+ const OUTLET_SELECTOR = ':not([no-router]) ion-nav, :not([no-router]) ion-tabs, :not([no-router]) ion-router-outlet';
210
192
  const searchNavNode = (root) => {
211
193
  if (!root) {
212
194
  return undefined;
@@ -215,5 +197,5 @@ const searchNavNode = (root) => {
215
197
  return root;
216
198
  }
217
199
  const outlet = root.querySelector(OUTLET_SELECTOR);
218
- return outlet ?? undefined;
200
+ return outlet !== null && outlet !== void 0 ? outlet : undefined;
219
201
  };
@@ -134,7 +134,7 @@ export const matchesSegments = (segments, chain) => {
134
134
  * Returns undefined when both parameters are undefined.
135
135
  */
136
136
  export const mergeParams = (a, b) => {
137
- return a || b ? { ...a, ...b } : undefined;
137
+ return a || b ? Object.assign(Object.assign({}, a), b) : undefined;
138
138
  };
139
139
  /**
140
140
  * Finds the best match for the ids in the chains.
@@ -154,11 +154,14 @@ export const findChainForIDs = (ids, chains) => {
154
154
  }
155
155
  }
156
156
  if (match) {
157
- return match.map((route, i) => ({
158
- id: route.id,
159
- segments: route.segments,
160
- params: mergeParams(route.params, ids[i]?.params),
161
- }));
157
+ return match.map((route, i) => {
158
+ var _a;
159
+ return ({
160
+ id: route.id,
161
+ segments: route.segments,
162
+ params: mergeParams(route.params, (_a = ids[i]) === null || _a === void 0 ? void 0 : _a.params),
163
+ });
164
+ });
162
165
  }
163
166
  return null;
164
167
  };
@@ -212,7 +215,6 @@ export const computePriority = (chain) => {
212
215
  return score;
213
216
  };
214
217
  export class RouterSegments {
215
- segments;
216
218
  constructor(segments) {
217
219
  this.segments = segments.slice();
218
220
  }
@@ -42,7 +42,7 @@ export const readRoutes = (root) => {
42
42
  */
43
43
  export const readRouteNodes = (node) => {
44
44
  return Array.from(node.children)
45
- .filter((el) => el.tagName === 'ION-ROUTE' && Boolean(el.component))
45
+ .filter((el) => el.tagName === 'ION-ROUTE' && el.component)
46
46
  .map((el) => {
47
47
  const component = readProp(el, 'component');
48
48
  return {
@@ -41,6 +41,7 @@ export const chainToSegments = (chain) => {
41
41
  for (const route of chain) {
42
42
  for (const segment of route.segments) {
43
43
  if (segment[0] === ':') {
44
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
44
45
  const param = route.params && route.params[segment.slice(1)];
45
46
  if (!param) {
46
47
  return null;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -69,16 +75,16 @@
69
75
  }
70
76
 
71
77
  a {
78
+ color: inherit;
72
79
  font-family: inherit;
73
80
  font-size: inherit;
74
81
  font-style: inherit;
75
82
  font-weight: inherit;
76
83
  letter-spacing: inherit;
84
+ text-align: inherit;
77
85
  text-decoration: inherit;
78
86
  text-indent: inherit;
79
87
  text-overflow: inherit;
80
88
  text-transform: inherit;
81
- text-align: inherit;
82
89
  white-space: inherit;
83
- color: inherit;
84
90
  }
@@ -3,54 +3,33 @@
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { createColorClasses, openURL } from "../../utils/theme";
6
- import { getIonMode } from "../../global/ionic-global";
6
+ import { getIonTheme } from "../../global/ionic-global";
7
+ /**
8
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
9
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
10
+ */
7
11
  export class RouterLink {
8
- /**
9
- * The color to use from your application's color palette.
10
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
11
- * For more information on colors, see [theming](/docs/theming/basics).
12
- */
13
- color;
14
- /**
15
- * Contains a URL or a URL fragment that the hyperlink points to.
16
- * If this property is set, an anchor tag will be rendered.
17
- */
18
- href;
19
- /**
20
- * Specifies the relationship of the target object to the link object.
21
- * The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
22
- */
23
- rel;
24
- /**
25
- * When using a router, it specifies the transition direction when navigating to
26
- * another page using `href`.
27
- */
28
- routerDirection = 'forward';
29
- /**
30
- * When using a router, it specifies the transition animation when navigating to
31
- * another page using `href`.
32
- */
33
- routerAnimation;
34
- /**
35
- * Specifies where to display the linked URL.
36
- * Only applies when an `href` is provided.
37
- * Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
38
- */
39
- target;
40
- onClick = (ev) => {
41
- openURL(this.href, ev, this.routerDirection, this.routerAnimation);
42
- };
12
+ constructor() {
13
+ /**
14
+ * When using a router, it specifies the transition direction when navigating to
15
+ * another page using `href`.
16
+ */
17
+ this.routerDirection = 'forward';
18
+ this.onClick = (ev) => {
19
+ openURL(this.href, ev, this.routerDirection, this.routerAnimation);
20
+ };
21
+ }
43
22
  render() {
44
- const mode = getIonMode(this);
23
+ const theme = getIonTheme(this);
45
24
  const attrs = {
46
25
  href: this.href,
47
26
  rel: this.rel,
48
27
  target: this.target,
49
28
  };
50
- return (h(Host, { key: '8aaf732d8f5cc4ced351e2b3164605c10bd90cad', onClick: this.onClick, class: createColorClasses(this.color, {
51
- [mode]: true,
29
+ return (h(Host, { key: '84efbafddc586ee3f616d4e1a13118c04d9b2753', onClick: this.onClick, class: createColorClasses(this.color, {
30
+ [theme]: true,
52
31
  'ion-activatable': true,
53
- }) }, h("a", { key: '8f291ffbbce5b08dd10720d855eb020880bf1be1', ...attrs }, h("slot", { key: '24dc388a49204011e1c1f0a1131c9a1b0a4ae4da' }))));
32
+ }) }, h("a", Object.assign({ key: 'e8c7cda4c00ec45548ea52b632bc4adb07f9460c' }, attrs), h("slot", { key: '133bf1203a3e218e3868b4cfda00bb753ecea946' }))));
54
33
  }
55
34
  static get is() { return "ion-router-link"; }
56
35
  static get encapsulation() { return "shadow"; }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -54,8 +60,8 @@
54
60
  * }
55
61
  */
56
62
  :host {
57
- left: 0;
58
63
  right: 0;
64
+ left: 0;
59
65
  top: 0;
60
66
  bottom: 0;
61
67
  position: absolute;
@@ -10,47 +10,27 @@ import { printIonError } from "../../utils/logging/index";
10
10
  import { transition } from "../../utils/transition/index";
11
11
  import { config } from "../../global/config";
12
12
  import { getIonMode } from "../../global/ionic-global";
13
+ /**
14
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
15
+ */
13
16
  export class RouterOutlet {
14
- lockController = createLockController();
15
- activeEl;
16
- // TODO(FW-2832): types
17
- activeComponent;
18
- activeParams;
19
- gesture;
20
- ani;
21
- gestureOrAnimationInProgress = false;
22
- el;
23
- /**
24
- * The mode determines which platform styles to use.
25
- */
26
- mode = getIonMode(this);
27
- /** @internal */
28
- delegate;
29
- /**
30
- * If `true`, the router-outlet should animate the transition of components.
31
- */
32
- animated = true;
33
- /** This property allows to create custom transition using AnimationBuilder functions. */
34
- animation;
35
- /**
36
- * If `true`, the router-outlet should allow navigation via swipe-to-go-back gesture.
37
- * Defaults to `true` for `"ios"` mode and `false` for `"md"` mode.
38
- */
39
- swipeGesture;
40
- swipeGestureChanged() {
41
- this.updateGestureEnabled();
17
+ constructor() {
18
+ this.lockController = createLockController();
19
+ this.gestureOrAnimationInProgress = false;
20
+ /**
21
+ * The mode determines the platform behaviors of the component.
22
+ */
23
+ this.mode = getIonMode(this);
24
+ /**
25
+ * If `true`, the router-outlet should animate the transition of components.
26
+ */
27
+ this.animated = true;
42
28
  }
43
- /** @internal */
44
- swipeHandler;
45
29
  swipeHandlerChanged() {
46
- this.updateGestureEnabled();
30
+ if (this.gesture) {
31
+ this.gesture.enable(this.swipeHandler !== undefined);
32
+ }
47
33
  }
48
- /** @internal */
49
- ionNavWillLoad;
50
- /** @internal */
51
- ionNavWillChange;
52
- /** @internal */
53
- ionNavDidChange;
54
34
  async connectedCallback() {
55
35
  const onStart = () => {
56
36
  this.gestureOrAnimationInProgress = true;
@@ -58,7 +38,7 @@ export class RouterOutlet {
58
38
  this.swipeHandler.onStart();
59
39
  }
60
40
  };
61
- this.gesture = (await import('../../utils/gesture/swipe-back')).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => this.ani?.progressStep(step), (shouldComplete, step, dur) => {
41
+ this.gesture = (await import('../../utils/gesture/swipe-back')).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) => {
62
42
  if (this.ani) {
63
43
  this.ani.onFinish(() => {
64
44
  this.gestureOrAnimationInProgress = false;
@@ -89,21 +69,11 @@ export class RouterOutlet {
89
69
  this.gestureOrAnimationInProgress = false;
90
70
  }
91
71
  });
92
- if (this.swipeGesture === undefined) {
93
- this.swipeGesture = config.getBoolean('swipeBackEnabled', this.mode === 'ios');
94
- }
95
- else {
96
- this.updateGestureEnabled();
97
- }
72
+ this.swipeHandlerChanged();
98
73
  }
99
74
  componentWillLoad() {
100
75
  this.ionNavWillLoad.emit();
101
76
  }
102
- updateGestureEnabled() {
103
- if (this.gesture) {
104
- this.gesture.enable(this.swipeHandler !== undefined && this.swipeGesture === true);
105
- }
106
- }
107
77
  disconnectedCallback() {
108
78
  if (this.gesture) {
109
79
  this.gesture.destroy();
@@ -170,19 +140,16 @@ export class RouterOutlet {
170
140
  const { el, mode } = this;
171
141
  const animated = this.animated && config.getBoolean('animated', true);
172
142
  const animationBuilder = opts.animationBuilder || this.animation || config.get('navAnimation');
173
- await transition({
174
- mode,
143
+ await transition(Object.assign(Object.assign({ mode,
175
144
  animated,
176
145
  enteringEl,
177
- leavingEl,
178
- baseEl: el,
146
+ leavingEl, baseEl: el,
179
147
  /**
180
148
  * We need to wait for all Stencil components
181
149
  * to be ready only when using the lazy
182
150
  * loaded bundle.
183
151
  */
184
- deepWait: hasLazyBuild(el),
185
- progressCallback: opts.progressAnimation
152
+ deepWait: hasLazyBuild(el), progressCallback: opts.progressAnimation
186
153
  ? (ani) => {
187
154
  /**
188
155
  * Because this progress callback is called asynchronously
@@ -211,16 +178,13 @@ export class RouterOutlet {
211
178
  this.ani = ani;
212
179
  }
213
180
  }
214
- : undefined,
215
- ...opts,
216
- animationBuilder,
217
- });
181
+ : undefined }, opts), { animationBuilder }));
218
182
  // emit nav changed event
219
183
  this.ionNavDidChange.emit();
220
184
  return true;
221
185
  }
222
186
  render() {
223
- return h("slot", { key: '249e7d8a063c781db52fa535e42d648c7bf2909a' });
187
+ return h("slot", { key: '56e3d06ed939755796058e30ef19fbc7f7cb490d' });
224
188
  }
225
189
  static get is() { return "ion-router-outlet"; }
226
190
  static get encapsulation() { return "shadow"; }
@@ -253,7 +217,7 @@ export class RouterOutlet {
253
217
  "optional": false,
254
218
  "docs": {
255
219
  "tags": [],
256
- "text": "The mode determines which platform styles to use."
220
+ "text": "The mode determines the platform behaviors of the component."
257
221
  },
258
222
  "getter": false,
259
223
  "setter": false,
@@ -332,25 +296,6 @@ export class RouterOutlet {
332
296
  "getter": false,
333
297
  "setter": false
334
298
  },
335
- "swipeGesture": {
336
- "type": "boolean",
337
- "mutable": true,
338
- "complexType": {
339
- "original": "boolean",
340
- "resolved": "boolean | undefined",
341
- "references": {}
342
- },
343
- "required": false,
344
- "optional": true,
345
- "docs": {
346
- "tags": [],
347
- "text": "If `true`, the router-outlet should allow navigation via swipe-to-go-back gesture.\nDefaults to `true` for `\"ios\"` mode and `false` for `\"md\"` mode."
348
- },
349
- "getter": false,
350
- "setter": false,
351
- "reflect": false,
352
- "attribute": "swipe-gesture"
353
- },
354
299
  "swipeHandler": {
355
300
  "type": "unknown",
356
301
  "mutable": false,
@@ -572,9 +517,6 @@ export class RouterOutlet {
572
517
  static get elementRef() { return "el"; }
573
518
  static get watchers() {
574
519
  return [{
575
- "propName": "swipeGesture",
576
- "methodName": "swipeGestureChanged"
577
- }, {
578
520
  "propName": "swipeHandler",
579
521
  "methodName": "swipeHandlerChanged"
580
522
  }];