@ionic/core 8.5.5-dev.11744729748.174bf7e0 → 8.5.5-dev.11745934912.1dcd33ea

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 (1227) hide show
  1. package/components/action-sheet.js +13 -8
  2. package/components/alert.js +16 -12
  3. package/components/animation.js +2 -3
  4. package/components/backdrop.js +10 -6
  5. package/components/button.js +44 -14
  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/config.js +1 -3
  13. package/{dist/esm/index-cfd9c1f2.js → components/config2.js} +1 -43
  14. package/components/content.js +14 -12
  15. package/components/data.js +8 -8
  16. package/components/focus-visible.js +23 -1
  17. package/components/framework-delegate.js +3 -1
  18. package/components/header.js +24 -15
  19. package/components/helpers.js +43 -4
  20. package/components/index.js +1 -2
  21. package/components/index2.js +2 -1
  22. package/components/index4.js +288 -104
  23. package/components/index5.js +27 -302
  24. package/components/index6.js +124 -3
  25. package/components/index7.js +163 -27
  26. package/components/input-shims.js +2 -2
  27. package/components/input.utils.js +2 -3
  28. package/components/ion-accordion-group.js +26 -7
  29. package/components/ion-accordion.js +36 -18
  30. package/components/ion-app.js +14 -77
  31. package/components/ion-avatar.js +58 -5
  32. package/components/ion-back-button.js +29 -20
  33. package/components/ion-badge.js +76 -9
  34. package/components/ion-breadcrumb.js +45 -11
  35. package/components/ion-breadcrumbs.js +9 -5
  36. package/components/ion-card-content.js +11 -7
  37. package/components/ion-card-header.js +9 -5
  38. package/components/ion-card-subtitle.js +9 -5
  39. package/components/ion-card-title.js +9 -5
  40. package/components/ion-card.js +17 -9
  41. package/components/ion-chip.js +49 -8
  42. package/components/ion-col.js +5 -5
  43. package/components/ion-datetime-button.js +13 -10
  44. package/components/ion-datetime.js +113 -35
  45. package/components/ion-divider.d.ts +11 -0
  46. package/components/ion-divider.js +59 -0
  47. package/components/ion-fab-button.js +33 -10
  48. package/components/ion-fab-list.js +5 -5
  49. package/components/ion-fab.js +6 -6
  50. package/components/ion-footer.js +18 -12
  51. package/components/ion-grid.js +5 -5
  52. package/components/ion-img.js +5 -2
  53. package/components/ion-infinite-scroll-content.js +13 -9
  54. package/components/ion-infinite-scroll.js +5 -5
  55. package/components/ion-input-password-toggle.js +55 -16
  56. package/components/ion-input.js +118 -20
  57. package/components/ion-item-divider.js +9 -5
  58. package/components/ion-item-group.js +9 -5
  59. package/components/ion-item-option.js +32 -9
  60. package/components/ion-item-options.js +11 -7
  61. package/components/ion-item-sliding.js +6 -7
  62. package/components/ion-loading.js +13 -9
  63. package/components/ion-menu-button.js +29 -12
  64. package/components/ion-menu-toggle.js +6 -6
  65. package/components/ion-menu.js +15 -12
  66. package/components/ion-nav-link.js +1 -1
  67. package/components/ion-nav.js +10 -8
  68. package/components/ion-note.js +9 -5
  69. package/components/ion-picker-legacy.js +8 -9
  70. package/components/ion-progress-bar.js +28 -8
  71. package/components/ion-range.js +15 -12
  72. package/components/ion-refresher-content.js +28 -10
  73. package/components/ion-refresher.js +12 -9
  74. package/components/ion-reorder-group.js +5 -5
  75. package/components/ion-reorder.js +31 -5
  76. package/components/ion-router-link.js +6 -6
  77. package/components/ion-router-outlet.js +4 -4
  78. package/components/ion-router.js +8 -9
  79. package/components/ion-row.js +5 -2
  80. package/components/ion-searchbar.js +141 -19
  81. package/components/ion-segment-button.js +14 -11
  82. package/components/ion-segment-content.js +1 -1
  83. package/components/ion-segment-view.js +6 -2
  84. package/components/ion-segment.js +11 -7
  85. package/components/ion-select-option.js +5 -2
  86. package/components/ion-select.js +122 -36
  87. package/components/ion-skeleton-text.js +6 -6
  88. package/components/ion-split-pane.js +14 -11
  89. package/components/ion-tab-bar.js +31 -8
  90. package/components/ion-tab-button.js +28 -8
  91. package/components/ion-tab.js +4 -5
  92. package/components/ion-tabs.js +3 -4
  93. package/components/ion-text.js +5 -5
  94. package/components/ion-textarea.js +48 -11
  95. package/components/ion-thumbnail.js +5 -2
  96. package/components/ion-toast.js +39 -18
  97. package/components/ion-toggle.js +88 -21
  98. package/components/ionic-global.js +385 -15
  99. package/components/ios.transition.js +1 -0
  100. package/components/item.js +41 -11
  101. package/components/keyboard-controller.js +4 -2
  102. package/components/label.js +9 -5
  103. package/components/list-header.js +11 -7
  104. package/components/list.js +29 -6
  105. package/components/list2.js +6 -0
  106. package/components/menu-toggle-util.js +1 -1
  107. package/components/modal.js +54 -24
  108. package/components/notch-controller.js +1 -1
  109. package/components/overlays.js +7 -8
  110. package/components/picker-column-option.js +9 -5
  111. package/components/picker-column.js +7 -8
  112. package/components/picker-column2.js +4 -4
  113. package/components/picker.js +8 -4
  114. package/components/popover.js +12 -9
  115. package/components/radio-group.js +11 -5
  116. package/components/radio.js +12 -8
  117. package/components/ripple-effect.js +18 -8
  118. package/components/select-modal.js +3 -3
  119. package/components/select-popover.js +9 -2
  120. package/components/spinner.js +36 -10
  121. package/components/status-tap.js +1 -1
  122. package/components/title.js +11 -7
  123. package/components/toolbar.js +11 -7
  124. package/components/x.js +6 -0
  125. package/css/core.css +1 -1
  126. package/css/core.css.map +1 -1
  127. package/css/display.css +1 -1
  128. package/css/display.css.map +1 -1
  129. package/css/flex-utils.css +1 -1
  130. package/css/flex-utils.css.map +1 -1
  131. package/css/float-elements.css.map +1 -1
  132. package/css/global.bundle.css.map +1 -1
  133. package/css/ionic/bundle.ionic.css +1 -0
  134. package/css/ionic/bundle.ionic.css.map +1 -0
  135. package/css/ionic/core.ionic.css +1 -0
  136. package/css/ionic/core.ionic.css.map +1 -0
  137. package/css/ionic/global.bundle.ionic.css +1 -0
  138. package/css/ionic/global.bundle.ionic.css.map +1 -0
  139. package/css/ionic/ionic-swiper.ionic.css +1 -0
  140. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  141. package/css/ionic/link.ionic.css +1 -0
  142. package/css/ionic/link.ionic.css.map +1 -0
  143. package/css/ionic/structure.ionic.css +1 -0
  144. package/css/ionic/structure.ionic.css.map +1 -0
  145. package/css/ionic/typography.ionic.css +1 -0
  146. package/css/ionic/typography.ionic.css.map +1 -0
  147. package/css/ionic/utils.bundle.ionic.css +1 -0
  148. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  149. package/css/ionic-swiper.css +1 -1
  150. package/css/ionic-swiper.css.map +1 -1
  151. package/css/ionic.bundle.css +1 -1
  152. package/css/ionic.bundle.css.map +1 -1
  153. package/css/normalize.css.map +1 -1
  154. package/css/padding.css.map +1 -1
  155. package/css/palettes/dark.always.css.map +1 -1
  156. package/css/palettes/dark.class.css.map +1 -1
  157. package/css/palettes/dark.system.css.map +1 -1
  158. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  159. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  160. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  161. package/css/palettes/high-contrast.always.css.map +1 -1
  162. package/css/palettes/high-contrast.class.css.map +1 -1
  163. package/css/palettes/high-contrast.system.css.map +1 -1
  164. package/css/structure.css.map +1 -1
  165. package/css/text-alignment.css.map +1 -1
  166. package/css/text-transformation.css.map +1 -1
  167. package/css/typography.css.map +1 -1
  168. package/css/utils.bundle.css +1 -1
  169. package/css/utils.bundle.css.map +1 -1
  170. package/dist/cjs/{animation-ab2d3449.js → animation-43d312d2.js} +3 -4
  171. package/dist/cjs/{app-globals-ddceb1f4.js → app-globals-c81ddb64.js} +1 -1
  172. package/dist/cjs/{button-active-43e2b419.js → button-active-952e2758.js} +1 -1
  173. package/dist/cjs/{capacitor-c04564bf.js → capacitor-8dec41f0.js} +3 -3
  174. package/dist/cjs/caret-down-3c215cff.js +8 -0
  175. package/dist/cjs/caret-left-2bb66970.js +8 -0
  176. package/dist/cjs/caret-right-88e03970.js +8 -0
  177. package/dist/cjs/{config-f6225ae7.js → config-4f60b98a.js} +1 -3
  178. package/dist/cjs/{index-cc858e97.js → config-aff4ff52.js} +0 -45
  179. package/dist/cjs/{data-94e8d392.js → data-d8023923.js} +8 -8
  180. package/dist/{esm/focus-visible-dd40d69f.js → cjs/focus-visible-fe3acfb5.js} +27 -1
  181. package/dist/cjs/{framework-delegate-862d9d00.js → framework-delegate-b28d080d.js} +4 -2
  182. package/dist/cjs/{haptic-f6b37aa3.js → haptic-7c4b9668.js} +1 -1
  183. package/dist/cjs/{helpers-8a48fdea.js → helpers-a6b43470.js} +43 -4
  184. package/dist/cjs/{index-dbe01e08.js → index-77517743.js} +10 -8
  185. package/dist/cjs/{index-1eff7149.js → index-c05dceac.js} +12 -11
  186. package/dist/cjs/{index-31b07b9c.js → index-d3a1be32.js} +3 -3
  187. package/dist/cjs/{index-a96d31ae.js → index-ea1f3a96.js} +14 -15
  188. package/dist/cjs/index.cjs.js +13 -20
  189. package/dist/cjs/{input-shims-415be7ee.js → input-shims-fb4548bd.js} +19 -17
  190. package/dist/cjs/{input.utils-a7957fd6.js → input.utils-fd15bda5.js} +4 -5
  191. package/dist/cjs/ion-accordion_2.cjs.entry.js +63 -25
  192. package/dist/cjs/ion-action-sheet.cjs.entry.js +22 -18
  193. package/dist/cjs/ion-alert.cjs.entry.js +27 -24
  194. package/dist/cjs/ion-app_8.cjs.entry.js +114 -153
  195. package/dist/cjs/ion-avatar_3.cjs.entry.js +127 -12
  196. package/dist/cjs/ion-back-button.cjs.entry.js +33 -23
  197. package/dist/cjs/ion-backdrop.cjs.entry.js +11 -7
  198. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +54 -16
  199. package/dist/cjs/ion-button_2.cjs.entry.js +47 -15
  200. package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
  201. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -14
  202. package/dist/cjs/ion-chip.cjs.entry.js +46 -8
  203. package/dist/cjs/ion-col_3.cjs.entry.js +14 -11
  204. package/dist/cjs/ion-datetime-button.cjs.entry.js +17 -12
  205. package/dist/cjs/ion-datetime_3.cjs.entry.js +191 -115
  206. package/dist/cjs/ion-divider.cjs.entry.js +43 -0
  207. package/dist/cjs/ion-fab_3.cjs.entry.js +43 -20
  208. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  209. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +22 -17
  210. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +55 -16
  211. package/dist/cjs/ion-input.cjs.entry.js +119 -23
  212. package/dist/cjs/ion-item-option_3.cjs.entry.js +47 -21
  213. package/dist/cjs/ion-item_8.cjs.entry.js +116 -44
  214. package/dist/cjs/ion-loading.cjs.entry.js +21 -18
  215. package/dist/cjs/ion-menu_3.cjs.entry.js +60 -40
  216. package/dist/cjs/ion-modal.cjs.entry.js +99 -70
  217. package/dist/cjs/ion-nav_2.cjs.entry.js +24 -21
  218. package/dist/cjs/ion-picker-column-option.cjs.entry.js +12 -7
  219. package/dist/cjs/ion-picker-column.cjs.entry.js +13 -13
  220. package/dist/cjs/ion-picker.cjs.entry.js +11 -6
  221. package/dist/cjs/ion-popover.cjs.entry.js +21 -18
  222. package/dist/cjs/ion-progress-bar.cjs.entry.js +29 -9
  223. package/dist/cjs/ion-radio_2.cjs.entry.js +25 -14
  224. package/dist/cjs/ion-range.cjs.entry.js +21 -16
  225. package/dist/cjs/ion-refresher_2.cjs.entry.js +48 -26
  226. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -13
  227. package/dist/cjs/ion-ripple-effect.cjs.entry.js +18 -8
  228. package/dist/cjs/ion-route_4.cjs.entry.js +17 -16
  229. package/dist/cjs/ion-searchbar.cjs.entry.js +140 -19
  230. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  231. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -2
  232. package/dist/cjs/ion-segment_2.cjs.entry.js +27 -18
  233. package/dist/cjs/ion-select-modal.cjs.entry.js +9 -10
  234. package/dist/cjs/ion-select_3.cjs.entry.js +137 -43
  235. package/dist/cjs/ion-spinner.cjs.entry.js +35 -10
  236. package/dist/cjs/ion-split-pane.cjs.entry.js +15 -11
  237. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +61 -21
  238. package/dist/cjs/ion-tab_2.cjs.entry.js +10 -9
  239. package/dist/cjs/ion-text.cjs.entry.js +6 -6
  240. package/dist/cjs/ion-textarea.cjs.entry.js +52 -16
  241. package/dist/cjs/ion-toast.cjs.entry.js +63 -44
  242. package/dist/cjs/ion-toggle.cjs.entry.js +92 -25
  243. package/dist/cjs/ionic-global-02fb2aac.js +531 -0
  244. package/dist/cjs/ionic.cjs.js +4 -4
  245. package/dist/cjs/{ios.transition-a131cd4d.js → ios.transition-e054fb0b.js} +7 -5
  246. package/dist/cjs/{keyboard-af1bb365.js → keyboard-77f82514.js} +5 -3
  247. package/dist/cjs/{keyboard-0272231f.js → keyboard-801ef916.js} +1 -1
  248. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-04202fab.js} +11 -9
  249. package/dist/cjs/list-2930c629.js +8 -0
  250. package/dist/cjs/loader.cjs.js +4 -4
  251. package/dist/cjs/{md.transition-e018ebe5.js → md.transition-eba29791.js} +6 -5
  252. package/dist/cjs/{notch-controller-09b7f358.js → notch-controller-352d63c8.js} +4 -4
  253. package/dist/cjs/{overlays-4c291a05.js → overlays-fc17eab1.js} +21 -22
  254. package/dist/cjs/{status-tap-f1acefac.js → status-tap-99fac5b1.js} +5 -3
  255. package/dist/cjs/{swipe-back-4918e56b.js → swipe-back-8aea3922.js} +3 -2
  256. package/dist/cjs/x-81a8f51c.js +8 -0
  257. package/dist/collection/collection-manifest.json +1 -0
  258. package/dist/collection/components/accordion/accordion.ionic.css +197 -0
  259. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  260. package/dist/collection/components/accordion/accordion.js +37 -21
  261. package/dist/collection/components/accordion/accordion.md.css +67 -59
  262. package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -0
  263. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  264. package/dist/collection/components/accordion-group/accordion-group.js +44 -9
  265. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  266. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  267. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  268. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  269. package/dist/collection/components/alert/alert.ios.css +19 -1
  270. package/dist/collection/components/alert/alert.js +16 -14
  271. package/dist/collection/components/alert/alert.md.css +19 -1
  272. package/dist/collection/components/app/app.js +22 -80
  273. package/dist/collection/components/avatar/avatar.ionic.css +360 -0
  274. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  275. package/dist/collection/components/avatar/avatar.js +113 -4
  276. package/dist/collection/components/avatar/avatar.md.css +51 -0
  277. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  278. package/dist/collection/components/back-button/back-button.js +27 -19
  279. package/dist/collection/components/back-button/back-button.md.css +60 -48
  280. package/dist/collection/components/backdrop/backdrop.ionic.css +111 -0
  281. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  282. package/dist/collection/components/backdrop/backdrop.js +12 -6
  283. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  284. package/dist/collection/components/badge/badge.ionic.css +348 -0
  285. package/dist/collection/components/badge/badge.ios.css +139 -12
  286. package/dist/collection/components/badge/badge.js +139 -9
  287. package/dist/collection/components/badge/badge.md.css +123 -12
  288. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  289. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  290. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  291. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  292. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  293. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  294. package/dist/collection/components/button/button.ionic.css +603 -0
  295. package/dist/collection/components/button/button.ios.css +139 -46
  296. package/dist/collection/components/button/button.js +49 -19
  297. package/dist/collection/components/button/button.md.css +130 -50
  298. package/dist/collection/components/buttons/buttons.ionic.css +100 -0
  299. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  300. package/dist/collection/components/buttons/buttons.js +14 -8
  301. package/dist/collection/components/buttons/buttons.md.css +55 -3
  302. package/dist/collection/components/card/card.ionic.css +137 -0
  303. package/dist/collection/components/card/card.ios.css +65 -14
  304. package/dist/collection/components/card/card.js +34 -10
  305. package/dist/collection/components/card/card.md.css +65 -14
  306. package/dist/collection/components/card-content/card-content.ionic.css +90 -0
  307. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  308. package/dist/collection/components/card-content/card-content.js +11 -8
  309. package/dist/collection/components/card-content/card-content.md.css +16 -1
  310. package/dist/collection/components/card-header/card-header.ionic.css +87 -0
  311. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  312. package/dist/collection/components/card-header/card-header.js +12 -9
  313. package/dist/collection/components/card-header/card-header.md.css +27 -15
  314. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +146 -0
  315. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  316. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  317. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  318. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  319. package/dist/collection/components/card-title/card-title.js +11 -8
  320. package/dist/collection/components/card-title/card-title.md.css +73 -0
  321. package/dist/collection/components/checkbox/checkbox.ionic.css +527 -0
  322. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  323. package/dist/collection/components/checkbox/checkbox.js +64 -14
  324. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  325. package/dist/collection/components/chip/chip.ionic.css +230 -0
  326. package/dist/collection/components/chip/chip.ios.css +67 -14
  327. package/dist/collection/components/chip/chip.js +98 -8
  328. package/dist/collection/components/chip/chip.md.css +67 -14
  329. package/dist/collection/components/col/col.css +12 -0
  330. package/dist/collection/components/col/col.js +9 -5
  331. package/dist/collection/components/content/content.css +8 -2
  332. package/dist/collection/components/content/content.js +16 -11
  333. package/dist/collection/components/datetime/datetime.ionic.css +673 -0
  334. package/dist/collection/components/datetime/datetime.ios.css +237 -86
  335. package/dist/collection/components/datetime/datetime.js +107 -29
  336. package/dist/collection/components/datetime/datetime.md.css +237 -86
  337. package/dist/collection/components/datetime/utils/comparison.js +1 -1
  338. package/dist/collection/components/datetime/utils/data.js +5 -5
  339. package/dist/collection/components/datetime/utils/parse.js +1 -1
  340. package/dist/collection/components/datetime/utils/state.js +1 -1
  341. package/dist/collection/components/datetime/utils/validate.js +4 -4
  342. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  343. package/dist/collection/components/datetime-button/datetime-button.js +15 -12
  344. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  345. package/dist/collection/components/divider/divider.ionic.css +150 -0
  346. package/dist/collection/components/divider/divider.ios.css +87 -0
  347. package/dist/collection/components/divider/divider.js +76 -0
  348. package/dist/collection/components/divider/divider.md.css +87 -0
  349. package/dist/collection/components/fab/fab.css +25 -1
  350. package/dist/collection/components/fab/fab.js +9 -5
  351. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  352. package/dist/collection/components/fab-button/fab-button.js +36 -15
  353. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  354. package/dist/collection/components/fab-list/fab-list.css +12 -0
  355. package/dist/collection/components/fab-list/fab-list.js +9 -5
  356. package/dist/collection/components/footer/footer.ios.css +14 -2
  357. package/dist/collection/components/footer/footer.js +20 -15
  358. package/dist/collection/components/footer/footer.md.css +12 -0
  359. package/dist/collection/components/grid/grid.css +12 -0
  360. package/dist/collection/components/grid/grid.js +9 -5
  361. package/dist/collection/components/header/header.ionic.css +86 -0
  362. package/dist/collection/components/header/header.ios.css +25 -10
  363. package/dist/collection/components/header/header.js +42 -17
  364. package/dist/collection/components/header/header.md.css +23 -8
  365. package/dist/collection/components/img/img.js +8 -2
  366. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  367. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  368. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  369. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  370. package/dist/collection/components/input/input.ionic.css +855 -0
  371. package/dist/collection/components/input/input.ios.css +223 -140
  372. package/dist/collection/components/input/input.js +144 -30
  373. package/dist/collection/components/input/input.md.css +193 -212
  374. package/dist/collection/components/input/input.utils.js +1 -1
  375. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +80 -0
  376. package/dist/collection/components/input-password-toggle/input-password-toggle.js +50 -14
  377. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  378. package/dist/collection/components/item/item.ionic.css +502 -0
  379. package/dist/collection/components/item/item.ios.css +109 -69
  380. package/dist/collection/components/item/item.js +44 -16
  381. package/dist/collection/components/item/item.md.css +120 -68
  382. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  383. package/dist/collection/components/item-divider/item-divider.js +11 -8
  384. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  385. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  386. package/dist/collection/components/item-group/item-group.js +13 -7
  387. package/dist/collection/components/item-group/item-group.md.css +12 -0
  388. package/dist/collection/components/item-option/item-option.ionic.css +280 -0
  389. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  390. package/dist/collection/components/item-option/item-option.js +64 -9
  391. package/dist/collection/components/item-option/item-option.md.css +136 -29
  392. package/dist/collection/components/item-options/item-options.ionic.css +223 -0
  393. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  394. package/dist/collection/components/item-options/item-options.js +13 -7
  395. package/dist/collection/components/item-options/item-options.md.css +77 -34
  396. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  397. package/dist/collection/components/item-sliding/item-sliding.js +9 -6
  398. package/dist/collection/components/label/label.ios.css +18 -0
  399. package/dist/collection/components/label/label.js +11 -8
  400. package/dist/collection/components/label/label.md.css +18 -0
  401. package/dist/collection/components/list/list.ionic.css +214 -0
  402. package/dist/collection/components/list/list.ios.css +54 -14
  403. package/dist/collection/components/list/list.js +47 -9
  404. package/dist/collection/components/list/list.md.css +56 -16
  405. package/dist/collection/components/list-header/list-header.ionic.css +192 -0
  406. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  407. package/dist/collection/components/list-header/list-header.js +11 -8
  408. package/dist/collection/components/list-header/list-header.md.css +82 -38
  409. package/dist/collection/components/loading/loading.ios.css +13 -1
  410. package/dist/collection/components/loading/loading.js +13 -10
  411. package/dist/collection/components/loading/loading.md.css +13 -1
  412. package/dist/collection/components/menu/menu.ios.css +15 -3
  413. package/dist/collection/components/menu/menu.js +14 -10
  414. package/dist/collection/components/menu/menu.md.css +15 -3
  415. package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
  416. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  417. package/dist/collection/components/menu-button/menu-button.js +26 -10
  418. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  419. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  420. package/dist/collection/components/modal/animations/sheet.js +8 -2
  421. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  422. package/dist/collection/components/modal/modal.ionic.css +243 -0
  423. package/dist/collection/components/modal/modal.ios.css +174 -70
  424. package/dist/collection/components/modal/modal.js +50 -14
  425. package/dist/collection/components/modal/modal.md.css +174 -70
  426. package/dist/collection/components/nav/nav.css +7 -1
  427. package/dist/collection/components/nav/nav.js +13 -7
  428. package/dist/collection/components/nav-link/nav-link.js +5 -1
  429. package/dist/collection/components/note/note.ios.css +12 -0
  430. package/dist/collection/components/note/note.js +11 -8
  431. package/dist/collection/components/note/note.md.css +12 -0
  432. package/dist/collection/components/picker/picker.ios.css +15 -3
  433. package/dist/collection/components/picker/picker.js +8 -5
  434. package/dist/collection/components/picker/picker.md.css +15 -3
  435. package/dist/collection/components/picker-column/picker-column.css +9 -2
  436. package/dist/collection/components/picker-column/picker-column.js +8 -7
  437. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  438. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  439. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  440. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  441. package/dist/collection/components/picker-legacy/picker.js +8 -7
  442. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  443. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  444. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  445. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  446. package/dist/collection/components/popover/popover.ios.css +13 -1
  447. package/dist/collection/components/popover/popover.js +16 -13
  448. package/dist/collection/components/popover/popover.md.css +13 -1
  449. package/dist/collection/components/progress-bar/progress-bar.ionic.css +289 -0
  450. package/dist/collection/components/progress-bar/progress-bar.ios.css +43 -12
  451. package/dist/collection/components/progress-bar/progress-bar.js +42 -7
  452. package/dist/collection/components/progress-bar/progress-bar.md.css +43 -12
  453. package/dist/collection/components/radio/radio.ionic.css +424 -0
  454. package/dist/collection/components/radio/radio.ios.css +134 -91
  455. package/dist/collection/components/radio/radio.js +12 -9
  456. package/dist/collection/components/radio/radio.md.css +134 -91
  457. package/dist/collection/components/radio-group/radio-group.ionic.css +127 -0
  458. package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
  459. package/dist/collection/components/radio-group/radio-group.js +13 -5
  460. package/dist/collection/components/radio-group/radio-group.md.css +42 -18
  461. package/dist/collection/components/range/range.ionic.css +555 -0
  462. package/dist/collection/components/range/range.ios.css +128 -85
  463. package/dist/collection/components/range/range.js +14 -11
  464. package/dist/collection/components/range/range.md.css +128 -85
  465. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  466. package/dist/collection/components/refresher/refresher.js +12 -10
  467. package/dist/collection/components/refresher/refresher.md.css +15 -2
  468. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  469. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  470. package/dist/collection/components/reorder/reorder.js +33 -6
  471. package/dist/collection/components/reorder/reorder.md.css +6 -0
  472. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  473. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  474. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  475. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +217 -0
  476. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  477. package/dist/collection/components/route/route.js +4 -0
  478. package/dist/collection/components/router/router.js +11 -8
  479. package/dist/collection/components/router/utils/dom.js +1 -2
  480. package/dist/collection/components/router-link/router-link.css +8 -2
  481. package/dist/collection/components/router-link/router-link.js +9 -5
  482. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  483. package/dist/collection/components/router-outlet/router-outlet.js +6 -4
  484. package/dist/collection/components/row/row.css +12 -0
  485. package/dist/collection/components/row/row.js +9 -2
  486. package/dist/collection/components/searchbar/searchbar.ionic.css +628 -0
  487. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  488. package/dist/collection/components/searchbar/searchbar.js +179 -29
  489. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  490. package/dist/collection/components/segment/segment.ionic.css +117 -0
  491. package/dist/collection/components/segment/segment.ios.css +45 -2
  492. package/dist/collection/components/segment/segment.js +11 -8
  493. package/dist/collection/components/segment/segment.md.css +45 -2
  494. package/dist/collection/components/segment-button/segment-button.ionic.css +355 -0
  495. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  496. package/dist/collection/components/segment-button/segment-button.js +14 -12
  497. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  498. package/dist/collection/components/segment-content/segment-content.js +1 -1
  499. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  500. package/dist/collection/components/segment-view/segment-view.js +6 -4
  501. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  502. package/dist/collection/components/select/select.ionic.css +763 -0
  503. package/dist/collection/components/select/select.ios.css +315 -176
  504. package/dist/collection/components/select/select.js +159 -58
  505. package/dist/collection/components/select/select.md.css +331 -178
  506. package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
  507. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  508. package/dist/collection/components/select-modal/select-modal.js +3 -3
  509. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  510. package/dist/collection/components/select-option/select-option.js +9 -2
  511. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  512. package/dist/collection/components/select-popover/select-popover.js +12 -4
  513. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  514. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  515. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  516. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +75 -10
  517. package/dist/collection/components/spinner/spinner.js +46 -6
  518. package/dist/collection/components/spinner/spinner.native.css +198 -0
  519. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  520. package/dist/collection/components/split-pane/split-pane.js +16 -11
  521. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  522. package/dist/collection/components/tab/tab.js +8 -5
  523. package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
  524. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  525. package/dist/collection/components/tab-bar/tab-bar.js +65 -10
  526. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  527. package/dist/collection/components/tab-button/tab-button.ionic.css +338 -0
  528. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  529. package/dist/collection/components/tab-button/tab-button.js +43 -8
  530. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  531. package/dist/collection/components/tabs/tabs.css +7 -1
  532. package/dist/collection/components/tabs/tabs.js +5 -3
  533. package/dist/collection/components/text/text.css +6 -0
  534. package/dist/collection/components/text/text.js +7 -6
  535. package/dist/collection/components/textarea/textarea.ionic.css +830 -0
  536. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  537. package/dist/collection/components/textarea/textarea.js +69 -16
  538. package/dist/collection/components/textarea/textarea.md.css +288 -140
  539. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  540. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  541. package/dist/collection/components/title/title.ionic.css +145 -0
  542. package/dist/collection/components/title/title.ios.css +32 -4
  543. package/dist/collection/components/title/title.js +13 -7
  544. package/dist/collection/components/title/title.md.css +32 -4
  545. package/dist/collection/components/toast/animations/utils.js +2 -2
  546. package/dist/collection/components/toast/toast.ionic.css +396 -0
  547. package/dist/collection/components/toast/toast.ios.css +84 -45
  548. package/dist/collection/components/toast/toast.js +71 -17
  549. package/dist/collection/components/toast/toast.md.css +84 -45
  550. package/dist/collection/components/toggle/toggle.ionic.css +509 -0
  551. package/dist/collection/components/toggle/toggle.ios.css +252 -148
  552. package/dist/collection/components/toggle/toggle.js +84 -20
  553. package/dist/collection/components/toggle/toggle.md.css +249 -148
  554. package/dist/collection/components/toolbar/toolbar.ionic.css +233 -0
  555. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  556. package/dist/collection/components/toolbar/toolbar.js +13 -10
  557. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  558. package/dist/collection/global/ionic-global.js +228 -13
  559. package/dist/collection/index.js +0 -1
  560. package/dist/collection/utils/animation/animation.js +1 -2
  561. package/dist/collection/utils/focus-visible.js +22 -0
  562. package/dist/collection/utils/framework-delegate.js +3 -1
  563. package/dist/collection/utils/hardware-back-button.js +1 -2
  564. package/dist/collection/utils/helpers.js +43 -4
  565. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  566. package/dist/collection/utils/logging/index.js +4 -10
  567. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  568. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  569. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  570. package/dist/collection/utils/overlays.js +6 -5
  571. package/dist/collection/utils/sanitization/index.js +1 -2
  572. package/dist/collection/utils/test/playwright/generator.js +48 -23
  573. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  574. package/dist/collection/utils/test/playwright/page/utils/set-content.js +16 -2
  575. package/dist/collection/utils/transition/ios.transition.js +1 -0
  576. package/dist/docs.json +7623 -331
  577. package/dist/esm/{animation-8b25e105.js → animation-75691d96.js} +2 -3
  578. package/dist/esm/{app-globals-dbdbb3df.js → app-globals-73e46285.js} +1 -1
  579. package/dist/esm/{button-active-90f1dbc4.js → button-active-e61fbdcf.js} +2 -2
  580. package/dist/esm/{capacitor-59395cbd.js → capacitor-41c43387.js} +1 -1
  581. package/dist/esm/caret-down-3eaad1cc.js +6 -0
  582. package/dist/esm/caret-left-33424bb0.js +6 -0
  583. package/dist/esm/caret-right-68d856ad.js +6 -0
  584. package/dist/esm/{config-9898ed97.js → config-49c88215.js} +1 -3
  585. package/dist/esm/config-84eb9670.js +79 -0
  586. package/dist/esm/{data-0d7ea6eb.js → data-19735819.js} +8 -8
  587. package/dist/{cjs/focus-visible-7a0ce04f.js → esm/focus-visible-6827442c.js} +23 -3
  588. package/dist/esm/{framework-delegate-56b467ad.js → framework-delegate-648f8ef4.js} +4 -2
  589. package/dist/esm/{haptic-ac164e4c.js → haptic-b2fbf33c.js} +1 -1
  590. package/dist/esm/{helpers-d94bc8ad.js → helpers-a034be46.js} +43 -4
  591. package/dist/esm/{index-9a17db3d.js → index-46e613a7.js} +2 -2
  592. package/dist/esm/{index-527b9e34.js → index-4c3c5d46.js} +1 -1
  593. package/dist/esm/{index-18f31305.js → index-65ba6107.js} +10 -11
  594. package/{components/index9.js → dist/esm/index-664eaf98.js} +5 -2
  595. package/dist/esm/{index-68c0d151.js → index-8706b805.js} +6 -5
  596. package/dist/esm/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  597. package/dist/esm/index.js +13 -14
  598. package/dist/esm/{input-shims-279903e2.js → input-shims-16500377.js} +8 -6
  599. package/dist/esm/{input.utils-40504d6d.js → input.utils-8ddd6756.js} +3 -4
  600. package/dist/esm/ion-accordion_2.entry.js +63 -25
  601. package/dist/esm/ion-action-sheet.entry.js +23 -19
  602. package/dist/esm/ion-alert.entry.js +26 -23
  603. package/dist/esm/ion-app_8.entry.js +102 -141
  604. package/dist/esm/ion-avatar_3.entry.js +129 -14
  605. package/dist/esm/ion-back-button.entry.js +32 -22
  606. package/dist/esm/ion-backdrop.entry.js +12 -8
  607. package/dist/esm/ion-breadcrumb_2.entry.js +56 -18
  608. package/dist/esm/ion-button_2.entry.js +48 -16
  609. package/dist/esm/ion-card_5.entry.js +54 -30
  610. package/dist/esm/ion-checkbox.entry.js +32 -15
  611. package/dist/esm/ion-chip.entry.js +47 -9
  612. package/dist/esm/ion-col_3.entry.js +15 -12
  613. package/dist/esm/ion-datetime-button.entry.js +18 -13
  614. package/dist/esm/ion-datetime_3.entry.js +132 -56
  615. package/dist/esm/ion-divider.entry.js +39 -0
  616. package/dist/esm/ion-fab_3.entry.js +45 -22
  617. package/dist/esm/ion-img.entry.js +9 -5
  618. package/dist/esm/ion-infinite-scroll_2.entry.js +21 -16
  619. package/dist/esm/ion-input-password-toggle.entry.js +56 -17
  620. package/dist/esm/ion-input.entry.js +121 -25
  621. package/dist/esm/ion-item-option_3.entry.js +48 -22
  622. package/dist/esm/ion-item_8.entry.js +117 -45
  623. package/dist/esm/ion-loading.entry.js +20 -17
  624. package/dist/esm/ion-menu_3.entry.js +51 -31
  625. package/dist/esm/ion-modal.entry.js +63 -34
  626. package/dist/esm/ion-nav_2.entry.js +16 -13
  627. package/dist/esm/ion-picker-column-option.entry.js +13 -8
  628. package/dist/esm/ion-picker-column.entry.js +13 -13
  629. package/dist/esm/ion-picker.entry.js +12 -7
  630. package/dist/esm/ion-popover.entry.js +20 -17
  631. package/dist/esm/ion-progress-bar.entry.js +29 -9
  632. package/dist/esm/ion-radio_2.entry.js +26 -15
  633. package/dist/esm/ion-range.entry.js +19 -14
  634. package/dist/esm/ion-refresher_2.entry.js +45 -23
  635. package/dist/esm/ion-reorder_2.entry.js +40 -15
  636. package/dist/esm/ion-ripple-effect.entry.js +19 -9
  637. package/dist/esm/ion-route_4.entry.js +18 -17
  638. package/dist/esm/ion-searchbar.entry.js +141 -20
  639. package/dist/esm/ion-segment-content.entry.js +2 -2
  640. package/dist/esm/ion-segment-view.entry.js +7 -3
  641. package/dist/esm/ion-segment_2.entry.js +28 -19
  642. package/dist/esm/ion-select-modal.entry.js +10 -11
  643. package/dist/esm/ion-select_3.entry.js +138 -44
  644. package/dist/esm/ion-spinner.entry.js +34 -9
  645. package/dist/esm/ion-split-pane.entry.js +16 -12
  646. package/dist/esm/ion-tab-bar_2.entry.js +61 -21
  647. package/dist/esm/ion-tab_2.entry.js +11 -10
  648. package/dist/esm/ion-text.entry.js +7 -7
  649. package/dist/esm/ion-textarea.entry.js +53 -17
  650. package/dist/esm/ion-toast.entry.js +44 -25
  651. package/dist/esm/ion-toggle.entry.js +93 -26
  652. package/dist/esm/ionic-global-c1aec1e9.js +517 -0
  653. package/dist/esm/ionic.js +6 -6
  654. package/dist/esm/{ios.transition-4047cb68.js → ios.transition-9ff146da.js} +8 -6
  655. package/dist/esm/{keyboard-73175e24.js → keyboard-0fef95c0.js} +1 -1
  656. package/dist/esm/{keyboard-52278bd7.js → keyboard-9b786586.js} +5 -3
  657. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-6f3a63af.js} +5 -3
  658. package/dist/esm/list-6524700c.js +6 -0
  659. package/dist/esm/loader.js +6 -6
  660. package/dist/esm/{md.transition-30ce8d1b.js → md.transition-2f3188d8.js} +7 -6
  661. package/dist/esm/{notch-controller-1a1f7183.js → notch-controller-d4f6433f.js} +2 -2
  662. package/dist/esm/{overlays-d99dcb0a.js → overlays-bb311c8e.js} +9 -10
  663. package/dist/esm/{status-tap-42a8af65.js → status-tap-562eee39.js} +6 -4
  664. package/dist/esm/{swipe-back-0184f6b3.js → swipe-back-983c0694.js} +3 -2
  665. package/dist/esm/x-a64bcd9f.js +6 -0
  666. package/dist/esm-es5/animation-75691d96.js +4 -0
  667. package/dist/esm-es5/app-globals-73e46285.js +4 -0
  668. package/dist/esm-es5/{button-active-90f1dbc4.js → button-active-e61fbdcf.js} +1 -1
  669. package/dist/esm-es5/capacitor-41c43387.js +4 -0
  670. package/dist/esm-es5/caret-down-3eaad1cc.js +4 -0
  671. package/dist/esm-es5/caret-left-33424bb0.js +4 -0
  672. package/dist/esm-es5/caret-right-68d856ad.js +4 -0
  673. package/dist/esm-es5/config-49c88215.js +4 -0
  674. package/dist/esm-es5/config-84eb9670.js +4 -0
  675. package/dist/esm-es5/data-19735819.js +4 -0
  676. package/dist/esm-es5/focus-visible-6827442c.js +4 -0
  677. package/dist/esm-es5/framework-delegate-648f8ef4.js +4 -0
  678. package/dist/esm-es5/{haptic-ac164e4c.js → haptic-b2fbf33c.js} +1 -1
  679. package/dist/esm-es5/helpers-a034be46.js +4 -0
  680. package/dist/esm-es5/index-46e613a7.js +4 -0
  681. package/dist/esm-es5/{index-527b9e34.js → index-4c3c5d46.js} +1 -1
  682. package/dist/esm-es5/index-65ba6107.js +4 -0
  683. package/dist/esm-es5/index-664eaf98.js +4 -0
  684. package/dist/esm-es5/index-8706b805.js +4 -0
  685. package/dist/esm-es5/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  686. package/dist/esm-es5/index.js +1 -1
  687. package/dist/esm-es5/input-shims-16500377.js +4 -0
  688. package/dist/esm-es5/input.utils-8ddd6756.js +4 -0
  689. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  690. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  691. package/dist/esm-es5/ion-alert.entry.js +1 -1
  692. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  693. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  694. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  695. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  696. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  697. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  698. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  699. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  700. package/dist/esm-es5/ion-chip.entry.js +1 -1
  701. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  702. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  703. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  704. package/dist/esm-es5/ion-divider.entry.js +4 -0
  705. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  706. package/dist/esm-es5/ion-img.entry.js +1 -1
  707. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  708. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  709. package/dist/esm-es5/ion-input.entry.js +1 -1
  710. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  711. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  712. package/dist/esm-es5/ion-loading.entry.js +1 -1
  713. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  714. package/dist/esm-es5/ion-modal.entry.js +1 -1
  715. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  716. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  717. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  718. package/dist/esm-es5/ion-picker.entry.js +1 -1
  719. package/dist/esm-es5/ion-popover.entry.js +1 -1
  720. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  721. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  722. package/dist/esm-es5/ion-range.entry.js +1 -1
  723. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  724. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  725. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  726. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  727. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  728. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  729. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  730. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  731. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  732. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  733. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  734. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  735. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  736. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  737. package/dist/esm-es5/ion-text.entry.js +1 -1
  738. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  739. package/dist/esm-es5/ion-toast.entry.js +1 -1
  740. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  741. package/dist/esm-es5/ionic-global-c1aec1e9.js +4 -0
  742. package/dist/esm-es5/ionic.js +1 -1
  743. package/dist/esm-es5/ios.transition-9ff146da.js +4 -0
  744. package/dist/esm-es5/{keyboard-73175e24.js → keyboard-0fef95c0.js} +1 -1
  745. package/dist/esm-es5/{keyboard-52278bd7.js → keyboard-9b786586.js} +1 -1
  746. package/dist/esm-es5/keyboard-controller-6f3a63af.js +4 -0
  747. package/dist/esm-es5/list-6524700c.js +4 -0
  748. package/dist/esm-es5/loader.js +1 -1
  749. package/dist/esm-es5/md.transition-2f3188d8.js +4 -0
  750. package/dist/esm-es5/notch-controller-d4f6433f.js +4 -0
  751. package/dist/esm-es5/overlays-bb311c8e.js +4 -0
  752. package/dist/esm-es5/status-tap-562eee39.js +4 -0
  753. package/dist/esm-es5/swipe-back-983c0694.js +4 -0
  754. package/dist/esm-es5/x-a64bcd9f.js +4 -0
  755. package/dist/html.html-data.json +2503 -213
  756. package/dist/ionic/index.esm.js +1 -1
  757. package/dist/ionic/ionic.esm.js +1 -1
  758. package/dist/ionic/ionic.js +1 -1
  759. package/dist/ionic/p-000a60c5.system.entry.js +4 -0
  760. package/dist/ionic/p-01d80901.system.js +4 -0
  761. package/dist/ionic/p-05ffb16b.system.js +4 -0
  762. package/dist/ionic/p-06ec4706.js +4 -0
  763. package/dist/ionic/p-09072d3b.entry.js +4 -0
  764. package/dist/ionic/p-0b941072.js +4 -0
  765. package/dist/ionic/p-0d297574.system.entry.js +4 -0
  766. package/dist/ionic/{p-1e955a45.system.js → p-115d74cd.system.js} +1 -1
  767. package/dist/ionic/p-1276cda4.system.js +4 -0
  768. package/dist/ionic/p-148e00f2.js +4 -0
  769. package/dist/ionic/p-180f0c6f.system.entry.js +4 -0
  770. package/dist/ionic/p-183b2910.js +4 -0
  771. package/dist/ionic/p-19544c40.entry.js +4 -0
  772. package/dist/ionic/p-1d49225d.entry.js +4 -0
  773. package/dist/ionic/p-1d512070.system.entry.js +4 -0
  774. package/dist/ionic/p-1fd5c378.system.js +4 -0
  775. package/dist/ionic/p-2004fb92.system.entry.js +4 -0
  776. package/dist/ionic/p-22e704a0.entry.js +4 -0
  777. package/dist/ionic/p-22f0ff9d.system.entry.js +4 -0
  778. package/dist/ionic/p-23ea84b6.entry.js +4 -0
  779. package/dist/ionic/p-243adf8c.js +4 -0
  780. package/dist/ionic/p-246e6dc5.entry.js +4 -0
  781. package/dist/ionic/p-25679df9.system.entry.js +4 -0
  782. package/dist/ionic/p-259dcfa3.entry.js +4 -0
  783. package/dist/ionic/p-25fb485f.system.entry.js +4 -0
  784. package/dist/ionic/p-26d7c6fd.system.entry.js +4 -0
  785. package/dist/ionic/p-27f94ab0.system.entry.js +4 -0
  786. package/dist/ionic/p-2a51dad2.js +4 -0
  787. package/dist/ionic/p-2b2d1437.entry.js +4 -0
  788. package/dist/ionic/p-2bf44172.js +4 -0
  789. package/dist/ionic/p-2d8cc8b4.entry.js +4 -0
  790. package/dist/ionic/p-3163265a.entry.js +4 -0
  791. package/dist/ionic/{p-8d2d39d0.js → p-322a2f0e.js} +1 -1
  792. package/dist/ionic/p-350e4850.system.entry.js +4 -0
  793. package/dist/ionic/p-3533c471.system.entry.js +4 -0
  794. package/dist/ionic/p-361d3f82.system.js +4 -0
  795. package/dist/ionic/p-3824cffd.entry.js +4 -0
  796. package/dist/ionic/p-3832a6ae.system.js +4 -0
  797. package/dist/ionic/p-3835325e.entry.js +4 -0
  798. package/dist/ionic/p-38c0cca7.js +4 -0
  799. package/dist/ionic/p-39b0a811.entry.js +4 -0
  800. package/dist/ionic/p-3acf0ca0.system.entry.js +4 -0
  801. package/dist/ionic/p-3b4574b3.entry.js +4 -0
  802. package/dist/ionic/p-3b7deae5.entry.js +4 -0
  803. package/dist/ionic/p-3b98dd61.system.entry.js +4 -0
  804. package/dist/ionic/p-3c31f667.system.js +4 -0
  805. package/dist/ionic/p-3c8c8686.system.entry.js +4 -0
  806. package/dist/ionic/{p-1d307396.system.js → p-3f001e0c.system.js} +2 -2
  807. package/dist/ionic/p-3fc870da.system.js +4 -0
  808. package/dist/ionic/p-41d5544e.js +4 -0
  809. package/dist/ionic/p-429dd2b5.system.js +4 -0
  810. package/dist/ionic/p-436bfcc9.system.entry.js +4 -0
  811. package/dist/ionic/p-43d6a02c.system.entry.js +4 -0
  812. package/dist/ionic/p-4459a66e.system.js +4 -0
  813. package/dist/ionic/p-44b1fefc.entry.js +4 -0
  814. package/dist/ionic/p-452fc75e.entry.js +4 -0
  815. package/dist/ionic/p-45388333.js +4 -0
  816. package/dist/ionic/p-46f1771d.entry.js +4 -0
  817. package/dist/ionic/p-49664bbc.system.entry.js +4 -0
  818. package/dist/ionic/p-4a767053.entry.js +4 -0
  819. package/dist/ionic/{p-a4866e3e.system.js → p-53378de8.system.js} +1 -1
  820. package/dist/ionic/p-548cd1e5.system.entry.js +4 -0
  821. package/dist/ionic/{p-66a5d6a8.js → p-578d5013.js} +1 -1
  822. package/dist/ionic/p-583f0c5f.js +4 -0
  823. package/dist/ionic/{p-da2b833b.js → p-58f16ef6.js} +1 -1
  824. package/dist/ionic/p-5b57d327.system.js +4 -0
  825. package/dist/ionic/p-5b5bb0a5.system.js +4 -0
  826. package/dist/ionic/p-5dde2c4f.system.entry.js +4 -0
  827. package/dist/ionic/p-607c9c33.js +4 -0
  828. package/dist/ionic/p-69bbeaf6.js +4 -0
  829. package/dist/ionic/p-6a0dd6bc.js +4 -0
  830. package/dist/ionic/{p-612096e6.system.entry.js → p-6e0e68de.system.entry.js} +1 -1
  831. package/dist/ionic/p-6fcdcb51.system.js +4 -0
  832. package/dist/ionic/p-701c7638.js +4 -0
  833. package/dist/ionic/p-7028eadd.system.entry.js +4 -0
  834. package/dist/ionic/p-7071d7ca.js +4 -0
  835. package/dist/ionic/p-714aaf3c.entry.js +4 -0
  836. package/dist/ionic/{p-b06ac4a5.system.js → p-76b92f54.system.js} +1 -1
  837. package/dist/ionic/{p-8985cdb6.system.js → p-7b10b4c2.system.js} +1 -1
  838. package/dist/ionic/p-7b33697a.js +4 -0
  839. package/dist/ionic/p-7b382a8b.js +4 -0
  840. package/dist/ionic/p-7c6f71eb.entry.js +4 -0
  841. package/dist/ionic/p-7cf8fbdc.system.entry.js +4 -0
  842. package/dist/ionic/p-7ff70f62.entry.js +4 -0
  843. package/dist/ionic/p-808e57e0.system.js +4 -0
  844. package/dist/ionic/p-8131e086.system.entry.js +4 -0
  845. package/dist/ionic/p-8255bd7b.system.entry.js +4 -0
  846. package/dist/ionic/{p-84096b45.system.js → p-82a63266.system.js} +1 -1
  847. package/dist/ionic/p-8402b59e.system.entry.js +4 -0
  848. package/dist/ionic/p-840f1c59.entry.js +4 -0
  849. package/dist/ionic/p-84ac0a34.system.entry.js +4 -0
  850. package/dist/ionic/{p-a93873de.system.js → p-84f02275.system.js} +1 -1
  851. package/dist/ionic/p-85c7c591.system.entry.js +4 -0
  852. package/dist/ionic/p-8898b2c4.system.entry.js +4 -0
  853. package/dist/ionic/p-88aa79f6.entry.js +4 -0
  854. package/dist/ionic/p-8b06c868.system.entry.js +4 -0
  855. package/dist/ionic/p-8c6c972b.js +4 -0
  856. package/dist/ionic/p-8f2efbe5.entry.js +4 -0
  857. package/dist/ionic/p-93f7ddd5.entry.js +4 -0
  858. package/dist/ionic/{p-f6e7d104.system.js → p-96898f8d.system.js} +1 -1
  859. package/dist/ionic/p-9757a3c0.system.js +4 -0
  860. package/dist/ionic/p-97a351b5.entry.js +4 -0
  861. package/dist/ionic/{p-cad82569.entry.js → p-97c5e467.entry.js} +1 -1
  862. package/dist/ionic/p-98ea9230.system.js +4 -0
  863. package/dist/ionic/p-9a0ab352.js +4 -0
  864. package/dist/ionic/p-9d513c26.entry.js +4 -0
  865. package/dist/ionic/p-a12c4c78.js +4 -0
  866. package/dist/ionic/{p-707408c5.system.entry.js → p-a16830e0.system.entry.js} +1 -1
  867. package/dist/ionic/p-a1d0ee0b.system.entry.js +4 -0
  868. package/dist/ionic/p-a2f85605.entry.js +4 -0
  869. package/dist/ionic/p-a47bffd6.system.entry.js +4 -0
  870. package/dist/ionic/p-a569fc14.system.entry.js +4 -0
  871. package/dist/ionic/p-a6a71315.entry.js +4 -0
  872. package/dist/ionic/p-a9af4103.js +4 -0
  873. package/dist/ionic/p-ab0aa514.system.js +4 -0
  874. package/dist/ionic/p-aba2d55f.system.entry.js +4 -0
  875. package/dist/ionic/p-acee3852.entry.js +4 -0
  876. package/dist/ionic/p-af7c3b18.system.js +4 -0
  877. package/dist/ionic/p-b1618321.entry.js +4 -0
  878. package/dist/ionic/p-b406502d.entry.js +4 -0
  879. package/dist/ionic/p-b57d8fcb.system.entry.js +4 -0
  880. package/dist/ionic/{p-27281edd.js → p-b5bca0ad.js} +1 -1
  881. package/dist/ionic/p-b5e3859a.entry.js +4 -0
  882. package/dist/ionic/p-b719e9a7.js +4 -0
  883. package/dist/ionic/p-b79a47ba.entry.js +4 -0
  884. package/dist/ionic/p-b9ddbdf3.js +4 -0
  885. package/dist/ionic/p-ba992f31.system.entry.js +4 -0
  886. package/dist/ionic/p-bb183633.js +4 -0
  887. package/dist/ionic/p-c0b7f342.entry.js +4 -0
  888. package/dist/ionic/p-c18ffa8b.entry.js +4 -0
  889. package/dist/ionic/p-c1e7dbd4.system.entry.js +4 -0
  890. package/dist/ionic/{p-89b61afc.js → p-c2069a04.js} +1 -1
  891. package/dist/ionic/p-c248c88d.system.js +4 -0
  892. package/dist/ionic/p-c37bd983.entry.js +4 -0
  893. package/dist/ionic/p-c47e7149.system.entry.js +4 -0
  894. package/dist/ionic/p-c4ef6f8b.js +4 -0
  895. package/dist/ionic/p-c6cb5873.entry.js +4 -0
  896. package/dist/ionic/p-c847b24b.system.entry.js +4 -0
  897. package/dist/ionic/p-c9481069.entry.js +4 -0
  898. package/dist/ionic/p-ccb71d99.entry.js +4 -0
  899. package/dist/ionic/p-ccbf31df.entry.js +4 -0
  900. package/dist/ionic/p-cf466c60.entry.js +4 -0
  901. package/dist/ionic/p-d2314315.system.entry.js +4 -0
  902. package/dist/ionic/{p-f11a9436.system.js → p-d2536fe8.system.js} +1 -1
  903. package/dist/ionic/{p-3a30f31b.system.entry.js → p-d5a528dd.system.entry.js} +1 -1
  904. package/dist/ionic/p-d94f6cf2.system.entry.js +4 -0
  905. package/dist/ionic/p-da3f8286.system.entry.js +4 -0
  906. package/dist/ionic/p-da7bd63e.system.entry.js +4 -0
  907. package/dist/ionic/p-db5e6e19.system.js +4 -0
  908. package/dist/ionic/p-db8ffacb.system.js +4 -0
  909. package/dist/ionic/p-dc29c440.js +4 -0
  910. package/dist/ionic/p-de28526a.system.js +4 -0
  911. package/dist/ionic/p-dfb63dc2.system.entry.js +4 -0
  912. package/dist/ionic/p-e09bb245.system.entry.js +4 -0
  913. package/dist/ionic/p-e0ca79b3.entry.js +4 -0
  914. package/dist/ionic/p-e2772e25.system.entry.js +4 -0
  915. package/dist/ionic/p-e3b70846.system.js +4 -0
  916. package/dist/ionic/p-e45a947d.system.js +4 -0
  917. package/dist/ionic/p-e58a67f5.entry.js +4 -0
  918. package/dist/ionic/p-e637969f.entry.js +4 -0
  919. package/dist/ionic/p-e6ae836b.system.js +4 -0
  920. package/dist/ionic/p-e92a4b0d.system.entry.js +4 -0
  921. package/dist/ionic/{p-1966a13c.system.js → p-efad6882.system.js} +1 -1
  922. package/dist/ionic/p-f10dba92.entry.js +4 -0
  923. package/dist/ionic/p-f233f1e0.system.js +4 -0
  924. package/dist/ionic/p-f3d28b8f.js +4 -0
  925. package/dist/ionic/p-f3deab52.system.entry.js +4 -0
  926. package/dist/ionic/p-f6a03670.entry.js +4 -0
  927. package/dist/ionic/{p-b6d324f0.js → p-faf202df.js} +1 -1
  928. package/dist/ionic/p-fb3ce1f1.entry.js +4 -0
  929. package/dist/ionic/p-fbc7052d.system.entry.js +4 -0
  930. package/dist/ionic/p-fccabaf9.entry.js +4 -0
  931. package/dist/ionic/p-fec23a6f.entry.js +4 -0
  932. package/dist/ionic/p-ffea25fc.system.entry.js +4 -0
  933. package/dist/types/components/accordion/accordion.d.ts +5 -3
  934. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  935. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  936. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  937. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  938. package/dist/types/components/alert/alert.d.ts +3 -2
  939. package/dist/types/components/app/app.d.ts +6 -2
  940. package/dist/types/components/avatar/avatar.d.ts +32 -0
  941. package/dist/types/components/back-button/back-button.d.ts +2 -1
  942. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  943. package/dist/types/components/badge/badge.d.ts +37 -1
  944. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  945. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  946. package/dist/types/components/button/button.d.ts +15 -4
  947. package/dist/types/components/buttons/buttons.d.ts +5 -1
  948. package/dist/types/components/card/card.d.ts +8 -1
  949. package/dist/types/components/card-content/card-content.d.ts +2 -1
  950. package/dist/types/components/card-header/card-header.d.ts +3 -2
  951. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  952. package/dist/types/components/card-title/card-title.d.ts +2 -1
  953. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  954. package/dist/types/components/chip/chip.d.ts +26 -1
  955. package/dist/types/components/col/col.d.ts +4 -0
  956. package/dist/types/components/content/content.d.ts +3 -0
  957. package/dist/types/components/datetime/datetime.d.ts +26 -1
  958. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  959. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  960. package/dist/types/components/divider/divider.d.ts +20 -0
  961. package/dist/types/components/fab/fab.d.ts +4 -0
  962. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  963. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  964. package/dist/types/components/footer/footer.d.ts +4 -3
  965. package/dist/types/components/grid/grid.d.ts +4 -0
  966. package/dist/types/components/header/header.d.ts +9 -3
  967. package/dist/types/components/img/img.d.ts +3 -0
  968. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  969. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  970. package/dist/types/components/input/input.d.ts +31 -5
  971. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  972. package/dist/types/components/item/item.d.ts +11 -4
  973. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  974. package/dist/types/components/item-group/item-group.d.ts +4 -0
  975. package/dist/types/components/item-option/item-option.d.ts +18 -1
  976. package/dist/types/components/item-options/item-options.d.ts +4 -0
  977. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  978. package/dist/types/components/label/label.d.ts +2 -1
  979. package/dist/types/components/list/list.d.ts +15 -1
  980. package/dist/types/components/list-header/list-header.d.ts +2 -1
  981. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  982. package/dist/types/components/loading/loading.d.ts +3 -2
  983. package/dist/types/components/menu/menu.d.ts +3 -0
  984. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  985. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  986. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  987. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  988. package/dist/types/components/modal/modal.d.ts +11 -1
  989. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  990. package/dist/types/components/nav/nav.d.ts +5 -1
  991. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  992. package/dist/types/components/note/note.d.ts +2 -1
  993. package/dist/types/components/picker/picker.d.ts +2 -1
  994. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  995. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  996. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  997. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  998. package/dist/types/components/popover/popover.d.ts +6 -5
  999. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  1000. package/dist/types/components/radio/radio.d.ts +2 -1
  1001. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  1002. package/dist/types/components/range/range.d.ts +2 -1
  1003. package/dist/types/components/refresher/refresher.d.ts +2 -1
  1004. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  1005. package/dist/types/components/reorder/reorder.d.ts +9 -0
  1006. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  1007. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  1008. package/dist/types/components/route/route.d.ts +4 -0
  1009. package/dist/types/components/router/router.d.ts +4 -0
  1010. package/dist/types/components/router-link/router-link.d.ts +4 -0
  1011. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  1012. package/dist/types/components/row/row.d.ts +4 -0
  1013. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  1014. package/dist/types/components/segment/segment.d.ts +2 -1
  1015. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  1016. package/dist/types/components/select/select.d.ts +41 -13
  1017. package/dist/types/components/select-option/select-option.d.ts +4 -0
  1018. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  1019. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  1020. package/dist/types/components/spinner/spinner.d.ts +15 -0
  1021. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  1022. package/dist/types/components/tab/tab.d.ts +4 -0
  1023. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  1024. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  1025. package/dist/types/components/tabs/tabs.d.ts +3 -0
  1026. package/dist/types/components/text/text.d.ts +2 -1
  1027. package/dist/types/components/textarea/textarea.d.ts +17 -4
  1028. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  1029. package/dist/types/components/title/title.d.ts +4 -0
  1030. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  1031. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  1032. package/dist/types/components/toast/toast.d.ts +19 -2
  1033. package/dist/types/components/toggle/toggle.d.ts +17 -1
  1034. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  1035. package/dist/types/components.d.ts +1488 -186
  1036. package/dist/types/global/ionic-global.d.ts +27 -2
  1037. package/dist/types/interface.d.ts +3 -0
  1038. package/dist/types/utils/config.d.ts +106 -2
  1039. package/dist/types/utils/focus-visible.d.ts +13 -0
  1040. package/dist/types/utils/helpers.d.ts +11 -0
  1041. package/dist/types/utils/logging/index.d.ts +1 -1
  1042. package/dist/types/utils/overlays-interface.d.ts +31 -1
  1043. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1044. package/hydrate/index.js +2639 -937
  1045. package/hydrate/index.mjs +2639 -937
  1046. package/package.json +9 -4
  1047. package/components/hardware-back-button.js +0 -115
  1048. package/components/index8.js +0 -128
  1049. package/dist/cjs/hardware-back-button-3d2b1004.js +0 -121
  1050. package/dist/cjs/index-c8d52405.js +0 -10
  1051. package/dist/cjs/ionic-global-6dea5a96.js +0 -152
  1052. package/dist/esm/hardware-back-button-a7eb8233.js +0 -115
  1053. package/dist/esm/index-a5d50daf.js +0 -7
  1054. package/dist/esm/index-be190feb.js +0 -168
  1055. package/dist/esm/ionic-global-b26f573e.js +0 -147
  1056. package/dist/esm-es5/animation-8b25e105.js +0 -4
  1057. package/dist/esm-es5/app-globals-dbdbb3df.js +0 -4
  1058. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  1059. package/dist/esm-es5/config-9898ed97.js +0 -4
  1060. package/dist/esm-es5/data-0d7ea6eb.js +0 -4
  1061. package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
  1062. package/dist/esm-es5/framework-delegate-56b467ad.js +0 -4
  1063. package/dist/esm-es5/hardware-back-button-a7eb8233.js +0 -4
  1064. package/dist/esm-es5/helpers-d94bc8ad.js +0 -4
  1065. package/dist/esm-es5/index-18f31305.js +0 -4
  1066. package/dist/esm-es5/index-68c0d151.js +0 -4
  1067. package/dist/esm-es5/index-9a17db3d.js +0 -4
  1068. package/dist/esm-es5/index-a5d50daf.js +0 -4
  1069. package/dist/esm-es5/index-be190feb.js +0 -4
  1070. package/dist/esm-es5/index-cfd9c1f2.js +0 -5
  1071. package/dist/esm-es5/input-shims-279903e2.js +0 -4
  1072. package/dist/esm-es5/input.utils-40504d6d.js +0 -4
  1073. package/dist/esm-es5/ionic-global-b26f573e.js +0 -4
  1074. package/dist/esm-es5/ios.transition-4047cb68.js +0 -4
  1075. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  1076. package/dist/esm-es5/md.transition-30ce8d1b.js +0 -4
  1077. package/dist/esm-es5/notch-controller-1a1f7183.js +0 -4
  1078. package/dist/esm-es5/overlays-d99dcb0a.js +0 -4
  1079. package/dist/esm-es5/status-tap-42a8af65.js +0 -4
  1080. package/dist/esm-es5/swipe-back-0184f6b3.js +0 -4
  1081. package/dist/ionic/p-00023f5a.system.js +0 -4
  1082. package/dist/ionic/p-019e30a3.system.entry.js +0 -4
  1083. package/dist/ionic/p-03480b95.system.entry.js +0 -4
  1084. package/dist/ionic/p-08cef0b1.entry.js +0 -4
  1085. package/dist/ionic/p-0f5e6225.js +0 -4
  1086. package/dist/ionic/p-105b2e8b.entry.js +0 -4
  1087. package/dist/ionic/p-10a1bddc.js +0 -4
  1088. package/dist/ionic/p-117d0013.system.entry.js +0 -4
  1089. package/dist/ionic/p-12193821.system.js +0 -4
  1090. package/dist/ionic/p-12830298.system.entry.js +0 -4
  1091. package/dist/ionic/p-12914457.entry.js +0 -4
  1092. package/dist/ionic/p-14154301.system.entry.js +0 -4
  1093. package/dist/ionic/p-14bdb5aa.entry.js +0 -4
  1094. package/dist/ionic/p-1706b406.system.entry.js +0 -4
  1095. package/dist/ionic/p-171ca87d.system.js +0 -4
  1096. package/dist/ionic/p-17e21141.js +0 -4
  1097. package/dist/ionic/p-19494658.system.entry.js +0 -4
  1098. package/dist/ionic/p-1974d5b2.system.js +0 -4
  1099. package/dist/ionic/p-1a81ac09.system.js +0 -4
  1100. package/dist/ionic/p-1b9c59ab.js +0 -4
  1101. package/dist/ionic/p-1cb02e44.entry.js +0 -4
  1102. package/dist/ionic/p-1dfc11b3.system.js +0 -4
  1103. package/dist/ionic/p-1e4371bd.js +0 -4
  1104. package/dist/ionic/p-21891ead.js +0 -4
  1105. package/dist/ionic/p-2233344a.system.js +0 -4
  1106. package/dist/ionic/p-228e2522.entry.js +0 -4
  1107. package/dist/ionic/p-2469240b.entry.js +0 -4
  1108. package/dist/ionic/p-24a6c8a3.system.entry.js +0 -4
  1109. package/dist/ionic/p-257fb777.entry.js +0 -4
  1110. package/dist/ionic/p-25b10f81.js +0 -4
  1111. package/dist/ionic/p-2b7827c7.js +0 -4
  1112. package/dist/ionic/p-2bb55ebc.js +0 -4
  1113. package/dist/ionic/p-2bff0e69.system.entry.js +0 -4
  1114. package/dist/ionic/p-31dc303d.entry.js +0 -4
  1115. package/dist/ionic/p-33503ae0.system.entry.js +0 -4
  1116. package/dist/ionic/p-3535d6b5.entry.js +0 -4
  1117. package/dist/ionic/p-35cdfd77.system.entry.js +0 -4
  1118. package/dist/ionic/p-393ffcc2.entry.js +0 -4
  1119. package/dist/ionic/p-39fa7dd1.system.entry.js +0 -4
  1120. package/dist/ionic/p-42f08b26.system.entry.js +0 -4
  1121. package/dist/ionic/p-481e0885.entry.js +0 -4
  1122. package/dist/ionic/p-4a5be299.system.entry.js +0 -4
  1123. package/dist/ionic/p-4c667fce.js +0 -4
  1124. package/dist/ionic/p-4cf4172e.entry.js +0 -4
  1125. package/dist/ionic/p-4da92dac.entry.js +0 -4
  1126. package/dist/ionic/p-4ec0e961.system.entry.js +0 -4
  1127. package/dist/ionic/p-4ed5db19.system.js +0 -4
  1128. package/dist/ionic/p-4f86aa6d.entry.js +0 -4
  1129. package/dist/ionic/p-50cb2e8b.system.entry.js +0 -4
  1130. package/dist/ionic/p-57957c0f.entry.js +0 -4
  1131. package/dist/ionic/p-57e55ecb.system.js +0 -4
  1132. package/dist/ionic/p-5b67b447.js +0 -4
  1133. package/dist/ionic/p-5c9feddc.system.entry.js +0 -4
  1134. package/dist/ionic/p-5edf78c5.system.entry.js +0 -4
  1135. package/dist/ionic/p-6201c4ba.entry.js +0 -4
  1136. package/dist/ionic/p-625248d0.system.js +0 -4
  1137. package/dist/ionic/p-663413be.system.js +0 -4
  1138. package/dist/ionic/p-6636a436.js +0 -4
  1139. package/dist/ionic/p-66df5468.system.entry.js +0 -4
  1140. package/dist/ionic/p-67077d48.entry.js +0 -4
  1141. package/dist/ionic/p-6835ebdd.system.entry.js +0 -4
  1142. package/dist/ionic/p-6a03fc0f.entry.js +0 -4
  1143. package/dist/ionic/p-6b8530f5.system.entry.js +0 -4
  1144. package/dist/ionic/p-6c474e87.entry.js +0 -4
  1145. package/dist/ionic/p-6dd86ff5.system.entry.js +0 -4
  1146. package/dist/ionic/p-6ec0c94a.entry.js +0 -4
  1147. package/dist/ionic/p-6f832afe.system.entry.js +0 -4
  1148. package/dist/ionic/p-70044cb8.entry.js +0 -4
  1149. package/dist/ionic/p-712c0131.entry.js +0 -4
  1150. package/dist/ionic/p-721f43f9.entry.js +0 -4
  1151. package/dist/ionic/p-72b3050b.system.entry.js +0 -4
  1152. package/dist/ionic/p-7445a2e5.system.js +0 -4
  1153. package/dist/ionic/p-7611ede3.system.entry.js +0 -4
  1154. package/dist/ionic/p-781e2dbb.system.js +0 -4
  1155. package/dist/ionic/p-792919fd.system.js +0 -4
  1156. package/dist/ionic/p-7b30edcc.js +0 -4
  1157. package/dist/ionic/p-7b8c12c3.entry.js +0 -4
  1158. package/dist/ionic/p-7c5c7ae1.system.entry.js +0 -4
  1159. package/dist/ionic/p-7e3e6ed2.entry.js +0 -4
  1160. package/dist/ionic/p-7ffedf77.system.entry.js +0 -4
  1161. package/dist/ionic/p-809483ac.js +0 -4
  1162. package/dist/ionic/p-81904a80.entry.js +0 -4
  1163. package/dist/ionic/p-8450f761.entry.js +0 -4
  1164. package/dist/ionic/p-8460d95a.entry.js +0 -4
  1165. package/dist/ionic/p-85b01465.js +0 -4
  1166. package/dist/ionic/p-865fe95c.entry.js +0 -4
  1167. package/dist/ionic/p-8674af94.entry.js +0 -4
  1168. package/dist/ionic/p-890a4ee2.entry.js +0 -4
  1169. package/dist/ionic/p-891553d8.entry.js +0 -4
  1170. package/dist/ionic/p-8ab2f7a4.system.entry.js +0 -4
  1171. package/dist/ionic/p-8b050e84.system.js +0 -4
  1172. package/dist/ionic/p-8dacf4e2.entry.js +0 -4
  1173. package/dist/ionic/p-94551927.js +0 -4
  1174. package/dist/ionic/p-95001a19.js +0 -4
  1175. package/dist/ionic/p-958fd7e9.system.entry.js +0 -4
  1176. package/dist/ionic/p-98fd942b.system.entry.js +0 -4
  1177. package/dist/ionic/p-a0fd2fe5.system.entry.js +0 -4
  1178. package/dist/ionic/p-a5dbe0ff.system.entry.js +0 -4
  1179. package/dist/ionic/p-a78d1c24.entry.js +0 -4
  1180. package/dist/ionic/p-a835aca8.entry.js +0 -4
  1181. package/dist/ionic/p-a83e3290.system.js +0 -4
  1182. package/dist/ionic/p-ab7337e1.entry.js +0 -4
  1183. package/dist/ionic/p-abe101da.system.js +0 -4
  1184. package/dist/ionic/p-aded71ec.js +0 -4
  1185. package/dist/ionic/p-ae039072.entry.js +0 -4
  1186. package/dist/ionic/p-aebfab05.system.entry.js +0 -4
  1187. package/dist/ionic/p-b22ab9f4.js +0 -4
  1188. package/dist/ionic/p-b2e7eda0.system.entry.js +0 -4
  1189. package/dist/ionic/p-b445ff65.entry.js +0 -4
  1190. package/dist/ionic/p-b4d17da0.system.entry.js +0 -4
  1191. package/dist/ionic/p-b5432d15.entry.js +0 -4
  1192. package/dist/ionic/p-b7b1d91a.js +0 -4
  1193. package/dist/ionic/p-b8050298.system.entry.js +0 -4
  1194. package/dist/ionic/p-b9c793d4.entry.js +0 -4
  1195. package/dist/ionic/p-bce753bd.system.entry.js +0 -4
  1196. package/dist/ionic/p-bf184319.system.entry.js +0 -4
  1197. package/dist/ionic/p-c16443a8.system.js +0 -4
  1198. package/dist/ionic/p-c1b7d311.system.entry.js +0 -4
  1199. package/dist/ionic/p-c2160d8c.entry.js +0 -4
  1200. package/dist/ionic/p-c468af8a.system.js +0 -4
  1201. package/dist/ionic/p-c5b77054.entry.js +0 -4
  1202. package/dist/ionic/p-c5bfa3e9.entry.js +0 -4
  1203. package/dist/ionic/p-c61cc894.js +0 -4
  1204. package/dist/ionic/p-cec902a0.system.entry.js +0 -4
  1205. package/dist/ionic/p-d16fab3f.entry.js +0 -4
  1206. package/dist/ionic/p-d382f09c.system.js +0 -4
  1207. package/dist/ionic/p-d47265c8.js +0 -4
  1208. package/dist/ionic/p-d91f942c.system.entry.js +0 -4
  1209. package/dist/ionic/p-d984c1ab.system.entry.js +0 -4
  1210. package/dist/ionic/p-da6247e5.entry.js +0 -4
  1211. package/dist/ionic/p-dabe3bd4.js +0 -4
  1212. package/dist/ionic/p-df069a0d.entry.js +0 -4
  1213. package/dist/ionic/p-e727e32d.system.entry.js +0 -4
  1214. package/dist/ionic/p-e8245753.entry.js +0 -4
  1215. package/dist/ionic/p-e887b6a9.system.js +0 -4
  1216. package/dist/ionic/p-ed005d9c.js +0 -4
  1217. package/dist/ionic/p-edd2e3c7.entry.js +0 -4
  1218. package/dist/ionic/p-f08a92cc.js +0 -4
  1219. package/dist/ionic/p-f0c9f8e3.system.entry.js +0 -4
  1220. package/dist/ionic/p-f0ef39ab.entry.js +0 -4
  1221. package/dist/ionic/p-f22490a7.system.entry.js +0 -4
  1222. package/dist/ionic/p-f6bb9be7.system.entry.js +0 -4
  1223. package/dist/ionic/p-f725bf9e.system.js +0 -4
  1224. package/dist/ionic/p-f9a87db2.system.entry.js +0 -4
  1225. package/dist/ionic/p-fa3f4b96.system.js +0 -4
  1226. package/dist/ionic/p-fe063952.system.entry.js +0 -4
  1227. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -10,7 +10,6 @@ export { getTimeGivenProgression } from './utils/animation/cubic-bezier';
10
10
  export { createGesture } from './utils/gesture';
11
11
  export { initialize } from './global/ionic-global';
12
12
  export { componentOnReady } from './utils/helpers';
13
- export { LogLevel } from './utils/logging';
14
13
  export { isPlatform, getPlatforms } from './utils/platform';
15
14
  export { IonicSafeString } from './utils/sanitization';
16
15
  export { getMode, setupConfig } from './utils/config';
@@ -1,7 +1,6 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { printIonError } from "../logging/index";
5
4
  import { win } from "../browser";
6
5
  import { addClassToArray, setStyleProperty } from "./animation-utils";
7
6
  export const createAnimation = (animationId) => {
@@ -346,7 +345,7 @@ export const createAnimation = (animationId) => {
346
345
  }
347
346
  }
348
347
  else {
349
- printIonError('createAnimation - Invalid addElement value.');
348
+ console.error('Invalid addElement value');
350
349
  }
351
350
  }
352
351
  return ani;
@@ -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
@@ -2,7 +2,6 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { win } from "./browser/index";
5
- import { printIonError } from "./logging/index";
6
5
  import { config } from "../global/config";
7
6
  /**
8
7
  * CloseWatcher is a newer API that lets
@@ -58,7 +57,7 @@ export const startHardwareBackButton = () => {
58
57
  }
59
58
  }
60
59
  catch (e) {
61
- printIonError('[ion-app] - Exception in startHardwareBackButton:', e);
60
+ console.error(e);
62
61
  }
63
62
  };
64
63
  const processHandlers = () => {
@@ -1,7 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { printIonError } from "./logging/index";
4
+ import { focusElements } from "./focus-visible";
5
+ import { config } from "../global/config";
5
6
  export const transitionEndAsync = (el, expectedDuration = 0) => {
6
7
  return new Promise((resolve) => {
7
8
  transitionEnd(el, expectedDuration, resolve);
@@ -203,6 +204,17 @@ export const raf = (h) => {
203
204
  export const hasShadowDom = (el) => {
204
205
  return !!el.shadowRoot && !!el.attachShadow;
205
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
+ */
206
218
  export const focusVisibleElement = (el) => {
207
219
  el.focus();
208
220
  /**
@@ -214,9 +226,36 @@ export const focusVisibleElement = (el) => {
214
226
  * which will let us explicitly set the elements to focus.
215
227
  */
216
228
  if (el.classList.contains('ion-focusable')) {
217
- const app = el.closest('ion-app');
229
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
230
+ const app = el.closest(appRootSelector);
218
231
  if (app) {
219
- 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
+ }
220
259
  }
221
260
  }
222
261
  };
@@ -252,7 +291,7 @@ export const clamp = (min, n, max) => {
252
291
  export const assert = (actual, reason) => {
253
292
  if (!actual) {
254
293
  const message = 'ASSERT: ' + reason;
255
- printIonError(message);
294
+ console.error(message);
256
295
  debugger; // eslint-disable-line
257
296
  throw new Error(message);
258
297
  }
@@ -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
  /**
@@ -2,12 +2,6 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { config } from "../../global/config";
5
- export var LogLevel;
6
- (function (LogLevel) {
7
- LogLevel["OFF"] = "OFF";
8
- LogLevel["ERROR"] = "ERROR";
9
- LogLevel["WARN"] = "WARN";
10
- })(LogLevel || (LogLevel = {}));
11
5
  /**
12
6
  * Logs a warning to the console with an Ionic prefix
13
7
  * to indicate the library that is warning the developer.
@@ -15,8 +9,8 @@ export var LogLevel;
15
9
  * @param message - The string message to be logged to the console.
16
10
  */
17
11
  export const printIonWarning = (message, ...params) => {
18
- const logLevel = config.get('logLevel', LogLevel.WARN);
19
- if ([LogLevel.WARN].includes(logLevel)) {
12
+ const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
13
+ if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
20
14
  return console.warn(`[Ionic Warning]: ${message}`, ...params);
21
15
  }
22
16
  };
@@ -28,8 +22,8 @@ export const printIonWarning = (message, ...params) => {
28
22
  * @param params - Additional arguments to supply to the console.error.
29
23
  */
30
24
  export const printIonError = (message, ...params) => {
31
- const logLevel = config.get('logLevel', LogLevel.ERROR);
32
- if ([LogLevel.ERROR, LogLevel.WARN].includes(logLevel)) {
25
+ const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
26
+ if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
33
27
  return console.error(`[Ionic Error]: ${message}`, ...params);
34
28
  }
35
29
  };
@@ -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
  };
@@ -4,13 +4,13 @@
4
4
  import { doc } from "./browser/index";
5
5
  import { focusFirstDescendant, focusLastDescendant, focusableQueryString } from "./focus-trap";
6
6
  import { shouldUseCloseWatcher } from "./hardware-back-button";
7
- import { printIonError, printIonWarning } from "./logging/index";
8
7
  import { config } from "../global/config";
9
8
  import { getIonMode } from "../global/ionic-global";
10
9
  import { CoreDelegate } from "./framework-delegate";
11
10
  import { BACKDROP_NO_SCROLL } from "./gesture/gesture-controller";
12
11
  import { OVERLAY_BACK_BUTTON_PRIORITY } from "./hardware-back-button";
13
12
  import { addEventListener, componentOnReady, focusVisibleElement, getElementRoot, removeEventListener, } from "./helpers";
13
+ import { printIonWarning } from "./logging";
14
14
  import { isPlatform } from "./platform";
15
15
  let lastOverlayIndex = 0;
16
16
  let lastId = 0;
@@ -544,7 +544,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
544
544
  }
545
545
  const presentedOverlays = doc !== undefined ? getPresentedOverlays(doc) : [];
546
546
  /**
547
- * For accessibility, toasts lack focus traps and don't receive
547
+ * For accessibility, toasts lack focus traps and don’t receive
548
548
  * `aria-hidden` on the root element when presented.
549
549
  *
550
550
  * All other overlays use focus traps to keep keyboard focus
@@ -607,14 +607,15 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
607
607
  }
608
608
  }
609
609
  catch (err) {
610
- printIonError(`[${overlay.el.tagName.toLowerCase()}] - `, err);
610
+ console.error(err);
611
611
  }
612
612
  overlay.el.remove();
613
613
  revealOverlaysToScreenReaders();
614
614
  return true;
615
615
  };
616
616
  const getAppRoot = (doc) => {
617
- return doc.querySelector('ion-app') || doc.body;
617
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
618
+ return doc.querySelector(appRootSelector) || doc.body;
618
619
  };
619
620
  const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
620
621
  // Make overlay visible in case it's hidden
@@ -787,7 +788,7 @@ export const createTriggerController = () => {
787
788
  removeClickListener();
788
789
  const triggerEl = trigger !== undefined ? document.getElementById(trigger) : null;
789
790
  if (!triggerEl) {
790
- printIonWarning(`[${el.tagName.toLowerCase()}] - A trigger element with the ID "${trigger}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`, el);
791
+ printIonWarning(`A trigger element with the ID "${trigger}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`, el);
791
792
  return;
792
793
  }
793
794
  const configureTriggerInteraction = (targetEl, overlayEl) => {
@@ -1,7 +1,6 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { printIonError } from "../logging/index";
5
4
  /**
6
5
  * Does a simple sanitization of all elements
7
6
  * in an untrusted string
@@ -76,7 +75,7 @@ export const sanitizeDOMString = (untrustedString) => {
76
75
  return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
77
76
  }
78
77
  catch (err) {
79
- printIonError('sanitizeDOMString', err);
78
+ console.error(err);
80
79
  return '';
81
80
  }
82
81
  };
@@ -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;