@ionic/core 8.5.1 → 8.5.2-dev.11742465639.13a7dc3e

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 (1199) hide show
  1. package/components/action-sheet.js +13 -8
  2. package/components/alert.js +15 -10
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +10 -6
  5. package/components/button.js +41 -11
  6. package/components/buttons.js +11 -7
  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 +30 -12
  12. package/components/config2.js +79 -0
  13. package/components/content.js +14 -12
  14. package/components/data.js +6 -6
  15. package/components/focus-visible.js +23 -1
  16. package/components/framework-delegate.js +3 -1
  17. package/components/header.js +24 -15
  18. package/components/helpers.js +43 -2
  19. package/components/index2.js +2 -2
  20. package/components/index4.js +8 -9
  21. package/components/index5.js +27 -3
  22. package/components/index6.js +110 -24
  23. package/components/index7.js +163 -27
  24. package/components/input-shims.js +2 -2
  25. package/components/input.utils.js +1 -2
  26. package/components/ion-accordion-group.js +25 -6
  27. package/components/ion-accordion.js +36 -17
  28. package/components/ion-app.js +14 -77
  29. package/components/ion-avatar.js +54 -5
  30. package/components/ion-back-button.js +29 -19
  31. package/components/ion-badge.js +47 -8
  32. package/components/ion-breadcrumb.js +45 -11
  33. package/components/ion-breadcrumbs.js +9 -5
  34. package/components/ion-card-content.js +11 -7
  35. package/components/ion-card-header.js +9 -5
  36. package/components/ion-card-subtitle.js +9 -5
  37. package/components/ion-card-title.js +9 -5
  38. package/components/ion-card.js +17 -9
  39. package/components/ion-chip.js +45 -8
  40. package/components/ion-col.js +5 -5
  41. package/components/ion-datetime-button.js +9 -6
  42. package/components/ion-datetime.js +99 -21
  43. package/components/ion-divider.d.ts +11 -0
  44. package/components/ion-divider.js +66 -0
  45. package/components/ion-fab-button.js +33 -10
  46. package/components/ion-fab-list.js +5 -5
  47. package/components/ion-fab.js +6 -6
  48. package/components/ion-footer.js +18 -12
  49. package/components/ion-grid.js +5 -5
  50. package/components/ion-img.js +5 -2
  51. package/components/ion-infinite-scroll-content.js +13 -8
  52. package/components/ion-infinite-scroll.js +5 -5
  53. package/components/ion-input-password-toggle.js +53 -14
  54. package/components/ion-input.js +118 -20
  55. package/components/ion-item-divider.js +9 -5
  56. package/components/ion-item-group.js +9 -5
  57. package/components/ion-item-option.js +28 -8
  58. package/components/ion-item-options.js +9 -5
  59. package/components/ion-item-sliding.js +5 -5
  60. package/components/ion-loading.js +13 -8
  61. package/components/ion-menu-button.js +28 -10
  62. package/components/ion-menu-toggle.js +5 -5
  63. package/components/ion-menu.js +12 -8
  64. package/components/ion-nav-link.js +1 -1
  65. package/components/ion-nav.js +8 -6
  66. package/components/ion-note.js +9 -5
  67. package/components/ion-picker-legacy.js +7 -8
  68. package/components/ion-progress-bar.js +28 -7
  69. package/components/ion-range.js +13 -10
  70. package/components/ion-refresher-content.js +28 -9
  71. package/components/ion-refresher.js +11 -7
  72. package/components/ion-reorder-group.js +5 -5
  73. package/components/ion-reorder.js +31 -5
  74. package/components/ion-router-link.js +6 -6
  75. package/components/ion-router-outlet.js +4 -3
  76. package/components/ion-row.js +5 -2
  77. package/components/ion-searchbar.js +141 -18
  78. package/components/ion-segment-button.js +11 -7
  79. package/components/ion-segment-content.js +1 -1
  80. package/components/ion-segment-view.js +6 -2
  81. package/components/ion-segment.js +11 -7
  82. package/components/ion-select-option.js +5 -2
  83. package/components/ion-select.js +120 -33
  84. package/components/ion-skeleton-text.js +6 -5
  85. package/components/ion-split-pane.js +12 -8
  86. package/components/ion-tab-bar.js +31 -8
  87. package/components/ion-tab-button.js +28 -7
  88. package/components/ion-tab.js +2 -2
  89. package/components/ion-tabs.js +2 -2
  90. package/components/ion-text.js +5 -5
  91. package/components/ion-textarea.js +48 -11
  92. package/components/ion-thumbnail.js +5 -2
  93. package/components/ion-toast.js +30 -11
  94. package/components/ion-toggle.js +77 -18
  95. package/components/ionic-global.js +378 -82
  96. package/components/ios.transition.js +1 -0
  97. package/components/item.js +41 -11
  98. package/components/keyboard-controller.js +4 -2
  99. package/components/label.js +9 -5
  100. package/components/list-header.js +9 -5
  101. package/components/list.js +29 -6
  102. package/components/list2.js +6 -0
  103. package/components/modal.js +51 -21
  104. package/components/notch-controller.js +1 -1
  105. package/components/overlays.js +4 -5
  106. package/components/picker-column-option.js +9 -5
  107. package/components/picker-column.js +7 -8
  108. package/components/picker-column2.js +4 -4
  109. package/components/picker.js +8 -4
  110. package/components/popover.js +11 -8
  111. package/components/radio-group.js +5 -3
  112. package/components/radio.js +12 -8
  113. package/components/ripple-effect.js +18 -8
  114. package/components/select-modal.js +3 -3
  115. package/components/select-popover.js +9 -2
  116. package/components/spinner.js +36 -9
  117. package/components/status-tap.js +1 -1
  118. package/components/title.js +11 -7
  119. package/components/toolbar.js +11 -7
  120. package/components/x.js +6 -0
  121. package/css/core.css +1 -1
  122. package/css/core.css.map +1 -1
  123. package/css/display.css +1 -1
  124. package/css/display.css.map +1 -1
  125. package/css/flex-utils.css +1 -1
  126. package/css/flex-utils.css.map +1 -1
  127. package/css/float-elements.css.map +1 -1
  128. package/css/global.bundle.css.map +1 -1
  129. package/css/ionic/bundle.ionic.css +1 -0
  130. package/css/ionic/bundle.ionic.css.map +1 -0
  131. package/css/ionic/core.ionic.css +1 -0
  132. package/css/ionic/core.ionic.css.map +1 -0
  133. package/css/ionic/global.bundle.ionic.css +1 -0
  134. package/css/ionic/global.bundle.ionic.css.map +1 -0
  135. package/css/ionic/ionic-swiper.ionic.css +1 -0
  136. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  137. package/css/ionic/link.ionic.css +1 -0
  138. package/css/ionic/link.ionic.css.map +1 -0
  139. package/css/ionic/structure.ionic.css +1 -0
  140. package/css/ionic/structure.ionic.css.map +1 -0
  141. package/css/ionic/typography.ionic.css +1 -0
  142. package/css/ionic/typography.ionic.css.map +1 -0
  143. package/css/ionic/utils.bundle.ionic.css +1 -0
  144. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  145. package/css/ionic-swiper.css +1 -1
  146. package/css/ionic-swiper.css.map +1 -1
  147. package/css/ionic.bundle.css +1 -1
  148. package/css/ionic.bundle.css.map +1 -1
  149. package/css/normalize.css.map +1 -1
  150. package/css/padding.css.map +1 -1
  151. package/css/palettes/dark.always.css.map +1 -1
  152. package/css/palettes/dark.class.css.map +1 -1
  153. package/css/palettes/dark.system.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  156. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  157. package/css/palettes/high-contrast.always.css.map +1 -1
  158. package/css/palettes/high-contrast.class.css.map +1 -1
  159. package/css/palettes/high-contrast.system.css.map +1 -1
  160. package/css/structure.css.map +1 -1
  161. package/css/text-alignment.css.map +1 -1
  162. package/css/text-transformation.css.map +1 -1
  163. package/css/typography.css.map +1 -1
  164. package/css/utils.bundle.css +1 -1
  165. package/css/utils.bundle.css.map +1 -1
  166. package/dist/cjs/{animation-b4fdf128.js → animation-124b7017.js} +2 -2
  167. package/dist/cjs/{app-globals-dd592863.js → app-globals-04316582.js} +1 -1
  168. package/dist/cjs/{button-active-43e2b419.js → button-active-6c0ef0f0.js} +1 -1
  169. package/dist/cjs/{capacitor-c04564bf.js → capacitor-ec2a454d.js} +3 -3
  170. package/dist/cjs/caret-down-3c215cff.js +8 -0
  171. package/dist/cjs/caret-left-2bb66970.js +8 -0
  172. package/dist/cjs/caret-right-88e03970.js +8 -0
  173. package/dist/cjs/config-aff4ff52.js +84 -0
  174. package/dist/cjs/{data-27cc2c9c.js → data-ae8423e6.js} +8 -8
  175. package/dist/{esm/focus-visible-dd40d69f.js → cjs/focus-visible-fe3acfb5.js} +27 -1
  176. package/dist/cjs/{framework-delegate-11b0ba2f.js → framework-delegate-4de32fdc.js} +4 -2
  177. package/dist/cjs/{haptic-f6b37aa3.js → haptic-f262299e.js} +1 -1
  178. package/dist/cjs/{helpers-d0dfbb50.js → helpers-4211d834.js} +43 -2
  179. package/dist/cjs/{index-f68a486a.js → index-042a8f38.js} +12 -12
  180. package/dist/cjs/{index-363fe6b2.js → index-3d31ef2d.js} +10 -7
  181. package/dist/cjs/{index-fd6383b6.js → index-943c0438.js} +14 -15
  182. package/dist/cjs/{index-9b945a2d.js → index-f835dc22.js} +3 -3
  183. package/dist/cjs/index.cjs.js +11 -12
  184. package/dist/cjs/{input-shims-2d27a5be.js → input-shims-c93f3c7f.js} +18 -18
  185. package/dist/cjs/{input.utils-2f642324.js → input.utils-00741e7b.js} +4 -5
  186. package/dist/cjs/ion-accordion_2.cjs.entry.js +62 -24
  187. package/dist/cjs/ion-action-sheet.cjs.entry.js +22 -18
  188. package/dist/cjs/ion-alert.cjs.entry.js +26 -23
  189. package/dist/cjs/ion-app_8.cjs.entry.js +113 -152
  190. package/dist/cjs/ion-avatar_3.cjs.entry.js +97 -11
  191. package/dist/cjs/ion-back-button.cjs.entry.js +32 -21
  192. package/dist/cjs/ion-backdrop.cjs.entry.js +11 -6
  193. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -15
  194. package/dist/cjs/ion-button_2.cjs.entry.js +47 -15
  195. package/dist/cjs/ion-card_5.cjs.entry.js +53 -28
  196. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
  197. package/dist/cjs/ion-chip.cjs.entry.js +43 -7
  198. package/dist/cjs/ion-col_3.cjs.entry.js +14 -10
  199. package/dist/cjs/ion-datetime-button.cjs.entry.js +17 -12
  200. package/dist/cjs/ion-datetime_3.cjs.entry.js +191 -115
  201. package/dist/cjs/ion-divider.cjs.entry.js +50 -0
  202. package/dist/cjs/ion-fab_3.cjs.entry.js +43 -19
  203. package/dist/cjs/ion-img.cjs.entry.js +8 -3
  204. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +22 -17
  205. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +55 -16
  206. package/dist/cjs/ion-input.cjs.entry.js +119 -23
  207. package/dist/cjs/ion-item-option_3.cjs.entry.js +41 -17
  208. package/dist/cjs/ion-item_8.cjs.entry.js +114 -41
  209. package/dist/cjs/ion-loading.cjs.entry.js +21 -18
  210. package/dist/cjs/ion-menu_3.cjs.entry.js +49 -29
  211. package/dist/cjs/ion-modal.cjs.entry.js +99 -70
  212. package/dist/cjs/ion-nav_2.cjs.entry.js +16 -13
  213. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -6
  214. package/dist/cjs/ion-picker-column.cjs.entry.js +13 -12
  215. package/dist/cjs/ion-picker.cjs.entry.js +11 -5
  216. package/dist/cjs/ion-popover.cjs.entry.js +21 -18
  217. package/dist/cjs/ion-progress-bar.cjs.entry.js +29 -8
  218. package/dist/cjs/ion-radio_2.cjs.entry.js +19 -11
  219. package/dist/cjs/ion-range.cjs.entry.js +21 -16
  220. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -23
  221. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -13
  222. package/dist/cjs/ion-ripple-effect.cjs.entry.js +18 -7
  223. package/dist/cjs/ion-route_4.cjs.entry.js +9 -7
  224. package/dist/cjs/ion-searchbar.cjs.entry.js +139 -17
  225. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  226. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -2
  227. package/dist/cjs/ion-segment_2.cjs.entry.js +24 -14
  228. package/dist/cjs/ion-select-modal.cjs.entry.js +9 -10
  229. package/dist/cjs/ion-select_3.cjs.entry.js +134 -40
  230. package/dist/cjs/ion-spinner.cjs.entry.js +35 -9
  231. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -8
  232. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +61 -20
  233. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -6
  234. package/dist/cjs/ion-text.cjs.entry.js +6 -5
  235. package/dist/cjs/ion-textarea.cjs.entry.js +52 -16
  236. package/dist/cjs/ion-toast.cjs.entry.js +60 -42
  237. package/dist/cjs/ion-toggle.cjs.entry.js +81 -22
  238. package/dist/cjs/ionic-global-5c446a5e.js +531 -0
  239. package/dist/cjs/ionic.cjs.js +4 -3
  240. package/dist/cjs/{ios.transition-f970164c.js → ios.transition-cdf1959e.js} +7 -6
  241. package/dist/cjs/{keyboard-0272231f.js → keyboard-924ba9a2.js} +1 -1
  242. package/dist/cjs/{keyboard-af1bb365.js → keyboard-9cd4a473.js} +5 -3
  243. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-dc7a55c4.js} +11 -9
  244. package/dist/cjs/list-2930c629.js +8 -0
  245. package/dist/cjs/loader.cjs.js +4 -3
  246. package/dist/cjs/{md.transition-aa8820dd.js → md.transition-6a00a3e7.js} +6 -6
  247. package/dist/cjs/{notch-controller-58d2e557.js → notch-controller-14681d65.js} +4 -4
  248. package/dist/cjs/{overlays-737576a2.js → overlays-288b775b.js} +19 -20
  249. package/dist/cjs/{status-tap-08d1ac81.js → status-tap-a41ad873.js} +5 -4
  250. package/dist/cjs/{swipe-back-951be2fd.js → swipe-back-cf9385d3.js} +3 -1
  251. package/dist/cjs/x-81a8f51c.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 +37 -21
  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 +43 -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 +14 -10
  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 +15 -12
  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 +285 -0
  269. package/dist/collection/components/avatar/avatar.ios.css +13 -0
  270. package/dist/collection/components/avatar/avatar.js +92 -4
  271. package/dist/collection/components/avatar/avatar.md.css +21 -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 +150 -0
  276. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  277. package/dist/collection/components/backdrop/backdrop.js +12 -6
  278. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  279. package/dist/collection/components/badge/badge.ionic.css +313 -0
  280. package/dist/collection/components/badge/badge.ios.css +128 -4
  281. package/dist/collection/components/badge/badge.js +94 -8
  282. package/dist/collection/components/badge/badge.md.css +128 -4
  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 +609 -0
  290. package/dist/collection/components/button/button.ios.css +131 -37
  291. package/dist/collection/components/button/button.js +46 -16
  292. package/dist/collection/components/button/button.md.css +122 -41
  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 +14 -8
  296. package/dist/collection/components/buttons/buttons.md.css +55 -3
  297. package/dist/collection/components/card/card.ionic.css +137 -0
  298. package/dist/collection/components/card/card.ios.css +65 -14
  299. package/dist/collection/components/card/card.js +34 -10
  300. package/dist/collection/components/card/card.md.css +65 -14
  301. package/dist/collection/components/card-content/card-content.ionic.css +90 -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 +12 -9
  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 +402 -0
  317. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  318. package/dist/collection/components/checkbox/checkbox.js +64 -14
  319. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  320. package/dist/collection/components/chip/chip.ionic.css +160 -0
  321. package/dist/collection/components/chip/chip.ios.css +20 -1
  322. package/dist/collection/components/chip/chip.js +77 -8
  323. package/dist/collection/components/chip/chip.md.css +20 -1
  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 +237 -86
  330. package/dist/collection/components/datetime/datetime.js +98 -20
  331. package/dist/collection/components/datetime/datetime.md.css +237 -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.css +187 -0
  337. package/dist/collection/components/divider/divider.js +82 -0
  338. package/dist/collection/components/fab/fab.css +25 -1
  339. package/dist/collection/components/fab/fab.js +9 -5
  340. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  341. package/dist/collection/components/fab-button/fab-button.js +36 -15
  342. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  343. package/dist/collection/components/fab-list/fab-list.css +12 -0
  344. package/dist/collection/components/fab-list/fab-list.js +9 -5
  345. package/dist/collection/components/footer/footer.ios.css +14 -2
  346. package/dist/collection/components/footer/footer.js +20 -15
  347. package/dist/collection/components/footer/footer.md.css +12 -0
  348. package/dist/collection/components/grid/grid.css +12 -0
  349. package/dist/collection/components/grid/grid.js +9 -5
  350. package/dist/collection/components/header/header.ionic.css +86 -0
  351. package/dist/collection/components/header/header.ios.css +25 -10
  352. package/dist/collection/components/header/header.js +42 -17
  353. package/dist/collection/components/header/header.md.css +23 -8
  354. package/dist/collection/components/img/img.js +8 -2
  355. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  356. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  357. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  358. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  359. package/dist/collection/components/input/input.ionic.css +1079 -0
  360. package/dist/collection/components/input/input.ios.css +21 -2
  361. package/dist/collection/components/input/input.js +144 -30
  362. package/dist/collection/components/input/input.md.css +43 -4
  363. package/dist/collection/components/input-password-toggle/input-password-toggle.common.css +61 -0
  364. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +141 -0
  365. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  366. package/dist/collection/components/item/item.ionic.css +497 -0
  367. package/dist/collection/components/item/item.ios.css +109 -69
  368. package/dist/collection/components/item/item.js +44 -16
  369. package/dist/collection/components/item/item.md.css +120 -68
  370. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  371. package/dist/collection/components/item-divider/item-divider.js +11 -8
  372. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  373. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  374. package/dist/collection/components/item-group/item-group.js +13 -7
  375. package/dist/collection/components/item-group/item-group.md.css +12 -0
  376. package/dist/collection/components/item-option/item-option.ionic.css +332 -0
  377. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  378. package/dist/collection/components/item-option/item-option.js +43 -8
  379. package/dist/collection/components/item-option/item-option.md.css +14 -2
  380. package/dist/collection/components/item-options/item-options.ionic.css +259 -0
  381. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  382. package/dist/collection/components/item-options/item-options.js +13 -7
  383. package/dist/collection/components/item-options/item-options.md.css +18 -0
  384. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  385. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  386. package/dist/collection/components/label/label.ios.css +18 -0
  387. package/dist/collection/components/label/label.js +11 -8
  388. package/dist/collection/components/label/label.md.css +18 -0
  389. package/dist/collection/components/list/list.ionic.css +192 -0
  390. package/dist/collection/components/list/list.ios.css +18 -0
  391. package/dist/collection/components/list/list.js +47 -9
  392. package/dist/collection/components/list/list.md.css +20 -2
  393. package/dist/collection/components/list-header/list-header.ionic.css +236 -0
  394. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  395. package/dist/collection/components/list-header/list-header.js +11 -8
  396. package/dist/collection/components/list-header/list-header.md.css +18 -0
  397. package/dist/collection/components/loading/loading.ios.css +13 -1
  398. package/dist/collection/components/loading/loading.js +13 -10
  399. package/dist/collection/components/loading/loading.md.css +13 -1
  400. package/dist/collection/components/menu/menu.ios.css +15 -3
  401. package/dist/collection/components/menu/menu.js +12 -7
  402. package/dist/collection/components/menu/menu.md.css +15 -3
  403. package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
  404. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  405. package/dist/collection/components/menu-button/menu-button.js +26 -10
  406. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  407. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  408. package/dist/collection/components/modal/animations/sheet.js +8 -2
  409. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  410. package/dist/collection/components/modal/modal.ionic.css +245 -0
  411. package/dist/collection/components/modal/modal.ios.css +106 -63
  412. package/dist/collection/components/modal/modal.js +47 -11
  413. package/dist/collection/components/modal/modal.md.css +106 -63
  414. package/dist/collection/components/nav/nav.css +7 -1
  415. package/dist/collection/components/nav/nav.js +11 -5
  416. package/dist/collection/components/nav-link/nav-link.js +5 -1
  417. package/dist/collection/components/note/note.ios.css +12 -0
  418. package/dist/collection/components/note/note.js +11 -8
  419. package/dist/collection/components/note/note.md.css +12 -0
  420. package/dist/collection/components/picker/picker.ios.css +15 -3
  421. package/dist/collection/components/picker/picker.js +8 -5
  422. package/dist/collection/components/picker/picker.md.css +15 -3
  423. package/dist/collection/components/picker-column/picker-column.css +9 -2
  424. package/dist/collection/components/picker-column/picker-column.js +8 -7
  425. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  426. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  427. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  428. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  429. package/dist/collection/components/picker-legacy/picker.js +7 -6
  430. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  431. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  432. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  433. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  434. package/dist/collection/components/popover/popover.ios.css +13 -1
  435. package/dist/collection/components/popover/popover.js +15 -12
  436. package/dist/collection/components/popover/popover.md.css +13 -1
  437. package/dist/collection/components/progress-bar/progress-bar.ionic.css +333 -0
  438. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  439. package/dist/collection/components/progress-bar/progress-bar.js +42 -7
  440. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  441. package/dist/collection/components/radio/radio.ionic.css +424 -0
  442. package/dist/collection/components/radio/radio.ios.css +134 -91
  443. package/dist/collection/components/radio/radio.js +12 -9
  444. package/dist/collection/components/radio/radio.md.css +134 -91
  445. package/dist/collection/components/radio-group/radio-group.ios.css +18 -0
  446. package/dist/collection/components/radio-group/radio-group.js +9 -3
  447. package/dist/collection/components/radio-group/radio-group.md.css +18 -0
  448. package/dist/collection/components/range/range.ionic.css +555 -0
  449. package/dist/collection/components/range/range.ios.css +128 -85
  450. package/dist/collection/components/range/range.js +12 -9
  451. package/dist/collection/components/range/range.md.css +128 -85
  452. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  453. package/dist/collection/components/refresher/refresher.js +11 -8
  454. package/dist/collection/components/refresher/refresher.md.css +15 -2
  455. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  456. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  457. package/dist/collection/components/reorder/reorder.js +33 -6
  458. package/dist/collection/components/reorder/reorder.md.css +6 -0
  459. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  460. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  461. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  462. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +154 -0
  463. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  464. package/dist/collection/components/route/route.js +4 -0
  465. package/dist/collection/components/router/router.js +4 -0
  466. package/dist/collection/components/router-link/router-link.css +8 -2
  467. package/dist/collection/components/router-link/router-link.js +9 -5
  468. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  469. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  470. package/dist/collection/components/row/row.css +12 -0
  471. package/dist/collection/components/row/row.js +9 -2
  472. package/dist/collection/components/searchbar/searchbar.ionic.css +628 -0
  473. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  474. package/dist/collection/components/searchbar/searchbar.js +179 -29
  475. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  476. package/dist/collection/components/segment/segment.ionic.css +117 -0
  477. package/dist/collection/components/segment/segment.ios.css +45 -2
  478. package/dist/collection/components/segment/segment.js +11 -8
  479. package/dist/collection/components/segment/segment.md.css +45 -2
  480. package/dist/collection/components/segment-button/segment-button.ionic.css +355 -0
  481. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  482. package/dist/collection/components/segment-button/segment-button.js +11 -8
  483. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  484. package/dist/collection/components/segment-content/segment-content.js +1 -1
  485. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  486. package/dist/collection/components/segment-view/segment-view.js +6 -4
  487. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  488. package/dist/collection/components/select/select.ionic.css +824 -0
  489. package/dist/collection/components/select/select.ios.css +248 -121
  490. package/dist/collection/components/select/select.js +157 -55
  491. package/dist/collection/components/select/select.md.css +264 -123
  492. package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
  493. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  494. package/dist/collection/components/select-modal/select-modal.js +3 -3
  495. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  496. package/dist/collection/components/select-option/select-option.js +9 -2
  497. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  498. package/dist/collection/components/select-popover/select-popover.js +12 -4
  499. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  500. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  501. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  502. package/dist/collection/components/spinner/spinner.common.css +199 -0
  503. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +63 -0
  504. package/dist/collection/components/spinner/spinner.js +46 -6
  505. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  506. package/dist/collection/components/split-pane/split-pane.js +14 -8
  507. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  508. package/dist/collection/components/tab/tab.js +6 -2
  509. package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
  510. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  511. package/dist/collection/components/tab-bar/tab-bar.js +65 -10
  512. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  513. package/dist/collection/components/tab-button/tab-button.ionic.css +282 -0
  514. package/dist/collection/components/tab-button/tab-button.ios.css +103 -88
  515. package/dist/collection/components/tab-button/tab-button.js +43 -8
  516. package/dist/collection/components/tab-button/tab-button.md.css +103 -88
  517. package/dist/collection/components/tabs/tabs.css +7 -1
  518. package/dist/collection/components/tabs/tabs.js +4 -1
  519. package/dist/collection/components/text/text.css +6 -0
  520. package/dist/collection/components/text/text.js +7 -6
  521. package/dist/collection/components/textarea/textarea.ionic.css +860 -0
  522. package/dist/collection/components/textarea/textarea.ios.css +201 -94
  523. package/dist/collection/components/textarea/textarea.js +69 -16
  524. package/dist/collection/components/textarea/textarea.md.css +214 -95
  525. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  526. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  527. package/dist/collection/components/title/title.ionic.css +145 -0
  528. package/dist/collection/components/title/title.ios.css +32 -4
  529. package/dist/collection/components/title/title.js +13 -7
  530. package/dist/collection/components/title/title.md.css +32 -4
  531. package/dist/collection/components/toast/animations/utils.js +1 -1
  532. package/dist/collection/components/toast/toast.ionic.css +377 -0
  533. package/dist/collection/components/toast/toast.ios.css +74 -35
  534. package/dist/collection/components/toast/toast.js +45 -10
  535. package/dist/collection/components/toast/toast.md.css +74 -35
  536. package/dist/collection/components/toggle/toggle.ionic.css +516 -0
  537. package/dist/collection/components/toggle/toggle.ios.css +228 -121
  538. package/dist/collection/components/toggle/toggle.js +73 -18
  539. package/dist/collection/components/toggle/toggle.md.css +225 -121
  540. package/dist/collection/components/toolbar/toolbar.ionic.css +233 -0
  541. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  542. package/dist/collection/components/toolbar/toolbar.js +13 -10
  543. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  544. package/dist/collection/global/ionic-global.js +229 -13
  545. package/dist/collection/utils/focus-visible.js +22 -0
  546. package/dist/collection/utils/framework-delegate.js +3 -1
  547. package/dist/collection/utils/helpers.js +42 -2
  548. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  549. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  550. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  551. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  552. package/dist/collection/utils/overlays.js +2 -1
  553. package/dist/collection/utils/test/playwright/generator.js +48 -23
  554. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  555. package/dist/collection/utils/test/playwright/page/utils/set-content.js +16 -2
  556. package/dist/collection/utils/transition/ios.transition.js +1 -0
  557. package/dist/docs.json +7412 -331
  558. package/dist/esm/{animation-eab5a4ca.js → animation-12d440f3.js} +1 -1
  559. package/dist/esm/{app-globals-7b6cbf1a.js → app-globals-2497eeed.js} +1 -1
  560. package/dist/esm/{button-active-90f1dbc4.js → button-active-8f33f086.js} +2 -2
  561. package/dist/esm/{capacitor-59395cbd.js → capacitor-39edcb1f.js} +1 -1
  562. package/dist/esm/caret-down-3eaad1cc.js +6 -0
  563. package/dist/esm/caret-left-33424bb0.js +6 -0
  564. package/dist/esm/caret-right-68d856ad.js +6 -0
  565. package/dist/esm/config-84eb9670.js +79 -0
  566. package/dist/esm/{data-174ad5e0.js → data-591c1b05.js} +6 -6
  567. package/dist/{cjs/focus-visible-7a0ce04f.js → esm/focus-visible-6827442c.js} +23 -3
  568. package/dist/esm/{framework-delegate-c7d92b77.js → framework-delegate-9ad3e427.js} +4 -2
  569. package/dist/esm/{haptic-ac164e4c.js → haptic-946542b8.js} +1 -1
  570. package/dist/esm/{helpers-e48b0397.js → helpers-ea1f7324.js} +43 -2
  571. package/dist/esm/{index-c63afbe6.js → index-036caa00.js} +10 -11
  572. package/{components/index9.js → dist/esm/index-0c65e393.js} +5 -2
  573. package/dist/esm/{index-527b9e34.js → index-4c3c5d46.js} +1 -1
  574. package/dist/esm/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  575. package/dist/esm/{index-a313df53.js → index-eb1203fa.js} +6 -6
  576. package/dist/esm/{index-933ca126.js → index-f36a3fa4.js} +2 -2
  577. package/dist/esm/index.js +12 -13
  578. package/dist/esm/{input-shims-3070628a.js → input-shims-96f8d7c2.js} +8 -8
  579. package/dist/esm/{input.utils-926c04a8.js → input.utils-22a20c3a.js} +2 -3
  580. package/dist/esm/ion-accordion_2.entry.js +62 -24
  581. package/dist/esm/ion-action-sheet.entry.js +23 -19
  582. package/dist/esm/ion-alert.entry.js +24 -21
  583. package/dist/esm/ion-app_8.entry.js +101 -140
  584. package/dist/esm/ion-avatar_3.entry.js +98 -12
  585. package/dist/esm/ion-back-button.entry.js +32 -21
  586. package/dist/esm/ion-backdrop.entry.js +12 -7
  587. package/dist/esm/ion-breadcrumb_2.entry.js +56 -17
  588. package/dist/esm/ion-button_2.entry.js +45 -13
  589. package/dist/esm/ion-card_5.entry.js +54 -29
  590. package/dist/esm/ion-checkbox.entry.js +32 -14
  591. package/dist/esm/ion-chip.entry.js +44 -8
  592. package/dist/esm/ion-col_3.entry.js +15 -11
  593. package/dist/esm/ion-datetime-button.entry.js +14 -9
  594. package/dist/esm/ion-datetime_3.entry.js +117 -41
  595. package/dist/esm/ion-divider.entry.js +46 -0
  596. package/dist/esm/ion-fab_3.entry.js +45 -21
  597. package/dist/esm/ion-img.entry.js +9 -4
  598. package/dist/esm/ion-infinite-scroll_2.entry.js +20 -15
  599. package/dist/esm/ion-input-password-toggle.entry.js +54 -15
  600. package/dist/esm/ion-input.entry.js +121 -25
  601. package/dist/esm/ion-item-option_3.entry.js +42 -18
  602. package/dist/esm/ion-item_8.entry.js +115 -42
  603. package/dist/esm/ion-loading.entry.js +19 -16
  604. package/dist/esm/ion-menu_3.entry.js +49 -29
  605. package/dist/esm/ion-modal.entry.js +60 -31
  606. package/dist/esm/ion-nav_2.entry.js +15 -12
  607. package/dist/esm/ion-picker-column-option.entry.js +13 -7
  608. package/dist/esm/ion-picker-column.entry.js +13 -12
  609. package/dist/esm/ion-picker.entry.js +12 -6
  610. package/dist/esm/ion-popover.entry.js +19 -16
  611. package/dist/esm/ion-progress-bar.entry.js +29 -8
  612. package/dist/esm/ion-radio_2.entry.js +20 -12
  613. package/dist/esm/ion-range.entry.js +17 -12
  614. package/dist/esm/ion-refresher_2.entry.js +43 -21
  615. package/dist/esm/ion-reorder_2.entry.js +40 -15
  616. package/dist/esm/ion-ripple-effect.entry.js +19 -8
  617. package/dist/esm/ion-route_4.entry.js +10 -8
  618. package/dist/esm/ion-searchbar.entry.js +141 -19
  619. package/dist/esm/ion-segment-content.entry.js +2 -2
  620. package/dist/esm/ion-segment-view.entry.js +7 -3
  621. package/dist/esm/ion-segment_2.entry.js +25 -15
  622. package/dist/esm/ion-select-modal.entry.js +10 -11
  623. package/dist/esm/ion-select_3.entry.js +136 -42
  624. package/dist/esm/ion-spinner.entry.js +34 -8
  625. package/dist/esm/ion-split-pane.entry.js +14 -9
  626. package/dist/esm/ion-tab-bar_2.entry.js +61 -20
  627. package/dist/esm/ion-tab_2.entry.js +9 -7
  628. package/dist/esm/ion-text.entry.js +7 -6
  629. package/dist/esm/ion-textarea.entry.js +53 -17
  630. package/dist/esm/ion-toast.entry.js +35 -17
  631. package/dist/esm/ion-toggle.entry.js +82 -23
  632. package/dist/esm/ionic-global-b30d2cc2.js +517 -0
  633. package/dist/esm/ionic.js +6 -5
  634. package/dist/esm/{ios.transition-5fe4d6c8.js → ios.transition-cbbf0bd1.js} +8 -7
  635. package/dist/esm/{keyboard-52278bd7.js → keyboard-0af19ead.js} +5 -3
  636. package/dist/esm/{keyboard-73175e24.js → keyboard-ceb6990d.js} +1 -1
  637. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-7e2da6b9.js} +5 -3
  638. package/dist/esm/list-6524700c.js +6 -0
  639. package/dist/esm/loader.js +6 -5
  640. package/dist/esm/{md.transition-3d0d3730.js → md.transition-21c93656.js} +7 -7
  641. package/dist/esm/{notch-controller-381a5334.js → notch-controller-cd983e05.js} +2 -2
  642. package/dist/esm/{overlays-7579a420.js → overlays-d60b1d1e.js} +6 -7
  643. package/dist/esm/{status-tap-6367b913.js → status-tap-bf78b74d.js} +6 -5
  644. package/dist/esm/{swipe-back-276cda49.js → swipe-back-fff82194.js} +3 -1
  645. package/dist/esm/x-a64bcd9f.js +6 -0
  646. package/dist/esm-es5/animation-12d440f3.js +4 -0
  647. package/dist/esm-es5/app-globals-2497eeed.js +4 -0
  648. package/dist/esm-es5/{button-active-90f1dbc4.js → button-active-8f33f086.js} +1 -1
  649. package/dist/esm-es5/capacitor-39edcb1f.js +4 -0
  650. package/dist/esm-es5/caret-down-3eaad1cc.js +4 -0
  651. package/dist/esm-es5/caret-left-33424bb0.js +4 -0
  652. package/dist/esm-es5/caret-right-68d856ad.js +4 -0
  653. package/dist/esm-es5/config-84eb9670.js +4 -0
  654. package/dist/esm-es5/data-591c1b05.js +4 -0
  655. package/dist/esm-es5/focus-visible-6827442c.js +4 -0
  656. package/dist/esm-es5/framework-delegate-9ad3e427.js +4 -0
  657. package/dist/esm-es5/{haptic-ac164e4c.js → haptic-946542b8.js} +1 -1
  658. package/dist/esm-es5/helpers-ea1f7324.js +4 -0
  659. package/dist/esm-es5/index-036caa00.js +4 -0
  660. package/dist/esm-es5/index-0c65e393.js +4 -0
  661. package/dist/esm-es5/{index-527b9e34.js → index-4c3c5d46.js} +1 -1
  662. package/dist/esm-es5/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  663. package/dist/esm-es5/index-eb1203fa.js +4 -0
  664. package/dist/esm-es5/index-f36a3fa4.js +4 -0
  665. package/dist/esm-es5/index.js +1 -1
  666. package/dist/esm-es5/input-shims-96f8d7c2.js +4 -0
  667. package/dist/esm-es5/input.utils-22a20c3a.js +4 -0
  668. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  669. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  670. package/dist/esm-es5/ion-alert.entry.js +1 -1
  671. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  672. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  673. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  674. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  675. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  676. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  677. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  678. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  679. package/dist/esm-es5/ion-chip.entry.js +1 -1
  680. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  681. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  682. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  683. package/dist/esm-es5/ion-divider.entry.js +4 -0
  684. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  685. package/dist/esm-es5/ion-img.entry.js +1 -1
  686. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  687. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  688. package/dist/esm-es5/ion-input.entry.js +1 -1
  689. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  690. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  691. package/dist/esm-es5/ion-loading.entry.js +1 -1
  692. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  693. package/dist/esm-es5/ion-modal.entry.js +1 -1
  694. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  695. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  696. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  697. package/dist/esm-es5/ion-picker.entry.js +1 -1
  698. package/dist/esm-es5/ion-popover.entry.js +1 -1
  699. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  700. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  701. package/dist/esm-es5/ion-range.entry.js +1 -1
  702. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  703. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  704. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  705. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  706. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  707. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  708. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  709. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  710. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  711. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  712. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  713. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  714. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  715. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  716. package/dist/esm-es5/ion-text.entry.js +1 -1
  717. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  718. package/dist/esm-es5/ion-toast.entry.js +1 -1
  719. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  720. package/dist/esm-es5/ionic-global-b30d2cc2.js +4 -0
  721. package/dist/esm-es5/ionic.js +1 -1
  722. package/dist/esm-es5/ios.transition-cbbf0bd1.js +4 -0
  723. package/dist/esm-es5/{keyboard-52278bd7.js → keyboard-0af19ead.js} +1 -1
  724. package/dist/esm-es5/{keyboard-73175e24.js → keyboard-ceb6990d.js} +1 -1
  725. package/dist/esm-es5/keyboard-controller-7e2da6b9.js +4 -0
  726. package/dist/esm-es5/list-6524700c.js +4 -0
  727. package/dist/esm-es5/loader.js +1 -1
  728. package/dist/esm-es5/md.transition-21c93656.js +4 -0
  729. package/dist/esm-es5/notch-controller-cd983e05.js +4 -0
  730. package/dist/esm-es5/overlays-d60b1d1e.js +4 -0
  731. package/dist/esm-es5/status-tap-bf78b74d.js +4 -0
  732. package/dist/esm-es5/swipe-back-fff82194.js +4 -0
  733. package/dist/esm-es5/x-a64bcd9f.js +4 -0
  734. package/dist/html.html-data.json +2449 -211
  735. package/dist/ionic/index.esm.js +1 -1
  736. package/dist/ionic/ionic.esm.js +1 -1
  737. package/dist/ionic/ionic.js +1 -1
  738. package/dist/ionic/p-01717254.entry.js +4 -0
  739. package/dist/ionic/p-0175d2ed.system.js +4 -0
  740. package/dist/ionic/p-01d80901.system.js +4 -0
  741. package/dist/ionic/p-0354fd7d.system.entry.js +4 -0
  742. package/dist/ionic/p-047943a4.entry.js +4 -0
  743. package/dist/ionic/p-04ca2bc3.system.js +4 -0
  744. package/dist/ionic/p-051208d8.system.js +4 -0
  745. package/dist/ionic/p-0571060e.system.js +4 -0
  746. package/dist/ionic/p-06a7a822.system.entry.js +4 -0
  747. package/dist/ionic/p-06ec4706.js +4 -0
  748. package/dist/ionic/p-081a0931.entry.js +4 -0
  749. package/dist/ionic/p-0b07a566.system.entry.js +4 -0
  750. package/dist/ionic/p-0c0a2f5c.entry.js +4 -0
  751. package/dist/ionic/p-0c5e0dc8.system.entry.js +4 -0
  752. package/dist/ionic/p-0e08325d.entry.js +4 -0
  753. package/dist/ionic/p-0e25995f.entry.js +4 -0
  754. package/dist/ionic/p-0eaae446.js +4 -0
  755. package/dist/ionic/p-107ddb23.entry.js +4 -0
  756. package/dist/ionic/{p-1e955a45.system.js → p-115d74cd.system.js} +1 -1
  757. package/dist/ionic/p-11ac6c97.entry.js +4 -0
  758. package/dist/ionic/p-148ed064.entry.js +4 -0
  759. package/dist/ionic/p-1613cd36.system.entry.js +4 -0
  760. package/dist/ionic/p-17f49808.system.entry.js +4 -0
  761. package/dist/ionic/p-195c7099.system.entry.js +4 -0
  762. package/dist/ionic/p-1a3b4566.system.entry.js +4 -0
  763. package/dist/ionic/p-1bb9592a.entry.js +4 -0
  764. package/dist/ionic/p-1c8f3fef.system.entry.js +4 -0
  765. package/dist/ionic/p-1ee39457.system.entry.js +4 -0
  766. package/dist/ionic/p-1fd5c378.system.js +4 -0
  767. package/dist/ionic/p-20ec20dc.system.js +4 -0
  768. package/dist/ionic/p-243adf8c.js +4 -0
  769. package/dist/ionic/p-266448a7.system.entry.js +4 -0
  770. package/dist/ionic/p-29b8f112.js +4 -0
  771. package/dist/ionic/p-2a1b5646.system.js +4 -0
  772. package/dist/ionic/p-2a4ebf7b.entry.js +4 -0
  773. package/dist/ionic/p-2a6e60d2.system.entry.js +4 -0
  774. package/dist/ionic/p-2aca2df7.entry.js +4 -0
  775. package/dist/ionic/{p-a93873de.system.js → p-2b8078c3.system.js} +1 -1
  776. package/dist/ionic/{p-89b61afc.js → p-2c0735b6.js} +1 -1
  777. package/dist/ionic/p-2c4d0578.system.entry.js +4 -0
  778. package/dist/ionic/{p-f7ce606e.js → p-2cbcecdb.js} +1 -1
  779. package/dist/ionic/p-2cede1ff.system.entry.js +4 -0
  780. package/dist/ionic/{p-22bc235f.js → p-2d30c885.js} +1 -1
  781. package/dist/ionic/p-2f14ca13.js +4 -0
  782. package/dist/ionic/p-31956865.system.entry.js +4 -0
  783. package/dist/ionic/{p-6797c66e.system.js → p-34fa2a61.system.js} +2 -2
  784. package/dist/ionic/p-36b11a30.system.entry.js +4 -0
  785. package/dist/ionic/p-3775da84.system.entry.js +4 -0
  786. package/dist/ionic/p-396bdcf7.js +4 -0
  787. package/dist/ionic/p-3cdea564.system.entry.js +4 -0
  788. package/dist/ionic/p-3dd43dba.system.entry.js +4 -0
  789. package/dist/ionic/{p-c8402249.js → p-3e9058ad.js} +1 -1
  790. package/dist/ionic/p-3fa3fd4a.system.entry.js +4 -0
  791. package/dist/ionic/p-40ea7c52.js +4 -0
  792. package/dist/ionic/p-4279f787.entry.js +4 -0
  793. package/dist/ionic/p-429dd2b5.system.js +4 -0
  794. package/dist/ionic/p-42acd60b.system.entry.js +4 -0
  795. package/dist/ionic/{p-a4866e3e.system.js → p-42e12526.system.js} +1 -1
  796. package/dist/ionic/p-43b4ca5b.entry.js +4 -0
  797. package/dist/ionic/p-443152fd.js +4 -0
  798. package/dist/ionic/p-4459a66e.system.js +4 -0
  799. package/dist/ionic/p-4606e323.system.entry.js +4 -0
  800. package/dist/ionic/p-46204887.entry.js +4 -0
  801. package/dist/ionic/p-495eb25e.entry.js +4 -0
  802. package/dist/ionic/p-534b5031.js +4 -0
  803. package/dist/ionic/{p-66a5d6a8.js → p-578d5013.js} +1 -1
  804. package/dist/ionic/p-579b4a63.entry.js +4 -0
  805. package/dist/ionic/p-583f0c5f.js +4 -0
  806. package/dist/ionic/p-58a30d90.entry.js +4 -0
  807. package/dist/ionic/{p-da2b833b.js → p-58f16ef6.js} +1 -1
  808. package/dist/ionic/p-5b57d327.system.js +4 -0
  809. package/dist/ionic/p-5c586ac1.entry.js +4 -0
  810. package/dist/ionic/p-5c9aab48.system.entry.js +4 -0
  811. package/dist/ionic/p-5dce701d.js +4 -0
  812. package/dist/ionic/{p-9146695e.system.js → p-5df8d52a.system.js} +1 -1
  813. package/dist/ionic/p-607c9c33.js +4 -0
  814. package/dist/ionic/p-61977a32.entry.js +4 -0
  815. package/dist/ionic/p-64771457.system.entry.js +4 -0
  816. package/dist/ionic/p-653e4810.entry.js +4 -0
  817. package/dist/ionic/p-6620dffa.entry.js +4 -0
  818. package/dist/ionic/p-663ace5f.entry.js +4 -0
  819. package/dist/ionic/p-66a495c4.system.entry.js +4 -0
  820. package/dist/ionic/p-6761a590.js +4 -0
  821. package/dist/ionic/p-689a94b3.system.entry.js +4 -0
  822. package/dist/ionic/p-6a0dd6bc.js +4 -0
  823. package/dist/ionic/p-6bf6e9e8.entry.js +4 -0
  824. package/dist/ionic/p-6ce59667.entry.js +4 -0
  825. package/dist/ionic/{p-b06ac4a5.system.js → p-6eb15fc1.system.js} +1 -1
  826. package/dist/ionic/p-7071d7ca.js +4 -0
  827. package/dist/ionic/p-70d36cb8.system.js +4 -0
  828. package/dist/ionic/p-71d96a02.system.entry.js +4 -0
  829. package/dist/ionic/p-72d019c5.system.entry.js +4 -0
  830. package/dist/ionic/p-730993c9.system.entry.js +4 -0
  831. package/dist/ionic/p-787d9af9.js +4 -0
  832. package/dist/ionic/p-78fbb151.system.js +4 -0
  833. package/dist/ionic/p-7beb0900.system.entry.js +4 -0
  834. package/dist/ionic/p-7d8e1a3d.system.entry.js +4 -0
  835. package/dist/ionic/p-7dbbb35d.entry.js +4 -0
  836. package/dist/ionic/p-7e4cf8e1.entry.js +4 -0
  837. package/dist/ionic/p-80263807.system.js +4 -0
  838. package/dist/ionic/p-83d7c238.system.entry.js +4 -0
  839. package/dist/ionic/p-85bb90f6.entry.js +4 -0
  840. package/dist/ionic/p-85cee6c9.entry.js +4 -0
  841. package/dist/ionic/p-86a390a7.js +4 -0
  842. package/dist/ionic/p-883ff61d.system.entry.js +4 -0
  843. package/dist/ionic/p-8870fcbd.entry.js +4 -0
  844. package/dist/ionic/p-8cba58fa.system.entry.js +4 -0
  845. package/dist/ionic/p-8cfd2546.entry.js +4 -0
  846. package/dist/ionic/p-8d7684b7.entry.js +4 -0
  847. package/dist/ionic/p-8d7bbe79.system.entry.js +4 -0
  848. package/dist/ionic/p-8f3bd9ab.system.js +4 -0
  849. package/dist/ionic/p-90ac5fdf.entry.js +4 -0
  850. package/dist/ionic/p-90ec152d.system.js +4 -0
  851. package/dist/ionic/p-91ce2114.entry.js +4 -0
  852. package/dist/ionic/p-97ce7496.system.entry.js +4 -0
  853. package/dist/ionic/p-981b8086.entry.js +4 -0
  854. package/dist/ionic/p-999a0cef.system.entry.js +4 -0
  855. package/dist/ionic/p-9b177519.js +4 -0
  856. package/dist/ionic/p-9dab7e7c.js +4 -0
  857. package/dist/ionic/p-9e9999d5.entry.js +4 -0
  858. package/dist/ionic/p-a3144a1e.entry.js +4 -0
  859. package/dist/ionic/{p-5eb6f582.system.js → p-a3ad8084.system.js} +1 -1
  860. package/dist/ionic/p-a4c11918.system.entry.js +4 -0
  861. package/dist/ionic/p-a4c64c42.entry.js +4 -0
  862. package/dist/ionic/{p-c7e16491.js → p-a92ad86c.js} +1 -1
  863. package/dist/ionic/p-a9af4103.js +4 -0
  864. package/dist/ionic/p-b1618321.entry.js +4 -0
  865. package/dist/ionic/{p-9a2ff5ea.system.js → p-b3b40a2f.system.js} +1 -1
  866. package/dist/ionic/p-b6baf215.entry.js +4 -0
  867. package/dist/ionic/p-bb79b24d.system.entry.js +4 -0
  868. package/dist/ionic/p-bc0ab45b.entry.js +4 -0
  869. package/dist/ionic/p-bcfc28b7.system.entry.js +4 -0
  870. package/dist/ionic/p-bd215938.system.entry.js +4 -0
  871. package/dist/ionic/{p-2027221d.js → p-be1800d4.js} +1 -1
  872. package/dist/ionic/p-befb004d.entry.js +4 -0
  873. package/dist/ionic/{p-a6625de8.system.js → p-c0abf8f8.system.js} +1 -1
  874. package/dist/ionic/p-c248c88d.system.js +4 -0
  875. package/dist/ionic/p-c27342bf.system.entry.js +4 -0
  876. package/dist/ionic/p-c47cb709.js +4 -0
  877. package/dist/ionic/p-cbad55f3.system.entry.js +4 -0
  878. package/dist/ionic/p-cef4553b.entry.js +4 -0
  879. package/dist/ionic/p-cff47c26.system.entry.js +4 -0
  880. package/dist/ionic/{p-042d5353.system.js → p-d197eaeb.system.js} +1 -1
  881. package/dist/ionic/{p-f11a9436.system.js → p-d2536fe8.system.js} +1 -1
  882. package/dist/ionic/p-d2e6afa9.system.js +4 -0
  883. package/dist/ionic/p-d35e20cf.system.entry.js +4 -0
  884. package/dist/ionic/p-d4a21287.js +4 -0
  885. package/dist/ionic/p-d534a6c8.entry.js +4 -0
  886. package/dist/ionic/p-d75951ba.system.entry.js +4 -0
  887. package/dist/ionic/p-d760d709.entry.js +4 -0
  888. package/dist/ionic/p-da7bd63e.system.entry.js +4 -0
  889. package/dist/ionic/p-de32ae2a.system.entry.js +4 -0
  890. package/dist/ionic/{p-27281edd.js → p-de9f68cb.js} +1 -1
  891. package/dist/ionic/p-dea6541e.entry.js +4 -0
  892. package/dist/ionic/p-deb05ec4.js +4 -0
  893. package/dist/ionic/p-dff0b93b.system.entry.js +4 -0
  894. package/dist/ionic/{p-1bf5ec17.system.js → p-e028d393.system.js} +1 -1
  895. package/dist/ionic/p-e028d3f1.entry.js +4 -0
  896. package/dist/ionic/p-e3b70846.system.js +4 -0
  897. package/dist/ionic/p-e913a8ec.system.entry.js +4 -0
  898. package/dist/ionic/p-eb15cdb8.entry.js +4 -0
  899. package/dist/ionic/p-ed32d861.system.entry.js +4 -0
  900. package/dist/ionic/p-ef74796f.entry.js +4 -0
  901. package/dist/ionic/p-ef7f7ba9.js +4 -0
  902. package/dist/ionic/p-effec462.system.js +4 -0
  903. package/dist/ionic/{p-8985cdb6.system.js → p-f3fed3f9.system.js} +1 -1
  904. package/dist/ionic/p-f4a27763.entry.js +4 -0
  905. package/dist/ionic/p-f63db3d4.entry.js +4 -0
  906. package/dist/ionic/p-f853b71b.entry.js +4 -0
  907. package/dist/ionic/p-fb0197d6.system.entry.js +4 -0
  908. package/dist/ionic/{p-77991411.system.js → p-fcedca77.system.js} +1 -1
  909. package/dist/ionic/p-fdcaa201.system.js +4 -0
  910. package/dist/types/components/accordion/accordion.d.ts +5 -3
  911. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  912. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  913. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  914. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  915. package/dist/types/components/alert/alert.d.ts +3 -2
  916. package/dist/types/components/app/app.d.ts +6 -2
  917. package/dist/types/components/avatar/avatar.d.ts +28 -0
  918. package/dist/types/components/back-button/back-button.d.ts +2 -1
  919. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  920. package/dist/types/components/badge/badge.d.ts +28 -1
  921. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  922. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  923. package/dist/types/components/button/button.d.ts +15 -4
  924. package/dist/types/components/buttons/buttons.d.ts +5 -1
  925. package/dist/types/components/card/card.d.ts +8 -1
  926. package/dist/types/components/card-content/card-content.d.ts +2 -1
  927. package/dist/types/components/card-header/card-header.d.ts +3 -2
  928. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  929. package/dist/types/components/card-title/card-title.d.ts +2 -1
  930. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  931. package/dist/types/components/chip/chip.d.ts +19 -1
  932. package/dist/types/components/col/col.d.ts +4 -0
  933. package/dist/types/components/content/content.d.ts +3 -0
  934. package/dist/types/components/datetime/datetime.d.ts +26 -1
  935. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  936. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  937. package/dist/types/components/divider/divider.d.ts +21 -0
  938. package/dist/types/components/fab/fab.d.ts +4 -0
  939. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  940. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  941. package/dist/types/components/footer/footer.d.ts +4 -3
  942. package/dist/types/components/grid/grid.d.ts +4 -0
  943. package/dist/types/components/header/header.d.ts +9 -3
  944. package/dist/types/components/img/img.d.ts +3 -0
  945. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  946. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  947. package/dist/types/components/input/input.d.ts +31 -5
  948. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  949. package/dist/types/components/item/item.d.ts +11 -4
  950. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  951. package/dist/types/components/item-group/item-group.d.ts +4 -0
  952. package/dist/types/components/item-option/item-option.d.ts +11 -1
  953. package/dist/types/components/item-options/item-options.d.ts +4 -0
  954. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  955. package/dist/types/components/label/label.d.ts +2 -1
  956. package/dist/types/components/list/list.d.ts +15 -1
  957. package/dist/types/components/list-header/list-header.d.ts +2 -1
  958. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  959. package/dist/types/components/loading/loading.d.ts +3 -2
  960. package/dist/types/components/menu/menu.d.ts +3 -0
  961. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  962. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  963. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  964. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  965. package/dist/types/components/modal/modal.d.ts +11 -1
  966. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  967. package/dist/types/components/nav/nav.d.ts +5 -1
  968. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  969. package/dist/types/components/note/note.d.ts +2 -1
  970. package/dist/types/components/picker/picker.d.ts +2 -1
  971. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  972. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  973. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  974. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  975. package/dist/types/components/popover/popover.d.ts +6 -5
  976. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  977. package/dist/types/components/radio/radio.d.ts +2 -1
  978. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  979. package/dist/types/components/range/range.d.ts +2 -1
  980. package/dist/types/components/refresher/refresher.d.ts +2 -1
  981. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  982. package/dist/types/components/reorder/reorder.d.ts +9 -0
  983. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  984. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  985. package/dist/types/components/route/route.d.ts +4 -0
  986. package/dist/types/components/router/router.d.ts +4 -0
  987. package/dist/types/components/router-link/router-link.d.ts +4 -0
  988. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  989. package/dist/types/components/row/row.d.ts +4 -0
  990. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  991. package/dist/types/components/segment/segment.d.ts +2 -1
  992. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  993. package/dist/types/components/select/select.d.ts +41 -13
  994. package/dist/types/components/select-option/select-option.d.ts +4 -0
  995. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  996. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  997. package/dist/types/components/spinner/spinner.d.ts +15 -0
  998. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  999. package/dist/types/components/tab/tab.d.ts +4 -0
  1000. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  1001. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  1002. package/dist/types/components/tabs/tabs.d.ts +3 -0
  1003. package/dist/types/components/text/text.d.ts +2 -1
  1004. package/dist/types/components/textarea/textarea.d.ts +17 -4
  1005. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  1006. package/dist/types/components/title/title.d.ts +4 -0
  1007. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  1008. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  1009. package/dist/types/components/toast/toast.d.ts +12 -2
  1010. package/dist/types/components/toggle/toggle.d.ts +15 -1
  1011. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  1012. package/dist/types/components.d.ts +1457 -195
  1013. package/dist/types/global/ionic-global.d.ts +27 -2
  1014. package/dist/types/interface.d.ts +3 -0
  1015. package/dist/types/utils/config.d.ts +106 -2
  1016. package/dist/types/utils/focus-visible.d.ts +13 -0
  1017. package/dist/types/utils/helpers.d.ts +11 -0
  1018. package/dist/types/utils/overlays-interface.d.ts +31 -1
  1019. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1020. package/hydrate/index.js +2554 -893
  1021. package/hydrate/index.mjs +2554 -893
  1022. package/package.json +9 -4
  1023. package/components/hardware-back-button.js +0 -115
  1024. package/components/index8.js +0 -128
  1025. package/dist/cjs/hardware-back-button-5a99001f.js +0 -122
  1026. package/dist/cjs/index-48b2a28e.js +0 -46
  1027. package/dist/cjs/index-c8d52405.js +0 -10
  1028. package/dist/cjs/ionic-global-acb665ad.js +0 -227
  1029. package/dist/esm/hardware-back-button-864101a3.js +0 -116
  1030. package/dist/esm/index-738d7504.js +0 -42
  1031. package/dist/esm/index-8222b29f.js +0 -167
  1032. package/dist/esm/index-a5d50daf.js +0 -7
  1033. package/dist/esm/ionic-global-ca86cf32.js +0 -221
  1034. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  1035. package/dist/esm-es5/app-globals-7b6cbf1a.js +0 -4
  1036. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  1037. package/dist/esm-es5/data-174ad5e0.js +0 -4
  1038. package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
  1039. package/dist/esm-es5/framework-delegate-c7d92b77.js +0 -4
  1040. package/dist/esm-es5/hardware-back-button-864101a3.js +0 -4
  1041. package/dist/esm-es5/helpers-e48b0397.js +0 -4
  1042. package/dist/esm-es5/index-738d7504.js +0 -4
  1043. package/dist/esm-es5/index-8222b29f.js +0 -4
  1044. package/dist/esm-es5/index-933ca126.js +0 -4
  1045. package/dist/esm-es5/index-a313df53.js +0 -4
  1046. package/dist/esm-es5/index-a5d50daf.js +0 -4
  1047. package/dist/esm-es5/index-c63afbe6.js +0 -4
  1048. package/dist/esm-es5/input-shims-3070628a.js +0 -4
  1049. package/dist/esm-es5/input.utils-926c04a8.js +0 -4
  1050. package/dist/esm-es5/ionic-global-ca86cf32.js +0 -4
  1051. package/dist/esm-es5/ios.transition-5fe4d6c8.js +0 -4
  1052. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  1053. package/dist/esm-es5/md.transition-3d0d3730.js +0 -4
  1054. package/dist/esm-es5/notch-controller-381a5334.js +0 -4
  1055. package/dist/esm-es5/overlays-7579a420.js +0 -4
  1056. package/dist/esm-es5/status-tap-6367b913.js +0 -4
  1057. package/dist/esm-es5/swipe-back-276cda49.js +0 -4
  1058. package/dist/ionic/p-023e8017.system.entry.js +0 -4
  1059. package/dist/ionic/p-060e4551.js +0 -4
  1060. package/dist/ionic/p-0749768d.entry.js +0 -4
  1061. package/dist/ionic/p-094c82d7.entry.js +0 -4
  1062. package/dist/ionic/p-0adb6909.system.entry.js +0 -4
  1063. package/dist/ionic/p-0be8a0b5.entry.js +0 -4
  1064. package/dist/ionic/p-0bedc891.system.entry.js +0 -4
  1065. package/dist/ionic/p-0c0ec971.entry.js +0 -4
  1066. package/dist/ionic/p-0c9b8240.system.entry.js +0 -4
  1067. package/dist/ionic/p-0ec5b7cf.system.js +0 -4
  1068. package/dist/ionic/p-1164ff6b.system.entry.js +0 -4
  1069. package/dist/ionic/p-13886789.entry.js +0 -4
  1070. package/dist/ionic/p-143ff664.system.entry.js +0 -4
  1071. package/dist/ionic/p-18f9b6d5.entry.js +0 -4
  1072. package/dist/ionic/p-19c32a76.entry.js +0 -4
  1073. package/dist/ionic/p-1a9613bf.system.entry.js +0 -4
  1074. package/dist/ionic/p-1c1d781d.system.entry.js +0 -4
  1075. package/dist/ionic/p-1d2844a5.system.entry.js +0 -4
  1076. package/dist/ionic/p-1d98a7f1.entry.js +0 -4
  1077. package/dist/ionic/p-1dfc11b3.system.js +0 -4
  1078. package/dist/ionic/p-1e4371bd.js +0 -4
  1079. package/dist/ionic/p-1f837356.entry.js +0 -4
  1080. package/dist/ionic/p-21371278.system.entry.js +0 -4
  1081. package/dist/ionic/p-21891ead.js +0 -4
  1082. package/dist/ionic/p-24ae7b33.system.js +0 -4
  1083. package/dist/ionic/p-297d6806.system.js +0 -4
  1084. package/dist/ionic/p-29a5b4e4.entry.js +0 -4
  1085. package/dist/ionic/p-2ab4a324.system.entry.js +0 -4
  1086. package/dist/ionic/p-2b7827c7.js +0 -4
  1087. package/dist/ionic/p-2ee9a2c6.entry.js +0 -4
  1088. package/dist/ionic/p-2fa5a4b1.entry.js +0 -4
  1089. package/dist/ionic/p-3479f51b.system.js +0 -4
  1090. package/dist/ionic/p-35f14792.entry.js +0 -4
  1091. package/dist/ionic/p-37a438ad.system.entry.js +0 -4
  1092. package/dist/ionic/p-3af7b907.entry.js +0 -4
  1093. package/dist/ionic/p-3bd5fedc.system.js +0 -4
  1094. package/dist/ionic/p-3be7cdeb.system.entry.js +0 -4
  1095. package/dist/ionic/p-3e86b4fa.system.js +0 -4
  1096. package/dist/ionic/p-3f4327f7.js +0 -4
  1097. package/dist/ionic/p-42f6e75c.entry.js +0 -4
  1098. package/dist/ionic/p-4470f87b.system.entry.js +0 -4
  1099. package/dist/ionic/p-4493c1ac.entry.js +0 -4
  1100. package/dist/ionic/p-44e168f3.system.js +0 -4
  1101. package/dist/ionic/p-4630688e.system.entry.js +0 -4
  1102. package/dist/ionic/p-472c7e08.system.entry.js +0 -4
  1103. package/dist/ionic/p-491de063.system.entry.js +0 -4
  1104. package/dist/ionic/p-49cb79a1.system.entry.js +0 -4
  1105. package/dist/ionic/p-4c44d04c.js +0 -4
  1106. package/dist/ionic/p-4c94580e.js +0 -4
  1107. package/dist/ionic/p-4d0190ad.system.entry.js +0 -4
  1108. package/dist/ionic/p-50f38461.entry.js +0 -4
  1109. package/dist/ionic/p-51c363e7.system.js +0 -4
  1110. package/dist/ionic/p-524ad57e.system.entry.js +0 -4
  1111. package/dist/ionic/p-54893ae3.entry.js +0 -4
  1112. package/dist/ionic/p-54e9620f.js +0 -4
  1113. package/dist/ionic/p-58c482af.entry.js +0 -4
  1114. package/dist/ionic/p-597ff9af.js +0 -4
  1115. package/dist/ionic/p-5f4ff20a.entry.js +0 -4
  1116. package/dist/ionic/p-606887b7.system.entry.js +0 -4
  1117. package/dist/ionic/p-61e794fb.entry.js +0 -4
  1118. package/dist/ionic/p-6e24cf82.entry.js +0 -4
  1119. package/dist/ionic/p-72e6a9c6.entry.js +0 -4
  1120. package/dist/ionic/p-747f9517.entry.js +0 -4
  1121. package/dist/ionic/p-792919fd.system.js +0 -4
  1122. package/dist/ionic/p-7b30edcc.js +0 -4
  1123. package/dist/ionic/p-7cc33a9a.system.js +0 -4
  1124. package/dist/ionic/p-7e3b5638.system.entry.js +0 -4
  1125. package/dist/ionic/p-7f39653f.entry.js +0 -4
  1126. package/dist/ionic/p-7ff4f502.entry.js +0 -4
  1127. package/dist/ionic/p-81378456.system.entry.js +0 -4
  1128. package/dist/ionic/p-81474833.system.entry.js +0 -4
  1129. package/dist/ionic/p-838cc359.entry.js +0 -4
  1130. package/dist/ionic/p-85f6070f.entry.js +0 -4
  1131. package/dist/ionic/p-888d383b.system.entry.js +0 -4
  1132. package/dist/ionic/p-8b1c1fd7.entry.js +0 -4
  1133. package/dist/ionic/p-8deac7df.system.entry.js +0 -4
  1134. package/dist/ionic/p-8fa4fa3f.entry.js +0 -4
  1135. package/dist/ionic/p-8fa62efe.system.entry.js +0 -4
  1136. package/dist/ionic/p-8fc426e2.entry.js +0 -4
  1137. package/dist/ionic/p-941c06bc.js +0 -4
  1138. package/dist/ionic/p-959cf042.system.entry.js +0 -4
  1139. package/dist/ionic/p-988a0306.system.js +0 -4
  1140. package/dist/ionic/p-9af7f110.js +0 -4
  1141. package/dist/ionic/p-9b069739.entry.js +0 -4
  1142. package/dist/ionic/p-9df36075.system.entry.js +0 -4
  1143. package/dist/ionic/p-9e51f822.js +0 -4
  1144. package/dist/ionic/p-a0a40004.system.entry.js +0 -4
  1145. package/dist/ionic/p-a520973b.entry.js +0 -4
  1146. package/dist/ionic/p-a587b2ae.system.js +0 -4
  1147. package/dist/ionic/p-a63b345e.system.entry.js +0 -4
  1148. package/dist/ionic/p-a9f2c0a7.entry.js +0 -4
  1149. package/dist/ionic/p-ab7337e1.entry.js +0 -4
  1150. package/dist/ionic/p-abe101da.system.js +0 -4
  1151. package/dist/ionic/p-ac58d726.system.entry.js +0 -4
  1152. package/dist/ionic/p-ace2d2be.entry.js +0 -4
  1153. package/dist/ionic/p-ada878ce.entry.js +0 -4
  1154. package/dist/ionic/p-b055d618.entry.js +0 -4
  1155. package/dist/ionic/p-b2296998.system.entry.js +0 -4
  1156. package/dist/ionic/p-b2ee0628.system.entry.js +0 -4
  1157. package/dist/ionic/p-b6174297.entry.js +0 -4
  1158. package/dist/ionic/p-b85d199c.entry.js +0 -4
  1159. package/dist/ionic/p-b8c2dbcd.entry.js +0 -4
  1160. package/dist/ionic/p-b9ea58ef.js +0 -4
  1161. package/dist/ionic/p-b9eb1465.system.entry.js +0 -4
  1162. package/dist/ionic/p-b9f2e353.entry.js +0 -4
  1163. package/dist/ionic/p-bbc6db8c.entry.js +0 -4
  1164. package/dist/ionic/p-bf64af90.system.js +0 -4
  1165. package/dist/ionic/p-c005cc37.entry.js +0 -4
  1166. package/dist/ionic/p-c25c0ba4.entry.js +0 -4
  1167. package/dist/ionic/p-c468af8a.system.js +0 -4
  1168. package/dist/ionic/p-c5b5f44a.entry.js +0 -4
  1169. package/dist/ionic/p-c61cc894.js +0 -4
  1170. package/dist/ionic/p-c6a20407.system.entry.js +0 -4
  1171. package/dist/ionic/p-c8331397.system.entry.js +0 -4
  1172. package/dist/ionic/p-c8bf9ba7.entry.js +0 -4
  1173. package/dist/ionic/p-ceaea4ce.js +0 -4
  1174. package/dist/ionic/p-d37fdc68.system.entry.js +0 -4
  1175. package/dist/ionic/p-d47265c8.js +0 -4
  1176. package/dist/ionic/p-d7032956.system.js +0 -4
  1177. package/dist/ionic/p-d8c9d5ac.system.entry.js +0 -4
  1178. package/dist/ionic/p-daf1e8ec.system.entry.js +0 -4
  1179. package/dist/ionic/p-def7a8bd.system.entry.js +0 -4
  1180. package/dist/ionic/p-e00b72ce.js +0 -4
  1181. package/dist/ionic/p-e0a05506.js +0 -4
  1182. package/dist/ionic/p-e0c0218f.system.entry.js +0 -4
  1183. package/dist/ionic/p-e0c43e11.system.entry.js +0 -4
  1184. package/dist/ionic/p-e4683bfd.system.entry.js +0 -4
  1185. package/dist/ionic/p-e5708e5d.system.entry.js +0 -4
  1186. package/dist/ionic/p-e5c27d9f.system.entry.js +0 -4
  1187. package/dist/ionic/p-e5cf01f1.entry.js +0 -4
  1188. package/dist/ionic/p-e7309bfa.js +0 -4
  1189. package/dist/ionic/p-ed768b77.entry.js +0 -4
  1190. package/dist/ionic/p-eec4b772.entry.js +0 -4
  1191. package/dist/ionic/p-eeee3990.system.entry.js +0 -4
  1192. package/dist/ionic/p-efa0f3f5.entry.js +0 -4
  1193. package/dist/ionic/p-f02e9382.system.entry.js +0 -4
  1194. package/dist/ionic/p-f201b53a.system.js +0 -4
  1195. package/dist/ionic/p-f554845e.js +0 -4
  1196. package/dist/ionic/p-f6bb9be7.system.entry.js +0 -4
  1197. package/dist/ionic/p-f94b2f2f.system.entry.js +0 -4
  1198. package/dist/ionic/p-ff4a1ba0.system.entry.js +0 -4
  1199. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -17,6 +17,28 @@ const FOCUS_KEYS = [
17
17
  'Home',
18
18
  'End',
19
19
  ];
20
+ let focusVisibleUtility = null;
21
+ export 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
+ export const focusElements = (elements) => {
39
+ const focusVisible = getOrInitFocusVisibleUtility();
40
+ focusVisible.setFocus(elements);
41
+ };
20
42
  export const startFocusVisible = (rootEl) => {
21
43
  let currentFocus = [];
22
44
  let keyboardMode = true;
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { config } from "../global/config";
4
5
  import { componentOnReady } from "./helpers";
5
6
  // TODO(FW-2832): types
6
7
  export const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
@@ -101,7 +102,8 @@ export const CoreDelegate = () => {
101
102
  * Get the root of the app and
102
103
  * add the overlay there.
103
104
  */
104
- const app = document.querySelector('ion-app') || document.body;
105
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
106
+ const app = document.querySelector(appRootSelector) || document.body;
105
107
  /**
106
108
  * Create a placeholder comment so that
107
109
  * we can return this component to where
@@ -1,6 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { focusElements } from "./focus-visible";
5
+ import { config } from "../global/config";
4
6
  export const transitionEndAsync = (el, expectedDuration = 0) => {
5
7
  return new Promise((resolve) => {
6
8
  transitionEnd(el, expectedDuration, resolve);
@@ -202,6 +204,17 @@ export const raf = (h) => {
202
204
  export const hasShadowDom = (el) => {
203
205
  return !!el.shadowRoot && !!el.attachShadow;
204
206
  };
207
+ /**
208
+ * Focuses a given element while ensuring proper focus management
209
+ * within the Ionic framework. If the element is marked as `ion-focusable`,
210
+ * this function will delegate focus handling to `ion-app` or manually
211
+ * apply focus when a custom app root is used.
212
+ *
213
+ * This function helps maintain accessibility and expected focus behavior
214
+ * in both standard and custom root environments.
215
+ *
216
+ * @param el - The element to focus.
217
+ */
205
218
  export const focusVisibleElement = (el) => {
206
219
  el.focus();
207
220
  /**
@@ -213,9 +226,36 @@ export const focusVisibleElement = (el) => {
213
226
  * which will let us explicitly set the elements to focus.
214
227
  */
215
228
  if (el.classList.contains('ion-focusable')) {
216
- const app = el.closest('ion-app');
229
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
230
+ const app = el.closest(appRootSelector);
217
231
  if (app) {
218
- app.setFocus([el]);
232
+ if (appRootSelector === 'ion-app') {
233
+ /**
234
+ * If the app root is the default, then it will be
235
+ * in charge of setting focus. This is because the
236
+ * focus-visible utility is attached to the app root
237
+ * and will handle setting focus on the correct element.
238
+ */
239
+ app.setFocus([el]);
240
+ }
241
+ else {
242
+ /**
243
+ * When using a custom app root selector, the focus-visible
244
+ * utility is not available to manage focus automatically.
245
+ * If we set focus immediately, the element may not be fully
246
+ * rendered or interactive, especially if it was just added
247
+ * to the DOM. Using requestAnimationFrame ensures that focus
248
+ * is applied on the next frame, allowing the DOM to settle
249
+ * before changing focus.
250
+ */
251
+ requestAnimationFrame(() => {
252
+ /**
253
+ * The focus-visible utility is used to set focus on an
254
+ * element that uses `ion-focusable`.
255
+ */
256
+ focusElements([el]);
257
+ });
258
+ }
219
259
  }
220
260
  }
221
261
  };
@@ -2,6 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { doc, win } from "../browser/index";
5
+ import { config } from "../../global/config";
5
6
  import { Keyboard, KeyboardResize } from "../native/keyboard";
6
7
  /**
7
8
  * The element that resizes when the keyboard opens
@@ -25,7 +26,8 @@ const getResizeContainer = (resizeMode) => {
25
26
  * on that. In the event `ion-app` is not available then
26
27
  * we can fall back to `body`.
27
28
  */
28
- const ionApp = doc.querySelector('ion-app');
29
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
30
+ const ionApp = doc.querySelector(appRootSelector);
29
31
  return ionApp !== null && ionApp !== void 0 ? ionApp : doc.body;
30
32
  };
31
33
  /**
@@ -27,8 +27,8 @@ export const menuOverlayAnimation = (menu) => {
27
27
  }
28
28
  menuAnimation.addElement(menu.menuInnerEl).fromTo('transform', `translateX(${closedX})`, `translateX(${openedX})`);
29
29
  const mode = getIonMode(menu);
30
- const isIos = mode === 'ios';
31
- const opacity = isIos ? 0.2 : 0.25;
30
+ const isIOS = mode === 'ios';
31
+ const opacity = isIOS ? 0.2 : 0.25;
32
32
  backdropAnimation.addElement(menu.backdropEl).fromTo('opacity', 0.01, opacity);
33
- return baseAnimation(isIos).addAnimation([menuAnimation, backdropAnimation]);
33
+ return baseAnimation(isIOS).addAnimation([menuAnimation, backdropAnimation]);
34
34
  };
@@ -14,6 +14,7 @@ export const menuPushAnimation = (menu) => {
14
14
  let menuClosedX;
15
15
  const mode = getIonMode(menu);
16
16
  const width = menu.width;
17
+ const isIOS = mode === 'ios';
17
18
  if (menu.isEndSide) {
18
19
  contentOpenedX = -width + 'px';
19
20
  menuClosedX = width + 'px';
@@ -29,5 +30,5 @@ export const menuPushAnimation = (menu) => {
29
30
  .addElement(menu.contentEl)
30
31
  .fromTo('transform', 'translateX(0px)', `translateX(${contentOpenedX})`);
31
32
  const backdropAnimation = createAnimation().addElement(menu.backdropEl).fromTo('opacity', 0.01, 0.32);
32
- return baseAnimation(mode === 'ios').addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
33
+ return baseAnimation(isIOS).addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
33
34
  };
@@ -11,9 +11,10 @@ import { baseAnimation } from "./base";
11
11
  */
12
12
  export const menuRevealAnimation = (menu) => {
13
13
  const mode = getIonMode(menu);
14
+ const isIOS = mode === 'ios';
14
15
  const openedX = menu.width * (menu.isEndSide ? -1 : 1) + 'px';
15
16
  const contentOpen = createAnimation()
16
17
  .addElement(menu.contentEl) // REVIEW
17
18
  .fromTo('transform', 'translateX(0px)', `translateX(${openedX})`);
18
- return baseAnimation(mode === 'ios').addAnimation(contentOpen);
19
+ return baseAnimation(isIOS).addAnimation(contentOpen);
19
20
  };
@@ -613,7 +613,8 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
613
613
  return true;
614
614
  };
615
615
  const getAppRoot = (doc) => {
616
- return doc.querySelector('ion-app') || doc.body;
616
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
617
+ return doc.querySelector(appRootSelector) || doc.body;
617
618
  };
618
619
  const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
619
620
  // Make overlay visible in case it's hidden
@@ -8,34 +8,56 @@
8
8
  * each test title is unique.
9
9
  */
10
10
  const generateTitle = (title, config) => {
11
- const { mode, direction, palette } = config;
12
- if (palette === 'light') {
13
- /**
14
- * Ionic has many existing tests that existed prior to
15
- * the introduction of palette testing. To maintain backwards
16
- * compatibility, we will not include the palette in the test
17
- * title if the palette is set to light.
18
- */
19
- return `${title} - ${mode}/${direction}`;
11
+ const { direction, palette, mode, theme } = config;
12
+ /**
13
+ * The iOS theme can only be used with the iOS mode,
14
+ * and the MD theme can only be used with the MD mode.
15
+ *
16
+ * This logic enables the fallback behavior for existing tests,
17
+ * where we only tested against a mode, which accounted for both
18
+ * the theme and mode.
19
+ */
20
+ if (theme === 'ios' || theme === 'md') {
21
+ if (palette === 'light') {
22
+ /**
23
+ * Ionic has many existing tests that existed prior to
24
+ * the introduction of theme testing. To maintain backwards
25
+ * compatibility, we will not include the theme in the test
26
+ * title if the theme is set to light.
27
+ */
28
+ return `${title} - ${mode}/${direction}`;
29
+ }
30
+ return `${title} - ${mode}/${direction}/${palette}`;
20
31
  }
21
- return `${title} - ${mode}/${direction}/${palette}`;
32
+ return `${title} - ${theme}/${mode}/${direction}/${palette}`;
22
33
  };
23
34
  /**
24
35
  * Generates a unique filename based on a base filename
25
36
  * and a test config.
26
37
  */
27
38
  const generateScreenshotName = (fileName, config) => {
28
- const { mode, direction, palette } = config;
29
- if (palette === 'light') {
30
- /**
31
- * Ionic has many existing tests that existed prior to
32
- * the introduction of palette testing. To maintain backwards
33
- * compatibility, we will not include the palette in the screenshot
34
- * name if the palette is set to light.
35
- */
36
- return `${fileName}-${mode}-${direction}.png`;
39
+ const { direction, palette, mode, theme } = config;
40
+ /**
41
+ * The iOS theme can only be used with the iOS mode,
42
+ * and the MD theme can only be used with the MD mode.
43
+ *
44
+ * This logic enables the fallback behavior for existing tests,
45
+ * where we only tested against a mode, which accounted for both
46
+ * the theme and mode.
47
+ */
48
+ if (theme === 'ios' || theme === 'md') {
49
+ if (palette === 'light') {
50
+ /**
51
+ * Ionic has many existing tests that existed prior to
52
+ * the introduction of theme testing. To maintain backwards
53
+ * compatibility, we will not include the theme in the screenshot
54
+ * name if the theme is set to light.
55
+ */
56
+ return `${fileName}-${mode}-${direction}.png`;
57
+ }
58
+ return `${fileName}-${mode}-${direction}-${palette}.png`;
37
59
  }
38
- return `${fileName}-${mode}-${direction}-${palette}.png`;
60
+ return `${fileName}-${theme}-${mode}-${direction}-${palette}.png`;
39
61
  };
40
62
  /**
41
63
  * Given a config generate an array of test variants.
@@ -48,13 +70,16 @@ export const configs = (testConfig = DEFAULT_TEST_CONFIG_OPTION) => {
48
70
  * If certain options are not provided,
49
71
  * fall back to the defaults.
50
72
  */
51
- const processedMode = modes !== null && modes !== void 0 ? modes : DEFAULT_MODES;
73
+ const processedModes = modes !== null && modes !== void 0 ? modes : DEFAULT_MODES;
52
74
  const processedDirection = directions !== null && directions !== void 0 ? directions : DEFAULT_DIRECTIONS;
53
75
  const processedPalette = (_a = testConfig.palettes) !== null && _a !== void 0 ? _a : DEFAULT_PALETTES;
54
- processedMode.forEach((mode) => {
76
+ processedModes.forEach((mode) => {
77
+ const [themeOrCombinedMode, modeName] = mode.split('-');
78
+ const parsedTheme = themeOrCombinedMode;
79
+ const parsedMode = modeName !== null && modeName !== void 0 ? modeName : themeOrCombinedMode;
55
80
  processedDirection.forEach((direction) => {
56
81
  processedPalette.forEach((palette) => {
57
- configs.push({ mode, direction, palette });
82
+ configs.push({ direction, palette, mode: parsedMode, theme: parsedTheme });
58
83
  });
59
84
  });
60
85
  });
@@ -9,7 +9,7 @@
9
9
  * to be hydrated before proceeding with the test.
10
10
  */
11
11
  export const goto = async (page, url, testInfo, originalFn, options) => {
12
- var _a, _b, _c, _d;
12
+ var _a, _b, _c, _d, _e;
13
13
  if (options === undefined && testInfo.project.metadata.mode === undefined) {
14
14
  throw new Error(`
15
15
  A config must be passed to page.goto to use a generator test:
@@ -21,15 +21,18 @@ configs().forEach(({ config, title }) => {
21
21
  });`);
22
22
  }
23
23
  let mode;
24
+ let theme;
24
25
  let direction;
25
26
  let palette;
26
27
  if (options == undefined) {
27
28
  mode = testInfo.project.metadata.mode;
29
+ theme = testInfo.project.metadata.theme;
28
30
  direction = testInfo.project.metadata.rtl ? 'rtl' : 'ltr';
29
31
  palette = testInfo.project.metadata.palette;
30
32
  }
31
33
  else {
32
34
  mode = options.mode;
35
+ theme = options.theme;
33
36
  direction = options.direction;
34
37
  palette = options.palette;
35
38
  }
@@ -42,13 +45,15 @@ configs().forEach(({ config, title }) => {
42
45
  */
43
46
  const urlToParams = new URLSearchParams(paramsString);
44
47
  const formattedMode = (_a = urlToParams.get('ionic:mode')) !== null && _a !== void 0 ? _a : mode;
45
- const formattedRtl = (_b = urlToParams.get('rtl')) !== null && _b !== void 0 ? _b : rtlString;
46
- const formattedPalette = (_c = urlToParams.get('palette')) !== null && _c !== void 0 ? _c : palette;
47
- const ionicTesting = (_d = urlToParams.get('ionic:_testing')) !== null && _d !== void 0 ? _d : true;
48
+ const formattedTheme = (_b = urlToParams.get('ionic:theme')) !== null && _b !== void 0 ? _b : theme;
49
+ const formattedRtl = (_c = urlToParams.get('rtl')) !== null && _c !== void 0 ? _c : rtlString;
50
+ const formattedPalette = (_d = urlToParams.get('palette')) !== null && _d !== void 0 ? _d : palette;
51
+ const ionicTesting = (_e = urlToParams.get('ionic:_testing')) !== null && _e !== void 0 ? _e : true;
48
52
  /**
49
53
  * Pass through other custom query params
50
54
  */
51
55
  urlToParams.delete('ionic:mode');
56
+ urlToParams.delete('ionic:theme');
52
57
  urlToParams.delete('rtl');
53
58
  urlToParams.delete('palette');
54
59
  urlToParams.delete('ionic:_testing');
@@ -59,11 +64,15 @@ configs().forEach(({ config, title }) => {
59
64
  */
60
65
  const remainingQueryParams = decodeURIComponent(urlToParams.toString());
61
66
  const remainingQueryParamsString = remainingQueryParams == '' ? '' : `&${remainingQueryParams}`;
62
- const formattedUrl = `${splitUrl[0]}?ionic:_testing=${ionicTesting}&ionic:mode=${formattedMode}&rtl=${formattedRtl}&palette=${formattedPalette}${remainingQueryParamsString}`;
67
+ const formattedUrl = `${splitUrl[0]}?ionic:_testing=${ionicTesting}&ionic:mode=${formattedMode}&ionic:theme=${formattedTheme}&rtl=${formattedRtl}&palette=${formattedPalette}${remainingQueryParamsString}`;
63
68
  testInfo.annotations.push({
64
69
  type: 'mode',
65
70
  description: formattedMode,
66
71
  });
72
+ testInfo.annotations.push({
73
+ type: 'theme',
74
+ description: formattedTheme,
75
+ });
67
76
  testInfo.annotations.push({
68
77
  type: 'direction',
69
78
  description: formattedRtl === 'true' ? 'rtl' : 'ltr',
@@ -18,15 +18,18 @@ export const setContent = async (page, html, testInfo, options) => {
18
18
  }
19
19
  let mode;
20
20
  let direction;
21
+ let theme;
21
22
  let palette;
22
23
  if (options == undefined) {
23
24
  mode = testInfo.project.metadata.mode;
24
25
  direction = testInfo.project.metadata.rtl ? 'rtl' : 'ltr';
26
+ theme = testInfo.project.metadata.theme;
25
27
  palette = testInfo.project.metadata.palette;
26
28
  }
27
29
  else {
28
30
  mode = options.mode;
29
31
  direction = options.direction;
32
+ theme = options.theme;
30
33
  palette = options.palette;
31
34
  }
32
35
  const baseUrl = process.env.PLAYWRIGHT_TEST_BASE_URL;
@@ -37,7 +40,9 @@ export const setContent = async (page, html, testInfo, options) => {
37
40
  <title>Ionic Playwright Test</title>
38
41
  <meta charset="UTF-8" />
39
42
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
40
- <link href="${baseUrl}/css/ionic.bundle.css" rel="stylesheet" />
43
+ ${theme === 'ionic'
44
+ ? `<link href="${baseUrl}/css/ionic/bundle.ionic.css" rel="stylesheet" />`
45
+ : `<link href="${baseUrl}/css/ionic.bundle.css" rel="stylesheet" />`}
41
46
  <link href="${baseUrl}/scripts/testing/styles.css" rel="stylesheet" />
42
47
  ${palette !== 'light' ? `<link href="${baseUrl}/css/palettes/${palette}.always.css" rel="stylesheet" />` : ''}
43
48
  <script src="${baseUrl}/scripts/testing/scripts.js"></script>
@@ -45,7 +50,8 @@ export const setContent = async (page, html, testInfo, options) => {
45
50
  <script>
46
51
  window.Ionic = {
47
52
  config: {
48
- mode: '${mode}'
53
+ mode: '${mode}',
54
+ theme: '${theme}'
49
55
  }
50
56
  }
51
57
  </script>
@@ -55,10 +61,18 @@ export const setContent = async (page, html, testInfo, options) => {
55
61
  </body>
56
62
  </html>
57
63
  `;
64
+ testInfo.annotations.push({
65
+ type: 'mode',
66
+ description: mode,
67
+ });
58
68
  testInfo.annotations.push({
59
69
  type: 'palette',
60
70
  description: palette,
61
71
  });
72
+ testInfo.annotations.push({
73
+ type: 'theme',
74
+ description: theme,
75
+ });
62
76
  if (baseUrl) {
63
77
  await page.route(baseUrl, (route) => {
64
78
  if (route.request().url() === `${baseUrl}/`) {
@@ -191,6 +191,7 @@ const animateBackButton = (rootAnimation, rtl, backDirection, backButtonEl, back
191
191
  const clonedBackButtonIconEl = shadow(clonedBackButtonEl).querySelector('ion-icon');
192
192
  clonedBackButtonEl.text = backButtonEl.text;
193
193
  clonedBackButtonEl.mode = backButtonEl.mode;
194
+ clonedBackButtonEl.theme = backButtonEl.theme;
194
195
  clonedBackButtonEl.icon = backButtonEl.icon;
195
196
  clonedBackButtonEl.color = backButtonEl.color;
196
197
  clonedBackButtonEl.disabled = backButtonEl.disabled;