@ionic/core 8.4.2-dev.11736797843.16cc5058 → 8.4.2-dev.11739377372.17be7c08

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 (1195) hide show
  1. package/components/action-sheet.js +29 -40
  2. package/components/alert.js +33 -46
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +10 -15
  5. package/components/button.js +58 -36
  6. package/components/buttons.js +11 -19
  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 +39 -44
  12. package/components/config2.js +79 -0
  13. package/components/content.js +16 -34
  14. package/components/data.js +6 -6
  15. package/components/focus-visible.js +8 -1
  16. package/components/framework-delegate.js +3 -1
  17. package/components/header.js +26 -24
  18. package/components/helpers.js +4 -1
  19. package/components/index2.js +2 -2
  20. package/components/index4.js +8 -9
  21. package/components/index5.js +27 -3
  22. package/components/index6.js +114 -20
  23. package/components/index7.js +163 -27
  24. package/components/input-shims.js +2 -2
  25. package/components/input.utils.js +1 -2
  26. package/components/ion-accordion-group.js +27 -23
  27. package/components/ion-accordion.js +43 -44
  28. package/components/ion-app.js +9 -77
  29. package/components/ion-avatar.js +52 -3
  30. package/components/ion-back-button.js +36 -27
  31. package/components/ion-badge.js +45 -8
  32. package/components/ion-breadcrumb.js +58 -28
  33. package/components/ion-breadcrumbs.js +15 -17
  34. package/components/ion-card-content.js +11 -7
  35. package/components/ion-card-header.js +10 -10
  36. package/components/ion-card-subtitle.js +10 -5
  37. package/components/ion-card-title.js +10 -5
  38. package/components/ion-card.js +23 -22
  39. package/components/ion-chip.js +46 -14
  40. package/components/ion-col.js +29 -5
  41. package/components/ion-datetime-button.js +17 -18
  42. package/components/ion-datetime.js +141 -138
  43. package/components/ion-fab-button.js +46 -42
  44. package/components/ion-fab-list.js +5 -11
  45. package/components/ion-fab.js +8 -15
  46. package/components/ion-footer.js +21 -22
  47. package/components/ion-grid.js +5 -8
  48. package/components/ion-img.js +9 -2
  49. package/components/ion-infinite-scroll-content.js +15 -8
  50. package/components/ion-infinite-scroll.js +9 -31
  51. package/components/ion-input-password-toggle.js +57 -18
  52. package/components/ion-input.js +152 -84
  53. package/components/ion-item-divider.js +10 -12
  54. package/components/ion-item-group.js +9 -5
  55. package/components/ion-item-option.js +36 -20
  56. package/components/ion-item-options.js +9 -9
  57. package/components/ion-item-sliding.js +5 -8
  58. package/components/ion-loading.js +25 -39
  59. package/components/ion-menu-button.js +33 -22
  60. package/components/ion-menu-toggle.js +8 -13
  61. package/components/ion-menu.js +15 -29
  62. package/components/ion-nav-link.js +5 -5
  63. package/components/ion-nav.js +13 -9
  64. package/components/ion-note.js +10 -5
  65. package/components/ion-picker-legacy.js +24 -47
  66. package/components/ion-progress-bar.js +12 -22
  67. package/components/ion-range.js +32 -71
  68. package/components/ion-refresher-content.js +32 -9
  69. package/components/ion-refresher.js +11 -57
  70. package/components/ion-reorder-group.js +5 -8
  71. package/components/ion-reorder.js +31 -5
  72. package/components/ion-route-redirect.js +2 -0
  73. package/components/ion-route.js +4 -6
  74. package/components/ion-router-link.js +12 -11
  75. package/components/ion-router-outlet.js +7 -9
  76. package/components/ion-router.js +0 -18
  77. package/components/ion-row.js +5 -2
  78. package/components/ion-searchbar.js +116 -90
  79. package/components/ion-segment-button.js +64 -30
  80. package/components/ion-segment-content.js +1 -1
  81. package/components/ion-segment-view.js +7 -5
  82. package/components/ion-segment.js +18 -27
  83. package/components/ion-select-option.js +6 -5
  84. package/components/ion-select.js +138 -76
  85. package/components/ion-skeleton-text.js +6 -8
  86. package/components/ion-split-pane.js +13 -16
  87. package/components/ion-tab-bar.js +33 -13
  88. package/components/ion-tab-button.js +36 -15
  89. package/components/ion-tab.js +5 -3
  90. package/components/ion-tabs.js +4 -4
  91. package/components/ion-text.js +6 -5
  92. package/components/ion-textarea.js +76 -70
  93. package/components/ion-thumbnail.js +5 -2
  94. package/components/ion-toast.js +53 -59
  95. package/components/ion-toggle.js +87 -51
  96. package/components/ionic-global.js +374 -84
  97. package/components/ios.transition.js +1 -0
  98. package/components/item.js +49 -27
  99. package/components/keyboard-controller.js +4 -2
  100. package/components/label.js +11 -5
  101. package/components/list-header.js +11 -5
  102. package/components/list.js +30 -9
  103. package/components/list2.js +6 -0
  104. package/components/modal.js +76 -113
  105. package/components/notch-controller.js +1 -1
  106. package/components/overlays.js +4 -5
  107. package/components/picker-column-option.js +10 -21
  108. package/components/picker-column.js +13 -30
  109. package/components/picker-column2.js +5 -4
  110. package/components/picker.js +8 -4
  111. package/components/popover.js +39 -130
  112. package/components/radio-group.js +9 -11
  113. package/components/radio.js +21 -33
  114. package/components/ripple-effect.js +18 -17
  115. package/components/select-modal.js +7 -5
  116. package/components/select-popover.js +13 -5
  117. package/components/spinner.js +39 -12
  118. package/components/status-tap.js +1 -1
  119. package/components/title.js +13 -7
  120. package/components/toolbar.js +12 -7
  121. package/components/x.js +6 -0
  122. package/css/core.css +1 -1
  123. package/css/core.css.map +1 -1
  124. package/css/display.css +1 -1
  125. package/css/display.css.map +1 -1
  126. package/css/flex-utils.css +1 -1
  127. package/css/flex-utils.css.map +1 -1
  128. package/css/float-elements.css.map +1 -1
  129. package/css/global.bundle.css.map +1 -1
  130. package/css/ionic/bundle.ionic.css +1 -0
  131. package/css/ionic/bundle.ionic.css.map +1 -0
  132. package/css/ionic/core.ionic.css +1 -0
  133. package/css/ionic/core.ionic.css.map +1 -0
  134. package/css/ionic/global.bundle.ionic.css +1 -0
  135. package/css/ionic/global.bundle.ionic.css.map +1 -0
  136. package/css/ionic/ionic-swiper.ionic.css +1 -0
  137. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  138. package/css/ionic/link.ionic.css +1 -0
  139. package/css/ionic/link.ionic.css.map +1 -0
  140. package/css/ionic/structure.ionic.css +1 -0
  141. package/css/ionic/structure.ionic.css.map +1 -0
  142. package/css/ionic/typography.ionic.css +1 -0
  143. package/css/ionic/typography.ionic.css.map +1 -0
  144. package/css/ionic/utils.bundle.ionic.css +1 -0
  145. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  146. package/css/ionic-swiper.css +1 -1
  147. package/css/ionic-swiper.css.map +1 -1
  148. package/css/ionic.bundle.css +1 -1
  149. package/css/ionic.bundle.css.map +1 -1
  150. package/css/normalize.css.map +1 -1
  151. package/css/padding.css.map +1 -1
  152. package/css/palettes/dark.always.css.map +1 -1
  153. package/css/palettes/dark.class.css.map +1 -1
  154. package/css/palettes/dark.system.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  156. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  157. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  158. package/css/palettes/high-contrast.always.css.map +1 -1
  159. package/css/palettes/high-contrast.class.css.map +1 -1
  160. package/css/palettes/high-contrast.system.css.map +1 -1
  161. package/css/structure.css.map +1 -1
  162. package/css/text-alignment.css.map +1 -1
  163. package/css/text-transformation.css.map +1 -1
  164. package/css/typography.css.map +1 -1
  165. package/css/utils.bundle.css +1 -1
  166. package/css/utils.bundle.css.map +1 -1
  167. package/dist/cjs/{animation-b4fdf128.js → animation-58015a44.js} +2 -2
  168. package/dist/cjs/{app-globals-d2d85416.js → app-globals-d64148d3.js} +1 -1
  169. package/dist/cjs/{button-active-8d4c8099.js → button-active-ec1fd1d8.js} +2 -2
  170. package/dist/cjs/{capacitor-c04564bf.js → capacitor-454dd071.js} +3 -3
  171. package/dist/cjs/caret-down-3c215cff.js +8 -0
  172. package/dist/cjs/caret-left-2bb66970.js +8 -0
  173. package/dist/cjs/caret-right-88e03970.js +8 -0
  174. package/dist/cjs/config-aff4ff52.js +84 -0
  175. package/dist/cjs/{data-21dc0f81.js → data-5a4013f1.js} +8 -8
  176. package/dist/cjs/{focus-visible-7a0ce04f.js → focus-visible-9aa87fa3.js} +8 -0
  177. package/dist/cjs/{framework-delegate-55f5683a.js → framework-delegate-32f1a0e4.js} +4 -2
  178. package/dist/cjs/{haptic-f6b37aa3.js → haptic-7c25be74.js} +1 -1
  179. package/dist/cjs/{helpers-afaa9001.js → helpers-4e2936d2.js} +4 -1
  180. package/dist/cjs/{index-38a015a8.js → index-03fbee1d.js} +14 -15
  181. package/dist/cjs/{index-9509ecad.js → index-0e0c6196.js} +9 -7
  182. package/dist/cjs/{index-5b6a7459.js → index-604c36ae.js} +3 -3
  183. package/dist/cjs/{index-2e7a27db.js → index-73f75efb.js} +847 -1215
  184. package/dist/cjs/{index-213cabf1.js → index-8f975cf4.js} +12 -12
  185. package/dist/cjs/index.cjs.js +11 -13
  186. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-4b4d2251.js} +18 -17
  187. package/dist/cjs/{input.utils-611cde0b.js → input.utils-fb1debe4.js} +4 -5
  188. package/dist/cjs/ion-accordion_2.cjs.entry.js +71 -69
  189. package/dist/cjs/ion-action-sheet.cjs.entry.js +38 -51
  190. package/dist/cjs/ion-alert.cjs.entry.js +44 -60
  191. package/dist/cjs/ion-app_8.cjs.entry.js +122 -212
  192. package/dist/cjs/ion-avatar_3.cjs.entry.js +95 -10
  193. package/dist/cjs/ion-back-button.cjs.entry.js +39 -30
  194. package/dist/cjs/ion-backdrop.cjs.entry.js +12 -16
  195. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +73 -45
  196. package/dist/cjs/ion-button_2.cjs.entry.js +64 -41
  197. package/dist/cjs/ion-card_5.cjs.entry.js +62 -47
  198. package/dist/cjs/ion-checkbox.cjs.entry.js +40 -46
  199. package/dist/cjs/ion-chip.cjs.entry.js +45 -14
  200. package/dist/cjs/ion-col_3.cjs.entry.js +39 -14
  201. package/dist/cjs/ion-datetime-button.cjs.entry.js +25 -25
  202. package/dist/cjs/ion-datetime_3.cjs.entry.js +251 -271
  203. package/dist/cjs/ion-fab_3.cjs.entry.js +58 -67
  204. package/dist/cjs/ion-img.cjs.entry.js +12 -4
  205. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +28 -44
  206. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +60 -21
  207. package/dist/cjs/ion-input.cjs.entry.js +153 -88
  208. package/dist/cjs/ion-item-option_3.cjs.entry.js +49 -37
  209. package/dist/cjs/ion-item_8.cjs.entry.js +129 -71
  210. package/dist/cjs/ion-loading.cjs.entry.js +33 -50
  211. package/dist/cjs/ion-menu_3.cjs.entry.js +60 -71
  212. package/dist/cjs/ion-modal.cjs.entry.js +120 -159
  213. package/dist/cjs/ion-nav_2.cjs.entry.js +25 -21
  214. package/dist/cjs/ion-picker-column-option.cjs.entry.js +13 -23
  215. package/dist/cjs/ion-picker-column.cjs.entry.js +19 -35
  216. package/dist/cjs/ion-picker.cjs.entry.js +11 -6
  217. package/dist/cjs/ion-popover.cjs.entry.js +49 -141
  218. package/dist/cjs/ion-progress-bar.cjs.entry.js +15 -25
  219. package/dist/cjs/ion-radio_2.cjs.entry.js +32 -45
  220. package/dist/cjs/ion-range.cjs.entry.js +40 -78
  221. package/dist/cjs/ion-refresher_2.cjs.entry.js +49 -74
  222. package/dist/cjs/ion-reorder_2.cjs.entry.js +38 -17
  223. package/dist/cjs/ion-ripple-effect.cjs.entry.js +19 -17
  224. package/dist/cjs/ion-route_4.cjs.entry.js +21 -37
  225. package/dist/cjs/ion-searchbar.cjs.entry.js +118 -92
  226. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  227. package/dist/cjs/ion-segment-view.cjs.entry.js +8 -6
  228. package/dist/cjs/ion-segment_2.cjs.entry.js +84 -58
  229. package/dist/cjs/ion-select-modal.cjs.entry.js +13 -13
  230. package/dist/cjs/ion-select_3.cjs.entry.js +158 -91
  231. package/dist/cjs/ion-spinner.cjs.entry.js +39 -13
  232. package/dist/cjs/ion-split-pane.cjs.entry.js +15 -17
  233. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +71 -34
  234. package/dist/cjs/ion-tab_2.cjs.entry.js +13 -10
  235. package/dist/cjs/ion-text.cjs.entry.js +8 -6
  236. package/dist/cjs/ion-textarea.cjs.entry.js +80 -76
  237. package/dist/cjs/ion-toast.cjs.entry.js +81 -89
  238. package/dist/cjs/ion-toggle.cjs.entry.js +90 -55
  239. package/dist/cjs/ionic-global-14af9c21.js +535 -0
  240. package/dist/cjs/ionic.cjs.js +6 -5
  241. package/dist/cjs/{ios.transition-ac964d6c.js → ios.transition-2bb0f7d5.js} +7 -7
  242. package/dist/cjs/{keyboard-af1bb365.js → keyboard-0a5d46dd.js} +5 -3
  243. package/dist/cjs/{keyboard-0272231f.js → keyboard-53c12a15.js} +1 -1
  244. package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-102bad3e.js} +11 -9
  245. package/dist/cjs/list-2930c629.js +8 -0
  246. package/dist/cjs/loader.cjs.js +5 -4
  247. package/dist/cjs/{md.transition-45089eda.js → md.transition-cf600117.js} +6 -7
  248. package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-ea70e230.js} +4 -4
  249. package/dist/cjs/{overlays-56fecd6c.js → overlays-542a90b3.js} +19 -20
  250. package/dist/cjs/{status-tap-84e22ef3.js → status-tap-aa97d209.js} +5 -4
  251. package/dist/cjs/{swipe-back-0303a5e4.js → swipe-back-27975274.js} +2 -1
  252. package/dist/cjs/x-81a8f51c.js +8 -0
  253. package/dist/collection/collection-manifest.json +2 -2
  254. package/dist/collection/components/accordion/accordion.ionic.css +197 -0
  255. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  256. package/dist/collection/components/accordion/accordion.js +44 -58
  257. package/dist/collection/components/accordion/accordion.md.css +67 -59
  258. package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -0
  259. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  260. package/dist/collection/components/accordion-group/accordion-group.js +45 -37
  261. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  262. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  263. package/dist/collection/components/action-sheet/action-sheet.js +34 -78
  264. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  265. package/dist/collection/components/alert/alert.ios.css +19 -1
  266. package/dist/collection/components/alert/alert.js +37 -88
  267. package/dist/collection/components/alert/alert.md.css +19 -1
  268. package/dist/collection/components/app/app.js +12 -78
  269. package/dist/collection/components/avatar/avatar.ionic.css +268 -0
  270. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  271. package/dist/collection/components/avatar/avatar.js +92 -4
  272. package/dist/collection/components/avatar/avatar.md.css +12 -0
  273. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  274. package/dist/collection/components/back-button/back-button.js +35 -42
  275. package/dist/collection/components/back-button/back-button.md.css +60 -48
  276. package/dist/collection/components/backdrop/backdrop.ionic.css +151 -0
  277. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  278. package/dist/collection/components/backdrop/backdrop.js +12 -21
  279. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  280. package/dist/collection/components/badge/badge.ionic.css +249 -0
  281. package/dist/collection/components/badge/badge.ios.css +106 -3
  282. package/dist/collection/components/badge/badge.js +78 -10
  283. package/dist/collection/components/badge/badge.md.css +106 -3
  284. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  285. package/dist/collection/components/breadcrumb/breadcrumb.js +57 -55
  286. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  287. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  288. package/dist/collection/components/breadcrumbs/breadcrumbs.js +17 -29
  289. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  290. package/dist/collection/components/button/button.ionic.css +589 -0
  291. package/dist/collection/components/button/button.ios.css +129 -36
  292. package/dist/collection/components/button/button.js +64 -74
  293. package/dist/collection/components/button/button.md.css +120 -40
  294. package/dist/collection/components/buttons/buttons.ionic.css +100 -0
  295. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  296. package/dist/collection/components/buttons/buttons.js +14 -22
  297. package/dist/collection/components/buttons/buttons.md.css +55 -3
  298. package/dist/collection/components/card/card.ionic.css +137 -0
  299. package/dist/collection/components/card/card.ios.css +65 -14
  300. package/dist/collection/components/card/card.js +40 -43
  301. package/dist/collection/components/card/card.md.css +65 -14
  302. package/dist/collection/components/card-content/card-content.ionic.css +90 -0
  303. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  304. package/dist/collection/components/card-content/card-content.js +11 -8
  305. package/dist/collection/components/card-content/card-content.md.css +16 -1
  306. package/dist/collection/components/card-header/card-header.ionic.css +87 -0
  307. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  308. package/dist/collection/components/card-header/card-header.js +13 -18
  309. package/dist/collection/components/card-header/card-header.md.css +27 -15
  310. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +146 -0
  311. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  312. package/dist/collection/components/card-subtitle/card-subtitle.js +14 -10
  313. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  314. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  315. package/dist/collection/components/card-title/card-title.js +14 -10
  316. package/dist/collection/components/card-title/card-title.md.css +73 -0
  317. package/dist/collection/components/checkbox/checkbox.ionic.css +402 -0
  318. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  319. package/dist/collection/components/checkbox/checkbox.js +73 -64
  320. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  321. package/dist/collection/components/chip/chip.ionic.css +160 -0
  322. package/dist/collection/components/chip/chip.ios.css +20 -1
  323. package/dist/collection/components/chip/chip.js +78 -20
  324. package/dist/collection/components/chip/chip.md.css +20 -1
  325. package/dist/collection/components/col/col.css +12 -0
  326. package/dist/collection/components/col/col.js +35 -53
  327. package/dist/collection/components/content/content.css +8 -2
  328. package/dist/collection/components/content/content.js +18 -47
  329. package/dist/collection/components/datetime/datetime.ionic.css +673 -0
  330. package/dist/collection/components/datetime/datetime.ios.css +237 -86
  331. package/dist/collection/components/datetime/datetime.js +144 -201
  332. package/dist/collection/components/datetime/datetime.md.css +237 -86
  333. package/dist/collection/components/datetime/utils/data.js +5 -5
  334. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  335. package/dist/collection/components/datetime-button/datetime-button.js +19 -26
  336. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  337. package/dist/collection/components/fab/fab.css +25 -1
  338. package/dist/collection/components/fab/fab.js +11 -22
  339. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  340. package/dist/collection/components/fab-button/fab-button.js +50 -76
  341. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  342. package/dist/collection/components/fab-list/fab-list.css +12 -0
  343. package/dist/collection/components/fab-list/fab-list.js +9 -15
  344. package/dist/collection/components/footer/footer.ios.css +14 -2
  345. package/dist/collection/components/footer/footer.js +23 -29
  346. package/dist/collection/components/footer/footer.md.css +12 -0
  347. package/dist/collection/components/grid/grid.css +12 -0
  348. package/dist/collection/components/grid/grid.js +9 -10
  349. package/dist/collection/components/header/header.ionic.css +86 -0
  350. package/dist/collection/components/header/header.ios.css +25 -10
  351. package/dist/collection/components/header/header.js +44 -30
  352. package/dist/collection/components/header/header.md.css +23 -8
  353. package/dist/collection/components/img/img.js +12 -6
  354. package/dist/collection/components/infinite-scroll/infinite-scroll.js +12 -36
  355. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  356. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +18 -14
  357. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  358. package/dist/collection/components/input/input.ionic.css +1078 -0
  359. package/dist/collection/components/input/input.ios.css +21 -2
  360. package/dist/collection/components/input/input.js +179 -163
  361. package/dist/collection/components/input/input.md.css +43 -4
  362. package/dist/collection/components/input-password-toggle/input-password-toggle.common.css +61 -0
  363. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +141 -0
  364. package/dist/collection/components/input-password-toggle/input-password-toggle.js +52 -24
  365. package/dist/collection/components/item/item.ionic.css +497 -0
  366. package/dist/collection/components/item/item.ios.css +109 -69
  367. package/dist/collection/components/item/item.js +53 -59
  368. package/dist/collection/components/item/item.md.css +120 -68
  369. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  370. package/dist/collection/components/item-divider/item-divider.js +12 -19
  371. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  372. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  373. package/dist/collection/components/item-group/item-group.js +13 -7
  374. package/dist/collection/components/item-group/item-group.md.css +12 -0
  375. package/dist/collection/components/item-option/item-option.ionic.css +332 -0
  376. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  377. package/dist/collection/components/item-option/item-option.js +51 -36
  378. package/dist/collection/components/item-option/item-option.md.css +14 -2
  379. package/dist/collection/components/item-options/item-options.ionic.css +259 -0
  380. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  381. package/dist/collection/components/item-options/item-options.js +13 -13
  382. package/dist/collection/components/item-options/item-options.md.css +18 -0
  383. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  384. package/dist/collection/components/item-sliding/item-sliding.js +8 -9
  385. package/dist/collection/components/label/label.ios.css +18 -0
  386. package/dist/collection/components/label/label.js +13 -12
  387. package/dist/collection/components/label/label.md.css +18 -0
  388. package/dist/collection/components/list/list.ionic.css +192 -0
  389. package/dist/collection/components/list/list.ios.css +18 -0
  390. package/dist/collection/components/list/list.js +48 -16
  391. package/dist/collection/components/list/list.md.css +20 -2
  392. package/dist/collection/components/list-header/list-header.ionic.css +236 -0
  393. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  394. package/dist/collection/components/list-header/list-header.js +15 -12
  395. package/dist/collection/components/list-header/list-header.md.css +18 -0
  396. package/dist/collection/components/loading/loading.ios.css +13 -1
  397. package/dist/collection/components/loading/loading.js +29 -79
  398. package/dist/collection/components/loading/loading.md.css +13 -1
  399. package/dist/collection/components/menu/menu.ios.css +15 -3
  400. package/dist/collection/components/menu/menu.js +15 -42
  401. package/dist/collection/components/menu/menu.md.css +15 -3
  402. package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
  403. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  404. package/dist/collection/components/menu-button/menu-button.js +31 -32
  405. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  406. package/dist/collection/components/menu-toggle/menu-toggle.js +11 -17
  407. package/dist/collection/components/modal/animations/sheet.js +8 -2
  408. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  409. package/dist/collection/components/modal/modal.ionic.css +239 -0
  410. package/dist/collection/components/modal/modal.ios.css +106 -63
  411. package/dist/collection/components/modal/modal.js +79 -158
  412. package/dist/collection/components/modal/modal.md.css +106 -63
  413. package/dist/collection/components/nav/nav.css +7 -1
  414. package/dist/collection/components/nav/nav.js +19 -23
  415. package/dist/collection/components/nav-link/nav-link.js +11 -15
  416. package/dist/collection/components/note/note.ios.css +12 -0
  417. package/dist/collection/components/note/note.js +14 -10
  418. package/dist/collection/components/note/note.md.css +12 -0
  419. package/dist/collection/components/picker/picker.ios.css +15 -3
  420. package/dist/collection/components/picker/picker.js +8 -5
  421. package/dist/collection/components/picker/picker.md.css +15 -3
  422. package/dist/collection/components/picker-column/picker-column.css +9 -2
  423. package/dist/collection/components/picker-column/picker-column.js +14 -37
  424. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  425. package/dist/collection/components/picker-column-option/picker-column-option.js +14 -29
  426. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  427. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  428. package/dist/collection/components/picker-legacy/picker.js +28 -81
  429. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  430. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  431. package/dist/collection/components/picker-legacy-column/picker-column.js +6 -7
  432. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  433. package/dist/collection/components/popover/popover.ios.css +13 -1
  434. package/dist/collection/components/popover/popover.js +48 -193
  435. package/dist/collection/components/popover/popover.md.css +13 -1
  436. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  437. package/dist/collection/components/progress-bar/progress-bar.js +11 -33
  438. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  439. package/dist/collection/components/radio/radio.ionic.css +424 -0
  440. package/dist/collection/components/radio/radio.ios.css +134 -91
  441. package/dist/collection/components/radio/radio.js +21 -48
  442. package/dist/collection/components/radio/radio.md.css +134 -91
  443. package/dist/collection/components/radio-group/radio-group.js +13 -19
  444. package/dist/collection/components/range/range.ionic.css +555 -0
  445. package/dist/collection/components/range/range.ios.css +128 -85
  446. package/dist/collection/components/range/range.js +31 -102
  447. package/dist/collection/components/range/range.md.css +128 -85
  448. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  449. package/dist/collection/components/refresher/refresher.js +11 -70
  450. package/dist/collection/components/refresher/refresher.md.css +15 -2
  451. package/dist/collection/components/refresher-content/refresher-content.js +32 -15
  452. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  453. package/dist/collection/components/reorder/reorder.js +33 -6
  454. package/dist/collection/components/reorder/reorder.md.css +6 -0
  455. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  456. package/dist/collection/components/reorder-group/reorder-group.js +8 -9
  457. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  458. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +154 -0
  459. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -17
  460. package/dist/collection/components/route/route.js +11 -19
  461. package/dist/collection/components/route-redirect/route-redirect.js +4 -4
  462. package/dist/collection/components/router/router.js +4 -22
  463. package/dist/collection/components/router-link/router-link.css +8 -2
  464. package/dist/collection/components/router-link/router-link.js +16 -23
  465. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  466. package/dist/collection/components/router-outlet/router-outlet.js +11 -21
  467. package/dist/collection/components/row/row.css +12 -0
  468. package/dist/collection/components/row/row.js +9 -2
  469. package/dist/collection/components/searchbar/searchbar.ionic.css +345 -0
  470. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  471. package/dist/collection/components/searchbar/searchbar.js +120 -143
  472. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  473. package/dist/collection/components/segment/segment.ionic.css +117 -0
  474. package/dist/collection/components/segment/segment.ios.css +45 -2
  475. package/dist/collection/components/segment/segment.js +18 -40
  476. package/dist/collection/components/segment/segment.md.css +45 -2
  477. package/dist/collection/components/segment-button/segment-button.ionic.css +355 -0
  478. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  479. package/dist/collection/components/segment-button/segment-button.js +64 -41
  480. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  481. package/dist/collection/components/segment-content/segment-content.js +1 -1
  482. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  483. package/dist/collection/components/segment-view/segment-view.js +7 -9
  484. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  485. package/dist/collection/components/select/select.ionic.css +706 -0
  486. package/dist/collection/components/select/select.ios.css +187 -121
  487. package/dist/collection/components/select/select.js +159 -120
  488. package/dist/collection/components/select/select.md.css +184 -226
  489. package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
  490. package/dist/collection/components/select-modal/select-modal.ios.css +0 -186
  491. package/dist/collection/components/select-modal/select-modal.js +6 -10
  492. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  493. package/dist/collection/components/select-option/select-option.js +10 -9
  494. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  495. package/dist/collection/components/select-popover/select-popover.js +16 -17
  496. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  497. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  498. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -10
  499. package/dist/collection/components/spinner/spinner.common.css +199 -0
  500. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +63 -0
  501. package/dist/collection/components/spinner/spinner.js +49 -17
  502. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  503. package/dist/collection/components/split-pane/split-pane.js +15 -22
  504. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  505. package/dist/collection/components/tab/tab.js +10 -12
  506. package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
  507. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  508. package/dist/collection/components/tab-bar/tab-bar.js +67 -21
  509. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  510. package/dist/collection/components/tab-button/tab-button.ionic.css +282 -0
  511. package/dist/collection/components/tab-button/tab-button.ios.css +103 -88
  512. package/dist/collection/components/tab-button/tab-button.js +51 -32
  513. package/dist/collection/components/tab-button/tab-button.md.css +103 -88
  514. package/dist/collection/components/tabs/tabs.css +7 -1
  515. package/dist/collection/components/tabs/tabs.js +6 -5
  516. package/dist/collection/components/text/text.css +6 -0
  517. package/dist/collection/components/text/text.js +10 -8
  518. package/dist/collection/components/textarea/textarea.ionic.css +834 -0
  519. package/dist/collection/components/textarea/textarea.ios.css +201 -96
  520. package/dist/collection/components/textarea/textarea.js +98 -132
  521. package/dist/collection/components/textarea/textarea.md.css +214 -97
  522. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  523. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  524. package/dist/collection/components/title/title.ionic.css +145 -0
  525. package/dist/collection/components/title/title.ios.css +32 -4
  526. package/dist/collection/components/title/title.js +17 -11
  527. package/dist/collection/components/title/title.md.css +32 -4
  528. package/dist/collection/components/toast/animations/utils.js +1 -1
  529. package/dist/collection/components/toast/toast.ionic.css +377 -0
  530. package/dist/collection/components/toast/toast.ios.css +74 -35
  531. package/dist/collection/components/toast/toast.js +73 -107
  532. package/dist/collection/components/toast/toast.md.css +74 -35
  533. package/dist/collection/components/toggle/toggle.ionic.css +419 -0
  534. package/dist/collection/components/toggle/toggle.ios.css +166 -120
  535. package/dist/collection/components/toggle/toggle.js +83 -69
  536. package/dist/collection/components/toggle/toggle.md.css +163 -120
  537. package/dist/collection/components/toolbar/toolbar.ionic.css +233 -0
  538. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  539. package/dist/collection/components/toolbar/toolbar.js +14 -12
  540. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  541. package/dist/collection/global/ionic-global.js +229 -13
  542. package/dist/collection/utils/focus-visible.js +7 -0
  543. package/dist/collection/utils/framework-delegate.js +3 -1
  544. package/dist/collection/utils/helpers.js +3 -1
  545. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  546. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  547. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  548. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  549. package/dist/collection/utils/overlays.js +2 -1
  550. package/dist/collection/utils/test/playwright/generator.js +48 -23
  551. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  552. package/dist/collection/utils/test/playwright/page/utils/set-content.js +16 -2
  553. package/dist/collection/utils/transition/ios.transition.js +1 -0
  554. package/dist/docs.d.ts +0 -8
  555. package/dist/docs.json +7864 -2219
  556. package/dist/esm/{animation-eab5a4ca.js → animation-f1a88600.js} +1 -1
  557. package/dist/esm/{app-globals-1318774c.js → app-globals-eceadabb.js} +1 -1
  558. package/dist/esm/{button-active-10b36beb.js → button-active-321f0dba.js} +2 -2
  559. package/dist/esm/{capacitor-59395cbd.js → capacitor-6b0341c8.js} +1 -1
  560. package/dist/esm/caret-down-3eaad1cc.js +6 -0
  561. package/dist/esm/caret-left-33424bb0.js +6 -0
  562. package/dist/esm/caret-right-68d856ad.js +6 -0
  563. package/dist/esm/config-84eb9670.js +79 -0
  564. package/dist/esm/{data-ae11fd43.js → data-98c06dea.js} +6 -6
  565. package/dist/esm/{focus-visible-dd40d69f.js → focus-visible-501aff19.js} +8 -1
  566. package/dist/esm/{framework-delegate-63d1a679.js → framework-delegate-3e4a8c9f.js} +4 -2
  567. package/dist/esm/{haptic-ac164e4c.js → haptic-dd6c0ea9.js} +1 -1
  568. package/dist/esm/{helpers-da915de8.js → helpers-f08d15bd.js} +4 -1
  569. package/dist/esm/{index-ed9a6c67.js → index-31109e63.js} +10 -11
  570. package/dist/esm/{index-13b48bcb.js → index-59f81cb8.js} +6 -6
  571. package/{components/index9.js → dist/esm/index-62b4a18b.js} +4 -2
  572. package/dist/esm/{index-fcdfc1aa.js → index-723c0e5d.js} +848 -1216
  573. package/dist/esm/{index-5cc724f3.js → index-7bd160c2.js} +2 -2
  574. package/dist/esm/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  575. package/dist/esm/index.js +11 -13
  576. package/dist/esm/{input-shims-0314bbe5.js → input-shims-6be83e59.js} +7 -6
  577. package/dist/esm/{input.utils-09c71bc7.js → input.utils-67459bae.js} +2 -3
  578. package/dist/esm/ion-accordion_2.entry.js +70 -68
  579. package/dist/esm/ion-action-sheet.entry.js +38 -51
  580. package/dist/esm/ion-alert.entry.js +41 -57
  581. package/dist/esm/ion-app_8.entry.js +109 -199
  582. package/dist/esm/ion-avatar_3.entry.js +95 -10
  583. package/dist/esm/ion-back-button.entry.js +38 -29
  584. package/dist/esm/ion-backdrop.entry.js +12 -16
  585. package/dist/esm/ion-breadcrumb_2.entry.js +74 -46
  586. package/dist/esm/ion-button_2.entry.js +61 -38
  587. package/dist/esm/ion-card_5.entry.js +62 -47
  588. package/dist/esm/ion-checkbox.entry.js +40 -46
  589. package/dist/esm/ion-chip.entry.js +45 -14
  590. package/dist/esm/ion-col_3.entry.js +39 -14
  591. package/dist/esm/ion-datetime-button.entry.js +21 -21
  592. package/dist/esm/ion-datetime_3.entry.js +177 -197
  593. package/dist/esm/ion-fab_3.entry.js +59 -68
  594. package/dist/esm/ion-img.entry.js +12 -4
  595. package/dist/esm/ion-infinite-scroll_2.entry.js +25 -41
  596. package/dist/esm/ion-input-password-toggle.entry.js +58 -19
  597. package/dist/esm/ion-input.entry.js +154 -89
  598. package/dist/esm/ion-item-option_3.entry.js +49 -37
  599. package/dist/esm/ion-item_8.entry.js +129 -71
  600. package/dist/esm/ion-loading.entry.js +30 -47
  601. package/dist/esm/ion-menu_3.entry.js +59 -70
  602. package/dist/esm/ion-modal.entry.js +84 -123
  603. package/dist/esm/ion-nav_2.entry.js +23 -19
  604. package/dist/esm/ion-picker-column-option.entry.js +13 -23
  605. package/dist/esm/ion-picker-column.entry.js +18 -34
  606. package/dist/esm/ion-picker.entry.js +11 -6
  607. package/dist/esm/ion-popover.entry.js +46 -138
  608. package/dist/esm/ion-progress-bar.entry.js +14 -24
  609. package/dist/esm/ion-radio_2.entry.js +32 -45
  610. package/dist/esm/ion-range.entry.js +35 -73
  611. package/dist/esm/ion-refresher_2.entry.js +46 -71
  612. package/dist/esm/ion-reorder_2.entry.js +39 -18
  613. package/dist/esm/ion-ripple-effect.entry.js +19 -17
  614. package/dist/esm/ion-route_4.entry.js +21 -37
  615. package/dist/esm/ion-searchbar.entry.js +118 -92
  616. package/dist/esm/ion-segment-content.entry.js +2 -2
  617. package/dist/esm/ion-segment-view.entry.js +8 -6
  618. package/dist/esm/ion-segment_2.entry.js +84 -58
  619. package/dist/esm/ion-select-modal.entry.js +13 -13
  620. package/dist/esm/ion-select_3.entry.js +159 -92
  621. package/dist/esm/ion-spinner.entry.js +37 -11
  622. package/dist/esm/ion-split-pane.entry.js +15 -17
  623. package/dist/esm/ion-tab-bar_2.entry.js +70 -33
  624. package/dist/esm/ion-tab_2.entry.js +13 -10
  625. package/dist/esm/ion-text.entry.js +8 -6
  626. package/dist/esm/ion-textarea.entry.js +80 -76
  627. package/dist/esm/ion-toast.entry.js +57 -65
  628. package/dist/esm/ion-toggle.entry.js +91 -56
  629. package/dist/esm/ionic-global-3c97a4aa.js +521 -0
  630. package/dist/esm/ionic.js +7 -6
  631. package/dist/esm/{ios.transition-1cb16beb.js → ios.transition-06b78ea0.js} +7 -7
  632. package/dist/esm/{keyboard-52278bd7.js → keyboard-5b1b354d.js} +5 -3
  633. package/dist/esm/{keyboard-73175e24.js → keyboard-9bbd546a.js} +1 -1
  634. package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-aff395fd.js} +5 -3
  635. package/dist/esm/list-6524700c.js +6 -0
  636. package/dist/esm/loader.js +6 -5
  637. package/dist/esm/{md.transition-20f80721.js → md.transition-e5712bda.js} +6 -7
  638. package/dist/esm/{notch-controller-55b09e11.js → notch-controller-c0bd22ff.js} +2 -2
  639. package/dist/esm/{overlays-6163edd5.js → overlays-66cb5522.js} +6 -7
  640. package/dist/esm/{status-tap-6971c722.js → status-tap-edf9f395.js} +5 -4
  641. package/dist/esm/{swipe-back-e5394307.js → swipe-back-17c42610.js} +2 -1
  642. package/dist/esm/x-a64bcd9f.js +6 -0
  643. package/dist/esm-es5/animation-f1a88600.js +4 -0
  644. package/dist/esm-es5/app-globals-eceadabb.js +4 -0
  645. package/dist/esm-es5/{button-active-10b36beb.js → button-active-321f0dba.js} +1 -1
  646. package/dist/esm-es5/capacitor-6b0341c8.js +4 -0
  647. package/dist/esm-es5/caret-down-3eaad1cc.js +4 -0
  648. package/dist/esm-es5/caret-left-33424bb0.js +4 -0
  649. package/dist/esm-es5/caret-right-68d856ad.js +4 -0
  650. package/dist/esm-es5/config-84eb9670.js +4 -0
  651. package/dist/esm-es5/data-98c06dea.js +4 -0
  652. package/dist/esm-es5/focus-visible-501aff19.js +4 -0
  653. package/dist/esm-es5/framework-delegate-3e4a8c9f.js +4 -0
  654. package/dist/esm-es5/{haptic-ac164e4c.js → haptic-dd6c0ea9.js} +1 -1
  655. package/dist/esm-es5/helpers-f08d15bd.js +4 -0
  656. package/dist/esm-es5/index-31109e63.js +4 -0
  657. package/dist/esm-es5/index-59f81cb8.js +4 -0
  658. package/dist/esm-es5/{index-79b30591.js → index-62b4a18b.js} +1 -1
  659. package/dist/esm-es5/index-723c0e5d.js +5 -0
  660. package/dist/esm-es5/index-7bd160c2.js +4 -0
  661. package/dist/esm-es5/{index-e2cf2ceb.js → index-d997525d.js} +1 -1
  662. package/dist/esm-es5/index.js +1 -1
  663. package/dist/esm-es5/input-shims-6be83e59.js +4 -0
  664. package/dist/esm-es5/input.utils-67459bae.js +4 -0
  665. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  666. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  667. package/dist/esm-es5/ion-alert.entry.js +1 -1
  668. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  669. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  670. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  671. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  672. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  673. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  674. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  675. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  676. package/dist/esm-es5/ion-chip.entry.js +1 -1
  677. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  678. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  679. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  680. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  681. package/dist/esm-es5/ion-img.entry.js +1 -1
  682. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  683. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  684. package/dist/esm-es5/ion-input.entry.js +1 -1
  685. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  686. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  687. package/dist/esm-es5/ion-loading.entry.js +1 -1
  688. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  689. package/dist/esm-es5/ion-modal.entry.js +1 -1
  690. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  691. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  692. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  693. package/dist/esm-es5/ion-picker.entry.js +1 -1
  694. package/dist/esm-es5/ion-popover.entry.js +1 -1
  695. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  696. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  697. package/dist/esm-es5/ion-range.entry.js +1 -1
  698. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  699. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  700. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  701. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  702. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  703. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  704. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  705. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  706. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  707. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  708. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  709. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  710. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  711. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  712. package/dist/esm-es5/ion-text.entry.js +1 -1
  713. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  714. package/dist/esm-es5/ion-toast.entry.js +1 -1
  715. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  716. package/dist/esm-es5/ionic-global-3c97a4aa.js +4 -0
  717. package/dist/esm-es5/ionic.js +1 -1
  718. package/dist/esm-es5/ios.transition-06b78ea0.js +4 -0
  719. package/dist/esm-es5/{keyboard-52278bd7.js → keyboard-5b1b354d.js} +1 -1
  720. package/dist/esm-es5/{keyboard-73175e24.js → keyboard-9bbd546a.js} +1 -1
  721. package/dist/esm-es5/keyboard-controller-aff395fd.js +4 -0
  722. package/dist/esm-es5/list-6524700c.js +4 -0
  723. package/dist/esm-es5/loader.js +1 -1
  724. package/dist/esm-es5/md.transition-e5712bda.js +4 -0
  725. package/dist/esm-es5/notch-controller-c0bd22ff.js +4 -0
  726. package/dist/esm-es5/overlays-66cb5522.js +4 -0
  727. package/dist/esm-es5/status-tap-edf9f395.js +4 -0
  728. package/dist/esm-es5/swipe-back-17c42610.js +4 -0
  729. package/dist/esm-es5/x-a64bcd9f.js +4 -0
  730. package/dist/html.html-data.json +2347 -209
  731. package/dist/ionic/index.esm.js +1 -1
  732. package/dist/ionic/ionic.esm.js +1 -1
  733. package/dist/ionic/ionic.js +1 -1
  734. package/dist/ionic/p-01451762.entry.js +4 -0
  735. package/dist/ionic/p-01d80901.system.js +4 -0
  736. package/dist/ionic/p-038a6294.js +4 -0
  737. package/dist/ionic/p-06ec4706.js +4 -0
  738. package/dist/ionic/p-06f2f110.system.entry.js +4 -0
  739. package/dist/ionic/p-09125f4f.entry.js +4 -0
  740. package/dist/ionic/p-096e5f6d.system.entry.js +4 -0
  741. package/dist/ionic/p-09c6b5e4.js +4 -0
  742. package/dist/ionic/p-0a0ce78f.system.entry.js +4 -0
  743. package/dist/ionic/p-0db90e9b.entry.js +4 -0
  744. package/dist/ionic/p-0fa218e9.system.js +5 -0
  745. package/dist/ionic/p-101ccd60.system.entry.js +4 -0
  746. package/dist/ionic/p-112120d7.system.js +4 -0
  747. package/dist/ionic/{p-c7e16491.js → p-11266916.js} +1 -1
  748. package/dist/ionic/{p-1e955a45.system.js → p-115d74cd.system.js} +1 -1
  749. package/dist/ionic/p-12337305.system.entry.js +4 -0
  750. package/dist/ionic/{p-34b11c24.js → p-12d6df53.js} +1 -1
  751. package/dist/ionic/p-156d17cd.js +4 -0
  752. package/dist/ionic/p-18892506.entry.js +4 -0
  753. package/dist/ionic/p-18bbe9a5.entry.js +4 -0
  754. package/dist/ionic/p-18c930a5.system.entry.js +4 -0
  755. package/dist/ionic/{p-b06ac4a5.system.js → p-18f86177.system.js} +1 -1
  756. package/dist/ionic/p-1abd1c99.entry.js +4 -0
  757. package/dist/ionic/p-1cf1141c.system.entry.js +4 -0
  758. package/dist/ionic/p-1dd2b0af.entry.js +4 -0
  759. package/dist/ionic/p-1eeb9796.entry.js +4 -0
  760. package/dist/ionic/p-1efa63f2.js +4 -0
  761. package/dist/ionic/p-23b31425.entry.js +4 -0
  762. package/dist/ionic/p-243adf8c.js +4 -0
  763. package/dist/ionic/p-24f15ce4.system.entry.js +4 -0
  764. package/dist/ionic/p-25cc2477.entry.js +4 -0
  765. package/dist/ionic/p-27258d5a.entry.js +4 -0
  766. package/dist/ionic/p-29ca4da2.entry.js +4 -0
  767. package/dist/ionic/p-2e35a770.system.js +4 -0
  768. package/dist/ionic/p-2ef115ec.system.entry.js +4 -0
  769. package/dist/ionic/p-330e703e.entry.js +4 -0
  770. package/dist/ionic/p-33dc4514.js +4 -0
  771. package/dist/ionic/p-346c67b0.js +4 -0
  772. package/dist/ionic/p-3583dd40.system.entry.js +4 -0
  773. package/dist/ionic/p-3608e72b.entry.js +4 -0
  774. package/dist/ionic/p-398b00a5.system.entry.js +4 -0
  775. package/dist/ionic/p-3b7adbc3.system.entry.js +4 -0
  776. package/dist/ionic/p-3ce95a91.entry.js +4 -0
  777. package/dist/ionic/p-3d61263b.system.entry.js +4 -0
  778. package/dist/ionic/{p-9ea607bd.system.js → p-3e91ea3a.system.js} +2 -2
  779. package/dist/ionic/{p-7a1241fe.system.js → p-41c19986.system.js} +1 -1
  780. package/dist/ionic/p-41f06734.entry.js +4 -0
  781. package/dist/ionic/p-4219582c.system.js +4 -0
  782. package/dist/ionic/p-429dd2b5.system.js +4 -0
  783. package/dist/ionic/p-4385e3fb.system.entry.js +4 -0
  784. package/dist/ionic/p-4459a66e.system.js +4 -0
  785. package/dist/ionic/{p-8985cdb6.system.js → p-4626fb32.system.js} +1 -1
  786. package/dist/ionic/p-46787abb.system.js +4 -0
  787. package/dist/ionic/p-47fd935c.system.js +4 -0
  788. package/dist/ionic/p-4a39ba11.entry.js +4 -0
  789. package/dist/ionic/p-4a6d4288.entry.js +4 -0
  790. package/dist/ionic/p-4a869870.entry.js +4 -0
  791. package/dist/ionic/p-4ac4f52a.system.entry.js +4 -0
  792. package/dist/ionic/p-4b4e4592.system.entry.js +4 -0
  793. package/dist/ionic/{p-89b61afc.js → p-4c275462.js} +1 -1
  794. package/dist/ionic/p-4c9e1b2c.js +4 -0
  795. package/dist/ionic/p-51371e21.system.js +4 -0
  796. package/dist/ionic/p-530c591a.entry.js +4 -0
  797. package/dist/ionic/p-5377db51.system.entry.js +4 -0
  798. package/dist/ionic/p-55546d77.system.entry.js +4 -0
  799. package/dist/ionic/p-556778bd.system.js +4 -0
  800. package/dist/ionic/p-5684893b.system.entry.js +4 -0
  801. package/dist/ionic/p-57de8d54.system.entry.js +4 -0
  802. package/dist/ionic/{p-cec30029.system.js → p-58aa8a36.system.js} +1 -1
  803. package/dist/ionic/p-58c64779.system.entry.js +4 -0
  804. package/dist/ionic/{p-da2b833b.js → p-58f16ef6.js} +1 -1
  805. package/dist/ionic/p-5a6b3c0d.entry.js +4 -0
  806. package/dist/ionic/p-5a6d245d.system.entry.js +4 -0
  807. package/dist/ionic/p-5b57d327.system.js +4 -0
  808. package/dist/ionic/p-5ce35a03.js +4 -0
  809. package/dist/ionic/p-5eb8561f.system.entry.js +4 -0
  810. package/dist/ionic/p-5ff5d2bb.entry.js +4 -0
  811. package/dist/ionic/p-607c9c33.js +4 -0
  812. package/dist/ionic/p-60d21ee9.system.entry.js +4 -0
  813. package/dist/ionic/p-61f85a49.system.entry.js +4 -0
  814. package/dist/ionic/p-623fcccc.entry.js +4 -0
  815. package/dist/ionic/{p-9146695e.system.js → p-62887754.system.js} +1 -1
  816. package/dist/ionic/p-63fde7fe.entry.js +4 -0
  817. package/dist/ionic/p-6433742e.system.entry.js +4 -0
  818. package/dist/ionic/p-67b6e18d.entry.js +4 -0
  819. package/dist/ionic/p-697eee8c.system.entry.js +4 -0
  820. package/dist/ionic/p-6a0dd6bc.js +4 -0
  821. package/dist/ionic/p-6bc2795b.entry.js +4 -0
  822. package/dist/ionic/p-6bd1c0ee.system.entry.js +4 -0
  823. package/dist/ionic/p-6caa76ec.js +4 -0
  824. package/dist/ionic/p-6cbca6c5.system.entry.js +4 -0
  825. package/dist/ionic/p-6dc32e8b.entry.js +4 -0
  826. package/dist/ionic/p-6e53290f.system.entry.js +4 -0
  827. package/dist/ionic/p-7071d7ca.js +4 -0
  828. package/dist/ionic/{p-f687573e.system.js → p-728f5b22.system.js} +1 -1
  829. package/dist/ionic/p-72cbf799.system.entry.js +4 -0
  830. package/dist/ionic/p-74d76684.js +4 -0
  831. package/dist/ionic/p-7607d8ba.system.entry.js +4 -0
  832. package/dist/ionic/p-78ed8923.js +4 -0
  833. package/dist/ionic/p-7a858bae.system.js +4 -0
  834. package/dist/ionic/p-7d36cf9f.system.entry.js +4 -0
  835. package/dist/ionic/p-815f649a.system.entry.js +4 -0
  836. package/dist/ionic/p-81b72701.entry.js +4 -0
  837. package/dist/ionic/p-822e47a9.system.js +4 -0
  838. package/dist/ionic/{p-976cffa3.js → p-82cb4235.js} +1 -1
  839. package/dist/ionic/p-83948e48.js +5 -0
  840. package/dist/ionic/p-8463212e.js +4 -0
  841. package/dist/ionic/p-84667060.entry.js +4 -0
  842. package/dist/ionic/p-857ba8d4.entry.js +4 -0
  843. package/dist/ionic/p-86d98446.system.entry.js +4 -0
  844. package/dist/ionic/p-86e9a917.system.entry.js +4 -0
  845. package/dist/ionic/p-871f4046.entry.js +4 -0
  846. package/dist/ionic/p-8956f9a8.system.entry.js +4 -0
  847. package/dist/ionic/p-8b0f0a87.entry.js +4 -0
  848. package/dist/ionic/p-8dbfae64.entry.js +4 -0
  849. package/dist/ionic/p-903c544a.js +4 -0
  850. package/dist/ionic/p-916bc9ed.system.entry.js +4 -0
  851. package/dist/ionic/p-92646426.js +4 -0
  852. package/dist/ionic/{p-27281edd.js → p-93e47936.js} +1 -1
  853. package/dist/ionic/{p-a93873de.system.js → p-94816e7a.system.js} +1 -1
  854. package/dist/ionic/p-94fc2104.system.entry.js +4 -0
  855. package/dist/ionic/p-986855d6.js +4 -0
  856. package/dist/ionic/p-9abb7d9b.entry.js +4 -0
  857. package/dist/ionic/p-9ac1a506.system.js +4 -0
  858. package/dist/ionic/{p-d60342e3.js → p-9ed87d1b.js} +1 -1
  859. package/dist/ionic/p-a1cdc742.js +4 -0
  860. package/dist/ionic/p-a2814291.system.js +4 -0
  861. package/dist/ionic/{p-782beb5a.js → p-a510e9c0.js} +1 -1
  862. package/dist/ionic/p-a538ab98.js +4 -0
  863. package/dist/ionic/p-a5a9206f.entry.js +4 -0
  864. package/dist/ionic/p-a685da08.system.entry.js +4 -0
  865. package/dist/ionic/p-a98061d0.entry.js +4 -0
  866. package/dist/ionic/p-a9af4103.js +4 -0
  867. package/dist/ionic/p-ac1c2b6a.js +4 -0
  868. package/dist/ionic/p-b18c52cd.entry.js +4 -0
  869. package/dist/ionic/p-b517144d.system.entry.js +4 -0
  870. package/dist/ionic/p-b5dc9a32.system.entry.js +4 -0
  871. package/dist/ionic/p-b80582fe.system.entry.js +4 -0
  872. package/dist/ionic/p-b9d2d554.entry.js +4 -0
  873. package/dist/ionic/p-bbcec459.system.js +4 -0
  874. package/dist/ionic/p-bcdd3eaf.entry.js +4 -0
  875. package/dist/ionic/p-be87ec25.entry.js +4 -0
  876. package/dist/ionic/p-c248c88d.system.js +4 -0
  877. package/dist/ionic/p-c373eebd.system.js +4 -0
  878. package/dist/ionic/p-cdff6a80.system.entry.js +4 -0
  879. package/dist/ionic/p-cea92c46.system.js +4 -0
  880. package/dist/ionic/p-d4862803.entry.js +4 -0
  881. package/dist/ionic/p-d6ed3be1.entry.js +4 -0
  882. package/dist/ionic/{p-19ea7bff.system.js → p-dbd39afd.system.js} +1 -1
  883. package/dist/ionic/p-dc286a59.entry.js +4 -0
  884. package/dist/ionic/p-df09db21.entry.js +4 -0
  885. package/dist/ionic/p-df4b88fc.system.entry.js +4 -0
  886. package/dist/ionic/p-e3b70846.system.js +4 -0
  887. package/dist/ionic/p-ea3ca474.system.js +4 -0
  888. package/dist/ionic/p-eb4ba253.entry.js +4 -0
  889. package/dist/ionic/p-ebd641e4.system.entry.js +4 -0
  890. package/dist/ionic/p-ebe94d15.entry.js +4 -0
  891. package/dist/ionic/p-eda736d7.entry.js +4 -0
  892. package/dist/ionic/p-ee17be82.entry.js +4 -0
  893. package/dist/ionic/p-eee899d5.system.entry.js +4 -0
  894. package/dist/ionic/p-f116fb3f.system.js +4 -0
  895. package/dist/ionic/{p-95902a17.system.js → p-f193945e.system.js} +1 -1
  896. package/dist/ionic/{p-aee73160.entry.js → p-f1e11e93.entry.js} +1 -1
  897. package/dist/ionic/p-f25ad420.system.entry.js +4 -0
  898. package/dist/ionic/p-f44c9c6e.system.entry.js +4 -0
  899. package/dist/ionic/p-f5be97b8.entry.js +4 -0
  900. package/dist/ionic/p-f8123284.entry.js +4 -0
  901. package/dist/ionic/{p-3e9fea9e.system.js → p-f8c63ac0.system.js} +2 -2
  902. package/dist/ionic/p-fad81132.system.entry.js +4 -0
  903. package/dist/ionic/p-fff78cd2.system.entry.js +4 -0
  904. package/dist/types/components/accordion/accordion.d.ts +5 -3
  905. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  906. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  907. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  908. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  909. package/dist/types/components/alert/alert.d.ts +3 -2
  910. package/dist/types/components/app/app.d.ts +4 -2
  911. package/dist/types/components/avatar/avatar.d.ts +28 -0
  912. package/dist/types/components/back-button/back-button.d.ts +2 -1
  913. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  914. package/dist/types/components/badge/badge.d.ts +23 -1
  915. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  916. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  917. package/dist/types/components/button/button.d.ts +15 -4
  918. package/dist/types/components/buttons/buttons.d.ts +5 -1
  919. package/dist/types/components/card/card.d.ts +8 -1
  920. package/dist/types/components/card-content/card-content.d.ts +2 -1
  921. package/dist/types/components/card-header/card-header.d.ts +3 -2
  922. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  923. package/dist/types/components/card-title/card-title.d.ts +2 -1
  924. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  925. package/dist/types/components/chip/chip.d.ts +19 -1
  926. package/dist/types/components/col/col.d.ts +4 -0
  927. package/dist/types/components/content/content.d.ts +3 -0
  928. package/dist/types/components/datetime/datetime.d.ts +26 -1
  929. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  930. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  931. package/dist/types/components/fab/fab.d.ts +4 -0
  932. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  933. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  934. package/dist/types/components/footer/footer.d.ts +4 -3
  935. package/dist/types/components/grid/grid.d.ts +4 -0
  936. package/dist/types/components/header/header.d.ts +9 -3
  937. package/dist/types/components/img/img.d.ts +3 -0
  938. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  939. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  940. package/dist/types/components/input/input.d.ts +31 -5
  941. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  942. package/dist/types/components/item/item.d.ts +11 -4
  943. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  944. package/dist/types/components/item-group/item-group.d.ts +4 -0
  945. package/dist/types/components/item-option/item-option.d.ts +11 -1
  946. package/dist/types/components/item-options/item-options.d.ts +4 -0
  947. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  948. package/dist/types/components/label/label.d.ts +2 -1
  949. package/dist/types/components/list/list.d.ts +15 -1
  950. package/dist/types/components/list-header/list-header.d.ts +2 -1
  951. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  952. package/dist/types/components/loading/loading.d.ts +3 -2
  953. package/dist/types/components/menu/menu.d.ts +3 -0
  954. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  955. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  956. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  957. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  958. package/dist/types/components/modal/modal.d.ts +11 -1
  959. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  960. package/dist/types/components/nav/nav.d.ts +5 -1
  961. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  962. package/dist/types/components/note/note.d.ts +2 -1
  963. package/dist/types/components/picker/picker.d.ts +2 -1
  964. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  965. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  966. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  967. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  968. package/dist/types/components/popover/popover.d.ts +6 -5
  969. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  970. package/dist/types/components/radio/radio.d.ts +2 -1
  971. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  972. package/dist/types/components/range/range.d.ts +2 -1
  973. package/dist/types/components/refresher/refresher.d.ts +2 -1
  974. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  975. package/dist/types/components/reorder/reorder.d.ts +9 -0
  976. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  977. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  978. package/dist/types/components/route/route.d.ts +4 -0
  979. package/dist/types/components/router/router.d.ts +4 -0
  980. package/dist/types/components/router-link/router-link.d.ts +4 -0
  981. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  982. package/dist/types/components/row/row.d.ts +4 -0
  983. package/dist/types/components/searchbar/searchbar.d.ts +30 -8
  984. package/dist/types/components/segment/segment.d.ts +2 -1
  985. package/dist/types/components/segment-button/segment-button.d.ts +5 -2
  986. package/dist/types/components/select/select.d.ts +35 -7
  987. package/dist/types/components/select-option/select-option.d.ts +4 -0
  988. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  989. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  990. package/dist/types/components/spinner/spinner.d.ts +15 -0
  991. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  992. package/dist/types/components/tab/tab.d.ts +4 -0
  993. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  994. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  995. package/dist/types/components/tabs/tabs.d.ts +3 -0
  996. package/dist/types/components/text/text.d.ts +2 -1
  997. package/dist/types/components/textarea/textarea.d.ts +17 -4
  998. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  999. package/dist/types/components/title/title.d.ts +4 -0
  1000. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  1001. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  1002. package/dist/types/components/toast/toast.d.ts +12 -2
  1003. package/dist/types/components/toggle/toggle.d.ts +15 -1
  1004. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  1005. package/dist/types/components.d.ts +1384 -184
  1006. package/dist/types/global/ionic-global.d.ts +27 -2
  1007. package/dist/types/interface.d.ts +3 -0
  1008. package/dist/types/stencil-public-runtime.d.ts +0 -6
  1009. package/dist/types/utils/config.d.ts +106 -2
  1010. package/dist/types/utils/focus-visible.d.ts +1 -0
  1011. package/dist/types/utils/overlays-interface.d.ts +31 -1
  1012. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1013. package/hydrate/index.d.ts +4 -10
  1014. package/hydrate/index.js +3805 -3847
  1015. package/hydrate/index.mjs +3805 -3847
  1016. package/package.json +10 -5
  1017. package/components/hardware-back-button.js +0 -115
  1018. package/components/index8.js +0 -128
  1019. package/dist/cjs/hardware-back-button-f0972dab.js +0 -122
  1020. package/dist/cjs/index-5915f9b3.js +0 -38
  1021. package/dist/cjs/index-c8d52405.js +0 -10
  1022. package/dist/cjs/ionic-global-3c758a1a.js +0 -237
  1023. package/dist/esm/hardware-back-button-0a284222.js +0 -116
  1024. package/dist/esm/index-79b30591.js +0 -167
  1025. package/dist/esm/index-9b0d46f4.js +0 -34
  1026. package/dist/esm/index-a5d50daf.js +0 -7
  1027. package/dist/esm/ionic-global-6b9f2b5a.js +0 -231
  1028. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  1029. package/dist/esm-es5/app-globals-1318774c.js +0 -4
  1030. package/dist/esm-es5/capacitor-59395cbd.js +0 -4
  1031. package/dist/esm-es5/data-ae11fd43.js +0 -4
  1032. package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
  1033. package/dist/esm-es5/framework-delegate-63d1a679.js +0 -4
  1034. package/dist/esm-es5/hardware-back-button-0a284222.js +0 -4
  1035. package/dist/esm-es5/helpers-da915de8.js +0 -4
  1036. package/dist/esm-es5/index-13b48bcb.js +0 -4
  1037. package/dist/esm-es5/index-5cc724f3.js +0 -4
  1038. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  1039. package/dist/esm-es5/index-a5d50daf.js +0 -4
  1040. package/dist/esm-es5/index-ed9a6c67.js +0 -4
  1041. package/dist/esm-es5/index-fcdfc1aa.js +0 -5
  1042. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  1043. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  1044. package/dist/esm-es5/ionic-global-6b9f2b5a.js +0 -4
  1045. package/dist/esm-es5/ios.transition-1cb16beb.js +0 -4
  1046. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
  1047. package/dist/esm-es5/md.transition-20f80721.js +0 -4
  1048. package/dist/esm-es5/notch-controller-55b09e11.js +0 -4
  1049. package/dist/esm-es5/overlays-6163edd5.js +0 -4
  1050. package/dist/esm-es5/status-tap-6971c722.js +0 -4
  1051. package/dist/esm-es5/swipe-back-e5394307.js +0 -4
  1052. package/dist/ionic/p-009f82b0.entry.js +0 -4
  1053. package/dist/ionic/p-00d0d756.system.entry.js +0 -4
  1054. package/dist/ionic/p-02a67bb6.entry.js +0 -4
  1055. package/dist/ionic/p-06db9f72.system.entry.js +0 -4
  1056. package/dist/ionic/p-06e58c4e.js +0 -4
  1057. package/dist/ionic/p-06fee233.js +0 -4
  1058. package/dist/ionic/p-0b7a6f61.system.entry.js +0 -4
  1059. package/dist/ionic/p-0c06e09b.system.js +0 -4
  1060. package/dist/ionic/p-0e3657b4.system.entry.js +0 -4
  1061. package/dist/ionic/p-0f461830.entry.js +0 -4
  1062. package/dist/ionic/p-1050c06b.entry.js +0 -4
  1063. package/dist/ionic/p-10e0c150.entry.js +0 -4
  1064. package/dist/ionic/p-12130ed6.entry.js +0 -4
  1065. package/dist/ionic/p-12f321c2.system.entry.js +0 -4
  1066. package/dist/ionic/p-13672c38.system.entry.js +0 -4
  1067. package/dist/ionic/p-1424bf51.system.entry.js +0 -4
  1068. package/dist/ionic/p-14862d17.js +0 -4
  1069. package/dist/ionic/p-15764963.entry.js +0 -4
  1070. package/dist/ionic/p-178f8860.js +0 -4
  1071. package/dist/ionic/p-19d9e3c1.entry.js +0 -4
  1072. package/dist/ionic/p-1a02bce6.system.js +0 -4
  1073. package/dist/ionic/p-1c152e5e.entry.js +0 -4
  1074. package/dist/ionic/p-1dfc11b3.system.js +0 -4
  1075. package/dist/ionic/p-1e4371bd.js +0 -4
  1076. package/dist/ionic/p-1fd5d9bc.system.js +0 -4
  1077. package/dist/ionic/p-20034878.entry.js +0 -4
  1078. package/dist/ionic/p-231bc1a6.entry.js +0 -4
  1079. package/dist/ionic/p-256d6439.system.entry.js +0 -4
  1080. package/dist/ionic/p-25ffd217.system.entry.js +0 -4
  1081. package/dist/ionic/p-2690b1de.js +0 -4
  1082. package/dist/ionic/p-2799a566.entry.js +0 -4
  1083. package/dist/ionic/p-27c32980.system.entry.js +0 -4
  1084. package/dist/ionic/p-28dfa27e.entry.js +0 -4
  1085. package/dist/ionic/p-2af55ad8.entry.js +0 -4
  1086. package/dist/ionic/p-2b7827c7.js +0 -4
  1087. package/dist/ionic/p-2d31d826.entry.js +0 -4
  1088. package/dist/ionic/p-2e092bfc.js +0 -4
  1089. package/dist/ionic/p-2e25154e.entry.js +0 -4
  1090. package/dist/ionic/p-33e4b80b.entry.js +0 -4
  1091. package/dist/ionic/p-39d3c108.entry.js +0 -4
  1092. package/dist/ionic/p-39f7d87a.system.entry.js +0 -4
  1093. package/dist/ionic/p-3ad285e3.system.js +0 -4
  1094. package/dist/ionic/p-3be897c8.system.entry.js +0 -4
  1095. package/dist/ionic/p-3cc276f4.js +0 -4
  1096. package/dist/ionic/p-40b63137.js +0 -4
  1097. package/dist/ionic/p-47dc25dc.system.entry.js +0 -4
  1098. package/dist/ionic/p-48da821c.system.js +0 -4
  1099. package/dist/ionic/p-49e8212a.entry.js +0 -4
  1100. package/dist/ionic/p-4c2d5b80.system.js +0 -4
  1101. package/dist/ionic/p-4c553a2a.system.entry.js +0 -4
  1102. package/dist/ionic/p-4e9cfad5.system.entry.js +0 -4
  1103. package/dist/ionic/p-50d264fa.system.entry.js +0 -4
  1104. package/dist/ionic/p-515d6848.system.entry.js +0 -4
  1105. package/dist/ionic/p-548a72aa.system.entry.js +0 -4
  1106. package/dist/ionic/p-550a3b74.system.entry.js +0 -4
  1107. package/dist/ionic/p-56b2ba69.system.entry.js +0 -4
  1108. package/dist/ionic/p-576c3a98.js +0 -4
  1109. package/dist/ionic/p-58f53534.entry.js +0 -4
  1110. package/dist/ionic/p-5d9ac963.entry.js +0 -4
  1111. package/dist/ionic/p-5ed6403e.system.entry.js +0 -4
  1112. package/dist/ionic/p-639d0578.system.entry.js +0 -4
  1113. package/dist/ionic/p-64bbdc67.entry.js +0 -4
  1114. package/dist/ionic/p-65d01407.entry.js +0 -4
  1115. package/dist/ionic/p-6b2e506b.entry.js +0 -4
  1116. package/dist/ionic/p-6b6a8f94.system.entry.js +0 -4
  1117. package/dist/ionic/p-6d119deb.system.entry.js +0 -4
  1118. package/dist/ionic/p-7148eaf9.system.js +0 -4
  1119. package/dist/ionic/p-72812e99.js +0 -4
  1120. package/dist/ionic/p-72bc8a1c.js +0 -4
  1121. package/dist/ionic/p-72bfbdb8.entry.js +0 -4
  1122. package/dist/ionic/p-78667ff0.entry.js +0 -4
  1123. package/dist/ionic/p-78c786a5.system.entry.js +0 -4
  1124. package/dist/ionic/p-792919fd.system.js +0 -4
  1125. package/dist/ionic/p-7b30edcc.js +0 -4
  1126. package/dist/ionic/p-7b5771f9.entry.js +0 -4
  1127. package/dist/ionic/p-7e58bbf9.system.js +0 -5
  1128. package/dist/ionic/p-81757650.entry.js +0 -4
  1129. package/dist/ionic/p-825e7bd7.system.entry.js +0 -4
  1130. package/dist/ionic/p-8318c25d.entry.js +0 -4
  1131. package/dist/ionic/p-861176bf.js +0 -5
  1132. package/dist/ionic/p-8635f5e6.system.js +0 -4
  1133. package/dist/ionic/p-87a5a16c.system.entry.js +0 -4
  1134. package/dist/ionic/p-87ce1c7b.system.entry.js +0 -4
  1135. package/dist/ionic/p-8dd3da91.entry.js +0 -4
  1136. package/dist/ionic/p-8e640927.entry.js +0 -4
  1137. package/dist/ionic/p-8ef7a3d4.js +0 -4
  1138. package/dist/ionic/p-900bf295.system.entry.js +0 -4
  1139. package/dist/ionic/p-9437291a.system.entry.js +0 -4
  1140. package/dist/ionic/p-96cc4814.js +0 -4
  1141. package/dist/ionic/p-9a87fe2d.entry.js +0 -4
  1142. package/dist/ionic/p-9b48727c.system.entry.js +0 -4
  1143. package/dist/ionic/p-a049797d.system.entry.js +0 -4
  1144. package/dist/ionic/p-a09686af.system.entry.js +0 -4
  1145. package/dist/ionic/p-a15ddedb.system.js +0 -4
  1146. package/dist/ionic/p-aa92906a.entry.js +0 -4
  1147. package/dist/ionic/p-abe101da.system.js +0 -4
  1148. package/dist/ionic/p-ae304d51.system.entry.js +0 -4
  1149. package/dist/ionic/p-ae830361.entry.js +0 -4
  1150. package/dist/ionic/p-af19e17f.entry.js +0 -4
  1151. package/dist/ionic/p-b13c5a74.system.js +0 -4
  1152. package/dist/ionic/p-b51e4004.js +0 -4
  1153. package/dist/ionic/p-b5400a4e.entry.js +0 -4
  1154. package/dist/ionic/p-b84b4728.system.entry.js +0 -4
  1155. package/dist/ionic/p-bc35609f.system.entry.js +0 -4
  1156. package/dist/ionic/p-c29e3a26.entry.js +0 -4
  1157. package/dist/ionic/p-c468af8a.system.js +0 -4
  1158. package/dist/ionic/p-c5bbf6c1.system.entry.js +0 -4
  1159. package/dist/ionic/p-c61cc894.js +0 -4
  1160. package/dist/ionic/p-c7d9e292.system.js +0 -4
  1161. package/dist/ionic/p-ccba2087.system.entry.js +0 -4
  1162. package/dist/ionic/p-cdf6fc3a.system.entry.js +0 -4
  1163. package/dist/ionic/p-d3e8f550.entry.js +0 -4
  1164. package/dist/ionic/p-d46804b1.system.entry.js +0 -4
  1165. package/dist/ionic/p-d47265c8.js +0 -4
  1166. package/dist/ionic/p-da1d2cb3.entry.js +0 -4
  1167. package/dist/ionic/p-dbdccd05.entry.js +0 -4
  1168. package/dist/ionic/p-dc480111.entry.js +0 -4
  1169. package/dist/ionic/p-dc75988a.system.entry.js +0 -4
  1170. package/dist/ionic/p-de104ff8.system.js +0 -4
  1171. package/dist/ionic/p-dfb78785.system.js +0 -4
  1172. package/dist/ionic/p-e3177e13.system.entry.js +0 -4
  1173. package/dist/ionic/p-e4e3296d.system.js +0 -4
  1174. package/dist/ionic/p-e8d1ae44.system.entry.js +0 -4
  1175. package/dist/ionic/p-e992e256.js +0 -4
  1176. package/dist/ionic/p-eb82a2ad.entry.js +0 -4
  1177. package/dist/ionic/p-ebef8e16.system.entry.js +0 -4
  1178. package/dist/ionic/p-f03983ca.system.entry.js +0 -4
  1179. package/dist/ionic/p-f244eea8.system.entry.js +0 -4
  1180. package/dist/ionic/p-f2e5ec87.entry.js +0 -4
  1181. package/dist/ionic/p-f5aef6f1.system.entry.js +0 -4
  1182. package/dist/ionic/p-f5b1cfba.entry.js +0 -4
  1183. package/dist/ionic/p-f8ff5ad1.entry.js +0 -4
  1184. package/dist/ionic/p-fa459c81.entry.js +0 -4
  1185. package/dist/ionic/p-fa7120fe.entry.js +0 -4
  1186. package/dist/ionic/p-fbebb25d.entry.js +0 -4
  1187. package/dist/ionic/p-fc8bdbc9.system.entry.js +0 -4
  1188. package/dist/ionic/p-fca658be.system.entry.js +0 -4
  1189. package/dist/ionic/p-fdb92b6d.entry.js +0 -4
  1190. package/dist/ionic/p-fe10600c.js +0 -4
  1191. package/dist/ionic/p-fe5dca01.system.entry.js +0 -4
  1192. package/dist/ionic/p-fe6ab8d4.entry.js +0 -4
  1193. package/dist/ionic/p-fee6c9c2.system.entry.js +0 -4
  1194. package/dist/ionic/p-ff4b7e40.system.js +0 -4
  1195. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -1,13 +1,148 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { getMode, setMode, setPlatformHelpers } from "@stencil/core";
4
+ import { Build, getMode, setMode, setPlatformHelpers, getElement } from "@stencil/core";
5
+ import { printIonWarning } from "../utils/logging/index";
6
+ import { shouldUseCloseWatcher } from "../utils/hardware-back-button";
5
7
  import { isPlatform, setupPlatforms } from "../utils/platform";
6
8
  import { config, configFromSession, configFromURL, saveConfig } from "./config";
7
- // TODO(FW-2832): types
8
9
  let defaultMode;
9
- export const getIonMode = (ref) => {
10
- return (ref && getMode(ref)) || defaultMode;
10
+ let defaultTheme = 'md';
11
+ /**
12
+ * Prints a warning message to the developer to inform them of
13
+ * an invalid configuration of mode and theme.
14
+ * @param mode The invalid mode configuration.
15
+ * @param theme The invalid theme configuration.
16
+ */
17
+ const printInvalidModeWarning = (mode, theme, ref) => {
18
+ printIonWarning(`Invalid mode and theme combination provided: mode: ${mode}, theme: ${theme}. Fallback mode ${getDefaultModeForTheme(theme)} will be used.`, ref);
19
+ };
20
+ /**
21
+ * Validates if a mode is accepted for a theme configuration.
22
+ * @param mode The mode to validate.
23
+ * @param theme The theme the mode is being used with.
24
+ * @returns `true` if the mode is valid for the theme, `false` if invalid.
25
+ */
26
+ export const isModeValidForTheme = (mode, theme) => {
27
+ if (mode === 'md') {
28
+ return theme === 'md' || theme === 'ionic';
29
+ }
30
+ else if (mode === 'ios') {
31
+ return theme === 'ios' || theme === 'ionic';
32
+ }
33
+ return false;
34
+ };
35
+ /**
36
+ * Returns the default mode for a specified theme.
37
+ * @param theme The theme to return a default mode for.
38
+ * @returns The default mode, either `ios` or `md`.
39
+ */
40
+ const getDefaultModeForTheme = (theme) => {
41
+ if (theme === 'ios') {
42
+ return 'ios';
43
+ }
44
+ return 'md';
45
+ };
46
+ /**
47
+ * Returns the default theme for a specified mode.
48
+ * @param mode The mode to return a default theme for.
49
+ * @returns The default theme.
50
+ */
51
+ const getDefaultThemeForMode = (mode) => {
52
+ if (mode === 'ios') {
53
+ return 'ios';
54
+ }
55
+ return 'md';
56
+ };
57
+ const isModeSupported = (elmMode) => ['ios', 'md'].includes(elmMode);
58
+ const isThemeSupported = (theme) => ['ios', 'md', 'ionic'].includes(theme);
59
+ const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };
60
+ /**
61
+ * Returns the mode value of the element reference or the closest
62
+ * parent with a valid mode.
63
+ * @param ref The element reference to look up the mode for.
64
+ * @param theme Optionally can provide the theme to avoid an additional look-up.
65
+ * @returns The mode value for the element reference.
66
+ */
67
+ export const getIonMode = (ref, theme = getIonTheme(ref)) => {
68
+ var _a;
69
+ if ((ref === null || ref === void 0 ? void 0 : ref.mode) && isModeValidForTheme(ref === null || ref === void 0 ? void 0 : ref.mode, theme)) {
70
+ /**
71
+ * If the reference already has a mode configuration,
72
+ * use it instead of performing a look-up.
73
+ */
74
+ return ref.mode;
75
+ }
76
+ else {
77
+ const el = getElement(ref);
78
+ const mode = ((_a = el.closest('[mode]')) === null || _a === void 0 ? void 0 : _a.getAttribute('mode')) || defaultMode;
79
+ if (isModeValidForTheme(mode, theme)) {
80
+ /**
81
+ * The mode configuration is supported for the configured theme.
82
+ */
83
+ return mode;
84
+ }
85
+ else {
86
+ printInvalidModeWarning(mode, theme, ref);
87
+ }
88
+ }
89
+ return getDefaultModeForTheme(theme);
90
+ };
91
+ /**
92
+ * Returns the theme value of the element reference or the closest
93
+ * parent with a valid theme.
94
+ *
95
+ * @param ref The element reference to look up the theme for.
96
+ * @returns The theme value for the element reference, defaults to
97
+ * the default theme if it cannot be determined.
98
+ */
99
+ export const getIonTheme = (ref) => {
100
+ var _a, _b;
101
+ const theme = ref && getMode(ref);
102
+ if (theme) {
103
+ return theme;
104
+ }
105
+ /**
106
+ * If the theme cannot be detected, then fallback to using
107
+ * the `mode` attribute to determine the style sheets to use.
108
+ */
109
+ const el = getElement(ref);
110
+ const mode = (_a = ref === null || ref === void 0 ? void 0 : ref.mode) !== null && _a !== void 0 ? _a : (_b = el.closest('[mode]')) === null || _b === void 0 ? void 0 : _b.getAttribute('mode');
111
+ if (mode) {
112
+ return getDefaultThemeForMode(mode);
113
+ }
114
+ /**
115
+ * If a mode is not detected, then fallback to using the
116
+ * default theme.
117
+ */
118
+ return defaultTheme;
119
+ };
120
+ export const rIC = (callback) => {
121
+ if ('requestIdleCallback' in window) {
122
+ window.requestIdleCallback(callback);
123
+ }
124
+ else {
125
+ setTimeout(callback, 32);
126
+ }
127
+ };
128
+ export const needInputShims = () => {
129
+ /**
130
+ * iOS always needs input shims
131
+ */
132
+ const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile');
133
+ if (needsShimsIOS) {
134
+ return true;
135
+ }
136
+ /**
137
+ * Android only needs input shims when running
138
+ * in the browser and only if the browser is using the
139
+ * new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/
140
+ */
141
+ const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb');
142
+ if (isAndroidMobileWeb) {
143
+ return true;
144
+ }
145
+ return false;
11
146
  };
12
147
  export const initialize = (userConfig = {}) => {
13
148
  if (typeof window === 'undefined') {
@@ -36,33 +171,114 @@ export const initialize = (userConfig = {}) => {
36
171
  }
37
172
  // Setup platforms
38
173
  setupPlatforms(win);
39
- // first see if the mode was set as an attribute on <html>
40
- // which could have been set by the user, or by pre-rendering
41
- // otherwise get the mode via config settings, and fallback to md
42
174
  Ionic.config = config;
175
+ /**
176
+ * Check if the mode was set as an attribute on <html>
177
+ * which could have been set by the user, or by pre-rendering
178
+ * otherwise get the mode via config settings, and fallback to md.
179
+ */
43
180
  Ionic.mode = defaultMode = config.get('mode', doc.documentElement.getAttribute('mode') || (isPlatform(win, 'ios') ? 'ios' : 'md'));
181
+ /**
182
+ * Check if the theme was set as an attribute on <html>
183
+ * which could have been set by the user, or by pre-rendering
184
+ * otherwise get the theme via config settings, and fallback to md.
185
+ */
186
+ Ionic.theme = defaultTheme = config.get('theme', doc.documentElement.getAttribute('theme') || getDefaultThemeForMode(defaultMode));
187
+ if (!isModeValidForTheme(defaultMode, defaultTheme)) {
188
+ printInvalidModeWarning(defaultMode, defaultTheme, configObj);
189
+ defaultMode = getDefaultModeForTheme(defaultTheme);
190
+ }
44
191
  config.set('mode', defaultMode);
45
192
  doc.documentElement.setAttribute('mode', defaultMode);
46
193
  doc.documentElement.classList.add(defaultMode);
194
+ config.set('theme', defaultTheme);
195
+ doc.documentElement.setAttribute('theme', defaultTheme);
196
+ doc.documentElement.classList.add(defaultTheme);
47
197
  if (config.getBoolean('_testing')) {
48
198
  config.set('animated', false);
49
199
  }
50
- const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };
51
- const isAllowedIonicModeValue = (elmMode) => ['ios', 'md'].includes(elmMode);
52
200
  setMode((elm) => {
201
+ /**
202
+ * Iterate over all the element nodes, to both validate and
203
+ * set the "mode" that is used for determining the styles to
204
+ * apply to the element.
205
+ *
206
+ * setMode refers to Stencil's internal metadata for "mode",
207
+ * which is used to set the correct styleUrl for the component.
208
+ *
209
+ * If the "theme" attribute or property is set, then use it
210
+ * to determine the style sheets to use.
211
+ *
212
+ * If the "mode" attribute or property is set, then use it
213
+ * to determine the style sheets to use. This is fallback
214
+ * behavior for applications that are not setting the "theme".
215
+ */
53
216
  while (elm) {
54
- const elmMode = elm.mode || elm.getAttribute('mode');
217
+ const theme = elm.getAttribute('theme');
218
+ if (theme) {
219
+ if (isThemeSupported(theme)) {
220
+ return theme;
221
+ }
222
+ else if (isIonicElement(elm)) {
223
+ printIonWarning(`Invalid theme: "${theme}". Supported themes include: "ios" or "md".`);
224
+ }
225
+ }
226
+ /**
227
+ * If a theme is not detected, then fallback to using the
228
+ * `mode` attribute to determine the style sheets to use.
229
+ */
230
+ const elmMode = elm.getAttribute('mode');
55
231
  if (elmMode) {
56
- if (isAllowedIonicModeValue(elmMode)) {
232
+ if (isModeSupported(elmMode)) {
57
233
  return elmMode;
58
234
  }
59
235
  else if (isIonicElement(elm)) {
60
- console.warn('Invalid ionic mode: "' + elmMode + '", expected: "ios" or "md"');
236
+ printIonWarning(`Invalid mode: "${elmMode}". Ionic modes can be only "ios" or "md"`);
61
237
  }
62
238
  }
63
239
  elm = elm.parentElement;
64
240
  }
65
- return defaultMode;
241
+ return defaultTheme;
66
242
  });
243
+ // `IonApp` code
244
+ // ----------------------------------------------
245
+ if (Build.isBrowser) {
246
+ rIC(async () => {
247
+ const isHybrid = isPlatform(window, 'hybrid');
248
+ if (!config.getBoolean('_testing')) {
249
+ import('../utils/tap-click').then((module) => module.startTapClick(config));
250
+ }
251
+ if (config.getBoolean('statusTap', isHybrid)) {
252
+ import('../utils/status-tap').then((module) => module.startStatusTap());
253
+ }
254
+ if (config.getBoolean('inputShims', needInputShims())) {
255
+ /**
256
+ * needInputShims() ensures that only iOS and Android
257
+ * platforms proceed into this block.
258
+ */
259
+ const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
260
+ import('../utils/input-shims/input-shims').then((module) => module.startInputShims(config, platform));
261
+ }
262
+ const hardwareBackButtonModule = await import('../utils/hardware-back-button');
263
+ const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
264
+ if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
265
+ hardwareBackButtonModule.startHardwareBackButton();
266
+ }
267
+ else {
268
+ /**
269
+ * If an app sets hardwareBackButton: false and experimentalCloseWatcher: true
270
+ * then the close watcher will not be used.
271
+ */
272
+ if (shouldUseCloseWatcher()) {
273
+ printIonWarning('experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used.');
274
+ }
275
+ hardwareBackButtonModule.blockHardwareBackButton();
276
+ }
277
+ if (typeof window !== 'undefined') {
278
+ import('../utils/keyboard/keyboard').then((module) => module.startKeyboardAssist(window));
279
+ }
280
+ import('../utils/focus-visible').then((module) => module.getOrInitFocusVisibleUtility());
281
+ });
282
+ }
67
283
  };
68
284
  export default initialize;
@@ -17,6 +17,13 @@ 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
+ };
20
27
  export const startFocusVisible = (rootEl) => {
21
28
  let currentFocus = [];
22
29
  let keyboardMode = true;
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { config } from "../global/config";
4
5
  import { componentOnReady } from "./helpers";
5
6
  // TODO(FW-2832): types
6
7
  export const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
@@ -101,7 +102,8 @@ export const CoreDelegate = () => {
101
102
  * Get the root of the app and
102
103
  * add the overlay there.
103
104
  */
104
- const app = document.querySelector('ion-app') || document.body;
105
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
106
+ const app = document.querySelector(appRootSelector) || document.body;
105
107
  /**
106
108
  * Create a placeholder comment so that
107
109
  * we can return this component to where
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { config } from "../global/config";
4
5
  export const transitionEndAsync = (el, expectedDuration = 0) => {
5
6
  return new Promise((resolve) => {
6
7
  transitionEnd(el, expectedDuration, resolve);
@@ -241,7 +242,8 @@ export const focusVisibleElement = (el) => {
241
242
  * which will let us explicitly set the elements to focus.
242
243
  */
243
244
  if (el.classList.contains('ion-focusable')) {
244
- const app = el.closest('ion-app');
245
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
246
+ const app = el.closest(appRootSelector);
245
247
  if (app) {
246
248
  app.setFocus([el]);
247
249
  }
@@ -2,6 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { doc, win } from "../browser/index";
5
+ import { config } from "../../global/config";
5
6
  import { Keyboard, KeyboardResize } from "../native/keyboard";
6
7
  /**
7
8
  * The element that resizes when the keyboard opens
@@ -25,7 +26,8 @@ const getResizeContainer = (resizeMode) => {
25
26
  * on that. In the event `ion-app` is not available then
26
27
  * we can fall back to `body`.
27
28
  */
28
- const ionApp = doc.querySelector('ion-app');
29
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
30
+ const ionApp = doc.querySelector(appRootSelector);
29
31
  return ionApp !== null && ionApp !== void 0 ? ionApp : doc.body;
30
32
  };
31
33
  /**
@@ -27,8 +27,8 @@ export const menuOverlayAnimation = (menu) => {
27
27
  }
28
28
  menuAnimation.addElement(menu.menuInnerEl).fromTo('transform', `translateX(${closedX})`, `translateX(${openedX})`);
29
29
  const mode = getIonMode(menu);
30
- const isIos = mode === 'ios';
31
- const opacity = isIos ? 0.2 : 0.25;
30
+ const isIOS = mode === 'ios';
31
+ const opacity = isIOS ? 0.2 : 0.25;
32
32
  backdropAnimation.addElement(menu.backdropEl).fromTo('opacity', 0.01, opacity);
33
- return baseAnimation(isIos).addAnimation([menuAnimation, backdropAnimation]);
33
+ return baseAnimation(isIOS).addAnimation([menuAnimation, backdropAnimation]);
34
34
  };
@@ -14,6 +14,7 @@ export const menuPushAnimation = (menu) => {
14
14
  let menuClosedX;
15
15
  const mode = getIonMode(menu);
16
16
  const width = menu.width;
17
+ const isIOS = mode === 'ios';
17
18
  if (menu.isEndSide) {
18
19
  contentOpenedX = -width + 'px';
19
20
  menuClosedX = width + 'px';
@@ -29,5 +30,5 @@ export const menuPushAnimation = (menu) => {
29
30
  .addElement(menu.contentEl)
30
31
  .fromTo('transform', 'translateX(0px)', `translateX(${contentOpenedX})`);
31
32
  const backdropAnimation = createAnimation().addElement(menu.backdropEl).fromTo('opacity', 0.01, 0.32);
32
- return baseAnimation(mode === 'ios').addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
33
+ return baseAnimation(isIOS).addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
33
34
  };
@@ -11,9 +11,10 @@ import { baseAnimation } from "./base";
11
11
  */
12
12
  export const menuRevealAnimation = (menu) => {
13
13
  const mode = getIonMode(menu);
14
+ const isIOS = mode === 'ios';
14
15
  const openedX = menu.width * (menu.isEndSide ? -1 : 1) + 'px';
15
16
  const contentOpen = createAnimation()
16
17
  .addElement(menu.contentEl) // REVIEW
17
18
  .fromTo('transform', 'translateX(0px)', `translateX(${openedX})`);
18
- return baseAnimation(mode === 'ios').addAnimation(contentOpen);
19
+ return baseAnimation(isIOS).addAnimation(contentOpen);
19
20
  };
@@ -613,7 +613,8 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
613
613
  return true;
614
614
  };
615
615
  const getAppRoot = (doc) => {
616
- return doc.querySelector('ion-app') || doc.body;
616
+ const appRootSelector = config.get('appRootSelector', 'ion-app');
617
+ return doc.querySelector(appRootSelector) || doc.body;
617
618
  };
618
619
  const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
619
620
  // Make overlay visible in case it's hidden
@@ -8,34 +8,56 @@
8
8
  * each test title is unique.
9
9
  */
10
10
  const generateTitle = (title, config) => {
11
- const { mode, direction, palette } = config;
12
- if (palette === 'light') {
13
- /**
14
- * Ionic has many existing tests that existed prior to
15
- * the introduction of palette testing. To maintain backwards
16
- * compatibility, we will not include the palette in the test
17
- * title if the palette is set to light.
18
- */
19
- return `${title} - ${mode}/${direction}`;
11
+ const { direction, palette, mode, theme } = config;
12
+ /**
13
+ * The iOS theme can only be used with the iOS mode,
14
+ * and the MD theme can only be used with the MD mode.
15
+ *
16
+ * This logic enables the fallback behavior for existing tests,
17
+ * where we only tested against a mode, which accounted for both
18
+ * the theme and mode.
19
+ */
20
+ if (theme === 'ios' || theme === 'md') {
21
+ if (palette === 'light') {
22
+ /**
23
+ * Ionic has many existing tests that existed prior to
24
+ * the introduction of theme testing. To maintain backwards
25
+ * compatibility, we will not include the theme in the test
26
+ * title if the theme is set to light.
27
+ */
28
+ return `${title} - ${mode}/${direction}`;
29
+ }
30
+ return `${title} - ${mode}/${direction}/${palette}`;
20
31
  }
21
- return `${title} - ${mode}/${direction}/${palette}`;
32
+ return `${title} - ${theme}/${mode}/${direction}/${palette}`;
22
33
  };
23
34
  /**
24
35
  * Generates a unique filename based on a base filename
25
36
  * and a test config.
26
37
  */
27
38
  const generateScreenshotName = (fileName, config) => {
28
- const { mode, direction, palette } = config;
29
- if (palette === 'light') {
30
- /**
31
- * Ionic has many existing tests that existed prior to
32
- * the introduction of palette testing. To maintain backwards
33
- * compatibility, we will not include the palette in the screenshot
34
- * name if the palette is set to light.
35
- */
36
- return `${fileName}-${mode}-${direction}.png`;
39
+ const { direction, palette, mode, theme } = config;
40
+ /**
41
+ * The iOS theme can only be used with the iOS mode,
42
+ * and the MD theme can only be used with the MD mode.
43
+ *
44
+ * This logic enables the fallback behavior for existing tests,
45
+ * where we only tested against a mode, which accounted for both
46
+ * the theme and mode.
47
+ */
48
+ if (theme === 'ios' || theme === 'md') {
49
+ if (palette === 'light') {
50
+ /**
51
+ * Ionic has many existing tests that existed prior to
52
+ * the introduction of theme testing. To maintain backwards
53
+ * compatibility, we will not include the theme in the screenshot
54
+ * name if the theme is set to light.
55
+ */
56
+ return `${fileName}-${mode}-${direction}.png`;
57
+ }
58
+ return `${fileName}-${mode}-${direction}-${palette}.png`;
37
59
  }
38
- return `${fileName}-${mode}-${direction}-${palette}.png`;
60
+ return `${fileName}-${theme}-${mode}-${direction}-${palette}.png`;
39
61
  };
40
62
  /**
41
63
  * Given a config generate an array of test variants.
@@ -48,13 +70,16 @@ export const configs = (testConfig = DEFAULT_TEST_CONFIG_OPTION) => {
48
70
  * If certain options are not provided,
49
71
  * fall back to the defaults.
50
72
  */
51
- const processedMode = modes !== null && modes !== void 0 ? modes : DEFAULT_MODES;
73
+ const processedModes = modes !== null && modes !== void 0 ? modes : DEFAULT_MODES;
52
74
  const processedDirection = directions !== null && directions !== void 0 ? directions : DEFAULT_DIRECTIONS;
53
75
  const processedPalette = (_a = testConfig.palettes) !== null && _a !== void 0 ? _a : DEFAULT_PALETTES;
54
- processedMode.forEach((mode) => {
76
+ processedModes.forEach((mode) => {
77
+ const [themeOrCombinedMode, modeName] = mode.split('-');
78
+ const parsedTheme = themeOrCombinedMode;
79
+ const parsedMode = modeName !== null && modeName !== void 0 ? modeName : themeOrCombinedMode;
55
80
  processedDirection.forEach((direction) => {
56
81
  processedPalette.forEach((palette) => {
57
- configs.push({ mode, direction, palette });
82
+ configs.push({ direction, palette, mode: parsedMode, theme: parsedTheme });
58
83
  });
59
84
  });
60
85
  });
@@ -9,7 +9,7 @@
9
9
  * to be hydrated before proceeding with the test.
10
10
  */
11
11
  export const goto = async (page, url, testInfo, originalFn, options) => {
12
- var _a, _b, _c, _d;
12
+ var _a, _b, _c, _d, _e;
13
13
  if (options === undefined && testInfo.project.metadata.mode === undefined) {
14
14
  throw new Error(`
15
15
  A config must be passed to page.goto to use a generator test:
@@ -21,15 +21,18 @@ configs().forEach(({ config, title }) => {
21
21
  });`);
22
22
  }
23
23
  let mode;
24
+ let theme;
24
25
  let direction;
25
26
  let palette;
26
27
  if (options == undefined) {
27
28
  mode = testInfo.project.metadata.mode;
29
+ theme = testInfo.project.metadata.theme;
28
30
  direction = testInfo.project.metadata.rtl ? 'rtl' : 'ltr';
29
31
  palette = testInfo.project.metadata.palette;
30
32
  }
31
33
  else {
32
34
  mode = options.mode;
35
+ theme = options.theme;
33
36
  direction = options.direction;
34
37
  palette = options.palette;
35
38
  }
@@ -42,13 +45,15 @@ configs().forEach(({ config, title }) => {
42
45
  */
43
46
  const urlToParams = new URLSearchParams(paramsString);
44
47
  const formattedMode = (_a = urlToParams.get('ionic:mode')) !== null && _a !== void 0 ? _a : mode;
45
- const formattedRtl = (_b = urlToParams.get('rtl')) !== null && _b !== void 0 ? _b : rtlString;
46
- const formattedPalette = (_c = urlToParams.get('palette')) !== null && _c !== void 0 ? _c : palette;
47
- const ionicTesting = (_d = urlToParams.get('ionic:_testing')) !== null && _d !== void 0 ? _d : true;
48
+ const formattedTheme = (_b = urlToParams.get('ionic:theme')) !== null && _b !== void 0 ? _b : theme;
49
+ const formattedRtl = (_c = urlToParams.get('rtl')) !== null && _c !== void 0 ? _c : rtlString;
50
+ const formattedPalette = (_d = urlToParams.get('palette')) !== null && _d !== void 0 ? _d : palette;
51
+ const ionicTesting = (_e = urlToParams.get('ionic:_testing')) !== null && _e !== void 0 ? _e : true;
48
52
  /**
49
53
  * Pass through other custom query params
50
54
  */
51
55
  urlToParams.delete('ionic:mode');
56
+ urlToParams.delete('ionic:theme');
52
57
  urlToParams.delete('rtl');
53
58
  urlToParams.delete('palette');
54
59
  urlToParams.delete('ionic:_testing');
@@ -59,11 +64,15 @@ configs().forEach(({ config, title }) => {
59
64
  */
60
65
  const remainingQueryParams = decodeURIComponent(urlToParams.toString());
61
66
  const remainingQueryParamsString = remainingQueryParams == '' ? '' : `&${remainingQueryParams}`;
62
- const formattedUrl = `${splitUrl[0]}?ionic:_testing=${ionicTesting}&ionic:mode=${formattedMode}&rtl=${formattedRtl}&palette=${formattedPalette}${remainingQueryParamsString}`;
67
+ const formattedUrl = `${splitUrl[0]}?ionic:_testing=${ionicTesting}&ionic:mode=${formattedMode}&ionic:theme=${formattedTheme}&rtl=${formattedRtl}&palette=${formattedPalette}${remainingQueryParamsString}`;
63
68
  testInfo.annotations.push({
64
69
  type: 'mode',
65
70
  description: formattedMode,
66
71
  });
72
+ testInfo.annotations.push({
73
+ type: 'theme',
74
+ description: formattedTheme,
75
+ });
67
76
  testInfo.annotations.push({
68
77
  type: 'direction',
69
78
  description: formattedRtl === 'true' ? 'rtl' : 'ltr',
@@ -18,15 +18,18 @@ export const setContent = async (page, html, testInfo, options) => {
18
18
  }
19
19
  let mode;
20
20
  let direction;
21
+ let theme;
21
22
  let palette;
22
23
  if (options == undefined) {
23
24
  mode = testInfo.project.metadata.mode;
24
25
  direction = testInfo.project.metadata.rtl ? 'rtl' : 'ltr';
26
+ theme = testInfo.project.metadata.theme;
25
27
  palette = testInfo.project.metadata.palette;
26
28
  }
27
29
  else {
28
30
  mode = options.mode;
29
31
  direction = options.direction;
32
+ theme = options.theme;
30
33
  palette = options.palette;
31
34
  }
32
35
  const baseUrl = process.env.PLAYWRIGHT_TEST_BASE_URL;
@@ -37,7 +40,9 @@ export const setContent = async (page, html, testInfo, options) => {
37
40
  <title>Ionic Playwright Test</title>
38
41
  <meta charset="UTF-8" />
39
42
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
40
- <link href="${baseUrl}/css/ionic.bundle.css" rel="stylesheet" />
43
+ ${theme === 'ionic'
44
+ ? `<link href="${baseUrl}/css/ionic/bundle.ionic.css" rel="stylesheet" />`
45
+ : `<link href="${baseUrl}/css/ionic.bundle.css" rel="stylesheet" />`}
41
46
  <link href="${baseUrl}/scripts/testing/styles.css" rel="stylesheet" />
42
47
  ${palette !== 'light' ? `<link href="${baseUrl}/css/palettes/${palette}.always.css" rel="stylesheet" />` : ''}
43
48
  <script src="${baseUrl}/scripts/testing/scripts.js"></script>
@@ -45,7 +50,8 @@ export const setContent = async (page, html, testInfo, options) => {
45
50
  <script>
46
51
  window.Ionic = {
47
52
  config: {
48
- mode: '${mode}'
53
+ mode: '${mode}',
54
+ theme: '${theme}'
49
55
  }
50
56
  }
51
57
  </script>
@@ -55,10 +61,18 @@ export const setContent = async (page, html, testInfo, options) => {
55
61
  </body>
56
62
  </html>
57
63
  `;
64
+ testInfo.annotations.push({
65
+ type: 'mode',
66
+ description: mode,
67
+ });
58
68
  testInfo.annotations.push({
59
69
  type: 'palette',
60
70
  description: palette,
61
71
  });
72
+ testInfo.annotations.push({
73
+ type: 'theme',
74
+ description: theme,
75
+ });
62
76
  if (baseUrl) {
63
77
  await page.route(baseUrl, (route) => {
64
78
  if (route.request().url() === `${baseUrl}/`) {
@@ -191,6 +191,7 @@ const animateBackButton = (rootAnimation, rtl, backDirection, backButtonEl, back
191
191
  const clonedBackButtonIconEl = shadow(clonedBackButtonEl).querySelector('ion-icon');
192
192
  clonedBackButtonEl.text = backButtonEl.text;
193
193
  clonedBackButtonEl.mode = backButtonEl.mode;
194
+ clonedBackButtonEl.theme = backButtonEl.theme;
194
195
  clonedBackButtonEl.icon = backButtonEl.icon;
195
196
  clonedBackButtonEl.color = backButtonEl.color;
196
197
  clonedBackButtonEl.disabled = backButtonEl.disabled;
package/dist/docs.d.ts CHANGED
@@ -316,14 +316,6 @@ export interface JsonDocsProp {
316
316
  * ```
317
317
  */
318
318
  required: boolean;
319
- /**
320
- * `true` if the prop has a `get()`. `false` otherwise
321
- */
322
- getter: boolean;
323
- /**
324
- * `true` if the prop has a `set()`. `false` otherwise
325
- */
326
- setter: boolean;
327
319
  }
328
320
  export interface JsonDocsMethod {
329
321
  name: string;