@ionic/core 8.6.0 → 8.6.1-dev.11749483665.140e610d

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 (1082) hide show
  1. package/components/action-sheet.js +13 -9
  2. package/components/alert.js +14 -11
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +9 -6
  5. package/components/button.js +41 -10
  6. package/components/buttons.js +11 -8
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +31 -12
  12. package/components/content.js +14 -12
  13. package/components/data.js +5 -5
  14. package/components/focus-visible.js +23 -1
  15. package/components/framework-delegate.js +3 -1
  16. package/components/header.js +28 -16
  17. package/components/helpers.js +42 -3
  18. package/components/index5.js +8 -8
  19. package/components/index6.js +3 -3
  20. package/components/index7.js +111 -150
  21. package/components/index8.js +150 -111
  22. package/components/input-shims.js +2 -2
  23. package/components/input.utils.js +1 -1
  24. package/components/ion-accordion-group.js +23 -5
  25. package/components/ion-accordion.js +32 -21
  26. package/components/ion-app.js +14 -77
  27. package/components/ion-avatar.js +58 -5
  28. package/components/ion-back-button.js +27 -19
  29. package/components/ion-badge.js +73 -9
  30. package/components/ion-breadcrumb.js +43 -10
  31. package/components/ion-breadcrumbs.js +8 -5
  32. package/components/ion-card-content.js +10 -7
  33. package/components/ion-card-header.js +9 -6
  34. package/components/ion-card-subtitle.js +8 -5
  35. package/components/ion-card-title.js +8 -5
  36. package/components/ion-card.js +21 -9
  37. package/components/ion-chip.js +53 -8
  38. package/components/ion-col.js +5 -5
  39. package/components/ion-datetime-button.js +8 -5
  40. package/components/ion-datetime.js +98 -21
  41. package/components/ion-divider.d.ts +11 -0
  42. package/components/ion-divider.js +70 -0
  43. package/components/ion-fab-button.js +31 -15
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +18 -13
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-img.js +5 -2
  49. package/components/ion-infinite-scroll-content.js +11 -8
  50. package/components/ion-infinite-scroll.js +5 -5
  51. package/components/ion-input-otp.js +4 -4
  52. package/components/ion-input-password-toggle.js +51 -13
  53. package/components/ion-input.js +120 -28
  54. package/components/ion-item-divider.js +8 -5
  55. package/components/ion-item-group.js +8 -5
  56. package/components/ion-item-option.js +36 -9
  57. package/components/ion-item-options.js +10 -7
  58. package/components/ion-item-sliding.js +5 -5
  59. package/components/ion-loading.js +12 -9
  60. package/components/ion-menu-button.js +26 -10
  61. package/components/ion-menu-toggle.js +5 -5
  62. package/components/ion-menu.js +10 -8
  63. package/components/ion-nav-link.js +1 -1
  64. package/components/ion-nav.js +7 -5
  65. package/components/ion-note.js +8 -5
  66. package/components/ion-picker-legacy.js +7 -7
  67. package/components/ion-progress-bar.js +25 -7
  68. package/components/ion-range.js +12 -9
  69. package/components/ion-refresher-content.js +23 -8
  70. package/components/ion-refresher.js +10 -7
  71. package/components/ion-reorder-group.js +5 -5
  72. package/components/ion-reorder.js +30 -5
  73. package/components/ion-router-link.js +6 -6
  74. package/components/ion-router-outlet.js +4 -4
  75. package/components/ion-row.js +5 -2
  76. package/components/ion-searchbar.js +137 -23
  77. package/components/ion-segment-button.js +10 -7
  78. package/components/ion-segment-content.js +1 -1
  79. package/components/ion-segment-view.js +5 -2
  80. package/components/ion-segment.js +10 -7
  81. package/components/ion-select-option.js +5 -2
  82. package/components/ion-select.js +117 -33
  83. package/components/ion-skeleton-text.js +5 -5
  84. package/components/ion-split-pane.js +11 -8
  85. package/components/ion-tab-bar.js +39 -9
  86. package/components/ion-tab-button.js +25 -7
  87. package/components/ion-tab.js +2 -2
  88. package/components/ion-tabs.js +2 -2
  89. package/components/ion-text.js +5 -5
  90. package/components/ion-textarea.js +52 -11
  91. package/components/ion-thumbnail.js +5 -2
  92. package/components/ion-toast.js +37 -12
  93. package/components/ion-toggle.js +74 -17
  94. package/components/ionic-global.js +349 -15
  95. package/components/ios.transition.js +1 -0
  96. package/components/item.js +39 -14
  97. package/components/keyboard-controller.js +4 -2
  98. package/components/label.js +8 -5
  99. package/components/list-header.js +10 -7
  100. package/components/list.js +27 -6
  101. package/components/list2.js +6 -0
  102. package/components/modal.js +48 -20
  103. package/components/notch-controller.js +1 -1
  104. package/components/overlays.js +3 -4
  105. package/components/picker-column-option.js +8 -5
  106. package/components/picker-column.js +7 -8
  107. package/components/picker-column2.js +4 -4
  108. package/components/picker.js +7 -4
  109. package/components/popover.js +12 -9
  110. package/components/radio-group.js +10 -5
  111. package/components/radio.js +11 -8
  112. package/components/ripple-effect.js +15 -7
  113. package/components/select-modal.js +4 -4
  114. package/components/select-popover.js +8 -2
  115. package/components/spinner.js +31 -8
  116. package/components/status-tap.js +1 -1
  117. package/components/title.js +10 -7
  118. package/components/toolbar.js +137 -9
  119. package/components/x.js +6 -0
  120. package/css/core.css +1 -1
  121. package/css/core.css.map +1 -1
  122. package/css/display.css +1 -1
  123. package/css/display.css.map +1 -1
  124. package/css/flex-utils.css +1 -1
  125. package/css/flex-utils.css.map +1 -1
  126. package/css/float-elements.css.map +1 -1
  127. package/css/global.bundle.css.map +1 -1
  128. package/css/ionic/bundle.ionic.css +1 -0
  129. package/css/ionic/bundle.ionic.css.map +1 -0
  130. package/css/ionic/core.ionic.css +1 -0
  131. package/css/ionic/core.ionic.css.map +1 -0
  132. package/css/ionic/global.bundle.ionic.css +1 -0
  133. package/css/ionic/global.bundle.ionic.css.map +1 -0
  134. package/css/ionic/ionic-swiper.ionic.css +1 -0
  135. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  136. package/css/ionic/link.ionic.css +1 -0
  137. package/css/ionic/link.ionic.css.map +1 -0
  138. package/css/ionic/structure.ionic.css +1 -0
  139. package/css/ionic/structure.ionic.css.map +1 -0
  140. package/css/ionic/typography.ionic.css +1 -0
  141. package/css/ionic/typography.ionic.css.map +1 -0
  142. package/css/ionic/utils.bundle.ionic.css +1 -0
  143. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  144. package/css/ionic-swiper.css +1 -1
  145. package/css/ionic-swiper.css.map +1 -1
  146. package/css/ionic.bundle.css +1 -1
  147. package/css/ionic.bundle.css.map +1 -1
  148. package/css/normalize.css.map +1 -1
  149. package/css/padding.css.map +1 -1
  150. package/css/palettes/dark.always.css.map +1 -1
  151. package/css/palettes/dark.class.css.map +1 -1
  152. package/css/palettes/dark.system.css.map +1 -1
  153. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  156. package/css/palettes/high-contrast.always.css.map +1 -1
  157. package/css/palettes/high-contrast.class.css.map +1 -1
  158. package/css/palettes/high-contrast.system.css.map +1 -1
  159. package/css/structure.css.map +1 -1
  160. package/css/text-alignment.css.map +1 -1
  161. package/css/text-transformation.css.map +1 -1
  162. package/css/typography.css.map +1 -1
  163. package/css/utils.bundle.css +1 -1
  164. package/css/utils.bundle.css.map +1 -1
  165. package/dist/cjs/{animation-0T7gKwOt.js → animation-Bcz4qmJk.js} +2 -3
  166. package/dist/cjs/{button-active-C-4ud7Ht.js → button-active-1nO6qpCH.js} +2 -2
  167. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CzFst28-.js} +1 -1
  168. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  169. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  170. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  171. package/dist/cjs/{config-U7OAuj53.js → config-DGKt4XfG.js} +1 -1
  172. package/dist/cjs/{data-DRqa6oM4.js → data-B3i-krcw.js} +6 -6
  173. package/dist/{esm/focus-visible-BmVRXR1y.js → cjs/focus-visible-BIj-I3-C.js} +27 -1
  174. package/dist/cjs/{framework-delegate-C7sIJyT5.js → framework-delegate-DfEY5uyC.js} +4 -2
  175. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-DbqPcCc9.js} +1 -1
  176. package/dist/cjs/{helpers-BITAzJfi.js → helpers-DmAvmm2T.js} +42 -3
  177. package/dist/cjs/{index-CVa6JE57.js → index-CaZ3uzAD.js} +2 -2
  178. package/dist/cjs/{index-DODXXb_r.js → index-CmckMMX1.js} +352 -12
  179. package/dist/cjs/{index-CPbAsnJK.js → index-DPBLiXfW.js} +2 -2
  180. package/dist/cjs/{index-CxfLS2mX.js → index-DcPe_YcG.js} +12 -12
  181. package/dist/cjs/{index-y0QaNtCi.js → index-DxVhwe3d.js} +4 -4
  182. package/dist/cjs/{index-BDBT0u4l.js → index-YEjC0pvJ.js} +3 -3
  183. package/dist/cjs/index.cjs.js +11 -12
  184. package/dist/cjs/{input-shims-D1Mfgd4s.js → input-shims-BwdlNkON.js} +6 -6
  185. package/dist/cjs/{input.utils-DSoBEyUu.js → input.utils-CfjyQhpu.js} +3 -4
  186. package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -27
  187. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
  188. package/dist/cjs/ion-alert.cjs.entry.js +23 -21
  189. package/dist/cjs/ion-app_8.cjs.entry.js +229 -144
  190. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
  191. package/dist/cjs/ion-back-button.cjs.entry.js +29 -20
  192. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
  193. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +52 -16
  194. package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
  195. package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
  196. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
  197. package/dist/cjs/ion-chip.cjs.entry.js +48 -7
  198. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  199. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
  200. package/dist/cjs/ion-datetime_3.cjs.entry.js +114 -39
  201. package/dist/cjs/ion-divider.cjs.entry.js +50 -0
  202. package/dist/cjs/ion-fab_3.cjs.entry.js +42 -26
  203. package/dist/cjs/ion-img.cjs.entry.js +7 -3
  204. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +18 -14
  205. package/dist/cjs/ion-input-otp.cjs.entry.js +6 -5
  206. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -13
  207. package/dist/cjs/ion-input.cjs.entry.js +121 -31
  208. package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
  209. package/dist/cjs/ion-item_8.cjs.entry.js +106 -46
  210. package/dist/cjs/ion-loading.cjs.entry.js +18 -16
  211. package/dist/cjs/ion-menu_3.cjs.entry.js +45 -27
  212. package/dist/cjs/ion-modal.cjs.entry.js +80 -53
  213. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
  214. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -6
  215. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  216. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  217. package/dist/cjs/ion-popover.cjs.entry.js +18 -16
  218. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
  219. package/dist/cjs/ion-radio_2.cjs.entry.js +22 -13
  220. package/dist/cjs/ion-range.cjs.entry.js +14 -10
  221. package/dist/cjs/ion-refresher_2.cjs.entry.js +38 -20
  222. package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
  223. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -6
  224. package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
  225. package/dist/cjs/ion-searchbar.cjs.entry.js +135 -22
  226. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  227. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
  228. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -14
  229. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -9
  230. package/dist/cjs/ion-select_3.cjs.entry.js +130 -39
  231. package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
  232. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
  233. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +65 -20
  234. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  235. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  236. package/dist/cjs/ion-textarea.cjs.entry.js +55 -15
  237. package/dist/cjs/ion-toast.cjs.entry.js +65 -42
  238. package/dist/cjs/ion-toggle.cjs.entry.js +79 -22
  239. package/dist/cjs/ionic.cjs.js +2 -2
  240. package/dist/cjs/{ios.transition-baEy2tr4.js → ios.transition-BMRClUxZ.js} +6 -5
  241. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Chl5cusY.js} +1 -1
  242. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-yLvXRMuh.js} +4 -3
  243. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-nXDIskl9.js} +3 -3
  244. package/dist/cjs/list-a-7GSA6K.js +8 -0
  245. package/dist/cjs/loader.cjs.js +2 -2
  246. package/dist/cjs/{md.transition-Bvc-JrM5.js → md.transition-D2ZL4jgW.js} +5 -5
  247. package/dist/cjs/{notch-controller-BAbqGXRi.js → notch-controller-S50JyZJs.js} +2 -2
  248. package/dist/cjs/{overlays-DRDumz2b.js → overlays-DbrifhWu.js} +13 -14
  249. package/dist/cjs/{status-tap-Db3WeCkO.js → status-tap-DMaRrHIS.js} +4 -3
  250. package/dist/cjs/{swipe-back-D_VN6H9r.js → swipe-back-CEVlQT7C.js} +3 -2
  251. package/dist/cjs/x-BTF99yFH.js +8 -0
  252. package/dist/collection/collection-manifest.json +1 -0
  253. package/dist/collection/components/accordion/accordion.ionic.css +197 -0
  254. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  255. package/dist/collection/components/accordion/accordion.js +36 -26
  256. package/dist/collection/components/accordion/accordion.md.css +67 -59
  257. package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -0
  258. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  259. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  260. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  261. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  262. package/dist/collection/components/action-sheet/action-sheet.js +15 -11
  263. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  264. package/dist/collection/components/alert/alert.ios.css +19 -1
  265. package/dist/collection/components/alert/alert.js +16 -13
  266. package/dist/collection/components/alert/alert.md.css +19 -1
  267. package/dist/collection/components/app/app.js +22 -80
  268. package/dist/collection/components/avatar/avatar.ionic.css +365 -0
  269. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  270. package/dist/collection/components/avatar/avatar.js +120 -4
  271. package/dist/collection/components/avatar/avatar.md.css +51 -0
  272. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  273. package/dist/collection/components/back-button/back-button.js +27 -19
  274. package/dist/collection/components/back-button/back-button.md.css +60 -48
  275. package/dist/collection/components/backdrop/backdrop.ionic.css +111 -0
  276. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  277. package/dist/collection/components/backdrop/backdrop.js +12 -6
  278. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  279. package/dist/collection/components/badge/badge.ionic.css +277 -0
  280. package/dist/collection/components/badge/badge.ios.css +139 -12
  281. package/dist/collection/components/badge/badge.js +145 -9
  282. package/dist/collection/components/badge/badge.md.css +123 -12
  283. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  284. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  285. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  286. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  287. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  288. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  289. package/dist/collection/components/button/button.ionic.css +622 -0
  290. package/dist/collection/components/button/button.ios.css +135 -46
  291. package/dist/collection/components/button/button.js +48 -17
  292. package/dist/collection/components/button/button.md.css +126 -50
  293. package/dist/collection/components/buttons/buttons.ionic.css +100 -0
  294. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  295. package/dist/collection/components/buttons/buttons.js +15 -9
  296. package/dist/collection/components/buttons/buttons.md.css +55 -3
  297. package/dist/collection/components/card/card.ionic.css +146 -0
  298. package/dist/collection/components/card/card.ios.css +65 -14
  299. package/dist/collection/components/card/card.js +41 -10
  300. package/dist/collection/components/card/card.md.css +65 -14
  301. package/dist/collection/components/card-content/card-content.ionic.css +94 -0
  302. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  303. package/dist/collection/components/card-content/card-content.js +11 -8
  304. package/dist/collection/components/card-content/card-content.md.css +16 -1
  305. package/dist/collection/components/card-header/card-header.ionic.css +87 -0
  306. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  307. package/dist/collection/components/card-header/card-header.js +13 -10
  308. package/dist/collection/components/card-header/card-header.md.css +27 -15
  309. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +146 -0
  310. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  311. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  312. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  313. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  314. package/dist/collection/components/card-title/card-title.js +11 -8
  315. package/dist/collection/components/card-title/card-title.md.css +73 -0
  316. package/dist/collection/components/checkbox/checkbox.ionic.css +527 -0
  317. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  318. package/dist/collection/components/checkbox/checkbox.js +70 -14
  319. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  320. package/dist/collection/components/chip/chip.ionic.css +230 -0
  321. package/dist/collection/components/chip/chip.ios.css +67 -14
  322. package/dist/collection/components/chip/chip.js +108 -8
  323. package/dist/collection/components/chip/chip.md.css +67 -14
  324. package/dist/collection/components/col/col.css +12 -0
  325. package/dist/collection/components/col/col.js +9 -5
  326. package/dist/collection/components/content/content.css +8 -2
  327. package/dist/collection/components/content/content.js +16 -11
  328. package/dist/collection/components/datetime/datetime.ionic.css +673 -0
  329. package/dist/collection/components/datetime/datetime.ios.css +242 -86
  330. package/dist/collection/components/datetime/datetime.js +98 -20
  331. package/dist/collection/components/datetime/datetime.md.css +242 -86
  332. package/dist/collection/components/datetime/utils/data.js +5 -5
  333. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  334. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  335. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  336. package/dist/collection/components/divider/divider.ionic.css +150 -0
  337. package/dist/collection/components/divider/divider.ios.css +87 -0
  338. package/dist/collection/components/divider/divider.js +94 -0
  339. package/dist/collection/components/divider/divider.md.css +87 -0
  340. package/dist/collection/components/fab/fab.css +25 -1
  341. package/dist/collection/components/fab/fab.js +9 -5
  342. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  343. package/dist/collection/components/fab-button/fab-button.js +36 -21
  344. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  345. package/dist/collection/components/fab-list/fab-list.css +12 -0
  346. package/dist/collection/components/fab-list/fab-list.js +9 -5
  347. package/dist/collection/components/footer/footer.ios.css +14 -2
  348. package/dist/collection/components/footer/footer.js +21 -16
  349. package/dist/collection/components/footer/footer.md.css +12 -0
  350. package/dist/collection/components/grid/grid.css +12 -0
  351. package/dist/collection/components/grid/grid.js +9 -5
  352. package/dist/collection/components/header/header.ionic.css +86 -0
  353. package/dist/collection/components/header/header.ios.css +25 -10
  354. package/dist/collection/components/header/header.js +49 -18
  355. package/dist/collection/components/header/header.md.css +23 -8
  356. package/dist/collection/components/img/img.js +8 -2
  357. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  358. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  360. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  361. package/dist/collection/components/input/input.ionic.css +883 -0
  362. package/dist/collection/components/input/input.ios.css +223 -140
  363. package/dist/collection/components/input/input.js +149 -38
  364. package/dist/collection/components/input/input.md.css +193 -212
  365. package/dist/collection/components/input-otp/input-otp.ios.css +12 -0
  366. package/dist/collection/components/input-otp/input-otp.js +3 -3
  367. package/dist/collection/components/input-otp/input-otp.md.css +12 -0
  368. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +80 -0
  369. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  371. package/dist/collection/components/item/item.ionic.css +502 -0
  372. package/dist/collection/components/item/item.ios.css +109 -69
  373. package/dist/collection/components/item/item.js +43 -19
  374. package/dist/collection/components/item/item.md.css +120 -68
  375. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  376. package/dist/collection/components/item-divider/item-divider.js +11 -8
  377. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  378. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  379. package/dist/collection/components/item-group/item-group.js +13 -7
  380. package/dist/collection/components/item-group/item-group.md.css +12 -0
  381. package/dist/collection/components/item-option/item-option.ionic.css +280 -0
  382. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  383. package/dist/collection/components/item-option/item-option.js +73 -9
  384. package/dist/collection/components/item-option/item-option.md.css +136 -29
  385. package/dist/collection/components/item-options/item-options.ionic.css +223 -0
  386. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  387. package/dist/collection/components/item-options/item-options.js +13 -7
  388. package/dist/collection/components/item-options/item-options.md.css +77 -34
  389. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  390. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  391. package/dist/collection/components/label/label.ios.css +18 -0
  392. package/dist/collection/components/label/label.js +11 -8
  393. package/dist/collection/components/label/label.md.css +18 -0
  394. package/dist/collection/components/list/list.ionic.css +214 -0
  395. package/dist/collection/components/list/list.ios.css +54 -14
  396. package/dist/collection/components/list/list.js +48 -9
  397. package/dist/collection/components/list/list.md.css +56 -16
  398. package/dist/collection/components/list-header/list-header.ionic.css +192 -0
  399. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  400. package/dist/collection/components/list-header/list-header.js +11 -8
  401. package/dist/collection/components/list-header/list-header.md.css +82 -38
  402. package/dist/collection/components/loading/loading.ios.css +13 -1
  403. package/dist/collection/components/loading/loading.js +14 -11
  404. package/dist/collection/components/loading/loading.md.css +13 -1
  405. package/dist/collection/components/menu/menu.ios.css +15 -3
  406. package/dist/collection/components/menu/menu.js +12 -7
  407. package/dist/collection/components/menu/menu.md.css +15 -3
  408. package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
  409. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  410. package/dist/collection/components/menu-button/menu-button.js +26 -10
  411. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  412. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  413. package/dist/collection/components/modal/animations/sheet.js +8 -2
  414. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  415. package/dist/collection/components/modal/modal.ionic.css +243 -0
  416. package/dist/collection/components/modal/modal.ios.css +174 -70
  417. package/dist/collection/components/modal/modal.js +48 -11
  418. package/dist/collection/components/modal/modal.md.css +174 -70
  419. package/dist/collection/components/nav/nav.css +7 -1
  420. package/dist/collection/components/nav/nav.js +11 -5
  421. package/dist/collection/components/nav-link/nav-link.js +5 -1
  422. package/dist/collection/components/note/note.ios.css +12 -0
  423. package/dist/collection/components/note/note.js +11 -8
  424. package/dist/collection/components/note/note.md.css +12 -0
  425. package/dist/collection/components/picker/picker.ios.css +15 -3
  426. package/dist/collection/components/picker/picker.js +8 -5
  427. package/dist/collection/components/picker/picker.md.css +15 -3
  428. package/dist/collection/components/picker-column/picker-column.css +9 -2
  429. package/dist/collection/components/picker-column/picker-column.js +8 -7
  430. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  431. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  432. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  433. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  434. package/dist/collection/components/picker-legacy/picker.js +7 -6
  435. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  436. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  437. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  438. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  439. package/dist/collection/components/popover/popover.ios.css +13 -1
  440. package/dist/collection/components/popover/popover.js +17 -14
  441. package/dist/collection/components/popover/popover.md.css +13 -1
  442. package/dist/collection/components/progress-bar/progress-bar.ionic.css +289 -0
  443. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  444. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  445. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  446. package/dist/collection/components/radio/radio.ionic.css +424 -0
  447. package/dist/collection/components/radio/radio.ios.css +134 -91
  448. package/dist/collection/components/radio/radio.js +12 -9
  449. package/dist/collection/components/radio/radio.md.css +134 -91
  450. package/dist/collection/components/radio-group/radio-group.ionic.css +127 -0
  451. package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
  452. package/dist/collection/components/radio-group/radio-group.js +13 -5
  453. package/dist/collection/components/radio-group/radio-group.md.css +42 -18
  454. package/dist/collection/components/range/range.ionic.css +555 -0
  455. package/dist/collection/components/range/range.ios.css +128 -85
  456. package/dist/collection/components/range/range.js +12 -9
  457. package/dist/collection/components/range/range.md.css +128 -85
  458. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  459. package/dist/collection/components/refresher/refresher.js +11 -8
  460. package/dist/collection/components/refresher/refresher.md.css +15 -2
  461. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  462. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  463. package/dist/collection/components/reorder/reorder.js +33 -6
  464. package/dist/collection/components/reorder/reorder.md.css +6 -0
  465. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  466. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  467. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  468. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +217 -0
  469. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  470. package/dist/collection/components/route/route.js +4 -0
  471. package/dist/collection/components/router/router.js +4 -0
  472. package/dist/collection/components/router-link/router-link.css +8 -2
  473. package/dist/collection/components/router-link/router-link.js +9 -5
  474. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  475. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  476. package/dist/collection/components/row/row.css +12 -0
  477. package/dist/collection/components/row/row.js +9 -2
  478. package/dist/collection/components/searchbar/searchbar.ionic.css +628 -0
  479. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  480. package/dist/collection/components/searchbar/searchbar.js +181 -34
  481. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  482. package/dist/collection/components/segment/segment.ionic.css +117 -0
  483. package/dist/collection/components/segment/segment.ios.css +45 -2
  484. package/dist/collection/components/segment/segment.js +11 -8
  485. package/dist/collection/components/segment/segment.md.css +45 -2
  486. package/dist/collection/components/segment-button/segment-button.ionic.css +355 -0
  487. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  488. package/dist/collection/components/segment-button/segment-button.js +11 -8
  489. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  490. package/dist/collection/components/segment-content/segment-content.js +1 -1
  491. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  492. package/dist/collection/components/segment-view/segment-view.js +6 -4
  493. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  494. package/dist/collection/components/select/select.ionic.css +765 -0
  495. package/dist/collection/components/select/select.ios.css +315 -176
  496. package/dist/collection/components/select/select.js +157 -54
  497. package/dist/collection/components/select/select.md.css +331 -178
  498. package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
  499. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  500. package/dist/collection/components/select-modal/select-modal.js +3 -3
  501. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  502. package/dist/collection/components/select-option/select-option.js +9 -2
  503. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  504. package/dist/collection/components/select-popover/select-popover.js +12 -4
  505. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  506. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  507. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  508. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +79 -10
  509. package/dist/collection/components/spinner/spinner.js +47 -6
  510. package/dist/collection/components/spinner/spinner.native.css +198 -0
  511. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  512. package/dist/collection/components/split-pane/split-pane.js +14 -8
  513. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  514. package/dist/collection/components/tab/tab.js +6 -2
  515. package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
  516. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  517. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  518. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  519. package/dist/collection/components/tab-button/tab-button.ionic.css +338 -0
  520. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  521. package/dist/collection/components/tab-button/tab-button.js +44 -8
  522. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  523. package/dist/collection/components/tabs/tabs.css +7 -1
  524. package/dist/collection/components/tabs/tabs.js +4 -1
  525. package/dist/collection/components/text/text.css +6 -0
  526. package/dist/collection/components/text/text.js +7 -6
  527. package/dist/collection/components/textarea/textarea.ionic.css +830 -0
  528. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  529. package/dist/collection/components/textarea/textarea.js +76 -16
  530. package/dist/collection/components/textarea/textarea.md.css +288 -140
  531. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  532. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  533. package/dist/collection/components/title/title.ionic.css +129 -0
  534. package/dist/collection/components/title/title.ios.css +32 -4
  535. package/dist/collection/components/title/title.js +13 -7
  536. package/dist/collection/components/title/title.md.css +32 -4
  537. package/dist/collection/components/toast/animations/utils.js +1 -1
  538. package/dist/collection/components/toast/toast.ionic.css +396 -0
  539. package/dist/collection/components/toast/toast.ios.css +84 -45
  540. package/dist/collection/components/toast/toast.js +75 -12
  541. package/dist/collection/components/toast/toast.md.css +84 -45
  542. package/dist/collection/components/toggle/toggle.ionic.css +509 -0
  543. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  544. package/dist/collection/components/toggle/toggle.js +73 -18
  545. package/dist/collection/components/toggle/toggle.md.css +244 -131
  546. package/dist/collection/components/toolbar/toolbar.ionic.css +238 -0
  547. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  548. package/dist/collection/components/toolbar/toolbar.js +141 -13
  549. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  550. package/dist/collection/global/ionic-global.js +228 -13
  551. package/dist/collection/utils/focus-visible.js +22 -0
  552. package/dist/collection/utils/framework-delegate.js +3 -1
  553. package/dist/collection/utils/helpers.js +42 -2
  554. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  555. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  556. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  557. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  558. package/dist/collection/utils/overlays.js +2 -1
  559. package/dist/collection/utils/test/playwright/generator.js +48 -23
  560. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  561. package/dist/collection/utils/test/playwright/page/utils/set-content.js +16 -2
  562. package/dist/collection/utils/transition/ios.transition.js +1 -0
  563. package/dist/docs.json +7739 -362
  564. package/dist/esm/{animation-BWcUKtbn.js → animation-Cgfm6Out.js} +1 -2
  565. package/dist/esm/{button-active-Bxcnevju.js → button-active-DvzVF2u_.js} +2 -2
  566. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-Dvc8Ydvg.js} +1 -1
  567. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  568. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  569. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  570. package/dist/esm/{config-AaTyISnm.js → config-DwiPHIF5.js} +1 -1
  571. package/dist/esm/{data-GIsHsYIB.js → data-HHZs0eLV.js} +6 -6
  572. package/dist/{cjs/focus-visible-CCvKiLh3.js → esm/focus-visible-vXpMhGrs.js} +23 -3
  573. package/dist/esm/{framework-delegate-DxcnWic_.js → framework-delegate-B4Rily6A.js} +4 -2
  574. package/dist/esm/{haptic-DzAMWJuk.js → haptic-ZZTn7IWt.js} +1 -1
  575. package/dist/esm/{helpers-1O4D2b7y.js → helpers-D_90HVv6.js} +42 -3
  576. package/dist/esm/{index-B_U9CtaY.js → index-BBrR3goV.js} +347 -13
  577. package/dist/esm/{index-DfBA5ztX.js → index-BoSPzYKk.js} +4 -4
  578. package/dist/esm/{index-BlJTBdxG.js → index-ByqmqxGO.js} +2 -2
  579. package/dist/esm/{index-BLV6ykCk.js → index-CFd-a2gp.js} +3 -3
  580. package/dist/esm/{index-D8sncTHY.js → index-D4D_NUAr.js} +10 -10
  581. package/dist/esm/{index-CWbP1eJz.js → index-k4x4i7EL.js} +3 -3
  582. package/dist/esm/index.js +11 -12
  583. package/dist/esm/{input-shims-C3lNp93k.js → input-shims-DEtEJcaS.js} +6 -6
  584. package/dist/esm/{input.utils-zWijNCrx.js → input.utils-DNE0LB5g.js} +2 -3
  585. package/dist/esm/ion-accordion_2.entry.js +56 -27
  586. package/dist/esm/ion-action-sheet.entry.js +21 -18
  587. package/dist/esm/ion-alert.entry.js +23 -21
  588. package/dist/esm/ion-app_8.entry.js +229 -144
  589. package/dist/esm/ion-avatar_3.entry.js +124 -12
  590. package/dist/esm/ion-back-button.entry.js +29 -20
  591. package/dist/esm/ion-backdrop.entry.js +9 -6
  592. package/dist/esm/ion-breadcrumb_2.entry.js +52 -16
  593. package/dist/esm/ion-button_2.entry.js +43 -11
  594. package/dist/esm/ion-card_5.entry.js +53 -29
  595. package/dist/esm/ion-checkbox.entry.js +31 -13
  596. package/dist/esm/ion-chip.entry.js +48 -7
  597. package/dist/esm/ion-col_3.entry.js +13 -10
  598. package/dist/esm/ion-datetime-button.entry.js +11 -7
  599. package/dist/esm/ion-datetime_3.entry.js +114 -39
  600. package/dist/esm/ion-divider.entry.js +48 -0
  601. package/dist/esm/ion-fab_3.entry.js +42 -26
  602. package/dist/esm/ion-img.entry.js +7 -3
  603. package/dist/esm/ion-infinite-scroll_2.entry.js +18 -14
  604. package/dist/esm/ion-input-otp.entry.js +6 -5
  605. package/dist/esm/ion-input-password-toggle.entry.js +51 -13
  606. package/dist/esm/ion-input.entry.js +121 -31
  607. package/dist/esm/ion-item-option_3.entry.js +48 -19
  608. package/dist/esm/ion-item_8.entry.js +106 -46
  609. package/dist/esm/ion-loading.entry.js +18 -16
  610. package/dist/esm/ion-menu_3.entry.js +45 -27
  611. package/dist/esm/ion-modal.entry.js +56 -29
  612. package/dist/esm/ion-nav_2.entry.js +13 -10
  613. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  614. package/dist/esm/ion-picker-column.entry.js +11 -11
  615. package/dist/esm/ion-picker.entry.js +10 -6
  616. package/dist/esm/ion-popover.entry.js +18 -16
  617. package/dist/esm/ion-progress-bar.entry.js +25 -7
  618. package/dist/esm/ion-radio_2.entry.js +22 -13
  619. package/dist/esm/ion-range.entry.js +14 -10
  620. package/dist/esm/ion-refresher_2.entry.js +38 -20
  621. package/dist/esm/ion-reorder_2.entry.js +37 -13
  622. package/dist/esm/ion-ripple-effect.entry.js +14 -6
  623. package/dist/esm/ion-route_4.entry.js +8 -7
  624. package/dist/esm/ion-searchbar.entry.js +136 -23
  625. package/dist/esm/ion-segment-content.entry.js +2 -2
  626. package/dist/esm/ion-segment-view.entry.js +6 -3
  627. package/dist/esm/ion-segment_2.entry.js +21 -14
  628. package/dist/esm/ion-select-modal.entry.js +8 -9
  629. package/dist/esm/ion-select_3.entry.js +130 -39
  630. package/dist/esm/ion-spinner.entry.js +28 -6
  631. package/dist/esm/ion-split-pane.entry.js +11 -8
  632. package/dist/esm/ion-tab-bar_2.entry.js +65 -20
  633. package/dist/esm/ion-tab_2.entry.js +8 -7
  634. package/dist/esm/ion-text.entry.js +5 -5
  635. package/dist/esm/ion-textarea.entry.js +55 -15
  636. package/dist/esm/ion-toast.entry.js +41 -18
  637. package/dist/esm/ion-toggle.entry.js +79 -22
  638. package/dist/esm/ionic.js +3 -3
  639. package/dist/esm/{ios.transition-BmXtMRXZ.js → ios.transition-C_-UP8wE.js} +6 -5
  640. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BsZp3qPH.js} +3 -3
  641. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cvigb3Rv.js} +1 -1
  642. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-lts2Pswq.js} +4 -3
  643. package/dist/esm/list-Dhi5xtNS.js +6 -0
  644. package/dist/esm/loader.js +3 -3
  645. package/dist/esm/{md.transition-CLI683c7.js → md.transition-BDWkLsNw.js} +5 -5
  646. package/dist/esm/{notch-controller-C5LPspO8.js → notch-controller-ClKrf2l9.js} +2 -2
  647. package/dist/esm/{overlays-8Y2rA-ps.js → overlays-DDeOq6un.js} +5 -6
  648. package/dist/esm/{status-tap-7t9T91bG.js → status-tap-DLatL9pG.js} +4 -3
  649. package/dist/esm/{swipe-back-VdaUzLWy.js → swipe-back-YYylMb0l.js} +3 -2
  650. package/dist/esm/x-BDqjX7Z_.js +6 -0
  651. package/dist/html.html-data.json +2508 -230
  652. package/dist/ionic/index.esm.js +1 -1
  653. package/dist/ionic/ionic.esm.js +1 -1
  654. package/dist/ionic/p-034b2ca2.entry.js +4 -0
  655. package/dist/ionic/p-08dfb85e.entry.js +4 -0
  656. package/dist/ionic/p-08e18904.entry.js +4 -0
  657. package/dist/ionic/p-0eab9ecf.entry.js +4 -0
  658. package/dist/ionic/p-11734cc5.entry.js +4 -0
  659. package/dist/ionic/p-1984e701.entry.js +4 -0
  660. package/dist/ionic/p-19959eec.entry.js +4 -0
  661. package/dist/ionic/p-1f976fad.entry.js +4 -0
  662. package/dist/ionic/p-1fd06a55.entry.js +4 -0
  663. package/dist/ionic/p-208954ca.entry.js +4 -0
  664. package/dist/ionic/p-232ba539.entry.js +4 -0
  665. package/dist/ionic/p-30c2256c.entry.js +4 -0
  666. package/dist/ionic/p-32f9c041.entry.js +4 -0
  667. package/dist/ionic/p-331b28f8.entry.js +4 -0
  668. package/dist/ionic/p-3c361403.entry.js +4 -0
  669. package/dist/ionic/p-4903685c.entry.js +4 -0
  670. package/dist/ionic/p-4d7ac4db.entry.js +4 -0
  671. package/dist/ionic/p-5ae4d6a0.entry.js +4 -0
  672. package/dist/ionic/p-6d2dc9d7.entry.js +4 -0
  673. package/dist/ionic/p-6e6ce506.entry.js +4 -0
  674. package/dist/ionic/p-6ea34add.entry.js +4 -0
  675. package/dist/ionic/p-6f17f8ed.entry.js +4 -0
  676. package/dist/ionic/p-7049bf1c.entry.js +4 -0
  677. package/dist/ionic/p-7ace7638.entry.js +4 -0
  678. package/dist/ionic/p-7f1e83a4.entry.js +4 -0
  679. package/dist/ionic/p-82796bb0.entry.js +4 -0
  680. package/dist/ionic/p-931716a5.entry.js +4 -0
  681. package/dist/ionic/p-9cb0fd91.entry.js +4 -0
  682. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  683. package/dist/ionic/p-BJ-EYogw.js +4 -0
  684. package/dist/ionic/p-BK3Vo2GA.js +4 -0
  685. package/dist/ionic/p-BKDxK6_S.js +4 -0
  686. package/dist/ionic/p-BMPzyWDm.js +4 -0
  687. package/dist/ionic/p-BTqHM5hg.js +4 -0
  688. package/dist/ionic/p-BYSs-jZz.js +4 -0
  689. package/dist/ionic/p-BZR5I9yn.js +4 -0
  690. package/dist/ionic/p-BZSKvxFv.js +4 -0
  691. package/dist/ionic/p-BaAcx1TO.js +4 -0
  692. package/dist/ionic/p-BeJdFlAB.js +4 -0
  693. package/dist/ionic/{p-D13Eaw-8.js → p-Bi_aZreq.js} +1 -1
  694. package/dist/ionic/p-BpUl-Ubc.js +4 -0
  695. package/dist/ionic/{p-CKvCXMs9.js → p-BuAY53fC.js} +1 -1
  696. package/dist/ionic/{p-BLV6ykCk.js → p-CFd-a2gp.js} +1 -1
  697. package/dist/ionic/p-CnPZjTVf.js +4 -0
  698. package/dist/ionic/{p-7qk7mxdr.js → p-D-g7JYuH.js} +1 -1
  699. package/dist/ionic/p-D1t981Ih.js +4 -0
  700. package/dist/ionic/p-D6quDhlh.js +4 -0
  701. package/dist/ionic/{p-CPgXVSua.js → p-DIZM2shZ.js} +1 -1
  702. package/dist/ionic/p-DJD59Sq4.js +4 -0
  703. package/dist/ionic/p-DZmL55Qn.js +4 -0
  704. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  705. package/dist/ionic/p-DjxV6ul_.js +4 -0
  706. package/dist/ionic/p-DkXsr7m2.js +4 -0
  707. package/dist/ionic/p-Dpa-63kX.js +4 -0
  708. package/dist/ionic/p-HOJ_eq4V.js +5 -0
  709. package/dist/ionic/p-MBiM0IFp.js +4 -0
  710. package/dist/ionic/p-a036ba35.entry.js +4 -0
  711. package/dist/ionic/p-a1af546a.entry.js +4 -0
  712. package/dist/ionic/p-a7acdba0.entry.js +4 -0
  713. package/dist/ionic/p-aa8d1f1d.entry.js +4 -0
  714. package/dist/ionic/p-ae3dad82.entry.js +4 -0
  715. package/dist/ionic/{p-a9ac80bd.entry.js → p-b2fe9962.entry.js} +1 -1
  716. package/dist/ionic/p-b493f149.entry.js +4 -0
  717. package/dist/ionic/p-b767c96a.entry.js +4 -0
  718. package/dist/ionic/p-b9b3ba1e.entry.js +4 -0
  719. package/dist/ionic/p-bb85830d.entry.js +4 -0
  720. package/dist/ionic/p-c565e353.entry.js +4 -0
  721. package/dist/ionic/p-ccf3b065.entry.js +4 -0
  722. package/dist/ionic/p-cedb36aa.entry.js +4 -0
  723. package/dist/ionic/p-d5b34bac.entry.js +4 -0
  724. package/dist/ionic/p-da78db37.entry.js +4 -0
  725. package/dist/ionic/p-db6e0330.entry.js +4 -0
  726. package/dist/ionic/p-dd5e8e7a.entry.js +4 -0
  727. package/dist/ionic/p-e4ed2971.entry.js +4 -0
  728. package/dist/ionic/p-e56f0f4b.entry.js +4 -0
  729. package/dist/ionic/p-e5897321.entry.js +4 -0
  730. package/dist/ionic/p-e89e89eb.entry.js +4 -0
  731. package/dist/ionic/{p-ei_RiGrl.js → p-eZzo_1L1.js} +1 -1
  732. package/dist/ionic/p-ed214a9c.entry.js +4 -0
  733. package/dist/ionic/p-eebf0420.entry.js +4 -0
  734. package/dist/ionic/p-f6a66956.entry.js +4 -0
  735. package/dist/ionic/p-fIOYmaqA.js +4 -0
  736. package/dist/ionic/p-fc8e47a4.entry.js +4 -0
  737. package/dist/ionic/p-vXpMhGrs.js +4 -0
  738. package/dist/ionic/svg/accessibility-outline.svg +1 -1
  739. package/dist/ionic/svg/accessibility-sharp.svg +1 -1
  740. package/dist/ionic/svg/accessibility.svg +1 -1
  741. package/dist/ionic/svg/arrow-down-left-box-outline.svg +1 -0
  742. package/dist/ionic/svg/arrow-down-left-box-sharp.svg +1 -0
  743. package/dist/ionic/svg/arrow-down-left-box.svg +1 -0
  744. package/dist/ionic/svg/arrow-down-right-box-outline.svg +1 -0
  745. package/dist/ionic/svg/arrow-down-right-box-sharp.svg +1 -0
  746. package/dist/ionic/svg/arrow-down-right-box.svg +1 -0
  747. package/dist/ionic/svg/arrow-up-left-box-outline.svg +1 -0
  748. package/dist/ionic/svg/arrow-up-left-box-sharp.svg +1 -0
  749. package/dist/ionic/svg/arrow-up-left-box.svg +1 -0
  750. package/dist/ionic/svg/arrow-up-right-box-outline.svg +1 -0
  751. package/dist/ionic/svg/arrow-up-right-box-sharp.svg +1 -0
  752. package/dist/ionic/svg/arrow-up-right-box.svg +1 -0
  753. package/dist/ionic/svg/bag-add-outline.svg +1 -1
  754. package/dist/ionic/svg/bag-add-sharp.svg +1 -1
  755. package/dist/ionic/svg/bag-add.svg +1 -1
  756. package/dist/ionic/svg/bag-check-outline.svg +1 -1
  757. package/dist/ionic/svg/bag-check-sharp.svg +1 -1
  758. package/dist/ionic/svg/bag-check.svg +1 -1
  759. package/dist/ionic/svg/bag-handle-outline.svg +1 -1
  760. package/dist/ionic/svg/bag-handle-sharp.svg +1 -1
  761. package/dist/ionic/svg/bag-handle.svg +1 -1
  762. package/dist/ionic/svg/bag-outline.svg +1 -1
  763. package/dist/ionic/svg/bag-remove-outline.svg +1 -1
  764. package/dist/ionic/svg/bag-remove-sharp.svg +1 -1
  765. package/dist/ionic/svg/bag-remove.svg +1 -1
  766. package/dist/ionic/svg/bag-sharp.svg +1 -1
  767. package/dist/ionic/svg/bag.svg +1 -1
  768. package/dist/ionic/svg/balloon-outline.svg +1 -1
  769. package/dist/ionic/svg/balloon-sharp.svg +1 -1
  770. package/dist/ionic/svg/balloon.svg +1 -1
  771. package/dist/ionic/svg/ban-outline.svg +1 -1
  772. package/dist/ionic/svg/ban-sharp.svg +1 -1
  773. package/dist/ionic/svg/ban.svg +1 -1
  774. package/dist/ionic/svg/binoculars-outline.svg +1 -0
  775. package/dist/ionic/svg/binoculars-sharp.svg +1 -0
  776. package/dist/ionic/svg/binoculars.svg +1 -0
  777. package/dist/ionic/svg/body-outline.svg +1 -1
  778. package/dist/ionic/svg/bowling-ball-outline.svg +1 -1
  779. package/dist/ionic/svg/bowling-ball-sharp.svg +1 -1
  780. package/dist/ionic/svg/bowling-ball.svg +1 -1
  781. package/dist/ionic/svg/calendar-clear-outline.svg +1 -1
  782. package/dist/ionic/svg/calendar-clear-sharp.svg +1 -1
  783. package/dist/ionic/svg/calendar-clear.svg +1 -1
  784. package/dist/ionic/svg/calendar-number-outline.svg +1 -1
  785. package/dist/ionic/svg/calendar-number-sharp.svg +1 -1
  786. package/dist/ionic/svg/calendar-number.svg +1 -1
  787. package/dist/ionic/svg/calendar-outline.svg +1 -1
  788. package/dist/ionic/svg/calendar-sharp.svg +1 -1
  789. package/dist/ionic/svg/calendar.svg +1 -1
  790. package/dist/ionic/svg/chevron-collapse-outline.svg +1 -1
  791. package/dist/ionic/svg/chevron-collapse-sharp.svg +1 -1
  792. package/dist/ionic/svg/chevron-collapse.svg +1 -1
  793. package/dist/ionic/svg/chevron-expand-outline.svg +1 -1
  794. package/dist/ionic/svg/chevron-expand-sharp.svg +1 -1
  795. package/dist/ionic/svg/chevron-expand.svg +1 -1
  796. package/dist/ionic/svg/color-wand-outline.svg +1 -1
  797. package/dist/ionic/svg/color-wand.svg +1 -1
  798. package/dist/ionic/svg/diamond-outline.svg +1 -1
  799. package/dist/ionic/svg/diamond-sharp.svg +1 -1
  800. package/dist/ionic/svg/diamond.svg +1 -1
  801. package/dist/ionic/svg/dice-outline.svg +1 -1
  802. package/dist/ionic/svg/dice-sharp.svg +1 -1
  803. package/dist/ionic/svg/dice.svg +1 -1
  804. package/dist/ionic/svg/document-lock-outline.svg +1 -1
  805. package/dist/ionic/svg/document-lock-sharp.svg +1 -1
  806. package/dist/ionic/svg/document-lock.svg +1 -1
  807. package/dist/ionic/svg/extension-puzzle-outline.svg +1 -1
  808. package/dist/ionic/svg/extension-puzzle-sharp.svg +1 -1
  809. package/dist/ionic/svg/extension-puzzle.svg +1 -1
  810. package/dist/ionic/svg/filter-circle-outline.svg +1 -1
  811. package/dist/ionic/svg/filter-circle-sharp.svg +1 -1
  812. package/dist/ionic/svg/filter-circle.svg +1 -1
  813. package/dist/ionic/svg/fish-outline.svg +1 -1
  814. package/dist/ionic/svg/fish-sharp.svg +1 -1
  815. package/dist/ionic/svg/fish.svg +1 -1
  816. package/dist/ionic/svg/footsteps-outline.svg +1 -1
  817. package/dist/ionic/svg/footsteps-sharp.svg +1 -1
  818. package/dist/ionic/svg/footsteps.svg +1 -1
  819. package/dist/ionic/svg/id-card-outline.svg +1 -1
  820. package/dist/ionic/svg/id-card-sharp.svg +1 -1
  821. package/dist/ionic/svg/id-card.svg +1 -1
  822. package/dist/ionic/svg/invert-mode-outline.svg +1 -1
  823. package/dist/ionic/svg/invert-mode-sharp.svg +1 -1
  824. package/dist/ionic/svg/invert-mode.svg +1 -1
  825. package/dist/ionic/svg/logo-alipay.svg +1 -1
  826. package/dist/ionic/svg/logo-android.svg +1 -1
  827. package/dist/ionic/svg/logo-appflow.svg +1 -0
  828. package/dist/ionic/svg/logo-apple-ar.svg +1 -1
  829. package/dist/ionic/svg/logo-behance.svg +1 -1
  830. package/dist/ionic/svg/logo-bitbucket.svg +1 -1
  831. package/dist/ionic/svg/logo-deviantart.svg +1 -1
  832. package/dist/ionic/svg/logo-discord.svg +1 -1
  833. package/dist/ionic/svg/logo-docker.svg +1 -1
  834. package/dist/ionic/svg/logo-edge.svg +1 -1
  835. package/dist/ionic/svg/logo-facebook.svg +1 -1
  836. package/dist/ionic/svg/logo-figma.svg +1 -1
  837. package/dist/ionic/svg/logo-firebase.svg +1 -1
  838. package/dist/ionic/svg/logo-gitlab.svg +1 -1
  839. package/dist/ionic/svg/logo-ionic.svg +1 -1
  840. package/dist/ionic/svg/logo-mastodon.svg +1 -1
  841. package/dist/ionic/svg/logo-medium.svg +1 -1
  842. package/dist/ionic/svg/logo-microsoft.svg +1 -1
  843. package/dist/ionic/svg/logo-npm.svg +1 -1
  844. package/dist/ionic/svg/logo-paypal.svg +1 -1
  845. package/dist/ionic/svg/logo-soundcloud.svg +1 -1
  846. package/dist/ionic/svg/logo-tableau.svg +1 -1
  847. package/dist/ionic/svg/logo-tiktok.svg +1 -1
  848. package/dist/ionic/svg/logo-trapeze.svg +1 -0
  849. package/dist/ionic/svg/logo-venmo.svg +1 -1
  850. package/dist/ionic/svg/logo-vercel.svg +1 -1
  851. package/dist/ionic/svg/logo-wechat.svg +1 -1
  852. package/dist/ionic/svg/logo-x.svg +1 -0
  853. package/dist/ionic/svg/logo-yahoo.svg +1 -1
  854. package/dist/ionic/svg/prism-outline.svg +1 -1
  855. package/dist/ionic/svg/prism-sharp.svg +1 -1
  856. package/dist/ionic/svg/prism.svg +1 -1
  857. package/dist/ionic/svg/scale-outline.svg +1 -1
  858. package/dist/ionic/svg/scale-sharp.svg +1 -1
  859. package/dist/ionic/svg/scale.svg +1 -1
  860. package/dist/ionic/svg/server-outline.svg +1 -1
  861. package/dist/ionic/svg/server-sharp.svg +1 -1
  862. package/dist/ionic/svg/server.svg +1 -1
  863. package/dist/ionic/svg/shield-half-outline.svg +1 -1
  864. package/dist/ionic/svg/shield-half-sharp.svg +1 -1
  865. package/dist/ionic/svg/shield-half.svg +1 -1
  866. package/dist/ionic/svg/sparkles-outline.svg +1 -1
  867. package/dist/ionic/svg/sparkles-sharp.svg +1 -1
  868. package/dist/ionic/svg/sparkles.svg +1 -1
  869. package/dist/ionic/svg/storefront-outline.svg +1 -1
  870. package/dist/ionic/svg/storefront-sharp.svg +1 -1
  871. package/dist/ionic/svg/storefront.svg +1 -1
  872. package/dist/ionic/svg/telescope-outline.svg +1 -1
  873. package/dist/ionic/svg/telescope-sharp.svg +1 -1
  874. package/dist/ionic/svg/telescope.svg +1 -1
  875. package/dist/ionic/svg/ticket-outline.svg +1 -1
  876. package/dist/ionic/svg/ticket-sharp.svg +1 -1
  877. package/dist/ionic/svg/ticket.svg +1 -1
  878. package/dist/ionic/svg/today-outline.svg +1 -1
  879. package/dist/ionic/svg/today-sharp.svg +1 -1
  880. package/dist/ionic/svg/today.svg +1 -1
  881. package/dist/ionic/svg/unlink-outline.svg +1 -1
  882. package/dist/ionic/svg/unlink-sharp.svg +1 -1
  883. package/dist/ionic/svg/unlink.svg +1 -1
  884. package/dist/ionic/svg/videocam-off-outline.svg +1 -1
  885. package/dist/ionic/svg/videocam-off-sharp.svg +1 -1
  886. package/dist/ionic/svg/videocam-off.svg +1 -1
  887. package/dist/ionic/svg/wifi-outline.svg +1 -1
  888. package/dist/ionic/svg/wifi-sharp.svg +1 -1
  889. package/dist/ionic/svg/wifi.svg +1 -1
  890. package/dist/types/components/accordion/accordion.d.ts +5 -3
  891. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  892. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  893. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  894. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  895. package/dist/types/components/alert/alert.d.ts +3 -2
  896. package/dist/types/components/app/app.d.ts +6 -2
  897. package/dist/types/components/avatar/avatar.d.ts +32 -0
  898. package/dist/types/components/back-button/back-button.d.ts +2 -1
  899. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  900. package/dist/types/components/badge/badge.d.ts +34 -1
  901. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  902. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  903. package/dist/types/components/button/button.d.ts +19 -6
  904. package/dist/types/components/buttons/buttons.d.ts +5 -1
  905. package/dist/types/components/card/card.d.ts +8 -1
  906. package/dist/types/components/card-content/card-content.d.ts +2 -1
  907. package/dist/types/components/card-header/card-header.d.ts +3 -2
  908. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  909. package/dist/types/components/card-title/card-title.d.ts +2 -1
  910. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  911. package/dist/types/components/chip/chip.d.ts +26 -1
  912. package/dist/types/components/col/col.d.ts +4 -0
  913. package/dist/types/components/content/content.d.ts +3 -0
  914. package/dist/types/components/datetime/datetime.d.ts +26 -1
  915. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  916. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  917. package/dist/types/components/divider/divider.d.ts +20 -0
  918. package/dist/types/components/fab/fab.d.ts +4 -0
  919. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  920. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  921. package/dist/types/components/footer/footer.d.ts +4 -3
  922. package/dist/types/components/grid/grid.d.ts +4 -0
  923. package/dist/types/components/header/header.d.ts +9 -3
  924. package/dist/types/components/img/img.d.ts +3 -0
  925. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  926. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  927. package/dist/types/components/input/input.d.ts +31 -5
  928. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  929. package/dist/types/components/item/item.d.ts +11 -4
  930. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  931. package/dist/types/components/item-group/item-group.d.ts +4 -0
  932. package/dist/types/components/item-option/item-option.d.ts +18 -1
  933. package/dist/types/components/item-options/item-options.d.ts +4 -0
  934. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  935. package/dist/types/components/label/label.d.ts +2 -1
  936. package/dist/types/components/list/list.d.ts +15 -1
  937. package/dist/types/components/list-header/list-header.d.ts +2 -1
  938. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  939. package/dist/types/components/loading/loading.d.ts +3 -2
  940. package/dist/types/components/menu/menu.d.ts +3 -0
  941. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  942. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  943. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  944. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  945. package/dist/types/components/modal/modal.d.ts +11 -1
  946. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  947. package/dist/types/components/nav/nav.d.ts +5 -1
  948. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  949. package/dist/types/components/note/note.d.ts +2 -1
  950. package/dist/types/components/picker/picker.d.ts +2 -1
  951. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  952. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  953. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  954. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  955. package/dist/types/components/popover/popover.d.ts +6 -5
  956. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  957. package/dist/types/components/radio/radio.d.ts +2 -1
  958. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  959. package/dist/types/components/range/range.d.ts +2 -1
  960. package/dist/types/components/refresher/refresher.d.ts +2 -1
  961. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  962. package/dist/types/components/reorder/reorder.d.ts +9 -0
  963. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  964. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  965. package/dist/types/components/route/route.d.ts +4 -0
  966. package/dist/types/components/router/router.d.ts +4 -0
  967. package/dist/types/components/router-link/router-link.d.ts +4 -0
  968. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  969. package/dist/types/components/row/row.d.ts +4 -0
  970. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  971. package/dist/types/components/segment/segment.d.ts +2 -1
  972. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  973. package/dist/types/components/select/select.d.ts +41 -13
  974. package/dist/types/components/select-option/select-option.d.ts +4 -0
  975. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  976. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  977. package/dist/types/components/spinner/spinner.d.ts +15 -0
  978. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  979. package/dist/types/components/tab/tab.d.ts +4 -0
  980. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  981. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  982. package/dist/types/components/tabs/tabs.d.ts +3 -0
  983. package/dist/types/components/text/text.d.ts +2 -1
  984. package/dist/types/components/textarea/textarea.d.ts +17 -4
  985. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  986. package/dist/types/components/title/title.d.ts +4 -0
  987. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  988. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  989. package/dist/types/components/toast/toast.d.ts +19 -2
  990. package/dist/types/components/toggle/toggle.d.ts +15 -1
  991. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  992. package/dist/types/components.d.ts +1512 -196
  993. package/dist/types/global/ionic-global.d.ts +27 -2
  994. package/dist/types/interface.d.ts +3 -0
  995. package/dist/types/utils/config.d.ts +106 -2
  996. package/dist/types/utils/focus-visible.d.ts +13 -0
  997. package/dist/types/utils/helpers.d.ts +11 -0
  998. package/dist/types/utils/overlays-interface.d.ts +31 -1
  999. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1000. package/hydrate/index.js +2714 -902
  1001. package/hydrate/index.mjs +2714 -902
  1002. package/package.json +9 -4
  1003. package/components/hardware-back-button.js +0 -115
  1004. package/components/index9.js +0 -7
  1005. package/dist/cjs/hardware-back-button-D90qZxju.js +0 -121
  1006. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1007. package/dist/esm/hardware-back-button-DcH0BbDp.js +0 -115
  1008. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1009. package/dist/ionic/p-0fc6fc38.entry.js +0 -4
  1010. package/dist/ionic/p-14ae45e4.entry.js +0 -4
  1011. package/dist/ionic/p-15da9760.entry.js +0 -4
  1012. package/dist/ionic/p-1739f5f2.entry.js +0 -4
  1013. package/dist/ionic/p-18f1813b.entry.js +0 -4
  1014. package/dist/ionic/p-2020aa51.entry.js +0 -4
  1015. package/dist/ionic/p-2c6c6991.entry.js +0 -4
  1016. package/dist/ionic/p-2cfd6b61.entry.js +0 -4
  1017. package/dist/ionic/p-2da6a16b.entry.js +0 -4
  1018. package/dist/ionic/p-3a4feac2.entry.js +0 -4
  1019. package/dist/ionic/p-473877b6.entry.js +0 -4
  1020. package/dist/ionic/p-4b7d1f35.entry.js +0 -4
  1021. package/dist/ionic/p-4d61f20b.entry.js +0 -4
  1022. package/dist/ionic/p-4ddc10ef.entry.js +0 -4
  1023. package/dist/ionic/p-56712fd4.entry.js +0 -4
  1024. package/dist/ionic/p-66510682.entry.js +0 -4
  1025. package/dist/ionic/p-6b666996.entry.js +0 -4
  1026. package/dist/ionic/p-7149db7e.entry.js +0 -4
  1027. package/dist/ionic/p-73d7ad90.entry.js +0 -4
  1028. package/dist/ionic/p-76b697a3.entry.js +0 -4
  1029. package/dist/ionic/p-8957540a.entry.js +0 -4
  1030. package/dist/ionic/p-8a8ef46b.entry.js +0 -4
  1031. package/dist/ionic/p-8c674371.entry.js +0 -4
  1032. package/dist/ionic/p-8f2f76e0.entry.js +0 -4
  1033. package/dist/ionic/p-90f87086.entry.js +0 -4
  1034. package/dist/ionic/p-91bde659.entry.js +0 -4
  1035. package/dist/ionic/p-96389029.entry.js +0 -4
  1036. package/dist/ionic/p-97667b9c.entry.js +0 -4
  1037. package/dist/ionic/p-9b46b31b.entry.js +0 -4
  1038. package/dist/ionic/p-9e699d4a.entry.js +0 -4
  1039. package/dist/ionic/p-9eeaBrnk.js +0 -4
  1040. package/dist/ionic/p-B1MNHTYX.js +0 -4
  1041. package/dist/ionic/p-B3XSxWNQ.js +0 -4
  1042. package/dist/ionic/p-BROiNJRB.js +0 -4
  1043. package/dist/ionic/p-B_U9CtaY.js +0 -5
  1044. package/dist/ionic/p-BhLqfMrf.js +0 -4
  1045. package/dist/ionic/p-BmQduG8c.js +0 -4
  1046. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1047. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1048. package/dist/ionic/p-CL-KfWxq.js +0 -4
  1049. package/dist/ionic/p-CRiGyYOA.js +0 -4
  1050. package/dist/ionic/p-CbI9XwwW.js +0 -4
  1051. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  1052. package/dist/ionic/p-D-7TeYC4.js +0 -4
  1053. package/dist/ionic/p-DCfS5Jk_.js +0 -4
  1054. package/dist/ionic/p-DgdWETCP.js +0 -4
  1055. package/dist/ionic/p-Do-uqmtX.js +0 -4
  1056. package/dist/ionic/p-DzH0J0yi.js +0 -4
  1057. package/dist/ionic/p-QwEXyOze.js +0 -4
  1058. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1059. package/dist/ionic/p-a6282370.entry.js +0 -4
  1060. package/dist/ionic/p-a9f99c74.entry.js +0 -4
  1061. package/dist/ionic/p-aIxOGKys.js +0 -4
  1062. package/dist/ionic/p-aa8956c2.entry.js +0 -4
  1063. package/dist/ionic/p-b37dbc31.entry.js +0 -4
  1064. package/dist/ionic/p-b9f79efc.entry.js +0 -4
  1065. package/dist/ionic/p-bNmY-WfR.js +0 -4
  1066. package/dist/ionic/p-bc01c127.entry.js +0 -4
  1067. package/dist/ionic/p-bec79123.entry.js +0 -4
  1068. package/dist/ionic/p-c0335397.entry.js +0 -4
  1069. package/dist/ionic/p-c4912ca5.entry.js +0 -4
  1070. package/dist/ionic/p-c884d7e3.entry.js +0 -4
  1071. package/dist/ionic/p-cb787a4b.entry.js +0 -4
  1072. package/dist/ionic/p-cd12ed1c.entry.js +0 -4
  1073. package/dist/ionic/p-cf632ee2.entry.js +0 -4
  1074. package/dist/ionic/p-d47b85ea.entry.js +0 -4
  1075. package/dist/ionic/p-d8ed5df0.entry.js +0 -4
  1076. package/dist/ionic/p-e1260ed5.entry.js +0 -4
  1077. package/dist/ionic/p-e30ff968.entry.js +0 -4
  1078. package/dist/ionic/p-ead42a37.entry.js +0 -4
  1079. package/dist/ionic/p-f83db8cd.entry.js +0 -4
  1080. package/dist/ionic/p-fbc5481b.entry.js +0 -4
  1081. package/dist/ionic/p-fcc7437b.entry.js +0 -4
  1082. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -1,8 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { o as printIonError } from './index-B_U9CtaY.js';
5
- import { w as win } from './index-ZjP4CjeZ.js';
4
+ import { t as printIonError, q as win } from './index-BBrR3goV.js';
6
5
 
7
6
  let animationPrefix;
8
7
  const getAnimationPrefix = (el) => {
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask } from './index-B_U9CtaY.js';
5
- import { h as hapticSelectionEnd, a as hapticSelectionChanged, b as hapticSelectionStart } from './haptic-DzAMWJuk.js';
4
+ import { w as writeTask } from './index-BBrR3goV.js';
5
+ import { h as hapticSelectionEnd, a as hapticSelectionChanged, b as hapticSelectionStart } from './haptic-ZZTn7IWt.js';
6
6
  import { createGesture } from './index-CfgBF1SE.js';
7
7
 
8
8
  const createButtonActiveGesture = (el, isButton) => {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win } from './index-ZjP4CjeZ.js';
4
+ import { q as win } from './index-BBrR3goV.js';
5
5
 
6
6
  const getCapacitor = () => {
7
7
  if (win !== undefined) {
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ const caretDownSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTMuNjYsMTAxLjY2bC04MCw4MGE4LDgsMCwwLDEtMTEuMzIsMGwtODAtODBBOCw4LDAsMCwxLDUzLjY2LDkwLjM0TDEyOCwxNjQuNjlsNzQuMzQtNzQuMzVhOCw4LDAsMCwxLDExLjMyLDExLjMyWiIvPjwvc3ZnPg==';
5
+
6
+ export { caretDownSvg as c };
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ const caretLeftSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNjUuNjYsMjAyLjM0YTgsOCwwLDAsMS0xMS4zMiwxMS4zMmwtODAtODBhOCw4LDAsMCwxLDAtMTEuMzJsODAtODBhOCw4LDAsMCwxLDExLjMyLDExLjMyTDkxLjMxLDEyOFoiLz48L3N2Zz4=';
5
+
6
+ export { caretLeftSvg as c };
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ const caretRightSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xODEuNjYsMTMzLjY2bC04MCw4MGE4LDgsMCwwLDEtMTEuMzItMTEuMzJMMTY0LjY5LDEyOCw5MC4zNCw1My42NmE4LDgsMCwwLDEsMTEuMzItMTEuMzJsODAsODBBOCw4LDAsMCwxLDE4MS42NiwxMzMuNjZaIi8+PC9zdmc+';
5
+
6
+ export { caretRightSvg as c };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { o as printIonError } from './index-B_U9CtaY.js';
4
+ import { t as printIonError } from './index-BBrR3goV.js';
5
5
 
6
6
  /**
7
7
  * Does a simple sanitization of all elements
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { m as printIonWarning } from './index-B_U9CtaY.js';
4
+ import { n as printIonWarning } from './index-BBrR3goV.js';
5
5
 
6
6
  /**
7
7
  * Returns true if the selected day is equal to the reference day
@@ -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 = [];
@@ -1,8 +1,6 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- 'use strict';
5
-
6
4
  const ION_FOCUSED = 'ion-focused';
7
5
  const ION_FOCUSABLE = 'ion-focusable';
8
6
  const FOCUS_KEYS = [
@@ -19,6 +17,28 @@ const FOCUS_KEYS = [
19
17
  'Home',
20
18
  'End',
21
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
+ };
22
42
  const startFocusVisible = (rootEl) => {
23
43
  let currentFocus = [];
24
44
  let keyboardMode = true;
@@ -74,4 +94,4 @@ const startFocusVisible = (rootEl) => {
74
94
  };
75
95
  };
76
96
 
77
- exports.startFocusVisible = startFocusVisible;
97
+ export { focusElements, getOrInitFocusVisibleUtility, startFocusVisible };
@@ -1,7 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-1O4D2b7y.js';
4
+ import { m as config } from './index-BBrR3goV.js';
5
+ import { c as componentOnReady } from './helpers-D_90HVv6.js';
5
6
 
6
7
  // TODO(FW-2832): types
7
8
  const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
@@ -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
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { g as getCapacitor } from './capacitor-CFERIeaU.js';
4
+ import { g as getCapacitor } from './capacitor-Dvc8Ydvg.js';
5
5
 
6
6
  var ImpactStyle;
7
7
  (function (ImpactStyle) {
@@ -1,7 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { o as printIonError } from './index-B_U9CtaY.js';
4
+ import { focusElements } from './focus-visible-vXpMhGrs.js';
5
+ import { t as printIonError, m as config } from './index-BBrR3goV.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
  };
@@ -121,6 +121,126 @@ const printRequiredElementError = (el, ...targetSelectors) => {
121
121
  return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
122
122
  };
123
123
 
124
+ const win$1 = typeof window !== 'undefined' ? window : undefined;
125
+ const doc = typeof document !== 'undefined' ? document : undefined;
126
+
127
+ /**
128
+ * CloseWatcher is a newer API that lets
129
+ * use detect the hardware back button event
130
+ * in a web browser: https://caniuse.com/?search=closewatcher
131
+ * However, not every browser supports it yet.
132
+ *
133
+ * This needs to be a function so that we can
134
+ * check the config once it has been set.
135
+ * Otherwise, this code would be evaluated the
136
+ * moment this file is evaluated which could be
137
+ * before the config is set.
138
+ */
139
+ const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
140
+ /**
141
+ * When hardwareBackButton: false in config,
142
+ * we need to make sure we also block the default
143
+ * webview behavior. If we don't then it will be
144
+ * possible for users to navigate backward while
145
+ * an overlay is still open. Additionally, it will
146
+ * give the appearance that the hardwareBackButton
147
+ * config is not working as the page transition
148
+ * will still happen.
149
+ */
150
+ const blockHardwareBackButton = () => {
151
+ document.addEventListener('backbutton', () => { }); // eslint-disable-line
152
+ };
153
+ const startHardwareBackButton = () => {
154
+ const doc = document;
155
+ let busy = false;
156
+ const backButtonCallback = () => {
157
+ if (busy) {
158
+ return;
159
+ }
160
+ let index = 0;
161
+ let handlers = [];
162
+ const ev = new CustomEvent('ionBackButton', {
163
+ bubbles: false,
164
+ detail: {
165
+ register(priority, handler) {
166
+ handlers.push({ priority, handler, id: index++ });
167
+ },
168
+ },
169
+ });
170
+ doc.dispatchEvent(ev);
171
+ const executeAction = async (handlerRegister) => {
172
+ try {
173
+ if (handlerRegister === null || handlerRegister === void 0 ? void 0 : handlerRegister.handler) {
174
+ const result = handlerRegister.handler(processHandlers);
175
+ if (result != null) {
176
+ await result;
177
+ }
178
+ }
179
+ }
180
+ catch (e) {
181
+ printIonError('[ion-app] - Exception in startHardwareBackButton:', e);
182
+ }
183
+ };
184
+ const processHandlers = () => {
185
+ if (handlers.length > 0) {
186
+ let selectedHandler = {
187
+ priority: Number.MIN_SAFE_INTEGER,
188
+ handler: () => undefined,
189
+ id: -1,
190
+ };
191
+ handlers.forEach((handler) => {
192
+ if (handler.priority >= selectedHandler.priority) {
193
+ selectedHandler = handler;
194
+ }
195
+ });
196
+ busy = true;
197
+ handlers = handlers.filter((handler) => handler.id !== selectedHandler.id);
198
+ executeAction(selectedHandler).then(() => (busy = false));
199
+ }
200
+ };
201
+ processHandlers();
202
+ };
203
+ /**
204
+ * If the CloseWatcher is defined then
205
+ * we don't want to also listen for the native
206
+ * backbutton event otherwise we may get duplicate
207
+ * events firing.
208
+ */
209
+ if (shouldUseCloseWatcher()) {
210
+ let watcher;
211
+ const configureWatcher = () => {
212
+ watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
213
+ watcher = new win$1.CloseWatcher();
214
+ /**
215
+ * Once a close request happens
216
+ * the watcher gets destroyed.
217
+ * As a result, we need to re-configure
218
+ * the watcher so we can respond to other
219
+ * close requests.
220
+ */
221
+ watcher.onclose = () => {
222
+ backButtonCallback();
223
+ configureWatcher();
224
+ };
225
+ };
226
+ configureWatcher();
227
+ }
228
+ else {
229
+ doc.addEventListener('backbutton', backButtonCallback);
230
+ }
231
+ };
232
+ const OVERLAY_BACK_BUTTON_PRIORITY = 100;
233
+ const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
234
+
235
+ var hardwareBackButton = /*#__PURE__*/Object.freeze({
236
+ __proto__: null,
237
+ MENU_BACK_BUTTON_PRIORITY: MENU_BACK_BUTTON_PRIORITY,
238
+ OVERLAY_BACK_BUTTON_PRIORITY: OVERLAY_BACK_BUTTON_PRIORITY,
239
+ blockHardwareBackButton: blockHardwareBackButton,
240
+ shouldUseCloseWatcher: shouldUseCloseWatcher,
241
+ startHardwareBackButton: startHardwareBackButton
242
+ });
243
+
124
244
  const getPlatforms = (win) => setupPlatforms(win);
125
245
  const isPlatform = (winOrPlatform, platform) => {
126
246
  if (typeof winOrPlatform === 'string') {
@@ -210,10 +330,143 @@ const PLATFORMS_MAP = {
210
330
  hybrid: isHybrid,
211
331
  };
212
332
 
213
- // TODO(FW-2832): types
214
333
  let defaultMode;
215
- const getIonMode = (ref) => {
216
- return (ref && getMode(ref)) || defaultMode;
334
+ let defaultTheme = 'md';
335
+ /**
336
+ * Prints a warning message to the developer to inform them of
337
+ * an invalid configuration of mode and theme.
338
+ * @param mode The invalid mode configuration.
339
+ * @param theme The invalid theme configuration.
340
+ */
341
+ const printInvalidModeWarning = (mode, theme, ref) => {
342
+ printIonWarning(`Invalid mode and theme combination provided: mode: ${mode}, theme: ${theme}. Fallback mode ${getDefaultModeForTheme(theme)} will be used.`, ref);
343
+ };
344
+ /**
345
+ * Validates if a mode is accepted for a theme configuration.
346
+ * @param mode The mode to validate.
347
+ * @param theme The theme the mode is being used with.
348
+ * @returns `true` if the mode is valid for the theme, `false` if invalid.
349
+ */
350
+ const isModeValidForTheme = (mode, theme) => {
351
+ if (mode === 'md') {
352
+ return theme === 'md' || theme === 'ionic';
353
+ }
354
+ else if (mode === 'ios') {
355
+ return theme === 'ios' || theme === 'ionic';
356
+ }
357
+ return false;
358
+ };
359
+ /**
360
+ * Returns the default mode for a specified theme.
361
+ * @param theme The theme to return a default mode for.
362
+ * @returns The default mode, either `ios` or `md`.
363
+ */
364
+ const getDefaultModeForTheme = (theme) => {
365
+ if (theme === 'ios') {
366
+ return 'ios';
367
+ }
368
+ return 'md';
369
+ };
370
+ /**
371
+ * Returns the default theme for a specified mode.
372
+ * @param mode The mode to return a default theme for.
373
+ * @returns The default theme.
374
+ */
375
+ const getDefaultThemeForMode = (mode) => {
376
+ if (mode === 'ios') {
377
+ return 'ios';
378
+ }
379
+ return 'md';
380
+ };
381
+ const isModeSupported = (elmMode) => ['ios', 'md'].includes(elmMode);
382
+ const isThemeSupported = (theme) => ['ios', 'md', 'ionic'].includes(theme);
383
+ const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };
384
+ /**
385
+ * Returns the mode value of the element reference or the closest
386
+ * parent with a valid mode.
387
+ * @param ref The element reference to look up the mode for.
388
+ * @param theme Optionally can provide the theme to avoid an additional look-up.
389
+ * @returns The mode value for the element reference.
390
+ */
391
+ const getIonMode = (ref, theme = getIonTheme(ref)) => {
392
+ var _a;
393
+ if ((ref === null || ref === void 0 ? void 0 : ref.mode) && isModeValidForTheme(ref === null || ref === void 0 ? void 0 : ref.mode, theme)) {
394
+ /**
395
+ * If the reference already has a mode configuration,
396
+ * use it instead of performing a look-up.
397
+ */
398
+ return ref.mode;
399
+ }
400
+ else {
401
+ const el = getElement(ref);
402
+ const mode = ((_a = el.closest('[mode]')) === null || _a === void 0 ? void 0 : _a.getAttribute('mode')) || defaultMode;
403
+ if (isModeValidForTheme(mode, theme)) {
404
+ /**
405
+ * The mode configuration is supported for the configured theme.
406
+ */
407
+ return mode;
408
+ }
409
+ else {
410
+ printInvalidModeWarning(mode, theme, ref);
411
+ }
412
+ }
413
+ return getDefaultModeForTheme(theme);
414
+ };
415
+ /**
416
+ * Returns the theme value of the element reference or the closest
417
+ * parent with a valid theme.
418
+ *
419
+ * @param ref The element reference to look up the theme for.
420
+ * @returns The theme value for the element reference, defaults to
421
+ * the default theme if it cannot be determined.
422
+ */
423
+ const getIonTheme = (ref) => {
424
+ var _a, _b;
425
+ const theme = ref && getMode(ref);
426
+ if (theme) {
427
+ return theme;
428
+ }
429
+ /**
430
+ * If the theme cannot be detected, then fallback to using
431
+ * the `mode` attribute to determine the style sheets to use.
432
+ */
433
+ const el = getElement(ref);
434
+ const mode = (_a = ref === null || ref === void 0 ? void 0 : ref.mode) !== null && _a !== void 0 ? _a : (_b = el.closest('[mode]')) === null || _b === void 0 ? void 0 : _b.getAttribute('mode');
435
+ if (mode) {
436
+ return getDefaultThemeForMode(mode);
437
+ }
438
+ /**
439
+ * If a mode is not detected, then fallback to using the
440
+ * default theme.
441
+ */
442
+ return defaultTheme;
443
+ };
444
+ const rIC = (callback) => {
445
+ if ('requestIdleCallback' in window) {
446
+ window.requestIdleCallback(callback);
447
+ }
448
+ else {
449
+ setTimeout(callback, 32);
450
+ }
451
+ };
452
+ const needInputShims = () => {
453
+ /**
454
+ * iOS always needs input shims
455
+ */
456
+ const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile');
457
+ if (needsShimsIOS) {
458
+ return true;
459
+ }
460
+ /**
461
+ * Android only needs input shims when running
462
+ * in the browser and only if the browser is using the
463
+ * new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/
464
+ */
465
+ const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb');
466
+ if (isAndroidMobileWeb) {
467
+ return true;
468
+ }
469
+ return false;
217
470
  };
218
471
  const initialize = (userConfig = {}) => {
219
472
  if (typeof window === 'undefined') {
@@ -231,34 +484,115 @@ const initialize = (userConfig = {}) => {
231
484
  }
232
485
  // Setup platforms
233
486
  setupPlatforms(win);
234
- // first see if the mode was set as an attribute on <html>
235
- // which could have been set by the user, or by pre-rendering
236
- // otherwise get the mode via config settings, and fallback to md
237
487
  Ionic.config = config;
488
+ /**
489
+ * Check if the mode was set as an attribute on <html>
490
+ * which could have been set by the user, or by pre-rendering
491
+ * otherwise get the mode via config settings, and fallback to md.
492
+ */
238
493
  Ionic.mode = defaultMode = config.get('mode', doc.documentElement.getAttribute('mode') || (isPlatform(win, 'ios') ? 'ios' : 'md'));
494
+ /**
495
+ * Check if the theme was set as an attribute on <html>
496
+ * which could have been set by the user, or by pre-rendering
497
+ * otherwise get the theme via config settings, and fallback to md.
498
+ */
499
+ Ionic.theme = defaultTheme = config.get('theme', doc.documentElement.getAttribute('theme') || getDefaultThemeForMode(defaultMode));
500
+ if (!isModeValidForTheme(defaultMode, defaultTheme)) {
501
+ printInvalidModeWarning(defaultMode, defaultTheme, configObj);
502
+ defaultMode = getDefaultModeForTheme(defaultTheme);
503
+ }
239
504
  config.set('mode', defaultMode);
240
505
  doc.documentElement.setAttribute('mode', defaultMode);
241
506
  doc.documentElement.classList.add(defaultMode);
507
+ config.set('theme', defaultTheme);
508
+ doc.documentElement.setAttribute('theme', defaultTheme);
509
+ doc.documentElement.classList.add(defaultTheme);
242
510
  if (config.getBoolean('_testing')) {
243
511
  config.set('animated', false);
244
512
  }
245
- const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };
246
- const isAllowedIonicModeValue = (elmMode) => ['ios', 'md'].includes(elmMode);
247
513
  setMode((elm) => {
514
+ /**
515
+ * Iterate over all the element nodes, to both validate and
516
+ * set the "mode" that is used for determining the styles to
517
+ * apply to the element.
518
+ *
519
+ * setMode refers to Stencil's internal metadata for "mode",
520
+ * which is used to set the correct styleUrl for the component.
521
+ *
522
+ * If the "theme" attribute or property is set, then use it
523
+ * to determine the style sheets to use.
524
+ *
525
+ * If the "mode" attribute or property is set, then use it
526
+ * to determine the style sheets to use. This is fallback
527
+ * behavior for applications that are not setting the "theme".
528
+ */
248
529
  while (elm) {
249
- const elmMode = elm.mode || elm.getAttribute('mode');
530
+ const theme = elm.getAttribute('theme');
531
+ if (theme) {
532
+ if (isThemeSupported(theme)) {
533
+ return theme;
534
+ }
535
+ else if (isIonicElement(elm)) {
536
+ printIonWarning(`Invalid theme: "${theme}". Supported themes include: "ios" or "md".`);
537
+ }
538
+ }
539
+ /**
540
+ * If a theme is not detected, then fallback to using the
541
+ * `mode` attribute to determine the style sheets to use.
542
+ */
543
+ const elmMode = elm.getAttribute('mode');
250
544
  if (elmMode) {
251
- if (isAllowedIonicModeValue(elmMode)) {
545
+ if (isModeSupported(elmMode)) {
252
546
  return elmMode;
253
547
  }
254
548
  else if (isIonicElement(elm)) {
255
- printIonWarning('Invalid ionic mode: "' + elmMode + '", expected: "ios" or "md"');
549
+ printIonWarning(`Invalid mode: "${elmMode}". Ionic modes can be only "ios" or "md"`);
256
550
  }
257
551
  }
258
552
  elm = elm.parentElement;
259
553
  }
260
- return defaultMode;
554
+ return defaultTheme;
261
555
  });
556
+ // `IonApp` code
557
+ // ----------------------------------------------
558
+ {
559
+ rIC(async () => {
560
+ const isHybrid = isPlatform(window, 'hybrid');
561
+ if (!config.getBoolean('_testing')) {
562
+ import('./index-k4x4i7EL.js').then((module) => module.startTapClick(config));
563
+ }
564
+ if (config.getBoolean('statusTap', isHybrid)) {
565
+ import('./status-tap-DLatL9pG.js').then((module) => module.startStatusTap());
566
+ }
567
+ if (config.getBoolean('inputShims', needInputShims())) {
568
+ /**
569
+ * needInputShims() ensures that only iOS and Android
570
+ * platforms proceed into this block.
571
+ */
572
+ const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
573
+ import('./input-shims-DEtEJcaS.js').then((module) => module.startInputShims(config, platform));
574
+ }
575
+ const hardwareBackButtonModule = await Promise.resolve().then(function () { return hardwareBackButton; });
576
+ const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
577
+ if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
578
+ hardwareBackButtonModule.startHardwareBackButton();
579
+ }
580
+ else {
581
+ /**
582
+ * If an app sets hardwareBackButton: false and experimentalCloseWatcher: true
583
+ * then the close watcher will not be used.
584
+ */
585
+ if (shouldUseCloseWatcher()) {
586
+ printIonWarning('[ion-app] - experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used.');
587
+ }
588
+ hardwareBackButtonModule.blockHardwareBackButton();
589
+ }
590
+ if (typeof window !== 'undefined') {
591
+ import('./keyboard-BsZp3qPH.js').then((module) => module.startKeyboardAssist(window));
592
+ }
593
+ import('./focus-visible-vXpMhGrs.js').then((module) => module.getOrInitFocusVisibleUtility());
594
+ });
595
+ }
262
596
  };
263
597
 
264
598
  const globalScripts = initialize;
@@ -3295,4 +3629,4 @@ var hostListenerOpts = (flags) => supportsListenerOptions ? {
3295
3629
  // src/runtime/nonce.ts
3296
3630
  var setNonce = (nonce) => plt.$nonce$ = nonce;
3297
3631
 
3298
- export { Build as B, Fragment as F, H, LogLevel as L, isPlatform as a, bootstrapLazy as b, getPlatforms as c, createEvent as d, getIonMode as e, readTask as f, globalScripts as g, h, initialize as i, Host as j, getElement as k, config as l, printIonWarning as m, forceUpdate as n, printIonError as o, promiseResolve as p, getAssetPath as q, registerInstance as r, setNonce as s, printRequiredElementError as t, writeTask as w };
3632
+ export { Build as B, Fragment as F, H, LogLevel as L, MENU_BACK_BUTTON_PRIORITY as M, OVERLAY_BACK_BUTTON_PRIORITY as O, isPlatform as a, bootstrapLazy as b, getPlatforms as c, createEvent as d, getIonMode as e, readTask as f, globalScripts as g, getIonTheme as h, initialize as i, h as j, Host as k, getElement as l, config as m, printIonWarning as n, forceUpdate as o, promiseResolve as p, win$1 as q, registerInstance as r, setNonce as s, printIonError as t, getAssetPath as u, doc as v, writeTask as w, shouldUseCloseWatcher as x, printRequiredElementError as y };
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { l as config, m as printIonWarning, w as writeTask, B as Build } from './index-B_U9CtaY.js';
5
- import { r as raf } from './helpers-1O4D2b7y.js';
4
+ import { m as config, n as printIonWarning, w as writeTask, B as Build } from './index-BBrR3goV.js';
5
+ import { r as raf } from './helpers-D_90HVv6.js';
6
6
 
7
7
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
8
8
  const LIFECYCLE_DID_ENTER = 'ionViewDidEnter';
@@ -118,8 +118,8 @@ const createFocusController = () => {
118
118
  };
119
119
  const LAST_FOCUS = 'ion-last-focus';
120
120
 
121
- const iosTransitionAnimation = () => import('./ios.transition-BmXtMRXZ.js');
122
- const mdTransitionAnimation = () => import('./md.transition-CLI683c7.js');
121
+ const iosTransitionAnimation = () => import('./ios.transition-C_-UP8wE.js');
122
+ const mdTransitionAnimation = () => import('./md.transition-BDWkLsNw.js');
123
123
  const focusController = createFocusController();
124
124
  // TODO(FW-2832): types
125
125
  const transition = (opts) => {