@ionic/core 8.8.7-dev.11779400352.127ba526 → 8.8.7-dev.11779921691.1777274a

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 (897) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-divider.js +1 -1
  27. package/components/ion-fab-button.js +1 -1
  28. package/components/ion-fab-list.js +1 -1
  29. package/components/ion-fab.js +1 -1
  30. package/components/ion-footer.js +1 -1
  31. package/components/ion-grid.js +1 -1
  32. package/components/ion-header.js +1 -1
  33. package/components/ion-icon.js +1 -1
  34. package/components/ion-img.js +1 -1
  35. package/components/ion-infinite-scroll-content.js +1 -1
  36. package/components/ion-infinite-scroll.js +1 -1
  37. package/components/ion-input-otp.js +1 -1
  38. package/components/ion-input-password-toggle.js +1 -1
  39. package/components/ion-input.js +1 -1
  40. package/components/ion-item-divider.js +1 -1
  41. package/components/ion-item-group.js +1 -1
  42. package/components/ion-item-option.js +1 -1
  43. package/components/ion-item-options.js +1 -1
  44. package/components/ion-item-sliding.js +1 -1
  45. package/components/ion-item.js +1 -1
  46. package/components/ion-label.js +1 -1
  47. package/components/ion-list-header.js +1 -1
  48. package/components/ion-list.js +1 -1
  49. package/components/ion-loading.js +1 -1
  50. package/components/ion-menu-button.js +1 -1
  51. package/components/ion-menu-toggle.js +1 -1
  52. package/components/ion-menu.js +1 -1
  53. package/components/ion-modal.js +1 -1
  54. package/components/ion-nav-link.js +1 -1
  55. package/components/ion-nav.js +1 -1
  56. package/components/ion-note.js +1 -1
  57. package/components/ion-picker-column-option.js +1 -1
  58. package/components/ion-picker-column.js +1 -1
  59. package/components/ion-picker-legacy-column.js +1 -1
  60. package/components/ion-picker-legacy.js +1 -1
  61. package/components/ion-picker.js +1 -1
  62. package/components/ion-popover.js +1 -1
  63. package/components/ion-progress-bar.js +1 -1
  64. package/components/ion-radio-group.js +1 -1
  65. package/components/ion-radio.js +1 -1
  66. package/components/ion-range.js +1 -1
  67. package/components/ion-refresher-content.js +1 -1
  68. package/components/ion-refresher.js +1 -1
  69. package/components/ion-reorder-group.js +1 -1
  70. package/components/ion-reorder.js +1 -1
  71. package/components/ion-ripple-effect.js +1 -1
  72. package/components/ion-route-redirect.js +1 -1
  73. package/components/ion-route.js +1 -1
  74. package/components/ion-router-link.js +1 -1
  75. package/components/ion-router-outlet.js +1 -1
  76. package/components/ion-router.js +1 -1
  77. package/components/ion-row.js +1 -1
  78. package/components/ion-searchbar.js +1 -1
  79. package/components/ion-segment-button.js +1 -1
  80. package/components/ion-segment-content.js +1 -1
  81. package/components/ion-segment-view.js +1 -1
  82. package/components/ion-segment.js +1 -1
  83. package/components/ion-select-modal.js +1 -1
  84. package/components/ion-select-option.js +1 -1
  85. package/components/ion-select-popover.js +1 -1
  86. package/components/ion-select.js +1 -1
  87. package/components/ion-skeleton-text.js +1 -1
  88. package/components/ion-spinner.js +1 -1
  89. package/components/ion-split-pane.js +1 -1
  90. package/components/ion-tab-bar.js +1 -1
  91. package/components/ion-tab-button.js +1 -1
  92. package/components/ion-tab.js +1 -1
  93. package/components/ion-tabs.js +1 -1
  94. package/components/ion-text.js +1 -1
  95. package/components/ion-textarea.js +1 -1
  96. package/components/ion-thumbnail.js +1 -1
  97. package/components/ion-title.js +1 -1
  98. package/components/ion-toast.js +1 -1
  99. package/components/ion-toggle.js +1 -1
  100. package/components/ion-toolbar.js +1 -1
  101. package/components/p-0sJvNkUu.js +4 -0
  102. package/components/{p-BcbmT6b3.js → p-7nmSk-Eb.js} +1 -1
  103. package/components/p-B1O3xdmF.js +4 -0
  104. package/components/p-BBB8g5Ql.js +4 -0
  105. package/components/p-BF7rwwG7.js +4 -0
  106. package/components/p-BHffbls9.js +4 -0
  107. package/components/p-BKBdJW0R.js +4 -0
  108. package/components/p-BKGLpdvY.js +4 -0
  109. package/components/p-BRrh2GWk.js +4 -0
  110. package/components/{p-BFCM_1oE.js → p-BTWFHAhB.js} +1 -1
  111. package/components/p-BVOTx9Tr.js +4 -0
  112. package/components/p-BVbPiSCE.js +4 -0
  113. package/components/p-BVgmZpV7.js +4 -0
  114. package/components/{p-J7srYGKf.js → p-B_4LVR66.js} +1 -1
  115. package/components/p-BbwW7nXw.js +4 -0
  116. package/components/p-BePFSJjb.js +4 -0
  117. package/components/{p-zWP0sUV_.js → p-BilWM2xi.js} +1 -1
  118. package/components/p-Bnkcvm0_.js +4 -0
  119. package/components/p-Bp4m7lZT.js +4 -0
  120. package/components/p-BuQDh8MN.js +4 -0
  121. package/components/p-C4Uuc-Js.js +4 -0
  122. package/components/p-CF0UKsA-.js +4 -0
  123. package/components/p-CMETcSJz.js +4 -0
  124. package/components/p-CTDfzuym.js +4 -0
  125. package/components/p-CZwQlWO7.js +4 -0
  126. package/components/p-CkS5LcG3.js +4 -0
  127. package/components/p-CrC3J6IY.js +4 -0
  128. package/components/p-D9SzdDbV.js +4 -0
  129. package/components/p-DCoLfY48.js +4 -0
  130. package/components/p-DGHsHldT.js +4 -0
  131. package/components/p-DK2cppki.js +4 -0
  132. package/components/p-DMwGijtW.js +4 -0
  133. package/components/p-DPLIhs_Y.js +4 -0
  134. package/components/p-DRj_omR8.js +4 -0
  135. package/components/p-DWBdx_rf.js +4 -0
  136. package/{dist/ionic/p-CbkICFBN.js → components/p-DXBx6hf_.js} +1 -1
  137. package/components/p-DZwp0os_.js +4 -0
  138. package/components/{p-BErKjY03.js → p-DbQt4Kex.js} +1 -1
  139. package/components/p-DbrEqORq.js +4 -0
  140. package/{dist/ionic/p-C8IHbcuP.js → components/p-Dh41Mgrr.js} +1 -1
  141. package/components/p-Dh8YROlw.js +4 -0
  142. package/components/{p-lIOqnNXn.js → p-Dmd-3R4x.js} +1 -1
  143. package/components/p-DqL8Jl6C.js +4 -0
  144. package/components/p-DuOk1CH-.js +4 -0
  145. package/components/p-Op_wuLsj.js +4 -0
  146. package/components/p-SikZM1Bp.js +4 -0
  147. package/components/p-f1voQRQ1.js +4 -0
  148. package/components/p-fkeHL2Sd.js +4 -0
  149. package/components/p-gKV0T98m.js +4 -0
  150. package/components/{p-C-Vjb84N.js → p-jgONJj5a.js} +1 -1
  151. package/components/p-k6-su0sW.js +4 -0
  152. package/components/p-l7FroJh2.js +4 -0
  153. package/components/p-nFFDLHOE.js +4 -0
  154. package/components/p-pdE-O9G9.js +4 -0
  155. package/{dist/ionic/p-CWJdc8f_.js → components/p-u-SCu4et.js} +1 -1
  156. package/css/core.css +1 -1
  157. package/css/core.css.map +1 -1
  158. package/css/display.css.map +1 -1
  159. package/css/flex-utils.css.map +1 -1
  160. package/css/float-elements.css.map +1 -1
  161. package/css/global.bundle.css +1 -1
  162. package/css/global.bundle.css.map +1 -1
  163. package/css/ionic/bundle.ionic.css +1 -1
  164. package/css/ionic/bundle.ionic.css.map +1 -1
  165. package/css/ionic/core.ionic.css +1 -1
  166. package/css/ionic/core.ionic.css.map +1 -1
  167. package/css/ionic/global.bundle.ionic.css +1 -1
  168. package/css/ionic/global.bundle.ionic.css.map +1 -1
  169. package/css/ionic/link.ionic.css.map +1 -1
  170. package/css/ionic/structure.ionic.css.map +1 -1
  171. package/css/ionic/typography.ionic.css +1 -1
  172. package/css/ionic/typography.ionic.css.map +1 -1
  173. package/css/ionic/utils.bundle.ionic.css.map +1 -1
  174. package/css/ionic.bundle.css +1 -1
  175. package/css/ionic.bundle.css.map +1 -1
  176. package/css/padding.css.map +1 -1
  177. package/css/palettes/dark.always.css +1 -1
  178. package/css/palettes/dark.always.css.map +1 -1
  179. package/css/palettes/dark.class.css +1 -1
  180. package/css/palettes/dark.class.css.map +1 -1
  181. package/css/palettes/dark.system.css +1 -1
  182. package/css/palettes/dark.system.css.map +1 -1
  183. package/css/palettes/high-contrast-dark.always.css +1 -1
  184. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  185. package/css/palettes/high-contrast-dark.class.css +1 -1
  186. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  187. package/css/palettes/high-contrast-dark.system.css +1 -1
  188. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  189. package/css/palettes/high-contrast.always.css +1 -1
  190. package/css/palettes/high-contrast.always.css.map +1 -1
  191. package/css/palettes/high-contrast.class.css +1 -1
  192. package/css/palettes/high-contrast.class.css.map +1 -1
  193. package/css/palettes/high-contrast.system.css +1 -1
  194. package/css/palettes/high-contrast.system.css.map +1 -1
  195. package/css/structure.css.map +1 -1
  196. package/css/text-alignment.css.map +1 -1
  197. package/css/text-transformation.css.map +1 -1
  198. package/css/typography.css +1 -1
  199. package/css/typography.css.map +1 -1
  200. package/css/utils.bundle.css.map +1 -1
  201. package/dist/cjs/{animation-DknMeJ3x.js → animation-CoqRs93a.js} +3 -3
  202. package/dist/cjs/{app-globals-DtAeky3x.js → app-globals-CzPyigGz.js} +1 -1
  203. package/dist/cjs/badge-position-DFPHXWP9.js +176 -0
  204. package/dist/cjs/{button-active-JoIWyYri.js → button-active-lwEZiey1.js} +4 -4
  205. package/dist/cjs/{capacitor-BnRBm_ys.js → capacitor-F7SUc7Ly.js} +1 -1
  206. package/dist/cjs/{data-DuOuKG7I.js → data-BsQBKyvn.js} +3 -3
  207. package/dist/cjs/{framework-delegate-Dx9FrqAC.js → framework-delegate-C1LqXDzY.js} +4 -5
  208. package/dist/cjs/{haptic-D3Ay9mmg.js → haptic-CBZc4WH_.js} +1 -1
  209. package/dist/cjs/{index-CzcLEdQ5.js → index-BDthk8R7.js} +1885 -0
  210. package/dist/cjs/{index-BJlwOs11.js → index-BbhXd9Zs.js} +2 -2
  211. package/dist/cjs/{index-DMJjUhXH.js → index-Cbme57mm.js} +3 -5
  212. package/dist/cjs/{index-BJrpF9T3.js → index-DhXmkpe3.js} +3 -4
  213. package/dist/cjs/{index-Cer2Qy4I.js → index-HkS255C9.js} +6 -7
  214. package/dist/cjs/{index-D_mPAIqF.js → index-cV9SaEZV.js} +11 -12
  215. package/dist/cjs/index.cjs.js +15 -18
  216. package/dist/cjs/{input-shims-Dn33gFln.js → input-shims-eCRI_jn9.js} +15 -17
  217. package/dist/cjs/{input.utils-DnVnhWEF.js → input.utils-CvLAucXh.js} +4 -5
  218. package/dist/cjs/ion-accordion_2.cjs.entry.js +31 -34
  219. package/dist/cjs/ion-action-sheet.cjs.entry.js +34 -37
  220. package/dist/cjs/ion-alert.cjs.entry.js +44 -47
  221. package/dist/cjs/ion-app_8.cjs.entry.js +115 -116
  222. package/dist/cjs/ion-avatar_3.cjs.entry.js +66 -86
  223. package/dist/cjs/ion-back-button.cjs.entry.js +19 -22
  224. package/dist/cjs/ion-backdrop.cjs.entry.js +5 -5
  225. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +36 -39
  226. package/dist/cjs/ion-button_2.cjs.entry.js +54 -34
  227. package/dist/cjs/ion-card_5.cjs.entry.js +36 -39
  228. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -26
  229. package/dist/cjs/ion-chip.cjs.entry.js +51 -51
  230. package/dist/cjs/ion-col_3.cjs.entry.js +14 -16
  231. package/dist/cjs/ion-datetime-button.cjs.entry.js +19 -22
  232. package/dist/cjs/ion-datetime_3.cjs.entry.js +123 -126
  233. package/dist/cjs/ion-divider.cjs.entry.js +5 -5
  234. package/dist/cjs/ion-fab_3.cjs.entry.js +27 -30
  235. package/dist/cjs/ion-img.cjs.entry.js +10 -12
  236. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +25 -27
  237. package/dist/cjs/ion-input-otp.cjs.entry.js +19 -22
  238. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +16 -17
  239. package/dist/cjs/ion-input.cjs.entry.js +42 -45
  240. package/dist/cjs/ion-item-option_3.cjs.entry.js +66 -319
  241. package/dist/cjs/ion-item_8.cjs.entry.js +71 -83
  242. package/dist/cjs/ion-loading.cjs.entry.js +27 -30
  243. package/dist/cjs/ion-menu_3.cjs.entry.js +55 -58
  244. package/dist/cjs/ion-modal.cjs.entry.js +71 -74
  245. package/dist/cjs/ion-nav_2.cjs.entry.js +41 -43
  246. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -12
  247. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -17
  248. package/dist/cjs/ion-picker.cjs.entry.js +9 -11
  249. package/dist/cjs/ion-popover.cjs.entry.js +36 -39
  250. package/dist/cjs/ion-progress-bar.cjs.entry.js +28 -41
  251. package/dist/cjs/ion-radio_2.cjs.entry.js +31 -34
  252. package/dist/cjs/ion-range.cjs.entry.js +50 -53
  253. package/dist/cjs/ion-refresher_2.cjs.entry.js +65 -67
  254. package/dist/cjs/ion-reorder_2.cjs.entry.js +23 -25
  255. package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -7
  256. package/dist/cjs/ion-route_4.cjs.entry.js +36 -39
  257. package/dist/cjs/ion-searchbar.cjs.entry.js +38 -41
  258. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
  259. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -6
  260. package/dist/cjs/ion-segment_2.cjs.entry.js +35 -38
  261. package/dist/cjs/ion-select-modal.cjs.entry.js +26 -29
  262. package/dist/cjs/ion-select_3.cjs.entry.js +74 -77
  263. package/dist/cjs/ion-spinner.cjs.entry.js +26 -41
  264. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -13
  265. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +90 -34
  266. package/dist/cjs/ion-tab_2.cjs.entry.js +27 -27
  267. package/dist/cjs/ion-text.cjs.entry.js +7 -8
  268. package/dist/cjs/ion-textarea.cjs.entry.js +35 -38
  269. package/dist/cjs/ion-toast.cjs.entry.js +41 -44
  270. package/dist/cjs/ion-toggle.cjs.entry.js +33 -36
  271. package/dist/cjs/{ionic-global-CSEbHD_F.js → ionic-global-DMWqcBn0.js} +240 -108
  272. package/dist/cjs/ionic.cjs.js +7 -7
  273. package/dist/cjs/{ios.transition-UCjoxA3D.js → ios.transition-DcJ6Bw2k.js} +4 -6
  274. package/dist/cjs/{keyboard-Bhav6x-R.js → keyboard-BCj7bSvQ.js} +4 -4
  275. package/dist/cjs/{keyboard-Dsczf-iT.js → keyboard-Jy7okGc5.js} +1 -1
  276. package/dist/cjs/{keyboard-controller-tqGDP9SU.js → keyboard-controller-CPJ4vSr0.js} +4 -4
  277. package/dist/cjs/loader.cjs.js +5 -5
  278. package/dist/cjs/{md.transition-CNwlchQn.js → md.transition-DAjf1hlJ.js} +4 -6
  279. package/dist/cjs/{notch-controller-CgtkBzy0.js → notch-controller-gGuWI1C7.js} +3 -3
  280. package/dist/cjs/{overlays-Hci_7vw_.js → overlays-H4z8xPi9.js} +18 -19
  281. package/dist/cjs/{select-option-render-C7klBX2H.js → select-option-render-CZtiyFs7.js} +8 -8
  282. package/dist/cjs/{status-tap-CTY2dMsZ.js → status-tap-CPZvSRKr.js} +7 -9
  283. package/dist/cjs/{swipe-back-jJFi5KCB.js → swipe-back-CMubrxt-.js} +2 -4
  284. package/dist/collection/collection-manifest.json +0 -7
  285. package/dist/collection/components/action-sheet/action-sheet.ionic.css +2 -4
  286. package/dist/collection/components/action-sheet/action-sheet.ios.css +9 -10
  287. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -3
  288. package/dist/collection/components/alert/alert.ionic.css +20 -22
  289. package/dist/collection/components/alert/alert.ios.css +13 -15
  290. package/dist/collection/components/alert/alert.md.css +19 -20
  291. package/dist/collection/components/avatar/avatar.ionic.css +0 -94
  292. package/dist/collection/components/avatar/avatar.js +22 -7
  293. package/dist/collection/components/avatar/avatar.md.css +0 -16
  294. package/dist/collection/components/back-button/back-button.ios.css +1 -1
  295. package/dist/collection/components/back-button/back-button.js +2 -2
  296. package/dist/collection/components/badge/badge.css +256 -0
  297. package/dist/collection/components/badge/badge.interfaces.js +7 -0
  298. package/dist/collection/components/badge/badge.js +72 -76
  299. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +9 -9
  300. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  301. package/dist/collection/components/breadcrumb/breadcrumb.md.css +9 -9
  302. package/dist/collection/components/button/button.ionic.css +18 -68
  303. package/dist/collection/components/button/button.ios.css +17 -32
  304. package/dist/collection/components/button/button.js +27 -5
  305. package/dist/collection/components/button/button.md.css +16 -31
  306. package/dist/collection/components/card/card.ios.css +1 -1
  307. package/dist/collection/components/card/card.js +2 -2
  308. package/dist/collection/components/card/card.md.css +1 -1
  309. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +1 -1
  310. package/dist/collection/components/card-subtitle/card-subtitle.md.css +1 -1
  311. package/dist/collection/components/card-title/card-title.md.css +1 -1
  312. package/dist/collection/components/checkbox/checkbox.ios.css +5 -5
  313. package/dist/collection/components/checkbox/checkbox.md.css +5 -5
  314. package/dist/collection/components/chip/chip.css +406 -0
  315. package/dist/collection/components/chip/chip.js +111 -57
  316. package/dist/collection/components/col/col.js +2 -3
  317. package/dist/collection/components/content/content.css +66 -126
  318. package/dist/collection/components/content/content.js +25 -24
  319. package/dist/collection/components/datetime/datetime.ios.css +8 -8
  320. package/dist/collection/components/datetime/datetime.md.css +7 -7
  321. package/dist/collection/components/datetime-button/datetime-button.ios.css +2 -2
  322. package/dist/collection/components/datetime-button/datetime-button.md.css +1 -1
  323. package/dist/collection/components/fab-button/fab-button.ios.css +17 -17
  324. package/dist/collection/components/fab-button/fab-button.js +2 -2
  325. package/dist/collection/components/fab-button/fab-button.md.css +6 -6
  326. package/dist/collection/components/grid/grid.js +2 -2
  327. package/dist/collection/components/header/header.js +2 -2
  328. package/dist/collection/components/img/img.js +2 -2
  329. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  330. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +3 -3
  331. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  332. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +3 -3
  333. package/dist/collection/components/input/input.ios.css +7 -7
  334. package/dist/collection/components/input/input.js +6 -6
  335. package/dist/collection/components/input/input.md.css +15 -15
  336. package/dist/collection/components/input-otp/input-otp.ionic.css +2 -2
  337. package/dist/collection/components/input-otp/input-otp.ios.css +16 -16
  338. package/dist/collection/components/input-otp/input-otp.js +3 -3
  339. package/dist/collection/components/input-otp/input-otp.md.css +16 -16
  340. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  341. package/dist/collection/components/item/item.ios.css +1 -1
  342. package/dist/collection/components/item/item.js +2 -2
  343. package/dist/collection/components/item/item.md.css +2 -2
  344. package/dist/collection/components/item-divider/item-divider.css +351 -0
  345. package/dist/collection/components/item-divider/item-divider.js +6 -13
  346. package/dist/collection/components/item-group/item-group.js +1 -1
  347. package/dist/collection/components/item-option/item-option.ionic.css +8 -8
  348. package/dist/collection/components/item-option/item-option.ios.css +3 -3
  349. package/dist/collection/components/item-option/item-option.js +2 -2
  350. package/dist/collection/components/item-option/item-option.md.css +2 -2
  351. package/dist/collection/components/item-options/item-options.ios.css +1 -1
  352. package/dist/collection/components/item-options/item-options.js +1 -1
  353. package/dist/collection/components/item-options/item-options.md.css +1 -1
  354. package/dist/collection/components/item-sliding/{item-sliding.native.css → item-sliding.css} +9 -78
  355. package/dist/collection/components/item-sliding/item-sliding.js +38 -284
  356. package/dist/collection/components/label/label.ios.css +1 -1
  357. package/dist/collection/components/label/label.js +2 -2
  358. package/dist/collection/components/label/label.md.css +2 -2
  359. package/dist/collection/components/list/list.js +1 -1
  360. package/dist/collection/components/list-header/list-header.ios.css +2 -2
  361. package/dist/collection/components/list-header/list-header.js +2 -2
  362. package/dist/collection/components/list-header/list-header.md.css +1 -1
  363. package/dist/collection/components/loading/loading.ios.css +2 -2
  364. package/dist/collection/components/loading/loading.js +2 -2
  365. package/dist/collection/components/loading/loading.md.css +3 -3
  366. package/dist/collection/components/menu/menu.js +2 -2
  367. package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
  368. package/dist/collection/components/menu-button/menu-button.js +2 -2
  369. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  370. package/dist/collection/components/modal/modal.ios.css +1 -1
  371. package/dist/collection/components/modal/modal.js +4 -4
  372. package/dist/collection/components/modal/modal.md.css +1 -1
  373. package/dist/collection/components/nav/nav.js +3 -3
  374. package/dist/collection/components/nav-link/nav-link.js +1 -1
  375. package/dist/collection/components/note/note.ios.css +1 -1
  376. package/dist/collection/components/note/note.js +2 -2
  377. package/dist/collection/components/note/note.md.css +1 -1
  378. package/dist/collection/components/picker/picker.ios.css +1 -1
  379. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  380. package/dist/collection/components/picker-legacy/picker.ios.css +2 -2
  381. package/dist/collection/components/picker-legacy/picker.js +2 -2
  382. package/dist/collection/components/picker-legacy/picker.md.css +4 -4
  383. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  384. package/dist/collection/components/picker-legacy-column/picker-column.md.css +1 -1
  385. package/dist/collection/components/popover/popover.ios.css +1 -1
  386. package/dist/collection/components/popover/popover.js +2 -2
  387. package/dist/collection/components/progress-bar/progress-bar.css +281 -0
  388. package/dist/collection/components/progress-bar/progress-bar.interfaces.js +4 -0
  389. package/dist/collection/components/progress-bar/progress-bar.js +30 -30
  390. package/dist/collection/components/radio/radio.ios.css +2 -2
  391. package/dist/collection/components/radio/radio.js +3 -3
  392. package/dist/collection/components/radio/radio.md.css +2 -2
  393. package/dist/collection/components/radio-group/radio-group.ios.css +2 -2
  394. package/dist/collection/components/radio-group/radio-group.js +2 -2
  395. package/dist/collection/components/radio-group/radio-group.md.css +2 -2
  396. package/dist/collection/components/range/range.ionic.css +1 -1
  397. package/dist/collection/components/range/range.ios.css +3 -3
  398. package/dist/collection/components/range/range.js +3 -3
  399. package/dist/collection/components/range/range.md.css +6 -6
  400. package/dist/collection/components/refresher/refresher.ios.css +1 -1
  401. package/dist/collection/components/refresher/refresher.js +3 -3
  402. package/dist/collection/components/refresher/refresher.md.css +4 -4
  403. package/dist/collection/components/refresher/refresher.utils.js +2 -2
  404. package/dist/collection/components/refresher-content/refresher-content.js +2 -2
  405. package/dist/collection/components/reorder/reorder.js +2 -2
  406. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  407. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  408. package/dist/collection/components/router/router.js +2 -2
  409. package/dist/collection/components/router/utils/dom.js +2 -2
  410. package/dist/collection/components/router-link/router-link.css +1 -1
  411. package/dist/collection/components/router-link/router-link.js +4 -3
  412. package/dist/collection/components/router-outlet/router-outlet.js +2 -2
  413. package/dist/collection/components/row/row.js +2 -2
  414. package/dist/collection/components/searchbar/searchbar.ios.css +3 -3
  415. package/dist/collection/components/searchbar/searchbar.js +6 -6
  416. package/dist/collection/components/searchbar/searchbar.md.css +3 -3
  417. package/dist/collection/components/segment/segment.js +2 -2
  418. package/dist/collection/components/segment-button/segment-button.ios.css +3 -3
  419. package/dist/collection/components/segment-button/segment-button.js +2 -2
  420. package/dist/collection/components/segment-button/segment-button.md.css +2 -2
  421. package/dist/collection/components/segment-content/segment-content.js +1 -1
  422. package/dist/collection/components/segment-view/segment-view.js +2 -2
  423. package/dist/collection/components/select/select.ios.css +6 -6
  424. package/dist/collection/components/select/select.js +3 -3
  425. package/dist/collection/components/select/select.md.css +14 -14
  426. package/dist/collection/components/select-modal/select-modal.ionic.css +3 -3
  427. package/dist/collection/components/select-modal/select-modal.ios.css +2 -2
  428. package/dist/collection/components/select-modal/select-modal.js +1 -1
  429. package/dist/collection/components/select-modal/select-modal.md.css +5 -5
  430. package/dist/collection/components/select-option/select-option.js +1 -1
  431. package/dist/collection/components/select-popover/select-popover.ionic.css +5 -5
  432. package/dist/collection/components/select-popover/select-popover.ios.css +1 -1
  433. package/dist/collection/components/select-popover/select-popover.js +2 -2
  434. package/dist/collection/components/select-popover/select-popover.md.css +5 -5
  435. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  436. package/dist/collection/components/spinner/spinner.css +248 -0
  437. package/dist/collection/components/spinner/spinner.js +27 -31
  438. package/dist/collection/components/split-pane/split-pane.ios.css +1 -1
  439. package/dist/collection/components/split-pane/split-pane.js +2 -3
  440. package/dist/collection/components/split-pane/split-pane.md.css +1 -1
  441. package/dist/collection/components/tab/tab.js +3 -3
  442. package/dist/collection/components/tab-bar/tab-bar.ios.css +4 -4
  443. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  444. package/dist/collection/components/tab-bar/tab-bar.md.css +3 -3
  445. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -61
  446. package/dist/collection/components/tab-button/tab-button.ios.css +0 -105
  447. package/dist/collection/components/tab-button/tab-button.js +62 -3
  448. package/dist/collection/components/tab-button/tab-button.md.css +0 -88
  449. package/dist/collection/components/tabs/tabs.css +0 -39
  450. package/dist/collection/components/tabs/tabs.interfaces.js +1 -0
  451. package/dist/collection/components/tabs/tabs.js +14 -14
  452. package/dist/collection/components/text/text.js +2 -2
  453. package/dist/collection/components/textarea/textarea.ionic.css +1 -1
  454. package/dist/collection/components/textarea/textarea.ios.css +6 -6
  455. package/dist/collection/components/textarea/textarea.js +5 -5
  456. package/dist/collection/components/textarea/textarea.md.css +14 -14
  457. package/dist/collection/components/thumbnail/thumbnail.css +2 -2
  458. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  459. package/dist/collection/components/title/title.js +2 -2
  460. package/dist/collection/components/toast/toast.ios.css +3 -3
  461. package/dist/collection/components/toast/toast.js +2 -2
  462. package/dist/collection/components/toast/toast.md.css +5 -5
  463. package/dist/collection/components/toggle/toggle.ionic.css +1 -1
  464. package/dist/collection/components/toggle/toggle.ios.css +4 -4
  465. package/dist/collection/components/toggle/toggle.js +3 -3
  466. package/dist/collection/components/toggle/toggle.md.css +4 -4
  467. package/dist/collection/components/toolbar/toolbar.ios.css +2 -2
  468. package/dist/collection/components/toolbar/toolbar.js +2 -2
  469. package/dist/collection/components/toolbar/toolbar.md.css +1 -1
  470. package/dist/collection/global/config.js +27 -0
  471. package/dist/collection/global/ionic-global.js +59 -76
  472. package/dist/collection/index.js +1 -2
  473. package/dist/collection/themes/base/dark.tokens.js +218 -0
  474. package/dist/collection/themes/base/default.tokens.js +157 -0
  475. package/dist/collection/themes/base/high-contrast-dark.tokens.js +210 -0
  476. package/dist/collection/themes/base/high-contrast.tokens.js +169 -0
  477. package/dist/collection/themes/base/light.tokens.js +163 -0
  478. package/dist/collection/themes/base/shared.tokens.js +15 -0
  479. package/dist/collection/themes/ionic/dark.tokens.js +5 -0
  480. package/dist/collection/themes/ionic/default.tokens.js +700 -0
  481. package/dist/collection/themes/ionic/light.tokens.js +25 -0
  482. package/dist/collection/themes/ionic/shared.tokens.js +122 -0
  483. package/dist/collection/themes/ios/dark.tokens.js +18 -0
  484. package/dist/collection/themes/ios/default.tokens.js +711 -0
  485. package/dist/collection/themes/ios/high-contrast-dark.tokens.js +6 -0
  486. package/dist/collection/themes/ios/high-contrast.tokens.js +5 -0
  487. package/dist/collection/themes/ios/light.tokens.js +4 -0
  488. package/dist/collection/themes/ios/shared.tokens.js +63 -0
  489. package/dist/collection/themes/md/dark.tokens.js +23 -0
  490. package/dist/collection/themes/md/default.tokens.js +819 -0
  491. package/dist/collection/themes/md/high-contrast-dark.tokens.js +10 -0
  492. package/dist/collection/themes/md/high-contrast.tokens.js +5 -0
  493. package/dist/collection/themes/md/light.tokens.js +4 -0
  494. package/dist/collection/themes/md/shared.tokens.js +127 -0
  495. package/dist/collection/themes/themes.interfaces.js +1 -0
  496. package/dist/collection/utils/badge-position.js +171 -0
  497. package/dist/collection/utils/content/index.js +2 -2
  498. package/dist/collection/utils/framework-delegate.js +3 -3
  499. package/dist/collection/utils/helpers.js +40 -0
  500. package/dist/collection/utils/input-shims/hacks/scroll-padding.js +2 -2
  501. package/dist/collection/utils/input-shims/input-shims.js +2 -2
  502. package/dist/collection/utils/media.js +0 -1
  503. package/dist/collection/utils/menu-controller/index.js +2 -2
  504. package/dist/collection/utils/overlays.js +2 -2
  505. package/dist/collection/utils/status-tap.js +2 -2
  506. package/dist/collection/utils/test/playwright/page/utils/set-content.js +36 -2
  507. package/dist/collection/utils/theme.js +611 -9
  508. package/dist/docs.json +1835 -1276
  509. package/dist/esm/{animation-Cqe2x-Pt.js → animation-pTY9wqHp.js} +2 -2
  510. package/dist/esm/{app-globals-Dk1rB3aE.js → app-globals-BDyWBDAh.js} +1 -1
  511. package/dist/esm/badge-position-C1Q3qPZy.js +174 -0
  512. package/dist/esm/{button-active-g6ZnZzDZ.js → button-active-Ca3reU6j.js} +2 -2
  513. package/dist/esm/{capacitor-C4lYa1nV.js → capacitor-isspMXyk.js} +1 -1
  514. package/dist/esm/{data-BNKYavC3.js → data-CAYLUmgh.js} +1 -1
  515. package/dist/esm/{framework-delegate-CjVwn_KZ.js → framework-delegate-reUSF3oT.js} +3 -4
  516. package/dist/esm/{haptic-_88k1V5U.js → haptic-FwCam9_Q.js} +1 -1
  517. package/dist/esm/{index-BmkLokUL.js → index-6QFmgmEW.js} +2 -3
  518. package/dist/esm/{index-Omi_TcwW.js → index-BrrkdT9L.js} +1851 -1
  519. package/dist/esm/{index-hpH08p5s.js → index-CEhdLZKQ.js} +4 -5
  520. package/dist/esm/{index-C5t9-ciC.js → index-CQnGY3Fp.js} +2 -4
  521. package/dist/esm/{index-CGthURny.js → index-DUAoXzCH.js} +3 -4
  522. package/dist/esm/{index-D4ugF_sT.js → index-V2HKYEdd.js} +1 -1
  523. package/dist/esm/index.js +10 -13
  524. package/dist/esm/{input-shims-vDjCsx95.js → input-shims-Cuw1QMqP.js} +8 -10
  525. package/dist/esm/{input.utils-B9Q5xHp6.js → input.utils-BiYknr4n.js} +2 -3
  526. package/dist/esm/ion-accordion_2.entry.js +2 -5
  527. package/dist/esm/ion-action-sheet.entry.js +13 -16
  528. package/dist/esm/ion-alert.entry.js +13 -16
  529. package/dist/esm/ion-app_8.entry.js +36 -37
  530. package/dist/esm/ion-avatar_3.entry.js +60 -80
  531. package/dist/esm/ion-back-button.entry.js +3 -6
  532. package/dist/esm/ion-backdrop.entry.js +2 -2
  533. package/dist/esm/ion-breadcrumb_2.entry.js +5 -8
  534. package/dist/esm/ion-button_2.entry.js +31 -11
  535. package/dist/esm/ion-card_5.entry.js +8 -11
  536. package/dist/esm/ion-checkbox.entry.js +4 -7
  537. package/dist/esm/ion-chip.entry.js +50 -50
  538. package/dist/esm/ion-col_3.entry.js +8 -10
  539. package/dist/esm/ion-datetime-button.entry.js +6 -9
  540. package/dist/esm/ion-datetime_3.entry.js +17 -20
  541. package/dist/esm/ion-divider.entry.js +2 -2
  542. package/dist/esm/ion-fab_3.entry.js +5 -8
  543. package/dist/esm/ion-img.entry.js +4 -6
  544. package/dist/esm/ion-infinite-scroll_2.entry.js +10 -12
  545. package/dist/esm/ion-input-otp.entry.js +8 -11
  546. package/dist/esm/ion-input-password-toggle.entry.js +5 -6
  547. package/dist/esm/ion-input.entry.js +11 -14
  548. package/dist/esm/ion-item-option_3.entry.js +49 -302
  549. package/dist/esm/ion-item_8.entry.js +28 -40
  550. package/dist/esm/ion-loading.entry.js +11 -14
  551. package/dist/esm/ion-menu_3.entry.js +13 -16
  552. package/dist/esm/ion-modal.entry.js +16 -19
  553. package/dist/esm/ion-nav_2.entry.js +8 -10
  554. package/dist/esm/ion-picker-column-option.entry.js +4 -7
  555. package/dist/esm/ion-picker-column.entry.js +4 -7
  556. package/dist/esm/ion-picker.entry.js +2 -4
  557. package/dist/esm/ion-popover.entry.js +9 -12
  558. package/dist/esm/ion-progress-bar.entry.js +21 -34
  559. package/dist/esm/ion-radio_2.entry.js +11 -14
  560. package/dist/esm/ion-range.entry.js +9 -12
  561. package/dist/esm/ion-refresher_2.entry.js +16 -18
  562. package/dist/esm/ion-reorder_2.entry.js +8 -10
  563. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  564. package/dist/esm/ion-route_4.entry.js +6 -9
  565. package/dist/esm/ion-searchbar.entry.js +9 -12
  566. package/dist/esm/ion-segment-content.entry.js +2 -2
  567. package/dist/esm/ion-segment-view.entry.js +3 -3
  568. package/dist/esm/ion-segment_2.entry.js +8 -11
  569. package/dist/esm/ion-select-modal.entry.js +10 -13
  570. package/dist/esm/ion-select_3.entry.js +18 -21
  571. package/dist/esm/ion-spinner.entry.js +18 -33
  572. package/dist/esm/ion-split-pane.entry.js +7 -8
  573. package/dist/esm/ion-tab-bar_2.entry.js +75 -19
  574. package/dist/esm/ion-tab_2.entry.js +19 -19
  575. package/dist/esm/ion-text.entry.js +4 -5
  576. package/dist/esm/ion-textarea.entry.js +11 -14
  577. package/dist/esm/ion-toast.entry.js +10 -13
  578. package/dist/esm/ion-toggle.entry.js +10 -13
  579. package/dist/esm/{ionic-global-CAZb-5i-.js → ionic-global-CYPOXYV9.js} +214 -82
  580. package/dist/esm/ionic.js +5 -5
  581. package/dist/esm/{ios.transition-CzSncKQg.js → ios.transition-Udz14cFX.js} +4 -6
  582. package/dist/esm/{keyboard-Cpw6xVLJ.js → keyboard-BJeLQuaz.js} +1 -1
  583. package/dist/esm/{keyboard-controller-CAc33ylR.js → keyboard-controller-DtjExoRO.js} +3 -3
  584. package/dist/esm/{keyboard-DJpS2IGK.js → keyboard-uAtaO52Q.js} +4 -4
  585. package/dist/esm/loader.js +5 -5
  586. package/dist/esm/{md.transition-DIsWqYBZ.js → md.transition-BjHXd0f9.js} +4 -6
  587. package/dist/esm/{notch-controller-DiBq57w8.js → notch-controller-oUerJ6nV.js} +2 -2
  588. package/dist/esm/{overlays-rwDDzEs4.js → overlays-CSQv-GZq.js} +4 -5
  589. package/dist/esm/{select-option-render-B2qc5ZP7.js → select-option-render-DmisODWi.js} +2 -2
  590. package/dist/esm/{status-tap-fYFdZg6z.js → status-tap-DRMNWPiL.js} +3 -5
  591. package/dist/esm/{swipe-back-BzGqTrrq.js → swipe-back-D8jSdnGS.js} +1 -3
  592. package/dist/html.html-data.json +29 -244
  593. package/dist/ionic/index.esm.js +1 -1
  594. package/dist/ionic/ionic.esm.js +1 -1
  595. package/dist/ionic/p-01aa6153.entry.js +4 -0
  596. package/dist/ionic/p-07a3d959.entry.js +4 -0
  597. package/dist/ionic/p-0b68c8a9.entry.js +4 -0
  598. package/dist/ionic/p-0d50e1d3.entry.js +4 -0
  599. package/dist/ionic/p-124bb083.entry.js +4 -0
  600. package/dist/ionic/p-1f8298b3.entry.js +4 -0
  601. package/dist/ionic/p-1yGxS_yC.js +4 -0
  602. package/dist/ionic/p-29273c47.entry.js +4 -0
  603. package/dist/ionic/p-340449bb.entry.js +4 -0
  604. package/dist/ionic/p-39a55f1c.entry.js +4 -0
  605. package/dist/ionic/p-3a362e49.entry.js +4 -0
  606. package/dist/ionic/p-3a85e733.entry.js +4 -0
  607. package/dist/ionic/p-3b3dee19.entry.js +4 -0
  608. package/dist/ionic/p-485c13f3.entry.js +4 -0
  609. package/dist/ionic/p-4a63756e.entry.js +4 -0
  610. package/dist/ionic/p-4a6c21f5.entry.js +4 -0
  611. package/dist/ionic/p-4e8b3cd6.entry.js +4 -0
  612. package/dist/ionic/p-4f332976.entry.js +4 -0
  613. package/dist/ionic/{p-d604defc.entry.js → p-576b4ff1.entry.js} +1 -1
  614. package/dist/ionic/p-62a1e227.entry.js +4 -0
  615. package/dist/ionic/p-64877060.entry.js +4 -0
  616. package/dist/ionic/p-678f1511.entry.js +4 -0
  617. package/dist/ionic/p-6a0b6306.entry.js +4 -0
  618. package/dist/ionic/p-6c9228d4.entry.js +4 -0
  619. package/dist/ionic/p-70ab2edf.entry.js +4 -0
  620. package/dist/ionic/p-74d05699.entry.js +4 -0
  621. package/dist/ionic/p-77aa1e90.entry.js +4 -0
  622. package/dist/ionic/p-79be145b.entry.js +4 -0
  623. package/dist/ionic/p-7ba7526a.entry.js +4 -0
  624. package/dist/ionic/p-7cffb312.entry.js +4 -0
  625. package/dist/ionic/p-7e44a4c5.entry.js +4 -0
  626. package/dist/ionic/{p-45825c2c.entry.js → p-88717a4c.entry.js} +1 -1
  627. package/dist/ionic/p-918cf662.entry.js +4 -0
  628. package/dist/ionic/p-9476775d.entry.js +4 -0
  629. package/dist/ionic/p-9b05cd45.entry.js +4 -0
  630. package/dist/ionic/p-9b75925d.entry.js +4 -0
  631. package/dist/ionic/p-9c849562.entry.js +4 -0
  632. package/dist/ionic/p-9e74defe.entry.js +4 -0
  633. package/{components/p-oF-CwZ0b.js → dist/ionic/p-B7D6IyeU.js} +1 -1
  634. package/dist/ionic/p-BQZlX_QW.js +4 -0
  635. package/dist/ionic/p-BiY-3g9k.js +4 -0
  636. package/dist/ionic/p-BrrkdT9L.js +5 -0
  637. package/dist/ionic/p-BzLJp2YK.js +4 -0
  638. package/dist/ionic/{p-ZqkJDyhe.js → p-CAUIo7pE.js} +1 -1
  639. package/dist/ionic/p-CQA3_fVT.js +4 -0
  640. package/dist/ionic/{p-SJmaFQ0H.js → p-CTDx2dNQ.js} +1 -1
  641. package/dist/ionic/p-CWcwW_B7.js +4 -0
  642. package/dist/ionic/p-CYLLjyEJ.js +4 -0
  643. package/dist/ionic/p-Cd5dRcMd.js +4 -0
  644. package/dist/ionic/p-CeizwFUQ.js +4 -0
  645. package/{components/p-Cmql_g3_.js → dist/ionic/p-Chp7Hiov.js} +1 -1
  646. package/{components/p-sK-FK9CT.js → dist/ionic/p-Ckv4csSE.js} +1 -1
  647. package/dist/ionic/p-CnLgxV__.js +4 -0
  648. package/dist/ionic/p-CrC3J6IY.js +4 -0
  649. package/dist/ionic/p-D6sRRFCv.js +4 -0
  650. package/dist/ionic/p-DBv6epu_.js +4 -0
  651. package/dist/ionic/p-Dl7gXMai.js +4 -0
  652. package/dist/ionic/p-Dxq4Ulb1.js +4 -0
  653. package/dist/ionic/p-YuNpC3uG.js +4 -0
  654. package/{components/p-BLysWQA1.js → dist/ionic/p-ZdzrkYIV.js} +1 -1
  655. package/dist/ionic/p-a6c90dec.entry.js +4 -0
  656. package/dist/ionic/{p-fdf0e290.entry.js → p-a71389be.entry.js} +1 -1
  657. package/dist/ionic/p-a714ca93.entry.js +4 -0
  658. package/dist/ionic/p-bcaba3e0.entry.js +4 -0
  659. package/dist/ionic/p-bd44b49f.entry.js +4 -0
  660. package/dist/ionic/{p-7d267dc6.entry.js → p-c636b0d3.entry.js} +1 -1
  661. package/dist/ionic/p-cdc18886.entry.js +4 -0
  662. package/dist/ionic/p-ce6acd14.entry.js +4 -0
  663. package/dist/ionic/p-d7b2d59f.entry.js +4 -0
  664. package/dist/ionic/p-dc2812ee.entry.js +4 -0
  665. package/dist/ionic/p-de74cc27.entry.js +4 -0
  666. package/dist/ionic/p-ef1330ac.entry.js +4 -0
  667. package/dist/ionic/p-f57fea97.entry.js +4 -0
  668. package/dist/ionic/p-f840d58e.entry.js +4 -0
  669. package/dist/ionic/p-fK-AnPaq.js +4 -0
  670. package/dist/ionic/p-fce34e31.entry.js +4 -0
  671. package/dist/ionic/p-fd014d35.entry.js +4 -0
  672. package/dist/ionic/p-gBNkhCZy.js +4 -0
  673. package/dist/ionic/p-gYuHMhs-.js +4 -0
  674. package/dist/ionic/p-nMHpWRBR.js +4 -0
  675. package/dist/types/components/avatar/avatar.d.ts +6 -0
  676. package/dist/types/components/badge/badge.d.ts +30 -17
  677. package/dist/types/components/badge/badge.interfaces.d.ts +73 -0
  678. package/dist/types/components/button/button.d.ts +7 -1
  679. package/dist/types/components/chip/chip.d.ts +45 -14
  680. package/dist/types/components/chip/chip.interfaces.d.ts +97 -0
  681. package/dist/types/components/content/content.d.ts +1 -2
  682. package/dist/types/components/content/{content-interface.d.ts → content.interfaces.d.ts} +18 -0
  683. package/dist/types/components/item-divider/item-divider.d.ts +0 -1
  684. package/dist/types/components/item-divider/item-divider.interfaces.d.ts +132 -0
  685. package/dist/types/components/item-sliding/item-sliding.d.ts +2 -17
  686. package/dist/types/components/progress-bar/progress-bar.d.ts +9 -4
  687. package/dist/types/components/progress-bar/progress-bar.interfaces.d.ts +90 -0
  688. package/dist/types/components/spinner/spinner-configs.d.ts +2 -2
  689. package/dist/types/components/spinner/spinner.d.ts +8 -4
  690. package/dist/types/components/spinner/spinner.interfaces.d.ts +72 -0
  691. package/dist/types/components/tab/tab.d.ts +0 -1
  692. package/dist/types/components/tab-button/tab-button.d.ts +7 -0
  693. package/dist/types/components/tabs/tabs.d.ts +1 -1
  694. package/dist/types/components.d.ts +64 -215
  695. package/dist/types/global/config.d.ts +9 -1
  696. package/dist/types/global/ionic-global.d.ts +3 -10
  697. package/dist/types/index.d.ts +1 -2
  698. package/dist/types/interface.d.ts +2 -2
  699. package/dist/types/themes/base/dark.tokens.d.ts +2 -0
  700. package/dist/types/themes/base/default.tokens.d.ts +2 -0
  701. package/dist/types/themes/base/high-contrast-dark.tokens.d.ts +2 -0
  702. package/dist/types/themes/base/high-contrast.tokens.d.ts +2 -0
  703. package/dist/types/themes/base/light.tokens.d.ts +2 -0
  704. package/dist/types/themes/base/shared.tokens.d.ts +11 -0
  705. package/dist/types/themes/ionic/dark.tokens.d.ts +2 -0
  706. package/dist/types/themes/ionic/default.tokens.d.ts +2 -0
  707. package/dist/types/themes/ionic/light.tokens.d.ts +2 -0
  708. package/dist/types/themes/ionic/shared.tokens.d.ts +112 -0
  709. package/dist/types/themes/ios/dark.tokens.d.ts +2 -0
  710. package/dist/types/themes/ios/default.tokens.d.ts +2 -0
  711. package/dist/types/themes/ios/high-contrast-dark.tokens.d.ts +2 -0
  712. package/dist/types/themes/ios/high-contrast.tokens.d.ts +2 -0
  713. package/dist/types/themes/ios/light.tokens.d.ts +2 -0
  714. package/dist/types/themes/ios/shared.tokens.d.ts +56 -0
  715. package/dist/types/themes/md/dark.tokens.d.ts +2 -0
  716. package/dist/types/themes/md/default.tokens.d.ts +2 -0
  717. package/dist/types/themes/md/high-contrast-dark.tokens.d.ts +2 -0
  718. package/dist/types/themes/md/high-contrast.tokens.d.ts +2 -0
  719. package/dist/types/themes/md/light.tokens.d.ts +2 -0
  720. package/dist/types/themes/md/shared.tokens.d.ts +117 -0
  721. package/dist/types/themes/themes.interfaces.d.ts +278 -0
  722. package/dist/types/utils/badge-position.d.ts +106 -0
  723. package/dist/types/utils/config.d.ts +6 -0
  724. package/dist/types/utils/helpers.d.ts +16 -0
  725. package/dist/types/utils/platform.d.ts +2 -2
  726. package/dist/types/utils/theme.d.ts +198 -3
  727. package/hydrate/index.js +2898 -2173
  728. package/hydrate/index.mjs +2898 -2173
  729. package/package.json +6 -4
  730. package/components/ion-gallery-item.d.ts +0 -11
  731. package/components/ion-gallery-item.js +0 -4
  732. package/components/ion-gallery.d.ts +0 -11
  733. package/components/ion-gallery.js +0 -4
  734. package/components/p-0sa2JgYA.js +0 -4
  735. package/components/p-3Ni1Z654.js +0 -4
  736. package/components/p-6_r-Odtt.js +0 -4
  737. package/components/p-9gxM3tAr.js +0 -4
  738. package/components/p-B-oPDoNQ.js +0 -4
  739. package/components/p-B636tzQ7.js +0 -4
  740. package/components/p-B8Oa6a_k.js +0 -4
  741. package/components/p-BCDEEm9n.js +0 -4
  742. package/components/p-BDndEqui.js +0 -4
  743. package/components/p-BLHs-wsh.js +0 -4
  744. package/components/p-BO4aickU.js +0 -4
  745. package/components/p-BbQGmZyu.js +0 -4
  746. package/components/p-BdmDSErh.js +0 -4
  747. package/components/p-BeVlsaLA.js +0 -4
  748. package/components/p-BhkRbo3L.js +0 -4
  749. package/components/p-Bp__mr16.js +0 -4
  750. package/components/p-BqDiJgC_.js +0 -4
  751. package/components/p-C00Y_WJv.js +0 -4
  752. package/components/p-C0U8YqYW.js +0 -4
  753. package/components/p-C4dDZdpz.js +0 -4
  754. package/components/p-C75do9pU.js +0 -4
  755. package/components/p-CKfNwyAb.js +0 -4
  756. package/components/p-CSf_VKpz.js +0 -4
  757. package/components/p-CVBkx7m1.js +0 -4
  758. package/components/p-Cb9imMZh.js +0 -4
  759. package/components/p-Cf9-xP7P.js +0 -4
  760. package/components/p-CieebRr6.js +0 -4
  761. package/components/p-CjSx8W-k.js +0 -4
  762. package/components/p-Ct1_qpJ-.js +0 -4
  763. package/components/p-CtiqM786.js +0 -4
  764. package/components/p-CvljGih0.js +0 -4
  765. package/components/p-D42P_qbe.js +0 -4
  766. package/components/p-DDw-NYxz.js +0 -4
  767. package/components/p-DVcs-2q3.js +0 -4
  768. package/components/p-DZOqbnq2.js +0 -4
  769. package/components/p-DaJxRxSQ.js +0 -4
  770. package/components/p-Ddl4_R29.js +0 -4
  771. package/components/p-KF2RUDHO.js +0 -4
  772. package/components/p-XegQjlzJ.js +0 -4
  773. package/components/p-lEYPO4ZC.js +0 -4
  774. package/components/p-n94Bzx6_.js +0 -4
  775. package/components/p-t98_NeNv.js +0 -4
  776. package/components/p-vCpF32Z7.js +0 -4
  777. package/components/p-vGxjPSKT.js +0 -4
  778. package/components/p-vXpMhGrs.js +0 -4
  779. package/components/p-wCDzv5Q8.js +0 -4
  780. package/dist/cjs/focus-visible-BIj-I3-C.js +0 -101
  781. package/dist/cjs/helpers-DJYxKN5U.js +0 -413
  782. package/dist/cjs/ion-gallery-item.cjs.entry.js +0 -72
  783. package/dist/cjs/ion-gallery.cjs.entry.js +0 -559
  784. package/dist/cjs/theme-IlOsGAz7.js +0 -72
  785. package/dist/collection/components/badge/badge.ionic.css +0 -275
  786. package/dist/collection/components/badge/badge.ios.css +0 -295
  787. package/dist/collection/components/badge/badge.md.css +0 -275
  788. package/dist/collection/components/chip/chip.ionic.css +0 -217
  789. package/dist/collection/components/chip/chip.ios.css +0 -265
  790. package/dist/collection/components/chip/chip.md.css +0 -260
  791. package/dist/collection/components/gallery/gallery-constants.js +0 -12
  792. package/dist/collection/components/gallery/gallery.css +0 -76
  793. package/dist/collection/components/gallery/gallery.js +0 -644
  794. package/dist/collection/components/gallery/test/utils.js +0 -100
  795. package/dist/collection/components/gallery-item/gallery-item.css +0 -87
  796. package/dist/collection/components/gallery-item/gallery-item.js +0 -87
  797. package/dist/collection/components/item-divider/item-divider.ios.css +0 -369
  798. package/dist/collection/components/item-divider/item-divider.md.css +0 -425
  799. package/dist/collection/components/item-sliding/item-sliding.ionic.css +0 -211
  800. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  801. package/dist/collection/components/progress-bar/progress-bar.ios.css +0 -298
  802. package/dist/collection/components/progress-bar/progress-bar.md.css +0 -290
  803. package/dist/collection/components/spinner/spinner.ionic.css +0 -300
  804. package/dist/collection/components/spinner/spinner.native.css +0 -199
  805. package/dist/collection/utils/css-value-validation.js +0 -25
  806. package/dist/esm/focus-visible-vXpMhGrs.js +0 -97
  807. package/dist/esm/helpers-Do7zwvM1.js +0 -392
  808. package/dist/esm/ion-gallery-item.entry.js +0 -70
  809. package/dist/esm/ion-gallery.entry.js +0 -557
  810. package/dist/esm/theme-DaJxRxSQ.js +0 -67
  811. package/dist/ionic/p-02a1a45c.entry.js +0 -4
  812. package/dist/ionic/p-07d3388f.entry.js +0 -4
  813. package/dist/ionic/p-0c3bf0a7.entry.js +0 -4
  814. package/dist/ionic/p-0ef2fcda.entry.js +0 -4
  815. package/dist/ionic/p-11nqcMM3.js +0 -4
  816. package/dist/ionic/p-139d02eb.entry.js +0 -4
  817. package/dist/ionic/p-1ab01507.entry.js +0 -4
  818. package/dist/ionic/p-21ca5788.entry.js +0 -4
  819. package/dist/ionic/p-229c8fb5.entry.js +0 -4
  820. package/dist/ionic/p-2311e660.entry.js +0 -4
  821. package/dist/ionic/p-2981a0bd.entry.js +0 -4
  822. package/dist/ionic/p-2a66b899.entry.js +0 -4
  823. package/dist/ionic/p-2c252788.entry.js +0 -4
  824. package/dist/ionic/p-2d5a2511.entry.js +0 -4
  825. package/dist/ionic/p-37ccbee4.entry.js +0 -4
  826. package/dist/ionic/p-3aba19e2.entry.js +0 -4
  827. package/dist/ionic/p-3d939d55.entry.js +0 -4
  828. package/dist/ionic/p-3fd97ea9.entry.js +0 -4
  829. package/dist/ionic/p-432c5888.entry.js +0 -4
  830. package/dist/ionic/p-455ac83a.entry.js +0 -4
  831. package/dist/ionic/p-488992b6.entry.js +0 -4
  832. package/dist/ionic/p-4a0260e6.entry.js +0 -4
  833. package/dist/ionic/p-503219b5.entry.js +0 -4
  834. package/dist/ionic/p-5b164421.entry.js +0 -4
  835. package/dist/ionic/p-636aa79b.entry.js +0 -4
  836. package/dist/ionic/p-65159e09.entry.js +0 -4
  837. package/dist/ionic/p-68c21b2a.entry.js +0 -4
  838. package/dist/ionic/p-6911beb3.entry.js +0 -4
  839. package/dist/ionic/p-6ec1e450.entry.js +0 -4
  840. package/dist/ionic/p-6fbead83.entry.js +0 -4
  841. package/dist/ionic/p-7194f6fa.entry.js +0 -4
  842. package/dist/ionic/p-76de7898.entry.js +0 -4
  843. package/dist/ionic/p-7761b69d.entry.js +0 -4
  844. package/dist/ionic/p-8291455b.entry.js +0 -4
  845. package/dist/ionic/p-83c0eb9b.entry.js +0 -4
  846. package/dist/ionic/p-874945f3.entry.js +0 -4
  847. package/dist/ionic/p-8uDL7fql.js +0 -4
  848. package/dist/ionic/p-92427c9d.entry.js +0 -4
  849. package/dist/ionic/p-9f914d43.entry.js +0 -4
  850. package/dist/ionic/p-BsfuYVMP.js +0 -4
  851. package/dist/ionic/p-Bx0bt2Ar.js +0 -4
  852. package/dist/ionic/p-C2mpVKI1.js +0 -4
  853. package/dist/ionic/p-C4uUM9DM.js +0 -4
  854. package/dist/ionic/p-C5zxLmJ_.js +0 -4
  855. package/dist/ionic/p-CBV-BGvD.js +0 -4
  856. package/dist/ionic/p-CDn0uNJA.js +0 -4
  857. package/dist/ionic/p-CFjI63GE.js +0 -4
  858. package/dist/ionic/p-CHE1xWbg.js +0 -4
  859. package/dist/ionic/p-CIk5QtPm.js +0 -4
  860. package/dist/ionic/p-CQKe4n56.js +0 -4
  861. package/dist/ionic/p-CVp2D--1.js +0 -4
  862. package/dist/ionic/p-CXqdKf1K.js +0 -4
  863. package/dist/ionic/p-Cb-0O4h8.js +0 -4
  864. package/dist/ionic/p-DKWXAwlR.js +0 -4
  865. package/dist/ionic/p-DaJxRxSQ.js +0 -4
  866. package/dist/ionic/p-DoyDJ2X5.js +0 -4
  867. package/dist/ionic/p-FvDKM4Ax.js +0 -4
  868. package/dist/ionic/p-Omi_TcwW.js +0 -5
  869. package/dist/ionic/p-SOASChNu.js +0 -4
  870. package/dist/ionic/p-acdc21a6.entry.js +0 -4
  871. package/dist/ionic/p-b8f7e970.entry.js +0 -4
  872. package/dist/ionic/p-bb2d2635.entry.js +0 -4
  873. package/dist/ionic/p-bd3ae730.entry.js +0 -4
  874. package/dist/ionic/p-c1d6501a.entry.js +0 -4
  875. package/dist/ionic/p-c55a5578.entry.js +0 -4
  876. package/dist/ionic/p-cecceb9f.entry.js +0 -4
  877. package/dist/ionic/p-dd1e95c5.entry.js +0 -4
  878. package/dist/ionic/p-e342b205.entry.js +0 -4
  879. package/dist/ionic/p-e5976b28.entry.js +0 -4
  880. package/dist/ionic/p-e73a7fe2.entry.js +0 -4
  881. package/dist/ionic/p-f02ba305.entry.js +0 -4
  882. package/dist/ionic/p-fc01563c.entry.js +0 -4
  883. package/dist/ionic/p-fe073307.entry.js +0 -4
  884. package/dist/ionic/p-qETiT38a.js +0 -4
  885. package/dist/ionic/p-vXpMhGrs.js +0 -4
  886. package/dist/types/components/gallery/gallery-constants.d.ts +0 -9
  887. package/dist/types/components/gallery/gallery-interface.d.ts +0 -10
  888. package/dist/types/components/gallery/gallery.d.ts +0 -191
  889. package/dist/types/components/gallery/test/utils.d.ts +0 -2
  890. package/dist/types/components/gallery-item/gallery-item.d.ts +0 -25
  891. package/dist/types/components/spinner/spinner-interface.d.ts +0 -22
  892. package/dist/types/utils/css-value-validation.d.ts +0 -12
  893. /package/dist/collection/components/{content/content-interface.js → chip/chip.interfaces.js} +0 -0
  894. /package/dist/collection/components/{gallery/gallery-interface.js → content/content.interfaces.js} +0 -0
  895. /package/dist/collection/components/{spinner/spinner-interface.js → item-divider/item-divider.interfaces.js} +0 -0
  896. /package/dist/collection/components/{tabs/tabs-interface.js → spinner/spinner.interfaces.js} +0 -0
  897. /package/dist/types/components/tabs/{tabs-interface.d.ts → tabs.interfaces.d.ts} +0 -0
@@ -1,199 +0,0 @@
1
- /**
2
- * A heuristic that applies CSS to tablet
3
- * viewports.
4
- *
5
- * Usage:
6
- * @include tablet-viewport() {
7
- * :host {
8
- * background-color: green;
9
- * }
10
- * }
11
- */
12
- /**
13
- * A heuristic that applies CSS to mobile
14
- * viewports (i.e. phones, not tablets).
15
- *
16
- * Usage:
17
- * @include mobile-viewport() {
18
- * :host {
19
- * background-color: blue;
20
- * }
21
- * }
22
- */
23
- :host {
24
- /**
25
- * @prop --color: Color of the spinner
26
- */
27
- display: inline-block;
28
- position: relative;
29
- width: 28px;
30
- height: 28px;
31
- color: var(--color);
32
- overflow: hidden;
33
- user-select: none;
34
- }
35
-
36
- :host(.ion-color) {
37
- color: var(--ion-color-base);
38
- }
39
-
40
- svg {
41
- transform-origin: center;
42
- position: absolute;
43
- /**
44
- * Do not use @include position
45
- * as the alignment of the elements with
46
- * a spinner should not be RTL aware.
47
- */
48
- top: 0;
49
- /* stylelint-disable-next-line property-disallowed-list */
50
- left: 0;
51
- width: 100%;
52
- height: 100%;
53
- transform: translateZ(0);
54
- }
55
- :host-context([dir=rtl]) svg {
56
- transform-origin: calc(100% - center);
57
- }
58
-
59
- [dir=rtl] svg {
60
- transform-origin: calc(100% - center);
61
- }
62
-
63
- @supports selector(:dir(rtl)) {
64
- svg:dir(rtl) {
65
- transform-origin: calc(100% - center);
66
- }
67
- }
68
-
69
- :host(.spinner-lines) line,
70
- :host(.spinner-lines-small) line,
71
- :host(.spinner-lines-sharp) line,
72
- :host(.spinner-lines-sharp-small) line {
73
- stroke-linecap: round;
74
- stroke: currentColor;
75
- }
76
-
77
- :host(.spinner-lines) svg,
78
- :host(.spinner-lines-small) svg,
79
- :host(.spinner-lines-sharp) svg,
80
- :host(.spinner-lines-sharp-small) svg {
81
- animation: spinner-fade-out 1s linear infinite;
82
- }
83
-
84
- :host(.spinner-bubbles) svg {
85
- animation: spinner-scale-out 1s linear infinite;
86
- fill: currentColor;
87
- }
88
-
89
- :host(.spinner-circles) svg {
90
- animation: spinner-fade-out 1s linear infinite;
91
- fill: currentColor;
92
- }
93
-
94
- :host(.spinner-crescent) circle {
95
- fill: transparent;
96
- stroke-width: 4px;
97
- stroke-dasharray: 128px;
98
- stroke-dashoffset: 82px;
99
- stroke: currentColor;
100
- }
101
-
102
- :host(.spinner-crescent) svg {
103
- animation: spinner-rotate 1s linear infinite;
104
- }
105
-
106
- :host(.spinner-dots) circle {
107
- stroke-width: 0;
108
- fill: currentColor;
109
- }
110
-
111
- :host(.spinner-dots) svg {
112
- animation: spinner-dots 1s linear infinite;
113
- }
114
-
115
- :host(.spinner-circular) svg {
116
- animation: spinner-circular linear infinite;
117
- }
118
-
119
- :host(.spinner-circular) circle {
120
- animation: spinner-circular-inner ease-in-out infinite;
121
- stroke: currentColor;
122
- stroke-dasharray: 80px, 200px;
123
- stroke-dashoffset: 0px;
124
- stroke-width: 5.6;
125
- fill: none;
126
- }
127
-
128
- :host(.spinner-paused),
129
- :host(.spinner-paused) svg,
130
- :host(.spinner-paused) circle {
131
- animation-play-state: paused;
132
- }
133
-
134
- @keyframes spinner-fade-out {
135
- 0% {
136
- opacity: 1;
137
- }
138
- 100% {
139
- opacity: 0;
140
- }
141
- }
142
- @keyframes spinner-scale-out {
143
- 0% {
144
- transform: scale(1, 1);
145
- }
146
- 100% {
147
- transform: scale(0, 0);
148
- }
149
- }
150
- @keyframes spinner-rotate {
151
- 0% {
152
- transform: rotate(0deg);
153
- }
154
- 100% {
155
- transform: rotate(360deg);
156
- }
157
- }
158
- @keyframes spinner-dots {
159
- 0% {
160
- transform: scale(1, 1);
161
- opacity: 0.9;
162
- }
163
- 50% {
164
- transform: scale(0.4, 0.4);
165
- opacity: 0.3;
166
- }
167
- 100% {
168
- transform: scale(1, 1);
169
- opacity: 0.9;
170
- }
171
- }
172
- @keyframes spinner-circular {
173
- 100% {
174
- transform: rotate(360deg);
175
- }
176
- }
177
- @keyframes spinner-circular-inner {
178
- 0% {
179
- stroke-dasharray: 1px, 200px;
180
- stroke-dashoffset: 0px;
181
- }
182
- 50% {
183
- stroke-dasharray: 100px, 200px;
184
- stroke-dashoffset: -15px;
185
- }
186
- 100% {
187
- stroke-dasharray: 100px, 200px;
188
- stroke-dashoffset: -125px;
189
- }
190
- }
191
- :host(.spinner-lines) line,
192
- :host(.spinner-lines-small) line {
193
- stroke-width: 7px;
194
- }
195
-
196
- :host(.spinner-lines-sharp) line,
197
- :host(.spinner-lines-sharp-small) line {
198
- stroke-width: 4px;
199
- }
@@ -1,25 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- /**
5
- * Helpers for validating user-supplied CSS values using regular expressions, without
6
- * relying on browser CSS APIs.
7
- */
8
- // Matches `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
9
- const LENGTH_PERCENTAGE_PATTERN = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i;
10
- // Matches simple `calc` / `min` / `max` / `clamp(...)` functions.
11
- const MATH_FUNCTION_PATTERN = /^(calc|min|max|clamp)\s*\(.+\)$/i;
12
- /**
13
- * Returns whether `value` matches the [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
14
- * syntax. Accepts `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
15
- * Also supports simple `calc` / `min` / `max` / `clamp(...)` functions.
16
- *
17
- * @param value String value to validate.
18
- */
19
- export function isValidLengthPercentage(value) {
20
- const v = value.trim();
21
- if (!v) {
22
- return false;
23
- }
24
- return MATH_FUNCTION_PATTERN.test(v) || LENGTH_PERCENTAGE_PATTERN.test(v);
25
- }
@@ -1,97 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- const ION_FOCUSED = 'ion-focused';
5
- const ION_FOCUSABLE = 'ion-focusable';
6
- const FOCUS_KEYS = [
7
- 'Tab',
8
- 'ArrowDown',
9
- 'Space',
10
- 'Escape',
11
- ' ',
12
- 'Shift',
13
- 'Enter',
14
- 'ArrowLeft',
15
- 'ArrowRight',
16
- 'ArrowUp',
17
- 'Home',
18
- 'End',
19
- ];
20
- let focusVisibleUtility = null;
21
- const getOrInitFocusVisibleUtility = () => {
22
- if (!focusVisibleUtility) {
23
- focusVisibleUtility = startFocusVisible();
24
- }
25
- return focusVisibleUtility;
26
- };
27
- /**
28
- * Used to set focus on an element that uses `ion-focusable`.
29
- * Do not use this if focusing the element as a result of a keyboard
30
- * event as the focus utility should handle this for us. This method
31
- * should be used when we want to programmatically focus an element as
32
- * a result of another user action. (Ex: We focus the first element
33
- * inside of a popover when the user presents it, but the popover is not always
34
- * presented as a result of keyboard action.)
35
- *
36
- * @param elements - The elements to set focus on.
37
- */
38
- const focusElements = (elements) => {
39
- const focusVisible = getOrInitFocusVisibleUtility();
40
- focusVisible.setFocus(elements);
41
- };
42
- const startFocusVisible = (rootEl) => {
43
- let currentFocus = [];
44
- let keyboardMode = true;
45
- const ref = rootEl ? rootEl.shadowRoot : document;
46
- const root = rootEl ? rootEl : document.body;
47
- const setFocus = (elements) => {
48
- currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
49
- elements.forEach((el) => el.classList.add(ION_FOCUSED));
50
- currentFocus = elements;
51
- };
52
- const pointerDown = () => {
53
- keyboardMode = false;
54
- setFocus([]);
55
- };
56
- const onKeydown = (ev) => {
57
- keyboardMode = FOCUS_KEYS.includes(ev.key);
58
- if (!keyboardMode) {
59
- setFocus([]);
60
- }
61
- };
62
- const onFocusin = (ev) => {
63
- if (keyboardMode && ev.composedPath !== undefined) {
64
- const toFocus = ev.composedPath().filter((el) => {
65
- // TODO(FW-2832): type
66
- if (el.classList) {
67
- return el.classList.contains(ION_FOCUSABLE);
68
- }
69
- return false;
70
- });
71
- setFocus(toFocus);
72
- }
73
- };
74
- const onFocusout = () => {
75
- if (ref.activeElement === root) {
76
- setFocus([]);
77
- }
78
- };
79
- ref.addEventListener('keydown', onKeydown);
80
- ref.addEventListener('focusin', onFocusin);
81
- ref.addEventListener('focusout', onFocusout);
82
- ref.addEventListener('touchstart', pointerDown, { passive: true });
83
- ref.addEventListener('mousedown', pointerDown);
84
- const destroy = () => {
85
- ref.removeEventListener('keydown', onKeydown);
86
- ref.removeEventListener('focusin', onFocusin);
87
- ref.removeEventListener('focusout', onFocusout);
88
- ref.removeEventListener('touchstart', pointerDown);
89
- ref.removeEventListener('mousedown', pointerDown);
90
- };
91
- return {
92
- destroy,
93
- setFocus,
94
- };
95
- };
96
-
97
- export { focusElements, getOrInitFocusVisibleUtility, startFocusVisible };
@@ -1,392 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { focusElements } from './focus-visible-vXpMhGrs.js';
5
- import { j as printIonError, e as config } from './index-Omi_TcwW.js';
6
-
7
- const transitionEndAsync = (el, expectedDuration = 0) => {
8
- return new Promise((resolve) => {
9
- transitionEnd(el, expectedDuration, resolve);
10
- });
11
- };
12
- /**
13
- * Allows developer to wait for a transition
14
- * to finish and fallback to a timer if the
15
- * transition is cancelled or otherwise
16
- * never finishes. Also see transitionEndAsync
17
- * which is an await-able version of this.
18
- */
19
- const transitionEnd = (el, expectedDuration = 0, callback) => {
20
- let unRegTrans;
21
- let animationTimeout;
22
- const opts = { passive: true };
23
- const ANIMATION_FALLBACK_TIMEOUT = 500;
24
- const unregister = () => {
25
- if (unRegTrans) {
26
- unRegTrans();
27
- }
28
- };
29
- const onTransitionEnd = (ev) => {
30
- if (ev === undefined || el === ev.target) {
31
- unregister();
32
- callback(ev);
33
- }
34
- };
35
- if (el) {
36
- el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts);
37
- el.addEventListener('transitionend', onTransitionEnd, opts);
38
- animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);
39
- unRegTrans = () => {
40
- if (animationTimeout !== undefined) {
41
- clearTimeout(animationTimeout);
42
- animationTimeout = undefined;
43
- }
44
- el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts);
45
- el.removeEventListener('transitionend', onTransitionEnd, opts);
46
- };
47
- }
48
- return unregister;
49
- };
50
- /**
51
- * Waits for a component to be ready for
52
- * both custom element and non-custom element builds.
53
- * If non-custom element build, el.componentOnReady
54
- * will be used.
55
- * For custom element builds, we wait a frame
56
- * so that the inner contents of the component
57
- * have a chance to render.
58
- *
59
- * Use this utility rather than calling
60
- * el.componentOnReady yourself.
61
- */
62
- const componentOnReady = (el, callback) => {
63
- if (el.componentOnReady) {
64
- // eslint-disable-next-line custom-rules/no-component-on-ready-method
65
- el.componentOnReady().then((resolvedEl) => callback(resolvedEl));
66
- }
67
- else {
68
- raf(() => callback(el));
69
- }
70
- };
71
- /**
72
- * This functions checks if a Stencil component is using
73
- * the lazy loaded build of Stencil. Returns `true` if
74
- * the component is lazy loaded. Returns `false` otherwise.
75
- */
76
- const hasLazyBuild = (stencilEl) => {
77
- return stencilEl.componentOnReady !== undefined;
78
- };
79
- /**
80
- * Elements inside of web components sometimes need to inherit global attributes
81
- * set on the host. For example, the inner input in `ion-input` should inherit
82
- * the `title` attribute that developers set directly on `ion-input`. This
83
- * helper function should be called in componentWillLoad and assigned to a variable
84
- * that is later used in the render function.
85
- *
86
- * This does not need to be reactive as changing attributes on the host element
87
- * does not trigger a re-render.
88
- */
89
- const inheritAttributes = (el, attributes = []) => {
90
- const attributeObject = {};
91
- attributes.forEach((attr) => {
92
- if (el.hasAttribute(attr)) {
93
- const value = el.getAttribute(attr);
94
- if (value !== null) {
95
- attributeObject[attr] = el.getAttribute(attr);
96
- }
97
- el.removeAttribute(attr);
98
- }
99
- });
100
- return attributeObject;
101
- };
102
- /**
103
- * List of available ARIA attributes + `role`.
104
- * Removed deprecated attributes.
105
- * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes
106
- */
107
- const ariaAttributes = [
108
- 'role',
109
- 'aria-activedescendant',
110
- 'aria-atomic',
111
- 'aria-autocomplete',
112
- 'aria-braillelabel',
113
- 'aria-brailleroledescription',
114
- 'aria-busy',
115
- 'aria-checked',
116
- 'aria-colcount',
117
- 'aria-colindex',
118
- 'aria-colindextext',
119
- 'aria-colspan',
120
- 'aria-controls',
121
- 'aria-current',
122
- 'aria-describedby',
123
- 'aria-description',
124
- 'aria-details',
125
- 'aria-disabled',
126
- 'aria-errormessage',
127
- 'aria-expanded',
128
- 'aria-flowto',
129
- 'aria-haspopup',
130
- 'aria-hidden',
131
- 'aria-invalid',
132
- 'aria-keyshortcuts',
133
- 'aria-label',
134
- 'aria-labelledby',
135
- 'aria-level',
136
- 'aria-live',
137
- 'aria-multiline',
138
- 'aria-multiselectable',
139
- 'aria-orientation',
140
- 'aria-owns',
141
- 'aria-placeholder',
142
- 'aria-posinset',
143
- 'aria-pressed',
144
- 'aria-readonly',
145
- 'aria-relevant',
146
- 'aria-required',
147
- 'aria-roledescription',
148
- 'aria-rowcount',
149
- 'aria-rowindex',
150
- 'aria-rowindextext',
151
- 'aria-rowspan',
152
- 'aria-selected',
153
- 'aria-setsize',
154
- 'aria-sort',
155
- 'aria-valuemax',
156
- 'aria-valuemin',
157
- 'aria-valuenow',
158
- 'aria-valuetext',
159
- ];
160
- /**
161
- * Returns an array of aria attributes that should be copied from
162
- * the shadow host element to a target within the light DOM.
163
- * @param el The element that the attributes should be copied from.
164
- * @param ignoreList The list of aria-attributes to ignore reflecting and removing from the host.
165
- * Use this in instances where we manually specify aria attributes on the `<Host>` element.
166
- */
167
- const inheritAriaAttributes = (el, ignoreList) => {
168
- let attributesToInherit = ariaAttributes;
169
- return inheritAttributes(el, attributesToInherit);
170
- };
171
- const addEventListener = (el, eventName, callback, opts) => {
172
- return el.addEventListener(eventName, callback, opts);
173
- };
174
- const removeEventListener = (el, eventName, callback, opts) => {
175
- return el.removeEventListener(eventName, callback, opts);
176
- };
177
- /**
178
- * Gets the root context of a shadow dom element
179
- * On newer browsers this will be the shadowRoot,
180
- * but for older browser this may just be the
181
- * element itself.
182
- *
183
- * Useful for whenever you need to explicitly
184
- * do "myElement.shadowRoot!.querySelector(...)".
185
- */
186
- const getElementRoot = (el, fallback = el) => {
187
- return el.shadowRoot || fallback;
188
- };
189
- /**
190
- * Patched version of requestAnimationFrame that avoids ngzone
191
- * Use only when you know ngzone should not run
192
- */
193
- const raf = (h) => {
194
- if (typeof __zone_symbol__requestAnimationFrame === 'function') {
195
- return __zone_symbol__requestAnimationFrame(h);
196
- }
197
- if (typeof requestAnimationFrame === 'function') {
198
- return requestAnimationFrame(h);
199
- }
200
- return setTimeout(h);
201
- };
202
- const hasShadowDom = (el) => {
203
- return !!el.shadowRoot && !!el.attachShadow;
204
- };
205
- /**
206
- * Focuses a given element while ensuring proper focus management
207
- * within the Ionic framework. If the element is marked as `ion-focusable`,
208
- * this function will delegate focus handling to `ion-app` or manually
209
- * apply focus when a custom app root is used.
210
- *
211
- * This function helps maintain accessibility and expected focus behavior
212
- * in both standard and custom root environments.
213
- *
214
- * @param el - The element to focus.
215
- */
216
- const focusVisibleElement = (el) => {
217
- el.focus();
218
- /**
219
- * When programmatically focusing an element,
220
- * the focus-visible utility will not run because
221
- * it is expecting a keyboard event to have triggered this;
222
- * however, there are times when we need to manually control
223
- * this behavior so we call the `setFocus` method on ion-app
224
- * which will let us explicitly set the elements to focus.
225
- *
226
- * Note: The element passed to this function might be an inner
227
- * focusable element (e.g., a native <button> inside ion-button's
228
- * shadow root). If so, we need to find the host element that has
229
- * the ion-focusable class to pass to setFocus.
230
- */
231
- let elToFocus = el;
232
- // If the element doesn't have ion-focusable, check if it's inside
233
- // a shadow root and use the host element instead
234
- if (!el.classList.contains('ion-focusable')) {
235
- const rootNode = el.getRootNode();
236
- if (rootNode instanceof ShadowRoot && rootNode.host instanceof HTMLElement) {
237
- elToFocus = rootNode.host;
238
- }
239
- }
240
- if (elToFocus.classList.contains('ion-focusable')) {
241
- const appRootSelector = config.get('appRootSelector', 'ion-app');
242
- const app = elToFocus.closest(appRootSelector);
243
- if (app) {
244
- if (appRootSelector === 'ion-app') {
245
- /**
246
- * If the app root is the default, then it will be
247
- * in charge of setting focus. This is because the
248
- * focus-visible utility is attached to the app root
249
- * and will handle setting focus on the correct element.
250
- */
251
- app.setFocus([elToFocus]);
252
- }
253
- else {
254
- /**
255
- * When using a custom app root selector, the focus-visible
256
- * utility is not available to manage focus automatically.
257
- * If we set focus immediately, the element may not be fully
258
- * rendered or interactive, especially if it was just added
259
- * to the DOM. Using requestAnimationFrame ensures that focus
260
- * is applied on the next frame, allowing the DOM to settle
261
- * before changing focus.
262
- */
263
- requestAnimationFrame(() => {
264
- /**
265
- * The focus-visible utility is used to set focus on an
266
- * element that uses `ion-focusable`.
267
- */
268
- focusElements([elToFocus]);
269
- });
270
- }
271
- }
272
- }
273
- };
274
- /**
275
- * This method is used to add a hidden input to a host element that contains
276
- * a Shadow DOM. It does not add the input inside of the Shadow root which
277
- * allows it to be picked up inside of forms. It should contain the same
278
- * values as the host element.
279
- *
280
- * @param always Add a hidden input even if the container does not use Shadow
281
- * @param container The element where the input will be added
282
- * @param name The name of the input
283
- * @param value The value of the input
284
- * @param disabled If true, the input is disabled
285
- */
286
- const renderHiddenInput = (always, container, name, value, disabled) => {
287
- {
288
- let input = container.querySelector('input.aux-input');
289
- if (!input) {
290
- input = container.ownerDocument.createElement('input');
291
- input.type = 'hidden';
292
- input.classList.add('aux-input');
293
- container.appendChild(input);
294
- }
295
- input.disabled = disabled;
296
- input.name = name;
297
- input.value = value || '';
298
- }
299
- };
300
- const clamp = (min, n, max) => {
301
- return Math.max(min, Math.min(n, max));
302
- };
303
- const assert = (actual, reason) => {
304
- if (!actual) {
305
- const message = 'ASSERT: ' + reason;
306
- printIonError(message);
307
- debugger; // eslint-disable-line
308
- throw new Error(message);
309
- }
310
- };
311
- const pointerCoord = (ev) => {
312
- // get X coordinates for either a mouse click
313
- // or a touch depending on the given event
314
- if (ev) {
315
- const changedTouches = ev.changedTouches;
316
- if (changedTouches && changedTouches.length > 0) {
317
- const touch = changedTouches[0];
318
- return { x: touch.clientX, y: touch.clientY };
319
- }
320
- if (ev.pageX !== undefined) {
321
- return { x: ev.pageX, y: ev.pageY };
322
- }
323
- }
324
- return { x: 0, y: 0 };
325
- };
326
- /**
327
- * @hidden
328
- * Given a side, return if it should be on the end
329
- * based on the value of dir
330
- * @param side the side
331
- * @param isRTL whether the application dir is rtl
332
- */
333
- const isEndSide = (side) => {
334
- const isRTL = document.dir === 'rtl';
335
- switch (side) {
336
- case 'start':
337
- return isRTL;
338
- case 'end':
339
- return !isRTL;
340
- default:
341
- throw new Error(`"${side}" is not a valid value for [side]. Use "start" or "end" instead.`);
342
- }
343
- };
344
- const debounceEvent = (event, wait) => {
345
- const original = event._original || event;
346
- return {
347
- _original: event,
348
- emit: debounce(original.emit.bind(original), wait),
349
- };
350
- };
351
- const debounce = (func, wait = 0) => {
352
- let timer;
353
- return (...args) => {
354
- clearTimeout(timer);
355
- timer = setTimeout(func, wait, ...args);
356
- };
357
- };
358
- /**
359
- * Check whether the two string maps are shallow equal.
360
- *
361
- * undefined is treated as an empty map.
362
- *
363
- * @returns whether the keys are the same and the values are shallow equal.
364
- */
365
- const shallowEqualStringMap = (map1, map2) => {
366
- map1 !== null && map1 !== void 0 ? map1 : (map1 = {});
367
- map2 !== null && map2 !== void 0 ? map2 : (map2 = {});
368
- if (map1 === map2) {
369
- return true;
370
- }
371
- const keys1 = Object.keys(map1);
372
- if (keys1.length !== Object.keys(map2).length) {
373
- return false;
374
- }
375
- for (const k1 of keys1) {
376
- if (!(k1 in map2)) {
377
- return false;
378
- }
379
- if (map1[k1] !== map2[k1]) {
380
- return false;
381
- }
382
- }
383
- return true;
384
- };
385
- /**
386
- * Checks input for usable number. Not NaN and not Infinite.
387
- */
388
- const isSafeNumber = (input) => {
389
- return typeof input === 'number' && !isNaN(input) && isFinite(input);
390
- };
391
-
392
- export { renderHiddenInput as a, inheritAttributes as b, componentOnReady as c, debounceEvent as d, clamp as e, addEventListener as f, getElementRoot as g, hasLazyBuild as h, inheritAriaAttributes as i, isSafeNumber as j, hasShadowDom as k, assert as l, removeEventListener as m, debounce as n, focusVisibleElement as o, isEndSide as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };