@ionic/core 8.7.4-dev.11756388042.1a103a79 → 8.7.4-dev.11756747371.11c148d6

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 (929) hide show
  1. package/components/action-sheet.js +13 -9
  2. package/components/alert.js +14 -11
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +9 -6
  5. package/components/button.js +41 -10
  6. package/components/buttons.js +11 -8
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +31 -12
  12. package/components/content.js +14 -12
  13. package/components/data.js +5 -5
  14. package/components/focus-visible.js +23 -1
  15. package/components/framework-delegate.js +3 -1
  16. package/components/header.js +28 -16
  17. package/components/helpers.js +42 -3
  18. package/components/index5.js +8 -8
  19. package/components/index6.js +1 -1
  20. package/components/index7.js +111 -150
  21. package/components/index8.js +150 -111
  22. package/components/input-shims.js +2 -2
  23. package/components/input.utils.js +1 -1
  24. package/components/ion-accordion-group.js +23 -5
  25. package/components/ion-accordion.js +32 -21
  26. package/components/ion-app.js +12 -77
  27. package/components/ion-avatar.js +58 -5
  28. package/components/ion-back-button.js +27 -19
  29. package/components/ion-badge.js +73 -9
  30. package/components/ion-breadcrumb.js +43 -10
  31. package/components/ion-breadcrumbs.js +8 -5
  32. package/components/ion-card-content.js +10 -7
  33. package/components/ion-card-header.js +9 -6
  34. package/components/ion-card-subtitle.js +8 -5
  35. package/components/ion-card-title.js +8 -5
  36. package/components/ion-card.js +21 -9
  37. package/components/ion-chip.js +53 -8
  38. package/components/ion-col.js +5 -5
  39. package/components/ion-datetime-button.js +8 -5
  40. package/components/ion-datetime.js +99 -23
  41. package/components/ion-divider.d.ts +11 -0
  42. package/components/ion-divider.js +70 -0
  43. package/components/ion-fab-button.js +31 -15
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +18 -13
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-img.js +5 -2
  49. package/components/ion-infinite-scroll-content.js +11 -8
  50. package/components/ion-infinite-scroll.js +78 -6
  51. package/components/ion-input-otp.js +9 -6
  52. package/components/ion-input-password-toggle.js +51 -13
  53. package/components/ion-input.js +120 -28
  54. package/components/ion-item-divider.js +8 -5
  55. package/components/ion-item-group.js +8 -5
  56. package/components/ion-item-option.js +36 -9
  57. package/components/ion-item-options.js +10 -7
  58. package/components/ion-item-sliding.js +5 -5
  59. package/components/ion-loading.js +12 -9
  60. package/components/ion-menu-button.js +26 -10
  61. package/components/ion-menu-toggle.js +5 -5
  62. package/components/ion-menu.js +10 -11
  63. package/components/ion-nav-link.js +1 -1
  64. package/components/ion-nav.js +7 -5
  65. package/components/ion-note.js +8 -5
  66. package/components/ion-picker-legacy.js +7 -7
  67. package/components/ion-progress-bar.js +25 -7
  68. package/components/ion-range.js +12 -9
  69. package/components/ion-refresher-content.js +23 -8
  70. package/components/ion-refresher.js +10 -7
  71. package/components/ion-reorder-group.js +5 -5
  72. package/components/ion-reorder.js +30 -5
  73. package/components/ion-router-link.js +6 -6
  74. package/components/ion-router-outlet.js +4 -4
  75. package/components/ion-row.js +5 -2
  76. package/components/ion-searchbar.js +137 -23
  77. package/components/ion-segment-button.js +10 -7
  78. package/components/ion-segment-content.js +1 -1
  79. package/components/ion-segment-view.js +5 -2
  80. package/components/ion-segment.js +10 -7
  81. package/components/ion-select-option.js +5 -2
  82. package/components/ion-select.js +117 -33
  83. package/components/ion-skeleton-text.js +5 -5
  84. package/components/ion-split-pane.js +11 -8
  85. package/components/ion-tab-bar.js +39 -9
  86. package/components/ion-tab-button.js +25 -7
  87. package/components/ion-tab.js +2 -2
  88. package/components/ion-tabs.js +2 -2
  89. package/components/ion-text.js +5 -5
  90. package/components/ion-textarea.js +52 -11
  91. package/components/ion-thumbnail.js +5 -2
  92. package/components/ion-toast.js +37 -12
  93. package/components/ion-toggle.js +74 -17
  94. package/components/ionic-global.js +349 -15
  95. package/components/ios.transition.js +1 -0
  96. package/components/item.js +39 -14
  97. package/components/keyboard-controller.js +4 -2
  98. package/components/label.js +8 -5
  99. package/components/list-header.js +10 -7
  100. package/components/list.js +27 -6
  101. package/components/list2.js +6 -0
  102. package/components/modal.js +48 -20
  103. package/components/notch-controller.js +1 -1
  104. package/components/overlays.js +111 -21
  105. package/components/picker-column-option.js +10 -7
  106. package/components/picker-column.js +43 -8
  107. package/components/picker-column2.js +4 -4
  108. package/components/picker.js +7 -4
  109. package/components/popover.js +12 -9
  110. package/components/radio-group.js +10 -5
  111. package/components/radio.js +11 -8
  112. package/components/ripple-effect.js +15 -7
  113. package/components/select-modal.js +4 -4
  114. package/components/select-popover.js +8 -2
  115. package/components/spinner.js +31 -8
  116. package/components/status-tap.js +1 -1
  117. package/components/title.js +10 -7
  118. package/components/toolbar.js +153 -9
  119. package/components/x.js +6 -0
  120. package/css/core.css +1 -1
  121. package/css/core.css.map +1 -1
  122. package/css/display.css +1 -1
  123. package/css/display.css.map +1 -1
  124. package/css/flex-utils.css +1 -1
  125. package/css/flex-utils.css.map +1 -1
  126. package/css/float-elements.css.map +1 -1
  127. package/css/global.bundle.css.map +1 -1
  128. package/css/ionic/bundle.ionic.css +1 -0
  129. package/css/ionic/bundle.ionic.css.map +1 -0
  130. package/css/ionic/core.ionic.css +1 -0
  131. package/css/ionic/core.ionic.css.map +1 -0
  132. package/css/ionic/global.bundle.ionic.css +1 -0
  133. package/css/ionic/global.bundle.ionic.css.map +1 -0
  134. package/css/ionic/ionic-swiper.ionic.css +1 -0
  135. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  136. package/css/ionic/link.ionic.css +1 -0
  137. package/css/ionic/link.ionic.css.map +1 -0
  138. package/css/ionic/structure.ionic.css +1 -0
  139. package/css/ionic/structure.ionic.css.map +1 -0
  140. package/css/ionic/typography.ionic.css +1 -0
  141. package/css/ionic/typography.ionic.css.map +1 -0
  142. package/css/ionic/utils.bundle.ionic.css +1 -0
  143. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  144. package/css/ionic-swiper.css +1 -1
  145. package/css/ionic-swiper.css.map +1 -1
  146. package/css/ionic.bundle.css +1 -1
  147. package/css/ionic.bundle.css.map +1 -1
  148. package/css/normalize.css.map +1 -1
  149. package/css/padding.css.map +1 -1
  150. package/css/palettes/dark.always.css.map +1 -1
  151. package/css/palettes/dark.class.css.map +1 -1
  152. package/css/palettes/dark.system.css.map +1 -1
  153. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  156. package/css/palettes/high-contrast.always.css.map +1 -1
  157. package/css/palettes/high-contrast.class.css.map +1 -1
  158. package/css/palettes/high-contrast.system.css.map +1 -1
  159. package/css/structure.css.map +1 -1
  160. package/css/text-alignment.css.map +1 -1
  161. package/css/text-transformation.css.map +1 -1
  162. package/css/typography.css.map +1 -1
  163. package/css/utils.bundle.css +1 -1
  164. package/css/utils.bundle.css.map +1 -1
  165. package/dist/cjs/{animation-ZJ1lAkZD.js → animation-BXRtNUgm.js} +2 -2
  166. package/dist/cjs/{app-globals-77ZfuXXk.js → app-globals-x_8DXqdl.js} +1 -1
  167. package/dist/cjs/{button-active-BzZenWWH.js → button-active-BcEaeF5Y.js} +1 -1
  168. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CVcQYFDK.js} +3 -3
  169. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  170. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  171. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  172. package/dist/cjs/{data-DW6ofvJ8.js → data-Crxp8jrQ.js} +5 -5
  173. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  174. package/dist/cjs/{framework-delegate-WkyjrnCx.js → framework-delegate-D94PxJL6.js} +4 -2
  175. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-r0GBrUII.js} +1 -1
  176. package/dist/cjs/{helpers-DgwmcYAu.js → helpers-CYFB2_7O.js} +41 -2
  177. package/dist/cjs/{index-D24wggHR.js → index-DgkpUJvi.js} +15 -15
  178. package/dist/cjs/{index-BzEyuIww.js → index-DkmXWuZ7.js} +3 -3
  179. package/dist/cjs/{index-Cc5PNMyz.js → index-DsE1tD-q.js} +1 -1
  180. package/dist/cjs/{index-bGpoPC4u.js → index-MoROIJ3n.js} +8 -7
  181. package/dist/cjs/index.cjs.js +10 -11
  182. package/dist/cjs/{input-shims-CLI_OrmU.js → input-shims-temHXqvt.js} +17 -16
  183. package/dist/cjs/{input.utils-B2hZ5tX6.js → input.utils-8JmSrYpP.js} +5 -5
  184. package/dist/cjs/ion-accordion_2.cjs.entry.js +55 -26
  185. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
  186. package/dist/cjs/ion-alert.cjs.entry.js +22 -20
  187. package/dist/cjs/ion-app_8.cjs.entry.js +243 -144
  188. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
  189. package/dist/cjs/ion-back-button.cjs.entry.js +28 -19
  190. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
  191. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -15
  192. package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
  193. package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
  194. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
  195. package/dist/cjs/ion-chip.cjs.entry.js +48 -7
  196. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  197. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
  198. package/dist/cjs/ion-datetime_3.cjs.entry.js +114 -39
  199. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  200. package/dist/cjs/ion-fab_3.cjs.entry.js +41 -25
  201. package/dist/cjs/ion-img.cjs.entry.js +7 -3
  202. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +89 -14
  203. package/dist/cjs/ion-input-otp.cjs.entry.js +11 -7
  204. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +50 -12
  205. package/dist/cjs/ion-input.cjs.entry.js +120 -30
  206. package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
  207. package/dist/cjs/ion-item_8.cjs.entry.js +105 -45
  208. package/dist/cjs/ion-loading.cjs.entry.js +17 -15
  209. package/dist/cjs/ion-menu_3.cjs.entry.js +44 -29
  210. package/dist/cjs/ion-modal.cjs.entry.js +96 -69
  211. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
  212. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -8
  213. package/dist/cjs/ion-picker-column.cjs.entry.js +48 -12
  214. package/dist/cjs/ion-picker.cjs.entry.js +9 -5
  215. package/dist/cjs/ion-popover.cjs.entry.js +18 -16
  216. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
  217. package/dist/cjs/ion-radio_2.cjs.entry.js +22 -13
  218. package/dist/cjs/ion-range.cjs.entry.js +14 -10
  219. package/dist/cjs/ion-refresher_2.cjs.entry.js +36 -18
  220. package/dist/cjs/ion-reorder_2.cjs.entry.js +36 -12
  221. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -6
  222. package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
  223. package/dist/cjs/ion-searchbar.cjs.entry.js +134 -21
  224. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  225. package/dist/cjs/ion-segment-view.cjs.entry.js +5 -2
  226. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -14
  227. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -9
  228. package/dist/cjs/ion-select_3.cjs.entry.js +129 -38
  229. package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
  230. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
  231. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +65 -20
  232. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
  233. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  234. package/dist/cjs/ion-textarea.cjs.entry.js +55 -15
  235. package/dist/cjs/ion-toast.cjs.entry.js +66 -43
  236. package/dist/cjs/ion-toggle.cjs.entry.js +78 -21
  237. package/dist/cjs/ionic-global-RZLbse4y.js +491 -0
  238. package/dist/cjs/ionic.cjs.js +3 -3
  239. package/dist/cjs/{ios.transition-DEitrLlG.js → ios.transition-CWI22viS.js} +6 -4
  240. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-BZdohzZu.js} +1 -1
  241. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-ByZ4Ulg3.js} +4 -3
  242. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-B-dr5t4a.js} +11 -9
  243. package/dist/cjs/list-a-7GSA6K.js +8 -0
  244. package/dist/cjs/loader.cjs.js +3 -3
  245. package/dist/cjs/{md.transition-BHtGC-Wg.js → md.transition-BxMmPf_q.js} +5 -4
  246. package/dist/cjs/{notch-controller-Bf5Rr4R5.js → notch-controller-BmjMp6Co.js} +4 -4
  247. package/dist/cjs/{overlays-v_jc1Hok.js → overlays-cmlYi6Sc.js} +116 -26
  248. package/dist/cjs/{status-tap-D9YPr62n.js → status-tap-D-MulHQM.js} +3 -2
  249. package/dist/cjs/{swipe-back-C1wRtoww.js → swipe-back-C5W5r-1A.js} +2 -1
  250. package/dist/cjs/x-BTF99yFH.js +8 -0
  251. package/dist/collection/collection-manifest.json +1 -0
  252. package/dist/collection/components/accordion/accordion.ionic.css +198 -0
  253. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  254. package/dist/collection/components/accordion/accordion.js +36 -26
  255. package/dist/collection/components/accordion/accordion.md.css +67 -59
  256. package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -0
  257. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  258. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  259. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  260. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  261. package/dist/collection/components/action-sheet/action-sheet.js +15 -11
  262. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  263. package/dist/collection/components/alert/alert.ios.css +19 -1
  264. package/dist/collection/components/alert/alert.js +16 -13
  265. package/dist/collection/components/alert/alert.md.css +19 -1
  266. package/dist/collection/components/app/app.js +15 -78
  267. package/dist/collection/components/avatar/avatar.ionic.css +393 -0
  268. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  269. package/dist/collection/components/avatar/avatar.js +120 -4
  270. package/dist/collection/components/avatar/avatar.md.css +51 -0
  271. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  272. package/dist/collection/components/back-button/back-button.js +27 -19
  273. package/dist/collection/components/back-button/back-button.md.css +60 -48
  274. package/dist/collection/components/backdrop/backdrop.ionic.css +111 -0
  275. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  276. package/dist/collection/components/backdrop/backdrop.js +12 -6
  277. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  278. package/dist/collection/components/badge/badge.ionic.css +277 -0
  279. package/dist/collection/components/badge/badge.ios.css +139 -12
  280. package/dist/collection/components/badge/badge.js +145 -9
  281. package/dist/collection/components/badge/badge.md.css +123 -12
  282. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  283. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  284. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  285. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  286. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  287. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  288. package/dist/collection/components/button/button.ionic.css +622 -0
  289. package/dist/collection/components/button/button.ios.css +135 -46
  290. package/dist/collection/components/button/button.js +48 -17
  291. package/dist/collection/components/button/button.md.css +126 -50
  292. package/dist/collection/components/buttons/buttons.ionic.css +100 -0
  293. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  294. package/dist/collection/components/buttons/buttons.js +15 -9
  295. package/dist/collection/components/buttons/buttons.md.css +55 -3
  296. package/dist/collection/components/card/card.ionic.css +146 -0
  297. package/dist/collection/components/card/card.ios.css +65 -14
  298. package/dist/collection/components/card/card.js +41 -10
  299. package/dist/collection/components/card/card.md.css +65 -14
  300. package/dist/collection/components/card-content/card-content.ionic.css +94 -0
  301. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  302. package/dist/collection/components/card-content/card-content.js +11 -8
  303. package/dist/collection/components/card-content/card-content.md.css +16 -1
  304. package/dist/collection/components/card-header/card-header.ionic.css +87 -0
  305. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  306. package/dist/collection/components/card-header/card-header.js +13 -10
  307. package/dist/collection/components/card-header/card-header.md.css +27 -15
  308. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +146 -0
  309. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  310. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  311. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  312. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  313. package/dist/collection/components/card-title/card-title.js +11 -8
  314. package/dist/collection/components/card-title/card-title.md.css +73 -0
  315. package/dist/collection/components/checkbox/checkbox.ionic.css +541 -0
  316. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  317. package/dist/collection/components/checkbox/checkbox.js +70 -14
  318. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  319. package/dist/collection/components/chip/chip.ionic.css +230 -0
  320. package/dist/collection/components/chip/chip.ios.css +67 -14
  321. package/dist/collection/components/chip/chip.js +108 -8
  322. package/dist/collection/components/chip/chip.md.css +67 -14
  323. package/dist/collection/components/col/col.css +12 -0
  324. package/dist/collection/components/col/col.js +9 -5
  325. package/dist/collection/components/content/content.css +8 -2
  326. package/dist/collection/components/content/content.js +16 -11
  327. package/dist/collection/components/datetime/datetime.ionic.css +699 -0
  328. package/dist/collection/components/datetime/datetime.ios.css +242 -86
  329. package/dist/collection/components/datetime/datetime.js +99 -22
  330. package/dist/collection/components/datetime/datetime.md.css +242 -86
  331. package/dist/collection/components/datetime/utils/data.js +5 -5
  332. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  333. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  334. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  335. package/dist/collection/components/divider/divider.ionic.css +150 -0
  336. package/dist/collection/components/divider/divider.ios.css +87 -0
  337. package/dist/collection/components/divider/divider.js +94 -0
  338. package/dist/collection/components/divider/divider.md.css +87 -0
  339. package/dist/collection/components/fab/fab.css +25 -1
  340. package/dist/collection/components/fab/fab.js +9 -5
  341. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  342. package/dist/collection/components/fab-button/fab-button.js +36 -21
  343. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  344. package/dist/collection/components/fab-list/fab-list.css +12 -0
  345. package/dist/collection/components/fab-list/fab-list.js +9 -5
  346. package/dist/collection/components/footer/footer.ios.css +14 -2
  347. package/dist/collection/components/footer/footer.js +21 -16
  348. package/dist/collection/components/footer/footer.md.css +12 -0
  349. package/dist/collection/components/grid/grid.css +12 -0
  350. package/dist/collection/components/grid/grid.js +9 -5
  351. package/dist/collection/components/header/header.ionic.css +100 -0
  352. package/dist/collection/components/header/header.ios.css +25 -10
  353. package/dist/collection/components/header/header.js +49 -18
  354. package/dist/collection/components/header/header.md.css +23 -8
  355. package/dist/collection/components/img/img.js +8 -2
  356. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  357. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  358. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  360. package/dist/collection/components/input/input.ionic.css +883 -0
  361. package/dist/collection/components/input/input.ios.css +223 -140
  362. package/dist/collection/components/input/input.js +149 -38
  363. package/dist/collection/components/input/input.md.css +193 -212
  364. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  365. package/dist/collection/components/input-otp/input-otp.ios.css +106 -60
  366. package/dist/collection/components/input-otp/input-otp.js +7 -5
  367. package/dist/collection/components/input-otp/input-otp.md.css +106 -60
  368. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +80 -0
  369. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  371. package/dist/collection/components/item/item.ionic.css +502 -0
  372. package/dist/collection/components/item/item.ios.css +109 -69
  373. package/dist/collection/components/item/item.js +43 -19
  374. package/dist/collection/components/item/item.md.css +120 -68
  375. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  376. package/dist/collection/components/item-divider/item-divider.js +11 -8
  377. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  378. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  379. package/dist/collection/components/item-group/item-group.js +13 -7
  380. package/dist/collection/components/item-group/item-group.md.css +12 -0
  381. package/dist/collection/components/item-option/item-option.ionic.css +280 -0
  382. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  383. package/dist/collection/components/item-option/item-option.js +73 -9
  384. package/dist/collection/components/item-option/item-option.md.css +136 -29
  385. package/dist/collection/components/item-options/item-options.ionic.css +223 -0
  386. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  387. package/dist/collection/components/item-options/item-options.js +13 -7
  388. package/dist/collection/components/item-options/item-options.md.css +77 -34
  389. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  390. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  391. package/dist/collection/components/label/label.ios.css +18 -0
  392. package/dist/collection/components/label/label.js +11 -8
  393. package/dist/collection/components/label/label.md.css +18 -0
  394. package/dist/collection/components/list/list.ionic.css +214 -0
  395. package/dist/collection/components/list/list.ios.css +54 -14
  396. package/dist/collection/components/list/list.js +48 -9
  397. package/dist/collection/components/list/list.md.css +56 -16
  398. package/dist/collection/components/list-header/list-header.ionic.css +192 -0
  399. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  400. package/dist/collection/components/list-header/list-header.js +11 -8
  401. package/dist/collection/components/list-header/list-header.md.css +82 -38
  402. package/dist/collection/components/loading/loading.ios.css +13 -1
  403. package/dist/collection/components/loading/loading.js +14 -11
  404. package/dist/collection/components/loading/loading.md.css +13 -1
  405. package/dist/collection/components/menu/menu.ios.css +15 -3
  406. package/dist/collection/components/menu/menu.js +12 -14
  407. package/dist/collection/components/menu/menu.md.css +15 -3
  408. package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
  409. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  410. package/dist/collection/components/menu-button/menu-button.js +26 -10
  411. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  412. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  413. package/dist/collection/components/modal/animations/sheet.js +8 -2
  414. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  415. package/dist/collection/components/modal/modal.ionic.css +243 -0
  416. package/dist/collection/components/modal/modal.ios.css +174 -70
  417. package/dist/collection/components/modal/modal.js +48 -11
  418. package/dist/collection/components/modal/modal.md.css +174 -70
  419. package/dist/collection/components/nav/nav.css +7 -1
  420. package/dist/collection/components/nav/nav.js +11 -5
  421. package/dist/collection/components/nav-link/nav-link.js +5 -1
  422. package/dist/collection/components/note/note.ios.css +12 -0
  423. package/dist/collection/components/note/note.js +11 -8
  424. package/dist/collection/components/note/note.md.css +12 -0
  425. package/dist/collection/components/picker/picker.ios.css +15 -3
  426. package/dist/collection/components/picker/picker.js +8 -5
  427. package/dist/collection/components/picker/picker.md.css +15 -3
  428. package/dist/collection/components/picker-column/picker-column.css +9 -2
  429. package/dist/collection/components/picker-column/picker-column.js +44 -7
  430. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +8 -2
  431. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  432. package/dist/collection/components/picker-column-option/picker-column-option.md.css +8 -2
  433. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  434. package/dist/collection/components/picker-legacy/picker.js +7 -6
  435. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  436. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  437. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  438. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  439. package/dist/collection/components/popover/popover.ios.css +13 -1
  440. package/dist/collection/components/popover/popover.js +17 -14
  441. package/dist/collection/components/popover/popover.md.css +13 -1
  442. package/dist/collection/components/progress-bar/progress-bar.ionic.css +289 -0
  443. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  444. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  445. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  446. package/dist/collection/components/radio/radio.ionic.css +424 -0
  447. package/dist/collection/components/radio/radio.ios.css +134 -91
  448. package/dist/collection/components/radio/radio.js +12 -9
  449. package/dist/collection/components/radio/radio.md.css +134 -91
  450. package/dist/collection/components/radio-group/radio-group.ionic.css +127 -0
  451. package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
  452. package/dist/collection/components/radio-group/radio-group.js +13 -5
  453. package/dist/collection/components/radio-group/radio-group.md.css +42 -18
  454. package/dist/collection/components/range/range.ionic.css +565 -0
  455. package/dist/collection/components/range/range.ios.css +128 -85
  456. package/dist/collection/components/range/range.js +12 -9
  457. package/dist/collection/components/range/range.md.css +128 -85
  458. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  459. package/dist/collection/components/refresher/refresher.js +11 -8
  460. package/dist/collection/components/refresher/refresher.md.css +15 -2
  461. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  462. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  463. package/dist/collection/components/reorder/reorder.js +33 -6
  464. package/dist/collection/components/reorder/reorder.md.css +6 -0
  465. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  466. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  467. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  468. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +217 -0
  469. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  470. package/dist/collection/components/route/route.js +4 -0
  471. package/dist/collection/components/router/router.js +4 -0
  472. package/dist/collection/components/router-link/router-link.css +8 -2
  473. package/dist/collection/components/router-link/router-link.js +9 -5
  474. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  475. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  476. package/dist/collection/components/row/row.css +12 -0
  477. package/dist/collection/components/row/row.js +9 -2
  478. package/dist/collection/components/searchbar/searchbar.ionic.css +628 -0
  479. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  480. package/dist/collection/components/searchbar/searchbar.js +181 -34
  481. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  482. package/dist/collection/components/segment/segment.ionic.css +117 -0
  483. package/dist/collection/components/segment/segment.ios.css +45 -2
  484. package/dist/collection/components/segment/segment.js +11 -8
  485. package/dist/collection/components/segment/segment.md.css +45 -2
  486. package/dist/collection/components/segment-button/segment-button.ionic.css +355 -0
  487. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  488. package/dist/collection/components/segment-button/segment-button.js +11 -8
  489. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  490. package/dist/collection/components/segment-content/segment-content.js +1 -1
  491. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  492. package/dist/collection/components/segment-view/segment-view.js +6 -4
  493. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  494. package/dist/collection/components/select/select.ionic.css +765 -0
  495. package/dist/collection/components/select/select.ios.css +315 -176
  496. package/dist/collection/components/select/select.js +157 -54
  497. package/dist/collection/components/select/select.md.css +331 -178
  498. package/dist/collection/components/select-modal/select-modal.ionic.css +125 -0
  499. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  500. package/dist/collection/components/select-modal/select-modal.js +3 -3
  501. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  502. package/dist/collection/components/select-option/select-option.js +9 -2
  503. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  504. package/dist/collection/components/select-popover/select-popover.js +12 -4
  505. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  506. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  507. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  508. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +79 -10
  509. package/dist/collection/components/spinner/spinner.js +47 -6
  510. package/dist/collection/components/spinner/spinner.native.css +198 -0
  511. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  512. package/dist/collection/components/split-pane/split-pane.js +14 -8
  513. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  514. package/dist/collection/components/tab/tab.js +6 -2
  515. package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
  516. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  517. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  518. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  519. package/dist/collection/components/tab-button/tab-button.ionic.css +338 -0
  520. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  521. package/dist/collection/components/tab-button/tab-button.js +44 -8
  522. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  523. package/dist/collection/components/tabs/tabs.css +7 -1
  524. package/dist/collection/components/tabs/tabs.js +4 -1
  525. package/dist/collection/components/text/text.css +6 -0
  526. package/dist/collection/components/text/text.js +7 -6
  527. package/dist/collection/components/textarea/textarea.ionic.css +830 -0
  528. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  529. package/dist/collection/components/textarea/textarea.js +76 -16
  530. package/dist/collection/components/textarea/textarea.md.css +288 -140
  531. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  532. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  533. package/dist/collection/components/title/title.ionic.css +129 -0
  534. package/dist/collection/components/title/title.ios.css +32 -4
  535. package/dist/collection/components/title/title.js +13 -7
  536. package/dist/collection/components/title/title.md.css +32 -4
  537. package/dist/collection/components/toast/animations/utils.js +1 -1
  538. package/dist/collection/components/toast/toast.ionic.css +396 -0
  539. package/dist/collection/components/toast/toast.ios.css +84 -45
  540. package/dist/collection/components/toast/toast.js +75 -12
  541. package/dist/collection/components/toast/toast.md.css +84 -45
  542. package/dist/collection/components/toggle/toggle.ionic.css +511 -0
  543. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  544. package/dist/collection/components/toggle/toggle.js +73 -18
  545. package/dist/collection/components/toggle/toggle.md.css +244 -131
  546. package/dist/collection/components/toolbar/test/image.svg +1 -0
  547. package/dist/collection/components/toolbar/toolbar.ionic.css +243 -0
  548. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  549. package/dist/collection/components/toolbar/toolbar.js +157 -13
  550. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  551. package/dist/collection/global/ionic-global.js +228 -13
  552. package/dist/collection/utils/focus-visible.js +22 -0
  553. package/dist/collection/utils/framework-delegate.js +3 -1
  554. package/dist/collection/utils/helpers.js +42 -2
  555. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  556. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  557. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  558. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  559. package/dist/collection/utils/overlays.js +111 -18
  560. package/dist/collection/utils/test/playwright/generator.js +48 -23
  561. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  562. package/dist/collection/utils/test/playwright/page/utils/set-content.js +24 -3
  563. package/dist/collection/utils/transition/ios.transition.js +1 -0
  564. package/dist/docs.json +7916 -363
  565. package/dist/esm/{animation-BvhAtgca.js → animation-DPqVg3gl.js} +1 -1
  566. package/dist/esm/{app-globals-CvLYUxE9.js → app-globals-dJs8dVUB.js} +1 -1
  567. package/dist/esm/{button-active-DBUPuLNw.js → button-active-BMINdWv6.js} +1 -1
  568. package/dist/esm/{capacitor-CFERIeaU.js → capacitor--DL1MVFW.js} +1 -1
  569. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  570. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  571. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  572. package/dist/esm/{data-CKHMWxfe.js → data-slRmoEWk.js} +5 -5
  573. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  574. package/dist/esm/{framework-delegate-BLEBgH06.js → framework-delegate-C3AU0AA6.js} +4 -2
  575. package/dist/esm/{haptic-DzAMWJuk.js → haptic-BWDWI-Xh.js} +1 -1
  576. package/dist/esm/{helpers-8KSQQGQy.js → helpers-CKng-4WP.js} +42 -3
  577. package/dist/esm/{index-CXSTcaAW.js → index-BwfAv3fK.js} +10 -10
  578. package/dist/esm/{index-7UbSlv7N.js → index-C21kdpyw.js} +1 -1
  579. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  580. package/dist/esm/{index-Dp7GXH1z.js → index-DLYqkEhn.js} +3 -3
  581. package/dist/esm/{index-C6WeRr09.js → index-jNq9q9I-.js} +3 -2
  582. package/dist/esm/index.js +10 -11
  583. package/dist/esm/{input-shims-C4KDnhxb.js → input-shims-Dt4HUCHS.js} +6 -5
  584. package/dist/esm/{input.utils-be4gBvVY.js → input.utils-D7U0b1bK.js} +2 -2
  585. package/dist/esm/ion-accordion_2.entry.js +56 -27
  586. package/dist/esm/ion-action-sheet.entry.js +21 -18
  587. package/dist/esm/ion-alert.entry.js +22 -20
  588. package/dist/esm/ion-app_8.entry.js +244 -145
  589. package/dist/esm/ion-avatar_3.entry.js +125 -13
  590. package/dist/esm/ion-back-button.entry.js +29 -20
  591. package/dist/esm/ion-backdrop.entry.js +9 -6
  592. package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
  593. package/dist/esm/ion-button_2.entry.js +43 -11
  594. package/dist/esm/ion-card_5.entry.js +53 -29
  595. package/dist/esm/ion-checkbox.entry.js +31 -13
  596. package/dist/esm/ion-chip.entry.js +49 -8
  597. package/dist/esm/ion-col_3.entry.js +13 -10
  598. package/dist/esm/ion-datetime-button.entry.js +11 -7
  599. package/dist/esm/ion-datetime_3.entry.js +116 -41
  600. package/dist/esm/ion-divider.entry.js +49 -0
  601. package/dist/esm/ion-fab_3.entry.js +43 -27
  602. package/dist/esm/ion-img.entry.js +7 -3
  603. package/dist/esm/ion-infinite-scroll_2.entry.js +89 -14
  604. package/dist/esm/ion-input-otp.entry.js +11 -7
  605. package/dist/esm/ion-input-password-toggle.entry.js +52 -14
  606. package/dist/esm/ion-input.entry.js +122 -32
  607. package/dist/esm/ion-item-option_3.entry.js +48 -19
  608. package/dist/esm/ion-item_8.entry.js +107 -47
  609. package/dist/esm/ion-loading.entry.js +17 -15
  610. package/dist/esm/ion-menu_3.entry.js +45 -30
  611. package/dist/esm/ion-modal.entry.js +56 -29
  612. package/dist/esm/ion-nav_2.entry.js +13 -10
  613. package/dist/esm/ion-picker-column-option.entry.js +12 -8
  614. package/dist/esm/ion-picker-column.entry.js +47 -11
  615. package/dist/esm/ion-picker.entry.js +9 -5
  616. package/dist/esm/ion-popover.entry.js +18 -16
  617. package/dist/esm/ion-progress-bar.entry.js +25 -7
  618. package/dist/esm/ion-radio_2.entry.js +22 -13
  619. package/dist/esm/ion-range.entry.js +14 -10
  620. package/dist/esm/ion-refresher_2.entry.js +37 -19
  621. package/dist/esm/ion-reorder_2.entry.js +38 -14
  622. package/dist/esm/ion-ripple-effect.entry.js +14 -6
  623. package/dist/esm/ion-route_4.entry.js +8 -7
  624. package/dist/esm/ion-searchbar.entry.js +137 -24
  625. package/dist/esm/ion-segment-content.entry.js +1 -1
  626. package/dist/esm/ion-segment-view.entry.js +5 -2
  627. package/dist/esm/ion-segment_2.entry.js +21 -14
  628. package/dist/esm/ion-select-modal.entry.js +8 -9
  629. package/dist/esm/ion-select_3.entry.js +131 -40
  630. package/dist/esm/ion-spinner.entry.js +28 -6
  631. package/dist/esm/ion-split-pane.entry.js +11 -8
  632. package/dist/esm/ion-tab-bar_2.entry.js +65 -20
  633. package/dist/esm/ion-tab_2.entry.js +7 -6
  634. package/dist/esm/ion-text.entry.js +5 -5
  635. package/dist/esm/ion-textarea.entry.js +55 -15
  636. package/dist/esm/ion-toast.entry.js +40 -17
  637. package/dist/esm/ion-toggle.entry.js +79 -22
  638. package/dist/esm/ionic-global-Dtd5Ma5B.js +480 -0
  639. package/dist/esm/ionic.js +3 -3
  640. package/dist/esm/{ios.transition-eAEkgVAv.js → ios.transition-CJcl_IUo.js} +6 -4
  641. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Ce5NGRb7.js} +1 -1
  642. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DP1KnX1o.js} +4 -3
  643. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-CN0dsogH.js} +5 -3
  644. package/dist/esm/list-Dhi5xtNS.js +6 -0
  645. package/dist/esm/loader.js +3 -3
  646. package/dist/esm/{md.transition-D8TeJ_Pz.js → md.transition-DUO570OK.js} +5 -4
  647. package/dist/esm/{notch-controller-lb417-kU.js → notch-controller-BZq2fbxL.js} +2 -2
  648. package/dist/esm/{overlays-BJaRj3Rj.js → overlays-e6TpXUJS.js} +113 -23
  649. package/dist/esm/{status-tap-pATNXEtr.js → status-tap-Bux-fh_w.js} +3 -2
  650. package/dist/esm/{swipe-back-B2YfOHRM.js → swipe-back-Dp-f6VSv.js} +2 -1
  651. package/dist/esm/x-BDqjX7Z_.js +6 -0
  652. package/dist/html.html-data.json +2511 -229
  653. package/dist/ionic/index.esm.js +1 -1
  654. package/dist/ionic/ionic.esm.js +1 -1
  655. package/dist/ionic/p-04b8cb11.entry.js +4 -0
  656. package/dist/ionic/p-083bdc4a.entry.js +4 -0
  657. package/dist/ionic/p-09ee42c7.entry.js +4 -0
  658. package/dist/ionic/p-0a973339.entry.js +4 -0
  659. package/dist/ionic/p-0b1386bf.entry.js +4 -0
  660. package/dist/ionic/p-0cffd1bf.entry.js +4 -0
  661. package/dist/ionic/p-0edc2fcf.entry.js +4 -0
  662. package/dist/ionic/p-123f6dde.entry.js +4 -0
  663. package/dist/ionic/p-1ac3754e.entry.js +4 -0
  664. package/dist/ionic/p-1fd86237.entry.js +4 -0
  665. package/dist/ionic/p-34198a78.entry.js +4 -0
  666. package/dist/ionic/p-3610f001.entry.js +4 -0
  667. package/dist/ionic/p-389093b6.entry.js +4 -0
  668. package/dist/ionic/p-417569b5.entry.js +4 -0
  669. package/dist/ionic/p-45b08f61.entry.js +4 -0
  670. package/dist/ionic/{p-B1xocg0A.js → p-4ivCEBy1.js} +1 -1
  671. package/dist/ionic/p-637e497f.entry.js +4 -0
  672. package/dist/ionic/p-63b6f13f.entry.js +4 -0
  673. package/dist/ionic/p-65d9c265.entry.js +4 -0
  674. package/dist/ionic/p-7918eeaa.entry.js +4 -0
  675. package/dist/ionic/p-7ead7a67.entry.js +4 -0
  676. package/dist/ionic/p-7f1c8070.entry.js +4 -0
  677. package/dist/ionic/p-80de7b65.entry.js +4 -0
  678. package/dist/ionic/p-80faabb9.entry.js +4 -0
  679. package/dist/ionic/p-8870c2f9.entry.js +4 -0
  680. package/dist/ionic/p-8fa42767.entry.js +4 -0
  681. package/dist/ionic/p-905f6505.entry.js +4 -0
  682. package/dist/ionic/p-907ac173.entry.js +4 -0
  683. package/dist/ionic/p-95621a36.entry.js +4 -0
  684. package/dist/ionic/p-97bf9127.entry.js +4 -0
  685. package/dist/ionic/p-9af1c2e0.entry.js +4 -0
  686. package/dist/ionic/p-9d9584bd.entry.js +4 -0
  687. package/dist/ionic/p-9f1d66d0.entry.js +4 -0
  688. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  689. package/dist/ionic/p-BFFank6B.js +4 -0
  690. package/dist/ionic/{p-CWvl4RPO.js → p-BISSkhkA.js} +1 -1
  691. package/dist/ionic/p-BJGh_obi.js +4 -0
  692. package/dist/ionic/p-BYSs-jZz.js +4 -0
  693. package/dist/ionic/{p-CKvCXMs9.js → p-BYYLxYDJ.js} +1 -1
  694. package/dist/ionic/p-Bh0_z73h.js +4 -0
  695. package/dist/ionic/p-BpaeL4Lk.js +4 -0
  696. package/dist/ionic/{p-DiZPU8BH.js → p-BqMzjJ9X.js} +1 -1
  697. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  698. package/dist/ionic/{p-C87oPMMF.js → p-CVVzZviS.js} +1 -1
  699. package/dist/ionic/p-CZEwJt85.js +4 -0
  700. package/dist/ionic/p-Cdv0TJ6-.js +4 -0
  701. package/dist/ionic/{p-BhNEp2QP.js → p-CjpktT3Z.js} +1 -1
  702. package/dist/ionic/p-CqYDGaCK.js +4 -0
  703. package/dist/ionic/p-D-m6MIML.js +4 -0
  704. package/dist/ionic/p-D1t981Ih.js +4 -0
  705. package/dist/ionic/{p-DCuOL88l.js → p-D8VpGXAu.js} +1 -1
  706. package/dist/ionic/p-DBzcL_sL.js +4 -0
  707. package/dist/ionic/p-DO7doFVM.js +4 -0
  708. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  709. package/dist/ionic/p-DkI7cEUN.js +4 -0
  710. package/dist/ionic/p-DpBID_Du.js +4 -0
  711. package/dist/ionic/p-DuV7rU9I.js +4 -0
  712. package/dist/ionic/p-EG6i47Uw.js +4 -0
  713. package/dist/ionic/{p-D13Eaw-8.js → p-EwG_P2X9.js} +1 -1
  714. package/dist/ionic/p-Ex5J81sy.js +4 -0
  715. package/dist/ionic/{p-BHGXdud8.js → p-KY_2sl5b.js} +1 -1
  716. package/dist/ionic/p-ab387abd.entry.js +4 -0
  717. package/dist/ionic/p-abc60b26.entry.js +4 -0
  718. package/dist/ionic/p-b269fb6b.entry.js +4 -0
  719. package/dist/ionic/p-b8c602ec.entry.js +4 -0
  720. package/dist/ionic/p-bfad272a.entry.js +4 -0
  721. package/dist/ionic/p-c6887f5c.entry.js +4 -0
  722. package/dist/ionic/p-c8eb678d.entry.js +4 -0
  723. package/dist/ionic/p-cff18cc5.entry.js +4 -0
  724. package/dist/ionic/p-d45f502a.entry.js +4 -0
  725. package/dist/ionic/p-d65a8d3e.entry.js +4 -0
  726. package/dist/ionic/p-d9525f67.entry.js +4 -0
  727. package/dist/ionic/{p-7a53f04c.entry.js → p-dc66e8cc.entry.js} +1 -1
  728. package/dist/ionic/p-e0a689ea.entry.js +4 -0
  729. package/dist/ionic/p-e25b2e94.entry.js +4 -0
  730. package/dist/ionic/p-e53f3a62.entry.js +4 -0
  731. package/dist/ionic/p-e6caa048.entry.js +4 -0
  732. package/dist/ionic/p-ec96366b.entry.js +4 -0
  733. package/dist/ionic/p-ed071a41.entry.js +4 -0
  734. package/dist/ionic/p-eea0e705.entry.js +4 -0
  735. package/dist/ionic/p-f116e723.entry.js +4 -0
  736. package/dist/ionic/p-fIOYmaqA.js +4 -0
  737. package/dist/ionic/p-ff010b26.entry.js +4 -0
  738. package/dist/ionic/p-vXpMhGrs.js +4 -0
  739. package/dist/types/components/accordion/accordion.d.ts +5 -3
  740. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  741. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  742. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  743. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  744. package/dist/types/components/alert/alert.d.ts +3 -2
  745. package/dist/types/components/app/app.d.ts +4 -2
  746. package/dist/types/components/avatar/avatar.d.ts +32 -0
  747. package/dist/types/components/back-button/back-button.d.ts +2 -1
  748. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  749. package/dist/types/components/badge/badge.d.ts +34 -1
  750. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  751. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  752. package/dist/types/components/button/button.d.ts +19 -6
  753. package/dist/types/components/buttons/buttons.d.ts +5 -1
  754. package/dist/types/components/card/card.d.ts +8 -1
  755. package/dist/types/components/card-content/card-content.d.ts +2 -1
  756. package/dist/types/components/card-header/card-header.d.ts +3 -2
  757. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  758. package/dist/types/components/card-title/card-title.d.ts +2 -1
  759. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  760. package/dist/types/components/chip/chip.d.ts +26 -1
  761. package/dist/types/components/col/col.d.ts +4 -0
  762. package/dist/types/components/content/content.d.ts +3 -0
  763. package/dist/types/components/datetime/datetime.d.ts +26 -1
  764. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  765. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  766. package/dist/types/components/divider/divider.d.ts +20 -0
  767. package/dist/types/components/fab/fab.d.ts +4 -0
  768. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  769. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  770. package/dist/types/components/footer/footer.d.ts +4 -3
  771. package/dist/types/components/grid/grid.d.ts +4 -0
  772. package/dist/types/components/header/header.d.ts +9 -3
  773. package/dist/types/components/img/img.d.ts +3 -0
  774. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  775. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  776. package/dist/types/components/input/input.d.ts +31 -5
  777. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  778. package/dist/types/components/item/item.d.ts +11 -4
  779. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  780. package/dist/types/components/item-group/item-group.d.ts +4 -0
  781. package/dist/types/components/item-option/item-option.d.ts +18 -1
  782. package/dist/types/components/item-options/item-options.d.ts +4 -0
  783. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  784. package/dist/types/components/label/label.d.ts +2 -1
  785. package/dist/types/components/list/list.d.ts +15 -1
  786. package/dist/types/components/list-header/list-header.d.ts +2 -1
  787. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  788. package/dist/types/components/loading/loading.d.ts +3 -2
  789. package/dist/types/components/menu/menu.d.ts +3 -0
  790. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  791. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  792. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  793. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  794. package/dist/types/components/modal/modal.d.ts +11 -1
  795. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  796. package/dist/types/components/nav/nav.d.ts +5 -1
  797. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  798. package/dist/types/components/note/note.d.ts +2 -1
  799. package/dist/types/components/picker/picker.d.ts +2 -1
  800. package/dist/types/components/picker-column/picker-column.d.ts +9 -1
  801. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  802. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  803. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  804. package/dist/types/components/popover/popover.d.ts +6 -5
  805. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  806. package/dist/types/components/radio/radio.d.ts +2 -1
  807. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  808. package/dist/types/components/range/range.d.ts +2 -1
  809. package/dist/types/components/refresher/refresher.d.ts +2 -1
  810. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  811. package/dist/types/components/reorder/reorder.d.ts +9 -0
  812. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  813. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  814. package/dist/types/components/route/route.d.ts +4 -0
  815. package/dist/types/components/router/router.d.ts +4 -0
  816. package/dist/types/components/router-link/router-link.d.ts +4 -0
  817. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  818. package/dist/types/components/row/row.d.ts +4 -0
  819. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  820. package/dist/types/components/segment/segment.d.ts +2 -1
  821. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  822. package/dist/types/components/select/select.d.ts +41 -13
  823. package/dist/types/components/select-option/select-option.d.ts +4 -0
  824. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  825. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  826. package/dist/types/components/spinner/spinner.d.ts +15 -0
  827. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  828. package/dist/types/components/tab/tab.d.ts +4 -0
  829. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  830. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  831. package/dist/types/components/tabs/tabs.d.ts +3 -0
  832. package/dist/types/components/text/text.d.ts +2 -1
  833. package/dist/types/components/textarea/textarea.d.ts +17 -4
  834. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  835. package/dist/types/components/title/title.d.ts +4 -0
  836. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  837. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  838. package/dist/types/components/toast/toast.d.ts +19 -2
  839. package/dist/types/components/toggle/toggle.d.ts +15 -1
  840. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  841. package/dist/types/components.d.ts +1522 -197
  842. package/dist/types/global/ionic-global.d.ts +27 -2
  843. package/dist/types/interface.d.ts +3 -0
  844. package/dist/types/utils/config.d.ts +106 -2
  845. package/dist/types/utils/focus-visible.d.ts +13 -0
  846. package/dist/types/utils/helpers.d.ts +11 -0
  847. package/dist/types/utils/overlays-interface.d.ts +31 -1
  848. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  849. package/hydrate/index.js +2945 -920
  850. package/hydrate/index.mjs +2945 -920
  851. package/package.json +10 -5
  852. package/components/hardware-back-button.js +0 -115
  853. package/components/index9.js +0 -7
  854. package/dist/cjs/hardware-back-button-BxdNu76F.js +0 -121
  855. package/dist/cjs/index-DkNv4J_i.js +0 -10
  856. package/dist/cjs/ionic-global-UI5YPSi-.js +0 -151
  857. package/dist/esm/hardware-back-button-Dhbd-23H.js +0 -115
  858. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  859. package/dist/esm/ionic-global-CTSyufhF.js +0 -146
  860. package/dist/ionic/p-095073c6.entry.js +0 -4
  861. package/dist/ionic/p-0f396661.entry.js +0 -4
  862. package/dist/ionic/p-1191a2d9.entry.js +0 -4
  863. package/dist/ionic/p-1488b7cc.entry.js +0 -4
  864. package/dist/ionic/p-148bdf18.entry.js +0 -4
  865. package/dist/ionic/p-16116947.entry.js +0 -4
  866. package/dist/ionic/p-19f80390.entry.js +0 -4
  867. package/dist/ionic/p-1a91f317.entry.js +0 -4
  868. package/dist/ionic/p-1ab0fc21.entry.js +0 -4
  869. package/dist/ionic/p-1bbd0a23.entry.js +0 -4
  870. package/dist/ionic/p-2060feb1.entry.js +0 -4
  871. package/dist/ionic/p-22a0f820.entry.js +0 -4
  872. package/dist/ionic/p-2cb0f39f.entry.js +0 -4
  873. package/dist/ionic/p-349fc921.entry.js +0 -4
  874. package/dist/ionic/p-3624b640.entry.js +0 -4
  875. package/dist/ionic/p-36a54836.entry.js +0 -4
  876. package/dist/ionic/p-39ed3212.entry.js +0 -4
  877. package/dist/ionic/p-40d56a51.entry.js +0 -4
  878. package/dist/ionic/p-4f2c5845.entry.js +0 -4
  879. package/dist/ionic/p-528af4e6.entry.js +0 -4
  880. package/dist/ionic/p-54dec9b1.entry.js +0 -4
  881. package/dist/ionic/p-5a9be5a3.entry.js +0 -4
  882. package/dist/ionic/p-5c976c00.entry.js +0 -4
  883. package/dist/ionic/p-60ff6bf6.entry.js +0 -4
  884. package/dist/ionic/p-6383afc2.entry.js +0 -4
  885. package/dist/ionic/p-7b12d853.entry.js +0 -4
  886. package/dist/ionic/p-7da05504.entry.js +0 -4
  887. package/dist/ionic/p-8888efe4.entry.js +0 -4
  888. package/dist/ionic/p-89c2e0a3.entry.js +0 -4
  889. package/dist/ionic/p-8cdb4ff5.entry.js +0 -4
  890. package/dist/ionic/p-9ddf2620.entry.js +0 -4
  891. package/dist/ionic/p-9eeaBrnk.js +0 -4
  892. package/dist/ionic/p-B5MDSrGg.js +0 -4
  893. package/dist/ionic/p-BB-JoKGB.js +0 -4
  894. package/dist/ionic/p-BmVRXR1y.js +0 -4
  895. package/dist/ionic/p-Br3vSlYh.js +0 -4
  896. package/dist/ionic/p-C-Cct-6D.js +0 -4
  897. package/dist/ionic/p-C4I6B3uV.js +0 -4
  898. package/dist/ionic/p-C8d2ebIg.js +0 -4
  899. package/dist/ionic/p-CIGNaXM1.js +0 -4
  900. package/dist/ionic/p-CoDfkBuk.js +0 -4
  901. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  902. package/dist/ionic/p-CvaZMP6T.js +0 -4
  903. package/dist/ionic/p-D2fQU_qK.js +0 -4
  904. package/dist/ionic/p-DAfH9Iif.js +0 -4
  905. package/dist/ionic/p-DJKvq7vb.js +0 -4
  906. package/dist/ionic/p-Dm_oBkW1.js +0 -4
  907. package/dist/ionic/p-LaGjiAVo.js +0 -4
  908. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  909. package/dist/ionic/p-a81be128.entry.js +0 -4
  910. package/dist/ionic/p-afeb9df6.entry.js +0 -4
  911. package/dist/ionic/p-b17f0554.entry.js +0 -4
  912. package/dist/ionic/p-b292804d.entry.js +0 -4
  913. package/dist/ionic/p-bc9f9032.entry.js +0 -4
  914. package/dist/ionic/p-bf81a468.entry.js +0 -4
  915. package/dist/ionic/p-c0d58c8e.entry.js +0 -4
  916. package/dist/ionic/p-c5210d3e.entry.js +0 -4
  917. package/dist/ionic/p-cd93c119.entry.js +0 -4
  918. package/dist/ionic/p-cde6d39b.entry.js +0 -4
  919. package/dist/ionic/p-d04d66fc.entry.js +0 -4
  920. package/dist/ionic/p-d3df6032.entry.js +0 -4
  921. package/dist/ionic/p-dbba38cf.entry.js +0 -4
  922. package/dist/ionic/p-dc8d0bb9.entry.js +0 -4
  923. package/dist/ionic/p-e6c3214c.entry.js +0 -4
  924. package/dist/ionic/p-e6c465ff.entry.js +0 -4
  925. package/dist/ionic/p-ec76fec4.entry.js +0 -4
  926. package/dist/ionic/p-ee2e35a6.entry.js +0 -4
  927. package/dist/ionic/p-f7db572a.entry.js +0 -4
  928. package/dist/ionic/p-f9eb54ee.entry.js +0 -4
  929. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -3,12 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index$1 = require('./index-DkNv4J_i.js');
7
- var helpers = require('./helpers-DgwmcYAu.js');
8
- var hardwareBackButton = require('./hardware-back-button-BxdNu76F.js');
6
+ var ionicGlobal = require('./ionic-global-RZLbse4y.js');
7
+ var helpers = require('./helpers-CYFB2_7O.js');
9
8
  var index = require('./index-DNh170BW.js');
10
- var ionicGlobal = require('./ionic-global-UI5YPSi-.js');
11
- var frameworkDelegate = require('./framework-delegate-WkyjrnCx.js');
9
+ var frameworkDelegate = require('./framework-delegate-D94PxJL6.js');
12
10
  var gestureController = require('./gesture-controller-dtqlP_q4.js');
13
11
 
14
12
  /**
@@ -396,7 +394,7 @@ const connectListeners = (doc) => {
396
394
  doc.addEventListener('ionBackButton', (ev) => {
397
395
  const lastOverlay = getPresentedOverlay(doc);
398
396
  if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
399
- ev.detail.register(hardwareBackButton.OVERLAY_BACK_BUTTON_PRIORITY, () => {
397
+ ev.detail.register(ionicGlobal.OVERLAY_BACK_BUTTON_PRIORITY, () => {
400
398
  /**
401
399
  * Do not return this promise otherwise
402
400
  * the hardware back button utility will
@@ -419,7 +417,7 @@ const connectListeners = (doc) => {
419
417
  * this behavior will be handled via the ionBackButton
420
418
  * event.
421
419
  */
422
- if (!hardwareBackButton.shouldUseCloseWatcher()) {
420
+ if (!ionicGlobal.shouldUseCloseWatcher()) {
423
421
  doc.addEventListener('keydown', (ev) => {
424
422
  if (ev.key === 'Escape') {
425
423
  const lastOverlay = getPresentedOverlay(doc);
@@ -492,17 +490,15 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
492
490
  */
493
491
  const setRootAriaHidden = (hidden = false) => {
494
492
  const root = getAppRoot(document);
495
- const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
493
+ const viewContainer = root.querySelector('ion-router-outlet, ion-nav, #ion-view-container-root');
496
494
  if (!viewContainer) {
497
495
  return;
498
496
  }
499
497
  if (hidden) {
500
498
  viewContainer.setAttribute('aria-hidden', 'true');
501
- viewContainer.setAttribute('inert', '');
502
499
  }
503
500
  else {
504
501
  viewContainer.removeAttribute('aria-hidden');
505
- viewContainer.removeAttribute('inert');
506
502
  }
507
503
  };
508
504
  const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
@@ -510,17 +506,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
510
506
  if (overlay.presented) {
511
507
  return;
512
508
  }
513
- /**
514
- * When an overlay that steals focus
515
- * is dismissed, focus should be returned
516
- * to the element that was focused
517
- * prior to the overlay opening. Toast
518
- * does not steal focus and is excluded
519
- * from returning focus as a result.
520
- */
521
- if (overlay.el.tagName !== 'ION-TOAST') {
522
- restoreElementFocus(overlay.el);
523
- }
524
509
  /**
525
510
  * Due to accessibility guidelines, toasts do not have
526
511
  * focus traps.
@@ -532,6 +517,8 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
532
517
  setRootAriaHidden(true);
533
518
  document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
534
519
  }
520
+ hideUnderlyingOverlaysFromScreenReaders(overlay.el);
521
+ hideAnimatingOverlayFromScreenReaders(overlay.el);
535
522
  overlay.presented = true;
536
523
  overlay.willPresent.emit();
537
524
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
@@ -545,6 +532,17 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
545
532
  overlay.didPresent.emit();
546
533
  (_b = overlay.didPresentShorthand) === null || _b === void 0 ? void 0 : _b.emit();
547
534
  }
535
+ /**
536
+ * When an overlay that steals focus
537
+ * is dismissed, focus should be returned
538
+ * to the element that was focused
539
+ * prior to the overlay opening. Toast
540
+ * does not steal focus and is excluded
541
+ * from returning focus as a result.
542
+ */
543
+ if (overlay.el.tagName !== 'ION-TOAST') {
544
+ restoreElementFocus(overlay.el);
545
+ }
548
546
  /**
549
547
  * If the focused element is already
550
548
  * inside the overlay component then
@@ -567,7 +565,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
567
565
  * screen readers.
568
566
  */
569
567
  overlay.el.removeAttribute('aria-hidden');
570
- overlay.el.removeAttribute('inert');
571
568
  };
572
569
  /**
573
570
  * When an overlay component is dismissed,
@@ -584,8 +581,6 @@ const restoreElementFocus = async (overlayEl) => {
584
581
  if (!previousElement) {
585
582
  return;
586
583
  }
587
- // Ensure active element is blurred to prevent a11y warning issues
588
- previousElement.blur();
589
584
  const shadowRoot = previousElement === null || previousElement === void 0 ? void 0 : previousElement.shadowRoot;
590
585
  if (shadowRoot) {
591
586
  // If there are no inner focusable elements, just focus the host element.
@@ -625,7 +620,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
625
620
  if (!overlay.presented) {
626
621
  return false;
627
622
  }
628
- const presentedOverlays = index$1.doc !== undefined ? getPresentedOverlays(index$1.doc) : [];
623
+ const presentedOverlays = ionicGlobal.doc !== undefined ? getPresentedOverlays(ionicGlobal.doc) : [];
629
624
  /**
630
625
  * For accessibility, toasts lack focus traps and don't receive
631
626
  * `aria-hidden` on the root element when presented.
@@ -649,6 +644,12 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
649
644
  }
650
645
  overlay.presented = false;
651
646
  try {
647
+ /**
648
+ * There is no need to show the overlay to screen readers during
649
+ * the dismiss animation. This is because the overlay will be removed
650
+ * from the DOM after the animation is complete.
651
+ */
652
+ hideAnimatingOverlayFromScreenReaders(overlay.el);
652
653
  // Overlay contents should not be clickable during dismiss
653
654
  overlay.el.style.setProperty('pointer-events', 'none');
654
655
  overlay.willDismiss.emit({ data, role });
@@ -687,10 +688,12 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
687
688
  index.printIonError(`[${overlay.el.tagName.toLowerCase()}] - `, err);
688
689
  }
689
690
  overlay.el.remove();
691
+ revealOverlaysToScreenReaders();
690
692
  return true;
691
693
  };
692
694
  const getAppRoot = (doc) => {
693
- return doc.querySelector('ion-app') || doc.body;
695
+ const appRootSelector = index.config.get('appRootSelector', 'ion-app');
696
+ return doc.querySelector(appRootSelector) || doc.body;
694
697
  };
695
698
  const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
696
699
  // Make overlay visible in case it's hidden
@@ -882,6 +885,93 @@ const createTriggerController = () => {
882
885
  removeClickListener,
883
886
  };
884
887
  };
888
+ /**
889
+ * The overlay that is being animated also needs to hide from screen
890
+ * readers during its animation. This ensures that assistive technologies
891
+ * like TalkBack do not announce or interact with the content until the
892
+ * animation is complete, avoiding confusion for users.
893
+ *
894
+ * When the overlay is presented on an Android device, TalkBack's focus rings
895
+ * may appear in the wrong position due to the transition (specifically
896
+ * `transform` styles). This occurs because the focus rings are initially
897
+ * displayed at the starting position of the elements before the transition
898
+ * begins. This workaround ensures the focus rings do not appear in the
899
+ * incorrect location.
900
+ *
901
+ * If this solution is applied to iOS devices, then it leads to a bug where
902
+ * the overlays cannot be accessed by screen readers. This is due to
903
+ * VoiceOver not being able to update the accessibility tree when the
904
+ * `aria-hidden` is removed.
905
+ *
906
+ * @param overlay - The overlay that is being animated.
907
+ */
908
+ const hideAnimatingOverlayFromScreenReaders = (overlay) => {
909
+ if (ionicGlobal.doc === undefined)
910
+ return;
911
+ if (ionicGlobal.isPlatform('android')) {
912
+ /**
913
+ * Once the animation is complete, this attribute will be removed.
914
+ * This is done at the end of the `present` method.
915
+ */
916
+ overlay.setAttribute('aria-hidden', 'true');
917
+ }
918
+ };
919
+ /**
920
+ * Ensure that underlying overlays have aria-hidden if necessary so that screen readers
921
+ * cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
922
+ * events here because those events do not fire when the screen readers moves to a non-focusable
923
+ * element such as text.
924
+ * Without this logic screen readers would be able to move focus outside of the top focus-trapped overlay.
925
+ *
926
+ * @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
927
+ * fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
928
+ */
929
+ const hideUnderlyingOverlaysFromScreenReaders = (newTopMostOverlay) => {
930
+ var _a;
931
+ if (ionicGlobal.doc === undefined)
932
+ return;
933
+ const overlays = getPresentedOverlays(ionicGlobal.doc);
934
+ for (let i = overlays.length - 1; i >= 0; i--) {
935
+ const presentedOverlay = overlays[i];
936
+ const nextPresentedOverlay = (_a = overlays[i + 1]) !== null && _a !== void 0 ? _a : newTopMostOverlay;
937
+ /**
938
+ * If next overlay has aria-hidden then all remaining overlays will have it too.
939
+ * Or, if the next overlay is a Toast that does not have aria-hidden then current overlay
940
+ * should not have aria-hidden either so focus can remain in the current overlay.
941
+ */
942
+ if (nextPresentedOverlay.hasAttribute('aria-hidden') || nextPresentedOverlay.tagName !== 'ION-TOAST') {
943
+ presentedOverlay.setAttribute('aria-hidden', 'true');
944
+ }
945
+ }
946
+ };
947
+ /**
948
+ * When dismissing an overlay we need to reveal the new top-most overlay to screen readers.
949
+ * If the top-most overlay is a Toast we potentially need to reveal more overlays since
950
+ * focus is never automatically moved to the Toast.
951
+ */
952
+ const revealOverlaysToScreenReaders = () => {
953
+ if (ionicGlobal.doc === undefined)
954
+ return;
955
+ const overlays = getPresentedOverlays(ionicGlobal.doc);
956
+ for (let i = overlays.length - 1; i >= 0; i--) {
957
+ const currentOverlay = overlays[i];
958
+ /**
959
+ * If the current we are looking at is a Toast then we can remove aria-hidden.
960
+ * However, we potentially need to keep looking at the overlay stack because there
961
+ * could be more Toasts underneath. Additionally, we need to unhide the closest non-Toast
962
+ * overlay too so focus can move there since focus is never automatically moved to the Toast.
963
+ */
964
+ currentOverlay.removeAttribute('aria-hidden');
965
+ /**
966
+ * If we found a non-Toast element then we can just remove aria-hidden and stop searching entirely
967
+ * since this overlay should always receive focus. As a result, all underlying overlays should still
968
+ * be hidden from screen readers.
969
+ */
970
+ if (currentOverlay.tagName !== 'ION-TOAST') {
971
+ break;
972
+ }
973
+ }
974
+ };
885
975
  const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
886
976
 
887
977
  exports.BACKDROP = BACKDROP;
@@ -4,8 +4,9 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-DNh170BW.js');
7
- var index$1 = require('./index-Cc5PNMyz.js');
8
- var helpers = require('./helpers-DgwmcYAu.js');
7
+ var index$1 = require('./index-DsE1tD-q.js');
8
+ var helpers = require('./helpers-CYFB2_7O.js');
9
+ require('./focus-visible-BIj-I3-C.js');
9
10
 
10
11
  const startStatusTap = () => {
11
12
  const win = window;
@@ -3,9 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var helpers = require('./helpers-DgwmcYAu.js');
6
+ var helpers = require('./helpers-CYFB2_7O.js');
7
7
  var dir = require('./dir-Cn0z1rJH.js');
8
8
  var index = require('./index-CAvQ7Tka.js');
9
+ require('./focus-visible-BIj-I3-C.js');
9
10
  require('./index-DNh170BW.js');
10
11
  require('./gesture-controller-dtqlP_q4.js');
11
12
 
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ 'use strict';
5
+
6
+ const xSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMDUuNjYsMTk0LjM0YTgsOCwwLDAsMS0xMS4zMiwxMS4zMkwxMjgsMTM5LjMxLDYxLjY2LDIwNS42NmE4LDgsMCwwLDEtMTEuMzItMTEuMzJMMTE2LjY5LDEyOCw1MC4zNCw2MS42NkE4LDgsMCwwLDEsNjEuNjYsNTAuMzRMMTI4LDExNi42OWw2Ni4zNC02Ni4zNWE4LDgsMCwwLDEsMTEuMzIsMTEuMzJMMTM5LjMxLDEyOFoiLz48L3N2Zz4=';
7
+
8
+ exports.xSvg = xSvg;
@@ -27,6 +27,7 @@
27
27
  "components/picker-column/picker-column.js",
28
28
  "components/picker/picker.js",
29
29
  "components/datetime-button/datetime-button.js",
30
+ "components/divider/divider.js",
30
31
  "components/fab/fab.js",
31
32
  "components/fab-button/fab-button.js",
32
33
  "components/fab-list/fab-list.js",
@@ -0,0 +1,198 @@
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
+ */
7
+ /*
8
+ Do not edit directly, this file was auto-generated.
9
+ */ /**
10
+ * A heuristic that applies CSS to tablet
11
+ * viewports.
12
+ *
13
+ * Usage:
14
+ * @include tablet-viewport() {
15
+ * :host {
16
+ * background-color: green;
17
+ * }
18
+ * }
19
+ */
20
+ /**
21
+ * A heuristic that applies CSS to mobile
22
+ * viewports (i.e. phones, not tablets).
23
+ *
24
+ * Usage:
25
+ * @include mobile-viewport() {
26
+ * :host {
27
+ * background-color: blue;
28
+ * }
29
+ * }
30
+ */
31
+ /**
32
+ * Convert a font size to a dynamic font size.
33
+ * Fonts that participate in Dynamic Type should use
34
+ * dynamic font sizes.
35
+ * @param size - The initial font size including the unit (i.e. px or pt)
36
+ * @param unit (optional) - The unit to convert to. Use this if you want to
37
+ * convert to a unit other than $baselineUnit.
38
+ */
39
+ /**
40
+ * Convert a font size to a dynamic font size but impose
41
+ * a maximum font size.
42
+ * @param size - The initial font size including the unit (i.e. px or pt)
43
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
44
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
45
+ * convert to a unit other than $baselineUnit.
46
+ */
47
+ /**
48
+ * Convert a font size to a dynamic font size but impose
49
+ * a minimum font size.
50
+ * @param size - The initial font size including the unit (i.e. px or pt)
51
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
52
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
53
+ * convert to a unit other than $baselineUnit.
54
+ */
55
+ /**
56
+ * Convert a font size to a dynamic font size but impose
57
+ * maximum and minimum font sizes.
58
+ * @param size - The initial font size including the unit (i.e. px or pt)
59
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
60
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
61
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
62
+ * convert to a unit other than $baselineUnit.
63
+ */
64
+ :host {
65
+ display: block;
66
+ position: relative;
67
+ width: 100%;
68
+ overflow: hidden;
69
+ /**
70
+ * This is required to force WebKit
71
+ * to create a new stacking context
72
+ * otherwise the border radius is
73
+ * temporarily lost when hovering over
74
+ * the ion-item or expanding/collapsing
75
+ * the accordion.
76
+ */
77
+ z-index: 0;
78
+ }
79
+
80
+ :host(.accordion-expanding) ::slotted(ion-item[slot=header]),
81
+ :host(.accordion-expanded) ::slotted(ion-item[slot=header]) {
82
+ --border-width: 0px;
83
+ }
84
+
85
+ #content {
86
+ overflow: hidden;
87
+ will-change: max-height;
88
+ }
89
+
90
+ :host(.accordion-collapsing) #content {
91
+ /* stylelint-disable-next-line declaration-no-important */
92
+ max-height: 0 !important;
93
+ }
94
+
95
+ :host(.accordion-collapsed) #content {
96
+ display: none;
97
+ }
98
+
99
+ :host(.accordion-expanding) #content {
100
+ max-height: 0;
101
+ }
102
+
103
+ /**
104
+ * Prevent margins of content-wrapper
105
+ * from collapsing, breaking the animation.
106
+ */
107
+ :host(.accordion-expanding) #content-wrapper {
108
+ overflow: auto;
109
+ }
110
+
111
+ :host(.accordion-disabled) #header,
112
+ :host(.accordion-readonly) #header,
113
+ :host(.accordion-disabled) #content,
114
+ :host(.accordion-readonly) #content {
115
+ pointer-events: none;
116
+ }
117
+
118
+ @media (prefers-reduced-motion: reduce) {
119
+ :host,
120
+ #content {
121
+ /* stylelint-disable declaration-no-important */
122
+ transition: none !important;
123
+ }
124
+ }
125
+ :host {
126
+ position: relative;
127
+ }
128
+
129
+ :host::after {
130
+ -webkit-margin-start: var(--ion-space-400, var(--ion-scale-400, 16px));
131
+ margin-inline-start: var(--ion-space-400, var(--ion-scale-400, 16px));
132
+ -webkit-margin-end: var(--ion-space-400, var(--ion-scale-400, 16px));
133
+ margin-inline-end: var(--ion-space-400, var(--ion-scale-400, 16px));
134
+ right: 0;
135
+ left: 0;
136
+ bottom: 0;
137
+ display: block;
138
+ position: absolute;
139
+ height: var(--ion-border-size-025, var(--ion-scale-025, 1px));
140
+ background-color: var(--ion-border-default, var(--ion-primitives-neutral-400, #d5d5d5));
141
+ content: "";
142
+ z-index: 3;
143
+ }
144
+
145
+ :host(.accordion-animated) {
146
+ transition: all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);
147
+ }
148
+
149
+ :host(.accordion-animated) #content {
150
+ transition: max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);
151
+ }
152
+
153
+ ::slotted(ion-item[slot=header]) {
154
+ --border-radius: inherit;
155
+ --color: var(--ion-text-default, var(--ion-primitives-neutral-1200, #242424));
156
+ --border-width: var(--ion-border-size-0, var(--ion-scale-0, 0px));
157
+ --inner-border-width: var(--ion-scale-0, 0px);
158
+ --min-height: var(--ion-scale-700, 28px);
159
+ --padding-top: var(--ion-space-300, var(--ion-scale-300, 12px));
160
+ --padding-end: var(--ion-space-400, var(--ion-scale-400, 16px));
161
+ --padding-bottom: var(--ion-space-300, var(--ion-scale-300, 12px));
162
+ --padding-start: var(--ion-space-400, var(--ion-scale-400, 16px));
163
+ font-size: var(--ion-font-size-450, 1.125rem);
164
+ font-weight: var(--ion-font-weight-medium, 500);
165
+ letter-spacing: var(--ion-font-letter-spacing-0, 0%);
166
+ line-height: var(--ion-font-line-height-700, var(--ion-scale-700, 28px));
167
+ text-decoration: none;
168
+ text-transform: none;
169
+ }
170
+
171
+ #content-wrapper {
172
+ -webkit-padding-start: var(--ion-space-400, var(--ion-scale-400, 16px));
173
+ padding-inline-start: var(--ion-space-400, var(--ion-scale-400, 16px));
174
+ -webkit-padding-end: var(--ion-space-400, var(--ion-scale-400, 16px));
175
+ padding-inline-end: var(--ion-space-400, var(--ion-scale-400, 16px));
176
+ padding-top: var(--ion-space-300, var(--ion-scale-300, 12px));
177
+ padding-bottom: var(--ion-space-300, var(--ion-scale-300, 12px));
178
+ font-size: var(--ion-font-size-350, 0.875rem);
179
+ font-weight: var(--ion-font-weight-regular, 400);
180
+ letter-spacing: var(--ion-font-letter-spacing-0, 0%);
181
+ line-height: var(--ion-font-line-height-600, var(--ion-scale-600, 24px));
182
+ text-decoration: none;
183
+ text-transform: none;
184
+ color: var(--ion-text-default, var(--ion-primitives-neutral-1200, #242424));
185
+ }
186
+
187
+ :host(.accordion-disabled)::before {
188
+ border-radius: inherit;
189
+ right: 0;
190
+ left: 0;
191
+ top: 0;
192
+ bottom: 0;
193
+ position: absolute;
194
+ background-color: var(--ion-state-disabled, rgba(255, 255, 255, 0.6));
195
+ content: "";
196
+ pointer-events: none;
197
+ z-index: 2;
198
+ }
@@ -1,3 +1,70 @@
1
+ :host {
2
+ display: block;
3
+ position: relative;
4
+ width: 100%;
5
+ overflow: hidden;
6
+ /**
7
+ * This is required to force WebKit
8
+ * to create a new stacking context
9
+ * otherwise the border radius is
10
+ * temporarily lost when hovering over
11
+ * the ion-item or expanding/collapsing
12
+ * the accordion.
13
+ */
14
+ z-index: 0;
15
+ }
16
+
17
+ :host(.accordion-expanding) ::slotted(ion-item[slot=header]),
18
+ :host(.accordion-expanded) ::slotted(ion-item[slot=header]) {
19
+ --border-width: 0px;
20
+ }
21
+
22
+ #content {
23
+ overflow: hidden;
24
+ will-change: max-height;
25
+ }
26
+
27
+ :host(.accordion-collapsing) #content {
28
+ /* stylelint-disable-next-line declaration-no-important */
29
+ max-height: 0 !important;
30
+ }
31
+
32
+ :host(.accordion-collapsed) #content {
33
+ display: none;
34
+ }
35
+
36
+ :host(.accordion-expanding) #content {
37
+ max-height: 0;
38
+ }
39
+
40
+ /**
41
+ * Prevent margins of content-wrapper
42
+ * from collapsing, breaking the animation.
43
+ */
44
+ :host(.accordion-expanding) #content-wrapper {
45
+ overflow: auto;
46
+ }
47
+
48
+ :host(.accordion-disabled) #header,
49
+ :host(.accordion-readonly) #header,
50
+ :host(.accordion-disabled) #content,
51
+ :host(.accordion-readonly) #content {
52
+ pointer-events: none;
53
+ }
54
+
55
+ @media (prefers-reduced-motion: reduce) {
56
+ :host,
57
+ #content {
58
+ /* stylelint-disable declaration-no-important */
59
+ transition: none !important;
60
+ }
61
+ }
62
+ /**
63
+ * Convert a pixels given value into rem
64
+ *
65
+ * @param pixels - Value in pixels to be converted (i.e. px)
66
+ * @param context (optional) - Baseline value
67
+ */
1
68
  /**
2
69
  * Convert a font size to a dynamic font size.
3
70
  * Fonts that participate in Dynamic Type should use
@@ -54,25 +121,7 @@
54
121
  * }
55
122
  */
56
123
  :host {
57
- display: block;
58
- position: relative;
59
- width: 100%;
60
124
  background-color: var(--ion-background-color, #ffffff);
61
- overflow: hidden;
62
- /**
63
- * This is required to force WebKit
64
- * to create a new stacking context
65
- * otherwise the border radius is
66
- * temporarily lost when hovering over
67
- * the ion-item or expanding/collapsing
68
- * the accordion.
69
- */
70
- z-index: 0;
71
- }
72
-
73
- :host(.accordion-expanding) ::slotted(ion-item[slot=header]),
74
- :host(.accordion-expanded) ::slotted(ion-item[slot=header]) {
75
- --border-width: 0px;
76
125
  }
77
126
 
78
127
  :host(.accordion-animated) {
@@ -83,39 +132,6 @@
83
132
  transition: max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);
84
133
  }
85
134
 
86
- #content {
87
- overflow: hidden;
88
- will-change: max-height;
89
- }
90
-
91
- :host(.accordion-collapsing) #content {
92
- /* stylelint-disable-next-line declaration-no-important */
93
- max-height: 0 !important;
94
- }
95
-
96
- :host(.accordion-collapsed) #content {
97
- display: none;
98
- }
99
-
100
- :host(.accordion-expanding) #content {
101
- max-height: 0;
102
- }
103
-
104
- /**
105
- * Prevent margins of content-wrapper
106
- * from collapsing, breaking the animation.
107
- */
108
- :host(.accordion-expanding) #content-wrapper {
109
- overflow: auto;
110
- }
111
-
112
- :host(.accordion-disabled) #header,
113
- :host(.accordion-readonly) #header,
114
- :host(.accordion-disabled) #content,
115
- :host(.accordion-readonly) #content {
116
- pointer-events: none;
117
- }
118
-
119
135
  /**
120
136
  * We do not set the opacity on the
121
137
  * host otherwise you would see the
@@ -126,13 +142,12 @@
126
142
  opacity: 0.4;
127
143
  }
128
144
 
129
- @media (prefers-reduced-motion: reduce) {
130
- :host,
131
- #content {
132
- /* stylelint-disable declaration-no-important */
133
- transition: none !important;
134
- }
135
- }
145
+ /**
146
+ * Convert a pixels given value into rem
147
+ *
148
+ * @param pixels - Value in pixels to be converted (i.e. px)
149
+ * @param context (optional) - Baseline value
150
+ */
136
151
  /**
137
152
  * Convert a font size to a dynamic font size.
138
153
  * Fonts that participate in Dynamic Type should use