@ionic/core 8.7.6-dev.11759493293.13f81b9f → 8.7.6-dev.11759524961.1cff6814

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 (950) hide show
  1. package/components/action-sheet.js +14 -20
  2. package/components/alert.js +16 -21
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +8 -13
  5. package/components/button.js +13 -46
  6. package/components/buttons.js +10 -15
  7. package/components/capacitor.js +1 -1
  8. package/components/checkbox.js +14 -35
  9. package/components/content.js +14 -18
  10. package/components/data.js +11 -14
  11. package/components/focus-visible.js +1 -23
  12. package/components/framework-delegate.js +1 -3
  13. package/components/hardware-back-button.js +115 -0
  14. package/components/header.js +18 -32
  15. package/components/helpers.js +3 -42
  16. package/components/icon.js +2 -4
  17. package/components/index2.js +70 -3
  18. package/components/index5.js +8 -8
  19. package/components/index6.js +1 -1
  20. package/components/index7.js +150 -111
  21. package/components/index8.js +111 -150
  22. package/components/index9.js +7 -0
  23. package/components/input-shims.js +2 -2
  24. package/components/input.utils.js +1 -1
  25. package/components/ion-accordion-group.js +7 -27
  26. package/components/ion-accordion.js +23 -36
  27. package/components/ion-app.js +78 -15
  28. package/components/ion-avatar.js +7 -62
  29. package/components/ion-back-button.js +22 -32
  30. package/components/ion-badge.js +11 -77
  31. package/components/ion-breadcrumb.js +13 -48
  32. package/components/ion-breadcrumbs.js +7 -12
  33. package/components/ion-card-content.js +9 -14
  34. package/components/ion-card-header.js +8 -13
  35. package/components/ion-card-subtitle.js +7 -12
  36. package/components/ion-card-title.js +7 -12
  37. package/components/ion-card.js +12 -26
  38. package/components/ion-chip.js +10 -57
  39. package/components/ion-col.js +52 -55
  40. package/components/ion-datetime-button.js +7 -12
  41. package/components/ion-datetime.js +27 -106
  42. package/components/ion-fab-button.js +18 -36
  43. package/components/ion-fab-list.js +7 -9
  44. package/components/ion-fab.js +8 -10
  45. package/components/ion-footer.js +15 -22
  46. package/components/ion-grid.js +7 -9
  47. package/components/ion-img.js +4 -9
  48. package/components/ion-infinite-scroll-content.js +10 -15
  49. package/components/ion-infinite-scroll.js +8 -82
  50. package/components/ion-input-otp.js +8 -13
  51. package/components/ion-input-password-toggle.js +15 -55
  52. package/components/ion-input.js +31 -125
  53. package/components/ion-item-divider.js +7 -12
  54. package/components/ion-item-group.js +7 -12
  55. package/components/ion-item-option.js +11 -40
  56. package/components/ion-item-options.js +9 -14
  57. package/components/ion-item-sliding.js +7 -9
  58. package/components/ion-loading.js +14 -19
  59. package/components/ion-menu-button.js +12 -30
  60. package/components/ion-menu-toggle.js +7 -9
  61. package/components/ion-menu.js +10 -14
  62. package/components/ion-nav-link.js +5 -7
  63. package/components/ion-nav.js +8 -12
  64. package/components/ion-note.js +7 -12
  65. package/components/ion-picker-legacy.js +12 -14
  66. package/components/ion-progress-bar.js +9 -29
  67. package/components/ion-range.js +12 -17
  68. package/components/ion-refresher-content.js +10 -27
  69. package/components/ion-refresher.js +9 -14
  70. package/components/ion-reorder-group.js +7 -9
  71. package/components/ion-reorder.js +7 -34
  72. package/components/ion-route-redirect.js +2 -4
  73. package/components/ion-route.js +5 -7
  74. package/components/ion-router-link.js +9 -11
  75. package/components/ion-router-outlet.js +7 -9
  76. package/components/ion-router.js +2 -4
  77. package/components/ion-row.js +5 -10
  78. package/components/ion-searchbar.js +25 -141
  79. package/components/ion-segment-button.js +9 -14
  80. package/components/ion-segment-content.js +3 -5
  81. package/components/ion-segment-view.js +4 -9
  82. package/components/ion-segment.js +9 -14
  83. package/components/ion-select-option.js +4 -9
  84. package/components/ion-select.js +35 -121
  85. package/components/ion-skeleton-text.js +7 -9
  86. package/components/ion-split-pane.js +10 -15
  87. package/components/ion-tab-bar.js +11 -43
  88. package/components/ion-tab-button.js +9 -29
  89. package/components/ion-tab.js +4 -6
  90. package/components/ion-tabs.js +4 -6
  91. package/components/ion-text.js +7 -9
  92. package/components/ion-textarea.js +14 -57
  93. package/components/ion-thumbnail.js +4 -9
  94. package/components/ion-toast.js +17 -44
  95. package/components/ion-toggle.js +19 -78
  96. package/components/ionic-global.js +15 -349
  97. package/components/ios.transition.js +0 -1
  98. package/components/item.js +17 -44
  99. package/components/keyboard-controller.js +2 -4
  100. package/components/label.js +7 -12
  101. package/components/list-header.js +9 -14
  102. package/components/list.js +8 -31
  103. package/components/modal.js +27 -57
  104. package/components/notch-controller.js +1 -1
  105. package/components/overlays.js +4 -3
  106. package/components/picker-column-option.js +7 -12
  107. package/components/picker-column.js +10 -11
  108. package/components/picker-column2.js +6 -8
  109. package/components/picker.js +6 -11
  110. package/components/popover.js +15 -20
  111. package/components/radio-group.js +7 -14
  112. package/components/radio.js +10 -15
  113. package/components/ripple-effect.js +9 -19
  114. package/components/select-modal.js +6 -8
  115. package/components/select-popover.js +4 -12
  116. package/components/spinner.js +10 -35
  117. package/components/status-tap.js +1 -1
  118. package/components/title.js +9 -14
  119. package/components/toolbar.js +11 -157
  120. package/css/core.css +1 -1
  121. package/css/core.css.map +1 -1
  122. package/css/display.css +1 -1
  123. package/css/display.css.map +1 -1
  124. package/css/flex-utils.css +1 -1
  125. package/css/flex-utils.css.map +1 -1
  126. package/css/float-elements.css.map +1 -1
  127. package/css/global.bundle.css.map +1 -1
  128. package/css/ionic-swiper.css +1 -1
  129. package/css/ionic-swiper.css.map +1 -1
  130. package/css/ionic.bundle.css +1 -1
  131. package/css/ionic.bundle.css.map +1 -1
  132. package/css/normalize.css.map +1 -1
  133. package/css/padding.css.map +1 -1
  134. package/css/palettes/dark.always.css.map +1 -1
  135. package/css/palettes/dark.class.css.map +1 -1
  136. package/css/palettes/dark.system.css.map +1 -1
  137. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  138. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  139. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  140. package/css/palettes/high-contrast.always.css.map +1 -1
  141. package/css/palettes/high-contrast.class.css.map +1 -1
  142. package/css/palettes/high-contrast.system.css.map +1 -1
  143. package/css/structure.css.map +1 -1
  144. package/css/text-alignment.css.map +1 -1
  145. package/css/text-transformation.css.map +1 -1
  146. package/css/typography.css.map +1 -1
  147. package/css/utils.bundle.css +1 -1
  148. package/css/utils.bundle.css.map +1 -1
  149. package/dist/cjs/{animation-BYsP2q5j.js → animation-ZJ1lAkZD.js} +3 -3
  150. package/dist/cjs/{app-globals-CrtAvKxl.js → app-globals-77ZfuXXk.js} +1 -1
  151. package/dist/cjs/{button-active-CDa7BeCl.js → button-active-BzZenWWH.js} +2 -2
  152. package/dist/cjs/{capacitor-BMhHF0O5.js → capacitor-DmA66EwP.js} +3 -3
  153. package/dist/cjs/{config-C5fsO43a.js → config-CKhELRRu.js} +1 -1
  154. package/dist/cjs/{data-MoL8Ckx5.js → data-DW6ofvJ8.js} +12 -15
  155. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  156. package/dist/cjs/{framework-delegate-Bwdk9vFS.js → framework-delegate-WkyjrnCx.js} +2 -4
  157. package/dist/cjs/{haptic-Cy3moXzO.js → haptic-ClPPQ_PS.js} +1 -1
  158. package/dist/cjs/hardware-back-button-BxdNu76F.js +121 -0
  159. package/dist/cjs/{helpers-DnouLczu.js → helpers-DgwmcYAu.js} +3 -42
  160. package/dist/cjs/{index-Dbl8V7hw.js → index--3s2Phef.js} +74 -7
  161. package/dist/cjs/{index-DUoP_H1L.js → index-Cc5PNMyz.js} +2 -2
  162. package/dist/cjs/{index-XjN3PjKG.js → index-D24wggHR.js} +15 -15
  163. package/dist/cjs/{index-D6Wc6v08.js → index-DNh170BW.js} +47 -51
  164. package/dist/cjs/index-DkNv4J_i.js +10 -0
  165. package/dist/cjs/{index-Bq6U5NAb.js → index-bGpoPC4u.js} +8 -9
  166. package/dist/cjs/index.cjs.js +13 -12
  167. package/dist/cjs/{input-shims-D6DHFHsE.js → input-shims-CLI_OrmU.js} +17 -18
  168. package/dist/cjs/{input.utils-BVyJKWft.js → input.utils-B2hZ5tX6.js} +5 -5
  169. package/dist/cjs/ion-accordion_2.cjs.entry.js +27 -56
  170. package/dist/cjs/ion-action-sheet.cjs.entry.js +19 -22
  171. package/dist/cjs/ion-alert.cjs.entry.js +22 -24
  172. package/dist/cjs/ion-app_8.cjs.entry.js +145 -244
  173. package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -124
  174. package/dist/cjs/ion-back-button.cjs.entry.js +20 -29
  175. package/dist/cjs/ion-backdrop.cjs.entry.js +7 -10
  176. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +16 -52
  177. package/dist/cjs/ion-button_2.cjs.entry.js +12 -44
  178. package/dist/cjs/ion-card_5.cjs.entry.js +30 -54
  179. package/dist/cjs/ion-checkbox.cjs.entry.js +14 -32
  180. package/dist/cjs/ion-chip.cjs.entry.js +8 -49
  181. package/dist/cjs/ion-col_3.cjs.entry.js +57 -54
  182. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -12
  183. package/dist/cjs/ion-datetime_3.cjs.entry.js +39 -114
  184. package/dist/cjs/ion-fab_3.cjs.entry.js +26 -42
  185. package/dist/cjs/ion-img.cjs.entry.js +4 -8
  186. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -91
  187. package/dist/cjs/ion-input-otp.cjs.entry.js +8 -12
  188. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +13 -51
  189. package/dist/cjs/ion-input.cjs.entry.js +31 -121
  190. package/dist/cjs/ion-item-option_3.cjs.entry.js +20 -49
  191. package/dist/cjs/ion-item_8.cjs.entry.js +46 -106
  192. package/dist/cjs/ion-loading.cjs.entry.js +17 -19
  193. package/dist/cjs/ion-menu_3.cjs.entry.js +27 -45
  194. package/dist/cjs/ion-modal.cjs.entry.js +69 -96
  195. package/dist/cjs/ion-nav_2.cjs.entry.js +11 -14
  196. package/dist/cjs/ion-picker-column-option.cjs.entry.js +7 -11
  197. package/dist/cjs/ion-picker-column.cjs.entry.js +13 -13
  198. package/dist/cjs/ion-picker.cjs.entry.js +6 -10
  199. package/dist/cjs/ion-popover.cjs.entry.js +17 -19
  200. package/dist/cjs/ion-progress-bar.cjs.entry.js +8 -26
  201. package/dist/cjs/ion-radio_2.cjs.entry.js +14 -23
  202. package/dist/cjs/ion-range.cjs.entry.js +11 -15
  203. package/dist/cjs/ion-refresher_2.cjs.entry.js +20 -38
  204. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -37
  205. package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -15
  206. package/dist/cjs/ion-route_4.cjs.entry.js +8 -9
  207. package/dist/cjs/ion-searchbar.cjs.entry.js +22 -135
  208. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  209. package/dist/cjs/ion-segment-view.cjs.entry.js +3 -6
  210. package/dist/cjs/ion-segment_2.cjs.entry.js +15 -22
  211. package/dist/cjs/ion-select-modal.cjs.entry.js +10 -9
  212. package/dist/cjs/ion-select_3.cjs.entry.js +39 -130
  213. package/dist/cjs/ion-spinner.cjs.entry.js +7 -29
  214. package/dist/cjs/ion-split-pane.cjs.entry.js +9 -12
  215. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +21 -66
  216. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -8
  217. package/dist/cjs/ion-text.cjs.entry.js +6 -6
  218. package/dist/cjs/ion-textarea.cjs.entry.js +16 -56
  219. package/dist/cjs/ion-toast.cjs.entry.js +44 -67
  220. package/dist/cjs/ion-toggle.cjs.entry.js +22 -79
  221. package/dist/cjs/ionic-global-UI5YPSi-.js +151 -0
  222. package/dist/cjs/ionic.cjs.js +5 -5
  223. package/dist/cjs/{ios.transition-2wtm_6Ok.js → ios.transition-B_rsAM9j.js} +5 -7
  224. package/dist/cjs/{keyboard-UYQhk8rB.js → keyboard-UuAS4D_9.js} +1 -1
  225. package/dist/cjs/{keyboard-controller-ts0z4BIe.js → keyboard-controller-GXBiBRKS.js} +9 -11
  226. package/dist/cjs/{keyboard-C1Ds9WQH.js → keyboard-hHzlEQpk.js} +3 -4
  227. package/dist/cjs/loader.cjs.js +4 -4
  228. package/dist/cjs/{md.transition-DCNdoS7u.js → md.transition-CQt0eBw-.js} +5 -6
  229. package/dist/cjs/{notch-controller-BX7CnNaL.js → notch-controller-Bf5Rr4R5.js} +4 -4
  230. package/dist/cjs/{overlays-pdcfssMG.js → overlays-czPyT6xP.js} +10 -9
  231. package/dist/cjs/{status-tap-e-hyosXV.js → status-tap-D9YPr62n.js} +3 -4
  232. package/dist/cjs/{swipe-back-CR060nOX.js → swipe-back-C1wRtoww.js} +2 -3
  233. package/dist/collection/collection-manifest.json +1 -2
  234. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  235. package/dist/collection/components/accordion/accordion.js +30 -40
  236. package/dist/collection/components/accordion/accordion.md.css +59 -67
  237. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  238. package/dist/collection/components/accordion-group/accordion-group.js +16 -52
  239. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  240. package/dist/collection/components/action-sheet/action-sheet.ios.css +6 -18
  241. package/dist/collection/components/action-sheet/action-sheet.js +32 -31
  242. package/dist/collection/components/action-sheet/action-sheet.md.css +5 -17
  243. package/dist/collection/components/alert/alert.ios.css +1 -19
  244. package/dist/collection/components/alert/alert.js +37 -34
  245. package/dist/collection/components/alert/alert.md.css +1 -19
  246. package/dist/collection/components/app/app.js +78 -15
  247. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  248. package/dist/collection/components/avatar/avatar.js +4 -120
  249. package/dist/collection/components/avatar/avatar.md.css +0 -51
  250. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  251. package/dist/collection/components/back-button/back-button.js +30 -37
  252. package/dist/collection/components/back-button/back-button.md.css +48 -60
  253. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  254. package/dist/collection/components/backdrop/backdrop.js +9 -15
  255. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  256. package/dist/collection/components/badge/badge.ios.css +12 -139
  257. package/dist/collection/components/badge/badge.js +11 -147
  258. package/dist/collection/components/badge/badge.md.css +12 -123
  259. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  260. package/dist/collection/components/breadcrumb/breadcrumb.js +32 -63
  261. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  262. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  263. package/dist/collection/components/breadcrumbs/breadcrumbs.js +15 -17
  264. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  265. package/dist/collection/components/button/button.ios.css +46 -135
  266. package/dist/collection/components/button/button.js +43 -73
  267. package/dist/collection/components/button/button.md.css +50 -126
  268. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  269. package/dist/collection/components/buttons/buttons.js +10 -16
  270. package/dist/collection/components/buttons/buttons.md.css +3 -55
  271. package/dist/collection/components/card/card.ios.css +14 -65
  272. package/dist/collection/components/card/card.js +25 -55
  273. package/dist/collection/components/card/card.md.css +14 -65
  274. package/dist/collection/components/card-content/card-content.ios.css +1 -16
  275. package/dist/collection/components/card-content/card-content.js +8 -11
  276. package/dist/collection/components/card-content/card-content.md.css +1 -16
  277. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  278. package/dist/collection/components/card-header/card-header.js +13 -16
  279. package/dist/collection/components/card-header/card-header.md.css +15 -27
  280. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  281. package/dist/collection/components/card-subtitle/card-subtitle.js +10 -13
  282. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  283. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  284. package/dist/collection/components/card-title/card-title.js +10 -13
  285. package/dist/collection/components/card-title/card-title.md.css +0 -73
  286. package/dist/collection/components/checkbox/checkbox.ios.css +101 -161
  287. package/dist/collection/components/checkbox/checkbox.js +31 -87
  288. package/dist/collection/components/checkbox/checkbox.md.css +102 -162
  289. package/dist/collection/components/chip/chip.ios.css +14 -67
  290. package/dist/collection/components/chip/chip.js +12 -112
  291. package/dist/collection/components/chip/chip.md.css +14 -67
  292. package/dist/collection/components/col/col.css +4 -192
  293. package/dist/collection/components/col/col.js +109 -258
  294. package/dist/collection/components/content/content.css +2 -8
  295. package/dist/collection/components/content/content.js +20 -25
  296. package/dist/collection/components/datetime/datetime.ios.css +86 -242
  297. package/dist/collection/components/datetime/datetime.js +60 -134
  298. package/dist/collection/components/datetime/datetime.md.css +86 -242
  299. package/dist/collection/components/datetime/utils/data.js +5 -5
  300. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  301. package/dist/collection/components/datetime-button/datetime-button.js +12 -15
  302. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  303. package/dist/collection/components/fab/fab.css +1 -25
  304. package/dist/collection/components/fab/fab.js +11 -15
  305. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  306. package/dist/collection/components/fab-button/fab-button.js +40 -54
  307. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  308. package/dist/collection/components/fab-list/fab-list.css +0 -12
  309. package/dist/collection/components/fab-list/fab-list.js +7 -11
  310. package/dist/collection/components/footer/footer.ios.css +2 -14
  311. package/dist/collection/components/footer/footer.js +19 -24
  312. package/dist/collection/components/footer/footer.md.css +0 -12
  313. package/dist/collection/components/grid/grid.css +0 -12
  314. package/dist/collection/components/grid/grid.js +6 -10
  315. package/dist/collection/components/header/header.ios.css +37 -26
  316. package/dist/collection/components/header/header.js +21 -52
  317. package/dist/collection/components/header/header.md.css +8 -23
  318. package/dist/collection/components/img/img.js +6 -12
  319. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -103
  320. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  321. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +14 -20
  322. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  323. package/dist/collection/components/input/input.ios.css +140 -223
  324. package/dist/collection/components/input/input.js +90 -200
  325. package/dist/collection/components/input/input.md.css +212 -193
  326. package/dist/collection/components/input-otp/input-otp.ios.css +60 -106
  327. package/dist/collection/components/input-otp/input-otp.js +22 -24
  328. package/dist/collection/components/input-otp/input-otp.md.css +60 -106
  329. package/dist/collection/components/input-password-toggle/input-password-toggle.js +19 -55
  330. package/dist/collection/components/item/item.ios.css +69 -109
  331. package/dist/collection/components/item/item.js +38 -61
  332. package/dist/collection/components/item/item.md.css +68 -120
  333. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  334. package/dist/collection/components/item-divider/item-divider.js +11 -14
  335. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  336. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  337. package/dist/collection/components/item-group/item-group.js +7 -13
  338. package/dist/collection/components/item-group/item-group.md.css +0 -12
  339. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  340. package/dist/collection/components/item-option/item-option.js +22 -86
  341. package/dist/collection/components/item-option/item-option.md.css +29 -136
  342. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  343. package/dist/collection/components/item-options/item-options.js +8 -14
  344. package/dist/collection/components/item-options/item-options.md.css +34 -77
  345. package/dist/collection/components/item-sliding/item-sliding.css +0 -6
  346. package/dist/collection/components/item-sliding/item-sliding.js +5 -9
  347. package/dist/collection/components/label/label.ios.css +0 -18
  348. package/dist/collection/components/label/label.js +12 -15
  349. package/dist/collection/components/label/label.md.css +0 -18
  350. package/dist/collection/components/list/list.ios.css +14 -54
  351. package/dist/collection/components/list/list.js +12 -51
  352. package/dist/collection/components/list/list.md.css +16 -56
  353. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  354. package/dist/collection/components/list-header/list-header.js +12 -15
  355. package/dist/collection/components/list-header/list-header.md.css +38 -82
  356. package/dist/collection/components/loading/loading.ios.css +1 -13
  357. package/dist/collection/components/loading/loading.js +33 -32
  358. package/dist/collection/components/loading/loading.md.css +1 -13
  359. package/dist/collection/components/menu/menu.ios.css +3 -15
  360. package/dist/collection/components/menu/menu.js +17 -22
  361. package/dist/collection/components/menu/menu.md.css +3 -15
  362. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  363. package/dist/collection/components/menu-button/menu-button.js +17 -33
  364. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  365. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -11
  366. package/dist/collection/components/modal/animations/sheet.js +2 -8
  367. package/dist/collection/components/modal/gestures/sheet.js +6 -10
  368. package/dist/collection/components/modal/modal.ios.css +70 -174
  369. package/dist/collection/components/modal/modal.js +42 -72
  370. package/dist/collection/components/modal/modal.md.css +70 -174
  371. package/dist/collection/components/nav/nav.css +1 -7
  372. package/dist/collection/components/nav/nav.js +13 -16
  373. package/dist/collection/components/nav-link/nav-link.js +6 -8
  374. package/dist/collection/components/note/note.ios.css +0 -12
  375. package/dist/collection/components/note/note.js +10 -13
  376. package/dist/collection/components/note/note.md.css +0 -12
  377. package/dist/collection/components/picker/picker.ios.css +3 -15
  378. package/dist/collection/components/picker/picker.js +5 -8
  379. package/dist/collection/components/picker/picker.md.css +3 -15
  380. package/dist/collection/components/picker-column/picker-column.css +2 -9
  381. package/dist/collection/components/picker-column/picker-column.js +12 -13
  382. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  383. package/dist/collection/components/picker-column-option/picker-column-option.js +11 -17
  384. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  385. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  386. package/dist/collection/components/picker-legacy/picker.js +25 -20
  387. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  388. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  389. package/dist/collection/components/picker-legacy-column/picker-column.js +5 -4
  390. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  391. package/dist/collection/components/popover/popover.ios.css +1 -13
  392. package/dist/collection/components/popover/popover.js +47 -45
  393. package/dist/collection/components/popover/popover.md.css +1 -13
  394. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  395. package/dist/collection/components/progress-bar/progress-bar.js +13 -49
  396. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  397. package/dist/collection/components/radio/radio.ios.css +91 -134
  398. package/dist/collection/components/radio/radio.js +20 -23
  399. package/dist/collection/components/radio/radio.md.css +91 -134
  400. package/dist/collection/components/radio-group/radio-group.ios.css +18 -42
  401. package/dist/collection/components/radio-group/radio-group.js +15 -23
  402. package/dist/collection/components/radio-group/radio-group.md.css +18 -42
  403. package/dist/collection/components/range/range.ios.css +85 -128
  404. package/dist/collection/components/range/range.js +29 -31
  405. package/dist/collection/components/range/range.md.css +85 -128
  406. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  407. package/dist/collection/components/refresher/refresher.js +14 -17
  408. package/dist/collection/components/refresher/refresher.md.css +2 -15
  409. package/dist/collection/components/refresher-content/refresher-content.js +15 -36
  410. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  411. package/dist/collection/components/reorder/reorder.js +6 -33
  412. package/dist/collection/components/reorder/reorder.md.css +0 -6
  413. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  414. package/dist/collection/components/reorder-group/reorder-group.js +5 -9
  415. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  416. package/dist/collection/components/ripple-effect/ripple-effect.js +7 -15
  417. package/dist/collection/components/route/route.js +6 -7
  418. package/dist/collection/components/route-redirect/route-redirect.js +4 -4
  419. package/dist/collection/components/router/router.js +2 -6
  420. package/dist/collection/components/router-link/router-link.css +2 -8
  421. package/dist/collection/components/router-link/router-link.js +15 -18
  422. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  423. package/dist/collection/components/router-outlet/router-outlet.js +8 -8
  424. package/dist/collection/components/row/row.css +0 -16
  425. package/dist/collection/components/row/row.js +2 -9
  426. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  427. package/dist/collection/components/searchbar/searchbar.js +63 -210
  428. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  429. package/dist/collection/components/segment/segment.ios.css +2 -45
  430. package/dist/collection/components/segment/segment.js +16 -19
  431. package/dist/collection/components/segment/segment.md.css +2 -45
  432. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  433. package/dist/collection/components/segment-button/segment-button.js +14 -17
  434. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  435. package/dist/collection/components/segment-content/segment-content.js +1 -1
  436. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  437. package/dist/collection/components/segment-view/segment-view.js +5 -7
  438. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  439. package/dist/collection/components/select/select.ios.css +176 -315
  440. package/dist/collection/components/select/select.js +86 -189
  441. package/dist/collection/components/select/select.md.css +178 -331
  442. package/dist/collection/components/select-modal/select-modal.ios.css +0 -18
  443. package/dist/collection/components/select-modal/select-modal.js +8 -7
  444. package/dist/collection/components/select-modal/select-modal.md.css +3 -7
  445. package/dist/collection/components/select-option/select-option.js +5 -12
  446. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  447. package/dist/collection/components/select-popover/select-popover.js +13 -20
  448. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  449. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  450. package/dist/collection/components/skeleton-text/skeleton-text.js +6 -10
  451. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -77
  452. package/dist/collection/components/spinner/spinner.js +13 -54
  453. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  454. package/dist/collection/components/split-pane/split-pane.js +12 -18
  455. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  456. package/dist/collection/components/tab/tab.js +8 -11
  457. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  458. package/dist/collection/components/tab-bar/tab-bar.js +16 -83
  459. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  460. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  461. package/dist/collection/components/tab-button/tab-button.js +22 -58
  462. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  463. package/dist/collection/components/tabs/tabs.css +1 -7
  464. package/dist/collection/components/tabs/tabs.js +2 -5
  465. package/dist/collection/components/text/text.css +0 -6
  466. package/dist/collection/components/text/text.js +8 -9
  467. package/dist/collection/components/textarea/textarea.ios.css +139 -275
  468. package/dist/collection/components/textarea/textarea.js +59 -118
  469. package/dist/collection/components/textarea/textarea.md.css +140 -288
  470. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  471. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  472. package/dist/collection/components/title/title.ios.css +4 -32
  473. package/dist/collection/components/title/title.js +11 -17
  474. package/dist/collection/components/title/title.md.css +4 -32
  475. package/dist/collection/components/toast/animations/utils.js +1 -1
  476. package/dist/collection/components/toast/toast.ios.css +45 -84
  477. package/dist/collection/components/toast/toast.js +43 -101
  478. package/dist/collection/components/toast/toast.md.css +45 -84
  479. package/dist/collection/components/toggle/toggle.ios.css +131 -247
  480. package/dist/collection/components/toggle/toggle.js +35 -90
  481. package/dist/collection/components/toggle/toggle.md.css +131 -244
  482. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  483. package/dist/collection/components/toolbar/toolbar.js +15 -159
  484. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  485. package/dist/collection/global/ionic-global.js +13 -228
  486. package/dist/collection/utils/focus-visible.js +0 -22
  487. package/dist/collection/utils/framework-delegate.js +1 -3
  488. package/dist/collection/utils/helpers.js +2 -42
  489. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  490. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  491. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  492. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  493. package/dist/collection/utils/overlays.js +1 -2
  494. package/dist/collection/utils/test/playwright/generator.js +23 -48
  495. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  496. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -24
  497. package/dist/collection/utils/transition/index.js +70 -3
  498. package/dist/collection/utils/transition/ios.transition.js +0 -1
  499. package/dist/docs.json +426 -8169
  500. package/dist/esm/{animation-DGDOQ6ES.js → animation-BvhAtgca.js} +2 -2
  501. package/dist/esm/{app-globals-BNKecRVD.js → app-globals-CvLYUxE9.js} +1 -1
  502. package/dist/esm/{button-active-C_l8DIlb.js → button-active-DBUPuLNw.js} +2 -2
  503. package/dist/esm/{capacitor-CiBLEyrT.js → capacitor-CFERIeaU.js} +1 -1
  504. package/dist/esm/{config-mCdtaoPe.js → config-Dx_6wPIJ.js} +1 -1
  505. package/dist/esm/{data-DFCY8gnk.js → data-CKHMWxfe.js} +12 -15
  506. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  507. package/dist/esm/{framework-delegate-D2mUP0WI.js → framework-delegate-BLEBgH06.js} +2 -4
  508. package/dist/esm/{haptic-7RTk38ue.js → haptic-DzAMWJuk.js} +1 -1
  509. package/dist/esm/hardware-back-button-Dhbd-23H.js +115 -0
  510. package/dist/esm/{helpers-Bsml3FcE.js → helpers-8KSQQGQy.js} +3 -42
  511. package/dist/esm/{index-C8IsBmNU.js → index-4DxY6_gG.js} +47 -51
  512. package/dist/esm/{index-BpFi2B8W.js → index-7UbSlv7N.js} +2 -2
  513. package/dist/esm/{index-Djo-Eq70.js → index-BQc4arca.js} +74 -7
  514. package/dist/esm/{index-rXea6WR_.js → index-C6WeRr09.js} +3 -4
  515. package/dist/esm/{index-DWD4QoaP.js → index-CXSTcaAW.js} +11 -11
  516. package/dist/esm/{index-COG0_eom.js → index-DV3sJJW8.js} +1 -1
  517. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  518. package/dist/esm/index.js +13 -12
  519. package/dist/esm/{input-shims-Bz3HiPwU.js → input-shims-C4KDnhxb.js} +6 -7
  520. package/dist/esm/{input.utils-BQAE1QTA.js → input.utils-be4gBvVY.js} +3 -3
  521. package/dist/esm/ion-accordion_2.entry.js +28 -57
  522. package/dist/esm/ion-action-sheet.entry.js +19 -22
  523. package/dist/esm/ion-alert.entry.js +22 -24
  524. package/dist/esm/ion-app_8.entry.js +145 -244
  525. package/dist/esm/ion-avatar_3.entry.js +13 -125
  526. package/dist/esm/ion-back-button.entry.js +21 -30
  527. package/dist/esm/ion-backdrop.entry.js +7 -10
  528. package/dist/esm/ion-breadcrumb_2.entry.js +17 -53
  529. package/dist/esm/ion-button_2.entry.js +12 -44
  530. package/dist/esm/ion-card_5.entry.js +30 -54
  531. package/dist/esm/ion-checkbox.entry.js +14 -32
  532. package/dist/esm/ion-chip.entry.js +8 -49
  533. package/dist/esm/ion-col_3.entry.js +57 -54
  534. package/dist/esm/ion-datetime-button.entry.js +8 -12
  535. package/dist/esm/ion-datetime_3.entry.js +40 -115
  536. package/dist/esm/ion-fab_3.entry.js +27 -43
  537. package/dist/esm/ion-img.entry.js +4 -8
  538. package/dist/esm/ion-infinite-scroll_2.entry.js +16 -91
  539. package/dist/esm/ion-input-otp.entry.js +8 -12
  540. package/dist/esm/ion-input-password-toggle.entry.js +14 -52
  541. package/dist/esm/ion-input.entry.js +32 -122
  542. package/dist/esm/ion-item-option_3.entry.js +20 -49
  543. package/dist/esm/ion-item_8.entry.js +47 -107
  544. package/dist/esm/ion-loading.entry.js +17 -19
  545. package/dist/esm/ion-menu_3.entry.js +28 -46
  546. package/dist/esm/ion-modal.entry.js +30 -57
  547. package/dist/esm/ion-nav_2.entry.js +11 -14
  548. package/dist/esm/ion-picker-column-option.entry.js +7 -11
  549. package/dist/esm/ion-picker-column.entry.js +12 -12
  550. package/dist/esm/ion-picker.entry.js +6 -10
  551. package/dist/esm/ion-popover.entry.js +17 -19
  552. package/dist/esm/ion-progress-bar.entry.js +8 -26
  553. package/dist/esm/ion-radio_2.entry.js +14 -23
  554. package/dist/esm/ion-range.entry.js +11 -15
  555. package/dist/esm/ion-refresher_2.entry.js +21 -39
  556. package/dist/esm/ion-reorder_2.entry.js +14 -38
  557. package/dist/esm/ion-ripple-effect.entry.js +7 -15
  558. package/dist/esm/ion-route_4.entry.js +8 -9
  559. package/dist/esm/ion-searchbar.entry.js +24 -137
  560. package/dist/esm/ion-segment-content.entry.js +2 -2
  561. package/dist/esm/ion-segment-view.entry.js +3 -6
  562. package/dist/esm/ion-segment_2.entry.js +15 -22
  563. package/dist/esm/ion-select-modal.entry.js +10 -9
  564. package/dist/esm/ion-select_3.entry.js +40 -131
  565. package/dist/esm/ion-spinner.entry.js +7 -29
  566. package/dist/esm/ion-split-pane.entry.js +9 -12
  567. package/dist/esm/ion-tab-bar_2.entry.js +21 -66
  568. package/dist/esm/ion-tab_2.entry.js +7 -8
  569. package/dist/esm/ion-text.entry.js +6 -6
  570. package/dist/esm/ion-textarea.entry.js +16 -56
  571. package/dist/esm/ion-toast.entry.js +19 -42
  572. package/dist/esm/ion-toggle.entry.js +23 -80
  573. package/dist/esm/ionic-global-CTSyufhF.js +146 -0
  574. package/dist/esm/ionic.js +6 -6
  575. package/dist/esm/{ios.transition-cQ5XYp4s.js → ios.transition-eOa-6o5F.js} +5 -7
  576. package/dist/esm/{keyboard-WCK1pWfR.js → keyboard-CUw4ekVy.js} +1 -1
  577. package/dist/esm/{keyboard-controller-Bc4alOiF.js → keyboard-controller-BaaVITYt.js} +3 -5
  578. package/dist/esm/{keyboard-DuUgrXrK.js → keyboard-ywgs5efA.js} +3 -4
  579. package/dist/esm/loader.js +5 -5
  580. package/dist/esm/{md.transition-CYFYc3-3.js → md.transition-B99keElo.js} +5 -6
  581. package/dist/esm/{notch-controller-DO30Bsls.js → notch-controller-lb417-kU.js} +2 -2
  582. package/dist/esm/{overlays-Da_6xSKI.js → overlays-BYcYBCrx.js} +7 -6
  583. package/dist/esm/{status-tap-DXVlluKS.js → status-tap-pATNXEtr.js} +3 -4
  584. package/dist/esm/{swipe-back-DNhAt9fY.js → swipe-back-B2YfOHRM.js} +2 -3
  585. package/dist/html.html-data.json +428 -2522
  586. package/dist/ionic/index.esm.js +1 -1
  587. package/dist/ionic/ionic.esm.js +1 -1
  588. package/dist/ionic/p-0793aea6.entry.js +4 -0
  589. package/dist/ionic/p-0831d492.entry.js +4 -0
  590. package/dist/ionic/p-0f396661.entry.js +4 -0
  591. package/dist/ionic/p-117e7a3f.entry.js +4 -0
  592. package/dist/ionic/p-1191a2d9.entry.js +4 -0
  593. package/dist/ionic/p-148bdf18.entry.js +4 -0
  594. package/dist/ionic/p-16116947.entry.js +4 -0
  595. package/dist/ionic/p-19f80390.entry.js +4 -0
  596. package/dist/ionic/p-1GR6N4h5.js +4 -0
  597. package/dist/ionic/p-1a91f317.entry.js +4 -0
  598. package/dist/ionic/p-1bbd0a23.entry.js +4 -0
  599. package/dist/ionic/p-1f68cb59.entry.js +4 -0
  600. package/dist/ionic/p-24159ff7.entry.js +4 -0
  601. package/dist/ionic/p-25e5e5cc.entry.js +4 -0
  602. package/dist/ionic/p-2cb0f39f.entry.js +4 -0
  603. package/dist/ionic/p-3392f558.entry.js +4 -0
  604. package/dist/ionic/p-349fc921.entry.js +4 -0
  605. package/dist/ionic/p-3624b640.entry.js +4 -0
  606. package/dist/ionic/p-36a54836.entry.js +4 -0
  607. package/dist/ionic/p-39ed3212.entry.js +4 -0
  608. package/dist/ionic/p-44e3b33a.entry.js +4 -0
  609. package/dist/ionic/p-4DxY6_gG.js +5 -0
  610. package/dist/ionic/p-528af4e6.entry.js +4 -0
  611. package/dist/ionic/p-54dec9b1.entry.js +4 -0
  612. package/dist/ionic/p-568efea2.entry.js +4 -0
  613. package/dist/ionic/p-5bf5bde8.entry.js +4 -0
  614. package/dist/ionic/p-5c976c00.entry.js +4 -0
  615. package/dist/ionic/p-6383afc2.entry.js +4 -0
  616. package/dist/ionic/p-63852736.entry.js +4 -0
  617. package/dist/ionic/p-746cd400.entry.js +4 -0
  618. package/dist/ionic/p-7a53f04c.entry.js +4 -0
  619. package/dist/ionic/p-7b12d853.entry.js +4 -0
  620. package/dist/ionic/p-7da05504.entry.js +4 -0
  621. package/dist/ionic/p-8888efe4.entry.js +4 -0
  622. package/dist/ionic/p-8cdb4ff5.entry.js +4 -0
  623. package/dist/ionic/p-90f4cc71.entry.js +4 -0
  624. package/dist/ionic/p-9ddf2620.entry.js +4 -0
  625. package/dist/ionic/p-9eeaBrnk.js +4 -0
  626. package/dist/ionic/{p-BbT4IAlw.js → p-B1xocg0A.js} +1 -1
  627. package/dist/ionic/p-B5MDSrGg.js +4 -0
  628. package/dist/ionic/p-BHGXdud8.js +4 -0
  629. package/dist/ionic/{p-B3uz75uZ.js → p-BhNEp2QP.js} +1 -1
  630. package/dist/ionic/p-BmVRXR1y.js +4 -0
  631. package/dist/ionic/p-Br3vSlYh.js +4 -0
  632. package/dist/ionic/p-C-Cct-6D.js +4 -0
  633. package/dist/ionic/p-C4I6B3uV.js +4 -0
  634. package/dist/ionic/p-C87oPMMF.js +4 -0
  635. package/dist/ionic/p-C8d2ebIg.js +4 -0
  636. package/dist/ionic/p-CIGNaXM1.js +4 -0
  637. package/dist/ionic/{p-DxFexTIr.js → p-CKvCXMs9.js} +1 -1
  638. package/dist/ionic/{p-DBaOCAfc.js → p-CWvl4RPO.js} +1 -1
  639. package/dist/ionic/p-Cnh7O81W.js +4 -0
  640. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  641. package/dist/ionic/p-CvaZMP6T.js +4 -0
  642. package/dist/ionic/{p-Q7JLYEUZ.js → p-D13Eaw-8.js} +1 -1
  643. package/dist/ionic/p-D2fQU_qK.js +4 -0
  644. package/dist/ionic/p-DA3JEZwK.js +4 -0
  645. package/dist/ionic/p-DAfH9Iif.js +4 -0
  646. package/dist/ionic/p-DJKvq7vb.js +4 -0
  647. package/dist/ionic/{p-COG0_eom.js → p-DV3sJJW8.js} +1 -1
  648. package/dist/ionic/p-DW5tZAde.js +4 -0
  649. package/dist/ionic/{p-HpOiAvpC.js → p-DiZPU8BH.js} +1 -1
  650. package/dist/ionic/p-Dm_oBkW1.js +4 -0
  651. package/dist/ionic/{p-DbQ5QkTP.js → p-EnaLTYYj.js} +1 -1
  652. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  653. package/dist/ionic/p-a00ad0f2.entry.js +4 -0
  654. package/dist/ionic/p-a81be128.entry.js +4 -0
  655. package/dist/ionic/p-afeb9df6.entry.js +4 -0
  656. package/dist/ionic/p-b292804d.entry.js +4 -0
  657. package/dist/ionic/p-bc9f9032.entry.js +4 -0
  658. package/dist/ionic/p-bf81a468.entry.js +4 -0
  659. package/dist/ionic/p-c6d35cdd.entry.js +4 -0
  660. package/dist/ionic/p-cde6d39b.entry.js +4 -0
  661. package/dist/ionic/p-d04d66fc.entry.js +4 -0
  662. package/dist/ionic/p-d3df6032.entry.js +4 -0
  663. package/dist/ionic/p-dbba38cf.entry.js +4 -0
  664. package/dist/ionic/p-e6c3214c.entry.js +4 -0
  665. package/dist/ionic/p-e6c465ff.entry.js +4 -0
  666. package/dist/ionic/p-ec76fec4.entry.js +4 -0
  667. package/dist/ionic/p-ee2e35a6.entry.js +4 -0
  668. package/dist/ionic/p-f7db572a.entry.js +4 -0
  669. package/dist/ionic/p-f9eb54ee.entry.js +4 -0
  670. package/dist/types/components/accordion/accordion.d.ts +3 -5
  671. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  672. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  673. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  674. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  675. package/dist/types/components/alert/alert.d.ts +2 -3
  676. package/dist/types/components/app/app.d.ts +2 -4
  677. package/dist/types/components/avatar/avatar.d.ts +0 -32
  678. package/dist/types/components/back-button/back-button.d.ts +1 -2
  679. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  680. package/dist/types/components/badge/badge.d.ts +1 -34
  681. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  682. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  683. package/dist/types/components/button/button.d.ts +6 -19
  684. package/dist/types/components/buttons/buttons.d.ts +1 -5
  685. package/dist/types/components/card/card.d.ts +1 -8
  686. package/dist/types/components/card-content/card-content.d.ts +1 -2
  687. package/dist/types/components/card-header/card-header.d.ts +2 -3
  688. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  689. package/dist/types/components/card-title/card-title.d.ts +1 -2
  690. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  691. package/dist/types/components/chip/chip.d.ts +1 -26
  692. package/dist/types/components/col/col.d.ts +5 -52
  693. package/dist/types/components/content/content.d.ts +0 -3
  694. package/dist/types/components/datetime/datetime.d.ts +1 -26
  695. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  696. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  697. package/dist/types/components/fab/fab.d.ts +0 -4
  698. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  699. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  700. package/dist/types/components/footer/footer.d.ts +3 -4
  701. package/dist/types/components/grid/grid.d.ts +0 -4
  702. package/dist/types/components/header/header.d.ts +3 -9
  703. package/dist/types/components/img/img.d.ts +0 -3
  704. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  705. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  706. package/dist/types/components/input/input.d.ts +5 -31
  707. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  708. package/dist/types/components/item/item.d.ts +4 -11
  709. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  710. package/dist/types/components/item-group/item-group.d.ts +0 -4
  711. package/dist/types/components/item-option/item-option.d.ts +1 -18
  712. package/dist/types/components/item-options/item-options.d.ts +0 -4
  713. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  714. package/dist/types/components/label/label.d.ts +1 -2
  715. package/dist/types/components/list/list.d.ts +1 -15
  716. package/dist/types/components/list-header/list-header.d.ts +1 -2
  717. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  718. package/dist/types/components/loading/loading.d.ts +2 -3
  719. package/dist/types/components/menu/menu.d.ts +0 -3
  720. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  721. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  722. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  723. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  724. package/dist/types/components/modal/modal.d.ts +1 -11
  725. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  726. package/dist/types/components/nav/nav.d.ts +1 -5
  727. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  728. package/dist/types/components/note/note.d.ts +1 -2
  729. package/dist/types/components/picker/picker.d.ts +1 -2
  730. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  731. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  732. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  733. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  734. package/dist/types/components/popover/popover.d.ts +5 -6
  735. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  736. package/dist/types/components/radio/radio.d.ts +1 -2
  737. package/dist/types/components/radio-group/radio-group.d.ts +0 -4
  738. package/dist/types/components/range/range.d.ts +1 -2
  739. package/dist/types/components/refresher/refresher.d.ts +1 -2
  740. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  741. package/dist/types/components/reorder/reorder.d.ts +0 -9
  742. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  743. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  744. package/dist/types/components/route/route.d.ts +0 -4
  745. package/dist/types/components/router/router.d.ts +0 -4
  746. package/dist/types/components/router-link/router-link.d.ts +0 -4
  747. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  748. package/dist/types/components/row/row.d.ts +0 -4
  749. package/dist/types/components/searchbar/searchbar.d.ts +9 -51
  750. package/dist/types/components/segment/segment.d.ts +1 -2
  751. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  752. package/dist/types/components/select/select.d.ts +13 -41
  753. package/dist/types/components/select-option/select-option.d.ts +0 -4
  754. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  755. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  756. package/dist/types/components/spinner/spinner.d.ts +0 -15
  757. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  758. package/dist/types/components/tab/tab.d.ts +0 -4
  759. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -22
  760. package/dist/types/components/tab-button/tab-button.d.ts +1 -11
  761. package/dist/types/components/tabs/tabs.d.ts +0 -3
  762. package/dist/types/components/text/text.d.ts +1 -2
  763. package/dist/types/components/textarea/textarea.d.ts +4 -17
  764. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  765. package/dist/types/components/title/title.d.ts +0 -4
  766. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  767. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  768. package/dist/types/components/toast/toast.d.ts +2 -19
  769. package/dist/types/components/toggle/toggle.d.ts +1 -15
  770. package/dist/types/components/toolbar/toolbar.d.ts +3 -20
  771. package/dist/types/components.d.ts +196 -1593
  772. package/dist/types/global/ionic-global.d.ts +2 -27
  773. package/dist/types/interface.d.ts +0 -3
  774. package/dist/types/stencil-public-runtime.d.ts +2 -39
  775. package/dist/types/utils/config.d.ts +2 -106
  776. package/dist/types/utils/focus-visible.d.ts +0 -13
  777. package/dist/types/utils/helpers.d.ts +0 -11
  778. package/dist/types/utils/overlays-interface.d.ts +1 -31
  779. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  780. package/dist/types/utils/transition/index.d.ts +9 -0
  781. package/hydrate/index.d.ts +0 -2
  782. package/hydrate/index.js +1115 -2957
  783. package/hydrate/index.mjs +1115 -2957
  784. package/package.json +5 -10
  785. package/components/caret-down.js +0 -6
  786. package/components/caret-left.js +0 -6
  787. package/components/caret-right.js +0 -6
  788. package/components/ion-divider.d.ts +0 -11
  789. package/components/ion-divider.js +0 -72
  790. package/components/list2.js +0 -6
  791. package/components/x.js +0 -6
  792. package/css/ionic/bundle.ionic.css +0 -1
  793. package/css/ionic/bundle.ionic.css.map +0 -1
  794. package/css/ionic/core.ionic.css +0 -1
  795. package/css/ionic/core.ionic.css.map +0 -1
  796. package/css/ionic/global.bundle.ionic.css +0 -1
  797. package/css/ionic/global.bundle.ionic.css.map +0 -1
  798. package/css/ionic/ionic-swiper.ionic.css +0 -1
  799. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  800. package/css/ionic/link.ionic.css +0 -1
  801. package/css/ionic/link.ionic.css.map +0 -1
  802. package/css/ionic/structure.ionic.css +0 -1
  803. package/css/ionic/structure.ionic.css.map +0 -1
  804. package/css/ionic/typography.ionic.css +0 -1
  805. package/css/ionic/typography.ionic.css.map +0 -1
  806. package/css/ionic/utils.bundle.ionic.css +0 -1
  807. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  808. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  809. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  810. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  811. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  812. package/dist/cjs/ionic-global-DuRUel5m.js +0 -491
  813. package/dist/cjs/list-a-7GSA6K.js +0 -8
  814. package/dist/cjs/x-BTF99yFH.js +0 -8
  815. package/dist/collection/components/accordion/accordion.ionic.css +0 -196
  816. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  817. package/dist/collection/components/avatar/avatar.ionic.css +0 -391
  818. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  819. package/dist/collection/components/badge/badge.ionic.css +0 -275
  820. package/dist/collection/components/button/button.ionic.css +0 -620
  821. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  822. package/dist/collection/components/card/card.ionic.css +0 -144
  823. package/dist/collection/components/card-content/card-content.ionic.css +0 -92
  824. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  825. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  826. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -539
  827. package/dist/collection/components/chip/chip.ionic.css +0 -228
  828. package/dist/collection/components/datetime/datetime.ionic.css +0 -697
  829. package/dist/collection/components/divider/divider.ionic.css +0 -148
  830. package/dist/collection/components/divider/divider.ios.css +0 -87
  831. package/dist/collection/components/divider/divider.js +0 -94
  832. package/dist/collection/components/divider/divider.md.css +0 -87
  833. package/dist/collection/components/header/header.ionic.css +0 -98
  834. package/dist/collection/components/input/input.ionic.css +0 -881
  835. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -369
  836. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  837. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  838. package/dist/collection/components/item/item.ionic.css +0 -499
  839. package/dist/collection/components/item-option/item-option.ionic.css +0 -278
  840. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  841. package/dist/collection/components/list/list.ionic.css +0 -212
  842. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  843. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  844. package/dist/collection/components/modal/modal.ionic.css +0 -241
  845. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  846. package/dist/collection/components/radio/radio.ionic.css +0 -422
  847. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -125
  848. package/dist/collection/components/range/range.ionic.css +0 -563
  849. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  850. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -626
  851. package/dist/collection/components/segment/segment.ionic.css +0 -115
  852. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -353
  853. package/dist/collection/components/select/select.ionic.css +0 -763
  854. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -123
  855. package/dist/collection/components/spinner/spinner.native.css +0 -198
  856. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -186
  857. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -336
  858. package/dist/collection/components/textarea/textarea.ionic.css +0 -881
  859. package/dist/collection/components/title/title.ionic.css +0 -127
  860. package/dist/collection/components/toast/toast.ionic.css +0 -394
  861. package/dist/collection/components/toggle/toggle.ionic.css +0 -509
  862. package/dist/collection/components/toolbar/test/image.svg +0 -1
  863. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -241
  864. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  865. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  866. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  867. package/dist/esm/ion-divider.entry.js +0 -49
  868. package/dist/esm/ionic-global-2R0iPB51.js +0 -480
  869. package/dist/esm/list-Dhi5xtNS.js +0 -6
  870. package/dist/esm/x-BDqjX7Z_.js +0 -6
  871. package/dist/ionic/p--8Ga2Cg0.js +0 -4
  872. package/dist/ionic/p-16c5a01c.entry.js +0 -4
  873. package/dist/ionic/p-1f981d06.entry.js +0 -4
  874. package/dist/ionic/p-22c02aea.entry.js +0 -4
  875. package/dist/ionic/p-23e4b68a.entry.js +0 -4
  876. package/dist/ionic/p-28571945.entry.js +0 -4
  877. package/dist/ionic/p-2bab0853.entry.js +0 -4
  878. package/dist/ionic/p-2e19a4dd.entry.js +0 -4
  879. package/dist/ionic/p-2e900f67.entry.js +0 -4
  880. package/dist/ionic/p-31f13e98.entry.js +0 -4
  881. package/dist/ionic/p-3622a9ea.entry.js +0 -4
  882. package/dist/ionic/p-3a6a92ab.entry.js +0 -4
  883. package/dist/ionic/p-3cb3d194.entry.js +0 -4
  884. package/dist/ionic/p-418e4330.entry.js +0 -4
  885. package/dist/ionic/p-4261dc5d.entry.js +0 -4
  886. package/dist/ionic/p-4e13d498.entry.js +0 -4
  887. package/dist/ionic/p-55e2352e.entry.js +0 -4
  888. package/dist/ionic/p-56a9319e.entry.js +0 -4
  889. package/dist/ionic/p-59a79bd9.entry.js +0 -4
  890. package/dist/ionic/p-59e6c978.entry.js +0 -4
  891. package/dist/ionic/p-642b022d.entry.js +0 -4
  892. package/dist/ionic/p-64385b66.entry.js +0 -4
  893. package/dist/ionic/p-66397fac.entry.js +0 -4
  894. package/dist/ionic/p-66d094b2.entry.js +0 -4
  895. package/dist/ionic/p-6fac73e6.entry.js +0 -4
  896. package/dist/ionic/p-7d450184.entry.js +0 -4
  897. package/dist/ionic/p-81770a5c.entry.js +0 -4
  898. package/dist/ionic/p-844bd58c.entry.js +0 -4
  899. package/dist/ionic/p-86b82096.entry.js +0 -4
  900. package/dist/ionic/p-87678140.entry.js +0 -4
  901. package/dist/ionic/p-88ef6829.entry.js +0 -4
  902. package/dist/ionic/p-89743bba.entry.js +0 -4
  903. package/dist/ionic/p-90320028.entry.js +0 -4
  904. package/dist/ionic/p-916685a9.entry.js +0 -4
  905. package/dist/ionic/p-91966afa.entry.js +0 -4
  906. package/dist/ionic/p-B-N4FEiY.js +0 -4
  907. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  908. package/dist/ionic/p-BRd1Ag6P.js +0 -4
  909. package/dist/ionic/p-BYSs-jZz.js +0 -4
  910. package/dist/ionic/p-BiTKUjko.js +0 -4
  911. package/dist/ionic/p-C8IsBmNU.js +0 -5
  912. package/dist/ionic/p-CK1xn1Nt.js +0 -4
  913. package/dist/ionic/p-CK4YXTyz.js +0 -4
  914. package/dist/ionic/p-CeO9Shc9.js +0 -4
  915. package/dist/ionic/p-Cm5sQeXL.js +0 -4
  916. package/dist/ionic/p-D1t981Ih.js +0 -4
  917. package/dist/ionic/p-DHCQ1qFC.js +0 -4
  918. package/dist/ionic/p-DPNSAVjP.js +0 -4
  919. package/dist/ionic/p-D_8SMvQ3.js +0 -4
  920. package/dist/ionic/p-DdaOdN_z.js +0 -4
  921. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  922. package/dist/ionic/p-Dq8ap6AD.js +0 -4
  923. package/dist/ionic/p-Dv5UHqHj.js +0 -4
  924. package/dist/ionic/p-DyaKZbAH.js +0 -4
  925. package/dist/ionic/p-W-2TssC9.js +0 -4
  926. package/dist/ionic/p-a1128f7f.entry.js +0 -4
  927. package/dist/ionic/p-a57c0cce.entry.js +0 -4
  928. package/dist/ionic/p-acb9905c.entry.js +0 -4
  929. package/dist/ionic/p-b2291ef0.entry.js +0 -4
  930. package/dist/ionic/p-bf461512.entry.js +0 -4
  931. package/dist/ionic/p-c289efa5.entry.js +0 -4
  932. package/dist/ionic/p-c2f738d2.entry.js +0 -4
  933. package/dist/ionic/p-c775e3c0.entry.js +0 -4
  934. package/dist/ionic/p-ce510c06.entry.js +0 -4
  935. package/dist/ionic/p-cea1ee31.entry.js +0 -4
  936. package/dist/ionic/p-d1c60c1c.entry.js +0 -4
  937. package/dist/ionic/p-db90b95a.entry.js +0 -4
  938. package/dist/ionic/p-dcfb2b1d.entry.js +0 -4
  939. package/dist/ionic/p-e2171c27.entry.js +0 -4
  940. package/dist/ionic/p-e28d6a81.entry.js +0 -4
  941. package/dist/ionic/p-ec02238a.entry.js +0 -4
  942. package/dist/ionic/p-ecc8aebb.entry.js +0 -4
  943. package/dist/ionic/p-f3de58bd.entry.js +0 -4
  944. package/dist/ionic/p-fIOYmaqA.js +0 -4
  945. package/dist/ionic/p-ff757a50.entry.js +0 -4
  946. package/dist/ionic/p-szCM2gDt.js +0 -4
  947. package/dist/ionic/p-vXpMhGrs.js +0 -4
  948. package/dist/ionic/p-vpXGWZiy.js +0 -4
  949. package/dist/types/components/divider/divider.d.ts +0 -20
  950. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -123,11 +123,22 @@ const iosTransitionAnimation = () => import('./ios.transition.js');
123
123
  const mdTransitionAnimation = () => import('./md.transition.js');
124
124
  const focusController = createFocusController();
125
125
  // TODO(FW-2832): types
126
+ /**
127
+ * Executes the main page transition.
128
+ * It also manages the lifecycle of header visibility (if any)
129
+ * to prevent visual flickering in iOS. The flickering only
130
+ * occurs for a condensed header that is placed above the content.
131
+ *
132
+ * @param opts Options for the transition.
133
+ * @returns A promise that resolves when the transition is complete.
134
+ */
126
135
  const transition = (opts) => {
127
136
  return new Promise((resolve, reject) => {
128
137
  writeTask(() => {
129
- beforeTransition(opts);
130
- runTransition(opts).then((result) => {
138
+ const transitioningInactiveHeader = getIosIonHeader(opts);
139
+ beforeTransition(opts, transitioningInactiveHeader);
140
+ runTransition(opts)
141
+ .then((result) => {
131
142
  if (result.animation) {
132
143
  result.animation.destroy();
133
144
  }
@@ -136,15 +147,21 @@ const transition = (opts) => {
136
147
  }, (error) => {
137
148
  afterTransition(opts);
138
149
  reject(error);
150
+ })
151
+ .finally(() => {
152
+ // Ensure that the header is restored to its original state.
153
+ setHeaderTransitionClass(transitioningInactiveHeader, false);
139
154
  });
140
155
  });
141
156
  });
142
157
  };
143
- const beforeTransition = (opts) => {
158
+ const beforeTransition = (opts, transitioningInactiveHeader) => {
144
159
  const enteringEl = opts.enteringEl;
145
160
  const leavingEl = opts.leavingEl;
146
161
  focusController.saveViewFocus(leavingEl);
147
162
  setZIndex(enteringEl, leavingEl, opts.direction);
163
+ // Prevent flickering of the header by adding a class.
164
+ setHeaderTransitionClass(transitioningInactiveHeader, true);
148
165
  if (opts.showGoBack) {
149
166
  enteringEl.classList.add('can-go-back');
150
167
  }
@@ -333,6 +350,35 @@ const setZIndex = (enteringEl, leavingEl, direction) => {
333
350
  leavingEl.style.zIndex = '100';
334
351
  }
335
352
  };
353
+ /**
354
+ * Add a class to ensure that the inactive header (if any)
355
+ * does not flicker during the transition. By adding the
356
+ * transitioning class, we ensure that the header has
357
+ * the necessary styles to prevent the following flickers:
358
+ * 1. When entering a page with a condensed header, the
359
+ * inactive header should never be visible. However,
360
+ * it briefly renders the background color while
361
+ * the transition is occurring.
362
+ * 2. When leaving a page with a condensed header, the
363
+ * inactive header has an opacity of 0 and the pages
364
+ * have a z-index which causes the entering page to
365
+ * briefly show it's content underneath the leaving page.
366
+ *
367
+ * @param header The header element to modify.
368
+ * @param isTransitioning Whether the transition is occurring.
369
+ */
370
+ const setHeaderTransitionClass = (header, isTransitioning) => {
371
+ if (!header) {
372
+ return;
373
+ }
374
+ const transitionClass = 'header-transitioning';
375
+ if (isTransitioning) {
376
+ header.classList.add(transitionClass);
377
+ }
378
+ else {
379
+ header.classList.remove(transitionClass);
380
+ }
381
+ };
336
382
  const getIonPageElement = (element) => {
337
383
  if (element.classList.contains('ion-page')) {
338
384
  return element;
@@ -344,5 +390,26 @@ const getIonPageElement = (element) => {
344
390
  // idk, return the original element so at least something animates and we don't have a null pointer
345
391
  return element;
346
392
  };
393
+ /**
394
+ * Retrieves the ion-header element from a page based on the
395
+ * direction of the transition.
396
+ *
397
+ * @param opts Options for the transition.
398
+ * @returns The ion-header element or null if not found or not in 'ios' mode.
399
+ */
400
+ const getIosIonHeader = (opts) => {
401
+ const enteringEl = opts.enteringEl;
402
+ const leavingEl = opts.leavingEl;
403
+ const direction = opts.direction;
404
+ const mode = opts.mode;
405
+ if (mode !== 'ios') {
406
+ return null;
407
+ }
408
+ const element = direction === 'back' ? leavingEl : enteringEl;
409
+ if (!element) {
410
+ return null;
411
+ }
412
+ return element.querySelector('ion-header');
413
+ };
347
414
 
348
415
  export { LIFECYCLE_WILL_ENTER as L, LIFECYCLE_DID_ENTER as a, LIFECYCLE_WILL_LEAVE as b, LIFECYCLE_DID_LEAVE as c, LIFECYCLE_WILL_UNLOAD as d, deepReady as e, getIonPageElement as g, lifecycle as l, setPageHidden as s, transition as t, waitForMount as w };
@@ -1,9 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as getIonMode, d as doc, M as MENU_BACK_BUTTON_PRIORITY } from './ionic-global.js';
4
+ import { d as doc } from './index9.js';
5
+ import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button.js';
5
6
  import { p as printIonWarning } from './index4.js';
6
7
  import { c as componentOnReady } from './helpers.js';
8
+ import { b as getIonMode } from './ionic-global.js';
7
9
  import { c as createAnimation } from './animation.js';
8
10
 
9
11
  /**
@@ -46,10 +48,10 @@ const menuOverlayAnimation = (menu) => {
46
48
  }
47
49
  menuAnimation.addElement(menu.menuInnerEl).fromTo('transform', `translateX(${closedX})`, `translateX(${openedX})`);
48
50
  const mode = getIonMode(menu);
49
- const isIOS = mode === 'ios';
50
- const opacity = isIOS ? 0.2 : 0.25;
51
+ const isIos = mode === 'ios';
52
+ const opacity = isIos ? 0.2 : 0.25;
51
53
  backdropAnimation.addElement(menu.backdropEl).fromTo('opacity', 0.01, opacity);
52
- return baseAnimation(isIOS).addAnimation([menuAnimation, backdropAnimation]);
54
+ return baseAnimation(isIos).addAnimation([menuAnimation, backdropAnimation]);
53
55
  };
54
56
 
55
57
  /**
@@ -62,7 +64,6 @@ const menuPushAnimation = (menu) => {
62
64
  let menuClosedX;
63
65
  const mode = getIonMode(menu);
64
66
  const width = menu.width;
65
- const isIOS = mode === 'ios';
66
67
  if (menu.isEndSide) {
67
68
  contentOpenedX = -width + 'px';
68
69
  menuClosedX = width + 'px';
@@ -78,7 +79,7 @@ const menuPushAnimation = (menu) => {
78
79
  .addElement(menu.contentEl)
79
80
  .fromTo('transform', 'translateX(0px)', `translateX(${contentOpenedX})`);
80
81
  const backdropAnimation = createAnimation().addElement(menu.backdropEl).fromTo('opacity', 0.01, 0.32);
81
- return baseAnimation(isIOS).addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
82
+ return baseAnimation(mode === 'ios').addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
82
83
  };
83
84
 
84
85
  /**
@@ -88,12 +89,11 @@ const menuPushAnimation = (menu) => {
88
89
  */
89
90
  const menuRevealAnimation = (menu) => {
90
91
  const mode = getIonMode(menu);
91
- const isIOS = mode === 'ios';
92
92
  const openedX = menu.width * (menu.isEndSide ? -1 : 1) + 'px';
93
93
  const contentOpen = createAnimation()
94
94
  .addElement(menu.contentEl) // REVIEW
95
95
  .fromTo('transform', 'translateX(0px)', `translateX(${openedX})`);
96
- return baseAnimation(isIOS).addAnimation(contentOpen);
96
+ return baseAnimation(mode === 'ios').addAnimation(contentOpen);
97
97
  };
98
98
 
99
99
  const createMenuController = () => {
@@ -29,4 +29,4 @@ const reorderTwoSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2
29
29
  const searchOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M221.09 64a157.09 157.09 0 1 0 157.09 157.09A157.1 157.1 0 0 0 221.09 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M338.29 338.29 448 448' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
30
30
  const searchSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M464 428 339.92 303.9a160.48 160.48 0 0 0 30.72-94.58C370.64 120.37 298.27 48 209.32 48S48 120.37 48 209.32s72.37 161.32 161.32 161.32a160.48 160.48 0 0 0 94.58-30.72L428 464ZM209.32 319.69a110.38 110.38 0 1 1 110.37-110.37 110.5 110.5 0 0 1-110.37 110.37'/></svg>";
31
31
 
32
- export { arrowBackSharp as a, chevronBack as b, chevronDown as c, chevronForwardOutline as d, ellipsisHorizontal as e, chevronForward as f, caretDownSharp as g, caretUpSharp as h, close as i, closeSharp as j, closeCircle as k, eyeOff as l, eye as m, menuSharp as n, menuOutline as o, arrowDown as p, caretBackSharp as q, reorderTwoSharp as r, reorderThreeOutline as s, searchSharp as t, searchOutline as u, chevronExpand as v, checkmarkOutline as w, removeOutline as x, ellipseOutline as y };
32
+ export { chevronBack as a, arrowBackSharp as b, chevronDown as c, chevronForwardOutline as d, ellipsisHorizontal as e, caretUpSharp as f, chevronForward as g, caretDownSharp as h, close as i, closeCircle as j, closeSharp as k, eyeOff as l, eye as m, menuOutline as n, menuSharp as o, arrowDown as p, caretBackSharp as q, reorderThreeOutline as r, reorderTwoSharp as s, searchOutline as t, searchSharp as u, chevronExpand as v, checkmarkOutline as w, removeOutline as x, ellipseOutline as y };
@@ -1,128 +1,167 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers.js';
5
- import { e as printRequiredElementError } from './index4.js';
4
+ import { d as doc } from './index9.js';
5
+ import { q as pointerCoord } from './helpers.js';
6
6
 
7
- const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
8
- const ION_CONTENT_ELEMENT_SELECTOR = 'ion-content';
9
- const ION_CONTENT_CLASS_SELECTOR = '.ion-content-scroll-host';
10
- /**
11
- * Selector used for implementations reliant on `<ion-content>` for scroll event changes.
12
- *
13
- * Developers should use the `.ion-content-scroll-host` selector to target the element emitting
14
- * scroll events. With virtual scroll implementations this will be the host element for
15
- * the scroll viewport.
16
- */
17
- const ION_CONTENT_SELECTOR = `${ION_CONTENT_ELEMENT_SELECTOR}, ${ION_CONTENT_CLASS_SELECTOR}`;
18
- const isIonContent = (el) => el.tagName === ION_CONTENT_TAG_NAME;
19
- /**
20
- * Waits for the element host fully initialize before
21
- * returning the inner scroll element.
22
- *
23
- * For `ion-content` the scroll target will be the result
24
- * of the `getScrollElement` function.
25
- *
26
- * For custom implementations it will be the element host
27
- * or a selector within the host, if supplied through `scrollTarget`.
28
- */
29
- const getScrollElement = async (el) => {
30
- if (isIonContent(el)) {
31
- await new Promise((resolve) => componentOnReady(el, resolve));
32
- return el.getScrollElement();
7
+ const startTapClick = (config) => {
8
+ if (doc === undefined) {
9
+ return;
33
10
  }
34
- return el;
35
- };
36
- /**
37
- * Queries the element matching the selector for IonContent.
38
- * See ION_CONTENT_SELECTOR for the selector used.
39
- */
40
- const findIonContent = (el) => {
11
+ let lastActivated = 0;
12
+ let activatableEle;
13
+ let activeRipple;
14
+ let activeDefer;
15
+ const useRippleEffect = config.getBoolean('animated', true) && config.getBoolean('rippleEffect', true);
16
+ const clearDefers = new WeakMap();
17
+ const cancelActive = () => {
18
+ if (activeDefer)
19
+ clearTimeout(activeDefer);
20
+ activeDefer = undefined;
21
+ if (activatableEle) {
22
+ removeActivated(false);
23
+ activatableEle = undefined;
24
+ }
25
+ };
26
+ const pointerDown = (ev) => {
27
+ // Ignore right clicks
28
+ if (activatableEle || ev.button === 2) {
29
+ return;
30
+ }
31
+ setActivatedElement(getActivatableTarget(ev), ev);
32
+ };
33
+ const pointerUp = (ev) => {
34
+ setActivatedElement(undefined, ev);
35
+ };
36
+ const setActivatedElement = (el, ev) => {
37
+ // do nothing
38
+ if (el && el === activatableEle) {
39
+ return;
40
+ }
41
+ if (activeDefer)
42
+ clearTimeout(activeDefer);
43
+ activeDefer = undefined;
44
+ const { x, y } = pointerCoord(ev);
45
+ // deactivate selected
46
+ if (activatableEle) {
47
+ if (clearDefers.has(activatableEle)) {
48
+ throw new Error('internal error');
49
+ }
50
+ if (!activatableEle.classList.contains(ACTIVATED)) {
51
+ addActivated(activatableEle, x, y);
52
+ }
53
+ removeActivated(true);
54
+ }
55
+ // activate
56
+ if (el) {
57
+ const deferId = clearDefers.get(el);
58
+ if (deferId) {
59
+ clearTimeout(deferId);
60
+ clearDefers.delete(el);
61
+ }
62
+ el.classList.remove(ACTIVATED);
63
+ const callback = () => {
64
+ addActivated(el, x, y);
65
+ activeDefer = undefined;
66
+ };
67
+ if (isInstant(el)) {
68
+ callback();
69
+ }
70
+ else {
71
+ activeDefer = setTimeout(callback, ADD_ACTIVATED_DEFERS);
72
+ }
73
+ }
74
+ activatableEle = el;
75
+ };
76
+ const addActivated = (el, x, y) => {
77
+ lastActivated = Date.now();
78
+ el.classList.add(ACTIVATED);
79
+ if (!useRippleEffect)
80
+ return;
81
+ const rippleEffect = getRippleEffect(el);
82
+ if (rippleEffect !== null) {
83
+ removeRipple();
84
+ activeRipple = rippleEffect.addRipple(x, y);
85
+ }
86
+ };
87
+ const removeRipple = () => {
88
+ if (activeRipple !== undefined) {
89
+ activeRipple.then((remove) => remove());
90
+ activeRipple = undefined;
91
+ }
92
+ };
93
+ const removeActivated = (smooth) => {
94
+ removeRipple();
95
+ const active = activatableEle;
96
+ if (!active) {
97
+ return;
98
+ }
99
+ const time = CLEAR_STATE_DEFERS - Date.now() + lastActivated;
100
+ if (smooth && time > 0 && !isInstant(active)) {
101
+ const deferId = setTimeout(() => {
102
+ active.classList.remove(ACTIVATED);
103
+ clearDefers.delete(active);
104
+ }, CLEAR_STATE_DEFERS);
105
+ clearDefers.set(active, deferId);
106
+ }
107
+ else {
108
+ active.classList.remove(ACTIVATED);
109
+ }
110
+ };
111
+ doc.addEventListener('ionGestureCaptured', cancelActive);
112
+ doc.addEventListener('pointerdown', pointerDown, true);
113
+ doc.addEventListener('pointerup', pointerUp, true);
41
114
  /**
42
- * First we try to query the custom scroll host selector in cases where
43
- * the implementation is using an outer `ion-content` with an inner custom
44
- * scroll container.
115
+ * Tap click effects such as the ripple effect should
116
+ * not happen when scrolling. For example, if a user scrolls
117
+ * the page but also happens to do a touchstart on a button
118
+ * as part of the scroll, the ripple effect should not
119
+ * be dispatched. The ripple effect should only happen
120
+ * if the button is activated and the page is not scrolling.
121
+ *
122
+ * pointercancel is dispatched on a gesture when scrolling
123
+ * starts, so this lets us avoid having to listen for
124
+ * ion-content's scroll events.
45
125
  */
46
- const customContentHost = el.querySelector(ION_CONTENT_CLASS_SELECTOR);
47
- if (customContentHost) {
48
- return customContentHost;
49
- }
50
- return el.querySelector(ION_CONTENT_SELECTOR);
51
- };
52
- /**
53
- * Queries the closest element matching the selector for IonContent.
54
- */
55
- const findClosestIonContent = (el) => {
56
- return el.closest(ION_CONTENT_SELECTOR);
57
- };
58
- /**
59
- * Scrolls to the top of the element. If an `ion-content` is found, it will scroll
60
- * using the public API `scrollToTop` with a duration.
61
- */
62
- const scrollToTop = (el, durationMs) => {
63
- if (isIonContent(el)) {
64
- const content = el;
65
- return content.scrollToTop(durationMs);
66
- }
67
- return Promise.resolve(el.scrollTo({
68
- top: 0,
69
- left: 0,
70
- behavior: 'smooth' ,
71
- }));
126
+ doc.addEventListener('pointercancel', cancelActive, true);
72
127
  };
73
- /**
74
- * Scrolls by a specified X/Y distance in the component. If an `ion-content` is found, it will scroll
75
- * using the public API `scrollByPoint` with a duration.
76
- */
77
- const scrollByPoint = (el, x, y, durationMs) => {
78
- if (isIonContent(el)) {
79
- const content = el;
80
- return content.scrollByPoint(x, y, durationMs);
81
- }
82
- return Promise.resolve(el.scrollBy({
83
- top: y,
84
- left: x,
85
- behavior: durationMs > 0 ? 'smooth' : 'auto',
86
- }));
87
- };
88
- /**
89
- * Prints an error informing developers that an implementation requires an element to be used
90
- * within either the `ion-content` selector or the `.ion-content-scroll-host` class.
91
- */
92
- const printIonContentErrorMsg = (el) => {
93
- return printRequiredElementError(el, ION_CONTENT_ELEMENT_SELECTOR);
94
- };
95
- /**
96
- * Several components in Ionic need to prevent scrolling
97
- * during a gesture (card modal, range, item sliding, etc).
98
- * Use this utility to account for ion-content and custom content hosts.
99
- */
100
- const disableContentScrollY = (contentEl) => {
101
- if (isIonContent(contentEl)) {
102
- const ionContent = contentEl;
103
- const initialScrollY = ionContent.scrollY;
104
- ionContent.scrollY = false;
128
+ // TODO(FW-2832): type
129
+ const getActivatableTarget = (ev) => {
130
+ if (ev.composedPath !== undefined) {
105
131
  /**
106
- * This should be passed into resetContentScrollY
107
- * so that we can revert ion-content's scrollY to the
108
- * correct state. For example, if scrollY = false
109
- * initially, we do not want to enable scrolling
110
- * when we call resetContentScrollY.
132
+ * composedPath returns EventTarget[]. However,
133
+ * objects other than Element can be targets too.
134
+ * For example, AudioContext can be a target. In this
135
+ * case, we know that the event is a UIEvent so we
136
+ * can assume that the path will contain either Element
137
+ * or ShadowRoot.
111
138
  */
112
- return initialScrollY;
139
+ const path = ev.composedPath();
140
+ for (let i = 0; i < path.length - 2; i++) {
141
+ const el = path[i];
142
+ if (!(el instanceof ShadowRoot) && el.classList.contains('ion-activatable')) {
143
+ return el;
144
+ }
145
+ }
113
146
  }
114
147
  else {
115
- contentEl.style.setProperty('overflow', 'hidden');
116
- return true;
148
+ return ev.target.closest('.ion-activatable');
117
149
  }
118
150
  };
119
- const resetContentScrollY = (contentEl, initialScrollY) => {
120
- if (isIonContent(contentEl)) {
121
- contentEl.scrollY = initialScrollY;
122
- }
123
- else {
124
- contentEl.style.removeProperty('overflow');
151
+ const isInstant = (el) => {
152
+ return el.classList.contains('ion-activatable-instant');
153
+ };
154
+ const getRippleEffect = (el) => {
155
+ if (el.shadowRoot) {
156
+ const ripple = el.shadowRoot.querySelector('ion-ripple-effect');
157
+ if (ripple) {
158
+ return ripple;
159
+ }
125
160
  }
161
+ return el.querySelector('ion-ripple-effect');
126
162
  };
163
+ const ACTIVATED = 'ion-activated';
164
+ const ADD_ACTIVATED_DEFERS = 100;
165
+ const CLEAR_STATE_DEFERS = 150;
127
166
 
128
- export { ION_CONTENT_CLASS_SELECTOR as I, findClosestIonContent as a, ION_CONTENT_ELEMENT_SELECTOR as b, scrollByPoint as c, disableContentScrollY as d, findIonContent as f, getScrollElement as g, isIonContent as i, printIonContentErrorMsg as p, resetContentScrollY as r, scrollToTop as s };
167
+ export { startTapClick };