@ionic/core 8.8.20-dev.11787158518.168a2fea → 8.8.20-dev.11789504012.1a675914

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 (1221) 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-0MMiHJhx.js +4 -0
  109. package/components/p-0rXxxCTt.js +4 -0
  110. package/components/{p-DwpKZ6rl.js → p-B2SvA6NE.js} +1 -1
  111. package/components/p-B4GJERAm.js +4 -0
  112. package/components/p-B9_sPaDw.js +4 -0
  113. package/components/p-BE21dB_a.js +4 -0
  114. package/components/p-BJyeT56g.js +4 -0
  115. package/components/p-BTBa_wH7.js +4 -0
  116. package/components/p-BTEOs1at.js +4 -0
  117. package/components/p-BU8Blvqg.js +4 -0
  118. package/components/p-BXXTyrCp.js +4 -0
  119. package/components/p-BXjGM4gW.js +4 -0
  120. package/components/p-BXuZo5-p.js +4 -0
  121. package/components/p-BYRVyMu9.js +4 -0
  122. package/components/{p-ryyf_ItD.js → p-BZwQa9ey.js} +1 -1
  123. package/components/p-BZxBDeEU.js +4 -0
  124. package/components/p-BcWO94Sl.js +4 -0
  125. package/components/p-BjW8SOqw.js +4 -0
  126. package/components/p-Br6q6Rgq.js +4 -0
  127. package/components/p-BwKpO3Is.js +4 -0
  128. package/components/p-BwzRqsq1.js +4 -0
  129. package/components/p-C-cw-bM-.js +4 -0
  130. package/components/p-C0K6CGg9.js +4 -0
  131. package/components/p-C2J-Hvv3.js +4 -0
  132. package/components/p-C3ydXg9O.js +4 -0
  133. package/components/p-C5Bnq_Hm.js +4 -0
  134. package/components/p-C5JYXyPD.js +4 -0
  135. package/components/p-C898H5L0.js +4 -0
  136. package/components/p-C8kcgEG7.js +4 -0
  137. package/components/p-CEz0vNHD.js +4 -0
  138. package/components/p-CH8ypgvS.js +4 -0
  139. package/components/{p-CMLAwl_N.js → p-CKLXmqy1.js} +1 -1
  140. package/components/p-CMtmHGrE.js +4 -0
  141. package/components/p-CNlz8OTE.js +4 -0
  142. package/components/p-CODBQrPj.js +4 -0
  143. package/components/p-CToV3-ig.js +4 -0
  144. package/components/p-CV7PNBGr.js +4 -0
  145. package/components/p-CVYFPBs-.js +4 -0
  146. package/components/p-CgbD1udy.js +4 -0
  147. package/components/p-CjlmHeGM.js +4 -0
  148. package/components/p-ClTdIlic.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-D0Iqw6OZ.js +4 -0
  153. package/components/p-D12Xsfh7.js +4 -0
  154. package/components/p-DExJ63jR.js +4 -0
  155. package/components/p-DHvfufkW.js +4 -0
  156. package/components/p-DRUGmlKi.js +4 -0
  157. package/components/p-DYq-5riI.js +4 -0
  158. package/components/p-DaJxRxSQ.js +4 -0
  159. package/components/p-Db3A3kHi.js +4 -0
  160. package/components/p-Df6AAcu8.js +4 -0
  161. package/components/p-Dh1f5tAK.js +4 -0
  162. package/components/{p-63OhffQv.js → p-Di8NbWfs.js} +1 -1
  163. package/components/p-DqkLOArC.js +4 -0
  164. package/components/p-DriGEn08.js +4 -0
  165. package/components/p-DylrHLJF.js +4 -0
  166. package/components/p-WeNgVmOy.js +4 -0
  167. package/components/p-Wn4ujuPW.js +4 -0
  168. package/components/p-X6YgGSBf.js +4 -0
  169. package/components/p-dLA3JnNJ.js +4 -0
  170. package/components/p-eRqVSlkn.js +4 -0
  171. package/components/p-fUXE2zLc.js +4 -0
  172. package/components/p-o8OKV5aD.js +4 -0
  173. package/components/p-pztWcmzj.js +4 -0
  174. package/components/p-vXpMhGrs.js +4 -0
  175. package/css/core.css +1 -1
  176. package/css/core.css.map +1 -1
  177. package/css/display.css +1 -1
  178. package/css/display.css.map +1 -1
  179. package/css/flex-utils.css +1 -1
  180. package/css/flex-utils.css.map +1 -1
  181. package/css/float-elements.css.map +1 -1
  182. package/css/global.bundle.css.map +1 -1
  183. package/css/ionic/bundle.ionic.css +1 -0
  184. package/css/ionic/bundle.ionic.css.map +1 -0
  185. package/css/ionic/core.ionic.css +1 -0
  186. package/css/ionic/core.ionic.css.map +1 -0
  187. package/css/ionic/global.bundle.ionic.css +1 -0
  188. package/css/ionic/global.bundle.ionic.css.map +1 -0
  189. package/css/ionic/ionic-swiper.ionic.css +1 -0
  190. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  191. package/css/ionic/link.ionic.css +1 -0
  192. package/css/ionic/link.ionic.css.map +1 -0
  193. package/css/ionic/structure.ionic.css +1 -0
  194. package/css/ionic/structure.ionic.css.map +1 -0
  195. package/css/ionic/typography.ionic.css +1 -0
  196. package/css/ionic/typography.ionic.css.map +1 -0
  197. package/css/ionic/utils.bundle.ionic.css +1 -0
  198. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  199. package/css/ionic-swiper.css +1 -1
  200. package/css/ionic-swiper.css.map +1 -1
  201. package/css/ionic.bundle.css +1 -1
  202. package/css/ionic.bundle.css.map +1 -1
  203. package/css/normalize.css.map +1 -1
  204. package/css/padding.css.map +1 -1
  205. package/css/palettes/dark.always.css.map +1 -1
  206. package/css/palettes/dark.class.css.map +1 -1
  207. package/css/palettes/dark.system.css.map +1 -1
  208. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  209. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  210. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  211. package/css/palettes/high-contrast.always.css.map +1 -1
  212. package/css/palettes/high-contrast.class.css.map +1 -1
  213. package/css/palettes/high-contrast.system.css.map +1 -1
  214. package/css/structure.css.map +1 -1
  215. package/css/text-alignment.css.map +1 -1
  216. package/css/text-transformation.css.map +1 -1
  217. package/css/typography.css.map +1 -1
  218. package/css/utils.bundle.css +1 -1
  219. package/css/utils.bundle.css.map +1 -1
  220. package/dist/cjs/{animation-C0mOHzej.js → animation-CxRPIayb.js} +6 -6
  221. package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BwvlV6g7.js} +1 -1
  222. package/dist/cjs/{button-active-CVMevT9a.js → button-active-qCQDwE2m.js} +3 -3
  223. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CRl0exFC.js} +3 -3
  224. package/dist/cjs/clear-button-press-controller-C7B9kyMa.js +45 -0
  225. package/dist/cjs/{config-CjUbvdPW.js → config-DWdFbSNK.js} +4 -5
  226. package/dist/cjs/{dir-zwDPRE5K.js → dir-DD0jPVH3.js} +3 -2
  227. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  228. package/dist/cjs/{format-pp0Du3K-.js → format-COAsdjOc.js} +30 -40
  229. package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-IvkF1VuM.js} +10 -6
  230. package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-dtqlP_q4.js} +8 -15
  231. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-DG25gZzb.js} +4 -3
  232. package/dist/cjs/{helpers-YPQybDph.js → helpers-Dhimwhpn.js} +74 -7
  233. package/dist/cjs/{index-DwlRtFZe.js → index-BJ2-LydH.js} +3 -9
  234. package/dist/cjs/{index-zVCah4Uz.js → index-Bsq0SbXc.js} +2 -2
  235. package/dist/cjs/{index-uvry__L4.js → index-C1knGA9x.js} +65 -33
  236. package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
  237. package/dist/cjs/{index-DXsPSne6.js → index-DhDV4RxJ.js} +16 -15
  238. package/dist/cjs/{index-BLdJCcJY.js → index-DuleInoh.js} +5 -5
  239. package/dist/cjs/{index-B7zJsYWS.js → index-YYUVCfP-.js} +3 -3
  240. package/dist/cjs/{index-DDg31ZF5.js → index-yon1HGB7.js} +10 -9
  241. package/dist/cjs/index.cjs.js +18 -18
  242. package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-BgJcHtqI.js} +23 -20
  243. package/dist/cjs/input.utils--RmR5lVe.js +150 -0
  244. package/dist/cjs/ion-accordion_2.cjs.entry.js +376 -376
  245. package/dist/cjs/ion-action-sheet.cjs.entry.js +87 -179
  246. package/dist/cjs/ion-alert.cjs.entry.js +126 -251
  247. package/dist/cjs/ion-app_8.cjs.entry.js +608 -461
  248. package/dist/cjs/ion-avatar_3.cjs.entry.js +125 -19
  249. package/dist/cjs/ion-back-button.cjs.entry.js +49 -65
  250. package/dist/cjs/ion-backdrop.cjs.entry.js +22 -23
  251. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +157 -210
  252. package/dist/cjs/ion-button_2.cjs.entry.js +118 -153
  253. package/dist/cjs/ion-card_5.cjs.entry.js +80 -110
  254. package/dist/cjs/ion-checkbox.cjs.entry.js +134 -160
  255. package/dist/cjs/ion-chip.cjs.entry.js +56 -21
  256. package/dist/cjs/ion-col_3.cjs.entry.js +61 -186
  257. package/dist/cjs/ion-datetime-button.cjs.entry.js +248 -256
  258. package/dist/cjs/ion-datetime_3.cjs.entry.js +3210 -0
  259. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  260. package/dist/cjs/ion-fab_3.cjs.entry.js +109 -155
  261. package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
  262. package/dist/cjs/ion-gallery.cjs.entry.js +608 -0
  263. package/dist/cjs/ion-img.cjs.entry.js +17 -35
  264. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +157 -109
  265. package/dist/cjs/ion-input-otp.cjs.entry.js +437 -435
  266. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +54 -40
  267. package/dist/cjs/ion-input.cjs.entry.js +305 -351
  268. package/dist/cjs/ion-item-option_3.cjs.entry.js +512 -137
  269. package/dist/cjs/ion-item_8.cjs.entry.js +186 -218
  270. package/dist/cjs/ion-loading.cjs.entry.js +69 -152
  271. package/dist/cjs/ion-menu_3.cjs.entry.js +136 -182
  272. package/dist/cjs/ion-modal.cjs.entry.js +501 -571
  273. package/dist/cjs/ion-nav_2.cjs.entry.js +164 -104
  274. package/dist/cjs/ion-picker-column-option.cjs.entry.js +40 -40
  275. package/dist/cjs/ion-picker-column.cjs.entry.js +410 -422
  276. package/dist/cjs/ion-picker.cjs.entry.js +401 -406
  277. package/dist/cjs/ion-popover.cjs.entry.js +212 -324
  278. package/dist/cjs/ion-progress-bar.cjs.entry.js +48 -36
  279. package/dist/cjs/ion-radio_2.cjs.entry.js +162 -217
  280. package/dist/cjs/ion-range.cjs.entry.js +251 -309
  281. package/dist/cjs/ion-refresher_2.cjs.entry.js +127 -175
  282. package/dist/cjs/ion-reorder_2.cjs.entry.js +47 -60
  283. package/dist/cjs/ion-ripple-effect.cjs.entry.js +26 -18
  284. package/dist/cjs/ion-route_4.cjs.entry.js +76 -179
  285. package/dist/cjs/ion-searchbar.cjs.entry.js +305 -308
  286. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  287. package/dist/cjs/ion-segment-view.cjs.entry.js +27 -28
  288. package/dist/cjs/ion-segment_2.cjs.entry.js +141 -177
  289. package/dist/cjs/ion-select-modal.cjs.entry.js +71 -50
  290. package/dist/cjs/ion-select_3.cjs.entry.js +416 -507
  291. package/dist/cjs/ion-spinner.cjs.entry.js +36 -28
  292. package/dist/cjs/ion-split-pane.cjs.entry.js +25 -34
  293. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +180 -117
  294. package/dist/cjs/ion-tab_2.cjs.entry.js +30 -55
  295. package/dist/cjs/ion-text.cjs.entry.js +7 -13
  296. package/dist/cjs/ion-textarea.cjs.entry.js +310 -303
  297. package/dist/cjs/ion-toast.cjs.entry.js +170 -265
  298. package/dist/cjs/ion-toggle.cjs.entry.js +172 -184
  299. package/dist/cjs/ionic-global-DYLhJaw7.js +519 -0
  300. package/dist/cjs/ionic.cjs.js +4 -4
  301. package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-Blgf-vZU.js} +21 -15
  302. package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DKn76MYO.js} +1 -1
  303. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-BgioTbwQ.js} +3 -3
  304. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-Otnp8OQI.js} +5 -4
  305. package/dist/cjs/loader.cjs.js +4 -4
  306. package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-ClgvbGfq.js} +11 -9
  307. package/dist/cjs/notch-controller-0hkmmSGo.js +155 -0
  308. package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
  309. package/dist/cjs/{overlays-KaNVDNqC.js → overlays-Bxjqh2m3.js} +336 -60
  310. package/dist/cjs/scroll-hide-controller-qWMU5yOk.js +345 -0
  311. package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-BqJEK1N1.js} +4 -3
  312. package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-ClA8u57t.js} +5 -4
  313. package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-4vY7mi8i.js} +6 -5
  314. package/dist/cjs/{theme-Bw0rpaNN.js → theme-IlOsGAz7.js} +26 -7
  315. package/dist/cjs/validity-QmuwEptc.js +51 -0
  316. package/dist/collection/collection-manifest.json +13 -1
  317. package/dist/collection/components/accordion/accordion.ionic.css +201 -0
  318. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  319. package/dist/collection/components/accordion/accordion.js +331 -324
  320. package/dist/collection/components/accordion/accordion.md.css +67 -59
  321. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  322. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  323. package/dist/collection/components/accordion-group/accordion-group.js +69 -56
  324. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  325. package/dist/collection/components/action-sheet/action-sheet.ionic.css +494 -0
  326. package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
  327. package/dist/collection/components/action-sheet/action-sheet.js +76 -166
  328. package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
  329. package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
  330. package/dist/collection/components/alert/alert.ionic.css +787 -0
  331. package/dist/collection/components/alert/alert.ios.css +247 -54
  332. package/dist/collection/components/alert/alert.js +113 -236
  333. package/dist/collection/components/alert/alert.md.css +243 -56
  334. package/dist/collection/components/app/app.js +15 -86
  335. package/dist/collection/components/avatar/avatar.ionic.css +385 -0
  336. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  337. package/dist/collection/components/avatar/avatar.js +120 -4
  338. package/dist/collection/components/avatar/avatar.md.css +51 -0
  339. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  340. package/dist/collection/components/back-button/back-button.js +45 -61
  341. package/dist/collection/components/back-button/back-button.md.css +60 -48
  342. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  343. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  344. package/dist/collection/components/backdrop/backdrop.js +26 -22
  345. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  346. package/dist/collection/components/badge/badge.ionic.css +272 -0
  347. package/dist/collection/components/badge/badge.ios.css +137 -12
  348. package/dist/collection/components/badge/badge.js +145 -15
  349. package/dist/collection/components/badge/badge.md.css +122 -12
  350. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  351. package/dist/collection/components/breadcrumb/breadcrumb.js +60 -99
  352. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  353. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  354. package/dist/collection/components/breadcrumbs/breadcrumbs.js +99 -112
  355. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  356. package/dist/collection/components/button/button.ionic.css +644 -0
  357. package/dist/collection/components/button/button.ios.css +154 -46
  358. package/dist/collection/components/button/button.js +122 -157
  359. package/dist/collection/components/button/button.md.css +150 -50
  360. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  361. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  362. package/dist/collection/components/buttons/buttons.js +29 -21
  363. package/dist/collection/components/buttons/buttons.md.css +55 -3
  364. package/dist/collection/components/card/card.ionic.css +144 -0
  365. package/dist/collection/components/card/card.ios.css +65 -14
  366. package/dist/collection/components/card/card.js +61 -63
  367. package/dist/collection/components/card/card.md.css +65 -14
  368. package/dist/collection/components/card-content/card-content.ionic.css +89 -0
  369. package/dist/collection/components/card-content/card-content.ios.css +20 -35
  370. package/dist/collection/components/card-content/card-content.js +12 -10
  371. package/dist/collection/components/card-content/card-content.md.css +20 -35
  372. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  373. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  374. package/dist/collection/components/card-header/card-header.js +20 -21
  375. package/dist/collection/components/card-header/card-header.md.css +27 -15
  376. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  377. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  378. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -14
  379. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  380. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  381. package/dist/collection/components/card-title/card-title.js +11 -14
  382. package/dist/collection/components/card-title/card-title.md.css +73 -0
  383. package/dist/collection/components/checkbox/checkbox.ionic.css +536 -0
  384. package/dist/collection/components/checkbox/checkbox.ios.css +246 -115
  385. package/dist/collection/components/checkbox/checkbox.js +172 -157
  386. package/dist/collection/components/checkbox/checkbox.md.css +247 -116
  387. package/dist/collection/components/chip/chip.ionic.css +217 -0
  388. package/dist/collection/components/chip/chip.ios.css +67 -14
  389. package/dist/collection/components/chip/chip.js +116 -20
  390. package/dist/collection/components/chip/chip.md.css +67 -14
  391. package/dist/collection/components/col/col.css +192 -4
  392. package/dist/collection/components/col/col.js +212 -186
  393. package/dist/collection/components/content/content.css +47 -2
  394. package/dist/collection/components/content/content.js +78 -102
  395. package/dist/collection/components/datetime/datetime.ionic.css +703 -0
  396. package/dist/collection/components/datetime/datetime.ios.css +304 -148
  397. package/dist/collection/components/datetime/datetime.js +900 -1090
  398. package/dist/collection/components/datetime/datetime.md.css +294 -138
  399. package/dist/collection/components/datetime/utils/data.js +19 -18
  400. package/dist/collection/components/datetime/utils/format.js +11 -21
  401. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  402. package/dist/collection/components/datetime/utils/parse.js +10 -10
  403. package/dist/collection/components/datetime/utils/state.js +2 -8
  404. package/dist/collection/components/datetime/utils/validate.js +5 -4
  405. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -5
  406. package/dist/collection/components/datetime-button/datetime-button.js +246 -253
  407. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -5
  408. package/dist/collection/components/divider/divider.ionic.css +148 -0
  409. package/dist/collection/components/divider/divider.ios.css +87 -0
  410. package/dist/collection/components/divider/divider.js +94 -0
  411. package/dist/collection/components/divider/divider.md.css +87 -0
  412. package/dist/collection/components/fab/fab.css +25 -1
  413. package/dist/collection/components/fab/fab.js +22 -25
  414. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  415. package/dist/collection/components/fab-button/fab-button.js +79 -117
  416. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  417. package/dist/collection/components/fab-list/fab-list.css +12 -0
  418. package/dist/collection/components/fab-list/fab-list.js +20 -15
  419. package/dist/collection/components/footer/footer-interface.js +1 -0
  420. package/dist/collection/components/footer/footer.ios.css +33 -6
  421. package/dist/collection/components/footer/footer.js +151 -65
  422. package/dist/collection/components/footer/footer.md.css +40 -0
  423. package/dist/collection/components/gallery/gallery-constants.js +12 -0
  424. package/dist/collection/components/gallery/gallery-interface.js +1 -0
  425. package/dist/collection/components/gallery/gallery.css +15 -0
  426. package/dist/collection/components/gallery/gallery.js +679 -0
  427. package/dist/collection/components/gallery/test/utils.js +100 -0
  428. package/dist/collection/components/gallery-item/gallery-item.css +49 -0
  429. package/dist/collection/components/gallery-item/gallery-item.js +99 -0
  430. package/dist/collection/components/grid/grid.css +12 -0
  431. package/dist/collection/components/grid/grid.js +15 -9
  432. package/dist/collection/components/header/header-interface.js +1 -0
  433. package/dist/collection/components/header/header.ionic.css +250 -0
  434. package/dist/collection/components/header/header.ios.css +178 -133
  435. package/dist/collection/components/header/header.js +202 -70
  436. package/dist/collection/components/header/header.md.css +199 -9
  437. package/dist/collection/components/header/header.utils.js +6 -13
  438. package/dist/collection/components/img/img.js +16 -34
  439. package/dist/collection/components/infinite-scroll/infinite-scroll.js +164 -76
  440. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  441. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +19 -30
  442. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  443. package/dist/collection/components/input/input.ionic.css +891 -0
  444. package/dist/collection/components/input/input.ios.css +247 -191
  445. package/dist/collection/components/input/input.js +333 -357
  446. package/dist/collection/components/input/input.md.css +234 -285
  447. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  448. package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
  449. package/dist/collection/components/input-otp/input-otp.js +437 -432
  450. package/dist/collection/components/input-otp/input-otp.md.css +105 -60
  451. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  452. package/dist/collection/components/input-password-toggle/input-password-toggle.js +51 -36
  453. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  454. package/dist/collection/components/item/item.ionic.css +496 -0
  455. package/dist/collection/components/item/item.ios.css +120 -80
  456. package/dist/collection/components/item/item.js +98 -113
  457. package/dist/collection/components/item/item.md.css +131 -79
  458. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  459. package/dist/collection/components/item-divider/item-divider.js +21 -23
  460. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  461. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  462. package/dist/collection/components/item-group/item-group.js +13 -7
  463. package/dist/collection/components/item-group/item-group.md.css +12 -0
  464. package/dist/collection/components/item-option/item-option.ionic.css +277 -0
  465. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  466. package/dist/collection/components/item-option/item-option.js +92 -56
  467. package/dist/collection/components/item-option/item-option.md.css +136 -29
  468. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  469. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  470. package/dist/collection/components/item-options/item-options.js +20 -17
  471. package/dist/collection/components/item-options/item-options.md.css +77 -34
  472. package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
  473. package/dist/collection/components/item-sliding/item-sliding.js +441 -61
  474. package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
  475. package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
  476. package/dist/collection/components/label/label.ios.css +18 -0
  477. package/dist/collection/components/label/label.js +15 -32
  478. package/dist/collection/components/label/label.md.css +18 -0
  479. package/dist/collection/components/list/list.ionic.css +212 -0
  480. package/dist/collection/components/list/list.ios.css +54 -14
  481. package/dist/collection/components/list/list.js +55 -19
  482. package/dist/collection/components/list/list.md.css +56 -16
  483. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  484. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  485. package/dist/collection/components/list-header/list-header.js +11 -18
  486. package/dist/collection/components/list-header/list-header.md.css +82 -38
  487. package/dist/collection/components/loading/loading.ios.css +13 -1
  488. package/dist/collection/components/loading/loading.js +62 -143
  489. package/dist/collection/components/loading/loading.md.css +13 -1
  490. package/dist/collection/components/menu/menu.ios.css +15 -3
  491. package/dist/collection/components/menu/menu.js +71 -108
  492. package/dist/collection/components/menu/menu.md.css +15 -3
  493. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  494. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  495. package/dist/collection/components/menu-button/menu-button.js +43 -38
  496. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  497. package/dist/collection/components/menu-toggle/menu-toggle.js +21 -25
  498. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  499. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  500. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  501. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  502. package/dist/collection/components/modal/animations/sheet.js +8 -2
  503. package/dist/collection/components/modal/gestures/sheet.js +86 -32
  504. package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -15
  505. package/dist/collection/components/modal/modal.ionic.css +255 -0
  506. package/dist/collection/components/modal/modal.ios.css +178 -70
  507. package/dist/collection/components/modal/modal.js +272 -404
  508. package/dist/collection/components/modal/modal.md.css +178 -70
  509. package/dist/collection/components/modal/safe-area-utils.js +7 -6
  510. package/dist/collection/components/modal/test/fixtures.js +0 -3
  511. package/dist/collection/components/nav/nav.css +7 -1
  512. package/dist/collection/components/nav/nav.js +256 -72
  513. package/dist/collection/components/nav/view-controller.js +1 -7
  514. package/dist/collection/components/nav-link/nav-link.js +14 -21
  515. package/dist/collection/components/note/note.ios.css +12 -0
  516. package/dist/collection/components/note/note.js +11 -14
  517. package/dist/collection/components/note/note.md.css +12 -0
  518. package/dist/collection/components/picker/picker.ios.css +15 -3
  519. package/dist/collection/components/picker/picker.js +398 -403
  520. package/dist/collection/components/picker/picker.md.css +15 -3
  521. package/dist/collection/components/picker-column/picker-column.css +9 -5
  522. package/dist/collection/components/picker-column/picker-column.js +409 -418
  523. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  524. package/dist/collection/components/picker-column-option/picker-column-option.js +42 -38
  525. package/dist/collection/components/picker-column-option/picker-column-option.md.css +7 -6
  526. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  527. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  528. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  529. package/dist/collection/components/picker-legacy/picker.ios.css +312 -0
  530. package/dist/collection/components/picker-legacy/picker.js +891 -0
  531. package/dist/collection/components/picker-legacy/picker.md.css +299 -0
  532. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +243 -0
  533. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  534. package/dist/collection/components/picker-legacy-column/picker-column.md.css +234 -0
  535. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  536. package/dist/collection/components/popover/animations/ios.enter.js +2 -1
  537. package/dist/collection/components/popover/animations/md.enter.js +2 -1
  538. package/dist/collection/components/popover/popover.ionic.css +290 -0
  539. package/dist/collection/components/popover/popover.ios.css +15 -2
  540. package/dist/collection/components/popover/popover.js +199 -313
  541. package/dist/collection/components/popover/popover.md.css +15 -2
  542. package/dist/collection/components/popover/test/fixture.js +0 -1
  543. package/dist/collection/components/popover/utils.js +6 -4
  544. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  545. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  546. package/dist/collection/components/progress-bar/progress-bar.js +65 -33
  547. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  548. package/dist/collection/components/radio/radio.ionic.css +422 -0
  549. package/dist/collection/components/radio/radio.ios.css +207 -102
  550. package/dist/collection/components/radio/radio.js +77 -108
  551. package/dist/collection/components/radio/radio.md.css +207 -102
  552. package/dist/collection/components/radio-group/radio-group.ionic.css +119 -0
  553. package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
  554. package/dist/collection/components/radio-group/radio-group.js +113 -107
  555. package/dist/collection/components/radio-group/radio-group.md.css +43 -19
  556. package/dist/collection/components/radio-group/test/fixtures.js +0 -2
  557. package/dist/collection/components/range/range.ionic.css +567 -0
  558. package/dist/collection/components/range/range.ios.css +128 -85
  559. package/dist/collection/components/range/range.js +247 -305
  560. package/dist/collection/components/range/range.md.css +128 -85
  561. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  562. package/dist/collection/components/refresher/refresher.js +88 -117
  563. package/dist/collection/components/refresher/refresher.md.css +15 -2
  564. package/dist/collection/components/refresher-content/refresher-content.js +37 -47
  565. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  566. package/dist/collection/components/reorder/reorder.js +26 -7
  567. package/dist/collection/components/reorder/reorder.md.css +6 -0
  568. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  569. package/dist/collection/components/reorder-group/reorder-group.js +22 -47
  570. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  571. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  572. package/dist/collection/components/ripple-effect/ripple-effect.js +26 -17
  573. package/dist/collection/components/route/route.js +14 -39
  574. package/dist/collection/components/route-redirect/route-redirect.js +0 -31
  575. package/dist/collection/components/router/router.js +37 -37
  576. package/dist/collection/components/router/utils/dom.js +7 -25
  577. package/dist/collection/components/router/utils/matching.js +9 -7
  578. package/dist/collection/components/router/utils/parser.js +1 -1
  579. package/dist/collection/components/router/utils/path.js +1 -0
  580. package/dist/collection/components/router-link/router-link.css +8 -2
  581. package/dist/collection/components/router-link/router-link.js +19 -40
  582. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  583. package/dist/collection/components/router-outlet/router-outlet.js +25 -83
  584. package/dist/collection/components/row/row.css +16 -0
  585. package/dist/collection/components/row/row.js +9 -2
  586. package/dist/collection/components/searchbar/searchbar.ionic.css +622 -0
  587. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  588. package/dist/collection/components/searchbar/searchbar.js +356 -321
  589. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  590. package/dist/collection/components/segment/segment.ionic.css +115 -0
  591. package/dist/collection/components/segment/segment.ios.css +45 -2
  592. package/dist/collection/components/segment/segment.js +94 -126
  593. package/dist/collection/components/segment/segment.md.css +45 -2
  594. package/dist/collection/components/segment-button/segment-button.ionic.css +352 -0
  595. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  596. package/dist/collection/components/segment-button/segment-button.js +46 -49
  597. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  598. package/dist/collection/components/segment-content/segment-content.js +1 -1
  599. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  600. package/dist/collection/components/segment-view/segment-view.js +27 -28
  601. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  602. package/dist/collection/components/select/select.ionic.css +809 -0
  603. package/dist/collection/components/select/select.ios.css +351 -206
  604. package/dist/collection/components/select/select.js +431 -431
  605. package/dist/collection/components/select/select.md.css +383 -230
  606. package/dist/collection/components/select-modal/select-modal.ionic.css +257 -0
  607. package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
  608. package/dist/collection/components/select-modal/select-modal.js +81 -37
  609. package/dist/collection/components/select-modal/select-modal.md.css +273 -43
  610. package/dist/collection/components/select-modal/test/fixtures.js +1 -8
  611. package/dist/collection/components/select-option/select-option.js +15 -48
  612. package/dist/collection/components/select-popover/select-popover.ionic.css +255 -0
  613. package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
  614. package/dist/collection/components/select-popover/select-popover.js +37 -44
  615. package/dist/collection/components/select-popover/select-popover.md.css +228 -47
  616. package/dist/collection/components/select-popover/test/fixtures.js +1 -8
  617. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  618. package/dist/collection/components/skeleton-text/skeleton-text.js +15 -15
  619. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
  620. package/dist/collection/components/spinner/spinner.js +55 -26
  621. package/dist/collection/components/spinner/spinner.native.css +199 -0
  622. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  623. package/dist/collection/components/split-pane/split-pane.js +28 -33
  624. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  625. package/dist/collection/components/tab/tab.js +10 -17
  626. package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
  627. package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
  628. package/dist/collection/components/tab-bar/tab-bar.js +190 -44
  629. package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
  630. package/dist/collection/components/tab-button/tab-button.ionic.css +373 -0
  631. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  632. package/dist/collection/components/tab-button/tab-button.js +74 -68
  633. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  634. package/dist/collection/components/tabs/tabs.css +7 -1
  635. package/dist/collection/components/tabs/tabs.js +23 -33
  636. package/dist/collection/components/text/text.css +6 -0
  637. package/dist/collection/components/text/text.js +7 -12
  638. package/dist/collection/components/textarea/textarea.ionic.css +898 -0
  639. package/dist/collection/components/textarea/textarea.ios.css +329 -221
  640. package/dist/collection/components/textarea/textarea.js +334 -302
  641. package/dist/collection/components/textarea/textarea.md.css +358 -231
  642. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  643. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  644. package/dist/collection/components/title/title.ionic.css +127 -0
  645. package/dist/collection/components/title/title.ios.css +32 -4
  646. package/dist/collection/components/title/title.js +13 -23
  647. package/dist/collection/components/title/title.md.css +39 -4
  648. package/dist/collection/components/toast/animations/utils.js +1 -1
  649. package/dist/collection/components/toast/toast.ionic.css +394 -0
  650. package/dist/collection/components/toast/toast.ios.css +84 -45
  651. package/dist/collection/components/toast/toast.js +178 -232
  652. package/dist/collection/components/toast/toast.md.css +84 -45
  653. package/dist/collection/components/toggle/toggle.ionic.css +512 -0
  654. package/dist/collection/components/toggle/toggle.ios.css +247 -127
  655. package/dist/collection/components/toggle/toggle.js +164 -175
  656. package/dist/collection/components/toggle/toggle.md.css +245 -127
  657. package/dist/collection/components/toolbar/test/image.svg +1 -0
  658. package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
  659. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  660. package/dist/collection/components/toolbar/toolbar.js +222 -25
  661. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  662. package/dist/collection/global/config.js +6 -4
  663. package/dist/collection/global/ionic-global.js +242 -20
  664. package/dist/collection/index.js +1 -1
  665. package/dist/collection/utils/animation/animation.js +3 -3
  666. package/dist/collection/utils/config.js +4 -5
  667. package/dist/collection/utils/css-value-validation.js +39 -0
  668. package/dist/collection/utils/focus-controller/index.js +1 -1
  669. package/dist/collection/utils/focus-trap.js +16 -5
  670. package/dist/collection/utils/focus-visible.js +22 -0
  671. package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
  672. package/dist/collection/utils/forms/index.js +1 -1
  673. package/dist/collection/utils/forms/validity.js +31 -0
  674. package/dist/collection/utils/framework-delegate.js +9 -5
  675. package/dist/collection/utils/gesture/gesture-controller.js +8 -15
  676. package/dist/collection/utils/gesture/index.js +2 -10
  677. package/dist/collection/utils/hardware-back-button.js +18 -3
  678. package/dist/collection/utils/helpers.js +72 -5
  679. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -4
  680. package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -1
  681. package/dist/collection/utils/keyboard/keyboard-controller.js +8 -6
  682. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  683. package/dist/collection/utils/logging/index.js +4 -23
  684. package/dist/collection/utils/media.js +1 -0
  685. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  686. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  687. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  688. package/dist/collection/utils/menu-controller/index.js +2 -1
  689. package/dist/collection/utils/native/haptic.js +3 -2
  690. package/dist/collection/utils/native/keyboard.js +2 -2
  691. package/dist/collection/utils/native/status-bar.js +1 -1
  692. package/dist/collection/utils/overlay-control-label.js +13 -11
  693. package/dist/collection/utils/overlays.js +312 -45
  694. package/dist/collection/utils/platform.js +5 -4
  695. package/dist/collection/utils/rtl/dir.js +3 -2
  696. package/dist/collection/utils/sanitization/index.js +2 -2
  697. package/dist/collection/utils/scroll-hide-controller.js +178 -0
  698. package/dist/collection/utils/select-option-render.js +2 -1
  699. package/dist/collection/utils/slot-mutation-controller.js +2 -1
  700. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  701. package/dist/collection/utils/test/playwright/drag-element.js +35 -11
  702. package/dist/collection/utils/test/playwright/generator.js +51 -25
  703. package/dist/collection/utils/test/playwright/page/event-spy.js +12 -11
  704. package/dist/collection/utils/test/playwright/page/utils/goto.js +15 -5
  705. package/dist/collection/utils/test/playwright/page/utils/set-content.js +27 -4
  706. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +3 -2
  707. package/dist/collection/utils/test/press-keys.js +17 -10
  708. package/dist/collection/utils/theme.js +26 -7
  709. package/dist/collection/utils/transition/ios.transition.js +14 -9
  710. package/dist/collection/utils/transition/md.transition.js +4 -3
  711. package/dist/docs.json +10054 -537
  712. package/dist/esm/{animation-CGFdmGk9.js → animation-BsVixxLP.js} +5 -5
  713. package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-rPvWQFXp.js} +1 -1
  714. package/dist/esm/{button-active-BDOsVAiZ.js → button-active-BS8YgJRD.js} +3 -3
  715. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-BnXrCBvt.js} +1 -1
  716. package/dist/esm/clear-button-press-controller-Ci6Q_x5-.js +43 -0
  717. package/dist/esm/{config-DWCzVL3Y.js → config-BwKpO3Is.js} +4 -5
  718. package/dist/esm/{dir-Dojwmvde.js → dir-o8OKV5aD.js} +3 -2
  719. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  720. package/dist/esm/{format-Dcwga61t.js → format-2WlZcMvG.js} +31 -41
  721. package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-P5K_3uYw.js} +10 -6
  722. package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-BTEOs1at.js} +8 -15
  723. package/dist/esm/{haptic-Cq4UAeka.js → haptic-ByW74Ow9.js} +4 -3
  724. package/dist/esm/{helpers-CAGf8Wgp.js → helpers-ChPZH7zh.js} +74 -8
  725. package/dist/esm/{index-DcPaH5uL.js → index-Bck1OwMs.js} +3 -9
  726. package/dist/esm/{index-ChhhtsGZ.js → index-C0EQceqV.js} +66 -34
  727. package/dist/esm/{index-Clc-28O1.js → index-C7EAbm0C.js} +5 -4
  728. package/dist/esm/{index-CqneaaGd.js → index-C7F1yJyV.js} +13 -12
  729. package/dist/esm/{index-WlteAIqz.js → index-CXSPjEca.js} +5 -5
  730. package/dist/esm/{index-CKM1DdGm.js → index-Mq5pCWmZ.js} +3 -3
  731. package/dist/esm/{index-BvabGprD.js → index-PnwG0glX.js} +2 -1
  732. package/dist/esm/{index-T0JxBI8V.js → index-niemeDYi.js} +2 -2
  733. package/dist/esm/index.js +17 -18
  734. package/dist/esm/{input-shims-B8sfni1e.js → input-shims-CM5m0K8T.js} +15 -12
  735. package/dist/esm/input.utils-DhJNJPiU.js +147 -0
  736. package/dist/esm/ion-accordion_2.entry.js +376 -376
  737. package/dist/esm/ion-action-sheet.entry.js +87 -179
  738. package/dist/esm/ion-alert.entry.js +126 -251
  739. package/dist/esm/ion-app_8.entry.js +607 -460
  740. package/dist/esm/ion-avatar_3.entry.js +125 -19
  741. package/dist/esm/ion-back-button.entry.js +49 -65
  742. package/dist/esm/ion-backdrop.entry.js +22 -23
  743. package/dist/esm/ion-breadcrumb_2.entry.js +157 -210
  744. package/dist/esm/ion-button_2.entry.js +118 -153
  745. package/dist/esm/ion-card_5.entry.js +80 -110
  746. package/dist/esm/ion-checkbox.entry.js +134 -160
  747. package/dist/esm/ion-chip.entry.js +56 -21
  748. package/dist/esm/ion-col_3.entry.js +61 -186
  749. package/dist/esm/ion-datetime-button.entry.js +248 -256
  750. package/dist/esm/ion-datetime_3.entry.js +3206 -0
  751. package/dist/esm/ion-divider.entry.js +49 -0
  752. package/dist/esm/ion-fab_3.entry.js +109 -155
  753. package/dist/esm/ion-gallery-item.entry.js +57 -0
  754. package/dist/esm/ion-gallery.entry.js +606 -0
  755. package/dist/esm/ion-img.entry.js +17 -35
  756. package/dist/esm/ion-infinite-scroll_2.entry.js +157 -109
  757. package/dist/esm/ion-input-otp.entry.js +437 -435
  758. package/dist/esm/ion-input-password-toggle.entry.js +54 -40
  759. package/dist/esm/ion-input.entry.js +303 -349
  760. package/dist/esm/ion-item-option_3.entry.js +512 -137
  761. package/dist/esm/ion-item_8.entry.js +186 -218
  762. package/dist/esm/ion-loading.entry.js +69 -152
  763. package/dist/esm/ion-menu_3.entry.js +136 -182
  764. package/dist/esm/ion-modal.entry.js +459 -529
  765. package/dist/esm/ion-nav_2.entry.js +164 -104
  766. package/dist/esm/ion-picker-column-option.entry.js +40 -40
  767. package/dist/esm/ion-picker-column.entry.js +410 -422
  768. package/dist/esm/ion-picker.entry.js +401 -406
  769. package/dist/esm/ion-popover.entry.js +212 -324
  770. package/dist/esm/ion-progress-bar.entry.js +48 -36
  771. package/dist/esm/ion-radio_2.entry.js +162 -217
  772. package/dist/esm/ion-range.entry.js +251 -309
  773. package/dist/esm/ion-refresher_2.entry.js +127 -175
  774. package/dist/esm/ion-reorder_2.entry.js +47 -60
  775. package/dist/esm/ion-ripple-effect.entry.js +26 -18
  776. package/dist/esm/ion-route_4.entry.js +76 -179
  777. package/dist/esm/ion-searchbar.entry.js +305 -308
  778. package/dist/esm/ion-segment-content.entry.js +2 -2
  779. package/dist/esm/ion-segment-view.entry.js +27 -28
  780. package/dist/esm/ion-segment_2.entry.js +141 -177
  781. package/dist/esm/ion-select-modal.entry.js +71 -50
  782. package/dist/esm/ion-select_3.entry.js +416 -507
  783. package/dist/esm/ion-spinner.entry.js +36 -28
  784. package/dist/esm/ion-split-pane.entry.js +25 -34
  785. package/dist/esm/ion-tab-bar_2.entry.js +179 -116
  786. package/dist/esm/ion-tab_2.entry.js +30 -55
  787. package/dist/esm/ion-text.entry.js +7 -13
  788. package/dist/esm/ion-textarea.entry.js +309 -302
  789. package/dist/esm/ion-toast.entry.js +149 -244
  790. package/dist/esm/ion-toggle.entry.js +172 -184
  791. package/dist/esm/ionic-global-BJDU78B6.js +508 -0
  792. package/dist/esm/ionic.js +5 -5
  793. package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-6oGu53GR.js} +21 -15
  794. package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-C6onMFOo.js} +1 -1
  795. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-XukEYIFf.js} +5 -4
  796. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-x-uHYVoq.js} +3 -3
  797. package/dist/esm/loader.js +5 -5
  798. package/dist/esm/{md.transition-BMngO4i_.js → md.transition-Dy5HxiSE.js} +11 -9
  799. package/dist/esm/notch-controller-BYB7mUMg.js +153 -0
  800. package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
  801. package/dist/esm/{overlays-CPmIs9Ls.js → overlays-C3YvaMgX.js} +333 -57
  802. package/dist/esm/scroll-hide-controller-B3MRYNXh.js +342 -0
  803. package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-BlKZ2H83.js} +4 -3
  804. package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-DK-ylvU7.js} +5 -4
  805. package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-DFICtpMC.js} +6 -5
  806. package/dist/esm/theme-DaJxRxSQ.js +67 -0
  807. package/dist/esm/validity-BjW8SOqw.js +48 -0
  808. package/dist/html.html-data.json +2690 -123
  809. package/dist/ionic/index.esm.js +1 -1
  810. package/dist/ionic/ionic.esm.js +1 -1
  811. package/dist/ionic/p--sroV-k-.js +4 -0
  812. package/dist/ionic/p-0115c2fa.entry.js +4 -0
  813. package/dist/ionic/p-0ac15b5f.entry.js +4 -0
  814. package/dist/ionic/p-0b2c58e0.entry.js +4 -0
  815. package/dist/ionic/p-0bfb8d9e.entry.js +4 -0
  816. package/dist/ionic/p-1147fa06.entry.js +4 -0
  817. package/dist/ionic/p-1e45586e.entry.js +4 -0
  818. package/dist/ionic/p-1febf200.entry.js +4 -0
  819. package/dist/ionic/p-208cecae.entry.js +4 -0
  820. package/dist/ionic/p-29f69d29.entry.js +4 -0
  821. package/dist/ionic/p-2b5e04c5.entry.js +4 -0
  822. package/dist/ionic/p-311ef139.entry.js +4 -0
  823. package/dist/ionic/p-3eff3411.entry.js +4 -0
  824. package/dist/ionic/p-3f17704b.entry.js +4 -0
  825. package/dist/ionic/p-46e754ae.entry.js +4 -0
  826. package/dist/ionic/p-4901a10b.entry.js +4 -0
  827. package/dist/ionic/p-4c8178d8.entry.js +4 -0
  828. package/dist/ionic/p-5196bee9.entry.js +4 -0
  829. package/dist/ionic/p-5386b094.entry.js +4 -0
  830. package/dist/ionic/p-54579b68.entry.js +4 -0
  831. package/dist/ionic/p-54baa1af.entry.js +4 -0
  832. package/dist/ionic/p-59e59209.entry.js +4 -0
  833. package/dist/ionic/p-5ad0c670.entry.js +4 -0
  834. package/dist/ionic/p-62602fbd.entry.js +4 -0
  835. package/dist/ionic/p-6b86cb62.entry.js +4 -0
  836. package/dist/ionic/p-7134537b.entry.js +4 -0
  837. package/dist/ionic/p-72eacca0.entry.js +4 -0
  838. package/dist/ionic/p-7ae06f6f.entry.js +4 -0
  839. package/dist/ionic/p-7bde9ee1.entry.js +4 -0
  840. package/dist/ionic/p-7f59020c.entry.js +4 -0
  841. package/dist/ionic/p-7k7Q1A38.js +4 -0
  842. package/dist/ionic/p-87ab986c.entry.js +4 -0
  843. package/dist/ionic/p-9dff6288.entry.js +4 -0
  844. package/dist/ionic/p-9e09cb80.entry.js +4 -0
  845. package/dist/ionic/p-BFhQ1N-L.js +4 -0
  846. package/dist/ionic/p-BG7tpRhR.js +4 -0
  847. package/dist/ionic/p-BITyMTKr.js +4 -0
  848. package/dist/ionic/p-BRPONI7N.js +4 -0
  849. package/dist/ionic/p-BTEOs1at.js +4 -0
  850. package/dist/ionic/p-BVdSuKmt.js +4 -0
  851. package/dist/ionic/p-BYRVyMu9.js +4 -0
  852. package/dist/ionic/p-BjW8SOqw.js +4 -0
  853. package/dist/ionic/p-Bpx1lBiP.js +4 -0
  854. package/dist/ionic/p-BwKpO3Is.js +4 -0
  855. package/dist/ionic/p-C-BLhfUi.js +4 -0
  856. package/dist/ionic/p-C-aO35cw.js +4 -0
  857. package/dist/ionic/p-C0EQceqV.js +5 -0
  858. package/dist/ionic/p-CDrQfM-I.js +4 -0
  859. package/dist/ionic/p-CODBQrPj.js +4 -0
  860. package/dist/ionic/p-CTSaffvS.js +4 -0
  861. package/dist/ionic/p-CaM5HwzM.js +4 -0
  862. package/dist/ionic/p-CgaW5Zy8.js +4 -0
  863. package/dist/ionic/p-Cipl19Qe.js +4 -0
  864. package/dist/ionic/p-CnBfCmL2.js +4 -0
  865. package/dist/ionic/p-D-Xit5Ye.js +4 -0
  866. package/dist/ionic/p-D7LIC84Z.js +4 -0
  867. package/dist/ionic/p-D844sgjq.js +4 -0
  868. package/dist/ionic/p-DWDKFjrH.js +4 -0
  869. package/dist/ionic/p-DaJxRxSQ.js +4 -0
  870. package/dist/ionic/p-DhyWlGap.js +4 -0
  871. package/dist/ionic/p-DiyY-i-5.js +4 -0
  872. package/dist/ionic/p-DrxPmT9E.js +4 -0
  873. package/dist/ionic/p-PnwG0glX.js +4 -0
  874. package/dist/ionic/p-YIsE5bNG.js +4 -0
  875. package/dist/ionic/p-a320cdb2.entry.js +4 -0
  876. package/dist/ionic/p-a37444b3.entry.js +4 -0
  877. package/dist/ionic/p-a4bed36b.entry.js +4 -0
  878. package/dist/ionic/p-a7914fe5.entry.js +4 -0
  879. package/dist/ionic/p-aa298c58.entry.js +4 -0
  880. package/dist/ionic/p-ace3062d.entry.js +4 -0
  881. package/dist/ionic/p-b70775b0.entry.js +4 -0
  882. package/dist/ionic/p-b7c75507.entry.js +4 -0
  883. package/dist/ionic/p-b920f149.entry.js +4 -0
  884. package/dist/ionic/p-c39025c0.entry.js +4 -0
  885. package/dist/ionic/p-c9cda5ce.entry.js +4 -0
  886. package/dist/ionic/p-cc314123.entry.js +4 -0
  887. package/dist/ionic/p-d1f42864.entry.js +4 -0
  888. package/dist/ionic/p-d4506138.entry.js +4 -0
  889. package/dist/ionic/p-dbd06d8d.entry.js +4 -0
  890. package/dist/ionic/p-dda49380.entry.js +4 -0
  891. package/dist/ionic/p-de4e8418.entry.js +4 -0
  892. package/dist/ionic/p-e95618c4.entry.js +4 -0
  893. package/dist/ionic/p-f89fcf62.entry.js +4 -0
  894. package/dist/ionic/p-fcce2dda.entry.js +4 -0
  895. package/dist/ionic/p-fd2a869f.entry.js +4 -0
  896. package/dist/ionic/p-fd95a423.entry.js +4 -0
  897. package/dist/ionic/p-fe14205b.entry.js +4 -0
  898. package/dist/ionic/p-i6iV8hMy.js +4 -0
  899. package/dist/ionic/p-nUlpIttM.js +4 -0
  900. package/dist/ionic/p-o8OKV5aD.js +4 -0
  901. package/dist/ionic/p-vXpMhGrs.js +4 -0
  902. package/dist/ionic/p-zRFin7iz.js +4 -0
  903. package/dist/ionic/p-zn4qAQ_d.js +4 -0
  904. package/dist/types/components/accordion/accordion.d.ts +12 -3
  905. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  906. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  907. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  908. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  909. package/dist/types/components/alert/alert.d.ts +3 -2
  910. package/dist/types/components/app/app.d.ts +4 -5
  911. package/dist/types/components/avatar/avatar.d.ts +32 -0
  912. package/dist/types/components/back-button/back-button.d.ts +8 -1
  913. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  914. package/dist/types/components/badge/badge.d.ts +34 -1
  915. package/dist/types/components/breadcrumb/breadcrumb.d.ts +14 -1
  916. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  917. package/dist/types/components/button/button.d.ts +23 -8
  918. package/dist/types/components/buttons/buttons.d.ts +5 -1
  919. package/dist/types/components/card/card.d.ts +8 -1
  920. package/dist/types/components/card-content/card-content.d.ts +2 -1
  921. package/dist/types/components/card-header/card-header.d.ts +3 -2
  922. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  923. package/dist/types/components/card-title/card-title.d.ts +2 -1
  924. package/dist/types/components/checkbox/checkbox.d.ts +26 -5
  925. package/dist/types/components/chip/chip.d.ts +26 -1
  926. package/dist/types/components/col/col.d.ts +52 -5
  927. package/dist/types/components/content/content.d.ts +3 -0
  928. package/dist/types/components/datetime/datetime.d.ts +26 -1
  929. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  930. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  931. package/dist/types/components/divider/divider.d.ts +20 -0
  932. package/dist/types/components/fab/fab.d.ts +4 -0
  933. package/dist/types/components/fab-button/fab-button.d.ts +11 -3
  934. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  935. package/dist/types/components/footer/footer-interface.d.ts +1 -0
  936. package/dist/types/components/footer/footer.d.ts +20 -3
  937. package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
  938. package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
  939. package/dist/types/components/gallery/gallery.d.ts +218 -0
  940. package/dist/types/components/gallery/test/utils.d.ts +3 -0
  941. package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
  942. package/dist/types/components/grid/grid.d.ts +4 -0
  943. package/dist/types/components/header/header-interface.d.ts +1 -0
  944. package/dist/types/components/header/header.d.ts +26 -3
  945. package/dist/types/components/header/header.utils.d.ts +4 -5
  946. package/dist/types/components/img/img.d.ts +2 -1
  947. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  948. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  949. package/dist/types/components/input/input.d.ts +40 -17
  950. package/dist/types/components/input-otp/input-otp.d.ts +37 -0
  951. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +14 -0
  952. package/dist/types/components/item/item.d.ts +17 -4
  953. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  954. package/dist/types/components/item-group/item-group.d.ts +4 -0
  955. package/dist/types/components/item-option/item-option.d.ts +18 -1
  956. package/dist/types/components/item-options/item-options.d.ts +4 -0
  957. package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
  958. package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
  959. package/dist/types/components/label/label.d.ts +2 -1
  960. package/dist/types/components/list/list.d.ts +15 -1
  961. package/dist/types/components/list-header/list-header.d.ts +2 -1
  962. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  963. package/dist/types/components/loading/loading.d.ts +3 -2
  964. package/dist/types/components/menu/menu.d.ts +3 -0
  965. package/dist/types/components/menu-button/menu-button.d.ts +8 -1
  966. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  967. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  968. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  969. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  970. package/dist/types/components/modal/modal-interface.d.ts +4 -16
  971. package/dist/types/components/modal/modal.d.ts +15 -12
  972. package/dist/types/components/nav/nav-interface.d.ts +10 -1
  973. package/dist/types/components/nav/nav.d.ts +27 -3
  974. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  975. package/dist/types/components/note/note.d.ts +2 -1
  976. package/dist/types/components/picker/picker.d.ts +2 -1
  977. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  978. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  979. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  980. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  981. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  982. package/dist/types/components/picker-legacy/picker.d.ts +159 -0
  983. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  984. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  985. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  986. package/dist/types/components/popover/popover.d.ts +6 -5
  987. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  988. package/dist/types/components/radio/radio.d.ts +2 -1
  989. package/dist/types/components/radio-group/radio-group.d.ts +12 -0
  990. package/dist/types/components/range/range.d.ts +2 -1
  991. package/dist/types/components/refresher/refresher.d.ts +2 -1
  992. package/dist/types/components/refresher-content/refresher-content.d.ts +10 -0
  993. package/dist/types/components/reorder/reorder.d.ts +9 -0
  994. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  995. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  996. package/dist/types/components/route/route.d.ts +5 -1
  997. package/dist/types/components/router/router.d.ts +4 -0
  998. package/dist/types/components/router-link/router-link.d.ts +4 -0
  999. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -8
  1000. package/dist/types/components/row/row.d.ts +4 -0
  1001. package/dist/types/components/searchbar/searchbar.d.ts +57 -11
  1002. package/dist/types/components/segment/segment.d.ts +2 -1
  1003. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  1004. package/dist/types/components/select/select.d.ts +55 -26
  1005. package/dist/types/components/select-modal/select-modal.d.ts +13 -0
  1006. package/dist/types/components/select-option/select-option.d.ts +7 -4
  1007. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  1008. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  1009. package/dist/types/components/spinner/spinner.d.ts +15 -0
  1010. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  1011. package/dist/types/components/tab/tab.d.ts +4 -0
  1012. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
  1013. package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
  1014. package/dist/types/components/tab-button/tab-button.d.ts +12 -1
  1015. package/dist/types/components/tabs/tabs.d.ts +3 -0
  1016. package/dist/types/components/text/text.d.ts +2 -1
  1017. package/dist/types/components/textarea/textarea.d.ts +58 -16
  1018. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  1019. package/dist/types/components/title/title.d.ts +4 -0
  1020. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  1021. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  1022. package/dist/types/components/toast/toast.d.ts +19 -2
  1023. package/dist/types/components/toggle/toggle.d.ts +18 -1
  1024. package/dist/types/components/toolbar/toolbar.d.ts +43 -3
  1025. package/dist/types/components.d.ts +2171 -263
  1026. package/dist/types/global/ionic-global.d.ts +28 -2
  1027. package/dist/types/index.d.ts +1 -1
  1028. package/dist/types/interface.d.ts +4 -0
  1029. package/dist/types/utils/config.d.ts +133 -3
  1030. package/dist/types/utils/css-value-validation.d.ts +21 -0
  1031. package/dist/types/utils/focus-trap.d.ts +1 -1
  1032. package/dist/types/utils/focus-visible.d.ts +13 -0
  1033. package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
  1034. package/dist/types/utils/forms/index.d.ts +1 -1
  1035. package/dist/types/utils/forms/validity.d.ts +7 -0
  1036. package/dist/types/utils/helpers.d.ts +22 -0
  1037. package/dist/types/utils/logging/index.d.ts +1 -2
  1038. package/dist/types/utils/overlay-control-label.d.ts +11 -9
  1039. package/dist/types/utils/overlays-interface.d.ts +31 -1
  1040. package/dist/types/utils/overlays.d.ts +10 -12
  1041. package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
  1042. package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
  1043. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1044. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  1045. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  1046. package/dist/types/utils/theme.d.ts +9 -0
  1047. package/hydrate/index.js +12008 -10485
  1048. package/hydrate/index.mjs +12008 -10485
  1049. package/package.json +16 -56
  1050. package/components/p--m5cCjbK.js +0 -4
  1051. package/components/p-1jI5oW-W.js +0 -4
  1052. package/components/p-8FN7p701.js +0 -4
  1053. package/components/p-B4uHHhPK.js +0 -4
  1054. package/components/p-BMPN55of.js +0 -4
  1055. package/components/p-BNJOu1Q2.js +0 -4
  1056. package/components/p-BOvLNVKq.js +0 -4
  1057. package/components/p-BSQPZ79H.js +0 -4
  1058. package/components/p-BeamQXHF.js +0 -4
  1059. package/components/p-BhamHSw3.js +0 -4
  1060. package/components/p-Bjig0DJK.js +0 -4
  1061. package/components/p-BjluhQMI.js +0 -4
  1062. package/components/p-BlsIikdZ.js +0 -4
  1063. package/components/p-BmVRXR1y.js +0 -4
  1064. package/components/p-BqPNzJf6.js +0 -4
  1065. package/components/p-BrD9Xv62.js +0 -4
  1066. package/components/p-BvJqoZ5R.js +0 -4
  1067. package/components/p-Bz6z3Asd.js +0 -4
  1068. package/components/p-C5KYjZWD.js +0 -4
  1069. package/components/p-C6HnVvHO.js +0 -4
  1070. package/components/p-C7jvh5Wy.js +0 -4
  1071. package/components/p-C9BGR5fy.js +0 -4
  1072. package/components/p-CB-y1CdP.js +0 -4
  1073. package/components/p-CEW4RXZO.js +0 -4
  1074. package/components/p-CHH3loEE.js +0 -4
  1075. package/components/p-CIGNaXM1.js +0 -4
  1076. package/components/p-CJKUWjmg.js +0 -4
  1077. package/components/p-C_phlPMC.js +0 -4
  1078. package/components/p-CbhUdtjf.js +0 -4
  1079. package/components/p-CejmQs3h.js +0 -4
  1080. package/components/p-CtZqa4HM.js +0 -4
  1081. package/components/p-D7-vHX0A.js +0 -4
  1082. package/components/p-D9qIVSWm.js +0 -4
  1083. package/components/p-DD5fQ4EQ.js +0 -4
  1084. package/components/p-DE-3iMNW.js +0 -4
  1085. package/components/p-DFvZn99E.js +0 -4
  1086. package/components/p-DHFt2rdc.js +0 -4
  1087. package/components/p-DJztqcrH.js +0 -4
  1088. package/components/p-DM-PrAoh.js +0 -4
  1089. package/components/p-DSzSbVP2.js +0 -4
  1090. package/components/p-DV85C0e0.js +0 -4
  1091. package/components/p-DWCzVL3Y.js +0 -4
  1092. package/components/p-D_RCyzwu.js +0 -4
  1093. package/components/p-D_tD8r3L.js +0 -4
  1094. package/components/p-DaA_8eqt.js +0 -4
  1095. package/components/p-DjCtLZbF.js +0 -4
  1096. package/components/p-Dmd2xqCe.js +0 -4
  1097. package/components/p-Dojwmvde.js +0 -4
  1098. package/components/p-G0TxqHfe.js +0 -4
  1099. package/components/p-G6JR-cr_.js +0 -4
  1100. package/components/p-GG5GhznE.js +0 -4
  1101. package/components/p-LpMHEu3v.js +0 -4
  1102. package/components/p-TXPDHL13.js +0 -4
  1103. package/components/p-UIBJkZf8.js +0 -4
  1104. package/components/p-ZjP4CjeZ.js +0 -4
  1105. package/components/p-_IKFD3ID.js +0 -4
  1106. package/components/p-byZM6qHV.js +0 -4
  1107. package/components/p-dKq2jIum.js +0 -4
  1108. package/components/p-fruGqVHh.js +0 -4
  1109. package/components/p-iYhH60Tc.js +0 -4
  1110. package/components/p-ia3IDdJS.js +0 -4
  1111. package/dist/cjs/hardware-back-button-fqpYh-kd.js +0 -121
  1112. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1113. package/dist/cjs/input.utils-BZdMWVrt.js +0 -35
  1114. package/dist/cjs/ion-datetime.cjs.entry.js +0 -2770
  1115. package/dist/cjs/ionic-global-k6hOWWpn.js +0 -156
  1116. package/dist/cjs/keyboard-controller-PtZoN2GS.js +0 -167
  1117. package/dist/cjs/slot-mutation-controller-DPHmqXdV.js +0 -397
  1118. package/dist/cjs/validity-BpS37YFM.js +0 -19
  1119. package/dist/collection/utils/forms/start-container-controller.js +0 -132
  1120. package/dist/esm/hardware-back-button-gLJHMX_F.js +0 -115
  1121. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1122. package/dist/esm/input.utils-B1ValN_N.js +0 -33
  1123. package/dist/esm/ion-datetime.entry.js +0 -2768
  1124. package/dist/esm/ionic-global-BVB7BrLT.js +0 -151
  1125. package/dist/esm/keyboard-controller-DEwoa1ev.js +0 -165
  1126. package/dist/esm/slot-mutation-controller-DiE_C9un.js +0 -393
  1127. package/dist/esm/theme-byZM6qHV.js +0 -48
  1128. package/dist/esm/validity-DJztqcrH.js +0 -17
  1129. package/dist/ionic/p-06ec7136.entry.js +0 -4
  1130. package/dist/ionic/p-09fe4fa3.entry.js +0 -4
  1131. package/dist/ionic/p-10d45a07.entry.js +0 -4
  1132. package/dist/ionic/p-208c8a07.entry.js +0 -4
  1133. package/dist/ionic/p-212474fa.entry.js +0 -4
  1134. package/dist/ionic/p-2eef1396.entry.js +0 -4
  1135. package/dist/ionic/p-347e005d.entry.js +0 -4
  1136. package/dist/ionic/p-3a0b3f1d.entry.js +0 -4
  1137. package/dist/ionic/p-3b071259.entry.js +0 -4
  1138. package/dist/ionic/p-40424a88.entry.js +0 -4
  1139. package/dist/ionic/p-4204184c.entry.js +0 -4
  1140. package/dist/ionic/p-47464391.entry.js +0 -4
  1141. package/dist/ionic/p-4eOQC00Z.js +0 -4
  1142. package/dist/ionic/p-4f9c9126.entry.js +0 -4
  1143. package/dist/ionic/p-5JsKPLJD.js +0 -4
  1144. package/dist/ionic/p-5bc485c6.entry.js +0 -4
  1145. package/dist/ionic/p-603a61e6.entry.js +0 -4
  1146. package/dist/ionic/p-60576951.entry.js +0 -4
  1147. package/dist/ionic/p-67a81d33.entry.js +0 -4
  1148. package/dist/ionic/p-6affb775.entry.js +0 -4
  1149. package/dist/ionic/p-6f120c25.entry.js +0 -4
  1150. package/dist/ionic/p-71c82b60.entry.js +0 -4
  1151. package/dist/ionic/p-79325ffe.entry.js +0 -4
  1152. package/dist/ionic/p-7CBuOvEo.js +0 -4
  1153. package/dist/ionic/p-7e4d51fa.entry.js +0 -4
  1154. package/dist/ionic/p-7f5d4664.entry.js +0 -4
  1155. package/dist/ionic/p-80ee82fc.entry.js +0 -4
  1156. package/dist/ionic/p-84af7dbc.entry.js +0 -4
  1157. package/dist/ionic/p-89ca830a.entry.js +0 -4
  1158. package/dist/ionic/p-93b8ec8f.entry.js +0 -4
  1159. package/dist/ionic/p-946f65c2.entry.js +0 -4
  1160. package/dist/ionic/p-9c4b39fb.entry.js +0 -4
  1161. package/dist/ionic/p-B1NEZUzQ.js +0 -4
  1162. package/dist/ionic/p-B1ck5iy-.js +0 -4
  1163. package/dist/ionic/p-B4FrqdW0.js +0 -4
  1164. package/dist/ionic/p-BB0LlG4y.js +0 -4
  1165. package/dist/ionic/p-BMPN55of.js +0 -4
  1166. package/dist/ionic/p-BSQPZ79H.js +0 -4
  1167. package/dist/ionic/p-BYEAtHr-.js +0 -4
  1168. package/dist/ionic/p-BhamHSw3.js +0 -4
  1169. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1170. package/dist/ionic/p-BvabGprD.js +0 -4
  1171. package/dist/ionic/p-C-94tAim.js +0 -4
  1172. package/dist/ionic/p-C-eHZMYE.js +0 -4
  1173. package/dist/ionic/p-CBR_W98Z.js +0 -4
  1174. package/dist/ionic/p-CBWAXjA5.js +0 -4
  1175. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1176. package/dist/ionic/p-CMRtMbJc.js +0 -4
  1177. package/dist/ionic/p-CPcPmkGv.js +0 -4
  1178. package/dist/ionic/p-CaRuIadB.js +0 -4
  1179. package/dist/ionic/p-Cdjxf_yg.js +0 -4
  1180. package/dist/ionic/p-ChhhtsGZ.js +0 -5
  1181. package/dist/ionic/p-CzS1qWve.js +0 -4
  1182. package/dist/ionic/p-D5t_-oMk.js +0 -4
  1183. package/dist/ionic/p-D94_RztK.js +0 -4
  1184. package/dist/ionic/p-DJztqcrH.js +0 -4
  1185. package/dist/ionic/p-DWCzVL3Y.js +0 -4
  1186. package/dist/ionic/p-DjjfauRM.js +0 -4
  1187. package/dist/ionic/p-DkUB-ROc.js +0 -4
  1188. package/dist/ionic/p-Dn0mqQ_R.js +0 -4
  1189. package/dist/ionic/p-Dojwmvde.js +0 -4
  1190. package/dist/ionic/p-DplOqGUv.js +0 -4
  1191. package/dist/ionic/p-Dst_XmZh.js +0 -4
  1192. package/dist/ionic/p-T71k3C35.js +0 -4
  1193. package/dist/ionic/p-TXPDHL13.js +0 -4
  1194. package/dist/ionic/p-UIBJkZf8.js +0 -4
  1195. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1196. package/dist/ionic/p-a438b193.entry.js +0 -4
  1197. package/dist/ionic/p-babaaaa7.entry.js +0 -4
  1198. package/dist/ionic/p-be08d500.entry.js +0 -4
  1199. package/dist/ionic/p-be9a4f51.entry.js +0 -4
  1200. package/dist/ionic/p-byZM6qHV.js +0 -4
  1201. package/dist/ionic/p-c00d3092.entry.js +0 -4
  1202. package/dist/ionic/p-c36dc8f5.entry.js +0 -4
  1203. package/dist/ionic/p-c72a7e17.entry.js +0 -4
  1204. package/dist/ionic/p-c8edd88c.entry.js +0 -4
  1205. package/dist/ionic/p-ce0e380b.entry.js +0 -4
  1206. package/dist/ionic/p-ce32912b.entry.js +0 -4
  1207. package/dist/ionic/p-d07cf130.entry.js +0 -4
  1208. package/dist/ionic/p-d27edeb3.entry.js +0 -4
  1209. package/dist/ionic/p-d5d2c506.entry.js +0 -4
  1210. package/dist/ionic/p-d5e31ca9.entry.js +0 -4
  1211. package/dist/ionic/p-de91444f.entry.js +0 -4
  1212. package/dist/ionic/p-ded69ceb.entry.js +0 -4
  1213. package/dist/ionic/p-df72866d.entry.js +0 -4
  1214. package/dist/ionic/p-e47e3151.entry.js +0 -4
  1215. package/dist/ionic/p-e621e5e8.entry.js +0 -4
  1216. package/dist/ionic/p-eea9cf93.entry.js +0 -4
  1217. package/dist/ionic/p-f402f5a4.entry.js +0 -4
  1218. package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
  1219. package/dist/ionic/p-ffb90460.entry.js +0 -4
  1220. package/dist/types/utils/forms/start-container-controller.d.ts +0 -34
  1221. /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: 'bbb8d7cd786d5b91b0f65b97335294d9701d4cdc', 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: 'c5ea1b921e87f6f1615f1fa98959a985881bf9f1', class: "toolbar-background", part: "background" }), h("div", { key: 'fa9da58a2be236daa05e26ddd4046dff41d33fcb', class: "toolbar-container", part: "container" }, h("slot", { key: '45f76c8833843bc27c79121bec16d65433277c12', name: "start", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: '3d1a7f34bc361ae87e361e05c5c6a3b2a7423f1d', name: "secondary", onSlotchange: () => this.updateSlotClasses }), h("div", { key: 'ad7d5133a105c9b9398a0c6458c5ff3f9b0f6253', class: "toolbar-content", part: "content" }, h("slot", { key: '783fe390e4bca1b7a245961e750a50bb009173b6' })), h("slot", { key: 'a555b3bef40a9bab3a1f1b39a02cbc8b28122c4a', name: "primary", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: '635a84fff3818e4648ea46bd80f5ef0808a9ff0e', 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