@ionic/core 8.7.6-dev.11759524961.1cff6814 → 8.7.6-dev.11759752152.17f114d8

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 (945) hide show
  1. package/components/action-sheet.js +14 -10
  2. package/components/alert.js +15 -12
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +10 -7
  5. package/components/button.js +42 -11
  6. package/components/buttons.js +12 -9
  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 +32 -13
  12. package/components/content.js +15 -13
  13. package/components/data.js +5 -5
  14. package/components/focus-visible.js +23 -1
  15. package/components/framework-delegate.js +3 -1
  16. package/components/header.js +29 -17
  17. package/components/helpers.js +42 -3
  18. package/components/icon.js +1 -1
  19. package/components/index2.js +3 -70
  20. package/components/index5.js +8 -8
  21. package/components/index6.js +1 -1
  22. package/components/index7.js +111 -150
  23. package/components/index8.js +150 -111
  24. package/components/input-shims.js +2 -2
  25. package/components/input.utils.js +1 -1
  26. package/components/ion-accordion-group.js +24 -6
  27. package/components/ion-accordion.js +33 -22
  28. package/components/ion-app.js +13 -78
  29. package/components/ion-avatar.js +58 -5
  30. package/components/ion-back-button.js +28 -20
  31. package/components/ion-badge.js +74 -10
  32. package/components/ion-breadcrumb.js +44 -11
  33. package/components/ion-breadcrumbs.js +9 -6
  34. package/components/ion-card-content.js +11 -8
  35. package/components/ion-card-header.js +10 -7
  36. package/components/ion-card-subtitle.js +9 -6
  37. package/components/ion-card-title.js +9 -6
  38. package/components/ion-card.js +22 -10
  39. package/components/ion-chip.js +54 -9
  40. package/components/ion-col.js +52 -51
  41. package/components/ion-datetime-button.js +9 -6
  42. package/components/ion-datetime.js +99 -22
  43. package/components/ion-divider.d.ts +11 -0
  44. package/components/ion-divider.js +70 -0
  45. package/components/ion-fab-button.js +32 -16
  46. package/components/ion-fab-list.js +6 -6
  47. package/components/ion-fab.js +7 -7
  48. package/components/ion-footer.js +19 -14
  49. package/components/ion-grid.js +6 -6
  50. package/components/ion-img.js +6 -3
  51. package/components/ion-infinite-scroll-content.js +12 -9
  52. package/components/ion-infinite-scroll.js +79 -7
  53. package/components/ion-input-otp.js +10 -7
  54. package/components/ion-input-password-toggle.js +52 -14
  55. package/components/ion-input.js +121 -29
  56. package/components/ion-item-divider.js +9 -6
  57. package/components/ion-item-group.js +9 -6
  58. package/components/ion-item-option.js +37 -10
  59. package/components/ion-item-options.js +11 -8
  60. package/components/ion-item-sliding.js +6 -6
  61. package/components/ion-loading.js +13 -10
  62. package/components/ion-menu-button.js +27 -11
  63. package/components/ion-menu-toggle.js +6 -6
  64. package/components/ion-menu.js +11 -9
  65. package/components/ion-nav-link.js +2 -2
  66. package/components/ion-nav.js +8 -6
  67. package/components/ion-note.js +9 -6
  68. package/components/ion-picker-legacy.js +8 -8
  69. package/components/ion-progress-bar.js +26 -8
  70. package/components/ion-range.js +13 -10
  71. package/components/ion-refresher-content.js +23 -8
  72. package/components/ion-refresher.js +11 -8
  73. package/components/ion-reorder-group.js +6 -6
  74. package/components/ion-reorder.js +31 -6
  75. package/components/ion-router-link.js +7 -7
  76. package/components/ion-router-outlet.js +5 -5
  77. package/components/ion-row.js +7 -4
  78. package/components/ion-searchbar.js +138 -24
  79. package/components/ion-segment-button.js +11 -8
  80. package/components/ion-segment-content.js +2 -2
  81. package/components/ion-segment-view.js +6 -3
  82. package/components/ion-segment.js +11 -8
  83. package/components/ion-select-option.js +6 -3
  84. package/components/ion-select.js +118 -34
  85. package/components/ion-skeleton-text.js +6 -6
  86. package/components/ion-split-pane.js +12 -9
  87. package/components/ion-tab-bar.js +40 -10
  88. package/components/ion-tab-button.js +26 -8
  89. package/components/ion-tab.js +3 -3
  90. package/components/ion-tabs.js +3 -3
  91. package/components/ion-text.js +6 -6
  92. package/components/ion-textarea.js +53 -12
  93. package/components/ion-thumbnail.js +6 -3
  94. package/components/ion-toast.js +38 -13
  95. package/components/ion-toggle.js +75 -18
  96. package/components/ionic-global.js +349 -15
  97. package/components/ios.transition.js +1 -0
  98. package/components/item.js +40 -15
  99. package/components/keyboard-controller.js +4 -2
  100. package/components/label.js +9 -6
  101. package/components/list-header.js +11 -8
  102. package/components/list.js +28 -7
  103. package/components/list2.js +6 -0
  104. package/components/modal.js +49 -21
  105. package/components/notch-controller.js +1 -1
  106. package/components/overlays.js +3 -4
  107. package/components/picker-column-option.js +9 -6
  108. package/components/picker-column.js +8 -9
  109. package/components/picker-column2.js +5 -5
  110. package/components/picker.js +8 -5
  111. package/components/popover.js +13 -10
  112. package/components/radio-group.js +11 -6
  113. package/components/radio.js +12 -9
  114. package/components/ripple-effect.js +15 -7
  115. package/components/select-modal.js +6 -6
  116. package/components/select-popover.js +10 -4
  117. package/components/spinner.js +31 -8
  118. package/components/status-tap.js +1 -1
  119. package/components/title.js +11 -8
  120. package/components/toolbar.js +154 -10
  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-ZJ1lAkZD.js → animation-Bcz4qmJk.js} +2 -3
  168. package/dist/cjs/{button-active-BzZenWWH.js → button-active-1nO6qpCH.js} +2 -2
  169. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CzFst28-.js} +1 -1
  170. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  171. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  172. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  173. package/dist/cjs/{config-CKhELRRu.js → config-DGKt4XfG.js} +1 -1
  174. package/dist/cjs/{data-DW6ofvJ8.js → data-B3i-krcw.js} +6 -6
  175. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  176. package/dist/cjs/{framework-delegate-WkyjrnCx.js → framework-delegate-DfEY5uyC.js} +4 -2
  177. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-DbqPcCc9.js} +1 -1
  178. package/dist/cjs/{helpers-DgwmcYAu.js → helpers-DmAvmm2T.js} +42 -3
  179. package/dist/cjs/{index-Cc5PNMyz.js → index-CaZ3uzAD.js} +2 -2
  180. package/dist/cjs/{index-DNh170BW.js → index-CmckMMX1.js} +659 -274
  181. package/dist/cjs/{index-D24wggHR.js → index-DcPe_YcG.js} +16 -17
  182. package/dist/cjs/{index--3s2Phef.js → index-DxVhwe3d.js} +7 -74
  183. package/dist/cjs/{index-bGpoPC4u.js → index-YEjC0pvJ.js} +3 -3
  184. package/dist/cjs/index.cjs.js +15 -17
  185. package/dist/cjs/{input-shims-CLI_OrmU.js → input-shims-BwdlNkON.js} +6 -6
  186. package/dist/cjs/{input.utils-B2hZ5tX6.js → input.utils-CfjyQhpu.js} +3 -4
  187. package/dist/cjs/ion-accordion_2.cjs.entry.js +55 -27
  188. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -19
  189. package/dist/cjs/ion-alert.cjs.entry.js +24 -23
  190. package/dist/cjs/ion-app_8.cjs.entry.js +245 -147
  191. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -12
  192. package/dist/cjs/ion-back-button.cjs.entry.js +28 -20
  193. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -7
  194. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -16
  195. package/dist/cjs/ion-button_2.cjs.entry.js +44 -13
  196. package/dist/cjs/ion-card_5.cjs.entry.js +53 -30
  197. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -14
  198. package/dist/cjs/ion-chip.cjs.entry.js +48 -8
  199. package/dist/cjs/ion-col_3.cjs.entry.js +53 -57
  200. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -8
  201. package/dist/cjs/ion-datetime_3.cjs.entry.js +115 -41
  202. package/dist/cjs/ion-divider.cjs.entry.js +50 -0
  203. package/dist/cjs/ion-fab_3.cjs.entry.js +41 -26
  204. package/dist/cjs/ion-img.cjs.entry.js +7 -4
  205. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +90 -16
  206. package/dist/cjs/ion-input-otp.cjs.entry.js +12 -9
  207. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -14
  208. package/dist/cjs/ion-input.cjs.entry.js +120 -31
  209. package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -20
  210. package/dist/cjs/ion-item_8.cjs.entry.js +105 -46
  211. package/dist/cjs/ion-loading.cjs.entry.js +18 -17
  212. package/dist/cjs/ion-menu_3.cjs.entry.js +47 -30
  213. package/dist/cjs/ion-modal.cjs.entry.js +83 -57
  214. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -12
  215. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -7
  216. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -15
  217. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  218. package/dist/cjs/ion-popover.cjs.entry.js +19 -18
  219. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -8
  220. package/dist/cjs/ion-radio_2.cjs.entry.js +22 -14
  221. package/dist/cjs/ion-range.cjs.entry.js +14 -11
  222. package/dist/cjs/ion-refresher_2.cjs.entry.js +41 -24
  223. package/dist/cjs/ion-reorder_2.cjs.entry.js +36 -13
  224. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -7
  225. package/dist/cjs/ion-route_4.cjs.entry.js +8 -8
  226. package/dist/cjs/ion-searchbar.cjs.entry.js +134 -22
  227. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  228. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
  229. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -15
  230. package/dist/cjs/ion-select-modal.cjs.entry.js +9 -11
  231. package/dist/cjs/ion-select_3.cjs.entry.js +130 -40
  232. package/dist/cjs/ion-spinner.cjs.entry.js +29 -8
  233. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -9
  234. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +65 -21
  235. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  236. package/dist/cjs/ion-text.cjs.entry.js +5 -6
  237. package/dist/cjs/ion-textarea.cjs.entry.js +55 -16
  238. package/dist/cjs/ion-toast.cjs.entry.js +65 -43
  239. package/dist/cjs/ion-toggle.cjs.entry.js +79 -23
  240. package/dist/cjs/ionic.cjs.js +4 -6
  241. package/dist/cjs/{ios.transition-B_rsAM9j.js → ios.transition-BMRClUxZ.js} +6 -5
  242. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Chl5cusY.js} +1 -1
  243. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-yLvXRMuh.js} +4 -3
  244. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-nXDIskl9.js} +3 -3
  245. package/dist/cjs/list-a-7GSA6K.js +8 -0
  246. package/dist/cjs/loader.cjs.js +3 -5
  247. package/dist/cjs/{md.transition-CQt0eBw-.js → md.transition-D2ZL4jgW.js} +5 -5
  248. package/dist/cjs/{notch-controller-Bf5Rr4R5.js → notch-controller-S50JyZJs.js} +2 -2
  249. package/dist/cjs/{overlays-czPyT6xP.js → overlays-XYRfwd6H.js} +10 -12
  250. package/dist/cjs/{status-tap-D9YPr62n.js → status-tap-DMaRrHIS.js} +4 -3
  251. package/dist/cjs/{swipe-back-C1wRtoww.js → swipe-back-CEVlQT7C.js} +3 -2
  252. package/dist/cjs/x-BTF99yFH.js +8 -0
  253. package/dist/collection/collection-manifest.json +2 -1
  254. package/dist/collection/components/accordion/accordion.ionic.css +196 -0
  255. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  256. package/dist/collection/components/accordion/accordion.js +36 -26
  257. package/dist/collection/components/accordion/accordion.md.css +67 -59
  258. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  259. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  260. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  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 +15 -11
  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 +16 -13
  267. package/dist/collection/components/alert/alert.md.css +19 -1
  268. package/dist/collection/components/app/app.js +15 -78
  269. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  270. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  271. package/dist/collection/components/avatar/avatar.js +120 -4
  272. package/dist/collection/components/avatar/avatar.md.css +51 -0
  273. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  274. package/dist/collection/components/back-button/back-button.js +27 -19
  275. package/dist/collection/components/back-button/back-button.md.css +60 -48
  276. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  277. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  278. package/dist/collection/components/backdrop/backdrop.js +12 -6
  279. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  280. package/dist/collection/components/badge/badge.ionic.css +275 -0
  281. package/dist/collection/components/badge/badge.ios.css +139 -12
  282. package/dist/collection/components/badge/badge.js +145 -9
  283. package/dist/collection/components/badge/badge.md.css +123 -12
  284. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  285. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  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 +11 -9
  289. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  290. package/dist/collection/components/button/button.ionic.css +620 -0
  291. package/dist/collection/components/button/button.ios.css +135 -46
  292. package/dist/collection/components/button/button.js +48 -17
  293. package/dist/collection/components/button/button.md.css +126 -50
  294. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  295. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  296. package/dist/collection/components/buttons/buttons.js +15 -9
  297. package/dist/collection/components/buttons/buttons.md.css +55 -3
  298. package/dist/collection/components/card/card.ionic.css +144 -0
  299. package/dist/collection/components/card/card.ios.css +65 -14
  300. package/dist/collection/components/card/card.js +41 -10
  301. package/dist/collection/components/card/card.md.css +65 -14
  302. package/dist/collection/components/card-content/card-content.ionic.css +92 -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 +85 -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 -10
  309. package/dist/collection/components/card-header/card-header.md.css +27 -15
  310. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  311. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  312. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  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 +11 -8
  316. package/dist/collection/components/card-title/card-title.md.css +73 -0
  317. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  318. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  319. package/dist/collection/components/checkbox/checkbox.js +70 -14
  320. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  321. package/dist/collection/components/chip/chip.ionic.css +228 -0
  322. package/dist/collection/components/chip/chip.ios.css +67 -14
  323. package/dist/collection/components/chip/chip.js +108 -8
  324. package/dist/collection/components/chip/chip.md.css +67 -14
  325. package/dist/collection/components/col/col.css +192 -4
  326. package/dist/collection/components/col/col.js +210 -61
  327. package/dist/collection/components/content/content.css +8 -2
  328. package/dist/collection/components/content/content.js +16 -11
  329. package/dist/collection/components/datetime/datetime.ionic.css +697 -0
  330. package/dist/collection/components/datetime/datetime.ios.css +242 -86
  331. package/dist/collection/components/datetime/datetime.js +98 -20
  332. package/dist/collection/components/datetime/datetime.md.css +242 -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 +11 -8
  336. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  337. package/dist/collection/components/divider/divider.ionic.css +148 -0
  338. package/dist/collection/components/divider/divider.ios.css +87 -0
  339. package/dist/collection/components/divider/divider.js +94 -0
  340. package/dist/collection/components/divider/divider.md.css +87 -0
  341. package/dist/collection/components/fab/fab.css +25 -1
  342. package/dist/collection/components/fab/fab.js +9 -5
  343. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  344. package/dist/collection/components/fab-button/fab-button.js +36 -21
  345. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  346. package/dist/collection/components/fab-list/fab-list.css +12 -0
  347. package/dist/collection/components/fab-list/fab-list.js +9 -5
  348. package/dist/collection/components/footer/footer.ios.css +14 -2
  349. package/dist/collection/components/footer/footer.js +21 -16
  350. package/dist/collection/components/footer/footer.md.css +12 -0
  351. package/dist/collection/components/grid/grid.css +12 -0
  352. package/dist/collection/components/grid/grid.js +9 -5
  353. package/dist/collection/components/header/header.ionic.css +98 -0
  354. package/dist/collection/components/header/header.ios.css +26 -37
  355. package/dist/collection/components/header/header.js +49 -18
  356. package/dist/collection/components/header/header.md.css +23 -8
  357. package/dist/collection/components/img/img.js +8 -2
  358. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  360. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  361. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  362. package/dist/collection/components/input/input.ionic.css +881 -0
  363. package/dist/collection/components/input/input.ios.css +223 -140
  364. package/dist/collection/components/input/input.js +149 -38
  365. package/dist/collection/components/input/input.md.css +193 -212
  366. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  367. package/dist/collection/components/input-otp/input-otp.ios.css +106 -60
  368. package/dist/collection/components/input-otp/input-otp.js +7 -5
  369. package/dist/collection/components/input-otp/input-otp.md.css +106 -60
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  371. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  372. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  373. package/dist/collection/components/item/item.ionic.css +499 -0
  374. package/dist/collection/components/item/item.ios.css +109 -69
  375. package/dist/collection/components/item/item.js +43 -19
  376. package/dist/collection/components/item/item.md.css +120 -68
  377. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  378. package/dist/collection/components/item-divider/item-divider.js +11 -8
  379. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  380. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  381. package/dist/collection/components/item-group/item-group.js +13 -7
  382. package/dist/collection/components/item-group/item-group.md.css +12 -0
  383. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  384. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  385. package/dist/collection/components/item-option/item-option.js +73 -9
  386. package/dist/collection/components/item-option/item-option.md.css +136 -29
  387. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  388. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  389. package/dist/collection/components/item-options/item-options.js +13 -7
  390. package/dist/collection/components/item-options/item-options.md.css +77 -34
  391. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  392. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  393. package/dist/collection/components/label/label.ios.css +18 -0
  394. package/dist/collection/components/label/label.js +11 -8
  395. package/dist/collection/components/label/label.md.css +18 -0
  396. package/dist/collection/components/list/list.ionic.css +212 -0
  397. package/dist/collection/components/list/list.ios.css +54 -14
  398. package/dist/collection/components/list/list.js +48 -9
  399. package/dist/collection/components/list/list.md.css +56 -16
  400. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  401. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  402. package/dist/collection/components/list-header/list-header.js +11 -8
  403. package/dist/collection/components/list-header/list-header.md.css +82 -38
  404. package/dist/collection/components/loading/loading.ios.css +13 -1
  405. package/dist/collection/components/loading/loading.js +14 -11
  406. package/dist/collection/components/loading/loading.md.css +13 -1
  407. package/dist/collection/components/menu/menu.ios.css +15 -3
  408. package/dist/collection/components/menu/menu.js +12 -7
  409. package/dist/collection/components/menu/menu.md.css +15 -3
  410. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  411. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  412. package/dist/collection/components/menu-button/menu-button.js +26 -10
  413. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  414. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  415. package/dist/collection/components/modal/animations/sheet.js +8 -2
  416. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  417. package/dist/collection/components/modal/modal.ionic.css +241 -0
  418. package/dist/collection/components/modal/modal.ios.css +174 -70
  419. package/dist/collection/components/modal/modal.js +48 -11
  420. package/dist/collection/components/modal/modal.md.css +174 -70
  421. package/dist/collection/components/nav/nav.css +7 -1
  422. package/dist/collection/components/nav/nav.js +11 -5
  423. package/dist/collection/components/nav-link/nav-link.js +5 -1
  424. package/dist/collection/components/note/note.ios.css +12 -0
  425. package/dist/collection/components/note/note.js +11 -8
  426. package/dist/collection/components/note/note.md.css +12 -0
  427. package/dist/collection/components/picker/picker.ios.css +15 -3
  428. package/dist/collection/components/picker/picker.js +8 -5
  429. package/dist/collection/components/picker/picker.md.css +15 -3
  430. package/dist/collection/components/picker-column/picker-column.css +9 -2
  431. package/dist/collection/components/picker-column/picker-column.js +8 -7
  432. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  433. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  434. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  435. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  436. package/dist/collection/components/picker-legacy/picker.js +7 -6
  437. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  438. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  439. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  440. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  441. package/dist/collection/components/popover/popover.ios.css +13 -1
  442. package/dist/collection/components/popover/popover.js +17 -14
  443. package/dist/collection/components/popover/popover.md.css +13 -1
  444. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  445. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  446. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  447. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  448. package/dist/collection/components/radio/radio.ionic.css +422 -0
  449. package/dist/collection/components/radio/radio.ios.css +134 -91
  450. package/dist/collection/components/radio/radio.js +12 -9
  451. package/dist/collection/components/radio/radio.md.css +134 -91
  452. package/dist/collection/components/radio-group/radio-group.ionic.css +125 -0
  453. package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
  454. package/dist/collection/components/radio-group/radio-group.js +13 -5
  455. package/dist/collection/components/radio-group/radio-group.md.css +42 -18
  456. package/dist/collection/components/range/range.ionic.css +563 -0
  457. package/dist/collection/components/range/range.ios.css +128 -85
  458. package/dist/collection/components/range/range.js +12 -9
  459. package/dist/collection/components/range/range.md.css +128 -85
  460. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  461. package/dist/collection/components/refresher/refresher.js +11 -8
  462. package/dist/collection/components/refresher/refresher.md.css +15 -2
  463. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  464. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  465. package/dist/collection/components/reorder/reorder.js +33 -6
  466. package/dist/collection/components/reorder/reorder.md.css +6 -0
  467. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  468. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  469. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  470. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  471. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  472. package/dist/collection/components/route/route.js +4 -0
  473. package/dist/collection/components/router/router.js +4 -0
  474. package/dist/collection/components/router-link/router-link.css +8 -2
  475. package/dist/collection/components/router-link/router-link.js +9 -5
  476. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  477. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  478. package/dist/collection/components/row/row.css +16 -0
  479. package/dist/collection/components/row/row.js +9 -2
  480. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  481. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  482. package/dist/collection/components/searchbar/searchbar.js +181 -34
  483. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  484. package/dist/collection/components/segment/segment.ionic.css +115 -0
  485. package/dist/collection/components/segment/segment.ios.css +45 -2
  486. package/dist/collection/components/segment/segment.js +11 -8
  487. package/dist/collection/components/segment/segment.md.css +45 -2
  488. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  489. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  490. package/dist/collection/components/segment-button/segment-button.js +11 -8
  491. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  492. package/dist/collection/components/segment-content/segment-content.js +1 -1
  493. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  494. package/dist/collection/components/segment-view/segment-view.js +6 -4
  495. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  496. package/dist/collection/components/select/select.ionic.css +763 -0
  497. package/dist/collection/components/select/select.ios.css +315 -176
  498. package/dist/collection/components/select/select.js +157 -54
  499. package/dist/collection/components/select/select.md.css +331 -178
  500. package/dist/collection/components/select-modal/select-modal.ionic.css +123 -0
  501. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  502. package/dist/collection/components/select-modal/select-modal.js +3 -3
  503. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  504. package/dist/collection/components/select-option/select-option.js +9 -2
  505. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  506. package/dist/collection/components/select-popover/select-popover.js +12 -4
  507. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  508. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  509. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  510. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +77 -10
  511. package/dist/collection/components/spinner/spinner.js +47 -6
  512. package/dist/collection/components/spinner/spinner.native.css +198 -0
  513. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  514. package/dist/collection/components/split-pane/split-pane.js +14 -8
  515. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  516. package/dist/collection/components/tab/tab.js +6 -2
  517. package/dist/collection/components/tab-bar/tab-bar.ionic.css +186 -0
  518. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  519. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  520. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  521. package/dist/collection/components/tab-button/tab-button.ionic.css +336 -0
  522. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  523. package/dist/collection/components/tab-button/tab-button.js +44 -8
  524. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  525. package/dist/collection/components/tabs/tabs.css +7 -1
  526. package/dist/collection/components/tabs/tabs.js +4 -1
  527. package/dist/collection/components/text/text.css +6 -0
  528. package/dist/collection/components/text/text.js +7 -6
  529. package/dist/collection/components/textarea/textarea.ionic.css +881 -0
  530. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  531. package/dist/collection/components/textarea/textarea.js +76 -16
  532. package/dist/collection/components/textarea/textarea.md.css +288 -140
  533. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  534. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  535. package/dist/collection/components/title/title.ionic.css +127 -0
  536. package/dist/collection/components/title/title.ios.css +32 -4
  537. package/dist/collection/components/title/title.js +13 -7
  538. package/dist/collection/components/title/title.md.css +32 -4
  539. package/dist/collection/components/toast/animations/utils.js +1 -1
  540. package/dist/collection/components/toast/toast.ionic.css +394 -0
  541. package/dist/collection/components/toast/toast.ios.css +84 -45
  542. package/dist/collection/components/toast/toast.js +75 -12
  543. package/dist/collection/components/toast/toast.md.css +84 -45
  544. package/dist/collection/components/toggle/toggle.ionic.css +509 -0
  545. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  546. package/dist/collection/components/toggle/toggle.js +73 -18
  547. package/dist/collection/components/toggle/toggle.md.css +244 -131
  548. package/dist/collection/components/toolbar/test/image.svg +1 -0
  549. package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
  550. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  551. package/dist/collection/components/toolbar/toolbar.js +157 -13
  552. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  553. package/dist/collection/global/ionic-global.js +228 -13
  554. package/dist/collection/utils/focus-visible.js +22 -0
  555. package/dist/collection/utils/framework-delegate.js +3 -1
  556. package/dist/collection/utils/helpers.js +42 -2
  557. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  558. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  559. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  560. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  561. package/dist/collection/utils/overlays.js +2 -1
  562. package/dist/collection/utils/test/playwright/generator.js +48 -23
  563. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  564. package/dist/collection/utils/test/playwright/page/utils/set-content.js +24 -3
  565. package/dist/collection/utils/transition/index.js +3 -70
  566. package/dist/collection/utils/transition/ios.transition.js +1 -0
  567. package/dist/docs.json +8169 -373
  568. package/dist/esm/{animation-BvhAtgca.js → animation-Cgfm6Out.js} +1 -2
  569. package/dist/esm/{button-active-DBUPuLNw.js → button-active-DvzVF2u_.js} +2 -2
  570. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-Dvc8Ydvg.js} +1 -1
  571. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  572. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  573. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  574. package/dist/esm/{config-Dx_6wPIJ.js → config-DwiPHIF5.js} +1 -1
  575. package/dist/esm/{data-CKHMWxfe.js → data-HHZs0eLV.js} +6 -6
  576. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  577. package/dist/esm/{framework-delegate-BLEBgH06.js → framework-delegate-B4Rily6A.js} +4 -2
  578. package/dist/esm/{haptic-DzAMWJuk.js → haptic-ZZTn7IWt.js} +1 -1
  579. package/dist/esm/{helpers-8KSQQGQy.js → helpers-D_90HVv6.js} +42 -3
  580. package/dist/esm/{index-4DxY6_gG.js → index-BBrR3goV.js} +649 -270
  581. package/dist/esm/{index-BQc4arca.js → index-BoSPzYKk.js} +7 -74
  582. package/dist/esm/{index-7UbSlv7N.js → index-ByqmqxGO.js} +2 -2
  583. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  584. package/dist/esm/{index-CXSTcaAW.js → index-D4D_NUAr.js} +10 -11
  585. package/dist/esm/{index-C6WeRr09.js → index-k4x4i7EL.js} +3 -3
  586. package/dist/esm/index.js +11 -13
  587. package/dist/esm/{input-shims-C4KDnhxb.js → input-shims-DEtEJcaS.js} +6 -6
  588. package/dist/esm/{input.utils-be4gBvVY.js → input.utils-DNE0LB5g.js} +2 -3
  589. package/dist/esm/ion-accordion_2.entry.js +56 -28
  590. package/dist/esm/ion-action-sheet.entry.js +21 -19
  591. package/dist/esm/ion-alert.entry.js +23 -22
  592. package/dist/esm/ion-app_8.entry.js +243 -145
  593. package/dist/esm/ion-avatar_3.entry.js +124 -13
  594. package/dist/esm/ion-back-button.entry.js +29 -21
  595. package/dist/esm/ion-backdrop.entry.js +9 -7
  596. package/dist/esm/ion-breadcrumb_2.entry.js +52 -17
  597. package/dist/esm/ion-button_2.entry.js +43 -12
  598. package/dist/esm/ion-card_5.entry.js +53 -30
  599. package/dist/esm/ion-checkbox.entry.js +31 -14
  600. package/dist/esm/ion-chip.entry.js +48 -8
  601. package/dist/esm/ion-col_3.entry.js +53 -57
  602. package/dist/esm/ion-datetime-button.entry.js +11 -8
  603. package/dist/esm/ion-datetime_3.entry.js +114 -40
  604. package/dist/esm/ion-divider.entry.js +48 -0
  605. package/dist/esm/ion-fab_3.entry.js +42 -27
  606. package/dist/esm/ion-img.entry.js +7 -4
  607. package/dist/esm/ion-infinite-scroll_2.entry.js +90 -16
  608. package/dist/esm/ion-input-otp.entry.js +11 -8
  609. package/dist/esm/ion-input-password-toggle.entry.js +51 -14
  610. package/dist/esm/ion-input.entry.js +121 -32
  611. package/dist/esm/ion-item-option_3.entry.js +48 -20
  612. package/dist/esm/ion-item_8.entry.js +106 -47
  613. package/dist/esm/ion-loading.entry.js +18 -17
  614. package/dist/esm/ion-menu_3.entry.js +45 -28
  615. package/dist/esm/ion-modal.entry.js +56 -30
  616. package/dist/esm/ion-nav_2.entry.js +13 -11
  617. package/dist/esm/ion-picker-column-option.entry.js +10 -7
  618. package/dist/esm/ion-picker-column.entry.js +11 -12
  619. package/dist/esm/ion-picker.entry.js +10 -6
  620. package/dist/esm/ion-popover.entry.js +18 -17
  621. package/dist/esm/ion-progress-bar.entry.js +25 -8
  622. package/dist/esm/ion-radio_2.entry.js +22 -14
  623. package/dist/esm/ion-range.entry.js +14 -11
  624. package/dist/esm/ion-refresher_2.entry.js +38 -21
  625. package/dist/esm/ion-reorder_2.entry.js +37 -14
  626. package/dist/esm/ion-ripple-effect.entry.js +14 -7
  627. package/dist/esm/ion-route_4.entry.js +8 -8
  628. package/dist/esm/ion-searchbar.entry.js +136 -24
  629. package/dist/esm/ion-segment-content.entry.js +2 -2
  630. package/dist/esm/ion-segment-view.entry.js +6 -3
  631. package/dist/esm/ion-segment_2.entry.js +21 -15
  632. package/dist/esm/ion-select-modal.entry.js +9 -11
  633. package/dist/esm/ion-select_3.entry.js +131 -41
  634. package/dist/esm/ion-spinner.entry.js +28 -7
  635. package/dist/esm/ion-split-pane.entry.js +11 -9
  636. package/dist/esm/ion-tab-bar_2.entry.js +65 -21
  637. package/dist/esm/ion-tab_2.entry.js +8 -7
  638. package/dist/esm/ion-text.entry.js +5 -6
  639. package/dist/esm/ion-textarea.entry.js +55 -16
  640. package/dist/esm/ion-toast.entry.js +41 -19
  641. package/dist/esm/ion-toggle.entry.js +79 -23
  642. package/dist/esm/ionic.js +4 -6
  643. package/dist/esm/{ios.transition-eOa-6o5F.js → ios.transition-C_-UP8wE.js} +6 -5
  644. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BsZp3qPH.js} +3 -3
  645. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cvigb3Rv.js} +1 -1
  646. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-lts2Pswq.js} +4 -3
  647. package/dist/esm/list-Dhi5xtNS.js +6 -0
  648. package/dist/esm/loader.js +3 -5
  649. package/dist/esm/{md.transition-B99keElo.js → md.transition-BDWkLsNw.js} +5 -5
  650. package/dist/esm/{notch-controller-lb417-kU.js → notch-controller-ClKrf2l9.js} +2 -2
  651. package/dist/esm/{overlays-BYcYBCrx.js → overlays-C1ahtepl.js} +5 -7
  652. package/dist/esm/{status-tap-pATNXEtr.js → status-tap-DLatL9pG.js} +4 -3
  653. package/dist/esm/{swipe-back-B2YfOHRM.js → swipe-back-YYylMb0l.js} +3 -2
  654. package/dist/esm/x-BDqjX7Z_.js +6 -0
  655. package/dist/html.html-data.json +2532 -226
  656. package/dist/ionic/index.esm.js +1 -1
  657. package/dist/ionic/ionic.esm.js +1 -1
  658. package/dist/ionic/p-034ef39b.entry.js +4 -0
  659. package/dist/ionic/p-05030d1b.entry.js +4 -0
  660. package/dist/ionic/p-059ceab8.entry.js +4 -0
  661. package/dist/ionic/p-096b5789.entry.js +4 -0
  662. package/dist/ionic/p-09eaefc0.entry.js +4 -0
  663. package/dist/ionic/p-156bba30.entry.js +4 -0
  664. package/dist/ionic/p-238ad727.entry.js +4 -0
  665. package/dist/ionic/p-24803c39.entry.js +4 -0
  666. package/dist/ionic/p-2c28e54a.entry.js +4 -0
  667. package/dist/ionic/p-2c9459f5.entry.js +4 -0
  668. package/dist/ionic/p-2f1d100c.entry.js +4 -0
  669. package/dist/ionic/p-31331fc3.entry.js +4 -0
  670. package/dist/ionic/p-340e4f62.entry.js +4 -0
  671. package/dist/ionic/p-3bef3778.entry.js +4 -0
  672. package/dist/ionic/p-3c773ecd.entry.js +4 -0
  673. package/dist/ionic/p-47432157.entry.js +4 -0
  674. package/dist/ionic/p-52535bba.entry.js +4 -0
  675. package/dist/ionic/p-56e51161.entry.js +4 -0
  676. package/dist/ionic/p-5770869f.entry.js +4 -0
  677. package/dist/ionic/p-5af619ff.entry.js +4 -0
  678. package/dist/ionic/p-5b44ac3a.entry.js +4 -0
  679. package/dist/ionic/p-5ca4c3b8.entry.js +4 -0
  680. package/dist/ionic/p-649e2f92.entry.js +4 -0
  681. package/dist/ionic/p-6d38d3f3.entry.js +4 -0
  682. package/dist/ionic/p-6e6ce506.entry.js +4 -0
  683. package/dist/ionic/p-6ea34add.entry.js +4 -0
  684. package/dist/ionic/p-6f17f8ed.entry.js +4 -0
  685. package/dist/ionic/p-773f2ac5.entry.js +4 -0
  686. package/dist/ionic/p-80cc8511.entry.js +4 -0
  687. package/dist/ionic/p-82796bb0.entry.js +4 -0
  688. package/dist/ionic/p-8c3d3bca.entry.js +4 -0
  689. package/dist/ionic/p-9000bd9f.entry.js +4 -0
  690. package/dist/ionic/p-9cbab197.entry.js +4 -0
  691. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  692. package/dist/ionic/p-BJ-EYogw.js +4 -0
  693. package/dist/ionic/p-BKDxK6_S.js +4 -0
  694. package/dist/ionic/p-BMPzyWDm.js +4 -0
  695. package/dist/ionic/p-BTqHM5hg.js +4 -0
  696. package/dist/ionic/p-BYSs-jZz.js +4 -0
  697. package/dist/ionic/p-BZR5I9yn.js +4 -0
  698. package/dist/ionic/p-BZSKvxFv.js +4 -0
  699. package/dist/ionic/p-BaAcx1TO.js +4 -0
  700. package/dist/ionic/p-BeJdFlAB.js +4 -0
  701. package/dist/ionic/{p-D13Eaw-8.js → p-Bi_aZreq.js} +1 -1
  702. package/dist/ionic/p-BpUl-Ubc.js +4 -0
  703. package/dist/ionic/{p-CKvCXMs9.js → p-BuAY53fC.js} +1 -1
  704. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  705. package/dist/ionic/p-CnPZjTVf.js +4 -0
  706. package/dist/ionic/{p-DiZPU8BH.js → p-D-g7JYuH.js} +1 -1
  707. package/dist/ionic/p-D1t981Ih.js +4 -0
  708. package/dist/ionic/p-D6quDhlh.js +4 -0
  709. package/dist/ionic/{p-CWvl4RPO.js → p-DIZM2shZ.js} +1 -1
  710. package/dist/ionic/p-DJD59Sq4.js +4 -0
  711. package/dist/ionic/p-DZmL55Qn.js +4 -0
  712. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  713. package/dist/ionic/p-DjxV6ul_.js +4 -0
  714. package/dist/ionic/p-DkXsr7m2.js +4 -0
  715. package/dist/ionic/p-DnNglnwY.js +4 -0
  716. package/dist/ionic/p-Dpa-63kX.js +4 -0
  717. package/dist/ionic/p-HOJ_eq4V.js +5 -0
  718. package/dist/ionic/p-MBiM0IFp.js +4 -0
  719. package/dist/ionic/p-a1af546a.entry.js +4 -0
  720. package/dist/ionic/p-a2218a8b.entry.js +4 -0
  721. package/dist/ionic/p-a22b46e4.entry.js +4 -0
  722. package/dist/ionic/p-ae10fb4c.entry.js +4 -0
  723. package/dist/ionic/p-c2122301.entry.js +4 -0
  724. package/dist/ionic/p-c428cbac.entry.js +4 -0
  725. package/dist/ionic/p-c565e353.entry.js +4 -0
  726. package/dist/ionic/p-c6301ef9.entry.js +4 -0
  727. package/dist/ionic/p-c83a1254.entry.js +4 -0
  728. package/dist/ionic/p-c9313bb8.entry.js +4 -0
  729. package/dist/ionic/p-cb6bb34f.entry.js +4 -0
  730. package/dist/ionic/p-d215bbdc.entry.js +4 -0
  731. package/dist/ionic/p-de6964a2.entry.js +4 -0
  732. package/dist/ionic/p-ded5613d.entry.js +4 -0
  733. package/dist/ionic/p-e0eae83d.entry.js +4 -0
  734. package/dist/ionic/p-e5005342.entry.js +4 -0
  735. package/dist/ionic/p-e7925263.entry.js +4 -0
  736. package/dist/ionic/p-eZzo_1L1.js +4 -0
  737. package/dist/ionic/p-eebf0420.entry.js +4 -0
  738. package/dist/ionic/p-f1bb4947.entry.js +4 -0
  739. package/dist/ionic/p-fIOYmaqA.js +4 -0
  740. package/dist/ionic/p-facf3c23.entry.js +4 -0
  741. package/dist/ionic/p-vXpMhGrs.js +4 -0
  742. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +143 -0
  743. package/dist/types/components/accordion/accordion.d.ts +5 -3
  744. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  745. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  746. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  747. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  748. package/dist/types/components/alert/alert.d.ts +3 -2
  749. package/dist/types/components/app/app.d.ts +4 -2
  750. package/dist/types/components/avatar/avatar.d.ts +32 -0
  751. package/dist/types/components/back-button/back-button.d.ts +2 -1
  752. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  753. package/dist/types/components/badge/badge.d.ts +34 -1
  754. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  755. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  756. package/dist/types/components/button/button.d.ts +19 -6
  757. package/dist/types/components/buttons/buttons.d.ts +5 -1
  758. package/dist/types/components/card/card.d.ts +8 -1
  759. package/dist/types/components/card-content/card-content.d.ts +2 -1
  760. package/dist/types/components/card-header/card-header.d.ts +3 -2
  761. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  762. package/dist/types/components/card-title/card-title.d.ts +2 -1
  763. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  764. package/dist/types/components/chip/chip.d.ts +26 -1
  765. package/dist/types/components/col/col.d.ts +52 -5
  766. package/dist/types/components/content/content.d.ts +3 -0
  767. package/dist/types/components/datetime/datetime.d.ts +26 -1
  768. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  769. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  770. package/dist/types/components/divider/divider.d.ts +20 -0
  771. package/dist/types/components/fab/fab.d.ts +4 -0
  772. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  773. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  774. package/dist/types/components/footer/footer.d.ts +4 -3
  775. package/dist/types/components/grid/grid.d.ts +4 -0
  776. package/dist/types/components/header/header.d.ts +9 -3
  777. package/dist/types/components/img/img.d.ts +3 -0
  778. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  779. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  780. package/dist/types/components/input/input.d.ts +31 -5
  781. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  782. package/dist/types/components/item/item.d.ts +11 -4
  783. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  784. package/dist/types/components/item-group/item-group.d.ts +4 -0
  785. package/dist/types/components/item-option/item-option.d.ts +18 -1
  786. package/dist/types/components/item-options/item-options.d.ts +4 -0
  787. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  788. package/dist/types/components/label/label.d.ts +2 -1
  789. package/dist/types/components/list/list.d.ts +15 -1
  790. package/dist/types/components/list-header/list-header.d.ts +2 -1
  791. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  792. package/dist/types/components/loading/loading.d.ts +3 -2
  793. package/dist/types/components/menu/menu.d.ts +3 -0
  794. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  795. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  796. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  797. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  798. package/dist/types/components/modal/modal.d.ts +11 -1
  799. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  800. package/dist/types/components/nav/nav.d.ts +5 -1
  801. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  802. package/dist/types/components/note/note.d.ts +2 -1
  803. package/dist/types/components/picker/picker.d.ts +2 -1
  804. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  805. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  806. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  807. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  808. package/dist/types/components/popover/popover.d.ts +6 -5
  809. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  810. package/dist/types/components/radio/radio.d.ts +2 -1
  811. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  812. package/dist/types/components/range/range.d.ts +2 -1
  813. package/dist/types/components/refresher/refresher.d.ts +2 -1
  814. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  815. package/dist/types/components/reorder/reorder.d.ts +9 -0
  816. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  817. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  818. package/dist/types/components/route/route.d.ts +4 -0
  819. package/dist/types/components/router/router.d.ts +4 -0
  820. package/dist/types/components/router-link/router-link.d.ts +4 -0
  821. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  822. package/dist/types/components/row/row.d.ts +4 -0
  823. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  824. package/dist/types/components/segment/segment.d.ts +2 -1
  825. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  826. package/dist/types/components/select/select.d.ts +41 -13
  827. package/dist/types/components/select-option/select-option.d.ts +4 -0
  828. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  829. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  830. package/dist/types/components/spinner/spinner.d.ts +15 -0
  831. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  832. package/dist/types/components/tab/tab.d.ts +4 -0
  833. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  834. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  835. package/dist/types/components/tabs/tabs.d.ts +3 -0
  836. package/dist/types/components/text/text.d.ts +2 -1
  837. package/dist/types/components/textarea/textarea.d.ts +17 -4
  838. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  839. package/dist/types/components/title/title.d.ts +4 -0
  840. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  841. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  842. package/dist/types/components/toast/toast.d.ts +19 -2
  843. package/dist/types/components/toggle/toggle.d.ts +15 -1
  844. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  845. package/dist/types/components.d.ts +1593 -196
  846. package/dist/types/global/ionic-global.d.ts +27 -2
  847. package/dist/types/interface.d.ts +3 -0
  848. package/dist/types/stencil-public-runtime.d.ts +5 -12
  849. package/dist/types/utils/config.d.ts +106 -2
  850. package/dist/types/utils/focus-visible.d.ts +13 -0
  851. package/dist/types/utils/helpers.d.ts +11 -0
  852. package/dist/types/utils/overlays-interface.d.ts +31 -1
  853. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  854. package/dist/types/utils/transition/index.d.ts +0 -9
  855. package/hydrate/index.js +3080 -1436
  856. package/hydrate/index.mjs +3080 -1436
  857. package/package.json +10 -5
  858. package/components/hardware-back-button.js +0 -115
  859. package/components/index9.js +0 -7
  860. package/dist/cjs/app-globals-77ZfuXXk.js +0 -10
  861. package/dist/cjs/hardware-back-button-BxdNu76F.js +0 -121
  862. package/dist/cjs/index-DkNv4J_i.js +0 -10
  863. package/dist/cjs/ionic-global-UI5YPSi-.js +0 -151
  864. package/dist/esm/app-globals-CvLYUxE9.js +0 -8
  865. package/dist/esm/hardware-back-button-Dhbd-23H.js +0 -115
  866. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  867. package/dist/esm/ionic-global-CTSyufhF.js +0 -146
  868. package/dist/ionic/p-0793aea6.entry.js +0 -4
  869. package/dist/ionic/p-0831d492.entry.js +0 -4
  870. package/dist/ionic/p-0f396661.entry.js +0 -4
  871. package/dist/ionic/p-117e7a3f.entry.js +0 -4
  872. package/dist/ionic/p-1191a2d9.entry.js +0 -4
  873. package/dist/ionic/p-148bdf18.entry.js +0 -4
  874. package/dist/ionic/p-16116947.entry.js +0 -4
  875. package/dist/ionic/p-19f80390.entry.js +0 -4
  876. package/dist/ionic/p-1GR6N4h5.js +0 -4
  877. package/dist/ionic/p-1a91f317.entry.js +0 -4
  878. package/dist/ionic/p-1bbd0a23.entry.js +0 -4
  879. package/dist/ionic/p-1f68cb59.entry.js +0 -4
  880. package/dist/ionic/p-24159ff7.entry.js +0 -4
  881. package/dist/ionic/p-25e5e5cc.entry.js +0 -4
  882. package/dist/ionic/p-2cb0f39f.entry.js +0 -4
  883. package/dist/ionic/p-3392f558.entry.js +0 -4
  884. package/dist/ionic/p-349fc921.entry.js +0 -4
  885. package/dist/ionic/p-3624b640.entry.js +0 -4
  886. package/dist/ionic/p-36a54836.entry.js +0 -4
  887. package/dist/ionic/p-39ed3212.entry.js +0 -4
  888. package/dist/ionic/p-44e3b33a.entry.js +0 -4
  889. package/dist/ionic/p-4DxY6_gG.js +0 -5
  890. package/dist/ionic/p-528af4e6.entry.js +0 -4
  891. package/dist/ionic/p-54dec9b1.entry.js +0 -4
  892. package/dist/ionic/p-568efea2.entry.js +0 -4
  893. package/dist/ionic/p-5bf5bde8.entry.js +0 -4
  894. package/dist/ionic/p-5c976c00.entry.js +0 -4
  895. package/dist/ionic/p-6383afc2.entry.js +0 -4
  896. package/dist/ionic/p-63852736.entry.js +0 -4
  897. package/dist/ionic/p-746cd400.entry.js +0 -4
  898. package/dist/ionic/p-7a53f04c.entry.js +0 -4
  899. package/dist/ionic/p-7b12d853.entry.js +0 -4
  900. package/dist/ionic/p-7da05504.entry.js +0 -4
  901. package/dist/ionic/p-8888efe4.entry.js +0 -4
  902. package/dist/ionic/p-8cdb4ff5.entry.js +0 -4
  903. package/dist/ionic/p-90f4cc71.entry.js +0 -4
  904. package/dist/ionic/p-9ddf2620.entry.js +0 -4
  905. package/dist/ionic/p-9eeaBrnk.js +0 -4
  906. package/dist/ionic/p-B1xocg0A.js +0 -4
  907. package/dist/ionic/p-B5MDSrGg.js +0 -4
  908. package/dist/ionic/p-BHGXdud8.js +0 -4
  909. package/dist/ionic/p-BhNEp2QP.js +0 -4
  910. package/dist/ionic/p-BmVRXR1y.js +0 -4
  911. package/dist/ionic/p-Br3vSlYh.js +0 -4
  912. package/dist/ionic/p-C-Cct-6D.js +0 -4
  913. package/dist/ionic/p-C4I6B3uV.js +0 -4
  914. package/dist/ionic/p-C87oPMMF.js +0 -4
  915. package/dist/ionic/p-C8d2ebIg.js +0 -4
  916. package/dist/ionic/p-CIGNaXM1.js +0 -4
  917. package/dist/ionic/p-Cnh7O81W.js +0 -4
  918. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  919. package/dist/ionic/p-CvaZMP6T.js +0 -4
  920. package/dist/ionic/p-D2fQU_qK.js +0 -4
  921. package/dist/ionic/p-DA3JEZwK.js +0 -4
  922. package/dist/ionic/p-DAfH9Iif.js +0 -4
  923. package/dist/ionic/p-DJKvq7vb.js +0 -4
  924. package/dist/ionic/p-DW5tZAde.js +0 -4
  925. package/dist/ionic/p-Dm_oBkW1.js +0 -4
  926. package/dist/ionic/p-EnaLTYYj.js +0 -4
  927. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  928. package/dist/ionic/p-a00ad0f2.entry.js +0 -4
  929. package/dist/ionic/p-a81be128.entry.js +0 -4
  930. package/dist/ionic/p-afeb9df6.entry.js +0 -4
  931. package/dist/ionic/p-b292804d.entry.js +0 -4
  932. package/dist/ionic/p-bc9f9032.entry.js +0 -4
  933. package/dist/ionic/p-bf81a468.entry.js +0 -4
  934. package/dist/ionic/p-c6d35cdd.entry.js +0 -4
  935. package/dist/ionic/p-cde6d39b.entry.js +0 -4
  936. package/dist/ionic/p-d04d66fc.entry.js +0 -4
  937. package/dist/ionic/p-d3df6032.entry.js +0 -4
  938. package/dist/ionic/p-dbba38cf.entry.js +0 -4
  939. package/dist/ionic/p-e6c3214c.entry.js +0 -4
  940. package/dist/ionic/p-e6c465ff.entry.js +0 -4
  941. package/dist/ionic/p-ec76fec4.entry.js +0 -4
  942. package/dist/ionic/p-ee2e35a6.entry.js +0 -4
  943. package/dist/ionic/p-f7db572a.entry.js +0 -4
  944. package/dist/ionic/p-f9eb54ee.entry.js +0 -4
  945. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -1,167 +1,128 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { d as doc } from './index9.js';
5
- import { q as pointerCoord } from './helpers.js';
4
+ import { c as componentOnReady } from './helpers.js';
5
+ import { e as printRequiredElementError } from './index4.js';
6
6
 
7
- const startTapClick = (config) => {
8
- if (doc === undefined) {
9
- return;
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();
10
33
  }
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);
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) => {
114
41
  /**
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.
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.
125
45
  */
126
- doc.addEventListener('pointercancel', cancelActive, true);
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
+ }));
127
72
  };
128
- // TODO(FW-2832): type
129
- const getActivatableTarget = (ev) => {
130
- if (ev.composedPath !== undefined) {
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;
131
105
  /**
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.
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.
138
111
  */
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
- }
112
+ return initialScrollY;
146
113
  }
147
114
  else {
148
- return ev.target.closest('.ion-activatable');
115
+ contentEl.style.setProperty('overflow', 'hidden');
116
+ return true;
149
117
  }
150
118
  };
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
- }
119
+ const resetContentScrollY = (contentEl, initialScrollY) => {
120
+ if (isIonContent(contentEl)) {
121
+ contentEl.scrollY = initialScrollY;
122
+ }
123
+ else {
124
+ contentEl.style.removeProperty('overflow');
160
125
  }
161
- return el.querySelector('ion-ripple-effect');
162
126
  };
163
- const ACTIVATED = 'ion-activated';
164
- const ADD_ACTIVATED_DEFERS = 100;
165
- const CLEAR_STATE_DEFERS = 150;
166
127
 
167
- export { startTapClick };
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 };
@@ -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 './ionic-global.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 };
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win, d as doc } from './index9.js';
5
- import { g as getScrollElement, c as scrollByPoint, a as findClosestIonContent } from './index8.js';
4
+ import { w as win, d as doc } from './ionic-global.js';
5
+ import { g as getScrollElement, c as scrollByPoint, a as findClosestIonContent } from './index7.js';
6
6
  import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers.js';
7
7
  import { a as KeyboardResize, K as Keyboard } from './keyboard2.js';
8
8
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win } from './index9.js';
4
+ import { w as win } from './ionic-global.js';
5
5
  import { r as raf } from './helpers.js';
6
6
  import { a as printIonError } from './index4.js';
7
7
 
@@ -3,7 +3,9 @@
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
5
  import { p as printIonWarning } from './index4.js';
6
- import { b as getIonMode } from './ionic-global.js';
6
+ import { b as getIonTheme } from './ionic-global.js';
7
+
8
+ const accordionGroupIonicCss = ":host{display:block}:host{min-width:calc(var(--token-scale-6200, 248px) + var(--token-space-600, var(--token-scale-600, 24px)));background-color:var(--token-bg-neutral-subtlest-default, var(--token-primitives-base-white, #ffffff))}:host(.accordion-group-expand-inset){-webkit-padding-start:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-start:var(--token-space-100, var(--token-scale-100, 4px));-webkit-padding-end:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-end:var(--token-space-100, var(--token-scale-100, 4px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}:host(.accordion-group-expand-inset.accordion-group-shape-round){--border-radius:var(--token-round-xl, var(--token-border-radius-400, var(--token-scale-400, 16px)));border-radius:var(--token-round-xl, var(--token-border-radius-400, var(--token-scale-400, 16px)))}:host(.accordion-group-expand-inset.accordion-group-shape-soft){--border-radius:var(--token-soft-xl, var(--token-border-radius-200, var(--token-scale-200, 8px)));border-radius:var(--token-soft-xl, var(--token-border-radius-200, var(--token-scale-200, 8px)))}:host(.accordion-group-expand-inset.accordion-group-shape-rectangular){--border-radius:var(--token-rectangular-xl, var(--token-border-radius-0, var(--token-scale-0, 0px)));border-radius:var(--token-rectangular-xl, var(--token-border-radius-0, var(--token-scale-0, 0px)))}";
7
9
 
8
10
  const accordionGroupIosCss = ":host{display:block}:host(.accordion-group-expand-inset){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:16px;margin-bottom:16px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanding),:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanded){border-bottom:none}";
9
11
 
@@ -216,15 +218,29 @@ const AccordionGroup = /*@__PURE__*/ proxyCustomElement(class AccordionGroup ext
216
218
  async getAccordions() {
217
219
  return Array.from(this.el.querySelectorAll(':scope > ion-accordion'));
218
220
  }
221
+ getShape() {
222
+ const theme = getIonTheme(this);
223
+ const { shape } = this;
224
+ // TODO(ROU-11328): Remove theme check when shapes are defined for all themes.
225
+ if (theme !== 'ionic') {
226
+ return undefined;
227
+ }
228
+ if (shape === undefined) {
229
+ return 'round';
230
+ }
231
+ return shape;
232
+ }
219
233
  render() {
220
234
  const { disabled, readonly, expand } = this;
221
- const mode = getIonMode(this);
222
- return (h(Host, { key: 'd1a79a93179474fbba66fcf11a92f4871dacc975', class: {
223
- [mode]: true,
235
+ const theme = getIonTheme(this);
236
+ const shape = this.getShape();
237
+ return (h(Host, { key: '3ff9248922382f2fe2eb9eb2fd895bb9aa91ef2f', class: {
238
+ [theme]: true,
224
239
  'accordion-group-disabled': disabled,
225
240
  'accordion-group-readonly': readonly,
226
241
  [`accordion-group-expand-${expand}`]: true,
227
- }, role: "presentation" }, h("slot", { key: 'e6b8954b686d1fbb4fc92adb07fddc97a24b0a31' })));
242
+ [`accordion-group-shape-${shape}`]: shape !== undefined,
243
+ }, role: "presentation" }, h("slot", { key: 'aaa96bfa504bb020c7897e44ac1502b12bb81faf' })));
228
244
  }
229
245
  get el() { return this; }
230
246
  static get watchers() { return {
@@ -233,16 +249,18 @@ const AccordionGroup = /*@__PURE__*/ proxyCustomElement(class AccordionGroup ext
233
249
  "readonly": ["readonlyChanged"]
234
250
  }; }
235
251
  static get style() { return {
252
+ ionic: accordionGroupIonicCss,
236
253
  ios: accordionGroupIosCss,
237
254
  md: accordionGroupMdCss
238
255
  }; }
239
- }, [289, "ion-accordion-group", {
256
+ }, [33, "ion-accordion-group", {
240
257
  "animated": [4],
241
258
  "multiple": [4],
242
259
  "value": [1025],
243
260
  "disabled": [4],
244
261
  "readonly": [4],
245
262
  "expand": [1],
263
+ "shape": [1],
246
264
  "requestAccordionToggle": [64],
247
265
  "getAccordions": [64]
248
266
  }, [[0, "keydown", "onKeydown"]], {