@ionic/core 8.7.6-dev.11759524961.1cff6814 → 8.7.6-dev.11759752152.17f114d8

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 (945) hide show
  1. package/components/action-sheet.js +14 -10
  2. package/components/alert.js +15 -12
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +10 -7
  5. package/components/button.js +42 -11
  6. package/components/buttons.js +12 -9
  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 +32 -13
  12. package/components/content.js +15 -13
  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 +29 -17
  17. package/components/helpers.js +42 -3
  18. package/components/icon.js +1 -1
  19. package/components/index2.js +3 -70
  20. package/components/index5.js +8 -8
  21. package/components/index6.js +1 -1
  22. package/components/index7.js +111 -150
  23. package/components/index8.js +150 -111
  24. package/components/input-shims.js +2 -2
  25. package/components/input.utils.js +1 -1
  26. package/components/ion-accordion-group.js +24 -6
  27. package/components/ion-accordion.js +33 -22
  28. package/components/ion-app.js +13 -78
  29. package/components/ion-avatar.js +58 -5
  30. package/components/ion-back-button.js +28 -20
  31. package/components/ion-badge.js +74 -10
  32. package/components/ion-breadcrumb.js +44 -11
  33. package/components/ion-breadcrumbs.js +9 -6
  34. package/components/ion-card-content.js +11 -8
  35. package/components/ion-card-header.js +10 -7
  36. package/components/ion-card-subtitle.js +9 -6
  37. package/components/ion-card-title.js +9 -6
  38. package/components/ion-card.js +22 -10
  39. package/components/ion-chip.js +54 -9
  40. package/components/ion-col.js +52 -51
  41. package/components/ion-datetime-button.js +9 -6
  42. package/components/ion-datetime.js +99 -22
  43. package/components/ion-divider.d.ts +11 -0
  44. package/components/ion-divider.js +70 -0
  45. package/components/ion-fab-button.js +32 -16
  46. package/components/ion-fab-list.js +6 -6
  47. package/components/ion-fab.js +7 -7
  48. package/components/ion-footer.js +19 -14
  49. package/components/ion-grid.js +6 -6
  50. package/components/ion-img.js +6 -3
  51. package/components/ion-infinite-scroll-content.js +12 -9
  52. package/components/ion-infinite-scroll.js +79 -7
  53. package/components/ion-input-otp.js +10 -7
  54. package/components/ion-input-password-toggle.js +52 -14
  55. package/components/ion-input.js +121 -29
  56. package/components/ion-item-divider.js +9 -6
  57. package/components/ion-item-group.js +9 -6
  58. package/components/ion-item-option.js +37 -10
  59. package/components/ion-item-options.js +11 -8
  60. package/components/ion-item-sliding.js +6 -6
  61. package/components/ion-loading.js +13 -10
  62. package/components/ion-menu-button.js +27 -11
  63. package/components/ion-menu-toggle.js +6 -6
  64. package/components/ion-menu.js +11 -9
  65. package/components/ion-nav-link.js +2 -2
  66. package/components/ion-nav.js +8 -6
  67. package/components/ion-note.js +9 -6
  68. package/components/ion-picker-legacy.js +8 -8
  69. package/components/ion-progress-bar.js +26 -8
  70. package/components/ion-range.js +13 -10
  71. package/components/ion-refresher-content.js +23 -8
  72. package/components/ion-refresher.js +11 -8
  73. package/components/ion-reorder-group.js +6 -6
  74. package/components/ion-reorder.js +31 -6
  75. package/components/ion-router-link.js +7 -7
  76. package/components/ion-router-outlet.js +5 -5
  77. package/components/ion-row.js +7 -4
  78. package/components/ion-searchbar.js +138 -24
  79. package/components/ion-segment-button.js +11 -8
  80. package/components/ion-segment-content.js +2 -2
  81. package/components/ion-segment-view.js +6 -3
  82. package/components/ion-segment.js +11 -8
  83. package/components/ion-select-option.js +6 -3
  84. package/components/ion-select.js +118 -34
  85. package/components/ion-skeleton-text.js +6 -6
  86. package/components/ion-split-pane.js +12 -9
  87. package/components/ion-tab-bar.js +40 -10
  88. package/components/ion-tab-button.js +26 -8
  89. package/components/ion-tab.js +3 -3
  90. package/components/ion-tabs.js +3 -3
  91. package/components/ion-text.js +6 -6
  92. package/components/ion-textarea.js +53 -12
  93. package/components/ion-thumbnail.js +6 -3
  94. package/components/ion-toast.js +38 -13
  95. package/components/ion-toggle.js +75 -18
  96. package/components/ionic-global.js +349 -15
  97. package/components/ios.transition.js +1 -0
  98. package/components/item.js +40 -15
  99. package/components/keyboard-controller.js +4 -2
  100. package/components/label.js +9 -6
  101. package/components/list-header.js +11 -8
  102. package/components/list.js +28 -7
  103. package/components/list2.js +6 -0
  104. package/components/modal.js +49 -21
  105. package/components/notch-controller.js +1 -1
  106. package/components/overlays.js +3 -4
  107. package/components/picker-column-option.js +9 -6
  108. package/components/picker-column.js +8 -9
  109. package/components/picker-column2.js +5 -5
  110. package/components/picker.js +8 -5
  111. package/components/popover.js +13 -10
  112. package/components/radio-group.js +11 -6
  113. package/components/radio.js +12 -9
  114. package/components/ripple-effect.js +15 -7
  115. package/components/select-modal.js +6 -6
  116. package/components/select-popover.js +10 -4
  117. package/components/spinner.js +31 -8
  118. package/components/status-tap.js +1 -1
  119. package/components/title.js +11 -8
  120. package/components/toolbar.js +154 -10
  121. package/components/x.js +6 -0
  122. package/css/core.css +1 -1
  123. package/css/core.css.map +1 -1
  124. package/css/display.css +1 -1
  125. package/css/display.css.map +1 -1
  126. package/css/flex-utils.css +1 -1
  127. package/css/flex-utils.css.map +1 -1
  128. package/css/float-elements.css.map +1 -1
  129. package/css/global.bundle.css.map +1 -1
  130. package/css/ionic/bundle.ionic.css +1 -0
  131. package/css/ionic/bundle.ionic.css.map +1 -0
  132. package/css/ionic/core.ionic.css +1 -0
  133. package/css/ionic/core.ionic.css.map +1 -0
  134. package/css/ionic/global.bundle.ionic.css +1 -0
  135. package/css/ionic/global.bundle.ionic.css.map +1 -0
  136. package/css/ionic/ionic-swiper.ionic.css +1 -0
  137. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  138. package/css/ionic/link.ionic.css +1 -0
  139. package/css/ionic/link.ionic.css.map +1 -0
  140. package/css/ionic/structure.ionic.css +1 -0
  141. package/css/ionic/structure.ionic.css.map +1 -0
  142. package/css/ionic/typography.ionic.css +1 -0
  143. package/css/ionic/typography.ionic.css.map +1 -0
  144. package/css/ionic/utils.bundle.ionic.css +1 -0
  145. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  146. package/css/ionic-swiper.css +1 -1
  147. package/css/ionic-swiper.css.map +1 -1
  148. package/css/ionic.bundle.css +1 -1
  149. package/css/ionic.bundle.css.map +1 -1
  150. package/css/normalize.css.map +1 -1
  151. package/css/padding.css.map +1 -1
  152. package/css/palettes/dark.always.css.map +1 -1
  153. package/css/palettes/dark.class.css.map +1 -1
  154. package/css/palettes/dark.system.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  156. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  157. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  158. package/css/palettes/high-contrast.always.css.map +1 -1
  159. package/css/palettes/high-contrast.class.css.map +1 -1
  160. package/css/palettes/high-contrast.system.css.map +1 -1
  161. package/css/structure.css.map +1 -1
  162. package/css/text-alignment.css.map +1 -1
  163. package/css/text-transformation.css.map +1 -1
  164. package/css/typography.css.map +1 -1
  165. package/css/utils.bundle.css +1 -1
  166. package/css/utils.bundle.css.map +1 -1
  167. package/dist/cjs/{animation-ZJ1lAkZD.js → animation-Bcz4qmJk.js} +2 -3
  168. package/dist/cjs/{button-active-BzZenWWH.js → button-active-1nO6qpCH.js} +2 -2
  169. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CzFst28-.js} +1 -1
  170. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  171. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  172. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  173. package/dist/cjs/{config-CKhELRRu.js → config-DGKt4XfG.js} +1 -1
  174. package/dist/cjs/{data-DW6ofvJ8.js → data-B3i-krcw.js} +6 -6
  175. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  176. package/dist/cjs/{framework-delegate-WkyjrnCx.js → framework-delegate-DfEY5uyC.js} +4 -2
  177. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-DbqPcCc9.js} +1 -1
  178. package/dist/cjs/{helpers-DgwmcYAu.js → helpers-DmAvmm2T.js} +42 -3
  179. package/dist/cjs/{index-Cc5PNMyz.js → index-CaZ3uzAD.js} +2 -2
  180. package/dist/cjs/{index-DNh170BW.js → index-CmckMMX1.js} +659 -274
  181. package/dist/cjs/{index-D24wggHR.js → index-DcPe_YcG.js} +16 -17
  182. package/dist/cjs/{index--3s2Phef.js → index-DxVhwe3d.js} +7 -74
  183. package/dist/cjs/{index-bGpoPC4u.js → index-YEjC0pvJ.js} +3 -3
  184. package/dist/cjs/index.cjs.js +15 -17
  185. package/dist/cjs/{input-shims-CLI_OrmU.js → input-shims-BwdlNkON.js} +6 -6
  186. package/dist/cjs/{input.utils-B2hZ5tX6.js → input.utils-CfjyQhpu.js} +3 -4
  187. package/dist/cjs/ion-accordion_2.cjs.entry.js +55 -27
  188. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -19
  189. package/dist/cjs/ion-alert.cjs.entry.js +24 -23
  190. package/dist/cjs/ion-app_8.cjs.entry.js +245 -147
  191. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -12
  192. package/dist/cjs/ion-back-button.cjs.entry.js +28 -20
  193. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -7
  194. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -16
  195. package/dist/cjs/ion-button_2.cjs.entry.js +44 -13
  196. package/dist/cjs/ion-card_5.cjs.entry.js +53 -30
  197. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -14
  198. package/dist/cjs/ion-chip.cjs.entry.js +48 -8
  199. package/dist/cjs/ion-col_3.cjs.entry.js +53 -57
  200. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -8
  201. package/dist/cjs/ion-datetime_3.cjs.entry.js +115 -41
  202. package/dist/cjs/ion-divider.cjs.entry.js +50 -0
  203. package/dist/cjs/ion-fab_3.cjs.entry.js +41 -26
  204. package/dist/cjs/ion-img.cjs.entry.js +7 -4
  205. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +90 -16
  206. package/dist/cjs/ion-input-otp.cjs.entry.js +12 -9
  207. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -14
  208. package/dist/cjs/ion-input.cjs.entry.js +120 -31
  209. package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -20
  210. package/dist/cjs/ion-item_8.cjs.entry.js +105 -46
  211. package/dist/cjs/ion-loading.cjs.entry.js +18 -17
  212. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -30
  213. package/dist/cjs/ion-modal.cjs.entry.js +83 -57
  214. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -12
  215. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -7
  216. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -15
  217. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  218. package/dist/cjs/ion-popover.cjs.entry.js +19 -18
  219. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -8
  220. package/dist/cjs/ion-radio_2.cjs.entry.js +22 -14
  221. package/dist/cjs/ion-range.cjs.entry.js +14 -11
  222. package/dist/cjs/ion-refresher_2.cjs.entry.js +41 -24
  223. package/dist/cjs/ion-reorder_2.cjs.entry.js +36 -13
  224. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -7
  225. package/dist/cjs/ion-route_4.cjs.entry.js +8 -8
  226. package/dist/cjs/ion-searchbar.cjs.entry.js +134 -22
  227. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  228. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
  229. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -15
  230. package/dist/cjs/ion-select-modal.cjs.entry.js +9 -11
  231. package/dist/cjs/ion-select_3.cjs.entry.js +130 -40
  232. package/dist/cjs/ion-spinner.cjs.entry.js +29 -8
  233. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -9
  234. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +65 -21
  235. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  236. package/dist/cjs/ion-text.cjs.entry.js +5 -6
  237. package/dist/cjs/ion-textarea.cjs.entry.js +55 -16
  238. package/dist/cjs/ion-toast.cjs.entry.js +65 -43
  239. package/dist/cjs/ion-toggle.cjs.entry.js +79 -23
  240. package/dist/cjs/ionic.cjs.js +4 -6
  241. package/dist/cjs/{ios.transition-B_rsAM9j.js → ios.transition-BMRClUxZ.js} +6 -5
  242. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Chl5cusY.js} +1 -1
  243. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-yLvXRMuh.js} +4 -3
  244. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-nXDIskl9.js} +3 -3
  245. package/dist/cjs/list-a-7GSA6K.js +8 -0
  246. package/dist/cjs/loader.cjs.js +3 -5
  247. package/dist/cjs/{md.transition-CQt0eBw-.js → md.transition-D2ZL4jgW.js} +5 -5
  248. package/dist/cjs/{notch-controller-Bf5Rr4R5.js → notch-controller-S50JyZJs.js} +2 -2
  249. package/dist/cjs/{overlays-czPyT6xP.js → overlays-XYRfwd6H.js} +10 -12
  250. package/dist/cjs/{status-tap-D9YPr62n.js → status-tap-DMaRrHIS.js} +4 -3
  251. package/dist/cjs/{swipe-back-C1wRtoww.js → swipe-back-CEVlQT7C.js} +3 -2
  252. package/dist/cjs/x-BTF99yFH.js +8 -0
  253. package/dist/collection/collection-manifest.json +2 -1
  254. package/dist/collection/components/accordion/accordion.ionic.css +196 -0
  255. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  256. package/dist/collection/components/accordion/accordion.js +36 -26
  257. package/dist/collection/components/accordion/accordion.md.css +67 -59
  258. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  259. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  260. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  261. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  262. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  263. package/dist/collection/components/action-sheet/action-sheet.js +15 -11
  264. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  265. package/dist/collection/components/alert/alert.ios.css +19 -1
  266. package/dist/collection/components/alert/alert.js +16 -13
  267. package/dist/collection/components/alert/alert.md.css +19 -1
  268. package/dist/collection/components/app/app.js +15 -78
  269. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  270. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  271. package/dist/collection/components/avatar/avatar.js +120 -4
  272. package/dist/collection/components/avatar/avatar.md.css +51 -0
  273. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  274. package/dist/collection/components/back-button/back-button.js +27 -19
  275. package/dist/collection/components/back-button/back-button.md.css +60 -48
  276. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  277. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  278. package/dist/collection/components/backdrop/backdrop.js +12 -6
  279. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  280. package/dist/collection/components/badge/badge.ionic.css +275 -0
  281. package/dist/collection/components/badge/badge.ios.css +139 -12
  282. package/dist/collection/components/badge/badge.js +145 -9
  283. package/dist/collection/components/badge/badge.md.css +123 -12
  284. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  285. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  286. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  287. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  288. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  289. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  290. package/dist/collection/components/button/button.ionic.css +620 -0
  291. package/dist/collection/components/button/button.ios.css +135 -46
  292. package/dist/collection/components/button/button.js +48 -17
  293. package/dist/collection/components/button/button.md.css +126 -50
  294. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  295. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  296. package/dist/collection/components/buttons/buttons.js +15 -9
  297. package/dist/collection/components/buttons/buttons.md.css +55 -3
  298. package/dist/collection/components/card/card.ionic.css +144 -0
  299. package/dist/collection/components/card/card.ios.css +65 -14
  300. package/dist/collection/components/card/card.js +41 -10
  301. package/dist/collection/components/card/card.md.css +65 -14
  302. package/dist/collection/components/card-content/card-content.ionic.css +92 -0
  303. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  304. package/dist/collection/components/card-content/card-content.js +11 -8
  305. package/dist/collection/components/card-content/card-content.md.css +16 -1
  306. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  307. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  308. package/dist/collection/components/card-header/card-header.js +13 -10
  309. package/dist/collection/components/card-header/card-header.md.css +27 -15
  310. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  311. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  312. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  313. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  314. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  315. package/dist/collection/components/card-title/card-title.js +11 -8
  316. package/dist/collection/components/card-title/card-title.md.css +73 -0
  317. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  318. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  319. package/dist/collection/components/checkbox/checkbox.js +70 -14
  320. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  321. package/dist/collection/components/chip/chip.ionic.css +228 -0
  322. package/dist/collection/components/chip/chip.ios.css +67 -14
  323. package/dist/collection/components/chip/chip.js +108 -8
  324. package/dist/collection/components/chip/chip.md.css +67 -14
  325. package/dist/collection/components/col/col.css +192 -4
  326. package/dist/collection/components/col/col.js +210 -61
  327. package/dist/collection/components/content/content.css +8 -2
  328. package/dist/collection/components/content/content.js +16 -11
  329. package/dist/collection/components/datetime/datetime.ionic.css +697 -0
  330. package/dist/collection/components/datetime/datetime.ios.css +242 -86
  331. package/dist/collection/components/datetime/datetime.js +98 -20
  332. package/dist/collection/components/datetime/datetime.md.css +242 -86
  333. package/dist/collection/components/datetime/utils/data.js +5 -5
  334. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  335. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  336. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  337. package/dist/collection/components/divider/divider.ionic.css +148 -0
  338. package/dist/collection/components/divider/divider.ios.css +87 -0
  339. package/dist/collection/components/divider/divider.js +94 -0
  340. package/dist/collection/components/divider/divider.md.css +87 -0
  341. package/dist/collection/components/fab/fab.css +25 -1
  342. package/dist/collection/components/fab/fab.js +9 -5
  343. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  344. package/dist/collection/components/fab-button/fab-button.js +36 -21
  345. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  346. package/dist/collection/components/fab-list/fab-list.css +12 -0
  347. package/dist/collection/components/fab-list/fab-list.js +9 -5
  348. package/dist/collection/components/footer/footer.ios.css +14 -2
  349. package/dist/collection/components/footer/footer.js +21 -16
  350. package/dist/collection/components/footer/footer.md.css +12 -0
  351. package/dist/collection/components/grid/grid.css +12 -0
  352. package/dist/collection/components/grid/grid.js +9 -5
  353. package/dist/collection/components/header/header.ionic.css +98 -0
  354. package/dist/collection/components/header/header.ios.css +26 -37
  355. package/dist/collection/components/header/header.js +49 -18
  356. package/dist/collection/components/header/header.md.css +23 -8
  357. package/dist/collection/components/img/img.js +8 -2
  358. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  360. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  361. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  362. package/dist/collection/components/input/input.ionic.css +881 -0
  363. package/dist/collection/components/input/input.ios.css +223 -140
  364. package/dist/collection/components/input/input.js +149 -38
  365. package/dist/collection/components/input/input.md.css +193 -212
  366. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  367. package/dist/collection/components/input-otp/input-otp.ios.css +106 -60
  368. package/dist/collection/components/input-otp/input-otp.js +7 -5
  369. package/dist/collection/components/input-otp/input-otp.md.css +106 -60
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  371. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  372. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  373. package/dist/collection/components/item/item.ionic.css +499 -0
  374. package/dist/collection/components/item/item.ios.css +109 -69
  375. package/dist/collection/components/item/item.js +43 -19
  376. package/dist/collection/components/item/item.md.css +120 -68
  377. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  378. package/dist/collection/components/item-divider/item-divider.js +11 -8
  379. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  380. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  381. package/dist/collection/components/item-group/item-group.js +13 -7
  382. package/dist/collection/components/item-group/item-group.md.css +12 -0
  383. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  384. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  385. package/dist/collection/components/item-option/item-option.js +73 -9
  386. package/dist/collection/components/item-option/item-option.md.css +136 -29
  387. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  388. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  389. package/dist/collection/components/item-options/item-options.js +13 -7
  390. package/dist/collection/components/item-options/item-options.md.css +77 -34
  391. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  392. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  393. package/dist/collection/components/label/label.ios.css +18 -0
  394. package/dist/collection/components/label/label.js +11 -8
  395. package/dist/collection/components/label/label.md.css +18 -0
  396. package/dist/collection/components/list/list.ionic.css +212 -0
  397. package/dist/collection/components/list/list.ios.css +54 -14
  398. package/dist/collection/components/list/list.js +48 -9
  399. package/dist/collection/components/list/list.md.css +56 -16
  400. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  401. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  402. package/dist/collection/components/list-header/list-header.js +11 -8
  403. package/dist/collection/components/list-header/list-header.md.css +82 -38
  404. package/dist/collection/components/loading/loading.ios.css +13 -1
  405. package/dist/collection/components/loading/loading.js +14 -11
  406. package/dist/collection/components/loading/loading.md.css +13 -1
  407. package/dist/collection/components/menu/menu.ios.css +15 -3
  408. package/dist/collection/components/menu/menu.js +12 -7
  409. package/dist/collection/components/menu/menu.md.css +15 -3
  410. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  411. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  412. package/dist/collection/components/menu-button/menu-button.js +26 -10
  413. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  414. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  415. package/dist/collection/components/modal/animations/sheet.js +8 -2
  416. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  417. package/dist/collection/components/modal/modal.ionic.css +241 -0
  418. package/dist/collection/components/modal/modal.ios.css +174 -70
  419. package/dist/collection/components/modal/modal.js +48 -11
  420. package/dist/collection/components/modal/modal.md.css +174 -70
  421. package/dist/collection/components/nav/nav.css +7 -1
  422. package/dist/collection/components/nav/nav.js +11 -5
  423. package/dist/collection/components/nav-link/nav-link.js +5 -1
  424. package/dist/collection/components/note/note.ios.css +12 -0
  425. package/dist/collection/components/note/note.js +11 -8
  426. package/dist/collection/components/note/note.md.css +12 -0
  427. package/dist/collection/components/picker/picker.ios.css +15 -3
  428. package/dist/collection/components/picker/picker.js +8 -5
  429. package/dist/collection/components/picker/picker.md.css +15 -3
  430. package/dist/collection/components/picker-column/picker-column.css +9 -2
  431. package/dist/collection/components/picker-column/picker-column.js +8 -7
  432. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  433. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  434. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  435. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  436. package/dist/collection/components/picker-legacy/picker.js +7 -6
  437. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  438. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  439. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  440. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  441. package/dist/collection/components/popover/popover.ios.css +13 -1
  442. package/dist/collection/components/popover/popover.js +17 -14
  443. package/dist/collection/components/popover/popover.md.css +13 -1
  444. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  445. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  446. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  447. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  448. package/dist/collection/components/radio/radio.ionic.css +422 -0
  449. package/dist/collection/components/radio/radio.ios.css +134 -91
  450. package/dist/collection/components/radio/radio.js +12 -9
  451. package/dist/collection/components/radio/radio.md.css +134 -91
  452. package/dist/collection/components/radio-group/radio-group.ionic.css +125 -0
  453. package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
  454. package/dist/collection/components/radio-group/radio-group.js +13 -5
  455. package/dist/collection/components/radio-group/radio-group.md.css +42 -18
  456. package/dist/collection/components/range/range.ionic.css +563 -0
  457. package/dist/collection/components/range/range.ios.css +128 -85
  458. package/dist/collection/components/range/range.js +12 -9
  459. package/dist/collection/components/range/range.md.css +128 -85
  460. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  461. package/dist/collection/components/refresher/refresher.js +11 -8
  462. package/dist/collection/components/refresher/refresher.md.css +15 -2
  463. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  464. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  465. package/dist/collection/components/reorder/reorder.js +33 -6
  466. package/dist/collection/components/reorder/reorder.md.css +6 -0
  467. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  468. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  469. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  470. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  471. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  472. package/dist/collection/components/route/route.js +4 -0
  473. package/dist/collection/components/router/router.js +4 -0
  474. package/dist/collection/components/router-link/router-link.css +8 -2
  475. package/dist/collection/components/router-link/router-link.js +9 -5
  476. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  477. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  478. package/dist/collection/components/row/row.css +16 -0
  479. package/dist/collection/components/row/row.js +9 -2
  480. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  481. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  482. package/dist/collection/components/searchbar/searchbar.js +181 -34
  483. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  484. package/dist/collection/components/segment/segment.ionic.css +115 -0
  485. package/dist/collection/components/segment/segment.ios.css +45 -2
  486. package/dist/collection/components/segment/segment.js +11 -8
  487. package/dist/collection/components/segment/segment.md.css +45 -2
  488. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  489. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  490. package/dist/collection/components/segment-button/segment-button.js +11 -8
  491. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  492. package/dist/collection/components/segment-content/segment-content.js +1 -1
  493. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  494. package/dist/collection/components/segment-view/segment-view.js +6 -4
  495. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  496. package/dist/collection/components/select/select.ionic.css +763 -0
  497. package/dist/collection/components/select/select.ios.css +315 -176
  498. package/dist/collection/components/select/select.js +157 -54
  499. package/dist/collection/components/select/select.md.css +331 -178
  500. package/dist/collection/components/select-modal/select-modal.ionic.css +123 -0
  501. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  502. package/dist/collection/components/select-modal/select-modal.js +3 -3
  503. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  504. package/dist/collection/components/select-option/select-option.js +9 -2
  505. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  506. package/dist/collection/components/select-popover/select-popover.js +12 -4
  507. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  508. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  509. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  510. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +77 -10
  511. package/dist/collection/components/spinner/spinner.js +47 -6
  512. package/dist/collection/components/spinner/spinner.native.css +198 -0
  513. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  514. package/dist/collection/components/split-pane/split-pane.js +14 -8
  515. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  516. package/dist/collection/components/tab/tab.js +6 -2
  517. package/dist/collection/components/tab-bar/tab-bar.ionic.css +186 -0
  518. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  519. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  520. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  521. package/dist/collection/components/tab-button/tab-button.ionic.css +336 -0
  522. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  523. package/dist/collection/components/tab-button/tab-button.js +44 -8
  524. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  525. package/dist/collection/components/tabs/tabs.css +7 -1
  526. package/dist/collection/components/tabs/tabs.js +4 -1
  527. package/dist/collection/components/text/text.css +6 -0
  528. package/dist/collection/components/text/text.js +7 -6
  529. package/dist/collection/components/textarea/textarea.ionic.css +881 -0
  530. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  531. package/dist/collection/components/textarea/textarea.js +76 -16
  532. package/dist/collection/components/textarea/textarea.md.css +288 -140
  533. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  534. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  535. package/dist/collection/components/title/title.ionic.css +127 -0
  536. package/dist/collection/components/title/title.ios.css +32 -4
  537. package/dist/collection/components/title/title.js +13 -7
  538. package/dist/collection/components/title/title.md.css +32 -4
  539. package/dist/collection/components/toast/animations/utils.js +1 -1
  540. package/dist/collection/components/toast/toast.ionic.css +394 -0
  541. package/dist/collection/components/toast/toast.ios.css +84 -45
  542. package/dist/collection/components/toast/toast.js +75 -12
  543. package/dist/collection/components/toast/toast.md.css +84 -45
  544. package/dist/collection/components/toggle/toggle.ionic.css +509 -0
  545. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  546. package/dist/collection/components/toggle/toggle.js +73 -18
  547. package/dist/collection/components/toggle/toggle.md.css +244 -131
  548. package/dist/collection/components/toolbar/test/image.svg +1 -0
  549. package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
  550. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  551. package/dist/collection/components/toolbar/toolbar.js +157 -13
  552. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  553. package/dist/collection/global/ionic-global.js +228 -13
  554. package/dist/collection/utils/focus-visible.js +22 -0
  555. package/dist/collection/utils/framework-delegate.js +3 -1
  556. package/dist/collection/utils/helpers.js +42 -2
  557. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  558. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  559. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  560. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  561. package/dist/collection/utils/overlays.js +2 -1
  562. package/dist/collection/utils/test/playwright/generator.js +48 -23
  563. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  564. package/dist/collection/utils/test/playwright/page/utils/set-content.js +24 -3
  565. package/dist/collection/utils/transition/index.js +3 -70
  566. package/dist/collection/utils/transition/ios.transition.js +1 -0
  567. package/dist/docs.json +8169 -373
  568. package/dist/esm/{animation-BvhAtgca.js → animation-Cgfm6Out.js} +1 -2
  569. package/dist/esm/{button-active-DBUPuLNw.js → button-active-DvzVF2u_.js} +2 -2
  570. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-Dvc8Ydvg.js} +1 -1
  571. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  572. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  573. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  574. package/dist/esm/{config-Dx_6wPIJ.js → config-DwiPHIF5.js} +1 -1
  575. package/dist/esm/{data-CKHMWxfe.js → data-HHZs0eLV.js} +6 -6
  576. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  577. package/dist/esm/{framework-delegate-BLEBgH06.js → framework-delegate-B4Rily6A.js} +4 -2
  578. package/dist/esm/{haptic-DzAMWJuk.js → haptic-ZZTn7IWt.js} +1 -1
  579. package/dist/esm/{helpers-8KSQQGQy.js → helpers-D_90HVv6.js} +42 -3
  580. package/dist/esm/{index-4DxY6_gG.js → index-BBrR3goV.js} +649 -270
  581. package/dist/esm/{index-BQc4arca.js → index-BoSPzYKk.js} +7 -74
  582. package/dist/esm/{index-7UbSlv7N.js → index-ByqmqxGO.js} +2 -2
  583. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  584. package/dist/esm/{index-CXSTcaAW.js → index-D4D_NUAr.js} +10 -11
  585. package/dist/esm/{index-C6WeRr09.js → index-k4x4i7EL.js} +3 -3
  586. package/dist/esm/index.js +11 -13
  587. package/dist/esm/{input-shims-C4KDnhxb.js → input-shims-DEtEJcaS.js} +6 -6
  588. package/dist/esm/{input.utils-be4gBvVY.js → input.utils-DNE0LB5g.js} +2 -3
  589. package/dist/esm/ion-accordion_2.entry.js +56 -28
  590. package/dist/esm/ion-action-sheet.entry.js +21 -19
  591. package/dist/esm/ion-alert.entry.js +23 -22
  592. package/dist/esm/ion-app_8.entry.js +243 -145
  593. package/dist/esm/ion-avatar_3.entry.js +124 -13
  594. package/dist/esm/ion-back-button.entry.js +29 -21
  595. package/dist/esm/ion-backdrop.entry.js +9 -7
  596. package/dist/esm/ion-breadcrumb_2.entry.js +52 -17
  597. package/dist/esm/ion-button_2.entry.js +43 -12
  598. package/dist/esm/ion-card_5.entry.js +53 -30
  599. package/dist/esm/ion-checkbox.entry.js +31 -14
  600. package/dist/esm/ion-chip.entry.js +48 -8
  601. package/dist/esm/ion-col_3.entry.js +53 -57
  602. package/dist/esm/ion-datetime-button.entry.js +11 -8
  603. package/dist/esm/ion-datetime_3.entry.js +114 -40
  604. package/dist/esm/ion-divider.entry.js +48 -0
  605. package/dist/esm/ion-fab_3.entry.js +42 -27
  606. package/dist/esm/ion-img.entry.js +7 -4
  607. package/dist/esm/ion-infinite-scroll_2.entry.js +90 -16
  608. package/dist/esm/ion-input-otp.entry.js +11 -8
  609. package/dist/esm/ion-input-password-toggle.entry.js +51 -14
  610. package/dist/esm/ion-input.entry.js +121 -32
  611. package/dist/esm/ion-item-option_3.entry.js +48 -20
  612. package/dist/esm/ion-item_8.entry.js +106 -47
  613. package/dist/esm/ion-loading.entry.js +18 -17
  614. package/dist/esm/ion-menu_3.entry.js +45 -28
  615. package/dist/esm/ion-modal.entry.js +56 -30
  616. package/dist/esm/ion-nav_2.entry.js +13 -11
  617. package/dist/esm/ion-picker-column-option.entry.js +10 -7
  618. package/dist/esm/ion-picker-column.entry.js +11 -12
  619. package/dist/esm/ion-picker.entry.js +10 -6
  620. package/dist/esm/ion-popover.entry.js +18 -17
  621. package/dist/esm/ion-progress-bar.entry.js +25 -8
  622. package/dist/esm/ion-radio_2.entry.js +22 -14
  623. package/dist/esm/ion-range.entry.js +14 -11
  624. package/dist/esm/ion-refresher_2.entry.js +38 -21
  625. package/dist/esm/ion-reorder_2.entry.js +37 -14
  626. package/dist/esm/ion-ripple-effect.entry.js +14 -7
  627. package/dist/esm/ion-route_4.entry.js +8 -8
  628. package/dist/esm/ion-searchbar.entry.js +136 -24
  629. package/dist/esm/ion-segment-content.entry.js +2 -2
  630. package/dist/esm/ion-segment-view.entry.js +6 -3
  631. package/dist/esm/ion-segment_2.entry.js +21 -15
  632. package/dist/esm/ion-select-modal.entry.js +9 -11
  633. package/dist/esm/ion-select_3.entry.js +131 -41
  634. package/dist/esm/ion-spinner.entry.js +28 -7
  635. package/dist/esm/ion-split-pane.entry.js +11 -9
  636. package/dist/esm/ion-tab-bar_2.entry.js +65 -21
  637. package/dist/esm/ion-tab_2.entry.js +8 -7
  638. package/dist/esm/ion-text.entry.js +5 -6
  639. package/dist/esm/ion-textarea.entry.js +55 -16
  640. package/dist/esm/ion-toast.entry.js +41 -19
  641. package/dist/esm/ion-toggle.entry.js +79 -23
  642. package/dist/esm/ionic.js +4 -6
  643. package/dist/esm/{ios.transition-eOa-6o5F.js → ios.transition-C_-UP8wE.js} +6 -5
  644. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BsZp3qPH.js} +3 -3
  645. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cvigb3Rv.js} +1 -1
  646. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-lts2Pswq.js} +4 -3
  647. package/dist/esm/list-Dhi5xtNS.js +6 -0
  648. package/dist/esm/loader.js +3 -5
  649. package/dist/esm/{md.transition-B99keElo.js → md.transition-BDWkLsNw.js} +5 -5
  650. package/dist/esm/{notch-controller-lb417-kU.js → notch-controller-ClKrf2l9.js} +2 -2
  651. package/dist/esm/{overlays-BYcYBCrx.js → overlays-C1ahtepl.js} +5 -7
  652. package/dist/esm/{status-tap-pATNXEtr.js → status-tap-DLatL9pG.js} +4 -3
  653. package/dist/esm/{swipe-back-B2YfOHRM.js → swipe-back-YYylMb0l.js} +3 -2
  654. package/dist/esm/x-BDqjX7Z_.js +6 -0
  655. package/dist/html.html-data.json +2532 -226
  656. package/dist/ionic/index.esm.js +1 -1
  657. package/dist/ionic/ionic.esm.js +1 -1
  658. package/dist/ionic/p-034ef39b.entry.js +4 -0
  659. package/dist/ionic/p-05030d1b.entry.js +4 -0
  660. package/dist/ionic/p-059ceab8.entry.js +4 -0
  661. package/dist/ionic/p-096b5789.entry.js +4 -0
  662. package/dist/ionic/p-09eaefc0.entry.js +4 -0
  663. package/dist/ionic/p-156bba30.entry.js +4 -0
  664. package/dist/ionic/p-238ad727.entry.js +4 -0
  665. package/dist/ionic/p-24803c39.entry.js +4 -0
  666. package/dist/ionic/p-2c28e54a.entry.js +4 -0
  667. package/dist/ionic/p-2c9459f5.entry.js +4 -0
  668. package/dist/ionic/p-2f1d100c.entry.js +4 -0
  669. package/dist/ionic/p-31331fc3.entry.js +4 -0
  670. package/dist/ionic/p-340e4f62.entry.js +4 -0
  671. package/dist/ionic/p-3bef3778.entry.js +4 -0
  672. package/dist/ionic/p-3c773ecd.entry.js +4 -0
  673. package/dist/ionic/p-47432157.entry.js +4 -0
  674. package/dist/ionic/p-52535bba.entry.js +4 -0
  675. package/dist/ionic/p-56e51161.entry.js +4 -0
  676. package/dist/ionic/p-5770869f.entry.js +4 -0
  677. package/dist/ionic/p-5af619ff.entry.js +4 -0
  678. package/dist/ionic/p-5b44ac3a.entry.js +4 -0
  679. package/dist/ionic/p-5ca4c3b8.entry.js +4 -0
  680. package/dist/ionic/p-649e2f92.entry.js +4 -0
  681. package/dist/ionic/p-6d38d3f3.entry.js +4 -0
  682. package/dist/ionic/p-6e6ce506.entry.js +4 -0
  683. package/dist/ionic/p-6ea34add.entry.js +4 -0
  684. package/dist/ionic/p-6f17f8ed.entry.js +4 -0
  685. package/dist/ionic/p-773f2ac5.entry.js +4 -0
  686. package/dist/ionic/p-80cc8511.entry.js +4 -0
  687. package/dist/ionic/p-82796bb0.entry.js +4 -0
  688. package/dist/ionic/p-8c3d3bca.entry.js +4 -0
  689. package/dist/ionic/p-9000bd9f.entry.js +4 -0
  690. package/dist/ionic/p-9cbab197.entry.js +4 -0
  691. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  692. package/dist/ionic/p-BJ-EYogw.js +4 -0
  693. package/dist/ionic/p-BKDxK6_S.js +4 -0
  694. package/dist/ionic/p-BMPzyWDm.js +4 -0
  695. package/dist/ionic/p-BTqHM5hg.js +4 -0
  696. package/dist/ionic/p-BYSs-jZz.js +4 -0
  697. package/dist/ionic/p-BZR5I9yn.js +4 -0
  698. package/dist/ionic/p-BZSKvxFv.js +4 -0
  699. package/dist/ionic/p-BaAcx1TO.js +4 -0
  700. package/dist/ionic/p-BeJdFlAB.js +4 -0
  701. package/dist/ionic/{p-D13Eaw-8.js → p-Bi_aZreq.js} +1 -1
  702. package/dist/ionic/p-BpUl-Ubc.js +4 -0
  703. package/dist/ionic/{p-CKvCXMs9.js → p-BuAY53fC.js} +1 -1
  704. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  705. package/dist/ionic/p-CnPZjTVf.js +4 -0
  706. package/dist/ionic/{p-DiZPU8BH.js → p-D-g7JYuH.js} +1 -1
  707. package/dist/ionic/p-D1t981Ih.js +4 -0
  708. package/dist/ionic/p-D6quDhlh.js +4 -0
  709. package/dist/ionic/{p-CWvl4RPO.js → p-DIZM2shZ.js} +1 -1
  710. package/dist/ionic/p-DJD59Sq4.js +4 -0
  711. package/dist/ionic/p-DZmL55Qn.js +4 -0
  712. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  713. package/dist/ionic/p-DjxV6ul_.js +4 -0
  714. package/dist/ionic/p-DkXsr7m2.js +4 -0
  715. package/dist/ionic/p-DnNglnwY.js +4 -0
  716. package/dist/ionic/p-Dpa-63kX.js +4 -0
  717. package/dist/ionic/p-HOJ_eq4V.js +5 -0
  718. package/dist/ionic/p-MBiM0IFp.js +4 -0
  719. package/dist/ionic/p-a1af546a.entry.js +4 -0
  720. package/dist/ionic/p-a2218a8b.entry.js +4 -0
  721. package/dist/ionic/p-a22b46e4.entry.js +4 -0
  722. package/dist/ionic/p-ae10fb4c.entry.js +4 -0
  723. package/dist/ionic/p-c2122301.entry.js +4 -0
  724. package/dist/ionic/p-c428cbac.entry.js +4 -0
  725. package/dist/ionic/p-c565e353.entry.js +4 -0
  726. package/dist/ionic/p-c6301ef9.entry.js +4 -0
  727. package/dist/ionic/p-c83a1254.entry.js +4 -0
  728. package/dist/ionic/p-c9313bb8.entry.js +4 -0
  729. package/dist/ionic/p-cb6bb34f.entry.js +4 -0
  730. package/dist/ionic/p-d215bbdc.entry.js +4 -0
  731. package/dist/ionic/p-de6964a2.entry.js +4 -0
  732. package/dist/ionic/p-ded5613d.entry.js +4 -0
  733. package/dist/ionic/p-e0eae83d.entry.js +4 -0
  734. package/dist/ionic/p-e5005342.entry.js +4 -0
  735. package/dist/ionic/p-e7925263.entry.js +4 -0
  736. package/dist/ionic/p-eZzo_1L1.js +4 -0
  737. package/dist/ionic/p-eebf0420.entry.js +4 -0
  738. package/dist/ionic/p-f1bb4947.entry.js +4 -0
  739. package/dist/ionic/p-fIOYmaqA.js +4 -0
  740. package/dist/ionic/p-facf3c23.entry.js +4 -0
  741. package/dist/ionic/p-vXpMhGrs.js +4 -0
  742. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +143 -0
  743. package/dist/types/components/accordion/accordion.d.ts +5 -3
  744. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  745. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  746. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  747. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  748. package/dist/types/components/alert/alert.d.ts +3 -2
  749. package/dist/types/components/app/app.d.ts +4 -2
  750. package/dist/types/components/avatar/avatar.d.ts +32 -0
  751. package/dist/types/components/back-button/back-button.d.ts +2 -1
  752. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  753. package/dist/types/components/badge/badge.d.ts +34 -1
  754. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  755. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  756. package/dist/types/components/button/button.d.ts +19 -6
  757. package/dist/types/components/buttons/buttons.d.ts +5 -1
  758. package/dist/types/components/card/card.d.ts +8 -1
  759. package/dist/types/components/card-content/card-content.d.ts +2 -1
  760. package/dist/types/components/card-header/card-header.d.ts +3 -2
  761. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  762. package/dist/types/components/card-title/card-title.d.ts +2 -1
  763. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  764. package/dist/types/components/chip/chip.d.ts +26 -1
  765. package/dist/types/components/col/col.d.ts +52 -5
  766. package/dist/types/components/content/content.d.ts +3 -0
  767. package/dist/types/components/datetime/datetime.d.ts +26 -1
  768. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  769. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  770. package/dist/types/components/divider/divider.d.ts +20 -0
  771. package/dist/types/components/fab/fab.d.ts +4 -0
  772. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  773. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  774. package/dist/types/components/footer/footer.d.ts +4 -3
  775. package/dist/types/components/grid/grid.d.ts +4 -0
  776. package/dist/types/components/header/header.d.ts +9 -3
  777. package/dist/types/components/img/img.d.ts +3 -0
  778. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  779. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  780. package/dist/types/components/input/input.d.ts +31 -5
  781. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  782. package/dist/types/components/item/item.d.ts +11 -4
  783. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  784. package/dist/types/components/item-group/item-group.d.ts +4 -0
  785. package/dist/types/components/item-option/item-option.d.ts +18 -1
  786. package/dist/types/components/item-options/item-options.d.ts +4 -0
  787. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  788. package/dist/types/components/label/label.d.ts +2 -1
  789. package/dist/types/components/list/list.d.ts +15 -1
  790. package/dist/types/components/list-header/list-header.d.ts +2 -1
  791. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  792. package/dist/types/components/loading/loading.d.ts +3 -2
  793. package/dist/types/components/menu/menu.d.ts +3 -0
  794. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  795. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  796. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  797. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  798. package/dist/types/components/modal/modal.d.ts +11 -1
  799. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  800. package/dist/types/components/nav/nav.d.ts +5 -1
  801. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  802. package/dist/types/components/note/note.d.ts +2 -1
  803. package/dist/types/components/picker/picker.d.ts +2 -1
  804. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  805. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  806. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  807. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  808. package/dist/types/components/popover/popover.d.ts +6 -5
  809. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  810. package/dist/types/components/radio/radio.d.ts +2 -1
  811. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  812. package/dist/types/components/range/range.d.ts +2 -1
  813. package/dist/types/components/refresher/refresher.d.ts +2 -1
  814. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  815. package/dist/types/components/reorder/reorder.d.ts +9 -0
  816. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  817. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  818. package/dist/types/components/route/route.d.ts +4 -0
  819. package/dist/types/components/router/router.d.ts +4 -0
  820. package/dist/types/components/router-link/router-link.d.ts +4 -0
  821. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  822. package/dist/types/components/row/row.d.ts +4 -0
  823. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  824. package/dist/types/components/segment/segment.d.ts +2 -1
  825. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  826. package/dist/types/components/select/select.d.ts +41 -13
  827. package/dist/types/components/select-option/select-option.d.ts +4 -0
  828. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  829. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  830. package/dist/types/components/spinner/spinner.d.ts +15 -0
  831. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  832. package/dist/types/components/tab/tab.d.ts +4 -0
  833. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  834. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  835. package/dist/types/components/tabs/tabs.d.ts +3 -0
  836. package/dist/types/components/text/text.d.ts +2 -1
  837. package/dist/types/components/textarea/textarea.d.ts +17 -4
  838. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  839. package/dist/types/components/title/title.d.ts +4 -0
  840. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  841. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  842. package/dist/types/components/toast/toast.d.ts +19 -2
  843. package/dist/types/components/toggle/toggle.d.ts +15 -1
  844. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  845. package/dist/types/components.d.ts +1593 -196
  846. package/dist/types/global/ionic-global.d.ts +27 -2
  847. package/dist/types/interface.d.ts +3 -0
  848. package/dist/types/stencil-public-runtime.d.ts +5 -12
  849. package/dist/types/utils/config.d.ts +106 -2
  850. package/dist/types/utils/focus-visible.d.ts +13 -0
  851. package/dist/types/utils/helpers.d.ts +11 -0
  852. package/dist/types/utils/overlays-interface.d.ts +31 -1
  853. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  854. package/dist/types/utils/transition/index.d.ts +0 -9
  855. package/hydrate/index.js +3080 -1436
  856. package/hydrate/index.mjs +3080 -1436
  857. package/package.json +10 -5
  858. package/components/hardware-back-button.js +0 -115
  859. package/components/index9.js +0 -7
  860. package/dist/cjs/app-globals-77ZfuXXk.js +0 -10
  861. package/dist/cjs/hardware-back-button-BxdNu76F.js +0 -121
  862. package/dist/cjs/index-DkNv4J_i.js +0 -10
  863. package/dist/cjs/ionic-global-UI5YPSi-.js +0 -151
  864. package/dist/esm/app-globals-CvLYUxE9.js +0 -8
  865. package/dist/esm/hardware-back-button-Dhbd-23H.js +0 -115
  866. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  867. package/dist/esm/ionic-global-CTSyufhF.js +0 -146
  868. package/dist/ionic/p-0793aea6.entry.js +0 -4
  869. package/dist/ionic/p-0831d492.entry.js +0 -4
  870. package/dist/ionic/p-0f396661.entry.js +0 -4
  871. package/dist/ionic/p-117e7a3f.entry.js +0 -4
  872. package/dist/ionic/p-1191a2d9.entry.js +0 -4
  873. package/dist/ionic/p-148bdf18.entry.js +0 -4
  874. package/dist/ionic/p-16116947.entry.js +0 -4
  875. package/dist/ionic/p-19f80390.entry.js +0 -4
  876. package/dist/ionic/p-1GR6N4h5.js +0 -4
  877. package/dist/ionic/p-1a91f317.entry.js +0 -4
  878. package/dist/ionic/p-1bbd0a23.entry.js +0 -4
  879. package/dist/ionic/p-1f68cb59.entry.js +0 -4
  880. package/dist/ionic/p-24159ff7.entry.js +0 -4
  881. package/dist/ionic/p-25e5e5cc.entry.js +0 -4
  882. package/dist/ionic/p-2cb0f39f.entry.js +0 -4
  883. package/dist/ionic/p-3392f558.entry.js +0 -4
  884. package/dist/ionic/p-349fc921.entry.js +0 -4
  885. package/dist/ionic/p-3624b640.entry.js +0 -4
  886. package/dist/ionic/p-36a54836.entry.js +0 -4
  887. package/dist/ionic/p-39ed3212.entry.js +0 -4
  888. package/dist/ionic/p-44e3b33a.entry.js +0 -4
  889. package/dist/ionic/p-4DxY6_gG.js +0 -5
  890. package/dist/ionic/p-528af4e6.entry.js +0 -4
  891. package/dist/ionic/p-54dec9b1.entry.js +0 -4
  892. package/dist/ionic/p-568efea2.entry.js +0 -4
  893. package/dist/ionic/p-5bf5bde8.entry.js +0 -4
  894. package/dist/ionic/p-5c976c00.entry.js +0 -4
  895. package/dist/ionic/p-6383afc2.entry.js +0 -4
  896. package/dist/ionic/p-63852736.entry.js +0 -4
  897. package/dist/ionic/p-746cd400.entry.js +0 -4
  898. package/dist/ionic/p-7a53f04c.entry.js +0 -4
  899. package/dist/ionic/p-7b12d853.entry.js +0 -4
  900. package/dist/ionic/p-7da05504.entry.js +0 -4
  901. package/dist/ionic/p-8888efe4.entry.js +0 -4
  902. package/dist/ionic/p-8cdb4ff5.entry.js +0 -4
  903. package/dist/ionic/p-90f4cc71.entry.js +0 -4
  904. package/dist/ionic/p-9ddf2620.entry.js +0 -4
  905. package/dist/ionic/p-9eeaBrnk.js +0 -4
  906. package/dist/ionic/p-B1xocg0A.js +0 -4
  907. package/dist/ionic/p-B5MDSrGg.js +0 -4
  908. package/dist/ionic/p-BHGXdud8.js +0 -4
  909. package/dist/ionic/p-BhNEp2QP.js +0 -4
  910. package/dist/ionic/p-BmVRXR1y.js +0 -4
  911. package/dist/ionic/p-Br3vSlYh.js +0 -4
  912. package/dist/ionic/p-C-Cct-6D.js +0 -4
  913. package/dist/ionic/p-C4I6B3uV.js +0 -4
  914. package/dist/ionic/p-C87oPMMF.js +0 -4
  915. package/dist/ionic/p-C8d2ebIg.js +0 -4
  916. package/dist/ionic/p-CIGNaXM1.js +0 -4
  917. package/dist/ionic/p-Cnh7O81W.js +0 -4
  918. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  919. package/dist/ionic/p-CvaZMP6T.js +0 -4
  920. package/dist/ionic/p-D2fQU_qK.js +0 -4
  921. package/dist/ionic/p-DA3JEZwK.js +0 -4
  922. package/dist/ionic/p-DAfH9Iif.js +0 -4
  923. package/dist/ionic/p-DJKvq7vb.js +0 -4
  924. package/dist/ionic/p-DW5tZAde.js +0 -4
  925. package/dist/ionic/p-Dm_oBkW1.js +0 -4
  926. package/dist/ionic/p-EnaLTYYj.js +0 -4
  927. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  928. package/dist/ionic/p-a00ad0f2.entry.js +0 -4
  929. package/dist/ionic/p-a81be128.entry.js +0 -4
  930. package/dist/ionic/p-afeb9df6.entry.js +0 -4
  931. package/dist/ionic/p-b292804d.entry.js +0 -4
  932. package/dist/ionic/p-bc9f9032.entry.js +0 -4
  933. package/dist/ionic/p-bf81a468.entry.js +0 -4
  934. package/dist/ionic/p-c6d35cdd.entry.js +0 -4
  935. package/dist/ionic/p-cde6d39b.entry.js +0 -4
  936. package/dist/ionic/p-d04d66fc.entry.js +0 -4
  937. package/dist/ionic/p-d3df6032.entry.js +0 -4
  938. package/dist/ionic/p-dbba38cf.entry.js +0 -4
  939. package/dist/ionic/p-e6c3214c.entry.js +0 -4
  940. package/dist/ionic/p-e6c465ff.entry.js +0 -4
  941. package/dist/ionic/p-ec76fec4.entry.js +0 -4
  942. package/dist/ionic/p-ee2e35a6.entry.js +0 -4
  943. package/dist/ionic/p-f7db572a.entry.js +0 -4
  944. package/dist/ionic/p-f9eb54ee.entry.js +0 -4
  945. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -3,11 +3,12 @@
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, createEvent, Build, readTask, forceUpdate, h, Host } from '@stencil/core/internal/client';
5
5
  import { i as inheritAriaAttributes, k as hasLazyBuild, c as componentOnReady } from './helpers.js';
6
- import { b as getIonMode, a as isPlatform } from './ionic-global.js';
6
+ import { a as isPlatform, b as getIonTheme, c as getIonMode } from './ionic-global.js';
7
7
  import { i as isRTL } from './dir.js';
8
8
  import { c as createColorClasses, h as hostContext } from './theme.js';
9
+ import { c as config } from './index4.js';
9
10
 
10
- const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:100%;height:100%;-webkit-box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03)}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}";
11
+ const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;-ms-flex:1;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}#background-content{right:0px;left:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{right:0px;left:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;-ms-touch-action:pan-x pan-y pinch-zoom;touch-action:pan-x pan-y pinch-zoom}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:100%;height:100%;-webkit-box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);box-shadow:inset -9px 0 9px 0 rgba(0, 0, 100, 0.03)}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0)}";
11
12
 
12
13
  const Content = /*@__PURE__*/ proxyCustomElement(class Content extends HTMLElement {
13
14
  constructor() {
@@ -168,9 +169,8 @@ const Content = /*@__PURE__*/ proxyCustomElement(class Content extends HTMLEleme
168
169
  this.resize();
169
170
  }, 100);
170
171
  }
171
- shouldForceOverscroll() {
172
+ shouldForceOverscroll(mode) {
172
173
  const { forceOverscroll } = this;
173
- const mode = getIonMode(this);
174
174
  return forceOverscroll === undefined ? mode === 'ios' && isPlatform('ios') : forceOverscroll;
175
175
  }
176
176
  resize() {
@@ -357,28 +357,29 @@ const Content = /*@__PURE__*/ proxyCustomElement(class Content extends HTMLEleme
357
357
  render() {
358
358
  const { fixedSlotPlacement, inheritedAttributes, isMainContent, scrollX, scrollY, el } = this;
359
359
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
360
- const mode = getIonMode(this);
361
- const forceOverscroll = this.shouldForceOverscroll();
362
- const transitionShadow = mode === 'ios';
360
+ const theme = getIonTheme(this);
361
+ const mode = getIonMode(this, theme);
362
+ const forceOverscroll = this.shouldForceOverscroll(mode);
363
+ const transitionShadow = theme === 'ios';
363
364
  this.resize();
364
- return (h(Host, Object.assign({ key: 'f2a24aa66dbf5c76f9d4b06f708eb73cadc239df', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
365
- [mode]: true,
365
+ return (h(Host, Object.assign({ key: 'ee94e34dd128cb2a21ef2b370d35e099a1125447', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
366
+ [theme]: true,
366
367
  'content-sizing': hostContext('ion-popover', this.el),
367
368
  overscroll: forceOverscroll,
368
369
  [`content-${rtl}`]: true,
369
370
  }), style: {
370
371
  '--offset-top': `${this.cTop}px`,
371
372
  '--offset-bottom': `${this.cBottom}px`,
372
- } }, inheritedAttributes), h("div", { key: '6480ca7648b278abb36477b3838bccbcd4995e2a', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '29a23b663f5f0215bb000820c01e1814c0d55985', class: {
373
+ } }, inheritedAttributes), h("div", { key: '75954692de33cae260441064d0c4034d818b7de6', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '374f5d2da6f15b42df0ad268c2f9a188ac6aedcb', class: {
373
374
  'inner-scroll': true,
374
375
  'scroll-x': scrollX,
375
376
  'scroll-y': scrollY,
376
377
  overscroll: (scrollX || scrollY) && forceOverscroll,
377
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '0fe1bd05609a4b88ae2ce9addf5d5dc5dc1806f0' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
378
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '625c1dc26f6b6c43ade2de6f61a92ae7a8bcbaa7' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
378
379
  }
379
380
  get el() { return this; }
380
381
  static get style() { return contentCss; }
381
- }, [257, "ion-content", {
382
+ }, [1, "ion-content", {
382
383
  "color": [513],
383
384
  "fullscreen": [4],
384
385
  "fixedSlotPlacement": [1, "fixed-slot-placement"],
@@ -415,7 +416,8 @@ const getPageElement = (el) => {
415
416
  * between the popover and the edges of the screen. But if the popover contains
416
417
  * its own page element, we should use that instead.
417
418
  */
418
- const page = el.closest('ion-app, ion-page, .ion-page, page-inner, .popover-content');
419
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
420
+ const page = el.closest(`${appRootSelector}, ion-page, .ion-page, page-inner, .popover-content`);
419
421
  if (page) {
420
422
  return page;
421
423
  }
@@ -1147,20 +1147,20 @@ const hour23 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
1147
1147
  // h24 hour system uses 1-24. Midnight starts at 24:00.
1148
1148
  const hour24 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0];
1149
1149
  /**
1150
- * Given a locale and a mode,
1150
+ * Given a locale and a theme,
1151
1151
  * return an array with formatted days
1152
- * of the week. iOS should display days
1153
- * such as "Mon" or "Tue".
1152
+ * of the week. iOS and Ionic themes should
1153
+ * display days such as "Mon" or "Tue".
1154
1154
  * MD should display days such as "M"
1155
1155
  * or "T".
1156
1156
  */
1157
- const getDaysOfWeek = (locale, mode, firstDayOfWeek = 0) => {
1157
+ const getDaysOfWeek = (locale, theme, firstDayOfWeek = 0) => {
1158
1158
  /**
1159
1159
  * Nov 1st, 2020 starts on a Sunday.
1160
1160
  * ion-datetime assumes weeks start on Sunday,
1161
1161
  * but is configurable via `firstDayOfWeek`.
1162
1162
  */
1163
- const weekdayFormat = mode === 'ios' ? 'short' : 'narrow';
1163
+ const weekdayFormat = theme === 'md' ? 'narrow' : 'short';
1164
1164
  const intl = new Intl.DateTimeFormat(locale, { weekday: weekdayFormat });
1165
1165
  const startDate = new Date('11/01/2020');
1166
1166
  const daysOfWeek = [];
@@ -17,6 +17,28 @@ const FOCUS_KEYS = [
17
17
  'Home',
18
18
  'End',
19
19
  ];
20
+ let focusVisibleUtility = null;
21
+ const getOrInitFocusVisibleUtility = () => {
22
+ if (!focusVisibleUtility) {
23
+ focusVisibleUtility = startFocusVisible();
24
+ }
25
+ return focusVisibleUtility;
26
+ };
27
+ /**
28
+ * Used to set focus on an element that uses `ion-focusable`.
29
+ * Do not use this if focusing the element as a result of a keyboard
30
+ * event as the focus utility should handle this for us. This method
31
+ * should be used when we want to programmatically focus an element as
32
+ * a result of another user action. (Ex: We focus the first element
33
+ * inside of a popover when the user presents it, but the popover is not always
34
+ * presented as a result of keyboard action.)
35
+ *
36
+ * @param elements - The elements to set focus on.
37
+ */
38
+ const focusElements = (elements) => {
39
+ const focusVisible = getOrInitFocusVisibleUtility();
40
+ focusVisible.setFocus(elements);
41
+ };
20
42
  const startFocusVisible = (rootEl) => {
21
43
  let currentFocus = [];
22
44
  let keyboardMode = true;
@@ -72,4 +94,4 @@ const startFocusVisible = (rootEl) => {
72
94
  };
73
95
  };
74
96
 
75
- export { startFocusVisible };
97
+ export { focusElements, getOrInitFocusVisibleUtility, startFocusVisible };
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { c as config } from './index4.js';
4
5
  import { c as componentOnReady } from './helpers.js';
5
6
 
6
7
  // TODO(FW-2832): types
@@ -102,7 +103,8 @@ const CoreDelegate = () => {
102
103
  * Get the root of the app and
103
104
  * add the overlay there.
104
105
  */
105
- const app = document.querySelector('ion-app') || document.body;
106
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
107
+ const app = document.querySelector(appRootSelector) || document.body;
106
108
  /**
107
109
  * Create a placeholder comment so that
108
110
  * we can return this component to where
@@ -2,10 +2,11 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { readTask, writeTask, proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
- import { g as getScrollElement, f as findIonContent, p as printIonContentErrorMsg } from './index8.js';
5
+ import { g as getScrollElement, f as findIonContent, p as printIonContentErrorMsg } from './index7.js';
6
6
  import { f as clamp, i as inheritAriaAttributes } from './helpers.js';
7
7
  import { h as hostContext } from './theme.js';
8
- import { b as getIonMode } from './ionic-global.js';
8
+ import { c as config } from './index4.js';
9
+ import { b as getIonTheme } from './ionic-global.js';
9
10
 
10
11
  const TRANSITION = 'all 0.2s ease-in-out';
11
12
  const cloneElement = (tagName) => {
@@ -202,18 +203,25 @@ const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {
202
203
  });
203
204
  };
204
205
 
205
- const headerIosCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-fade.header-transitioning ion-toolbar{--background:transparent;--border-style:none}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:0px;z-index:1}.header-collapse-condense ion-toolbar{z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense ion-toolbar,.header-collapse-condense-inactive.header-transitioning:not(.header-collapse-condense) ion-toolbar{--background:var(--ion-background-color, #fff)}.header-collapse-condense-inactive.header-transitioning:not(.header-collapse-condense) ion-toolbar{--border-style:none;--opacity-scale:1}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}ion-header.header-ios:not(.header-collapse-main):has(~ion-content ion-header.header-ios[collapse=condense],~ion-content ion-header.header-ios.header-collapse-condense){opacity:0}";
206
+ const headerIonicCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}ion-header{-webkit-box-shadow:var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));box-shadow:var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));z-index:10}ion-header.header-divider{border-bottom:var(--token-border-size-025, var(--token-scale-025, 1px)) var(--token-border-style-solid, solid) var(--token-primitives-neutral-300, #e0e0e0)}ion-toolbar+ion-toolbar{--padding-start:var(--token-space-400, var(--token-scale-400, 16px));--padding-end:var(--token-space-400, var(--token-scale-400, 16px))}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{right:0;left:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(var(--token-scale-100, 4px));backdrop-filter:saturate(180%) blur(var(--token-scale-100, 4px))}.header-translucent-ionic ion-toolbar{--opacity:0.7}}";
206
207
 
207
- const headerMdCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.header-collapse-condense{display:none}.header-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}";
208
+ const headerIosCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}ion-header{z-index:10}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{right:0;left:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:0.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:0px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}ion-header.header-ios:not(.header-collapse-main):has(~ion-content ion-header.header-ios[collapse=condense],~ion-content ion-header.header-ios.header-collapse-condense){opacity:0}";
209
+
210
+ const headerMdCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}ion-header{z-index:10}.header-md{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.header-collapse-condense{display:none}.header-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}";
208
211
 
209
212
  const Header = /*@__PURE__*/ proxyCustomElement(class Header extends HTMLElement {
210
213
  constructor() {
211
214
  super();
212
215
  this.__registerHost();
213
216
  this.inheritedAttributes = {};
217
+ /**
218
+ * If `true`, the header will have a line at the bottom.
219
+ * TODO(ROU-10855): add support for this prop on ios/md themes
220
+ */
221
+ this.divider = false;
214
222
  /**
215
223
  * If `true`, the header will be translucent.
216
- * Only applies when the mode is `"ios"` and the device supports
224
+ * Only applies when the theme is `"ios"` or `"ionic"` and the device supports
217
225
  * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
218
226
  *
219
227
  * Note: In order to scroll content behind the header, the `fullscreen`
@@ -245,16 +253,17 @@ const Header = /*@__PURE__*/ proxyCustomElement(class Header extends HTMLElement
245
253
  this.destroyCollapsibleHeader();
246
254
  }
247
255
  async checkCollapsibleHeader() {
248
- const mode = getIonMode(this);
249
- if (mode !== 'ios') {
256
+ const theme = getIonTheme(this);
257
+ if (theme !== 'ios') {
250
258
  return;
251
259
  }
252
260
  const { collapse } = this;
253
261
  const hasCondense = collapse === 'condense';
254
262
  const hasFade = collapse === 'fade';
255
263
  this.destroyCollapsibleHeader();
264
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
256
265
  if (hasCondense) {
257
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
266
+ const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
258
267
  const contentEl = pageEl ? findIonContent(pageEl) : null;
259
268
  // Cloned elements are always needed in iOS transition
260
269
  writeTask(() => {
@@ -265,7 +274,7 @@ const Header = /*@__PURE__*/ proxyCustomElement(class Header extends HTMLElement
265
274
  await this.setupCondenseHeader(contentEl, pageEl);
266
275
  }
267
276
  else if (hasFade) {
268
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
277
+ const pageEl = this.el.closest(`${appRootSelector},ion-page,.ion-page,page-inner`);
269
278
  const contentEl = pageEl ? findIonContent(pageEl) : null;
270
279
  if (!contentEl) {
271
280
  printIonContentErrorMsg(this.el);
@@ -340,27 +349,30 @@ const Header = /*@__PURE__*/ proxyCustomElement(class Header extends HTMLElement
340
349
  });
341
350
  }
342
351
  render() {
343
- const { translucent, inheritedAttributes } = this;
344
- const mode = getIonMode(this);
352
+ const { translucent, inheritedAttributes, divider } = this;
353
+ const theme = getIonTheme(this);
345
354
  const collapse = this.collapse || 'none';
346
355
  // banner role must be at top level, so remove role if inside a menu
347
356
  const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
348
- return (h(Host, Object.assign({ key: 'b6cc27f0b08afc9fcc889683525da765d80ba672', role: roleType, class: {
349
- [mode]: true,
357
+ return (h(Host, Object.assign({ key: 'f5c81cee59b635b407fcad7732c793c651edb91e', role: roleType, class: {
358
+ [theme]: true,
350
359
  // Used internally for styling
351
- [`header-${mode}`]: true,
360
+ [`header-${theme}`]: true,
352
361
  [`header-translucent`]: this.translucent,
353
362
  [`header-collapse-${collapse}`]: true,
354
- [`header-translucent-${mode}`]: this.translucent,
355
- } }, inheritedAttributes), mode === 'ios' && translucent && h("div", { key: '395766d4dcee3398bc91960db21f922095292f14', class: "header-background" }), h("slot", { key: '09a67ece27b258ff1248805d43d92a49b2c6859a' })));
363
+ [`header-translucent-${theme}`]: this.translucent,
364
+ ['header-divider']: divider,
365
+ } }, inheritedAttributes), theme !== 'md' && translucent && h("div", { key: 'd8373a8418756961185de934082142da01b27a26', class: "header-background" }), h("slot", { key: '9fda3dcb16fd09f7f6fa1c345d17cdf130e1e331' })));
356
366
  }
357
367
  get el() { return this; }
358
368
  static get style() { return {
369
+ ionic: headerIonicCss,
359
370
  ios: headerIosCss,
360
371
  md: headerMdCss
361
372
  }; }
362
- }, [292, "ion-header", {
373
+ }, [36, "ion-header", {
363
374
  "collapse": [1],
375
+ "divider": [4],
364
376
  "translucent": [4]
365
377
  }]);
366
378
  function defineCustomElement() {
@@ -1,7 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { a as printIonError } from './index4.js';
4
+ import { focusElements } from './focus-visible.js';
5
+ import { a as printIonError, c as config } from './index4.js';
5
6
 
6
7
  const transitionEndAsync = (el, expectedDuration = 0) => {
7
8
  return new Promise((resolve) => {
@@ -201,6 +202,17 @@ const raf = (h) => {
201
202
  const hasShadowDom = (el) => {
202
203
  return !!el.shadowRoot && !!el.attachShadow;
203
204
  };
205
+ /**
206
+ * Focuses a given element while ensuring proper focus management
207
+ * within the Ionic framework. If the element is marked as `ion-focusable`,
208
+ * this function will delegate focus handling to `ion-app` or manually
209
+ * apply focus when a custom app root is used.
210
+ *
211
+ * This function helps maintain accessibility and expected focus behavior
212
+ * in both standard and custom root environments.
213
+ *
214
+ * @param el - The element to focus.
215
+ */
204
216
  const focusVisibleElement = (el) => {
205
217
  el.focus();
206
218
  /**
@@ -212,9 +224,36 @@ const focusVisibleElement = (el) => {
212
224
  * which will let us explicitly set the elements to focus.
213
225
  */
214
226
  if (el.classList.contains('ion-focusable')) {
215
- const app = el.closest('ion-app');
227
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
228
+ const app = el.closest(appRootSelector);
216
229
  if (app) {
217
- app.setFocus([el]);
230
+ if (appRootSelector === 'ion-app') {
231
+ /**
232
+ * If the app root is the default, then it will be
233
+ * in charge of setting focus. This is because the
234
+ * focus-visible utility is attached to the app root
235
+ * and will handle setting focus on the correct element.
236
+ */
237
+ app.setFocus([el]);
238
+ }
239
+ else {
240
+ /**
241
+ * When using a custom app root selector, the focus-visible
242
+ * utility is not available to manage focus automatically.
243
+ * If we set focus immediately, the element may not be fully
244
+ * rendered or interactive, especially if it was just added
245
+ * to the DOM. Using requestAnimationFrame ensures that focus
246
+ * is applied on the next frame, allowing the DOM to settle
247
+ * before changing focus.
248
+ */
249
+ requestAnimationFrame(() => {
250
+ /**
251
+ * The focus-visible utility is used to set focus on an
252
+ * element that uses `ion-focusable`.
253
+ */
254
+ focusElements([el]);
255
+ });
256
+ }
218
257
  }
219
258
  }
220
259
  };
@@ -401,7 +401,7 @@ const Icon = /*@__PURE__*/ proxyCustomElement(class Icon extends HTMLElement {
401
401
  "md": ["loadIcon"]
402
402
  }; }
403
403
  static get style() { return iconCss; }
404
- }, [257, "ion-icon", {
404
+ }, [1, "ion-icon", {
405
405
  "mode": [1025],
406
406
  "color": [1],
407
407
  "ios": [1],
@@ -123,22 +123,11 @@ const iosTransitionAnimation = () => import('./ios.transition.js');
123
123
  const mdTransitionAnimation = () => import('./md.transition.js');
124
124
  const focusController = createFocusController();
125
125
  // TODO(FW-2832): types
126
- /**
127
- * Executes the main page transition.
128
- * It also manages the lifecycle of header visibility (if any)
129
- * to prevent visual flickering in iOS. The flickering only
130
- * occurs for a condensed header that is placed above the content.
131
- *
132
- * @param opts Options for the transition.
133
- * @returns A promise that resolves when the transition is complete.
134
- */
135
126
  const transition = (opts) => {
136
127
  return new Promise((resolve, reject) => {
137
128
  writeTask(() => {
138
- const transitioningInactiveHeader = getIosIonHeader(opts);
139
- beforeTransition(opts, transitioningInactiveHeader);
140
- runTransition(opts)
141
- .then((result) => {
129
+ beforeTransition(opts);
130
+ runTransition(opts).then((result) => {
142
131
  if (result.animation) {
143
132
  result.animation.destroy();
144
133
  }
@@ -147,21 +136,15 @@ const transition = (opts) => {
147
136
  }, (error) => {
148
137
  afterTransition(opts);
149
138
  reject(error);
150
- })
151
- .finally(() => {
152
- // Ensure that the header is restored to its original state.
153
- setHeaderTransitionClass(transitioningInactiveHeader, false);
154
139
  });
155
140
  });
156
141
  });
157
142
  };
158
- const beforeTransition = (opts, transitioningInactiveHeader) => {
143
+ const beforeTransition = (opts) => {
159
144
  const enteringEl = opts.enteringEl;
160
145
  const leavingEl = opts.leavingEl;
161
146
  focusController.saveViewFocus(leavingEl);
162
147
  setZIndex(enteringEl, leavingEl, opts.direction);
163
- // Prevent flickering of the header by adding a class.
164
- setHeaderTransitionClass(transitioningInactiveHeader, true);
165
148
  if (opts.showGoBack) {
166
149
  enteringEl.classList.add('can-go-back');
167
150
  }
@@ -350,35 +333,6 @@ const setZIndex = (enteringEl, leavingEl, direction) => {
350
333
  leavingEl.style.zIndex = '100';
351
334
  }
352
335
  };
353
- /**
354
- * Add a class to ensure that the inactive header (if any)
355
- * does not flicker during the transition. By adding the
356
- * transitioning class, we ensure that the header has
357
- * the necessary styles to prevent the following flickers:
358
- * 1. When entering a page with a condensed header, the
359
- * inactive header should never be visible. However,
360
- * it briefly renders the background color while
361
- * the transition is occurring.
362
- * 2. When leaving a page with a condensed header, the
363
- * inactive header has an opacity of 0 and the pages
364
- * have a z-index which causes the entering page to
365
- * briefly show it's content underneath the leaving page.
366
- *
367
- * @param header The header element to modify.
368
- * @param isTransitioning Whether the transition is occurring.
369
- */
370
- const setHeaderTransitionClass = (header, isTransitioning) => {
371
- if (!header) {
372
- return;
373
- }
374
- const transitionClass = 'header-transitioning';
375
- if (isTransitioning) {
376
- header.classList.add(transitionClass);
377
- }
378
- else {
379
- header.classList.remove(transitionClass);
380
- }
381
- };
382
336
  const getIonPageElement = (element) => {
383
337
  if (element.classList.contains('ion-page')) {
384
338
  return element;
@@ -390,26 +344,5 @@ const getIonPageElement = (element) => {
390
344
  // idk, return the original element so at least something animates and we don't have a null pointer
391
345
  return element;
392
346
  };
393
- /**
394
- * Retrieves the ion-header element from a page based on the
395
- * direction of the transition.
396
- *
397
- * @param opts Options for the transition.
398
- * @returns The ion-header element or null if not found or not in 'ios' mode.
399
- */
400
- const getIosIonHeader = (opts) => {
401
- const enteringEl = opts.enteringEl;
402
- const leavingEl = opts.leavingEl;
403
- const direction = opts.direction;
404
- const mode = opts.mode;
405
- if (mode !== 'ios') {
406
- return null;
407
- }
408
- const element = direction === 'back' ? leavingEl : enteringEl;
409
- if (!element) {
410
- return null;
411
- }
412
- return element.querySelector('ion-header');
413
- };
414
347
 
415
348
  export { LIFECYCLE_WILL_ENTER as L, LIFECYCLE_DID_ENTER as a, LIFECYCLE_WILL_LEAVE as b, LIFECYCLE_DID_LEAVE as c, LIFECYCLE_WILL_UNLOAD as d, deepReady as e, getIonPageElement as g, lifecycle as l, setPageHidden as s, transition as t, waitForMount as w };
@@ -1,11 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { d as doc } from './index9.js';
5
- import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button.js';
4
+ import { c as getIonMode, d as doc, M as MENU_BACK_BUTTON_PRIORITY } from './ionic-global.js';
6
5
  import { p as printIonWarning } from './index4.js';
7
6
  import { c as componentOnReady } from './helpers.js';
8
- import { b as getIonMode } from './ionic-global.js';
9
7
  import { c as createAnimation } from './animation.js';
10
8
 
11
9
  /**
@@ -48,10 +46,10 @@ const menuOverlayAnimation = (menu) => {
48
46
  }
49
47
  menuAnimation.addElement(menu.menuInnerEl).fromTo('transform', `translateX(${closedX})`, `translateX(${openedX})`);
50
48
  const mode = getIonMode(menu);
51
- const isIos = mode === 'ios';
52
- const opacity = isIos ? 0.2 : 0.25;
49
+ const isIOS = mode === 'ios';
50
+ const opacity = isIOS ? 0.2 : 0.25;
53
51
  backdropAnimation.addElement(menu.backdropEl).fromTo('opacity', 0.01, opacity);
54
- return baseAnimation(isIos).addAnimation([menuAnimation, backdropAnimation]);
52
+ return baseAnimation(isIOS).addAnimation([menuAnimation, backdropAnimation]);
55
53
  };
56
54
 
57
55
  /**
@@ -64,6 +62,7 @@ const menuPushAnimation = (menu) => {
64
62
  let menuClosedX;
65
63
  const mode = getIonMode(menu);
66
64
  const width = menu.width;
65
+ const isIOS = mode === 'ios';
67
66
  if (menu.isEndSide) {
68
67
  contentOpenedX = -width + 'px';
69
68
  menuClosedX = width + 'px';
@@ -79,7 +78,7 @@ const menuPushAnimation = (menu) => {
79
78
  .addElement(menu.contentEl)
80
79
  .fromTo('transform', 'translateX(0px)', `translateX(${contentOpenedX})`);
81
80
  const backdropAnimation = createAnimation().addElement(menu.backdropEl).fromTo('opacity', 0.01, 0.32);
82
- return baseAnimation(mode === 'ios').addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
81
+ return baseAnimation(isIOS).addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
83
82
  };
84
83
 
85
84
  /**
@@ -89,11 +88,12 @@ const menuPushAnimation = (menu) => {
89
88
  */
90
89
  const menuRevealAnimation = (menu) => {
91
90
  const mode = getIonMode(menu);
91
+ const isIOS = mode === 'ios';
92
92
  const openedX = menu.width * (menu.isEndSide ? -1 : 1) + 'px';
93
93
  const contentOpen = createAnimation()
94
94
  .addElement(menu.contentEl) // REVIEW
95
95
  .fromTo('transform', 'translateX(0px)', `translateX(${openedX})`);
96
- return baseAnimation(mode === 'ios').addAnimation(contentOpen);
96
+ return baseAnimation(isIOS).addAnimation(contentOpen);
97
97
  };
98
98
 
99
99
  const createMenuController = () => {
@@ -29,4 +29,4 @@ const reorderTwoSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2
29
29
  const searchOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M221.09 64a157.09 157.09 0 1 0 157.09 157.09A157.1 157.1 0 0 0 221.09 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M338.29 338.29 448 448' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
30
30
  const searchSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M464 428 339.92 303.9a160.48 160.48 0 0 0 30.72-94.58C370.64 120.37 298.27 48 209.32 48S48 120.37 48 209.32s72.37 161.32 161.32 161.32a160.48 160.48 0 0 0 94.58-30.72L428 464ZM209.32 319.69a110.38 110.38 0 1 1 110.37-110.37 110.5 110.5 0 0 1-110.37 110.37'/></svg>";
31
31
 
32
- export { chevronBack as a, arrowBackSharp as b, chevronDown as c, chevronForwardOutline as d, ellipsisHorizontal as e, caretUpSharp as f, chevronForward as g, caretDownSharp as h, close as i, closeCircle as j, closeSharp as k, eyeOff as l, eye as m, menuOutline as n, menuSharp as o, arrowDown as p, caretBackSharp as q, reorderThreeOutline as r, reorderTwoSharp as s, searchOutline as t, searchSharp as u, chevronExpand as v, checkmarkOutline as w, removeOutline as x, ellipseOutline as y };
32
+ export { arrowBackSharp as a, chevronBack as b, chevronDown as c, chevronForwardOutline as d, ellipsisHorizontal as e, chevronForward as f, caretDownSharp as g, caretUpSharp as h, close as i, closeSharp as j, closeCircle as k, eyeOff as l, eye as m, menuSharp as n, menuOutline as o, arrowDown as p, caretBackSharp as q, reorderTwoSharp as r, reorderThreeOutline as s, searchSharp as t, searchOutline as u, chevronExpand as v, checkmarkOutline as w, removeOutline as x, ellipseOutline as y };