@ionic/core 8.8.20-dev.11787158518.168a2fea → 8.8.20-dev.11788449221.155f9f1e

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 (1241) 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.d.ts +11 -0
  27. package/components/ion-divider.js +4 -0
  28. package/components/ion-fab-button.js +1 -1
  29. package/components/ion-fab-list.js +1 -1
  30. package/components/ion-fab.js +1 -1
  31. package/components/ion-footer.js +1 -1
  32. package/components/ion-gallery-item.d.ts +11 -0
  33. package/components/ion-gallery-item.js +4 -0
  34. package/components/ion-gallery.d.ts +11 -0
  35. package/components/ion-gallery.js +4 -0
  36. package/components/ion-grid.js +1 -1
  37. package/components/ion-header.js +1 -1
  38. package/components/ion-icon.js +1 -1
  39. package/components/ion-img.js +1 -1
  40. package/components/ion-infinite-scroll-content.js +1 -1
  41. package/components/ion-infinite-scroll.js +1 -1
  42. package/components/ion-input-otp.js +1 -1
  43. package/components/ion-input-password-toggle.js +1 -1
  44. package/components/ion-input.js +1 -1
  45. package/components/ion-item-divider.js +1 -1
  46. package/components/ion-item-group.js +1 -1
  47. package/components/ion-item-option.js +1 -1
  48. package/components/ion-item-options.js +1 -1
  49. package/components/ion-item-sliding.js +1 -1
  50. package/components/ion-item.js +1 -1
  51. package/components/ion-label.js +1 -1
  52. package/components/ion-list-header.js +1 -1
  53. package/components/ion-list.js +1 -1
  54. package/components/ion-loading.js +1 -1
  55. package/components/ion-menu-button.js +1 -1
  56. package/components/ion-menu-toggle.js +1 -1
  57. package/components/ion-menu.js +1 -1
  58. package/components/ion-modal.js +1 -1
  59. package/components/ion-nav-link.js +1 -1
  60. package/components/ion-nav.js +1 -1
  61. package/components/ion-note.js +1 -1
  62. package/components/ion-picker-column-option.js +1 -1
  63. package/components/ion-picker-column.js +1 -1
  64. package/components/ion-picker-legacy-column.d.ts +11 -0
  65. package/components/ion-picker-legacy-column.js +4 -0
  66. package/components/ion-picker-legacy.d.ts +11 -0
  67. package/components/ion-picker-legacy.js +4 -0
  68. package/components/ion-picker.js +1 -1
  69. package/components/ion-popover.js +1 -1
  70. package/components/ion-progress-bar.js +1 -1
  71. package/components/ion-radio-group.js +1 -1
  72. package/components/ion-radio.js +1 -1
  73. package/components/ion-range.js +1 -1
  74. package/components/ion-refresher-content.js +1 -1
  75. package/components/ion-refresher.js +1 -1
  76. package/components/ion-reorder-group.js +1 -1
  77. package/components/ion-reorder.js +1 -1
  78. package/components/ion-ripple-effect.js +1 -1
  79. package/components/ion-route-redirect.js +1 -1
  80. package/components/ion-route.js +1 -1
  81. package/components/ion-router-link.js +1 -1
  82. package/components/ion-router-outlet.js +1 -1
  83. package/components/ion-router.js +1 -1
  84. package/components/ion-row.js +1 -1
  85. package/components/ion-searchbar.js +1 -1
  86. package/components/ion-segment-button.js +1 -1
  87. package/components/ion-segment-content.js +1 -1
  88. package/components/ion-segment-view.js +1 -1
  89. package/components/ion-segment.js +1 -1
  90. package/components/ion-select-modal.js +1 -1
  91. package/components/ion-select-option.js +1 -1
  92. package/components/ion-select-popover.js +1 -1
  93. package/components/ion-select.js +1 -1
  94. package/components/ion-skeleton-text.js +1 -1
  95. package/components/ion-spinner.js +1 -1
  96. package/components/ion-split-pane.js +1 -1
  97. package/components/ion-tab-bar.js +1 -1
  98. package/components/ion-tab-button.js +1 -1
  99. package/components/ion-tab.js +1 -1
  100. package/components/ion-tabs.js +1 -1
  101. package/components/ion-text.js +1 -1
  102. package/components/ion-textarea.js +1 -1
  103. package/components/ion-thumbnail.js +1 -1
  104. package/components/ion-title.js +1 -1
  105. package/components/ion-toast.js +1 -1
  106. package/components/ion-toggle.js +1 -1
  107. package/components/ion-toolbar.js +1 -1
  108. package/components/{p-DwpKZ6rl.js → p-B2SvA6NE.js} +1 -1
  109. package/components/p-B39i6rpY.js +4 -0
  110. package/components/p-B4GJERAm.js +4 -0
  111. package/components/p-B9_sPaDw.js +4 -0
  112. package/components/p-BDqjX7Z_.js +4 -0
  113. package/components/p-BE21dB_a.js +4 -0
  114. package/components/p-BJyeT56g.js +4 -0
  115. package/components/p-BLP69XoA.js +4 -0
  116. package/components/p-BTBa_wH7.js +4 -0
  117. package/components/p-BTEOs1at.js +4 -0
  118. package/components/p-BU8Blvqg.js +4 -0
  119. package/components/p-BUePQFRZ.js +4 -0
  120. package/components/p-BXjGM4gW.js +4 -0
  121. package/components/p-BXuZo5-p.js +4 -0
  122. package/components/p-BYRVyMu9.js +4 -0
  123. package/components/p-BYSs-jZz.js +4 -0
  124. package/components/{p-ryyf_ItD.js → p-BZwQa9ey.js} +1 -1
  125. package/components/p-B_a4XnF2.js +4 -0
  126. package/components/p-BjW8SOqw.js +4 -0
  127. package/components/p-BnQAsi91.js +4 -0
  128. package/components/p-BrF4HSay.js +4 -0
  129. package/components/p-Bs5kME4N.js +4 -0
  130. package/components/p-BwKpO3Is.js +4 -0
  131. package/components/p-BwzRqsq1.js +4 -0
  132. package/components/p-C0K6CGg9.js +4 -0
  133. package/components/p-C1L59jNd.js +4 -0
  134. package/components/p-C3ydXg9O.js +4 -0
  135. package/components/p-C5F5Zw01.js +4 -0
  136. package/components/p-C784We0w.js +4 -0
  137. package/components/p-CA81qANP.js +4 -0
  138. package/components/p-CEz0vNHD.js +4 -0
  139. package/components/p-CHB9zWT6.js +4 -0
  140. package/components/p-CJNsztW3.js +4 -0
  141. package/components/{p-CMLAwl_N.js → p-CKLXmqy1.js} +1 -1
  142. package/components/p-CODBQrPj.js +4 -0
  143. package/components/p-CVYFPBs-.js +4 -0
  144. package/components/p-CWqLCAML.js +4 -0
  145. package/components/p-CaB0_AG0.js +4 -0
  146. package/components/p-CaXMr1SL.js +4 -0
  147. package/components/p-Cc3oC60a.js +4 -0
  148. package/components/p-CjlmHeGM.js +4 -0
  149. package/components/p-CstXr-x9.js +4 -0
  150. package/components/{p-DzRT60Tw.js → p-Cu8FoYIJ.js} +1 -1
  151. package/components/p-CxhjkdQ_.js +4 -0
  152. package/components/p-CxoHM559.js +4 -0
  153. package/components/p-D0Iqw6OZ.js +4 -0
  154. package/components/p-D12Xsfh7.js +4 -0
  155. package/components/p-D1t981Ih.js +4 -0
  156. package/components/p-D2tZEPGv.js +4 -0
  157. package/components/p-D6zl6ZA8.js +4 -0
  158. package/components/p-DExJ63jR.js +4 -0
  159. package/components/p-DHvfufkW.js +4 -0
  160. package/components/p-DNweMi32.js +4 -0
  161. package/components/p-DRUGmlKi.js +4 -0
  162. package/components/p-DYq-5riI.js +4 -0
  163. package/components/p-DaJxRxSQ.js +4 -0
  164. package/components/p-Db3A3kHi.js +4 -0
  165. package/components/p-Df6AAcu8.js +4 -0
  166. package/components/p-Dhi5xtNS.js +4 -0
  167. package/components/{p-63OhffQv.js → p-Di8NbWfs.js} +1 -1
  168. package/components/p-DkfVuzjA.js +4 -0
  169. package/components/p-DriGEn08.js +4 -0
  170. package/components/p-Ds3yn-R0.js +4 -0
  171. package/components/p-DylrHLJF.js +4 -0
  172. package/components/p-VrmyB-Wu.js +4 -0
  173. package/components/p-Wn4ujuPW.js +4 -0
  174. package/components/p-X6YgGSBf.js +4 -0
  175. package/components/p-dLA3JnNJ.js +4 -0
  176. package/components/p-fIOYmaqA.js +4 -0
  177. package/components/p-o8OKV5aD.js +4 -0
  178. package/components/p-vUGYs065.js +4 -0
  179. package/components/p-vXpMhGrs.js +4 -0
  180. package/css/core.css +1 -1
  181. package/css/core.css.map +1 -1
  182. package/css/display.css +1 -1
  183. package/css/display.css.map +1 -1
  184. package/css/flex-utils.css +1 -1
  185. package/css/flex-utils.css.map +1 -1
  186. package/css/float-elements.css.map +1 -1
  187. package/css/global.bundle.css.map +1 -1
  188. package/css/ionic/bundle.ionic.css +1 -0
  189. package/css/ionic/bundle.ionic.css.map +1 -0
  190. package/css/ionic/core.ionic.css +1 -0
  191. package/css/ionic/core.ionic.css.map +1 -0
  192. package/css/ionic/global.bundle.ionic.css +1 -0
  193. package/css/ionic/global.bundle.ionic.css.map +1 -0
  194. package/css/ionic/ionic-swiper.ionic.css +1 -0
  195. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  196. package/css/ionic/link.ionic.css +1 -0
  197. package/css/ionic/link.ionic.css.map +1 -0
  198. package/css/ionic/structure.ionic.css +1 -0
  199. package/css/ionic/structure.ionic.css.map +1 -0
  200. package/css/ionic/typography.ionic.css +1 -0
  201. package/css/ionic/typography.ionic.css.map +1 -0
  202. package/css/ionic/utils.bundle.ionic.css +1 -0
  203. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  204. package/css/ionic-swiper.css +1 -1
  205. package/css/ionic-swiper.css.map +1 -1
  206. package/css/ionic.bundle.css +1 -1
  207. package/css/ionic.bundle.css.map +1 -1
  208. package/css/normalize.css.map +1 -1
  209. package/css/padding.css.map +1 -1
  210. package/css/palettes/dark.always.css.map +1 -1
  211. package/css/palettes/dark.class.css.map +1 -1
  212. package/css/palettes/dark.system.css.map +1 -1
  213. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  214. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  215. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  216. package/css/palettes/high-contrast.always.css.map +1 -1
  217. package/css/palettes/high-contrast.class.css.map +1 -1
  218. package/css/palettes/high-contrast.system.css.map +1 -1
  219. package/css/structure.css.map +1 -1
  220. package/css/text-alignment.css.map +1 -1
  221. package/css/text-transformation.css.map +1 -1
  222. package/css/typography.css.map +1 -1
  223. package/css/utils.bundle.css +1 -1
  224. package/css/utils.bundle.css.map +1 -1
  225. package/dist/cjs/{animation-C0mOHzej.js → animation-CxRPIayb.js} +6 -6
  226. package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BwvlV6g7.js} +1 -1
  227. package/dist/cjs/{button-active-CVMevT9a.js → button-active-qCQDwE2m.js} +3 -3
  228. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CRl0exFC.js} +3 -3
  229. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  230. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  231. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  232. package/dist/cjs/clear-button-press-controller-C7B9kyMa.js +45 -0
  233. package/dist/cjs/{config-CjUbvdPW.js → config-DWdFbSNK.js} +4 -5
  234. package/dist/cjs/{dir-zwDPRE5K.js → dir-DD0jPVH3.js} +3 -2
  235. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  236. package/dist/cjs/{format-pp0Du3K-.js → format-COAsdjOc.js} +30 -40
  237. package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-IvkF1VuM.js} +10 -6
  238. package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-dtqlP_q4.js} +8 -15
  239. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-DG25gZzb.js} +4 -3
  240. package/dist/cjs/{helpers-YPQybDph.js → helpers-Dhimwhpn.js} +74 -7
  241. package/dist/cjs/{index-DwlRtFZe.js → index-BJ2-LydH.js} +3 -9
  242. package/dist/cjs/{index-zVCah4Uz.js → index-Bsq0SbXc.js} +2 -2
  243. package/dist/cjs/{index-uvry__L4.js → index-C1knGA9x.js} +65 -33
  244. package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
  245. package/dist/cjs/{index-DXsPSne6.js → index-DhDV4RxJ.js} +16 -15
  246. package/dist/cjs/{index-BLdJCcJY.js → index-DuleInoh.js} +5 -5
  247. package/dist/cjs/{index-B7zJsYWS.js → index-YYUVCfP-.js} +3 -3
  248. package/dist/cjs/{index-DDg31ZF5.js → index-yon1HGB7.js} +10 -9
  249. package/dist/cjs/index.cjs.js +18 -18
  250. package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-BgJcHtqI.js} +23 -20
  251. package/dist/cjs/input.utils--RmR5lVe.js +150 -0
  252. package/dist/cjs/ion-accordion_2.cjs.entry.js +383 -379
  253. package/dist/cjs/ion-action-sheet.cjs.entry.js +87 -179
  254. package/dist/cjs/ion-alert.cjs.entry.js +126 -251
  255. package/dist/cjs/ion-app_8.cjs.entry.js +608 -461
  256. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -19
  257. package/dist/cjs/ion-back-button.cjs.entry.js +50 -65
  258. package/dist/cjs/ion-backdrop.cjs.entry.js +22 -23
  259. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +170 -212
  260. package/dist/cjs/ion-button_2.cjs.entry.js +118 -153
  261. package/dist/cjs/ion-card_5.cjs.entry.js +80 -110
  262. package/dist/cjs/ion-checkbox.cjs.entry.js +130 -164
  263. package/dist/cjs/ion-chip.cjs.entry.js +56 -21
  264. package/dist/cjs/ion-col_3.cjs.entry.js +61 -186
  265. package/dist/cjs/ion-datetime-button.cjs.entry.js +248 -256
  266. package/dist/cjs/ion-datetime_3.cjs.entry.js +3242 -0
  267. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  268. package/dist/cjs/ion-fab_3.cjs.entry.js +113 -155
  269. package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
  270. package/dist/cjs/ion-gallery.cjs.entry.js +608 -0
  271. package/dist/cjs/ion-img.cjs.entry.js +17 -35
  272. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +157 -109
  273. package/dist/cjs/ion-input-otp.cjs.entry.js +437 -435
  274. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +64 -40
  275. package/dist/cjs/ion-input.cjs.entry.js +312 -351
  276. package/dist/cjs/ion-item-option_3.cjs.entry.js +512 -137
  277. package/dist/cjs/ion-item_8.cjs.entry.js +190 -218
  278. package/dist/cjs/ion-loading.cjs.entry.js +69 -152
  279. package/dist/cjs/ion-menu_3.cjs.entry.js +138 -182
  280. package/dist/cjs/ion-modal.cjs.entry.js +501 -571
  281. package/dist/cjs/ion-nav_2.cjs.entry.js +164 -104
  282. package/dist/cjs/ion-picker-column-option.cjs.entry.js +40 -40
  283. package/dist/cjs/ion-picker-column.cjs.entry.js +410 -422
  284. package/dist/cjs/ion-picker.cjs.entry.js +401 -406
  285. package/dist/cjs/ion-popover.cjs.entry.js +212 -324
  286. package/dist/cjs/ion-progress-bar.cjs.entry.js +48 -36
  287. package/dist/cjs/ion-radio_2.cjs.entry.js +162 -217
  288. package/dist/cjs/ion-range.cjs.entry.js +251 -309
  289. package/dist/cjs/ion-refresher_2.cjs.entry.js +122 -175
  290. package/dist/cjs/ion-reorder_2.cjs.entry.js +54 -60
  291. package/dist/cjs/ion-ripple-effect.cjs.entry.js +26 -18
  292. package/dist/cjs/ion-route_4.cjs.entry.js +76 -179
  293. package/dist/cjs/ion-searchbar.cjs.entry.js +331 -308
  294. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  295. package/dist/cjs/ion-segment-view.cjs.entry.js +27 -28
  296. package/dist/cjs/ion-segment_2.cjs.entry.js +141 -177
  297. package/dist/cjs/ion-select-modal.cjs.entry.js +70 -50
  298. package/dist/cjs/ion-select_3.cjs.entry.js +429 -507
  299. package/dist/cjs/ion-spinner.cjs.entry.js +36 -28
  300. package/dist/cjs/ion-split-pane.cjs.entry.js +25 -34
  301. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +180 -117
  302. package/dist/cjs/ion-tab_2.cjs.entry.js +30 -55
  303. package/dist/cjs/ion-text.cjs.entry.js +7 -13
  304. package/dist/cjs/ion-textarea.cjs.entry.js +310 -303
  305. package/dist/cjs/ion-toast.cjs.entry.js +170 -265
  306. package/dist/cjs/ion-toggle.cjs.entry.js +187 -184
  307. package/dist/cjs/ionic-global-DYLhJaw7.js +519 -0
  308. package/dist/cjs/ionic.cjs.js +4 -4
  309. package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-Blgf-vZU.js} +21 -15
  310. package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DKn76MYO.js} +1 -1
  311. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-BgioTbwQ.js} +3 -3
  312. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-Otnp8OQI.js} +5 -4
  313. package/dist/cjs/list-a-7GSA6K.js +8 -0
  314. package/dist/cjs/loader.cjs.js +4 -4
  315. package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-ClgvbGfq.js} +11 -9
  316. package/dist/cjs/notch-controller-0hkmmSGo.js +155 -0
  317. package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
  318. package/dist/cjs/{overlays-KaNVDNqC.js → overlays-Bxjqh2m3.js} +336 -60
  319. package/dist/cjs/scroll-hide-controller-qWMU5yOk.js +345 -0
  320. package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-BqJEK1N1.js} +4 -3
  321. package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-ClA8u57t.js} +5 -4
  322. package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-4vY7mi8i.js} +6 -5
  323. package/dist/cjs/{theme-Bw0rpaNN.js → theme-IlOsGAz7.js} +26 -7
  324. package/dist/cjs/validity-QmuwEptc.js +51 -0
  325. package/dist/cjs/x-BTF99yFH.js +8 -0
  326. package/dist/collection/collection-manifest.json +13 -1
  327. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  328. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  329. package/dist/collection/components/accordion/accordion.js +338 -327
  330. package/dist/collection/components/accordion/accordion.md.css +67 -59
  331. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  332. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  333. package/dist/collection/components/accordion-group/accordion-group.js +69 -56
  334. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  335. package/dist/collection/components/action-sheet/action-sheet.ionic.css +494 -0
  336. package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
  337. package/dist/collection/components/action-sheet/action-sheet.js +76 -166
  338. package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
  339. package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
  340. package/dist/collection/components/alert/alert.ionic.css +787 -0
  341. package/dist/collection/components/alert/alert.ios.css +247 -54
  342. package/dist/collection/components/alert/alert.js +113 -236
  343. package/dist/collection/components/alert/alert.md.css +243 -56
  344. package/dist/collection/components/app/app.js +15 -86
  345. package/dist/collection/components/avatar/avatar.ionic.css +385 -0
  346. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  347. package/dist/collection/components/avatar/avatar.js +120 -4
  348. package/dist/collection/components/avatar/avatar.md.css +51 -0
  349. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  350. package/dist/collection/components/back-button/back-button.js +46 -61
  351. package/dist/collection/components/back-button/back-button.md.css +60 -48
  352. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  353. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  354. package/dist/collection/components/backdrop/backdrop.js +26 -22
  355. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  356. package/dist/collection/components/badge/badge.ionic.css +272 -0
  357. package/dist/collection/components/badge/badge.ios.css +137 -12
  358. package/dist/collection/components/badge/badge.js +145 -15
  359. package/dist/collection/components/badge/badge.md.css +122 -12
  360. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  361. package/dist/collection/components/breadcrumb/breadcrumb.js +72 -101
  362. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  363. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  364. package/dist/collection/components/breadcrumbs/breadcrumbs.js +99 -112
  365. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  366. package/dist/collection/components/button/button.ionic.css +644 -0
  367. package/dist/collection/components/button/button.ios.css +154 -46
  368. package/dist/collection/components/button/button.js +122 -157
  369. package/dist/collection/components/button/button.md.css +150 -50
  370. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  371. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  372. package/dist/collection/components/buttons/buttons.js +29 -21
  373. package/dist/collection/components/buttons/buttons.md.css +55 -3
  374. package/dist/collection/components/card/card.ionic.css +144 -0
  375. package/dist/collection/components/card/card.ios.css +65 -14
  376. package/dist/collection/components/card/card.js +61 -63
  377. package/dist/collection/components/card/card.md.css +65 -14
  378. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  379. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  380. package/dist/collection/components/card-content/card-content.js +12 -10
  381. package/dist/collection/components/card-content/card-content.md.css +20 -35
  382. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  383. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  384. package/dist/collection/components/card-header/card-header.js +20 -21
  385. package/dist/collection/components/card-header/card-header.md.css +27 -15
  386. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  387. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  388. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -14
  389. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  390. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  391. package/dist/collection/components/card-title/card-title.js +11 -14
  392. package/dist/collection/components/card-title/card-title.md.css +73 -0
  393. package/dist/collection/components/checkbox/checkbox.ionic.css +543 -0
  394. package/dist/collection/components/checkbox/checkbox.ios.css +242 -117
  395. package/dist/collection/components/checkbox/checkbox.js +165 -160
  396. package/dist/collection/components/checkbox/checkbox.md.css +243 -118
  397. package/dist/collection/components/chip/chip.ionic.css +217 -0
  398. package/dist/collection/components/chip/chip.ios.css +67 -14
  399. package/dist/collection/components/chip/chip.js +116 -20
  400. package/dist/collection/components/chip/chip.md.css +67 -14
  401. package/dist/collection/components/col/col.css +192 -4
  402. package/dist/collection/components/col/col.js +212 -186
  403. package/dist/collection/components/content/content.css +47 -2
  404. package/dist/collection/components/content/content.js +78 -102
  405. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  406. package/dist/collection/components/datetime/datetime.ios.css +304 -148
  407. package/dist/collection/components/datetime/datetime.js +928 -1086
  408. package/dist/collection/components/datetime/datetime.md.css +294 -138
  409. package/dist/collection/components/datetime/utils/data.js +19 -18
  410. package/dist/collection/components/datetime/utils/format.js +11 -21
  411. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  412. package/dist/collection/components/datetime/utils/parse.js +10 -10
  413. package/dist/collection/components/datetime/utils/state.js +2 -8
  414. package/dist/collection/components/datetime/utils/validate.js +5 -4
  415. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -5
  416. package/dist/collection/components/datetime-button/datetime-button.js +246 -253
  417. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -5
  418. package/dist/collection/components/divider/divider.ionic.css +148 -0
  419. package/dist/collection/components/divider/divider.ios.css +87 -0
  420. package/dist/collection/components/divider/divider.js +94 -0
  421. package/dist/collection/components/divider/divider.md.css +87 -0
  422. package/dist/collection/components/fab/fab.css +25 -1
  423. package/dist/collection/components/fab/fab.js +22 -25
  424. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  425. package/dist/collection/components/fab-button/fab-button.js +83 -117
  426. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  427. package/dist/collection/components/fab-list/fab-list.css +12 -0
  428. package/dist/collection/components/fab-list/fab-list.js +20 -15
  429. package/dist/collection/components/footer/footer-interface.js +1 -0
  430. package/dist/collection/components/footer/footer.ios.css +33 -6
  431. package/dist/collection/components/footer/footer.js +151 -65
  432. package/dist/collection/components/footer/footer.md.css +40 -0
  433. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  434. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  435. package/dist/collection/components/gallery/gallery.css +15 -0
  436. package/dist/collection/components/gallery/gallery.js +679 -0
  437. package/dist/collection/components/gallery/test/utils.js +100 -0
  438. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  439. package/dist/collection/components/gallery-item/gallery-item.js +99 -0
  440. package/dist/collection/components/grid/grid.css +12 -0
  441. package/dist/collection/components/grid/grid.js +15 -9
  442. package/dist/collection/components/header/header-interface.js +1 -0
  443. package/dist/collection/components/header/header.ionic.css +250 -0
  444. package/dist/collection/components/header/header.ios.css +178 -133
  445. package/dist/collection/components/header/header.js +202 -70
  446. package/dist/collection/components/header/header.md.css +199 -9
  447. package/dist/collection/components/header/header.utils.js +6 -13
  448. package/dist/collection/components/img/img.js +16 -34
  449. package/dist/collection/components/infinite-scroll/infinite-scroll.js +164 -76
  450. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  451. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +19 -30
  452. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  453. package/dist/collection/components/input/input.ionic.css +891 -0
  454. package/dist/collection/components/input/input.ios.css +247 -191
  455. package/dist/collection/components/input/input.js +340 -357
  456. package/dist/collection/components/input/input.md.css +234 -285
  457. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  458. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  459. package/dist/collection/components/input-otp/input-otp.js +437 -432
  460. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  461. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  462. package/dist/collection/components/input-password-toggle/input-password-toggle.js +60 -37
  463. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  464. package/dist/collection/components/item/item.ionic.css +496 -0
  465. package/dist/collection/components/item/item.ios.css +120 -80
  466. package/dist/collection/components/item/item.js +102 -113
  467. package/dist/collection/components/item/item.md.css +131 -79
  468. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  469. package/dist/collection/components/item-divider/item-divider.js +21 -23
  470. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  471. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  472. package/dist/collection/components/item-group/item-group.js +13 -7
  473. package/dist/collection/components/item-group/item-group.md.css +12 -0
  474. package/dist/collection/components/item-option/item-option.ionic.css +277 -0
  475. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  476. package/dist/collection/components/item-option/item-option.js +92 -56
  477. package/dist/collection/components/item-option/item-option.md.css +136 -29
  478. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  479. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  480. package/dist/collection/components/item-options/item-options.js +20 -17
  481. package/dist/collection/components/item-options/item-options.md.css +77 -34
  482. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  483. package/dist/collection/components/item-sliding/item-sliding.js +441 -61
  484. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  485. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  486. package/dist/collection/components/label/label.ios.css +18 -0
  487. package/dist/collection/components/label/label.js +15 -32
  488. package/dist/collection/components/label/label.md.css +18 -0
  489. package/dist/collection/components/list/list.ionic.css +212 -0
  490. package/dist/collection/components/list/list.ios.css +54 -14
  491. package/dist/collection/components/list/list.js +55 -19
  492. package/dist/collection/components/list/list.md.css +56 -16
  493. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  494. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  495. package/dist/collection/components/list-header/list-header.js +11 -18
  496. package/dist/collection/components/list-header/list-header.md.css +82 -38
  497. package/dist/collection/components/loading/loading.ios.css +13 -1
  498. package/dist/collection/components/loading/loading.js +62 -143
  499. package/dist/collection/components/loading/loading.md.css +13 -1
  500. package/dist/collection/components/menu/menu.ios.css +15 -3
  501. package/dist/collection/components/menu/menu.js +71 -108
  502. package/dist/collection/components/menu/menu.md.css +15 -3
  503. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  504. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  505. package/dist/collection/components/menu-button/menu-button.js +45 -38
  506. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  507. package/dist/collection/components/menu-toggle/menu-toggle.js +21 -25
  508. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  509. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  510. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  511. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  512. package/dist/collection/components/modal/animations/sheet.js +8 -2
  513. package/dist/collection/components/modal/gestures/sheet.js +86 -32
  514. package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -15
  515. package/dist/collection/components/modal/modal.ionic.css +255 -0
  516. package/dist/collection/components/modal/modal.ios.css +178 -70
  517. package/dist/collection/components/modal/modal.js +272 -404
  518. package/dist/collection/components/modal/modal.md.css +178 -70
  519. package/dist/collection/components/modal/safe-area-utils.js +7 -6
  520. package/dist/collection/components/modal/test/fixtures.js +0 -3
  521. package/dist/collection/components/nav/nav.css +7 -1
  522. package/dist/collection/components/nav/nav.js +256 -72
  523. package/dist/collection/components/nav/view-controller.js +1 -7
  524. package/dist/collection/components/nav-link/nav-link.js +14 -21
  525. package/dist/collection/components/note/note.ios.css +12 -0
  526. package/dist/collection/components/note/note.js +11 -14
  527. package/dist/collection/components/note/note.md.css +12 -0
  528. package/dist/collection/components/picker/picker.ios.css +15 -3
  529. package/dist/collection/components/picker/picker.js +398 -403
  530. package/dist/collection/components/picker/picker.md.css +15 -3
  531. package/dist/collection/components/picker-column/picker-column.css +9 -5
  532. package/dist/collection/components/picker-column/picker-column.js +409 -418
  533. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  534. package/dist/collection/components/picker-column-option/picker-column-option.js +42 -38
  535. package/dist/collection/components/picker-column-option/picker-column-option.md.css +7 -6
  536. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  537. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  538. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  539. package/dist/collection/components/picker-legacy/picker.ios.css +312 -0
  540. package/dist/collection/components/picker-legacy/picker.js +891 -0
  541. package/dist/collection/components/picker-legacy/picker.md.css +299 -0
  542. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +243 -0
  543. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  544. package/dist/collection/components/picker-legacy-column/picker-column.md.css +234 -0
  545. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  546. package/dist/collection/components/popover/animations/ios.enter.js +2 -1
  547. package/dist/collection/components/popover/animations/md.enter.js +2 -1
  548. package/dist/collection/components/popover/popover.ionic.css +290 -0
  549. package/dist/collection/components/popover/popover.ios.css +15 -2
  550. package/dist/collection/components/popover/popover.js +199 -313
  551. package/dist/collection/components/popover/popover.md.css +15 -2
  552. package/dist/collection/components/popover/test/fixture.js +0 -1
  553. package/dist/collection/components/popover/utils.js +6 -4
  554. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  555. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  556. package/dist/collection/components/progress-bar/progress-bar.js +65 -33
  557. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  558. package/dist/collection/components/radio/radio.ionic.css +422 -0
  559. package/dist/collection/components/radio/radio.ios.css +207 -102
  560. package/dist/collection/components/radio/radio.js +77 -108
  561. package/dist/collection/components/radio/radio.md.css +207 -102
  562. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  563. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  564. package/dist/collection/components/radio-group/radio-group.js +113 -107
  565. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  566. package/dist/collection/components/radio-group/test/fixtures.js +0 -2
  567. package/dist/collection/components/range/range.ionic.css +567 -0
  568. package/dist/collection/components/range/range.ios.css +128 -85
  569. package/dist/collection/components/range/range.js +247 -305
  570. package/dist/collection/components/range/range.md.css +128 -85
  571. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  572. package/dist/collection/components/refresher/refresher.js +88 -117
  573. package/dist/collection/components/refresher/refresher.md.css +15 -2
  574. package/dist/collection/components/refresher-content/refresher-content.js +31 -47
  575. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  576. package/dist/collection/components/reorder/reorder.js +33 -7
  577. package/dist/collection/components/reorder/reorder.md.css +6 -0
  578. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  579. package/dist/collection/components/reorder-group/reorder-group.js +22 -47
  580. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  581. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  582. package/dist/collection/components/ripple-effect/ripple-effect.js +26 -17
  583. package/dist/collection/components/route/route.js +14 -39
  584. package/dist/collection/components/route-redirect/route-redirect.js +0 -31
  585. package/dist/collection/components/router/router.js +37 -37
  586. package/dist/collection/components/router/utils/dom.js +7 -25
  587. package/dist/collection/components/router/utils/matching.js +9 -7
  588. package/dist/collection/components/router/utils/parser.js +1 -1
  589. package/dist/collection/components/router/utils/path.js +1 -0
  590. package/dist/collection/components/router-link/router-link.css +8 -2
  591. package/dist/collection/components/router-link/router-link.js +19 -40
  592. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  593. package/dist/collection/components/router-outlet/router-outlet.js +25 -83
  594. package/dist/collection/components/row/row.css +16 -0
  595. package/dist/collection/components/row/row.js +9 -2
  596. package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
  597. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  598. package/dist/collection/components/searchbar/searchbar.js +380 -321
  599. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  600. package/dist/collection/components/segment/segment.ionic.css +115 -0
  601. package/dist/collection/components/segment/segment.ios.css +45 -2
  602. package/dist/collection/components/segment/segment.js +94 -126
  603. package/dist/collection/components/segment/segment.md.css +45 -2
  604. package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
  605. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  606. package/dist/collection/components/segment-button/segment-button.js +46 -49
  607. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  608. package/dist/collection/components/segment-content/segment-content.js +1 -1
  609. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  610. package/dist/collection/components/segment-view/segment-view.js +27 -28
  611. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  612. package/dist/collection/components/select/select.ionic.css +809 -0
  613. package/dist/collection/components/select/select.ios.css +351 -206
  614. package/dist/collection/components/select/select.js +444 -431
  615. package/dist/collection/components/select/select.md.css +383 -230
  616. package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
  617. package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
  618. package/dist/collection/components/select-modal/select-modal.js +79 -37
  619. package/dist/collection/components/select-modal/select-modal.md.css +273 -43
  620. package/dist/collection/components/select-modal/test/fixtures.js +1 -8
  621. package/dist/collection/components/select-option/select-option.js +15 -48
  622. package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
  623. package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
  624. package/dist/collection/components/select-popover/select-popover.js +37 -44
  625. package/dist/collection/components/select-popover/select-popover.md.css +228 -47
  626. package/dist/collection/components/select-popover/test/fixtures.js +1 -8
  627. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  628. package/dist/collection/components/skeleton-text/skeleton-text.js +15 -15
  629. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  630. package/dist/collection/components/spinner/spinner.js +55 -26
  631. package/dist/collection/components/spinner/spinner.native.css +199 -0
  632. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  633. package/dist/collection/components/split-pane/split-pane.js +28 -33
  634. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  635. package/dist/collection/components/tab/tab.js +10 -17
  636. package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
  637. package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
  638. package/dist/collection/components/tab-bar/tab-bar.js +190 -44
  639. package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
  640. package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
  641. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  642. package/dist/collection/components/tab-button/tab-button.js +74 -68
  643. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  644. package/dist/collection/components/tabs/tabs.css +7 -1
  645. package/dist/collection/components/tabs/tabs.js +23 -33
  646. package/dist/collection/components/text/text.css +6 -0
  647. package/dist/collection/components/text/text.js +7 -12
  648. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  649. package/dist/collection/components/textarea/textarea.ios.css +329 -221
  650. package/dist/collection/components/textarea/textarea.js +334 -302
  651. package/dist/collection/components/textarea/textarea.md.css +358 -231
  652. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  653. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  654. package/dist/collection/components/title/title.ionic.css +127 -0
  655. package/dist/collection/components/title/title.ios.css +32 -4
  656. package/dist/collection/components/title/title.js +13 -23
  657. package/dist/collection/components/title/title.md.css +39 -4
  658. package/dist/collection/components/toast/animations/utils.js +1 -1
  659. package/dist/collection/components/toast/toast.ionic.css +394 -0
  660. package/dist/collection/components/toast/toast.ios.css +84 -45
  661. package/dist/collection/components/toast/toast.js +178 -232
  662. package/dist/collection/components/toast/toast.md.css +84 -45
  663. package/dist/collection/components/toggle/toggle.ionic.css +512 -0
  664. package/dist/collection/components/toggle/toggle.ios.css +247 -127
  665. package/dist/collection/components/toggle/toggle.js +177 -175
  666. package/dist/collection/components/toggle/toggle.md.css +245 -127
  667. package/dist/collection/components/toolbar/test/image.svg +1 -0
  668. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  669. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  670. package/dist/collection/components/toolbar/toolbar.js +222 -25
  671. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  672. package/dist/collection/global/config.js +6 -4
  673. package/dist/collection/global/ionic-global.js +242 -20
  674. package/dist/collection/index.js +1 -1
  675. package/dist/collection/utils/animation/animation.js +3 -3
  676. package/dist/collection/utils/config.js +4 -5
  677. package/dist/collection/utils/css-value-validation.js +39 -0
  678. package/dist/collection/utils/focus-controller/index.js +1 -1
  679. package/dist/collection/utils/focus-trap.js +16 -5
  680. package/dist/collection/utils/focus-visible.js +22 -0
  681. package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
  682. package/dist/collection/utils/forms/index.js +1 -1
  683. package/dist/collection/utils/forms/validity.js +31 -0
  684. package/dist/collection/utils/framework-delegate.js +9 -5
  685. package/dist/collection/utils/gesture/gesture-controller.js +8 -15
  686. package/dist/collection/utils/gesture/index.js +2 -10
  687. package/dist/collection/utils/hardware-back-button.js +18 -3
  688. package/dist/collection/utils/helpers.js +72 -5
  689. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -4
  690. package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -1
  691. package/dist/collection/utils/keyboard/keyboard-controller.js +8 -6
  692. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  693. package/dist/collection/utils/logging/index.js +4 -23
  694. package/dist/collection/utils/media.js +1 -0
  695. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  696. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  697. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  698. package/dist/collection/utils/menu-controller/index.js +2 -1
  699. package/dist/collection/utils/native/haptic.js +3 -2
  700. package/dist/collection/utils/native/keyboard.js +2 -2
  701. package/dist/collection/utils/native/status-bar.js +1 -1
  702. package/dist/collection/utils/overlay-control-label.js +13 -11
  703. package/dist/collection/utils/overlays.js +312 -45
  704. package/dist/collection/utils/platform.js +5 -4
  705. package/dist/collection/utils/rtl/dir.js +3 -2
  706. package/dist/collection/utils/sanitization/index.js +2 -2
  707. package/dist/collection/utils/scroll-hide-controller.js +178 -0
  708. package/dist/collection/utils/select-option-render.js +2 -1
  709. package/dist/collection/utils/slot-mutation-controller.js +2 -1
  710. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  711. package/dist/collection/utils/test/playwright/drag-element.js +35 -11
  712. package/dist/collection/utils/test/playwright/generator.js +51 -25
  713. package/dist/collection/utils/test/playwright/page/event-spy.js +12 -11
  714. package/dist/collection/utils/test/playwright/page/utils/goto.js +15 -5
  715. package/dist/collection/utils/test/playwright/page/utils/set-content.js +27 -4
  716. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +3 -2
  717. package/dist/collection/utils/test/press-keys.js +17 -10
  718. package/dist/collection/utils/theme.js +26 -7
  719. package/dist/collection/utils/transition/ios.transition.js +14 -9
  720. package/dist/collection/utils/transition/md.transition.js +4 -3
  721. package/dist/docs.json +10038 -534
  722. package/dist/esm/{animation-CGFdmGk9.js → animation-BsVixxLP.js} +5 -5
  723. package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-rPvWQFXp.js} +1 -1
  724. package/dist/esm/{button-active-BDOsVAiZ.js → button-active-BS8YgJRD.js} +3 -3
  725. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-BnXrCBvt.js} +1 -1
  726. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  727. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  728. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  729. package/dist/esm/clear-button-press-controller-Ci6Q_x5-.js +43 -0
  730. package/dist/esm/{config-DWCzVL3Y.js → config-BwKpO3Is.js} +4 -5
  731. package/dist/esm/{dir-Dojwmvde.js → dir-o8OKV5aD.js} +3 -2
  732. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  733. package/dist/esm/{format-Dcwga61t.js → format-2WlZcMvG.js} +31 -41
  734. package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-P5K_3uYw.js} +10 -6
  735. package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-BTEOs1at.js} +8 -15
  736. package/dist/esm/{haptic-Cq4UAeka.js → haptic-ByW74Ow9.js} +4 -3
  737. package/dist/esm/{helpers-CAGf8Wgp.js → helpers-ChPZH7zh.js} +74 -8
  738. package/dist/esm/{index-BvabGprD.js → index-B4Kq2YNk.js} +2 -1
  739. package/dist/esm/{index-DcPaH5uL.js → index-Bck1OwMs.js} +3 -9
  740. package/dist/esm/{index-ChhhtsGZ.js → index-C0EQceqV.js} +66 -34
  741. package/dist/esm/{index-Clc-28O1.js → index-C7EAbm0C.js} +5 -4
  742. package/dist/esm/{index-CqneaaGd.js → index-C7F1yJyV.js} +13 -12
  743. package/dist/esm/{index-WlteAIqz.js → index-CXSPjEca.js} +5 -5
  744. package/dist/esm/{index-CKM1DdGm.js → index-Mq5pCWmZ.js} +3 -3
  745. package/dist/esm/{index-T0JxBI8V.js → index-niemeDYi.js} +2 -2
  746. package/dist/esm/index.js +17 -18
  747. package/dist/esm/{input-shims-B8sfni1e.js → input-shims-CM5m0K8T.js} +15 -12
  748. package/dist/esm/input.utils-DhJNJPiU.js +147 -0
  749. package/dist/esm/ion-accordion_2.entry.js +383 -379
  750. package/dist/esm/ion-action-sheet.entry.js +87 -179
  751. package/dist/esm/ion-alert.entry.js +126 -251
  752. package/dist/esm/ion-app_8.entry.js +607 -460
  753. package/dist/esm/ion-avatar_3.entry.js +125 -19
  754. package/dist/esm/ion-back-button.entry.js +50 -65
  755. package/dist/esm/ion-backdrop.entry.js +22 -23
  756. package/dist/esm/ion-breadcrumb_2.entry.js +170 -212
  757. package/dist/esm/ion-button_2.entry.js +118 -153
  758. package/dist/esm/ion-card_5.entry.js +80 -110
  759. package/dist/esm/ion-checkbox.entry.js +130 -164
  760. package/dist/esm/ion-chip.entry.js +56 -21
  761. package/dist/esm/ion-col_3.entry.js +61 -186
  762. package/dist/esm/ion-datetime-button.entry.js +248 -256
  763. package/dist/esm/ion-datetime_3.entry.js +3238 -0
  764. package/dist/esm/ion-divider.entry.js +49 -0
  765. package/dist/esm/ion-fab_3.entry.js +113 -155
  766. package/dist/esm/ion-gallery-item.entry.js +57 -0
  767. package/dist/esm/ion-gallery.entry.js +606 -0
  768. package/dist/esm/ion-img.entry.js +17 -35
  769. package/dist/esm/ion-infinite-scroll_2.entry.js +157 -109
  770. package/dist/esm/ion-input-otp.entry.js +437 -435
  771. package/dist/esm/ion-input-password-toggle.entry.js +64 -40
  772. package/dist/esm/ion-input.entry.js +310 -349
  773. package/dist/esm/ion-item-option_3.entry.js +512 -137
  774. package/dist/esm/ion-item_8.entry.js +190 -218
  775. package/dist/esm/ion-loading.entry.js +69 -152
  776. package/dist/esm/ion-menu_3.entry.js +138 -182
  777. package/dist/esm/ion-modal.entry.js +459 -529
  778. package/dist/esm/ion-nav_2.entry.js +164 -104
  779. package/dist/esm/ion-picker-column-option.entry.js +40 -40
  780. package/dist/esm/ion-picker-column.entry.js +410 -422
  781. package/dist/esm/ion-picker.entry.js +401 -406
  782. package/dist/esm/ion-popover.entry.js +212 -324
  783. package/dist/esm/ion-progress-bar.entry.js +48 -36
  784. package/dist/esm/ion-radio_2.entry.js +162 -217
  785. package/dist/esm/ion-range.entry.js +251 -309
  786. package/dist/esm/ion-refresher_2.entry.js +122 -175
  787. package/dist/esm/ion-reorder_2.entry.js +54 -60
  788. package/dist/esm/ion-ripple-effect.entry.js +26 -18
  789. package/dist/esm/ion-route_4.entry.js +76 -179
  790. package/dist/esm/ion-searchbar.entry.js +331 -308
  791. package/dist/esm/ion-segment-content.entry.js +2 -2
  792. package/dist/esm/ion-segment-view.entry.js +27 -28
  793. package/dist/esm/ion-segment_2.entry.js +141 -177
  794. package/dist/esm/ion-select-modal.entry.js +70 -50
  795. package/dist/esm/ion-select_3.entry.js +429 -507
  796. package/dist/esm/ion-spinner.entry.js +36 -28
  797. package/dist/esm/ion-split-pane.entry.js +25 -34
  798. package/dist/esm/ion-tab-bar_2.entry.js +179 -116
  799. package/dist/esm/ion-tab_2.entry.js +30 -55
  800. package/dist/esm/ion-text.entry.js +7 -13
  801. package/dist/esm/ion-textarea.entry.js +309 -302
  802. package/dist/esm/ion-toast.entry.js +149 -244
  803. package/dist/esm/ion-toggle.entry.js +187 -184
  804. package/dist/esm/ionic-global-BJDU78B6.js +508 -0
  805. package/dist/esm/ionic.js +5 -5
  806. package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-6oGu53GR.js} +21 -15
  807. package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-C6onMFOo.js} +1 -1
  808. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-XukEYIFf.js} +5 -4
  809. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-x-uHYVoq.js} +3 -3
  810. package/dist/esm/list-Dhi5xtNS.js +6 -0
  811. package/dist/esm/loader.js +5 -5
  812. package/dist/esm/{md.transition-BMngO4i_.js → md.transition-Dy5HxiSE.js} +11 -9
  813. package/dist/esm/notch-controller-BYB7mUMg.js +153 -0
  814. package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
  815. package/dist/esm/{overlays-CPmIs9Ls.js → overlays-C3YvaMgX.js} +333 -57
  816. package/dist/esm/scroll-hide-controller-B3MRYNXh.js +342 -0
  817. package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-BlKZ2H83.js} +4 -3
  818. package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-DK-ylvU7.js} +5 -4
  819. package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-DFICtpMC.js} +6 -5
  820. package/dist/esm/theme-DaJxRxSQ.js +67 -0
  821. package/dist/esm/validity-BjW8SOqw.js +48 -0
  822. package/dist/esm/x-BDqjX7Z_.js +6 -0
  823. package/dist/html.html-data.json +2690 -123
  824. package/dist/ionic/index.esm.js +1 -1
  825. package/dist/ionic/ionic.esm.js +1 -1
  826. package/dist/ionic/p--sroV-k-.js +4 -0
  827. package/dist/ionic/p-0166d6e5.entry.js +4 -0
  828. package/dist/ionic/p-0a0a66e2.entry.js +4 -0
  829. package/dist/ionic/p-0ac15b5f.entry.js +4 -0
  830. package/dist/ionic/p-0c636ad3.entry.js +4 -0
  831. package/dist/ionic/p-126031d2.entry.js +4 -0
  832. package/dist/ionic/p-1a609156.entry.js +4 -0
  833. package/dist/ionic/p-1b473bad.entry.js +4 -0
  834. package/dist/ionic/p-1c1c18da.entry.js +4 -0
  835. package/dist/ionic/p-1ce65194.entry.js +4 -0
  836. package/dist/ionic/p-1febf200.entry.js +4 -0
  837. package/dist/ionic/p-2016c1c0.entry.js +4 -0
  838. package/dist/ionic/p-2365483a.entry.js +4 -0
  839. package/dist/ionic/p-296226f1.entry.js +4 -0
  840. package/dist/ionic/p-2a54aec2.entry.js +4 -0
  841. package/dist/ionic/p-2bf60b77.entry.js +4 -0
  842. package/dist/ionic/p-2e0184c0.entry.js +4 -0
  843. package/dist/ionic/p-2e1d650a.entry.js +4 -0
  844. package/dist/ionic/p-316eed75.entry.js +4 -0
  845. package/dist/ionic/p-31a0c9c2.entry.js +4 -0
  846. package/dist/ionic/p-40a21a22.entry.js +4 -0
  847. package/dist/ionic/p-431bc3ce.entry.js +4 -0
  848. package/dist/ionic/p-51542c69.entry.js +4 -0
  849. package/dist/ionic/p-5dedd699.entry.js +4 -0
  850. package/dist/ionic/p-68e453f7.entry.js +4 -0
  851. package/dist/ionic/p-711ba315.entry.js +4 -0
  852. package/dist/ionic/p-731d11e1.entry.js +4 -0
  853. package/dist/ionic/p-75c7595c.entry.js +4 -0
  854. package/dist/ionic/p-76232f5f.entry.js +4 -0
  855. package/dist/ionic/p-7cbf17f0.entry.js +4 -0
  856. package/dist/ionic/p-7f59020c.entry.js +4 -0
  857. package/dist/ionic/p-7k7Q1A38.js +4 -0
  858. package/dist/ionic/p-8303462c.entry.js +4 -0
  859. package/dist/ionic/p-9db78e5c.entry.js +4 -0
  860. package/dist/ionic/p-B4Kq2YNk.js +4 -0
  861. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  862. package/dist/ionic/p-BFhQ1N-L.js +4 -0
  863. package/dist/ionic/p-BG7tpRhR.js +4 -0
  864. package/dist/ionic/p-BITyMTKr.js +4 -0
  865. package/dist/ionic/p-BRPONI7N.js +4 -0
  866. package/dist/ionic/p-BTEOs1at.js +4 -0
  867. package/dist/ionic/p-BVdSuKmt.js +4 -0
  868. package/dist/ionic/p-BYRVyMu9.js +4 -0
  869. package/dist/ionic/p-BYSs-jZz.js +4 -0
  870. package/dist/ionic/p-BjW8SOqw.js +4 -0
  871. package/dist/ionic/p-Bpx1lBiP.js +4 -0
  872. package/dist/ionic/p-BwKpO3Is.js +4 -0
  873. package/dist/ionic/p-C-BLhfUi.js +4 -0
  874. package/dist/ionic/p-C-aO35cw.js +4 -0
  875. package/dist/ionic/p-C0EQceqV.js +5 -0
  876. package/dist/ionic/p-CDrQfM-I.js +4 -0
  877. package/dist/ionic/p-CODBQrPj.js +4 -0
  878. package/dist/ionic/p-CTSaffvS.js +4 -0
  879. package/dist/ionic/p-CaM5HwzM.js +4 -0
  880. package/dist/ionic/p-CgaW5Zy8.js +4 -0
  881. package/dist/ionic/p-Cipl19Qe.js +4 -0
  882. package/dist/ionic/p-CnBfCmL2.js +4 -0
  883. package/dist/ionic/p-D-Xit5Ye.js +4 -0
  884. package/dist/ionic/p-D1t981Ih.js +4 -0
  885. package/dist/ionic/p-D7LIC84Z.js +4 -0
  886. package/dist/ionic/p-D844sgjq.js +4 -0
  887. package/dist/ionic/p-DWDKFjrH.js +4 -0
  888. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  889. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  890. package/dist/ionic/p-DhyWlGap.js +4 -0
  891. package/dist/ionic/p-DiyY-i-5.js +4 -0
  892. package/dist/ionic/p-DrxPmT9E.js +4 -0
  893. package/dist/ionic/p-YIsE5bNG.js +4 -0
  894. package/dist/ionic/p-a37444b3.entry.js +4 -0
  895. package/dist/ionic/p-a9df0ccf.entry.js +4 -0
  896. package/dist/ionic/p-ac3af8af.entry.js +4 -0
  897. package/dist/ionic/p-b25f3aba.entry.js +4 -0
  898. package/dist/ionic/p-b3da2cc7.entry.js +4 -0
  899. package/dist/ionic/p-b4533070.entry.js +4 -0
  900. package/dist/ionic/p-b4901bce.entry.js +4 -0
  901. package/dist/ionic/p-bb7bb4fd.entry.js +4 -0
  902. package/dist/ionic/p-be06def7.entry.js +4 -0
  903. package/dist/ionic/p-c0983eac.entry.js +4 -0
  904. package/dist/ionic/p-c4ebdfd2.entry.js +4 -0
  905. package/dist/ionic/p-c4ed1e18.entry.js +4 -0
  906. package/dist/ionic/p-d9ac7a0d.entry.js +4 -0
  907. package/dist/ionic/p-dc8a8505.entry.js +4 -0
  908. package/dist/ionic/p-ddc41dbb.entry.js +4 -0
  909. package/dist/ionic/p-de4e8418.entry.js +4 -0
  910. package/dist/ionic/p-df642ef5.entry.js +4 -0
  911. package/dist/ionic/p-e086f8c3.entry.js +4 -0
  912. package/dist/ionic/p-edd8f490.entry.js +4 -0
  913. package/dist/ionic/p-f0968c91.entry.js +4 -0
  914. package/dist/ionic/p-f6768728.entry.js +4 -0
  915. package/dist/ionic/p-fIOYmaqA.js +4 -0
  916. package/dist/ionic/p-fc726f4a.entry.js +4 -0
  917. package/dist/ionic/p-ff74cf5d.entry.js +4 -0
  918. package/dist/ionic/p-i6iV8hMy.js +4 -0
  919. package/dist/ionic/p-nUlpIttM.js +4 -0
  920. package/dist/ionic/p-o8OKV5aD.js +4 -0
  921. package/dist/ionic/p-vXpMhGrs.js +4 -0
  922. package/dist/ionic/p-zRFin7iz.js +4 -0
  923. package/dist/ionic/p-zn4qAQ_d.js +4 -0
  924. package/dist/types/components/accordion/accordion.d.ts +6 -3
  925. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  926. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  927. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  928. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  929. package/dist/types/components/alert/alert.d.ts +3 -2
  930. package/dist/types/components/app/app.d.ts +4 -5
  931. package/dist/types/components/avatar/avatar.d.ts +32 -0
  932. package/dist/types/components/back-button/back-button.d.ts +2 -1
  933. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  934. package/dist/types/components/badge/badge.d.ts +34 -1
  935. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  936. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  937. package/dist/types/components/button/button.d.ts +23 -8
  938. package/dist/types/components/buttons/buttons.d.ts +5 -1
  939. package/dist/types/components/card/card.d.ts +8 -1
  940. package/dist/types/components/card-content/card-content.d.ts +2 -1
  941. package/dist/types/components/card-header/card-header.d.ts +3 -2
  942. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  943. package/dist/types/components/card-title/card-title.d.ts +2 -1
  944. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  945. package/dist/types/components/chip/chip.d.ts +26 -1
  946. package/dist/types/components/col/col.d.ts +52 -5
  947. package/dist/types/components/content/content.d.ts +3 -0
  948. package/dist/types/components/datetime/datetime.d.ts +26 -1
  949. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  950. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  951. package/dist/types/components/divider/divider.d.ts +20 -0
  952. package/dist/types/components/fab/fab.d.ts +4 -0
  953. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  954. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  955. package/dist/types/components/footer/footer-interface.d.ts +1 -0
  956. package/dist/types/components/footer/footer.d.ts +20 -3
  957. package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
  958. package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
  959. package/dist/types/components/gallery/gallery.d.ts +218 -0
  960. package/dist/types/components/gallery/test/utils.d.ts +3 -0
  961. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  962. package/dist/types/components/grid/grid.d.ts +4 -0
  963. package/dist/types/components/header/header-interface.d.ts +1 -0
  964. package/dist/types/components/header/header.d.ts +26 -3
  965. package/dist/types/components/header/header.utils.d.ts +4 -5
  966. package/dist/types/components/img/img.d.ts +2 -1
  967. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  968. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  969. package/dist/types/components/input/input.d.ts +40 -17
  970. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  971. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  972. package/dist/types/components/item/item.d.ts +11 -4
  973. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  974. package/dist/types/components/item-group/item-group.d.ts +4 -0
  975. package/dist/types/components/item-option/item-option.d.ts +18 -1
  976. package/dist/types/components/item-options/item-options.d.ts +4 -0
  977. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  978. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  979. package/dist/types/components/label/label.d.ts +2 -1
  980. package/dist/types/components/list/list.d.ts +15 -1
  981. package/dist/types/components/list-header/list-header.d.ts +2 -1
  982. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  983. package/dist/types/components/loading/loading.d.ts +3 -2
  984. package/dist/types/components/menu/menu.d.ts +3 -0
  985. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  986. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  987. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  988. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  989. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  990. package/dist/types/components/modal/modal-interface.d.ts +4 -16
  991. package/dist/types/components/modal/modal.d.ts +15 -12
  992. package/dist/types/components/nav/nav-interface.d.ts +10 -1
  993. package/dist/types/components/nav/nav.d.ts +27 -3
  994. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  995. package/dist/types/components/note/note.d.ts +2 -1
  996. package/dist/types/components/picker/picker.d.ts +2 -1
  997. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  998. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  999. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  1000. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  1001. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  1002. package/dist/types/components/picker-legacy/picker.d.ts +159 -0
  1003. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  1004. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  1005. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  1006. package/dist/types/components/popover/popover.d.ts +6 -5
  1007. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  1008. package/dist/types/components/radio/radio.d.ts +2 -1
  1009. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  1010. package/dist/types/components/range/range.d.ts +2 -1
  1011. package/dist/types/components/refresher/refresher.d.ts +2 -1
  1012. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  1013. package/dist/types/components/reorder/reorder.d.ts +9 -0
  1014. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  1015. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  1016. package/dist/types/components/route/route.d.ts +5 -1
  1017. package/dist/types/components/router/router.d.ts +4 -0
  1018. package/dist/types/components/router-link/router-link.d.ts +4 -0
  1019. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -8
  1020. package/dist/types/components/row/row.d.ts +4 -0
  1021. package/dist/types/components/searchbar/searchbar.d.ts +57 -11
  1022. package/dist/types/components/segment/segment.d.ts +2 -1
  1023. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  1024. package/dist/types/components/select/select.d.ts +55 -26
  1025. package/dist/types/components/select-modal/select-modal.d.ts +8 -0
  1026. package/dist/types/components/select-option/select-option.d.ts +7 -4
  1027. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  1028. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  1029. package/dist/types/components/spinner/spinner.d.ts +15 -0
  1030. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  1031. package/dist/types/components/tab/tab.d.ts +4 -0
  1032. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
  1033. package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
  1034. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  1035. package/dist/types/components/tabs/tabs.d.ts +3 -0
  1036. package/dist/types/components/text/text.d.ts +2 -1
  1037. package/dist/types/components/textarea/textarea.d.ts +58 -16
  1038. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  1039. package/dist/types/components/title/title.d.ts +4 -0
  1040. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  1041. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  1042. package/dist/types/components/toast/toast.d.ts +19 -2
  1043. package/dist/types/components/toggle/toggle.d.ts +15 -1
  1044. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  1045. package/dist/types/components.d.ts +2171 -263
  1046. package/dist/types/global/ionic-global.d.ts +28 -2
  1047. package/dist/types/index.d.ts +1 -1
  1048. package/dist/types/interface.d.ts +4 -0
  1049. package/dist/types/utils/config.d.ts +114 -3
  1050. package/dist/types/utils/css-value-validation.d.ts +21 -0
  1051. package/dist/types/utils/focus-trap.d.ts +1 -1
  1052. package/dist/types/utils/focus-visible.d.ts +13 -0
  1053. package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
  1054. package/dist/types/utils/forms/index.d.ts +1 -1
  1055. package/dist/types/utils/forms/validity.d.ts +7 -0
  1056. package/dist/types/utils/helpers.d.ts +22 -0
  1057. package/dist/types/utils/logging/index.d.ts +1 -2
  1058. package/dist/types/utils/overlay-control-label.d.ts +11 -9
  1059. package/dist/types/utils/overlays-interface.d.ts +31 -1
  1060. package/dist/types/utils/overlays.d.ts +10 -12
  1061. package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
  1062. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  1063. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1064. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  1065. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  1066. package/dist/types/utils/theme.d.ts +9 -0
  1067. package/hydrate/index.js +12136 -10495
  1068. package/hydrate/index.mjs +12136 -10495
  1069. package/package.json +17 -56
  1070. package/components/p--m5cCjbK.js +0 -4
  1071. package/components/p-1jI5oW-W.js +0 -4
  1072. package/components/p-8FN7p701.js +0 -4
  1073. package/components/p-B4uHHhPK.js +0 -4
  1074. package/components/p-BMPN55of.js +0 -4
  1075. package/components/p-BNJOu1Q2.js +0 -4
  1076. package/components/p-BOvLNVKq.js +0 -4
  1077. package/components/p-BSQPZ79H.js +0 -4
  1078. package/components/p-BeamQXHF.js +0 -4
  1079. package/components/p-BhamHSw3.js +0 -4
  1080. package/components/p-Bjig0DJK.js +0 -4
  1081. package/components/p-BjluhQMI.js +0 -4
  1082. package/components/p-BlsIikdZ.js +0 -4
  1083. package/components/p-BmVRXR1y.js +0 -4
  1084. package/components/p-BqPNzJf6.js +0 -4
  1085. package/components/p-BrD9Xv62.js +0 -4
  1086. package/components/p-BvJqoZ5R.js +0 -4
  1087. package/components/p-Bz6z3Asd.js +0 -4
  1088. package/components/p-C5KYjZWD.js +0 -4
  1089. package/components/p-C6HnVvHO.js +0 -4
  1090. package/components/p-C7jvh5Wy.js +0 -4
  1091. package/components/p-C9BGR5fy.js +0 -4
  1092. package/components/p-CB-y1CdP.js +0 -4
  1093. package/components/p-CEW4RXZO.js +0 -4
  1094. package/components/p-CHH3loEE.js +0 -4
  1095. package/components/p-CIGNaXM1.js +0 -4
  1096. package/components/p-CJKUWjmg.js +0 -4
  1097. package/components/p-C_phlPMC.js +0 -4
  1098. package/components/p-CbhUdtjf.js +0 -4
  1099. package/components/p-CejmQs3h.js +0 -4
  1100. package/components/p-CtZqa4HM.js +0 -4
  1101. package/components/p-D7-vHX0A.js +0 -4
  1102. package/components/p-D9qIVSWm.js +0 -4
  1103. package/components/p-DD5fQ4EQ.js +0 -4
  1104. package/components/p-DE-3iMNW.js +0 -4
  1105. package/components/p-DFvZn99E.js +0 -4
  1106. package/components/p-DHFt2rdc.js +0 -4
  1107. package/components/p-DJztqcrH.js +0 -4
  1108. package/components/p-DM-PrAoh.js +0 -4
  1109. package/components/p-DSzSbVP2.js +0 -4
  1110. package/components/p-DV85C0e0.js +0 -4
  1111. package/components/p-DWCzVL3Y.js +0 -4
  1112. package/components/p-D_RCyzwu.js +0 -4
  1113. package/components/p-D_tD8r3L.js +0 -4
  1114. package/components/p-DaA_8eqt.js +0 -4
  1115. package/components/p-DjCtLZbF.js +0 -4
  1116. package/components/p-Dmd2xqCe.js +0 -4
  1117. package/components/p-Dojwmvde.js +0 -4
  1118. package/components/p-G0TxqHfe.js +0 -4
  1119. package/components/p-G6JR-cr_.js +0 -4
  1120. package/components/p-GG5GhznE.js +0 -4
  1121. package/components/p-LpMHEu3v.js +0 -4
  1122. package/components/p-TXPDHL13.js +0 -4
  1123. package/components/p-UIBJkZf8.js +0 -4
  1124. package/components/p-ZjP4CjeZ.js +0 -4
  1125. package/components/p-_IKFD3ID.js +0 -4
  1126. package/components/p-byZM6qHV.js +0 -4
  1127. package/components/p-dKq2jIum.js +0 -4
  1128. package/components/p-fruGqVHh.js +0 -4
  1129. package/components/p-iYhH60Tc.js +0 -4
  1130. package/components/p-ia3IDdJS.js +0 -4
  1131. package/dist/cjs/hardware-back-button-fqpYh-kd.js +0 -121
  1132. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1133. package/dist/cjs/input.utils-BZdMWVrt.js +0 -35
  1134. package/dist/cjs/ion-datetime.cjs.entry.js +0 -2770
  1135. package/dist/cjs/ionic-global-k6hOWWpn.js +0 -156
  1136. package/dist/cjs/keyboard-controller-PtZoN2GS.js +0 -167
  1137. package/dist/cjs/slot-mutation-controller-DPHmqXdV.js +0 -397
  1138. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1139. package/dist/collection/utils/forms/start-container-controller.js +0 -132
  1140. package/dist/esm/hardware-back-button-gLJHMX_F.js +0 -115
  1141. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1142. package/dist/esm/input.utils-B1ValN_N.js +0 -33
  1143. package/dist/esm/ion-datetime.entry.js +0 -2768
  1144. package/dist/esm/ionic-global-BVB7BrLT.js +0 -151
  1145. package/dist/esm/keyboard-controller-DEwoa1ev.js +0 -165
  1146. package/dist/esm/slot-mutation-controller-DiE_C9un.js +0 -393
  1147. package/dist/esm/theme-byZM6qHV.js +0 -48
  1148. package/dist/esm/validity-DJztqcrH.js +0 -17
  1149. package/dist/ionic/p-06ec7136.entry.js +0 -4
  1150. package/dist/ionic/p-09fe4fa3.entry.js +0 -4
  1151. package/dist/ionic/p-10d45a07.entry.js +0 -4
  1152. package/dist/ionic/p-208c8a07.entry.js +0 -4
  1153. package/dist/ionic/p-212474fa.entry.js +0 -4
  1154. package/dist/ionic/p-2eef1396.entry.js +0 -4
  1155. package/dist/ionic/p-347e005d.entry.js +0 -4
  1156. package/dist/ionic/p-3a0b3f1d.entry.js +0 -4
  1157. package/dist/ionic/p-3b071259.entry.js +0 -4
  1158. package/dist/ionic/p-40424a88.entry.js +0 -4
  1159. package/dist/ionic/p-4204184c.entry.js +0 -4
  1160. package/dist/ionic/p-47464391.entry.js +0 -4
  1161. package/dist/ionic/p-4eOQC00Z.js +0 -4
  1162. package/dist/ionic/p-4f9c9126.entry.js +0 -4
  1163. package/dist/ionic/p-5JsKPLJD.js +0 -4
  1164. package/dist/ionic/p-5bc485c6.entry.js +0 -4
  1165. package/dist/ionic/p-603a61e6.entry.js +0 -4
  1166. package/dist/ionic/p-60576951.entry.js +0 -4
  1167. package/dist/ionic/p-67a81d33.entry.js +0 -4
  1168. package/dist/ionic/p-6affb775.entry.js +0 -4
  1169. package/dist/ionic/p-6f120c25.entry.js +0 -4
  1170. package/dist/ionic/p-71c82b60.entry.js +0 -4
  1171. package/dist/ionic/p-79325ffe.entry.js +0 -4
  1172. package/dist/ionic/p-7CBuOvEo.js +0 -4
  1173. package/dist/ionic/p-7e4d51fa.entry.js +0 -4
  1174. package/dist/ionic/p-7f5d4664.entry.js +0 -4
  1175. package/dist/ionic/p-80ee82fc.entry.js +0 -4
  1176. package/dist/ionic/p-84af7dbc.entry.js +0 -4
  1177. package/dist/ionic/p-89ca830a.entry.js +0 -4
  1178. package/dist/ionic/p-93b8ec8f.entry.js +0 -4
  1179. package/dist/ionic/p-946f65c2.entry.js +0 -4
  1180. package/dist/ionic/p-9c4b39fb.entry.js +0 -4
  1181. package/dist/ionic/p-B1NEZUzQ.js +0 -4
  1182. package/dist/ionic/p-B1ck5iy-.js +0 -4
  1183. package/dist/ionic/p-B4FrqdW0.js +0 -4
  1184. package/dist/ionic/p-BB0LlG4y.js +0 -4
  1185. package/dist/ionic/p-BMPN55of.js +0 -4
  1186. package/dist/ionic/p-BSQPZ79H.js +0 -4
  1187. package/dist/ionic/p-BYEAtHr-.js +0 -4
  1188. package/dist/ionic/p-BhamHSw3.js +0 -4
  1189. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1190. package/dist/ionic/p-BvabGprD.js +0 -4
  1191. package/dist/ionic/p-C-94tAim.js +0 -4
  1192. package/dist/ionic/p-C-eHZMYE.js +0 -4
  1193. package/dist/ionic/p-CBR_W98Z.js +0 -4
  1194. package/dist/ionic/p-CBWAXjA5.js +0 -4
  1195. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1196. package/dist/ionic/p-CMRtMbJc.js +0 -4
  1197. package/dist/ionic/p-CPcPmkGv.js +0 -4
  1198. package/dist/ionic/p-CaRuIadB.js +0 -4
  1199. package/dist/ionic/p-Cdjxf_yg.js +0 -4
  1200. package/dist/ionic/p-ChhhtsGZ.js +0 -5
  1201. package/dist/ionic/p-CzS1qWve.js +0 -4
  1202. package/dist/ionic/p-D5t_-oMk.js +0 -4
  1203. package/dist/ionic/p-D94_RztK.js +0 -4
  1204. package/dist/ionic/p-DJztqcrH.js +0 -4
  1205. package/dist/ionic/p-DWCzVL3Y.js +0 -4
  1206. package/dist/ionic/p-DjjfauRM.js +0 -4
  1207. package/dist/ionic/p-DkUB-ROc.js +0 -4
  1208. package/dist/ionic/p-Dn0mqQ_R.js +0 -4
  1209. package/dist/ionic/p-Dojwmvde.js +0 -4
  1210. package/dist/ionic/p-DplOqGUv.js +0 -4
  1211. package/dist/ionic/p-Dst_XmZh.js +0 -4
  1212. package/dist/ionic/p-T71k3C35.js +0 -4
  1213. package/dist/ionic/p-TXPDHL13.js +0 -4
  1214. package/dist/ionic/p-UIBJkZf8.js +0 -4
  1215. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1216. package/dist/ionic/p-a438b193.entry.js +0 -4
  1217. package/dist/ionic/p-babaaaa7.entry.js +0 -4
  1218. package/dist/ionic/p-be08d500.entry.js +0 -4
  1219. package/dist/ionic/p-be9a4f51.entry.js +0 -4
  1220. package/dist/ionic/p-byZM6qHV.js +0 -4
  1221. package/dist/ionic/p-c00d3092.entry.js +0 -4
  1222. package/dist/ionic/p-c36dc8f5.entry.js +0 -4
  1223. package/dist/ionic/p-c72a7e17.entry.js +0 -4
  1224. package/dist/ionic/p-c8edd88c.entry.js +0 -4
  1225. package/dist/ionic/p-ce0e380b.entry.js +0 -4
  1226. package/dist/ionic/p-ce32912b.entry.js +0 -4
  1227. package/dist/ionic/p-d07cf130.entry.js +0 -4
  1228. package/dist/ionic/p-d27edeb3.entry.js +0 -4
  1229. package/dist/ionic/p-d5d2c506.entry.js +0 -4
  1230. package/dist/ionic/p-d5e31ca9.entry.js +0 -4
  1231. package/dist/ionic/p-de91444f.entry.js +0 -4
  1232. package/dist/ionic/p-ded69ceb.entry.js +0 -4
  1233. package/dist/ionic/p-df72866d.entry.js +0 -4
  1234. package/dist/ionic/p-e47e3151.entry.js +0 -4
  1235. package/dist/ionic/p-e621e5e8.entry.js +0 -4
  1236. package/dist/ionic/p-eea9cf93.entry.js +0 -4
  1237. package/dist/ionic/p-f402f5a4.entry.js +0 -4
  1238. package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
  1239. package/dist/ionic/p-ffb90460.entry.js +0 -4
  1240. package/dist/types/utils/forms/start-container-controller.d.ts +0 -34
  1241. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -1,36 +1,3 @@
1
- /**
2
- * Convert a font size to a dynamic font size.
3
- * Fonts that participate in Dynamic Type should use
4
- * dynamic font sizes.
5
- * @param size - The initial font size including the unit (i.e. px or pt)
6
- * @param unit (optional) - The unit to convert to. Use this if you want to
7
- * convert to a unit other than $baselineUnit.
8
- */
9
- /**
10
- * Convert a font size to a dynamic font size but impose
11
- * a maximum font size.
12
- * @param size - The initial font size including the unit (i.e. px or pt)
13
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
- * convert to a unit other than $baselineUnit.
16
- */
17
- /**
18
- * Convert a font size to a dynamic font size but impose
19
- * a minimum font size.
20
- * @param size - The initial font size including the unit (i.e. px or pt)
21
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
- * convert to a unit other than $baselineUnit.
24
- */
25
- /**
26
- * Convert a font size to a dynamic font size but impose
27
- * maximum and minimum font sizes.
28
- * @param size - The initial font size including the unit (i.e. px or pt)
29
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
- * convert to a unit other than $baselineUnit.
33
- */
34
1
  /**
35
2
  * A heuristic that applies CSS to tablet
36
3
  * viewports.
@@ -84,20 +51,10 @@
84
51
  padding-right: var(--ion-safe-area-right);
85
52
  padding-left: var(--ion-safe-area-left);
86
53
  color: var(--color);
87
- font-family: var(--ion-font-family, inherit);
88
54
  contain: content;
89
- z-index: 10;
90
55
  box-sizing: border-box;
91
56
  }
92
57
 
93
- :host(.ion-color) {
94
- color: var(--ion-color-contrast);
95
- }
96
-
97
- :host(.ion-color) .toolbar-background {
98
- background: var(--ion-color-base);
99
- }
100
-
101
58
  .toolbar-container {
102
59
  -webkit-padding-start: var(--padding-start);
103
60
  padding-inline-start: var(--padding-start);
@@ -114,13 +71,12 @@
114
71
  min-height: var(--min-height);
115
72
  contain: content;
116
73
  overflow: hidden;
117
- z-index: 10;
118
74
  box-sizing: border-box;
119
75
  }
120
76
 
121
77
  .toolbar-background {
122
- left: 0;
123
78
  right: 0;
79
+ left: 0;
124
80
  top: 0;
125
81
  bottom: 0;
126
82
  position: absolute;
@@ -131,17 +87,104 @@
131
87
  background: var(--background);
132
88
  contain: strict;
133
89
  opacity: calc(var(--opacity) * var(--opacity-scale));
134
- z-index: -1;
135
90
  pointer-events: none;
136
91
  }
137
92
 
138
93
  ::slotted(ion-progress-bar) {
139
- left: 0;
140
94
  right: 0;
95
+ left: 0;
141
96
  bottom: 0;
142
97
  position: absolute;
143
98
  }
144
99
 
100
+ /**
101
+ * Convert a pixels given value into rem
102
+ *
103
+ * @param pixels - Value in pixels to be converted (i.e. px)
104
+ * @param context (optional) - Baseline value
105
+ */
106
+ /**
107
+ * Convert a font size to a dynamic font size.
108
+ * Fonts that participate in Dynamic Type should use
109
+ * dynamic font sizes.
110
+ * @param size - The initial font size including the unit (i.e. px or pt)
111
+ * @param unit (optional) - The unit to convert to. Use this if you want to
112
+ * convert to a unit other than $baselineUnit.
113
+ */
114
+ /**
115
+ * Convert a font size to a dynamic font size but impose
116
+ * a maximum font size.
117
+ * @param size - The initial font size including the unit (i.e. px or pt)
118
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
119
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
120
+ * convert to a unit other than $baselineUnit.
121
+ */
122
+ /**
123
+ * Convert a font size to a dynamic font size but impose
124
+ * a minimum font size.
125
+ * @param size - The initial font size including the unit (i.e. px or pt)
126
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
127
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
128
+ * convert to a unit other than $baselineUnit.
129
+ */
130
+ /**
131
+ * Convert a font size to a dynamic font size but impose
132
+ * maximum and minimum font sizes.
133
+ * @param size - The initial font size including the unit (i.e. px or pt)
134
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
135
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
136
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
137
+ * convert to a unit other than $baselineUnit.
138
+ */
139
+ /**
140
+ * A heuristic that applies CSS to tablet
141
+ * viewports.
142
+ *
143
+ * Usage:
144
+ * @include tablet-viewport() {
145
+ * :host {
146
+ * background-color: green;
147
+ * }
148
+ * }
149
+ */
150
+ /**
151
+ * A heuristic that applies CSS to mobile
152
+ * viewports (i.e. phones, not tablets).
153
+ *
154
+ * Usage:
155
+ * @include mobile-viewport() {
156
+ * :host {
157
+ * background-color: blue;
158
+ * }
159
+ * }
160
+ */
161
+ :host {
162
+ font-family: var(--ion-font-family, inherit);
163
+ z-index: 10;
164
+ }
165
+
166
+ :host(.ion-color) {
167
+ color: var(--ion-color-contrast);
168
+ }
169
+
170
+ :host(.ion-color) .toolbar-background {
171
+ background: var(--ion-color-base);
172
+ }
173
+
174
+ .toolbar-container {
175
+ z-index: 10;
176
+ }
177
+
178
+ .toolbar-background {
179
+ z-index: -1;
180
+ }
181
+
182
+ /**
183
+ * Convert a pixels given value into rem
184
+ *
185
+ * @param pixels - Value in pixels to be converted (i.e. px)
186
+ * @param context (optional) - Baseline value
187
+ */
145
188
  /**
146
189
  * Convert a font size to a dynamic font size.
147
190
  * Fonts that participate in Dynamic Type should use
@@ -1,16 +1,17 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { Host, forceUpdate, h } from "@stencil/core";
4
+ import { forceUpdate, h, Host } from "@stencil/core";
5
5
  import { createColorClasses, hostContext } from "../../utils/theme";
6
- import { getIonMode } from "../../global/ionic-global";
6
+ import { getIonTheme } from "../../global/ionic-global";
7
7
  /**
8
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
8
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
9
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
9
10
  *
10
11
  * @slot - Content is placed between the named slots if provided without a slot.
11
12
  * @slot start - Content is placed to the left of the toolbar text in LTR, and to the right in RTL.
12
- * @slot secondary - Content is placed to the left of the toolbar text in `ios` mode, and directly to the right in `md` mode.
13
- * @slot primary - Content is placed to the right of the toolbar text in `ios` mode, and to the far right in `md` mode.
13
+ * @slot secondary - Content is placed to the left of the toolbar text in the `"ios"` theme, and directly to the right in the `"md"` theme.
14
+ * @slot primary - Content is placed to the right of the toolbar text in the `"ios"` theme, and to the far right in the `"md"` theme.
14
15
  * @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
15
16
  *
16
17
  * @part background - The background of the toolbar, covering the entire area behind the toolbar content.
@@ -18,14 +19,17 @@ import { getIonMode } from "../../global/ionic-global";
18
19
  * @part content - The container for the default slot, wrapping content provided without a named slot.
19
20
  */
20
21
  export class Toolbar {
21
- childrenStyles = new Map();
22
- el;
23
- /**
24
- * The color to use from your application's color palette.
25
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
26
- * For more information on colors, see [theming](/docs/theming/basics).
27
- */
28
- color;
22
+ constructor() {
23
+ this.childrenStyles = new Map();
24
+ this.slotClasses = [
25
+ 'has-start-content',
26
+ 'has-end-content',
27
+ 'has-primary-content',
28
+ 'has-secondary-content',
29
+ ];
30
+ this.showClasses = ['show-start', 'show-end', 'show-primary', 'show-secondary'];
31
+ this.slotSizeVars = ['--start-end-size', '--primary-secondary-size'];
32
+ }
29
33
  componentWillLoad() {
30
34
  const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));
31
35
  const firstButtons = buttons.find((button) => {
@@ -41,6 +45,173 @@ export class Toolbar {
41
45
  if (lastButtons) {
42
46
  lastButtons.classList.add('buttons-last-slot');
43
47
  }
48
+ this.updateSlotClasses();
49
+ }
50
+ componentDidLoad() {
51
+ this.updateSlotClasses();
52
+ this.updateSlotWidths();
53
+ }
54
+ titlePlacementChanged() {
55
+ this.updateSlotClasses();
56
+ }
57
+ /**
58
+ * Gets the title placement.
59
+ * Returns the title placement if it is set, otherwise returns `"center"`
60
+ * for `ionic` and `ios`, and `"start"` for `md`.
61
+ */
62
+ getTitlePlacement() {
63
+ if (this.titlePlacement !== undefined) {
64
+ return this.titlePlacement;
65
+ }
66
+ return getIonTheme(this) === 'ionic' || getIonTheme(this) === 'ios' ? 'center' : 'start';
67
+ }
68
+ /**
69
+ * Updates the CSS custom properties for slot widths
70
+ * This ensures that slots shown by their met conditions
71
+ * have a minimum width matching their required slot
72
+ */
73
+ updateSlotWidths(tries = 0) {
74
+ // Set timeout to try to execute after everything is rendered
75
+ setTimeout(() => {
76
+ // Attempt to measure and update
77
+ const success = this.measureAndUpdateSlots();
78
+ // If not all measurements were successful, try again in 100 ms
79
+ // cap recursion at 5 tries for safety
80
+ if (!success && tries < 5) {
81
+ setTimeout(() => {
82
+ this.updateSlotWidths(tries + 1);
83
+ }, 100);
84
+ }
85
+ });
86
+ }
87
+ /**
88
+ * Measure the widths of the slots and update the CSS custom properties
89
+ * for the minimum width of each pair of slots based on the largest width in each pair.
90
+ * Returns whether we successfully measured all of the slots we expect to have content.
91
+ * If not, the content probably hasn't rendered yet and we need to try again.
92
+ */
93
+ measureAndUpdateSlots() {
94
+ // Define the relationship between slots based on the conditions array
95
+ // Group slots that should have the same width
96
+ const slotPairs = [
97
+ { name: 'start-end', slots: ['start', 'end'] },
98
+ { name: 'primary-secondary', slots: ['primary', 'secondary'] },
99
+ ];
100
+ // First, measure all slot widths
101
+ const slotWidths = new Map();
102
+ let allMeasurementsSuccessful = true;
103
+ // Measure all slots with content
104
+ const slots = ['start', 'end', 'primary', 'secondary'];
105
+ slots.forEach((slot) => {
106
+ var _a;
107
+ if (this.el.classList.contains(`has-${slot}-content`)) {
108
+ const slotElement = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`slot[name="${slot}"]`);
109
+ if (slotElement) {
110
+ // Check if the slot contains an img or ion-img
111
+ const assignedElements = slotElement.assignedElements({ flatten: true });
112
+ const hasImg = assignedElements.some((el) => {
113
+ if (el.tagName === 'IMG' || el.tagName === 'ION-IMG') {
114
+ return true;
115
+ }
116
+ // Check for nested images
117
+ return el.querySelector('img, ion-img');
118
+ });
119
+ // Temporarily allow slot to size to content by setting flex-basis
120
+ // to 'auto'. This ensures that slotted images can render at their
121
+ // intrinsic width for measurement.
122
+ if (hasImg) {
123
+ const { name } = slotPairs.find((pair) => pair.slots.includes(slot));
124
+ this.el.style.setProperty(`--${name}-size`, 'auto');
125
+ }
126
+ const width = slotElement.offsetWidth;
127
+ if (width > 0) {
128
+ slotWidths.set(slot, width);
129
+ }
130
+ else {
131
+ allMeasurementsSuccessful = false;
132
+ }
133
+ }
134
+ }
135
+ });
136
+ // Then set the CSS custom properties based on the largest width in each pair
137
+ slotPairs.forEach(({ name, slots }) => {
138
+ // Find the maximum width among the slots in this pair
139
+ let maxWidth = 0;
140
+ let hasAnyContent = false;
141
+ slots.forEach((slot) => {
142
+ var _a;
143
+ if (slotWidths.has(slot)) {
144
+ hasAnyContent = true;
145
+ maxWidth = Math.max(maxWidth, (_a = slotWidths.get(slot)) !== null && _a !== void 0 ? _a : 0);
146
+ }
147
+ });
148
+ // If at least one slot in the pair has content, set the min-width for the pair
149
+ if (hasAnyContent && maxWidth > 0) {
150
+ // Set a single CSS variable for the pair
151
+ this.el.style.setProperty(`--${name}-size`, `${maxWidth}px`);
152
+ }
153
+ });
154
+ return allMeasurementsSuccessful;
155
+ }
156
+ /**
157
+ * Removes all slot visibility classes and slot width CSS variables.
158
+ */
159
+ removeSlotClasses() {
160
+ this.el.classList.remove(...this.slotClasses, ...this.showClasses);
161
+ this.slotSizeVars.forEach((cssVar) => this.el.style.removeProperty(cssVar));
162
+ }
163
+ updateSlotClasses() {
164
+ const titlePlacement = this.getTitlePlacement();
165
+ if (titlePlacement !== 'center') {
166
+ this.removeSlotClasses();
167
+ return;
168
+ }
169
+ // Check if slots have content
170
+ const slots = ['start', 'end', 'primary', 'secondary'];
171
+ const classesToAdd = [];
172
+ const classesToRemove = [];
173
+ slots.forEach((slot) => {
174
+ const slotHasContent = this.hasSlotContent(slot);
175
+ const slotClass = `has-${slot}-content`;
176
+ if (slotHasContent) {
177
+ classesToAdd.push(slotClass);
178
+ }
179
+ else {
180
+ classesToRemove.push(slotClass);
181
+ }
182
+ });
183
+ // Force visibilities in certain conditions. This works by adding a class to the toolbar
184
+ // named `show-{slot}`. This class will be added if the toolbar has the required slots
185
+ // and does not have any of the excluded slots, otherwise it will be removed.
186
+ // This is useful to enforce centering of the toolbar content when there are different amounts
187
+ // of slots on either side of the toolbar.
188
+ const conditions = [
189
+ { name: 'end', requiredSlots: ['start'], excludeSlots: ['end', 'primary'] },
190
+ { name: 'start', requiredSlots: ['end'], excludeSlots: ['start', 'secondary'] },
191
+ { name: 'secondary', requiredSlots: ['primary'], excludeSlots: ['secondary', 'start'] },
192
+ { name: 'primary', requiredSlots: ['secondary'], excludeSlots: ['primary', 'end'] },
193
+ ];
194
+ conditions.forEach((condition) => {
195
+ const hasRequiredSlots = condition.requiredSlots.every((slot) => classesToAdd.includes(`has-${slot}-content`));
196
+ const hasExcludedSlots = condition.excludeSlots.some((slot) => classesToAdd.includes(`has-${slot}-content`));
197
+ const className = `show-${condition.name}`;
198
+ if (hasRequiredSlots && !hasExcludedSlots) {
199
+ classesToAdd.push(className);
200
+ }
201
+ else {
202
+ classesToRemove.push(className);
203
+ }
204
+ });
205
+ // Add classes to the toolbar element
206
+ this.el.classList.add(...classesToAdd);
207
+ this.el.classList.remove(...classesToRemove);
208
+ // Update slot widths after classes have been updated
209
+ this.updateSlotWidths();
210
+ }
211
+ hasSlotContent(slotName) {
212
+ var _a;
213
+ const slotNode = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`slot[name="${slotName}"]`);
214
+ return !!slotNode && slotNode.assignedNodes().length > 0;
44
215
  }
45
216
  childrenStyle(ev) {
46
217
  ev.stopPropagation();
@@ -65,31 +236,32 @@ export class Toolbar {
65
236
  }
66
237
  }
67
238
  render() {
68
- const mode = getIonMode(this);
239
+ const theme = getIonTheme(this);
69
240
  const childStyles = {};
70
- this.childrenStyles.forEach((value) => {
71
- Object.assign(childStyles, value);
241
+ this.childrenStyles.forEach((style) => {
242
+ Object.assign(childStyles, style);
72
243
  });
73
- return (h(Host, { key: 'c16803dc4eae9972ef19bf43aa74b94feb4fd4c1', class: {
74
- ...childStyles,
75
- ...createColorClasses(this.color, {
76
- [mode]: true,
77
- 'in-toolbar': hostContext('ion-toolbar', this.el),
78
- }),
79
- } }, h("div", { key: '20e3f85844c94b8399c245d2df125e6ab678d681', class: "toolbar-background", part: "background" }), h("div", { key: '12f09e324e8d9130b9d30c493106b500233fb016', class: "toolbar-container", part: "container" }, h("slot", { key: '6da0fe99ee0c4d7c969712e2908a4e7e6be5ed2c', name: "start" }), h("slot", { key: '177c346d6dcabb7857d810cda7d25c6dde32e6e2', name: "secondary" }), h("div", { key: '8c921b415940c71bf4c1a2c5c6887f36ad1afd16', class: "toolbar-content", part: "content" }, h("slot", { key: '1f2976b80d967bd51e86ed1357b363271d655df2' })), h("slot", { key: '0f7618044a7e8b0d9b715a8e208070f7ef2ee4c8', name: "primary" }), h("slot", { key: '125c393197e0660a3c2638dd4628c41ef7e05f19', name: "end" }))));
244
+ const titlePlacement = this.getTitlePlacement();
245
+ return (h(Host, { key: 'bcb621674157410d7eaeb006779bdd677346587e', class: Object.assign(Object.assign({}, createColorClasses(this.color, {
246
+ [theme]: true,
247
+ 'in-toolbar': hostContext('ion-toolbar', this.el),
248
+ [`toolbar-title-placement-${titlePlacement}`]: true,
249
+ })), childStyles) }, h("div", { key: '0d31a98b2571b9a0ae142fbdfd83e2ebdcd8e069', class: "toolbar-background", part: "background" }), h("div", { key: 'de938534c487c6cb4060dac44b40c2d872130f50', class: "toolbar-container", part: "container" }, h("slot", { key: 'a337150d353e439eae67c31ff86e383ed51f3d8f', name: "start", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: '02effd3ce0cdad5ec5645fa58ccb329321449190', name: "secondary", onSlotchange: () => this.updateSlotClasses }), h("div", { key: '3e22f5feda2aea02117bdea2fe8a4b8905ba82f6', class: "toolbar-content", part: "content" }, h("slot", { key: 'ebf828643ff05a8bf662a54715d21d0859168d31' })), h("slot", { key: 'a6940648dfe25a7aa8792a1bd9267437274f333c', name: "primary", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: 'afb1d61aa0e430fcf483ba482af64762474e06fe', name: "end", onSlotchange: () => this.updateSlotClasses }))));
80
250
  }
81
251
  static get is() { return "ion-toolbar"; }
82
252
  static get encapsulation() { return "shadow"; }
83
253
  static get originalStyleUrls() {
84
254
  return {
85
255
  "ios": ["toolbar.ios.scss"],
86
- "md": ["toolbar.md.scss"]
256
+ "md": ["toolbar.md.scss"],
257
+ "ionic": ["toolbar.ionic.scss"]
87
258
  };
88
259
  }
89
260
  static get styleUrls() {
90
261
  return {
91
262
  "ios": ["toolbar.ios.css"],
92
- "md": ["toolbar.md.css"]
263
+ "md": ["toolbar.md.css"],
264
+ "ionic": ["toolbar.ionic.css"]
93
265
  };
94
266
  }
95
267
  static get properties() {
@@ -119,10 +291,35 @@ export class Toolbar {
119
291
  "setter": false,
120
292
  "reflect": true,
121
293
  "attribute": "color"
294
+ },
295
+ "titlePlacement": {
296
+ "type": "string",
297
+ "mutable": false,
298
+ "complexType": {
299
+ "original": "'start' | 'center' | 'end'",
300
+ "resolved": "\"center\" | \"end\" | \"start\" | undefined",
301
+ "references": {}
302
+ },
303
+ "required": false,
304
+ "optional": true,
305
+ "docs": {
306
+ "tags": [],
307
+ "text": "Where to place the title relative to the other toolbar content.\n`\"start\"`: The title will appear to the left of the toolbar content in LTR and to the right in RTL.\n`\"center\"`: The title will appear in the center of the toolbar.\n`\"end\"`: The title will appear to the right of the toolbar content in LTR and to the left in RTL.\n\nOnly applies in the `ionic` theme."
308
+ },
309
+ "getter": false,
310
+ "setter": false,
311
+ "reflect": false,
312
+ "attribute": "title-placement"
122
313
  }
123
314
  };
124
315
  }
125
316
  static get elementRef() { return "el"; }
317
+ static get watchers() {
318
+ return [{
319
+ "propName": "titlePlacement",
320
+ "methodName": "titlePlacementChanged"
321
+ }];
322
+ }
126
323
  static get listeners() {
127
324
  return [{
128
325
  "name": "ionStyle",
@@ -1,36 +1,3 @@
1
- /**
2
- * Convert a font size to a dynamic font size.
3
- * Fonts that participate in Dynamic Type should use
4
- * dynamic font sizes.
5
- * @param size - The initial font size including the unit (i.e. px or pt)
6
- * @param unit (optional) - The unit to convert to. Use this if you want to
7
- * convert to a unit other than $baselineUnit.
8
- */
9
- /**
10
- * Convert a font size to a dynamic font size but impose
11
- * a maximum font size.
12
- * @param size - The initial font size including the unit (i.e. px or pt)
13
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
- * convert to a unit other than $baselineUnit.
16
- */
17
- /**
18
- * Convert a font size to a dynamic font size but impose
19
- * a minimum font size.
20
- * @param size - The initial font size including the unit (i.e. px or pt)
21
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
- * convert to a unit other than $baselineUnit.
24
- */
25
- /**
26
- * Convert a font size to a dynamic font size but impose
27
- * maximum and minimum font sizes.
28
- * @param size - The initial font size including the unit (i.e. px or pt)
29
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
- * convert to a unit other than $baselineUnit.
33
- */
34
1
  /**
35
2
  * A heuristic that applies CSS to tablet
36
3
  * viewports.
@@ -84,20 +51,10 @@
84
51
  padding-right: var(--ion-safe-area-right);
85
52
  padding-left: var(--ion-safe-area-left);
86
53
  color: var(--color);
87
- font-family: var(--ion-font-family, inherit);
88
54
  contain: content;
89
- z-index: 10;
90
55
  box-sizing: border-box;
91
56
  }
92
57
 
93
- :host(.ion-color) {
94
- color: var(--ion-color-contrast);
95
- }
96
-
97
- :host(.ion-color) .toolbar-background {
98
- background: var(--ion-color-base);
99
- }
100
-
101
58
  .toolbar-container {
102
59
  -webkit-padding-start: var(--padding-start);
103
60
  padding-inline-start: var(--padding-start);
@@ -114,13 +71,12 @@
114
71
  min-height: var(--min-height);
115
72
  contain: content;
116
73
  overflow: hidden;
117
- z-index: 10;
118
74
  box-sizing: border-box;
119
75
  }
120
76
 
121
77
  .toolbar-background {
122
- left: 0;
123
78
  right: 0;
79
+ left: 0;
124
80
  top: 0;
125
81
  bottom: 0;
126
82
  position: absolute;
@@ -131,17 +87,104 @@
131
87
  background: var(--background);
132
88
  contain: strict;
133
89
  opacity: calc(var(--opacity) * var(--opacity-scale));
134
- z-index: -1;
135
90
  pointer-events: none;
136
91
  }
137
92
 
138
93
  ::slotted(ion-progress-bar) {
139
- left: 0;
140
94
  right: 0;
95
+ left: 0;
141
96
  bottom: 0;
142
97
  position: absolute;
143
98
  }
144
99
 
100
+ /**
101
+ * Convert a pixels given value into rem
102
+ *
103
+ * @param pixels - Value in pixels to be converted (i.e. px)
104
+ * @param context (optional) - Baseline value
105
+ */
106
+ /**
107
+ * Convert a font size to a dynamic font size.
108
+ * Fonts that participate in Dynamic Type should use
109
+ * dynamic font sizes.
110
+ * @param size - The initial font size including the unit (i.e. px or pt)
111
+ * @param unit (optional) - The unit to convert to. Use this if you want to
112
+ * convert to a unit other than $baselineUnit.
113
+ */
114
+ /**
115
+ * Convert a font size to a dynamic font size but impose
116
+ * a maximum font size.
117
+ * @param size - The initial font size including the unit (i.e. px or pt)
118
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
119
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
120
+ * convert to a unit other than $baselineUnit.
121
+ */
122
+ /**
123
+ * Convert a font size to a dynamic font size but impose
124
+ * a minimum font size.
125
+ * @param size - The initial font size including the unit (i.e. px or pt)
126
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
127
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
128
+ * convert to a unit other than $baselineUnit.
129
+ */
130
+ /**
131
+ * Convert a font size to a dynamic font size but impose
132
+ * maximum and minimum font sizes.
133
+ * @param size - The initial font size including the unit (i.e. px or pt)
134
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
135
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
136
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
137
+ * convert to a unit other than $baselineUnit.
138
+ */
139
+ /**
140
+ * A heuristic that applies CSS to tablet
141
+ * viewports.
142
+ *
143
+ * Usage:
144
+ * @include tablet-viewport() {
145
+ * :host {
146
+ * background-color: green;
147
+ * }
148
+ * }
149
+ */
150
+ /**
151
+ * A heuristic that applies CSS to mobile
152
+ * viewports (i.e. phones, not tablets).
153
+ *
154
+ * Usage:
155
+ * @include mobile-viewport() {
156
+ * :host {
157
+ * background-color: blue;
158
+ * }
159
+ * }
160
+ */
161
+ :host {
162
+ font-family: var(--ion-font-family, inherit);
163
+ z-index: 10;
164
+ }
165
+
166
+ :host(.ion-color) {
167
+ color: var(--ion-color-contrast);
168
+ }
169
+
170
+ :host(.ion-color) .toolbar-background {
171
+ background: var(--ion-color-base);
172
+ }
173
+
174
+ .toolbar-container {
175
+ z-index: 10;
176
+ }
177
+
178
+ .toolbar-background {
179
+ z-index: -1;
180
+ }
181
+
182
+ /**
183
+ * Convert a pixels given value into rem
184
+ *
185
+ * @param pixels - Value in pixels to be converted (i.e. px)
186
+ * @param context (optional) - Baseline value
187
+ */
145
188
  /**
146
189
  * Convert a font size to a dynamic font size.
147
190
  * Fonts that participate in Dynamic Type should use