@ionic/core 8.7.14-dev.11765982433.1ecdbcee → 8.7.14-nightly.20251216

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (935) hide show
  1. package/components/action-sheet.js +11 -15
  2. package/components/alert.js +11 -14
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +6 -9
  5. package/components/button.js +10 -41
  6. package/components/buttons.js +8 -11
  7. package/components/capacitor.js +1 -1
  8. package/components/checkbox.js +12 -31
  9. package/components/content.js +12 -14
  10. package/components/data.js +5 -5
  11. package/components/focus-visible.js +1 -23
  12. package/components/framework-delegate.js +1 -3
  13. package/components/hardware-back-button.js +115 -0
  14. package/components/header.js +22 -34
  15. package/components/helpers.js +3 -42
  16. package/components/index5.js +8 -8
  17. package/components/index6.js +1 -1
  18. package/components/index7.js +150 -111
  19. package/components/index8.js +111 -150
  20. package/components/index9.js +7 -0
  21. package/components/input-shims.js +2 -2
  22. package/components/input.utils.js +1 -1
  23. package/components/ion-accordion-group.js +5 -23
  24. package/components/ion-accordion.js +21 -32
  25. package/components/ion-app.js +77 -12
  26. package/components/ion-avatar.js +5 -58
  27. package/components/ion-back-button.js +19 -27
  28. package/components/ion-badge.js +9 -73
  29. package/components/ion-breadcrumb.js +10 -43
  30. package/components/ion-breadcrumbs.js +5 -8
  31. package/components/ion-card-content.js +7 -10
  32. package/components/ion-card-header.js +6 -9
  33. package/components/ion-card-subtitle.js +5 -8
  34. package/components/ion-card-title.js +5 -8
  35. package/components/ion-card.js +9 -21
  36. package/components/ion-chip.js +8 -53
  37. package/components/ion-col.js +50 -51
  38. package/components/ion-datetime-button.js +5 -8
  39. package/components/ion-datetime.js +21 -98
  40. package/components/ion-fab-button.js +15 -31
  41. package/components/ion-fab-list.js +5 -5
  42. package/components/ion-fab.js +6 -6
  43. package/components/ion-footer.js +13 -18
  44. package/components/ion-grid.js +5 -5
  45. package/components/ion-img.js +2 -5
  46. package/components/ion-infinite-scroll-content.js +8 -11
  47. package/components/ion-infinite-scroll.js +6 -78
  48. package/components/ion-input-otp.js +6 -9
  49. package/components/ion-input-password-toggle.js +13 -51
  50. package/components/ion-input.js +28 -120
  51. package/components/ion-item-divider.js +5 -8
  52. package/components/ion-item-group.js +5 -8
  53. package/components/ion-item-option.js +9 -36
  54. package/components/ion-item-options.js +7 -10
  55. package/components/ion-item-sliding.js +5 -5
  56. package/components/ion-loading.js +9 -12
  57. package/components/ion-menu-button.js +10 -26
  58. package/components/ion-menu-toggle.js +5 -5
  59. package/components/ion-menu.js +8 -10
  60. package/components/ion-nav-link.js +1 -1
  61. package/components/ion-nav.js +5 -7
  62. package/components/ion-note.js +5 -8
  63. package/components/ion-picker-legacy.js +7 -7
  64. package/components/ion-progress-bar.js +7 -25
  65. package/components/ion-range.js +9 -12
  66. package/components/ion-refresher-content.js +8 -23
  67. package/components/ion-refresher.js +7 -10
  68. package/components/ion-reorder-group.js +5 -5
  69. package/components/ion-reorder.js +5 -30
  70. package/components/ion-router-link.js +6 -6
  71. package/components/ion-router-outlet.js +4 -4
  72. package/components/ion-row.js +3 -6
  73. package/components/ion-searchbar.js +23 -137
  74. package/components/ion-segment-button.js +7 -10
  75. package/components/ion-segment-content.js +1 -1
  76. package/components/ion-segment-view.js +2 -5
  77. package/components/ion-segment.js +7 -10
  78. package/components/ion-select-option.js +2 -5
  79. package/components/ion-select.js +33 -117
  80. package/components/ion-skeleton-text.js +5 -5
  81. package/components/ion-split-pane.js +8 -11
  82. package/components/ion-tab-bar.js +9 -39
  83. package/components/ion-tab-button.js +8 -35
  84. package/components/ion-tab.js +2 -2
  85. package/components/ion-tabs.js +2 -2
  86. package/components/ion-text.js +5 -5
  87. package/components/ion-textarea.js +11 -52
  88. package/components/ion-thumbnail.js +2 -5
  89. package/components/ion-toast.js +12 -37
  90. package/components/ion-toggle.js +17 -74
  91. package/components/ionic-global.js +15 -364
  92. package/components/ios.transition.js +0 -1
  93. package/components/item.js +15 -47
  94. package/components/keyboard-controller.js +2 -4
  95. package/components/label.js +5 -8
  96. package/components/list-header.js +7 -10
  97. package/components/list.js +6 -27
  98. package/components/modal.js +20 -48
  99. package/components/notch-controller.js +1 -1
  100. package/components/overlays.js +4 -3
  101. package/components/picker-column-option.js +5 -8
  102. package/components/picker-column.js +8 -7
  103. package/components/picker-column2.js +4 -4
  104. package/components/picker.js +4 -7
  105. package/components/popover.js +9 -12
  106. package/components/radio-group.js +7 -15
  107. package/components/radio.js +8 -11
  108. package/components/ripple-effect.js +7 -15
  109. package/components/select-modal.js +5 -12
  110. package/components/select-popover.js +2 -8
  111. package/components/spinner.js +8 -31
  112. package/components/status-tap.js +1 -1
  113. package/components/title.js +7 -10
  114. package/components/toolbar.js +9 -153
  115. package/css/core.css +1 -1
  116. package/css/core.css.map +1 -1
  117. package/css/display.css +1 -1
  118. package/css/display.css.map +1 -1
  119. package/css/flex-utils.css +1 -1
  120. package/css/flex-utils.css.map +1 -1
  121. package/css/float-elements.css.map +1 -1
  122. package/css/global.bundle.css.map +1 -1
  123. package/css/ionic-swiper.css +1 -1
  124. package/css/ionic-swiper.css.map +1 -1
  125. package/css/ionic.bundle.css +1 -1
  126. package/css/ionic.bundle.css.map +1 -1
  127. package/css/normalize.css.map +1 -1
  128. package/css/padding.css.map +1 -1
  129. package/css/palettes/dark.always.css.map +1 -1
  130. package/css/palettes/dark.class.css.map +1 -1
  131. package/css/palettes/dark.system.css.map +1 -1
  132. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  133. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  134. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  135. package/css/palettes/high-contrast.always.css.map +1 -1
  136. package/css/palettes/high-contrast.class.css.map +1 -1
  137. package/css/palettes/high-contrast.system.css.map +1 -1
  138. package/css/structure.css.map +1 -1
  139. package/css/text-alignment.css.map +1 -1
  140. package/css/text-transformation.css.map +1 -1
  141. package/css/typography.css.map +1 -1
  142. package/css/utils.bundle.css +1 -1
  143. package/css/utils.bundle.css.map +1 -1
  144. package/dist/cjs/{animation-CD5nuON9.js → animation-Bt3H9L1C.js} +2 -2
  145. package/dist/cjs/{app-globals-CoW5jvJu.js → app-globals-Ciccnk9_.js} +1 -1
  146. package/dist/cjs/{button-active-Dxyabn6T.js → button-active-CMc8cD90.js} +1 -1
  147. package/dist/cjs/{capacitor-C8raJ_tU.js → capacitor-DmA66EwP.js} +3 -3
  148. package/dist/cjs/{data-MoL8Ckx5.js → data-JwZKaIQB.js} +5 -5
  149. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  150. package/dist/cjs/{framework-delegate-Bwdk9vFS.js → framework-delegate-DMJRBuDi.js} +2 -4
  151. package/dist/cjs/{haptic-BU6_qLwg.js → haptic-ClPPQ_PS.js} +1 -1
  152. package/dist/cjs/hardware-back-button-VCK4V3mG.js +121 -0
  153. package/dist/cjs/{helpers-DnouLczu.js → helpers-DrTqNghc.js} +2 -41
  154. package/dist/cjs/{index-JtyffOXl.js → index-094mMFB-.js} +3 -3
  155. package/dist/cjs/{index-CADY2xEW.js → index-C534ULug.js} +7 -8
  156. package/dist/cjs/{index-DUoP_H1L.js → index-CO6eryBo.js} +1 -1
  157. package/dist/cjs/index-DkNv4J_i.js +10 -0
  158. package/dist/cjs/{index-C4_FN9N0.js → index-DrMUZJj6.js} +15 -15
  159. package/dist/cjs/index.cjs.js +11 -10
  160. package/dist/cjs/{input-shims-C-YCyXjg.js → input-shims-CW0KUFTQ.js} +16 -17
  161. package/dist/cjs/{input.utils-C3-BwdV0.js → input.utils-B_QROI2g.js} +5 -5
  162. package/dist/cjs/ion-accordion_2.cjs.entry.js +26 -55
  163. package/dist/cjs/ion-action-sheet.cjs.entry.js +20 -23
  164. package/dist/cjs/ion-alert.cjs.entry.js +20 -22
  165. package/dist/cjs/ion-app_8.cjs.entry.js +150 -249
  166. package/dist/cjs/ion-avatar_3.cjs.entry.js +11 -123
  167. package/dist/cjs/ion-back-button.cjs.entry.js +19 -28
  168. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -9
  169. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +15 -51
  170. package/dist/cjs/ion-button_2.cjs.entry.js +11 -43
  171. package/dist/cjs/ion-card_5.cjs.entry.js +29 -53
  172. package/dist/cjs/ion-checkbox.cjs.entry.js +13 -31
  173. package/dist/cjs/ion-chip.cjs.entry.js +7 -48
  174. package/dist/cjs/ion-col_3.cjs.entry.js +56 -53
  175. package/dist/cjs/ion-datetime-button.cjs.entry.js +7 -11
  176. package/dist/cjs/ion-datetime_3.cjs.entry.js +38 -113
  177. package/dist/cjs/ion-fab_3.cjs.entry.js +25 -41
  178. package/dist/cjs/ion-img.cjs.entry.js +3 -7
  179. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +14 -89
  180. package/dist/cjs/ion-input-otp.cjs.entry.js +7 -11
  181. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +12 -50
  182. package/dist/cjs/ion-input.cjs.entry.js +30 -120
  183. package/dist/cjs/ion-item-option_3.cjs.entry.js +19 -48
  184. package/dist/cjs/ion-item_8.cjs.entry.js +46 -113
  185. package/dist/cjs/ion-loading.cjs.entry.js +15 -17
  186. package/dist/cjs/ion-menu_3.cjs.entry.js +26 -44
  187. package/dist/cjs/ion-modal.cjs.entry.js +69 -96
  188. package/dist/cjs/ion-nav_2.cjs.entry.js +10 -13
  189. package/dist/cjs/ion-picker-column-option.cjs.entry.js +6 -10
  190. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  191. package/dist/cjs/ion-picker.cjs.entry.js +5 -9
  192. package/dist/cjs/ion-popover.cjs.entry.js +16 -18
  193. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -25
  194. package/dist/cjs/ion-radio_2.cjs.entry.js +14 -24
  195. package/dist/cjs/ion-range.cjs.entry.js +10 -14
  196. package/dist/cjs/ion-refresher_2.cjs.entry.js +18 -36
  197. package/dist/cjs/ion-reorder_2.cjs.entry.js +12 -36
  198. package/dist/cjs/ion-ripple-effect.cjs.entry.js +6 -14
  199. package/dist/cjs/ion-route_4.cjs.entry.js +7 -8
  200. package/dist/cjs/ion-searchbar.cjs.entry.js +21 -134
  201. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  202. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -5
  203. package/dist/cjs/ion-segment_2.cjs.entry.js +14 -21
  204. package/dist/cjs/ion-select-modal.cjs.entry.js +9 -15
  205. package/dist/cjs/ion-select_3.cjs.entry.js +38 -129
  206. package/dist/cjs/ion-spinner.cjs.entry.js +6 -28
  207. package/dist/cjs/ion-split-pane.cjs.entry.js +8 -11
  208. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +21 -75
  209. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -7
  210. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  211. package/dist/cjs/ion-textarea.cjs.entry.js +15 -55
  212. package/dist/cjs/ion-toast.cjs.entry.js +43 -66
  213. package/dist/cjs/ion-toggle.cjs.entry.js +21 -78
  214. package/dist/cjs/ionic-global-HMVqOFGO.js +151 -0
  215. package/dist/cjs/ionic.cjs.js +3 -3
  216. package/dist/cjs/{ios.transition-Dt4GT8w5.js → ios.transition-BOt_uW73.js} +4 -6
  217. package/dist/cjs/{keyboard-BlrG3xPK.js → keyboard-UuAS4D_9.js} +1 -1
  218. package/dist/cjs/{keyboard-controller-O8n0dTQz.js → keyboard-controller-GXBiBRKS.js} +9 -11
  219. package/dist/cjs/{keyboard-B8HJHbg3.js → keyboard-hHzlEQpk.js} +3 -4
  220. package/dist/cjs/loader.cjs.js +3 -3
  221. package/dist/cjs/{md.transition-BolcQzNP.js → md.transition-Dt968VXB.js} +4 -5
  222. package/dist/cjs/{notch-controller-BE80VRju.js → notch-controller-Bzqhjm4f.js} +4 -4
  223. package/dist/cjs/{overlays-D7GuFhXb.js → overlays--dagG4QM.js} +9 -8
  224. package/dist/cjs/{status-tap-e-hyosXV.js → status-tap-g0sWWkXk.js} +2 -3
  225. package/dist/cjs/{swipe-back-CR060nOX.js → swipe-back-BIayeNOD.js} +1 -2
  226. package/dist/collection/collection-manifest.json +0 -1
  227. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  228. package/dist/collection/components/accordion/accordion.js +26 -36
  229. package/dist/collection/components/accordion/accordion.md.css +59 -67
  230. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  231. package/dist/collection/components/accordion-group/accordion-group.js +8 -44
  232. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  233. package/dist/collection/components/action-sheet/action-sheet.ios.css +6 -18
  234. package/dist/collection/components/action-sheet/action-sheet.js +13 -17
  235. package/dist/collection/components/action-sheet/action-sheet.md.css +5 -17
  236. package/dist/collection/components/alert/alert.ios.css +1 -19
  237. package/dist/collection/components/alert/alert.js +13 -16
  238. package/dist/collection/components/alert/alert.md.css +1 -19
  239. package/dist/collection/components/app/app.js +78 -15
  240. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  241. package/dist/collection/components/avatar/avatar.js +4 -120
  242. package/dist/collection/components/avatar/avatar.md.css +0 -51
  243. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  244. package/dist/collection/components/back-button/back-button.js +19 -27
  245. package/dist/collection/components/back-button/back-button.md.css +48 -60
  246. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  247. package/dist/collection/components/backdrop/backdrop.js +6 -12
  248. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  249. package/dist/collection/components/badge/badge.ios.css +12 -139
  250. package/dist/collection/components/badge/badge.js +9 -145
  251. package/dist/collection/components/badge/badge.md.css +12 -123
  252. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  253. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  254. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  255. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  256. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  257. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  258. package/dist/collection/components/button/button.ios.css +46 -135
  259. package/dist/collection/components/button/button.js +17 -48
  260. package/dist/collection/components/button/button.md.css +50 -126
  261. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  262. package/dist/collection/components/buttons/buttons.js +9 -15
  263. package/dist/collection/components/buttons/buttons.md.css +3 -55
  264. package/dist/collection/components/card/card.ios.css +14 -65
  265. package/dist/collection/components/card/card.js +10 -41
  266. package/dist/collection/components/card/card.md.css +14 -65
  267. package/dist/collection/components/card-content/card-content.ios.css +1 -16
  268. package/dist/collection/components/card-content/card-content.js +8 -11
  269. package/dist/collection/components/card-content/card-content.md.css +1 -16
  270. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  271. package/dist/collection/components/card-header/card-header.js +10 -13
  272. package/dist/collection/components/card-header/card-header.md.css +15 -27
  273. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  274. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  275. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  276. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  277. package/dist/collection/components/card-title/card-title.js +8 -11
  278. package/dist/collection/components/card-title/card-title.md.css +0 -73
  279. package/dist/collection/components/checkbox/checkbox.ios.css +101 -161
  280. package/dist/collection/components/checkbox/checkbox.js +14 -70
  281. package/dist/collection/components/checkbox/checkbox.md.css +102 -162
  282. package/dist/collection/components/chip/chip.ios.css +14 -67
  283. package/dist/collection/components/chip/chip.js +8 -108
  284. package/dist/collection/components/chip/chip.md.css +14 -67
  285. package/dist/collection/components/col/col.css +4 -192
  286. package/dist/collection/components/col/col.js +61 -210
  287. package/dist/collection/components/content/content.css +2 -8
  288. package/dist/collection/components/content/content.js +11 -16
  289. package/dist/collection/components/datetime/datetime.ios.css +96 -258
  290. package/dist/collection/components/datetime/datetime.js +20 -98
  291. package/dist/collection/components/datetime/datetime.md.css +96 -258
  292. package/dist/collection/components/datetime/utils/data.js +5 -5
  293. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  294. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  295. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  296. package/dist/collection/components/fab/fab.css +1 -25
  297. package/dist/collection/components/fab/fab.js +5 -9
  298. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  299. package/dist/collection/components/fab-button/fab-button.js +21 -36
  300. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  301. package/dist/collection/components/fab-list/fab-list.css +0 -12
  302. package/dist/collection/components/fab-list/fab-list.js +5 -9
  303. package/dist/collection/components/footer/footer.ios.css +2 -14
  304. package/dist/collection/components/footer/footer.js +16 -21
  305. package/dist/collection/components/footer/footer.md.css +0 -12
  306. package/dist/collection/components/grid/grid.css +0 -12
  307. package/dist/collection/components/grid/grid.js +5 -9
  308. package/dist/collection/components/header/header.ios.css +10 -25
  309. package/dist/collection/components/header/header.js +19 -50
  310. package/dist/collection/components/header/header.md.css +8 -23
  311. package/dist/collection/components/header/header.utils.js +5 -5
  312. package/dist/collection/components/img/img.js +2 -8
  313. package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
  314. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  315. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  316. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  317. package/dist/collection/components/input/input.ios.css +140 -223
  318. package/dist/collection/components/input/input.js +38 -149
  319. package/dist/collection/components/input/input.md.css +212 -193
  320. package/dist/collection/components/input-otp/input-otp.ios.css +60 -102
  321. package/dist/collection/components/input-otp/input-otp.js +5 -7
  322. package/dist/collection/components/input-otp/input-otp.md.css +60 -102
  323. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  324. package/dist/collection/components/item/item.ios.css +69 -109
  325. package/dist/collection/components/item/item.js +20 -51
  326. package/dist/collection/components/item/item.md.css +68 -120
  327. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  328. package/dist/collection/components/item-divider/item-divider.js +8 -11
  329. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  330. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  331. package/dist/collection/components/item-group/item-group.js +7 -13
  332. package/dist/collection/components/item-group/item-group.md.css +0 -12
  333. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  334. package/dist/collection/components/item-option/item-option.js +9 -73
  335. package/dist/collection/components/item-option/item-option.md.css +29 -136
  336. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  337. package/dist/collection/components/item-options/item-options.js +7 -13
  338. package/dist/collection/components/item-options/item-options.md.css +34 -77
  339. package/dist/collection/components/item-sliding/item-sliding.css +0 -6
  340. package/dist/collection/components/item-sliding/item-sliding.js +4 -8
  341. package/dist/collection/components/label/label.ios.css +0 -18
  342. package/dist/collection/components/label/label.js +8 -11
  343. package/dist/collection/components/label/label.md.css +0 -18
  344. package/dist/collection/components/list/list.ios.css +14 -54
  345. package/dist/collection/components/list/list.js +9 -48
  346. package/dist/collection/components/list/list.md.css +16 -56
  347. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  348. package/dist/collection/components/list-header/list-header.js +8 -11
  349. package/dist/collection/components/list-header/list-header.md.css +38 -82
  350. package/dist/collection/components/loading/loading.ios.css +1 -13
  351. package/dist/collection/components/loading/loading.js +11 -14
  352. package/dist/collection/components/loading/loading.md.css +1 -13
  353. package/dist/collection/components/menu/menu.ios.css +3 -15
  354. package/dist/collection/components/menu/menu.js +7 -12
  355. package/dist/collection/components/menu/menu.md.css +3 -15
  356. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  357. package/dist/collection/components/menu-button/menu-button.js +10 -26
  358. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  359. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  360. package/dist/collection/components/modal/animations/sheet.js +2 -8
  361. package/dist/collection/components/modal/gestures/sheet.js +6 -10
  362. package/dist/collection/components/modal/modal.ios.css +70 -174
  363. package/dist/collection/components/modal/modal.js +11 -48
  364. package/dist/collection/components/modal/modal.md.css +70 -174
  365. package/dist/collection/components/nav/nav.css +1 -7
  366. package/dist/collection/components/nav/nav.js +5 -11
  367. package/dist/collection/components/nav-link/nav-link.js +1 -5
  368. package/dist/collection/components/note/note.ios.css +0 -12
  369. package/dist/collection/components/note/note.js +8 -11
  370. package/dist/collection/components/note/note.md.css +0 -12
  371. package/dist/collection/components/picker/picker.ios.css +3 -15
  372. package/dist/collection/components/picker/picker.js +5 -8
  373. package/dist/collection/components/picker/picker.md.css +3 -15
  374. package/dist/collection/components/picker-column/picker-column.css +2 -9
  375. package/dist/collection/components/picker-column/picker-column.js +7 -8
  376. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  377. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  378. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  379. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  380. package/dist/collection/components/picker-legacy/picker.js +6 -7
  381. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  382. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  383. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  384. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  385. package/dist/collection/components/popover/popover.ios.css +1 -13
  386. package/dist/collection/components/popover/popover.js +14 -17
  387. package/dist/collection/components/popover/popover.md.css +1 -13
  388. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  389. package/dist/collection/components/progress-bar/progress-bar.js +7 -43
  390. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  391. package/dist/collection/components/radio/radio.ios.css +91 -134
  392. package/dist/collection/components/radio/radio.js +9 -12
  393. package/dist/collection/components/radio/radio.md.css +91 -134
  394. package/dist/collection/components/radio-group/radio-group.ios.css +23 -43
  395. package/dist/collection/components/radio-group/radio-group.js +6 -21
  396. package/dist/collection/components/radio-group/radio-group.md.css +23 -43
  397. package/dist/collection/components/range/range.ios.css +85 -128
  398. package/dist/collection/components/range/range.js +9 -12
  399. package/dist/collection/components/range/range.md.css +85 -128
  400. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  401. package/dist/collection/components/refresher/refresher.js +8 -11
  402. package/dist/collection/components/refresher/refresher.md.css +2 -15
  403. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  404. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  405. package/dist/collection/components/reorder/reorder.js +6 -33
  406. package/dist/collection/components/reorder/reorder.md.css +0 -6
  407. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  408. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  409. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  410. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  411. package/dist/collection/components/route/route.js +0 -4
  412. package/dist/collection/components/router/router.js +0 -4
  413. package/dist/collection/components/router-link/router-link.css +2 -8
  414. package/dist/collection/components/router-link/router-link.js +5 -9
  415. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  416. package/dist/collection/components/router-outlet/router-outlet.js +3 -6
  417. package/dist/collection/components/row/row.css +0 -16
  418. package/dist/collection/components/row/row.js +2 -9
  419. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  420. package/dist/collection/components/searchbar/searchbar.js +34 -181
  421. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  422. package/dist/collection/components/segment/segment.ios.css +2 -45
  423. package/dist/collection/components/segment/segment.js +8 -11
  424. package/dist/collection/components/segment/segment.md.css +2 -45
  425. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  426. package/dist/collection/components/segment-button/segment-button.js +8 -11
  427. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  428. package/dist/collection/components/segment-content/segment-content.js +1 -1
  429. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  430. package/dist/collection/components/segment-view/segment-view.js +4 -6
  431. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  432. package/dist/collection/components/select/select.ios.css +176 -315
  433. package/dist/collection/components/select/select.js +53 -156
  434. package/dist/collection/components/select/select.md.css +178 -331
  435. package/dist/collection/components/select-modal/select-modal.ios.css +0 -18
  436. package/dist/collection/components/select-modal/select-modal.js +4 -11
  437. package/dist/collection/components/select-modal/select-modal.md.css +3 -7
  438. package/dist/collection/components/select-option/select-option.js +2 -9
  439. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  440. package/dist/collection/components/select-popover/select-popover.js +4 -12
  441. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  442. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  443. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  444. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -77
  445. package/dist/collection/components/spinner/spinner.js +6 -47
  446. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  447. package/dist/collection/components/split-pane/split-pane.js +8 -14
  448. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  449. package/dist/collection/components/tab/tab.js +2 -6
  450. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  451. package/dist/collection/components/tab-bar/tab-bar.js +11 -78
  452. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  453. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  454. package/dist/collection/components/tab-button/tab-button.js +9 -54
  455. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  456. package/dist/collection/components/tabs/tabs.css +1 -7
  457. package/dist/collection/components/tabs/tabs.js +1 -4
  458. package/dist/collection/components/text/text.css +0 -6
  459. package/dist/collection/components/text/text.js +6 -7
  460. package/dist/collection/components/textarea/textarea.ios.css +139 -275
  461. package/dist/collection/components/textarea/textarea.js +16 -76
  462. package/dist/collection/components/textarea/textarea.md.css +140 -288
  463. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  464. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  465. package/dist/collection/components/title/title.ios.css +4 -32
  466. package/dist/collection/components/title/title.js +7 -13
  467. package/dist/collection/components/title/title.md.css +4 -32
  468. package/dist/collection/components/toast/animations/utils.js +1 -1
  469. package/dist/collection/components/toast/toast.ios.css +45 -84
  470. package/dist/collection/components/toast/toast.js +12 -75
  471. package/dist/collection/components/toast/toast.md.css +45 -84
  472. package/dist/collection/components/toggle/toggle.ios.css +131 -247
  473. package/dist/collection/components/toggle/toggle.js +18 -73
  474. package/dist/collection/components/toggle/toggle.md.css +131 -244
  475. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  476. package/dist/collection/components/toolbar/toolbar.js +13 -157
  477. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  478. package/dist/collection/global/ionic-global.js +13 -228
  479. package/dist/collection/utils/focus-visible.js +0 -22
  480. package/dist/collection/utils/framework-delegate.js +1 -3
  481. package/dist/collection/utils/hardware-back-button.js +0 -15
  482. package/dist/collection/utils/helpers.js +2 -42
  483. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  484. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  485. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  486. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  487. package/dist/collection/utils/overlays.js +1 -2
  488. package/dist/collection/utils/test/playwright/generator.js +23 -48
  489. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  490. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
  491. package/dist/collection/utils/transition/ios.transition.js +0 -1
  492. package/dist/docs.json +374 -8195
  493. package/dist/esm/{animation-BNuoDl-O.js → animation-Dt8bGnA-.js} +1 -1
  494. package/dist/esm/{app-globals-tX0s9Zd7.js → app-globals-BDSf8fOA.js} +1 -1
  495. package/dist/esm/{button-active-BF6GZ_yH.js → button-active-L570Swow.js} +1 -1
  496. package/dist/esm/{capacitor-pzVAlnC0.js → capacitor-CFERIeaU.js} +1 -1
  497. package/dist/esm/{data-DFCY8gnk.js → data-DCORV9FH.js} +5 -5
  498. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  499. package/dist/esm/{framework-delegate-D2mUP0WI.js → framework-delegate-BYawdMXj.js} +2 -4
  500. package/dist/esm/{haptic-bBvyATla.js → haptic-DzAMWJuk.js} +1 -1
  501. package/dist/esm/hardware-back-button-CPLxO-Ev.js +115 -0
  502. package/dist/esm/{helpers-Bsml3FcE.js → helpers-DEn3pfjm.js} +3 -42
  503. package/dist/esm/{index-BpFi2B8W.js → index-Bs3kT4bc.js} +1 -1
  504. package/dist/esm/{index-BQI9hSZP.js → index-CvDIirVx.js} +10 -10
  505. package/dist/esm/{index-COG0_eom.js → index-DV3sJJW8.js} +1 -1
  506. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  507. package/dist/esm/{index-Bnw-zNoN.js → index-ceb5RaMT.js} +2 -3
  508. package/dist/esm/{index-M3l-IyxQ.js → index-r2D9DEro.js} +3 -3
  509. package/dist/esm/index.js +11 -10
  510. package/dist/esm/{input-shims-ACbgRt10.js → input-shims-DyOpfTg6.js} +5 -6
  511. package/dist/esm/{input.utils-loPnHH5H.js → input.utils-DrvTa8gz.js} +2 -2
  512. package/dist/esm/ion-accordion_2.entry.js +27 -56
  513. package/dist/esm/ion-action-sheet.entry.js +20 -23
  514. package/dist/esm/ion-alert.entry.js +20 -22
  515. package/dist/esm/ion-app_8.entry.js +151 -250
  516. package/dist/esm/ion-avatar_3.entry.js +13 -125
  517. package/dist/esm/ion-back-button.entry.js +20 -29
  518. package/dist/esm/ion-backdrop.entry.js +6 -9
  519. package/dist/esm/ion-breadcrumb_2.entry.js +17 -53
  520. package/dist/esm/ion-button_2.entry.js +11 -43
  521. package/dist/esm/ion-card_5.entry.js +29 -53
  522. package/dist/esm/ion-checkbox.entry.js +13 -31
  523. package/dist/esm/ion-chip.entry.js +8 -49
  524. package/dist/esm/ion-col_3.entry.js +57 -54
  525. package/dist/esm/ion-datetime-button.entry.js +7 -11
  526. package/dist/esm/ion-datetime_3.entry.js +40 -115
  527. package/dist/esm/ion-fab_3.entry.js +27 -43
  528. package/dist/esm/ion-img.entry.js +3 -7
  529. package/dist/esm/ion-infinite-scroll_2.entry.js +14 -89
  530. package/dist/esm/ion-input-otp.entry.js +7 -11
  531. package/dist/esm/ion-input-password-toggle.entry.js +14 -52
  532. package/dist/esm/ion-input.entry.js +32 -122
  533. package/dist/esm/ion-item-option_3.entry.js +19 -48
  534. package/dist/esm/ion-item_8.entry.js +48 -115
  535. package/dist/esm/ion-loading.entry.js +15 -17
  536. package/dist/esm/ion-menu_3.entry.js +27 -45
  537. package/dist/esm/ion-modal.entry.js +29 -56
  538. package/dist/esm/ion-nav_2.entry.js +10 -13
  539. package/dist/esm/ion-picker-column-option.entry.js +6 -10
  540. package/dist/esm/ion-picker-column.entry.js +11 -11
  541. package/dist/esm/ion-picker.entry.js +5 -9
  542. package/dist/esm/ion-popover.entry.js +16 -18
  543. package/dist/esm/ion-progress-bar.entry.js +7 -25
  544. package/dist/esm/ion-radio_2.entry.js +14 -24
  545. package/dist/esm/ion-range.entry.js +10 -14
  546. package/dist/esm/ion-refresher_2.entry.js +19 -37
  547. package/dist/esm/ion-reorder_2.entry.js +14 -38
  548. package/dist/esm/ion-ripple-effect.entry.js +6 -14
  549. package/dist/esm/ion-route_4.entry.js +7 -8
  550. package/dist/esm/ion-searchbar.entry.js +24 -137
  551. package/dist/esm/ion-segment-content.entry.js +1 -1
  552. package/dist/esm/ion-segment-view.entry.js +2 -5
  553. package/dist/esm/ion-segment_2.entry.js +14 -21
  554. package/dist/esm/ion-select-modal.entry.js +10 -16
  555. package/dist/esm/ion-select_3.entry.js +40 -131
  556. package/dist/esm/ion-spinner.entry.js +6 -28
  557. package/dist/esm/ion-split-pane.entry.js +8 -11
  558. package/dist/esm/ion-tab-bar_2.entry.js +21 -75
  559. package/dist/esm/ion-tab_2.entry.js +6 -7
  560. package/dist/esm/ion-text.entry.js +5 -5
  561. package/dist/esm/ion-textarea.entry.js +15 -55
  562. package/dist/esm/ion-toast.entry.js +17 -40
  563. package/dist/esm/ion-toggle.entry.js +22 -79
  564. package/dist/esm/ionic-global-CDrldh-5.js +146 -0
  565. package/dist/esm/ionic.js +3 -3
  566. package/dist/esm/{ios.transition-uJxJFbq8.js → ios.transition-BDzw0_Hm.js} +4 -6
  567. package/dist/esm/{keyboard-CU1vRv-b.js → keyboard-CUw4ekVy.js} +1 -1
  568. package/dist/esm/{keyboard-controller-Dplyc4OV.js → keyboard-controller-BaaVITYt.js} +3 -5
  569. package/dist/esm/{keyboard-B-HHSSYU.js → keyboard-ywgs5efA.js} +3 -4
  570. package/dist/esm/loader.js +3 -3
  571. package/dist/esm/{md.transition-Dp4NTeSh.js → md.transition-BzDYi3qq.js} +4 -5
  572. package/dist/esm/{notch-controller-BvFDmO69.js → notch-controller-BwelN_JM.js} +2 -2
  573. package/dist/esm/{overlays-Bi5WpIkN.js → overlays-DCabi1dI.js} +6 -5
  574. package/dist/esm/{status-tap-DXVlluKS.js → status-tap-5DQ7Fc4V.js} +2 -3
  575. package/dist/esm/{swipe-back-DNhAt9fY.js → swipe-back-BKw2CAHc.js} +1 -2
  576. package/dist/html.html-data.json +214 -2520
  577. package/dist/ionic/index.esm.js +1 -1
  578. package/dist/ionic/ionic.esm.js +1 -1
  579. package/dist/ionic/p-020af078.entry.js +4 -0
  580. package/dist/ionic/p-074839fc.entry.js +4 -0
  581. package/dist/ionic/p-07753df3.entry.js +4 -0
  582. package/dist/ionic/p-0abeb0fc.entry.js +4 -0
  583. package/dist/ionic/p-0bf76d0f.entry.js +4 -0
  584. package/dist/ionic/p-0dfa5a37.entry.js +4 -0
  585. package/dist/ionic/p-11518b31.entry.js +4 -0
  586. package/dist/ionic/p-1647c46c.entry.js +4 -0
  587. package/dist/ionic/p-2a939845.entry.js +4 -0
  588. package/dist/ionic/p-316c0420.entry.js +4 -0
  589. package/dist/ionic/p-31f7095f.entry.js +4 -0
  590. package/dist/ionic/p-370e4237.entry.js +4 -0
  591. package/dist/ionic/p-3a6caca9.entry.js +4 -0
  592. package/dist/ionic/p-40c261a3.entry.js +4 -0
  593. package/dist/ionic/p-43ed1ef5.entry.js +4 -0
  594. package/dist/ionic/p-46d74291.entry.js +4 -0
  595. package/dist/ionic/p-49d06882.entry.js +4 -0
  596. package/dist/ionic/p-4b658a7c.entry.js +4 -0
  597. package/dist/ionic/p-4e41ea20.entry.js +4 -0
  598. package/dist/ionic/p-51a60e0f.entry.js +4 -0
  599. package/dist/ionic/p-576e0965.entry.js +4 -0
  600. package/dist/ionic/p-582824c5.entry.js +4 -0
  601. package/dist/ionic/p-6241ce47.entry.js +4 -0
  602. package/dist/ionic/p-639dd543.entry.js +4 -0
  603. package/dist/ionic/p-6444c606.entry.js +4 -0
  604. package/dist/ionic/p-675b1a31.entry.js +4 -0
  605. package/dist/ionic/p-6d070558.entry.js +4 -0
  606. package/dist/ionic/p-7268efa5.entry.js +4 -0
  607. package/dist/ionic/p-72c38b88.entry.js +4 -0
  608. package/dist/ionic/p-75ae4733.entry.js +4 -0
  609. package/dist/ionic/p-79bd78f9.entry.js +4 -0
  610. package/dist/ionic/p-86f53961.entry.js +4 -0
  611. package/dist/ionic/p-94de5cfa.entry.js +4 -0
  612. package/dist/ionic/p-9575b654.entry.js +4 -0
  613. package/dist/ionic/p-9eeaBrnk.js +4 -0
  614. package/dist/ionic/p-B0q1YL7N.js +4 -0
  615. package/dist/ionic/p-BFvmZNyx.js +4 -0
  616. package/dist/ionic/p-BKc55Xev.js +4 -0
  617. package/dist/ionic/p-BOVrCkpJ.js +4 -0
  618. package/dist/ionic/p-BYEqWnSg.js +4 -0
  619. package/dist/ionic/p-BmVRXR1y.js +4 -0
  620. package/dist/ionic/p-Bmgaetn_.js +4 -0
  621. package/dist/ionic/p-C6F4hat2.js +4 -0
  622. package/dist/ionic/p-C7hRNDhM.js +4 -0
  623. package/dist/ionic/p-CIGNaXM1.js +4 -0
  624. package/dist/ionic/{p-D-BelbiX.js → p-CJxh_yLS.js} +1 -1
  625. package/dist/ionic/{p-Cq83JWMg.js → p-CKvCXMs9.js} +1 -1
  626. package/dist/ionic/p-CTfR9YZG.js +4 -0
  627. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  628. package/dist/ionic/{p-B3uz75uZ.js → p-CwgG81ZD.js} +1 -1
  629. package/dist/ionic/p-D-eFFUkA.js +4 -0
  630. package/dist/ionic/{p-HpOiAvpC.js → p-D0dMcSkw.js} +1 -1
  631. package/dist/ionic/{p-B-D7Cfki.js → p-D13Eaw-8.js} +1 -1
  632. package/dist/ionic/{p-C8r4dtYR.js → p-DCv9sLH2.js} +1 -1
  633. package/dist/ionic/p-DDb5r57F.js +4 -0
  634. package/dist/ionic/p-DNcfiJwE.js +4 -0
  635. package/dist/ionic/{p-q1ZSn0l7.js → p-DUt5fQmA.js} +1 -1
  636. package/dist/ionic/{p-COG0_eom.js → p-DV3sJJW8.js} +1 -1
  637. package/dist/ionic/p-DZRJwG4S.js +4 -0
  638. package/dist/ionic/{p-CtUK3cKk.js → p-Dc45iWE4.js} +1 -1
  639. package/dist/ionic/p-QHYY4sjU.js +4 -0
  640. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  641. package/dist/ionic/p-a127bee2.entry.js +4 -0
  642. package/dist/ionic/p-a8ed848b.entry.js +4 -0
  643. package/dist/ionic/p-ac4eb91d.entry.js +4 -0
  644. package/dist/ionic/p-b0a7585c.entry.js +4 -0
  645. package/dist/ionic/p-b57c6d3e.entry.js +4 -0
  646. package/dist/ionic/p-c19f63d0.entry.js +4 -0
  647. package/dist/ionic/p-c85a2127.entry.js +4 -0
  648. package/dist/ionic/p-cc45bcbc.entry.js +4 -0
  649. package/dist/ionic/p-cebb0328.entry.js +4 -0
  650. package/dist/ionic/p-d0a2a1ab.entry.js +4 -0
  651. package/dist/ionic/p-d126e8d3.entry.js +4 -0
  652. package/dist/ionic/p-d1f54e28.entry.js +4 -0
  653. package/dist/ionic/p-d3014190.entry.js +4 -0
  654. package/dist/ionic/p-da7d04cc.entry.js +4 -0
  655. package/dist/ionic/p-dbbe606a.entry.js +4 -0
  656. package/dist/ionic/p-ea509e3c.entry.js +4 -0
  657. package/dist/ionic/p-ec654c42.entry.js +4 -0
  658. package/dist/ionic/p-f8f22cc0.entry.js +4 -0
  659. package/dist/types/components/accordion/accordion.d.ts +3 -5
  660. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  661. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  662. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  663. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  664. package/dist/types/components/alert/alert.d.ts +2 -3
  665. package/dist/types/components/app/app.d.ts +2 -4
  666. package/dist/types/components/avatar/avatar.d.ts +0 -32
  667. package/dist/types/components/back-button/back-button.d.ts +1 -2
  668. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  669. package/dist/types/components/badge/badge.d.ts +1 -34
  670. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  671. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  672. package/dist/types/components/button/button.d.ts +6 -19
  673. package/dist/types/components/buttons/buttons.d.ts +1 -5
  674. package/dist/types/components/card/card.d.ts +1 -8
  675. package/dist/types/components/card-content/card-content.d.ts +1 -2
  676. package/dist/types/components/card-header/card-header.d.ts +2 -3
  677. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  678. package/dist/types/components/card-title/card-title.d.ts +1 -2
  679. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  680. package/dist/types/components/chip/chip.d.ts +1 -26
  681. package/dist/types/components/col/col.d.ts +5 -52
  682. package/dist/types/components/content/content.d.ts +0 -3
  683. package/dist/types/components/datetime/datetime.d.ts +1 -26
  684. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  685. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  686. package/dist/types/components/fab/fab.d.ts +0 -4
  687. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  688. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  689. package/dist/types/components/footer/footer.d.ts +3 -4
  690. package/dist/types/components/grid/grid.d.ts +0 -4
  691. package/dist/types/components/header/header.d.ts +3 -9
  692. package/dist/types/components/header/header.utils.d.ts +3 -3
  693. package/dist/types/components/img/img.d.ts +0 -3
  694. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  695. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  696. package/dist/types/components/input/input.d.ts +5 -31
  697. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  698. package/dist/types/components/item/item.d.ts +4 -11
  699. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  700. package/dist/types/components/item-group/item-group.d.ts +0 -4
  701. package/dist/types/components/item-option/item-option.d.ts +1 -18
  702. package/dist/types/components/item-options/item-options.d.ts +0 -4
  703. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  704. package/dist/types/components/label/label.d.ts +1 -2
  705. package/dist/types/components/list/list.d.ts +1 -15
  706. package/dist/types/components/list-header/list-header.d.ts +1 -2
  707. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  708. package/dist/types/components/loading/loading.d.ts +2 -3
  709. package/dist/types/components/menu/menu.d.ts +0 -3
  710. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  711. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  712. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  713. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  714. package/dist/types/components/modal/modal.d.ts +1 -11
  715. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  716. package/dist/types/components/nav/nav.d.ts +1 -5
  717. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  718. package/dist/types/components/note/note.d.ts +1 -2
  719. package/dist/types/components/picker/picker.d.ts +1 -2
  720. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  721. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  722. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  723. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  724. package/dist/types/components/popover/popover.d.ts +5 -6
  725. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  726. package/dist/types/components/radio/radio.d.ts +1 -2
  727. package/dist/types/components/radio-group/radio-group.d.ts +0 -8
  728. package/dist/types/components/range/range.d.ts +1 -2
  729. package/dist/types/components/refresher/refresher.d.ts +1 -2
  730. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  731. package/dist/types/components/reorder/reorder.d.ts +0 -9
  732. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  733. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  734. package/dist/types/components/route/route.d.ts +0 -4
  735. package/dist/types/components/router/router.d.ts +0 -4
  736. package/dist/types/components/router-link/router-link.d.ts +0 -4
  737. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  738. package/dist/types/components/row/row.d.ts +0 -4
  739. package/dist/types/components/searchbar/searchbar.d.ts +9 -51
  740. package/dist/types/components/segment/segment.d.ts +1 -2
  741. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  742. package/dist/types/components/select/select.d.ts +13 -41
  743. package/dist/types/components/select-modal/select-modal.d.ts +0 -1
  744. package/dist/types/components/select-option/select-option.d.ts +0 -4
  745. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  746. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  747. package/dist/types/components/spinner/spinner.d.ts +0 -15
  748. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  749. package/dist/types/components/tab/tab.d.ts +0 -4
  750. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -22
  751. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  752. package/dist/types/components/tabs/tabs.d.ts +0 -3
  753. package/dist/types/components/text/text.d.ts +1 -2
  754. package/dist/types/components/textarea/textarea.d.ts +4 -17
  755. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  756. package/dist/types/components/title/title.d.ts +0 -4
  757. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  758. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  759. package/dist/types/components/toast/toast.d.ts +2 -19
  760. package/dist/types/components/toggle/toggle.d.ts +1 -15
  761. package/dist/types/components/toolbar/toolbar.d.ts +3 -20
  762. package/dist/types/components.d.ts +196 -1593
  763. package/dist/types/global/ionic-global.d.ts +2 -27
  764. package/dist/types/interface.d.ts +0 -3
  765. package/dist/types/utils/config.d.ts +2 -106
  766. package/dist/types/utils/focus-visible.d.ts +0 -13
  767. package/dist/types/utils/helpers.d.ts +0 -11
  768. package/dist/types/utils/overlays-interface.d.ts +1 -31
  769. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  770. package/hydrate/index.js +948 -2877
  771. package/hydrate/index.mjs +948 -2877
  772. package/package.json +4 -8
  773. package/components/caret-down.js +0 -6
  774. package/components/caret-left.js +0 -6
  775. package/components/caret-right.js +0 -6
  776. package/components/ion-divider.d.ts +0 -11
  777. package/components/ion-divider.js +0 -72
  778. package/components/list2.js +0 -6
  779. package/components/x.js +0 -6
  780. package/css/ionic/bundle.ionic.css +0 -1
  781. package/css/ionic/bundle.ionic.css.map +0 -1
  782. package/css/ionic/core.ionic.css +0 -1
  783. package/css/ionic/core.ionic.css.map +0 -1
  784. package/css/ionic/global.bundle.ionic.css +0 -1
  785. package/css/ionic/global.bundle.ionic.css.map +0 -1
  786. package/css/ionic/ionic-swiper.ionic.css +0 -1
  787. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  788. package/css/ionic/link.ionic.css +0 -1
  789. package/css/ionic/link.ionic.css.map +0 -1
  790. package/css/ionic/structure.ionic.css +0 -1
  791. package/css/ionic/structure.ionic.css.map +0 -1
  792. package/css/ionic/typography.ionic.css +0 -1
  793. package/css/ionic/typography.ionic.css.map +0 -1
  794. package/css/ionic/utils.bundle.ionic.css +0 -1
  795. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  796. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  797. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  798. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  799. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  800. package/dist/cjs/ionic-global-DpRwOXLK.js +0 -506
  801. package/dist/cjs/list-a-7GSA6K.js +0 -8
  802. package/dist/cjs/x-BTF99yFH.js +0 -8
  803. package/dist/collection/components/accordion/accordion.ionic.css +0 -196
  804. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  805. package/dist/collection/components/avatar/avatar.ionic.css +0 -391
  806. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  807. package/dist/collection/components/badge/badge.ionic.css +0 -275
  808. package/dist/collection/components/button/button.ionic.css +0 -636
  809. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  810. package/dist/collection/components/card/card.ionic.css +0 -144
  811. package/dist/collection/components/card-content/card-content.ionic.css +0 -92
  812. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  813. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  814. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -539
  815. package/dist/collection/components/chip/chip.ionic.css +0 -215
  816. package/dist/collection/components/datetime/datetime.ionic.css +0 -711
  817. package/dist/collection/components/divider/divider.ionic.css +0 -148
  818. package/dist/collection/components/divider/divider.ios.css +0 -87
  819. package/dist/collection/components/divider/divider.js +0 -94
  820. package/dist/collection/components/divider/divider.md.css +0 -87
  821. package/dist/collection/components/header/header.ionic.css +0 -97
  822. package/dist/collection/components/input/input.ionic.css +0 -885
  823. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -369
  824. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  825. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  826. package/dist/collection/components/item/item.ionic.css +0 -508
  827. package/dist/collection/components/item-option/item-option.ionic.css +0 -278
  828. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  829. package/dist/collection/components/list/list.ionic.css +0 -212
  830. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  831. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  832. package/dist/collection/components/modal/modal.ionic.css +0 -247
  833. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  834. package/dist/collection/components/radio/radio.ionic.css +0 -422
  835. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  836. package/dist/collection/components/range/range.ionic.css +0 -563
  837. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  838. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -626
  839. package/dist/collection/components/segment/segment.ionic.css +0 -115
  840. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -353
  841. package/dist/collection/components/select/select.ionic.css +0 -777
  842. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -130
  843. package/dist/collection/components/spinner/spinner.native.css +0 -198
  844. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -201
  845. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -337
  846. package/dist/collection/components/textarea/textarea.ionic.css +0 -885
  847. package/dist/collection/components/title/title.ionic.css +0 -127
  848. package/dist/collection/components/toast/toast.ionic.css +0 -394
  849. package/dist/collection/components/toggle/toggle.ionic.css +0 -508
  850. package/dist/collection/components/toolbar/test/image.svg +0 -1
  851. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -241
  852. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  853. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  854. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  855. package/dist/esm/ion-divider.entry.js +0 -49
  856. package/dist/esm/ionic-global-2lDD9k7y.js +0 -495
  857. package/dist/esm/list-Dhi5xtNS.js +0 -6
  858. package/dist/esm/x-BDqjX7Z_.js +0 -6
  859. package/dist/ionic/p-01577340.entry.js +0 -4
  860. package/dist/ionic/p-03a794dc.entry.js +0 -4
  861. package/dist/ionic/p-04b1d37a.entry.js +0 -4
  862. package/dist/ionic/p-04e0ff62.entry.js +0 -4
  863. package/dist/ionic/p-0607ce8e.entry.js +0 -4
  864. package/dist/ionic/p-0744265c.entry.js +0 -4
  865. package/dist/ionic/p-0ac7c560.entry.js +0 -4
  866. package/dist/ionic/p-0c41c8a8.entry.js +0 -4
  867. package/dist/ionic/p-0eecce18.entry.js +0 -4
  868. package/dist/ionic/p-0f124806.entry.js +0 -4
  869. package/dist/ionic/p-0f3ca9c1.entry.js +0 -4
  870. package/dist/ionic/p-19b2060d.entry.js +0 -4
  871. package/dist/ionic/p-2536e681.entry.js +0 -4
  872. package/dist/ionic/p-27dbb44c.entry.js +0 -4
  873. package/dist/ionic/p-28a9d991.entry.js +0 -4
  874. package/dist/ionic/p-2920da49.entry.js +0 -4
  875. package/dist/ionic/p-2dc676b2.entry.js +0 -4
  876. package/dist/ionic/p-363a3268.entry.js +0 -4
  877. package/dist/ionic/p-381eb2a4.entry.js +0 -4
  878. package/dist/ionic/p-412d5d9e.entry.js +0 -4
  879. package/dist/ionic/p-4c31db58.entry.js +0 -4
  880. package/dist/ionic/p-5543b7b8.entry.js +0 -4
  881. package/dist/ionic/p-57a2d30b.entry.js +0 -4
  882. package/dist/ionic/p-59a79bd9.entry.js +0 -4
  883. package/dist/ionic/p-5b64852f.entry.js +0 -4
  884. package/dist/ionic/p-5daa0980.entry.js +0 -4
  885. package/dist/ionic/p-5f9d9c14.entry.js +0 -4
  886. package/dist/ionic/p-67a63ae1.entry.js +0 -4
  887. package/dist/ionic/p-6bb99f41.entry.js +0 -4
  888. package/dist/ionic/p-6e3686f8.entry.js +0 -4
  889. package/dist/ionic/p-742fed9f.entry.js +0 -4
  890. package/dist/ionic/p-7fe3ea65.entry.js +0 -4
  891. package/dist/ionic/p-826267d6.entry.js +0 -4
  892. package/dist/ionic/p-83ba2260.entry.js +0 -4
  893. package/dist/ionic/p-8681a2a7.entry.js +0 -4
  894. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  895. package/dist/ionic/p-BYSs-jZz.js +0 -4
  896. package/dist/ionic/p-BiTKUjko.js +0 -4
  897. package/dist/ionic/p-ByhhQryg.js +0 -4
  898. package/dist/ionic/p-CK1xn1Nt.js +0 -4
  899. package/dist/ionic/p-COLHV2ym.js +0 -4
  900. package/dist/ionic/p-CvRDI-Iz.js +0 -4
  901. package/dist/ionic/p-D1t981Ih.js +0 -4
  902. package/dist/ionic/p-DHeUgOSJ.js +0 -4
  903. package/dist/ionic/p-DM-v_NNE.js +0 -4
  904. package/dist/ionic/p-DeEDqH91.js +0 -4
  905. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  906. package/dist/ionic/p-DoGrslUl.js +0 -4
  907. package/dist/ionic/p-Dq8ap6AD.js +0 -4
  908. package/dist/ionic/p-DyaKZbAH.js +0 -4
  909. package/dist/ionic/p-U97FCefb.js +0 -4
  910. package/dist/ionic/p-UafGZQ8e.js +0 -4
  911. package/dist/ionic/p-a0362df3.entry.js +0 -4
  912. package/dist/ionic/p-a6a37a34.entry.js +0 -4
  913. package/dist/ionic/p-a6fb1f64.entry.js +0 -4
  914. package/dist/ionic/p-a89211bd.entry.js +0 -4
  915. package/dist/ionic/p-ab6f89e1.entry.js +0 -4
  916. package/dist/ionic/p-b475ec18.entry.js +0 -4
  917. package/dist/ionic/p-c082f853.entry.js +0 -4
  918. package/dist/ionic/p-cdbfbff6.entry.js +0 -4
  919. package/dist/ionic/p-d3f64c58.entry.js +0 -4
  920. package/dist/ionic/p-d70bba84.entry.js +0 -4
  921. package/dist/ionic/p-d9c9592a.entry.js +0 -4
  922. package/dist/ionic/p-da0a2ca6.entry.js +0 -4
  923. package/dist/ionic/p-da5f08cf.entry.js +0 -4
  924. package/dist/ionic/p-da8e21af.entry.js +0 -4
  925. package/dist/ionic/p-dacd8666.entry.js +0 -4
  926. package/dist/ionic/p-e90bbe85.entry.js +0 -4
  927. package/dist/ionic/p-ecba552f.entry.js +0 -4
  928. package/dist/ionic/p-ecf8e713.entry.js +0 -4
  929. package/dist/ionic/p-fIOYmaqA.js +0 -4
  930. package/dist/ionic/p-nP9c7bo5.js +0 -4
  931. package/dist/ionic/p-of4jy1ch.js +0 -4
  932. package/dist/ionic/p-qZR4N8Lu.js +0 -4
  933. package/dist/ionic/p-vXpMhGrs.js +0 -4
  934. package/dist/types/components/divider/divider.d.ts +0 -20
  935. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -1,9 +1,3 @@
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
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -59,28 +53,6 @@
59
53
  * }
60
54
  * }
61
55
  */
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
- */
84
56
  :host {
85
57
  /**
86
58
  * @prop --background: Background of the select
@@ -109,6 +81,7 @@
109
81
  --padding-bottom: 0px;
110
82
  --padding-start: 0px;
111
83
  --placeholder-color: currentColor;
84
+ --placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
112
85
  --background: transparent;
113
86
  --border-style: solid;
114
87
  --highlight-color-focused: var(--ion-color-primary, #0054e9);
@@ -124,8 +97,21 @@
124
97
  display: block;
125
98
  position: relative;
126
99
  width: 100%;
100
+ min-height: 44px;
101
+ font-family: var(--ion-font-family, inherit);
127
102
  white-space: nowrap;
128
103
  cursor: pointer;
104
+ z-index: 2;
105
+ }
106
+
107
+ /**
108
+ * Since the label sits on top of the element,
109
+ * the component needs to be taller otherwise the
110
+ * label will appear too close to the select text.
111
+ */
112
+ :host(.select-label-placement-floating),
113
+ :host(.select-label-placement-stacked) {
114
+ min-height: 56px;
129
115
  }
130
116
 
131
117
  :host(.ion-color) {
@@ -140,6 +126,10 @@
140
126
  pointer-events: none;
141
127
  }
142
128
 
129
+ :host(.has-focus) button {
130
+ border: 2px solid #5e9ed6;
131
+ }
132
+
143
133
  /**
144
134
  * Select can be slotted
145
135
  * in components such as item and
@@ -160,23 +150,30 @@
160
150
  button {
161
151
  position: absolute;
162
152
  top: 0;
153
+ left: 0;
163
154
  right: 0;
164
155
  bottom: 0;
165
- left: 0;
166
156
  width: 100%;
167
157
  height: 100%;
168
158
  margin: 0;
169
159
  padding: 0;
170
160
  border: 0;
171
161
  outline: 0;
162
+ clip: rect(0 0 0 0);
172
163
  opacity: 0;
173
164
  overflow: hidden;
174
- clip: rect(0 0 0 0);
175
165
  -webkit-appearance: none;
176
166
  -moz-appearance: none;
177
167
  }
178
168
 
179
169
  .select-icon {
170
+ -webkit-margin-start: 4px;
171
+ margin-inline-start: 4px;
172
+ -webkit-margin-end: 0;
173
+ margin-inline-end: 0;
174
+ margin-top: 0;
175
+ margin-bottom: 0;
176
+ position: relative;
180
177
  /**
181
178
  * Prevent the icon from shrinking when the label and/or
182
179
  * selected item text is long enough to fill the rest of
@@ -194,6 +191,17 @@ button {
194
191
  color: inherit;
195
192
  }
196
193
 
194
+ /**
195
+ * The select icon should be centered with
196
+ * the entire container not just the control
197
+ * with floating/stacked labels.
198
+ */
199
+ :host(.select-label-placement-stacked) .select-icon,
200
+ :host(.select-label-placement-floating) .select-icon {
201
+ position: absolute;
202
+ height: 100%;
203
+ }
204
+
197
205
  /**
198
206
  * This positions the icon at the correct
199
207
  * edge of the component with LTR and RTL
@@ -212,6 +220,7 @@ button {
212
220
 
213
221
  .select-text {
214
222
  flex: 1;
223
+ min-width: 16px;
215
224
  font-size: inherit;
216
225
  text-overflow: ellipsis;
217
226
  white-space: inherit;
@@ -219,6 +228,13 @@ button {
219
228
  }
220
229
 
221
230
  .select-wrapper {
231
+ -webkit-padding-start: var(--padding-start);
232
+ padding-inline-start: var(--padding-start);
233
+ -webkit-padding-end: var(--padding-end);
234
+ padding-inline-end: var(--padding-end);
235
+ padding-top: var(--padding-top);
236
+ padding-bottom: var(--padding-bottom);
237
+ border-radius: var(--border-radius);
222
238
  display: flex;
223
239
  position: relative;
224
240
  flex-grow: 1;
@@ -239,12 +255,32 @@ button {
239
255
  box-sizing: border-box;
240
256
  }
241
257
 
258
+ .select-wrapper .select-placeholder {
259
+ /**
260
+ * When the floating label appears on top of the
261
+ * select, we need to fade the text out so that the
262
+ * label does not overlap with the placeholder.
263
+ */
264
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
265
+ }
266
+
242
267
  .select-wrapper-inner {
243
268
  display: flex;
244
269
  align-items: center;
245
270
  overflow: hidden;
246
271
  }
247
272
 
273
+ :host(.select-label-placement-stacked) .select-wrapper-inner,
274
+ :host(.select-label-placement-floating) .select-wrapper-inner {
275
+ /**
276
+ * When using a stacked/floating label, the inner wrapper is
277
+ * stacked vertically under the label container. This line
278
+ * ensures that the inner wrapper fills all the remaining height
279
+ * of the component.
280
+ */
281
+ flex-grow: 1;
282
+ }
283
+
248
284
  :host(.ion-touched.ion-invalid) {
249
285
  --highlight-color: var(--highlight-color-invalid);
250
286
  }
@@ -264,9 +300,21 @@ button {
264
300
  }
265
301
 
266
302
  .select-bottom {
303
+ /**
304
+ * The bottom content should take on the start and end
305
+ * padding so it is always aligned with either the label
306
+ * or the start of the text select.
307
+ */
308
+ -webkit-padding-start: var(--padding-start);
309
+ padding-inline-start: var(--padding-start);
310
+ -webkit-padding-end: var(--padding-end);
311
+ padding-inline-end: var(--padding-end);
312
+ padding-top: 5px;
313
+ padding-bottom: 0;
267
314
  display: flex;
268
315
  justify-content: space-between;
269
316
  border-top: var(--border-width) var(--border-style) var(--border-color);
317
+ font-size: 0.75rem;
270
318
  white-space: normal;
271
319
  }
272
320
 
@@ -299,6 +347,7 @@ button {
299
347
 
300
348
  .select-bottom .helper-text {
301
349
  display: block;
350
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
302
351
  }
303
352
 
304
353
  :host(.ion-touched.ion-invalid) .select-bottom .error-text {
@@ -317,6 +366,16 @@ button {
317
366
  */
318
367
  display: flex;
319
368
  align-items: center;
369
+ /**
370
+ * Label text should not extend
371
+ * beyond the bounds of the select.
372
+ * However, we do not set the max
373
+ * width to 100% because then
374
+ * only the label would show and users
375
+ * would not be able to see what they are typing.
376
+ */
377
+ max-width: 200px;
378
+ transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
320
379
  /**
321
380
  * This ensures that double tapping this text
322
381
  * clicks the <label> and focuses the input
@@ -358,6 +417,12 @@ button {
358
417
  .native-wrapper {
359
418
  display: flex;
360
419
  align-items: center;
420
+ /**
421
+ * When the floating label appears on top of the
422
+ * input, we need to fade the input out so that the
423
+ * label does not overlap with the placeholder.
424
+ */
425
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
361
426
  /**
362
427
  * This ensures that the .select-text gets
363
428
  * truncated with ellipses when the text is
@@ -386,6 +451,20 @@ button {
386
451
  flex-direction: row;
387
452
  }
388
453
 
454
+ :host(.select-label-placement-start) .label-text-wrapper {
455
+ /**
456
+ * The margin between the label and
457
+ * the select should be on the end
458
+ * when the label sits at the start.
459
+ */
460
+ -webkit-margin-start: 0;
461
+ margin-inline-start: 0;
462
+ -webkit-margin-end: 16px;
463
+ margin-inline-end: 16px;
464
+ margin-top: 0;
465
+ margin-bottom: 0;
466
+ }
467
+
389
468
  /**
390
469
  * Label is on the right of the select in LTR and
391
470
  * on the left in RTL.
@@ -394,6 +473,45 @@ button {
394
473
  flex-direction: row-reverse;
395
474
  }
396
475
 
476
+ /**
477
+ * The margin between the label and
478
+ * the select should be on the start
479
+ * when the label sits at the end.
480
+ */
481
+ :host(.select-label-placement-end) .label-text-wrapper {
482
+ -webkit-margin-start: 16px;
483
+ margin-inline-start: 16px;
484
+ -webkit-margin-end: 0;
485
+ margin-inline-end: 0;
486
+ margin-top: 0;
487
+ margin-bottom: 0;
488
+ }
489
+
490
+ :host(.select-label-placement-fixed) .label-text-wrapper {
491
+ /**
492
+ * The margin between the label and
493
+ * the select should be on the end
494
+ * when the label sits at the start.
495
+ */
496
+ -webkit-margin-start: 0;
497
+ margin-inline-start: 0;
498
+ -webkit-margin-end: 16px;
499
+ margin-inline-end: 16px;
500
+ margin-top: 0;
501
+ margin-bottom: 0;
502
+ }
503
+
504
+ /**
505
+ * Label is on the left of the select in LTR and
506
+ * on the right in RTL. Label also has a fixed width.
507
+ */
508
+ :host(.select-label-placement-fixed) .label-text-wrapper {
509
+ flex: 0 0 100px;
510
+ width: 100px;
511
+ min-width: 100px;
512
+ max-width: 200px;
513
+ }
514
+
397
515
  /**
398
516
  * Stacked: Label sits above the select and is scaled down.
399
517
  * Floating: Label sits over the select when the select has no
@@ -435,10 +553,29 @@ button {
435
553
  */
436
554
  :host(.select-label-placement-stacked) .native-wrapper,
437
555
  :host(.select-label-placement-floating) .native-wrapper {
556
+ margin-left: 0;
557
+ margin-right: 0;
558
+ margin-top: 1px;
559
+ margin-bottom: 0;
438
560
  flex-grow: 1;
439
561
  width: 100%;
440
562
  }
441
563
 
564
+ /**
565
+ * This makes the label sit over the select
566
+ * when the select is blurred and has no value.
567
+ * The label should not sit over the select if the
568
+ * select has a placeholder.
569
+ * Note: This is different from what ion-input does
570
+ * because the activating the select causes an overlay
571
+ * to appear. This makes it hard to read the placeholder.
572
+ * With ion-input, the input just focuses and the placeholder
573
+ * is still easy to read.
574
+ */
575
+ :host(.select-label-placement-floating) .label-text-wrapper {
576
+ transform: translateY(100%) scale(1);
577
+ }
578
+
442
579
  /**
443
580
  * The placeholder should be hidden when the label
444
581
  * is on top of the select. This prevents the label
@@ -466,251 +603,6 @@ button {
466
603
  opacity: 1;
467
604
  }
468
605
 
469
- ::slotted([slot=start]),
470
- ::slotted([slot=end]) {
471
- /**
472
- * Prevent the slots from shrinking when the label and/or
473
- * selected item text is long enough to fill the rest of
474
- * the container.
475
- */
476
- flex-shrink: 0;
477
- }
478
-
479
- ::slotted([slot=start]:last-of-type) {
480
- margin-inline-start: 0;
481
- }
482
-
483
- ::slotted([slot=end]:first-of-type) {
484
- margin-inline-end: 0;
485
- }
486
-
487
- /**
488
- * Convert a pixels given value into rem
489
- *
490
- * @param pixels - Value in pixels to be converted (i.e. px)
491
- * @param context (optional) - Baseline value
492
- */
493
- /**
494
- * Convert a font size to a dynamic font size.
495
- * Fonts that participate in Dynamic Type should use
496
- * dynamic font sizes.
497
- * @param size - The initial font size including the unit (i.e. px or pt)
498
- * @param unit (optional) - The unit to convert to. Use this if you want to
499
- * convert to a unit other than $baselineUnit.
500
- */
501
- /**
502
- * Convert a font size to a dynamic font size but impose
503
- * a maximum font size.
504
- * @param size - The initial font size including the unit (i.e. px or pt)
505
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
506
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
507
- * convert to a unit other than $baselineUnit.
508
- */
509
- /**
510
- * Convert a font size to a dynamic font size but impose
511
- * a minimum font size.
512
- * @param size - The initial font size including the unit (i.e. px or pt)
513
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
514
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
515
- * convert to a unit other than $baselineUnit.
516
- */
517
- /**
518
- * Convert a font size to a dynamic font size but impose
519
- * maximum and minimum font sizes.
520
- * @param size - The initial font size including the unit (i.e. px or pt)
521
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
522
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
523
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
524
- * convert to a unit other than $baselineUnit.
525
- */
526
- /**
527
- * A heuristic that applies CSS to tablet
528
- * viewports.
529
- *
530
- * Usage:
531
- * @include tablet-viewport() {
532
- * :host {
533
- * background-color: green;
534
- * }
535
- * }
536
- */
537
- /**
538
- * A heuristic that applies CSS to mobile
539
- * viewports (i.e. phones, not tablets).
540
- *
541
- * Usage:
542
- * @include mobile-viewport() {
543
- * :host {
544
- * background-color: blue;
545
- * }
546
- * }
547
- */
548
- :host {
549
- --placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
550
- min-height: 44px;
551
- font-family: var(--ion-font-family, inherit);
552
- z-index: 2;
553
- }
554
-
555
- :host(.has-focus) button {
556
- border: 2px solid #5e9ed6;
557
- }
558
-
559
- .select-icon {
560
- -webkit-margin-start: 4px;
561
- margin-inline-start: 4px;
562
- -webkit-margin-end: 0;
563
- margin-inline-end: 0;
564
- margin-top: 0;
565
- margin-bottom: 0;
566
- position: relative;
567
- }
568
-
569
- /**
570
- * The select icon should be centered with
571
- * the entire container not just the control
572
- * with floating/stacked labels.
573
- */
574
- :host(.select-label-placement-stacked) .select-icon,
575
- :host(.select-label-placement-floating) .select-icon {
576
- position: absolute;
577
- height: 100%;
578
- }
579
-
580
- .select-wrapper {
581
- -webkit-padding-start: var(--padding-start);
582
- padding-inline-start: var(--padding-start);
583
- -webkit-padding-end: var(--padding-end);
584
- padding-inline-end: var(--padding-end);
585
- padding-top: var(--padding-top);
586
- padding-bottom: var(--padding-bottom);
587
- border-radius: var(--border-radius);
588
- }
589
-
590
- .select-wrapper .select-placeholder {
591
- /**
592
- * When the floating label appears on top of the
593
- * select, we need to fade the text out so that the
594
- * label does not overlap with the placeholder.
595
- */
596
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
597
- }
598
-
599
- .select-bottom {
600
- /**
601
- * The bottom content should take on the start and end
602
- * padding so it is always aligned with either the label
603
- * or the start of the text select.
604
- */
605
- -webkit-padding-start: var(--padding-start);
606
- padding-inline-start: var(--padding-start);
607
- -webkit-padding-end: var(--padding-end);
608
- padding-inline-end: var(--padding-end);
609
- padding-top: 5px;
610
- padding-bottom: 0;
611
- font-size: 0.75rem;
612
- }
613
-
614
- .select-bottom .helper-text {
615
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
616
- }
617
-
618
- .select-text {
619
- min-width: 16px;
620
- }
621
-
622
- .label-text-wrapper {
623
- /**
624
- * Label text should not extend
625
- * beyond the bounds of the select.
626
- * However, we do not set the max
627
- * width to 100% because then
628
- * only the label would show and users
629
- * would not be able to see what they are typing.
630
- */
631
- max-width: 200px;
632
- transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
633
- }
634
-
635
- :host(.select-label-placement-start) .label-text-wrapper {
636
- /**
637
- * The margin between the label and
638
- * the select should be on the end
639
- * when the label sits at the start.
640
- */
641
- -webkit-margin-start: 0;
642
- margin-inline-start: 0;
643
- -webkit-margin-end: 16px;
644
- margin-inline-end: 16px;
645
- margin-top: 0;
646
- margin-bottom: 0;
647
- }
648
-
649
- /**
650
- * The margin between the label and
651
- * the select should be on the start
652
- * when the label sits at the end.
653
- */
654
- :host(.select-label-placement-end) .label-text-wrapper {
655
- -webkit-margin-start: 16px;
656
- margin-inline-start: 16px;
657
- -webkit-margin-end: 0;
658
- margin-inline-end: 0;
659
- margin-top: 0;
660
- margin-bottom: 0;
661
- }
662
-
663
- :host(.select-label-placement-fixed) .label-text-wrapper {
664
- /**
665
- * The margin between the label and
666
- * the select should be on the end
667
- * when the label sits at the start.
668
- */
669
- -webkit-margin-start: 0;
670
- margin-inline-start: 0;
671
- -webkit-margin-end: 16px;
672
- margin-inline-end: 16px;
673
- margin-top: 0;
674
- margin-bottom: 0;
675
- /**
676
- * Label is on the left of the select in LTR and
677
- * on the right in RTL. Label also has a fixed width.
678
- */
679
- flex: 0 0 100px;
680
- width: 100px;
681
- min-width: 100px;
682
- max-width: 200px;
683
- }
684
-
685
- /**
686
- * Ensures the select does not
687
- * overlap the label.
688
- * Also ensure that the native wrapper
689
- * takes up the remaining available height and width.
690
- */
691
- :host(.select-label-placement-stacked) .native-wrapper,
692
- :host(.select-label-placement-floating) .native-wrapper {
693
- margin-left: 0;
694
- margin-right: 0;
695
- margin-top: 1px;
696
- margin-bottom: 0;
697
- }
698
-
699
- /**
700
- * This makes the label sit over the select
701
- * when the select is blurred and has no value.
702
- * The label should not sit over the select if the
703
- * select has a placeholder.
704
- * Note: This is different from what ion-input does
705
- * because the activating the select causes an overlay
706
- * to appear. This makes it hard to read the placeholder.
707
- * With ion-input, the input just focuses and the placeholder
708
- * is still easy to read.
709
- */
710
- :host(.select-label-placement-floating) .label-text-wrapper {
711
- transform: translateY(100%) scale(1);
712
- }
713
-
714
606
  /**
715
607
  * This makes the label sit above the input.
716
608
  */
@@ -723,50 +615,25 @@ button {
723
615
  max-width: calc(100% / 0.75);
724
616
  }
725
617
 
726
- /**
727
- * Since the label sits on top of the element,
728
- * the component needs to be taller otherwise the
729
- * label will appear too close to the select text.
730
- */
731
- :host(.select-label-placement-floating),
732
- :host(.select-label-placement-stacked) {
733
- min-height: 56px;
734
- }
735
-
736
- /**
737
- * When using a stacked/floating label, the inner wrapper is
738
- * stacked vertically under the label container. This line
739
- * ensures that the inner wrapper fills all the remaining height
740
- * of the component.
741
- */
742
- :host(.select-label-placement-stacked) .select-wrapper-inner,
743
- :host(.select-label-placement-floating) .select-wrapper-inner {
744
- flex-grow: 1;
618
+ ::slotted([slot=start]), ::slotted([slot=end]) {
619
+ /**
620
+ * Prevent the slots from shrinking when the label and/or
621
+ * selected item text is long enough to fill the rest of
622
+ * the container.
623
+ */
624
+ flex-shrink: 0;
745
625
  }
746
626
 
747
627
  ::slotted([slot=start]:last-of-type) {
748
628
  margin-inline-end: 16px;
629
+ margin-inline-start: 0;
749
630
  }
750
631
 
751
632
  ::slotted([slot=end]:first-of-type) {
752
633
  margin-inline-start: 16px;
753
- }
754
-
755
- .native-wrapper {
756
- /**
757
- * When the floating label appears on top of the
758
- * input, we need to fade the input out so that the
759
- * label does not overlap with the placeholder.
760
- */
761
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
634
+ margin-inline-end: 0;
762
635
  }
763
636
 
764
- /**
765
- * Convert a pixels given value into rem
766
- *
767
- * @param pixels - Value in pixels to be converted (i.e. px)
768
- * @param context (optional) - Baseline value
769
- */
770
637
  /**
771
638
  * Convert a font size to a dynamic font size.
772
639
  * Fonts that participate in Dynamic Type should use
@@ -822,12 +689,6 @@ button {
822
689
  * }
823
690
  * }
824
691
  */
825
- /**
826
- * Convert a pixels given value into rem
827
- *
828
- * @param pixels - Value in pixels to be converted (i.e. px)
829
- * @param context (optional) - Baseline value
830
- */
831
692
  /**
832
693
  * Convert a font size to a dynamic font size.
833
694
  * Fonts that participate in Dynamic Type should use
@@ -883,12 +744,6 @@ button {
883
744
  * }
884
745
  * }
885
746
  */
886
- /**
887
- * Convert a pixels given value into rem
888
- *
889
- * @param pixels - Value in pixels to be converted (i.e. px)
890
- * @param context (optional) - Baseline value
891
- */
892
747
  /**
893
748
  * Convert a font size to a dynamic font size.
894
749
  * Fonts that participate in Dynamic Type should use
@@ -1032,12 +887,6 @@ button {
1032
887
  color: var(--highlight-color);
1033
888
  }
1034
889
 
1035
- /**
1036
- * Convert a pixels given value into rem
1037
- *
1038
- * @param pixels - Value in pixels to be converted (i.e. px)
1039
- * @param context (optional) - Baseline value
1040
- */
1041
890
  /**
1042
891
  * Convert a font size to a dynamic font size.
1043
892
  * Fonts that participate in Dynamic Type should use
@@ -1196,9 +1045,7 @@ button {
1196
1045
  * Label text should not extend
1197
1046
  * beyond the bounds of the select.
1198
1047
  */
1199
- max-width: calc(
1200
- (100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75
1201
- );
1048
+ max-width: calc((100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75);
1202
1049
  }
1203
1050
 
1204
1051
  /**
@@ -1215,8 +1062,8 @@ button {
1215
1062
  }
1216
1063
 
1217
1064
  :host(.select-fill-outline) .select-outline-container {
1218
- right: 0;
1219
1065
  left: 0;
1066
+ right: 0;
1220
1067
  top: 0;
1221
1068
  bottom: 0;
1222
1069
  display: flex;