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

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