@ionic/core 8.7.14-dev.11765828575.1dda19db → 8.7.14-dev.11765982433.1ecdbcee

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 (935) hide show
  1. package/components/action-sheet.js +15 -11
  2. package/components/alert.js +14 -11
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +9 -6
  5. package/components/button.js +41 -10
  6. package/components/buttons.js +11 -8
  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 +31 -12
  12. package/components/content.js +14 -12
  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 +34 -22
  17. package/components/helpers.js +42 -3
  18. package/components/index5.js +8 -8
  19. package/components/index6.js +1 -1
  20. package/components/index7.js +111 -150
  21. package/components/index8.js +150 -111
  22. package/components/input-shims.js +2 -2
  23. package/components/input.utils.js +1 -1
  24. package/components/ion-accordion-group.js +23 -5
  25. package/components/ion-accordion.js +32 -21
  26. package/components/ion-app.js +12 -77
  27. package/components/ion-avatar.js +58 -5
  28. package/components/ion-back-button.js +27 -19
  29. package/components/ion-badge.js +73 -9
  30. package/components/ion-breadcrumb.js +43 -10
  31. package/components/ion-breadcrumbs.js +8 -5
  32. package/components/ion-card-content.js +10 -7
  33. package/components/ion-card-header.js +9 -6
  34. package/components/ion-card-subtitle.js +8 -5
  35. package/components/ion-card-title.js +8 -5
  36. package/components/ion-card.js +21 -9
  37. package/components/ion-chip.js +53 -8
  38. package/components/ion-col.js +51 -50
  39. package/components/ion-datetime-button.js +8 -5
  40. package/components/ion-datetime.js +98 -21
  41. package/components/ion-divider.d.ts +11 -0
  42. package/components/ion-divider.js +72 -0
  43. package/components/ion-fab-button.js +31 -15
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +18 -13
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-img.js +5 -2
  49. package/components/ion-infinite-scroll-content.js +11 -8
  50. package/components/ion-infinite-scroll.js +78 -6
  51. package/components/ion-input-otp.js +9 -6
  52. package/components/ion-input-password-toggle.js +51 -13
  53. package/components/ion-input.js +120 -28
  54. package/components/ion-item-divider.js +8 -5
  55. package/components/ion-item-group.js +8 -5
  56. package/components/ion-item-option.js +36 -9
  57. package/components/ion-item-options.js +10 -7
  58. package/components/ion-item-sliding.js +5 -5
  59. package/components/ion-loading.js +12 -9
  60. package/components/ion-menu-button.js +26 -10
  61. package/components/ion-menu-toggle.js +5 -5
  62. package/components/ion-menu.js +10 -8
  63. package/components/ion-nav-link.js +1 -1
  64. package/components/ion-nav.js +7 -5
  65. package/components/ion-note.js +8 -5
  66. package/components/ion-picker-legacy.js +7 -7
  67. package/components/ion-progress-bar.js +25 -7
  68. package/components/ion-range.js +12 -9
  69. package/components/ion-refresher-content.js +23 -8
  70. package/components/ion-refresher.js +10 -7
  71. package/components/ion-reorder-group.js +5 -5
  72. package/components/ion-reorder.js +30 -5
  73. package/components/ion-router-link.js +6 -6
  74. package/components/ion-router-outlet.js +4 -4
  75. package/components/ion-row.js +6 -3
  76. package/components/ion-searchbar.js +137 -23
  77. package/components/ion-segment-button.js +10 -7
  78. package/components/ion-segment-content.js +1 -1
  79. package/components/ion-segment-view.js +5 -2
  80. package/components/ion-segment.js +10 -7
  81. package/components/ion-select-option.js +5 -2
  82. package/components/ion-select.js +117 -33
  83. package/components/ion-skeleton-text.js +5 -5
  84. package/components/ion-split-pane.js +11 -8
  85. package/components/ion-tab-bar.js +39 -9
  86. package/components/ion-tab-button.js +35 -8
  87. package/components/ion-tab.js +2 -2
  88. package/components/ion-tabs.js +2 -2
  89. package/components/ion-text.js +5 -5
  90. package/components/ion-textarea.js +52 -11
  91. package/components/ion-thumbnail.js +5 -2
  92. package/components/ion-toast.js +37 -12
  93. package/components/ion-toggle.js +74 -17
  94. package/components/ionic-global.js +364 -15
  95. package/components/ios.transition.js +1 -0
  96. package/components/item.js +47 -15
  97. package/components/keyboard-controller.js +4 -2
  98. package/components/label.js +8 -5
  99. package/components/list-header.js +10 -7
  100. package/components/list.js +27 -6
  101. package/components/list2.js +6 -0
  102. package/components/modal.js +48 -20
  103. package/components/notch-controller.js +1 -1
  104. package/components/overlays.js +3 -4
  105. package/components/picker-column-option.js +8 -5
  106. package/components/picker-column.js +7 -8
  107. package/components/picker-column2.js +4 -4
  108. package/components/picker.js +7 -4
  109. package/components/popover.js +12 -9
  110. package/components/radio-group.js +15 -7
  111. package/components/radio.js +11 -8
  112. package/components/ripple-effect.js +15 -7
  113. package/components/select-modal.js +12 -5
  114. package/components/select-popover.js +8 -2
  115. package/components/spinner.js +31 -8
  116. package/components/status-tap.js +1 -1
  117. package/components/title.js +10 -7
  118. package/components/toolbar.js +153 -9
  119. package/components/x.js +6 -0
  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/bundle.ionic.css +1 -0
  129. package/css/ionic/bundle.ionic.css.map +1 -0
  130. package/css/ionic/core.ionic.css +1 -0
  131. package/css/ionic/core.ionic.css.map +1 -0
  132. package/css/ionic/global.bundle.ionic.css +1 -0
  133. package/css/ionic/global.bundle.ionic.css.map +1 -0
  134. package/css/ionic/ionic-swiper.ionic.css +1 -0
  135. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  136. package/css/ionic/link.ionic.css +1 -0
  137. package/css/ionic/link.ionic.css.map +1 -0
  138. package/css/ionic/structure.ionic.css +1 -0
  139. package/css/ionic/structure.ionic.css.map +1 -0
  140. package/css/ionic/typography.ionic.css +1 -0
  141. package/css/ionic/typography.ionic.css.map +1 -0
  142. package/css/ionic/utils.bundle.ionic.css +1 -0
  143. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  144. package/css/ionic-swiper.css +1 -1
  145. package/css/ionic-swiper.css.map +1 -1
  146. package/css/ionic.bundle.css +1 -1
  147. package/css/ionic.bundle.css.map +1 -1
  148. package/css/normalize.css.map +1 -1
  149. package/css/padding.css.map +1 -1
  150. package/css/palettes/dark.always.css.map +1 -1
  151. package/css/palettes/dark.class.css.map +1 -1
  152. package/css/palettes/dark.system.css.map +1 -1
  153. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  156. package/css/palettes/high-contrast.always.css.map +1 -1
  157. package/css/palettes/high-contrast.class.css.map +1 -1
  158. package/css/palettes/high-contrast.system.css.map +1 -1
  159. package/css/structure.css.map +1 -1
  160. package/css/text-alignment.css.map +1 -1
  161. package/css/text-transformation.css.map +1 -1
  162. package/css/typography.css.map +1 -1
  163. package/css/utils.bundle.css +1 -1
  164. package/css/utils.bundle.css.map +1 -1
  165. package/dist/cjs/{animation-Bt3H9L1C.js → animation-CD5nuON9.js} +2 -2
  166. package/dist/cjs/{app-globals-Ciccnk9_.js → app-globals-CoW5jvJu.js} +1 -1
  167. package/dist/cjs/{button-active-CMc8cD90.js → button-active-Dxyabn6T.js} +1 -1
  168. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-C8raJ_tU.js} +3 -3
  169. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  170. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  171. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  172. package/dist/cjs/{data-JwZKaIQB.js → data-MoL8Ckx5.js} +5 -5
  173. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  174. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-Bwdk9vFS.js} +4 -2
  175. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-BU6_qLwg.js} +1 -1
  176. package/dist/cjs/{helpers-DrTqNghc.js → helpers-DnouLczu.js} +41 -2
  177. package/dist/cjs/{index-DrMUZJj6.js → index-C4_FN9N0.js} +15 -15
  178. package/dist/cjs/{index-C534ULug.js → index-CADY2xEW.js} +8 -7
  179. package/dist/cjs/{index-CO6eryBo.js → index-DUoP_H1L.js} +1 -1
  180. package/dist/cjs/{index-094mMFB-.js → index-JtyffOXl.js} +3 -3
  181. package/dist/cjs/index.cjs.js +10 -11
  182. package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-C-YCyXjg.js} +17 -16
  183. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-C3-BwdV0.js} +5 -5
  184. package/dist/cjs/ion-accordion_2.cjs.entry.js +55 -26
  185. package/dist/cjs/ion-action-sheet.cjs.entry.js +23 -20
  186. package/dist/cjs/ion-alert.cjs.entry.js +22 -20
  187. package/dist/cjs/ion-app_8.cjs.entry.js +249 -150
  188. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
  189. package/dist/cjs/ion-back-button.cjs.entry.js +28 -19
  190. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
  191. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +51 -15
  192. package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
  193. package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
  194. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
  195. package/dist/cjs/ion-chip.cjs.entry.js +48 -7
  196. package/dist/cjs/ion-col_3.cjs.entry.js +53 -56
  197. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
  198. package/dist/cjs/ion-datetime_3.cjs.entry.js +113 -38
  199. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  200. package/dist/cjs/ion-fab_3.cjs.entry.js +41 -25
  201. package/dist/cjs/ion-img.cjs.entry.js +7 -3
  202. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +89 -14
  203. package/dist/cjs/ion-input-otp.cjs.entry.js +11 -7
  204. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +50 -12
  205. package/dist/cjs/ion-input.cjs.entry.js +120 -30
  206. package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
  207. package/dist/cjs/ion-item_8.cjs.entry.js +113 -46
  208. package/dist/cjs/ion-loading.cjs.entry.js +17 -15
  209. package/dist/cjs/ion-menu_3.cjs.entry.js +44 -26
  210. package/dist/cjs/ion-modal.cjs.entry.js +96 -69
  211. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
  212. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -6
  213. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  214. package/dist/cjs/ion-picker.cjs.entry.js +9 -5
  215. package/dist/cjs/ion-popover.cjs.entry.js +18 -16
  216. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
  217. package/dist/cjs/ion-radio_2.cjs.entry.js +24 -14
  218. package/dist/cjs/ion-range.cjs.entry.js +14 -10
  219. package/dist/cjs/ion-refresher_2.cjs.entry.js +36 -18
  220. package/dist/cjs/ion-reorder_2.cjs.entry.js +36 -12
  221. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -6
  222. package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
  223. package/dist/cjs/ion-searchbar.cjs.entry.js +134 -21
  224. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  225. package/dist/cjs/ion-segment-view.cjs.entry.js +5 -2
  226. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -14
  227. package/dist/cjs/ion-select-modal.cjs.entry.js +15 -9
  228. package/dist/cjs/ion-select_3.cjs.entry.js +129 -38
  229. package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
  230. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
  231. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +75 -21
  232. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -6
  233. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  234. package/dist/cjs/ion-textarea.cjs.entry.js +55 -15
  235. package/dist/cjs/ion-toast.cjs.entry.js +66 -43
  236. package/dist/cjs/ion-toggle.cjs.entry.js +78 -21
  237. package/dist/cjs/ionic-global-DpRwOXLK.js +506 -0
  238. package/dist/cjs/ionic.cjs.js +3 -3
  239. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-Dt4GT8w5.js} +6 -4
  240. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-B8HJHbg3.js} +4 -3
  241. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-BlrG3xPK.js} +1 -1
  242. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-O8n0dTQz.js} +11 -9
  243. package/dist/cjs/list-a-7GSA6K.js +8 -0
  244. package/dist/cjs/loader.cjs.js +3 -3
  245. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-BolcQzNP.js} +5 -4
  246. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-BE80VRju.js} +4 -4
  247. package/dist/cjs/{overlays--dagG4QM.js → overlays-D7GuFhXb.js} +8 -9
  248. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-e-hyosXV.js} +3 -2
  249. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-CR060nOX.js} +2 -1
  250. package/dist/cjs/x-BTF99yFH.js +8 -0
  251. package/dist/collection/collection-manifest.json +1 -0
  252. package/dist/collection/components/accordion/accordion.ionic.css +196 -0
  253. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  254. package/dist/collection/components/accordion/accordion.js +36 -26
  255. package/dist/collection/components/accordion/accordion.md.css +67 -59
  256. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  257. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  258. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  259. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  260. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  261. package/dist/collection/components/action-sheet/action-sheet.js +17 -13
  262. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  263. package/dist/collection/components/alert/alert.ios.css +19 -1
  264. package/dist/collection/components/alert/alert.js +16 -13
  265. package/dist/collection/components/alert/alert.md.css +19 -1
  266. package/dist/collection/components/app/app.js +15 -78
  267. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  268. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  269. package/dist/collection/components/avatar/avatar.js +120 -4
  270. package/dist/collection/components/avatar/avatar.md.css +51 -0
  271. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  272. package/dist/collection/components/back-button/back-button.js +27 -19
  273. package/dist/collection/components/back-button/back-button.md.css +60 -48
  274. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  275. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  276. package/dist/collection/components/backdrop/backdrop.js +12 -6
  277. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  278. package/dist/collection/components/badge/badge.ionic.css +275 -0
  279. package/dist/collection/components/badge/badge.ios.css +139 -12
  280. package/dist/collection/components/badge/badge.js +145 -9
  281. package/dist/collection/components/badge/badge.md.css +123 -12
  282. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  283. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  284. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  285. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  286. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  287. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  288. package/dist/collection/components/button/button.ionic.css +636 -0
  289. package/dist/collection/components/button/button.ios.css +135 -46
  290. package/dist/collection/components/button/button.js +48 -17
  291. package/dist/collection/components/button/button.md.css +126 -50
  292. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  293. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  294. package/dist/collection/components/buttons/buttons.js +15 -9
  295. package/dist/collection/components/buttons/buttons.md.css +55 -3
  296. package/dist/collection/components/card/card.ionic.css +144 -0
  297. package/dist/collection/components/card/card.ios.css +65 -14
  298. package/dist/collection/components/card/card.js +41 -10
  299. package/dist/collection/components/card/card.md.css +65 -14
  300. package/dist/collection/components/card-content/card-content.ionic.css +92 -0
  301. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  302. package/dist/collection/components/card-content/card-content.js +11 -8
  303. package/dist/collection/components/card-content/card-content.md.css +16 -1
  304. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  305. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  306. package/dist/collection/components/card-header/card-header.js +13 -10
  307. package/dist/collection/components/card-header/card-header.md.css +27 -15
  308. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  309. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  310. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  311. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  312. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  313. package/dist/collection/components/card-title/card-title.js +11 -8
  314. package/dist/collection/components/card-title/card-title.md.css +73 -0
  315. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  316. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  317. package/dist/collection/components/checkbox/checkbox.js +70 -14
  318. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  319. package/dist/collection/components/chip/chip.ionic.css +215 -0
  320. package/dist/collection/components/chip/chip.ios.css +67 -14
  321. package/dist/collection/components/chip/chip.js +108 -8
  322. package/dist/collection/components/chip/chip.md.css +67 -14
  323. package/dist/collection/components/col/col.css +192 -4
  324. package/dist/collection/components/col/col.js +210 -61
  325. package/dist/collection/components/content/content.css +8 -2
  326. package/dist/collection/components/content/content.js +16 -11
  327. package/dist/collection/components/datetime/datetime.ionic.css +711 -0
  328. package/dist/collection/components/datetime/datetime.ios.css +258 -96
  329. package/dist/collection/components/datetime/datetime.js +98 -20
  330. package/dist/collection/components/datetime/datetime.md.css +258 -96
  331. package/dist/collection/components/datetime/utils/data.js +5 -5
  332. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  333. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  334. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  335. package/dist/collection/components/divider/divider.ionic.css +148 -0
  336. package/dist/collection/components/divider/divider.ios.css +87 -0
  337. package/dist/collection/components/divider/divider.js +94 -0
  338. package/dist/collection/components/divider/divider.md.css +87 -0
  339. package/dist/collection/components/fab/fab.css +25 -1
  340. package/dist/collection/components/fab/fab.js +9 -5
  341. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  342. package/dist/collection/components/fab-button/fab-button.js +36 -21
  343. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  344. package/dist/collection/components/fab-list/fab-list.css +12 -0
  345. package/dist/collection/components/fab-list/fab-list.js +9 -5
  346. package/dist/collection/components/footer/footer.ios.css +14 -2
  347. package/dist/collection/components/footer/footer.js +21 -16
  348. package/dist/collection/components/footer/footer.md.css +12 -0
  349. package/dist/collection/components/grid/grid.css +12 -0
  350. package/dist/collection/components/grid/grid.js +9 -5
  351. package/dist/collection/components/header/header.ionic.css +97 -0
  352. package/dist/collection/components/header/header.ios.css +25 -10
  353. package/dist/collection/components/header/header.js +50 -19
  354. package/dist/collection/components/header/header.md.css +23 -8
  355. package/dist/collection/components/header/header.utils.js +5 -5
  356. package/dist/collection/components/img/img.js +8 -2
  357. package/dist/collection/components/infinite-scroll/infinite-scroll.js +100 -5
  358. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  360. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  361. package/dist/collection/components/input/input.ionic.css +885 -0
  362. package/dist/collection/components/input/input.ios.css +223 -140
  363. package/dist/collection/components/input/input.js +149 -38
  364. package/dist/collection/components/input/input.md.css +193 -212
  365. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  366. package/dist/collection/components/input-otp/input-otp.ios.css +102 -60
  367. package/dist/collection/components/input-otp/input-otp.js +7 -5
  368. package/dist/collection/components/input-otp/input-otp.md.css +102 -60
  369. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  371. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  372. package/dist/collection/components/item/item.ionic.css +508 -0
  373. package/dist/collection/components/item/item.ios.css +109 -69
  374. package/dist/collection/components/item/item.js +51 -20
  375. package/dist/collection/components/item/item.md.css +120 -68
  376. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  377. package/dist/collection/components/item-divider/item-divider.js +11 -8
  378. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  379. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  380. package/dist/collection/components/item-group/item-group.js +13 -7
  381. package/dist/collection/components/item-group/item-group.md.css +12 -0
  382. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  383. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  384. package/dist/collection/components/item-option/item-option.js +73 -9
  385. package/dist/collection/components/item-option/item-option.md.css +136 -29
  386. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  387. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  388. package/dist/collection/components/item-options/item-options.js +13 -7
  389. package/dist/collection/components/item-options/item-options.md.css +77 -34
  390. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  391. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  392. package/dist/collection/components/label/label.ios.css +18 -0
  393. package/dist/collection/components/label/label.js +11 -8
  394. package/dist/collection/components/label/label.md.css +18 -0
  395. package/dist/collection/components/list/list.ionic.css +212 -0
  396. package/dist/collection/components/list/list.ios.css +54 -14
  397. package/dist/collection/components/list/list.js +48 -9
  398. package/dist/collection/components/list/list.md.css +56 -16
  399. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  400. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  401. package/dist/collection/components/list-header/list-header.js +11 -8
  402. package/dist/collection/components/list-header/list-header.md.css +82 -38
  403. package/dist/collection/components/loading/loading.ios.css +13 -1
  404. package/dist/collection/components/loading/loading.js +14 -11
  405. package/dist/collection/components/loading/loading.md.css +13 -1
  406. package/dist/collection/components/menu/menu.ios.css +15 -3
  407. package/dist/collection/components/menu/menu.js +12 -7
  408. package/dist/collection/components/menu/menu.md.css +15 -3
  409. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  410. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  411. package/dist/collection/components/menu-button/menu-button.js +26 -10
  412. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  413. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  414. package/dist/collection/components/modal/animations/sheet.js +8 -2
  415. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  416. package/dist/collection/components/modal/modal.ionic.css +247 -0
  417. package/dist/collection/components/modal/modal.ios.css +174 -70
  418. package/dist/collection/components/modal/modal.js +48 -11
  419. package/dist/collection/components/modal/modal.md.css +174 -70
  420. package/dist/collection/components/nav/nav.css +7 -1
  421. package/dist/collection/components/nav/nav.js +11 -5
  422. package/dist/collection/components/nav-link/nav-link.js +5 -1
  423. package/dist/collection/components/note/note.ios.css +12 -0
  424. package/dist/collection/components/note/note.js +11 -8
  425. package/dist/collection/components/note/note.md.css +12 -0
  426. package/dist/collection/components/picker/picker.ios.css +15 -3
  427. package/dist/collection/components/picker/picker.js +8 -5
  428. package/dist/collection/components/picker/picker.md.css +15 -3
  429. package/dist/collection/components/picker-column/picker-column.css +9 -2
  430. package/dist/collection/components/picker-column/picker-column.js +8 -7
  431. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  432. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  433. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  434. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  435. package/dist/collection/components/picker-legacy/picker.js +7 -6
  436. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  437. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  438. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  439. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  440. package/dist/collection/components/popover/popover.ios.css +13 -1
  441. package/dist/collection/components/popover/popover.js +17 -14
  442. package/dist/collection/components/popover/popover.md.css +13 -1
  443. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  444. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  445. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  446. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  447. package/dist/collection/components/radio/radio.ionic.css +422 -0
  448. package/dist/collection/components/radio/radio.ios.css +134 -91
  449. package/dist/collection/components/radio/radio.js +12 -9
  450. package/dist/collection/components/radio/radio.md.css +134 -91
  451. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  452. package/dist/collection/components/radio-group/radio-group.ios.css +43 -23
  453. package/dist/collection/components/radio-group/radio-group.js +21 -6
  454. package/dist/collection/components/radio-group/radio-group.md.css +43 -23
  455. package/dist/collection/components/range/range.ionic.css +563 -0
  456. package/dist/collection/components/range/range.ios.css +128 -85
  457. package/dist/collection/components/range/range.js +12 -9
  458. package/dist/collection/components/range/range.md.css +128 -85
  459. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  460. package/dist/collection/components/refresher/refresher.js +11 -8
  461. package/dist/collection/components/refresher/refresher.md.css +15 -2
  462. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  463. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  464. package/dist/collection/components/reorder/reorder.js +33 -6
  465. package/dist/collection/components/reorder/reorder.md.css +6 -0
  466. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  467. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  468. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  469. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  470. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  471. package/dist/collection/components/route/route.js +4 -0
  472. package/dist/collection/components/router/router.js +4 -0
  473. package/dist/collection/components/router-link/router-link.css +8 -2
  474. package/dist/collection/components/router-link/router-link.js +9 -5
  475. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  476. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  477. package/dist/collection/components/row/row.css +16 -0
  478. package/dist/collection/components/row/row.js +9 -2
  479. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  480. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  481. package/dist/collection/components/searchbar/searchbar.js +181 -34
  482. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  483. package/dist/collection/components/segment/segment.ionic.css +115 -0
  484. package/dist/collection/components/segment/segment.ios.css +45 -2
  485. package/dist/collection/components/segment/segment.js +11 -8
  486. package/dist/collection/components/segment/segment.md.css +45 -2
  487. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  488. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  489. package/dist/collection/components/segment-button/segment-button.js +11 -8
  490. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  491. package/dist/collection/components/segment-content/segment-content.js +1 -1
  492. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  493. package/dist/collection/components/segment-view/segment-view.js +6 -4
  494. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  495. package/dist/collection/components/select/select.ionic.css +777 -0
  496. package/dist/collection/components/select/select.ios.css +315 -176
  497. package/dist/collection/components/select/select.js +156 -53
  498. package/dist/collection/components/select/select.md.css +331 -178
  499. package/dist/collection/components/select-modal/select-modal.ionic.css +130 -0
  500. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  501. package/dist/collection/components/select-modal/select-modal.js +11 -4
  502. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  503. package/dist/collection/components/select-option/select-option.js +9 -2
  504. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  505. package/dist/collection/components/select-popover/select-popover.js +12 -4
  506. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  507. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  508. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  509. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +77 -10
  510. package/dist/collection/components/spinner/spinner.js +47 -6
  511. package/dist/collection/components/spinner/spinner.native.css +198 -0
  512. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  513. package/dist/collection/components/split-pane/split-pane.js +14 -8
  514. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  515. package/dist/collection/components/tab/tab.js +6 -2
  516. package/dist/collection/components/tab-bar/tab-bar.ionic.css +201 -0
  517. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  518. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  519. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  520. package/dist/collection/components/tab-button/tab-button.ionic.css +337 -0
  521. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  522. package/dist/collection/components/tab-button/tab-button.js +54 -9
  523. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  524. package/dist/collection/components/tabs/tabs.css +7 -1
  525. package/dist/collection/components/tabs/tabs.js +4 -1
  526. package/dist/collection/components/text/text.css +6 -0
  527. package/dist/collection/components/text/text.js +7 -6
  528. package/dist/collection/components/textarea/textarea.ionic.css +885 -0
  529. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  530. package/dist/collection/components/textarea/textarea.js +76 -16
  531. package/dist/collection/components/textarea/textarea.md.css +288 -140
  532. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  533. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  534. package/dist/collection/components/title/title.ionic.css +127 -0
  535. package/dist/collection/components/title/title.ios.css +32 -4
  536. package/dist/collection/components/title/title.js +13 -7
  537. package/dist/collection/components/title/title.md.css +32 -4
  538. package/dist/collection/components/toast/animations/utils.js +1 -1
  539. package/dist/collection/components/toast/toast.ionic.css +394 -0
  540. package/dist/collection/components/toast/toast.ios.css +84 -45
  541. package/dist/collection/components/toast/toast.js +75 -12
  542. package/dist/collection/components/toast/toast.md.css +84 -45
  543. package/dist/collection/components/toggle/toggle.ionic.css +508 -0
  544. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  545. package/dist/collection/components/toggle/toggle.js +73 -18
  546. package/dist/collection/components/toggle/toggle.md.css +244 -131
  547. package/dist/collection/components/toolbar/test/image.svg +1 -0
  548. package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
  549. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  550. package/dist/collection/components/toolbar/toolbar.js +157 -13
  551. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  552. package/dist/collection/global/ionic-global.js +228 -13
  553. package/dist/collection/utils/focus-visible.js +22 -0
  554. package/dist/collection/utils/framework-delegate.js +3 -1
  555. package/dist/collection/utils/hardware-back-button.js +15 -0
  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 +26 -3
  565. package/dist/collection/utils/transition/ios.transition.js +1 -0
  566. package/dist/docs.json +8195 -374
  567. package/dist/esm/{animation-Dt8bGnA-.js → animation-BNuoDl-O.js} +1 -1
  568. package/dist/esm/{app-globals-BDSf8fOA.js → app-globals-tX0s9Zd7.js} +1 -1
  569. package/dist/esm/{button-active-L570Swow.js → button-active-BF6GZ_yH.js} +1 -1
  570. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-pzVAlnC0.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/{data-DCORV9FH.js → data-DFCY8gnk.js} +5 -5
  575. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  576. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-D2mUP0WI.js} +4 -2
  577. package/dist/esm/{haptic-DzAMWJuk.js → haptic-bBvyATla.js} +1 -1
  578. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Bsml3FcE.js} +42 -3
  579. package/dist/esm/{index-CvDIirVx.js → index-BQI9hSZP.js} +10 -10
  580. package/dist/esm/{index-ceb5RaMT.js → index-Bnw-zNoN.js} +3 -2
  581. package/dist/esm/{index-Bs3kT4bc.js → index-BpFi2B8W.js} +1 -1
  582. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  583. package/dist/esm/{index-r2D9DEro.js → index-M3l-IyxQ.js} +3 -3
  584. package/dist/esm/index.js +10 -11
  585. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-ACbgRt10.js} +6 -5
  586. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-loPnHH5H.js} +2 -2
  587. package/dist/esm/ion-accordion_2.entry.js +56 -27
  588. package/dist/esm/ion-action-sheet.entry.js +23 -20
  589. package/dist/esm/ion-alert.entry.js +22 -20
  590. package/dist/esm/ion-app_8.entry.js +250 -151
  591. package/dist/esm/ion-avatar_3.entry.js +125 -13
  592. package/dist/esm/ion-back-button.entry.js +29 -20
  593. package/dist/esm/ion-backdrop.entry.js +9 -6
  594. package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
  595. package/dist/esm/ion-button_2.entry.js +43 -11
  596. package/dist/esm/ion-card_5.entry.js +53 -29
  597. package/dist/esm/ion-checkbox.entry.js +31 -13
  598. package/dist/esm/ion-chip.entry.js +49 -8
  599. package/dist/esm/ion-col_3.entry.js +54 -57
  600. package/dist/esm/ion-datetime-button.entry.js +11 -7
  601. package/dist/esm/ion-datetime_3.entry.js +115 -40
  602. package/dist/esm/ion-divider.entry.js +49 -0
  603. package/dist/esm/ion-fab_3.entry.js +43 -27
  604. package/dist/esm/ion-img.entry.js +7 -3
  605. package/dist/esm/ion-infinite-scroll_2.entry.js +89 -14
  606. package/dist/esm/ion-input-otp.entry.js +11 -7
  607. package/dist/esm/ion-input-password-toggle.entry.js +52 -14
  608. package/dist/esm/ion-input.entry.js +122 -32
  609. package/dist/esm/ion-item-option_3.entry.js +48 -19
  610. package/dist/esm/ion-item_8.entry.js +115 -48
  611. package/dist/esm/ion-loading.entry.js +17 -15
  612. package/dist/esm/ion-menu_3.entry.js +45 -27
  613. package/dist/esm/ion-modal.entry.js +56 -29
  614. package/dist/esm/ion-nav_2.entry.js +13 -10
  615. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  616. package/dist/esm/ion-picker-column.entry.js +11 -11
  617. package/dist/esm/ion-picker.entry.js +9 -5
  618. package/dist/esm/ion-popover.entry.js +18 -16
  619. package/dist/esm/ion-progress-bar.entry.js +25 -7
  620. package/dist/esm/ion-radio_2.entry.js +24 -14
  621. package/dist/esm/ion-range.entry.js +14 -10
  622. package/dist/esm/ion-refresher_2.entry.js +37 -19
  623. package/dist/esm/ion-reorder_2.entry.js +38 -14
  624. package/dist/esm/ion-ripple-effect.entry.js +14 -6
  625. package/dist/esm/ion-route_4.entry.js +8 -7
  626. package/dist/esm/ion-searchbar.entry.js +137 -24
  627. package/dist/esm/ion-segment-content.entry.js +1 -1
  628. package/dist/esm/ion-segment-view.entry.js +5 -2
  629. package/dist/esm/ion-segment_2.entry.js +21 -14
  630. package/dist/esm/ion-select-modal.entry.js +16 -10
  631. package/dist/esm/ion-select_3.entry.js +131 -40
  632. package/dist/esm/ion-spinner.entry.js +28 -6
  633. package/dist/esm/ion-split-pane.entry.js +11 -8
  634. package/dist/esm/ion-tab-bar_2.entry.js +75 -21
  635. package/dist/esm/ion-tab_2.entry.js +7 -6
  636. package/dist/esm/ion-text.entry.js +5 -5
  637. package/dist/esm/ion-textarea.entry.js +55 -15
  638. package/dist/esm/ion-toast.entry.js +40 -17
  639. package/dist/esm/ion-toggle.entry.js +79 -22
  640. package/dist/esm/ionic-global-2lDD9k7y.js +495 -0
  641. package/dist/esm/ionic.js +3 -3
  642. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition-uJxJFbq8.js} +6 -4
  643. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-B-HHSSYU.js} +4 -3
  644. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-CU1vRv-b.js} +1 -1
  645. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-Dplyc4OV.js} +5 -3
  646. package/dist/esm/list-Dhi5xtNS.js +6 -0
  647. package/dist/esm/loader.js +3 -3
  648. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-Dp4NTeSh.js} +5 -4
  649. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-BvFDmO69.js} +2 -2
  650. package/dist/esm/{overlays-DCabi1dI.js → overlays-Bi5WpIkN.js} +5 -6
  651. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-DXVlluKS.js} +3 -2
  652. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-DNhAt9fY.js} +2 -1
  653. package/dist/esm/x-BDqjX7Z_.js +6 -0
  654. package/dist/html.html-data.json +2530 -224
  655. package/dist/ionic/index.esm.js +1 -1
  656. package/dist/ionic/ionic.esm.js +1 -1
  657. package/dist/ionic/p-01577340.entry.js +4 -0
  658. package/dist/ionic/p-03a794dc.entry.js +4 -0
  659. package/dist/ionic/p-04b1d37a.entry.js +4 -0
  660. package/dist/ionic/p-04e0ff62.entry.js +4 -0
  661. package/dist/ionic/p-0607ce8e.entry.js +4 -0
  662. package/dist/ionic/p-0744265c.entry.js +4 -0
  663. package/dist/ionic/p-0ac7c560.entry.js +4 -0
  664. package/dist/ionic/p-0c41c8a8.entry.js +4 -0
  665. package/dist/ionic/p-0eecce18.entry.js +4 -0
  666. package/dist/ionic/p-0f124806.entry.js +4 -0
  667. package/dist/ionic/p-0f3ca9c1.entry.js +4 -0
  668. package/dist/ionic/p-19b2060d.entry.js +4 -0
  669. package/dist/ionic/p-2536e681.entry.js +4 -0
  670. package/dist/ionic/p-27dbb44c.entry.js +4 -0
  671. package/dist/ionic/p-28a9d991.entry.js +4 -0
  672. package/dist/ionic/p-2920da49.entry.js +4 -0
  673. package/dist/ionic/p-2dc676b2.entry.js +4 -0
  674. package/dist/ionic/p-363a3268.entry.js +4 -0
  675. package/dist/ionic/p-381eb2a4.entry.js +4 -0
  676. package/dist/ionic/p-412d5d9e.entry.js +4 -0
  677. package/dist/ionic/p-4c31db58.entry.js +4 -0
  678. package/dist/ionic/p-5543b7b8.entry.js +4 -0
  679. package/dist/ionic/p-57a2d30b.entry.js +4 -0
  680. package/dist/ionic/p-59a79bd9.entry.js +4 -0
  681. package/dist/ionic/p-5b64852f.entry.js +4 -0
  682. package/dist/ionic/p-5daa0980.entry.js +4 -0
  683. package/dist/ionic/p-5f9d9c14.entry.js +4 -0
  684. package/dist/ionic/p-67a63ae1.entry.js +4 -0
  685. package/dist/ionic/p-6bb99f41.entry.js +4 -0
  686. package/dist/ionic/p-6e3686f8.entry.js +4 -0
  687. package/dist/ionic/p-742fed9f.entry.js +4 -0
  688. package/dist/ionic/p-7fe3ea65.entry.js +4 -0
  689. package/dist/ionic/p-826267d6.entry.js +4 -0
  690. package/dist/ionic/p-83ba2260.entry.js +4 -0
  691. package/dist/ionic/p-8681a2a7.entry.js +4 -0
  692. package/dist/ionic/{p-D13Eaw-8.js → p-B-D7Cfki.js} +1 -1
  693. package/dist/ionic/{p-CwgG81ZD.js → p-B3uz75uZ.js} +1 -1
  694. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  695. package/dist/ionic/p-BYSs-jZz.js +4 -0
  696. package/dist/ionic/p-BiTKUjko.js +4 -0
  697. package/dist/ionic/p-ByhhQryg.js +4 -0
  698. package/dist/ionic/{p-DCv9sLH2.js → p-C8r4dtYR.js} +1 -1
  699. package/dist/ionic/p-CK1xn1Nt.js +4 -0
  700. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  701. package/dist/ionic/p-COLHV2ym.js +4 -0
  702. package/dist/ionic/{p-CKvCXMs9.js → p-Cq83JWMg.js} +1 -1
  703. package/dist/ionic/{p-Dc45iWE4.js → p-CtUK3cKk.js} +1 -1
  704. package/dist/ionic/p-CvRDI-Iz.js +4 -0
  705. package/dist/ionic/{p-CJxh_yLS.js → p-D-BelbiX.js} +1 -1
  706. package/dist/ionic/p-D1t981Ih.js +4 -0
  707. package/dist/ionic/p-DHeUgOSJ.js +4 -0
  708. package/dist/ionic/p-DM-v_NNE.js +4 -0
  709. package/dist/ionic/p-DeEDqH91.js +4 -0
  710. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  711. package/dist/ionic/p-DoGrslUl.js +4 -0
  712. package/dist/ionic/p-Dq8ap6AD.js +4 -0
  713. package/dist/ionic/p-DyaKZbAH.js +4 -0
  714. package/dist/ionic/{p-D0dMcSkw.js → p-HpOiAvpC.js} +1 -1
  715. package/dist/ionic/p-U97FCefb.js +4 -0
  716. package/dist/ionic/p-UafGZQ8e.js +4 -0
  717. package/dist/ionic/p-a0362df3.entry.js +4 -0
  718. package/dist/ionic/p-a6a37a34.entry.js +4 -0
  719. package/dist/ionic/p-a6fb1f64.entry.js +4 -0
  720. package/dist/ionic/p-a89211bd.entry.js +4 -0
  721. package/dist/ionic/p-ab6f89e1.entry.js +4 -0
  722. package/dist/ionic/p-b475ec18.entry.js +4 -0
  723. package/dist/ionic/p-c082f853.entry.js +4 -0
  724. package/dist/ionic/p-cdbfbff6.entry.js +4 -0
  725. package/dist/ionic/p-d3f64c58.entry.js +4 -0
  726. package/dist/ionic/p-d70bba84.entry.js +4 -0
  727. package/dist/ionic/p-d9c9592a.entry.js +4 -0
  728. package/dist/ionic/p-da0a2ca6.entry.js +4 -0
  729. package/dist/ionic/p-da5f08cf.entry.js +4 -0
  730. package/dist/ionic/p-da8e21af.entry.js +4 -0
  731. package/dist/ionic/p-dacd8666.entry.js +4 -0
  732. package/dist/ionic/p-e90bbe85.entry.js +4 -0
  733. package/dist/ionic/p-ecba552f.entry.js +4 -0
  734. package/dist/ionic/p-ecf8e713.entry.js +4 -0
  735. package/dist/ionic/p-fIOYmaqA.js +4 -0
  736. package/dist/ionic/p-nP9c7bo5.js +4 -0
  737. package/dist/ionic/p-of4jy1ch.js +4 -0
  738. package/dist/ionic/{p-DUt5fQmA.js → p-q1ZSn0l7.js} +1 -1
  739. package/dist/ionic/p-qZR4N8Lu.js +4 -0
  740. package/dist/ionic/p-vXpMhGrs.js +4 -0
  741. package/dist/types/components/accordion/accordion.d.ts +5 -3
  742. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  743. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  744. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  745. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  746. package/dist/types/components/alert/alert.d.ts +3 -2
  747. package/dist/types/components/app/app.d.ts +4 -2
  748. package/dist/types/components/avatar/avatar.d.ts +32 -0
  749. package/dist/types/components/back-button/back-button.d.ts +2 -1
  750. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  751. package/dist/types/components/badge/badge.d.ts +34 -1
  752. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  753. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  754. package/dist/types/components/button/button.d.ts +19 -6
  755. package/dist/types/components/buttons/buttons.d.ts +5 -1
  756. package/dist/types/components/card/card.d.ts +8 -1
  757. package/dist/types/components/card-content/card-content.d.ts +2 -1
  758. package/dist/types/components/card-header/card-header.d.ts +3 -2
  759. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  760. package/dist/types/components/card-title/card-title.d.ts +2 -1
  761. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  762. package/dist/types/components/chip/chip.d.ts +26 -1
  763. package/dist/types/components/col/col.d.ts +52 -5
  764. package/dist/types/components/content/content.d.ts +3 -0
  765. package/dist/types/components/datetime/datetime.d.ts +26 -1
  766. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  767. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  768. package/dist/types/components/divider/divider.d.ts +20 -0
  769. package/dist/types/components/fab/fab.d.ts +4 -0
  770. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  771. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  772. package/dist/types/components/footer/footer.d.ts +4 -3
  773. package/dist/types/components/grid/grid.d.ts +4 -0
  774. package/dist/types/components/header/header.d.ts +9 -3
  775. package/dist/types/components/header/header.utils.d.ts +3 -3
  776. package/dist/types/components/img/img.d.ts +3 -0
  777. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  778. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  779. package/dist/types/components/input/input.d.ts +31 -5
  780. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  781. package/dist/types/components/item/item.d.ts +11 -4
  782. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  783. package/dist/types/components/item-group/item-group.d.ts +4 -0
  784. package/dist/types/components/item-option/item-option.d.ts +18 -1
  785. package/dist/types/components/item-options/item-options.d.ts +4 -0
  786. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  787. package/dist/types/components/label/label.d.ts +2 -1
  788. package/dist/types/components/list/list.d.ts +15 -1
  789. package/dist/types/components/list-header/list-header.d.ts +2 -1
  790. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  791. package/dist/types/components/loading/loading.d.ts +3 -2
  792. package/dist/types/components/menu/menu.d.ts +3 -0
  793. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  794. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  795. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  796. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  797. package/dist/types/components/modal/modal.d.ts +11 -1
  798. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  799. package/dist/types/components/nav/nav.d.ts +5 -1
  800. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  801. package/dist/types/components/note/note.d.ts +2 -1
  802. package/dist/types/components/picker/picker.d.ts +2 -1
  803. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  804. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  805. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  806. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  807. package/dist/types/components/popover/popover.d.ts +6 -5
  808. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  809. package/dist/types/components/radio/radio.d.ts +2 -1
  810. package/dist/types/components/radio-group/radio-group.d.ts +8 -0
  811. package/dist/types/components/range/range.d.ts +2 -1
  812. package/dist/types/components/refresher/refresher.d.ts +2 -1
  813. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  814. package/dist/types/components/reorder/reorder.d.ts +9 -0
  815. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  816. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  817. package/dist/types/components/route/route.d.ts +4 -0
  818. package/dist/types/components/router/router.d.ts +4 -0
  819. package/dist/types/components/router-link/router-link.d.ts +4 -0
  820. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  821. package/dist/types/components/row/row.d.ts +4 -0
  822. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  823. package/dist/types/components/segment/segment.d.ts +2 -1
  824. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  825. package/dist/types/components/select/select.d.ts +41 -13
  826. package/dist/types/components/select-modal/select-modal.d.ts +1 -0
  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 +12 -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/utils/config.d.ts +106 -2
  849. package/dist/types/utils/focus-visible.d.ts +13 -0
  850. package/dist/types/utils/helpers.d.ts +11 -0
  851. package/dist/types/utils/overlays-interface.d.ts +31 -1
  852. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  853. package/hydrate/index.js +2877 -948
  854. package/hydrate/index.mjs +2877 -948
  855. package/package.json +8 -4
  856. package/components/hardware-back-button.js +0 -115
  857. package/components/index9.js +0 -7
  858. package/dist/cjs/hardware-back-button-VCK4V3mG.js +0 -121
  859. package/dist/cjs/index-DkNv4J_i.js +0 -10
  860. package/dist/cjs/ionic-global-HMVqOFGO.js +0 -151
  861. package/dist/esm/hardware-back-button-CPLxO-Ev.js +0 -115
  862. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  863. package/dist/esm/ionic-global-CDrldh-5.js +0 -146
  864. package/dist/ionic/p-020af078.entry.js +0 -4
  865. package/dist/ionic/p-074839fc.entry.js +0 -4
  866. package/dist/ionic/p-07753df3.entry.js +0 -4
  867. package/dist/ionic/p-0abeb0fc.entry.js +0 -4
  868. package/dist/ionic/p-0bf76d0f.entry.js +0 -4
  869. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  870. package/dist/ionic/p-11518b31.entry.js +0 -4
  871. package/dist/ionic/p-1647c46c.entry.js +0 -4
  872. package/dist/ionic/p-2a939845.entry.js +0 -4
  873. package/dist/ionic/p-316c0420.entry.js +0 -4
  874. package/dist/ionic/p-31f7095f.entry.js +0 -4
  875. package/dist/ionic/p-370e4237.entry.js +0 -4
  876. package/dist/ionic/p-3a6caca9.entry.js +0 -4
  877. package/dist/ionic/p-40c261a3.entry.js +0 -4
  878. package/dist/ionic/p-43ed1ef5.entry.js +0 -4
  879. package/dist/ionic/p-46d74291.entry.js +0 -4
  880. package/dist/ionic/p-49d06882.entry.js +0 -4
  881. package/dist/ionic/p-4b658a7c.entry.js +0 -4
  882. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  883. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  884. package/dist/ionic/p-576e0965.entry.js +0 -4
  885. package/dist/ionic/p-582824c5.entry.js +0 -4
  886. package/dist/ionic/p-6241ce47.entry.js +0 -4
  887. package/dist/ionic/p-639dd543.entry.js +0 -4
  888. package/dist/ionic/p-6444c606.entry.js +0 -4
  889. package/dist/ionic/p-675b1a31.entry.js +0 -4
  890. package/dist/ionic/p-6d070558.entry.js +0 -4
  891. package/dist/ionic/p-7268efa5.entry.js +0 -4
  892. package/dist/ionic/p-72c38b88.entry.js +0 -4
  893. package/dist/ionic/p-75ae4733.entry.js +0 -4
  894. package/dist/ionic/p-79bd78f9.entry.js +0 -4
  895. package/dist/ionic/p-86f53961.entry.js +0 -4
  896. package/dist/ionic/p-94de5cfa.entry.js +0 -4
  897. package/dist/ionic/p-9575b654.entry.js +0 -4
  898. package/dist/ionic/p-9eeaBrnk.js +0 -4
  899. package/dist/ionic/p-B0q1YL7N.js +0 -4
  900. package/dist/ionic/p-BFvmZNyx.js +0 -4
  901. package/dist/ionic/p-BKc55Xev.js +0 -4
  902. package/dist/ionic/p-BOVrCkpJ.js +0 -4
  903. package/dist/ionic/p-BYEqWnSg.js +0 -4
  904. package/dist/ionic/p-BmVRXR1y.js +0 -4
  905. package/dist/ionic/p-Bmgaetn_.js +0 -4
  906. package/dist/ionic/p-C6F4hat2.js +0 -4
  907. package/dist/ionic/p-C7hRNDhM.js +0 -4
  908. package/dist/ionic/p-CIGNaXM1.js +0 -4
  909. package/dist/ionic/p-CTfR9YZG.js +0 -4
  910. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  911. package/dist/ionic/p-D-eFFUkA.js +0 -4
  912. package/dist/ionic/p-DDb5r57F.js +0 -4
  913. package/dist/ionic/p-DNcfiJwE.js +0 -4
  914. package/dist/ionic/p-DZRJwG4S.js +0 -4
  915. package/dist/ionic/p-QHYY4sjU.js +0 -4
  916. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  917. package/dist/ionic/p-a127bee2.entry.js +0 -4
  918. package/dist/ionic/p-a8ed848b.entry.js +0 -4
  919. package/dist/ionic/p-ac4eb91d.entry.js +0 -4
  920. package/dist/ionic/p-b0a7585c.entry.js +0 -4
  921. package/dist/ionic/p-b57c6d3e.entry.js +0 -4
  922. package/dist/ionic/p-c19f63d0.entry.js +0 -4
  923. package/dist/ionic/p-c85a2127.entry.js +0 -4
  924. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  925. package/dist/ionic/p-cebb0328.entry.js +0 -4
  926. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  927. package/dist/ionic/p-d126e8d3.entry.js +0 -4
  928. package/dist/ionic/p-d1f54e28.entry.js +0 -4
  929. package/dist/ionic/p-d3014190.entry.js +0 -4
  930. package/dist/ionic/p-da7d04cc.entry.js +0 -4
  931. package/dist/ionic/p-dbbe606a.entry.js +0 -4
  932. package/dist/ionic/p-ea509e3c.entry.js +0 -4
  933. package/dist/ionic/p-ec654c42.entry.js +0 -4
  934. package/dist/ionic/p-f8f22cc0.entry.js +0 -4
  935. /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
 
@@ -218,15 +220,29 @@ const AccordionGroup = /*@__PURE__*/ proxyCustomElement(class AccordionGroup ext
218
220
  async getAccordions() {
219
221
  return Array.from(this.el.querySelectorAll(':scope > ion-accordion'));
220
222
  }
223
+ getShape() {
224
+ const theme = getIonTheme(this);
225
+ const { shape } = this;
226
+ // TODO(ROU-11328): Remove theme check when shapes are defined for all themes.
227
+ if (theme !== 'ionic') {
228
+ return undefined;
229
+ }
230
+ if (shape === undefined) {
231
+ return 'round';
232
+ }
233
+ return shape;
234
+ }
221
235
  render() {
222
236
  const { disabled, readonly, expand } = this;
223
- const mode = getIonMode(this);
224
- return (h(Host, { key: 'd1a79a93179474fbba66fcf11a92f4871dacc975', class: {
225
- [mode]: true,
237
+ const theme = getIonTheme(this);
238
+ const shape = this.getShape();
239
+ return (h(Host, { key: '3ff9248922382f2fe2eb9eb2fd895bb9aa91ef2f', class: {
240
+ [theme]: true,
226
241
  'accordion-group-disabled': disabled,
227
242
  'accordion-group-readonly': readonly,
228
243
  [`accordion-group-expand-${expand}`]: true,
229
- }, role: "presentation" }, h("slot", { key: 'e6b8954b686d1fbb4fc92adb07fddc97a24b0a31' })));
244
+ [`accordion-group-shape-${shape}`]: shape !== undefined,
245
+ }, role: "presentation" }, h("slot", { key: 'aaa96bfa504bb020c7897e44ac1502b12bb81faf' })));
230
246
  }
231
247
  get el() { return this; }
232
248
  static get watchers() { return {
@@ -235,6 +251,7 @@ const AccordionGroup = /*@__PURE__*/ proxyCustomElement(class AccordionGroup ext
235
251
  "readonly": ["readonlyChanged"]
236
252
  }; }
237
253
  static get style() { return {
254
+ ionic: accordionGroupIonicCss,
238
255
  ios: accordionGroupIosCss,
239
256
  md: accordionGroupMdCss
240
257
  }; }
@@ -245,6 +262,7 @@ const AccordionGroup = /*@__PURE__*/ proxyCustomElement(class AccordionGroup ext
245
262
  "disabled": [4],
246
263
  "readonly": [4],
247
264
  "expand": [1],
265
+ "shape": [1],
248
266
  "requestAccordionToggle": [64],
249
267
  "getAccordions": [64]
250
268
  }, [[0, "keydown", "onKeydown"]], {